[{"data":1,"prerenderedAt":732},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-live-content":71,"-getting-started-live-content-surround":728},[4,34,58],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,14,18,22,26,30],{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration",{"title":19,"path":20,"stem":21},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F4.usage",{"title":23,"path":24,"stem":25},"Visual Editing","\u002Fgetting-started\u002Fvisual-editing","1.getting-started\u002F5.visual-editing",{"title":27,"path":28,"stem":29},"Live Content","\u002Fgetting-started\u002Flive-content","1.getting-started\u002F6.live-content",{"title":31,"path":32,"stem":33},"Typegen","\u002Fgetting-started\u002Ftypegen","1.getting-started\u002F7.typegen",{"title":35,"icon":6,"path":36,"stem":37,"children":38,"page":6},"Helpers","\u002Fhelpers","2.helpers",[39,43,47,51,55],{"title":40,"path":41,"stem":42},"Portable Text","\u002Fhelpers\u002Fportable-text","2.helpers\u002F1.portable-text",{"title":44,"path":45,"stem":46},"Images","\u002Fhelpers\u002Fimages","2.helpers\u002F2.images",{"title":48,"path":49,"stem":50},"Files","\u002Fhelpers\u002Ffiles","2.helpers\u002F3.files",{"title":52,"path":53,"stem":54},"Groq","\u002Fhelpers\u002Fgroq","2.helpers\u002F4.groq",{"title":23,"path":56,"stem":57},"\u002Fhelpers\u002Fvisual-editing","2.helpers\u002F5.visual-editing",{"title":59,"icon":6,"path":60,"stem":61,"children":62,"page":6},"Community","\u002Fcommunity","3.community",[63,67],{"title":64,"path":65,"stem":66},"Credits","\u002Fcommunity\u002Fcredits","3.community\u002F1.credits",{"title":68,"path":69,"stem":70},"Changelog","\u002Fcommunity\u002Fchangelog","3.community\u002F2.changelog",{"id":72,"title":27,"body":73,"description":79,"extension":723,"links":724,"meta":725,"navigation":453,"path":28,"seo":726,"stem":29,"__hash__":727},"docs\u002F1.getting-started\u002F6.live-content.md",{"type":74,"value":75,"toc":714},"minimark",[76,80,83,92,96,104,109,116,141,145,148,348,352,359,603,628,632,639,681,685,710],[77,78,79],"p",{},"The Live Content API allows your app to subscribe to changes in your Sanity dataset and receive updates whenever documents are created, updated, or deleted.",[77,81,82],{},"This is ideal for fast-moving content like news, sports, or commerce.",[84,85,86,87,91],"warning",{},"Requires Sanity API version ",[88,89,90],"code",{},"v2021-03-25"," or later.",[93,94,19],"h2",{"id":95},"usage",[77,97,98,99,103],{},"When live content is enabled in your Nuxt config, the module will automatically handle subscribing to live updates for you. You do ",[100,101,102],"strong",{},"not"," need to manually subscribe to events or use a custom composable.",[105,106,108],"h3",{"id":107},"install-sanity-client","Install Sanity Client",[77,110,111,112,115],{},"Make sure you have the latest ",[88,113,114],{},"@sanity\u002Fclient",":",[117,118,123],"pre",{"className":119,"code":120,"language":121,"meta":122,"style":122},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @sanity\u002Fclient\n","bash","",[88,124,125],{"__ignoreMap":122},[126,127,130,134,138],"span",{"class":128,"line":129},"line",1,[126,131,133],{"class":132},"sBMFI","pnpm",[126,135,137],{"class":136},"sfazB"," add",[126,139,140],{"class":136}," @sanity\u002Fclient\n",[105,142,144],{"id":143},"enable-live-content","Enable Live Content",[77,146,147],{},"Configure your Nuxt module to enable live content:",[117,149,153],{"className":150,"code":151,"language":152,"meta":122,"style":122},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fsanity'],\n  sanity: {\n    projectId: '\u003Cyour-project-id>',\n    dataset: '\u003Cyour-dataset>',\n    apiVersion: '2021-03-25',\n    liveContent: {\n      browserToken: process.env.NUXT_SANITY_LIVE_BROWSER_TOKEN,\n      serverToken: process.env.NUXT_SANITY_LIVE_SERVER_TOKEN,\n    },\n  },\n})\n","ts",[88,154,155,161,183,209,220,238,255,272,282,306,327,333,339],{"__ignoreMap":122},[126,156,157],{"class":128,"line":129},[126,158,160],{"class":159},"sHwdD","\u002F\u002F nuxt.config.ts\n",[126,162,164,168,171,175,179],{"class":128,"line":163},2,[126,165,167],{"class":166},"s7zQu","export",[126,169,170],{"class":166}," default",[126,172,174],{"class":173},"s2Zo4"," defineNuxtConfig",[126,176,178],{"class":177},"sTEyZ","(",[126,180,182],{"class":181},"sMK4o","{\n",[126,184,186,190,192,195,198,201,203,206],{"class":128,"line":185},3,[126,187,189],{"class":188},"swJcz","  modules",[126,191,115],{"class":181},[126,193,194],{"class":177}," [",[126,196,197],{"class":181},"'",[126,199,200],{"class":136},"@nuxtjs\u002Fsanity",[126,202,197],{"class":181},[126,204,205],{"class":177},"]",[126,207,208],{"class":181},",\n",[126,210,212,215,217],{"class":128,"line":211},4,[126,213,214],{"class":188},"  sanity",[126,216,115],{"class":181},[126,218,219],{"class":181}," {\n",[126,221,223,226,228,231,234,236],{"class":128,"line":222},5,[126,224,225],{"class":188},"    projectId",[126,227,115],{"class":181},[126,229,230],{"class":181}," '",[126,232,233],{"class":136},"\u003Cyour-project-id>",[126,235,197],{"class":181},[126,237,208],{"class":181},[126,239,241,244,246,248,251,253],{"class":128,"line":240},6,[126,242,243],{"class":188},"    dataset",[126,245,115],{"class":181},[126,247,230],{"class":181},[126,249,250],{"class":136},"\u003Cyour-dataset>",[126,252,197],{"class":181},[126,254,208],{"class":181},[126,256,258,261,263,265,268,270],{"class":128,"line":257},7,[126,259,260],{"class":188},"    apiVersion",[126,262,115],{"class":181},[126,264,230],{"class":181},[126,266,267],{"class":136},"2021-03-25",[126,269,197],{"class":181},[126,271,208],{"class":181},[126,273,275,278,280],{"class":128,"line":274},8,[126,276,277],{"class":188},"    liveContent",[126,279,115],{"class":181},[126,281,219],{"class":181},[126,283,285,288,290,293,296,299,301,304],{"class":128,"line":284},9,[126,286,287],{"class":188},"      browserToken",[126,289,115],{"class":181},[126,291,292],{"class":177}," process",[126,294,295],{"class":181},".",[126,297,298],{"class":177},"env",[126,300,295],{"class":181},[126,302,303],{"class":177},"NUXT_SANITY_LIVE_BROWSER_TOKEN",[126,305,208],{"class":181},[126,307,309,312,314,316,318,320,322,325],{"class":128,"line":308},10,[126,310,311],{"class":188},"      serverToken",[126,313,115],{"class":181},[126,315,292],{"class":177},[126,317,295],{"class":181},[126,319,298],{"class":177},[126,321,295],{"class":181},[126,323,324],{"class":177},"NUXT_SANITY_LIVE_SERVER_TOKEN",[126,326,208],{"class":181},[126,328,330],{"class":128,"line":329},11,[126,331,332],{"class":181},"    },\n",[126,334,336],{"class":128,"line":335},12,[126,337,338],{"class":181},"  },\n",[126,340,342,345],{"class":128,"line":341},13,[126,343,344],{"class":181},"}",[126,346,347],{"class":177},")\n",[105,349,351],{"id":350},"querying-live-content","Querying Live Content",[77,353,354,355,358],{},"Use the built-in ",[88,356,357],{},"useSanityQuery"," composable. Live updates are handled automatically — no need to manually subscribe or use a custom composable.",[117,360,362],{"className":150,"code":361,"language":152,"meta":122,"style":122},"\u003Cscript setup lang=\"ts\">\nconst { data, refresh, pending, error } = useSanityQuery(\n  '*[_type == \"post\"] | order(_createdAt desc)'\n)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-if=\"data\">\n    \u003Cdiv v-for=\"post in data\" :key=\"post._id\">\n      \u003Ch2>{{ post.title }}\u003C\u002Fh2>\n      \u003Cp>{{ post.body }}\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[88,363,364,385,424,435,439,449,455,464,489,524,552,575,585,594],{"__ignoreMap":122},[126,365,366,369,372,375,378,380,382],{"class":128,"line":129},[126,367,368],{"class":181},"\u003C",[126,370,371],{"class":177},"script setup lang",[126,373,374],{"class":181},"=",[126,376,377],{"class":181},"\"",[126,379,152],{"class":136},[126,381,377],{"class":181},[126,383,384],{"class":181},">\n",[126,386,387,391,394,397,400,403,405,408,410,413,415,418,421],{"class":128,"line":163},[126,388,390],{"class":389},"spNyl","const",[126,392,393],{"class":181}," {",[126,395,396],{"class":177}," data",[126,398,399],{"class":181},",",[126,401,402],{"class":177}," refresh",[126,404,399],{"class":181},[126,406,407],{"class":177}," pending",[126,409,399],{"class":181},[126,411,412],{"class":177}," error ",[126,414,344],{"class":181},[126,416,417],{"class":181}," =",[126,419,420],{"class":173}," useSanityQuery",[126,422,423],{"class":177},"(\n",[126,425,426,429,432],{"class":128,"line":185},[126,427,428],{"class":181},"  '",[126,430,431],{"class":136},"*[_type == \"post\"] | order(_createdAt desc)",[126,433,434],{"class":181},"'\n",[126,436,437],{"class":128,"line":211},[126,438,347],{"class":177},[126,440,441,444,447],{"class":128,"line":222},[126,442,443],{"class":181},"\u003C\u002F",[126,445,446],{"class":177},"script",[126,448,384],{"class":181},[126,450,451],{"class":128,"line":240},[126,452,454],{"emptyLinePlaceholder":453},true,"\n",[126,456,457,459,462],{"class":128,"line":257},[126,458,368],{"class":177},[126,460,461],{"class":132},"template",[126,463,384],{"class":177},[126,465,466,469,472,475,478,480,482,485,487],{"class":128,"line":274},[126,467,468],{"class":181},"  \u003C",[126,470,471],{"class":177},"div v",[126,473,474],{"class":181},"-",[126,476,477],{"class":166},"if",[126,479,374],{"class":181},[126,481,377],{"class":181},[126,483,484],{"class":136},"data",[126,486,377],{"class":181},[126,488,384],{"class":181},[126,490,491,494,496,498,501,503,505,508,510,513,515,517,520,522],{"class":128,"line":284},[126,492,493],{"class":181},"    \u003C",[126,495,471],{"class":177},[126,497,474],{"class":181},[126,499,500],{"class":177},"for",[126,502,374],{"class":181},[126,504,377],{"class":181},[126,506,507],{"class":136},"post in data",[126,509,377],{"class":181},[126,511,512],{"class":177}," :key",[126,514,374],{"class":181},[126,516,377],{"class":181},[126,518,519],{"class":136},"post._id",[126,521,377],{"class":181},[126,523,384],{"class":181},[126,525,526,529,531,534,537,540,542,545,548,550],{"class":128,"line":308},[126,527,528],{"class":177},"      \u003C",[126,530,93],{"class":132},[126,532,533],{"class":177},">",[126,535,536],{"class":181},"{{",[126,538,539],{"class":177}," post",[126,541,295],{"class":181},[126,543,544],{"class":177},"title",[126,546,547],{"class":181}," }}\u003C\u002F",[126,549,93],{"class":177},[126,551,384],{"class":181},[126,553,554,556,558,560,562,564,566,569,571,573],{"class":128,"line":329},[126,555,528],{"class":177},[126,557,77],{"class":132},[126,559,533],{"class":177},[126,561,536],{"class":181},[126,563,539],{"class":177},[126,565,295],{"class":181},[126,567,568],{"class":177},"body",[126,570,547],{"class":181},[126,572,77],{"class":177},[126,574,384],{"class":181},[126,576,577,580,583],{"class":128,"line":335},[126,578,579],{"class":181},"    \u003C\u002F",[126,581,582],{"class":177},"div",[126,584,384],{"class":181},[126,586,587,590,592],{"class":128,"line":341},[126,588,589],{"class":181},"  \u003C\u002F",[126,591,582],{"class":177},[126,593,384],{"class":181},[126,595,597,599,601],{"class":128,"line":596},14,[126,598,443],{"class":181},[126,600,461],{"class":177},[126,602,384],{"class":181},[604,605,606,612,618],"ul",{},[607,608,609,611],"li",{},[88,610,484],{}," is a ref that will update automatically when content changes in Sanity.",[607,613,614,617],{},[88,615,616],{},"refresh"," can be called to manually re-fetch.",[607,619,620,623,624,627],{},[88,621,622],{},"pending"," and ",[88,625,626],{},"error"," are also available.",[93,629,631],{"id":630},"advanced-manual-live-mode-control","Advanced: Manual Live Mode Control",[77,633,634,635,638],{},"If you need to manually enable or disable live mode (rare for most users), you can use the ",[88,636,637],{},"useSanityLiveMode"," composable:",[117,640,642],{"className":150,"code":641,"language":152,"meta":122,"style":122},"\u003Cscript setup>\nconst disable = useSanityLiveMode()\n\u002F\u002F Call disable() to turn off live mode if needed\n\u003C\u002Fscript>\n",[88,643,644,653,668,673],{"__ignoreMap":122},[126,645,646,648,651],{"class":128,"line":129},[126,647,368],{"class":181},[126,649,650],{"class":177},"script setup",[126,652,384],{"class":181},[126,654,655,657,660,662,665],{"class":128,"line":163},[126,656,390],{"class":389},[126,658,659],{"class":177}," disable ",[126,661,374],{"class":181},[126,663,664],{"class":173}," useSanityLiveMode",[126,666,667],{"class":177},"()\n",[126,669,670],{"class":128,"line":185},[126,671,672],{"class":159},"\u002F\u002F Call disable() to turn off live mode if needed\n",[126,674,675,677,679],{"class":128,"line":211},[126,676,443],{"class":181},[126,678,446],{"class":177},[126,680,384],{"class":181},[93,682,684],{"id":683},"resources","Resources",[604,686,687,696,703],{},[607,688,689],{},[690,691,695],"a",{"href":692,"rel":693},"https:\u002F\u002Fwww.sanity.io\u002Fdocs\u002Fcontent-lake\u002Flive-content-api",[694],"nofollow","Sanity Live Content API Docs",[607,697,698],{},[690,699,702],{"href":700,"rel":701},"https:\u002F\u002Fwww.sanity.io\u002Fdocs\u002Fhttp-reference\u002Flive",[694],"Live Content API Reference",[607,704,705],{},[690,706,709],{"href":707,"rel":708},"https:\u002F\u002Fgithub.com\u002Fsanity-io\u002Flcapi-examples",[694],"Live Content Examples on GitHub",[711,712,713],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":122,"searchDepth":163,"depth":163,"links":715},[716,721,722],{"id":95,"depth":163,"text":19,"children":717},[718,719,720],{"id":107,"depth":185,"text":108},{"id":143,"depth":185,"text":144},{"id":350,"depth":185,"text":351},{"id":630,"depth":163,"text":631},{"id":683,"depth":163,"text":684},"md",null,{},{"description":79},"IY1kYiKSSH6_qfWLw4WKtyk2GPtVyxehozvZ6PX6eF4",[729,730],{"title":23,"path":24,"stem":25,"description":122,"children":-1},{"title":31,"path":32,"stem":33,"description":731,"children":-1},"@nuxtjs\u002Fsanity supports automatic TypeScript type generation for your GROQ queries using @sanity\u002Fcodegen. This enables end-to-end type safety from your Sanity schema to your Vue components.",1775664329741]