[{"data":1,"prerenderedAt":2259},["ShallowReactive",2],{"navigation_docs":3,"-helpers-portable-text":71,"-helpers-portable-text-surround":2255},[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":40,"body":73,"description":185,"extension":2250,"links":2251,"meta":2252,"navigation":375,"path":41,"seo":2253,"stem":42,"__hash__":2254},"docs\u002F2.helpers\u002F1.portable-text.md",{"type":74,"value":75,"toc":2238},"minimark",[76,81,98,124,174,179,244,248,266,269,303,313,317,1108,1112,1115,1404,1407,1445,1448,1452,1459,1666,1680,1691,1695,1702,1903,1907,1919,2221,2225,2234],[77,78,80],"h2",{"id":79},"global-helper","Global helper",[82,83,84,85,89,90,97],"p",{},"This module defines a global ",[86,87,88],"code",{},"\u003CSanityContent>"," component that can turn ",[91,92,96],"a",{"href":93,"rel":94},"https:\u002F\u002Fwww.sanity.io\u002Fguides\u002Fbeginners-guide-to-portable-text",[95],"nofollow","portable text"," into HTML. It is a lightweight functional component without an instance.",[82,99,100,101,103,104,111,112,114,115,117,118,123],{},"As of v2, ",[86,102,88],{}," uses ",[91,105,108],{"href":106,"rel":107},"https:\u002F\u002Fgithub.com\u002Fportabletext\u002Fvue-portabletext",[95],[86,109,110],{},"@portabletext\u002Fvue"," for rendering portable text. This means features and properties available to ",[86,113,110],{}," also work with ",[86,116,88],{},". Please refer to their ",[91,119,122],{"href":120,"rel":121},"https:\u002F\u002Fgithub.com\u002Fportabletext\u002Fvue-portabletext?tab=readme-ov-file#basic-usage",[95],"Usage guide"," for advanced configuration options.",[125,126,127,138],"warning",{},[82,128,129,130,134,135,137],{},"This render change introduces ",[131,132,133],"strong",{},"breaking changes"," for ",[86,136,88],{}," v2 components. Refer to the following upgrade guide:",[139,140,141,163],"ul",{},[142,143,144,145,147,148,151,152,155,156,151,159,162],"li",{},"To reflect ",[86,146,110],{},"'s props, ",[86,149,150],{},"blocks"," → ",[86,153,154],{},"value"," and ",[86,157,158],{},"serializers",[86,160,161],{},"components"," attribute name changes have been made. The property types remain the same.",[142,164,165,166,169,170,173],{},"Custom components now receive their data nested within a ",[86,167,168],{},"props.value"," object. When defining components, you need to extract your props from this structure using object spreading: ",[86,171,172],{},"{...props.value}",". This applies to all component types (blocks, marks, styles).",[175,176,178],"h3",{"id":177},"example","Example",[180,181,186],"pre",{"className":182,"code":183,"language":184,"meta":185,"style":185},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003CSanityContent :value=\"content\" \u002F>\n\u003C\u002Ftemplate>\n","vue","",[86,187,188,204,234],{"__ignoreMap":185},[189,190,193,197,201],"span",{"class":191,"line":192},"line",1,[189,194,196],{"class":195},"sMK4o","\u003C",[189,198,200],{"class":199},"swJcz","template",[189,202,203],{"class":195},">\n",[189,205,207,210,213,216,219,222,225,229,231],{"class":191,"line":206},2,[189,208,209],{"class":195},"  \u003C",[189,211,212],{"class":199},"SanityContent",[189,214,215],{"class":195}," :",[189,217,154],{"class":218},"spNyl",[189,220,221],{"class":195},"=",[189,223,224],{"class":195},"\"",[189,226,228],{"class":227},"sTEyZ","content",[189,230,224],{"class":195},[189,232,233],{"class":195}," \u002F>\n",[189,235,237,240,242],{"class":191,"line":236},3,[189,238,239],{"class":195},"\u003C\u002F",[189,241,200],{"class":199},[189,243,203],{"class":195},[175,245,247],{"id":246},"image-handling","Image handling",[82,249,250,251,253,254,257,258,261,262,265],{},"The ",[86,252,88],{}," component automatically handles Sanity images using the ",[86,255,256],{},"\u003CSanityImage>"," component, which will use ",[86,259,260],{},"\u003CNuxtImg>"," if ",[86,263,264],{},"@nuxt\u002Fimage"," is installed.",[82,267,268],{},"The default image component supports:",[139,270,271,279,293],{},[142,272,273,276,277],{},[131,274,275],{},"Asset ID",": Extracted from the image block and passed to ",[86,278,256],{},[142,280,281,284,285,288,289,292],{},[131,282,283],{},"Hotspot",": Converted to focal point coordinates (",[86,286,287],{},"fp-x",", ",[86,290,291],{},"fp-y",") for proper cropping",[142,294,295,298,299,302],{},[131,296,297],{},"Crop",": Converted to a ",[86,300,301],{},"rect"," parameter using the image dimensions from the asset ID",[82,304,305,306,155,309,312],{},"Custom fields like ",[86,307,308],{},"caption",[86,310,311],{},"attribution"," are not rendered by the default component. If you need to display captions or other custom data, provide a custom image component as shown below.",[175,314,316],{"id":315},"example-with-custom-components","Example with custom components",[180,318,320],{"className":182,"code":319,"language":184,"meta":185,"style":185},"\u003Ctemplate>\n  \u003CSanityContent :value=\"content\" :components=\"components\" \u002F>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup>\nimport { defineAsyncComponent, h, resolveComponent } from 'vue'\nimport CustomBlockComponent from '~\u002Fcomponents\u002FCustomBlockComponent.vue'\n\nconst components = {\n  types: {\n    \u002F\u002F This is how to access a component registered by `@nuxt\u002Fcomponents`\n    lazyRegisteredComponent: props => h(resolveComponent('LazyCustomSerializer'), {\n      ...props.value,\n    }),\n    \u002F\u002F A directly imported component\n    importedComponent: props => h(CustomBlockComponent, {\n      ...props.value,\n    }),\n    \u002F\u002F Example of a more complex async component\n    dynamicComponent: props => h(defineAsyncComponent({\n      loadingComponent: () => 'Loading...',\n      loader: () => import('~\u002Fother\u002Fcomponent.vue'),\n    }), {\n      ...props.value,\n    }),\n    \u002F\u002F You can override the default image component if needed\n    image: props => h('CustomImageComponent', {\n      ...props.value,\n    }),\n    \u002F\u002F Example of handling caption and attribution in a custom component\n    imageWithCaption: props => {\n      const { asset, caption, attribution, crop, hotspot } = props.value\n      return h('div', { class: 'custom-image-wrapper' }, [\n        h('img', { src: `https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002F...\u002F${asset._ref}` }),\n        caption && h('p', { class: 'caption' }, caption),\n        attribution && h('p', { class: 'attribution' }, attribution)\n      ])\n    },\n  },\n  marks: {\n    \u002F\u002F Custom marks handling\n    internalLink: props => h('a', { href: props.value.href }, props.text)\n  }\n}\n\u003C\u002Fscript>\n",[86,321,322,330,362,370,377,390,429,447,452,466,477,484,525,542,552,558,579,592,601,607,631,653,681,692,705,714,720,747,760,769,775,789,832,871,921,962,1001,1007,1013,1019,1029,1035,1087,1093,1099],{"__ignoreMap":185},[189,323,324,326,328],{"class":191,"line":192},[189,325,196],{"class":195},[189,327,200],{"class":199},[189,329,203],{"class":195},[189,331,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360],{"class":191,"line":206},[189,333,209],{"class":195},[189,335,212],{"class":199},[189,337,215],{"class":195},[189,339,154],{"class":218},[189,341,221],{"class":195},[189,343,224],{"class":195},[189,345,228],{"class":227},[189,347,224],{"class":195},[189,349,215],{"class":195},[189,351,161],{"class":218},[189,353,221],{"class":195},[189,355,224],{"class":195},[189,357,161],{"class":227},[189,359,224],{"class":195},[189,361,233],{"class":195},[189,363,364,366,368],{"class":191,"line":236},[189,365,239],{"class":195},[189,367,200],{"class":199},[189,369,203],{"class":195},[189,371,373],{"class":191,"line":372},4,[189,374,376],{"emptyLinePlaceholder":375},true,"\n",[189,378,380,382,385,388],{"class":191,"line":379},5,[189,381,196],{"class":195},[189,383,384],{"class":199},"script",[189,386,387],{"class":218}," setup",[189,389,203],{"class":195},[189,391,393,397,400,403,406,409,411,414,417,420,423,426],{"class":191,"line":392},6,[189,394,396],{"class":395},"s7zQu","import",[189,398,399],{"class":195}," {",[189,401,402],{"class":227}," defineAsyncComponent",[189,404,405],{"class":195},",",[189,407,408],{"class":227}," h",[189,410,405],{"class":195},[189,412,413],{"class":227}," resolveComponent",[189,415,416],{"class":195}," }",[189,418,419],{"class":395}," from",[189,421,422],{"class":195}," '",[189,424,184],{"class":425},"sfazB",[189,427,428],{"class":195},"'\n",[189,430,432,434,437,440,442,445],{"class":191,"line":431},7,[189,433,396],{"class":395},[189,435,436],{"class":227}," CustomBlockComponent ",[189,438,439],{"class":395},"from",[189,441,422],{"class":195},[189,443,444],{"class":425},"~\u002Fcomponents\u002FCustomBlockComponent.vue",[189,446,428],{"class":195},[189,448,450],{"class":191,"line":449},8,[189,451,376],{"emptyLinePlaceholder":375},[189,453,455,458,461,463],{"class":191,"line":454},9,[189,456,457],{"class":218},"const",[189,459,460],{"class":227}," components ",[189,462,221],{"class":195},[189,464,465],{"class":195}," {\n",[189,467,469,472,475],{"class":191,"line":468},10,[189,470,471],{"class":199},"  types",[189,473,474],{"class":195},":",[189,476,465],{"class":195},[189,478,480],{"class":191,"line":479},11,[189,481,483],{"class":482},"sHwdD","    \u002F\u002F This is how to access a component registered by `@nuxt\u002Fcomponents`\n",[189,485,487,491,493,497,500,502,505,508,510,513,516,518,521,523],{"class":191,"line":486},12,[189,488,490],{"class":489},"s2Zo4","    lazyRegisteredComponent",[189,492,474],{"class":195},[189,494,496],{"class":495},"sHdIc"," props",[189,498,499],{"class":218}," =>",[189,501,408],{"class":489},[189,503,504],{"class":227},"(",[189,506,507],{"class":489},"resolveComponent",[189,509,504],{"class":227},[189,511,512],{"class":195},"'",[189,514,515],{"class":425},"LazyCustomSerializer",[189,517,512],{"class":195},[189,519,520],{"class":227},")",[189,522,405],{"class":195},[189,524,465],{"class":195},[189,526,528,531,534,537,539],{"class":191,"line":527},13,[189,529,530],{"class":195},"      ...",[189,532,533],{"class":227},"props",[189,535,536],{"class":195},".",[189,538,154],{"class":227},[189,540,541],{"class":195},",\n",[189,543,545,548,550],{"class":191,"line":544},14,[189,546,547],{"class":195},"    }",[189,549,520],{"class":227},[189,551,541],{"class":195},[189,553,555],{"class":191,"line":554},15,[189,556,557],{"class":482},"    \u002F\u002F A directly imported component\n",[189,559,561,564,566,568,570,572,575,577],{"class":191,"line":560},16,[189,562,563],{"class":489},"    importedComponent",[189,565,474],{"class":195},[189,567,496],{"class":495},[189,569,499],{"class":218},[189,571,408],{"class":489},[189,573,574],{"class":227},"(CustomBlockComponent",[189,576,405],{"class":195},[189,578,465],{"class":195},[189,580,582,584,586,588,590],{"class":191,"line":581},17,[189,583,530],{"class":195},[189,585,533],{"class":227},[189,587,536],{"class":195},[189,589,154],{"class":227},[189,591,541],{"class":195},[189,593,595,597,599],{"class":191,"line":594},18,[189,596,547],{"class":195},[189,598,520],{"class":227},[189,600,541],{"class":195},[189,602,604],{"class":191,"line":603},19,[189,605,606],{"class":482},"    \u002F\u002F Example of a more complex async component\n",[189,608,610,613,615,617,619,621,623,626,628],{"class":191,"line":609},20,[189,611,612],{"class":489},"    dynamicComponent",[189,614,474],{"class":195},[189,616,496],{"class":495},[189,618,499],{"class":218},[189,620,408],{"class":489},[189,622,504],{"class":227},[189,624,625],{"class":489},"defineAsyncComponent",[189,627,504],{"class":227},[189,629,630],{"class":195},"{\n",[189,632,634,637,639,642,644,646,649,651],{"class":191,"line":633},21,[189,635,636],{"class":489},"      loadingComponent",[189,638,474],{"class":195},[189,640,641],{"class":195}," ()",[189,643,499],{"class":218},[189,645,422],{"class":195},[189,647,648],{"class":425},"Loading...",[189,650,512],{"class":195},[189,652,541],{"class":195},[189,654,656,659,661,663,665,668,670,672,675,677,679],{"class":191,"line":655},22,[189,657,658],{"class":489},"      loader",[189,660,474],{"class":195},[189,662,641],{"class":195},[189,664,499],{"class":218},[189,666,667],{"class":195}," import",[189,669,504],{"class":227},[189,671,512],{"class":195},[189,673,674],{"class":425},"~\u002Fother\u002Fcomponent.vue",[189,676,512],{"class":195},[189,678,520],{"class":227},[189,680,541],{"class":195},[189,682,684,686,688,690],{"class":191,"line":683},23,[189,685,547],{"class":195},[189,687,520],{"class":227},[189,689,405],{"class":195},[189,691,465],{"class":195},[189,693,695,697,699,701,703],{"class":191,"line":694},24,[189,696,530],{"class":195},[189,698,533],{"class":227},[189,700,536],{"class":195},[189,702,154],{"class":227},[189,704,541],{"class":195},[189,706,708,710,712],{"class":191,"line":707},25,[189,709,547],{"class":195},[189,711,520],{"class":227},[189,713,541],{"class":195},[189,715,717],{"class":191,"line":716},26,[189,718,719],{"class":482},"    \u002F\u002F You can override the default image component if needed\n",[189,721,723,726,728,730,732,734,736,738,741,743,745],{"class":191,"line":722},27,[189,724,725],{"class":489},"    image",[189,727,474],{"class":195},[189,729,496],{"class":495},[189,731,499],{"class":218},[189,733,408],{"class":489},[189,735,504],{"class":227},[189,737,512],{"class":195},[189,739,740],{"class":425},"CustomImageComponent",[189,742,512],{"class":195},[189,744,405],{"class":195},[189,746,465],{"class":195},[189,748,750,752,754,756,758],{"class":191,"line":749},28,[189,751,530],{"class":195},[189,753,533],{"class":227},[189,755,536],{"class":195},[189,757,154],{"class":227},[189,759,541],{"class":195},[189,761,763,765,767],{"class":191,"line":762},29,[189,764,547],{"class":195},[189,766,520],{"class":227},[189,768,541],{"class":195},[189,770,772],{"class":191,"line":771},30,[189,773,774],{"class":482},"    \u002F\u002F Example of handling caption and attribution in a custom component\n",[189,776,778,781,783,785,787],{"class":191,"line":777},31,[189,779,780],{"class":489},"    imageWithCaption",[189,782,474],{"class":195},[189,784,496],{"class":495},[189,786,499],{"class":218},[189,788,465],{"class":195},[189,790,792,795,797,800,802,805,807,810,812,815,817,820,822,825,827,829],{"class":191,"line":791},32,[189,793,794],{"class":218},"      const",[189,796,399],{"class":195},[189,798,799],{"class":227}," asset",[189,801,405],{"class":195},[189,803,804],{"class":227}," caption",[189,806,405],{"class":195},[189,808,809],{"class":227}," attribution",[189,811,405],{"class":195},[189,813,814],{"class":227}," crop",[189,816,405],{"class":195},[189,818,819],{"class":227}," hotspot",[189,821,416],{"class":195},[189,823,824],{"class":195}," =",[189,826,496],{"class":227},[189,828,536],{"class":195},[189,830,831],{"class":227},"value\n",[189,833,835,838,840,842,844,847,849,851,853,856,858,860,863,865,868],{"class":191,"line":834},33,[189,836,837],{"class":395},"      return",[189,839,408],{"class":489},[189,841,504],{"class":199},[189,843,512],{"class":195},[189,845,846],{"class":425},"div",[189,848,512],{"class":195},[189,850,405],{"class":195},[189,852,399],{"class":195},[189,854,855],{"class":199}," class",[189,857,474],{"class":195},[189,859,422],{"class":195},[189,861,862],{"class":425},"custom-image-wrapper",[189,864,512],{"class":195},[189,866,867],{"class":195}," },",[189,869,870],{"class":199}," [\n",[189,872,874,877,879,881,884,886,888,890,893,895,898,901,904,907,909,912,915,917,919],{"class":191,"line":873},34,[189,875,876],{"class":489},"        h",[189,878,504],{"class":199},[189,880,512],{"class":195},[189,882,883],{"class":425},"img",[189,885,512],{"class":195},[189,887,405],{"class":195},[189,889,399],{"class":195},[189,891,892],{"class":199}," src",[189,894,474],{"class":195},[189,896,897],{"class":195}," `",[189,899,900],{"class":425},"https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002F...\u002F",[189,902,903],{"class":195},"${",[189,905,906],{"class":227},"asset",[189,908,536],{"class":195},[189,910,911],{"class":227},"_ref",[189,913,914],{"class":195},"}`",[189,916,416],{"class":195},[189,918,520],{"class":199},[189,920,541],{"class":195},[189,922,924,927,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960],{"class":191,"line":923},35,[189,925,926],{"class":227},"        caption",[189,928,929],{"class":195}," &&",[189,931,408],{"class":489},[189,933,504],{"class":199},[189,935,512],{"class":195},[189,937,82],{"class":425},[189,939,512],{"class":195},[189,941,405],{"class":195},[189,943,399],{"class":195},[189,945,855],{"class":199},[189,947,474],{"class":195},[189,949,422],{"class":195},[189,951,308],{"class":425},[189,953,512],{"class":195},[189,955,867],{"class":195},[189,957,804],{"class":227},[189,959,520],{"class":199},[189,961,541],{"class":195},[189,963,965,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998],{"class":191,"line":964},36,[189,966,967],{"class":227},"        attribution",[189,969,929],{"class":195},[189,971,408],{"class":489},[189,973,504],{"class":199},[189,975,512],{"class":195},[189,977,82],{"class":425},[189,979,512],{"class":195},[189,981,405],{"class":195},[189,983,399],{"class":195},[189,985,855],{"class":199},[189,987,474],{"class":195},[189,989,422],{"class":195},[189,991,311],{"class":425},[189,993,512],{"class":195},[189,995,867],{"class":195},[189,997,809],{"class":227},[189,999,1000],{"class":199},")\n",[189,1002,1004],{"class":191,"line":1003},37,[189,1005,1006],{"class":199},"      ])\n",[189,1008,1010],{"class":191,"line":1009},38,[189,1011,1012],{"class":195},"    },\n",[189,1014,1016],{"class":191,"line":1015},39,[189,1017,1018],{"class":195},"  },\n",[189,1020,1022,1025,1027],{"class":191,"line":1021},40,[189,1023,1024],{"class":199},"  marks",[189,1026,474],{"class":195},[189,1028,465],{"class":195},[189,1030,1032],{"class":191,"line":1031},41,[189,1033,1034],{"class":482},"    \u002F\u002F Custom marks handling\n",[189,1036,1038,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1064,1066,1068,1070,1072,1074,1077,1080,1082,1084],{"class":191,"line":1037},42,[189,1039,1040],{"class":489},"    internalLink",[189,1042,474],{"class":195},[189,1044,496],{"class":495},[189,1046,499],{"class":218},[189,1048,408],{"class":489},[189,1050,504],{"class":227},[189,1052,512],{"class":195},[189,1054,91],{"class":425},[189,1056,512],{"class":195},[189,1058,405],{"class":195},[189,1060,399],{"class":195},[189,1062,1063],{"class":199}," href",[189,1065,474],{"class":195},[189,1067,496],{"class":227},[189,1069,536],{"class":195},[189,1071,154],{"class":227},[189,1073,536],{"class":195},[189,1075,1076],{"class":227},"href ",[189,1078,1079],{"class":195},"},",[189,1081,496],{"class":227},[189,1083,536],{"class":195},[189,1085,1086],{"class":227},"text)\n",[189,1088,1090],{"class":191,"line":1089},43,[189,1091,1092],{"class":195},"  }\n",[189,1094,1096],{"class":191,"line":1095},44,[189,1097,1098],{"class":195},"}\n",[189,1100,1102,1104,1106],{"class":191,"line":1101},45,[189,1103,239],{"class":195},[189,1105,384],{"class":199},[189,1107,203],{"class":195},[175,1109,1111],{"id":1110},"image-block-structure","Image Block Structure",[82,1113,1114],{},"The automatic image handling works with the standard Sanity portable text image block structure:",[180,1116,1120],{"className":1117,"code":1118,"language":1119,"meta":185,"style":185},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"_type\": \"image\",\n  \"asset\": {\n    \"_type\": \"reference\",\n    \"_ref\": \"image-61991cfbe9182124c18ee1829c07910faadd100e-2048x1366-png\"\n  },\n  \"caption\": \"This is the caption (ignored by default component)\",\n  \"attribution\": \"Public domain (ignored by default component)\",\n  \"crop\": {\n    \"top\": 0.028131868131868132,\n    \"bottom\": 0.15003663003663004,\n    \"left\": 0.01875,\n    \"right\": 0.009375000000000022\n  },\n  \"hotspot\": {\n    \"x\": 0.812500000000001,\n    \"y\": 0.27963369963369955,\n    \"height\": 0.3248351648351647,\n    \"width\": 0.28124999999999994\n  }\n}\n","json",[86,1121,1122,1126,1148,1160,1181,1199,1203,1222,1241,1254,1271,1287,1303,1317,1321,1334,1350,1366,1382,1396,1400],{"__ignoreMap":185},[189,1123,1124],{"class":191,"line":192},[189,1125,630],{"class":195},[189,1127,1128,1131,1134,1136,1138,1141,1144,1146],{"class":191,"line":206},[189,1129,1130],{"class":195},"  \"",[189,1132,1133],{"class":218},"_type",[189,1135,224],{"class":195},[189,1137,474],{"class":195},[189,1139,1140],{"class":195}," \"",[189,1142,1143],{"class":425},"image",[189,1145,224],{"class":195},[189,1147,541],{"class":195},[189,1149,1150,1152,1154,1156,1158],{"class":191,"line":236},[189,1151,1130],{"class":195},[189,1153,906],{"class":218},[189,1155,224],{"class":195},[189,1157,474],{"class":195},[189,1159,465],{"class":195},[189,1161,1162,1165,1168,1170,1172,1174,1177,1179],{"class":191,"line":372},[189,1163,1164],{"class":195},"    \"",[189,1166,1133],{"class":1167},"sBMFI",[189,1169,224],{"class":195},[189,1171,474],{"class":195},[189,1173,1140],{"class":195},[189,1175,1176],{"class":425},"reference",[189,1178,224],{"class":195},[189,1180,541],{"class":195},[189,1182,1183,1185,1187,1189,1191,1193,1196],{"class":191,"line":379},[189,1184,1164],{"class":195},[189,1186,911],{"class":1167},[189,1188,224],{"class":195},[189,1190,474],{"class":195},[189,1192,1140],{"class":195},[189,1194,1195],{"class":425},"image-61991cfbe9182124c18ee1829c07910faadd100e-2048x1366-png",[189,1197,1198],{"class":195},"\"\n",[189,1200,1201],{"class":191,"line":392},[189,1202,1018],{"class":195},[189,1204,1205,1207,1209,1211,1213,1215,1218,1220],{"class":191,"line":431},[189,1206,1130],{"class":195},[189,1208,308],{"class":218},[189,1210,224],{"class":195},[189,1212,474],{"class":195},[189,1214,1140],{"class":195},[189,1216,1217],{"class":425},"This is the caption (ignored by default component)",[189,1219,224],{"class":195},[189,1221,541],{"class":195},[189,1223,1224,1226,1228,1230,1232,1234,1237,1239],{"class":191,"line":449},[189,1225,1130],{"class":195},[189,1227,311],{"class":218},[189,1229,224],{"class":195},[189,1231,474],{"class":195},[189,1233,1140],{"class":195},[189,1235,1236],{"class":425},"Public domain (ignored by default component)",[189,1238,224],{"class":195},[189,1240,541],{"class":195},[189,1242,1243,1245,1248,1250,1252],{"class":191,"line":454},[189,1244,1130],{"class":195},[189,1246,1247],{"class":218},"crop",[189,1249,224],{"class":195},[189,1251,474],{"class":195},[189,1253,465],{"class":195},[189,1255,1256,1258,1261,1263,1265,1269],{"class":191,"line":468},[189,1257,1164],{"class":195},[189,1259,1260],{"class":1167},"top",[189,1262,224],{"class":195},[189,1264,474],{"class":195},[189,1266,1268],{"class":1267},"sbssI"," 0.028131868131868132",[189,1270,541],{"class":195},[189,1272,1273,1275,1278,1280,1282,1285],{"class":191,"line":479},[189,1274,1164],{"class":195},[189,1276,1277],{"class":1167},"bottom",[189,1279,224],{"class":195},[189,1281,474],{"class":195},[189,1283,1284],{"class":1267}," 0.15003663003663004",[189,1286,541],{"class":195},[189,1288,1289,1291,1294,1296,1298,1301],{"class":191,"line":486},[189,1290,1164],{"class":195},[189,1292,1293],{"class":1167},"left",[189,1295,224],{"class":195},[189,1297,474],{"class":195},[189,1299,1300],{"class":1267}," 0.01875",[189,1302,541],{"class":195},[189,1304,1305,1307,1310,1312,1314],{"class":191,"line":527},[189,1306,1164],{"class":195},[189,1308,1309],{"class":1167},"right",[189,1311,224],{"class":195},[189,1313,474],{"class":195},[189,1315,1316],{"class":1267}," 0.009375000000000022\n",[189,1318,1319],{"class":191,"line":544},[189,1320,1018],{"class":195},[189,1322,1323,1325,1328,1330,1332],{"class":191,"line":554},[189,1324,1130],{"class":195},[189,1326,1327],{"class":218},"hotspot",[189,1329,224],{"class":195},[189,1331,474],{"class":195},[189,1333,465],{"class":195},[189,1335,1336,1338,1341,1343,1345,1348],{"class":191,"line":560},[189,1337,1164],{"class":195},[189,1339,1340],{"class":1167},"x",[189,1342,224],{"class":195},[189,1344,474],{"class":195},[189,1346,1347],{"class":1267}," 0.812500000000001",[189,1349,541],{"class":195},[189,1351,1352,1354,1357,1359,1361,1364],{"class":191,"line":581},[189,1353,1164],{"class":195},[189,1355,1356],{"class":1167},"y",[189,1358,224],{"class":195},[189,1360,474],{"class":195},[189,1362,1363],{"class":1267}," 0.27963369963369955",[189,1365,541],{"class":195},[189,1367,1368,1370,1373,1375,1377,1380],{"class":191,"line":594},[189,1369,1164],{"class":195},[189,1371,1372],{"class":1167},"height",[189,1374,224],{"class":195},[189,1376,474],{"class":195},[189,1378,1379],{"class":1267}," 0.3248351648351647",[189,1381,541],{"class":195},[189,1383,1384,1386,1389,1391,1393],{"class":191,"line":603},[189,1385,1164],{"class":195},[189,1387,1388],{"class":1167},"width",[189,1390,224],{"class":195},[189,1392,474],{"class":195},[189,1394,1395],{"class":1267}," 0.28124999999999994\n",[189,1397,1398],{"class":191,"line":609},[189,1399,1092],{"class":195},[189,1401,1402],{"class":191,"line":633},[189,1403,1098],{"class":195},[82,1405,1406],{},"The component automatically:",[1408,1409,1410,1422,1436],"ol",{},[142,1411,1412,1413,1415,1416,1419,1420],{},"Extracts the ",[86,1414,911],{}," from the asset object and passes it as ",[86,1417,1418],{},"assetId"," to ",[86,1421,256],{},[142,1423,1424,1425,155,1428,1419,1431,155,1433,1435],{},"Converts ",[86,1426,1427],{},"hotspot.x",[86,1429,1430],{},"hotspot.y",[86,1432,287],{},[86,1434,291],{}," focal point parameters",[142,1437,1438,1439,1441,1442,1444],{},"Calculates the ",[86,1440,301],{}," parameter from the ",[86,1443,1247],{}," object using the original image dimensions (parsed from the asset ID)",[82,1446,1447],{},"Caption and attribution fields are ignored by the default component. Use a custom image component if you need to render these.",[175,1449,1451],{"id":1450},"disabling-default-image-handling","Disabling Default Image Handling",[82,1453,1454,1455,1458],{},"If you want to handle images yourself or disable the automatic image handling entirely, you can use the ",[86,1456,1457],{},"disableDefaultImageComponent"," prop:",[180,1460,1462],{"className":182,"code":1461,"language":184,"meta":185,"style":185},"\u003Ctemplate>\n  \u003C!-- Disable automatic image handling -->\n  \u003CSanityContent \n    :value=\"content\" \n    disable-default-image-component\n  \u002F>\n  \n  \u003C!-- Or provide your own image component -->\n  \u003CSanityContent \n    :value=\"content\" \n    disable-default-image-component\n    :components=\"{\n      types: {\n        image: props => h('MyCustomImage', {\n          assetId: props.value.asset._ref,\n          caption: props.value.caption\n        })\n      }\n    }\"\n  \u002F>\n\u003C\u002Ftemplate>\n",[86,1463,1464,1472,1477,1486,1503,1508,1513,1518,1523,1531,1547,1551,1563,1571,1597,1620,1638,1643,1648,1654,1658],{"__ignoreMap":185},[189,1465,1466,1468,1470],{"class":191,"line":192},[189,1467,196],{"class":195},[189,1469,200],{"class":199},[189,1471,203],{"class":195},[189,1473,1474],{"class":191,"line":206},[189,1475,1476],{"class":482},"  \u003C!-- Disable automatic image handling -->\n",[189,1478,1479,1481,1483],{"class":191,"line":236},[189,1480,209],{"class":195},[189,1482,212],{"class":199},[189,1484,1485],{"class":195}," \n",[189,1487,1488,1491,1493,1495,1497,1499,1501],{"class":191,"line":372},[189,1489,1490],{"class":195},"    :",[189,1492,154],{"class":218},[189,1494,221],{"class":195},[189,1496,224],{"class":195},[189,1498,228],{"class":227},[189,1500,224],{"class":195},[189,1502,1485],{"class":195},[189,1504,1505],{"class":191,"line":379},[189,1506,1507],{"class":218},"    disable-default-image-component\n",[189,1509,1510],{"class":191,"line":392},[189,1511,1512],{"class":195},"  \u002F>\n",[189,1514,1515],{"class":191,"line":431},[189,1516,1517],{"class":227},"  \n",[189,1519,1520],{"class":191,"line":449},[189,1521,1522],{"class":482},"  \u003C!-- Or provide your own image component -->\n",[189,1524,1525,1527,1529],{"class":191,"line":454},[189,1526,209],{"class":195},[189,1528,212],{"class":199},[189,1530,1485],{"class":195},[189,1532,1533,1535,1537,1539,1541,1543,1545],{"class":191,"line":468},[189,1534,1490],{"class":195},[189,1536,154],{"class":218},[189,1538,221],{"class":195},[189,1540,224],{"class":195},[189,1542,228],{"class":227},[189,1544,224],{"class":195},[189,1546,1485],{"class":195},[189,1548,1549],{"class":191,"line":479},[189,1550,1507],{"class":218},[189,1552,1553,1555,1557,1559,1561],{"class":191,"line":486},[189,1554,1490],{"class":195},[189,1556,161],{"class":218},[189,1558,221],{"class":195},[189,1560,224],{"class":195},[189,1562,630],{"class":195},[189,1564,1565,1568],{"class":191,"line":527},[189,1566,1567],{"class":199},"      types",[189,1569,1570],{"class":195},": {\n",[189,1572,1573,1576,1579,1581,1583,1585,1587,1589,1592,1594],{"class":191,"line":544},[189,1574,1575],{"class":489},"        image",[189,1577,1578],{"class":195},": ",[189,1580,533],{"class":495},[189,1582,499],{"class":218},[189,1584,408],{"class":489},[189,1586,504],{"class":195},[189,1588,512],{"class":195},[189,1590,1591],{"class":425},"MyCustomImage",[189,1593,512],{"class":195},[189,1595,1596],{"class":195},", {\n",[189,1598,1599,1602,1604,1606,1608,1610,1612,1614,1616,1618],{"class":191,"line":554},[189,1600,1601],{"class":199},"          assetId",[189,1603,1578],{"class":195},[189,1605,533],{"class":227},[189,1607,536],{"class":195},[189,1609,154],{"class":227},[189,1611,536],{"class":195},[189,1613,906],{"class":227},[189,1615,536],{"class":195},[189,1617,911],{"class":227},[189,1619,541],{"class":195},[189,1621,1622,1625,1627,1629,1631,1633,1635],{"class":191,"line":560},[189,1623,1624],{"class":199},"          caption",[189,1626,1578],{"class":195},[189,1628,533],{"class":227},[189,1630,536],{"class":195},[189,1632,154],{"class":227},[189,1634,536],{"class":195},[189,1636,1637],{"class":227},"caption\n",[189,1639,1640],{"class":191,"line":581},[189,1641,1642],{"class":195},"        })\n",[189,1644,1645],{"class":191,"line":594},[189,1646,1647],{"class":195},"      }\n",[189,1649,1650,1652],{"class":191,"line":603},[189,1651,547],{"class":195},[189,1653,1198],{"class":195},[189,1655,1656],{"class":191,"line":609},[189,1657,1512],{"class":195},[189,1659,1660,1662,1664],{"class":191,"line":633},[189,1661,239],{"class":195},[189,1663,200],{"class":199},[189,1665,203],{"class":195},[82,1667,1668,1669,1671,1672,1675,1676,1679],{},"When ",[86,1670,1457],{}," is set to ",[86,1673,1674],{},"true",", the component will not automatically handle image blocks. If you don't provide your own image component in the ",[86,1677,1678],{},"components.types.image"," prop, PortableText will show a warning about the missing component.",[125,1681,1682,1683,1686,1687,1690],{},"If you want to use the same components in multiple places, consider creating your own component (e.g. ",[86,1684,1685],{},"\u003CMySanityContent>",") which wraps SanityContent with your default components. By creating ",[86,1688,1689],{},"~\u002Fcomponents\u002FMySanityContent.vue"," you should be able to use this everywhere in your app without importing it.",[175,1692,1694],{"id":1693},"advanced-props","Advanced Props",[82,1696,250,1697,1699,1700,474],{},[86,1698,212],{}," component accepts all props from ",[86,1701,110],{},[180,1703,1705],{"className":182,"code":1704,"language":184,"meta":185,"style":185},"\u003Ctemplate>\n  \u003CSanityContent \n    :value=\"content\" \n    :components=\"components\"\n    :onMissingComponent=\"handleMissingComponent\"\n    :listNestingMode=\"'html'\" \n  \u002F>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup>\nconst handleMissingComponent = (message, options) => {\n  console.warn(`Missing component: ${options.type} (${options.nodeType})`)\n}\n\u003C\u002Fscript>\n",[86,1706,1707,1715,1723,1739,1753,1769,1789,1793,1801,1805,1815,1841,1891,1895],{"__ignoreMap":185},[189,1708,1709,1711,1713],{"class":191,"line":192},[189,1710,196],{"class":195},[189,1712,200],{"class":199},[189,1714,203],{"class":195},[189,1716,1717,1719,1721],{"class":191,"line":206},[189,1718,209],{"class":195},[189,1720,212],{"class":199},[189,1722,1485],{"class":195},[189,1724,1725,1727,1729,1731,1733,1735,1737],{"class":191,"line":236},[189,1726,1490],{"class":195},[189,1728,154],{"class":218},[189,1730,221],{"class":195},[189,1732,224],{"class":195},[189,1734,228],{"class":227},[189,1736,224],{"class":195},[189,1738,1485],{"class":195},[189,1740,1741,1743,1745,1747,1749,1751],{"class":191,"line":372},[189,1742,1490],{"class":195},[189,1744,161],{"class":218},[189,1746,221],{"class":195},[189,1748,224],{"class":195},[189,1750,161],{"class":227},[189,1752,1198],{"class":195},[189,1754,1755,1757,1760,1762,1764,1767],{"class":191,"line":379},[189,1756,1490],{"class":195},[189,1758,1759],{"class":218},"onMissingComponent",[189,1761,221],{"class":195},[189,1763,224],{"class":195},[189,1765,1766],{"class":227},"handleMissingComponent",[189,1768,1198],{"class":195},[189,1770,1771,1773,1776,1778,1781,1784,1787],{"class":191,"line":392},[189,1772,1490],{"class":195},[189,1774,1775],{"class":218},"listNestingMode",[189,1777,221],{"class":195},[189,1779,1780],{"class":195},"\"'",[189,1782,1783],{"class":425},"html",[189,1785,1786],{"class":195},"'\"",[189,1788,1485],{"class":195},[189,1790,1791],{"class":191,"line":431},[189,1792,1512],{"class":195},[189,1794,1795,1797,1799],{"class":191,"line":449},[189,1796,239],{"class":195},[189,1798,200],{"class":199},[189,1800,203],{"class":195},[189,1802,1803],{"class":191,"line":454},[189,1804,376],{"emptyLinePlaceholder":375},[189,1806,1807,1809,1811,1813],{"class":191,"line":468},[189,1808,196],{"class":195},[189,1810,384],{"class":199},[189,1812,387],{"class":218},[189,1814,203],{"class":195},[189,1816,1817,1819,1822,1824,1827,1830,1832,1835,1837,1839],{"class":191,"line":479},[189,1818,457],{"class":218},[189,1820,1821],{"class":227}," handleMissingComponent ",[189,1823,221],{"class":195},[189,1825,1826],{"class":195}," (",[189,1828,1829],{"class":495},"message",[189,1831,405],{"class":195},[189,1833,1834],{"class":495}," options",[189,1836,520],{"class":195},[189,1838,499],{"class":218},[189,1840,465],{"class":195},[189,1842,1843,1846,1848,1851,1853,1856,1859,1861,1864,1866,1869,1872,1874,1876,1878,1880,1883,1885,1887,1889],{"class":191,"line":486},[189,1844,1845],{"class":227},"  console",[189,1847,536],{"class":195},[189,1849,1850],{"class":489},"warn",[189,1852,504],{"class":199},[189,1854,1855],{"class":195},"`",[189,1857,1858],{"class":425},"Missing component: ",[189,1860,903],{"class":195},[189,1862,1863],{"class":227},"options",[189,1865,536],{"class":195},[189,1867,1868],{"class":227},"type",[189,1870,1871],{"class":195},"}",[189,1873,1826],{"class":425},[189,1875,903],{"class":195},[189,1877,1863],{"class":227},[189,1879,536],{"class":195},[189,1881,1882],{"class":227},"nodeType",[189,1884,1871],{"class":195},[189,1886,520],{"class":425},[189,1888,1855],{"class":195},[189,1890,1000],{"class":199},[189,1892,1893],{"class":191,"line":527},[189,1894,1098],{"class":195},[189,1896,1897,1899,1901],{"class":191,"line":544},[189,1898,239],{"class":195},[189,1900,384],{"class":199},[189,1902,203],{"class":195},[175,1904,1906],{"id":1905},"typescript-support","TypeScript Support",[82,1908,1909,1910,155,1912,1915,1916,474],{},"All types from ",[86,1911,110],{},[86,1913,1914],{},"@portabletext\u002Ftypes"," are re-exported from ",[86,1917,1918],{},"@nuxtjs\u002Fsanity",[180,1920,1922],{"className":182,"code":1921,"language":184,"meta":185,"style":185},"\u003Cscript setup lang=\"ts\">\nimport type { PortableTextComponents } from '@nuxtjs\u002Fsanity\u002Fruntime\u002Ftypes'\nimport { defineAsyncComponent, h } from 'vue'\nimport CustomBlockComponent from '~\u002Fcomponents\u002FCustomBlockComponent.vue'\n\nconst components: PortableTextComponents = {\n  types: {\n    customBlock: props => h(CustomBlockComponent, {\n      ...props.value,\n    }),\n  },\n  marks: {\n    link: props => h('a', {\n      href: props.value.href,\n      target: '_blank'\n    }, props.text)\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CSanityContent :value=\"content\" :components=\"components\" \u002F>\n\u003C\u002Ftemplate>\n",[86,1923,1924,1946,1969,1991,2005,2009,2024,2032,2051,2063,2071,2075,2083,2108,2128,2142,2153,2157,2161,2169,2173,2181,2213],{"__ignoreMap":185},[189,1925,1926,1928,1930,1932,1935,1937,1939,1942,1944],{"class":191,"line":192},[189,1927,196],{"class":195},[189,1929,384],{"class":199},[189,1931,387],{"class":218},[189,1933,1934],{"class":218}," lang",[189,1936,221],{"class":195},[189,1938,224],{"class":195},[189,1940,1941],{"class":425},"ts",[189,1943,224],{"class":195},[189,1945,203],{"class":195},[189,1947,1948,1950,1953,1955,1958,1960,1962,1964,1967],{"class":191,"line":206},[189,1949,396],{"class":395},[189,1951,1952],{"class":395}," type",[189,1954,399],{"class":195},[189,1956,1957],{"class":227}," PortableTextComponents",[189,1959,416],{"class":195},[189,1961,419],{"class":395},[189,1963,422],{"class":195},[189,1965,1966],{"class":425},"@nuxtjs\u002Fsanity\u002Fruntime\u002Ftypes",[189,1968,428],{"class":195},[189,1970,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989],{"class":191,"line":236},[189,1972,396],{"class":395},[189,1974,399],{"class":195},[189,1976,402],{"class":227},[189,1978,405],{"class":195},[189,1980,408],{"class":227},[189,1982,416],{"class":195},[189,1984,419],{"class":395},[189,1986,422],{"class":195},[189,1988,184],{"class":425},[189,1990,428],{"class":195},[189,1992,1993,1995,1997,1999,2001,2003],{"class":191,"line":372},[189,1994,396],{"class":395},[189,1996,436],{"class":227},[189,1998,439],{"class":395},[189,2000,422],{"class":195},[189,2002,444],{"class":425},[189,2004,428],{"class":195},[189,2006,2007],{"class":191,"line":379},[189,2008,376],{"emptyLinePlaceholder":375},[189,2010,2011,2013,2016,2018,2020,2022],{"class":191,"line":392},[189,2012,457],{"class":218},[189,2014,2015],{"class":227}," components",[189,2017,474],{"class":195},[189,2019,1957],{"class":1167},[189,2021,824],{"class":195},[189,2023,465],{"class":195},[189,2025,2026,2028,2030],{"class":191,"line":431},[189,2027,471],{"class":199},[189,2029,474],{"class":195},[189,2031,465],{"class":195},[189,2033,2034,2037,2039,2041,2043,2045,2047,2049],{"class":191,"line":449},[189,2035,2036],{"class":489},"    customBlock",[189,2038,474],{"class":195},[189,2040,496],{"class":495},[189,2042,499],{"class":218},[189,2044,408],{"class":489},[189,2046,574],{"class":227},[189,2048,405],{"class":195},[189,2050,465],{"class":195},[189,2052,2053,2055,2057,2059,2061],{"class":191,"line":454},[189,2054,530],{"class":195},[189,2056,533],{"class":227},[189,2058,536],{"class":195},[189,2060,154],{"class":227},[189,2062,541],{"class":195},[189,2064,2065,2067,2069],{"class":191,"line":468},[189,2066,547],{"class":195},[189,2068,520],{"class":227},[189,2070,541],{"class":195},[189,2072,2073],{"class":191,"line":479},[189,2074,1018],{"class":195},[189,2076,2077,2079,2081],{"class":191,"line":486},[189,2078,1024],{"class":199},[189,2080,474],{"class":195},[189,2082,465],{"class":195},[189,2084,2085,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106],{"class":191,"line":527},[189,2086,2087],{"class":489},"    link",[189,2089,474],{"class":195},[189,2091,496],{"class":495},[189,2093,499],{"class":218},[189,2095,408],{"class":489},[189,2097,504],{"class":227},[189,2099,512],{"class":195},[189,2101,91],{"class":425},[189,2103,512],{"class":195},[189,2105,405],{"class":195},[189,2107,465],{"class":195},[189,2109,2110,2113,2115,2117,2119,2121,2123,2126],{"class":191,"line":544},[189,2111,2112],{"class":199},"      href",[189,2114,474],{"class":195},[189,2116,496],{"class":227},[189,2118,536],{"class":195},[189,2120,154],{"class":227},[189,2122,536],{"class":195},[189,2124,2125],{"class":227},"href",[189,2127,541],{"class":195},[189,2129,2130,2133,2135,2137,2140],{"class":191,"line":554},[189,2131,2132],{"class":199},"      target",[189,2134,474],{"class":195},[189,2136,422],{"class":195},[189,2138,2139],{"class":425},"_blank",[189,2141,428],{"class":195},[189,2143,2144,2147,2149,2151],{"class":191,"line":560},[189,2145,2146],{"class":195},"    },",[189,2148,496],{"class":227},[189,2150,536],{"class":195},[189,2152,1086],{"class":227},[189,2154,2155],{"class":191,"line":581},[189,2156,1092],{"class":195},[189,2158,2159],{"class":191,"line":594},[189,2160,1098],{"class":195},[189,2162,2163,2165,2167],{"class":191,"line":603},[189,2164,239],{"class":195},[189,2166,384],{"class":199},[189,2168,203],{"class":195},[189,2170,2171],{"class":191,"line":609},[189,2172,376],{"emptyLinePlaceholder":375},[189,2174,2175,2177,2179],{"class":191,"line":633},[189,2176,196],{"class":195},[189,2178,200],{"class":199},[189,2180,203],{"class":195},[189,2182,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211],{"class":191,"line":655},[189,2184,209],{"class":195},[189,2186,212],{"class":199},[189,2188,215],{"class":195},[189,2190,154],{"class":218},[189,2192,221],{"class":195},[189,2194,224],{"class":195},[189,2196,228],{"class":227},[189,2198,224],{"class":195},[189,2200,215],{"class":195},[189,2202,161],{"class":218},[189,2204,221],{"class":195},[189,2206,224],{"class":195},[189,2208,161],{"class":227},[189,2210,224],{"class":195},[189,2212,233],{"class":195},[189,2214,2215,2217,2219],{"class":191,"line":683},[189,2216,239],{"class":195},[189,2218,200],{"class":199},[189,2220,203],{"class":195},[77,2222,2224],{"id":2223},"other-resources","Other resources",[139,2226,2227],{},[142,2228,2229],{},[91,2230,110],{"href":106,"rel":2231,"className":2232},[95],[2233],"text-primary-500",[2235,2236,2237],"style",{},"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}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":185,"searchDepth":206,"depth":206,"links":2239},[2240,2249],{"id":79,"depth":206,"text":80,"children":2241},[2242,2243,2244,2245,2246,2247,2248],{"id":177,"depth":236,"text":178},{"id":246,"depth":236,"text":247},{"id":315,"depth":236,"text":316},{"id":1110,"depth":236,"text":1111},{"id":1450,"depth":236,"text":1451},{"id":1693,"depth":236,"text":1694},{"id":1905,"depth":236,"text":1906},{"id":2223,"depth":206,"text":2224},"md",null,{},{"description":185},"prPrTWZNlzONELMdsw-UF6u_ERYtF0aztti5AFYN59Y",[2256,2258],{"title":31,"path":32,"stem":33,"description":2257,"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.",{"title":44,"path":45,"stem":46,"description":185,"children":-1},1786955400281]