[{"data":1,"prerenderedAt":3374},["ShallowReactive",2],{"navigation_docs":3,"-frontend-api-reference-common-types-money":1474,"-frontend-api-reference-common-types-money-surround":3369},[4,132,442,591,1159,1231,1237,1243,1302,1401],{"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,301],{"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,269,273,277,281,285,289,293,297],{"title":238,"path":239,"stem":240},{"title":244,"path":245,"stem":246,"children":247},"Recipes","/frontend/orchestr/recipes","1.Frontend/4.Orchestr/99.recipes/0.index",[248,249,253,257,261,265],{"title":244,"path":245,"stem":246},{"title":250,"path":251,"stem":252},"Analytics components from query handlers","/frontend/orchestr/recipes/analytics-from-query-handlers","1.Frontend/4.Orchestr/99.recipes/analytics-from-query-handlers",{"title":254,"path":255,"stem":256},"Identity cookies (cart and visitor IDs)","/frontend/orchestr/recipes/identity-cookies","1.Frontend/4.Orchestr/99.recipes/identity-cookies",{"title":258,"path":259,"stem":260},"System bootstrap in extendRequest","/frontend/orchestr/recipes/system-bootstrap","1.Frontend/4.Orchestr/99.recipes/system-bootstrap",{"title":262,"path":263,"stem":264},"Translating vendor errors","/frontend/orchestr/recipes/translating-vendor-errors","1.Frontend/4.Orchestr/99.recipes/translating-vendor-errors",{"title":266,"path":267,"stem":268},"Userland cache patterns","/frontend/orchestr/recipes/userland-cache-patterns","1.Frontend/4.Orchestr/99.recipes/userland-cache-patterns",{"title":270,"path":271,"stem":272},"Actions","/frontend/orchestr/actions","1.Frontend/4.Orchestr/Actions",{"title":274,"path":275,"stem":276},"Caching","/frontend/orchestr/caching","1.Frontend/4.Orchestr/Caching",{"title":278,"path":279,"stem":280},"Middleware","/frontend/orchestr/middleware","1.Frontend/4.Orchestr/Middleware",{"title":282,"path":283,"stem":284},"Queries & Links","/frontend/orchestr/queries","1.Frontend/4.Orchestr/Queries",{"title":286,"path":287,"stem":288},"Component Resolvers","/frontend/orchestr/component-resolvers","1.Frontend/4.Orchestr/component-resolvers",{"title":290,"path":291,"stem":292},"Filters","/frontend/orchestr/filters","1.Frontend/4.Orchestr/filters",{"title":294,"path":295,"stem":296},"URL Query Parameters","/frontend/orchestr/url-query-params","1.Frontend/4.Orchestr/url-query-params",{"title":298,"path":299,"stem":300},"Orchestr Wire Format","/frontend/orchestr/wire-format","1.Frontend/4.Orchestr/wire-format",{"title":302,"path":303,"stem":304,"children":305},"API Reference","/frontend/api-reference","1.Frontend/99.api-reference/0.index",[306,307,364,367,392,408,416,427,435],{"title":302,"path":303,"stem":304},{"title":308,"path":309,"stem":310,"children":311,"page":55},"Entities","/frontend/api-reference/entities","1.Frontend/99.api-reference/01.entities",[312,316,320,324,328,332,336,340,344,348,352,356,360],{"title":313,"path":314,"stem":315},"Product","/frontend/api-reference/entities/product","1.Frontend/99.api-reference/01.entities/1.product",{"title":317,"path":318,"stem":319},"SuggestedSearch","/frontend/api-reference/entities/suggested-search","1.Frontend/99.api-reference/01.entities/10.suggested-search",{"title":321,"path":322,"stem":323},"SuggestedSearchEntry","/frontend/api-reference/entities/suggested-search-entry","1.Frontend/99.api-reference/01.entities/11.suggested-search-entry",{"title":325,"path":326,"stem":327},"BlogCollection","/frontend/api-reference/entities/blog-collection","1.Frontend/99.api-reference/01.entities/12.blog-collection",{"title":329,"path":330,"stem":331},"Comment","/frontend/api-reference/entities/comment","1.Frontend/99.api-reference/01.entities/13.comment",{"title":333,"path":334,"stem":335},"ProductVariant","/frontend/api-reference/entities/product-variant","1.Frontend/99.api-reference/01.entities/2.product-variant",{"title":337,"path":338,"stem":339},"Category","/frontend/api-reference/entities/category","1.Frontend/99.api-reference/01.entities/3.category",{"title":341,"path":342,"stem":343},"Cart","/frontend/api-reference/entities/cart","1.Frontend/99.api-reference/01.entities/4.cart",{"title":345,"path":346,"stem":347},"CartItem","/frontend/api-reference/entities/cart-item","1.Frontend/99.api-reference/01.entities/5.cart-item",{"title":349,"path":350,"stem":351},"Review","/frontend/api-reference/entities/review","1.Frontend/99.api-reference/01.entities/6.review",{"title":353,"path":354,"stem":355},"BreadcrumbItem","/frontend/api-reference/entities/breadcrumb-item","1.Frontend/99.api-reference/01.entities/7.breadcrumb-item",{"title":357,"path":358,"stem":359},"MenuItem","/frontend/api-reference/entities/menu-item","1.Frontend/99.api-reference/01.entities/8.menu-item",{"title":361,"path":362,"stem":363},"BlogPost","/frontend/api-reference/entities/blog-post","1.Frontend/99.api-reference/01.entities/9.blog-post",{"title":184,"path":365,"stem":366},"/frontend/api-reference/page-types","1.Frontend/99.api-reference/02.page-types",{"title":368,"path":369,"stem":370,"children":371,"page":55},"Common Types","/frontend/api-reference/common-types","1.Frontend/99.api-reference/03.common-types",[372,376,380,384,388],{"title":373,"path":374,"stem":375},"Link","/frontend/api-reference/common-types/link","1.Frontend/99.api-reference/03.common-types/1.link",{"title":377,"path":378,"stem":379},"Media","/frontend/api-reference/common-types/media","1.Frontend/99.api-reference/03.common-types/2.media",{"title":381,"path":382,"stem":383},"Money","/frontend/api-reference/common-types/money","1.Frontend/99.api-reference/03.common-types/3.money",{"title":385,"path":386,"stem":387},"UnitPrice","/frontend/api-reference/common-types/unit-price","1.Frontend/99.api-reference/03.common-types/4.unit-price",{"title":389,"path":390,"stem":391},"Measurement","/frontend/api-reference/common-types/measurement","1.Frontend/99.api-reference/03.common-types/5.measurement",{"title":393,"path":394,"stem":395,"children":396,"page":55},"Ecommerce","/frontend/api-reference/ecommerce","1.Frontend/99.api-reference/10.ecommerce",[397,400,404],{"title":270,"path":398,"stem":399},"/frontend/api-reference/ecommerce/actions","1.Frontend/99.api-reference/10.ecommerce/1.actions",{"title":401,"path":402,"stem":403},"Queries","/frontend/api-reference/ecommerce/queries","1.Frontend/99.api-reference/10.ecommerce/2.queries",{"title":405,"path":406,"stem":407},"Errors","/frontend/api-reference/ecommerce/errors","1.Frontend/99.api-reference/10.ecommerce/3.errors",{"title":409,"path":410,"stem":411,"children":412,"page":55},"Newsletter","/frontend/api-reference/newsletter","1.Frontend/99.api-reference/11.newsletter",[413],{"title":270,"path":414,"stem":415},"/frontend/api-reference/newsletter/actions","1.Frontend/99.api-reference/11.newsletter/1.actions",{"title":417,"path":418,"stem":419,"children":420,"page":55},"Blog","/frontend/api-reference/blog","1.Frontend/99.api-reference/12.blog",[421,424],{"title":401,"path":422,"stem":423},"/frontend/api-reference/blog/queries","1.Frontend/99.api-reference/12.blog/1.queries",{"title":405,"path":425,"stem":426},"/frontend/api-reference/blog/errors","1.Frontend/99.api-reference/12.blog/2.errors",{"title":428,"path":429,"stem":430,"children":431,"page":55},"Suggested Search","/frontend/api-reference/suggested-search","1.Frontend/99.api-reference/13.suggested-search",[432],{"title":401,"path":433,"stem":434},"/frontend/api-reference/suggested-search/queries","1.Frontend/99.api-reference/13.suggested-search/1.queries",{"title":204,"path":436,"stem":437,"children":438,"page":55},"/frontend/api-reference/tracking","1.Frontend/99.api-reference/14.tracking",[439],{"title":270,"path":440,"stem":441},"/frontend/api-reference/tracking/actions","1.Frontend/99.api-reference/14.tracking/1.actions",{"title":443,"path":444,"stem":445,"children":446},"Apps","/apps","2.Apps/0.index",[447,448,502,575],{"title":443,"path":444,"stem":445},{"title":449,"path":450,"stem":451,"children":452},"App Development","/apps/app-development","2.Apps/app-development/0.index",[453,454,458,462,466,470,474,478,482,486,490,494,498],{"title":449,"path":450,"stem":451},{"title":455,"path":456,"stem":457},"App Configuration","/apps/app-development/app-configuration","2.Apps/app-development/app-configuration",{"title":459,"path":460,"stem":461},"App Starter","/apps/app-development/app-starter","2.Apps/app-development/app-starter",{"title":463,"path":464,"stem":465},"Best Practice","/apps/app-development/best-practice","2.Apps/app-development/best-practice",{"title":467,"path":468,"stem":469},"Block Definitions","/apps/app-development/block-definitions","2.Apps/app-development/block-definitions",{"title":471,"path":472,"stem":473},"Coding Standards","/apps/app-development/coding-standards","2.Apps/app-development/coding-standards",{"title":475,"path":476,"stem":477},"Consent Adapters","/apps/app-development/consent-adapters","2.Apps/app-development/consent-adapters",{"title":479,"path":480,"stem":481},"Consuming Query Fields","/apps/app-development/consuming-query-fields","2.Apps/app-development/consuming-query-fields",{"title":483,"path":484,"stem":485},"Implementation Overview","/apps/app-development/implementation-overview","2.Apps/app-development/implementation-overview",{"title":487,"path":488,"stem":489},"Platform Dependencies","/apps/app-development/platform-dependencies","2.Apps/app-development/platform-dependencies",{"title":491,"path":492,"stem":493},"Schema Fields","/apps/app-development/schema-fields","2.Apps/app-development/schema-fields",{"title":495,"path":496,"stem":497},"Section Definitions","/apps/app-development/section-definitions","2.Apps/app-development/section-definitions",{"title":499,"path":500,"stem":501},"Studio Icons","/apps/app-development/studio-icons","2.Apps/app-development/studio-icons",{"title":503,"path":504,"stem":505,"children":506,"page":55},"App Docs","/apps/app-docs","2.Apps/app-docs",[507,511,515,519,523,527,531,535,539,543,547,551,555,559,563,567,571],{"title":508,"path":509,"stem":510},"Adobe Commerce","/apps/app-docs/adobe-commerce","2.Apps/app-docs/adobe-commerce",{"title":512,"path":513,"stem":514},"B2Bsellers","/apps/app-docs/b2bsellers","2.Apps/app-docs/b2bsellers",{"title":516,"path":517,"stem":518},"Battery Included","/apps/app-docs/battery-included","2.Apps/app-docs/battery-included",{"title":520,"path":521,"stem":522},"CCM19","/apps/app-docs/ccm19","2.Apps/app-docs/ccm19",{"title":524,"path":525,"stem":526},"Cookiebot","/apps/app-docs/cookiebot","2.Apps/app-docs/cookiebot",{"title":528,"path":529,"stem":530},"Google Tag Manager (GTM)","/apps/app-docs/gtm","2.Apps/app-docs/gtm",{"title":532,"path":533,"stem":534},"Hygraph","/apps/app-docs/hygraph","2.Apps/app-docs/hygraph",{"title":536,"path":537,"stem":538},"Nimstrata Google Retail API","/apps/app-docs/nimstrata","2.Apps/app-docs/nimstrata",{"title":540,"path":541,"stem":542},"Pimcore","/apps/app-docs/pimcore","2.Apps/app-docs/pimcore",{"title":544,"path":545,"stem":546},"Commercetools","/apps/app-docs/commercetools","2.apps/app-docs/commercetools",{"title":548,"path":549,"stem":550},"Emporix","/apps/app-docs/emporix","2.apps/app-docs/emporix",{"title":552,"path":553,"stem":554},"Klaviyo","/apps/app-docs/klaviyo","2.apps/app-docs/klaviyo",{"title":556,"path":557,"stem":558},"OXID eShop","/apps/app-docs/oxid","2.apps/app-docs/oxid",{"title":560,"path":561,"stem":562},"Shopify","/apps/app-docs/shopify","2.apps/app-docs/shopify",{"title":564,"path":565,"stem":566},"Shopware","/apps/app-docs/shopware","2.apps/app-docs/shopware",{"title":568,"path":569,"stem":570},"Vercel Analytics","/apps/app-docs/vercel-analytics","2.apps/app-docs/vercel-analytics",{"title":572,"path":573,"stem":574},"Vercel Speed Insights","/apps/app-docs/vercel-speed-insights","2.apps/app-docs/vercel-speed-insights",{"title":576,"path":577,"stem":578,"children":579,"page":55},"Essentials","/apps/essentials","2.Apps/essentials",[580,584,588],{"title":581,"path":582,"stem":583},"Legal","/apps/essentials/legal","2.Apps/essentials/legal",{"title":585,"path":586,"stem":587},"Mailer","/apps/essentials/mailer","2.Apps/essentials/mailer",{"title":212,"path":589,"stem":590},"/apps/essentials/seo","2.Apps/essentials/seo",{"title":592,"path":593,"stem":594,"children":595},"Laioutr UI","/laioutr-ui","3.laioutr-ui/0.index",[596,597,621,627,633,739,745,751,805,827,880],{"title":592,"path":593,"stem":594},{"title":5,"path":598,"stem":599,"children":600},"/laioutr-ui/getting-started","3.laioutr-ui/01.getting-started/0.index",[601,602,606,610,614,618],{"title":5,"path":598,"stem":599},{"title":603,"path":604,"stem":605},"Browser support","/laioutr-ui/getting-started/browser-support","3.laioutr-ui/01.getting-started/1.browser-support",{"title":607,"path":608,"stem":609},"Common Data","/laioutr-ui/getting-started/common-data","3.laioutr-ui/01.getting-started/99.common-data",{"title":611,"path":612,"stem":613},"Figma Kit","/laioutr-ui/getting-started/figma-kit","3.laioutr-ui/01.getting-started/figma-kit",{"title":615,"path":616,"stem":617},"Theming","/laioutr-ui/getting-started/theming","3.laioutr-ui/01.getting-started/theming",{"title":208,"path":619,"stem":620},"/laioutr-ui/getting-started/z-ordering","3.laioutr-ui/01.getting-started/z-ordering",{"title":622,"path":623,"stem":624,"children":625},"B2B","/laioutr-ui/b2b","3.laioutr-ui/b2b/0.index",[626],{"title":622,"path":623,"stem":624},{"title":628,"path":629,"stem":630,"children":631},"Booking","/laioutr-ui/booking","3.laioutr-ui/booking/0.index",[632],{"title":628,"path":629,"stem":630},{"title":634,"path":635,"stem":636,"children":637},"CMS","/laioutr-ui/cms","3.laioutr-ui/cms/0.index",[638,639,664,672,684,693,714],{"title":634,"path":635,"stem":636},{"title":640,"path":641,"stem":642,"children":643,"page":55},"Banner","/laioutr-ui/cms/banner","3.laioutr-ui/cms/banner",[644,648,652,656,660],{"title":645,"path":646,"stem":647},"Banner Slider","/laioutr-ui/cms/banner/bannerslider","3.laioutr-ui/cms/banner/BannerSlider",{"title":649,"path":650,"stem":651},"Basic Banner with Image and Text","/laioutr-ui/cms/banner/basicbannerwithimageandtext","3.laioutr-ui/cms/banner/BasicBannerWithImageAndText",{"title":653,"path":654,"stem":655},"Content with Image and Text","/laioutr-ui/cms/banner/contentwithimageandtext","3.laioutr-ui/cms/banner/ContentWithImageAndText",{"title":657,"path":658,"stem":659},"Content With Text Columns","/laioutr-ui/cms/banner/contentwithtextcolumns","3.laioutr-ui/cms/banner/ContentWithTextColumns",{"title":661,"path":662,"stem":663},"USP Banner","/laioutr-ui/cms/banner/uspbanner","3.laioutr-ui/cms/banner/UspBanner",{"title":417,"path":665,"stem":666,"children":667,"page":55},"/laioutr-ui/cms/blog","3.laioutr-ui/cms/blog",[668],{"title":669,"path":670,"stem":671},"Blog Post","/laioutr-ui/cms/blog/blogpost","3.laioutr-ui/cms/blog/BlogPost",{"title":409,"path":673,"stem":674,"children":675,"page":55},"/laioutr-ui/cms/newsletter","3.laioutr-ui/cms/newsletter",[676,680],{"title":677,"path":678,"stem":679},"Input for Newsletter","/laioutr-ui/cms/newsletter/inputnewsletter","3.laioutr-ui/cms/newsletter/InputNewsletter",{"title":681,"path":682,"stem":683},"Newsletter Registration","/laioutr-ui/cms/newsletter/newsletterregistration","3.laioutr-ui/cms/newsletter/NewsletterRegistration",{"title":685,"path":686,"stem":687,"children":688,"page":55},"Quotes","/laioutr-ui/cms/quotes","3.laioutr-ui/cms/quotes",[689],{"title":690,"path":691,"stem":692},"Personal Quote with Text and Image","/laioutr-ui/cms/quotes/personalquote","3.laioutr-ui/cms/quotes/PersonalQuote",{"title":694,"path":695,"stem":696,"children":697,"page":55},"Reviews","/laioutr-ui/cms/reviews","3.laioutr-ui/cms/reviews",[698,702,706,710],{"title":699,"path":700,"stem":701},"Quote Card","/laioutr-ui/cms/reviews/quotecard","3.laioutr-ui/cms/reviews/QuoteCard",{"title":703,"path":704,"stem":705},"Rating","/laioutr-ui/cms/reviews/rating","3.laioutr-ui/cms/reviews/Rating",{"title":707,"path":708,"stem":709},"Rating Form","/laioutr-ui/cms/reviews/ratingform","3.laioutr-ui/cms/reviews/RatingForm",{"title":711,"path":712,"stem":713},"Review Section","/laioutr-ui/cms/reviews/reviewsection","3.laioutr-ui/cms/reviews/ReviewSection",{"title":715,"path":716,"stem":717,"children":718,"page":55},"Slider","/laioutr-ui/cms/slider","3.laioutr-ui/cms/slider",[719,723,727,731,735],{"title":720,"path":721,"stem":722},"Hero Slider","/laioutr-ui/cms/slider/heroslider","3.laioutr-ui/cms/slider/HeroSlider",{"title":724,"path":725,"stem":726},"Logo Slider","/laioutr-ui/cms/slider/logoslider","3.laioutr-ui/cms/slider/LogoSlider",{"title":728,"path":729,"stem":730},"Swiper Navigation with Bullets","/laioutr-ui/cms/slider/swipernavigationbullets","3.laioutr-ui/cms/slider/SwiperNavigationBullets",{"title":732,"path":733,"stem":734},"Swiper Navigation Compact","/laioutr-ui/cms/slider/swipernavigationcompact","3.laioutr-ui/cms/slider/SwiperNavigationCompact",{"title":736,"path":737,"stem":738},"Swiper Navigation with Numbers","/laioutr-ui/cms/slider/swipernavigationnumbers","3.laioutr-ui/cms/slider/SwiperNavigationNumbers",{"title":740,"path":741,"stem":742,"children":743},"Marketplace","/laioutr-ui/marketplace","3.laioutr-ui/marketplace/0.index",[744],{"title":740,"path":741,"stem":742},{"title":746,"path":747,"stem":748,"children":749},"Multichannel","/laioutr-ui/multichannel","3.laioutr-ui/multichannel/0.index",[750],{"title":746,"path":747,"stem":748},{"title":752,"path":753,"stem":754,"children":755},"Navigation & Headers","/laioutr-ui/navigation","3.laioutr-ui/navigation/0.index",[756,757,761,765,769,773,777,781,785,789,793,797,801],{"title":752,"path":753,"stem":754},{"title":758,"path":759,"stem":760},"Basic Header","/laioutr-ui/navigation/basicheader","3.laioutr-ui/navigation/BasicHeader",{"title":762,"path":763,"stem":764},"Color Mode Switch","/laioutr-ui/navigation/colormodeswitch","3.laioutr-ui/navigation/ColorModeSwitch",{"title":766,"path":767,"stem":768},"Desktop Side By Side Menu","/laioutr-ui/navigation/desktopsidebysidemenu","3.laioutr-ui/navigation/DesktopSideBySideMenu",{"title":770,"path":771,"stem":772},"Header with Text Links","/laioutr-ui/navigation/headerwithtextlinks","3.laioutr-ui/navigation/HeaderWithTextLinks",{"title":774,"path":775,"stem":776},"Locale Select","/laioutr-ui/navigation/localeselect","3.laioutr-ui/navigation/LocaleSelect",{"title":778,"path":779,"stem":780},"Mega Menu Desktop","/laioutr-ui/navigation/megamenudesktop","3.laioutr-ui/navigation/MegaMenuDesktop",{"title":782,"path":783,"stem":784},"Mobile Menu","/laioutr-ui/navigation/mobilemenu","3.laioutr-ui/navigation/MobileMenu",{"title":786,"path":787,"stem":788},"Search Overlay Input","/laioutr-ui/navigation/searchoverlayinput","3.laioutr-ui/navigation/SearchOverlayInput",{"title":790,"path":791,"stem":792},"Shop Header","/laioutr-ui/navigation/shopheader","3.laioutr-ui/navigation/ShopHeader",{"title":794,"path":795,"stem":796},"Top Bar","/laioutr-ui/navigation/topbar","3.laioutr-ui/navigation/TopBar",{"title":798,"path":799,"stem":800},"Breadcrumb","/laioutr-ui/navigation/breadcrumb","3.laioutr-ui/navigation/breadcrumb",{"title":802,"path":803,"stem":804},"Footer","/laioutr-ui/navigation/footer","3.laioutr-ui/navigation/footer",{"title":806,"path":807,"stem":808,"children":809},"SaaS","/laioutr-ui/saas","3.laioutr-ui/saas/0.index",[810,811,815,819,823],{"title":806,"path":807,"stem":808},{"title":812,"path":813,"stem":814},"Billing Cycle Switch","/laioutr-ui/saas/billingcycleswitch","3.laioutr-ui/saas/BillingCycleSwitch",{"title":816,"path":817,"stem":818},"Pricing Plan","/laioutr-ui/saas/pricingplan","3.laioutr-ui/saas/pricingplan",{"title":820,"path":821,"stem":822},"Pricing Plans","/laioutr-ui/saas/pricingplans","3.laioutr-ui/saas/pricingplans",{"title":824,"path":825,"stem":826},"Pricing Table","/laioutr-ui/saas/pricingtable","3.laioutr-ui/saas/pricingtable",{"title":828,"path":829,"stem":830,"children":831},"Shop","/laioutr-ui/shop","3.laioutr-ui/shop/0.index",[832,833,837,841,845,849,853,857,861,865,869,873,877],{"title":828,"path":829,"stem":830},{"title":834,"path":835,"stem":836},"Cards Container","/laioutr-ui/shop/cardscontainer","3.laioutr-ui/shop/CardsContainer",{"title":838,"path":839,"stem":840},"Grid Card Content","/laioutr-ui/shop/gridcardcontent","3.laioutr-ui/shop/GridCardContent",{"title":842,"path":843,"stem":844},"Grid Card Text Content","/laioutr-ui/shop/gridcardtextcontent","3.laioutr-ui/shop/GridCardTextContent",{"title":846,"path":847,"stem":848},"Inpage Navigation Basic Grid","/laioutr-ui/shop/inpagenavigationbasicgrid","3.laioutr-ui/shop/InpageNavigationBasicGrid",{"title":850,"path":851,"stem":852},"Inpage Navigation Basic Slider","/laioutr-ui/shop/inpagenavigationbasicslider","3.laioutr-ui/shop/InpageNavigationBasicSlider",{"title":854,"path":855,"stem":856},"Inpage Navigation Big Grid","/laioutr-ui/shop/inpagenavigationbiggrid","3.laioutr-ui/shop/InpageNavigationBigGrid",{"title":858,"path":859,"stem":860},"Inpage Navigation Big Slider","/laioutr-ui/shop/inpagenavigationbigslider","3.laioutr-ui/shop/InpageNavigationBigSlider",{"title":862,"path":863,"stem":864},"Inpage Navigation Compact Grid","/laioutr-ui/shop/inpagenavigationcompactgrid","3.laioutr-ui/shop/InpageNavigationCompactGrid",{"title":866,"path":867,"stem":868},"Inpage Navigation Compact Slider","/laioutr-ui/shop/inpagenavigationcompactslider","3.laioutr-ui/shop/InpageNavigationCompactSlider",{"title":870,"path":871,"stem":872},"Product Card","/laioutr-ui/shop/productcard","3.laioutr-ui/shop/ProductCard",{"title":874,"path":875,"stem":876},"Product Slider","/laioutr-ui/shop/productslider","3.laioutr-ui/shop/ProductSlider",{"title":290,"path":878,"stem":879},"/laioutr-ui/shop/filters","3.laioutr-ui/shop/filters",{"title":881,"path":882,"stem":883,"children":884},"UI Kit","/laioutr-ui/ui-kit","3.laioutr-ui/ui-kit/0.index",[885,886,962,982,1003,1036,1057,1122],{"title":881,"path":882,"stem":883},{"title":887,"path":888,"stem":889,"children":890,"page":55},"General","/laioutr-ui/ui-kit/general","3.laioutr-ui/ui-kit/01.general",[891,895,899,903,907,911,915,919,923,927,931,935,938,942,946,950,954,958],{"title":892,"path":893,"stem":894},"Accordion","/laioutr-ui/ui-kit/general/accordion","3.laioutr-ui/ui-kit/01.general/Accordion",{"title":896,"path":897,"stem":898},"Avatar","/laioutr-ui/ui-kit/general/avatar","3.laioutr-ui/ui-kit/01.general/Avatar",{"title":900,"path":901,"stem":902},"Backdrop","/laioutr-ui/ui-kit/general/backdrop","3.laioutr-ui/ui-kit/01.general/Backdrop",{"title":904,"path":905,"stem":906},"Color Swatch","/laioutr-ui/ui-kit/general/colorswatch","3.laioutr-ui/ui-kit/01.general/ColorSwatch",{"title":908,"path":909,"stem":910},"Dropdown Menu","/laioutr-ui/ui-kit/general/dropdownmenu","3.laioutr-ui/ui-kit/01.general/DropdownMenu",{"title":912,"path":913,"stem":914},"Edge Glow","/laioutr-ui/ui-kit/general/edgeglow","3.laioutr-ui/ui-kit/01.general/EdgeGlow",{"title":916,"path":917,"stem":918},"Empty State","/laioutr-ui/ui-kit/general/emptystate","3.laioutr-ui/ui-kit/01.general/EmptyState",{"title":920,"path":921,"stem":922},"Icon","/laioutr-ui/ui-kit/general/icon","3.laioutr-ui/ui-kit/01.general/Icon",{"title":924,"path":925,"stem":926},"Image Contrast Overlay","/laioutr-ui/ui-kit/general/imagecontrastoverlay","3.laioutr-ui/ui-kit/01.general/ImageContrastOverlay",{"title":928,"path":929,"stem":930},"Image Variant Thumbnail","/laioutr-ui/ui-kit/general/imagevariantthumbnail","3.laioutr-ui/ui-kit/01.general/ImageVariantThumbnail",{"title":932,"path":933,"stem":934},"Loading Spinner","/laioutr-ui/ui-kit/general/loadingspinner","3.laioutr-ui/ui-kit/01.general/LoadingSpinner",{"title":377,"path":936,"stem":937},"/laioutr-ui/ui-kit/general/media","3.laioutr-ui/ui-kit/01.general/Media",{"title":939,"path":940,"stem":941},"Navigation Bullets","/laioutr-ui/ui-kit/general/navigationbullets","3.laioutr-ui/ui-kit/01.general/NavigationBullets",{"title":943,"path":944,"stem":945},"Placeholder","/laioutr-ui/ui-kit/general/placeholder","3.laioutr-ui/ui-kit/01.general/Placeholder",{"title":947,"path":948,"stem":949},"Progress Bar","/laioutr-ui/ui-kit/general/progressbar","3.laioutr-ui/ui-kit/01.general/ProgressBar",{"title":951,"path":952,"stem":953},"Scrollbar","/laioutr-ui/ui-kit/general/scrollbar","3.laioutr-ui/ui-kit/01.general/Scrollbar",{"title":955,"path":956,"stem":957},"Swatch Preview","/laioutr-ui/ui-kit/general/swatchpreview","3.laioutr-ui/ui-kit/01.general/SwatchPreview",{"title":959,"path":960,"stem":961},"Thumbnail","/laioutr-ui/ui-kit/general/thumbnail","3.laioutr-ui/ui-kit/01.general/Thumbnail",{"title":963,"path":964,"stem":965,"children":966,"page":55},"Typography","/laioutr-ui/ui-kit/typography","3.laioutr-ui/ui-kit/02.typography",[967,971,974,978],{"title":968,"path":969,"stem":970},"Icon List","/laioutr-ui/ui-kit/typography/iconlist","3.laioutr-ui/ui-kit/02.typography/IconList",{"title":373,"path":972,"stem":973},"/laioutr-ui/ui-kit/typography/link","3.laioutr-ui/ui-kit/02.typography/Link",{"title":975,"path":976,"stem":977},"Rich Content","/laioutr-ui/ui-kit/typography/richcontent","3.laioutr-ui/ui-kit/02.typography/RichContent",{"title":979,"path":980,"stem":981},"Text","/laioutr-ui/ui-kit/typography/text","3.laioutr-ui/ui-kit/02.typography/Text",{"title":983,"path":984,"stem":985,"children":986,"page":55},"Layout","/laioutr-ui/ui-kit/layout","3.laioutr-ui/ui-kit/03.layout",[987,991,995,999],{"title":988,"path":989,"stem":990},"Grid Fill","/laioutr-ui/ui-kit/layout/gridfill","3.laioutr-ui/ui-kit/03.layout/GridFill",{"title":992,"path":993,"stem":994},"Grid Masonry","/laioutr-ui/ui-kit/layout/gridmasonry","3.laioutr-ui/ui-kit/03.layout/GridMasonry",{"title":996,"path":997,"stem":998},"Scroll Area","/laioutr-ui/ui-kit/layout/scrollarea","3.laioutr-ui/ui-kit/03.layout/ScrollArea",{"title":1000,"path":1001,"stem":1002},"Separator","/laioutr-ui/ui-kit/layout/separator","3.laioutr-ui/ui-kit/03.layout/Separator",{"title":1004,"path":1005,"stem":1006,"children":1007,"page":55},"Content","/laioutr-ui/ui-kit/content","3.laioutr-ui/ui-kit/04.content",[1008,1012,1016,1020,1024,1028,1032],{"title":1009,"path":1010,"stem":1011},"Card","/laioutr-ui/ui-kit/content/card","3.laioutr-ui/ui-kit/04.content/Card",{"title":1013,"path":1014,"stem":1015},"CTA Banner Basic","/laioutr-ui/ui-kit/content/ctabannerbasic","3.laioutr-ui/ui-kit/04.content/CtaBannerBasic",{"title":1017,"path":1018,"stem":1019},"CTA Banner Integrated","/laioutr-ui/ui-kit/content/ctabannerintegrated","3.laioutr-ui/ui-kit/04.content/CtaBannerIntegrated",{"title":1021,"path":1022,"stem":1023},"CTA Banner Showcase","/laioutr-ui/ui-kit/content/ctabannershowcase","3.laioutr-ui/ui-kit/04.content/CtaBannerShowcase",{"title":1025,"path":1026,"stem":1027},"Link Tile Basic","/laioutr-ui/ui-kit/content/linktilebasic","3.laioutr-ui/ui-kit/04.content/LinkTileBasic",{"title":1029,"path":1030,"stem":1031},"Link Tile Big","/laioutr-ui/ui-kit/content/linktilebig","3.laioutr-ui/ui-kit/04.content/LinkTileBig",{"title":1033,"path":1034,"stem":1035},"Link Tile Compact","/laioutr-ui/ui-kit/content/linktilecompact","3.laioutr-ui/ui-kit/04.content/LinkTileCompact",{"title":1037,"path":1038,"stem":1039,"children":1040,"page":55},"Surfaces","/laioutr-ui/ui-kit/surfaces","3.laioutr-ui/ui-kit/05.surfaces",[1041,1045,1049,1053],{"title":1042,"path":1043,"stem":1044},"Alert Dialog","/laioutr-ui/ui-kit/surfaces/alertdialog","3.laioutr-ui/ui-kit/05.surfaces/AlertDialog",{"title":1046,"path":1047,"stem":1048},"Sheet","/laioutr-ui/ui-kit/surfaces/sheet","3.laioutr-ui/ui-kit/05.surfaces/Sheet",{"title":1050,"path":1051,"stem":1052},"Toast","/laioutr-ui/ui-kit/surfaces/toast","3.laioutr-ui/ui-kit/05.surfaces/Toast",{"title":1054,"path":1055,"stem":1056},"Toaster","/laioutr-ui/ui-kit/surfaces/toaster","3.laioutr-ui/ui-kit/05.surfaces/Toaster",{"title":1058,"path":1059,"stem":1060,"children":1061,"page":55},"Form","/laioutr-ui/ui-kit/form","3.laioutr-ui/ui-kit/06.form",[1062,1066,1070,1074,1078,1082,1086,1090,1094,1098,1102,1106,1110,1114,1118],{"title":1063,"path":1064,"stem":1065},"Button","/laioutr-ui/ui-kit/form/button","3.laioutr-ui/ui-kit/06.form/Button",{"title":1067,"path":1068,"stem":1069},"Checkbox","/laioutr-ui/ui-kit/form/checkbox","3.laioutr-ui/ui-kit/06.form/Checkbox",{"title":1071,"path":1072,"stem":1073},"Field","/laioutr-ui/ui-kit/form/field","3.laioutr-ui/ui-kit/06.form/Field",{"title":1075,"path":1076,"stem":1077},"Input","/laioutr-ui/ui-kit/form/input","3.laioutr-ui/ui-kit/06.form/Input",{"title":1079,"path":1080,"stem":1081},"Input Checkbox","/laioutr-ui/ui-kit/form/inputcheckbox","3.laioutr-ui/ui-kit/06.form/InputCheckbox",{"title":1083,"path":1084,"stem":1085},"Password Input","/laioutr-ui/ui-kit/form/inputpassword","3.laioutr-ui/ui-kit/06.form/InputPassword",{"title":1087,"path":1088,"stem":1089},"Search Input","/laioutr-ui/ui-kit/form/inputsearch","3.laioutr-ui/ui-kit/06.form/InputSearch",{"title":1091,"path":1092,"stem":1093},"Label","/laioutr-ui/ui-kit/form/label","3.laioutr-ui/ui-kit/06.form/Label",{"title":1095,"path":1096,"stem":1097},"Load More","/laioutr-ui/ui-kit/form/loadmore","3.laioutr-ui/ui-kit/06.form/LoadMore",{"title":1099,"path":1100,"stem":1101},"Pagination","/laioutr-ui/ui-kit/form/pagination","3.laioutr-ui/ui-kit/06.form/Pagination",{"title":1103,"path":1104,"stem":1105},"Quantity Picker","/laioutr-ui/ui-kit/form/quantitypicker","3.laioutr-ui/ui-kit/06.form/QuantityPicker",{"title":1107,"path":1108,"stem":1109},"Radio Group","/laioutr-ui/ui-kit/form/radioselect","3.laioutr-ui/ui-kit/06.form/RadioSelect",{"title":1111,"path":1112,"stem":1113},"Select","/laioutr-ui/ui-kit/form/select","3.laioutr-ui/ui-kit/06.form/Select",{"title":1115,"path":1116,"stem":1117},"Switch","/laioutr-ui/ui-kit/form/switch","3.laioutr-ui/ui-kit/06.form/Switch",{"title":1119,"path":1120,"stem":1121},"Variant Select Button","/laioutr-ui/ui-kit/form/variantselectbutton","3.laioutr-ui/ui-kit/06.form/VariantSelectButton",{"title":1123,"path":1124,"stem":1125,"children":1126,"page":55},"Indicators","/laioutr-ui/ui-kit/indicators","3.laioutr-ui/ui-kit/07.indicators",[1127,1131,1135,1139,1143,1147,1151,1155],{"title":1128,"path":1129,"stem":1130},"Badge","/laioutr-ui/ui-kit/indicators/badge","3.laioutr-ui/ui-kit/07.indicators/Badge",{"title":1132,"path":1133,"stem":1134},"Caption Flag","/laioutr-ui/ui-kit/indicators/captionflag","3.laioutr-ui/ui-kit/07.indicators/CaptionFlag",{"title":1136,"path":1137,"stem":1138},"Category Node Flag","/laioutr-ui/ui-kit/indicators/categorynodeflag","3.laioutr-ui/ui-kit/07.indicators/CategoryNodeFlag",{"title":1140,"path":1141,"stem":1142},"Product Tile Flag","/laioutr-ui/ui-kit/indicators/producttileflag","3.laioutr-ui/ui-kit/07.indicators/ProductTileFlag",{"title":1144,"path":1145,"stem":1146},"Rating Summary","/laioutr-ui/ui-kit/indicators/ratingsummary","3.laioutr-ui/ui-kit/07.indicators/RatingSummary",{"title":1148,"path":1149,"stem":1150},"Rating Summary Small","/laioutr-ui/ui-kit/indicators/ratingsummarysmall","3.laioutr-ui/ui-kit/07.indicators/RatingSummarySmall",{"title":1152,"path":1153,"stem":1154},"Savings Badge","/laioutr-ui/ui-kit/indicators/savingsbadge","3.laioutr-ui/ui-kit/07.indicators/SavingsBadge",{"title":1156,"path":1157,"stem":1158},"Stars Rating","/laioutr-ui/ui-kit/indicators/starsrating","3.laioutr-ui/ui-kit/07.indicators/StarsRating",{"title":1160,"path":1161,"stem":1162,"children":1163},"Hosting","/hosting","4.hosting/0.index",[1164,1165,1171,1201],{"title":1160,"path":1161,"stem":1162},{"title":1166,"path":1167,"stem":1168,"children":1169},"Laioutr Cloud","/hosting/laioutr-cloud","4.hosting/0.laioutr-cloud/0.index",[1170],{"title":1166,"path":1167,"stem":1168},{"title":1172,"path":1173,"stem":1174,"children":1175},"Hosting Adapter","/hosting/hosting-adapter","4.hosting/1.hosting-adapter/0.index",[1176,1177,1181,1185,1189,1193,1197],{"title":1172,"path":1173,"stem":1174},{"title":1178,"path":1179,"stem":1180},"AWS Adapter","/hosting/hosting-adapter/aws-adapter","4.hosting/1.hosting-adapter/aws-adapter",{"title":1182,"path":1183,"stem":1184},"Azure Adapter","/hosting/hosting-adapter/azure-adapter","4.hosting/1.hosting-adapter/azure-adapter",{"title":1186,"path":1187,"stem":1188},"Google Adapter","/hosting/hosting-adapter/google-adapter","4.hosting/1.hosting-adapter/google-adapter",{"title":1190,"path":1191,"stem":1192},"Netlify Adapter","/hosting/hosting-adapter/netlify-adapter","4.hosting/1.hosting-adapter/netlify-adapter",{"title":1194,"path":1195,"stem":1196},"Scale Commerce Adapter","/hosting/hosting-adapter/scale-commerce-adapter","4.hosting/1.hosting-adapter/scale-commerce-adapter",{"title":1198,"path":1199,"stem":1200},"Vercel Adapter","/hosting/hosting-adapter/vercel-adapter","4.hosting/1.hosting-adapter/vercel-adapter",{"title":1202,"path":1203,"stem":1204,"children":1205},"Bring Your Own Server (BYOS)","/hosting/bring-your-own-server-byos","4.hosting/2.bring-your-own-server-byos/0.index",[1206,1207,1211,1215,1219,1223,1227],{"title":1202,"path":1203,"stem":1204},{"title":1208,"path":1209,"stem":1210},"BYOS Agent","/hosting/bring-your-own-server-byos/byos-agent","4.hosting/2.bring-your-own-server-byos/byos-agent",{"title":1212,"path":1213,"stem":1214},"Changelog","/hosting/bring-your-own-server-byos/changelog","4.hosting/2.bring-your-own-server-byos/changelog",{"title":1216,"path":1217,"stem":1218},"DevOps Components","/hosting/bring-your-own-server-byos/devops","4.hosting/2.bring-your-own-server-byos/devops",{"title":1220,"path":1221,"stem":1222},"Infrastructure Requirements","/hosting/bring-your-own-server-byos/infrastructure","4.hosting/2.bring-your-own-server-byos/infrastructure",{"title":1224,"path":1225,"stem":1226},"Software Requirements","/hosting/bring-your-own-server-byos/software","4.hosting/2.bring-your-own-server-byos/software",{"title":1228,"path":1229,"stem":1230},"Webhook Configuration","/hosting/bring-your-own-server-byos/webhook-config","4.hosting/2.bring-your-own-server-byos/webhook-config",{"title":1232,"path":1233,"stem":1234,"children":1235},"Checkout","/checkout","5.Checkout/0.index",[1236],{"title":1232,"path":1233,"stem":1234},{"title":1238,"path":1239,"stem":1240,"children":1241},"Larry AI","/larry-ai","6.Larry-AI/0.index",[1242],{"title":1238,"path":1239,"stem":1240},{"title":611,"path":1244,"stem":1245,"children":1246},"/figma-kit","7.Figma Kit/0.index",[1247,1248,1264],{"title":611,"path":1244,"stem":1245},{"title":121,"path":1249,"stem":1250,"children":1251,"page":55},"/figma-kit/introduction","7.Figma Kit/1.Introduction",[1252,1256,1260],{"title":1253,"path":1254,"stem":1255},"How to Start","/figma-kit/introduction/howtostart","7.Figma Kit/1.Introduction/0.howtostart",{"title":1257,"path":1258,"stem":1259},"Figma Variables","/figma-kit/introduction/figma-variables","7.Figma Kit/1.Introduction/figma-variables",{"title":1261,"path":1262,"stem":1263},"Library Connections","/figma-kit/introduction/library-connections","7.Figma Kit/1.Introduction/library-connections",{"title":1265,"path":1266,"stem":1267,"children":1268,"page":55},"Kits","/figma-kit/kits","7.Figma Kit/Kits",[1269,1272,1275,1278,1282,1285,1289,1293,1296,1299],{"title":622,"path":1270,"stem":1271},"/figma-kit/kits/b2b","7.Figma Kit/Kits/b2b",{"title":628,"path":1273,"stem":1274},"/figma-kit/kits/booking","7.Figma Kit/Kits/booking",{"title":634,"path":1276,"stem":1277},"/figma-kit/kits/cms","7.Figma Kit/Kits/cms",{"title":1279,"path":1280,"stem":1281},"Inpage Navigation","/figma-kit/kits/inpage-navigation","7.Figma Kit/Kits/inpage-navigation",{"title":740,"path":1283,"stem":1284},"/figma-kit/kits/marketplace","7.Figma Kit/Kits/marketplace",{"title":1286,"path":1287,"stem":1288},"Retail & Multichannel","/figma-kit/kits/multichannel","7.Figma Kit/Kits/multichannel",{"title":1290,"path":1291,"stem":1292},"Navigation","/figma-kit/kits/navigation","7.Figma Kit/Kits/navigation",{"title":806,"path":1294,"stem":1295},"/figma-kit/kits/saas","7.Figma Kit/Kits/saas",{"title":828,"path":1297,"stem":1298},"/figma-kit/kits/shop","7.Figma Kit/Kits/shop",{"title":881,"path":1300,"stem":1301},"/figma-kit/kits/ui-kit","7.Figma Kit/Kits/ui-kit",{"title":1303,"path":1304,"stem":1305,"children":1306},"Cockpit","/cockpit","8.Cockpit/0.index",[1307,1308,1338,1355,1372],{"title":1303,"path":1304,"stem":1305},{"title":150,"path":1309,"stem":1310,"children":1311,"page":55},"/cockpit/features","8.Cockpit/1.Features",[1312,1315,1319,1323,1327,1330,1334],{"title":443,"path":1313,"stem":1314},"/cockpit/features/apps","8.Cockpit/1.Features/apps",{"title":1316,"path":1317,"stem":1318},"Content (Collections)","/cockpit/features/content-collections","8.Cockpit/1.Features/content-collections",{"title":1320,"path":1321,"stem":1322},"Deployments","/cockpit/features/deployments","8.Cockpit/1.Features/deployments",{"title":1324,"path":1325,"stem":1326},"Markets","/cockpit/features/markets","8.Cockpit/1.Features/markets",{"title":192,"path":1328,"stem":1329},"/cockpit/features/redirects","8.Cockpit/1.Features/redirects",{"title":1331,"path":1332,"stem":1333},"Studio","/cockpit/features/studio","8.Cockpit/1.Features/studio",{"title":1335,"path":1336,"stem":1337},"Translations","/cockpit/features/translations","8.Cockpit/1.Features/translations",{"title":1339,"path":1340,"stem":1341,"children":1342,"page":55},"Project Settings","/cockpit/project-settings","8.Cockpit/2.Project-Settings",[1343,1347,1351],{"title":1344,"path":1345,"stem":1346},"Delete a project","/cockpit/project-settings/delete-project","8.Cockpit/2.Project-Settings/delete-project",{"title":1348,"path":1349,"stem":1350},"NPM","/cockpit/project-settings/npm","8.Cockpit/2.Project-Settings/npm",{"title":1352,"path":1353,"stem":1354},"Project secret key","/cockpit/project-settings/project-secret-key","8.Cockpit/2.Project-Settings/project-secret-key",{"title":1356,"path":1357,"stem":1358,"children":1359,"page":55},"Account Settings","/cockpit/account-settings","8.Cockpit/3.Account-Settings",[1360,1364,1368],{"title":1361,"path":1362,"stem":1363},"Notifications","/cockpit/account-settings/notifications","8.Cockpit/3.Account-Settings/notifications",{"title":1365,"path":1366,"stem":1367},"Preferences","/cockpit/account-settings/preferences","8.Cockpit/3.Account-Settings/preferences",{"title":1369,"path":1370,"stem":1371},"Security","/cockpit/account-settings/security","8.Cockpit/3.Account-Settings/security",{"title":1373,"path":1374,"stem":1375,"children":1376,"page":55},"Organisation Settings","/cockpit/organisation-settings","8.Cockpit/4.Organisation-Settings",[1377,1381,1385,1389,1393,1397],{"title":1378,"path":1379,"stem":1380},"API keys","/cockpit/organisation-settings/api-keys","8.Cockpit/4.Organisation-Settings/api-keys",{"title":1382,"path":1383,"stem":1384},"Billing","/cockpit/organisation-settings/billing","8.Cockpit/4.Organisation-Settings/billing",{"title":1386,"path":1387,"stem":1388},"General settings","/cockpit/organisation-settings/general-settings","8.Cockpit/4.Organisation-Settings/general-settings",{"title":1390,"path":1391,"stem":1392},"Members","/cockpit/organisation-settings/members","8.Cockpit/4.Organisation-Settings/members",{"title":1394,"path":1395,"stem":1396},"Projects","/cockpit/organisation-settings/projects","8.Cockpit/4.Organisation-Settings/projects",{"title":1398,"path":1399,"stem":1400},"Roles","/cockpit/organisation-settings/roles","8.Cockpit/4.Organisation-Settings/roles",{"title":1402,"path":1403,"stem":1404,"children":1405},"Offering","/offering","9.Offering/0.index",[1406,1407,1439,1452,1465],{"title":1402,"path":1403,"stem":1404},{"title":1408,"path":1409,"stem":1410,"children":1411},"Products","/offering/products","9.Offering/1.Products/0.index",[1412,1413,1418,1423,1428,1434],{"title":1408,"path":1409,"stem":1410},{"title":133,"path":1414,"stem":1415,"children":1416},"/offering/products/frontend","9.Offering/1.Products/1.Frontend/0.index",[1417],{"title":133,"path":1414,"stem":1415},{"title":1303,"path":1419,"stem":1420,"children":1421},"/offering/products/cockpit","9.Offering/1.Products/2.Cockpit/0.index",[1422],{"title":1303,"path":1419,"stem":1420},{"title":1232,"path":1424,"stem":1425,"children":1426},"/offering/products/checkout","9.Offering/1.Products/3.Checkout/0.index",[1427],{"title":1232,"path":1424,"stem":1425},{"title":1429,"path":1430,"stem":1431,"children":1432},"Cloud","/offering/products/cloud","9.Offering/1.Products/4.cloud/0.index",[1433],{"title":1429,"path":1430,"stem":1431},{"title":1238,"path":1435,"stem":1436,"children":1437},"/offering/products/larry-ai","9.Offering/1.Products/5.larry-ai/0.index",[1438],{"title":1238,"path":1435,"stem":1436},{"title":1440,"path":1441,"stem":1442,"children":1443,"page":55},"Service Level Agreement","/offering/service-level-agreement","9.Offering/2.service-level-agreement",[1444,1448],{"title":1445,"path":1446,"stem":1447},"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":1449,"path":1450,"stem":1451},"Backups","/offering/service-level-agreement/backups","9.Offering/2.service-level-agreement/backups",{"title":1453,"path":1454,"stem":1455,"children":1456,"page":55},"Customer Support","/offering/customer-support","9.Offering/3.customer-support",[1457,1461],{"title":1458,"path":1459,"stem":1460},"Standard Customer Support","/offering/customer-support/standard-customer-support","9.Offering/3.customer-support/1.standard-customer-support",{"title":1462,"path":1463,"stem":1464},"Customer Support Severity Levels of Laioutr products","/offering/customer-support/maximum-serverity-levels","9.Offering/3.customer-support/maximum-serverity-levels",{"title":1466,"path":1467,"stem":1468,"children":1469,"page":55},"Compliance","/offering/compliance","9.Offering/4.Compliance",[1470],{"title":1471,"path":1472,"stem":1473},"Fair usage policy","/offering/compliance/fair-usage-policy","9.Offering/4.Compliance/fair-usage-policy",{"id":1475,"title":381,"body":1476,"description":3359,"extension":3360,"meta":3361,"navigation":1556,"path":382,"seo":3362,"sitemap":3364,"stem":383,"__hash__":3368},"docs/1.Frontend/99.api-reference/03.common-types/3.money.md",{"type":1477,"value":1478,"toc":3337},"minimark",[1479,1503,1613,1647,1652,1655,1663,1782,1788,1790,1806,1822,1828,1839,1891,1894,1948,1951,1980,1997,2158,2186,2200,2204,2214,2357,2378,2382,2392,2519,2535,2539,2542,2578,2582,2594,2741,2752,2756,2759,2777,2781,2869,2872,2915,2919,3114,3120,3124,3139,3227,3234,3238,3256,3260,3333],[1480,1481,1482,1483,1486,1487,1490,1491,1494,1495,1502],"p",{},"A product has a selling price. A cart has a subtotal, a shipping cost, and a discount amount. A pricing plan has a monthly fee. The shape connectors and editors return for all of these is the same ",[1484,1485,381],"code",{}," record: an integer ",[1484,1488,1489],{},"amount"," paired with an ISO 4217 ",[1484,1492,1493],{},"currency"," code. The storefront's ",[1496,1497,1499],"a",{"href":1498},"#formatting-with-money",[1484,1500,1501],{},"$money"," formatter turns the object into a localized string based on the active language.",[1504,1505,1510],"pre",{"className":1506,"code":1507,"language":1508,"meta":1509,"style":1509},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import type { Money } from '@laioutr-core/core-types/common';\n\ninterface Money {\n  amount: number;   // in the smallest unit of the currency\n  currency: string; // ISO 4217 code, e.g. 'USD', 'EUR', 'CHF'\n}\n","ts","",[1484,1511,1512,1551,1558,1571,1591,1607],{"__ignoreMap":1509},[1513,1514,1517,1521,1524,1528,1532,1535,1538,1541,1545,1548],"span",{"class":1515,"line":1516},"line",1,[1513,1518,1520],{"class":1519},"s7zQu","import",[1513,1522,1523],{"class":1519}," type",[1513,1525,1527],{"class":1526},"sMK4o"," {",[1513,1529,1531],{"class":1530},"sTEyZ"," Money",[1513,1533,1534],{"class":1526}," }",[1513,1536,1537],{"class":1519}," from",[1513,1539,1540],{"class":1526}," '",[1513,1542,1544],{"class":1543},"sfazB","@laioutr-core/core-types/common",[1513,1546,1547],{"class":1526},"'",[1513,1549,1550],{"class":1526},";\n",[1513,1552,1554],{"class":1515,"line":1553},2,[1513,1555,1557],{"emptyLinePlaceholder":1556},true,"\n",[1513,1559,1561,1565,1568],{"class":1515,"line":1560},3,[1513,1562,1564],{"class":1563},"spNyl","interface",[1513,1566,1531],{"class":1567},"sBMFI",[1513,1569,1570],{"class":1526}," {\n",[1513,1572,1574,1578,1581,1584,1587],{"class":1515,"line":1573},4,[1513,1575,1577],{"class":1576},"swJcz","  amount",[1513,1579,1580],{"class":1526},":",[1513,1582,1583],{"class":1567}," number",[1513,1585,1586],{"class":1526},";",[1513,1588,1590],{"class":1589},"sHwdD","   // in the smallest unit of the currency\n",[1513,1592,1594,1597,1599,1602,1604],{"class":1515,"line":1593},5,[1513,1595,1596],{"class":1576},"  currency",[1513,1598,1580],{"class":1526},[1513,1600,1601],{"class":1567}," string",[1513,1603,1586],{"class":1526},[1513,1605,1606],{"class":1589}," // ISO 4217 code, e.g. 'USD', 'EUR', 'CHF'\n",[1513,1608,1610],{"class":1515,"line":1609},6,[1513,1611,1612],{"class":1526},"}\n",[1480,1614,1615,1616,1620,1621,1625,1626,1628,1629,1632,1633,1636,1637,1639,1640,1646],{},"Unlike ",[1496,1617,1618],{"href":374},[1484,1619,373],{}," and ",[1496,1622,1623],{"href":378},[1484,1624,377],{},", ",[1484,1627,381],{}," is not a discriminated union. There is no ",[1484,1630,1631],{},"MoneyRange",", no ",[1484,1634,1635],{},"MoneyDiscounted",", no tax-included variant. A price is just an amount and a currency; everything else (sale indicators, savings percentages, unit pricing) lives on the entity component that wraps the ",[1484,1638,381],{}," value. This keeps arithmetic simple and matches ",[1496,1641,1645],{"href":1642,"rel":1643},"https://martinfowler.com/eaaCatalog/money.html",[1644],"nofollow","Martin Fowler's Money pattern",", which the type is modeled on.",[1648,1649,1651],"h2",{"id":1650},"fields","Fields",[1653,1654,1489],"h3",{"id":1489},[1480,1656,1657,1658,1662],{},"The integer count of the ",[1659,1660,1661],"strong",{},"smallest unit"," of the currency. Cents for USD/EUR, pence for GBP, yen for JPY (which has no minor unit). Storing prices as integers avoids the floating-point rounding errors you get from working in decimal directly.",[1664,1665,1666,1682],"table",{},[1667,1668,1669],"thead",{},[1670,1671,1672,1676,1679],"tr",{},[1673,1674,1675],"th",{},"Currency",[1673,1677,1678],{},"Amount",[1673,1680,1681],{},"Renders as",[1683,1684,1685,1703,1729,1746,1764],"tbody",{},[1670,1686,1687,1693,1698],{},[1688,1689,1690],"td",{},[1484,1691,1692],{},"USD",[1688,1694,1695],{},[1484,1696,1697],{},"10012",[1688,1699,1700],{},[1484,1701,1702],{},"$100.12",[1670,1704,1705,1710,1715],{},[1688,1706,1707],{},[1484,1708,1709],{},"EUR",[1688,1711,1712],{},[1484,1713,1714],{},"14900",[1688,1716,1717,1720,1721,1724,1725,1728],{},[1484,1718,1719],{},"€149.00"," (or ",[1484,1722,1723],{},"149,00 €"," in ",[1484,1726,1727],{},"de-DE",")",[1670,1730,1731,1736,1741],{},[1688,1732,1733],{},[1484,1734,1735],{},"GBP",[1688,1737,1738],{},[1484,1739,1740],{},"1995",[1688,1742,1743],{},[1484,1744,1745],{},"£19.95",[1670,1747,1748,1753,1758],{},[1688,1749,1750],{},[1484,1751,1752],{},"JPY",[1688,1754,1755],{},[1484,1756,1757],{},"10000",[1688,1759,1760,1763],{},[1484,1761,1762],{},"¥10,000"," (no decimals; JPY has zero fraction digits)",[1670,1765,1766,1771,1776],{},[1688,1767,1768],{},[1484,1769,1770],{},"BHD",[1688,1772,1773],{},[1484,1774,1775],{},"1500",[1688,1777,1778,1781],{},[1484,1779,1780],{},"BHD 1.500"," (three fraction digits)",[1480,1783,1784,1785,1787],{},"Negative amounts are valid and represent refunds, discounts applied as negative values, or any other inverse total. The ",[1484,1786,1501],{}," formatter renders them with the locale's negative-number convention.",[1653,1789,1493],{"id":1493},[1480,1791,1792,1793,1798,1799,1620,1802,1805],{},"An ",[1496,1794,1797],{"href":1795,"rel":1796},"https://en.wikipedia.org/wiki/ISO_4217",[1644],"ISO 4217"," currency code. The renderer relies on this to pick the right symbol, decimal separator, and fraction-digit count. Stick to the standard codes; arbitrary strings will trip up ",[1484,1800,1801],{},"Intl.NumberFormat",[1484,1803,1804],{},"@screeny05/ts-money"," (the underlying arithmetic library).",[1480,1807,1808,1809,1811,1812,1818,1819,1821],{},"A ",[1484,1810,381],{}," object is self-describing: the currency travels with the amount. The renderer does not consult ",[1496,1813,1815],{"href":1814},"#currency-resolution",[1484,1816,1817],{},"useCurrency()"," when formatting; it reads the value's own ",[1484,1820,1493],{}," field. This is why mixing currencies inside a single response (a cart with one line item in EUR and another in USD) is structurally possible but semantically invalid. Laioutr enforces one currency per market, so a well-formed response uses one currency throughout.",[1648,1823,1825,1826],{"id":1824},"formatting-with-money","Formatting with ",[1484,1827,1501],{},[1480,1829,1808,1830,1832,1833,1835,1836,1580],{},[1484,1831,381],{}," object is just data. Turning it into a localized string the user can read is the job of ",[1484,1834,1501],{},", a global helper the UI Kit registers as a Nuxt plugin and that is auto-available in templates and ",[1484,1837,1838],{},"setup()",[1504,1840,1845],{"className":1841,"code":1842,"filename":1843,"language":1844,"meta":1509,"style":1509},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cspan>{{ $money({ amount: 14900, currency: 'CHF' }) }}\u003C/span>\n  \u003C!-- Renders 'CHF 149.00' in en-US, '149,00 CHF' in fr-CH, etc. -->\n\u003C/template>\n","components/PriceLabel.vue","vue",[1484,1846,1847,1858,1878,1883],{"__ignoreMap":1509},[1513,1848,1849,1852,1855],{"class":1515,"line":1516},[1513,1850,1851],{"class":1526},"\u003C",[1513,1853,1854],{"class":1576},"template",[1513,1856,1857],{"class":1526},">\n",[1513,1859,1860,1863,1865,1868,1871,1874,1876],{"class":1515,"line":1553},[1513,1861,1862],{"class":1526},"  \u003C",[1513,1864,1513],{"class":1576},[1513,1866,1867],{"class":1526},">",[1513,1869,1870],{"class":1530},"{{ $money({ amount: 14900, currency: 'CHF' }) }}",[1513,1872,1873],{"class":1526},"\u003C/",[1513,1875,1513],{"class":1576},[1513,1877,1857],{"class":1526},[1513,1879,1880],{"class":1515,"line":1560},[1513,1881,1882],{"class":1589},"  \u003C!-- Renders 'CHF 149.00' in en-US, '149,00 CHF' in fr-CH, etc. -->\n",[1513,1884,1885,1887,1889],{"class":1515,"line":1573},[1513,1886,1873],{"class":1526},[1513,1888,1854],{"class":1576},[1513,1890,1857],{"class":1526},[1480,1892,1893],{},"Outside templates, access it through the Nuxt app:",[1504,1895,1897],{"className":1506,"code":1896,"language":1508,"meta":1509,"style":1509},"const { $money } = useNuxtApp();\nconst formatted = $money(product.price);\n",[1484,1898,1899,1924],{"__ignoreMap":1509},[1513,1900,1901,1904,1906,1909,1912,1915,1919,1922],{"class":1515,"line":1516},[1513,1902,1903],{"class":1563},"const",[1513,1905,1527],{"class":1526},[1513,1907,1908],{"class":1530}," $money ",[1513,1910,1911],{"class":1526},"}",[1513,1913,1914],{"class":1526}," =",[1513,1916,1918],{"class":1917},"s2Zo4"," useNuxtApp",[1513,1920,1921],{"class":1530},"()",[1513,1923,1550],{"class":1526},[1513,1925,1926,1928,1931,1934,1937,1940,1943,1946],{"class":1515,"line":1553},[1513,1927,1903],{"class":1563},[1513,1929,1930],{"class":1530}," formatted ",[1513,1932,1933],{"class":1526},"=",[1513,1935,1936],{"class":1917}," $money",[1513,1938,1939],{"class":1530},"(product",[1513,1941,1942],{"class":1526},".",[1513,1944,1945],{"class":1530},"price)",[1513,1947,1550],{"class":1526},[1480,1949,1950],{},"The signature is:",[1504,1952,1954],{"className":1506,"code":1953,"language":1508,"meta":1509,"style":1509},"$money(money: Money, options?: Intl.NumberFormatOptions): string\n",[1484,1955,1956],{"__ignoreMap":1509},[1513,1957,1958,1960,1963,1966,1969,1972,1975,1977],{"class":1515,"line":1516},[1513,1959,1501],{"class":1917},[1513,1961,1962],{"class":1530},"(money: Money",[1513,1964,1965],{"class":1526},",",[1513,1967,1968],{"class":1530}," options",[1513,1970,1971],{"class":1526},"?:",[1513,1973,1974],{"class":1530}," Intl",[1513,1976,1942],{"class":1526},[1513,1978,1979],{"class":1530},"NumberFormatOptions): string\n",[1480,1981,1982,1985,1986,1992,1993,1996],{},[1484,1983,1984],{},"options"," are forwarded to ",[1496,1987,1990],{"href":1988,"rel":1989},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat",[1644],[1484,1991,1801],{}," on top of ",[1484,1994,1995],{},"{ style: 'currency', currency: money.currency }",". Common overrides:",[1504,1998,2000],{"className":1506,"code":1999,"language":1508,"meta":1509,"style":1509},"$money({ amount: 14900, currency: 'CHF' }, { currencyDisplay: 'code' });   // 'CHF 149.00'\n$money({ amount: 14900, currency: 'CHF' }, { currencyDisplay: 'symbol' }); // 'CHF 149.00' (CHF has no distinct symbol)\n$money({ amount: 14999, currency: 'EUR' }, { maximumFractionDigits: 0 }); // '€150'\n",[1484,2001,2002,2060,2110],{"__ignoreMap":1509},[1513,2003,2004,2006,2009,2012,2015,2017,2021,2023,2026,2028,2030,2033,2035,2038,2040,2043,2045,2047,2049,2051,2053,2055,2057],{"class":1515,"line":1516},[1513,2005,1501],{"class":1917},[1513,2007,2008],{"class":1530},"(",[1513,2010,2011],{"class":1526},"{",[1513,2013,2014],{"class":1576}," amount",[1513,2016,1580],{"class":1526},[1513,2018,2020],{"class":2019},"sbssI"," 14900",[1513,2022,1965],{"class":1526},[1513,2024,2025],{"class":1576}," currency",[1513,2027,1580],{"class":1526},[1513,2029,1540],{"class":1526},[1513,2031,2032],{"class":1543},"CHF",[1513,2034,1547],{"class":1526},[1513,2036,2037],{"class":1526}," },",[1513,2039,1527],{"class":1526},[1513,2041,2042],{"class":1576}," currencyDisplay",[1513,2044,1580],{"class":1526},[1513,2046,1540],{"class":1526},[1513,2048,1484],{"class":1543},[1513,2050,1547],{"class":1526},[1513,2052,1534],{"class":1526},[1513,2054,1728],{"class":1530},[1513,2056,1586],{"class":1526},[1513,2058,2059],{"class":1589},"   // 'CHF 149.00'\n",[1513,2061,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2099,2101,2103,2105,2107],{"class":1515,"line":1553},[1513,2063,1501],{"class":1917},[1513,2065,2008],{"class":1530},[1513,2067,2011],{"class":1526},[1513,2069,2014],{"class":1576},[1513,2071,1580],{"class":1526},[1513,2073,2020],{"class":2019},[1513,2075,1965],{"class":1526},[1513,2077,2025],{"class":1576},[1513,2079,1580],{"class":1526},[1513,2081,1540],{"class":1526},[1513,2083,2032],{"class":1543},[1513,2085,1547],{"class":1526},[1513,2087,2037],{"class":1526},[1513,2089,1527],{"class":1526},[1513,2091,2042],{"class":1576},[1513,2093,1580],{"class":1526},[1513,2095,1540],{"class":1526},[1513,2097,2098],{"class":1543},"symbol",[1513,2100,1547],{"class":1526},[1513,2102,1534],{"class":1526},[1513,2104,1728],{"class":1530},[1513,2106,1586],{"class":1526},[1513,2108,2109],{"class":1589}," // 'CHF 149.00' (CHF has no distinct symbol)\n",[1513,2111,2112,2114,2116,2118,2120,2122,2125,2127,2129,2131,2133,2135,2137,2139,2141,2144,2146,2149,2151,2153,2155],{"class":1515,"line":1560},[1513,2113,1501],{"class":1917},[1513,2115,2008],{"class":1530},[1513,2117,2011],{"class":1526},[1513,2119,2014],{"class":1576},[1513,2121,1580],{"class":1526},[1513,2123,2124],{"class":2019}," 14999",[1513,2126,1965],{"class":1526},[1513,2128,2025],{"class":1576},[1513,2130,1580],{"class":1526},[1513,2132,1540],{"class":1526},[1513,2134,1709],{"class":1543},[1513,2136,1547],{"class":1526},[1513,2138,2037],{"class":1526},[1513,2140,1527],{"class":1526},[1513,2142,2143],{"class":1576}," maximumFractionDigits",[1513,2145,1580],{"class":1526},[1513,2147,2148],{"class":2019}," 0",[1513,2150,1534],{"class":1526},[1513,2152,1728],{"class":1530},[1513,2154,1586],{"class":1526},[1513,2156,2157],{"class":1589}," // '€150'\n",[1480,2159,2160,2161,2164,2165,2167,2168,2170,2171,2173,2174,2177,2178,2181,2182,2185],{},"Locale resolution prefers vue-i18n's ",[1484,2162,2163],{},"$n"," (so the storefront's i18n setup decides the formatting locale). When ",[1484,2166,2163],{}," is unavailable, ",[1484,2169,1501],{}," falls back to ",[1484,2172,1801],{}," with the locale from ",[1484,2175,2176],{},"useLocale()",". Either way, the locale is the active language, not the active market, so the same CHF amount renders as ",[1484,2179,2180],{},"CHF 149.00"," in a German Swiss locale and ",[1484,2183,2184],{},"149,00 CHF"," in a French Swiss locale.",[2187,2188,2189,2191,2192,2195,2196,2199],"warning",{},[1484,2190,1501],{}," is resilient to ",[1484,2193,2194],{},"undefined"," input: it falls back to a zero-EUR placeholder and renders without throwing. This exists so partial server responses do not crash the page during SSR, but it can mask connector bugs that drop the price entirely. Treat ",[1484,2197,2198],{},"€0.00"," showing up where a real price was expected as a connector data issue, not a UI issue.",[1653,2201,2203],{"id":2202},"working-with-amounts","Working with amounts",[1480,2205,2206,2207,2213],{},"For arithmetic (summing line items, computing discounts, comparing prices), use ",[1496,2208,2211],{"href":2209,"rel":2210},"https://www.npmjs.com/package/@screeny05/ts-money",[1644],[1484,2212,1804],{},". It handles the minor-unit accounting and zero-decimal currencies for you:",[1504,2215,2217],{"className":1506,"code":2216,"language":1508,"meta":1509,"style":1509},"import { Money } from '@screeny05/ts-money';\n\nconst subtotal = Money.fromDecimal(149.0, 'CHF');         // { amount: 14900, currency: 'CHF' }\nconst shipping = Money.fromDecimal(9.5, 'CHF');           // { amount: 950, currency: 'CHF' }\nconst total = subtotal.add(shipping);                     // { amount: 15850, currency: 'CHF' }\nconst formatted = $money(total);                          // 'CHF 158.50'\n",[1484,2218,2219,2239,2243,2279,2314,2339],{"__ignoreMap":1509},[1513,2220,2221,2223,2225,2227,2229,2231,2233,2235,2237],{"class":1515,"line":1516},[1513,2222,1520],{"class":1519},[1513,2224,1527],{"class":1526},[1513,2226,1531],{"class":1530},[1513,2228,1534],{"class":1526},[1513,2230,1537],{"class":1519},[1513,2232,1540],{"class":1526},[1513,2234,1804],{"class":1543},[1513,2236,1547],{"class":1526},[1513,2238,1550],{"class":1526},[1513,2240,2241],{"class":1515,"line":1553},[1513,2242,1557],{"emptyLinePlaceholder":1556},[1513,2244,2245,2247,2250,2252,2254,2256,2259,2261,2264,2266,2268,2270,2272,2274,2276],{"class":1515,"line":1560},[1513,2246,1903],{"class":1563},[1513,2248,2249],{"class":1530}," subtotal ",[1513,2251,1933],{"class":1526},[1513,2253,1531],{"class":1530},[1513,2255,1942],{"class":1526},[1513,2257,2258],{"class":1917},"fromDecimal",[1513,2260,2008],{"class":1530},[1513,2262,2263],{"class":2019},"149.0",[1513,2265,1965],{"class":1526},[1513,2267,1540],{"class":1526},[1513,2269,2032],{"class":1543},[1513,2271,1547],{"class":1526},[1513,2273,1728],{"class":1530},[1513,2275,1586],{"class":1526},[1513,2277,2278],{"class":1589},"         // { amount: 14900, currency: 'CHF' }\n",[1513,2280,2281,2283,2286,2288,2290,2292,2294,2296,2299,2301,2303,2305,2307,2309,2311],{"class":1515,"line":1573},[1513,2282,1903],{"class":1563},[1513,2284,2285],{"class":1530}," shipping ",[1513,2287,1933],{"class":1526},[1513,2289,1531],{"class":1530},[1513,2291,1942],{"class":1526},[1513,2293,2258],{"class":1917},[1513,2295,2008],{"class":1530},[1513,2297,2298],{"class":2019},"9.5",[1513,2300,1965],{"class":1526},[1513,2302,1540],{"class":1526},[1513,2304,2032],{"class":1543},[1513,2306,1547],{"class":1526},[1513,2308,1728],{"class":1530},[1513,2310,1586],{"class":1526},[1513,2312,2313],{"class":1589},"           // { amount: 950, currency: 'CHF' }\n",[1513,2315,2316,2318,2321,2323,2326,2328,2331,2334,2336],{"class":1515,"line":1593},[1513,2317,1903],{"class":1563},[1513,2319,2320],{"class":1530}," total ",[1513,2322,1933],{"class":1526},[1513,2324,2325],{"class":1530}," subtotal",[1513,2327,1942],{"class":1526},[1513,2329,2330],{"class":1917},"add",[1513,2332,2333],{"class":1530},"(shipping)",[1513,2335,1586],{"class":1526},[1513,2337,2338],{"class":1589},"                     // { amount: 15850, currency: 'CHF' }\n",[1513,2340,2341,2343,2345,2347,2349,2352,2354],{"class":1515,"line":1609},[1513,2342,1903],{"class":1563},[1513,2344,1930],{"class":1530},[1513,2346,1933],{"class":1526},[1513,2348,1936],{"class":1917},[1513,2350,2351],{"class":1530},"(total)",[1513,2353,1586],{"class":1526},[1513,2355,2356],{"class":1589},"                          // 'CHF 158.50'\n",[1480,2358,2359,2362,2363,2365,2366,2368,2369,2371,2372,2374,2375,2377],{},[1484,2360,2361],{},"ts-money","'s ",[1484,2364,381],{}," class is structurally compatible with the ",[1484,2367,381],{}," interface from ",[1484,2370,1544],{},", so you can pass a ",[1484,2373,2361],{}," instance to ",[1484,2376,1501],{}," directly.",[1648,2379,2381],{"id":2380},"currency-resolution","Currency resolution",[1480,2383,2384,2385,2387,2388,2391],{},"When a ",[1484,2386,381],{}," value is in your hand, the currency is on the value. When you are ",[1659,2389,2390],{},"constructing"," one (a custom price calculator, a tip widget, a manually-entered amount), pull the currency from the active market:",[1504,2393,2395],{"className":1506,"code":2394,"language":1508,"meta":1509,"style":1509},"const currency = useCurrency();        // ComputedRef\u003Cstring>, e.g. 'CHF'\nconst amount = computed(() => userInput.value * 100); // cents\nconst tip: ComputedRef\u003CMoney> = computed(() => ({ amount: amount.value, currency: currency.value }));\n",[1484,2396,2397,2416,2456],{"__ignoreMap":1509},[1513,2398,2399,2401,2404,2406,2409,2411,2413],{"class":1515,"line":1516},[1513,2400,1903],{"class":1563},[1513,2402,2403],{"class":1530}," currency ",[1513,2405,1933],{"class":1526},[1513,2407,2408],{"class":1917}," useCurrency",[1513,2410,1921],{"class":1530},[1513,2412,1586],{"class":1526},[1513,2414,2415],{"class":1589},"        // ComputedRef\u003Cstring>, e.g. 'CHF'\n",[1513,2417,2418,2420,2423,2425,2428,2430,2432,2435,2438,2440,2443,2446,2449,2451,2453],{"class":1515,"line":1553},[1513,2419,1903],{"class":1563},[1513,2421,2422],{"class":1530}," amount ",[1513,2424,1933],{"class":1526},[1513,2426,2427],{"class":1917}," computed",[1513,2429,2008],{"class":1530},[1513,2431,1921],{"class":1526},[1513,2433,2434],{"class":1563}," =>",[1513,2436,2437],{"class":1530}," userInput",[1513,2439,1942],{"class":1526},[1513,2441,2442],{"class":1530},"value ",[1513,2444,2445],{"class":1526},"*",[1513,2447,2448],{"class":2019}," 100",[1513,2450,1728],{"class":1530},[1513,2452,1586],{"class":1526},[1513,2454,2455],{"class":1589}," // cents\n",[1513,2457,2458,2460,2463,2465,2468,2470,2472,2474,2476,2478,2480,2482,2484,2487,2489,2491,2493,2495,2497,2500,2502,2504,2506,2508,2510,2512,2514,2517],{"class":1515,"line":1560},[1513,2459,1903],{"class":1563},[1513,2461,2462],{"class":1530}," tip",[1513,2464,1580],{"class":1526},[1513,2466,2467],{"class":1567}," ComputedRef",[1513,2469,1851],{"class":1526},[1513,2471,381],{"class":1567},[1513,2473,1867],{"class":1526},[1513,2475,1914],{"class":1526},[1513,2477,2427],{"class":1917},[1513,2479,2008],{"class":1530},[1513,2481,1921],{"class":1526},[1513,2483,2434],{"class":1563},[1513,2485,2486],{"class":1530}," (",[1513,2488,2011],{"class":1526},[1513,2490,2014],{"class":1576},[1513,2492,1580],{"class":1526},[1513,2494,2014],{"class":1530},[1513,2496,1942],{"class":1526},[1513,2498,2499],{"class":1530},"value",[1513,2501,1965],{"class":1526},[1513,2503,2025],{"class":1576},[1513,2505,1580],{"class":1526},[1513,2507,2025],{"class":1530},[1513,2509,1942],{"class":1526},[1513,2511,2442],{"class":1530},[1513,2513,1911],{"class":1526},[1513,2515,2516],{"class":1530},"))",[1513,2518,1550],{"class":1526},[1480,2520,2521,2523,2524,2527,2528,2531,2532,2534],{},[1484,2522,1817],{}," is a shorthand for ",[1484,2525,2526],{},"useMarket().value.currency",". Each ",[1496,2529,2530],{"href":181},"market"," has exactly one currency, and switching currency means switching market. See ",[1496,2533,160],{"href":161}," for the developer-facing rationale and the market/currency switcher pattern.",[1648,2536,2538],{"id":2537},"related-types","Related types",[1653,2540,385],{"id":2541},"unitprice",[1480,2543,2544,2548,2549,2551,2552,2556,2557,2560,2561,2564,2565,1620,2568,2571,2572,2577],{},[1496,2545,2546],{"href":386},[1484,2547,385],{}," is the type behind labels like \"€13.99 / 100g\" or \"$0.99 / fl oz\" that sit next to the headline price on grocery items, drinks, and household goods. It pairs a ",[1484,2550,381],{}," value with two ",[1496,2553,2554],{"href":390},[1484,2555,389],{}," values: a ",[1484,2558,2559],{},"quantity"," (the variant's actual content) and a ",[1484,2562,2563],{},"reference"," (the unit the price is normalized to). It shows up on ",[1484,2566,2567],{},"Product.prices.unitPrice",[1484,2569,2570],{},"ProductVariant.prices.unitPrice",". See the ",[1496,2573,2574,2576],{"href":386},[1484,2575,385],{}," reference page"," for the full type, rendering pattern, and connector mapping.",[1653,2579,2581],{"id":2580},"money-in-filter-ranges","Money in filter ranges",[1480,2583,2584,2585,2587,2588,1620,2591,1580],{},"Faceted price filters use ",[1484,2586,381],{}," for ",[1484,2589,2590],{},"min",[1484,2592,2593],{},"max",[1504,2595,2597],{"className":1506,"code":2596,"language":1508,"meta":1509,"style":1509},"const priceFilter = {\n  type: 'range',\n  id: 'price',\n  label: 'Price',\n  wellKnownName: 'price',\n  min: { amount: 0, currency: 'EUR' },\n  max: { amount: 99900, currency: 'EUR' },\n};\n",[1484,2598,2599,2610,2627,2643,2659,2674,2704,2735],{"__ignoreMap":1509},[1513,2600,2601,2603,2606,2608],{"class":1515,"line":1516},[1513,2602,1903],{"class":1563},[1513,2604,2605],{"class":1530}," priceFilter ",[1513,2607,1933],{"class":1526},[1513,2609,1570],{"class":1526},[1513,2611,2612,2615,2617,2619,2622,2624],{"class":1515,"line":1553},[1513,2613,2614],{"class":1576},"  type",[1513,2616,1580],{"class":1526},[1513,2618,1540],{"class":1526},[1513,2620,2621],{"class":1543},"range",[1513,2623,1547],{"class":1526},[1513,2625,2626],{"class":1526},",\n",[1513,2628,2629,2632,2634,2636,2639,2641],{"class":1515,"line":1560},[1513,2630,2631],{"class":1576},"  id",[1513,2633,1580],{"class":1526},[1513,2635,1540],{"class":1526},[1513,2637,2638],{"class":1543},"price",[1513,2640,1547],{"class":1526},[1513,2642,2626],{"class":1526},[1513,2644,2645,2648,2650,2652,2655,2657],{"class":1515,"line":1573},[1513,2646,2647],{"class":1576},"  label",[1513,2649,1580],{"class":1526},[1513,2651,1540],{"class":1526},[1513,2653,2654],{"class":1543},"Price",[1513,2656,1547],{"class":1526},[1513,2658,2626],{"class":1526},[1513,2660,2661,2664,2666,2668,2670,2672],{"class":1515,"line":1593},[1513,2662,2663],{"class":1576},"  wellKnownName",[1513,2665,1580],{"class":1526},[1513,2667,1540],{"class":1526},[1513,2669,2638],{"class":1543},[1513,2671,1547],{"class":1526},[1513,2673,2626],{"class":1526},[1513,2675,2676,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701],{"class":1515,"line":1609},[1513,2677,2678],{"class":1576},"  min",[1513,2680,1580],{"class":1526},[1513,2682,1527],{"class":1526},[1513,2684,2014],{"class":1576},[1513,2686,1580],{"class":1526},[1513,2688,2148],{"class":2019},[1513,2690,1965],{"class":1526},[1513,2692,2025],{"class":1576},[1513,2694,1580],{"class":1526},[1513,2696,1540],{"class":1526},[1513,2698,1709],{"class":1543},[1513,2700,1547],{"class":1526},[1513,2702,2703],{"class":1526}," },\n",[1513,2705,2707,2710,2712,2714,2716,2718,2721,2723,2725,2727,2729,2731,2733],{"class":1515,"line":2706},7,[1513,2708,2709],{"class":1576},"  max",[1513,2711,1580],{"class":1526},[1513,2713,1527],{"class":1526},[1513,2715,2014],{"class":1576},[1513,2717,1580],{"class":1526},[1513,2719,2720],{"class":2019}," 99900",[1513,2722,1965],{"class":1526},[1513,2724,2025],{"class":1576},[1513,2726,1580],{"class":1526},[1513,2728,1540],{"class":1526},[1513,2730,1709],{"class":1543},[1513,2732,1547],{"class":1526},[1513,2734,2703],{"class":1526},[1513,2736,2738],{"class":1515,"line":2737},8,[1513,2739,2740],{"class":1526},"};\n",[1480,2742,2743,2744,2747,2748,2751],{},"The user's selection arrives back as plain numbers (in the smallest unit), so ",[1484,2745,2746],{},"{ min: 1000, max: 5000 }"," against an EUR price filter means 10.00 EUR to 50.00 EUR. See ",[1496,2749,290],{"href":2750},"/frontend/orchestr/filters#range-filters"," for the request/response shape.",[1648,2753,2755],{"id":2754},"for-connector-authors","For connector authors",[1480,2757,2758],{},"This is the section that prevents the most common bug in connector pricing code: emitting prices in the wrong unit. The rule is short:",[2760,2761,2762],"blockquote",{},[1480,2763,2764,2765,2767,2768,2770,2771,1620,2774,2776],{},"When a query handler returns a price, return a ",[1484,2766,381],{}," object with ",[1484,2769,1489],{}," in the ",[1659,2772,2773],{},"smallest unit of the currency",[1484,2775,1493],{}," as a valid ISO 4217 code. Never emit a decimal float, a string, or a bare number.",[1653,2778,2780],{"id":2779},"wrong","Wrong",[1504,2782,2784],{"className":1506,"code":2783,"language":1508,"meta":1509,"style":1509},"// Custom commerce connector, product prices handler\nreturn {\n  price: 149.99,                                  // ❌ bare number\n  strikethroughPrice: '199.99 EUR',               // ❌ formatted string\n  shippingRate: { amount: 9.5, currency: 'EUR' }, // ❌ decimal where integer was expected\n};\n",[1484,2785,2786,2791,2798,2813,2832,2865],{"__ignoreMap":1509},[1513,2787,2788],{"class":1515,"line":1516},[1513,2789,2790],{"class":1589},"// Custom commerce connector, product prices handler\n",[1513,2792,2793,2796],{"class":1515,"line":1553},[1513,2794,2795],{"class":1519},"return",[1513,2797,1570],{"class":1526},[1513,2799,2800,2803,2805,2808,2810],{"class":1515,"line":1560},[1513,2801,2802],{"class":1576},"  price",[1513,2804,1580],{"class":1526},[1513,2806,2807],{"class":2019}," 149.99",[1513,2809,1965],{"class":1526},[1513,2811,2812],{"class":1589},"                                  // ❌ bare number\n",[1513,2814,2815,2818,2820,2822,2825,2827,2829],{"class":1515,"line":1573},[1513,2816,2817],{"class":1576},"  strikethroughPrice",[1513,2819,1580],{"class":1526},[1513,2821,1540],{"class":1526},[1513,2823,2824],{"class":1543},"199.99 EUR",[1513,2826,1547],{"class":1526},[1513,2828,1965],{"class":1526},[1513,2830,2831],{"class":1589},"               // ❌ formatted string\n",[1513,2833,2834,2837,2839,2841,2843,2845,2848,2850,2852,2854,2856,2858,2860,2862],{"class":1515,"line":1593},[1513,2835,2836],{"class":1576},"  shippingRate",[1513,2838,1580],{"class":1526},[1513,2840,1527],{"class":1526},[1513,2842,2014],{"class":1576},[1513,2844,1580],{"class":1526},[1513,2846,2847],{"class":2019}," 9.5",[1513,2849,1965],{"class":1526},[1513,2851,2025],{"class":1576},[1513,2853,1580],{"class":1526},[1513,2855,1540],{"class":1526},[1513,2857,1709],{"class":1543},[1513,2859,1547],{"class":1526},[1513,2861,2037],{"class":1526},[1513,2863,2864],{"class":1589}," // ❌ decimal where integer was expected\n",[1513,2866,2867],{"class":1515,"line":1609},[1513,2868,2740],{"class":1526},[1480,2870,2871],{},"This breaks for three independent reasons:",[2873,2874,2875,2890,2899],"ol",{},[2876,2877,2878,2886,2887,2889],"li",{},[1659,2879,2880,2883,2884,1942],{},[1484,2881,2882],{},"price: 149.99"," is not a ",[1484,2885,381],{}," Components type-check against ",[1484,2888,381],{},", so this fails the moment the entity component is consumed.",[2876,2891,2892,2898],{},[1659,2893,2894,2897],{},[1484,2895,2896],{},"strikethroughPrice: '199.99 EUR'"," strips the structure."," The frontend cannot do arithmetic, cannot pick a different locale, and cannot apply consistent formatting alongside other prices on the page.",[2876,2900,2901,2907,2908,2910,2911,2914],{},[1659,2902,2903,2906],{},[1484,2904,2905],{},"{ amount: 9.5, currency: 'EUR' }"," is a decimal where the smallest unit was expected."," ",[1484,2909,2298],{}," interpreted as cents is €0.10, not €9.50. The price renders as ",[1484,2912,2913],{},"€0.10"," and nobody notices until a customer complains.",[1653,2916,2918],{"id":2917},"right","Right",[1504,2920,2922],{"className":1506,"code":2921,"language":1508,"meta":1509,"style":1509},"import { Money } from '@screeny05/ts-money';\n\nconst toMoney = (decimal: number, currency: string) => Money.fromDecimal(decimal, currency);\n\n// In your prices resolver\nreturn {\n  price: toMoney(149.99, 'EUR'),               // { amount: 14999, currency: 'EUR' }\n  strikethroughPrice: toMoney(199.99, 'EUR'),  // { amount: 19999, currency: 'EUR' }\n  shippingRate: toMoney(9.5, 'EUR'),           // { amount: 950, currency: 'EUR' }\n  isOnSale: true,\n};\n",[1484,2923,2924,2944,2948,2995,2999,3004,3010,3039,3067,3095,3109],{"__ignoreMap":1509},[1513,2925,2926,2928,2930,2932,2934,2936,2938,2940,2942],{"class":1515,"line":1516},[1513,2927,1520],{"class":1519},[1513,2929,1527],{"class":1526},[1513,2931,1531],{"class":1530},[1513,2933,1534],{"class":1526},[1513,2935,1537],{"class":1519},[1513,2937,1540],{"class":1526},[1513,2939,1804],{"class":1543},[1513,2941,1547],{"class":1526},[1513,2943,1550],{"class":1526},[1513,2945,2946],{"class":1515,"line":1553},[1513,2947,1557],{"emptyLinePlaceholder":1556},[1513,2949,2950,2952,2955,2957,2959,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981,2983,2985,2988,2990,2993],{"class":1515,"line":1560},[1513,2951,1903],{"class":1563},[1513,2953,2954],{"class":1530}," toMoney ",[1513,2956,1933],{"class":1526},[1513,2958,2486],{"class":1526},[1513,2960,2962],{"class":2961},"sHdIc","decimal",[1513,2964,1580],{"class":1526},[1513,2966,1583],{"class":1567},[1513,2968,1965],{"class":1526},[1513,2970,2025],{"class":2961},[1513,2972,1580],{"class":1526},[1513,2974,1601],{"class":1567},[1513,2976,1728],{"class":1526},[1513,2978,2434],{"class":1563},[1513,2980,1531],{"class":1530},[1513,2982,1942],{"class":1526},[1513,2984,2258],{"class":1917},[1513,2986,2987],{"class":1530},"(decimal",[1513,2989,1965],{"class":1526},[1513,2991,2992],{"class":1530}," currency)",[1513,2994,1550],{"class":1526},[1513,2996,2997],{"class":1515,"line":1573},[1513,2998,1557],{"emptyLinePlaceholder":1556},[1513,3000,3001],{"class":1515,"line":1593},[1513,3002,3003],{"class":1589},"// In your prices resolver\n",[1513,3005,3006,3008],{"class":1515,"line":1609},[1513,3007,2795],{"class":1519},[1513,3009,1570],{"class":1526},[1513,3011,3012,3014,3016,3019,3021,3024,3026,3028,3030,3032,3034,3036],{"class":1515,"line":2706},[1513,3013,2802],{"class":1576},[1513,3015,1580],{"class":1526},[1513,3017,3018],{"class":1917}," toMoney",[1513,3020,2008],{"class":1530},[1513,3022,3023],{"class":2019},"149.99",[1513,3025,1965],{"class":1526},[1513,3027,1540],{"class":1526},[1513,3029,1709],{"class":1543},[1513,3031,1547],{"class":1526},[1513,3033,1728],{"class":1530},[1513,3035,1965],{"class":1526},[1513,3037,3038],{"class":1589},"               // { amount: 14999, currency: 'EUR' }\n",[1513,3040,3041,3043,3045,3047,3049,3052,3054,3056,3058,3060,3062,3064],{"class":1515,"line":2737},[1513,3042,2817],{"class":1576},[1513,3044,1580],{"class":1526},[1513,3046,3018],{"class":1917},[1513,3048,2008],{"class":1530},[1513,3050,3051],{"class":2019},"199.99",[1513,3053,1965],{"class":1526},[1513,3055,1540],{"class":1526},[1513,3057,1709],{"class":1543},[1513,3059,1547],{"class":1526},[1513,3061,1728],{"class":1530},[1513,3063,1965],{"class":1526},[1513,3065,3066],{"class":1589},"  // { amount: 19999, currency: 'EUR' }\n",[1513,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092],{"class":1515,"line":3069},9,[1513,3071,2836],{"class":1576},[1513,3073,1580],{"class":1526},[1513,3075,3018],{"class":1917},[1513,3077,2008],{"class":1530},[1513,3079,2298],{"class":2019},[1513,3081,1965],{"class":1526},[1513,3083,1540],{"class":1526},[1513,3085,1709],{"class":1543},[1513,3087,1547],{"class":1526},[1513,3089,1728],{"class":1530},[1513,3091,1965],{"class":1526},[1513,3093,3094],{"class":1589},"           // { amount: 950, currency: 'EUR' }\n",[1513,3096,3098,3101,3103,3107],{"class":1515,"line":3097},10,[1513,3099,3100],{"class":1576},"  isOnSale",[1513,3102,1580],{"class":1526},[1513,3104,3106],{"class":3105},"sfNiH"," true",[1513,3108,2626],{"class":1526},[1513,3110,3112],{"class":1515,"line":3111},11,[1513,3113,2740],{"class":1526},[1480,3115,3116,3117,3119],{},"The connector says \"this product costs 149.99 EUR.\" The frontend's ",[1484,3118,1501],{}," formatter decides how to render it for the active locale. Multi-language formatting, market-specific currency, and arithmetic across line items all stay where they belong: in the storefront.",[1653,3121,3123],{"id":3122},"picking-the-right-amount-for-zero-decimal-currencies","Picking the right amount for zero-decimal currencies",[1480,3125,3126,3129,3130,3132,3133,3135,3136,3138],{},[1484,3127,3128],{},"Money.fromDecimal"," consults ",[1484,3131,1804],{},"'s currency table for the right number of decimal places. JPY and KRW have zero, BHD and KWD have three; the rest are typically two. Use ",[1484,3134,2258],{}," and let the library do the math, instead of computing ",[1484,3137,1489],{}," yourself:",[1504,3140,3142],{"className":1506,"code":3141,"language":1508,"meta":1509,"style":1509},"Money.fromDecimal(1000, 'JPY');  // { amount: 1000, currency: 'JPY' }, yen has no minor unit\nMoney.fromDecimal(149.0, 'EUR'); // { amount: 14900, currency: 'EUR' }, two-decimal currency\nMoney.fromDecimal(1.5, 'BHD');   // { amount: 1500, currency: 'BHD' }, three-decimal currency\n",[1484,3143,3144,3172,3199],{"__ignoreMap":1509},[1513,3145,3146,3148,3150,3152,3154,3157,3159,3161,3163,3165,3167,3169],{"class":1515,"line":1516},[1513,3147,381],{"class":1530},[1513,3149,1942],{"class":1526},[1513,3151,2258],{"class":1917},[1513,3153,2008],{"class":1530},[1513,3155,3156],{"class":2019},"1000",[1513,3158,1965],{"class":1526},[1513,3160,1540],{"class":1526},[1513,3162,1752],{"class":1543},[1513,3164,1547],{"class":1526},[1513,3166,1728],{"class":1530},[1513,3168,1586],{"class":1526},[1513,3170,3171],{"class":1589},"  // { amount: 1000, currency: 'JPY' }, yen has no minor unit\n",[1513,3173,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196],{"class":1515,"line":1553},[1513,3175,381],{"class":1530},[1513,3177,1942],{"class":1526},[1513,3179,2258],{"class":1917},[1513,3181,2008],{"class":1530},[1513,3183,2263],{"class":2019},[1513,3185,1965],{"class":1526},[1513,3187,1540],{"class":1526},[1513,3189,1709],{"class":1543},[1513,3191,1547],{"class":1526},[1513,3193,1728],{"class":1530},[1513,3195,1586],{"class":1526},[1513,3197,3198],{"class":1589}," // { amount: 14900, currency: 'EUR' }, two-decimal currency\n",[1513,3200,3201,3203,3205,3207,3209,3212,3214,3216,3218,3220,3222,3224],{"class":1515,"line":1560},[1513,3202,381],{"class":1530},[1513,3204,1942],{"class":1526},[1513,3206,2258],{"class":1917},[1513,3208,2008],{"class":1530},[1513,3210,3211],{"class":2019},"1.5",[1513,3213,1965],{"class":1526},[1513,3215,1540],{"class":1526},[1513,3217,1770],{"class":1543},[1513,3219,1547],{"class":1526},[1513,3221,1728],{"class":1530},[1513,3223,1586],{"class":1526},[1513,3225,3226],{"class":1589},"   // { amount: 1500, currency: 'BHD' }, three-decimal currency\n",[1480,3228,3229,3230,3233],{},"Hard-coding ",[1484,3231,3232],{},"amount = decimal * 100"," in your handler will silently break any zero-decimal or three-decimal currency the moment a customer in Japan or Bahrain visits the storefront.",[1653,3235,3237],{"id":3236},"tax-inclusive-vs-tax-exclusive","Tax-inclusive vs tax-exclusive",[1480,3239,3240,3242,3243,3245,3246,3249,3250,3252,3253,3255],{},[1484,3241,381],{}," carries no tax flag. Pick one convention per connector (typically tax-inclusive for B2C storefronts, tax-exclusive for B2B), document it on the connector, and stick to it across every price the connector returns. If a storefront needs both views, surface the tax-status decision on the entity component that wraps ",[1484,3244,381],{}," (a ",[1484,3247,3248],{},"priceIncludesTax: boolean"," field on the prices component, for example) rather than splitting ",[1484,3251,381],{}," into new variants. This keeps ",[1484,3254,381],{}," flat and pushes the policy into the component that uses the value.",[1648,3257,3259],{"id":3258},"related","Related",[3261,3262,3263,3273,3280,3299,3307,3323],"ul",{},[2876,3264,3265,3269,3270,3272],{},[1496,3266,3267],{"href":386},[1484,3268,385],{},": the per-unit pricing type that wraps a ",[1484,3271,381],{}," value with quantity and reference measurements.",[2876,3274,3275,3277,3278,1942],{},[1496,3276,160],{"href":161},": why currency is per-market, the currency switcher pattern, and the developer-facing summary of ",[1484,3279,1501],{},[2876,3281,3282,3286,3287,1625,3289,1625,3292,1625,3295,3298],{},[1496,3283,3285],{"href":3284},"/frontend/features/multi-language-support#locale-aware-formatting","Locale-aware formatting",": the full set of UI Kit formatters (",[1484,3288,1501],{},[1484,3290,3291],{},"$measurement",[1484,3293,3294],{},"$timespan",[1484,3296,3297],{},"$duration",").",[2876,3300,3301,3303,3304,3306],{},[1496,3302,290],{"href":2750},": how ",[1484,3305,381],{}," shows up in faceted price ranges.",[2876,3308,3309,1620,3311,3313,3314,3317,3318,1620,3320,3322],{},[1496,3310,313],{"href":314},[1496,3312,333],{"href":334},": the entities whose ",[1484,3315,3316],{},"prices"," components carry ",[1484,3319,381],{},[1484,3321,385],{}," values.",[2876,3324,3325,3330,3331,3322],{},[1496,3326,3328],{"href":2209,"rel":3327},[1644],[1484,3329,1804],{},": the arithmetic library Laioutr uses to build, add, and convert ",[1484,3332,381],{},[3334,3335,3336],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":1509,"searchDepth":1553,"depth":1553,"links":3338},[3339,3343,3347,3348,3352,3358],{"id":1650,"depth":1553,"text":1651,"children":3340},[3341,3342],{"id":1489,"depth":1560,"text":1489},{"id":1493,"depth":1560,"text":1493},{"id":1824,"depth":1553,"text":3344,"children":3345},"Formatting with $money",[3346],{"id":2202,"depth":1560,"text":2203},{"id":2380,"depth":1553,"text":2381},{"id":2537,"depth":1553,"text":2538,"children":3349},[3350,3351],{"id":2541,"depth":1560,"text":385},{"id":2580,"depth":1560,"text":2581},{"id":2754,"depth":1553,"text":2755,"children":3353},[3354,3355,3356,3357],{"id":2779,"depth":1560,"text":2780},{"id":2917,"depth":1560,"text":2918},{"id":3122,"depth":1560,"text":3123},{"id":3236,"depth":1560,"text":3237},{"id":3258,"depth":1553,"text":3259},"The flat record returned anywhere a connector or component schema yields a price. Two fields, locale-aware rendering through the $money formatter.","md",{},{"title":3363,"description":3359},"Money | Laioutr",{"loc":382,"lastmod":3365,"changefreq":3366,"priority":3367},"2026-05-05","monthly",0.9,"ALaK-J7f9pRY0dSn0NAHdaqLziysTAu2rOKy5o9BSBE",[3370,3372],{"title":377,"path":378,"stem":379,"description":3371,"children":-1},"The discriminated union returned anywhere a connector or component schema yields an image or video. Two variants, source-driven rendering through the Media component.",{"title":385,"path":386,"stem":387,"description":3373,"children":-1},"The price-per-unit type that pairs a Money value with a quantity and a reference measurement, e.g. \"€13.99 / 100g\".",1778245947068]