[{"data":1,"prerenderedAt":1271},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:P845ymlHDYK03WXV8TXlHgiibnOHZDhNgUN9WQIUkSk":235,"content-page-surround:docs:P845ymlHDYK03WXV8TXlHgiibnOHZDhNgUN9WQIUkSk":1252,"i-logos:typescript-icon":1255,"i-logos:vue":1259,"i-lucide:braces":1262,"i-lucide:terminal":1265,"i-lucide:clipboard":1267,"i-lucide:file":1269},[4,50,111,152,214],{"title":5,"page":6,"canonicalKey":7,"locale":8,"id":9,"draft":6,"icon":10,"sidebar":11,"children":12},"Start",false,"1","en","content:docs:1.start:.navigation.yml","i-lucide-rocket","section",[13,19,24,29,35,40,45],{"title":14,"id":15,"canonicalKey":16,"locale":8,"draft":6,"navigation":17,"path":18},"Why Nuxt Photo","content:docs:1.start:1.why-nuxt-photo.md","1\u002F1",{"title":14},"\u002Fdocs\u002Fstart\u002Fwhy-nuxt-photo",{"title":20,"id":21,"canonicalKey":22,"locale":8,"draft":6,"path":23},"Install Nuxt Photo","content:docs:1.start:2.installation.md","1\u002F2","\u002Fdocs\u002Fstart\u002Finstallation",{"title":25,"id":26,"canonicalKey":27,"locale":8,"draft":6,"path":28},"Build your first album","content:docs:1.start:3.build-your-first-album.md","1\u002F3","\u002Fdocs\u002Fstart\u002Fbuild-your-first-album",{"title":30,"id":31,"canonicalKey":32,"locale":8,"draft":6,"navigation":33,"path":34},"Choose a component","content:docs:1.start:4.choose-a-component.md","1\u002F4",{"title":30},"\u002Fdocs\u002Fstart\u002Fchoose-a-component",{"title":36,"id":37,"canonicalKey":38,"locale":8,"draft":6,"path":39},"Use Nuxt Photo with Vue","content:docs:1.start:5.plain-vue.md","1\u002F5","\u002Fdocs\u002Fstart\u002Fplain-vue",{"title":41,"id":42,"canonicalKey":43,"locale":8,"draft":6,"path":44},"Compare gallery approaches","content:docs:1.start:6.compare-approaches.md","1\u002F6","\u002Fdocs\u002Fstart\u002Fcompare-approaches",{"title":46,"id":47,"canonicalKey":48,"locale":8,"draft":6,"path":49},"Performance and bundle size","content:docs:1.start:7.performance-and-bundle-size.md","1\u002F7","\u002Fdocs\u002Fstart\u002Fperformance-and-bundle-size",{"title":51,"page":6,"canonicalKey":52,"locale":8,"id":53,"draft":6,"icon":54,"children":55},"Guides","2","content:docs:2.guides:.navigation.yml","i-lucide-route",[56,61,66,71,76,81,86,91,96,101,106],{"title":57,"id":58,"canonicalKey":59,"locale":8,"draft":6,"path":60},"Use CMS photos","content:docs:2.guides:1.use-cms-photos.md","2\u002F1","\u002Fdocs\u002Fguides\u002Fuse-cms-photos",{"title":62,"id":63,"canonicalKey":64,"locale":8,"draft":6,"path":65},"Use Nuxt Image","content:docs:2.guides:2.use-nuxt-image.md","2\u002F2","\u002Fdocs\u002Fguides\u002Fuse-nuxt-image",{"title":67,"id":68,"canonicalKey":69,"locale":8,"draft":6,"path":70},"Style with Tailwind","content:docs:2.guides:3.style-with-tailwind.md","2\u002F3","\u002Fdocs\u002Fguides\u002Fstyle-with-tailwind",{"title":72,"id":73,"canonicalKey":74,"locale":8,"draft":6,"path":75},"Share one lightbox","content:docs:2.guides:4.share-one-lightbox.md","2\u002F4","\u002Fdocs\u002Fguides\u002Fshare-one-lightbox",{"title":77,"id":78,"canonicalKey":79,"locale":8,"draft":6,"path":80},"Build a carousel","content:docs:2.guides:5.build-a-carousel.md","2\u002F5","\u002Fdocs\u002Fguides\u002Fbuild-a-carousel",{"title":82,"id":83,"canonicalKey":84,"locale":8,"draft":6,"path":85},"Tune responsive layouts","content:docs:2.guides:6.tune-responsive-layouts.md","2\u002F6","\u002Fdocs\u002Fguides\u002Ftune-responsive-layouts",{"title":87,"id":88,"canonicalKey":89,"locale":8,"draft":6,"path":90},"Create a custom thumbnail layout","content:docs:2.guides:7.create-a-custom-thumbnail-layout.md","2\u002F7","\u002Fdocs\u002Fguides\u002Fcreate-a-custom-thumbnail-layout",{"title":92,"id":93,"canonicalKey":94,"locale":8,"draft":6,"path":95},"Customize the built-in lightbox","content:docs:2.guides:8.customize-the-built-in-lightbox.md","2\u002F8","\u002Fdocs\u002Fguides\u002Fcustomize-the-built-in-lightbox",{"title":97,"id":98,"canonicalKey":99,"locale":8,"draft":6,"path":100},"Build a lightbox from primitives","content:docs:2.guides:9.build-a-lightbox-from-primitives.md","2\u002F9","\u002Fdocs\u002Fguides\u002Fbuild-a-lightbox-from-primitives",{"title":102,"id":103,"canonicalKey":104,"locale":8,"draft":6,"path":105},"Integrate a custom image service","content:docs:2.guides:10.integrate-a-custom-image-service.md","2\u002F10","\u002Fdocs\u002Fguides\u002Fintegrate-a-custom-image-service",{"title":107,"id":108,"canonicalKey":109,"locale":8,"draft":6,"path":110},"Control a lightbox programmatically","content:docs:2.guides:11.control-a-lightbox-programmatically.md","2\u002F11","\u002Fdocs\u002Fguides\u002Fcontrol-a-lightbox-programmatically",{"title":112,"page":6,"canonicalKey":113,"locale":8,"id":114,"draft":6,"icon":115,"children":116},"Concepts","3","content:docs:3.concepts:.navigation.yml","i-lucide-compass",[117,122,127,132,137,142,147],{"title":118,"id":119,"canonicalKey":120,"locale":8,"draft":6,"path":121},"Photo data and dimensions","content:docs:3.concepts:1.photo-data-and-dimensions.md","3\u002F1","\u002Fdocs\u002Fconcepts\u002Fphoto-data-and-dimensions",{"title":123,"id":124,"canonicalKey":125,"locale":8,"draft":6,"path":126},"Collections and navigation order","content:docs:3.concepts:2.collections-and-navigation-order.md","3\u002F2","\u002Fdocs\u002Fconcepts\u002Fcollections-and-navigation-order",{"title":128,"id":129,"canonicalKey":130,"locale":8,"draft":6,"path":131},"Layouts and responsive values","content:docs:3.concepts:3.layouts-and-responsive-values.md","3\u002F3","\u002Fdocs\u002Fconcepts\u002Flayouts-and-responsive-values",{"title":133,"id":134,"canonicalKey":135,"locale":8,"draft":6,"path":136},"SSR and layout stability","content:docs:3.concepts:4.ssr-and-layout-stability.md","3\u002F4","\u002Fdocs\u002Fconcepts\u002Fssr-and-layout-stability",{"title":138,"id":139,"canonicalKey":140,"locale":8,"draft":6,"path":141},"Image delivery","content:docs:3.concepts:5.image-delivery.md","3\u002F5","\u002Fdocs\u002Fconcepts\u002Fimage-delivery",{"title":143,"id":144,"canonicalKey":145,"locale":8,"draft":6,"path":146},"Lightbox, gestures, and accessibility","content:docs:3.concepts:6.lightbox-gestures-and-accessibility.md","3\u002F6","\u002Fdocs\u002Fconcepts\u002Flightbox-gestures-and-accessibility",{"title":148,"id":149,"canonicalKey":150,"locale":8,"draft":6,"path":151},"Customization levels","content:docs:3.concepts:7.customization-levels.md","3\u002F7","\u002Fdocs\u002Fconcepts\u002Fcustomization-levels",{"title":153,"id":154,"canonicalKey":155,"locale":8,"draft":6,"icon":156,"sidebar":11,"path":157,"children":158},"Reference","content:docs:4.reference:.navigation.yml","4","i-lucide-braces","\u002Fdocs\u002Freference",[159,164,169,174,179,184,189,194,199,204,209],{"title":160,"id":161,"canonicalKey":162,"locale":8,"draft":6,"path":163},"Photo","content:docs:4.reference:2.photo.md","4\u002F2","\u002Fdocs\u002Freference\u002Fphoto",{"title":165,"id":166,"canonicalKey":167,"locale":8,"draft":6,"path":168},"PhotoAlbum","content:docs:4.reference:3.photo-album.md","4\u002F3","\u002Fdocs\u002Freference\u002Fphoto-album",{"title":170,"id":171,"canonicalKey":172,"locale":8,"draft":6,"path":173},"PhotoGroup","content:docs:4.reference:4.photo-group.md","4\u002F4","\u002Fdocs\u002Freference\u002Fphoto-group",{"title":175,"id":176,"canonicalKey":177,"locale":8,"draft":6,"path":178},"PhotoCarousel","content:docs:4.reference:5.photo-carousel.md","4\u002F5","\u002Fdocs\u002Freference\u002Fphoto-carousel",{"title":180,"id":181,"canonicalKey":182,"locale":8,"draft":6,"path":183},"Lightbox","content:docs:4.reference:6.lightbox.md","4\u002F6","\u002Fdocs\u002Freference\u002Flightbox",{"title":185,"id":186,"canonicalKey":187,"locale":8,"draft":6,"path":188},"Lightbox primitives API","content:docs:4.reference:7.primitives.md","4\u002F7","\u002Fdocs\u002Freference\u002Fprimitives",{"title":190,"id":191,"canonicalKey":192,"locale":8,"draft":6,"path":193},"Composables","content:docs:4.reference:8.composables.md","4\u002F8","\u002Fdocs\u002Freference\u002Fcomposables",{"title":195,"id":196,"canonicalKey":197,"locale":8,"draft":6,"path":198},"Configuration and labels","content:docs:4.reference:9.configuration-and-labels.md","4\u002F9","\u002Fdocs\u002Freference\u002Fconfiguration-and-labels",{"title":200,"id":201,"canonicalKey":202,"locale":8,"draft":6,"path":203},"Types","content:docs:4.reference:10.types.md","4\u002F10","\u002Fdocs\u002Freference\u002Ftypes",{"title":205,"id":206,"canonicalKey":207,"locale":8,"draft":6,"path":208},"CSS","content:docs:4.reference:11.css.md","4\u002F11","\u002Fdocs\u002Freference\u002Fcss",{"title":210,"id":211,"canonicalKey":212,"locale":8,"draft":6,"path":213},"Package exports","content:docs:4.reference:12.package-exports.md","4\u002F12","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":215,"page":6,"canonicalKey":216,"locale":8,"id":217,"draft":6,"icon":218,"children":219},"Help","5","content:docs:5.help:.navigation.yml","i-lucide-life-buoy",[220,225,230],{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"path":224},"Troubleshooting","content:docs:5.help:1.troubleshooting.md","5\u002F1","\u002Fdocs\u002Fhelp\u002Ftroubleshooting",{"title":226,"id":227,"canonicalKey":228,"locale":8,"draft":6,"path":229},"Known constraints","content:docs:5.help:2.known-constraints.md","5\u002F2","\u002Fdocs\u002Fhelp\u002Fknown-constraints",{"title":231,"id":232,"canonicalKey":233,"locale":8,"draft":6,"path":234},"Upgrade from 0.2 to 1.0","content:docs:5.help:3.upgrade-from-0-2-to-1-0.md","5\u002F3","\u002Fdocs\u002Fhelp\u002Fupgrade-from-0-2-to-1-0",{"title":231,"description":236,"body":237,"type":1239,"id":232,"canonicalKey":233,"draft":6,"partial":6,"locale":8,"collection":1240,"navigationFile":6,"file":1241,"route":1247,"resolution":1249},"The one-time migration from Nuxt Photo 0.2 to the smaller 1.0 API.",{"type":238,"children":239,"toc":1226},"root",[240,248,255,260,273,290,296,315,323,342,348,390,409,415,504,510,533,737,751,757,776,782,792,797,848,895,907,1006,1089,1094,1161,1167,1172,1208],{"type":241,"tag":242,"props":243,"children":244},"element","p",{},[245],{"type":246,"value":247},"text","Nuxt Photo 1.0 is a deliberate pre-1.0 hard cutover. It removes compatibility\npaths instead of carrying two ways to do the same job. Make these changes while\nupgrading from 0.2 to a 1.0 prerelease or stable 1.0 release.",{"type":241,"tag":249,"props":250,"children":252},"h2",{"id":251},"rename-provider-apis",[253],{"type":246,"value":254},"Rename provider APIs",{"type":241,"tag":242,"props":256,"children":257},{},[258],{"type":246,"value":259},"Rename the provider composable and shared defaults. There are no deprecated\naliases.",{"type":241,"tag":261,"props":262,"children":265},"pre",{"language":263,"class":264},"diff","shiki dark:material-theme-palenight",[266],{"type":241,"tag":267,"props":268,"children":270},"code",{"class":269},"language-diff",[271],{"type":246,"value":272},"- import { useLightboxProvider, LightboxDefaultsKey } from '@lupinum\u002Fnuxt-photo\u002Fapp'\n+ import { provideLightbox, PhotoDefaultsKey } from '@lupinum\u002Fnuxt-photo\u002Fapp'\n\n- const controller = useLightboxProvider(photos)\n+ const controller = provideLightbox(photos)",{"type":241,"tag":242,"props":274,"children":275},{},[276,281,283,288],{"type":241,"tag":267,"props":277,"children":278},{},[279],{"type":246,"value":280},"useLightbox()",{"type":246,"value":282}," remains the consumer composable and ",{"type":241,"tag":267,"props":284,"children":285},{},[286],{"type":246,"value":287},"\u003CLightboxProvider>",{"type":246,"value":289}," remains\nthe template provider.",{"type":241,"tag":249,"props":291,"children":293},{"id":292},"use-the-direct-carousel-props",[294],{"type":246,"value":295},"Use the direct carousel props",{"type":241,"tag":242,"props":297,"children":298},{},[299,301,306,308,313],{"type":246,"value":300},"Remove the ",{"type":241,"tag":267,"props":302,"children":303},{},[304],{"type":246,"value":305},"options",{"type":246,"value":307}," bag and ",{"type":241,"tag":267,"props":309,"children":310},{},[311],{"type":246,"value":312},"slidesToScroll",{"type":246,"value":314},". Nuxt Photo now uses one slide per\nsnap internally and exposes only the behavior it owns.",{"type":241,"tag":261,"props":316,"children":317},{"language":263,"class":264},[318],{"type":241,"tag":267,"props":319,"children":320},{"class":269},[321],{"type":246,"value":322}," \u003CPhotoCarousel\n   :photos=\"photos\"\n-  :options=\"{ loop: true, dragFree: false, slidesToScroll: 2 }\"\n+  loop\n+  :drag-free=\"false\"\n \u002F>",{"type":241,"tag":242,"props":324,"children":325},{},[326,328,333,335,340],{"type":246,"value":327},"Carousel lightboxes are now opt-in. Add ",{"type":241,"tag":267,"props":329,"children":330},{},[331],{"type":246,"value":332},":lightbox=\"true\"",{"type":246,"value":334}," when a carousel\nshould open the viewer. Use ",{"type":241,"tag":267,"props":336,"children":337},{},[338],{"type":246,"value":339},"direction=\"rtl\"",{"type":246,"value":341}," when direction can change at\nruntime; otherwise the carousel inherits direction when it mounts.",{"type":241,"tag":249,"props":343,"children":345},{"id":344},"keep-strict-single-photos",[346],{"type":246,"value":347},"Keep strict single photos",{"type":241,"tag":242,"props":349,"children":350},{},[351,356,358,363,365,369,371,375,377,381,383,388],{"type":241,"tag":267,"props":352,"children":353},{},[354],{"type":246,"value":355},"\u003CPhoto>",{"type":246,"value":357}," always throws for invalid data. ",{"type":241,"tag":267,"props":359,"children":360},{},[361],{"type":246,"value":362},"validation=\"drop\"",{"type":246,"value":364}," remains available\nonly on collection components (",{"type":241,"tag":267,"props":366,"children":367},{},[368],{"type":246,"value":165},{"type":246,"value":370},", ",{"type":241,"tag":267,"props":372,"children":373},{},[374],{"type":246,"value":170},{"type":246,"value":376},", and ",{"type":241,"tag":267,"props":378,"children":379},{},[380],{"type":246,"value":175},{"type":246,"value":382},"),\nwhere the ",{"type":241,"tag":267,"props":384,"children":385},{},[386],{"type":246,"value":387},"invalidPhotos",{"type":246,"value":389}," event can make rejected input visible.",{"type":241,"tag":242,"props":391,"children":392},{},[393,395,400,402,407],{"type":246,"value":394},"Known intrinsic ",{"type":241,"tag":267,"props":396,"children":397},{},[398],{"type":246,"value":399},"width",{"type":246,"value":401}," and ",{"type":241,"tag":267,"props":403,"children":404},{},[405],{"type":246,"value":406},"height",{"type":246,"value":408}," remain required. Nuxt Photo does not ship a\nbrowser-side dimension measurement helper; resolve dimensions in your CMS,\nupload pipeline, or build process.",{"type":241,"tag":249,"props":410,"children":412},{"id":411},"review-image-and-localization-behavior",[413],{"type":246,"value":414},"Review image and localization behavior",{"type":241,"tag":416,"props":417,"children":418},"ul",{},[419,430,447,480],{"type":241,"tag":420,"props":421,"children":422},"li",{},[423,428],{"type":241,"tag":267,"props":424,"children":425},{},[426],{"type":246,"value":427},"PhotoItem.placeholderSrc",{"type":246,"value":429}," adds an optional low-quality preview. The preview\nresets when the resolved source changes and remains visible after load errors.",{"type":241,"tag":420,"props":431,"children":432},{},[433,438,440,445],{"type":241,"tag":267,"props":434,"children":435},{},[436],{"type":246,"value":437},"PhotoAlbum.sizes",{"type":246,"value":439}," accepts either a native HTML ",{"type":241,"tag":267,"props":441,"children":442},{},[443],{"type":246,"value":444},"sizes",{"type":246,"value":446}," string or the existing\nlayout-aware object.",{"type":241,"tag":420,"props":448,"children":449},{},[450,452,457,459,464,466,471,473,478],{"type":246,"value":451},"Localize built-in labels with typed ",{"type":241,"tag":267,"props":453,"children":454},{},[455],{"type":246,"value":456},"nuxtPhoto.labels",{"type":246,"value":458}," module options or\n",{"type":241,"tag":267,"props":460,"children":461},{},[462],{"type":246,"value":463},"app.config.ts",{"type":246,"value":465}," values. Indexed templates use ",{"type":241,"tag":267,"props":467,"children":468},{},[469],{"type":246,"value":470},"{index}",{"type":246,"value":472}," and slide status also\nuses ",{"type":241,"tag":267,"props":474,"children":475},{},[476],{"type":246,"value":477},"{count}",{"type":246,"value":479},".",{"type":241,"tag":420,"props":481,"children":482},{},[483,488,490,495,497,502],{"type":241,"tag":267,"props":484,"children":485},{},[486],{"type":246,"value":487},"provider: 'auto'",{"type":246,"value":489}," quietly uses native images when ",{"type":241,"tag":267,"props":491,"children":492},{},[493],{"type":246,"value":494},"@nuxt\u002Fimage",{"type":246,"value":496}," is absent.\nExplicit ",{"type":241,"tag":267,"props":498,"children":499},{},[500],{"type":246,"value":501},"nuxt-image",{"type":246,"value":503}," mode still reports a missing module.",{"type":241,"tag":249,"props":505,"children":507},{"id":506},"update-programmatic-control",[508],{"type":246,"value":509},"Update programmatic control",{"type":241,"tag":242,"props":511,"children":512},{},[513,515,519,520,524,526,531],{"type":246,"value":514},"Template refs on ",{"type":241,"tag":267,"props":516,"children":517},{},[518],{"type":246,"value":165},{"type":246,"value":401},{"type":241,"tag":267,"props":521,"children":522},{},[523],{"type":246,"value":170},{"type":246,"value":525}," expose one ",{"type":241,"tag":267,"props":527,"children":528},{},[529],{"type":246,"value":530},"LightboxHandle",{"type":246,"value":532},":",{"type":241,"tag":261,"props":534,"children":537},{"language":535,"class":536},"ts","shiki shiki-themes material-theme-lighter material-theme-palenight dark:material-theme-palenight",[538],{"type":241,"tag":267,"props":539,"children":541},{"class":540},"language-ts",[542,571,573,628,629,675,676,705,706,728,729],{"type":241,"tag":543,"props":544,"children":547},"span",{"class":545,"style":546},"line","display: inline",[548,554,560,566],{"type":241,"tag":543,"props":549,"children":551},{"style":550},"color:#9C3EDA;--shiki-dark:#C792EA",[552],{"type":246,"value":553},"type",{"type":241,"tag":543,"props":555,"children":557},{"style":556},"color:#E2931D;--shiki-dark:#FFCB6B",[558],{"type":246,"value":559}," LightboxHandle",{"type":241,"tag":543,"props":561,"children":563},{"style":562},"color:#39ADB5;--shiki-dark:#89DDFF",[564],{"type":246,"value":565}," =",{"type":241,"tag":543,"props":567,"children":568},{"style":562},[569],{"type":246,"value":570}," {",{"type":246,"value":572},"\n",{"type":241,"tag":543,"props":574,"children":575},{"class":545,"style":546},[576,582,587,593,598,603,608,613,618,623],{"type":241,"tag":543,"props":577,"children":579},{"style":578},"color:#E53935;--shiki-dark:#F07178",[580],{"type":246,"value":581},"  open",{"type":241,"tag":543,"props":583,"children":584},{"style":562},[585],{"type":246,"value":586},"(",{"type":241,"tag":543,"props":588,"children":590},{"style":589},"color:#90A4AE;--shiki-light-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[591],{"type":246,"value":592},"index",{"type":241,"tag":543,"props":594,"children":595},{"style":562},[596],{"type":246,"value":597},"?:",{"type":241,"tag":543,"props":599,"children":600},{"style":556},[601],{"type":246,"value":602}," number",{"type":241,"tag":543,"props":604,"children":605},{"style":562},[606],{"type":246,"value":607},"):",{"type":241,"tag":543,"props":609,"children":610},{"style":556},[611],{"type":246,"value":612}," Promise",{"type":241,"tag":543,"props":614,"children":615},{"style":562},[616],{"type":246,"value":617},"\u003C",{"type":241,"tag":543,"props":619,"children":620},{"style":556},[621],{"type":246,"value":622},"void",{"type":241,"tag":543,"props":624,"children":625},{"style":562},[626],{"type":246,"value":627},">",{"type":246,"value":572},{"type":241,"tag":543,"props":630,"children":631},{"class":545,"style":546},[632,637,641,646,650,655,659,663,667,671],{"type":241,"tag":543,"props":633,"children":634},{"style":578},[635],{"type":246,"value":636},"  openById",{"type":241,"tag":543,"props":638,"children":639},{"style":562},[640],{"type":246,"value":586},{"type":241,"tag":543,"props":642,"children":643},{"style":589},[644],{"type":246,"value":645},"id",{"type":241,"tag":543,"props":647,"children":648},{"style":562},[649],{"type":246,"value":532},{"type":241,"tag":543,"props":651,"children":652},{"style":556},[653],{"type":246,"value":654}," string",{"type":241,"tag":543,"props":656,"children":657},{"style":562},[658],{"type":246,"value":607},{"type":241,"tag":543,"props":660,"children":661},{"style":556},[662],{"type":246,"value":612},{"type":241,"tag":543,"props":664,"children":665},{"style":562},[666],{"type":246,"value":617},{"type":241,"tag":543,"props":668,"children":669},{"style":556},[670],{"type":246,"value":622},{"type":241,"tag":543,"props":672,"children":673},{"style":562},[674],{"type":246,"value":627},{"type":246,"value":572},{"type":241,"tag":543,"props":677,"children":678},{"class":545,"style":546},[679,684,689,693,697,701],{"type":241,"tag":543,"props":680,"children":681},{"style":578},[682],{"type":246,"value":683},"  close",{"type":241,"tag":543,"props":685,"children":686},{"style":562},[687],{"type":246,"value":688},"():",{"type":241,"tag":543,"props":690,"children":691},{"style":556},[692],{"type":246,"value":612},{"type":241,"tag":543,"props":694,"children":695},{"style":562},[696],{"type":246,"value":617},{"type":241,"tag":543,"props":698,"children":699},{"style":556},[700],{"type":246,"value":622},{"type":241,"tag":543,"props":702,"children":703},{"style":562},[704],{"type":246,"value":627},{"type":246,"value":572},{"type":241,"tag":543,"props":707,"children":708},{"class":545,"style":546},[709,714,719,723],{"type":241,"tag":543,"props":710,"children":711},{"style":550},[712],{"type":246,"value":713},"  readonly",{"type":241,"tag":543,"props":715,"children":716},{"style":578},[717],{"type":246,"value":718}," isOpen",{"type":241,"tag":543,"props":720,"children":721},{"style":562},[722],{"type":246,"value":532},{"type":241,"tag":543,"props":724,"children":725},{"style":556},[726],{"type":246,"value":727}," boolean",{"type":246,"value":572},{"type":241,"tag":543,"props":730,"children":731},{"class":545,"style":546},[732],{"type":241,"tag":543,"props":733,"children":734},{"style":562},[735],{"type":246,"value":736},"}",{"type":241,"tag":242,"props":738,"children":739},{},[740,744,745,749],{"type":241,"tag":267,"props":741,"children":742},{},[743],{"type":246,"value":160},{"type":246,"value":401},{"type":241,"tag":267,"props":746,"children":747},{},[748],{"type":246,"value":175},{"type":246,"value":750}," intentionally do not expose controllers. When an\nalbum belongs to a group, its numeric indexes remain local to that album.",{"type":241,"tag":249,"props":752,"children":754},{"id":753},"treat-lightbox-capability-as-setup-time-state",[755],{"type":246,"value":756},"Treat lightbox capability as setup-time state",{"type":241,"tag":242,"props":758,"children":759},{},[760,762,767,769,774],{"type":246,"value":761},"The ",{"type":241,"tag":267,"props":763,"children":764},{},[765],{"type":246,"value":766},"lightbox",{"type":246,"value":768}," prop decides whether a ready-made component creates a provider when it mounts.\nTo add, remove, or replace that capability, remount the component with a new Vue\n",{"type":241,"tag":267,"props":770,"children":771},{},[772],{"type":246,"value":773},"key",{"type":246,"value":775},". Photo collections and transition options remain reactive.",{"type":241,"tag":249,"props":777,"children":779},{"id":778},"update-advanced-custom-lightboxes",[780],{"type":246,"value":781},"Update advanced custom lightboxes",{"type":241,"tag":242,"props":783,"children":784},{},[785,790],{"type":241,"tag":267,"props":786,"children":787},{},[788],{"type":246,"value":789},"LightboxRoot",{"type":246,"value":791}," now owns the transition layer. Remove the old public transition\nprimitive:",{"type":241,"tag":242,"props":793,"children":794},{},[795],{"type":246,"value":796},"The following before-and-after blocks are migration fragments, not complete\ncomponents.",{"type":241,"tag":261,"props":798,"children":801},{"language":799,"filename":800,"class":536},"vue","Migration fragment: before",[802],{"type":241,"tag":267,"props":803,"children":805},{"class":804},"language-vue",[806,821,822,831,832],{"type":241,"tag":543,"props":807,"children":808},{"class":545,"style":546},[809,813,817],{"type":241,"tag":543,"props":810,"children":811},{"style":562},[812],{"type":246,"value":617},{"type":241,"tag":543,"props":814,"children":815},{"style":578},[816],{"type":246,"value":789},{"type":241,"tag":543,"props":818,"children":819},{"style":562},[820],{"type":246,"value":627},{"type":246,"value":572},{"type":241,"tag":543,"props":823,"children":824},{"class":545,"style":546},[825],{"type":241,"tag":543,"props":826,"children":828},{"style":827},"color:#90A4AE;--shiki-dark:#BABED8",[829],{"type":246,"value":830},"  \u003CLightboxGhostImage class=\"my-transition-image\" \u002F>",{"type":246,"value":572},{"type":241,"tag":543,"props":833,"children":834},{"class":545,"style":546},[835,840,844],{"type":241,"tag":543,"props":836,"children":837},{"style":562},[838],{"type":246,"value":839},"\u003C\u002F",{"type":241,"tag":543,"props":841,"children":842},{"style":578},[843],{"type":246,"value":789},{"type":241,"tag":543,"props":845,"children":846},{"style":562},[847],{"type":246,"value":627},{"type":241,"tag":261,"props":849,"children":851},{"language":799,"filename":850,"class":536},"Migration fragment: after",[852],{"type":241,"tag":267,"props":853,"children":854},{"class":804},[855,870,871,879,880],{"type":241,"tag":543,"props":856,"children":857},{"class":545,"style":546},[858,862,866],{"type":241,"tag":543,"props":859,"children":860},{"style":562},[861],{"type":246,"value":617},{"type":241,"tag":543,"props":863,"children":864},{"style":578},[865],{"type":246,"value":789},{"type":241,"tag":543,"props":867,"children":868},{"style":562},[869],{"type":246,"value":627},{"type":246,"value":572},{"type":241,"tag":543,"props":872,"children":873},{"class":545,"style":546},[874],{"type":241,"tag":543,"props":875,"children":876},{"style":827},[877],{"type":246,"value":878},"  \u003C!-- Custom lightbox content -->",{"type":246,"value":572},{"type":241,"tag":543,"props":881,"children":882},{"class":545,"style":546},[883,887,891],{"type":241,"tag":543,"props":884,"children":885},{"style":562},[886],{"type":246,"value":839},{"type":241,"tag":543,"props":888,"children":889},{"style":578},[890],{"type":246,"value":789},{"type":241,"tag":543,"props":892,"children":893},{"style":562},[894],{"type":246,"value":627},{"type":241,"tag":242,"props":896,"children":897},{},[898,900,905],{"type":246,"value":899},"The viewport now owns media opacity. Remove the ",{"type":241,"tag":267,"props":901,"children":902},{},[903],{"type":246,"value":904},"mediaOpacity",{"type":246,"value":906}," slot binding and\ninline style:",{"type":241,"tag":261,"props":908,"children":909},{"language":799,"filename":800,"class":536},[910],{"type":241,"tag":267,"props":911,"children":912},{"class":804},[913,981,982,990,991],{"type":241,"tag":543,"props":914,"children":915},{"class":545,"style":546},[916,920,925,930,935,940,945,950,955,960,964,969,973,977],{"type":241,"tag":543,"props":917,"children":918},{"style":562},[919],{"type":246,"value":617},{"type":241,"tag":543,"props":921,"children":922},{"style":578},[923],{"type":246,"value":924},"LightboxViewport",{"type":241,"tag":543,"props":926,"children":927},{"style":550},[928],{"type":246,"value":929}," v-slot",{"type":241,"tag":543,"props":931,"children":932},{"style":562},[933],{"type":246,"value":934},"=",{"type":241,"tag":543,"props":936,"children":937},{"style":562},[938],{"type":246,"value":939},"\"",{"type":241,"tag":543,"props":941,"children":942},{"style":562},[943],{"type":246,"value":944},"{",{"type":241,"tag":543,"props":946,"children":947},{"style":827},[948],{"type":246,"value":949}," photos",{"type":241,"tag":543,"props":951,"children":952},{"style":562},[953],{"type":246,"value":954},",",{"type":241,"tag":543,"props":956,"children":957},{"style":827},[958],{"type":246,"value":959}," viewportRef",{"type":241,"tag":543,"props":961,"children":962},{"style":562},[963],{"type":246,"value":954},{"type":241,"tag":543,"props":965,"children":966},{"style":827},[967],{"type":246,"value":968}," mediaOpacity ",{"type":241,"tag":543,"props":970,"children":971},{"style":562},[972],{"type":246,"value":736},{"type":241,"tag":543,"props":974,"children":975},{"style":562},[976],{"type":246,"value":939},{"type":241,"tag":543,"props":978,"children":979},{"style":562},[980],{"type":246,"value":627},{"type":246,"value":572},{"type":241,"tag":543,"props":983,"children":984},{"class":545,"style":546},[985],{"type":241,"tag":543,"props":986,"children":987},{"style":827},[988],{"type":246,"value":989},"  \u003Cdiv :ref=\"viewportRef\" :style=\"{ opacity: mediaOpacity }\">...\u003C\u002Fdiv>",{"type":246,"value":572},{"type":241,"tag":543,"props":992,"children":993},{"class":545,"style":546},[994,998,1002],{"type":241,"tag":543,"props":995,"children":996},{"style":562},[997],{"type":246,"value":839},{"type":241,"tag":543,"props":999,"children":1000},{"style":578},[1001],{"type":246,"value":924},{"type":241,"tag":543,"props":1003,"children":1004},{"style":562},[1005],{"type":246,"value":627},{"type":241,"tag":261,"props":1007,"children":1008},{"language":799,"filename":850,"class":536},[1009],{"type":241,"tag":267,"props":1010,"children":1011},{"class":804},[1012,1064,1065,1073,1074],{"type":241,"tag":543,"props":1013,"children":1014},{"class":545,"style":546},[1015,1019,1023,1027,1031,1035,1039,1043,1047,1052,1056,1060],{"type":241,"tag":543,"props":1016,"children":1017},{"style":562},[1018],{"type":246,"value":617},{"type":241,"tag":543,"props":1020,"children":1021},{"style":578},[1022],{"type":246,"value":924},{"type":241,"tag":543,"props":1024,"children":1025},{"style":550},[1026],{"type":246,"value":929},{"type":241,"tag":543,"props":1028,"children":1029},{"style":562},[1030],{"type":246,"value":934},{"type":241,"tag":543,"props":1032,"children":1033},{"style":562},[1034],{"type":246,"value":939},{"type":241,"tag":543,"props":1036,"children":1037},{"style":562},[1038],{"type":246,"value":944},{"type":241,"tag":543,"props":1040,"children":1041},{"style":827},[1042],{"type":246,"value":949},{"type":241,"tag":543,"props":1044,"children":1045},{"style":562},[1046],{"type":246,"value":954},{"type":241,"tag":543,"props":1048,"children":1049},{"style":827},[1050],{"type":246,"value":1051}," viewportRef ",{"type":241,"tag":543,"props":1053,"children":1054},{"style":562},[1055],{"type":246,"value":736},{"type":241,"tag":543,"props":1057,"children":1058},{"style":562},[1059],{"type":246,"value":939},{"type":241,"tag":543,"props":1061,"children":1062},{"style":562},[1063],{"type":246,"value":627},{"type":246,"value":572},{"type":241,"tag":543,"props":1066,"children":1067},{"class":545,"style":546},[1068],{"type":241,"tag":543,"props":1069,"children":1070},{"style":827},[1071],{"type":246,"value":1072},"  \u003Cdiv :ref=\"viewportRef\">...\u003C\u002Fdiv>",{"type":246,"value":572},{"type":241,"tag":543,"props":1075,"children":1076},{"class":545,"style":546},[1077,1081,1085],{"type":241,"tag":543,"props":1078,"children":1079},{"style":562},[1080],{"type":246,"value":839},{"type":241,"tag":543,"props":1082,"children":1083},{"style":578},[1084],{"type":246,"value":924},{"type":241,"tag":543,"props":1086,"children":1087},{"style":562},[1088],{"type":246,"value":627},{"type":241,"tag":242,"props":1090,"children":1091},{},[1092],{"type":246,"value":1093},"Backdrop blur now accepts a complete CSS filter value:",{"type":241,"tag":261,"props":1095,"children":1098},{"language":1096,"filename":1097,"class":536},"css","Migration fragment: app\u002Fassets\u002Fcss\u002Fmain.css",[1099],{"type":241,"tag":267,"props":1100,"children":1102},{"class":1101},"language-css",[1103,1119,1120,1153,1154],{"type":241,"tag":543,"props":1104,"children":1105},{"class":545,"style":546},[1106,1110,1115],{"type":241,"tag":543,"props":1107,"children":1108},{"style":562},[1109],{"type":246,"value":479},{"type":241,"tag":543,"props":1111,"children":1112},{"style":556},[1113],{"type":246,"value":1114},"np-lightbox",{"type":241,"tag":543,"props":1116,"children":1117},{"style":562},[1118],{"type":246,"value":570},{"type":246,"value":572},{"type":241,"tag":543,"props":1121,"children":1122},{"class":545,"style":546},[1123,1128,1132,1138,1142,1148],{"type":241,"tag":543,"props":1124,"children":1125},{"style":827},[1126],{"type":246,"value":1127},"  --np-backdrop-filter",{"type":241,"tag":543,"props":1129,"children":1130},{"style":562},[1131],{"type":246,"value":532},{"type":241,"tag":543,"props":1133,"children":1135},{"style":1134},"color:#6182B8;--shiki-dark:#82AAFF",[1136],{"type":246,"value":1137}," blur",{"type":241,"tag":543,"props":1139,"children":1140},{"style":562},[1141],{"type":246,"value":586},{"type":241,"tag":543,"props":1143,"children":1145},{"style":1144},"color:#F76D47;--shiki-dark:#F78C6C",[1146],{"type":246,"value":1147},"16px",{"type":241,"tag":543,"props":1149,"children":1150},{"style":562},[1151],{"type":246,"value":1152},");",{"type":246,"value":572},{"type":241,"tag":543,"props":1155,"children":1156},{"class":545,"style":546},[1157],{"type":241,"tag":543,"props":1158,"children":1159},{"style":562},[1160],{"type":246,"value":736},{"type":241,"tag":249,"props":1162,"children":1164},{"id":1163},"verify-the-migration",[1165],{"type":246,"value":1166},"Verify the migration",{"type":241,"tag":242,"props":1168,"children":1169},{},[1170],{"type":246,"value":1171},"Search for removed names and old carousel configuration:",{"type":241,"tag":261,"props":1173,"children":1175},{"language":1174,"class":536},"bash",[1176],{"type":241,"tag":267,"props":1177,"children":1179},{"class":1178},"language-bash",[1180],{"type":241,"tag":543,"props":1181,"children":1182},{"class":545,"style":546},[1183,1188,1193,1199,1203],{"type":241,"tag":543,"props":1184,"children":1185},{"style":556},[1186],{"type":246,"value":1187},"rg",{"type":241,"tag":543,"props":1189,"children":1190},{"style":562},[1191],{"type":246,"value":1192}," \"",{"type":241,"tag":543,"props":1194,"children":1196},{"style":1195},"color:#91B859;--shiki-dark:#C3E88D",[1197],{"type":246,"value":1198},"useLightboxProvider|LightboxDefaults|slidesToScroll|PhotoCarousel.*options",{"type":241,"tag":543,"props":1200,"children":1201},{"style":562},[1202],{"type":246,"value":939},{"type":241,"tag":543,"props":1204,"children":1205},{"style":1195},[1206],{"type":246,"value":1207}," .",{"type":241,"tag":242,"props":1209,"children":1210},{},[1211,1213,1218,1219,1224],{"type":246,"value":1212},"Then run your app's Nuxt preparation, typecheck, build, and browser tests. Import\nonly from ",{"type":241,"tag":267,"props":1214,"children":1215},{},[1216],{"type":246,"value":1217},"@lupinum\u002Fnuxt-photo",{"type":246,"value":370},{"type":241,"tag":267,"props":1220,"children":1221},{},[1222],{"type":246,"value":1223},"@lupinum\u002Fnuxt-photo\u002Fapp",{"type":246,"value":1225},", or the documented Vue\nentry points; source-folder wildcard imports are not public.",{"title":1227,"searchDepth":1228,"depth":1228,"links":1229},"",4,[1230,1232,1233,1234,1235,1236,1237,1238],{"id":251,"depth":1231,"text":254},2,{"id":292,"depth":1231,"text":295},{"id":344,"depth":1231,"text":347},{"id":411,"depth":1231,"text":414},{"id":506,"depth":1231,"text":509},{"id":753,"depth":1231,"text":756},{"id":778,"depth":1231,"text":781},{"id":1163,"depth":1231,"text":1166},"markdown","docs",{"source":1242,"path":1243,"stem":1244,"dir":1245,"extension":1246},"content","docs\u002F5.help\u002F3.upgrade-from-0-2-to-1-0.md","docs\u002F5.help\u002F3.upgrade-from-0-2-to-1-0","help","md",{"requestedPath":234,"resolvedPath":234,"alternates":1248},[],{"requested":1250,"resolved":1251,"usedFallback":6},{},{"locale":8},{"previous":1253,"next":1254},{"title":226,"id":227,"canonicalKey":228,"locale":8,"draft":6,"path":229},null,{"left":1256,"top":1256,"width":1257,"height":1257,"rotate":1256,"vFlip":6,"hFlip":6,"body":1258},0,256,"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":1256,"top":1256,"width":1257,"height":1260,"rotate":1256,"vFlip":6,"hFlip":6,"body":1261},221,"\u003Cpath fill=\"#41b883\" d=\"M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0z\"\u002F>\u003Cpath fill=\"#41b883\" d=\"m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0z\"\u002F>\u003Cpath fill=\"#35495e\" d=\"M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0z\"\u002F>",{"left":1256,"top":1256,"width":1263,"height":1263,"rotate":1256,"vFlip":6,"hFlip":6,"body":1264},24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2a2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1m8 0h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"\u002F>",{"left":1256,"top":1256,"width":1263,"height":1263,"rotate":1256,"vFlip":6,"hFlip":6,"body":1266},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 19h8M4 17l6-6l-6-6\"\u002F>",{"left":1256,"top":1256,"width":1263,"height":1263,"rotate":1256,"vFlip":6,"hFlip":6,"body":1268},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",{"left":1256,"top":1256,"width":1263,"height":1263,"rotate":1256,"vFlip":6,"hFlip":6,"body":1270},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5\"\u002F>\u003C\u002Fg>",1788702889334]