[{"data":1,"prerenderedAt":2914},["ShallowReactive",2],{"navigation_docs":3,"-frontend-orchestr-caching":1409,"-frontend-orchestr-caching-surround":2909},[4,132,391,524,1094,1166,1172,1178,1237,1336],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","/getting-started","0.getting-started/0.index",[9,10,14,18,56,81,115,128],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Starting new project","/getting-started/starting-new-project","0.getting-started/1.starting-new-project",{"title":15,"path":16,"stem":17},"What is Laioutr?","/getting-started/what-is-laioutr","0.getting-started/2.what-is-laioutr",{"title":19,"path":20,"stem":21,"children":22,"page":55},"Key Concepts","/getting-started/key-concepts","0.getting-started/3.key-concepts",[23,27,31,35,39,43,47,51],{"title":24,"path":25,"stem":26},"Architecture","/getting-started/key-concepts/architecture","0.getting-started/3.key-concepts/1.architecture",{"title":28,"path":29,"stem":30},"Data Model","/getting-started/key-concepts/data-model","0.getting-started/3.key-concepts/2.data-model",{"title":32,"path":33,"stem":34},"Internationalization","/getting-started/key-concepts/5.internationalization","0.getting-started/3.key-concepts/3.5.internationalization",{"title":36,"path":37,"stem":38},"Data Flow","/getting-started/key-concepts/data-flow","0.getting-started/3.key-concepts/3.data-flow",{"title":40,"path":41,"stem":42},"Extensibility","/getting-started/key-concepts/extensibility","0.getting-started/3.key-concepts/4.extensibility",{"title":44,"path":45,"stem":46},"Philosophy","/getting-started/key-concepts/philosophy","0.getting-started/3.key-concepts/5.philosophy",{"title":48,"path":49,"stem":50},"CI/CD Pipeline","/getting-started/key-concepts/ci-cd-pipeline","0.getting-started/3.key-concepts/6.ci-cd-pipeline",{"title":52,"path":53,"stem":54},"Multi-tenancy","/getting-started/key-concepts/multi-tenancy","0.getting-started/3.key-concepts/multi-tenancy",false,{"title":57,"path":58,"stem":59,"children":60,"page":55},"Next Steps","/getting-started/next-steps","0.getting-started/4.next-steps",[61,65,69,73,77],{"title":62,"path":63,"stem":64},"Create Organization and Project","/getting-started/next-steps/create-org-and-project","0.getting-started/4.next-steps/0.create-org-and-project",{"title":66,"path":67,"stem":68},"First Project Configuration","/getting-started/next-steps/first-project-config","0.getting-started/4.next-steps/1.first-project-config",{"title":70,"path":71,"stem":72},"Setup Local Development Environment","/getting-started/next-steps/local-setup","0.getting-started/4.next-steps/3.local-setup",{"title":74,"path":75,"stem":76},"Create your first custom app","/getting-started/next-steps/create-custom-app","0.getting-started/4.next-steps/4.create-custom-app",{"title":78,"path":79,"stem":80},"CLI","/getting-started/next-steps/cli","0.getting-started/4.next-steps/5.cli",{"title":82,"path":83,"stem":84,"children":85},"Changelogs","/getting-started/changelogs","0.getting-started/5.Changelogs/0.index",[86,87,91,95,99,103,107,111],{"title":82,"path":83,"stem":84},{"title":88,"path":89,"stem":90},"CLI Changelog","/getting-started/changelogs/cli-changelog","0.getting-started/5.Changelogs/cli-changelog",{"title":92,"path":93,"stem":94},"Cockpit Changelog","/getting-started/changelogs/cockpit-changelog","0.getting-started/5.Changelogs/cockpit-changelog",{"title":96,"path":97,"stem":98},"Figma Kit Changelog","/getting-started/changelogs/figma-kit-changelog","0.getting-started/5.Changelogs/figma-kit-changelog",{"title":100,"path":101,"stem":102},"Frontend Changelog","/getting-started/changelogs/frontend-changelog","0.getting-started/5.Changelogs/frontend-changelog",{"title":104,"path":105,"stem":106},"Orchestr Changelog","/getting-started/changelogs/orchestr-changelog","0.getting-started/5.Changelogs/orchestr-changelog",{"title":108,"path":109,"stem":110},"Orchestr Devtools Changelog","/getting-started/changelogs/orchestr-devtools-changelog","0.getting-started/5.Changelogs/orchestr-devtools-changelog",{"title":112,"path":113,"stem":114},"UI Changelog","/getting-started/changelogs/ui-changelog","0.getting-started/5.Changelogs/ui-changelog",{"title":116,"path":117,"stem":118,"children":119,"page":55},"Hints And Tips","/getting-started/hints-and-tips","0.getting-started/6.Hints-and-Tips",[120,124],{"title":121,"path":122,"stem":123},"Introduction","/getting-started/hints-and-tips/introduction","0.getting-started/6.Hints-and-Tips/0.introduction",{"title":125,"path":126,"stem":127},"Developer tools","/getting-started/hints-and-tips/developer-tools","0.getting-started/6.Hints-and-Tips/1.developer-tools",{"title":129,"path":130,"stem":131},"MCP Server","/getting-started/mcp-server","0.getting-started/7.mcp-server",{"title":133,"path":134,"stem":135,"children":136},"Frontend","/frontend","1.Frontend/0.index",[137,138,149,211,237,275],{"title":133,"path":134,"stem":135},{"title":121,"path":139,"stem":140,"children":141,"page":55},"/frontend/introduction","1.Frontend/1.Introduction",[142,145],{"title":19,"path":143,"stem":144},"/frontend/introduction/key-concepts","1.Frontend/1.Introduction/0.key-concepts",{"title":146,"path":147,"stem":148},"Tech Stack","/frontend/introduction/tech-stack","1.Frontend/1.Introduction/1.tech-stack",{"title":150,"path":151,"stem":152,"children":153},"Features","/frontend/features","1.Frontend/2.Features/0.index",[154,155,159,163,167,171,175,179,183,187,191,195,199,203,207],{"title":150,"path":151,"stem":152},{"title":156,"path":157,"stem":158},"Consent Management","/frontend/features/consent-management","1.Frontend/2.Features/consent-management",{"title":160,"path":161,"stem":162},"Currencies","/frontend/features/currencies","1.Frontend/2.Features/currencies",{"title":164,"path":165,"stem":166},"Environments & Staging","/frontend/features/environments","1.Frontend/2.Features/environments",{"title":168,"path":169,"stem":170},"Hooks","/frontend/features/hooks","1.Frontend/2.Features/hooks",{"title":172,"path":173,"stem":174},"Media and Media Library","/frontend/features/media","1.Frontend/2.Features/media",{"title":176,"path":177,"stem":178},"Multi-language Support","/frontend/features/multi-language-support","1.Frontend/2.Features/multi-language-support",{"title":180,"path":181,"stem":182},"Multi-market","/frontend/features/multi-market","1.Frontend/2.Features/multi-market",{"title":184,"path":185,"stem":186},"Page Types","/frontend/features/pagetypes","1.Frontend/2.Features/pagetypes",{"title":188,"path":189,"stem":190},"PWA","/frontend/features/pwa","1.Frontend/2.Features/pwa",{"title":192,"path":193,"stem":194},"Redirects","/frontend/features/redirects","1.Frontend/2.Features/redirects",{"title":196,"path":197,"stem":198},"Routing","/frontend/features/routing","1.Frontend/2.Features/routing",{"title":200,"path":201,"stem":202},"Server-Side Rendering (SSR) and Caching","/frontend/features/ssr-and-caching","1.Frontend/2.Features/ssr-and-caching",{"title":204,"path":205,"stem":206},"Tracking","/frontend/features/tracking","1.Frontend/2.Features/tracking",{"title":208,"path":209,"stem":210},"Z-Ordering","/frontend/features/z-ordering","1.Frontend/2.Features/z-ordering",{"title":212,"path":213,"stem":214,"children":215},"SEO","/frontend/seo","1.Frontend/3.SEO/0.index",[216,217,221,225,229,233],{"title":212,"path":213,"stem":214},{"title":218,"path":219,"stem":220},"Link Checker","/frontend/seo/link-checker","1.Frontend/3.SEO/link-checker",{"title":222,"path":223,"stem":224},"OG Image","/frontend/seo/og-image","1.Frontend/3.SEO/og-image",{"title":226,"path":227,"stem":228},"Robots.txt","/frontend/seo/robots-txt","1.Frontend/3.SEO/robots-txt",{"title":230,"path":231,"stem":232},"Schema.org","/frontend/seo/schema-org","1.Frontend/3.SEO/schema-org",{"title":234,"path":235,"stem":236},"Sitemap","/frontend/seo/sitemap","1.Frontend/3.SEO/sitemap",{"title":238,"path":239,"stem":240,"children":241},"Backend for Frontend","/frontend/orchestr","1.Frontend/4.Orchestr/0.index",[242,243,247,251,255,259,263,267,271],{"title":238,"path":239,"stem":240},{"title":244,"path":245,"stem":246},"Actions","/frontend/orchestr/actions","1.Frontend/4.Orchestr/Actions",{"title":248,"path":249,"stem":250},"Caching","/frontend/orchestr/caching","1.Frontend/4.Orchestr/Caching",{"title":252,"path":253,"stem":254},"Middleware","/frontend/orchestr/middleware","1.Frontend/4.Orchestr/Middleware",{"title":256,"path":257,"stem":258},"Queries & Links","/frontend/orchestr/queries","1.Frontend/4.Orchestr/Queries",{"title":260,"path":261,"stem":262},"Component Resolvers","/frontend/orchestr/component-resolvers","1.Frontend/4.Orchestr/component-resolvers",{"title":264,"path":265,"stem":266},"Filters","/frontend/orchestr/filters","1.Frontend/4.Orchestr/filters",{"title":268,"path":269,"stem":270},"URL Query Parameters","/frontend/orchestr/url-query-params","1.Frontend/4.Orchestr/url-query-params",{"title":272,"path":273,"stem":274},"Orchestr Wire Format","/frontend/orchestr/wire-format","1.Frontend/4.Orchestr/wire-format",{"title":276,"path":277,"stem":278,"children":279},"API Reference","/frontend/api-reference","1.Frontend/99.api-reference/0.index",[280,281,338,341,357,365,376,384],{"title":276,"path":277,"stem":278},{"title":282,"path":283,"stem":284,"children":285,"page":55},"Entities","/frontend/api-reference/entities","1.Frontend/99.api-reference/01.entities",[286,290,294,298,302,306,310,314,318,322,326,330,334],{"title":287,"path":288,"stem":289},"Product","/frontend/api-reference/entities/product","1.Frontend/99.api-reference/01.entities/1.product",{"title":291,"path":292,"stem":293},"SuggestedSearch","/frontend/api-reference/entities/suggested-search","1.Frontend/99.api-reference/01.entities/10.suggested-search",{"title":295,"path":296,"stem":297},"SuggestedSearchEntry","/frontend/api-reference/entities/suggested-search-entry","1.Frontend/99.api-reference/01.entities/11.suggested-search-entry",{"title":299,"path":300,"stem":301},"BlogCollection","/frontend/api-reference/entities/blog-collection","1.Frontend/99.api-reference/01.entities/12.blog-collection",{"title":303,"path":304,"stem":305},"Comment","/frontend/api-reference/entities/comment","1.Frontend/99.api-reference/01.entities/13.comment",{"title":307,"path":308,"stem":309},"ProductVariant","/frontend/api-reference/entities/product-variant","1.Frontend/99.api-reference/01.entities/2.product-variant",{"title":311,"path":312,"stem":313},"Category","/frontend/api-reference/entities/category","1.Frontend/99.api-reference/01.entities/3.category",{"title":315,"path":316,"stem":317},"Cart","/frontend/api-reference/entities/cart","1.Frontend/99.api-reference/01.entities/4.cart",{"title":319,"path":320,"stem":321},"CartItem","/frontend/api-reference/entities/cart-item","1.Frontend/99.api-reference/01.entities/5.cart-item",{"title":323,"path":324,"stem":325},"Review","/frontend/api-reference/entities/review","1.Frontend/99.api-reference/01.entities/6.review",{"title":327,"path":328,"stem":329},"BreadcrumbItem","/frontend/api-reference/entities/breadcrumb-item","1.Frontend/99.api-reference/01.entities/7.breadcrumb-item",{"title":331,"path":332,"stem":333},"MenuItem","/frontend/api-reference/entities/menu-item","1.Frontend/99.api-reference/01.entities/8.menu-item",{"title":335,"path":336,"stem":337},"BlogPost","/frontend/api-reference/entities/blog-post","1.Frontend/99.api-reference/01.entities/9.blog-post",{"title":184,"path":339,"stem":340},"/frontend/api-reference/page-types","1.Frontend/99.api-reference/02.page-types",{"title":342,"path":343,"stem":344,"children":345,"page":55},"Ecommerce","/frontend/api-reference/ecommerce","1.Frontend/99.api-reference/10.ecommerce",[346,349,353],{"title":244,"path":347,"stem":348},"/frontend/api-reference/ecommerce/actions","1.Frontend/99.api-reference/10.ecommerce/1.actions",{"title":350,"path":351,"stem":352},"Queries","/frontend/api-reference/ecommerce/queries","1.Frontend/99.api-reference/10.ecommerce/2.queries",{"title":354,"path":355,"stem":356},"Errors","/frontend/api-reference/ecommerce/errors","1.Frontend/99.api-reference/10.ecommerce/3.errors",{"title":358,"path":359,"stem":360,"children":361,"page":55},"Newsletter","/frontend/api-reference/newsletter","1.Frontend/99.api-reference/11.newsletter",[362],{"title":244,"path":363,"stem":364},"/frontend/api-reference/newsletter/actions","1.Frontend/99.api-reference/11.newsletter/1.actions",{"title":366,"path":367,"stem":368,"children":369,"page":55},"Blog","/frontend/api-reference/blog","1.Frontend/99.api-reference/12.blog",[370,373],{"title":350,"path":371,"stem":372},"/frontend/api-reference/blog/queries","1.Frontend/99.api-reference/12.blog/1.queries",{"title":354,"path":374,"stem":375},"/frontend/api-reference/blog/errors","1.Frontend/99.api-reference/12.blog/2.errors",{"title":377,"path":378,"stem":379,"children":380,"page":55},"Suggested Search","/frontend/api-reference/suggested-search","1.Frontend/99.api-reference/13.suggested-search",[381],{"title":350,"path":382,"stem":383},"/frontend/api-reference/suggested-search/queries","1.Frontend/99.api-reference/13.suggested-search/1.queries",{"title":204,"path":385,"stem":386,"children":387,"page":55},"/frontend/api-reference/tracking","1.Frontend/99.api-reference/14.tracking",[388],{"title":244,"path":389,"stem":390},"/frontend/api-reference/tracking/actions","1.Frontend/99.api-reference/14.tracking/1.actions",{"title":392,"path":393,"stem":394,"children":395},"Apps","/apps","2.Apps/0.index",[396,397,451],{"title":392,"path":393,"stem":394},{"title":398,"path":399,"stem":400,"children":401},"App Development","/apps/app-development","2.Apps/app-development/0.index",[402,403,407,411,415,419,423,427,431,435,439,443,447],{"title":398,"path":399,"stem":400},{"title":404,"path":405,"stem":406},"App Configuration","/apps/app-development/app-configuration","2.Apps/app-development/app-configuration",{"title":408,"path":409,"stem":410},"App Starter","/apps/app-development/app-starter","2.Apps/app-development/app-starter",{"title":412,"path":413,"stem":414},"Best Practice","/apps/app-development/best-practice","2.Apps/app-development/best-practice",{"title":416,"path":417,"stem":418},"Block Definitions","/apps/app-development/block-definitions","2.Apps/app-development/block-definitions",{"title":420,"path":421,"stem":422},"Coding Standards","/apps/app-development/coding-standards","2.Apps/app-development/coding-standards",{"title":424,"path":425,"stem":426},"Consent Adapters","/apps/app-development/consent-adapters","2.Apps/app-development/consent-adapters",{"title":428,"path":429,"stem":430},"Consuming Query Fields","/apps/app-development/consuming-query-fields","2.Apps/app-development/consuming-query-fields",{"title":432,"path":433,"stem":434},"Implementation Overview","/apps/app-development/implementation-overview","2.Apps/app-development/implementation-overview",{"title":436,"path":437,"stem":438},"Platform Dependencies","/apps/app-development/platform-dependencies","2.Apps/app-development/platform-dependencies",{"title":440,"path":441,"stem":442},"Schema Fields","/apps/app-development/schema-fields","2.Apps/app-development/schema-fields",{"title":444,"path":445,"stem":446},"Section Definitions","/apps/app-development/section-definitions","2.Apps/app-development/section-definitions",{"title":448,"path":449,"stem":450},"Studio Icons","/apps/app-development/studio-icons","2.Apps/app-development/studio-icons",{"title":452,"path":453,"stem":454,"children":455,"page":55},"App Docs","/apps/app-docs","2.Apps/app-docs",[456,460,464,468,472,476,480,484,488,492,496,500,504,508,512,516,520],{"title":457,"path":458,"stem":459},"Adobe Commerce","/apps/app-docs/adobe-commerce","2.Apps/app-docs/adobe-commerce",{"title":461,"path":462,"stem":463},"B2Bsellers","/apps/app-docs/b2bsellers","2.Apps/app-docs/b2bsellers",{"title":465,"path":466,"stem":467},"Battery Included","/apps/app-docs/battery-included","2.Apps/app-docs/battery-included",{"title":469,"path":470,"stem":471},"CCM19","/apps/app-docs/ccm19","2.Apps/app-docs/ccm19",{"title":473,"path":474,"stem":475},"Cookiebot","/apps/app-docs/cookiebot","2.Apps/app-docs/cookiebot",{"title":477,"path":478,"stem":479},"Google Tag Manager (GTM)","/apps/app-docs/gtm","2.Apps/app-docs/gtm",{"title":481,"path":482,"stem":483},"Hygraph","/apps/app-docs/hygraph","2.Apps/app-docs/hygraph",{"title":485,"path":486,"stem":487},"Nimstrata Google Retail API","/apps/app-docs/nimstrata","2.Apps/app-docs/nimstrata",{"title":489,"path":490,"stem":491},"Pimcore","/apps/app-docs/pimcore","2.Apps/app-docs/pimcore",{"title":493,"path":494,"stem":495},"Commercetools","/apps/app-docs/commercetools","2.apps/app-docs/commercetools",{"title":497,"path":498,"stem":499},"Emporix","/apps/app-docs/emporix","2.apps/app-docs/emporix",{"title":501,"path":502,"stem":503},"Klaviyo","/apps/app-docs/klaviyo","2.apps/app-docs/klaviyo",{"title":505,"path":506,"stem":507},"OXID eShop","/apps/app-docs/oxid","2.apps/app-docs/oxid",{"title":509,"path":510,"stem":511},"Shopify","/apps/app-docs/shopify","2.apps/app-docs/shopify",{"title":513,"path":514,"stem":515},"Shopware","/apps/app-docs/shopware","2.apps/app-docs/shopware",{"title":517,"path":518,"stem":519},"Vercel Analytics","/apps/app-docs/vercel-analytics","2.apps/app-docs/vercel-analytics",{"title":521,"path":522,"stem":523},"Vercel Speed Insights","/apps/app-docs/vercel-speed-insights","2.apps/app-docs/vercel-speed-insights",{"title":525,"path":526,"stem":527,"children":528},"Laioutr UI","/laioutr-ui","3.laioutr-ui/0.index",[529,530,554,560,566,672,678,684,738,760,813],{"title":525,"path":526,"stem":527},{"title":5,"path":531,"stem":532,"children":533},"/laioutr-ui/getting-started","3.laioutr-ui/01.getting-started/0.index",[534,535,539,543,547,551],{"title":5,"path":531,"stem":532},{"title":536,"path":537,"stem":538},"Browser support","/laioutr-ui/getting-started/browser-support","3.laioutr-ui/01.getting-started/1.browser-support",{"title":540,"path":541,"stem":542},"Common Data","/laioutr-ui/getting-started/common-data","3.laioutr-ui/01.getting-started/99.common-data",{"title":544,"path":545,"stem":546},"Figma Kit","/laioutr-ui/getting-started/figma-kit","3.laioutr-ui/01.getting-started/figma-kit",{"title":548,"path":549,"stem":550},"Theming","/laioutr-ui/getting-started/theming","3.laioutr-ui/01.getting-started/theming",{"title":208,"path":552,"stem":553},"/laioutr-ui/getting-started/z-ordering","3.laioutr-ui/01.getting-started/z-ordering",{"title":555,"path":556,"stem":557,"children":558},"B2B","/laioutr-ui/b2b","3.laioutr-ui/b2b/0.index",[559],{"title":555,"path":556,"stem":557},{"title":561,"path":562,"stem":563,"children":564},"Booking","/laioutr-ui/booking","3.laioutr-ui/booking/0.index",[565],{"title":561,"path":562,"stem":563},{"title":567,"path":568,"stem":569,"children":570},"CMS","/laioutr-ui/cms","3.laioutr-ui/cms/0.index",[571,572,597,605,617,626,647],{"title":567,"path":568,"stem":569},{"title":573,"path":574,"stem":575,"children":576,"page":55},"Banner","/laioutr-ui/cms/banner","3.laioutr-ui/cms/banner",[577,581,585,589,593],{"title":578,"path":579,"stem":580},"Banner Slider","/laioutr-ui/cms/banner/bannerslider","3.laioutr-ui/cms/banner/BannerSlider",{"title":582,"path":583,"stem":584},"Basic Banner with Image and Text","/laioutr-ui/cms/banner/basicbannerwithimageandtext","3.laioutr-ui/cms/banner/BasicBannerWithImageAndText",{"title":586,"path":587,"stem":588},"Content with Image and Text","/laioutr-ui/cms/banner/contentwithimageandtext","3.laioutr-ui/cms/banner/ContentWithImageAndText",{"title":590,"path":591,"stem":592},"Content With Text Columns","/laioutr-ui/cms/banner/contentwithtextcolumns","3.laioutr-ui/cms/banner/ContentWithTextColumns",{"title":594,"path":595,"stem":596},"USP Banner","/laioutr-ui/cms/banner/uspbanner","3.laioutr-ui/cms/banner/UspBanner",{"title":366,"path":598,"stem":599,"children":600,"page":55},"/laioutr-ui/cms/blog","3.laioutr-ui/cms/blog",[601],{"title":602,"path":603,"stem":604},"Blog Post","/laioutr-ui/cms/blog/blogpost","3.laioutr-ui/cms/blog/BlogPost",{"title":358,"path":606,"stem":607,"children":608,"page":55},"/laioutr-ui/cms/newsletter","3.laioutr-ui/cms/newsletter",[609,613],{"title":610,"path":611,"stem":612},"Input for Newsletter","/laioutr-ui/cms/newsletter/inputnewsletter","3.laioutr-ui/cms/newsletter/InputNewsletter",{"title":614,"path":615,"stem":616},"Newsletter Registration","/laioutr-ui/cms/newsletter/newsletterregistration","3.laioutr-ui/cms/newsletter/NewsletterRegistration",{"title":618,"path":619,"stem":620,"children":621,"page":55},"Quotes","/laioutr-ui/cms/quotes","3.laioutr-ui/cms/quotes",[622],{"title":623,"path":624,"stem":625},"Personal Quote with Text and Image","/laioutr-ui/cms/quotes/personalquote","3.laioutr-ui/cms/quotes/PersonalQuote",{"title":627,"path":628,"stem":629,"children":630,"page":55},"Reviews","/laioutr-ui/cms/reviews","3.laioutr-ui/cms/reviews",[631,635,639,643],{"title":632,"path":633,"stem":634},"Quote Card","/laioutr-ui/cms/reviews/quotecard","3.laioutr-ui/cms/reviews/QuoteCard",{"title":636,"path":637,"stem":638},"Rating","/laioutr-ui/cms/reviews/rating","3.laioutr-ui/cms/reviews/Rating",{"title":640,"path":641,"stem":642},"Rating Form","/laioutr-ui/cms/reviews/ratingform","3.laioutr-ui/cms/reviews/RatingForm",{"title":644,"path":645,"stem":646},"Review Section","/laioutr-ui/cms/reviews/reviewsection","3.laioutr-ui/cms/reviews/ReviewSection",{"title":648,"path":649,"stem":650,"children":651,"page":55},"Slider","/laioutr-ui/cms/slider","3.laioutr-ui/cms/slider",[652,656,660,664,668],{"title":653,"path":654,"stem":655},"Hero Slider","/laioutr-ui/cms/slider/heroslider","3.laioutr-ui/cms/slider/HeroSlider",{"title":657,"path":658,"stem":659},"Logo Slider","/laioutr-ui/cms/slider/logoslider","3.laioutr-ui/cms/slider/LogoSlider",{"title":661,"path":662,"stem":663},"Swiper Navigation with Bullets","/laioutr-ui/cms/slider/swipernavigationbullets","3.laioutr-ui/cms/slider/SwiperNavigationBullets",{"title":665,"path":666,"stem":667},"Swiper Navigation Compact","/laioutr-ui/cms/slider/swipernavigationcompact","3.laioutr-ui/cms/slider/SwiperNavigationCompact",{"title":669,"path":670,"stem":671},"Swiper Navigation with Numbers","/laioutr-ui/cms/slider/swipernavigationnumbers","3.laioutr-ui/cms/slider/SwiperNavigationNumbers",{"title":673,"path":674,"stem":675,"children":676},"Marketplace","/laioutr-ui/marketplace","3.laioutr-ui/marketplace/0.index",[677],{"title":673,"path":674,"stem":675},{"title":679,"path":680,"stem":681,"children":682},"Multichannel","/laioutr-ui/multichannel","3.laioutr-ui/multichannel/0.index",[683],{"title":679,"path":680,"stem":681},{"title":685,"path":686,"stem":687,"children":688},"Navigation & Headers","/laioutr-ui/navigation","3.laioutr-ui/navigation/0.index",[689,690,694,698,702,706,710,714,718,722,726,730,734],{"title":685,"path":686,"stem":687},{"title":691,"path":692,"stem":693},"Basic Header","/laioutr-ui/navigation/basicheader","3.laioutr-ui/navigation/BasicHeader",{"title":695,"path":696,"stem":697},"Color Mode Switch","/laioutr-ui/navigation/colormodeswitch","3.laioutr-ui/navigation/ColorModeSwitch",{"title":699,"path":700,"stem":701},"Desktop Side By Side Menu","/laioutr-ui/navigation/desktopsidebysidemenu","3.laioutr-ui/navigation/DesktopSideBySideMenu",{"title":703,"path":704,"stem":705},"Header with Text Links","/laioutr-ui/navigation/headerwithtextlinks","3.laioutr-ui/navigation/HeaderWithTextLinks",{"title":707,"path":708,"stem":709},"Locale Select","/laioutr-ui/navigation/localeselect","3.laioutr-ui/navigation/LocaleSelect",{"title":711,"path":712,"stem":713},"Mega Menu Desktop","/laioutr-ui/navigation/megamenudesktop","3.laioutr-ui/navigation/MegaMenuDesktop",{"title":715,"path":716,"stem":717},"Mobile Menu","/laioutr-ui/navigation/mobilemenu","3.laioutr-ui/navigation/MobileMenu",{"title":719,"path":720,"stem":721},"Search Overlay Input","/laioutr-ui/navigation/searchoverlayinput","3.laioutr-ui/navigation/SearchOverlayInput",{"title":723,"path":724,"stem":725},"Shop Header","/laioutr-ui/navigation/shopheader","3.laioutr-ui/navigation/ShopHeader",{"title":727,"path":728,"stem":729},"Top Bar","/laioutr-ui/navigation/topbar","3.laioutr-ui/navigation/TopBar",{"title":731,"path":732,"stem":733},"Breadcrumb","/laioutr-ui/navigation/breadcrumb","3.laioutr-ui/navigation/breadcrumb",{"title":735,"path":736,"stem":737},"Footer","/laioutr-ui/navigation/footer","3.laioutr-ui/navigation/footer",{"title":739,"path":740,"stem":741,"children":742},"SaaS","/laioutr-ui/saas","3.laioutr-ui/saas/0.index",[743,744,748,752,756],{"title":739,"path":740,"stem":741},{"title":745,"path":746,"stem":747},"Billing Cycle Switch","/laioutr-ui/saas/billingcycleswitch","3.laioutr-ui/saas/BillingCycleSwitch",{"title":749,"path":750,"stem":751},"Pricing Plan","/laioutr-ui/saas/pricingplan","3.laioutr-ui/saas/pricingplan",{"title":753,"path":754,"stem":755},"Pricing Plans","/laioutr-ui/saas/pricingplans","3.laioutr-ui/saas/pricingplans",{"title":757,"path":758,"stem":759},"Pricing Table","/laioutr-ui/saas/pricingtable","3.laioutr-ui/saas/pricingtable",{"title":761,"path":762,"stem":763,"children":764},"Shop","/laioutr-ui/shop","3.laioutr-ui/shop/0.index",[765,766,770,774,778,782,786,790,794,798,802,806,810],{"title":761,"path":762,"stem":763},{"title":767,"path":768,"stem":769},"Cards Container","/laioutr-ui/shop/cardscontainer","3.laioutr-ui/shop/CardsContainer",{"title":771,"path":772,"stem":773},"Grid Card Content","/laioutr-ui/shop/gridcardcontent","3.laioutr-ui/shop/GridCardContent",{"title":775,"path":776,"stem":777},"Grid Card Text Content","/laioutr-ui/shop/gridcardtextcontent","3.laioutr-ui/shop/GridCardTextContent",{"title":779,"path":780,"stem":781},"Inpage Navigation Basic Grid","/laioutr-ui/shop/inpagenavigationbasicgrid","3.laioutr-ui/shop/InpageNavigationBasicGrid",{"title":783,"path":784,"stem":785},"Inpage Navigation Basic Slider","/laioutr-ui/shop/inpagenavigationbasicslider","3.laioutr-ui/shop/InpageNavigationBasicSlider",{"title":787,"path":788,"stem":789},"Inpage Navigation Big Grid","/laioutr-ui/shop/inpagenavigationbiggrid","3.laioutr-ui/shop/InpageNavigationBigGrid",{"title":791,"path":792,"stem":793},"Inpage Navigation Big Slider","/laioutr-ui/shop/inpagenavigationbigslider","3.laioutr-ui/shop/InpageNavigationBigSlider",{"title":795,"path":796,"stem":797},"Inpage Navigation Compact Grid","/laioutr-ui/shop/inpagenavigationcompactgrid","3.laioutr-ui/shop/InpageNavigationCompactGrid",{"title":799,"path":800,"stem":801},"Inpage Navigation Compact Slider","/laioutr-ui/shop/inpagenavigationcompactslider","3.laioutr-ui/shop/InpageNavigationCompactSlider",{"title":803,"path":804,"stem":805},"Product Card","/laioutr-ui/shop/productcard","3.laioutr-ui/shop/ProductCard",{"title":807,"path":808,"stem":809},"Product Slider","/laioutr-ui/shop/productslider","3.laioutr-ui/shop/ProductSlider",{"title":264,"path":811,"stem":812},"/laioutr-ui/shop/filters","3.laioutr-ui/shop/filters",{"title":814,"path":815,"stem":816,"children":817},"UI Kit","/laioutr-ui/ui-kit","3.laioutr-ui/ui-kit/0.index",[818,819,896,917,938,971,992,1057],{"title":814,"path":815,"stem":816},{"title":820,"path":821,"stem":822,"children":823,"page":55},"General","/laioutr-ui/ui-kit/general","3.laioutr-ui/ui-kit/01.general",[824,828,832,836,840,844,848,852,856,860,864,868,872,876,880,884,888,892],{"title":825,"path":826,"stem":827},"Accordion","/laioutr-ui/ui-kit/general/accordion","3.laioutr-ui/ui-kit/01.general/Accordion",{"title":829,"path":830,"stem":831},"Avatar","/laioutr-ui/ui-kit/general/avatar","3.laioutr-ui/ui-kit/01.general/Avatar",{"title":833,"path":834,"stem":835},"Backdrop","/laioutr-ui/ui-kit/general/backdrop","3.laioutr-ui/ui-kit/01.general/Backdrop",{"title":837,"path":838,"stem":839},"Color Swatch","/laioutr-ui/ui-kit/general/colorswatch","3.laioutr-ui/ui-kit/01.general/ColorSwatch",{"title":841,"path":842,"stem":843},"Dropdown Menu","/laioutr-ui/ui-kit/general/dropdownmenu","3.laioutr-ui/ui-kit/01.general/DropdownMenu",{"title":845,"path":846,"stem":847},"Edge Glow","/laioutr-ui/ui-kit/general/edgeglow","3.laioutr-ui/ui-kit/01.general/EdgeGlow",{"title":849,"path":850,"stem":851},"Empty State","/laioutr-ui/ui-kit/general/emptystate","3.laioutr-ui/ui-kit/01.general/EmptyState",{"title":853,"path":854,"stem":855},"Icon","/laioutr-ui/ui-kit/general/icon","3.laioutr-ui/ui-kit/01.general/Icon",{"title":857,"path":858,"stem":859},"Image Contrast Overlay","/laioutr-ui/ui-kit/general/imagecontrastoverlay","3.laioutr-ui/ui-kit/01.general/ImageContrastOverlay",{"title":861,"path":862,"stem":863},"Image Variant Thumbnail","/laioutr-ui/ui-kit/general/imagevariantthumbnail","3.laioutr-ui/ui-kit/01.general/ImageVariantThumbnail",{"title":865,"path":866,"stem":867},"Loading Spinner","/laioutr-ui/ui-kit/general/loadingspinner","3.laioutr-ui/ui-kit/01.general/LoadingSpinner",{"title":869,"path":870,"stem":871},"Media","/laioutr-ui/ui-kit/general/media","3.laioutr-ui/ui-kit/01.general/Media",{"title":873,"path":874,"stem":875},"Navigation Bullets","/laioutr-ui/ui-kit/general/navigationbullets","3.laioutr-ui/ui-kit/01.general/NavigationBullets",{"title":877,"path":878,"stem":879},"Placeholder","/laioutr-ui/ui-kit/general/placeholder","3.laioutr-ui/ui-kit/01.general/Placeholder",{"title":881,"path":882,"stem":883},"Progress Bar","/laioutr-ui/ui-kit/general/progressbar","3.laioutr-ui/ui-kit/01.general/ProgressBar",{"title":885,"path":886,"stem":887},"Scrollbar","/laioutr-ui/ui-kit/general/scrollbar","3.laioutr-ui/ui-kit/01.general/Scrollbar",{"title":889,"path":890,"stem":891},"Swatch Preview","/laioutr-ui/ui-kit/general/swatchpreview","3.laioutr-ui/ui-kit/01.general/SwatchPreview",{"title":893,"path":894,"stem":895},"Thumbnail","/laioutr-ui/ui-kit/general/thumbnail","3.laioutr-ui/ui-kit/01.general/Thumbnail",{"title":897,"path":898,"stem":899,"children":900,"page":55},"Typography","/laioutr-ui/ui-kit/typography","3.laioutr-ui/ui-kit/02.typography",[901,905,909,913],{"title":902,"path":903,"stem":904},"Icon List","/laioutr-ui/ui-kit/typography/iconlist","3.laioutr-ui/ui-kit/02.typography/IconList",{"title":906,"path":907,"stem":908},"Link","/laioutr-ui/ui-kit/typography/link","3.laioutr-ui/ui-kit/02.typography/Link",{"title":910,"path":911,"stem":912},"Rich Content","/laioutr-ui/ui-kit/typography/richcontent","3.laioutr-ui/ui-kit/02.typography/RichContent",{"title":914,"path":915,"stem":916},"Text","/laioutr-ui/ui-kit/typography/text","3.laioutr-ui/ui-kit/02.typography/Text",{"title":918,"path":919,"stem":920,"children":921,"page":55},"Layout","/laioutr-ui/ui-kit/layout","3.laioutr-ui/ui-kit/03.layout",[922,926,930,934],{"title":923,"path":924,"stem":925},"Grid Fill","/laioutr-ui/ui-kit/layout/gridfill","3.laioutr-ui/ui-kit/03.layout/GridFill",{"title":927,"path":928,"stem":929},"Grid Masonry","/laioutr-ui/ui-kit/layout/gridmasonry","3.laioutr-ui/ui-kit/03.layout/GridMasonry",{"title":931,"path":932,"stem":933},"Scroll Area","/laioutr-ui/ui-kit/layout/scrollarea","3.laioutr-ui/ui-kit/03.layout/ScrollArea",{"title":935,"path":936,"stem":937},"Separator","/laioutr-ui/ui-kit/layout/separator","3.laioutr-ui/ui-kit/03.layout/Separator",{"title":939,"path":940,"stem":941,"children":942,"page":55},"Content","/laioutr-ui/ui-kit/content","3.laioutr-ui/ui-kit/04.content",[943,947,951,955,959,963,967],{"title":944,"path":945,"stem":946},"Card","/laioutr-ui/ui-kit/content/card","3.laioutr-ui/ui-kit/04.content/Card",{"title":948,"path":949,"stem":950},"CTA Banner Basic","/laioutr-ui/ui-kit/content/ctabannerbasic","3.laioutr-ui/ui-kit/04.content/CtaBannerBasic",{"title":952,"path":953,"stem":954},"CTA Banner Integrated","/laioutr-ui/ui-kit/content/ctabannerintegrated","3.laioutr-ui/ui-kit/04.content/CtaBannerIntegrated",{"title":956,"path":957,"stem":958},"CTA Banner Showcase","/laioutr-ui/ui-kit/content/ctabannershowcase","3.laioutr-ui/ui-kit/04.content/CtaBannerShowcase",{"title":960,"path":961,"stem":962},"Link Tile Basic","/laioutr-ui/ui-kit/content/linktilebasic","3.laioutr-ui/ui-kit/04.content/LinkTileBasic",{"title":964,"path":965,"stem":966},"Link Tile Big","/laioutr-ui/ui-kit/content/linktilebig","3.laioutr-ui/ui-kit/04.content/LinkTileBig",{"title":968,"path":969,"stem":970},"Link Tile Compact","/laioutr-ui/ui-kit/content/linktilecompact","3.laioutr-ui/ui-kit/04.content/LinkTileCompact",{"title":972,"path":973,"stem":974,"children":975,"page":55},"Surfaces","/laioutr-ui/ui-kit/surfaces","3.laioutr-ui/ui-kit/05.surfaces",[976,980,984,988],{"title":977,"path":978,"stem":979},"Alert Dialog","/laioutr-ui/ui-kit/surfaces/alertdialog","3.laioutr-ui/ui-kit/05.surfaces/AlertDialog",{"title":981,"path":982,"stem":983},"Sheet","/laioutr-ui/ui-kit/surfaces/sheet","3.laioutr-ui/ui-kit/05.surfaces/Sheet",{"title":985,"path":986,"stem":987},"Toast","/laioutr-ui/ui-kit/surfaces/toast","3.laioutr-ui/ui-kit/05.surfaces/Toast",{"title":989,"path":990,"stem":991},"Toaster","/laioutr-ui/ui-kit/surfaces/toaster","3.laioutr-ui/ui-kit/05.surfaces/Toaster",{"title":993,"path":994,"stem":995,"children":996,"page":55},"Form","/laioutr-ui/ui-kit/form","3.laioutr-ui/ui-kit/06.form",[997,1001,1005,1009,1013,1017,1021,1025,1029,1033,1037,1041,1045,1049,1053],{"title":998,"path":999,"stem":1000},"Button","/laioutr-ui/ui-kit/form/button","3.laioutr-ui/ui-kit/06.form/Button",{"title":1002,"path":1003,"stem":1004},"Checkbox","/laioutr-ui/ui-kit/form/checkbox","3.laioutr-ui/ui-kit/06.form/Checkbox",{"title":1006,"path":1007,"stem":1008},"Field","/laioutr-ui/ui-kit/form/field","3.laioutr-ui/ui-kit/06.form/Field",{"title":1010,"path":1011,"stem":1012},"Input","/laioutr-ui/ui-kit/form/input","3.laioutr-ui/ui-kit/06.form/Input",{"title":1014,"path":1015,"stem":1016},"Input Checkbox","/laioutr-ui/ui-kit/form/inputcheckbox","3.laioutr-ui/ui-kit/06.form/InputCheckbox",{"title":1018,"path":1019,"stem":1020},"Password Input","/laioutr-ui/ui-kit/form/inputpassword","3.laioutr-ui/ui-kit/06.form/InputPassword",{"title":1022,"path":1023,"stem":1024},"Search Input","/laioutr-ui/ui-kit/form/inputsearch","3.laioutr-ui/ui-kit/06.form/InputSearch",{"title":1026,"path":1027,"stem":1028},"Label","/laioutr-ui/ui-kit/form/label","3.laioutr-ui/ui-kit/06.form/Label",{"title":1030,"path":1031,"stem":1032},"Load More","/laioutr-ui/ui-kit/form/loadmore","3.laioutr-ui/ui-kit/06.form/LoadMore",{"title":1034,"path":1035,"stem":1036},"Pagination","/laioutr-ui/ui-kit/form/pagination","3.laioutr-ui/ui-kit/06.form/Pagination",{"title":1038,"path":1039,"stem":1040},"Quantity Picker","/laioutr-ui/ui-kit/form/quantitypicker","3.laioutr-ui/ui-kit/06.form/QuantityPicker",{"title":1042,"path":1043,"stem":1044},"Radio Group","/laioutr-ui/ui-kit/form/radioselect","3.laioutr-ui/ui-kit/06.form/RadioSelect",{"title":1046,"path":1047,"stem":1048},"Select","/laioutr-ui/ui-kit/form/select","3.laioutr-ui/ui-kit/06.form/Select",{"title":1050,"path":1051,"stem":1052},"Switch","/laioutr-ui/ui-kit/form/switch","3.laioutr-ui/ui-kit/06.form/Switch",{"title":1054,"path":1055,"stem":1056},"Variant Select Button","/laioutr-ui/ui-kit/form/variantselectbutton","3.laioutr-ui/ui-kit/06.form/VariantSelectButton",{"title":1058,"path":1059,"stem":1060,"children":1061,"page":55},"Indicators","/laioutr-ui/ui-kit/indicators","3.laioutr-ui/ui-kit/07.indicators",[1062,1066,1070,1074,1078,1082,1086,1090],{"title":1063,"path":1064,"stem":1065},"Badge","/laioutr-ui/ui-kit/indicators/badge","3.laioutr-ui/ui-kit/07.indicators/Badge",{"title":1067,"path":1068,"stem":1069},"Caption Flag","/laioutr-ui/ui-kit/indicators/captionflag","3.laioutr-ui/ui-kit/07.indicators/CaptionFlag",{"title":1071,"path":1072,"stem":1073},"Category Node Flag","/laioutr-ui/ui-kit/indicators/categorynodeflag","3.laioutr-ui/ui-kit/07.indicators/CategoryNodeFlag",{"title":1075,"path":1076,"stem":1077},"Product Tile Flag","/laioutr-ui/ui-kit/indicators/producttileflag","3.laioutr-ui/ui-kit/07.indicators/ProductTileFlag",{"title":1079,"path":1080,"stem":1081},"Rating Summary","/laioutr-ui/ui-kit/indicators/ratingsummary","3.laioutr-ui/ui-kit/07.indicators/RatingSummary",{"title":1083,"path":1084,"stem":1085},"Rating Summary Small","/laioutr-ui/ui-kit/indicators/ratingsummarysmall","3.laioutr-ui/ui-kit/07.indicators/RatingSummarySmall",{"title":1087,"path":1088,"stem":1089},"Savings Badge","/laioutr-ui/ui-kit/indicators/savingsbadge","3.laioutr-ui/ui-kit/07.indicators/SavingsBadge",{"title":1091,"path":1092,"stem":1093},"Stars Rating","/laioutr-ui/ui-kit/indicators/starsrating","3.laioutr-ui/ui-kit/07.indicators/StarsRating",{"title":1095,"path":1096,"stem":1097,"children":1098},"Hosting","/hosting","4.hosting/0.index",[1099,1100,1106,1136],{"title":1095,"path":1096,"stem":1097},{"title":1101,"path":1102,"stem":1103,"children":1104},"Laioutr Cloud","/hosting/laioutr-cloud","4.hosting/0.laioutr-cloud/0.index",[1105],{"title":1101,"path":1102,"stem":1103},{"title":1107,"path":1108,"stem":1109,"children":1110},"Hosting Adapter","/hosting/hosting-adapter","4.hosting/1.hosting-adapter/0.index",[1111,1112,1116,1120,1124,1128,1132],{"title":1107,"path":1108,"stem":1109},{"title":1113,"path":1114,"stem":1115},"AWS Adapter","/hosting/hosting-adapter/aws-adapter","4.hosting/1.hosting-adapter/aws-adapter",{"title":1117,"path":1118,"stem":1119},"Azure Adapter","/hosting/hosting-adapter/azure-adapter","4.hosting/1.hosting-adapter/azure-adapter",{"title":1121,"path":1122,"stem":1123},"Google Adapter","/hosting/hosting-adapter/google-adapter","4.hosting/1.hosting-adapter/google-adapter",{"title":1125,"path":1126,"stem":1127},"Netlify Adapter","/hosting/hosting-adapter/netlify-adapter","4.hosting/1.hosting-adapter/netlify-adapter",{"title":1129,"path":1130,"stem":1131},"Scale Commerce Adapter","/hosting/hosting-adapter/scale-commerce-adapter","4.hosting/1.hosting-adapter/scale-commerce-adapter",{"title":1133,"path":1134,"stem":1135},"Vercel Adapter","/hosting/hosting-adapter/vercel-adapter","4.hosting/1.hosting-adapter/vercel-adapter",{"title":1137,"path":1138,"stem":1139,"children":1140},"Bring Your Own Server (BYOS)","/hosting/bring-your-own-server-byos","4.hosting/2.bring-your-own-server-byos/0.index",[1141,1142,1146,1150,1154,1158,1162],{"title":1137,"path":1138,"stem":1139},{"title":1143,"path":1144,"stem":1145},"BYOS Agent","/hosting/bring-your-own-server-byos/byos-agent","4.hosting/2.bring-your-own-server-byos/byos-agent",{"title":1147,"path":1148,"stem":1149},"Changelog","/hosting/bring-your-own-server-byos/changelog","4.hosting/2.bring-your-own-server-byos/changelog",{"title":1151,"path":1152,"stem":1153},"DevOps Components","/hosting/bring-your-own-server-byos/devops","4.hosting/2.bring-your-own-server-byos/devops",{"title":1155,"path":1156,"stem":1157},"Infrastructure Requirements","/hosting/bring-your-own-server-byos/infrastructure","4.hosting/2.bring-your-own-server-byos/infrastructure",{"title":1159,"path":1160,"stem":1161},"Software Requirements","/hosting/bring-your-own-server-byos/software","4.hosting/2.bring-your-own-server-byos/software",{"title":1163,"path":1164,"stem":1165},"Webhook Configuration","/hosting/bring-your-own-server-byos/webhook-config","4.hosting/2.bring-your-own-server-byos/webhook-config",{"title":1167,"path":1168,"stem":1169,"children":1170},"Checkout","/checkout","5.Checkout/0.index",[1171],{"title":1167,"path":1168,"stem":1169},{"title":1173,"path":1174,"stem":1175,"children":1176},"Larry AI","/larry-ai","6.Larry-AI/0.index",[1177],{"title":1173,"path":1174,"stem":1175},{"title":544,"path":1179,"stem":1180,"children":1181},"/figma-kit","7.Figma Kit/0.index",[1182,1183,1199],{"title":544,"path":1179,"stem":1180},{"title":121,"path":1184,"stem":1185,"children":1186,"page":55},"/figma-kit/introduction","7.Figma Kit/1.Introduction",[1187,1191,1195],{"title":1188,"path":1189,"stem":1190},"How to Start","/figma-kit/introduction/howtostart","7.Figma Kit/1.Introduction/0.howtostart",{"title":1192,"path":1193,"stem":1194},"Figma Variables","/figma-kit/introduction/figma-variables","7.Figma Kit/1.Introduction/figma-variables",{"title":1196,"path":1197,"stem":1198},"Library Connections","/figma-kit/introduction/library-connections","7.Figma Kit/1.Introduction/library-connections",{"title":1200,"path":1201,"stem":1202,"children":1203,"page":55},"Kits","/figma-kit/kits","7.Figma Kit/Kits",[1204,1207,1210,1213,1217,1220,1224,1228,1231,1234],{"title":555,"path":1205,"stem":1206},"/figma-kit/kits/b2b","7.Figma Kit/Kits/b2b",{"title":561,"path":1208,"stem":1209},"/figma-kit/kits/booking","7.Figma Kit/Kits/booking",{"title":567,"path":1211,"stem":1212},"/figma-kit/kits/cms","7.Figma Kit/Kits/cms",{"title":1214,"path":1215,"stem":1216},"Inpage Navigation","/figma-kit/kits/inpage-navigation","7.Figma Kit/Kits/inpage-navigation",{"title":673,"path":1218,"stem":1219},"/figma-kit/kits/marketplace","7.Figma Kit/Kits/marketplace",{"title":1221,"path":1222,"stem":1223},"Retail & Multichannel","/figma-kit/kits/multichannel","7.Figma Kit/Kits/multichannel",{"title":1225,"path":1226,"stem":1227},"Navigation","/figma-kit/kits/navigation","7.Figma Kit/Kits/navigation",{"title":739,"path":1229,"stem":1230},"/figma-kit/kits/saas","7.Figma Kit/Kits/saas",{"title":761,"path":1232,"stem":1233},"/figma-kit/kits/shop","7.Figma Kit/Kits/shop",{"title":814,"path":1235,"stem":1236},"/figma-kit/kits/ui-kit","7.Figma Kit/Kits/ui-kit",{"title":1238,"path":1239,"stem":1240,"children":1241},"Cockpit","/cockpit","8.Cockpit/0.index",[1242,1243,1273,1290,1307],{"title":1238,"path":1239,"stem":1240},{"title":150,"path":1244,"stem":1245,"children":1246,"page":55},"/cockpit/features","8.Cockpit/1.Features",[1247,1250,1254,1258,1262,1265,1269],{"title":392,"path":1248,"stem":1249},"/cockpit/features/apps","8.Cockpit/1.Features/apps",{"title":1251,"path":1252,"stem":1253},"Content (Collections)","/cockpit/features/content-collections","8.Cockpit/1.Features/content-collections",{"title":1255,"path":1256,"stem":1257},"Deployments","/cockpit/features/deployments","8.Cockpit/1.Features/deployments",{"title":1259,"path":1260,"stem":1261},"Markets","/cockpit/features/markets","8.Cockpit/1.Features/markets",{"title":192,"path":1263,"stem":1264},"/cockpit/features/redirects","8.Cockpit/1.Features/redirects",{"title":1266,"path":1267,"stem":1268},"Studio","/cockpit/features/studio","8.Cockpit/1.Features/studio",{"title":1270,"path":1271,"stem":1272},"Translations","/cockpit/features/translations","8.Cockpit/1.Features/translations",{"title":1274,"path":1275,"stem":1276,"children":1277,"page":55},"Project Settings","/cockpit/project-settings","8.Cockpit/2.Project-Settings",[1278,1282,1286],{"title":1279,"path":1280,"stem":1281},"Delete a project","/cockpit/project-settings/delete-project","8.Cockpit/2.Project-Settings/delete-project",{"title":1283,"path":1284,"stem":1285},"NPM","/cockpit/project-settings/npm","8.Cockpit/2.Project-Settings/npm",{"title":1287,"path":1288,"stem":1289},"Project secret key","/cockpit/project-settings/project-secret-key","8.Cockpit/2.Project-Settings/project-secret-key",{"title":1291,"path":1292,"stem":1293,"children":1294,"page":55},"Account Settings","/cockpit/account-settings","8.Cockpit/3.Account-Settings",[1295,1299,1303],{"title":1296,"path":1297,"stem":1298},"Notifications","/cockpit/account-settings/notifications","8.Cockpit/3.Account-Settings/notifications",{"title":1300,"path":1301,"stem":1302},"Preferences","/cockpit/account-settings/preferences","8.Cockpit/3.Account-Settings/preferences",{"title":1304,"path":1305,"stem":1306},"Security","/cockpit/account-settings/security","8.Cockpit/3.Account-Settings/security",{"title":1308,"path":1309,"stem":1310,"children":1311,"page":55},"Organisation Settings","/cockpit/organisation-settings","8.Cockpit/4.Organisation-Settings",[1312,1316,1320,1324,1328,1332],{"title":1313,"path":1314,"stem":1315},"API keys","/cockpit/organisation-settings/api-keys","8.Cockpit/4.Organisation-Settings/api-keys",{"title":1317,"path":1318,"stem":1319},"Billing","/cockpit/organisation-settings/billing","8.Cockpit/4.Organisation-Settings/billing",{"title":1321,"path":1322,"stem":1323},"General settings","/cockpit/organisation-settings/general-settings","8.Cockpit/4.Organisation-Settings/general-settings",{"title":1325,"path":1326,"stem":1327},"Members","/cockpit/organisation-settings/members","8.Cockpit/4.Organisation-Settings/members",{"title":1329,"path":1330,"stem":1331},"Projects","/cockpit/organisation-settings/projects","8.Cockpit/4.Organisation-Settings/projects",{"title":1333,"path":1334,"stem":1335},"Roles","/cockpit/organisation-settings/roles","8.Cockpit/4.Organisation-Settings/roles",{"title":1337,"path":1338,"stem":1339,"children":1340},"Offering","/offering","9.Offering/0.index",[1341,1342,1374,1387,1400],{"title":1337,"path":1338,"stem":1339},{"title":1343,"path":1344,"stem":1345,"children":1346},"Products","/offering/products","9.Offering/1.Products/0.index",[1347,1348,1353,1358,1363,1369],{"title":1343,"path":1344,"stem":1345},{"title":133,"path":1349,"stem":1350,"children":1351},"/offering/products/frontend","9.Offering/1.Products/1.Frontend/0.index",[1352],{"title":133,"path":1349,"stem":1350},{"title":1238,"path":1354,"stem":1355,"children":1356},"/offering/products/cockpit","9.Offering/1.Products/2.Cockpit/0.index",[1357],{"title":1238,"path":1354,"stem":1355},{"title":1167,"path":1359,"stem":1360,"children":1361},"/offering/products/checkout","9.Offering/1.Products/3.Checkout/0.index",[1362],{"title":1167,"path":1359,"stem":1360},{"title":1364,"path":1365,"stem":1366,"children":1367},"Cloud","/offering/products/cloud","9.Offering/1.Products/4.cloud/0.index",[1368],{"title":1364,"path":1365,"stem":1366},{"title":1173,"path":1370,"stem":1371,"children":1372},"/offering/products/larry-ai","9.Offering/1.Products/5.larry-ai/0.index",[1373],{"title":1173,"path":1370,"stem":1371},{"title":1375,"path":1376,"stem":1377,"children":1378,"page":55},"Service Level Agreement","/offering/service-level-agreement","9.Offering/2.service-level-agreement",[1379,1383],{"title":1380,"path":1381,"stem":1382},"Standard Service Level Agreement Composable Frontend","/offering/service-level-agreement/standard-service-level-agreement","9.Offering/2.service-level-agreement/1.standard-service-level-agreement",{"title":1384,"path":1385,"stem":1386},"Backups","/offering/service-level-agreement/backups","9.Offering/2.service-level-agreement/backups",{"title":1388,"path":1389,"stem":1390,"children":1391,"page":55},"Customer Support","/offering/customer-support","9.Offering/3.customer-support",[1392,1396],{"title":1393,"path":1394,"stem":1395},"Standard Customer Support","/offering/customer-support/standard-customer-support","9.Offering/3.customer-support/1.standard-customer-support",{"title":1397,"path":1398,"stem":1399},"Customer Support Severity Levels of Laioutr products","/offering/customer-support/maximum-serverity-levels","9.Offering/3.customer-support/maximum-serverity-levels",{"title":1401,"path":1402,"stem":1403,"children":1404,"page":55},"Compliance","/offering/compliance","9.Offering/4.Compliance",[1405],{"title":1406,"path":1407,"stem":1408},"Fair usage policy","/offering/compliance/fair-usage-policy","9.Offering/4.Compliance/fair-usage-policy",{"id":1410,"title":248,"body":1411,"description":2898,"extension":2899,"meta":2900,"navigation":2573,"path":249,"seo":2902,"sitemap":2905,"stem":250,"__hash__":2908},"docs/1.Frontend/4.Orchestr/Caching.md",{"type":1412,"value":1413,"toc":2883},"minimark",[1414,1426,1439,1444,1451,1535,1539,1542,1687,1731,1745,1750,2001,2005,2152,2156,2167,2171,2174,2191,2194,2198,2399,2482,2486,2489,2503,2510,2514,2522,2525,2529,2539,2849,2869,2879],[1415,1416,1417,1418,1425],"p",{},"Orchestr caches results from query handlers, link handlers, and component resolvers so repeated requests skip external API calls. The cache layer is built on ",[1419,1420,1424],"a",{"href":1421,"rel":1422},"https://unstorage.unjs.io",[1423],"nofollow","unstorage"," (Nitro's storage abstraction), so you can swap drivers (in-memory, Redis, etc.) per environment.",[1415,1427,1428,1429,1433,1434,1438],{},"By default, handlers are ",[1430,1431,1432],"strong",{},"not cached",". You opt in per handler by adding a ",[1435,1436,1437],"code",{},"cache"," property.",[1440,1441,1443],"h2",{"id":1442},"cache-layers","Cache layers",[1415,1445,1446,1447,1450],{},"Orchestr maintains three separate cache layers, all stored under the ",[1435,1448,1449],{},"cache:orchestr:internal"," namespace with different prefixes:",[1452,1453,1454,1473],"table",{},[1455,1456,1457],"thead",{},[1458,1459,1460,1464,1467,1470],"tr",{},[1461,1462,1463],"th",{},"Layer",[1461,1465,1466],{},"Cached data",[1461,1468,1469],{},"Key shape",[1461,1471,1472],{},"Configured on",[1474,1475,1476,1496,1515],"tbody",{},[1458,1477,1478,1483,1486,1491],{},[1479,1480,1481],"td",{},[1430,1482,350],{},[1479,1484,1485],{},"Query handler results (IDs, totals, filters, optional passthrough)",[1479,1487,1488],{},[1435,1489,1490],{},"{token}:{buildCacheKey(args)}",[1479,1492,1493,1494],{},"Query handler ",[1435,1495,1437],{},[1458,1497,1498,1503,1506,1510],{},[1479,1499,1500],{},[1430,1501,1502],{},"Links",[1479,1504,1505],{},"Link handler results (source/target ID mappings)",[1479,1507,1508],{},[1435,1509,1490],{},[1479,1511,1512,1513],{},"Link handler ",[1435,1514,1437],{},[1458,1516,1517,1522,1525,1530],{},[1479,1518,1519],{},[1430,1520,1521],{},"Components",[1479,1523,1524],{},"Resolved entity components (per entity, per component)",[1479,1526,1527],{},[1435,1528,1529],{},"{entityType}:{entityId}:{component}:{keySuffix?}",[1479,1531,1532,1533],{},"Component resolver ",[1435,1534,1437],{},[1440,1536,1538],{"id":1537},"strategies-for-queries-and-links","Strategies for queries and links",[1415,1540,1541],{},"Query and link handlers use the same cache config shape:",[1543,1544,1549],"pre",{"className":1545,"code":1546,"language":1547,"meta":1548,"style":1548},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cache: {\n  strategy: 'ttl' | 'swr' | 'live',\n  ttl: '10 minutes',  // HumanTtl: number (seconds) or string ('1 day', '2h')\n  buildCacheKey: (args) => string | null | undefined,\n  includePassthrough?: boolean,  // queries only\n}\n","ts","",[1435,1550,1551,1566,1606,1628,1664,1681],{"__ignoreMap":1548},[1552,1553,1556,1559,1563],"span",{"class":1554,"line":1555},"line",1,[1552,1557,1437],{"class":1558},"sBMFI",[1552,1560,1562],{"class":1561},"sMK4o",":",[1552,1564,1565],{"class":1561}," {\n",[1552,1567,1569,1572,1574,1577,1581,1584,1587,1589,1592,1594,1596,1598,1601,1603],{"class":1554,"line":1568},2,[1552,1570,1571],{"class":1558},"  strategy",[1552,1573,1562],{"class":1561},[1552,1575,1576],{"class":1561}," '",[1552,1578,1580],{"class":1579},"sfazB","ttl",[1552,1582,1583],{"class":1561},"'",[1552,1585,1586],{"class":1561}," |",[1552,1588,1576],{"class":1561},[1552,1590,1591],{"class":1579},"swr",[1552,1593,1583],{"class":1561},[1552,1595,1586],{"class":1561},[1552,1597,1576],{"class":1561},[1552,1599,1600],{"class":1579},"live",[1552,1602,1583],{"class":1561},[1552,1604,1605],{"class":1561},",\n",[1552,1607,1609,1612,1614,1616,1619,1621,1624],{"class":1554,"line":1608},3,[1552,1610,1611],{"class":1558},"  ttl",[1552,1613,1562],{"class":1561},[1552,1615,1576],{"class":1561},[1552,1617,1618],{"class":1579},"10 minutes",[1552,1620,1583],{"class":1561},[1552,1622,1623],{"class":1561},",",[1552,1625,1627],{"class":1626},"sHwdD","  // HumanTtl: number (seconds) or string ('1 day', '2h')\n",[1552,1629,1631,1634,1636,1639,1643,1646,1650,1654,1656,1659,1661],{"class":1554,"line":1630},4,[1552,1632,1633],{"class":1558},"  buildCacheKey",[1552,1635,1562],{"class":1561},[1552,1637,1638],{"class":1561}," (",[1552,1640,1642],{"class":1641},"sHdIc","args",[1552,1644,1645],{"class":1561},")",[1552,1647,1649],{"class":1648},"spNyl"," =>",[1552,1651,1653],{"class":1652},"sTEyZ"," string",[1552,1655,1586],{"class":1561},[1552,1657,1658],{"class":1561}," null",[1552,1660,1586],{"class":1561},[1552,1662,1663],{"class":1561}," undefined,\n",[1552,1665,1667,1670,1673,1676,1678],{"class":1554,"line":1666},5,[1552,1668,1669],{"class":1652},"  includePassthrough",[1552,1671,1672],{"class":1561},"?:",[1552,1674,1675],{"class":1652}," boolean",[1552,1677,1623],{"class":1561},[1552,1679,1680],{"class":1626},"  // queries only\n",[1552,1682,1684],{"class":1554,"line":1683},6,[1552,1685,1686],{"class":1561},"}\n",[1452,1688,1689,1699],{},[1455,1690,1691],{},[1458,1692,1693,1696],{},[1461,1694,1695],{},"Strategy",[1461,1697,1698],{},"Behavior",[1474,1700,1701,1710,1719],{},[1458,1702,1703,1707],{},[1479,1704,1705],{},[1435,1706,1600],{},[1479,1708,1709],{},"No caching. Handler runs on every request.",[1458,1711,1712,1716],{},[1479,1713,1714],{},[1435,1715,1580],{},[1479,1717,1718],{},"Cached for a fixed duration using the storage driver's native TTL. Entry is evicted after expiry.",[1458,1720,1721,1725],{},[1479,1722,1723],{},[1435,1724,1591],{},[1479,1726,1727,1728,1730],{},"Cached with an application-level expiry timestamp. On read, expired entries are removed and the handler runs again. The ",[1435,1729,1580],{}," field is optional for SWR.",[1415,1732,1733,1736,1737,1740,1741,1744],{},[1435,1734,1735],{},"buildCacheKey"," receives the handler arguments and must return a unique string. Return ",[1435,1738,1739],{},"null"," or ",[1435,1742,1743],{},"undefined"," to skip caching for that particular request.",[1746,1747,1749],"h3",{"id":1748},"query-cache-example","Query cache example",[1543,1751,1753],{"className":1545,"code":1752,"language":1547,"meta":1548,"style":1548},"export default defineMyAppQuery({\n  implements: ProductsByCategorySlugQuery,\n  cache: {\n    strategy: 'ttl',\n    ttl: '1 day',\n    buildCacheKey({ input, pagination, filter, sorting }) {\n      // Only cache unfiltered first page\n      if (filter || (pagination && pagination.offset > 0)) return null;\n      return `${input.categorySlug}:${sorting ?? 'default'}`;\n    },\n  },\n  run: async (args) => { /* ... */ },\n});\n",[1435,1754,1755,1774,1787,1796,1811,1827,1858,1864,1910,1952,1958,1964,1992],{"__ignoreMap":1548},[1552,1756,1757,1761,1764,1768,1771],{"class":1554,"line":1555},[1552,1758,1760],{"class":1759},"s7zQu","export",[1552,1762,1763],{"class":1759}," default",[1552,1765,1767],{"class":1766},"s2Zo4"," defineMyAppQuery",[1552,1769,1770],{"class":1652},"(",[1552,1772,1773],{"class":1561},"{\n",[1552,1775,1776,1780,1782,1785],{"class":1554,"line":1568},[1552,1777,1779],{"class":1778},"swJcz","  implements",[1552,1781,1562],{"class":1561},[1552,1783,1784],{"class":1652}," ProductsByCategorySlugQuery",[1552,1786,1605],{"class":1561},[1552,1788,1789,1792,1794],{"class":1554,"line":1608},[1552,1790,1791],{"class":1778},"  cache",[1552,1793,1562],{"class":1561},[1552,1795,1565],{"class":1561},[1552,1797,1798,1801,1803,1805,1807,1809],{"class":1554,"line":1630},[1552,1799,1800],{"class":1778},"    strategy",[1552,1802,1562],{"class":1561},[1552,1804,1576],{"class":1561},[1552,1806,1580],{"class":1579},[1552,1808,1583],{"class":1561},[1552,1810,1605],{"class":1561},[1552,1812,1813,1816,1818,1820,1823,1825],{"class":1554,"line":1666},[1552,1814,1815],{"class":1778},"    ttl",[1552,1817,1562],{"class":1561},[1552,1819,1576],{"class":1561},[1552,1821,1822],{"class":1579},"1 day",[1552,1824,1583],{"class":1561},[1552,1826,1605],{"class":1561},[1552,1828,1829,1832,1835,1838,1840,1843,1845,1848,1850,1853,1856],{"class":1554,"line":1683},[1552,1830,1831],{"class":1778},"    buildCacheKey",[1552,1833,1834],{"class":1561},"({",[1552,1836,1837],{"class":1641}," input",[1552,1839,1623],{"class":1561},[1552,1841,1842],{"class":1641}," pagination",[1552,1844,1623],{"class":1561},[1552,1846,1847],{"class":1641}," filter",[1552,1849,1623],{"class":1561},[1552,1851,1852],{"class":1641}," sorting",[1552,1854,1855],{"class":1561}," })",[1552,1857,1565],{"class":1561},[1552,1859,1861],{"class":1554,"line":1860},7,[1552,1862,1863],{"class":1626},"      // Only cache unfiltered first page\n",[1552,1865,1867,1870,1872,1875,1878,1880,1883,1886,1888,1891,1894,1897,1901,1904,1907],{"class":1554,"line":1866},8,[1552,1868,1869],{"class":1759},"      if",[1552,1871,1638],{"class":1778},[1552,1873,1874],{"class":1652},"filter",[1552,1876,1877],{"class":1561}," ||",[1552,1879,1638],{"class":1778},[1552,1881,1882],{"class":1652},"pagination",[1552,1884,1885],{"class":1561}," &&",[1552,1887,1842],{"class":1652},[1552,1889,1890],{"class":1561},".",[1552,1892,1893],{"class":1652},"offset",[1552,1895,1896],{"class":1561}," >",[1552,1898,1900],{"class":1899},"sbssI"," 0",[1552,1902,1903],{"class":1778},")) ",[1552,1905,1906],{"class":1759},"return",[1552,1908,1909],{"class":1561}," null;\n",[1552,1911,1913,1916,1919,1922,1924,1927,1930,1932,1935,1938,1941,1943,1946,1949],{"class":1554,"line":1912},9,[1552,1914,1915],{"class":1759},"      return",[1552,1917,1918],{"class":1561}," `${",[1552,1920,1921],{"class":1652},"input",[1552,1923,1890],{"class":1561},[1552,1925,1926],{"class":1652},"categorySlug",[1552,1928,1929],{"class":1561},"}",[1552,1931,1562],{"class":1579},[1552,1933,1934],{"class":1561},"${",[1552,1936,1937],{"class":1652},"sorting ",[1552,1939,1940],{"class":1561},"??",[1552,1942,1576],{"class":1561},[1552,1944,1945],{"class":1579},"default",[1552,1947,1948],{"class":1561},"'}`",[1552,1950,1951],{"class":1561},";\n",[1552,1953,1955],{"class":1554,"line":1954},10,[1552,1956,1957],{"class":1561},"    },\n",[1552,1959,1961],{"class":1554,"line":1960},11,[1552,1962,1963],{"class":1561},"  },\n",[1552,1965,1967,1970,1972,1975,1977,1979,1981,1983,1986,1989],{"class":1554,"line":1966},12,[1552,1968,1969],{"class":1766},"  run",[1552,1971,1562],{"class":1561},[1552,1973,1974],{"class":1648}," async",[1552,1976,1638],{"class":1561},[1552,1978,1642],{"class":1641},[1552,1980,1645],{"class":1561},[1552,1982,1649],{"class":1648},[1552,1984,1985],{"class":1561}," {",[1552,1987,1988],{"class":1626}," /* ... */",[1552,1990,1991],{"class":1561}," },\n",[1552,1993,1995,1997,1999],{"class":1554,"line":1994},13,[1552,1996,1929],{"class":1561},[1552,1998,1645],{"class":1652},[1552,2000,1951],{"class":1561},[1746,2002,2004],{"id":2003},"link-cache-example","Link cache example",[1543,2006,2008],{"className":1545,"code":2007,"language":1547,"meta":1548,"style":1548},"export default defineMyAppLink({\n  implements: ProductVariantsLink,\n  cache: {\n    strategy: 'ttl',\n    ttl: '1 day',\n    buildCacheKey({ entityIds }) {\n      return entityIds.sort().join(',');\n    },\n  },\n  run: async (args) => { /* ... */ },\n});\n",[1435,2009,2010,2023,2034,2042,2056,2070,2083,2114,2118,2122,2144],{"__ignoreMap":1548},[1552,2011,2012,2014,2016,2019,2021],{"class":1554,"line":1555},[1552,2013,1760],{"class":1759},[1552,2015,1763],{"class":1759},[1552,2017,2018],{"class":1766}," defineMyAppLink",[1552,2020,1770],{"class":1652},[1552,2022,1773],{"class":1561},[1552,2024,2025,2027,2029,2032],{"class":1554,"line":1568},[1552,2026,1779],{"class":1778},[1552,2028,1562],{"class":1561},[1552,2030,2031],{"class":1652}," ProductVariantsLink",[1552,2033,1605],{"class":1561},[1552,2035,2036,2038,2040],{"class":1554,"line":1608},[1552,2037,1791],{"class":1778},[1552,2039,1562],{"class":1561},[1552,2041,1565],{"class":1561},[1552,2043,2044,2046,2048,2050,2052,2054],{"class":1554,"line":1630},[1552,2045,1800],{"class":1778},[1552,2047,1562],{"class":1561},[1552,2049,1576],{"class":1561},[1552,2051,1580],{"class":1579},[1552,2053,1583],{"class":1561},[1552,2055,1605],{"class":1561},[1552,2057,2058,2060,2062,2064,2066,2068],{"class":1554,"line":1666},[1552,2059,1815],{"class":1778},[1552,2061,1562],{"class":1561},[1552,2063,1576],{"class":1561},[1552,2065,1822],{"class":1579},[1552,2067,1583],{"class":1561},[1552,2069,1605],{"class":1561},[1552,2071,2072,2074,2076,2079,2081],{"class":1554,"line":1683},[1552,2073,1831],{"class":1778},[1552,2075,1834],{"class":1561},[1552,2077,2078],{"class":1641}," entityIds",[1552,2080,1855],{"class":1561},[1552,2082,1565],{"class":1561},[1552,2084,2085,2087,2089,2091,2094,2097,2099,2102,2104,2106,2108,2110,2112],{"class":1554,"line":1860},[1552,2086,1915],{"class":1759},[1552,2088,2078],{"class":1652},[1552,2090,1890],{"class":1561},[1552,2092,2093],{"class":1766},"sort",[1552,2095,2096],{"class":1778},"()",[1552,2098,1890],{"class":1561},[1552,2100,2101],{"class":1766},"join",[1552,2103,1770],{"class":1778},[1552,2105,1583],{"class":1561},[1552,2107,1623],{"class":1579},[1552,2109,1583],{"class":1561},[1552,2111,1645],{"class":1778},[1552,2113,1951],{"class":1561},[1552,2115,2116],{"class":1554,"line":1866},[1552,2117,1957],{"class":1561},[1552,2119,2120],{"class":1554,"line":1912},[1552,2121,1963],{"class":1561},[1552,2123,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142],{"class":1554,"line":1954},[1552,2125,1969],{"class":1766},[1552,2127,1562],{"class":1561},[1552,2129,1974],{"class":1648},[1552,2131,1638],{"class":1561},[1552,2133,1642],{"class":1641},[1552,2135,1645],{"class":1561},[1552,2137,1649],{"class":1648},[1552,2139,1985],{"class":1561},[1552,2141,1988],{"class":1626},[1552,2143,1991],{"class":1561},[1552,2145,2146,2148,2150],{"class":1554,"line":1960},[1552,2147,1929],{"class":1561},[1552,2149,1645],{"class":1652},[1552,2151,1951],{"class":1561},[1746,2153,2155],{"id":2154},"passthrough-and-query-cache","Passthrough and query cache",[1415,2157,2158,2159,2162,2163,2166],{},"When a query handler stores data in ",[1435,2160,2161],{},"passthrough"," that component resolvers depend on, set ",[1435,2164,2165],{},"includePassthrough: true",". The cache then stores and restores the passthrough dump alongside the query result. If a cached entry was stored without passthrough but the current request needs it, the cache returns a miss so the handler re-runs.",[1440,2168,2170],{"id":2169},"component-cache","Component cache",[1415,2172,2173],{},"The component cache stores resolved entity components per entity ID and component name. On each request, Orchestr:",[2175,2176,2177,2185,2188],"ol",{},[2178,2179,2180,2181,2184],"li",{},"Checks the cache for all requested ",[1435,2182,2183],{},"(entityId, component)"," pairs",[2178,2186,2187],{},"Runs component resolvers only for missing pairs",[2178,2189,2190],{},"Writes newly resolved components back to the cache",[1415,2192,2193],{},"This means different components can have different TTLs (e.g. product names cached for a day, prices for 15 minutes).",[1746,2195,2197],{"id":2196},"configuration","Configuration",[1543,2199,2201],{"className":1545,"code":2200,"language":1547,"meta":1548,"style":1548},"export default defineMyAppComponentResolver({\n  entityType: 'Product',\n  provides: [ProductBase, ProductPrices, ProductMedia],\n  cache: {\n    ttl: '1 day',\n    swr: false,         // optional: use SWR semantics\n    getKeySuffix: () => useRuntimeConfig().public.locale ?? 'default',\n    components: {\n      prices: { ttl: '15 minutes' },\n    },\n  },\n  resolve: async (args) => { /* ... */ },\n});\n",[1435,2202,2203,2216,2231,2253,2261,2275,2291,2328,2337,2360,2364,2368,2391],{"__ignoreMap":1548},[1552,2204,2205,2207,2209,2212,2214],{"class":1554,"line":1555},[1552,2206,1760],{"class":1759},[1552,2208,1763],{"class":1759},[1552,2210,2211],{"class":1766}," defineMyAppComponentResolver",[1552,2213,1770],{"class":1652},[1552,2215,1773],{"class":1561},[1552,2217,2218,2221,2223,2225,2227,2229],{"class":1554,"line":1568},[1552,2219,2220],{"class":1778},"  entityType",[1552,2222,1562],{"class":1561},[1552,2224,1576],{"class":1561},[1552,2226,287],{"class":1579},[1552,2228,1583],{"class":1561},[1552,2230,1605],{"class":1561},[1552,2232,2233,2236,2238,2241,2243,2246,2248,2251],{"class":1554,"line":1608},[1552,2234,2235],{"class":1778},"  provides",[1552,2237,1562],{"class":1561},[1552,2239,2240],{"class":1652}," [ProductBase",[1552,2242,1623],{"class":1561},[1552,2244,2245],{"class":1652}," ProductPrices",[1552,2247,1623],{"class":1561},[1552,2249,2250],{"class":1652}," ProductMedia]",[1552,2252,1605],{"class":1561},[1552,2254,2255,2257,2259],{"class":1554,"line":1630},[1552,2256,1791],{"class":1778},[1552,2258,1562],{"class":1561},[1552,2260,1565],{"class":1561},[1552,2262,2263,2265,2267,2269,2271,2273],{"class":1554,"line":1666},[1552,2264,1815],{"class":1778},[1552,2266,1562],{"class":1561},[1552,2268,1576],{"class":1561},[1552,2270,1822],{"class":1579},[1552,2272,1583],{"class":1561},[1552,2274,1605],{"class":1561},[1552,2276,2277,2280,2282,2286,2288],{"class":1554,"line":1683},[1552,2278,2279],{"class":1778},"    swr",[1552,2281,1562],{"class":1561},[1552,2283,2285],{"class":2284},"sfNiH"," false",[1552,2287,1623],{"class":1561},[1552,2289,2290],{"class":1626},"         // optional: use SWR semantics\n",[1552,2292,2293,2296,2298,2301,2303,2306,2308,2310,2313,2315,2318,2320,2322,2324,2326],{"class":1554,"line":1860},[1552,2294,2295],{"class":1766},"    getKeySuffix",[1552,2297,1562],{"class":1561},[1552,2299,2300],{"class":1561}," ()",[1552,2302,1649],{"class":1648},[1552,2304,2305],{"class":1766}," useRuntimeConfig",[1552,2307,2096],{"class":1652},[1552,2309,1890],{"class":1561},[1552,2311,2312],{"class":1652},"public",[1552,2314,1890],{"class":1561},[1552,2316,2317],{"class":1652},"locale ",[1552,2319,1940],{"class":1561},[1552,2321,1576],{"class":1561},[1552,2323,1945],{"class":1579},[1552,2325,1583],{"class":1561},[1552,2327,1605],{"class":1561},[1552,2329,2330,2333,2335],{"class":1554,"line":1866},[1552,2331,2332],{"class":1778},"    components",[1552,2334,1562],{"class":1561},[1552,2336,1565],{"class":1561},[1552,2338,2339,2342,2344,2346,2349,2351,2353,2356,2358],{"class":1554,"line":1912},[1552,2340,2341],{"class":1778},"      prices",[1552,2343,1562],{"class":1561},[1552,2345,1985],{"class":1561},[1552,2347,2348],{"class":1778}," ttl",[1552,2350,1562],{"class":1561},[1552,2352,1576],{"class":1561},[1552,2354,2355],{"class":1579},"15 minutes",[1552,2357,1583],{"class":1561},[1552,2359,1991],{"class":1561},[1552,2361,2362],{"class":1554,"line":1954},[1552,2363,1957],{"class":1561},[1552,2365,2366],{"class":1554,"line":1960},[1552,2367,1963],{"class":1561},[1552,2369,2370,2373,2375,2377,2379,2381,2383,2385,2387,2389],{"class":1554,"line":1966},[1552,2371,2372],{"class":1766},"  resolve",[1552,2374,1562],{"class":1561},[1552,2376,1974],{"class":1648},[1552,2378,1638],{"class":1561},[1552,2380,1642],{"class":1641},[1552,2382,1645],{"class":1561},[1552,2384,1649],{"class":1648},[1552,2386,1985],{"class":1561},[1552,2388,1988],{"class":1626},[1552,2390,1991],{"class":1561},[1552,2392,2393,2395,2397],{"class":1554,"line":1994},[1552,2394,1929],{"class":1561},[1552,2396,1645],{"class":1652},[1552,2398,1951],{"class":1561},[1452,2400,2401,2411],{},[1455,2402,2403],{},[1458,2404,2405,2408],{},[1461,2406,2407],{},"Option",[1461,2409,2410],{},"Description",[1474,2412,2413,2422,2435,2449,2468],{},[1458,2414,2415,2419],{},[1479,2416,2417],{},[1435,2418,1580],{},[1479,2420,2421],{},"Default TTL for all components from this resolver.",[1458,2423,2424,2428],{},[1479,2425,2426],{},[1435,2427,1591],{},[1479,2429,2430,2431,2434],{},"When ",[1435,2432,2433],{},"true",", uses application-level expiry instead of storage driver TTL.",[1458,2436,2437,2442],{},[1479,2438,2439],{},[1435,2440,2441],{},"getKeySuffix",[1479,2443,2444,2445,2448],{},"Returns a suffix appended to cache keys (e.g. locale, channel). Same entity cached separately per suffix. Must not reference handler arguments; use ",[1435,2446,2447],{},"useRuntimeConfig()"," or similar.",[1458,2450,2451,2456],{},[1479,2452,2453],{},[1435,2454,2455],{},"components",[1479,2457,2458,2459,2462,2463,2465,2466,1890],{},"Per-component overrides. Keys are component names (e.g. ",[1435,2460,2461],{},"'prices'","), values override ",[1435,2464,1580],{}," and ",[1435,2467,1591],{},[1458,2469,2470,2475],{},[1479,2471,2472],{},[1435,2473,2474],{},"enabled",[1479,2476,2477,2478,2481],{},"Set to ",[1435,2479,2480],{},"false"," to disable caching for this resolver.",[1440,2483,2485],{"id":2484},"storage-and-drivers","Storage and drivers",[1415,2487,2488],{},"Orchestr registers two storage namespaces:",[2490,2491,2492,2497],"ul",{},[2178,2493,2494,2496],{},[1435,2495,1449],{},": used by the three cache layers above",[2178,2498,2499,2502],{},[1435,2500,2501],{},"cache:orchestr:userland",": for app-level cached helpers (see below)",[1415,2504,2505,2506,2509],{},"In development, both use ",[1430,2507,2508],{},"LRU in-memory"," drivers (max 5000 entries). In production, configure a persistent driver (e.g. Redis) via Nitro storage config for durable or shared caching across instances.",[1746,2511,2513],{"id":2512},"clearing-the-cache","Clearing the cache",[1543,2515,2520],{"className":2516,"code":2518,"language":2519,"meta":1548},[2517],"language-text","POST /api/laioutr/orchestr/clear-cache\n","text",[1435,2521,2518],{"__ignoreMap":1548},[1415,2523,2524],{},"Clears both internal and userland caches. Restrict access in production.",[1440,2526,2528],{"id":2527},"userland-cache","Userland cache",[1415,2530,2531,2532,2535,2536,1890],{},"For data outside query/link/component results (e.g. aggregated counts, resolved SEO URLs, system config), use ",[1435,2533,2534],{},"useUserlandCache"," so the data is cleared together with the orchestr cache. It returns a typed unstorage instance scoped to ",[1435,2537,2538],{},"cache:orchestr:userland:{prefix}",[1543,2540,2542],{"className":1545,"code":2541,"language":1547,"meta":1548,"style":1548},"import { useUserlandCache } from '#imports';\n\nexport const getCategoryTotal = async (\n  adminClient: AdminApiClient,\n  categoryId: string\n): Promise\u003Cnumber | undefined> => {\n  const cache = useUserlandCache\u003Cnumber>('shopify/categoryTotal');\n\n  const cached = await cache.getItem(categoryId);\n  if (typeof cached === 'number') {\n    return cached;\n  }\n\n  const total = await fetchTotalFromApi(adminClient, categoryId);\n  if (total !== undefined) {\n    await cache.setItem(categoryId, total);\n  }\n\n  return total;\n};\n",[1435,2543,2544,2569,2575,2593,2605,2615,2642,2674,2678,2706,2732,2741,2746,2750,2779,2798,2823,2828,2833,2843],{"__ignoreMap":1548},[1552,2545,2546,2549,2551,2554,2557,2560,2562,2565,2567],{"class":1554,"line":1555},[1552,2547,2548],{"class":1759},"import",[1552,2550,1985],{"class":1561},[1552,2552,2553],{"class":1652}," useUserlandCache",[1552,2555,2556],{"class":1561}," }",[1552,2558,2559],{"class":1759}," from",[1552,2561,1576],{"class":1561},[1552,2563,2564],{"class":1579},"#imports",[1552,2566,1583],{"class":1561},[1552,2568,1951],{"class":1561},[1552,2570,2571],{"class":1554,"line":1568},[1552,2572,2574],{"emptyLinePlaceholder":2573},true,"\n",[1552,2576,2577,2579,2582,2585,2588,2590],{"class":1554,"line":1608},[1552,2578,1760],{"class":1759},[1552,2580,2581],{"class":1648}," const",[1552,2583,2584],{"class":1652}," getCategoryTotal ",[1552,2586,2587],{"class":1561},"=",[1552,2589,1974],{"class":1648},[1552,2591,2592],{"class":1652}," (\n",[1552,2594,2595,2598,2600,2603],{"class":1554,"line":1630},[1552,2596,2597],{"class":1641},"  adminClient",[1552,2599,1562],{"class":1561},[1552,2601,2602],{"class":1558}," AdminApiClient",[1552,2604,1605],{"class":1561},[1552,2606,2607,2610,2612],{"class":1554,"line":1666},[1552,2608,2609],{"class":1641},"  categoryId",[1552,2611,1562],{"class":1561},[1552,2613,2614],{"class":1558}," string\n",[1552,2616,2617,2619,2621,2624,2627,2630,2632,2635,2638,2640],{"class":1554,"line":1683},[1552,2618,1645],{"class":1652},[1552,2620,1562],{"class":1561},[1552,2622,2623],{"class":1558}," Promise",[1552,2625,2626],{"class":1561},"\u003C",[1552,2628,2629],{"class":1558},"number",[1552,2631,1586],{"class":1561},[1552,2633,2634],{"class":1558}," undefined",[1552,2636,2637],{"class":1561},">",[1552,2639,1649],{"class":1648},[1552,2641,1565],{"class":1561},[1552,2643,2644,2647,2650,2653,2655,2657,2659,2661,2663,2665,2668,2670,2672],{"class":1554,"line":1860},[1552,2645,2646],{"class":1648},"  const",[1552,2648,2649],{"class":1652}," cache",[1552,2651,2652],{"class":1561}," =",[1552,2654,2553],{"class":1766},[1552,2656,2626],{"class":1561},[1552,2658,2629],{"class":1558},[1552,2660,2637],{"class":1561},[1552,2662,1770],{"class":1778},[1552,2664,1583],{"class":1561},[1552,2666,2667],{"class":1579},"shopify/categoryTotal",[1552,2669,1583],{"class":1561},[1552,2671,1645],{"class":1778},[1552,2673,1951],{"class":1561},[1552,2675,2676],{"class":1554,"line":1866},[1552,2677,2574],{"emptyLinePlaceholder":2573},[1552,2679,2680,2682,2685,2687,2690,2692,2694,2697,2699,2702,2704],{"class":1554,"line":1912},[1552,2681,2646],{"class":1648},[1552,2683,2684],{"class":1652}," cached",[1552,2686,2652],{"class":1561},[1552,2688,2689],{"class":1759}," await",[1552,2691,2649],{"class":1652},[1552,2693,1890],{"class":1561},[1552,2695,2696],{"class":1766},"getItem",[1552,2698,1770],{"class":1778},[1552,2700,2701],{"class":1652},"categoryId",[1552,2703,1645],{"class":1778},[1552,2705,1951],{"class":1561},[1552,2707,2708,2711,2713,2716,2718,2721,2723,2725,2727,2730],{"class":1554,"line":1954},[1552,2709,2710],{"class":1759},"  if",[1552,2712,1638],{"class":1778},[1552,2714,2715],{"class":1561},"typeof",[1552,2717,2684],{"class":1652},[1552,2719,2720],{"class":1561}," ===",[1552,2722,1576],{"class":1561},[1552,2724,2629],{"class":1579},[1552,2726,1583],{"class":1561},[1552,2728,2729],{"class":1778},") ",[1552,2731,1773],{"class":1561},[1552,2733,2734,2737,2739],{"class":1554,"line":1960},[1552,2735,2736],{"class":1759},"    return",[1552,2738,2684],{"class":1652},[1552,2740,1951],{"class":1561},[1552,2742,2743],{"class":1554,"line":1966},[1552,2744,2745],{"class":1561},"  }\n",[1552,2747,2748],{"class":1554,"line":1994},[1552,2749,2574],{"emptyLinePlaceholder":2573},[1552,2751,2753,2755,2758,2760,2762,2765,2767,2770,2772,2775,2777],{"class":1554,"line":2752},14,[1552,2754,2646],{"class":1648},[1552,2756,2757],{"class":1652}," total",[1552,2759,2652],{"class":1561},[1552,2761,2689],{"class":1759},[1552,2763,2764],{"class":1766}," fetchTotalFromApi",[1552,2766,1770],{"class":1778},[1552,2768,2769],{"class":1652},"adminClient",[1552,2771,1623],{"class":1561},[1552,2773,2774],{"class":1652}," categoryId",[1552,2776,1645],{"class":1778},[1552,2778,1951],{"class":1561},[1552,2780,2782,2784,2786,2789,2792,2794,2796],{"class":1554,"line":2781},15,[1552,2783,2710],{"class":1759},[1552,2785,1638],{"class":1778},[1552,2787,2788],{"class":1652},"total",[1552,2790,2791],{"class":1561}," !==",[1552,2793,2634],{"class":1561},[1552,2795,2729],{"class":1778},[1552,2797,1773],{"class":1561},[1552,2799,2801,2804,2806,2808,2811,2813,2815,2817,2819,2821],{"class":1554,"line":2800},16,[1552,2802,2803],{"class":1759},"    await",[1552,2805,2649],{"class":1652},[1552,2807,1890],{"class":1561},[1552,2809,2810],{"class":1766},"setItem",[1552,2812,1770],{"class":1778},[1552,2814,2701],{"class":1652},[1552,2816,1623],{"class":1561},[1552,2818,2757],{"class":1652},[1552,2820,1645],{"class":1778},[1552,2822,1951],{"class":1561},[1552,2824,2826],{"class":1554,"line":2825},17,[1552,2827,2745],{"class":1561},[1552,2829,2831],{"class":1554,"line":2830},18,[1552,2832,2574],{"emptyLinePlaceholder":2573},[1552,2834,2836,2839,2841],{"class":1554,"line":2835},19,[1552,2837,2838],{"class":1759},"  return",[1552,2840,2757],{"class":1652},[1552,2842,1951],{"class":1561},[1552,2844,2846],{"class":1554,"line":2845},20,[1552,2847,2848],{"class":1561},"};\n",[1415,2850,2851,2852,2854,2855,2854,2857,2854,2860,2863,2864,1890],{},"The cache prefix keeps keys organized per app and concern. Since this is a standard unstorage instance, you have access to ",[1435,2853,2696],{},", ",[1435,2856,2810],{},[1435,2858,2859],{},"removeItem",[1435,2861,2862],{},"getKeys",", and all other ",[1419,2865,2868],{"href":2866,"rel":2867},"https://unstorage.unjs.io/usage",[1423],"unstorage methods",[1415,2870,2871,2872,2875,2876,1890],{},"For function-level caching with automatic key management, you can also use Nitro's ",[1435,2873,2874],{},"defineCachedFunction"," with ",[1435,2877,2878],{},"base: ORCHESTR_CACHE_KEY_USERLAND",[2880,2881,2882],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":1548,"searchDepth":1568,"depth":1568,"links":2884},[2885,2886,2891,2894,2897],{"id":1442,"depth":1568,"text":1443},{"id":1537,"depth":1568,"text":1538,"children":2887},[2888,2889,2890],{"id":1748,"depth":1608,"text":1749},{"id":2003,"depth":1608,"text":2004},{"id":2154,"depth":1608,"text":2155},{"id":2169,"depth":1568,"text":2170,"children":2892},[2893],{"id":2196,"depth":1608,"text":2197},{"id":2484,"depth":1568,"text":2485,"children":2895},[2896],{"id":2512,"depth":1608,"text":2513},{"id":2527,"depth":1568,"text":2528},"How Orchestr caches API data — query cache, link cache, and component cache. Configure strategies and cache keys for your own integrations.","md",{"links":2901},[],{"title":2903,"description":2904},"Caching | Laioutr","How Orchestr caches API data — query cache, link cache, and component cache. Configure strategies and cache keys for…",{"loc":249,"lastmod":2906,"changefreq":2907,"priority":1555},"2026-04-08","monthly","qckFZEWZfGNr3ts_Xef7AUENsQ3_XafRvpzoXwJMsxg",[2910,2912],{"title":244,"path":245,"stem":246,"description":2911,"children":-1},"Understanding the basics of Orchestr actions",{"title":252,"path":253,"stem":254,"description":2913,"children":-1},"Extend Orchestr handlers with shared context, API clients, and cross-cutting logic using extendRequest and use.",1777971360553]