[{"data":1,"prerenderedAt":3991},["ShallowReactive",2],{"navigation_docs":3,"-docs-guides-themes-theme-tokens-and-styling-":1990},[4,54,132,180,390,1721],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started\u002Findex",[9,10,17,23,30,36,42,48],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"icon":16},"Apps and Sites","\u002Fdocs\u002Fgetting-started\u002Fapps-and-sites","docs\u002Fgetting-started\u002Fapps-and-sites\u002Findex",[15],{"title":11,"path":12,"stem":13,"icon":16},"i-lucide-columns-2",{"title":18,"path":19,"stem":20,"children":21},"Architecture Overview","\u002Fdocs\u002Fgetting-started\u002Farchitecture","docs\u002Fgetting-started\u002Farchitecture\u002Findex",[22],{"title":18,"path":19,"stem":20},{"title":24,"path":25,"stem":26,"children":27,"icon":29},"Get Help","\u002Fdocs\u002Fgetting-started\u002Fget-help","docs\u002Fgetting-started\u002Fget-help\u002Findex",[28],{"title":24,"path":25,"stem":26,"icon":29},"i-lucide-life-buoy",{"title":31,"path":32,"stem":33,"children":34},"Glossary","\u002Fdocs\u002Fgetting-started\u002Fglossary","docs\u002Fgetting-started\u002Fglossary\u002Findex",[35],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39,"children":40},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","docs\u002Fgetting-started\u002Fplatform-overview\u002Findex",[41],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45,"children":46},"Prerequisites","\u002Fdocs\u002Fgetting-started\u002Fprerequisites","docs\u002Fgetting-started\u002Fprerequisites\u002Findex",[47],{"title":43,"path":44,"stem":45},{"title":49,"path":50,"stem":51,"children":52},"Your First App in 15 Minutes","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002Fgetting-started\u002Fquick-start\u002Findex",[53],{"title":49,"path":50,"stem":51},{"title":55,"path":56,"stem":57,"children":58},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides\u002Findex",[59,60,84,90,96,102],{"title":55,"path":56,"stem":57},{"title":61,"path":62,"stem":63,"children":64},"Build a revenexx App","\u002Fdocs\u002Fguides\u002Fapps","docs\u002Fguides\u002Fapps\u002Findex",[65,66,72,78],{"title":61,"path":62,"stem":63},{"title":67,"path":68,"stem":69,"children":70},"Add a data model","\u002Fdocs\u002Fguides\u002Fapps\u002Fadd-a-data-model","docs\u002Fguides\u002Fapps\u002Fadd-a-data-model\u002Findex",[71],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75,"children":76},"Build your first app","\u002Fdocs\u002Fguides\u002Fapps\u002Fbuild-your-first-app","docs\u002Fguides\u002Fapps\u002Fbuild-your-first-app\u002Findex",[77],{"title":73,"path":74,"stem":75},{"title":79,"path":80,"stem":81,"children":82},"Deploy with the CLI","\u002Fdocs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli","docs\u002Fguides\u002Fapps\u002Fdeploy-with-the-cli\u002Findex",[83],{"title":79,"path":80,"stem":81},{"title":85,"path":86,"stem":87,"children":88},"Configure pricing rules","\u002Fdocs\u002Fguides\u002Fconfigure-pricing-rules","docs\u002Fguides\u002Fconfigure-pricing-rules\u002Findex",[89],{"title":85,"path":86,"stem":87},{"title":91,"path":92,"stem":93,"children":94},"Examples","\u002Fdocs\u002Fguides\u002Fexamples","docs\u002Fguides\u002Fexamples\u002Findex",[95],{"title":91,"path":92,"stem":93},{"title":97,"path":98,"stem":99,"children":100},"Import a BMECAT product catalog","\u002Fdocs\u002Fguides\u002Fimport-a-bmecat-catalog","docs\u002Fguides\u002Fimport-a-bmecat-catalog\u002Findex",[101],{"title":97,"path":98,"stem":99},{"title":103,"path":104,"stem":105,"children":106},"Build a storefront Theme","\u002Fdocs\u002Fguides\u002Fthemes","docs\u002Fguides\u002Fthemes\u002Findex",[107,108,114,120,126],{"title":103,"path":104,"stem":105},{"title":109,"path":110,"stem":111,"children":112},"Build your first Theme","\u002Fdocs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme","docs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme\u002Findex",[113],{"title":109,"path":110,"stem":111},{"title":115,"path":116,"stem":117,"children":118},"Customize blocks","\u002Fdocs\u002Fguides\u002Fthemes\u002Fcustomize-blocks","docs\u002Fguides\u002Fthemes\u002Fcustomize-blocks\u002Findex",[119],{"title":115,"path":116,"stem":117},{"title":121,"path":122,"stem":123,"children":124},"Deploy your storefront","\u002Fdocs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront","docs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront\u002Findex",[125],{"title":121,"path":122,"stem":123},{"title":127,"path":128,"stem":129,"children":130},"Theme tokens and styling","\u002Fdocs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling","docs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling\u002Findex",[131],{"title":127,"path":128,"stem":129},{"title":133,"path":134,"stem":135,"children":136},"SDKs","\u002Fdocs\u002Fsdks","docs\u002Fsdks\u002Findex",[137,138,144,150,156,162,168,174],{"title":133,"path":134,"stem":135},{"title":139,"path":140,"stem":141,"children":142},"App SDK","\u002Fdocs\u002Fsdks\u002Fapp-sdk","docs\u002Fsdks\u002Fapp-sdk\u002Findex",[143],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147,"children":148},"CLI","\u002Fdocs\u002Fsdks\u002Fcli","docs\u002Fsdks\u002Fcli\u002Findex",[149],{"title":145,"path":146,"stem":147},{"title":151,"path":152,"stem":153,"children":154},"Design systems","\u002Fdocs\u002Fsdks\u002Fdesign-systems","docs\u002Fsdks\u002Fdesign-systems\u002Findex",[155],{"title":151,"path":152,"stem":153},{"title":157,"path":158,"stem":159,"children":160},"Integration Node SDK","\u002Fdocs\u002Fsdks\u002Fintegration-nodes","docs\u002Fsdks\u002Fintegration-nodes\u002Findex",[161],{"title":157,"path":158,"stem":159},{"title":163,"path":164,"stem":165,"children":166},"Node SDK","\u002Fdocs\u002Fsdks\u002Fnode","docs\u002Fsdks\u002Fnode\u002Findex",[167],{"title":163,"path":164,"stem":165},{"title":169,"path":170,"stem":171,"children":172},"PHP SDK","\u002Fdocs\u002Fsdks\u002Fphp","docs\u002Fsdks\u002Fphp\u002Findex",[173],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177,"children":178},"Web \u002F JavaScript SDK","\u002Fdocs\u002Fsdks\u002Fweb","docs\u002Fsdks\u002Fweb\u002Findex",[179],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183,"children":184},"Services","\u002Fdocs\u002Fservices","docs\u002Fservices\u002Findex",[185,186,222,252,270,324,372],{"title":181,"path":182,"stem":183},{"title":187,"path":188,"stem":189,"children":190},"API usage","\u002Fdocs\u002Fservices\u002Fapi-usage","docs\u002Fservices\u002Fapi-usage\u002Findex",[191,192,198,204,210,216],{"title":187,"path":188,"stem":189},{"title":193,"path":194,"stem":195,"children":196},"Errors","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Ferrors","docs\u002Fservices\u002Fapi-usage\u002Ferrors\u002Findex",[197],{"title":193,"path":194,"stem":195},{"title":199,"path":200,"stem":201,"children":202},"Retries & idempotency","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fidempotency","docs\u002Fservices\u002Fapi-usage\u002Fidempotency\u002Findex",[203],{"title":199,"path":200,"stem":201},{"title":205,"path":206,"stem":207,"children":208},"Pagination & filtering","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fpagination","docs\u002Fservices\u002Fapi-usage\u002Fpagination\u002Findex",[209],{"title":205,"path":206,"stem":207},{"title":211,"path":212,"stem":213,"children":214},"Rate limits","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Frate-limits","docs\u002Fservices\u002Fapi-usage\u002Frate-limits\u002Findex",[215],{"title":211,"path":212,"stem":213},{"title":217,"path":218,"stem":219,"children":220},"Versioning & stability","\u002Fdocs\u002Fservices\u002Fapi-usage\u002Fversioning","docs\u002Fservices\u002Fapi-usage\u002Fversioning\u002Findex",[221],{"title":217,"path":218,"stem":219},{"title":223,"path":224,"stem":225,"children":226},"Authentication","\u002Fdocs\u002Fservices\u002Fauth","docs\u002Fservices\u002Fauth\u002Findex",[227,228,234,240,246],{"title":223,"path":224,"stem":225},{"title":229,"path":230,"stem":231,"children":232},"API keys","\u002Fdocs\u002Fservices\u002Fauth\u002Fapi-keys","docs\u002Fservices\u002Fauth\u002Fapi-keys\u002Findex",[233],{"title":229,"path":230,"stem":231},{"title":235,"path":236,"stem":237,"children":238},"Multi-factor authentication","\u002Fdocs\u002Fservices\u002Fauth\u002Fmfa","docs\u002Fservices\u002Fauth\u002Fmfa\u002Findex",[239],{"title":235,"path":236,"stem":237},{"title":241,"path":242,"stem":243,"children":244},"Social sign-in","\u002Fdocs\u002Fservices\u002Fauth\u002Foauth2","docs\u002Fservices\u002Fauth\u002Foauth2\u002Findex",[245],{"title":241,"path":242,"stem":243},{"title":247,"path":248,"stem":249,"children":250},"Sessions","\u002Fdocs\u002Fservices\u002Fauth\u002Fsessions","docs\u002Fservices\u002Fauth\u002Fsessions\u002Findex",[251],{"title":247,"path":248,"stem":249},{"title":253,"path":254,"stem":255,"children":256},"Events","\u002Fdocs\u002Fservices\u002Fevents","docs\u002Fservices\u002Fevents\u002Findex",[257,258,264],{"title":253,"path":254,"stem":255},{"title":259,"path":260,"stem":261,"children":262},"Consuming events","\u002Fdocs\u002Fservices\u002Fevents\u002Fconsuming-events","docs\u002Fservices\u002Fevents\u002Fconsuming-events\u002Findex",[263],{"title":259,"path":260,"stem":261},{"title":265,"path":266,"stem":267,"children":268},"Event types","\u002Fdocs\u002Fservices\u002Fevents\u002Fevent-types","docs\u002Fservices\u002Fevents\u002Fevent-types\u002Findex",[269],{"title":265,"path":266,"stem":267},{"title":271,"path":272,"stem":273,"children":274},"Network","\u002Fdocs\u002Fservices\u002Fnetwork","docs\u002Fservices\u002Fnetwork\u002Findex",[275,276,282,288,294,300,306,312,318],{"title":271,"path":272,"stem":273},{"title":277,"path":278,"stem":279,"children":280},"Caching","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcaching","docs\u002Fservices\u002Fnetwork\u002Fcaching\u002Findex",[281],{"title":277,"path":278,"stem":279},{"title":283,"path":284,"stem":285,"children":286},"Content delivery (CDN)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcdn","docs\u002Fservices\u002Fnetwork\u002Fcdn\u002Findex",[287],{"title":283,"path":284,"stem":285},{"title":289,"path":290,"stem":291,"children":292},"Compression","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fcompression","docs\u002Fservices\u002Fnetwork\u002Fcompression\u002Findex",[293],{"title":289,"path":290,"stem":291},{"title":295,"path":296,"stem":297,"children":298},"DDoS mitigation","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fddos","docs\u002Fservices\u002Fnetwork\u002Fddos\u002Findex",[299],{"title":295,"path":296,"stem":297},{"title":301,"path":302,"stem":303,"children":304},"Edge network","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fedges","docs\u002Fservices\u002Fnetwork\u002Fedges\u002Findex",[305],{"title":301,"path":302,"stem":303},{"title":307,"path":308,"stem":309,"children":310},"Endpoints","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fendpoints","docs\u002Fservices\u002Fnetwork\u002Fendpoints\u002Findex",[311],{"title":307,"path":308,"stem":309},{"title":313,"path":314,"stem":315,"children":316},"Transport Layer Security (TLS)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Ftls","docs\u002Fservices\u002Fnetwork\u002Ftls\u002Findex",[317],{"title":313,"path":314,"stem":315},{"title":319,"path":320,"stem":321,"children":322},"Web application firewall (WAF)","\u002Fdocs\u002Fservices\u002Fnetwork\u002Fwaf","docs\u002Fservices\u002Fnetwork\u002Fwaf\u002Findex",[323],{"title":319,"path":320,"stem":321},{"title":325,"path":326,"stem":327,"children":328},"Storage","\u002Fdocs\u002Fservices\u002Fstorage","docs\u002Fservices\u002Fstorage\u002Findex",[329,330,336,342,348,354,360,366],{"title":325,"path":326,"stem":327},{"title":331,"path":332,"stem":333,"children":334},"Folders","\u002Fdocs\u002Fservices\u002Fstorage\u002Fbuckets","docs\u002Fservices\u002Fstorage\u002Fbuckets\u002Findex",[335],{"title":331,"path":332,"stem":333},{"title":337,"path":338,"stem":339,"children":340},"Signed URLs and access","\u002Fdocs\u002Fservices\u002Fstorage\u002Ffile-tokens","docs\u002Fservices\u002Fstorage\u002Ffile-tokens\u002Findex",[341],{"title":337,"path":338,"stem":339},{"title":343,"path":344,"stem":345,"children":346},"Serve and transform images","\u002Fdocs\u002Fservices\u002Fstorage\u002Fimages","docs\u002Fservices\u002Fstorage\u002Fimages\u002Findex",[347],{"title":343,"path":344,"stem":345},{"title":349,"path":350,"stem":351,"children":352},"3D assets","\u002Fdocs\u002Fservices\u002Fstorage\u002Fmodel-viewer","docs\u002Fservices\u002Fstorage\u002Fmodel-viewer\u002Findex",[353],{"title":349,"path":350,"stem":351},{"title":355,"path":356,"stem":357,"children":358},"Access control and visibility","\u002Fdocs\u002Fservices\u002Fstorage\u002Fpermissions","docs\u002Fservices\u002Fstorage\u002Fpermissions\u002Findex",[359],{"title":355,"path":356,"stem":357},{"title":361,"path":362,"stem":363,"children":364},"Quick start","\u002Fdocs\u002Fservices\u002Fstorage\u002Fquick-start","docs\u002Fservices\u002Fstorage\u002Fquick-start\u002Findex",[365],{"title":361,"path":362,"stem":363},{"title":367,"path":368,"stem":369,"children":370},"Upload and manage files","\u002Fdocs\u002Fservices\u002Fstorage\u002Fupload-download","docs\u002Fservices\u002Fstorage\u002Fupload-download\u002Findex",[371],{"title":367,"path":368,"stem":369},{"title":373,"path":374,"stem":375,"children":376},"Webhooks","\u002Fdocs\u002Fservices\u002Fwebhooks","docs\u002Fservices\u002Fwebhooks\u002Findex",[377,378,384],{"title":373,"path":374,"stem":375},{"title":379,"path":380,"stem":381,"children":382},"Delivery","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fdelivery","docs\u002Fservices\u002Fwebhooks\u002Fdelivery\u002Findex",[383],{"title":379,"path":380,"stem":381},{"title":385,"path":386,"stem":387,"children":388},"Security","\u002Fdocs\u002Fservices\u002Fwebhooks\u002Fsecurity","docs\u002Fservices\u002Fwebhooks\u002Fsecurity\u002Findex",[389],{"title":385,"path":386,"stem":387},{"title":391,"path":392,"stem":393,"children":394},"Studios","\u002Fdocs\u002Fstudios","docs\u002Fstudios\u002Findex",[395,396,402,570,913,1195,1378],{"title":391,"path":392,"stem":393},{"title":397,"path":398,"stem":399,"children":400},"AI Studio","\u002Fdocs\u002Fstudios\u002Fai","docs\u002Fstudios\u002Fai\u002Findex",[401],{"title":397,"path":398,"stem":399},{"title":403,"path":404,"stem":405,"children":406},"Analytics Studio","\u002Fdocs\u002Fstudios\u002Fanalytics","docs\u002Fstudios\u002Fanalytics\u002Findex",[407,408,451,488,495,514,545],{"title":403,"path":404,"stem":405},{"title":409,"path":410,"stem":411,"children":412,"icon":414},"Make your app's data analyzable","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Findex",[413,415,421,427,433,439,445],{"title":409,"path":410,"stem":411,"icon":414},"i-lucide-table-2",{"title":416,"path":417,"stem":418,"children":419},"Column locators","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fcolumn-locators\u002Findex",[420],{"title":416,"path":417,"stem":418},{"title":422,"path":423,"stem":424,"children":425},"Declaring a view","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fdeclaring-a-view\u002Findex",[426],{"title":422,"path":423,"stem":424},{"title":428,"path":429,"stem":430,"children":431},"Example","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fexample\u002Findex",[432],{"title":428,"path":429,"stem":430},{"title":434,"path":435,"stem":436,"children":437},"Semantic roles","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fsemantic-roles\u002Findex",[438],{"title":434,"path":435,"stem":436},{"title":440,"path":441,"stem":442,"children":443},"Tenant isolation","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Ftenant-isolation\u002Findex",[444],{"title":440,"path":441,"stem":442},{"title":446,"path":447,"stem":448,"children":449},"The contract","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract","docs\u002Fstudios\u002Fanalytics\u002Fanalytics-json\u002Fthe-contract\u002Findex",[450],{"title":446,"path":447,"stem":448},{"title":452,"path":453,"stem":454,"children":455,"icon":457},"Stream commerce activity","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Findex",[456,458,464,470,476,482],{"title":452,"path":453,"stem":454,"icon":457},"i-lucide-radio",{"title":459,"path":460,"stem":461,"children":462},"Delivery guarantees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fdelivery-guarantees\u002Findex",[463],{"title":459,"path":460,"stem":461},{"title":465,"path":466,"stem":467,"children":468},"Event types for reporting","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fevent-types-for-reporting\u002Findex",[469],{"title":465,"path":466,"stem":467},{"title":471,"path":472,"stem":473,"children":474},"Register an endpoint","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fregister-an-endpoint\u002Findex",[475],{"title":471,"path":472,"stem":473},{"title":477,"path":478,"stem":479,"children":480},"The event stream","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fthe-event-stream\u002Findex",[481],{"title":477,"path":478,"stem":479},{"title":483,"path":484,"stem":485,"children":486},"Verify a delivery","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery","docs\u002Fstudios\u002Fanalytics\u002Fevents\u002Fverify-a-delivery\u002Findex",[487],{"title":483,"path":484,"stem":485},{"title":489,"path":490,"stem":491,"children":492,"icon":494},"Getting data out","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out","docs\u002Fstudios\u002Fanalytics\u002Fgetting-data-out\u002Findex",[493],{"title":489,"path":490,"stem":491,"icon":494},"i-lucide-arrow-right-left",{"title":496,"path":497,"stem":498,"children":499,"icon":501},"Limits and what's next","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Findex",[500,502,508],{"title":496,"path":497,"stem":498,"icon":501},"i-lucide-list-checks",{"title":503,"path":504,"stem":505,"children":506},"Designing for what's coming","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fdesigning-for-whats-coming\u002Findex",[507],{"title":503,"path":504,"stem":505},{"title":509,"path":510,"stem":511,"children":512},"What does not exist yet","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet","docs\u002Fstudios\u002Fanalytics\u002Flimits\u002Fwhat-does-not-exist-yet\u002Findex",[513],{"title":509,"path":510,"stem":511},{"title":515,"path":516,"stem":517,"children":518,"icon":520},"Build your own reporting store","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Findex",[519,521,527,533,539],{"title":515,"path":516,"stem":517,"icon":520},"i-lucide-database",{"title":522,"path":523,"stem":524,"children":525},"Backfill","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fbackfill\u002Findex",[526],{"title":522,"path":523,"stem":524},{"title":528,"path":529,"stem":530,"children":531},"Incremental sync","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fincremental-sync\u002Findex",[532],{"title":528,"path":529,"stem":530},{"title":534,"path":535,"stem":536,"children":537},"Modelling","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fmodelling\u002Findex",[538],{"title":534,"path":535,"stem":536},{"title":540,"path":541,"stem":542,"children":543},"Pull versus push","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push","docs\u002Fstudios\u002Fanalytics\u002Fown-store\u002Fpull-vs-push\u002Findex",[544],{"title":540,"path":541,"stem":542},{"title":546,"path":547,"stem":548,"children":549,"icon":551},"What the tenant sees","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Findex",[550,552,558,564],{"title":546,"path":547,"stem":548,"icon":551},"i-lucide-chart-column",{"title":553,"path":554,"stem":555,"children":556},"Cohorts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fcohorts\u002Findex",[557],{"title":553,"path":554,"stem":555},{"title":559,"path":560,"stem":561,"children":562},"Datasets and charts","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fdatasets-and-charts\u002Findex",[563],{"title":559,"path":560,"stem":561},{"title":565,"path":566,"stem":567,"children":568},"Studio overview","\u002Fdocs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview","docs\u002Fstudios\u002Fanalytics\u002Fwhat-the-tenant-sees\u002Fstudio-overview\u002Findex",[569],{"title":565,"path":566,"stem":567},{"title":571,"path":572,"stem":573,"children":574},"App Studio","\u002Fdocs\u002Fstudios\u002Fapps","docs\u002Fstudios\u002Fapps\u002Findex",[575,576,613,684,749,767,834],{"title":571,"path":572,"stem":573},{"title":577,"path":578,"stem":579,"children":580,"icon":582},"Admin UI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Findex",[581,583,589,595,601,607],{"title":577,"path":578,"stem":579,"icon":582},"i-lucide-layout-dashboard",{"title":584,"path":585,"stem":586,"children":587},"How the Cockpit renders","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fhow-cockpit-renders\u002Findex",[588],{"title":584,"path":585,"stem":586},{"title":590,"path":591,"stem":592,"children":593},"Preview locally","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fpreview-locally\u002Findex",[594],{"title":590,"path":591,"stem":592},{"title":596,"path":597,"stem":598,"children":599},"Reading settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Freading-settings\u002Findex",[600],{"title":596,"path":597,"stem":598},{"title":602,"path":603,"stem":604,"children":605},"Settings","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fsettings\u002Findex",[606],{"title":602,"path":603,"stem":604},{"title":608,"path":609,"stem":610,"children":611},"Vocabularies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies","docs\u002Fstudios\u002Fapps\u002Fadmin-ui\u002Fvocabularies\u002Findex",[612],{"title":608,"path":609,"stem":610},{"title":614,"path":615,"stem":616,"children":617,"icon":619},"Your app's API","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Findex",[618,620,625,631,637,643,649,654,660,666,672,678],{"title":614,"path":615,"stem":616,"icon":619},"i-lucide-route",{"title":277,"path":621,"stem":622,"children":623},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcaching\u002Findex",[624],{"title":277,"path":621,"stem":622},{"title":626,"path":627,"stem":628,"children":629},"Calling another app","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcalling-another-app\u002Findex",[630],{"title":626,"path":627,"stem":628},{"title":632,"path":633,"stem":634,"children":635},"Capabilities","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapabilities\u002Findex",[636],{"title":632,"path":633,"stem":634},{"title":638,"path":639,"stem":640,"children":641},"Capability reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcapability-reference\u002Findex",[642],{"title":638,"path":639,"stem":640},{"title":644,"path":645,"stem":646,"children":647},"CRUD","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fcrud\u002Findex",[648],{"title":644,"path":645,"stem":646},{"title":193,"path":650,"stem":651,"children":652},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ferrors\u002Findex",[653],{"title":193,"path":650,"stem":651},{"title":655,"path":656,"stem":657,"children":658},"Overriding a capability","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability","docs\u002Fstudios\u002Fapps\u002Fapi\u002Foverriding-a-capability\u002Findex",[659],{"title":655,"path":656,"stem":657},{"title":661,"path":662,"stem":663,"children":664},"Pagination and filtering","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpagination-and-filtering\u002Findex",[665],{"title":661,"path":662,"stem":663},{"title":667,"path":668,"stem":669,"children":670},"Published OpenAPI","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi","docs\u002Fstudios\u002Fapps\u002Fapi\u002Fpublished-openapi\u002Findex",[671],{"title":667,"path":668,"stem":669},{"title":673,"path":674,"stem":675,"children":676},"The router","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter","docs\u002Fstudios\u002Fapps\u002Fapi\u002Frouter\u002Findex",[677],{"title":673,"path":674,"stem":675},{"title":679,"path":680,"stem":681,"children":682},"Tags","\u002Fdocs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags","docs\u002Fstudios\u002Fapps\u002Fapi\u002Ftags\u002Findex",[683],{"title":679,"path":680,"stem":681},{"title":685,"path":686,"stem":687,"children":688,"icon":520},"Data model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Findex",[689,690,696,702,708,714,720,726,732,738,743],{"title":685,"path":686,"stem":687,"icon":520},{"title":691,"path":692,"stem":693,"children":694},"Adapters","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fadapters\u002Findex",[695],{"title":691,"path":692,"stem":693},{"title":697,"path":698,"stem":699,"children":700},"Column types","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcolumn-types\u002Findex",[701],{"title":697,"path":698,"stem":699},{"title":703,"path":704,"stem":705,"children":706},"Cross-app lookups","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fcross-app-lookups\u002Findex",[707],{"title":703,"path":704,"stem":705},{"title":709,"path":710,"stem":711,"children":712},"Migrations","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fmigrations\u002Findex",[713],{"title":709,"path":710,"stem":711},{"title":715,"path":716,"stem":717,"children":718},"Projections","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fprojections\u002Findex",[719],{"title":715,"path":716,"stem":717},{"title":721,"path":722,"stem":723,"children":724},"Relationships","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Frelationships\u002Findex",[725],{"title":721,"path":722,"stem":723},{"title":727,"path":728,"stem":729,"children":730},"Schema reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fschema-reference\u002Findex",[731],{"title":727,"path":728,"stem":729},{"title":733,"path":734,"stem":735,"children":736},"Scoping","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Fscoping\u002Findex",[737],{"title":733,"path":734,"stem":735},{"title":440,"path":739,"stem":740,"children":741},"\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftenant-isolation\u002Findex",[742],{"title":440,"path":739,"stem":740},{"title":744,"path":745,"stem":746,"children":747},"The typed client","\u002Fdocs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client","docs\u002Fstudios\u002Fapps\u002Fdata-model\u002Ftyped-client\u002Findex",[748],{"title":744,"path":745,"stem":746},{"title":750,"path":751,"stem":752,"children":753},"Getting started","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Findex",[754,755,761],{"title":750,"path":751,"stem":752},{"title":756,"path":757,"stem":758,"children":759},"App model","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fapp-model\u002Findex",[760],{"title":756,"path":757,"stem":758},{"title":762,"path":763,"stem":764,"children":765},"App isolation","\u002Fdocs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation","docs\u002Fstudios\u002Fapps\u002Fgetting-started\u002Fisolation\u002Findex",[766],{"title":762,"path":763,"stem":764},{"title":768,"path":769,"stem":770,"children":771,"icon":773},"Platform services","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Findex",[772,774,780,786,792,798,804,810,816,822,828],{"title":768,"path":769,"stem":770,"icon":773},"i-lucide-boxes",{"title":775,"path":776,"stem":777,"children":778},"Entity access","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fentity-access\u002Findex",[779],{"title":775,"path":776,"stem":777},{"title":781,"path":782,"stem":783,"children":784},"Events you emit","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-emit\u002Findex",[785],{"title":781,"path":782,"stem":783},{"title":787,"path":788,"stem":789,"children":790},"Events you receive","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fevents-you-receive\u002Findex",[791],{"title":787,"path":788,"stem":789},{"title":793,"path":794,"stem":795,"children":796},"Not yet proven","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fnot-yet-proven\u002Findex",[797],{"title":793,"path":794,"stem":795},{"title":799,"path":800,"stem":801,"children":802},"Outbound HTTP","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Foutbound-http\u002Findex",[803],{"title":799,"path":800,"stem":801},{"title":805,"path":806,"stem":807,"children":808},"Permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fpermissions\u002Findex",[809],{"title":805,"path":806,"stem":807},{"title":811,"path":812,"stem":813,"children":814},"Person permissions","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fperson-permissions\u002Findex",[815],{"title":811,"path":812,"stem":813},{"title":817,"path":818,"stem":819,"children":820},"Scheduled work","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Fscheduled-work\u002Findex",[821],{"title":817,"path":818,"stem":819},{"title":823,"path":824,"stem":825,"children":826},"Tenant identity","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftenant-identity\u002Findex",[827],{"title":823,"path":824,"stem":825},{"title":829,"path":830,"stem":831,"children":832},"Tracing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing","docs\u002Fstudios\u002Fapps\u002Fplatform-services\u002Ftracing\u002Findex",[833],{"title":829,"path":830,"stem":831},{"title":835,"path":836,"stem":837,"children":838,"icon":840},"Ship and operate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Findex",[839,841,847,853,859,865,871,877,883,889,895,901,907],{"title":835,"path":836,"stem":837,"icon":840},"i-lucide-rocket",{"title":842,"path":843,"stem":844,"children":845},"Billing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fbilling\u002Findex",[846],{"title":842,"path":843,"stem":844},{"title":848,"path":849,"stem":850,"children":851},"Consent","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fconsent\u002Findex",[852],{"title":848,"path":849,"stem":850},{"title":854,"path":855,"stem":856,"children":857},"Dependencies","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdependencies\u002Findex",[858],{"title":854,"path":855,"stem":856},{"title":860,"path":861,"stem":862,"children":863},"Deploying","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fdeploying\u002Findex",[864],{"title":860,"path":861,"stem":862},{"title":866,"path":867,"stem":868,"children":869},"Manifest reference","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fmanifest-reference\u002Findex",[870],{"title":866,"path":867,"stem":868},{"title":872,"path":873,"stem":874,"children":875},"Operating","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Foperating\u002Findex",[876],{"title":872,"path":873,"stem":874},{"title":878,"path":879,"stem":880,"children":881},"Private or Marketplace","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fprivate-vs-marketplace\u002Findex",[882],{"title":878,"path":879,"stem":880},{"title":884,"path":885,"stem":886,"children":887},"Publish and install","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fpublish-and-install\u002Findex",[888],{"title":884,"path":885,"stem":886},{"title":890,"path":891,"stem":892,"children":893},"Testing","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Ftesting\u002Findex",[894],{"title":890,"path":891,"stem":892},{"title":896,"path":897,"stem":898,"children":899},"Validate","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fvalidate\u002Findex",[900],{"title":896,"path":897,"stem":898},{"title":902,"path":903,"stem":904,"children":905},"Verifying live","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fverifying-live\u002Findex",[906],{"title":902,"path":903,"stem":904},{"title":908,"path":909,"stem":910,"children":911},"Versioning","\u002Fdocs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning","docs\u002Fstudios\u002Fapps\u002Fship-and-operate\u002Fversioning\u002Findex",[912],{"title":908,"path":909,"stem":910},{"title":914,"path":915,"stem":916,"children":917},"Commerce Studio","\u002Fdocs\u002Fstudios\u002Fcommerce","docs\u002Fstudios\u002Fcommerce\u002Findex",[918,919,991,1045,1088,1093,1147],{"title":914,"path":915,"stem":916},{"title":920,"path":921,"stem":922,"children":923,"icon":925},"Build an app","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Findex",[924,926,932,938,944,950,956,962,968,974,980,985],{"title":920,"path":921,"stem":922,"icon":925},"i-lucide-puzzle",{"title":927,"path":928,"stem":929,"children":930},"Actions and writes","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Factions-and-writes\u002Findex",[931],{"title":927,"path":928,"stem":929},{"title":933,"path":934,"stem":935,"children":936},"cockpit.json reference","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fcockpit-json-reference\u002Findex",[937],{"title":933,"path":934,"stem":935},{"title":939,"path":940,"stem":941,"children":942},"Detail views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fdetail-views\u002Findex",[943],{"title":939,"path":940,"stem":941},{"title":945,"path":946,"stem":947,"children":948},"Forms","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fforms\u002Findex",[949],{"title":945,"path":946,"stem":947},{"title":951,"path":952,"stem":953,"children":954},"From manifest to installed","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Ffrom-manifest-to-installed","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Ffrom-manifest-to-installed\u002Findex",[955],{"title":951,"path":952,"stem":953},{"title":957,"path":958,"stem":959,"children":960},"How it renders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fhow-it-renders\u002Findex",[961],{"title":957,"path":958,"stem":959},{"title":963,"path":964,"stem":965,"children":966},"List views","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Flist-views\u002Findex",[967],{"title":963,"path":964,"stem":965},{"title":969,"path":970,"stem":971,"children":972},"Navigation","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fnavigation\u002Findex",[973],{"title":969,"path":970,"stem":971},{"title":975,"path":976,"stem":977,"children":978},"Permissions and scope","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpermissions-and-scope\u002Findex",[979],{"title":975,"path":976,"stem":977},{"title":590,"path":981,"stem":982,"children":983},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fpreview-locally\u002Findex",[984],{"title":590,"path":981,"stem":982},{"title":986,"path":987,"stem":988,"children":989},"Widgets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets","docs\u002Fstudios\u002Fcommerce\u002Fbuild-an-app\u002Fwidgets\u002Findex",[990],{"title":986,"path":987,"stem":988},{"title":992,"path":993,"stem":994,"children":995,"icon":997},"Catalog","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Findex",[996,998,1004,1010,1016,1022,1027,1033,1039],{"title":992,"path":993,"stem":994,"icon":997},"i-lucide-package",{"title":999,"path":1000,"stem":1001,"children":1002},"Assets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassets\u002Findex",[1003],{"title":999,"path":1000,"stem":1001},{"title":1005,"path":1006,"stem":1007,"children":1008},"Associations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fassociations\u002Findex",[1009],{"title":1005,"path":1006,"stem":1007},{"title":1011,"path":1012,"stem":1013,"children":1014},"Categories","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcategories\u002Findex",[1015],{"title":1011,"path":1012,"stem":1013},{"title":1017,"path":1018,"stem":1019,"children":1020},"Completeness","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fcompleteness\u002Findex",[1021],{"title":1017,"path":1018,"stem":1019},{"title":685,"path":1023,"stem":1024,"children":1025},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fdata-model\u002Findex",[1026],{"title":685,"path":1023,"stem":1024},{"title":1028,"path":1029,"stem":1030,"children":1031},"Import and export","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fimport-and-export\u002Findex",[1032],{"title":1028,"path":1029,"stem":1030},{"title":1034,"path":1035,"stem":1036,"children":1037},"Products","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Fproducts\u002Findex",[1038],{"title":1034,"path":1035,"stem":1036},{"title":1040,"path":1041,"stem":1042,"children":1043},"References","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences","docs\u002Fstudios\u002Fcommerce\u002Fcatalog\u002Freferences\u002Findex",[1044],{"title":1040,"path":1041,"stem":1042},{"title":1046,"path":1047,"stem":1048,"children":1049,"icon":1051},"Customers","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Findex",[1050,1052,1058,1064,1070,1076,1082],{"title":1046,"path":1047,"stem":1048,"icon":1051},"i-lucide-building-2",{"title":1053,"path":1054,"stem":1055,"children":1056},"Contacts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fcontacts\u002Findex",[1057],{"title":1053,"path":1054,"stem":1055},{"title":1059,"path":1060,"stem":1061,"children":1062},"Organizations","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Forganizations\u002Findex",[1063],{"title":1059,"path":1060,"stem":1061},{"title":1065,"path":1066,"stem":1067,"children":1068},"Roles and permissions","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Froles-and-permissions\u002Findex",[1069],{"title":1065,"path":1066,"stem":1067},{"title":1071,"path":1072,"stem":1073,"children":1074},"Segments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fsegments\u002Findex",[1075],{"title":1071,"path":1072,"stem":1073},{"title":1077,"path":1078,"stem":1079,"children":1080},"Storefront accounts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fstorefront-accounts\u002Findex",[1081],{"title":1077,"path":1078,"stem":1079},{"title":1083,"path":1084,"stem":1085,"children":1086},"Value lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists","docs\u002Fstudios\u002Fcommerce\u002Fcustomers\u002Fvalue-lists\u002Findex",[1087],{"title":1083,"path":1084,"stem":1085},{"title":750,"path":1089,"stem":1090,"children":1091,"icon":840},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fgetting-started","docs\u002Fstudios\u002Fcommerce\u002Fgetting-started\u002Findex",[1092],{"title":750,"path":1089,"stem":1090,"icon":840},{"title":1094,"path":1095,"stem":1096,"children":1097,"icon":1099},"Markets and pricing","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Findex",[1098,1100,1106,1112,1118,1124,1130,1136,1141],{"title":1094,"path":1095,"stem":1096,"icon":1099},"i-lucide-globe",{"title":1101,"path":1102,"stem":1103,"children":1104},"Carriers and tracking","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fcarriers-and-tracking\u002Findex",[1105],{"title":1101,"path":1102,"stem":1103},{"title":1107,"path":1108,"stem":1109,"children":1110},"Channels","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fchannels\u002Findex",[1111],{"title":1107,"path":1108,"stem":1109},{"title":1113,"path":1114,"stem":1115,"children":1116},"Markets","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fmarkets\u002Findex",[1117],{"title":1113,"path":1114,"stem":1115},{"title":1119,"path":1120,"stem":1121,"children":1122},"Payment lifecycle","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-lifecycle\u002Findex",[1123],{"title":1119,"path":1120,"stem":1121},{"title":1125,"path":1126,"stem":1127,"children":1128},"Payment methods","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fpayment-methods\u002Findex",[1129],{"title":1125,"path":1126,"stem":1127},{"title":1131,"path":1132,"stem":1133,"children":1134},"Price lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fprice-lists\u002Findex",[1135],{"title":1131,"path":1132,"stem":1133},{"title":602,"path":1137,"stem":1138,"children":1139},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fsettings\u002Findex",[1140],{"title":602,"path":1137,"stem":1138},{"title":1142,"path":1143,"stem":1144,"children":1145},"Shipping rates","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates","docs\u002Fstudios\u002Fcommerce\u002Fmarkets-and-pricing\u002Fshipping-rates\u002Findex",[1146],{"title":1142,"path":1143,"stem":1144},{"title":1148,"path":1149,"stem":1150,"children":1151,"icon":1153},"Orders","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Findex",[1152,1154,1160,1166,1172,1178,1183,1189],{"title":1148,"path":1149,"stem":1150,"icon":1153},"i-lucide-receipt-text",{"title":1155,"path":1156,"stem":1157,"children":1158},"Carts","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fcarts\u002Findex",[1159],{"title":1155,"path":1156,"stem":1157},{"title":1161,"path":1162,"stem":1163,"children":1164},"Events and comments","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fevents-and-comments\u002Findex",[1165],{"title":1161,"path":1162,"stem":1163},{"title":1167,"path":1168,"stem":1169,"children":1170},"Number ranges","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fnumber-ranges\u002Findex",[1171],{"title":1167,"path":1168,"stem":1169},{"title":1173,"path":1174,"stem":1175,"children":1176},"Order lists","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forder-lists\u002Findex",[1177],{"title":1173,"path":1174,"stem":1175},{"title":1148,"path":1179,"stem":1180,"children":1181},"\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Forders\u002Findex",[1182],{"title":1148,"path":1179,"stem":1180},{"title":1184,"path":1185,"stem":1186,"children":1187},"Returns","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Freturns\u002Findex",[1188],{"title":1184,"path":1185,"stem":1186},{"title":1190,"path":1191,"stem":1192,"children":1193},"Stock","\u002Fdocs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock","docs\u002Fstudios\u002Fcommerce\u002Forders\u002Fstock\u002Findex",[1194],{"title":1190,"path":1191,"stem":1192},{"title":1196,"path":1197,"stem":1198,"children":1199},"Integration Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio","docs\u002Fstudios\u002Fintegration-studio\u002Findex",[1200,1201,1238,1275,1305,1310,1341],{"title":1196,"path":1197,"stem":1198},{"title":1202,"path":1203,"stem":1204,"children":1205,"icon":1207},"Build the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Findex",[1206,1208,1214,1220,1226,1232],{"title":1202,"path":1203,"stem":1204,"icon":1207},"i-lucide-workflow",{"title":1209,"path":1210,"stem":1211,"children":1212},"Expressions","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fexpressions\u002Findex",[1213],{"title":1209,"path":1210,"stem":1211},{"title":1215,"path":1216,"stem":1217,"children":1218},"Node catalog","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-catalog\u002Findex",[1219],{"title":1215,"path":1216,"stem":1217},{"title":1221,"path":1222,"stem":1223,"children":1224},"Node configuration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fnode-configuration\u002Findex",[1225],{"title":1221,"path":1222,"stem":1223},{"title":1227,"path":1228,"stem":1229,"children":1230},"Templates","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Ftemplates\u002Findex",[1231],{"title":1227,"path":1228,"stem":1229},{"title":1233,"path":1234,"stem":1235,"children":1236},"The workflow document","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model","docs\u002Fstudios\u002Fintegration-studio\u002Fbuild\u002Fworkflow-model\u002Findex",[1237],{"title":1233,"path":1234,"stem":1235},{"title":1239,"path":1240,"stem":1241,"children":1242,"icon":1244},"Connect the systems","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Findex",[1243,1245,1251,1257,1263,1269],{"title":1239,"path":1240,"stem":1241,"icon":1244},"i-lucide-key-round",{"title":1246,"path":1247,"stem":1248,"children":1249},"Credentials","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fcredentials\u002Findex",[1250],{"title":1246,"path":1247,"stem":1248},{"title":1252,"path":1253,"stem":1254,"children":1255},"File transfer","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Ffiles\u002Findex",[1256],{"title":1252,"path":1253,"stem":1254},{"title":1258,"path":1259,"stem":1260,"children":1261},"OAuth","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Foauth\u002Findex",[1262],{"title":1258,"path":1259,"stem":1260},{"title":1264,"path":1265,"stem":1266,"children":1267},"Reaching Revenue Cloud","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Freaching-revenue-cloud\u002Findex",[1268],{"title":1264,"path":1265,"stem":1266},{"title":1270,"path":1271,"stem":1272,"children":1273},"Secrets","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets","docs\u002Fstudios\u002Fintegration-studio\u002Fconnect\u002Fsecrets\u002Findex",[1274],{"title":1270,"path":1271,"stem":1272},{"title":1276,"path":1277,"stem":1278,"children":1279,"icon":997},"Extend the Studio","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Findex",[1280,1281,1287,1293,1299],{"title":1276,"path":1277,"stem":1278,"icon":997},{"title":1282,"path":1283,"stem":1284,"children":1285},"Custom nodes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fcustom-nodes\u002Findex",[1286],{"title":1282,"path":1283,"stem":1284},{"title":1288,"path":1289,"stem":1290,"children":1291},"Dynamic behaviour","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fdynamic-behaviour\u002Findex",[1292],{"title":1288,"path":1289,"stem":1290},{"title":1294,"path":1295,"stem":1296,"children":1297},"Package manifest","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fpackage-manifest\u002Findex",[1298],{"title":1294,"path":1295,"stem":1296},{"title":1300,"path":1301,"stem":1302,"children":1303},"Registration","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration","docs\u002Fstudios\u002Fintegration-studio\u002Fextend\u002Fregistration\u002Findex",[1304],{"title":1300,"path":1301,"stem":1302},{"title":750,"path":1306,"stem":1307,"children":1308,"icon":840},"\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started","docs\u002Fstudios\u002Fintegration-studio\u002Fgetting-started\u002Findex",[1309],{"title":750,"path":1306,"stem":1307,"icon":840},{"title":1311,"path":1312,"stem":1313,"children":1314,"icon":1316},"Run, watch, recover","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Findex",[1315,1317,1323,1329,1335],{"title":1311,"path":1312,"stem":1313,"icon":1316},"i-lucide-activity",{"title":1318,"path":1319,"stem":1320,"children":1321},"Missed runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fdead-letters\u002Findex",[1322],{"title":1318,"path":1319,"stem":1320},{"title":1324,"path":1325,"stem":1326,"children":1327},"Failure handling","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Ffailure-handling\u002Findex",[1328],{"title":1324,"path":1325,"stem":1326},{"title":1330,"path":1331,"stem":1332,"children":1333},"Revisions and audit","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Frevisions-and-audit\u002Findex",[1334],{"title":1330,"path":1331,"stem":1332},{"title":1336,"path":1337,"stem":1338,"children":1339},"Runs","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns","docs\u002Fstudios\u002Fintegration-studio\u002Foperate\u002Fruns\u002Findex",[1340],{"title":1336,"path":1337,"stem":1338},{"title":1342,"path":1343,"stem":1344,"children":1345,"icon":1347},"Start the workflow","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Findex",[1346,1348,1354,1360,1366,1372],{"title":1342,"path":1343,"stem":1344,"icon":1347},"i-lucide-zap",{"title":1349,"path":1350,"stem":1351,"children":1352},"Event triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fevent-triggers\u002Findex",[1353],{"title":1349,"path":1350,"stem":1351},{"title":1355,"path":1356,"stem":1357,"children":1358},"Execution modes","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fexecution-modes\u002Findex",[1359],{"title":1355,"path":1356,"stem":1357},{"title":1361,"path":1362,"stem":1363,"children":1364},"Schedule triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fschedule-triggers\u002Findex",[1365],{"title":1361,"path":1362,"stem":1363},{"title":1367,"path":1368,"stem":1369,"children":1370},"Triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Ftriggers\u002Findex",[1371],{"title":1367,"path":1368,"stem":1369},{"title":1373,"path":1374,"stem":1375,"children":1376},"Webhook triggers","\u002Fdocs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers","docs\u002Fstudios\u002Fintegration-studio\u002Fstart\u002Fwebhook-triggers\u002Findex",[1377],{"title":1373,"path":1374,"stem":1375},{"title":1379,"path":1380,"stem":1381,"children":1382},"Experience Studio","\u002Fdocs\u002Fstudios\u002Fsites","docs\u002Fstudios\u002Fsites\u002Findex",[1383,1384,1433,1480,1606,1612,1654],{"title":1379,"path":1380,"stem":1381},{"title":1385,"path":1386,"stem":1387,"children":1388,"icon":1390},"Compose pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Findex",[1389,1391,1397,1403,1409,1415,1421,1427],{"title":1385,"path":1386,"stem":1387,"icon":1390},"i-lucide-layout-template",{"title":1392,"path":1393,"stem":1394,"children":1395},"Block catalog","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-catalog\u002Findex",[1396],{"title":1392,"path":1393,"stem":1394},{"title":1398,"path":1399,"stem":1400,"children":1401},"Block options","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fblock-options\u002Findex",[1402],{"title":1398,"path":1399,"stem":1400},{"title":1404,"path":1405,"stem":1406,"children":1407},"How a block works","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fhow-a-block-works\u002Findex",[1408],{"title":1404,"path":1405,"stem":1406},{"title":1410,"path":1411,"stem":1412,"children":1413},"Inline editing","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Finline-editing\u002Findex",[1414],{"title":1410,"path":1411,"stem":1412},{"title":1416,"path":1417,"stem":1418,"children":1419},"Reading published pages","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Freading-pages\u002Findex",[1420],{"title":1416,"path":1417,"stem":1418},{"title":1422,"path":1423,"stem":1424,"children":1425},"Registering blocks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fregistering\u002Findex",[1426],{"title":1422,"path":1423,"stem":1424},{"title":1428,"path":1429,"stem":1430,"children":1431},"Shells and fields","\u002Fdocs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields","docs\u002Fstudios\u002Fsites\u002Fblocks\u002Fshells-and-fields\u002Findex",[1432],{"title":1428,"path":1429,"stem":1430},{"title":1434,"path":1435,"stem":1436,"children":1437,"icon":1439},"Connect data","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata","docs\u002Fstudios\u002Fsites\u002Fdata\u002Findex",[1438,1440,1445,1451,1457,1462,1468,1474],{"title":1434,"path":1435,"stem":1436,"icon":1439},"i-lucide-plug",{"title":223,"path":1441,"stem":1442,"children":1443},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fauthentication\u002Findex",[1444],{"title":223,"path":1441,"stem":1442},{"title":1446,"path":1447,"stem":1448,"children":1449},"The BFF pattern","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fbff-pattern\u002Findex",[1450],{"title":1446,"path":1447,"stem":1448},{"title":1452,"path":1453,"stem":1454,"children":1455},"Catalog, cart, checkout","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fcatalog-cart-checkout\u002Findex",[1456],{"title":1452,"path":1453,"stem":1454},{"title":945,"path":1458,"stem":1459,"children":1460},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fforms\u002Findex",[1461],{"title":945,"path":1458,"stem":1459},{"title":1463,"path":1464,"stem":1465,"children":1466},"Media and assets","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmedia\u002Findex",[1467],{"title":1463,"path":1464,"stem":1465},{"title":1469,"path":1470,"stem":1471,"children":1472},"Multi-tenant themes","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fmulti-tenant-themes\u002Findex",[1473],{"title":1469,"path":1470,"stem":1471},{"title":1475,"path":1476,"stem":1477,"children":1478},"Search","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch","docs\u002Fstudios\u002Fsites\u002Fdata\u002Fsearch\u002Findex",[1479],{"title":1475,"path":1476,"stem":1477},{"title":1481,"path":1482,"stem":1483,"children":1484,"icon":840},"Build and deploy","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Findex",[1485,1486,1492,1498,1504,1510,1516,1522,1600],{"title":1481,"path":1482,"stem":1483,"icon":840},{"title":1487,"path":1488,"stem":1489,"children":1490},"Build configuration","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fbuild-configuration\u002Findex",[1491],{"title":1487,"path":1488,"stem":1489},{"title":1493,"path":1494,"stem":1495,"children":1496},"Compute specifications","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fcompute-specifications\u002Findex",[1497],{"title":1493,"path":1494,"stem":1495},{"title":1499,"path":1500,"stem":1501,"children":1502},"Environment variables","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fenvironment-variables\u002Findex",[1503],{"title":1499,"path":1500,"stem":1501},{"title":1505,"path":1506,"stem":1507,"children":1508},"From Git","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-git\u002Findex",[1509],{"title":1505,"path":1506,"stem":1507},{"title":1511,"path":1512,"stem":1513,"children":1514},"From the CLI","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Ffrom-the-cli\u002Findex",[1515],{"title":1511,"path":1512,"stem":1513},{"title":1517,"path":1518,"stem":1519,"children":1520},"Manually","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fmanually\u002Findex",[1521],{"title":1517,"path":1518,"stem":1519},{"title":1523,"path":1524,"stem":1525,"children":1526},"Quick-starts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Findex",[1527,1528,1534,1540,1546,1552,1558,1564,1570,1576,1582,1588,1594],{"title":1523,"path":1524,"stem":1525},{"title":1529,"path":1530,"stem":1531,"children":1532},"Deploy an Angular app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fangular\u002Findex",[1533],{"title":1529,"path":1530,"stem":1531},{"title":1535,"path":1536,"stem":1537,"children":1538},"Deploy a Astro app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fastro\u002Findex",[1539],{"title":1535,"path":1536,"stem":1537},{"title":1541,"path":1542,"stem":1543,"children":1544},"Deploy a Flutter Web app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fflutter\u002Findex",[1545],{"title":1541,"path":1542,"stem":1543},{"title":1547,"path":1548,"stem":1549,"children":1550},"Deploy a Next.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnextjs\u002Findex",[1551],{"title":1547,"path":1548,"stem":1549},{"title":1553,"path":1554,"stem":1555,"children":1556},"Deploy a Nuxt app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fnuxt\u002Findex",[1557],{"title":1553,"path":1554,"stem":1555},{"title":1559,"path":1560,"stem":1561,"children":1562},"Deploy a React Native app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact-native","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact-native\u002Findex",[1563],{"title":1559,"path":1560,"stem":1561},{"title":1565,"path":1566,"stem":1567,"children":1568},"Deploy a React app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Freact\u002Findex",[1569],{"title":1565,"path":1566,"stem":1567},{"title":1571,"path":1572,"stem":1573,"children":1574},"Deploy a Remix app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fremix\u002Findex",[1575],{"title":1571,"path":1572,"stem":1573},{"title":1577,"path":1578,"stem":1579,"children":1580},"Deploy a SvelteKit app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fsveltekit\u002Findex",[1581],{"title":1577,"path":1578,"stem":1579},{"title":1583,"path":1584,"stem":1585,"children":1586},"Deploy a TanStack Start app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Ftanstack-start","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Ftanstack-start\u002Findex",[1587],{"title":1583,"path":1584,"stem":1585},{"title":1589,"path":1590,"stem":1591,"children":1592},"Deploy a Vanilla JS app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvanilla\u002Findex",[1593],{"title":1589,"path":1590,"stem":1591},{"title":1595,"path":1596,"stem":1597,"children":1598},"Deploy a Vue.js app to revenexx Storefronts","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fquick-starts\u002Fvue\u002Findex",[1599],{"title":1595,"path":1596,"stem":1597},{"title":1601,"path":1602,"stem":1603,"children":1604},"Starting points","\u002Fdocs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points","docs\u002Fstudios\u002Fsites\u002Fdeploy\u002Fstarting-points\u002Findex",[1605],{"title":1601,"path":1602,"stem":1603},{"title":750,"path":1607,"stem":1608,"children":1609,"icon":1611},"\u002Fdocs\u002Fstudios\u002Fsites\u002Fgetting-started","docs\u002Fstudios\u002Fsites\u002Fgetting-started\u002Findex",[1610],{"title":750,"path":1607,"stem":1608,"icon":1611},"i-lucide-terminal",{"title":1613,"path":1614,"stem":1615,"children":1616,"icon":1099},"Production","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Findex",[1617,1618,1624,1630,1636,1642,1648],{"title":1613,"path":1614,"stem":1615,"icon":1099},{"title":1619,"path":1620,"stem":1621,"children":1622},"Deployments","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdeployments\u002Findex",[1623],{"title":1619,"path":1620,"stem":1621},{"title":1625,"path":1626,"stem":1627,"children":1628},"Domains","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fdomains\u002Findex",[1629],{"title":1625,"path":1626,"stem":1627},{"title":1631,"path":1632,"stem":1633,"children":1634},"Instant rollbacks","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Finstant-rollbacks\u002Findex",[1635],{"title":1631,"path":1632,"stem":1633},{"title":1637,"path":1638,"stem":1639,"children":1640},"Logs","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Flogs\u002Findex",[1641],{"title":1637,"path":1638,"stem":1639},{"title":1643,"path":1644,"stem":1645,"children":1646},"Previews","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpreviews\u002Findex",[1647],{"title":1643,"path":1644,"stem":1645},{"title":1649,"path":1650,"stem":1651,"children":1652},"Publishing a theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme","docs\u002Fstudios\u002Fsites\u002Fproduction\u002Fpublishing-a-theme\u002Findex",[1653],{"title":1649,"path":1650,"stem":1651},{"title":1655,"path":1656,"stem":1657,"children":1658,"icon":1660},"Build the theme","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Findex",[1659,1661,1667,1673,1679,1685,1691,1697,1715],{"title":1655,"path":1656,"stem":1657,"icon":1660},"i-lucide-palette",{"title":1662,"path":1663,"stem":1664,"children":1665},"Theme anatomy","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fanatomy\u002Findex",[1666],{"title":1662,"path":1663,"stem":1664},{"title":1668,"path":1669,"stem":1670,"children":1671},"Design tokens","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002Findex",[1672],{"title":1668,"path":1669,"stem":1670},{"title":1674,"path":1675,"stem":1676,"children":1677},"Frameworks","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fframeworks\u002Findex",[1678],{"title":1674,"path":1675,"stem":1676},{"title":1680,"path":1681,"stem":1682,"children":1683},"The layer chain","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flayer-chain\u002Findex",[1684],{"title":1680,"path":1681,"stem":1682},{"title":1686,"path":1687,"stem":1688,"children":1689},"Local development","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Flocal-development\u002Findex",[1690],{"title":1686,"path":1687,"stem":1688},{"title":1692,"path":1693,"stem":1694,"children":1695},"Overriding","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Foverriding\u002Findex",[1696],{"title":1692,"path":1693,"stem":1694},{"title":1698,"path":1699,"stem":1700,"children":1701},"Rendering","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Findex",[1702,1703,1709],{"title":1698,"path":1699,"stem":1700},{"title":1704,"path":1705,"stem":1706,"children":1707},"SSR","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fssr\u002Findex",[1708],{"title":1704,"path":1705,"stem":1706},{"title":1710,"path":1711,"stem":1712,"children":1713},"Static","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Frendering\u002Fstatic\u002Findex",[1714],{"title":1710,"path":1711,"stem":1712},{"title":1716,"path":1717,"stem":1718,"children":1719},"Service modes","\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes","docs\u002Fstudios\u002Fsites\u002Ftheme\u002Fservice-modes\u002Findex",[1720],{"title":1716,"path":1717,"stem":1718},{"title":1722,"path":1723,"stem":1724,"children":1725},"Tools","\u002Fdocs\u002Ftools","docs\u002Ftools\u002Findex",[1726,1727,1936],{"title":1722,"path":1723,"stem":1724},{"title":1728,"path":1729,"stem":1730,"children":1731},"Command line","\u002Fdocs\u002Ftools\u002Fcommand-line","docs\u002Ftools\u002Fcommand-line\u002Findex",[1732,1733,1739,1744,1750,1756,1762,1768,1774,1894,1900,1906,1912,1918,1924,1930],{"title":1728,"path":1729,"stem":1730},{"title":1734,"path":1735,"stem":1736,"children":1737},"Aliases","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Faliases","docs\u002Ftools\u002Fcommand-line\u002Faliases\u002Findex",[1738],{"title":1734,"path":1735,"stem":1736},{"title":223,"path":1740,"stem":1741,"children":1742},"\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fauthentication","docs\u002Ftools\u002Fcommand-line\u002Fauthentication\u002Findex",[1743],{"title":223,"path":1740,"stem":1741},{"title":1745,"path":1746,"stem":1747,"children":1748},"Commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fcommands","docs\u002Ftools\u002Fcommand-line\u002Fcommands\u002Findex",[1749],{"title":1745,"path":1746,"stem":1747},{"title":1751,"path":1752,"stem":1753,"children":1754},"Installation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finstallation","docs\u002Ftools\u002Fcommand-line\u002Finstallation\u002Findex",[1755],{"title":1751,"path":1752,"stem":1753},{"title":1757,"path":1758,"stem":1759,"children":1760},"Interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Finteractive","docs\u002Ftools\u002Fcommand-line\u002Finteractive\u002Findex",[1761],{"title":1757,"path":1758,"stem":1759},{"title":1763,"path":1764,"stem":1765,"children":1766},"Non-interactive use","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fnon-interactive","docs\u002Ftools\u002Fcommand-line\u002Fnon-interactive\u002Findex",[1767],{"title":1763,"path":1764,"stem":1765},{"title":1769,"path":1770,"stem":1771,"children":1772},"Project configuration","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fproject-configuration","docs\u002Ftools\u002Fcommand-line\u002Fproject-configuration\u002Findex",[1773],{"title":1769,"path":1770,"stem":1771},{"title":1775,"path":1776,"stem":1777,"children":1778},"Command reference","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Findex",[1779,1780,1786,1792,1798,1804,1810,1816,1822,1828,1834,1840,1846,1852,1858,1864,1870,1876,1882,1888],{"title":1775,"path":1776,"stem":1777},{"title":1781,"path":1782,"stem":1783,"children":1784},"About commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fabout\u002Findex",[1785],{"title":1781,"path":1782,"stem":1783},{"title":1787,"path":1788,"stem":1789,"children":1790},"Apps commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fapps\u002Findex",[1791],{"title":1787,"path":1788,"stem":1789},{"title":1793,"path":1794,"stem":1795,"children":1796},"Carts commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcarts\u002Findex",[1797],{"title":1793,"path":1794,"stem":1795},{"title":1799,"path":1800,"stem":1801,"children":1802},"Channels commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fchannels\u002Findex",[1803],{"title":1799,"path":1800,"stem":1801},{"title":1805,"path":1806,"stem":1807,"children":1808},"Create commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcreate\u002Findex",[1809],{"title":1805,"path":1806,"stem":1807},{"title":1811,"path":1812,"stem":1813,"children":1814},"Customers commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fcustomers\u002Findex",[1815],{"title":1811,"path":1812,"stem":1813},{"title":1817,"path":1818,"stem":1819,"children":1820},"Deploy commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fdeploy\u002Findex",[1821],{"title":1817,"path":1818,"stem":1819},{"title":1823,"path":1824,"stem":1825,"children":1826},"Forms commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fforms\u002Findex",[1827],{"title":1823,"path":1824,"stem":1825},{"title":1829,"path":1830,"stem":1831,"children":1832},"Markets commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fmarkets\u002Findex",[1833],{"title":1829,"path":1830,"stem":1831},{"title":1835,"path":1836,"stem":1837,"children":1838},"Order lists commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forderlists\u002Findex",[1839],{"title":1835,"path":1836,"stem":1837},{"title":1841,"path":1842,"stem":1843,"children":1844},"Orders commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Forders\u002Findex",[1845],{"title":1841,"path":1842,"stem":1843},{"title":1847,"path":1848,"stem":1849,"children":1850},"Pages commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fpages\u002Findex",[1851],{"title":1847,"path":1848,"stem":1849},{"title":1853,"path":1854,"stem":1855,"children":1856},"Prices commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fprices\u002Findex",[1857],{"title":1853,"path":1854,"stem":1855},{"title":1859,"path":1860,"stem":1861,"children":1862},"Products commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fproducts\u002Findex",[1863],{"title":1859,"path":1860,"stem":1861},{"title":1865,"path":1866,"stem":1867,"children":1868},"Search commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsearch\u002Findex",[1869],{"title":1865,"path":1866,"stem":1867},{"title":1871,"path":1872,"stem":1873,"children":1874},"Settings commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsettings\u002Findex",[1875],{"title":1871,"path":1872,"stem":1873},{"title":1877,"path":1878,"stem":1879,"children":1880},"Sites commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fsites\u002Findex",[1881],{"title":1877,"path":1878,"stem":1879},{"title":1883,"path":1884,"stem":1885,"children":1886},"Skills commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fskills\u002Findex",[1887],{"title":1883,"path":1884,"stem":1885},{"title":1889,"path":1890,"stem":1891,"children":1892},"Storage commands","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage","docs\u002Ftools\u002Fcommand-line\u002Freference\u002Fstorage\u002Findex",[1893],{"title":1889,"path":1890,"stem":1891},{"title":1895,"path":1896,"stem":1897,"children":1898},"Interactive shell (REPL)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Frepl","docs\u002Ftools\u002Fcommand-line\u002Frepl\u002Findex",[1899],{"title":1895,"path":1896,"stem":1897},{"title":1901,"path":1902,"stem":1903,"children":1904},"Scaffolding","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscaffolding","docs\u002Ftools\u002Fcommand-line\u002Fscaffolding\u002Findex",[1905],{"title":1901,"path":1902,"stem":1903},{"title":1907,"path":1908,"stem":1909,"children":1910},"Scripting & output","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fscripting","docs\u002Ftools\u002Fcommand-line\u002Fscripting\u002Findex",[1911],{"title":1907,"path":1908,"stem":1909},{"title":1913,"path":1914,"stem":1915,"children":1916},"Skills","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fskills","docs\u002Ftools\u002Fcommand-line\u002Fskills\u002Findex",[1917],{"title":1913,"path":1914,"stem":1915},{"title":1919,"path":1920,"stem":1921,"children":1922},"Full-screen app (TUI)","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftui","docs\u002Ftools\u002Fcommand-line\u002Ftui\u002Findex",[1923],{"title":1919,"path":1920,"stem":1921},{"title":1925,"path":1926,"stem":1927,"children":1928},"Type generation","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Ftype-generation","docs\u002Ftools\u002Fcommand-line\u002Ftype-generation\u002Findex",[1929],{"title":1925,"path":1926,"stem":1927},{"title":1931,"path":1932,"stem":1933,"children":1934},"Background watchers","\u002Fdocs\u002Ftools\u002Fcommand-line\u002Fwatch","docs\u002Ftools\u002Fcommand-line\u002Fwatch\u002Findex",[1935],{"title":1931,"path":1932,"stem":1933},{"title":1937,"path":1938,"stem":1939,"children":1940},"Model Context Protocol","\u002Fdocs\u002Ftools\u002Fmcp","docs\u002Ftools\u002Fmcp\u002Findex",[1941,1942,1948,1954,1960,1966,1972,1978,1984],{"title":1937,"path":1938,"stem":1939},{"title":1943,"path":1944,"stem":1945,"children":1946},"revenexx docs MCP in Google Antigravity","\u002Fdocs\u002Ftools\u002Fmcp\u002Fantigravity","docs\u002Ftools\u002Fmcp\u002Fantigravity\u002Findex",[1947],{"title":1943,"path":1944,"stem":1945},{"title":1949,"path":1950,"stem":1951,"children":1952},"revenexx docs MCP in Claude Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-code","docs\u002Ftools\u002Fmcp\u002Fclaude-code\u002Findex",[1953],{"title":1949,"path":1950,"stem":1951},{"title":1955,"path":1956,"stem":1957,"children":1958},"revenexx docs MCP in Claude Desktop","\u002Fdocs\u002Ftools\u002Fmcp\u002Fclaude-desktop","docs\u002Ftools\u002Fmcp\u002Fclaude-desktop\u002Findex",[1959],{"title":1955,"path":1956,"stem":1957},{"title":1961,"path":1962,"stem":1963,"children":1964},"revenexx docs MCP in Cursor","\u002Fdocs\u002Ftools\u002Fmcp\u002Fcursor","docs\u002Ftools\u002Fmcp\u002Fcursor\u002Findex",[1965],{"title":1961,"path":1962,"stem":1963},{"title":1967,"path":1968,"stem":1969,"children":1970},"revenexx docs MCP in OpenCode","\u002Fdocs\u002Ftools\u002Fmcp\u002Fopencode","docs\u002Ftools\u002Fmcp\u002Fopencode\u002Findex",[1971],{"title":1967,"path":1968,"stem":1969},{"title":1973,"path":1974,"stem":1975,"children":1976},"revenexx docs MCP in VS Code","\u002Fdocs\u002Ftools\u002Fmcp\u002Fvscode","docs\u002Ftools\u002Fmcp\u002Fvscode\u002Findex",[1977],{"title":1973,"path":1974,"stem":1975},{"title":1979,"path":1980,"stem":1981,"children":1982},"revenexx docs MCP in Windsurf","\u002Fdocs\u002Ftools\u002Fmcp\u002Fwindsurf","docs\u002Ftools\u002Fmcp\u002Fwindsurf\u002Findex",[1983],{"title":1979,"path":1980,"stem":1981},{"title":1985,"path":1986,"stem":1987,"children":1988},"revenexx docs MCP in Zenflow","\u002Fdocs\u002Ftools\u002Fmcp\u002Fzenflow","docs\u002Ftools\u002Fmcp\u002Fzenflow\u002Findex",[1989],{"title":1985,"path":1986,"stem":1987},{"id":1991,"title":127,"body":1992,"description":3984,"extension":3985,"landing":3986,"links":3986,"meta":3987,"navigation":2091,"path":128,"seo":3988,"sitemap":3989,"stem":129,"__hash__":3990},"docs\u002Fdocs\u002Fguides\u002Fthemes\u002Ftheme-tokens-and-styling\u002Findex.md",{"type":1993,"value":1994,"toc":3973},"minimark",[1995,1999,2016,2021,2033,2037,2044,2331,2341,2345,2348,2597,2607,2611,2614,2617,2802,2805,3070,3077,3081,3084,3225,3229,3239,3242,3352,3359,3449,3877,3880,3884,3923,3927,3949,3953,3970],[1996,1997,1998],"p",{},"A Theme's look is data, not code. You define design tokens as CSS custom properties, components read those tokens instead of hard-coded values, and each tenant's brand is applied at runtime. The same build serves every customer; a rebrand is a token change, not a redeploy.",[1996,2000,2001,2002,2006,2007,2010,2011,2015],{},"This page is for ",[2003,2004,2005],"strong",{},"frontend developers"," and ",[2003,2008,2009],{},"designer-developers"," styling a Theme. You should have a Theme scaffolded — see ",[2012,2013,109],"a",{"href":2014},"\u002Fdocs\u002Fguides\u002Fthemes\u002Fbuild-your-first-theme\u002F",".",[2017,2018,2020],"h2",{"id":2019},"why-tokens","Why tokens",[1996,2022,2023,2024,2028,2029,2032],{},"A multi-tenant Theme is deployed once and serves many customers, each on their own domain. If colors and fonts were baked into component CSS, every customer would need a fork or a rebuild. CSS custom properties solve this cleanly: define the brand on ",[2025,2026,2027],"code",{},":root",", have components reference ",[2025,2030,2031],{},"var(--…)",", and swap the values per tenant at runtime. The approach is well supported in every modern browser and lets designers write the tokens directly.",[2017,2034,2036],{"id":2035},"_1-define-the-tokens","1. Define the tokens",[1996,2038,2039,2040,2043],{},"Put the token set in one place — a single stylesheet that is the source of truth for the Theme's design. Name tokens for their ",[2003,2041,2042],{},"role",", not their value, so they survive a rebrand.",[2045,2046,2052],"pre",{"className":2047,"code":2048,"filename":2049,"language":2050,"meta":2051,"style":2051},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight",":root {\n  color-scheme: light dark;\n\n  \u002F* Color *\u002F\n  --color-primary: #4f46e5;\n  --color-primary-hover: #4338ca;\n  --color-surface: #ffffff;\n  --color-surface-muted: #f9fafb;\n  --color-text: #1f2937;\n  --color-text-muted: #6b7280;\n  --color-border: #e5e7eb;\n\n  \u002F* Typography *\u002F\n  --font-family-base: 'Inter', system-ui, sans-serif;\n  --font-size-base: 1rem;\n  --line-height-base: 1.5;\n\n  \u002F* Shape and spacing *\u002F\n  --radius-md: 0.5rem;\n  --spacing-unit: 0.25rem;\n  --container-max-width: 1280px;\n}\n","app\u002Fassets\u002Fcss\u002Ftokens.css","css","",[2025,2053,2054,2070,2086,2093,2100,2116,2131,2146,2161,2176,2191,2206,2211,2217,2248,2262,2275,2280,2286,2299,2312,2325],{"__ignoreMap":2051},[2055,2056,2059,2063,2067],"span",{"class":2057,"line":2058},"line",1,[2055,2060,2062],{"class":2061},"sMK4o",":",[2055,2064,2066],{"class":2065},"spNyl","root",[2055,2068,2069],{"class":2061}," {\n",[2055,2071,2073,2077,2079,2083],{"class":2057,"line":2072},2,[2055,2074,2076],{"class":2075},"sqsOY","  color-scheme",[2055,2078,2062],{"class":2061},[2055,2080,2082],{"class":2081},"sTEyZ"," light dark",[2055,2084,2085],{"class":2061},";\n",[2055,2087,2089],{"class":2057,"line":2088},3,[2055,2090,2092],{"emptyLinePlaceholder":2091},true,"\n",[2055,2094,2096],{"class":2057,"line":2095},4,[2055,2097,2099],{"class":2098},"sHwdD","  \u002F* Color *\u002F\n",[2055,2101,2103,2106,2108,2111,2114],{"class":2057,"line":2102},5,[2055,2104,2105],{"class":2081},"  --color-primary",[2055,2107,2062],{"class":2061},[2055,2109,2110],{"class":2061}," #",[2055,2112,2113],{"class":2081},"4f46e5",[2055,2115,2085],{"class":2061},[2055,2117,2119,2122,2124,2126,2129],{"class":2057,"line":2118},6,[2055,2120,2121],{"class":2081},"  --color-primary-hover",[2055,2123,2062],{"class":2061},[2055,2125,2110],{"class":2061},[2055,2127,2128],{"class":2081},"4338ca",[2055,2130,2085],{"class":2061},[2055,2132,2134,2137,2139,2141,2144],{"class":2057,"line":2133},7,[2055,2135,2136],{"class":2081},"  --color-surface",[2055,2138,2062],{"class":2061},[2055,2140,2110],{"class":2061},[2055,2142,2143],{"class":2081},"ffffff",[2055,2145,2085],{"class":2061},[2055,2147,2149,2152,2154,2156,2159],{"class":2057,"line":2148},8,[2055,2150,2151],{"class":2081},"  --color-surface-muted",[2055,2153,2062],{"class":2061},[2055,2155,2110],{"class":2061},[2055,2157,2158],{"class":2081},"f9fafb",[2055,2160,2085],{"class":2061},[2055,2162,2164,2167,2169,2171,2174],{"class":2057,"line":2163},9,[2055,2165,2166],{"class":2081},"  --color-text",[2055,2168,2062],{"class":2061},[2055,2170,2110],{"class":2061},[2055,2172,2173],{"class":2081},"1f2937",[2055,2175,2085],{"class":2061},[2055,2177,2179,2182,2184,2186,2189],{"class":2057,"line":2178},10,[2055,2180,2181],{"class":2081},"  --color-text-muted",[2055,2183,2062],{"class":2061},[2055,2185,2110],{"class":2061},[2055,2187,2188],{"class":2081},"6b7280",[2055,2190,2085],{"class":2061},[2055,2192,2194,2197,2199,2201,2204],{"class":2057,"line":2193},11,[2055,2195,2196],{"class":2081},"  --color-border",[2055,2198,2062],{"class":2061},[2055,2200,2110],{"class":2061},[2055,2202,2203],{"class":2081},"e5e7eb",[2055,2205,2085],{"class":2061},[2055,2207,2209],{"class":2057,"line":2208},12,[2055,2210,2092],{"emptyLinePlaceholder":2091},[2055,2212,2214],{"class":2057,"line":2213},13,[2055,2215,2216],{"class":2098},"  \u002F* Typography *\u002F\n",[2055,2218,2220,2223,2225,2228,2232,2235,2238,2241,2243,2246],{"class":2057,"line":2219},14,[2055,2221,2222],{"class":2081},"  --font-family-base",[2055,2224,2062],{"class":2061},[2055,2226,2227],{"class":2061}," '",[2055,2229,2231],{"class":2230},"sfazB","Inter",[2055,2233,2234],{"class":2061},"'",[2055,2236,2237],{"class":2061},",",[2055,2239,2240],{"class":2081}," system-ui",[2055,2242,2237],{"class":2061},[2055,2244,2245],{"class":2081}," sans-serif",[2055,2247,2085],{"class":2061},[2055,2249,2251,2254,2256,2260],{"class":2057,"line":2250},15,[2055,2252,2253],{"class":2081},"  --font-size-base",[2055,2255,2062],{"class":2061},[2055,2257,2259],{"class":2258},"sbssI"," 1rem",[2055,2261,2085],{"class":2061},[2055,2263,2265,2268,2270,2273],{"class":2057,"line":2264},16,[2055,2266,2267],{"class":2081},"  --line-height-base",[2055,2269,2062],{"class":2061},[2055,2271,2272],{"class":2258}," 1.5",[2055,2274,2085],{"class":2061},[2055,2276,2278],{"class":2057,"line":2277},17,[2055,2279,2092],{"emptyLinePlaceholder":2091},[2055,2281,2283],{"class":2057,"line":2282},18,[2055,2284,2285],{"class":2098},"  \u002F* Shape and spacing *\u002F\n",[2055,2287,2289,2292,2294,2297],{"class":2057,"line":2288},19,[2055,2290,2291],{"class":2081},"  --radius-md",[2055,2293,2062],{"class":2061},[2055,2295,2296],{"class":2258}," 0.5rem",[2055,2298,2085],{"class":2061},[2055,2300,2302,2305,2307,2310],{"class":2057,"line":2301},20,[2055,2303,2304],{"class":2081},"  --spacing-unit",[2055,2306,2062],{"class":2061},[2055,2308,2309],{"class":2258}," 0.25rem",[2055,2311,2085],{"class":2061},[2055,2313,2315,2318,2320,2323],{"class":2057,"line":2314},21,[2055,2316,2317],{"class":2081},"  --container-max-width",[2055,2319,2062],{"class":2061},[2055,2321,2322],{"class":2258}," 1280px",[2055,2324,2085],{"class":2061},[2055,2326,2328],{"class":2057,"line":2327},22,[2055,2329,2330],{"class":2061},"}\n",[1996,2332,2333,2334,2006,2337,2340],{},"Keep the set small. Define twenty or thirty core tokens and derive the rest with ",[2025,2335,2336],{},"color-mix",[2025,2338,2339],{},"calc"," rather than hand-maintaining a hundred literals.",[2017,2342,2344],{"id":2343},"_2-consume-tokens-in-components","2. Consume tokens in components",[1996,2346,2347],{},"Components reference tokens, never raw values. That's the whole contract — change a token, every component that reads it updates.",[2045,2349,2354],{"className":2350,"code":2351,"filename":2352,"language":2353,"meta":2051,"style":2051},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cbutton class=\"btn-primary\">\u003Cslot \u002F>\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n\n\u003Cstyle scoped>\n.btn-primary {\n  background: var(--color-primary);\n  color: #fff;\n  border-radius: var(--radius-md);\n  padding: calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 6);\n  font-family: var(--font-family-base);\n}\n.btn-primary:hover {\n  background: var(--color-primary-hover);\n}\n\u003C\u002Fstyle>\n","app\u002Fcomponents\u002FButton.vue","vue",[2025,2355,2356,2368,2403,2412,2416,2428,2437,2457,2471,2487,2537,2553,2557,2570,2585,2589],{"__ignoreMap":2051},[2055,2357,2358,2361,2365],{"class":2057,"line":2058},[2055,2359,2360],{"class":2061},"\u003C",[2055,2362,2364],{"class":2363},"swJcz","template",[2055,2366,2367],{"class":2061},">\n",[2055,2369,2370,2373,2376,2379,2382,2385,2388,2390,2393,2396,2399,2401],{"class":2057,"line":2072},[2055,2371,2372],{"class":2061},"  \u003C",[2055,2374,2375],{"class":2363},"button",[2055,2377,2378],{"class":2065}," class",[2055,2380,2381],{"class":2061},"=",[2055,2383,2384],{"class":2061},"\"",[2055,2386,2387],{"class":2230},"btn-primary",[2055,2389,2384],{"class":2061},[2055,2391,2392],{"class":2061},">\u003C",[2055,2394,2395],{"class":2363},"slot",[2055,2397,2398],{"class":2061}," \u002F>\u003C\u002F",[2055,2400,2375],{"class":2363},[2055,2402,2367],{"class":2061},[2055,2404,2405,2408,2410],{"class":2057,"line":2088},[2055,2406,2407],{"class":2061},"\u003C\u002F",[2055,2409,2364],{"class":2363},[2055,2411,2367],{"class":2061},[2055,2413,2414],{"class":2057,"line":2095},[2055,2415,2092],{"emptyLinePlaceholder":2091},[2055,2417,2418,2420,2423,2426],{"class":2057,"line":2102},[2055,2419,2360],{"class":2061},[2055,2421,2422],{"class":2363},"style",[2055,2424,2425],{"class":2065}," scoped",[2055,2427,2367],{"class":2061},[2055,2429,2430,2432,2435],{"class":2057,"line":2118},[2055,2431,2015],{"class":2061},[2055,2433,2387],{"class":2434},"sBMFI",[2055,2436,2069],{"class":2061},[2055,2438,2439,2442,2444,2448,2451,2454],{"class":2057,"line":2133},[2055,2440,2441],{"class":2075},"  background",[2055,2443,2062],{"class":2061},[2055,2445,2447],{"class":2446},"s2Zo4"," var",[2055,2449,2450],{"class":2061},"(",[2055,2452,2453],{"class":2081},"--color-primary",[2055,2455,2456],{"class":2061},");\n",[2055,2458,2459,2462,2464,2466,2469],{"class":2057,"line":2148},[2055,2460,2461],{"class":2075},"  color",[2055,2463,2062],{"class":2061},[2055,2465,2110],{"class":2061},[2055,2467,2468],{"class":2081},"fff",[2055,2470,2085],{"class":2061},[2055,2472,2473,2476,2478,2480,2482,2485],{"class":2057,"line":2163},[2055,2474,2475],{"class":2075},"  border-radius",[2055,2477,2062],{"class":2061},[2055,2479,2447],{"class":2446},[2055,2481,2450],{"class":2061},[2055,2483,2484],{"class":2081},"--radius-md",[2055,2486,2456],{"class":2061},[2055,2488,2489,2492,2494,2497,2499,2502,2504,2507,2510,2513,2516,2518,2520,2522,2524,2526,2528,2530,2532,2535],{"class":2057,"line":2178},[2055,2490,2491],{"class":2075},"  padding",[2055,2493,2062],{"class":2061},[2055,2495,2496],{"class":2446}," calc",[2055,2498,2450],{"class":2061},[2055,2500,2501],{"class":2446},"var",[2055,2503,2450],{"class":2061},[2055,2505,2506],{"class":2081},"--spacing-unit",[2055,2508,2509],{"class":2061},")",[2055,2511,2512],{"class":2061}," *",[2055,2514,2515],{"class":2258}," 3",[2055,2517,2509],{"class":2061},[2055,2519,2496],{"class":2446},[2055,2521,2450],{"class":2061},[2055,2523,2501],{"class":2446},[2055,2525,2450],{"class":2061},[2055,2527,2506],{"class":2081},[2055,2529,2509],{"class":2061},[2055,2531,2512],{"class":2061},[2055,2533,2534],{"class":2258}," 6",[2055,2536,2456],{"class":2061},[2055,2538,2539,2542,2544,2546,2548,2551],{"class":2057,"line":2193},[2055,2540,2541],{"class":2075},"  font-family",[2055,2543,2062],{"class":2061},[2055,2545,2447],{"class":2446},[2055,2547,2450],{"class":2061},[2055,2549,2550],{"class":2081},"--font-family-base",[2055,2552,2456],{"class":2061},[2055,2554,2555],{"class":2057,"line":2208},[2055,2556,2330],{"class":2061},[2055,2558,2559,2561,2563,2565,2568],{"class":2057,"line":2213},[2055,2560,2015],{"class":2061},[2055,2562,2387],{"class":2434},[2055,2564,2062],{"class":2061},[2055,2566,2567],{"class":2065},"hover",[2055,2569,2069],{"class":2061},[2055,2571,2572,2574,2576,2578,2580,2583],{"class":2057,"line":2219},[2055,2573,2441],{"class":2075},[2055,2575,2062],{"class":2061},[2055,2577,2447],{"class":2446},[2055,2579,2450],{"class":2061},[2055,2581,2582],{"class":2081},"--color-primary-hover",[2055,2584,2456],{"class":2061},[2055,2586,2587],{"class":2057,"line":2250},[2055,2588,2330],{"class":2061},[2055,2590,2591,2593,2595],{"class":2057,"line":2264},[2055,2592,2407],{"class":2061},[2055,2594,2422],{"class":2363},[2055,2596,2367],{"class":2061},[1996,2598,2599,2600,2603,2604,2606],{},"This works for Blökkli blocks too. The hero block from ",[2012,2601,115],{"href":2602},"\u002Fdocs\u002Fguides\u002Fthemes\u002Fcustomize-blocks\u002F"," can read ",[2025,2605,2453],{}," for its default background, so it picks up each tenant's brand automatically.",[2017,2608,2610],{"id":2609},"_3-override-tokens-per-tenant-at-runtime","3. Override tokens per tenant at runtime",[1996,2612,2613],{},"On a deployed Theme the platform resolves the tenant from the request host and injects the tenant context per request. Fetch the tenant's branding during server-side rendering and inject the token overrides as inline styles, so the very first byte already carries the right brand — no flash of the default palette.",[1996,2615,2616],{},"Add a server-side API route that returns the tenant's branding tokens:",[2045,2618,2623],{"className":2619,"code":2620,"filename":2621,"language":2622,"meta":2051,"style":2051},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(async (event) => {\n  \u002F\u002F The platform injects the tenant per request; the SDK forwards it to the gateway.\n  const branding = await getTenantBranding(event)\n\n  \u002F\u002F Map the tenant's branding onto your token names.\n  return {\n    cssVars: {\n      '--color-primary': branding.primaryColor,\n      '--color-primary-hover': branding.primaryColorHover,\n      '--font-family-base': branding.fontFamily,\n    },\n    logoUrl: branding.logoUrl,\n  }\n})\n","server\u002Fapi\u002Fbranding.get.ts","ts",[2025,2624,2625,2656,2661,2685,2689,2694,2701,2710,2731,2750,2769,2774,2790,2795],{"__ignoreMap":2051},[2055,2626,2627,2631,2634,2637,2639,2642,2645,2649,2651,2654],{"class":2057,"line":2058},[2055,2628,2630],{"class":2629},"s7zQu","export",[2055,2632,2633],{"class":2629}," default",[2055,2635,2636],{"class":2446}," defineEventHandler",[2055,2638,2450],{"class":2081},[2055,2640,2641],{"class":2065},"async",[2055,2643,2644],{"class":2061}," (",[2055,2646,2648],{"class":2647},"sHdIc","event",[2055,2650,2509],{"class":2061},[2055,2652,2653],{"class":2065}," =>",[2055,2655,2069],{"class":2061},[2055,2657,2658],{"class":2057,"line":2072},[2055,2659,2660],{"class":2098},"  \u002F\u002F The platform injects the tenant per request; the SDK forwards it to the gateway.\n",[2055,2662,2663,2666,2669,2672,2675,2678,2680,2682],{"class":2057,"line":2088},[2055,2664,2665],{"class":2065},"  const",[2055,2667,2668],{"class":2081}," branding",[2055,2670,2671],{"class":2061}," =",[2055,2673,2674],{"class":2629}," await",[2055,2676,2677],{"class":2446}," getTenantBranding",[2055,2679,2450],{"class":2363},[2055,2681,2648],{"class":2081},[2055,2683,2684],{"class":2363},")\n",[2055,2686,2687],{"class":2057,"line":2095},[2055,2688,2092],{"emptyLinePlaceholder":2091},[2055,2690,2691],{"class":2057,"line":2102},[2055,2692,2693],{"class":2098},"  \u002F\u002F Map the tenant's branding onto your token names.\n",[2055,2695,2696,2699],{"class":2057,"line":2118},[2055,2697,2698],{"class":2629},"  return",[2055,2700,2069],{"class":2061},[2055,2702,2703,2706,2708],{"class":2057,"line":2133},[2055,2704,2705],{"class":2363},"    cssVars",[2055,2707,2062],{"class":2061},[2055,2709,2069],{"class":2061},[2055,2711,2712,2715,2717,2719,2721,2723,2725,2728],{"class":2057,"line":2148},[2055,2713,2714],{"class":2061},"      '",[2055,2716,2453],{"class":2363},[2055,2718,2234],{"class":2061},[2055,2720,2062],{"class":2061},[2055,2722,2668],{"class":2081},[2055,2724,2015],{"class":2061},[2055,2726,2727],{"class":2081},"primaryColor",[2055,2729,2730],{"class":2061},",\n",[2055,2732,2733,2735,2737,2739,2741,2743,2745,2748],{"class":2057,"line":2163},[2055,2734,2714],{"class":2061},[2055,2736,2582],{"class":2363},[2055,2738,2234],{"class":2061},[2055,2740,2062],{"class":2061},[2055,2742,2668],{"class":2081},[2055,2744,2015],{"class":2061},[2055,2746,2747],{"class":2081},"primaryColorHover",[2055,2749,2730],{"class":2061},[2055,2751,2752,2754,2756,2758,2760,2762,2764,2767],{"class":2057,"line":2178},[2055,2753,2714],{"class":2061},[2055,2755,2550],{"class":2363},[2055,2757,2234],{"class":2061},[2055,2759,2062],{"class":2061},[2055,2761,2668],{"class":2081},[2055,2763,2015],{"class":2061},[2055,2765,2766],{"class":2081},"fontFamily",[2055,2768,2730],{"class":2061},[2055,2770,2771],{"class":2057,"line":2193},[2055,2772,2773],{"class":2061},"    },\n",[2055,2775,2776,2779,2781,2783,2785,2788],{"class":2057,"line":2208},[2055,2777,2778],{"class":2363},"    logoUrl",[2055,2780,2062],{"class":2061},[2055,2782,2668],{"class":2081},[2055,2784,2015],{"class":2061},[2055,2786,2787],{"class":2081},"logoUrl",[2055,2789,2730],{"class":2061},[2055,2791,2792],{"class":2057,"line":2213},[2055,2793,2794],{"class":2061},"  }\n",[2055,2796,2797,2800],{"class":2057,"line":2219},[2055,2798,2799],{"class":2061},"}",[2055,2801,2684],{"class":2081},[1996,2803,2804],{},"Apply the returned overrides at the root of the app during SSR:",[2045,2806,2809],{"className":2350,"code":2807,"filename":2808,"language":2353,"meta":2051,"style":2051},"\u003Cscript setup lang=\"ts\">\n\u002F\u002F Fetched during SSR so the branding is in the first byte (no flash of default).\nconst { data: branding } = await useFetch('\u002Fapi\u002Fbranding')\n\nconst rootStyle = computed(() =>\n  Object.entries(branding.value?.cssVars ?? {})\n    .map(([key, value]) => `${key}: ${value}`)\n    .join('; '),\n)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv :style=\"rootStyle\">\n    \u003CNuxtPage \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","app\u002Fapp.vue",[2025,2810,2811,2834,2839,2875,2879,2899,2931,2977,2997,3001,3009,3013,3021,3042,3053,3062],{"__ignoreMap":2051},[2055,2812,2813,2815,2818,2821,2824,2826,2828,2830,2832],{"class":2057,"line":2058},[2055,2814,2360],{"class":2061},[2055,2816,2817],{"class":2363},"script",[2055,2819,2820],{"class":2065}," setup",[2055,2822,2823],{"class":2065}," lang",[2055,2825,2381],{"class":2061},[2055,2827,2384],{"class":2061},[2055,2829,2622],{"class":2230},[2055,2831,2384],{"class":2061},[2055,2833,2367],{"class":2061},[2055,2835,2836],{"class":2057,"line":2072},[2055,2837,2838],{"class":2098},"\u002F\u002F Fetched during SSR so the branding is in the first byte (no flash of default).\n",[2055,2840,2841,2844,2847,2850,2852,2855,2857,2859,2861,2864,2866,2868,2871,2873],{"class":2057,"line":2088},[2055,2842,2843],{"class":2065},"const",[2055,2845,2846],{"class":2061}," {",[2055,2848,2849],{"class":2363}," data",[2055,2851,2062],{"class":2061},[2055,2853,2854],{"class":2081}," branding ",[2055,2856,2799],{"class":2061},[2055,2858,2671],{"class":2061},[2055,2860,2674],{"class":2629},[2055,2862,2863],{"class":2446}," useFetch",[2055,2865,2450],{"class":2081},[2055,2867,2234],{"class":2061},[2055,2869,2870],{"class":2230},"\u002Fapi\u002Fbranding",[2055,2872,2234],{"class":2061},[2055,2874,2684],{"class":2081},[2055,2876,2877],{"class":2057,"line":2095},[2055,2878,2092],{"emptyLinePlaceholder":2091},[2055,2880,2881,2883,2886,2888,2891,2893,2896],{"class":2057,"line":2102},[2055,2882,2843],{"class":2065},[2055,2884,2885],{"class":2081}," rootStyle ",[2055,2887,2381],{"class":2061},[2055,2889,2890],{"class":2446}," computed",[2055,2892,2450],{"class":2081},[2055,2894,2895],{"class":2061},"()",[2055,2897,2898],{"class":2065}," =>\n",[2055,2900,2901,2904,2906,2909,2912,2914,2917,2920,2923,2926,2929],{"class":2057,"line":2118},[2055,2902,2903],{"class":2081},"  Object",[2055,2905,2015],{"class":2061},[2055,2907,2908],{"class":2446},"entries",[2055,2910,2911],{"class":2081},"(branding",[2055,2913,2015],{"class":2061},[2055,2915,2916],{"class":2081},"value",[2055,2918,2919],{"class":2061},"?.",[2055,2921,2922],{"class":2081},"cssVars ",[2055,2924,2925],{"class":2061},"??",[2055,2927,2928],{"class":2061}," {}",[2055,2930,2684],{"class":2081},[2055,2932,2933,2936,2939,2941,2944,2947,2949,2952,2955,2957,2960,2962,2964,2967,2970,2972,2975],{"class":2057,"line":2133},[2055,2934,2935],{"class":2061},"    .",[2055,2937,2938],{"class":2446},"map",[2055,2940,2450],{"class":2081},[2055,2942,2943],{"class":2061},"([",[2055,2945,2946],{"class":2647},"key",[2055,2948,2237],{"class":2061},[2055,2950,2951],{"class":2647}," value",[2055,2953,2954],{"class":2061},"])",[2055,2956,2653],{"class":2065},[2055,2958,2959],{"class":2061}," `${",[2055,2961,2946],{"class":2081},[2055,2963,2799],{"class":2061},[2055,2965,2966],{"class":2230},": ",[2055,2968,2969],{"class":2061},"${",[2055,2971,2916],{"class":2081},[2055,2973,2974],{"class":2061},"}`",[2055,2976,2684],{"class":2081},[2055,2978,2979,2981,2984,2986,2988,2991,2993,2995],{"class":2057,"line":2148},[2055,2980,2935],{"class":2061},[2055,2982,2983],{"class":2446},"join",[2055,2985,2450],{"class":2081},[2055,2987,2234],{"class":2061},[2055,2989,2990],{"class":2230},"; ",[2055,2992,2234],{"class":2061},[2055,2994,2509],{"class":2081},[2055,2996,2730],{"class":2061},[2055,2998,2999],{"class":2057,"line":2163},[2055,3000,2684],{"class":2081},[2055,3002,3003,3005,3007],{"class":2057,"line":2178},[2055,3004,2407],{"class":2061},[2055,3006,2817],{"class":2363},[2055,3008,2367],{"class":2061},[2055,3010,3011],{"class":2057,"line":2193},[2055,3012,2092],{"emptyLinePlaceholder":2091},[2055,3014,3015,3017,3019],{"class":2057,"line":2208},[2055,3016,2360],{"class":2061},[2055,3018,2364],{"class":2363},[2055,3020,2367],{"class":2061},[2055,3022,3023,3025,3028,3031,3033,3035,3038,3040],{"class":2057,"line":2213},[2055,3024,2372],{"class":2061},[2055,3026,3027],{"class":2363},"div",[2055,3029,3030],{"class":2065}," :style",[2055,3032,2381],{"class":2061},[2055,3034,2384],{"class":2061},[2055,3036,3037],{"class":2230},"rootStyle",[2055,3039,2384],{"class":2061},[2055,3041,2367],{"class":2061},[2055,3043,3044,3047,3050],{"class":2057,"line":2219},[2055,3045,3046],{"class":2061},"    \u003C",[2055,3048,3049],{"class":2363},"NuxtPage",[2055,3051,3052],{"class":2061}," \u002F>\n",[2055,3054,3055,3058,3060],{"class":2057,"line":2250},[2055,3056,3057],{"class":2061},"  \u003C\u002F",[2055,3059,3027],{"class":2363},[2055,3061,2367],{"class":2061},[2055,3063,3064,3066,3068],{"class":2057,"line":2264},[2055,3065,2407],{"class":2061},[2055,3067,2364],{"class":2363},[2055,3069,2367],{"class":2061},[1996,3071,3072,3073,3076],{},"Tenant tokens change rarely, so fetch them once and cache aggressively server-side rather than on every render. Because the values differ per tenant, ",[2003,3074,3075],{},"partition any cache by tenant"," — a branding cache keyed only by \"branding\" would serve one tenant's colors to another.",[2017,3078,3080],{"id":3079},"_4-serve-per-tenant-logos-and-assets","4. Serve per-tenant logos and assets",[1996,3082,3083],{},"Branding is more than color. Serve each tenant's logo, favicon, and social images from the branding payload rather than bundling one customer's assets into the Theme:",[2045,3085,3088],{"className":2350,"code":3086,"filename":3087,"language":2353,"meta":2051,"style":2051},"\u003Cscript setup lang=\"ts\">\nconst { data: branding } = await useFetch('\u002Fapi\u002Fbranding')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cimg :src=\"branding?.logoUrl\" alt=\"Storefront logo\" width=\"160\" height=\"40\" \u002F>\n\u003C\u002Ftemplate>\n","app\u002Fcomponents\u002FSiteLogo.vue",[2025,3089,3090,3110,3140,3148,3152,3160,3217],{"__ignoreMap":2051},[2055,3091,3092,3094,3096,3098,3100,3102,3104,3106,3108],{"class":2057,"line":2058},[2055,3093,2360],{"class":2061},[2055,3095,2817],{"class":2363},[2055,3097,2820],{"class":2065},[2055,3099,2823],{"class":2065},[2055,3101,2381],{"class":2061},[2055,3103,2384],{"class":2061},[2055,3105,2622],{"class":2230},[2055,3107,2384],{"class":2061},[2055,3109,2367],{"class":2061},[2055,3111,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138],{"class":2057,"line":2072},[2055,3113,2843],{"class":2065},[2055,3115,2846],{"class":2061},[2055,3117,2849],{"class":2363},[2055,3119,2062],{"class":2061},[2055,3121,2854],{"class":2081},[2055,3123,2799],{"class":2061},[2055,3125,2671],{"class":2061},[2055,3127,2674],{"class":2629},[2055,3129,2863],{"class":2446},[2055,3131,2450],{"class":2081},[2055,3133,2234],{"class":2061},[2055,3135,2870],{"class":2230},[2055,3137,2234],{"class":2061},[2055,3139,2684],{"class":2081},[2055,3141,3142,3144,3146],{"class":2057,"line":2088},[2055,3143,2407],{"class":2061},[2055,3145,2817],{"class":2363},[2055,3147,2367],{"class":2061},[2055,3149,3150],{"class":2057,"line":2095},[2055,3151,2092],{"emptyLinePlaceholder":2091},[2055,3153,3154,3156,3158],{"class":2057,"line":2102},[2055,3155,2360],{"class":2061},[2055,3157,2364],{"class":2363},[2055,3159,2367],{"class":2061},[2055,3161,3162,3164,3167,3170,3172,3174,3177,3179,3182,3184,3186,3189,3191,3194,3196,3198,3201,3203,3206,3208,3210,3213,3215],{"class":2057,"line":2118},[2055,3163,2372],{"class":2061},[2055,3165,3166],{"class":2363},"img",[2055,3168,3169],{"class":2065}," :src",[2055,3171,2381],{"class":2061},[2055,3173,2384],{"class":2061},[2055,3175,3176],{"class":2230},"branding?.logoUrl",[2055,3178,2384],{"class":2061},[2055,3180,3181],{"class":2065}," alt",[2055,3183,2381],{"class":2061},[2055,3185,2384],{"class":2061},[2055,3187,3188],{"class":2230},"Storefront logo",[2055,3190,2384],{"class":2061},[2055,3192,3193],{"class":2065}," width",[2055,3195,2381],{"class":2061},[2055,3197,2384],{"class":2061},[2055,3199,3200],{"class":2230},"160",[2055,3202,2384],{"class":2061},[2055,3204,3205],{"class":2065}," height",[2055,3207,2381],{"class":2061},[2055,3209,2384],{"class":2061},[2055,3211,3212],{"class":2230},"40",[2055,3214,2384],{"class":2061},[2055,3216,3052],{"class":2061},[2055,3218,3219,3221,3223],{"class":2057,"line":2133},[2055,3220,2407],{"class":2061},[2055,3222,2364],{"class":2363},[2055,3224,2367],{"class":2061},[2017,3226,3228],{"id":3227},"_5-support-light-and-dark","5. Support light and dark",[1996,3230,3231,3232,3235,3236,3238],{},"Set ",[2025,3233,3234],{},"color-scheme: light dark"," on ",[2025,3237,2027],{}," so form controls and scrollbars follow the user's preference, then provide dark overrides. You can follow the system preference or let the user toggle.",[1996,3240,3241],{},"Follow the system preference automatically:",[2045,3243,3245],{"className":2047,"code":3244,"filename":2049,"language":2050,"meta":2051,"style":2051},"@media (prefers-color-scheme: dark) {\n  :root {\n    --color-surface: #111827;\n    --color-surface-muted: #1f2937;\n    --color-text: #f3f4f6;\n    --color-text-muted: #9ca3af;\n    --color-border: #374151;\n  }\n}\n",[2025,3246,3247,3266,3275,3289,3302,3316,3330,3344,3348],{"__ignoreMap":2051},[2055,3248,3249,3252,3254,3257,3259,3262,3264],{"class":2057,"line":2058},[2055,3250,3251],{"class":2629},"@media",[2055,3253,2644],{"class":2061},[2055,3255,3256],{"class":2081},"prefers-color-scheme",[2055,3258,2062],{"class":2061},[2055,3260,3261],{"class":2081}," dark",[2055,3263,2509],{"class":2061},[2055,3265,2069],{"class":2061},[2055,3267,3268,3271,3273],{"class":2057,"line":2072},[2055,3269,3270],{"class":2061},"  :",[2055,3272,2066],{"class":2065},[2055,3274,2069],{"class":2061},[2055,3276,3277,3280,3282,3284,3287],{"class":2057,"line":2088},[2055,3278,3279],{"class":2081},"    --color-surface",[2055,3281,2062],{"class":2061},[2055,3283,2110],{"class":2061},[2055,3285,3286],{"class":2081},"111827",[2055,3288,2085],{"class":2061},[2055,3290,3291,3294,3296,3298,3300],{"class":2057,"line":2095},[2055,3292,3293],{"class":2081},"    --color-surface-muted",[2055,3295,2062],{"class":2061},[2055,3297,2110],{"class":2061},[2055,3299,2173],{"class":2081},[2055,3301,2085],{"class":2061},[2055,3303,3304,3307,3309,3311,3314],{"class":2057,"line":2102},[2055,3305,3306],{"class":2081},"    --color-text",[2055,3308,2062],{"class":2061},[2055,3310,2110],{"class":2061},[2055,3312,3313],{"class":2081},"f3f4f6",[2055,3315,2085],{"class":2061},[2055,3317,3318,3321,3323,3325,3328],{"class":2057,"line":2118},[2055,3319,3320],{"class":2081},"    --color-text-muted",[2055,3322,2062],{"class":2061},[2055,3324,2110],{"class":2061},[2055,3326,3327],{"class":2081},"9ca3af",[2055,3329,2085],{"class":2061},[2055,3331,3332,3335,3337,3339,3342],{"class":2057,"line":2133},[2055,3333,3334],{"class":2081},"    --color-border",[2055,3336,2062],{"class":2061},[2055,3338,2110],{"class":2061},[2055,3340,3341],{"class":2081},"374151",[2055,3343,2085],{"class":2061},[2055,3345,3346],{"class":2057,"line":2148},[2055,3347,2794],{"class":2061},[2055,3349,3350],{"class":2057,"line":2163},[2055,3351,2330],{"class":2061},[1996,3353,3354,3355,3358],{},"Or drive it from a ",[2025,3356,3357],{},"data-theme"," attribute for an explicit toggle:",[2045,3360,3362],{"className":2047,"code":3361,"filename":2049,"language":2050,"meta":2051,"style":2051},"[data-theme='dark'] {\n  --color-surface: #111827;\n  --color-surface-muted: #1f2937;\n  --color-text: #f3f4f6;\n  --color-text-muted: #9ca3af;\n  --color-border: #374151;\n}\n",[2025,3363,3364,3385,3397,3409,3421,3433,3445],{"__ignoreMap":2051},[2055,3365,3366,3369,3371,3373,3375,3378,3380,3383],{"class":2057,"line":2058},[2055,3367,3368],{"class":2061},"[",[2055,3370,3357],{"class":2065},[2055,3372,2381],{"class":2061},[2055,3374,2234],{"class":2061},[2055,3376,3377],{"class":2230},"dark",[2055,3379,2234],{"class":2061},[2055,3381,3382],{"class":2061},"]",[2055,3384,2069],{"class":2061},[2055,3386,3387,3389,3391,3393,3395],{"class":2057,"line":2072},[2055,3388,2136],{"class":2081},[2055,3390,2062],{"class":2061},[2055,3392,2110],{"class":2061},[2055,3394,3286],{"class":2081},[2055,3396,2085],{"class":2061},[2055,3398,3399,3401,3403,3405,3407],{"class":2057,"line":2088},[2055,3400,2151],{"class":2081},[2055,3402,2062],{"class":2061},[2055,3404,2110],{"class":2061},[2055,3406,2173],{"class":2081},[2055,3408,2085],{"class":2061},[2055,3410,3411,3413,3415,3417,3419],{"class":2057,"line":2095},[2055,3412,2166],{"class":2081},[2055,3414,2062],{"class":2061},[2055,3416,2110],{"class":2061},[2055,3418,3313],{"class":2081},[2055,3420,2085],{"class":2061},[2055,3422,3423,3425,3427,3429,3431],{"class":2057,"line":2102},[2055,3424,2181],{"class":2081},[2055,3426,2062],{"class":2061},[2055,3428,2110],{"class":2061},[2055,3430,3327],{"class":2081},[2055,3432,2085],{"class":2061},[2055,3434,3435,3437,3439,3441,3443],{"class":2057,"line":2118},[2055,3436,2196],{"class":2081},[2055,3438,2062],{"class":2061},[2055,3440,2110],{"class":2061},[2055,3442,3341],{"class":2081},[2055,3444,2085],{"class":2061},[2055,3446,3447],{"class":2057,"line":2133},[2055,3448,2330],{"class":2061},[2045,3450,3453],{"className":2350,"code":3451,"filename":3452,"language":2353,"meta":2051,"style":2051},"\u003Cscript setup lang=\"ts\">\nconst theme = useState\u003C'light' | 'dark'>('theme', () => 'light')\n\nfunction toggle() {\n  theme.value = theme.value === 'light' ? 'dark' : 'light'\n  document.documentElement.setAttribute('data-theme', theme.value)\n  localStorage.setItem('theme', theme.value)\n}\n\nonMounted(() => {\n  const saved = localStorage.getItem('theme') as 'light' | 'dark' | null\n  if (saved) {\n    theme.value = saved\n    document.documentElement.setAttribute('data-theme', saved)\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton type=\"button\" :aria-pressed=\"theme === 'dark'\" @click=\"toggle\">\n    Switch to {{ theme === 'dark' ? 'light' : 'dark' }} mode\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n","app\u002Fcomponents\u002FThemeToggle.vue",[2025,3454,3455,3475,3532,3536,3548,3594,3627,3655,3659,3663,3676,3726,3741,3755,3782,3786,3792,3800,3804,3812,3855,3860,3868],{"__ignoreMap":2051},[2055,3456,3457,3459,3461,3463,3465,3467,3469,3471,3473],{"class":2057,"line":2058},[2055,3458,2360],{"class":2061},[2055,3460,2817],{"class":2363},[2055,3462,2820],{"class":2065},[2055,3464,2823],{"class":2065},[2055,3466,2381],{"class":2061},[2055,3468,2384],{"class":2061},[2055,3470,2622],{"class":2230},[2055,3472,2384],{"class":2061},[2055,3474,2367],{"class":2061},[2055,3476,3477,3479,3482,3484,3487,3489,3491,3494,3496,3499,3501,3503,3505,3508,3510,3512,3515,3517,3519,3522,3524,3526,3528,3530],{"class":2057,"line":2072},[2055,3478,2843],{"class":2065},[2055,3480,3481],{"class":2081}," theme ",[2055,3483,2381],{"class":2061},[2055,3485,3486],{"class":2446}," useState",[2055,3488,2360],{"class":2061},[2055,3490,2234],{"class":2061},[2055,3492,3493],{"class":2230},"light",[2055,3495,2234],{"class":2061},[2055,3497,3498],{"class":2061}," |",[2055,3500,2227],{"class":2061},[2055,3502,3377],{"class":2230},[2055,3504,2234],{"class":2061},[2055,3506,3507],{"class":2061},">",[2055,3509,2450],{"class":2081},[2055,3511,2234],{"class":2061},[2055,3513,3514],{"class":2230},"theme",[2055,3516,2234],{"class":2061},[2055,3518,2237],{"class":2061},[2055,3520,3521],{"class":2061}," ()",[2055,3523,2653],{"class":2065},[2055,3525,2227],{"class":2061},[2055,3527,3493],{"class":2230},[2055,3529,2234],{"class":2061},[2055,3531,2684],{"class":2081},[2055,3533,3534],{"class":2057,"line":2088},[2055,3535,2092],{"emptyLinePlaceholder":2091},[2055,3537,3538,3541,3544,3546],{"class":2057,"line":2095},[2055,3539,3540],{"class":2065},"function",[2055,3542,3543],{"class":2446}," toggle",[2055,3545,2895],{"class":2061},[2055,3547,2069],{"class":2061},[2055,3549,3550,3553,3555,3557,3559,3562,3564,3566,3569,3571,3573,3575,3578,3580,3582,3584,3587,3589,3591],{"class":2057,"line":2102},[2055,3551,3552],{"class":2081},"  theme",[2055,3554,2015],{"class":2061},[2055,3556,2916],{"class":2081},[2055,3558,2671],{"class":2061},[2055,3560,3561],{"class":2081}," theme",[2055,3563,2015],{"class":2061},[2055,3565,2916],{"class":2081},[2055,3567,3568],{"class":2061}," ===",[2055,3570,2227],{"class":2061},[2055,3572,3493],{"class":2230},[2055,3574,2234],{"class":2061},[2055,3576,3577],{"class":2061}," ?",[2055,3579,2227],{"class":2061},[2055,3581,3377],{"class":2230},[2055,3583,2234],{"class":2061},[2055,3585,3586],{"class":2061}," :",[2055,3588,2227],{"class":2061},[2055,3590,3493],{"class":2230},[2055,3592,3593],{"class":2061},"'\n",[2055,3595,3596,3599,3601,3604,3606,3609,3611,3613,3615,3617,3619,3621,3623,3625],{"class":2057,"line":2118},[2055,3597,3598],{"class":2081},"  document",[2055,3600,2015],{"class":2061},[2055,3602,3603],{"class":2081},"documentElement",[2055,3605,2015],{"class":2061},[2055,3607,3608],{"class":2446},"setAttribute",[2055,3610,2450],{"class":2363},[2055,3612,2234],{"class":2061},[2055,3614,3357],{"class":2230},[2055,3616,2234],{"class":2061},[2055,3618,2237],{"class":2061},[2055,3620,3561],{"class":2081},[2055,3622,2015],{"class":2061},[2055,3624,2916],{"class":2081},[2055,3626,2684],{"class":2363},[2055,3628,3629,3632,3634,3637,3639,3641,3643,3645,3647,3649,3651,3653],{"class":2057,"line":2133},[2055,3630,3631],{"class":2081},"  localStorage",[2055,3633,2015],{"class":2061},[2055,3635,3636],{"class":2446},"setItem",[2055,3638,2450],{"class":2363},[2055,3640,2234],{"class":2061},[2055,3642,3514],{"class":2230},[2055,3644,2234],{"class":2061},[2055,3646,2237],{"class":2061},[2055,3648,3561],{"class":2081},[2055,3650,2015],{"class":2061},[2055,3652,2916],{"class":2081},[2055,3654,2684],{"class":2363},[2055,3656,3657],{"class":2057,"line":2148},[2055,3658,2330],{"class":2061},[2055,3660,3661],{"class":2057,"line":2163},[2055,3662,2092],{"emptyLinePlaceholder":2091},[2055,3664,3665,3668,3670,3672,3674],{"class":2057,"line":2178},[2055,3666,3667],{"class":2446},"onMounted",[2055,3669,2450],{"class":2081},[2055,3671,2895],{"class":2061},[2055,3673,2653],{"class":2065},[2055,3675,2069],{"class":2061},[2055,3677,3678,3680,3683,3685,3688,3690,3693,3695,3697,3699,3701,3704,3707,3709,3711,3713,3715,3717,3719,3721,3723],{"class":2057,"line":2193},[2055,3679,2665],{"class":2065},[2055,3681,3682],{"class":2081}," saved",[2055,3684,2671],{"class":2061},[2055,3686,3687],{"class":2081}," localStorage",[2055,3689,2015],{"class":2061},[2055,3691,3692],{"class":2446},"getItem",[2055,3694,2450],{"class":2363},[2055,3696,2234],{"class":2061},[2055,3698,3514],{"class":2230},[2055,3700,2234],{"class":2061},[2055,3702,3703],{"class":2363},") ",[2055,3705,3706],{"class":2629},"as",[2055,3708,2227],{"class":2061},[2055,3710,3493],{"class":2230},[2055,3712,2234],{"class":2061},[2055,3714,3498],{"class":2061},[2055,3716,2227],{"class":2061},[2055,3718,3377],{"class":2230},[2055,3720,2234],{"class":2061},[2055,3722,3498],{"class":2061},[2055,3724,3725],{"class":2434}," null\n",[2055,3727,3728,3731,3733,3736,3738],{"class":2057,"line":2208},[2055,3729,3730],{"class":2629},"  if",[2055,3732,2644],{"class":2363},[2055,3734,3735],{"class":2081},"saved",[2055,3737,3703],{"class":2363},[2055,3739,3740],{"class":2061},"{\n",[2055,3742,3743,3746,3748,3750,3752],{"class":2057,"line":2213},[2055,3744,3745],{"class":2081},"    theme",[2055,3747,2015],{"class":2061},[2055,3749,2916],{"class":2081},[2055,3751,2671],{"class":2061},[2055,3753,3754],{"class":2081}," saved\n",[2055,3756,3757,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780],{"class":2057,"line":2219},[2055,3758,3759],{"class":2081},"    document",[2055,3761,2015],{"class":2061},[2055,3763,3603],{"class":2081},[2055,3765,2015],{"class":2061},[2055,3767,3608],{"class":2446},[2055,3769,2450],{"class":2363},[2055,3771,2234],{"class":2061},[2055,3773,3357],{"class":2230},[2055,3775,2234],{"class":2061},[2055,3777,2237],{"class":2061},[2055,3779,3682],{"class":2081},[2055,3781,2684],{"class":2363},[2055,3783,3784],{"class":2057,"line":2250},[2055,3785,2794],{"class":2061},[2055,3787,3788,3790],{"class":2057,"line":2264},[2055,3789,2799],{"class":2061},[2055,3791,2684],{"class":2081},[2055,3793,3794,3796,3798],{"class":2057,"line":2277},[2055,3795,2407],{"class":2061},[2055,3797,2817],{"class":2363},[2055,3799,2367],{"class":2061},[2055,3801,3802],{"class":2057,"line":2282},[2055,3803,2092],{"emptyLinePlaceholder":2091},[2055,3805,3806,3808,3810],{"class":2057,"line":2288},[2055,3807,2360],{"class":2061},[2055,3809,2364],{"class":2363},[2055,3811,2367],{"class":2061},[2055,3813,3814,3816,3818,3821,3823,3825,3827,3829,3832,3834,3836,3839,3841,3844,3846,3848,3851,3853],{"class":2057,"line":2301},[2055,3815,2372],{"class":2061},[2055,3817,2375],{"class":2363},[2055,3819,3820],{"class":2065}," type",[2055,3822,2381],{"class":2061},[2055,3824,2384],{"class":2061},[2055,3826,2375],{"class":2230},[2055,3828,2384],{"class":2061},[2055,3830,3831],{"class":2065}," :aria-pressed",[2055,3833,2381],{"class":2061},[2055,3835,2384],{"class":2061},[2055,3837,3838],{"class":2230},"theme === 'dark'",[2055,3840,2384],{"class":2061},[2055,3842,3843],{"class":2065}," @click",[2055,3845,2381],{"class":2061},[2055,3847,2384],{"class":2061},[2055,3849,3850],{"class":2230},"toggle",[2055,3852,2384],{"class":2061},[2055,3854,2367],{"class":2061},[2055,3856,3857],{"class":2057,"line":2314},[2055,3858,3859],{"class":2081},"    Switch to {{ theme === 'dark' ? 'light' : 'dark' }} mode\n",[2055,3861,3862,3864,3866],{"class":2057,"line":2327},[2055,3863,3057],{"class":2061},[2055,3865,2375],{"class":2363},[2055,3867,2367],{"class":2061},[2055,3869,3871,3873,3875],{"class":2057,"line":3870},23,[2055,3872,2407],{"class":2061},[2055,3874,2364],{"class":2363},[2055,3876,2367],{"class":2061},[1996,3878,3879],{},"Test both modes before you ship. A contrast regression is easy to miss in one mode and obvious in the other.",[2017,3881,3883],{"id":3882},"habits-that-keep-styling-maintainable","Habits that keep styling maintainable",[3885,3886,3887,3901,3911,3917],"ul",{},[3888,3889,3890,3893,3894,3896,3897,3900],"li",{},[2003,3891,3892],{},"Name tokens for their role."," ",[2025,3895,2453],{}," survives a rebrand; ",[2025,3898,3899],{},"--color-blue-500"," becomes a lie the day the brand changes.",[3888,3902,3903,3906,3907,3910],{},[2003,3904,3905],{},"One source of truth."," Centralize tokens in one stylesheet rather than scattering overrides through component ",[2025,3908,3909],{},"\u003Cstyle scoped>"," blocks.",[3888,3912,3913,3916],{},[2003,3914,3915],{},"Inject tenant tokens in SSR."," Apply the override in the first byte so the brand never flashes from default to custom.",[3888,3918,3919,3922],{},[2003,3920,3921],{},"Cache per tenant."," Branding changes rarely — cache it, but key the cache by tenant so brands never cross.",[2017,3924,3926],{"id":3925},"troubleshooting","Troubleshooting",[3885,3928,3929,3935,3941],{},[3888,3930,3931,3934],{},[2003,3932,3933],{},"Brand flashes from default to custom on load."," You're applying the override client-side. Fetch the branding during SSR and inline it on the root element.",[3888,3936,3937,3940],{},[2003,3938,3939],{},"One tenant sees another's colors."," A branding cache keyed without the tenant. Partition the cache by tenant.",[3888,3942,3943,3946,3947,2015],{},[2003,3944,3945],{},"Dark mode misses some surfaces."," A component uses a raw color instead of a token. Replace it with the matching ",[2025,3948,2031],{},[2017,3950,3952],{"id":3951},"whats-next","What's next",[3885,3954,3955,3963],{},[3888,3956,3957,3962],{},[2003,3958,3959],{},[2012,3960,121],{"href":3961},"\u002Fdocs\u002Fguides\u002Fthemes\u002Fdeploy-your-storefront\u002F"," — ship the styled Theme and activate it per domain.",[3888,3964,3965,3966,2015],{},"Reference: ",[2012,3967,3969],{"href":3968},"\u002Fdocs\u002Fstudios\u002Fsites\u002Ftheme\u002Fdesign-tokens\u002F","Theming",[2422,3971,3972],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sqsOY, html code.shiki .sqsOY{--shiki-light:#8796B0;--shiki-default:#B2CCD6;--shiki-dark:#B2CCD6}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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}",{"title":2051,"searchDepth":2072,"depth":2072,"links":3974},[3975,3976,3977,3978,3979,3980,3981,3982,3983],{"id":2019,"depth":2072,"text":2020},{"id":2035,"depth":2072,"text":2036},{"id":2343,"depth":2072,"text":2344},{"id":2609,"depth":2072,"text":2610},{"id":3079,"depth":2072,"text":3080},{"id":3227,"depth":2072,"text":3228},{"id":3882,"depth":2072,"text":3883},{"id":3925,"depth":2072,"text":3926},{"id":3951,"depth":2072,"text":3952},"Drive a Theme's look with CSS custom-property design tokens, brand per tenant at runtime, and support light and dark — no rebuild per customer.","md",null,{},{"title":127,"description":3984},{"loc":128},"Wss8Z3HWanVFpfqMU9Q2IJroisLAVNXldrxk9HgSPYA",1788429676405]