@vectoriox/iox-ui 5.55.0 → 5.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vectoriox-iox-ui-generation-core.mjs","sources":["../../../projects/iox-ui/src/generation-core/site-spec.generated.ts","../../../projects/iox-ui/src/generation-core/node-baselines.generated.ts","../../../projects/iox-ui/src/generation-core/baseline-roles.ts","../../../projects/iox-ui/src/generation-core/site-plan.model.ts","../../../projects/iox-ui/src/generation-core/patterns.ts","../../../projects/iox-ui/src/generation-core/templates.ts","../../../projects/iox-ui/src/generation-core/serialized-node.ts","../../../projects/iox-ui/src/generation-core/shape-check.ts","../../../projects/iox-ui/src/generation-core/json-schema.ts","../../../projects/iox-ui/src/generation-core/validate-site-plan.ts","../../../projects/iox-ui/src/generation-core/nav-shape.ts","../../../projects/iox-ui/src/generation-core/compose-site.ts","../../../projects/iox-ui/src/generation-core/entrances.ts","../../../projects/iox-ui/src/generation-core/plan-data.ts","../../../projects/iox-ui/src/generation-core/site-build-run.ts","../../../projects/iox-ui/src/generation-core/ai-run.ts","../../../projects/iox-ui/src/generation-core/site-plan-schema.ts","../../../projects/iox-ui/src/generation-core/plan-edits.ts","../../../projects/iox-ui/src/generation-core/plan-words.ts","../../../projects/iox-ui/src/generation-core/public-api.ts","../../../projects/iox-ui/src/generation-core/vectoriox-iox-ui-generation-core.ts"],"sourcesContent":["// GENERATED from iox-ai-guidance flavor-spec.v1.json — do not edit; re-run scripts/gen-flavor-spec.mjs\n// (npm run gen:flavor-spec). The JSON is itself generated by iox-ai-guidance\n// architecture/builder/design-system/build-spec.mjs: change a value THERE, then regenerate both.\n/* eslint-disable */\nexport const SPEC_SITE_PLAN_SHAPE = {\n \"plan\": {\n \"version\": \"'1'\",\n \"source\": \"sourceTemplate | sourceAi\",\n \"business\": \"business\",\n \"design\": \"design\",\n \"contentTypes\": \"contentType[]\",\n \"dataSources\": \"(cmsDataSource | relativeDataSource)[] — merged by alias into the org library\",\n \"pages\": \"page[]\",\n \"globals\": \"globals\"\n },\n \"sourceTemplate\": {\n \"kind\": \"'template'\",\n \"templateId\": \"string\",\n \"templateVersion\": \"integer\"\n },\n \"sourceAi\": {\n \"kind\": \"'ai'\",\n \"runId\": \"string\"\n },\n \"business\": {\n \"name\": \"string — the brand: the header, the hero, the copyright line\",\n \"tagline?\": \"string — the hero lead and the footer line\",\n \"facts?\": \"{ [fact]: string } — facts (email, phone, city, address, hours): only the customer's own words; a blank fact is a publish-blocking placeholder, never invented\"\n },\n \"design\": {\n \"flavorId\": \"string — a v2 flavor pack id\",\n \"seed\": \"string — #rrggbb brand colour\",\n \"pairId\": \"string — one of the pack's font pairings\",\n \"shape\": \"string — axes.shapes\",\n \"density\": \"string — axes.densities\",\n \"motion\": \"string — axes.motions\",\n \"pillButtons\": \"boolean\",\n \"mode\": \"'light' | 'dark' | 'auto'\",\n \"tint?\": \"string — axes.tints (DS9 neutral tint)\",\n \"fonts?\": \"object — uploaded font families per role (DS5)\",\n \"scroll?\": \"string — axes.scrolls: how the site scrolls (rev 3.1; absent = axes.motionChoices.pre)\",\n \"animate?\": \"string — axes.animations: how much the sections move in as they scroll into view\",\n \"between?\": \"string — axes.betweens: what plays between pages\"\n },\n \"contentType\": {\n \"name\": \"string — unique\",\n \"label\": \"string\",\n \"previewTextField?\": \"string — a field of the type: the item's name on cards and the alt text of its bound images\",\n \"previewImageField?\": \"string — a field of the type: the item's picture\",\n \"fields\": \"field[]\",\n \"seed?\": \"seed\"\n },\n \"field\": {\n \"name\": \"string — unique in the type\",\n \"type\": \"string\",\n \"controller\": \"string — an IOX input controller\",\n \"required?\": \"boolean\",\n \"note?\": \"string\"\n },\n \"seed\": {\n \"count\": \"integer ≥ 0\",\n \"sample\": \"boolean — items are flagged isSample\",\n \"isPublished\": \"boolean\",\n \"[field]?\": \"the field's value — strings are templates: {n} = the item's 1-based number, {sampleImage:n} / {sampleImage:n+k} = a bundled sample image\"\n },\n \"cmsDataSource\": {\n \"alias\": \"string — unique; never $… (platform scopes)\",\n \"type\": \"'cms'\",\n \"mode\": \"'query' | 'single'\",\n \"contentType\": \"string — a content type of the plan\",\n \"limit?\": \"integer ≥ 1\",\n \"filterByRouteParam?\": \"{ field, routeParam } — single only: the route param that picks the item\"\n },\n \"relativeDataSource\": {\n \"alias\": \"string — unique\",\n \"type\": \"'relative'\",\n \"of\": \"string — a single cms source (the subject)\",\n \"op\": \"'$siblings.next' | '$siblings.prev'\",\n \"within\": \"string — a query cms source of the same type\"\n },\n \"page\": {\n \"key\": \"string — unique\",\n \"name\": \"string — the nav label\",\n \"route\": \"string — /lowercase-words, :params; unique\",\n \"isHome?\": \"boolean — exactly one page, at /\",\n \"required?\": \"boolean — a template page the wizard's Pages step cannot leave out\",\n \"inNav?\": \"boolean — a Link in the header and footer navigation, in plan order\",\n \"template?\": \"string — the content type a template page renders one item of\",\n \"routeSource?\": \"string — the single source read by the route param (route.* binds it)\",\n \"sections\": \"section[]\"\n },\n \"section\": {\n \"pattern\": \"string — a non-global pattern id\",\n \"slots?\": \"{ [slot]: string } — the pattern's declared slots\",\n \"binding?\": \"string — the list source a pattern's $binding repeater iterates (exactly when it has one); a $binding? pattern (faq.accordion) MAY take one — then its items come from that content\",\n \"without?\": \"string[] — the pattern's optional parts to leave out\"\n },\n \"globals\": {\n \"header\": \"string — a header pattern (global: before)\",\n \"footer\": \"string — a footer pattern (global: after)\"\n }\n} as const;\n\nexport const SPEC_SITE_FACTS = {\n \"email\": \"Email address\",\n \"phone\": \"Phone number\",\n \"city\": \"City or area\",\n \"address\": \"Street address\",\n \"hours\": \"Opening hours\"\n} as const;\n\nexport const SPEC_SITE_PATTERNS = {\n \"nav.inline-cta\": {\n \"family\": \"nav\",\n \"label\": \"Navigation bar\",\n \"global\": \"before\",\n \"phoneMenu\": \"drawer\",\n \"node\": {\n \"t\": \"Container\",\n \"es\": \"nav\",\n \"tag\": \"nav\",\n \"role\": \"nav\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"justifyContent\": \"space-between\",\n \"alignItems\": \"center\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"c\": [\n {\n \"t\": \"LinkedContainer\",\n \"es\": \"box\",\n \"href\": \"/\",\n \"role\": \"nav.brand\",\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"slot\": \"brand\",\n \"fromBusiness\": \"name\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"nav.links\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"var(--iox-space-gap)\",\n \"alignItems\": \"center\",\n \"width\": \"auto\"\n },\n \"c\": [\n {\n \"t\": \"Link\",\n \"es\": \"link\",\n \"each\": \"$navPages\",\n \"bind\": \"page.name\",\n \"href\": \"$page.route\",\n \"role\": \"nav.link\"\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"slot\": \"cta\",\n \"text\": \"Get in touch\",\n \"role\": \"nav.cta\"\n }\n ]\n }\n ]\n }\n },\n \"footer.three-column\": {\n \"family\": \"footer\",\n \"label\": \"Footer, three columns\",\n \"global\": \"after\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"inverse\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"2fr 1fr 1fr\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"slot\": \"brand\",\n \"fromBusiness\": \"name\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"slot\": \"tagline\",\n \"fromBusiness\": \"tagline\",\n \"ph\": \"copy\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"text\": \"Pages\"\n },\n {\n \"t\": \"Link\",\n \"es\": \"link\",\n \"each\": \"$navPages\",\n \"bind\": \"page.name\",\n \"href\": \"$page.route\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"text\": \"Contact\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"ph\": \"email\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"ph\": \"phone\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"ph\": \"city\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Divider\",\n \"es\": \"rule\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"slot\": \"copyright\",\n \"text\": \"© {year} {business.name}\"\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"hero.split\": {\n \"family\": \"hero\",\n \"label\": \"Hero — text beside an image\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"1.1fr 0.9fr\",\n \"gap\": \"48px\",\n \"alignItems\": \"center\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"22px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"What you do · where\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"display\",\n \"level\": \"h1\",\n \"slot\": \"headline\",\n \"fromBusiness\": \"name\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"slot\": \"lead\",\n \"fromBusiness\": \"tagline\",\n \"ph\": \"copy\"\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"12px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/work\",\n \"text\": \"See our work\"\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-secondary\",\n \"href\": \"/contact\",\n \"text\": \"Get in touch\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"ph\": \"image\",\n \"aspect\": \"4 / 5\"\n }\n ]\n }\n ]\n }\n },\n \"collection.card-grid\": {\n \"family\": \"collection\",\n \"label\": \"Project cards, three across\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"optional\": \"header\",\n \"lay\": {\n \"display\": \"flex\",\n \"justifyContent\": \"space-between\",\n \"alignItems\": \"baseline\",\n \"gap\": \"16px\",\n \"flexWrap\": \"wrap\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"text\": \"Selected work\"\n },\n {\n \"t\": \"Link\",\n \"es\": \"link\",\n \"href\": \"/work\",\n \"text\": \"All projects\"\n }\n ]\n },\n {\n \"t\": \"Repeater\",\n \"src\": \"$binding\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"parts\": {\n \"badge\": false,\n \"actions\": false\n },\n \"href\": \"/work/:slug\",\n \"param\": \"item.slug\",\n \"binds\": {\n \"image\": \"item.cover\",\n \"eyebrow\": \"item.year\",\n \"title\": \"item.title\",\n \"text\": \"item.summary\"\n }\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"feature.triad\": {\n \"family\": \"feature\",\n \"label\": \"Three services\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"subtle\",\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"text\": \"What we do\"\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"10px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"ph\": \"copy\",\n \"text\": \"Name a service\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Describe it in two sentences.\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"10px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"ph\": \"copy\",\n \"text\": \"Name a service\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Describe it in two sentences.\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"10px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"ph\": \"copy\",\n \"text\": \"Name a service\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Describe it in two sentences.\"\n }\n ]\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"cta.banner\": {\n \"family\": \"cta\",\n \"label\": \"Call to action band\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"inverse\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"1fr auto\",\n \"gap\": \"32px\",\n \"alignItems\": \"center\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"12px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"text\": \"Start a project\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"text\": \"Tell us about your project.\"\n }\n ]\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Get in touch\"\n }\n ]\n }\n ]\n }\n },\n \"page-header.simple\": {\n \"family\": \"header\",\n \"label\": \"Page header\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"760px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"slot\": \"eyebrow\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h1\",\n \"level\": \"h1\",\n \"slot\": \"title\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"slot\": \"lead\",\n \"ph\": \"copy\",\n \"text\": \"One or two sentences that introduce this page.\"\n }\n ]\n }\n ]\n }\n },\n \"project.hero\": {\n \"family\": \"detail\",\n \"label\": \"Project hero (bound to the route item)\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"16px\",\n \"maxWidth\": \"860px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"bind\": \"route.location\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h1\",\n \"level\": \"h1\",\n \"bind\": \"route.title\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"bind\": \"route.summary\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"bind\": \"route.year\"\n }\n ]\n },\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"bind\": \"route.cover\",\n \"aspect\": \"16 / 9\"\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"project.gallery\": {\n \"family\": \"media\",\n \"label\": \"Project gallery (the item's images)\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Repeater\",\n \"src\": \"route.gallery\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(2, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"bind\": \"item\",\n \"alt\": \"\",\n \"aspect\": \"4 / 3\"\n }\n ]\n }\n ]\n }\n },\n \"project.next\": {\n \"family\": \"detail\",\n \"label\": \"Next project\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Divider\",\n \"es\": \"rule\"\n },\n {\n \"t\": \"LinkedContainer\",\n \"es\": \"box\",\n \"href\": \"/work/:slug\",\n \"param\": \"next.slug\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"6px\",\n \"padding\": \"24px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"Next project\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"bind\": \"next.title\"\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"about.story\": {\n \"family\": \"content\",\n \"label\": \"Story beside an image\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"1fr 1fr\",\n \"gap\": \"48px\",\n \"alignItems\": \"start\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"16px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"ph\": \"copy\",\n \"text\": \"How the studio started\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Tell your story in your own words: who you are, how you work, what you care about.\"\n }\n ]\n },\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"ph\": \"image\",\n \"aspect\": \"4 / 3\"\n }\n ]\n }\n ]\n }\n },\n \"contact.split\": {\n \"family\": \"contact\",\n \"label\": \"Contact details beside a form\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"0.9fr 1.1fr\",\n \"gap\": \"48px\",\n \"alignItems\": \"start\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"16px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h1\",\n \"level\": \"h1\",\n \"text\": \"Get in touch\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"ph\": \"copy\",\n \"text\": \"Say how and when people can expect to hear back.\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"email\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"phone\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"city\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"c\": [\n {\n \"t\": \"Form\",\n \"preset\": \"contact\"\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"faq.accordion\": {\n \"family\": \"faq\",\n \"label\": \"FAQ — questions that open\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"860px\",\n \"width\": \"100%\",\n \"margin\": \"0px auto 0px auto\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"FAQ\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"Questions people ask\"\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"accordion\",\n \"src\": \"$binding?\",\n \"ph\": \"copy\"\n }\n ]\n }\n ]\n }\n },\n \"feature.tabbed\": {\n \"family\": \"feature\",\n \"label\": \"Features — tabs that switch\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"1100px\",\n \"width\": \"100%\",\n \"margin\": \"0px auto 0px auto\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"What we offer\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"What we design\"\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"tabs\",\n \"src\": \"$binding?\",\n \"ph\": \"copy\",\n \"name\": \"What we design\"\n }\n ]\n }\n ]\n }\n },\n \"pricing.tiers\": {\n \"family\": \"pricing\",\n \"label\": \"Pricing — plans with a monthly / yearly switch\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"textAlign\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"Pricing\",\n \"lay\": {\n \"textAlign\": \"center\"\n }\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"Plans\",\n \"lay\": {\n \"textAlign\": \"center\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"segmented\",\n \"name\": \"Billing period\",\n \"lay\": {\n \"alignSelf\": \"center\"\n },\n \"resp\": {\n \"mobile\": {\n \"position\": \"sticky\",\n \"top\": \"calc(12px + env(safe-area-inset-top, 0px))\",\n \"zIndex\": \"2\",\n \"width\": \"100%\"\n }\n }\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Plans\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\",\n \"alignItems\": \"stretch\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"ph\": \"copy\",\n \"parts\": {\n \"media\": false,\n \"eyebrow\": false,\n \"badge\": false,\n \"actions\": false\n },\n \"words\": {\n \"title\": \"First plan\",\n \"text\": \"Who this plan is for, in one sentence.\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Monthly\",\n \"shownWhen\": \"monthly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Monthly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per month\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Yearly\",\n \"shownWhen\": \"yearly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Yearly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per year\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Includes\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"card.actions\",\n \"layer\": \"Buttons\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"width\": \"100%\",\n \"margin\": \"auto 0px 0px 0px\",\n \"padding\": \"6px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Choose this plan\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"ph\": \"copy\",\n \"scheme\": \"accent\",\n \"badge\": \"neutral\",\n \"icon\": \"ph ph-sparkle\",\n \"parts\": {\n \"media\": false,\n \"eyebrow\": false,\n \"badge\": true,\n \"actions\": false\n },\n \"words\": {\n \"title\": \"Second plan\",\n \"text\": \"Who this plan is for, in one sentence.\",\n \"badge\": \"Most popular\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Monthly\",\n \"shownWhen\": \"monthly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Monthly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per month\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Yearly\",\n \"shownWhen\": \"yearly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Yearly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per year\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Includes\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"card.actions\",\n \"layer\": \"Buttons\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"width\": \"100%\",\n \"margin\": \"auto 0px 0px 0px\",\n \"padding\": \"6px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Choose this plan\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"ph\": \"copy\",\n \"parts\": {\n \"media\": false,\n \"eyebrow\": false,\n \"badge\": false,\n \"actions\": false\n },\n \"words\": {\n \"title\": \"Third plan\",\n \"text\": \"Who this plan is for, in one sentence.\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Monthly\",\n \"shownWhen\": \"monthly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Monthly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per month\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Yearly\",\n \"shownWhen\": \"yearly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Yearly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per year\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Includes\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"card.actions\",\n \"layer\": \"Buttons\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"width\": \"100%\",\n \"margin\": \"auto 0px 0px 0px\",\n \"padding\": \"6px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Choose this plan\"\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"hero.full-bleed-media\": {\n \"family\": \"hero\",\n \"label\": \"Hero — words over a background video\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"inverse\",\n \"lay\": {\n \"position\": \"relative\",\n \"overflow\": \"hidden\",\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"justifyContent\": \"flex-end\",\n \"minHeight\": \"70vh\"\n },\n \"c\": [\n {\n \"t\": \"Video\",\n \"es\": \"media\",\n \"video\": \"background\",\n \"ph\": \"video\",\n \"lay\": {\n \"position\": \"absolute\",\n \"top\": \"0px\",\n \"left\": \"0px\",\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"aspectRatio\": \"auto\",\n \"borderRadius\": \"0px\",\n \"zIndex\": \"0\"\n }\n },\n {\n \"t\": \"Container\",\n \"es\": \"media-scrim\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"position\": \"relative\",\n \"zIndex\": \"1\",\n \"padding\": \"32px 32px 32px 32px\",\n \"maxWidth\": \"760px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"display\",\n \"level\": \"h1\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"Rooms that hold the light\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"slot\": \"lead\",\n \"fromBusiness\": \"tagline\",\n \"ph\": \"copy\"\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"slot\": \"cta\",\n \"text\": \"Get in touch\"\n }\n ]\n }\n ]\n }\n },\n \"proof.testimonial-carousel\": {\n \"family\": \"proof\",\n \"label\": \"Testimonials that rotate\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"860px\",\n \"width\": \"100%\",\n \"margin\": \"0px auto 0px auto\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"What clients say\"\n },\n {\n \"t\": \"SliderContainer\",\n \"recipe\": \"carousel\",\n \"ph\": \"copy\"\n }\n ]\n }\n ]\n }\n },\n \"collection.masonry-gallery\": {\n \"family\": \"collection\",\n \"label\": \"Gallery that opens full screen\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Repeater\",\n \"src\": \"route.gallery\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"repeat(2, minmax(0, 1fr))\"\n }\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-ghost\",\n \"opens\": \"lightbox\",\n \"name\": \"Open the image\",\n \"lay\": {\n \"display\": \"block\",\n \"width\": \"100%\",\n \"padding\": \"0px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"bind\": \"item\",\n \"alt\": \"\",\n \"aspect\": \"4 / 3\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Dialog\",\n \"recipe\": \"lightbox\",\n \"src\": \"route.gallery\"\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n }\n} as const;\n\nexport const SPEC_SITE_TEMPLATES = {\n \"studio\": {\n \"id\": \"studio\",\n \"version\": 1,\n \"label\": \"Studio\",\n \"blurb\": \"A portfolio for a studio or service business: your work, what you do, and a way to reach you.\",\n \"bestFor\": [\n \"Architecture & interiors\",\n \"Design studios\",\n \"Photographers\",\n \"Agencies\",\n \"Consultants\"\n ],\n \"contentTypes\": [\n {\n \"name\": \"projects\",\n \"label\": \"Projects\",\n \"previewTextField\": \"title\",\n \"previewImageField\": \"cover\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"string\",\n \"controller\": \"text\",\n \"required\": true\n },\n {\n \"name\": \"slug\",\n \"type\": \"string\",\n \"controller\": \"text\",\n \"required\": true,\n \"note\": \"derived from title at seed; no slug controller exists yet (gap)\"\n },\n {\n \"name\": \"summary\",\n \"type\": \"string\",\n \"controller\": \"textarea\"\n },\n {\n \"name\": \"cover\",\n \"type\": \"string\",\n \"controller\": \"image\"\n },\n {\n \"name\": \"gallery\",\n \"type\": \"array\",\n \"controller\": \"mediaList\"\n },\n {\n \"name\": \"year\",\n \"type\": \"string\",\n \"controller\": \"text\"\n },\n {\n \"name\": \"location\",\n \"type\": \"string\",\n \"controller\": \"text\"\n }\n ],\n \"seed\": {\n \"count\": 6,\n \"sample\": true,\n \"isPublished\": true,\n \"title\": \"Sample project {n}\",\n \"slug\": \"sample-project-{n}\",\n \"summary\": \"Replace this with a sentence about the project.\",\n \"cover\": \"{sampleImage:n}\",\n \"gallery\": [\n \"{sampleImage:n+1}\",\n \"{sampleImage:n+2}\"\n ],\n \"year\": \"\",\n \"location\": \"\"\n }\n }\n ],\n \"dataSources\": [\n {\n \"alias\": \"projects\",\n \"type\": \"cms\",\n \"mode\": \"query\",\n \"contentType\": \"projects\"\n },\n {\n \"alias\": \"projectsLatest\",\n \"type\": \"cms\",\n \"mode\": \"query\",\n \"contentType\": \"projects\",\n \"limit\": 3\n },\n {\n \"alias\": \"project\",\n \"type\": \"cms\",\n \"mode\": \"single\",\n \"contentType\": \"projects\",\n \"filterByRouteParam\": {\n \"field\": \"slug\",\n \"routeParam\": \"slug\"\n }\n },\n {\n \"alias\": \"projectNext\",\n \"type\": \"relative\",\n \"of\": \"project\",\n \"op\": \"$siblings.next\",\n \"within\": \"projects\"\n }\n ],\n \"pages\": [\n {\n \"key\": \"home\",\n \"name\": \"Home\",\n \"route\": \"/\",\n \"isHome\": true,\n \"required\": true,\n \"inNav\": false,\n \"sections\": [\n {\n \"pattern\": \"hero.split\"\n },\n {\n \"pattern\": \"collection.card-grid\",\n \"binding\": \"projectsLatest\"\n },\n {\n \"pattern\": \"feature.triad\"\n },\n {\n \"pattern\": \"cta.banner\"\n }\n ]\n },\n {\n \"key\": \"work\",\n \"name\": \"Work\",\n \"route\": \"/work\",\n \"required\": true,\n \"inNav\": true,\n \"sections\": [\n {\n \"pattern\": \"page-header.simple\",\n \"slots\": {\n \"eyebrow\": \"Portfolio\",\n \"title\": \"Work\"\n }\n },\n {\n \"pattern\": \"collection.card-grid\",\n \"binding\": \"projects\",\n \"without\": [\n \"header\"\n ]\n }\n ]\n },\n {\n \"key\": \"project\",\n \"name\": \"Project\",\n \"route\": \"/work/:slug\",\n \"required\": true,\n \"inNav\": false,\n \"template\": \"projects\",\n \"routeSource\": \"project\",\n \"sections\": [\n {\n \"pattern\": \"project.hero\"\n },\n {\n \"pattern\": \"project.gallery\"\n },\n {\n \"pattern\": \"project.next\"\n },\n {\n \"pattern\": \"cta.banner\"\n }\n ]\n },\n {\n \"key\": \"about\",\n \"name\": \"About\",\n \"route\": \"/about\",\n \"required\": false,\n \"inNav\": true,\n \"sections\": [\n {\n \"pattern\": \"page-header.simple\",\n \"slots\": {\n \"eyebrow\": \"About\",\n \"title\": \"About the studio\"\n }\n },\n {\n \"pattern\": \"about.story\"\n },\n {\n \"pattern\": \"cta.banner\"\n }\n ]\n },\n {\n \"key\": \"contact\",\n \"name\": \"Contact\",\n \"route\": \"/contact\",\n \"required\": false,\n \"inNav\": true,\n \"sections\": [\n {\n \"pattern\": \"contact.split\"\n }\n ]\n }\n ],\n \"globals\": {\n \"header\": \"nav.inline-cta\",\n \"footer\": \"footer.three-column\"\n }\n }\n} as const;\n\nexport const SPEC_SITE_LIBRARY = [\n {\n \"id\": \"nav.inline-cta\",\n \"family\": \"nav\"\n },\n {\n \"id\": \"nav.centered-logo\",\n \"family\": \"nav\"\n },\n {\n \"id\": \"nav.overlay-menu\",\n \"family\": \"nav\"\n },\n {\n \"id\": \"hero.split\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"hero.centered\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"hero.full-bleed-media\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"hero.stacked-editorial\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"proof.logo-strip\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"proof.stat-row\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"proof.testimonial-single\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"proof.testimonial-carousel\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"feature.triad\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"feature.alternating-rows\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"feature.icon-list\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"feature.tabbed\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"collection.card-grid\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"collection.masonry-gallery\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"collection.slider\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"collection.list-detail\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"story.long-form\",\n \"family\": \"story\"\n },\n {\n \"id\": \"story.timeline\",\n \"family\": \"story\"\n },\n {\n \"id\": \"story.quote-break\",\n \"family\": \"story\"\n },\n {\n \"id\": \"cta.banner\",\n \"family\": \"cta\"\n },\n {\n \"id\": \"cta.split-form\",\n \"family\": \"cta\"\n },\n {\n \"id\": \"contact.split-map\",\n \"family\": \"contact\"\n },\n {\n \"id\": \"contact.simple\",\n \"family\": \"contact\"\n },\n {\n \"id\": \"faq.accordion\",\n \"family\": \"faq\"\n },\n {\n \"id\": \"pricing.tiers\",\n \"family\": \"pricing\"\n },\n {\n \"id\": \"footer.three-column\",\n \"family\": \"footer\"\n },\n {\n \"id\": \"footer.mega\",\n \"family\": \"footer\"\n },\n {\n \"id\": \"footer.minimal\",\n \"family\": \"footer\"\n }\n] as const;\n","// GENERATED from the live iox-builder config classes — do not edit; re-run scripts/gen-node-baselines.mjs\n// (npm run gen:node-baselines). What an untouched node of each registered type saves as (the\n// builder serializer's props/styleProps), plus every style trait it has a slot for.\n/* eslint-disable */\nimport type { NodeBaseline } from './node-baseline.model';\n\nexport const NODE_BASELINES: Readonly<Record<string, NodeBaseline>> = {\n \"Button\": {\n \"props\": {\n \"label\": \"Click me\",\n \"link\": \"#\",\n \"variant\": \"primary\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"label\",\n \"link\",\n \"variant\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"ButtonBlock\": {\n \"props\": {\n \"tag\": \"button\",\n \"linkType\": \"external\",\n \"href\": \"\",\n \"pageRoute\": \"\",\n \"target\": \"_self\",\n \"type\": \"button\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"inline-flex\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"center\",\n \"alignItems\": \"center\",\n \"gap\": \"8px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"10px 20px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"pointer\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"tag\",\n \"linkType\",\n \"href\",\n \"pageRoute\",\n \"target\",\n \"type\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Card\": {\n \"props\": {\n \"title\": \"Default Title\",\n \"image\": \"https://via.placeholder.com/150\",\n \"description\": \"This is a default card description.\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"200px\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"16px 16px 16px 16px\",\n \"borderWidth\": \"1px 1px 1px 1px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#cccccc\",\n \"borderRadius\": \"8px\",\n \"backgroundColor\": \"#ffffff\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"title\",\n \"image\",\n \"description\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Container\": {\n \"props\": {\n \"htmlTag\": \"div\",\n \"colorScheme\": \"default\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"200px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"htmlTag\",\n \"colorScheme\",\n \"multiple\",\n \"defaultOn\",\n \"activateOn\",\n \"orientation\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Heading\": {\n \"props\": {\n \"content\": \"Heading\",\n \"level\": \"h2\",\n \"linkType\": \"none\",\n \"url\": \"\",\n \"pageRoute\": \"\",\n \"target\": \"_self\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"32px\",\n \"fontWeight\": \"700\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"maxLines\": \"none\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"content\",\n \"level\",\n \"linkType\",\n \"url\",\n \"pageRoute\",\n \"target\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"maxLines\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Text\": {\n \"props\": {\n \"content\": \"Enter text here\",\n \"tag\": \"p\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"20px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"maxLines\": \"none\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"10px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"content\",\n \"tag\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"maxLines\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Image\": {\n \"props\": {\n \"src\": \"https://placehold.co/600x400?text=Image\",\n \"alt\": \"Image\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"300px\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"1/1\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"src\",\n \"alt\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Link\": {\n \"props\": {\n \"label\": \"Click here\",\n \"linkType\": \"external\",\n \"url\": \"https://\",\n \"pageRoute\": \"\",\n \"target\": \"_self\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"label\",\n \"linkType\",\n \"url\",\n \"pageRoute\",\n \"target\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"LinkedContainer\": {\n \"props\": {\n \"linkType\": \"external\",\n \"url\": \"https://\",\n \"pageRoute\": \"\",\n \"target\": \"_self\",\n \"colorScheme\": \"default\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"80px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"linkType\",\n \"url\",\n \"pageRoute\",\n \"target\",\n \"colorScheme\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Section\": {\n \"props\": {\n \"colorScheme\": \"default\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"200px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"colorScheme\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Icon\": {\n \"props\": {\n \"iconClass\": \"ph-thin ph-star\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"24px\",\n \"fontWeight\": \"400\",\n \"color\": \"#374151\",\n \"lineHeight\": \"0\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"iconClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Divider\": {\n \"props\": {},\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"1px\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"8px 0px 8px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"#cccccc\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Spacer\": {\n \"props\": {},\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"40px\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"List\": {\n \"props\": {\n \"htmlTag\": \"ul\",\n \"start\": 1,\n \"reversed\": false\n },\n \"styleProps\": {\n \"listStyleType\": \"disc\",\n \"listStylePosition\": \"outside\",\n \"columnCount\": \"1\",\n \"columnGap\": \"0px\",\n \"markerColor\": \"\",\n \"markerFontSize\": \"\",\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 24px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"htmlTag\",\n \"start\",\n \"reversed\"\n ],\n \"styleTraits\": [\n \"listStyleType\",\n \"listStylePosition\",\n \"columnCount\",\n \"columnGap\",\n \"_sep_marker\",\n \"markerColor\",\n \"markerFontSize\",\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"ListItem\": {\n \"props\": {\n \"htmlTag\": \"li\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"htmlTag\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Repeater\": {\n \"props\": {\n \"source\": \"\",\n \"limit\": 10\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"source\",\n \"limit\",\n \"multiple\",\n \"defaultOn\",\n \"activateOn\",\n \"orientation\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"SliderContainer\": {\n \"props\": {\n \"source\": \"\",\n \"limit\": 10,\n \"dir\": \"ltr\",\n \"direction\": \"horizontal\",\n \"slidesPerView\": \"auto\",\n \"slidesPerGroup\": 1,\n \"loop\": \"off\",\n \"centeredSlides\": false,\n \"spaceBetween\": 0,\n \"initialSlide\": 0,\n \"autoHeight\": false,\n \"grabCursor\": true,\n \"slideToClickedSlide\": false,\n \"effect\": \"slide\",\n \"speed\": 300,\n \"enableNavigation\": false,\n \"navigationColor\": \"#ffffff\",\n \"navigationSize\": 44,\n \"enablePagination\": false,\n \"paginationColor\": \"#ffffff\",\n \"paginationType\": \"bullets\",\n \"paginationClickable\": true,\n \"paginationDynamicBullets\": false,\n \"enableAutoplay\": false,\n \"autoplayDelay\": 3000,\n \"autoplayPauseOnMouseEnter\": true,\n \"autoplayDisableOnInteraction\": false,\n \"enableScrollbar\": false,\n \"freeMode\": false,\n \"enableKeyboard\": false,\n \"enableMousewheel\": false,\n \"enableZoom\": false,\n \"enableParallax\": false,\n \"enableGrid\": false,\n \"gridRows\": 2,\n \"breakpoints\": \"\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__dataLabel\",\n \"source\",\n \"limit\",\n \"__paramsLabel\",\n \"dir\",\n \"direction\",\n \"slidesPerView\",\n \"slidesPerGroup\",\n \"loop\",\n \"centeredSlides\",\n \"spaceBetween\",\n \"initialSlide\",\n \"autoHeight\",\n \"grabCursor\",\n \"slideToClickedSlide\",\n \"__effectsLabel\",\n \"effect\",\n \"speed\",\n \"__navLabel\",\n \"enableNavigation\",\n \"navigationColor\",\n \"navigationSize\",\n \"__paginationLabel\",\n \"enablePagination\",\n \"paginationColor\",\n \"paginationType\",\n \"paginationClickable\",\n \"paginationDynamicBullets\",\n \"__autoplayLabel\",\n \"enableAutoplay\",\n \"autoplayDelay\",\n \"autoplayPauseOnMouseEnter\",\n \"autoplayDisableOnInteraction\",\n \"__modulesLabel\",\n \"enableScrollbar\",\n \"freeMode\",\n \"enableKeyboard\",\n \"enableMousewheel\",\n \"enableZoom\",\n \"enableParallax\",\n \"__gridLabel\",\n \"enableGrid\",\n \"gridRows\",\n \"__responsiveLabel\",\n \"breakpoints\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"SliderSlide\": {\n \"props\": {},\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"width\": \"33%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"1 / 1\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Gallery\": {\n \"props\": {\n \"images\": [],\n \"effect\": \"fade\",\n \"showDuration\": 4000,\n \"fadeDuration\": 1000,\n \"autoStart\": true\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"200px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"#000000\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__imagesLabel\",\n \"images\",\n \"__playbackLabel\",\n \"effect\",\n \"showDuration\",\n \"fadeDuration\",\n \"autoStart\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Form\": {\n \"props\": {\n \"formClass\": \"iox-form\",\n \"name\": \"Contact form\",\n \"formId\": \"\",\n \"feedback\": \"smart\",\n \"resetAfterSubmit\": false,\n \"focusFirstProblem\": true,\n \"announceFailure\": true,\n \"honeypot\": true,\n \"minFillMs\": 1200,\n \"actions\": [\n {\n \"type\": \"store\"\n }\n ],\n \"retentionDays\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"16px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\",\n \"__formLabel\",\n \"name\",\n \"formId\",\n \"feedback\",\n \"resetAfterSubmit\",\n \"focusFirstProblem\",\n \"announceFailure\",\n \"__spamLabel\",\n \"honeypot\",\n \"minFillMs\",\n \"__afterSubmitLabel\",\n \"actions\",\n \"__dataLabel\",\n \"retentionDays\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Field\": {\n \"props\": {\n \"label\": \"Label\",\n \"control\": \"text\",\n \"placeholder\": \"\",\n \"help\": \"\",\n \"rows\": 4,\n \"rangeMin\": 0,\n \"rangeMax\": 100,\n \"rangeStep\": 1,\n \"labelHidden\": false,\n \"name\": \"\",\n \"defaultValue\": \"\",\n \"optionsText\": \"\",\n \"required\": false,\n \"rules\": []\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__contentLabel\",\n \"label\",\n \"control\",\n \"placeholder\",\n \"help\",\n \"rows\",\n \"rangeMin\",\n \"rangeMax\",\n \"rangeStep\",\n \"labelHidden\",\n \"name\",\n \"defaultValue\",\n \"__optionsLabel\",\n \"optionsText\",\n \"__validationLabel\",\n \"required\",\n \"rules\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"FieldGroup\": {\n \"props\": {\n \"formClass\": \"iox-field-group\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"flex\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"16px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"SubmitButton\": {\n \"props\": {\n \"label\": \"Send\",\n \"loadingLabel\": \"Sending…\",\n \"disableWhileSubmitting\": true\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"inline-flex\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"center\",\n \"alignItems\": \"center\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"44px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#ffffff\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"12px 24px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"#a05c5c\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"pointer\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"label\",\n \"loadingLabel\",\n \"disableWhileSubmitting\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"FormSuccess\": {\n \"props\": {\n \"formClass\": \"iox-form-success\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#3f7355\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"16px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"#e4efe8\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"FormError\": {\n \"props\": {\n \"formClass\": \"iox-form-error\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#a8413a\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"16px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"#f6e3e1\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Dialog\": {\n \"props\": {\n \"placement\": \"center\",\n \"closeOnBackdrop\": true,\n \"showCloseButton\": true,\n \"consentRole\": false,\n \"closeAbove\": \"\",\n \"ariaLabel\": \"\",\n \"colorScheme\": \"default\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"480px\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"24px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"12px\",\n \"backgroundColor\": \"#ffffff\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"0 18px 40px rgba(0, 0, 0, 0.22)\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"placement\",\n \"closeOnBackdrop\",\n \"showCloseButton\",\n \"consentRole\",\n \"__responsiveLabel\",\n \"closeAbove\",\n \"__accessibilityLabel\",\n \"ariaLabel\",\n \"colorScheme\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Video\": {\n \"props\": {\n \"videoSource\": \"youtube\",\n \"src\": \"\",\n \"poster\": \"\",\n \"mode\": \"inline\",\n \"autoplay\": false,\n \"title\": \"\",\n \"captions\": \"\",\n \"captionsLang\": \"en\",\n \"consentCategory\": \"marketing\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"16 / 9\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__mediaLabel\",\n \"videoSource\",\n \"src\",\n \"poster\",\n \"__behaviourLabel\",\n \"mode\",\n \"autoplay\",\n \"__accessibilityLabel\",\n \"title\",\n \"captions\",\n \"captionsLang\",\n \"__privacyLabel\",\n \"consentCategory\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n }\n};\n\n/** What every style trait saves as when no constructor sets it (buildFullStyleTraits' defaults). */\nexport const NEUTRAL_STYLE_PROPS: Readonly<Record<string, unknown>> = {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n};\n","import { NEUTRAL_STYLE_PROPS, NODE_BASELINES } from './node-baselines.generated';\n\n/**\n * Why each type's constructor sets the style values it sets (W1.1, Q1). Every value a type's config\n * gives that differs from what the trait saves when nobody sets it (`NEUTRAL_STYLE_PROPS`) is exactly\n * one of:\n *\n * - **Layout** — a size or spacing that exists only so an EMPTY node dropped from the palette is visible\n * and grabbable (a Container's 200px, a Text's 10px padding). A composed node is never empty and its\n * pattern owns its box, so the composer RELEASES these to the neutral value unless the pattern\n * declares one: the nav bar was 200px tall and every lead line indented 10px (W1's screenshot).\n * - **Behaviour** — what makes the type work: a button's inline-flex centring, a form's column, the 44px\n * touch target, a slide's width, a spacer's height, a list's marker room. Kept.\n * - **Look** — the type's pre-design-system paint, which its element style replaces. Kept (the style\n * writes over it; a type with no style keeps its pre-DS2 look, D5).\n *\n * Saved pages are untouched: this is the composer's rule, never the builder's (a palette drop still\n * gets its 200px). `baseline-roles.spec.ts` fails the moment a config gains a default this table does\n * not classify — so a new default is a decision, not an accident.\n */\nexport enum BaselineRole {\n Layout = 'layout',\n Behaviour = 'behaviour',\n Look = 'look',\n}\n\nconst { Layout, Behaviour, Look } = BaselineRole;\n\nexport const BASELINE_ROLES: Readonly<Record<string, Readonly<Record<string, BaselineRole>>>> = {\n Button: {},\n ButtonBlock: {\n display: Behaviour, justifyContent: Behaviour, alignItems: Behaviour, gap: Behaviour, cursor: Behaviour,\n padding: Look, borderRadius: Look,\n },\n Card: { width: Behaviour, maxWidth: Layout, padding: Look, borderWidth: Look, borderColor: Look, borderRadius: Look, backgroundColor: Look },\n // `width: 100%` (DEFAULT_WIDTH_BY_TYPE) is what lets a block fill its row — a flex child collapses without it.\n Container: { width: Behaviour, minHeight: Layout },\n Heading: { fontSize: Look, fontWeight: Look },\n Text: { width: Behaviour, minHeight: Layout, padding: Layout },\n Image: { width: Behaviour, maxWidth: Layout, aspectRatio: Layout },\n Link: {},\n LinkedContainer: { minHeight: Layout },\n Section: { minHeight: Layout },\n Icon: { lineHeight: Behaviour, fontSize: Behaviour, color: Look },\n Divider: { width: Behaviour, height: Look, margin: Layout, backgroundColor: Look },\n Spacer: { width: Behaviour, height: Behaviour },\n List: { width: Behaviour, padding: Behaviour },\n ListItem: { width: Behaviour },\n Repeater: { width: Behaviour },\n SliderContainer: { width: Behaviour },\n SliderSlide: { width: Behaviour, aspectRatio: Behaviour },\n // The crossfade stacks its frames absolutely: without a box it has no height at all.\n Gallery: { minHeight: Behaviour, backgroundColor: Look },\n Form: { display: Behaviour, flexDirection: Behaviour, gap: Behaviour, width: Behaviour },\n Field: { width: Behaviour },\n FieldGroup: { display: Behaviour, gap: Behaviour, width: Behaviour },\n SubmitButton: {\n display: Behaviour, justifyContent: Behaviour, alignItems: Behaviour, minHeight: Behaviour, cursor: Behaviour,\n color: Look, padding: Look, borderRadius: Look, backgroundColor: Look,\n },\n FormSuccess: { width: Behaviour, color: Look, padding: Look, borderRadius: Look, backgroundColor: Look },\n FormError: { width: Behaviour, color: Look, padding: Look, borderRadius: Look, backgroundColor: Look },\n Dialog: { width: Behaviour, padding: Look, borderRadius: Look, backgroundColor: Look, boxShadow: Look },\n // CC3: a Video fills its column at 16 / 9 — the shape the poster and the player take.\n Video: { width: Behaviour, aspectRatio: Behaviour },\n};\n\n/** The style values a type's constructor sets for an empty palette drop, each mapped to the value the\n * trait saves when nobody sets it — what a composed node of that type starts from. */\nexport function releasedLayoutDefaults(type: string): Record<string, unknown> {\n const roles = BASELINE_ROLES[type] ?? {};\n const out: Record<string, unknown> = {};\n for (const [trait, role] of Object.entries(roles)) {\n if (role === BaselineRole.Layout && trait in (NODE_BASELINES[type]?.styleProps ?? {})) out[trait] = NEUTRAL_STYLE_PROPS[trait];\n }\n return out;\n}\n","import type { DesignChoices } from '@vectoriox/iox-ui/design-core';\n\nimport { SPEC_SITE_FACTS } from './site-spec.generated';\n\n/**\n * The Site Plan (contract `site.planShape`, `SPEC_SITE_PLAN_SHAPE`: every key typed and explained, and the\n * validator reads its key lists from it) — the ONE document the website wizard writes\n * (`source.kind: template`) and the AI agent will write (`source.kind: ai`). One validator, one\n * composer: everything the wizard proves is proven for the agent.\n */\n\nexport const SITE_PLAN_VERSION = '1';\n\nexport enum SitePlanSourceKind {\n Template = 'template',\n Ai = 'ai',\n}\n\nexport type SitePlanSource =\n | { kind: `${SitePlanSourceKind.Template}`; templateId: string; templateVersion: number }\n | { kind: `${SitePlanSourceKind.Ai}`; runId: string };\n\n/** A fact a customer could be held to. Only ever the customer's own words; blank → a placeholder. */\nexport type FactKey = keyof typeof SPEC_SITE_FACTS;\nexport const FACT_KEYS = Object.keys(SPEC_SITE_FACTS) as ReadonlyArray<FactKey>;\n/** The label a missing fact shows, verbatim from the contract. */\nexport const SITE_FACT_LABELS: Readonly<Record<FactKey, string>> = SPEC_SITE_FACTS;\n\nexport interface SiteBusiness {\n readonly name: string;\n readonly tagline?: string;\n readonly facts?: Readonly<Partial<Record<FactKey, string>>>;\n}\n\nexport interface ContentFieldPlan {\n readonly name: string;\n readonly type: string;\n readonly controller: string;\n readonly required?: boolean;\n readonly note?: string;\n}\n\n/** How the content type's sample items are seeded. String values are templates: `{n}` is the item's\n * 1-based number, `{sampleImage:n}` / `{sampleImage:n+k}` a bundled sample image (resolved by the build). */\nexport interface ContentSeedPlan {\n readonly count: number;\n readonly sample: boolean;\n readonly isPublished: boolean;\n readonly [field: string]: unknown;\n}\n\nexport interface ContentTypePlan {\n readonly name: string;\n readonly label: string;\n readonly previewTextField?: string;\n readonly previewImageField?: string;\n readonly fields: ReadonlyArray<ContentFieldPlan>;\n readonly seed?: ContentSeedPlan;\n}\n\nexport enum PlanDataSourceType {\n Cms = 'cms',\n Relative = 'relative',\n}\n\nexport enum PlanDataSourceMode {\n Query = 'query',\n Single = 'single',\n}\n\n/** The relative operations a plan may name, and the shipped `RelativeSourceSpec` each one is. */\nexport enum RelativeOp {\n SiblingsNext = '$siblings.next',\n SiblingsPrev = '$siblings.prev',\n}\n\nexport interface CmsDataSourcePlan {\n readonly alias: string;\n readonly type: `${PlanDataSourceType.Cms}`;\n readonly mode: `${PlanDataSourceMode}`;\n readonly contentType: string;\n readonly limit?: number;\n readonly filterByRouteParam?: { readonly field: string; readonly routeParam: string };\n}\n\nexport interface RelativeDataSourcePlan {\n readonly alias: string;\n readonly type: `${PlanDataSourceType.Relative}`;\n /** The subject: the alias of the current item. */\n readonly of: string;\n readonly op: `${RelativeOp}`;\n /** The collection the subject is located within. */\n readonly within: string;\n}\n\nexport type DataSourcePlan = CmsDataSourcePlan | RelativeDataSourcePlan;\n\nexport interface PageSectionPlan {\n readonly pattern: string;\n readonly slots?: Readonly<Record<string, string>>;\n /** The list source alias a pattern's `$binding` repeater iterates. */\n readonly binding?: string;\n /** Optional pattern parts (`optional: <id>`) to leave out. */\n readonly without?: ReadonlyArray<string>;\n}\n\nexport interface PagePlan {\n readonly key: string;\n readonly name: string;\n readonly route: string;\n readonly isHome?: boolean;\n /** A template page the wizard's Pages step cannot leave out (`planFromTemplate`). */\n readonly required?: boolean;\n /** A Link in the header and footer navigation (`each: $navPages`), in plan order. */\n readonly inNav?: boolean;\n /** A template page: the content type it renders one item of. */\n readonly template?: string;\n /** The single source bound to the route item (`route.*`). */\n readonly routeSource?: string;\n readonly sections: ReadonlyArray<PageSectionPlan>;\n}\n\nexport enum GlobalSlot {\n Header = 'header',\n Footer = 'footer',\n}\n\nexport interface SitePlan {\n readonly version: typeof SITE_PLAN_VERSION;\n readonly source: SitePlanSource;\n readonly business: SiteBusiness;\n readonly design: Readonly<DesignChoices>;\n readonly contentTypes: ReadonlyArray<ContentTypePlan>;\n readonly dataSources: ReadonlyArray<DataSourcePlan>;\n readonly pages: ReadonlyArray<PagePlan>;\n readonly globals: Readonly<Record<`${GlobalSlot}`, string>>;\n}\n","import { SPEC_SITE_PATTERNS } from './site-spec.generated';\n\n/**\n * The pattern library (contract `site.patterns`): structure and element styles only — never a colour,\n * size or font. Each node is written in the contract's short vocabulary:\n *\n * `t` component type · `es` element style · `scheme` section colour scheme · `tag` a Container's html\n * tag · `level` a Heading's level · `lay` layout-only styleProps · `resp` per-breakpoint styleProps ·\n * `aspect` an Image's aspect ratio · `slot` author-editable text, filled from the plan's section slots ·\n * `fromBusiness` text from the plan's business · `text` the pattern's own words (`{year}` and\n * `{business.name}` are filled at compose time) · `ph` a publish-blocking placeholder (a FACT key,\n * `copy` or `image`) · `bind` a binding path on the repeater item (`item.*`), the route item\n * (`route.*`) or its next sibling (`next.*`) — or, on an `each` node, the page it is stamped for\n * (`page.*`, written as plain words) · `alt` an Image's alt binding (default: the bound item's preview\n * text field; `''` = decorative, written empty) · `src` what a Repeater iterates (`$binding`, `route.<array>`) · `each` stamp the node once\n * per page in the navigation (`$navPages`) · `href` a page route (`$page.route` = the stamped page's) ·\n * `param` the value of the route's `:param` · `optional` a part a page may leave out (`without`) ·\n * `preset` a forms-core form preset (its fields, submit and Success/Error words) · `control` / `label` /\n * `required` a Field's · `role` the node's part in its composite (`nav.brand`…) · `c` children · `recipe` a\n * composite-core recipe stamped whole (`card`: Card v2 — its `layout`, the optional `parts` it leaves out, and\n * `binds`, a binding path per part: `image`, `eyebrow`, `title`, `text`; `href` + `param` link the whole card\n * through its title). A header pattern's `phoneMenu` names its phone shape (drawer · bar · both), stamped by\n * `planNavShape` (CC1).\n *\n * CC4b (`pricing.tiers`): `recipe: 'segmented'` stamps a Segmented control (Monthly · Yearly, named by `name`, its own\n * `lay` / `resp`) · `shownWhen` hides a node at base and shows it while the pattern's segmented option of that key is\n * on (the targeted `trigger-on`) · `ph: 'price'` a price the studio types (a publish-blocking placeholder showing its\n * label) · on a card recipe: `words` (title / text / badge), `badge` (the badge's tone) and `icon` (its glyph), `scheme`\n * (the Brand card), and `c` — nodes joining its Content column · `icon` an Icon's glyph · `layer` the node's name in the\n * layer tree.\n */\nexport interface PatternNode {\n readonly t: string;\n readonly es?: string;\n readonly scheme?: string;\n readonly tag?: string;\n readonly level?: string;\n readonly lay?: Readonly<Record<string, string>>;\n readonly resp?: Readonly<Record<string, Readonly<Record<string, string>>>>;\n readonly aspect?: string;\n readonly slot?: string;\n readonly fromBusiness?: string;\n readonly text?: string;\n readonly ph?: string;\n readonly bind?: string;\n readonly alt?: string;\n readonly src?: string;\n readonly each?: string;\n readonly href?: string;\n readonly param?: string;\n readonly optional?: string;\n readonly preset?: string;\n readonly control?: string;\n readonly label?: string;\n readonly required?: boolean;\n /** The node's part in its composite (`nav.brand`, `nav.links`…), written to the node's `role`. */\n readonly role?: string;\n readonly c?: ReadonlyArray<PatternNode>;\n readonly recipe?: string;\n readonly layout?: string;\n readonly parts?: Readonly<Record<string, boolean>>;\n readonly binds?: Readonly<Record<string, string>>;\n /** CC3: a Video's mode — `background` (an uploaded file, a muted loop). */\n readonly video?: string;\n /** CC3: a click on this node opens the pattern's lightbox at the clicked row (`lightbox`). */\n readonly opens?: string;\n /** CC3: a control's accessible name (`ariaLabel`). */\n readonly name?: string;\n /** CC4b: hidden at base, shown while the pattern's Segmented option with this key is on. */\n readonly shownWhen?: string;\n /** CC4b: a card recipe's words (its title, text, badge). */\n readonly words?: Readonly<Record<string, string>>;\n /** CC4b: a card recipe's badge tone (`neutral` · `success` · `warning` · `accent`). */\n readonly badge?: string;\n /** CC4b: an Icon's glyph (`ph ph-check`) — on a card recipe, its badge's glyph. */\n readonly icon?: string;\n /** CC4b: the node's name in the layer tree (`Price · Monthly`). */\n readonly layer?: string;\n}\n\n/** The composite-core recipes a pattern may stamp (`recipe`). */\nexport enum PatternRecipe {\n Card = 'card',\n /** CC2: the Accordion — Manual (three placeholder items), or From content when the section names a list\n * `binding` (`src: '$binding?'`): one template item bound to the type's question / answer fields. */\n Accordion = 'accordion',\n /** CC4a: Tabs — Manual (three placeholder tabs), or From content when the section names a list `binding`: the tab\n * list and the panels are both Repeaters over it, one row giving its tab AND its panel. */\n Tabs = 'tabs',\n /** CC4b: the Segmented control — Monthly · Yearly, named by the pattern (`name`). */\n Segmented = 'segmented',\n /** CC3: the accessible carousel — a named Slider whose controls are parts, one quote per slide (placeholders). */\n Carousel = 'carousel',\n /** CC3: the Lightbox — a Dialog holding a Slider over the node's `src` (the gallery's own source). */\n Lightbox = 'lightbox',\n}\n\n/** A recipe node's `binds` keys → the part each binds (Card v2). */\nexport enum CardBindTarget {\n Image = 'image',\n Eyebrow = 'eyebrow',\n Title = 'title',\n Text = 'text',\n}\n\n/** Every binding path a node reads: its own `bind`, and a recipe's `binds`. */\nexport function nodeBindPaths(node: PatternNode): string[] {\n return [node.bind, ...Object.values(node.binds ?? {})].filter((p): p is string => !!p);\n}\n\nexport enum PatternGlobalPosition {\n Before = 'before',\n After = 'after',\n}\n\nexport interface SitePattern {\n readonly family: string;\n readonly label: string;\n /** Set on a header/footer pattern: it renders on every page, before or after the page. */\n readonly global?: `${PatternGlobalPosition}`;\n /** A navigation pattern's phone shape (CC1): `planNavShape` adds it after the pattern is stamped. */\n readonly phoneMenu?: 'drawer' | 'bar' | 'both';\n readonly node: PatternNode;\n}\n\nexport const SITE_PATTERNS: Readonly<Record<string, SitePattern>> = SPEC_SITE_PATTERNS;\n\n/** The pattern placeholder kinds that are not FACT keys. */\nexport enum PatternPlaceholder {\n Copy = 'copy',\n Image = 'image',\n /** CC3: a clip the studio uploads (a Video's file): the poster blank until then, publish-blocking. */\n Video = 'video',\n /** CC4b (Q37): a price the studio types — free text, publish-blocking, its label shown meanwhile, never a number. */\n Price = 'price',\n}\n\n/** CC3: what an `opens` node opens. */\nexport enum PatternOpens {\n Lightbox = 'lightbox',\n}\n\n/** The composer directives a pattern writes where a plan supplies the value. */\nexport enum PatternDirective {\n /** A Repeater's source: the section's `binding`. */\n Binding = '$binding',\n /** The section MAY name a list `binding` (faq.accordion): with one, the recipe's items come from it. */\n OptionalBinding = '$binding?',\n /** `each`: one plain node per page of the plan that is in the navigation (`inNav`), in plan order —\n * words and routes written in, editable on the canvas (W1.1). */\n NavPages = '$navPages',\n /** A Link's route: the route of the page an `each` node is stamped for. */\n PageRoute = '$page.route',\n}\n\n/** The scopes a `bind` / `param` / `src` path starts with. */\nexport enum BindScope {\n /** The nearest Repeater's row. */\n Item = 'item',\n /** The page an `each: $navPages` node is stamped for — resolved to plain words, never a binding. */\n Page = 'page',\n /** The page's route item (`routeSource`). */\n Route = 'route',\n /** The route item's next sibling (the plan's `$siblings.next` source of the route item). */\n Next = 'next',\n}\n\nexport function patternById(id: string | null | undefined): SitePattern | undefined {\n return id && Object.prototype.hasOwnProperty.call(SITE_PATTERNS, id) ? SITE_PATTERNS[id] : undefined;\n}\n\nfunction walk(node: PatternNode, visit: (n: PatternNode) => void): void {\n visit(node);\n for (const child of node.c ?? []) walk(child, visit);\n}\n\n/** Every node of a pattern, depth first. */\nexport function patternNodes(pattern: SitePattern): PatternNode[] {\n const out: PatternNode[] = [];\n walk(pattern.node, n => out.push(n));\n return out;\n}\n\n/** The slot names a plan section may fill. */\nexport function patternSlots(pattern: SitePattern): string[] {\n return [...new Set(patternNodes(pattern).map(n => n.slot).filter((s): s is string => !!s))];\n}\n\n/** The optional parts a plan section may leave out. */\nexport function patternOptionalParts(pattern: SitePattern): string[] {\n return [...new Set(patternNodes(pattern).map(n => n.optional).filter((s): s is string => !!s))];\n}\n\n/** True when the pattern has a Repeater iterating the section's `binding`. */\nexport function patternNeedsBinding(pattern: SitePattern): boolean {\n return patternNodes(pattern).some(n => n.src === PatternDirective.Binding);\n}\n\n/** True when the pattern may take a section `binding` — it needs one, or names `$binding?` (CC2). */\nexport function patternTakesBinding(pattern: SitePattern): boolean {\n return patternNeedsBinding(pattern) || patternNodes(pattern).some(n => n.src === PatternDirective.OptionalBinding);\n}\n\nconst IMAGE_TYPE = 'Image';\n\n/** The scopes whose ITEM a pattern's bound Images take their alt text from (an Image that names no `alt`\n * of its own): `item` (the row of a `$binding` Repeater — the section's list), `route` or `next`. Each\n * needs a content type with a `previewTextField` (W1.1, Q7). */\nexport function altSourceScopes(pattern: SitePattern): Set<string> {\n const scopes = new Set<string>();\n const visit = (n: PatternNode) => {\n if (n.t === IMAGE_TYPE && n.bind && n.alt === undefined) scopes.add(n.bind.split('.')[0]);\n // A Card v2's bound image takes its alt from the same item.\n const cardImage = n.recipe === PatternRecipe.Card ? n.binds?.[CardBindTarget.Image] : undefined;\n if (cardImage) scopes.add(cardImage.split('.')[0]);\n for (const child of n.c ?? []) visit(child);\n };\n visit(pattern.node);\n return scopes;\n}\n\n/** The bind scopes a pattern reads (`route`, `next`, …) — what its page must provide. */\nexport function patternScopes(pattern: SitePattern): Set<string> {\n const scopes = new Set<string>();\n for (const n of patternNodes(pattern)) {\n for (const path of [...nodeBindPaths(n), n.alt, n.param, n.src]) {\n if (path && !path.startsWith('$')) scopes.add(path.split('.')[0]);\n }\n }\n return scopes;\n}\n","import type { DesignChoices } from '@vectoriox/iox-ui/design-core';\n\nimport { ContentTypePlan, DataSourcePlan, GlobalSlot, PagePlan, SiteBusiness, SitePlan, SitePlanSourceKind, SITE_PLAN_VERSION } from './site-plan.model';\nimport { SPEC_SITE_TEMPLATES } from './site-spec.generated';\n\n/** A site structure the wizard offers (contract `site.templates`). A template is a Site Plan without the\n * customer's part — the business and the look — which `planFromTemplate` adds. */\nexport interface SiteTemplate {\n readonly id: string;\n readonly version: number;\n readonly label: string;\n readonly blurb: string;\n readonly bestFor: ReadonlyArray<string>;\n readonly contentTypes: ReadonlyArray<ContentTypePlan>;\n readonly dataSources: ReadonlyArray<DataSourcePlan>;\n readonly pages: ReadonlyArray<PagePlan>;\n readonly globals: Readonly<Record<`${GlobalSlot}`, string>>;\n}\n\nexport const SITE_TEMPLATES: Readonly<Record<string, SiteTemplate>> = SPEC_SITE_TEMPLATES;\n\nexport enum SiteTemplateId {\n Studio = 'studio',\n}\n\nexport const STUDIO_TEMPLATE: SiteTemplate = SITE_TEMPLATES[SiteTemplateId.Studio];\n\nexport interface TemplatePlanInput {\n business: SiteBusiness;\n design: DesignChoices;\n /** Keys of the template's OPTIONAL pages to leave out (the wizard's Pages step). */\n omitPages?: ReadonlyArray<string>;\n}\n\nexport class SiteTemplateError extends Error {}\n\nconst clone = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\n/**\n * The template as a Site Plan (`source.kind: template`), with the customer's business and look. A\n * required page cannot be left out, and an unknown key is refused — nothing is guessed.\n */\nexport function planFromTemplate(template: SiteTemplate, input: TemplatePlanInput): SitePlan {\n const omit = new Set(input.omitPages ?? []);\n for (const key of omit) {\n const page = template.pages.find(p => p.key === key);\n if (!page) throw new SiteTemplateError(`template ${template.id} has no page \"${key}\"`);\n if (page.required) throw new SiteTemplateError(`page \"${key}\" of template ${template.id} is required`);\n }\n return {\n version: SITE_PLAN_VERSION,\n source: { kind: SitePlanSourceKind.Template, templateId: template.id, templateVersion: template.version },\n business: clone(input.business),\n design: clone(input.design),\n contentTypes: clone(template.contentTypes),\n dataSources: clone(template.dataSources),\n pages: clone(template.pages.filter(p => !omit.has(p.key))),\n globals: clone(template.globals),\n };\n}\n","import { applyElementStyle, defaultElementStyleFor, elementStyleById, NEW_NODE_STYLE_DEFAULTS, ownedTraitsOf } from '@vectoriox/iox-ui/design-core';\n\nimport { releasedLayoutDefaults } from './baseline-roles';\nimport { NODE_BASELINES } from './node-baselines.generated';\nimport { PatternGlobalPosition } from './patterns';\n\n/**\n * A node exactly as a saved page layout stores it (the builder serializer's shape): flat `props` and\n * a FULL `styleProps` (self-describing — render-parity.md, task 10), the element style's pseudo-states,\n * sparse per-breakpoint overrides and the bindings. What the composer emits; what the builder reloads\n * and the engine renders, unchanged.\n */\nexport interface SerializedBinding {\n prop: string;\n source: string;\n path: string;\n}\n\nexport type SerializedResponsive = Partial<Record<string, { styleProps?: Record<string, unknown> }>>;\n\nexport interface SerializedNode {\n id: string;\n type: string;\n label?: string;\n props: Record<string, unknown>;\n styleProps: Record<string, unknown>;\n stateStyles?: Partial<Record<string, Record<string, unknown>>>;\n responsive?: SerializedResponsive;\n elementStyle?: string;\n /** The part this node plays in a composite (composite-core: `card.title`; a navigation's `nav.drawer`,\n * written by `planNavShape`). Additive; a node without one is a plain node. */\n role?: string;\n /** An item's identity inside its composite (CC2: an Accordion item's `k1`…). Additive. */\n itemKey?: string;\n /** A targeted state's driving node (CC2: an icon's `trigger-on` → its item). */\n stateTriggers?: Partial<Record<string, string>>;\n bindings: SerializedBinding[];\n interactions: unknown[];\n isGlobal?: boolean;\n globalPosition?: `${PatternGlobalPosition}`;\n children?: SerializedNode[];\n}\n\n/** A pattern the composer cannot stamp as the builder would (an unregistered type, a trait the type has\n * no slot for, a style that does not apply). The plan is validated first, so this means the CONTRACT is\n * wrong — never something to work around. */\nexport class ComposeError extends Error {}\n\nconst clone = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\nexport interface CreateNodeOptions {\n /** The composer's rule (W1.1): the type's empty-drop sizes (`BaselineRole.Layout`) start neutral, so\n * the PATTERN owns the box. The builder never does this — a palette drop keeps its 200px. */\n releaseLayoutDefaults?: boolean;\n}\n\n/**\n * A NEW node of `type`, as the builder creates one (ComponentRegistryService.createConfig, serialized):\n * the type's constructor defaults, its text colour released to `inherit` (NEW_NODE_STYLE_DEFAULTS), then\n * ONE element style — `elementStyle` when given, else the type's default for its props (a Heading\n * follows its level). `props` are applied before the style is chosen. With `releaseLayoutDefaults` the\n * constructor's layout sizes are released first, so an element style that owns one still writes it.\n */\nexport function createSerializedNode(\n id: string, type: string, props: Record<string, unknown> = {}, elementStyle?: string | null, options: CreateNodeOptions = {},\n): SerializedNode {\n const baseline = NODE_BASELINES[type];\n if (!baseline) throw new ComposeError(`\"${type}\" is not a registered component type`);\n const node: SerializedNode = {\n id,\n type,\n props: { ...clone(baseline.props), ...props },\n styleProps: clone(baseline.styleProps) as Record<string, unknown>,\n bindings: [],\n interactions: [],\n };\n if (options.releaseLayoutDefaults) Object.assign(node.styleProps, releasedLayoutDefaults(type));\n for (const [name, value] of Object.entries(NEW_NODE_STYLE_DEFAULTS)) if (name in node.styleProps) node.styleProps[name] = value;\n const styleId = elementStyle ?? defaultElementStyleFor(type, node.props);\n if (styleId) {\n const style = elementStyleById(styleId);\n if (!style?.appliesTo.includes(type)) throw new ComposeError(`element style \"${styleId}\" does not apply to ${type}`);\n const missing = ownedTraitsOf(style).filter(o => !o.state && !baseline.styleTraits.includes(o.trait));\n if (missing.length) throw new ComposeError(`${type} has no slot for ${styleId}'s ${missing.map(o => o.trait).join(', ')}`);\n applyElementStyle(node, styleId);\n }\n if (baseline.container) node.children = [];\n return node;\n}\n\n/** Refuse a style trait the type has no slot for — the builder would silently drop it. */\nexport function assertStyleSlots(type: string, names: ReadonlyArray<string>): void {\n const slots = NODE_BASELINES[type]?.styleTraits ?? [];\n for (const name of names) if (!slots.includes(name)) throw new ComposeError(`${type} has no style trait \"${name}\"`);\n}\n\n/** Write style traits onto a node (each one a slot the type has). */\nexport function setStyleProps(node: SerializedNode, values: Readonly<Record<string, unknown>>): void {\n assertStyleSlots(node.type, Object.keys(values));\n for (const [name, value] of Object.entries(values)) node.styleProps[name] = value;\n}\n\n/** Every node of a tree, depth first. */\nexport function walkSerialized(nodes: ReadonlyArray<SerializedNode>, visit: (node: SerializedNode, ancestors: SerializedNode[]) => void, ancestors: SerializedNode[] = []): void {\n for (const node of nodes) {\n visit(node, ancestors);\n if (node.children?.length) walkSerialized(node.children, visit, [...ancestors, node]);\n }\n}\n","/**\n * The ONE way a framework-free gate refuses a document \"with a path, never repairs\" (W1's site-plan gate, the\n * harness's analysis gate): a documented shape table (key → type text; `key?` optional, `[name]` the object's\n * own field names) whose key lists the gate READS — so the shape a model is told about is the shape refused —\n * and a collector that records each refusal at its dotted path. Generic over each gate's issue-code enum.\n */\n\nexport type ShapeEntry = Readonly<Record<string, string>>;\nexport type PlainObject = Record<string, unknown>;\n\nconst OPTIONAL_MARK = '?';\nconst DYNAMIC_KEY = /^\\[[^\\]]+\\]\\??$/;\nconst isDynamic = (key: string) => DYNAMIC_KEY.test(key);\n\n/** Every fixed key an object of the shape may carry. */\nexport function shapeKeys(entry: ShapeEntry): string[] {\n return Object.keys(entry).filter(k => !isDynamic(k)).map(k => (k.endsWith(OPTIONAL_MARK) ? k.slice(0, -1) : k));\n}\n\n/** The keys an object of the shape must carry. */\nexport function requiredShapeKeys(entry: ShapeEntry): string[] {\n return Object.keys(entry).filter(k => !isDynamic(k) && !k.endsWith(OPTIONAL_MARK));\n}\n\nexport const isPlainObject = (v: unknown): v is PlainObject => !!v && typeof v === 'object' && !Array.isArray(v);\nexport const isNonEmptyString = (v: unknown): v is string => typeof v === 'string' && v.trim() !== '';\n/** `path.key`, or `key` at the root. */\nexport const pathAt = (path: string, key: string) => (path ? `${path}.${key}` : key);\n\nexport interface PathIssue<C extends string> {\n code: C;\n /** Where, as a dotted path into the document (`pages[2].sections[0].binding`). */\n path: string;\n message: string;\n}\n\n/** The three refusals every shape gate shares, named in that gate's own code enum. */\nexport interface ShapeIssueCodes<C extends string> {\n /** A value of the wrong type, or a required value missing. */\n shape: C;\n /** A key the shape does not have. */\n unknownKey: C;\n /** A name used twice where it must be unique. */\n duplicate: C;\n}\n\nexport class PathIssueCollector<C extends string> {\n readonly issues: PathIssue<C>[] = [];\n\n /** `subject` names the document in a refusal (\"… is not part of the plan shape\"). */\n constructor(private readonly subject: string, private readonly codes: ShapeIssueCodes<C>) {}\n\n add(code: C, path: string, message: string): void {\n this.issues.push({ code, path, message });\n }\n\n keys(obj: PlainObject, allowed: ReadonlyArray<string>, path: string): void {\n for (const key of Object.keys(obj)) if (!allowed.includes(key)) this.add(this.codes.unknownKey, pathAt(path, key), `\"${key}\" is not part of the ${this.subject} shape`);\n }\n\n string(obj: PlainObject, key: string, path: string, required = true): string | null {\n const v = obj[key];\n if (v === undefined && !required) return null;\n if (!isNonEmptyString(v)) {\n this.add(this.codes.shape, pathAt(path, key), 'must be a non-empty string');\n return null;\n }\n return v;\n }\n\n boolean(obj: PlainObject, key: string, path: string): void {\n if (obj[key] !== undefined && typeof obj[key] !== 'boolean') this.add(this.codes.shape, pathAt(path, key), 'must be a boolean');\n }\n\n array(obj: PlainObject, key: string, path: string): unknown[] {\n const v = obj[key];\n if (!Array.isArray(v)) {\n this.add(this.codes.shape, pathAt(path, key), 'must be an array');\n return [];\n }\n return v;\n }\n\n unique(values: Array<string | null>, path: (i: number) => string, what: string): void {\n const seen = new Set<string>();\n values.forEach((v, i) => {\n if (v === null) return;\n if (seen.has(v)) this.add(this.codes.duplicate, path(i), `${what} \"${v}\" is used twice`);\n seen.add(v);\n });\n }\n}\n","import { requiredShapeKeys, ShapeEntry, shapeKeys } from './shape-check';\n\n/**\n * The ONE set of builders every structured-output format is written with (AI plan §3c, M0-5 / M1-1 / M1-3 / M1-5):\n * the SiteAnalysis, the reading, the Site Plan and the plan edits. Each object is built FROM a documented shape table\n * (`shape-check`): its keys are the table's keys, the required ones are the table's required ones, each described in\n * the table's own words — and a builder handed a key list that disagrees with its table THROWS, so a shape that gains\n * a key cannot ship a format that silently lacks it. The subset is the strictest both providers' native strict modes\n * accept (Anthropic `output_config.format`, OpenRouter `json_schema` + `strict`): every object closed\n * (`additionalProperties: false`), unions as `anyOf`, single values as a one-entry `enum`, no length / count / number\n * bounds, no `$ref`. The format is a hint the provider enforces; the shared validator stays the gate.\n */\n\nexport type JsonSchema = { [key: string]: unknown };\n\nconst OPTIONAL_MARK = '?';\n\nexport class JsonSchemaShapeError extends Error {}\n\nexport const jsonText = (): JsonSchema => ({ type: 'string' });\nexport const jsonBoolean = (): JsonSchema => ({ type: 'boolean' });\nexport const jsonInteger = (): JsonSchema => ({ type: 'integer' });\nexport const jsonOneOf = (values: ReadonlyArray<string>): JsonSchema => ({ type: 'string', enum: [...values] });\nexport const jsonListOf = (items: JsonSchema): JsonSchema => ({ type: 'array', items });\nexport const jsonAnyOf = (options: ReadonlyArray<JsonSchema>): JsonSchema => ({ anyOf: [...options] });\n\n/** A closed object with exactly these properties. */\nexport function jsonClosedObject(properties: Record<string, JsonSchema>, required: ReadonlyArray<string>, description?: string): JsonSchema {\n return {\n type: 'object',\n properties,\n required: [...required],\n additionalProperties: false,\n ...(description ? { description } : {}),\n };\n}\n\n/** The table's own words for a key (`key` or `key?`). */\nexport function describeShapeKey(entry: ShapeEntry, key: string): string {\n return String(entry[key] ?? entry[`${key}${OPTIONAL_MARK}`] ?? '');\n}\n\n/** An entry's `[name]` keys (the object's own field names) written as ONE list on the wire — no strict mode can say\n * \"any key\", so the map travels as `[{ name, value }]` under `key` and the decoder turns it back. */\nexport interface DynamicKeysAsList {\n /** The wire key holding the list. */\n key: string;\n /** The list's schema. */\n schema: JsonSchema;\n}\n\n/**\n * An object of one shape-table entry: exactly its fixed keys, its required keys required, each described by the\n * table; an entry's `[name]` keys are not object keys — `dynamic` writes them as one list. Throws when the properties\n * given are not the table's keys.\n */\nexport function jsonShapedObject(entry: ShapeEntry, properties: Record<string, JsonSchema>, name = 'shape', dynamic?: DynamicKeysAsList): JsonSchema {\n const expected = [...shapeKeys(entry)].sort();\n const given = Object.keys(properties).sort();\n if (expected.join() !== given.join()) {\n throw new JsonSchemaShapeError(`${name}: the format's keys (${given.join(', ')}) are not the shape table's (${expected.join(', ')})`);\n }\n const dynamicKey = Object.keys(entry).find(k => /^\\[[^\\]]+\\]\\??$/.test(k));\n if (!!dynamic !== !!dynamicKey) throw new JsonSchemaShapeError(`${name}: ${dynamicKey ? `its ${dynamicKey} keys need a list on the wire` : 'it has no [name] keys to list'}`);\n const described = Object.fromEntries(Object.entries(properties).map(([key, schema]) => [key, { ...schema, description: describeShapeKey(entry, key) }]));\n if (dynamic && dynamicKey) described[dynamic.key] = { ...dynamic.schema, description: `${dynamicKey}: ${entry[dynamicKey]}` };\n return jsonClosedObject(described, requiredShapeKeys(entry));\n}\n\n/** Every keyword a schema uses — what a spec checks against the strict subset. */\nexport function jsonSchemaKeywords(node: unknown, out = new Set<string>()): Set<string> {\n if (Array.isArray(node)) node.forEach(n => jsonSchemaKeywords(n, out));\n else if (node && typeof node === 'object') {\n for (const [k, v] of Object.entries(node)) {\n out.add(k);\n if (k === 'properties') Object.values(v as object).forEach(p => jsonSchemaKeywords(p, out));\n else if (k !== 'enum' && k !== 'required' && k !== 'description') jsonSchemaKeywords(v, out);\n }\n }\n return out;\n}\n\n/** The keywords the strict subset never uses. */\nexport const JSON_SCHEMA_BANNED_KEYWORDS: ReadonlyArray<string> = [\n 'minLength', 'maxLength', 'minimum', 'maximum', 'minItems', 'maxItems', 'pattern', 'oneOf', '$ref', 'const', 'format',\n];\n\n/** Every object node of a schema (through properties, items and anyOf). */\nexport function jsonSchemaObjects(node: unknown, out: JsonSchema[] = []): JsonSchema[] {\n if (!node || typeof node !== 'object') return out;\n const n = node as JsonSchema;\n if (n['type'] === 'object') out.push(n);\n for (const p of Object.values((n['properties'] as object | undefined) ?? {})) jsonSchemaObjects(p, out);\n if (n['items']) jsonSchemaObjects(n['items'], out);\n for (const option of (n['anyOf'] as unknown[] | undefined) ?? []) jsonSchemaObjects(option, out);\n return out;\n}\n","import { flavorPackById, parseHexColor, SPEC_AXES } from '@vectoriox/iox-ui/design-core';\n\nimport {\n altSourceScopes, BindScope, patternById, patternNeedsBinding, patternOptionalParts, patternTakesBinding, patternScopes, patternSlots, PatternGlobalPosition,\n} from './patterns';\nimport {\n FACT_KEYS, GlobalSlot, PlanDataSourceMode, PlanDataSourceType, RelativeOp, SitePlanSourceKind, SITE_PLAN_VERSION,\n} from './site-plan.model';\nimport { SPEC_SITE_PLAN_SHAPE } from './site-spec.generated';\nimport {\n isNonEmptyString, isPlainObject as isObject, PathIssue, PathIssueCollector, pathAt as at, PlainObject as Obj, requiredShapeKeys, ShapeEntry, shapeKeys,\n} from './shape-check';\n\n/**\n * The Site Plan validator — the gate in front of the composer. The wizard's plan and (later) the AI's\n * plan go through the SAME checks: an unknown pattern, a slot the pattern does not declare, a source\n * that does not exist, a page whose route item cannot be resolved — all refused, with a path, before a\n * single page is written. It never repairs: a model gets the issues back and rewrites.\n */\n\nexport enum SitePlanIssueCode {\n /** A value of the wrong type, or a required value missing. */\n Shape = 'shape',\n /** A key the plan shape does not have. */\n UnknownKey = 'unknown-key',\n Version = 'version',\n UnknownFlavor = 'unknown-flavor',\n InvalidDesign = 'invalid-design',\n MissingBusinessName = 'missing-business-name',\n UnknownFact = 'unknown-fact',\n Duplicate = 'duplicate',\n ReservedAlias = 'reserved-alias',\n UnknownContentType = 'unknown-content-type',\n UnknownField = 'unknown-field',\n UnknownDataSource = 'unknown-data-source',\n InvalidDataSource = 'invalid-data-source',\n InvalidRoute = 'invalid-route',\n Home = 'home',\n RouteSource = 'route-source',\n UnknownPattern = 'unknown-pattern',\n GlobalPattern = 'global-pattern',\n UnknownSlot = 'unknown-slot',\n UnknownOptionalPart = 'unknown-optional-part',\n Binding = 'binding',\n MissingScope = 'missing-scope',\n /** A pattern binds an item's image, and the item's content type names no `previewTextField` to be\n * its alt text. */\n MissingPreviewField = 'missing-preview-field',\n}\n\nexport type SitePlanIssue = PathIssue<SitePlanIssueCode>;\n\nexport interface SitePlanValidation {\n valid: boolean;\n issues: SitePlanIssue[];\n}\n\nexport class SitePlanError extends Error {\n constructor(readonly issues: ReadonlyArray<SitePlanIssue>) {\n super(`invalid site plan: ${issues.map(i => `${i.path}: ${i.message}`).join('; ')}`);\n }\n}\n\n/** Route-scope aliases (`$route`, `$current`, …) are platform-owned. */\nconst RESERVED_PREFIX = '$';\nconst ID_FIELD = '_id';\n\n/** The documented plan shape (contract `site.planShape`): its key lists are READ (`shape-check`), so a key\n * the plan documents is a key the gate validates — and an undocumented one is refused. */\nconst SHAPE: Readonly<Record<string, ShapeEntry>> = SPEC_SITE_PLAN_SHAPE;\nconst PLAN_KEYS = shapeKeys(SHAPE['plan']);\nconst TEMPLATE_SOURCE_KEYS = shapeKeys(SHAPE['sourceTemplate']);\nconst AI_SOURCE_KEYS = shapeKeys(SHAPE['sourceAi']);\nconst BUSINESS_KEYS = shapeKeys(SHAPE['business']);\nconst DESIGN_REQUIRED = requiredShapeKeys(SHAPE['design']);\nconst DESIGN_KEYS = shapeKeys(SHAPE['design']);\nconst CONTENT_TYPE_KEYS = shapeKeys(SHAPE['contentType']);\nconst FIELD_KEYS = shapeKeys(SHAPE['field']);\nconst SEED_FIXED_KEYS = shapeKeys(SHAPE['seed']);\nconst CMS_SOURCE_KEYS = shapeKeys(SHAPE['cmsDataSource']);\nconst RELATIVE_SOURCE_KEYS = shapeKeys(SHAPE['relativeDataSource']);\nconst PAGE_KEYS = shapeKeys(SHAPE['page']);\nconst SECTION_KEYS = shapeKeys(SHAPE['section']);\nconst GLOBAL_POSITION: Readonly<Record<`${GlobalSlot}`, `${PatternGlobalPosition}`>> = {\n [GlobalSlot.Header]: PatternGlobalPosition.Before,\n [GlobalSlot.Footer]: PatternGlobalPosition.After,\n};\nconst ROUTE = /^\\/(?:(?:[a-z0-9]+(?:-[a-z0-9]+)*|:[a-zA-Z_][a-zA-Z0-9_]*)(?:\\/(?:[a-z0-9]+(?:-[a-z0-9]+)*|:[a-zA-Z_][a-zA-Z0-9_]*))*)?$/;\nconst ROUTE_PARAM = /:([a-zA-Z_][a-zA-Z0-9_]*)/g;\n\nconst has = (table: object, key: string) => Object.prototype.hasOwnProperty.call(table, key);\n\n/** The `:param` names of a route, in order. */\nexport function routeParams(route: string): string[] {\n return [...route.matchAll(ROUTE_PARAM)].map(m => m[1]);\n}\n\nclass Collector extends PathIssueCollector<SitePlanIssueCode> {\n constructor() {\n super('plan', { shape: SitePlanIssueCode.Shape, unknownKey: SitePlanIssueCode.UnknownKey, duplicate: SitePlanIssueCode.Duplicate });\n }\n}\n\nfunction validateSource(c: Collector, source: unknown): void {\n if (!isObject(source)) return c.add(SitePlanIssueCode.Shape, 'source', 'must be an object');\n if (source['kind'] === SitePlanSourceKind.Template) {\n c.keys(source, TEMPLATE_SOURCE_KEYS, 'source');\n c.string(source, 'templateId', 'source');\n if (!Number.isInteger(source['templateVersion'])) c.add(SitePlanIssueCode.Shape, 'source.templateVersion', 'must be an integer');\n } else if (source['kind'] === SitePlanSourceKind.Ai) {\n c.keys(source, AI_SOURCE_KEYS, 'source');\n c.string(source, 'runId', 'source');\n } else {\n c.add(SitePlanIssueCode.Shape, 'source.kind', `must be \"${SitePlanSourceKind.Template}\" or \"${SitePlanSourceKind.Ai}\"`);\n }\n}\n\nfunction validateBusiness(c: Collector, business: unknown): void {\n if (!isObject(business)) return c.add(SitePlanIssueCode.Shape, 'business', 'must be an object');\n c.keys(business, BUSINESS_KEYS, 'business');\n if (!isNonEmptyString(business['name'])) c.add(SitePlanIssueCode.MissingBusinessName, 'business.name', 'the business name is required');\n if (business['tagline'] !== undefined && typeof business['tagline'] !== 'string') c.add(SitePlanIssueCode.Shape, 'business.tagline', 'must be a string');\n const facts = business['facts'];\n if (facts === undefined) return;\n if (!isObject(facts)) return c.add(SitePlanIssueCode.Shape, 'business.facts', 'must be an object');\n for (const [key, value] of Object.entries(facts)) {\n if (!(FACT_KEYS as ReadonlyArray<string>).includes(key)) c.add(SitePlanIssueCode.UnknownFact, `business.facts.${key}`, `\"${key}\" is not a fact (${FACT_KEYS.join(', ')})`);\n else if (typeof value !== 'string') c.add(SitePlanIssueCode.Shape, `business.facts.${key}`, 'must be a string');\n }\n}\n\nfunction validateDesign(c: Collector, design: unknown): void {\n if (!isObject(design)) return c.add(SitePlanIssueCode.Shape, 'design', 'must be an object');\n c.keys(design, DESIGN_KEYS, 'design');\n for (const key of DESIGN_REQUIRED) if (design[key] === undefined) c.add(SitePlanIssueCode.Shape, `design.${key}`, 'is required');\n const pack = flavorPackById(typeof design['flavorId'] === 'string' ? design['flavorId'] : null);\n if (design['flavorId'] !== undefined && (!pack || pack.id !== design['flavorId'])) {\n c.add(SitePlanIssueCode.UnknownFlavor, 'design.flavorId', `\"${String(design['flavorId'])}\" is not a flavor`);\n }\n const bad = (key: string, why: string) => c.add(SitePlanIssueCode.InvalidDesign, `design.${key}`, why);\n if (design['seed'] !== undefined && (typeof design['seed'] !== 'string' || !parseHexColor(design['seed']))) bad('seed', 'must be a #rrggbb colour');\n if (design['pairId'] !== undefined && pack && !pack.pairs.some(p => p.id === design['pairId'])) bad('pairId', `is not a font pairing of ${pack.id}`);\n const axis = (key: string, table: object) => {\n if (design[key] !== undefined && (typeof design[key] !== 'string' || !has(table, design[key] as string))) bad(key, `must be one of ${Object.keys(table).join(', ')}`);\n };\n axis('shape', SPEC_AXES.shapes);\n axis('density', SPEC_AXES.densities);\n axis('motion', SPEC_AXES.motions);\n axis('tint', SPEC_AXES.tints);\n axis('scroll', SPEC_AXES.scrolls);\n axis('animate', SPEC_AXES.animations);\n axis('between', SPEC_AXES.betweens);\n if (design['mode'] !== undefined && !(SPEC_AXES.modes as ReadonlyArray<unknown>).includes(design['mode'])) bad('mode', `must be one of ${SPEC_AXES.modes.join(', ')}`);\n if (design['pillButtons'] !== undefined && typeof design['pillButtons'] !== 'boolean') bad('pillButtons', 'must be a boolean');\n if (design['fonts'] !== undefined && !isObject(design['fonts'])) bad('fonts', 'must be an object');\n}\n\ninterface ContentTypeInfo { fields: Set<string>; previewTextField?: string; }\n\nfunction validateContentTypes(c: Collector, list: unknown[]): Map<string, ContentTypeInfo> {\n const types = new Map<string, ContentTypeInfo>();\n list.forEach((raw, i) => {\n const path = `contentTypes[${i}]`;\n if (!isObject(raw)) return c.add(SitePlanIssueCode.Shape, path, 'must be an object');\n c.keys(raw, CONTENT_TYPE_KEYS, path);\n const name = c.string(raw, 'name', path);\n c.string(raw, 'label', path);\n const fields = c.array(raw, 'fields', path);\n const names: Array<string | null> = fields.map((f, j) => {\n const fp = `${path}.fields[${j}]`;\n if (!isObject(f)) { c.add(SitePlanIssueCode.Shape, fp, 'must be an object'); return null; }\n c.keys(f, FIELD_KEYS, fp);\n c.string(f, 'type', fp);\n c.string(f, 'controller', fp);\n c.boolean(f, 'required', fp);\n return c.string(f, 'name', fp);\n });\n c.unique(names, j => `${path}.fields[${j}].name`, 'field');\n const fieldSet = new Set(names.filter((n): n is string => !!n));\n const preview: Record<string, string | null> = {};\n for (const key of ['previewTextField', 'previewImageField']) {\n const v = c.string(raw, key, path, false);\n if (v && !fieldSet.has(v)) c.add(SitePlanIssueCode.UnknownField, `${path}.${key}`, `\"${v}\" is not a field of ${name}`);\n preview[key] = v && fieldSet.has(v) ? v : null;\n }\n const seed = raw['seed'];\n if (seed !== undefined) {\n if (!isObject(seed)) c.add(SitePlanIssueCode.Shape, `${path}.seed`, 'must be an object');\n else {\n if (!Number.isInteger(seed['count']) || (seed['count'] as number) < 0) c.add(SitePlanIssueCode.Shape, `${path}.seed.count`, 'must be a whole number');\n for (const key of ['sample', 'isPublished']) if (typeof seed[key] !== 'boolean') c.add(SitePlanIssueCode.Shape, `${path}.seed.${key}`, 'must be a boolean');\n for (const key of Object.keys(seed)) {\n if (!SEED_FIXED_KEYS.includes(key) && !fieldSet.has(key)) c.add(SitePlanIssueCode.UnknownField, `${path}.seed.${key}`, `\"${key}\" is not a field of ${name}`);\n }\n }\n }\n if (name && types.has(name)) c.add(SitePlanIssueCode.Duplicate, `${path}.name`, `content type \"${name}\" is used twice`);\n else if (name) types.set(name, { fields: fieldSet, previewTextField: preview['previewTextField'] ?? undefined });\n });\n return types;\n}\n\ninterface SourceInfo { type: string; mode?: string; contentType?: string; routeParam?: string; of?: string; op?: string; }\n\nfunction validateDataSources(c: Collector, list: unknown[], types: Map<string, ContentTypeInfo>): Map<string, SourceInfo> {\n const sources = new Map<string, SourceInfo>();\n list.forEach((raw, i) => {\n const path = `dataSources[${i}]`;\n if (!isObject(raw)) return c.add(SitePlanIssueCode.Shape, path, 'must be an object');\n const alias = c.string(raw, 'alias', path);\n if (alias && alias.startsWith(RESERVED_PREFIX)) {\n c.add(SitePlanIssueCode.ReservedAlias, `${path}.alias`, `\"${alias}\" is reserved for the platform`);\n }\n if (raw['type'] === PlanDataSourceType.Cms) {\n c.keys(raw, CMS_SOURCE_KEYS, path);\n const mode = raw['mode'];\n if (mode !== PlanDataSourceMode.Query && mode !== PlanDataSourceMode.Single) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.mode`, `must be \"${PlanDataSourceMode.Query}\" or \"${PlanDataSourceMode.Single}\"`);\n const contentType = c.string(raw, 'contentType', path);\n const type = contentType ? types.get(contentType) : undefined;\n if (contentType && !type) c.add(SitePlanIssueCode.UnknownContentType, `${path}.contentType`, `no content type \"${contentType}\" in the plan`);\n if (raw['limit'] !== undefined && (!Number.isInteger(raw['limit']) || (raw['limit'] as number) < 1)) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.limit`, 'must be a positive whole number');\n let routeParam: string | undefined;\n const byRoute = raw['filterByRouteParam'];\n if (byRoute !== undefined) {\n if (!isObject(byRoute)) c.add(SitePlanIssueCode.Shape, `${path}.filterByRouteParam`, 'must be an object');\n else {\n c.keys(byRoute, ['field', 'routeParam'], `${path}.filterByRouteParam`);\n const field = c.string(byRoute, 'field', `${path}.filterByRouteParam`);\n routeParam = c.string(byRoute, 'routeParam', `${path}.filterByRouteParam`) ?? undefined;\n if (field && type && field !== ID_FIELD && !type.fields.has(field)) c.add(SitePlanIssueCode.UnknownField, `${path}.filterByRouteParam.field`, `\"${field}\" is not a field of ${contentType}`);\n if (mode !== PlanDataSourceMode.Single) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.filterByRouteParam`, 'only a single source is looked up by a route param');\n }\n }\n if (alias && !sources.has(alias)) sources.set(alias, { type: PlanDataSourceType.Cms, mode: mode as string, contentType: contentType ?? undefined, routeParam });\n } else if (raw['type'] === PlanDataSourceType.Relative) {\n c.keys(raw, RELATIVE_SOURCE_KEYS, path);\n c.string(raw, 'of', path);\n c.string(raw, 'within', path);\n if (!(Object.values(RelativeOp) as unknown[]).includes(raw['op'])) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.op`, `must be one of ${Object.values(RelativeOp).join(', ')}`);\n if (alias && !sources.has(alias)) sources.set(alias, { type: PlanDataSourceType.Relative, of: raw['of'] as string, op: raw['op'] as string });\n } else {\n c.add(SitePlanIssueCode.InvalidDataSource, `${path}.type`, `must be \"${PlanDataSourceType.Cms}\" or \"${PlanDataSourceType.Relative}\"`);\n }\n });\n c.unique(list.map(r => (isObject(r) && isNonEmptyString(r['alias']) ? r['alias'] : null)), i => `dataSources[${i}].alias`, 'alias');\n // A relative source locates its subject (a single item) within a collection of the SAME type.\n list.forEach((raw, i) => {\n if (!isObject(raw) || raw['type'] !== PlanDataSourceType.Relative) return;\n const of = sources.get(raw['of'] as string);\n const within = sources.get(raw['within'] as string);\n if (!of || of.type !== PlanDataSourceType.Cms || of.mode !== PlanDataSourceMode.Single) c.add(SitePlanIssueCode.UnknownDataSource, `dataSources[${i}].of`, 'must name a single cms source of the plan');\n if (!within || within.type !== PlanDataSourceType.Cms || within.mode !== PlanDataSourceMode.Query) c.add(SitePlanIssueCode.UnknownDataSource, `dataSources[${i}].within`, 'must name a list (query) cms source of the plan');\n if (of?.contentType && within?.contentType && of.contentType !== within.contentType) c.add(SitePlanIssueCode.InvalidDataSource, `dataSources[${i}]`, `${raw['of']} and ${raw['within']} are different content types`);\n });\n return sources;\n}\n\nfunction validatePages(c: Collector, list: unknown[], types: Map<string, ContentTypeInfo>, sources: Map<string, SourceInfo>): void {\n const homes: number[] = [];\n list.forEach((raw, i) => {\n const path = `pages[${i}]`;\n if (!isObject(raw)) return c.add(SitePlanIssueCode.Shape, path, 'must be an object');\n c.keys(raw, PAGE_KEYS, path);\n c.string(raw, 'key', path);\n c.string(raw, 'name', path);\n for (const key of ['isHome', 'required', 'inNav']) c.boolean(raw, key, path);\n const route = c.string(raw, 'route', path);\n if (route && !ROUTE.test(route)) c.add(SitePlanIssueCode.InvalidRoute, `${path}.route`, `\"${route}\" is not a route (/lowercase-words, :params)`);\n if (raw['isHome'] === true) {\n homes.push(i);\n if (route !== '/') c.add(SitePlanIssueCode.Home, `${path}.route`, 'the home page lives at /');\n } else if (route === '/') c.add(SitePlanIssueCode.Home, `${path}.isHome`, 'the page at / is the home page');\n\n const params = route ? routeParams(route) : [];\n const template = c.string(raw, 'template', path, false);\n const routeSourceAlias = c.string(raw, 'routeSource', path, false);\n const routeSource = routeSourceAlias ? sources.get(routeSourceAlias) : undefined;\n const routeSourceOk = !!routeSource && routeSource.type === PlanDataSourceType.Cms && routeSource.mode === PlanDataSourceMode.Single;\n if (template && !types.has(template)) c.add(SitePlanIssueCode.UnknownContentType, `${path}.template`, `no content type \"${template}\" in the plan`);\n if (params.length > 1) c.add(SitePlanIssueCode.InvalidRoute, `${path}.route`, 'a template page has one route param');\n if (params.length && !routeSourceAlias) c.add(SitePlanIssueCode.RouteSource, `${path}.routeSource`, `a route with :${params[0]} names the source that reads it`);\n if (routeSourceAlias) {\n if (!routeSourceOk) {\n c.add(SitePlanIssueCode.RouteSource, `${path}.routeSource`, `\"${routeSourceAlias}\" must be a single cms source of the plan`);\n } else {\n if (!params.length || routeSource!.routeParam !== params[0]) c.add(SitePlanIssueCode.RouteSource, `${path}.routeSource`, `\"${routeSourceAlias}\" is not looked up by this route's param`);\n if (template && routeSource!.contentType !== template) c.add(SitePlanIssueCode.RouteSource, `${path}.template`, `\"${routeSourceAlias}\" reads ${routeSource!.contentType}, not ${template}`);\n }\n }\n\n c.array(raw, 'sections', path).forEach((s, j) => {\n const sp = `${path}.sections[${j}]`;\n if (!isObject(s)) return c.add(SitePlanIssueCode.Shape, sp, 'must be an object');\n c.keys(s, SECTION_KEYS, sp);\n const patternId = c.string(s, 'pattern', sp);\n const pattern = patternById(patternId);\n if (patternId && !pattern) return c.add(SitePlanIssueCode.UnknownPattern, `${sp}.pattern`, `no pattern \"${patternId}\"`);\n if (!pattern) return;\n if (pattern.global) c.add(SitePlanIssueCode.GlobalPattern, `${sp}.pattern`, `\"${patternId}\" is a header/footer pattern (globals)`);\n const slots = s['slots'];\n if (slots !== undefined) {\n if (!isObject(slots)) c.add(SitePlanIssueCode.Shape, `${sp}.slots`, 'must be an object');\n else {\n const declared = patternSlots(pattern);\n for (const [slot, value] of Object.entries(slots)) {\n if (!declared.includes(slot)) c.add(SitePlanIssueCode.UnknownSlot, `${sp}.slots.${slot}`, `\"${patternId}\" has no slot \"${slot}\" (${declared.join(', ') || 'none'})`);\n else if (typeof value !== 'string') c.add(SitePlanIssueCode.Shape, `${sp}.slots.${slot}`, 'must be a string');\n }\n }\n }\n const without = s['without'];\n if (without !== undefined) {\n const parts = patternOptionalParts(pattern);\n if (!Array.isArray(without)) c.add(SitePlanIssueCode.Shape, `${sp}.without`, 'must be an array');\n else without.forEach((w, k) => {\n if (!parts.includes(w as string)) c.add(SitePlanIssueCode.UnknownOptionalPart, `${sp}.without[${k}]`, `\"${patternId}\" has no optional part \"${String(w)}\"`);\n });\n }\n const binding = c.string(s, 'binding', sp, false);\n if (patternTakesBinding(pattern)) {\n if (!binding) {\n if (patternNeedsBinding(pattern)) c.add(SitePlanIssueCode.Binding, `${sp}.binding`, `\"${patternId}\" repeats the section's binding — name a list source`);\n } else {\n const src = sources.get(binding);\n if (!src) c.add(SitePlanIssueCode.UnknownDataSource, `${sp}.binding`, `no data source \"${binding}\"`);\n else if (src.type !== PlanDataSourceType.Cms || src.mode !== PlanDataSourceMode.Query) c.add(SitePlanIssueCode.Binding, `${sp}.binding`, `\"${binding}\" is not a list source`);\n }\n } else if (binding) c.add(SitePlanIssueCode.Binding, `${sp}.binding`, `\"${patternId}\" repeats nothing — it takes no binding`);\n\n // A pattern reading the route item needs a routeSource (an INVALID one is reported above, once).\n const scopes = patternScopes(pattern);\n const readsRoute = scopes.has(BindScope.Route) || scopes.has(BindScope.Next);\n if (readsRoute && !routeSourceAlias) {\n c.add(SitePlanIssueCode.MissingScope, `${sp}.pattern`, `\"${patternId}\" reads the route item — the page needs a routeSource`);\n }\n if (scopes.has(BindScope.Next) && routeSourceOk && !nextSourceOf(sources, routeSourceAlias as string)) {\n c.add(SitePlanIssueCode.MissingScope, `${sp}.pattern`, `\"${patternId}\" reads the next item — the plan needs a ${RelativeOp.SiblingsNext} source of ${routeSourceAlias}`);\n }\n\n // A bound image's alt text is its item's previewTextField (W1.1): the item's type must name one.\n for (const scope of altSourceScopes(pattern)) {\n const alias = scope === BindScope.Item ? binding : routeSourceOk ? routeSourceAlias : null;\n const typeName = alias ? sources.get(alias)?.contentType : undefined;\n const type = typeName ? types.get(typeName) : undefined;\n if (type && !type.previewTextField) {\n c.add(SitePlanIssueCode.MissingPreviewField, `${sp}.pattern`, `\"${patternId}\" shows ${typeName} images — ${typeName} needs a previewTextField for their alt text`);\n }\n }\n });\n });\n c.unique(list.map(p => (isObject(p) && isNonEmptyString(p['key']) ? p['key'] : null)), i => `pages[${i}].key`, 'page key');\n c.unique(list.map(p => (isObject(p) && isNonEmptyString(p['route']) ? p['route'] : null)), i => `pages[${i}].route`, 'route');\n if (homes.length !== 1) c.add(SitePlanIssueCode.Home, 'pages', `exactly one page is the home page (found ${homes.length})`);\n}\n\n/** The plan's `$siblings.next` source of `routeSource` — what a pattern's `next.*` reads. */\nexport function nextSourceOf(sources: Map<string, { type: string; of?: string; op?: string }>, routeSource: string): string | null {\n for (const [alias, s] of sources) if (s.type === PlanDataSourceType.Relative && s.of === routeSource && s.op === RelativeOp.SiblingsNext) return alias;\n return null;\n}\n\nfunction validateGlobals(c: Collector, globals: unknown): void {\n if (!isObject(globals)) return c.add(SitePlanIssueCode.Shape, 'globals', 'must be an object');\n c.keys(globals, Object.values(GlobalSlot), 'globals');\n for (const slot of Object.values(GlobalSlot)) {\n const id = c.string(globals, slot, 'globals');\n const pattern = patternById(id);\n if (id && !pattern) c.add(SitePlanIssueCode.UnknownPattern, `globals.${slot}`, `no pattern \"${id}\"`);\n else if (pattern && pattern.global !== GLOBAL_POSITION[slot]) c.add(SitePlanIssueCode.GlobalPattern, `globals.${slot}`, `\"${id}\" is not a ${slot} pattern`);\n }\n}\n\n/** Check a Site Plan against the plan shape and the pattern library. Never throws, never repairs. */\nexport function validateSitePlan(plan: unknown): SitePlanValidation {\n const c = new Collector();\n if (!isObject(plan)) {\n c.add(SitePlanIssueCode.Shape, '', 'a site plan is an object');\n return { valid: false, issues: c.issues };\n }\n c.keys(plan, PLAN_KEYS, '');\n if (plan['version'] !== SITE_PLAN_VERSION) c.add(SitePlanIssueCode.Version, 'version', `must be \"${SITE_PLAN_VERSION}\"`);\n validateSource(c, plan['source']);\n validateBusiness(c, plan['business']);\n validateDesign(c, plan['design']);\n const types = validateContentTypes(c, c.array(plan, 'contentTypes', ''));\n const sources = validateDataSources(c, c.array(plan, 'dataSources', ''), types);\n validatePages(c, c.array(plan, 'pages', ''), types, sources);\n validateGlobals(c, plan['globals']);\n return { valid: c.issues.length === 0, issues: c.issues };\n}\n\n/** Throw a `SitePlanError` carrying every issue unless the plan is valid. */\nexport function assertValidSitePlan(plan: unknown): void {\n const result = validateSitePlan(plan);\n if (!result.valid) throw new SitePlanError(result.issues);\n}\n","import { LinkType } from '@vectoriox/iox-ui/design-core';\n\nimport { PatternGlobalPosition } from './patterns';\nimport { createSerializedNode, SerializedNode, walkSerialized } from './serialized-node';\n\n/**\n * The phone shapes of a navigation bar (complex-components plan CC1, §7a + R1; boards 1–3). ONE pure tree\n * edit, `planNavShape`, turns a site's header into the shape the author (the Navigation bar's \"Phone\n * menu\" section) or the composer (`nav.inline-cta`'s `phoneMenu`) asks for:\n *\n * - **Drawer** — a menu button in the header opens a slide-in Dialog at the end edge that lists every\n * page (board 1). The drawer is a child of the Navigation bar.\n * - **Bottom bar** — an app-style bar fixed to the bottom of the screen with up to five pages, no drawer\n * (board 2). The phone header keeps only the brand (Q4).\n * - **Both** — the bar with four pages and More, which opens the drawer; the drawer is then its own\n * global, beside the Navigation bar (board 2's layer tree).\n *\n * Every part is a real node with a `role` (R2): editable, selectable, styled by its element style. Parts\n * a shape keeps are passed through untouched, so an author's edits survive a change of shape; the parts\n * it no longer has are removed (undo brings them back — the caller records ONE history step). Nothing\n * here reads a clock or a random source: ids come from `newId` (deterministic by default, so the\n * composer's output is byte-stable).\n */\n\nexport enum NavShape {\n Drawer = 'drawer',\n Bar = 'bar',\n Both = 'both',\n}\n\n/** The roles of a navigation's parts (the composite plan's `role` field, here for the nav). */\nexport enum NavRole {\n Root = 'nav',\n Brand = 'nav.brand',\n Links = 'nav.links',\n Link = 'nav.link',\n Cta = 'nav.cta',\n MenuButton = 'nav.menu-button',\n Drawer = 'nav.drawer',\n DrawerHead = 'nav.drawer-head',\n DrawerClose = 'nav.drawer-close',\n DrawerLinks = 'nav.drawer-links',\n DrawerLink = 'nav.drawer-link',\n DrawerCta = 'nav.drawer-cta',\n Bar = 'nav.bar',\n BarItem = 'nav.bar-item',\n More = 'nav.more',\n}\n\n/** The breakpoints a phone menu may switch at (the responsive Breakpoint ids; Q5: Mobile landscape). */\nexport enum PhoneMenuBreakpoint {\n Tablet = 'tablet',\n Mobile = 'mobile',\n Small = 'small',\n}\n\nexport const DEFAULT_PHONE_MENU_BREAKPOINT = PhoneMenuBreakpoint.Mobile;\n\n/** The bar's item count, More included (Q2: 3–5; iOS and Material both cap at five). */\nexport const BAR_ITEMS_MIN = 3;\nexport const BAR_ITEMS_MAX = 5;\n\nexport interface NavShapeOptions {\n /** Where the phone shape takes over (≤ this breakpoint). Default Mobile landscape (≤767). */\n at?: PhoneMenuBreakpoint | `${PhoneMenuBreakpoint}`;\n /** Items in the bar, More included (3–5). Default: 5 for Bottom bar, 4 + More for Both. */\n barItems?: number;\n /** A new part's id (the builder passes its id generator). Default: `<nav id>-<suffix>`. */\n newId?: (suffix: string) => string;\n /** The studio's pages, for a header that links to none (a hand-built one): its menu lists these. */\n pages?: ReadonlyArray<NavPage>;\n}\n\nexport interface NavShapeResult {\n /** The globals after the edit (the Navigation bar edited in place, the drawer/bar added or removed). */\n globals: SerializedNode[];\n shape: NavShape;\n at: PhoneMenuBreakpoint;\n}\n\nexport class NavShapeError extends Error {}\n\nconst CONTAINER = 'Container';\nconst DIALOG = 'Dialog';\nconst LINK = 'Link';\nconst LINKED = 'LinkedContainer';\nconst BUTTON = 'ButtonBlock';\nconst ICON = 'Icon';\nconst TEXT = 'Text';\nconst HEADING = 'Heading';\nconst NAV_STYLE = 'nav';\nconst DISPLAY = 'display';\nconst NONE = 'none';\nconst CLICK = 'click';\nconst HOME_ROUTE = '/';\nconst COMPOSED = { releaseLayoutDefaults: true };\n\n/** The words the parts carry — site copy, editable like any other (the composer writes English copy). */\nexport const NAV_SHAPE_COPY = {\n menu: 'Menu',\n closeMenu: 'Close menu',\n more: 'More',\n home: 'Home',\n} as const;\n\n/** The layer names of the parts (R2: the tree, the breadcrumb and the toolbar read them). */\nexport const NAV_PART_LABELS: Readonly<Record<string, string>> = {\n [NavRole.Root]: 'Navigation bar',\n [NavRole.Brand]: 'Brand',\n [NavRole.Links]: 'Links',\n [NavRole.MenuButton]: 'Menu button',\n [NavRole.Drawer]: 'Menu drawer',\n [NavRole.DrawerHead]: 'Drawer header',\n [NavRole.DrawerClose]: 'Close',\n [NavRole.DrawerLinks]: 'Drawer links',\n [NavRole.Bar]: 'Bottom bar',\n [NavRole.More]: 'More',\n};\n\n/** Phosphor icons for the bar's items by route — there is no page icon field (Q6), so the bar starts here and\n * the author picks (the icons are ordinary Icon nodes). */\nconst ROUTE_ICONS: ReadonlyArray<[RegExp, string]> = [\n [/^\\/?$/, 'ph-thin ph-house'],\n [/work|project|portfolio/i, 'ph-thin ph-squares-four'],\n [/about|studio|team/i, 'ph-thin ph-user'],\n [/journal|blog|news/i, 'ph-thin ph-book-open'],\n [/contact/i, 'ph-thin ph-chat-circle'],\n [/shop|store/i, 'ph-thin ph-bag'],\n];\nconst FALLBACK_ICON = 'ph-thin ph-file';\nconst MENU_ICON = 'ph-thin ph-list';\nconst CLOSE_ICON = 'ph-thin ph-x';\nconst MORE_ICON = 'ph-thin ph-dots-three';\n\nexport function barIconForRoute(route: string): string {\n return ROUTE_ICONS.find(([re]) => re.test(route))?.[1] ?? FALLBACK_ICON;\n}\n\n/** One page the navigation links to, read off its links. */\nexport interface NavPage {\n label: string;\n route: string;\n}\n\n// ── reading ─────────────────────────────────────────────────────────────────────────────────\n\nconst roleOf = (n: SerializedNode | null | undefined) => n?.role;\n\nfunction find(nodes: ReadonlyArray<SerializedNode>, role: NavRole): SerializedNode | null {\n let hit: SerializedNode | null = null;\n walkSerialized(nodes, n => { if (!hit && n.role === role) hit = n; });\n return hit;\n}\n\nfunction findAll(nodes: ReadonlyArray<SerializedNode>, role: NavRole): SerializedNode[] {\n const out: SerializedNode[] = [];\n walkSerialized(nodes, n => { if (n.role === role) out.push(n); });\n return out;\n}\n\n/** The Navigation bar: the global with the root role, else the first global wearing the `nav` style. */\nexport function findNavRoot(globals: ReadonlyArray<SerializedNode>, navId?: string | null): SerializedNode | null {\n if (navId) return globals.find(g => g.id === navId) ?? null;\n return globals.find(g => g.role === NavRole.Root) ?? globals.find(g => g.elementStyle === NAV_STYLE && g.type === CONTAINER) ?? null;\n}\n\n/** The shape a site's globals are in now, or null when there is no Navigation bar. */\nexport function navShapeOf(globals: ReadonlyArray<SerializedNode>): NavShape | null {\n if (!findNavRoot(globals)) return null;\n const bar = !!find(globals, NavRole.Bar);\n const drawer = !!find(globals, NavRole.Drawer);\n if (bar && drawer) return NavShape.Both;\n if (bar) return NavShape.Bar;\n return drawer ? NavShape.Drawer : null;\n}\n\nconst hiddenAt = (n: SerializedNode): string | null =>\n Object.entries(n.responsive ?? {}).find(([, layer]) => layer?.styleProps?.[DISPLAY] === NONE)?.[0] ?? null;\n\n/** The breakpoint the phone shape takes over at, read off the header's links row (default Mobile). */\nexport function navShapeBreakpoint(globals: ReadonlyArray<SerializedNode>): PhoneMenuBreakpoint {\n const links = find(globals, NavRole.Links);\n const bp = links ? hiddenAt(links) : null;\n return (Object.values(PhoneMenuBreakpoint) as string[]).includes(bp ?? '') ? bp as PhoneMenuBreakpoint : DEFAULT_PHONE_MENU_BREAKPOINT;\n}\n\nconst prop = (n: SerializedNode, name: string) => n.props?.[name];\nconst isPageLink = (n: SerializedNode) => prop(n, 'linkType') === LinkType.Page && typeof prop(n, 'pageRoute') === 'string';\n\nfunction textOf(n: SerializedNode): string {\n if (n.type === LINK) return String(prop(n, 'label') ?? '');\n let words = '';\n walkSerialized(n.children ?? [], c => { if (!words && (c.type === TEXT || c.type === HEADING)) words = String(prop(c, 'content') ?? ''); });\n return words;\n}\n\n/** The pages the header links to, in order: its Links (W1.1 — one plain Link per page in the navigation). */\nexport function navPages(root: SerializedNode): NavPage[] {\n const links = findAll([root], NavRole.Link);\n const source = links.length ? links : collectHeaderLinks(root);\n return source.filter(isPageLink).map(n => ({ label: textOf(n), route: String(prop(n, 'pageRoute')) }));\n}\n\n/** Where a phone menu's pages come from: the header's own page Links, else the studio's pages. */\nexport enum NavPagesSource {\n Header = 'header',\n Site = 'site',\n None = 'none',\n}\n\n/** The pages a phone menu lists: the header's (`navPages`), else `sitePages` — a hand-built header with no\n * page links still gets a working menu. */\nexport function phoneMenuPages(root: SerializedNode, sitePages: ReadonlyArray<NavPage> = []): { pages: NavPage[]; source: NavPagesSource } {\n const own = navPages(root);\n if (own.length) return { pages: own, source: NavPagesSource.Header };\n return sitePages.length ? { pages: [...sitePages], source: NavPagesSource.Site } : { pages: [], source: NavPagesSource.None };\n}\n\n/** A hand-built header: every page Link outside a drawer. */\nfunction collectHeaderLinks(root: SerializedNode): SerializedNode[] {\n const out: SerializedNode[] = [];\n const visit = (n: SerializedNode) => {\n if (n.type === DIALOG) return;\n if (n.type === LINK) out.push(n);\n (n.children ?? []).forEach(visit);\n };\n (root.children ?? []).forEach(visit);\n return out;\n}\n\n// ── building ────────────────────────────────────────────────────────────────────────────────\n\ninterface Kit {\n id: (suffix: string) => string;\n}\n\n/** New ids: the caller's generator, else `<nav id>-<suffix>` made unique against every id already there. */\nfunction makeKit(globals: ReadonlyArray<SerializedNode>, rootId: string, newId?: (suffix: string) => string): Kit {\n if (newId) return { id: newId };\n const used = new Set<string>();\n walkSerialized(globals, n => used.add(n.id));\n return {\n id: (suffix: string) => {\n const base = `${rootId}-${suffix}`;\n let id = base;\n for (let n = 2; used.has(id); n++) id = `${base}-${n}`;\n used.add(id);\n return id;\n },\n };\n}\n\n/** Point an opener's dialog actions at `dialogId` (a drawer rebuilt under a new id keeps its openers working). */\nfunction retarget(node: SerializedNode, dialogId: string): SerializedNode {\n for (const ix of node.interactions as Array<{ actions?: Array<{ type?: string; target?: string }> }>) {\n for (const a of ix.actions ?? []) if (a.type === 'openDialog' || a.type === 'toggleDialog') a.target = dialogId;\n }\n return node;\n}\n\nfunction part(kit: Kit, suffix: string, type: string, props: Record<string, unknown>, style: string | null, role?: NavRole | null, lay: Record<string, unknown> = {}): SerializedNode {\n const node = createSerializedNode(kit.id(suffix), type, props, style, COMPOSED);\n if (role) node.role = role;\n const label = role ? NAV_PART_LABELS[role] : undefined;\n if (label) node.label = label;\n Object.assign(node.styleProps, lay);\n return node;\n}\n\nfunction clickTo(kit: Kit, suffix: string, type: 'openDialog' | 'closeDialog', target: string) {\n return { id: kit.id(`${suffix}-click`), trigger: CLICK, actions: [{ type, target, duration: 0, delay: 0, easing: 'ease' }] };\n}\n\n/** Show at the phone width, hidden above it (base `display: none`, the breakpoint's own `display`). */\nfunction phoneOnly(node: SerializedNode, at: string, display: string): void {\n node.styleProps[DISPLAY] = NONE;\n node.responsive = { ...(node.responsive ?? {}), [at]: { ...(node.responsive?.[at] ?? {}), styleProps: { ...(node.responsive?.[at]?.styleProps ?? {}), [DISPLAY]: display } } };\n}\n\n/** Hidden at the phone width: the header's links row. */\nfunction hideAt(node: SerializedNode, at: string): void {\n node.responsive = { ...(node.responsive ?? {}), [at]: { ...(node.responsive?.[at] ?? {}), styleProps: { ...(node.responsive?.[at]?.styleProps ?? {}), [DISPLAY]: NONE } } };\n}\n\n/** Move every `display` override the shape owns to the new breakpoint. */\nfunction moveDisplayOverride(node: SerializedNode, to: string): void {\n for (const [bp, layer] of Object.entries(node.responsive ?? {})) {\n if (bp === to || !layer?.styleProps || !(DISPLAY in layer.styleProps)) continue;\n const value = layer.styleProps[DISPLAY];\n const { [DISPLAY]: _drop, ...rest } = layer.styleProps;\n node.responsive![bp] = { ...layer, styleProps: rest };\n if (!Object.keys(rest).length && Object.keys(layer).length === 1) delete node.responsive![bp];\n node.responsive![to] = { ...(node.responsive![to] ?? {}), styleProps: { ...(node.responsive![to]?.styleProps ?? {}), [DISPLAY]: value } };\n }\n}\n\nfunction iconNode(kit: Kit, suffix: string, iconClass: string): SerializedNode {\n return part(kit, suffix, ICON, { iconClass }, null);\n}\n\nfunction labelText(kit: Kit, suffix: string, words: string): SerializedNode {\n return part(kit, suffix, TEXT, { content: words, tag: 'span' }, 'button-label');\n}\n\nfunction menuButton(kit: Kit, drawerId: string, at: string): SerializedNode {\n const btn = part(kit, 'menu', BUTTON, { tag: 'button', ariaLabel: NAV_SHAPE_COPY.menu }, 'button-ghost', NavRole.MenuButton,\n { width: '48px', height: '48px', alignItems: 'center', justifyContent: 'center' });\n btn.children = [iconNode(kit, 'menu-icon', MENU_ICON)];\n btn.interactions = [clickTo(kit, 'menu', 'openDialog', drawerId)];\n phoneOnly(btn, at, 'inline-flex');\n return btn;\n}\n\nfunction pageLink(kit: Kit, suffix: string, page: NavPage, role: NavRole, lay: Record<string, unknown> = {}): SerializedNode {\n return part(kit, suffix, LINK, { label: page.label, linkType: LinkType.Page, pageRoute: page.route }, 'link', role, lay);\n}\n\nfunction drawer(kit: Kit, root: SerializedNode, pages: NavPage[], at: string): SerializedNode {\n const dr = part(kit, 'drawer', DIALOG, {\n placement: 'end', closeOnBackdrop: true, showCloseButton: false, ariaLabel: NAV_SHAPE_COPY.menu, closeAbove: at,\n }, 'dialog', NavRole.Drawer, { width: '86vw', maxWidth: '360px', display: 'flex', flexDirection: 'column', gap: '20px' });\n const brandWords = textOf(find([root], NavRole.Brand) ?? root) || NAV_PART_LABELS[NavRole.Root];\n const head = part(kit, 'drawer-head', CONTAINER, {}, 'box', NavRole.DrawerHead,\n { display: 'flex', justifyContent: 'space-between', alignItems: 'center', gap: '12px' });\n const close = part(kit, 'drawer-close', BUTTON, { tag: 'button', ariaLabel: NAV_SHAPE_COPY.closeMenu }, 'button-ghost', NavRole.DrawerClose,\n { width: '44px', height: '44px', alignItems: 'center', justifyContent: 'center' });\n close.children = [iconNode(kit, 'drawer-close-icon', CLOSE_ICON)];\n close.interactions = [clickTo(kit, 'drawer-close', 'closeDialog', dr.id)];\n head.children = [part(kit, 'drawer-brand', HEADING, { content: brandWords, level: 'h3' }, 'h3'), close];\n const list = part(kit, 'drawer-links', CONTAINER, {}, 'box', NavRole.DrawerLinks,\n { display: 'flex', flexDirection: 'column', gap: '4px' });\n // Board 1: every page, Home first, at lead size (on each Link: a Link's own baseline font size would\n // beat one inherited from the list). Only the CURRENT page is underlined — the shared CSS keys that on\n // the list's role (iox-design.css), so no Link holds a literal over its element style.\n list.children = withHome(root, pages).map((p, i) => pageLink(kit, `drawer-link-${i}`, p, NavRole.DrawerLink,\n { display: 'flex', alignItems: 'center', minHeight: '48px', fontSize: 'var(--iox-size-lead)' }));\n dr.children = [head, list];\n const cta = find([root], NavRole.Cta);\n if (cta) {\n const copy = JSON.parse(JSON.stringify(cta)) as SerializedNode;\n const reid = (n: SerializedNode, path: string) => { n.id = kit.id(path); (n.children ?? []).forEach((c, i) => reid(c, `${path}-${i}`)); };\n reid(copy, 'drawer-cta');\n copy.role = NavRole.DrawerCta;\n copy.styleProps = { ...copy.styleProps, alignSelf: 'stretch' };\n // Board 1: the full-width drawer button centres its words — a label filling its line would sit at the start.\n for (const label of copy.children ?? []) if (label.type === TEXT) label.styleProps = { ...label.styleProps, width: 'auto' };\n dr.children.push(copy);\n }\n return dr;\n}\n\nfunction barItem(kit: Kit, i: number, page: NavPage): SerializedNode {\n const item = part(kit, `bar-item-${i}`, LINKED, { linkType: LinkType.Page, pageRoute: page.route, target: '_self' }, 'bottom-bar-item', NavRole.BarItem, BAR_ITEM_LAY);\n item.label = page.label;\n item.children = [iconNode(kit, `bar-item-${i}-icon`, barIconForRoute(page.route)), labelText(kit, `bar-item-${i}-label`, page.label)];\n return item;\n}\n\nconst BAR_ITEM_LAY = {\n display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', gap: '3px',\n flexGrow: '1', flexShrink: '1', flexBasis: '0px', minWidth: '0px', minHeight: '52px', padding: '4px 2px', textDecoration: 'none',\n};\n\nfunction moreItem(kit: Kit, drawerId: string): SerializedNode {\n const more = part(kit, 'bar-more', BUTTON, { tag: 'button' }, 'bottom-bar-item', NavRole.More, BAR_ITEM_LAY);\n more.children = [iconNode(kit, 'bar-more-icon', MORE_ICON), labelText(kit, 'bar-more-label', NAV_SHAPE_COPY.more)];\n more.interactions = [clickTo(kit, 'bar-more', 'openDialog', drawerId)];\n return more;\n}\n\n/** Home first, then the header's pages: the header reaches Home through its brand, a phone menu names it. */\nfunction withHome(root: SerializedNode, pages: NavPage[]): NavPage[] {\n const brand = find([root], NavRole.Brand);\n const home = brand && isPageLink(brand) && prop(brand, 'pageRoute') === HOME_ROUTE && !pages.some(p => p.route === HOME_ROUTE)\n ? [{ label: NAV_SHAPE_COPY.home, route: HOME_ROUTE }] : [];\n return [...home, ...pages];\n}\n\n/** The bar's pages: Home first (a bottom bar's customary first stop), capped. */\nfunction barPages(root: SerializedNode, pages: NavPage[], count: number): NavPage[] {\n return withHome(root, pages).slice(0, count);\n}\n\nfunction bar(kit: Kit, root: SerializedNode, pages: NavPage[], shape: NavShape, count: number, drawerId: string | null, at: string): SerializedNode {\n // The node IS fixed (not only its element style): the builder canvas forces a node's own `position`\n // with !important, so a stored `static` default would pin the bar into the flow there.\n const b = part(kit, 'bar', CONTAINER, { htmlTag: 'nav' }, 'bottom-bar', NavRole.Bar,\n { position: 'fixed', justifyContent: 'space-around', alignItems: 'stretch', gap: '4px', padding: '6px 8px', width: 'auto' });\n phoneOnly(b, at, 'flex');\n const itemCount = shape === NavShape.Both ? count - 1 : count;\n b.children = barPages(root, pages, itemCount).map((p, i) => barItem(kit, i, p));\n if (shape === NavShape.Both && drawerId) b.children.push(moreItem(kit, drawerId));\n b.isGlobal = true;\n b.globalPosition = PatternGlobalPosition.After;\n return b;\n}\n\n// ── the edit ────────────────────────────────────────────────────────────────────────────────\n\nconst clone = <T>(v: T): T => JSON.parse(JSON.stringify(v)) as T;\n\nfunction removeRole(node: SerializedNode, role: NavRole): SerializedNode | null {\n let removed: SerializedNode | null = null;\n const visit = (n: SerializedNode) => {\n if (!n.children) return;\n const i = n.children.findIndex(c => c.role === role);\n if (i >= 0) { removed = n.children[i]; n.children.splice(i, 1); return; }\n n.children.forEach(visit);\n };\n visit(node);\n return removed;\n}\n\n/** The root's own parts that hide at the phone width: everything but the brand, the menu button and the drawer. */\nfunction phoneHiddenParts(root: SerializedNode): SerializedNode[] {\n const keep = new Set<string | undefined>([NavRole.Brand, NavRole.MenuButton, NavRole.Drawer]);\n return (root.children ?? []).filter((c, i) => !keep.has(roleOf(c)) && !(i === 0 && !c.role && c.type === LINKED));\n}\n\n/** Board 2 / board 8: five items either way — five pages (Bottom bar) or four pages + More (Both). */\nfunction defaultBarCount(_shape: NavShape): number {\n return BAR_ITEMS_MAX;\n}\n\nconst JUSTIFY = 'justifyContent';\nconst CENTER = 'center';\n\n/** Board 2: with a bar, the phone header holds only the brand, centred. The override lives in the phone\n * breakpoint's layer only; switching back to the drawer (or moving the breakpoint) removes it. */\nfunction centerBrandAt(root: SerializedNode, at: string, on: boolean): void {\n for (const [bp, layer] of Object.entries(root.responsive ?? {})) {\n if (layer?.styleProps?.[JUSTIFY] !== CENTER) continue;\n const { [JUSTIFY]: _drop, ...rest } = layer.styleProps;\n root.responsive![bp] = { ...layer, styleProps: rest };\n }\n if (on) root.responsive = { ...(root.responsive ?? {}), [at]: { ...(root.responsive?.[at] ?? {}), styleProps: { ...(root.responsive?.[at]?.styleProps ?? {}), [JUSTIFY]: CENTER } } };\n}\n\nfunction clampBarCount(n: number | undefined, shape: NavShape): number {\n const v = Number.isFinite(n) ? Math.round(n as number) : defaultBarCount(shape);\n return Math.min(BAR_ITEMS_MAX, Math.max(BAR_ITEMS_MIN, v));\n}\n\n/**\n * Put a site's header into `shape`. The Navigation bar is `navId` or the global carrying the root role\n * (else the first Container wearing `nav`, which this then marks with roles). Returns new globals;\n * the input is not mutated.\n */\nexport function planNavShape(globals: ReadonlyArray<SerializedNode>, shape: NavShape, options: NavShapeOptions = {}, navId?: string | null): NavShapeResult {\n if (!(Object.values(NavShape) as string[]).includes(shape)) throw new NavShapeError(`unknown phone menu shape \"${shape}\"`);\n const out = clone(globals) as SerializedNode[];\n const root = findNavRoot(out, navId);\n if (!root) throw new NavShapeError('no Navigation bar among the globals');\n const at = (options.at ?? navShapeBreakpoint(out)) as PhoneMenuBreakpoint;\n if (!(Object.values(PhoneMenuBreakpoint) as string[]).includes(at)) throw new NavShapeError(`a phone menu cannot switch at \"${at}\"`);\n const kit = makeKit(out, root.id, options.newId);\n\n adoptRoles(root);\n const { pages } = phoneMenuPages(root, options.pages);\n const wantDrawer = shape !== NavShape.Bar;\n const wantBar = shape !== NavShape.Drawer;\n const wantMenuButton = shape === NavShape.Drawer;\n\n // The drawer: kept (moved to where the shape puts it) or built; removed for Bar.\n let dr = removeRole(root, NavRole.Drawer);\n const topIndex = out.findIndex(g => g.role === NavRole.Drawer);\n if (!dr && topIndex >= 0) dr = out.splice(topIndex, 1)[0];\n if (dr) { delete dr.isGlobal; delete dr.globalPosition; }\n if (wantDrawer && !dr) dr = drawer(kit, root, pages, at);\n if (!wantDrawer) dr = null;\n if (dr) dr.props = { ...dr.props, closeAbove: at };\n\n // The menu button: Drawer only (Q4: with a bar, the phone header keeps only the brand).\n const existingMenu = removeRole(root, NavRole.MenuButton);\n const menu = wantMenuButton ? (existingMenu ?? menuButton(kit, dr!.id, at)) : null;\n\n for (const p of phoneHiddenParts(root)) { moveDisplayOverride(p, at); hideAt(p, at); }\n centerBrandAt(root, at, wantBar);\n\n const kids = root.children ?? (root.children = []);\n if (menu) { moveDisplayOverride(menu, at); kids.push(menu); }\n if (dr && shape === NavShape.Drawer) kids.push(dr);\n if (dr && shape === NavShape.Both) {\n dr.isGlobal = true;\n dr.globalPosition = PatternGlobalPosition.Before;\n out.splice(out.indexOf(root) + 1, 0, dr);\n }\n\n // The bar: kept (its items are the author's; More follows the shape) or built; removed for Drawer.\n const barIndex = out.findIndex(g => g.role === NavRole.Bar);\n let b = barIndex >= 0 ? out.splice(barIndex, 1)[0] : null;\n let more: SerializedNode | null = null;\n if (wantBar) {\n const count = clampBarCount(options.barItems, shape);\n if (!b) b = bar(kit, root, pages, shape, count, dr?.id ?? null, at);\n else {\n moveDisplayOverride(b, at);\n more = (b.children ?? []).find(c => c.role === NavRole.More) ?? null;\n b.children = (b.children ?? []).filter(c => c.role !== NavRole.More);\n if (options.barItems !== undefined) {\n const items = b.children;\n const want = shape === NavShape.Both ? count - 1 : count;\n const extra = barPages(root, pages, BAR_ITEMS_MAX).filter(p => !items.some(c => prop(c, 'pageRoute') === p.route));\n while (items.length > want) items.pop();\n while (items.length < want && extra.length) items.push(barItem(kit, items.length, extra.shift()!));\n }\n if (shape === NavShape.Both && dr) b.children.push(retarget(more ?? moreItem(kit, dr.id), dr.id));\n }\n out.push(b);\n }\n return { globals: out, shape, at };\n}\n\n/** Mark a hand-built header's parts with their roles, so every later edit can find them. */\nfunction adoptRoles(root: SerializedNode): void {\n root.role = NavRole.Root;\n const kids = root.children ?? [];\n const brand = kids.find(c => c.role === NavRole.Brand) ?? (kids[0]?.type === LINKED ? kids[0] : null);\n if (brand) brand.role = NavRole.Brand;\n for (const c of kids) {\n if (c === brand || c.role) continue;\n if (c.type === CONTAINER && (c.children ?? []).some(k => k.type === LINK)) {\n c.role = NavRole.Links;\n for (const k of c.children ?? []) {\n if (k.role) continue;\n if (k.type === LINK) k.role = NavRole.Link;\n else if (k.type === BUTTON) k.role = NavRole.Cta;\n }\n }\n }\n nameParts(root);\n}\n\n/** Board 3's layer names for the header's own parts, where the author has not named them: Brand, Links,\n * and the call to action by its words (\"Get in touch\"). */\nfunction nameParts(root: SerializedNode): void {\n for (const role of [NavRole.Brand, NavRole.Links]) {\n const part = find([root], role);\n if (part && !part.label) part.label = NAV_PART_LABELS[role];\n }\n const cta = find([root], NavRole.Cta);\n if (cta && !cta.label) {\n const words = textOf(cta);\n if (words) cta.label = words;\n }\n}\n\nexport interface AddBarItemResult {\n globals: SerializedNode[];\n /** False when the bar is full (5 items, More included — Q2) or there is no bar. */\n added: boolean;\n}\n\n/**\n * The bar's Items list \"Add item\" (board 2): one more item, before More — the next navigation page the\n * bar does not link to yet (Home when every page is there). Refused at five (Q2). Input not mutated.\n */\nexport function addBarItem(globals: ReadonlyArray<SerializedNode>, options: Pick<NavShapeOptions, 'newId' | 'pages'> = {}): AddBarItemResult {\n const out = clone(globals) as SerializedNode[];\n const root = findNavRoot(out);\n const b = find(out, NavRole.Bar);\n if (!root || !b) return { globals: out, added: false };\n const kids = b.children ?? (b.children = []);\n if (kids.length >= BAR_ITEMS_MAX) return { globals: out, added: false };\n const linked = new Set(kids.filter(c => c.role === NavRole.BarItem).map(c => prop(c, 'pageRoute')));\n const page = barPages(root, phoneMenuPages(root, options.pages).pages, BAR_ITEMS_MAX + 1).find(p => !linked.has(p.route))\n ?? { label: NAV_SHAPE_COPY.home, route: HOME_ROUTE };\n const item = barItem(makeKit(out, root.id, options.newId), kids.length, page);\n const more = kids.findIndex(c => c.role === NavRole.More);\n if (more >= 0) kids.splice(more, 0, item); else kids.push(item);\n return { globals: out, added: true };\n}\n\nexport interface BarItemsEditResult {\n globals: SerializedNode[];\n /** False when nothing changed: no bar, an unknown item, or the bar would drop below three items (Q2). */\n changed: boolean;\n}\n\nfunction barOf(globals: ReadonlyArray<SerializedNode>): { out: SerializedNode[]; kids: SerializedNode[] | null } {\n const out = clone(globals) as SerializedNode[];\n const b = find(out, NavRole.Bar);\n return { out, kids: b ? (b.children ?? (b.children = [])) : null };\n}\n\n/**\n * The bar's Items list \"Remove\" (board 2): the item goes, More included — refused below three items (Q2:\n * 3–5), so the bar never shrinks into something a thumb cannot use. Input not mutated.\n */\nexport function removeBarItem(globals: ReadonlyArray<SerializedNode>, itemId: string): BarItemsEditResult {\n const { out, kids } = barOf(globals);\n const i = kids ? kids.findIndex(c => c.id === itemId) : -1;\n if (!kids || i < 0 || kids.length <= BAR_ITEMS_MIN) return { globals: out, changed: false };\n kids.splice(i, 1);\n return { globals: out, changed: true };\n}\n\n/** The bar's Items list drag-to-reorder (board 2): item `from` moves to `to`. Input not mutated. */\nexport function moveBarItem(globals: ReadonlyArray<SerializedNode>, from: number, to: number): BarItemsEditResult {\n const { out, kids } = barOf(globals);\n if (!kids || from === to || from < 0 || to < 0 || from >= kids.length || to >= kids.length) return { globals: out, changed: false };\n const [item] = kids.splice(from, 1);\n kids.splice(to, 0, item);\n return { globals: out, changed: true };\n}\n","import { COLOR_SCHEMES, DesignChoices, LinkType, resolveDesignChoices, setColorScheme } from '@vectoriox/iox-ui/design-core';\nimport { FormPresetDef, FormPresetField, formPresetById } from '@vectoriox/iox-ui/forms-core';\nimport {\n ACCORDION_BIND_PROP, ACCORDION_CONTENT_LIMIT, ACCORDION_WORDS, accordionAnswerOf, accordionItems, accordionQuestionOf, AccordionRole,\n buildAccordionRecipe, buildCardRecipe, buildCarouselRecipe, buildLightboxRecipe, CardLayout, CardPart, CardRole, CARD_LAYOUTS, CARD_PARTS, CompositeNode,\n CompositeNodeSpec, findByRole, LIGHTBOX_LABEL, pickAccordionAutoBinds, pickTabsAutoBinds, SLIDE_TO_ROW, SLIDE_TYPE, buildTabsRecipe, tabLabelNodeOf,\n tabPanelImageOf, tabPanelTextOf, tabsListOf, tabsPanels, tabsPanelsOf, tabsTriggers, TABS_CONTENT_LIMIT, TABS_IMAGE_BIND_PROP, TABS_LABEL_BIND_PROP,\n TABS_TEXT_BIND_PROP, TABS_WORDS, BadgeTone, BADGE_TONES, buildSegmentedRecipe, CardWords, ITEM_OPEN_STATE, segmentedOptions,\n} from '@vectoriox/iox-ui/composite-core';\n\nimport { NODE_BASELINES } from './node-baselines.generated';\nimport { BindScope, CardBindTarget, PatternDirective, PatternNode, PatternOpens, PatternPlaceholder, PatternRecipe, SitePattern, patternById } from './patterns';\nimport { assertStyleSlots, ComposeError, createSerializedNode, SerializedBinding, SerializedNode, setStyleProps } from './serialized-node';\nimport {\n ContentTypePlan, DataSourcePlan, FactKey, FACT_KEYS, GlobalSlot, PagePlan, PageSectionPlan, PlanDataSourceMode, PlanDataSourceType,\n RelativeOp, SitePlan, SitePlanSource, SITE_FACT_LABELS, SiteBusiness,\n} from './site-plan.model';\nimport { assertValidSitePlan, nextSourceOf, routeParams } from './validate-site-plan';\nimport { NavShape, planNavShape } from './nav-shape';\n\n/**\n * THE composer — a Site Plan in, ordinary IOX data out (design-system plan §6b, W1). Deterministic and\n * pure: the same plan composes to byte-identical output, with no clock, no randomness and no transport.\n * The wizard and the AI agent both end here; W2's site-build service writes what it returns. The one\n * thing that changes with time — the copyright year — comes in through `ComposeContext`.\n *\n * Every node is created the way the builder creates one (`createSerializedNode`): the type's full\n * constructor defaults — its empty-drop sizes released, so the pattern owns its box (`BASELINE_ROLES`) —\n * then ONE element style, then the pattern's layout. So a composed page is what\n * an author would have built by hand from the palette — the builder reloads it and saves it unchanged,\n * and the engine renders it with nothing to resolve. Never a colour, size or font a pattern did not\n * name; never a fact the customer did not give (blank → a placeholder carrying the fact's label).\n */\n\nexport enum PlaceholderKind {\n /** A FACT the customer did not give (email, phone, city): publish-blocking. */\n Fact = 'fact',\n /** The pattern's own words, for the author to rewrite. */\n Copy = 'copy',\n /** An image slot with no image: the empty-image placeholder (DS3). */\n Image = 'image',\n /** CC3: a video slot with no clip — the studio uploads its own (the poster blank meanwhile). */\n Video = 'video',\n /** CC4b (Q37): a price — a FACT the customer could be held to. Free text the studio types (\"₪ 1,200\", \"From $40\",\n * \"On request\"); its label shows meanwhile (\"Monthly price\"), never a number. No currency model. */\n Price = 'price',\n}\n\n/** The placeholders a page cannot be published with unfilled (W4's gate): a fact, a price, the studio's own video.\n * Copy and an empty image are the author's to rewrite, never blocking. */\nexport const PUBLISH_BLOCKING_PLACEHOLDERS: ReadonlySet<PlaceholderKind> = new Set([PlaceholderKind.Fact, PlaceholderKind.Price, PlaceholderKind.Video]);\n\n/** True when a placeholder of `kind` blocks publishing until the studio fills it. */\nexport function blocksPublish(kind: PlaceholderKind): boolean {\n return PUBLISH_BLOCKING_PLACEHOLDERS.has(kind);\n}\n\nexport interface ComposedPlaceholder {\n nodeId: string;\n /** The page key, or the global slot (`header` / `footer`), the node lives in. */\n owner: string;\n kind: PlaceholderKind;\n fact?: FactKey;\n slot?: string;\n /** What the node shows meanwhile: the fact's label, the pattern's copy, or '' for an image. */\n text: string;\n}\n\nexport enum ComposeIssueCode {\n /** A slot the plan and the business left empty and the pattern gives no words for — the node keeps\n * its type's default text. */\n UnfilledSlot = 'unfilled-slot',\n /** A link to a page the plan leaves out now opens an email to the business (`mailto:`). */\n LinkToEmail = 'link-to-email',\n /** A link or button to a page the plan leaves out, with no business email to send to: removed. */\n LinkRemoved = 'link-removed',\n /** A linked box to a page the plan leaves out, with no business email: it keeps its contents as a\n * plain Container and loses only the link. */\n LinkUnlinked = 'link-unlinked',\n}\n\n/** The issues that are a dangling link (a route the plan has no page for) and what was done about it. */\nexport const DANGLING_LINK_CODES: ReadonlySet<ComposeIssueCode> = new Set([\n ComposeIssueCode.LinkToEmail, ComposeIssueCode.LinkRemoved, ComposeIssueCode.LinkUnlinked,\n]);\n\nexport interface ComposeIssue {\n code: ComposeIssueCode;\n nodeId: string;\n owner: string;\n /** In plain words, for the wizard to show. */\n detail: string;\n /** A dangling link's route. */\n route?: string;\n}\n\n/** What the composer may not decide for itself — today the clock. */\nexport interface ComposeContext {\n /** The calendar year the copyright line reads (`{year}`), from the caller's clock. */\n year: number;\n}\n\nexport interface ComposedPage {\n key: string;\n name: string;\n route: { path: string };\n isHome: boolean;\n status: 'draft';\n /** DS3: every page the wizard creates follows the look (page-bg / text / font-body). */\n pageSettings: { designSystem: true };\n layout: SerializedNode[];\n}\n\nexport interface ComposedDataSource {\n id: string;\n alias: string;\n type: string;\n mode: string;\n request: Record<string, unknown>;\n}\n\nexport type ComposedItem = Record<string, unknown> & { isPublished: boolean; isSample: boolean };\n\nexport interface ComposedRoute {\n key: string;\n path: string;\n isHome: boolean;\n}\n\nexport interface ComposedSite {\n source: SitePlanSource;\n business: SiteBusiness;\n /** The look, completed against its pack (`resolveDesignChoices`) — what the build applies. */\n design: DesignChoices;\n /** The content types to create, as the plan states them. */\n schemas: ContentTypePlan[];\n /** Sample items per content type. `{sampleImage:k}` values name a bundled sample image the build resolves. */\n items: Record<string, ComposedItem[]>;\n /** Merged by alias into the org data-source library. */\n dataSources: ComposedDataSource[];\n pages: ComposedPage[];\n /** Header + footer: root nodes carry `isGlobal` and `globalPosition`. */\n globals: SerializedNode[];\n routes: ComposedRoute[];\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n}\n\n/** `{sampleImage:k}` — a bundled abstract sample image, never a stock photo (plan §6b). */\nexport const SAMPLE_IMAGE_REF = /^\\{sampleImage:(\\d+)\\}$/;\nconst SAMPLE_IMAGE_TEMPLATE = /\\{sampleImage:n(?:\\+(\\d+))?\\}/g;\nconst ITEM_NUMBER = /\\{n\\}/g;\n\nexport function sampleImageRef(index: number): string {\n return `{sampleImage:${index}}`;\n}\n\n/** The 1-based index a `{sampleImage:k}` value names, or null. */\nexport function parseSampleImageRef(value: unknown): number | null {\n const m = typeof value === 'string' ? SAMPLE_IMAGE_REF.exec(value) : null;\n return m ? Number(m[1]) : null;\n}\n\n/** The prop a pattern's `text` / slot / fact fills, per type. */\nconst TEXT_PROP: Readonly<Record<string, string>> = {\n Heading: 'content',\n Text: 'content',\n Link: 'label',\n SubmitButton: 'label',\n};\n/** The prop a pattern's `bind` binds, per type. */\nconst BIND_PROP: Readonly<Record<string, string>> = {\n Heading: 'content',\n Text: 'content',\n Link: 'label',\n Image: 'src',\n};\n/** Where each linking type writes a page link and an external URL (a ButtonBlock links only as an `<a>`). */\ninterface LinkSlots { url: string; fixed?: Readonly<Record<string, string>>; }\nconst LINK_SLOTS: Readonly<Record<string, LinkSlots>> = {\n Link: { url: 'url' },\n LinkedContainer: { url: 'url' },\n ButtonBlock: { url: 'href', fixed: { tag: 'a' } },\n // A Card v2 links as a whole through its TITLE (the stretched link): the Heading carries the link.\n Heading: { url: 'url' },\n};\n/** What a linked box becomes when its link has nowhere to go: the same box, unlinked. */\nconst UNLINKED_TYPE: Readonly<Record<string, string>> = { LinkedContainer: 'Container' };\nconst BUTTON_BLOCK = 'ButtonBlock';\nconst FORM = 'Form';\nconst FIELD = 'Field';\nconst IMAGE = 'Image';\nconst VIDEO = 'Video';\n/** A Video's source prop (media-core `VideoTrait.Source` — not `source`, which names a data source). */\nconst VIDEO_SOURCE_PROP = 'videoSource';\nconst DIALOG = 'Dialog';\nconst SUBMIT_BUTTON = 'SubmitButton';\nconst FORM_SUCCESS = 'FormSuccess';\nconst FORM_ERROR = 'FormError';\nconst FORM_STATE_BLOCKS = [FORM_SUCCESS, FORM_ERROR];\n/** The Field traits a preset field fills, 1:1 (`FormPresetField`). */\nconst PRESET_FIELD_PROPS: ReadonlyArray<keyof FormPresetField> = ['label', 'control', 'required', 'help', 'placeholder', 'optionsText', 'rows'];\nconst LABEL_TAG = 'span';\nconst TEXT = 'Text';\n/** A button's label reads the button's own type and ink (contract element style, W1.1 Q6). */\nconst BUTTON_LABEL_STYLE = 'button-label';\nconst ITEM_VALUE_PATH = '$';\nconst STATUS_DRAFT = 'draft';\nconst MAILTO = 'mailto:';\n/** A pattern's `alt: ''` — the image is decorative and its alt is written empty. */\nconst DECORATIVE_ALT = '';\n/** What the composer writes for every node: the pattern owns the box (W1.1, Q1). */\nconst COMPOSED = { releaseLayoutDefaults: true };\n/** The words a pattern may leave for compose time: the year (`ComposeContext`) and the business name. */\nconst TEXT_VARIABLE = /\\{(year|business\\.name)\\}/g;\n/** What `page.*` may read on a node stamped for a navigation page. */\nconst STAMPED_PAGE_FIELDS: ReadonlySet<string> = new Set(['name', 'route']);\n\nconst clone = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\n/** 32-bit FNV-1a, base 36 — a short stable id fragment. */\nfunction stableHash(text: string): string {\n let h = 0x811c9dc5;\n for (let i = 0; i < text.length; i++) {\n h ^= text.charCodeAt(i);\n h = Math.imul(h, 0x01000193) >>> 0;\n }\n return h.toString(36).padStart(7, '0').slice(-6);\n}\n\nconst create = (id: string, type: string, props: Record<string, unknown> = {}, elementStyle?: string | null) =>\n createSerializedNode(id, type, props, elementStyle, COMPOSED);\n\ninterface RepeaterScope {\n /** The alias a row's children bind (`repeaterItemAlias`: the iterate-path's last segment, else the source). */\n itemAlias: string;\n}\n\ninterface Ctx {\n owner: string;\n page: PagePlan | null;\n section: PageSectionPlan | null;\n plan: SitePlan;\n year: number;\n /** The business email a dangling link is pointed at, when the customer gave one. */\n email: string | null;\n /** The navigation page an `each: $navPages` node is being stamped for. */\n navPage: PagePlan | null;\n /** `next.*` → this alias. */\n nextAlias: string | null;\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n routes: ReadonlySet<string>;\n /** CC3: nodes whose click opens the pattern's lightbox (`opens`), wired once the pattern is stamped. */\n openers?: string[];\n /** CC4b: nodes shown while an option is on (`shownWhen`), wired once the pattern is stamped. */\n shownWhen?: ShownWhen[];\n /** A section inserted from the palette (`composeSection`): a button to a page the studio lacks keeps its words,\n * unlinked — the author links it — instead of being removed. */\n keepButtons?: boolean;\n}\n\ninterface ShownWhen {\n id: string;\n key: string;\n /** The display the node shows with (its own layout's, else flex). */\n display: string;\n}\n\nfunction nonEmpty(v: unknown): v is string {\n return typeof v === 'string' && v.trim() !== '';\n}\n\n/** A pattern's own words with the compose-time variables filled: `{year}`, `{business.name}`. */\nfunction fillVariables(text: string, ctx: Ctx): string {\n return text.replace(TEXT_VARIABLE, (_m, name: string) => (name === 'year' ? String(ctx.year) : ctx.plan.business.name));\n}\n\ninterface TextChoice {\n value?: string;\n placeholder?: { kind: PlaceholderKind; fact?: FactKey };\n}\n\n/** Where a node's words come from: the plan's slot → the business → the customer's fact → the pattern's\n * own text. A missing fact shows its label and is a placeholder; nothing is ever made up. */\nfunction chooseText(pn: PatternNode, ctx: Ctx): TextChoice {\n const fact = pn.ph && (FACT_KEYS as ReadonlyArray<string>).includes(pn.ph) ? pn.ph as FactKey : null;\n const slotValue = pn.slot ? ctx.section?.slots?.[pn.slot] : undefined;\n if (nonEmpty(slotValue)) return { value: slotValue };\n if (pn.fromBusiness) {\n const v = (ctx.plan.business as unknown as Record<string, unknown>)[pn.fromBusiness];\n if (nonEmpty(v)) return { value: v };\n }\n if (fact) {\n const given = ctx.plan.business.facts?.[fact];\n return nonEmpty(given) ? { value: given } : { value: SITE_FACT_LABELS[fact], placeholder: { kind: PlaceholderKind.Fact, fact } };\n }\n const own = pn.text === undefined ? undefined : fillVariables(pn.text, ctx);\n if (pn.ph === PatternPlaceholder.Copy) return { value: own, placeholder: { kind: PlaceholderKind.Copy } };\n if (pn.ph === PatternPlaceholder.Price) return { value: own, placeholder: { kind: PlaceholderKind.Price } };\n return { value: own };\n}\n\n/** A `bind` / `alt` / `param` / `src` path → the binding source + path, in this node's scope. */\nfunction resolveScoped(path: string, repeater: RepeaterScope | null, ctx: Ctx, nodeId: string): { source: string; path: string } {\n const [scope, ...rest] = path.split('.');\n const sub = rest.join('.');\n switch (scope) {\n case BindScope.Item:\n if (!repeater) throw new ComposeError(`${nodeId}: \"${path}\" outside a Repeater`);\n return { source: repeater.itemAlias, path: sub || ITEM_VALUE_PATH };\n case BindScope.Route:\n if (!ctx.page?.routeSource) throw new ComposeError(`${nodeId}: \"${path}\" on a page with no routeSource`);\n return { source: ctx.page.routeSource, path: sub || ITEM_VALUE_PATH };\n case BindScope.Next:\n if (!ctx.nextAlias) throw new ComposeError(`${nodeId}: \"${path}\" with no next-sibling source`);\n return { source: ctx.nextAlias, path: sub || ITEM_VALUE_PATH };\n default:\n throw new ComposeError(`${nodeId}: unknown binding scope \"${scope}\"`);\n }\n}\n\n/** `page.<field>` on a node stamped for a navigation page: that page's own words, written in. */\nfunction stampedPageValue(path: string, ctx: Ctx, nodeId: string): string {\n const field = path.split('.').slice(1).join('.');\n if (!ctx.navPage) throw new ComposeError(`${nodeId}: \"${path}\" on a node that is not stamped per page (each)`);\n if (!STAMPED_PAGE_FIELDS.has(field)) throw new ComposeError(`${nodeId}: a page has no \"${field}\" (${[...STAMPED_PAGE_FIELDS].join(', ')})`);\n return (ctx.navPage as unknown as Record<string, string>)[field];\n}\n\nconst isPageScope = (path: string | undefined) => !!path && path.split('.')[0] === BindScope.Page;\n\n/** The content type behind a data source alias (a relative source reads its `within` list's type). */\nfunction contentTypeOfSource(alias: string, plan: SitePlan): ContentTypePlan | undefined {\n const ds = plan.dataSources.find(d => d.alias === alias);\n if (!ds) return undefined;\n if (ds.type === PlanDataSourceType.Relative) return contentTypeOfSource(ds.within, plan);\n return plan.contentTypes.find(t => t.name === ds.contentType);\n}\n\nfunction addBinding(node: SerializedNode, binding: SerializedBinding): void {\n const declared = NODE_BASELINES[node.type]?.traits ?? [];\n if (!declared.includes(binding.prop) && !binding.prop.startsWith('routeParam:')) {\n throw new ComposeError(`${node.type} has no trait \"${binding.prop}\" to bind`);\n }\n node.bindings.push(binding);\n}\n\nfunction assertTraits(type: string, names: ReadonlyArray<string>): void {\n const declared = NODE_BASELINES[type]?.traits ?? [];\n for (const name of names) if (!declared.includes(name)) throw new ComposeError(`${type} has no trait \"${name}\"`);\n}\n\nfunction setProp(node: SerializedNode, name: string, value: unknown): void {\n assertTraits(node.type, [name]);\n node.props[name] = value;\n}\n\nfunction linkSlots(node: SerializedNode): LinkSlots {\n const slots = LINK_SLOTS[node.type];\n if (!slots) throw new ComposeError(`${node.id}: ${node.type} cannot link`);\n return slots;\n}\n\n/** A link to one of the site's pages, by route — the builder shows the route, the engine resolves it. */\nfunction writePageLink(node: SerializedNode, route: string): void {\n const slots = linkSlots(node);\n for (const [k, v] of Object.entries(slots.fixed ?? {})) setProp(node, k, v);\n setProp(node, 'linkType', LinkType.Page);\n setProp(node, 'pageRoute', route);\n}\n\nfunction writeExternalLink(node: SerializedNode, url: string): void {\n const slots = linkSlots(node);\n for (const [k, v] of Object.entries(slots.fixed ?? {})) setProp(node, k, v);\n setProp(node, 'linkType', LinkType.External);\n setProp(node, slots.url, url);\n}\n\n/** What happens to a node linking to a route the plan has no page for (W1.1, Q11) — the same rule for\n * every pattern and every page: an email to the business when one is given; else a link or button is\n * removed and a linked box keeps its contents, unlinked. */\nenum DanglingFate {\n Email = 'email',\n Remove = 'remove',\n Unlink = 'unlink',\n}\n\nfunction danglingFate(pn: PatternNode, ctx: Ctx): DanglingFate | null {\n if (!pn.href || pn.href === PatternDirective.PageRoute || ctx.routes.has(pn.href)) return null;\n if (ctx.email) return DanglingFate.Email;\n return UNLINKED_TYPE[pn.t] || (ctx.keepButtons && pn.t === BUTTON_BLOCK) ? DanglingFate.Unlink : DanglingFate.Remove;\n}\n\nconst DANGLING_ISSUE: Readonly<Record<DanglingFate, ComposeIssueCode>> = {\n [DanglingFate.Email]: ComposeIssueCode.LinkToEmail,\n [DanglingFate.Remove]: ComposeIssueCode.LinkRemoved,\n [DanglingFate.Unlink]: ComposeIssueCode.LinkUnlinked,\n};\n\nfunction reportDangling(fate: DanglingFate, pn: PatternNode, id: string, words: string | undefined, ctx: Ctx): void {\n const what = words ? `\"${words}\"` : `A ${pn.t === BUTTON_BLOCK ? 'button' : 'link'}`;\n const outcome = {\n [DanglingFate.Email]: `it now opens an email to ${ctx.email}`,\n [DanglingFate.Remove]: 'with no email address to send to instead, it was removed',\n [DanglingFate.Unlink]: pn.t === BUTTON_BLOCK\n ? 'with no email address to send to instead, the button keeps its words without the link'\n : 'with no email address to send to instead, the box keeps its contents without the link',\n }[fate];\n ctx.issues.push({\n code: DANGLING_ISSUE[fate], nodeId: id, owner: ctx.owner, route: pn.href,\n detail: `${what} linked to ${pn.href}, which this site has no page for — ${outcome}.`,\n });\n}\n\n/** The alt binding of a bound Image: the pattern's `alt`, else the bound item's preview text field. */\nfunction altBinding(pn: PatternNode, repeater: RepeaterScope | null, ctx: Ctx, id: string): { source: string; path: string } {\n if (pn.alt) return resolveScoped(pn.alt, repeater, ctx, id);\n const bound = resolveScoped(pn.bind as string, repeater, ctx, id);\n const field = contentTypeOfSource(bound.source, ctx.plan)?.previewTextField;\n if (!field) throw new ComposeError(`${id}: a bound image needs an alt — the pattern names none and \"${bound.source}\" has no previewTextField`);\n return { source: bound.source, path: field };\n}\n\n/** A preset Form's children — the forms-core preset's fields, submit and the WORDS of both state blocks. */\nfunction presetChildren(preset: FormPresetDef, id: string): SerializedNode[] {\n const fields = preset.fields.map((f, i) => {\n const props = Object.fromEntries(PRESET_FIELD_PROPS.filter(k => f[k] !== undefined).map(k => [k, f[k]]));\n assertTraits(FIELD, Object.keys(props));\n return create(`${id}-${i}`, FIELD, props);\n });\n const n = fields.length;\n const submit = create(`${id}-${n}`, SUBMIT_BUTTON, { label: preset.submitLabel });\n const blocks = [[FORM_SUCCESS, preset.successText], [FORM_ERROR, preset.errorText]].map(([type, words], i) => {\n const block = create(`${id}-${n + 1 + i}`, type);\n block.children = [create(`${id}-${n + 1 + i}-0`, TEXT, { content: words })];\n return block;\n });\n return [...fields, submit, ...blocks];\n}\n\n/** A Form: its stable id, its preset's name and children (or the pattern's own children), and both state\n * blocks — never optional (forms plan D7). */\nfunction composeForm(node: SerializedNode, pn: PatternNode, id: string, ctx: Ctx): void {\n if (!pn.preset) {\n node.children = [...(node.children ?? []), ...FORM_STATE_BLOCKS.map((type, i) => create(`${id}-${(pn.c?.length ?? 0) + i}`, type))];\n return;\n }\n const preset = formPresetById(pn.preset);\n if (!preset) throw new ComposeError(`${id}: no form preset \"${pn.preset}\" in forms-core`);\n if (pn.c?.length) throw new ComposeError(`${id}: a preset Form takes its fields from the preset, not the pattern`);\n setProp(node, 'name', preset.formName);\n setProp(node, 'formId', `${preset.id}-${stableHash(`${ctx.owner}/${id}`)}`);\n node.children = presetChildren(preset, id);\n}\n\n/** A pattern node's children; an `each` child is stamped once per navigation page, its id carrying the\n * page key so it survives a page being left out or reordered. */\nfunction composeChildren(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode[] {\n const out: SerializedNode[] = [];\n (pn.c ?? []).forEach((child, i) => {\n const childId = `${id}-${i}`;\n if (!child.each) {\n const node = composeNode(child, childId, repeater, ctx);\n if (node) out.push(node);\n return;\n }\n if (child.each !== PatternDirective.NavPages) throw new ComposeError(`${childId}: \"each\" stamps \"${PatternDirective.NavPages}\" only`);\n for (const page of ctx.plan.pages.filter(p => p.inNav)) {\n const node = composeNode(child, `${childId}-${page.key}`, repeater, { ...ctx, navPage: page });\n if (node) out.push(node);\n }\n });\n return out;\n}\n\n/** One pattern node → one serialized node (and its subtree). `null` when the section leaves it out or a\n * dangling link is removed. */\nfunction composeNode(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode | null {\n if (pn.optional && ctx.section?.without?.includes(pn.optional)) return null;\n if (pn.recipe) return composeRecipe(pn, id, repeater, ctx);\n\n const words = chooseText(pn, ctx);\n const fate = danglingFate(pn, ctx);\n if (fate === DanglingFate.Remove) {\n reportDangling(fate, pn, id, words.value, ctx);\n return null;\n }\n const type = fate === DanglingFate.Unlink ? UNLINKED_TYPE[pn.t] ?? pn.t : pn.t;\n\n const props: Record<string, unknown> = {};\n if (pn.level) props['level'] = pn.level;\n if (pn.tag) props['htmlTag'] = pn.tag;\n if (pn.scheme) props['colorScheme'] = pn.scheme;\n if (pn.control) props['control'] = pn.control;\n if (pn.label) props['label'] = pn.label;\n if (pn.required !== undefined) props['required'] = pn.required;\n assertTraits(type, Object.keys(props));\n // Props first: a Heading with no `es` wears its LEVEL's default style.\n const node = create(id, type, props, pn.es ?? null);\n if (pn.role) node.role = pn.role;\n\n // Words.\n if (words.placeholder) {\n const shown = words.value ?? String(NODE_BASELINES[type]?.props[TEXT_PROP[type]] ?? '');\n ctx.placeholders.push({ nodeId: id, owner: ctx.owner, kind: words.placeholder.kind, ...(words.placeholder.fact ? { fact: words.placeholder.fact } : {}), ...(pn.slot ? { slot: pn.slot } : {}), text: shown });\n } else if (words.value === undefined && (pn.slot || pn.fromBusiness)) {\n ctx.issues.push({ code: ComposeIssueCode.UnfilledSlot, nodeId: id, owner: ctx.owner, detail: `no value for ${pn.slot ? `slot \"${pn.slot}\"` : `business \"${pn.fromBusiness}\"`} — keeps the ${type} default` });\n }\n if (words.value !== undefined) {\n if (type === BUTTON_BLOCK) {\n node.children = [create(`${id}-label`, TEXT, { content: words.value, tag: LABEL_TAG }, BUTTON_LABEL_STYLE)];\n } else {\n const prop = TEXT_PROP[type];\n if (!prop) throw new ComposeError(`${id}: ${type} cannot hold text`);\n setProp(node, prop, words.value);\n }\n }\n\n // CC3: a Video in background mode is an uploaded file's; its clip is the studio's own (a placeholder until then).\n if (pn.video) {\n if (type !== VIDEO) throw new ComposeError(`${id}: \"video\" belongs on a Video`);\n setProp(node, VIDEO_SOURCE_PROP, 'file');\n setProp(node, 'mode', pn.video);\n }\n if (pn.ph === PatternPlaceholder.Video) {\n setProp(node, 'src', '');\n ctx.placeholders.push({ nodeId: id, owner: ctx.owner, kind: PlaceholderKind.Video, text: '' });\n }\n if (pn.name) setProp(node, 'ariaLabel', pn.name);\n if (pn.icon) {\n if (type !== ICON) throw new ComposeError(`${id}: \"icon\" belongs on an Icon`);\n setProp(node, 'iconClass', pn.icon);\n }\n if (pn.layer) node.label = pn.layer;\n if (pn.opens) {\n if (pn.opens !== PatternOpens.Lightbox) throw new ComposeError(`${id}: \"opens\" names the pattern's lightbox`);\n (ctx.openers ??= []).push(id);\n }\n\n // Images: an empty slot, or a bound one — both fall back to the DS3 empty image, never a stock URL.\n if (pn.ph === PatternPlaceholder.Image) {\n setProp(node, 'src', '');\n ctx.placeholders.push({ nodeId: id, owner: ctx.owner, kind: PlaceholderKind.Image, text: '' });\n }\n if (pn.aspect) setStyleProps(node, { aspectRatio: pn.aspect });\n\n // Links.\n if (pn.href === PatternDirective.PageRoute) {\n writePageLink(node, stampedPageValue(`${BindScope.Page}.route`, ctx, id));\n } else if (pn.href && !fate) {\n writePageLink(node, pn.href);\n } else if (fate) {\n if (fate === DanglingFate.Email) writeExternalLink(node, `${MAILTO}${ctx.email}`);\n reportDangling(fate, pn, id, words.value, ctx);\n }\n if (pn.param && !fate) {\n const names = pn.href ? routeParams(pn.href) : [];\n if (names.length !== 1) throw new ComposeError(`${id}: \"param\" needs an href with one :param`);\n addBinding(node, { prop: `routeParam:${names[0]}`, ...resolveScoped(pn.param, repeater, ctx, id) });\n }\n if (pn.bind) {\n const prop = BIND_PROP[type];\n if (!prop) throw new ComposeError(`${id}: ${type} has no bindable value`);\n if (isPageScope(pn.bind)) setProp(node, prop, stampedPageValue(pn.bind, ctx, id));\n else addBinding(node, { prop, ...resolveScoped(pn.bind, repeater, ctx, id) });\n }\n if (type === IMAGE && pn.bind && !isPageScope(pn.bind)) {\n setProp(node, 'src', '');\n if (pn.alt === DECORATIVE_ALT) setProp(node, 'alt', DECORATIVE_ALT);\n else addBinding(node, { prop: 'alt', ...altBinding(pn, repeater, ctx, id) });\n } else if (pn.alt !== undefined) {\n throw new ComposeError(`${id}: \"alt\" belongs on a bound Image`);\n }\n\n // Layout.\n applyLayout(node, pn);\n if (pn.shownWhen) hideUntilOn(node, pn, ctx);\n\n // A Repeater's rows.\n let rowScope = repeater;\n if (pn.src) {\n let binding: SerializedBinding;\n if (pn.src === PatternDirective.Binding) {\n if (!ctx.section?.binding) throw new ComposeError(`${id}: \"$binding\" with no section binding`);\n binding = { prop: 'source', source: ctx.section.binding, path: '' };\n } else {\n const scoped = resolveScoped(pn.src, repeater, ctx, id);\n binding = { prop: 'source', source: scoped.source, path: scoped.path === ITEM_VALUE_PATH ? '' : scoped.path };\n }\n addBinding(node, binding);\n const lastSegment = binding.path.split('.').filter(Boolean).pop();\n rowScope = { itemAlias: lastSegment || binding.source };\n }\n\n // Children.\n if (pn.c?.length) {\n if (!node.children) throw new ComposeError(`${id}: ${type} holds no children`);\n node.children = [...node.children, ...composeChildren(pn, id, rowScope, ctx)];\n }\n if (type === FORM) composeForm(node, pn, id, ctx);\n return node;\n}\n\n/** A pattern node's layout: its `lay` styleProps and its per-breakpoint `resp` layers. */\nfunction applyLayout(node: SerializedNode, pn: PatternNode): void {\n if (pn.lay) setStyleProps(node, pn.lay);\n if (pn.resp) {\n for (const layer of Object.values(pn.resp)) assertStyleSlots(node.type, Object.keys(layer));\n node.responsive = Object.fromEntries(Object.entries(pn.resp).map(([bp, styleProps]) => [bp, { styleProps: { ...styleProps } }]));\n }\n}\n\n/** CC4b (`shownWhen`, Q38): hidden at base and shown — with its own layout's display — while the pattern's Segmented\n * option of that key is on. Wired once the pattern is stamped (the option's id is known then). */\nfunction hideUntilOn(node: SerializedNode, pn: PatternNode, ctx: Ctx): void {\n const display = String(node.styleProps['display'] ?? '') || SHOWN_DISPLAY;\n setStyleProps(node, { display: HIDDEN_DISPLAY });\n (ctx.shownWhen ??= []).push({ id: node.id, key: pn.shownWhen!, display });\n}\n\n/** CC4b: every `shownWhen` node of a stamped pattern follows its option — the targeted `trigger-on` (\"when Yearly is\n * on\"), compiled by both renderers to ONE `:has()` rule on the nearest common ancestor. */\nfunction wireShownWhen(root: SerializedNode, entries: ReadonlyArray<ShownWhen>): void {\n if (!entries.length) return;\n const nodes = new Map<string, SerializedNode>();\n const options = new Map<string, string>();\n const visit = (n: SerializedNode) => {\n nodes.set(n.id, n);\n for (const option of segmentedOptions(n as unknown as CompositeNode)) if (option.itemKey && !options.has(option.itemKey)) options.set(option.itemKey, option.id!);\n (n.children ?? []).forEach(visit);\n };\n visit(root);\n for (const entry of entries) {\n const option = options.get(entry.key);\n if (!option) throw new ComposeError(`${entry.id}: \"shownWhen: ${entry.key}\" names no option of a segmented in the pattern`);\n const node = nodes.get(entry.id)!;\n node.stateStyles = { ...(node.stateStyles ?? {}), [ITEM_OPEN_STATE]: { display: entry.display } };\n node.stateTriggers = { ...(node.stateTriggers ?? {}), [ITEM_OPEN_STATE]: option };\n }\n}\n\n/** A Card v2 `binds` key → the part it binds and that part's bound prop. */\nconst CARD_BINDS: Readonly<Record<CardBindTarget, { role: CardRole; prop: string }>> = {\n [CardBindTarget.Image]: { role: CardRole.Media, prop: 'src' },\n [CardBindTarget.Eyebrow]: { role: CardRole.Eyebrow, prop: 'content' },\n [CardBindTarget.Title]: { role: CardRole.Title, prop: 'content' },\n [CardBindTarget.Text]: { role: CardRole.Text, prop: 'content' },\n};\n\n/**\n * A `recipe` node: the composite-core recipe, stamped whole with THIS composer's node factory — the same\n * recipe the builder's palette stamps with its own — then bound part by part, and linked as a whole card\n * through its title (`href` + `param`, the stretched link). Ids derive from the recipe's keys.\n */\nfunction composeRecipe(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode {\n if (pn.recipe === PatternRecipe.Accordion) return composeAccordion(pn, id, ctx);\n if (pn.recipe === PatternRecipe.Tabs) return composeTabs(pn, id, ctx);\n if (pn.recipe === PatternRecipe.Carousel) return composeCarousel(pn, id, ctx);\n if (pn.recipe === PatternRecipe.Lightbox) return composeLightbox(pn, id, repeater, ctx);\n if (pn.recipe === PatternRecipe.Segmented) return composeSegmented(pn, id);\n if (pn.recipe !== PatternRecipe.Card) throw new ComposeError(`${id}: no recipe \"${pn.recipe}\" in composite-core`);\n const layout = (pn.layout ?? CardLayout.Top) as CardLayout;\n if (!CARD_LAYOUTS.includes(layout)) throw new ComposeError(`${id}: a card has no layout \"${pn.layout}\"`);\n for (const part of Object.keys(pn.parts ?? {})) {\n if (!CARD_PARTS.includes(part as CardPart)) throw new ComposeError(`${id}: a card has no part \"${part}\"`);\n }\n const factory = (spec: CompositeNodeSpec): CompositeNode =>\n create(spec.key === CardRole.Card ? id : `${id}-${spec.key}`, spec.type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n const tone = pn.badge as BadgeTone | undefined;\n if (tone && !BADGE_TONES.includes(tone)) throw new ComposeError(`${id}: a badge has no tone \"${pn.badge}\"`);\n for (const key of Object.keys(pn.words ?? {})) if (!CARD_WORD_KEYS.includes(key)) throw new ComposeError(`${id}: a card has no words \"${key}\"`);\n const card = buildCardRecipe(factory, {\n layout, parts: pn.parts as Partial<Record<CardPart, boolean>>, words: pn.words as Partial<CardWords> | undefined, badgeTone: tone,\n ...(pn.icon ? { badgeIcon: pn.icon } : {}),\n }) as SerializedNode;\n if (pn.scheme) {\n if (!COLOR_SCHEMES.some(c => c.id === pn.scheme)) throw new ComposeError(`${id}: no colour scheme \"${pn.scheme}\"`);\n setColorScheme(card, pn.scheme);\n }\n if (pn.ph === PatternPlaceholder.Copy) copyPlaceholders(card, ctx);\n if (pn.c?.length) {\n const content = findByRole(card as CompositeNode, CardRole.Content) as SerializedNode;\n content.children = [...(content.children ?? []), ...composeChildren(pn, id, repeater, ctx)];\n }\n\n for (const [key, path] of Object.entries(pn.binds ?? {})) {\n const target = CARD_BINDS[key as CardBindTarget];\n if (!target) throw new ComposeError(`${id}: a card cannot bind \"${key}\"`);\n const part = findByRole(card as CompositeNode, target.role) as SerializedNode | undefined;\n if (!part) throw new ComposeError(`${id}: \"${key}\" binds a part the card leaves out`);\n const node = target.role === CardRole.Media ? part.children?.find(c => c.type === IMAGE) : part;\n if (!node) throw new ComposeError(`${id}: the card's media holds no image`);\n addBinding(node, { prop: target.prop, ...resolveScoped(path, repeater, ctx, id) });\n if (node.type === IMAGE) addBinding(node, { prop: 'alt', ...altBinding({ ...pn, t: IMAGE, bind: path, alt: undefined }, repeater, ctx, id) });\n }\n\n const fate = danglingFate({ ...pn, t: 'Heading' }, ctx);\n const title = findByRole(card as CompositeNode, CardRole.Title) as SerializedNode;\n if (pn.href && !fate) writePageLink(title, pn.href);\n else if (fate) {\n if (fate === DanglingFate.Email) writeExternalLink(title, `${MAILTO}${ctx.email}`);\n reportDangling(fate === DanglingFate.Remove ? DanglingFate.Unlink : fate, pn, id, undefined, ctx);\n }\n if (pn.param && !fate) {\n const names = pn.href ? routeParams(pn.href) : [];\n if (names.length !== 1) throw new ComposeError(`${id}: \"param\" needs an href with one :param`);\n addBinding(title, { prop: `routeParam:${names[0]}`, ...resolveScoped(pn.param, repeater, ctx, id) });\n }\n return card;\n}\n\nconst REPEATER = 'Repeater';\nconst ICON = 'Icon';\nconst SHOWN_DISPLAY = 'flex';\nconst HIDDEN_DISPLAY = 'none';\n/** The words a card recipe's `words` may set (composite-core `CardWords`). */\nconst CARD_WORD_KEYS: ReadonlyArray<string> = ['eyebrow', 'title', 'text', 'primary', 'secondary', 'badge'];\n/** A card's words the studio rewrites (`ph: 'copy'`): its eyebrow, title, text and badge. */\nconst CARD_COPY_ROLES: ReadonlyArray<string> = [CardRole.Eyebrow, CardRole.Title, CardRole.Text];\n\n/** A card's own words, as COPY placeholders (its badge's words too). */\nfunction copyPlaceholders(card: SerializedNode, ctx: Ctx): void {\n for (const role of CARD_COPY_ROLES) {\n const part = findByRole(card as unknown as CompositeNode, role) as SerializedNode | undefined;\n if (part) ctx.placeholders.push({ nodeId: part.id, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(part.props?.['content'] ?? '') });\n }\n const badge = findByRole(card as unknown as CompositeNode, CardRole.Badge) as SerializedNode | undefined;\n const words = badge?.children?.find(c => c.type === TEXT);\n if (words) ctx.placeholders.push({ nodeId: words.id, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(words.props?.['content'] ?? '') });\n}\n\n/** CC4b: the Segmented control — composite-core's recipe (Monthly · Yearly), named by the pattern, laid out by it. */\nfunction composeSegmented(pn: PatternNode, id: string): SerializedNode {\n const root = buildSegmentedRecipe(recipeFactory(id, 'segmented'), pn.name !== undefined ? { label: pn.name } : {}) as SerializedNode;\n applyLayout(root, pn);\n return root;\n}\n\n/**\n * An Accordion (CC2) — the composite-core recipe stamped with this composer's factory. Manual (no section\n * binding): three items whose questions and answers are placeholders the studio rewrites (`ph: 'copy'`), never\n * invented answers. From content (the section names a list `binding` — R3's AI path): the root is a Repeater\n * over that list holding ONE template item, its question and answer bound to the content type's first\n * short-text and first long-text fields (`pickAccordionAutoBinds`, the builder switch's rule), limit 20.\n */\nfunction composeAccordion(pn: PatternNode, id: string, ctx: Ctx): SerializedNode {\n const binding = pn.src === PatternDirective.OptionalBinding || pn.src === PatternDirective.Binding ? ctx.section?.binding ?? null : null;\n if (pn.src === PatternDirective.Binding && !binding) throw new ComposeError(`${id}: \"$binding\" with no section binding`);\n const factory = (spec: CompositeNodeSpec): CompositeNode => {\n const isRoot = spec.key === AccordionRole.Accordion;\n const type = isRoot && binding ? REPEATER : spec.type;\n return create(isRoot ? id : `${id}-${spec.key}`, type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n };\n const root = buildAccordionRecipe(factory, binding ? { items: ACCORDION_WORDS.slice(0, 1) } : {}) as SerializedNode;\n if (!binding) {\n if (pn.ph === PatternPlaceholder.Copy) {\n for (const item of accordionItems(root as CompositeNode)) {\n for (const part of [accordionQuestionOf(item), accordionAnswerOf(item)]) {\n if (part) ctx.placeholders.push({ nodeId: part.id!, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(part.props?.[ACCORDION_BIND_PROP] ?? '') });\n }\n }\n }\n return root;\n }\n const source = ctx.plan.dataSources.find(d => d.alias === binding);\n const type = source && 'contentType' in source ? ctx.plan.contentTypes.find(t => t.name === source.contentType) : undefined;\n const picks = pickAccordionAutoBinds((type?.fields ?? []).map(f => ({ name: f.name, type: f.type, controller: f.controller })));\n if (!picks.question || !picks.answer) {\n throw new ComposeError(`${id}: \"${binding}\" has no short-text field for the question and long-text field for the answer`);\n }\n addBinding(root, { prop: 'source', source: binding, path: '' });\n setProp(root, 'limit', ACCORDION_CONTENT_LIMIT);\n const [template] = accordionItems(root as CompositeNode);\n delete template.itemKey;\n addBinding(accordionQuestionOf(template) as SerializedNode, { prop: ACCORDION_BIND_PROP, source: binding, path: picks.question });\n addBinding(accordionAnswerOf(template) as SerializedNode, { prop: ACCORDION_BIND_PROP, source: binding, path: picks.answer });\n return root;\n}\n\n/** The content type a section binding lists, through its data source. */\nfunction boundContentType(binding: string, ctx: Ctx): ContentTypePlan | undefined {\n const source = ctx.plan.dataSources.find(d => d.alias === binding);\n return source && 'contentType' in source ? ctx.plan.contentTypes.find(t => t.name === source.contentType) : undefined;\n}\n\nconst TABS_ROOT_KEY = 'tabs';\nconst TABS_HOLDER_KEYS: ReadonlySet<string> = new Set(['list', 'panels']);\n\n/**\n * Tabs (CC4a) — the composite-core recipe stamped with this composer's factory. Manual (no section binding): three\n * tabs whose words are placeholders the studio rewrites (`ph: 'copy'`) and whose pictures it supplies — never invented.\n * From content (the section names a list `binding`, R3's AI path): the tab list and the panels holder are BOTH\n * Repeaters over that list, each holding its one template (one row → its tab AND its panel, paired by the row's id at\n * render), the tab's words, the panel's words and its picture bound to the type's first short-text, long-text and image\n * fields (`pickTabsAutoBinds`, the builder switch's rule), limit 6. The tab list is named by the pattern's `name`.\n */\nfunction composeTabs(pn: PatternNode, id: string, ctx: Ctx): SerializedNode {\n const binding = pn.src === PatternDirective.OptionalBinding || pn.src === PatternDirective.Binding ? ctx.section?.binding ?? null : null;\n if (pn.src === PatternDirective.Binding && !binding) throw new ComposeError(`${id}: \"$binding\" with no section binding`);\n const factory = (spec: CompositeNodeSpec): CompositeNode => {\n const type = binding && TABS_HOLDER_KEYS.has(spec.key) ? REPEATER : spec.type;\n return create(spec.key === TABS_ROOT_KEY ? id : `${id}-${spec.key}`, type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n };\n const root = buildTabsRecipe(factory, { tabs: binding ? TABS_WORDS.slice(0, 1) : undefined, label: pn.name }) as SerializedNode;\n const tree = root as CompositeNode;\n if (!binding) {\n if (pn.ph === PatternPlaceholder.Copy) {\n for (const tab of tabsTriggers(tree)) {\n const words = tabLabelNodeOf(tab);\n if (words) ctx.placeholders.push({ nodeId: words.id!, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(words.props?.[TABS_LABEL_BIND_PROP] ?? '') });\n }\n for (const panel of tabsPanels(tree)) {\n const text = tabPanelTextOf(panel);\n if (text) ctx.placeholders.push({ nodeId: text.id!, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(text.props?.[TABS_TEXT_BIND_PROP] ?? '') });\n const image = tabPanelImageOf(panel);\n if (image) ctx.placeholders.push({ nodeId: image.id!, owner: ctx.owner, kind: PlaceholderKind.Image, text: '' });\n }\n }\n return root;\n }\n const type = boundContentType(binding, ctx);\n const picks = pickTabsAutoBinds((type?.fields ?? []).map(f => ({ name: f.name, type: f.type, controller: f.controller })));\n if (!picks.label || !picks.text) {\n throw new ComposeError(`${id}: \"${binding}\" has no short-text field for the tab and long-text field for its panel`);\n }\n for (const holder of [tabsListOf(tree), tabsPanelsOf(tree)] as SerializedNode[]) {\n addBinding(holder, { prop: 'source', source: binding, path: '' });\n setProp(holder, 'limit', TABS_CONTENT_LIMIT);\n }\n const [tab] = tabsTriggers(tree);\n const [panel] = tabsPanels(tree);\n delete tab.itemKey;\n delete panel.itemKey;\n addBinding(tabLabelNodeOf(tab) as SerializedNode, { prop: TABS_LABEL_BIND_PROP, source: binding, path: picks.label });\n addBinding(tabPanelTextOf(panel) as SerializedNode, { prop: TABS_TEXT_BIND_PROP, source: binding, path: picks.text });\n const image = tabPanelImageOf(panel) as SerializedNode | undefined;\n if (image && picks.image) {\n addBinding(image, { prop: TABS_IMAGE_BIND_PROP, source: binding, path: picks.image });\n addBinding(image, { prop: 'alt', source: binding, path: picks.label });\n }\n return root;\n}\n\n/** A recipe's node factory for this composer: ids derive from the recipe's keys (`<id>-<key>`, the root `<id>`). */\nfunction recipeFactory(id: string, rootKey: string): (spec: CompositeNodeSpec) => CompositeNode {\n return spec => create(spec.key === rootKey ? id : `${id}-${spec.key}`, spec.type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n}\n\n/**\n * CC3: the testimonial carousel — composite-core's recipe (the Slider with its control parts), stamped with this\n * composer's factory. Every quote and every \"client · project\" line is a placeholder the studio rewrites (`ph: copy`):\n * testimonials are facts, never invented.\n */\nfunction composeCarousel(pn: PatternNode, id: string, ctx: Ctx): SerializedNode {\n const slider = buildCarouselRecipe(recipeFactory(id, 'carousel')) as SerializedNode;\n if (pn.ph === PatternPlaceholder.Copy) {\n for (const slide of (slider.children ?? []).filter(c => c.type === SLIDE_TYPE)) {\n for (const text of slide.children ?? []) ctx.placeholders.push({ nodeId: text.id, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(text.props?.['content'] ?? '') });\n }\n }\n return slider;\n}\n\n/**\n * CC3: the Lightbox — a Dialog holding a Slider bound to the node's `src` (the gallery's own source): one template\n * slide whose image reads the row (a bare URL row: decorative alt), its arrows hidden on a phone.\n */\nfunction composeLightbox(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode {\n if (!pn.src) throw new ComposeError(`${id}: a lightbox needs the gallery's source (src)`);\n const scoped = resolveScoped(pn.src, repeater, ctx, id);\n const sourcePath = scoped.path === ITEM_VALUE_PATH ? '' : scoped.path;\n return buildLightboxRecipe(recipeFactory(id, 'lightbox'), { source: scoped.source, sourcePath, imageField: 'item' }) as SerializedNode;\n}\n\n/** CC3: every `opens: lightbox` node of a stamped pattern opens the pattern's lightbox at its own row. */\nfunction wireOpeners(root: SerializedNode, openers: ReadonlyArray<string>): void {\n if (!openers.length) return;\n let lightbox: SerializedNode | null = null;\n const find = (n: SerializedNode) => { if (!lightbox && n.type === DIALOG && n.label === LIGHTBOX_LABEL) lightbox = n; (n.children ?? []).forEach(find); };\n find(root);\n if (!lightbox) throw new ComposeError(`${root.id}: \"opens: lightbox\" with no lightbox in the pattern`);\n const target = (lightbox as SerializedNode).id;\n const visit = (n: SerializedNode) => {\n if (openers.includes(n.id)) {\n n.interactions = [{ id: `${n.id}-opens`, trigger: 'click', actions: [{ type: 'openDialog', target, params: { slideTo: SLIDE_TO_ROW }, duration: 0, delay: 0, easing: 'ease' }] }];\n }\n (n.children ?? []).forEach(visit);\n };\n visit(root);\n}\n\nfunction composePattern(pattern: SitePattern, id: string, ctx: Ctx): SerializedNode {\n if (pattern.node.each) throw new ComposeError(`${id}: a pattern's root cannot be stamped per page`);\n const own: Ctx = { ...ctx, openers: [], shownWhen: [] };\n const node = composeNode(pattern.node, id, null, own);\n if (!node) throw new ComposeError(`${id}: a pattern's root cannot be optional or a link`);\n wireOpeners(node, own.openers ?? []);\n wireShownWhen(node, own.shownWhen ?? []);\n node.label = pattern.label;\n return node;\n}\n\nfunction composeDataSource(ds: DataSourcePlan): ComposedDataSource {\n const id = `ds-${ds.alias}`;\n if (ds.type === PlanDataSourceType.Cms) {\n const cms: Record<string, unknown> = { contentType: ds.contentType };\n if (ds.limit !== undefined) cms['limit'] = ds.limit;\n if (ds.filterByRouteParam) cms['filterByRouteParam'] = { ...ds.filterByRouteParam };\n return { id, alias: ds.alias, type: PlanDataSourceType.Cms, mode: ds.mode, request: { cms } };\n }\n const pick = ds.op === RelativeOp.SiblingsNext ? 'next' : 'prev';\n return {\n id, alias: ds.alias, type: PlanDataSourceType.Relative, mode: PlanDataSourceMode.Single,\n request: { relative: { kind: 'siblings', from: ds.within, subjectFrom: ds.of, pick } },\n };\n}\n\nfunction expandSeedValue(value: unknown, n: number): unknown {\n if (Array.isArray(value)) return value.map(v => expandSeedValue(v, n));\n if (typeof value !== 'string') return value;\n return value\n .replace(ITEM_NUMBER, String(n))\n .replace(SAMPLE_IMAGE_TEMPLATE, (_m, plus?: string) => sampleImageRef(n + (plus ? Number(plus) : 0)));\n}\n\nfunction composeItems(type: ContentTypePlan): ComposedItem[] {\n const seed = type.seed;\n if (!seed) return [];\n const items: ComposedItem[] = [];\n for (let n = 1; n <= seed.count; n++) {\n const item: Record<string, unknown> = {};\n for (const field of type.fields) if (field.name in seed) item[field.name] = expandSeedValue(seed[field.name], n);\n items.push({ ...item, isPublished: seed.isPublished, isSample: seed.sample });\n }\n return items;\n}\n\n/**\n * Compose a Site Plan. Throws `SitePlanError` (every issue) when the plan does not validate — the\n * composer never repairs a plan. `context` carries what the composer may not read for itself (the year).\n */\nexport function composeSite(plan: SitePlan, context: ComposeContext): ComposedSite {\n assertValidSitePlan(plan);\n if (!Number.isInteger(context?.year)) throw new ComposeError('composeSite needs the year (ComposeContext.year) — the composer reads no clock');\n const placeholders: ComposedPlaceholder[] = [];\n const issues: ComposeIssue[] = [];\n const routes = new Set(plan.pages.map(p => p.route));\n const relatives = new Map(plan.dataSources.map(d => [d.alias, d.type === PlanDataSourceType.Relative ? { type: d.type, of: d.of, op: d.op } : { type: d.type }]));\n const email = nonEmpty(plan.business.facts?.email) ? plan.business.facts!.email!.trim() : null;\n const base = { plan, placeholders, issues, routes, year: context.year, email, navPage: null };\n\n const pages: ComposedPage[] = plan.pages.map(page => {\n const nextAlias = page.routeSource ? nextSourceOf(relatives, page.routeSource) : null;\n const layout = page.sections.map((section, i) => {\n const pattern = patternById(section.pattern) as SitePattern;\n return composePattern(pattern, `${page.key}-${i}`, { ...base, owner: page.key, page, section, nextAlias });\n });\n return {\n key: page.key,\n name: page.name,\n route: { path: page.route },\n isHome: page.isHome === true,\n status: STATUS_DRAFT,\n pageSettings: { designSystem: true },\n layout,\n };\n });\n\n let globals = Object.values(GlobalSlot).map(slot => {\n const pattern = patternById(plan.globals[slot]) as SitePattern;\n const node = composePattern(pattern, slot, { ...base, owner: slot, page: null, section: null, nextAlias: null });\n node.isGlobal = true;\n node.globalPosition = pattern.global;\n return node;\n });\n // CC1: a header pattern that names its phone shape gets it — the same edit the author's \"Phone menu\"\n // section makes, so the composed header and a hand-switched one are one structure.\n for (const slot of Object.values(GlobalSlot)) {\n const shape = patternById(plan.globals[slot])?.phoneMenu;\n if (shape) globals = planNavShape(globals, shape as NavShape, {}, slot).globals;\n }\n\n return {\n source: clone(plan.source),\n business: clone(plan.business),\n design: resolveDesignChoices(clone(plan.design)),\n schemas: clone(plan.contentTypes) as ContentTypePlan[],\n items: Object.fromEntries(plan.contentTypes.map(t => [t.name, composeItems(t)])),\n dataSources: plan.dataSources.map(composeDataSource),\n pages,\n globals,\n routes: plan.pages.map(p => ({ key: p.key, path: p.route, isHome: p.isHome === true })),\n placeholders,\n issues,\n };\n}\n\n// ── The site header on its own (CC1.1) ──────────────────────────────────────────────────────────\n\n/** The header pattern the Studio template stamps — and the builder palette's \"Navigation bar\". */\nexport const SITE_HEADER_PATTERN = 'nav.inline-cta';\n\n/** A page of the studio as the builder lists it. */\nexport interface SitePageRef {\n readonly name: string;\n readonly route: string;\n readonly isHome?: boolean;\n}\n\n/** What the header is composed from when there is no Site Plan: the studio's name and its pages. */\nexport interface NavHeaderInput {\n readonly business: SiteBusiness;\n /** Every page of the studio, in the order the navigation should list them. */\n readonly pages: ReadonlyArray<SitePageRef>;\n}\n\nexport interface NavHeaderOptions {\n /** The header's id; its parts' ids derive from it (`<id>-0-1-…`), so a fresh id gives fresh parts. */\n readonly id: string;\n /** A phone-shape part's id (the builder passes its id generator). */\n readonly newId?: (suffix: string) => string;\n}\n\nexport interface ComposedNavHeader {\n /** The header — a global BEFORE element — carrying the pattern's phone shape (the drawer). */\n header: SerializedNode;\n issues: ComposeIssue[];\n}\n\nconst ROUTE_PARAM = ':';\nconst HOME_PATH = '/';\nconst KEY_UNSAFE = /[^a-z0-9]+/gi;\n\n/** The pages a navigation links to: every page but Home (the brand links there) and template pages\n * (a `/work/:slug` route has no single address), in the studio's order. */\nexport function siteNavPages(pages: ReadonlyArray<SitePageRef>): SitePageRef[] {\n return pages.filter(p => !!p.route && !p.isHome && p.route !== HOME_PATH && !p.route.includes(ROUTE_PARAM));\n}\n\nfunction navPagePlans(pages: ReadonlyArray<SitePageRef>): PagePlan[] {\n const used = new Set<string>();\n return pages.map((p, i) => {\n let key = p.route.replace(KEY_UNSAFE, '-').replace(/^-+|-+$/g, '').toLowerCase() || `page-${i}`;\n for (let n = 2; used.has(key); n++) key = `${key}-${n}`;\n used.add(key);\n return { key, name: p.name, route: p.route, inNav: true, isHome: p.isHome === true, sections: [] };\n });\n}\n\n/**\n * The Studio template's header, composed for a studio that has no Site Plan — the builder palette's\n * \"Navigation bar\". THE SAME pattern and the same composer as `composeSite`: the brand (the business name),\n * one plain Link per navigation page, the call to action (W1.1's one dangling-link rule when the studio has\n * no /contact page: an email to the business, else removed), and the pattern's phone shape. Pure.\n */\nexport function composeNavHeader(input: NavHeaderInput, options: NavHeaderOptions): ComposedNavHeader {\n if (!nonEmpty(options?.id)) throw new ComposeError('composeNavHeader needs the header id');\n const pattern = patternById(SITE_HEADER_PATTERN) as SitePattern;\n const all = navPagePlans(input.pages);\n const navRoutes = new Set(siteNavPages(input.pages).map(p => p.route));\n const pages = all.map(p => ({ ...p, inNav: navRoutes.has(p.route) }));\n const plan = { business: input.business, pages, dataSources: [], contentTypes: [] } as unknown as SitePlan;\n const email = nonEmpty(input.business.facts?.email) ? input.business.facts!.email!.trim() : null;\n const issues: ComposeIssue[] = [];\n const ctx: Ctx = {\n owner: GlobalSlot.Header, page: null, section: null, plan, year: 0, email, navPage: null, nextAlias: null,\n placeholders: [], issues, routes: new Set(pages.map(p => p.route)),\n };\n const root = composePattern(pattern, options.id, ctx);\n root.isGlobal = true;\n root.globalPosition = pattern.global;\n const shape = pattern.phoneMenu as NavShape | undefined;\n const header = shape ? planNavShape([root], shape, { newId: options.newId }, root.id).globals[0] : root;\n return { header, issues };\n}\n\n// ── One pattern on its own (CC4b) ───────────────────────────────────────────────────────────────\n\n/** The pricing section (CC4b, board 10): plans with a Monthly / Yearly switch — the library and the palette, never a\n * Studio page (Q35). */\nexport const PRICING_PATTERN = 'pricing.tiers';\n\n/** What a section is composed from when there is no Site Plan: the studio's name, its pages (the routes a link may\n * reach) and its facts. */\nexport interface SectionInput {\n readonly business?: SiteBusiness;\n readonly pages?: ReadonlyArray<SitePageRef>;\n}\n\nexport interface SectionOptions {\n /** The section's id; its parts' ids derive from it (`<id>-0-1-…`), so a fresh id gives fresh parts. */\n readonly id: string;\n}\n\nexport interface ComposedSection {\n section: SerializedNode;\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n}\n\n/**\n * ONE library pattern composed on its own — the builder palette's ready-made sections (CC4b: \"Pricing\", the\n * `pricing.tiers` pattern). THE SAME pattern and composer as `composeSite`: its words, its placeholders (a price shows\n * its label, never a number) and the one dangling-link rule — except a button to a page the studio lacks keeps its\n * words, unlinked, for the author to link. Pure.\n */\nexport function composeSection(patternId: string, input: SectionInput, options: SectionOptions): ComposedSection {\n if (!nonEmpty(options?.id)) throw new ComposeError('composeSection needs the section id');\n const pattern = patternById(patternId);\n if (!pattern) throw new ComposeError(`no pattern \"${patternId}\" in the library`);\n if (pattern.global) throw new ComposeError(`\"${patternId}\" is a header or footer — composeNavHeader / composeSite stamp those`);\n const business: SiteBusiness = input.business ?? { name: '' } as SiteBusiness;\n const pages = navPagePlans(input.pages ?? []);\n const plan = { business, pages, dataSources: [], contentTypes: [] } as unknown as SitePlan;\n const email = nonEmpty(business.facts?.email) ? business.facts!.email!.trim() : null;\n const placeholders: ComposedPlaceholder[] = [];\n const issues: ComposeIssue[] = [];\n const ctx: Ctx = {\n owner: options.id, page: null, section: null, plan, year: 0, email, navPage: null, nextAlias: null,\n placeholders, issues, routes: new Set(pages.map(p => p.route)), keepButtons: true,\n };\n const section = composePattern(pattern, options.id, ctx);\n return { section, placeholders, issues };\n}\n","import { AnimateId, SPEC_AXES } from '@vectoriox/iox-ui/design-core';\n\n/**\n * How animated (AI plan rev 3.1 §3p) — the ONE reading of the contract's `axes.animations` (what each level\n * moves, how) and `axes.animationFamilies` (which parts a section family lets move). The pieces every stamper\n * shares: the Design step's business specimen (H4-4) today, `planEntrances` in the composer (M1-6b) next. Pure.\n *\n * A level with `content` moves a section's content together, once; otherwise it names parts (heading, items,\n * media…) and each part enters on its own, items one after another. Navigation, footers and globals are a family\n * with no parts, so nothing there ever moves.\n */\n\nexport enum EntrancePart {\n Content = 'content',\n Heading = 'heading',\n Items = 'items',\n Media = 'media',\n RowMedia = 'rowMedia',\n HeroText = 'heroText',\n}\n\n/** What an entrance stamp is marked with — a later restamp touches only what the look made (H4-5). */\nexport const ENTRANCE_ORIGIN_LOOK = 'look';\n/** The trigger every entrance plays on. */\nexport const ENTRANCE_TRIGGER = 'viewportEnter';\n/** The easing every entrance plays with (only `opacity` and `transform` move). */\nexport const ENTRANCE_EASING = 'ease-out';\n\n/** One entrance as the contract states it. */\nexport interface EntranceSpec {\n readonly type: string;\n readonly duration: number;\n readonly distance?: number;\n /** Items: ms added per item, up to `cap` items. */\n readonly stagger?: number;\n readonly cap?: number;\n /** The type a right-to-left page plays instead (a side-by-side row slides in from ITS side). */\n readonly mirror?: string;\n}\n\n/** What one section family moves at one level. `content` set = the whole content together, and no parts. */\nexport interface SectionEntrances {\n readonly content: EntranceSpec | null;\n readonly parts: Readonly<Partial<Record<EntrancePart, EntranceSpec>>>;\n}\n\n/** The interaction action a stamp carries — the shape both interaction runtimes play. */\nexport interface EntranceAction {\n type: string;\n target: 'self';\n duration: number;\n delay: number;\n easing: typeof ENTRANCE_EASING;\n once: true;\n params?: { distance: number };\n}\n\nexport interface EntranceInteraction {\n id: string;\n trigger: typeof ENTRANCE_TRIGGER;\n actions: [EntranceAction];\n origin: typeof ENTRANCE_ORIGIN_LOOK;\n}\n\ntype Level = Readonly<{ parts: Readonly<Partial<Record<EntrancePart, EntranceSpec>>> }>;\nconst LEVELS = SPEC_AXES.animations as unknown as Readonly<Record<string, Level>>;\nconst FAMILIES = SPEC_AXES.animationFamilies as unknown as Readonly<Record<string, ReadonlyArray<EntrancePart>>>;\n\nconst NOTHING: SectionEntrances = { content: null, parts: {} };\n\n/** What a section of `family` moves at `level` — nothing for an unknown level or family. */\nexport function sectionEntrances(level: AnimateId | string | null | undefined, family: string): SectionEntrances {\n const lv = level ? LEVELS[level] : undefined;\n const allow = FAMILIES[family] ?? [];\n if (!lv || !allow.length) return NOTHING;\n if (lv.parts.content && allow.includes(EntrancePart.Content)) return { content: lv.parts.content, parts: {} };\n const parts: Partial<Record<EntrancePart, EntranceSpec>> = {};\n for (const part of allow) {\n if (part === EntrancePart.Content) continue;\n // A level without its own side-by-side entrance gives a row's picture the plain picture one.\n const spec = lv.parts[part] ?? (part === EntrancePart.RowMedia ? lv.parts.media : undefined);\n if (spec) parts[part] = spec;\n }\n return { content: null, parts };\n}\n\n/** The literal delay of the `index`-th item: `stagger` ms each, the last `cap` waiting no longer than the one before. */\nexport function staggerDelay(spec: EntranceSpec, index = 0): number {\n if (!spec.stagger) return 0;\n const cap = Math.max(1, spec.cap ?? 1);\n return Math.min(Math.max(0, index), cap - 1) * spec.stagger;\n}\n\n/** The action a node plays: the spec's type (mirrored on a right-to-left page), its distance and its delay. */\nexport function entranceAction(spec: EntranceSpec, opts: { index?: number; rtl?: boolean } = {}): EntranceAction {\n return {\n type: opts.rtl && spec.mirror ? spec.mirror : spec.type,\n target: 'self',\n duration: spec.duration,\n delay: staggerDelay(spec, opts.index),\n easing: ENTRANCE_EASING,\n once: true,\n ...(spec.distance ? { params: { distance: spec.distance } } : {}),\n };\n}\n\n/** The stamp on a node: `viewportEnter`, once, on itself (a duplicated node needs no remap), from the look. */\nexport function entranceInteraction(nodeId: string, action: EntranceAction): EntranceInteraction {\n return { id: `${nodeId}-enter`, trigger: ENTRANCE_TRIGGER, actions: [action], origin: ENTRANCE_ORIGIN_LOOK };\n}\n","import { BindScope, patternById, patternNodes, patternScopes } from './patterns';\nimport { CmsDataSourcePlan, DataSourcePlan, PagePlan, PlanDataSourceMode, PlanDataSourceType, SitePlan } from './site-plan.model';\n\n/**\n * What each page of a plan shows and where its data comes from (AI plan rev 3 §3d, `describePlanData`) — the\n * Plan step's data lines, in the vocabulary the builder already uses. Pure and STRUCTURED: the screen words\n * each kind in its own language (\"Lists every Project\", \"One Project, found by its address /work/:slug\").\n */\n\nexport enum PageDataKind {\n /** A section repeats every item of a content type. */\n List = 'list',\n /** A section repeats the newest `count` items. */\n Latest = 'latest',\n /** A template page: one item, found by its address — one page per item. */\n One = 'one',\n /** The next (or previous) item beside the page's own. */\n Siblings = 'siblings',\n /** A form: what it sends, to the studio's inbox (+ an email when Email is connected). */\n Form = 'form',\n /** Words and pictures, no data. */\n Static = 'static',\n}\n\nexport interface PageDataLine {\n kind: PageDataKind;\n /** The content type's label (\"Projects\"), for every kind that reads one. */\n contentType?: string;\n /** Latest: how many. */\n count?: number;\n /** One: the page's own address, with its parameter. */\n route?: string;\n /** Form: the form preset (`contact`). */\n form?: string;\n}\n\nexport interface PageData {\n pageKey: string;\n lines: PageDataLine[];\n}\n\nconst sameLine = (a: PageDataLine, b: PageDataLine) => JSON.stringify(a) === JSON.stringify(b);\n\nfunction sourceLine(source: DataSourcePlan | undefined, label: (name: string) => string): PageDataLine | null {\n if (!source || source.type !== PlanDataSourceType.Cms) return null;\n const cms = source as CmsDataSourcePlan;\n if (cms.mode !== PlanDataSourceMode.Query) return null;\n return cms.limit\n ? { kind: PageDataKind.Latest, contentType: label(cms.contentType), count: cms.limit }\n : { kind: PageDataKind.List, contentType: label(cms.contentType) };\n}\n\nfunction pageLines(page: PagePlan, plan: SitePlan, label: (name: string) => string): PageDataLine[] {\n const lines: PageDataLine[] = [];\n const add = (line: PageDataLine | null) => { if (line && !lines.some(l => sameLine(l, line))) lines.push(line); };\n if (page.template) add({ kind: PageDataKind.One, contentType: label(page.template), route: page.route });\n for (const section of page.sections) {\n const pattern = patternById(section.pattern);\n if (!pattern) continue;\n if (section.binding) add(sourceLine(plan.dataSources.find(d => d.alias === section.binding), label));\n if (page.template && patternScopes(pattern).has(BindScope.Next)) add({ kind: PageDataKind.Siblings, contentType: label(page.template) });\n for (const node of patternNodes(pattern)) if (node.preset) add({ kind: PageDataKind.Form, form: node.preset });\n }\n return lines.length ? lines : [{ kind: PageDataKind.Static }];\n}\n\n/** One entry per page of the plan, in plan order. */\nexport function describePlanData(plan: SitePlan): PageData[] {\n const label = (name: string) => plan.contentTypes.find(t => t.name === name)?.label ?? name;\n return plan.pages.map(page => ({ pageKey: page.key, lines: pageLines(page, plan, label) }));\n}\n","import { ComposedPlaceholder, ComposeIssue } from './compose-site';\nimport { SitePlan, SitePlanSource } from './site-plan.model';\nimport { SitePlanIssueCode } from './validate-site-plan';\n\n/**\n * A site build's WIRE vocabulary (AI plan §3b, W2): what iox-cms's `site-builds` API answers and what every\n * client of it reads — the run's statuses and steps, what it created, why Undo kept something, the preflight's\n * refusals, and the one spelling of each document's `buildKey`. ONE definition: iox-cms stores and answers it,\n * the website wizard (W3) polls it. Pure types, enums and helpers; no transport.\n */\n\nexport enum SiteBuildKind {\n Build = 'build',\n}\n\nexport enum SiteBuildStatus {\n Running = 'running',\n Done = 'done',\n Failed = 'failed',\n Undoing = 'undoing',\n Undone = 'undone',\n}\n\n/** The statuses a runner advances — and the ones that hold the org's single-run slot. */\nexport const ACTIVE_BUILD_STATUSES: ReadonlyArray<SiteBuildStatus> = [SiteBuildStatus.Running, SiteBuildStatus.Undoing];\n\n/** The steps of a build, in the order they run. */\nexport enum BuildStep {\n Preflight = 'preflight',\n ContentTypes = 'content-types',\n SampleImages = 'sample-images',\n Items = 'items',\n DataSources = 'data-sources',\n Pages = 'pages',\n Globals = 'globals',\n Look = 'look',\n}\n\nexport const BUILD_STEPS: ReadonlyArray<BuildStep> = Object.values(BuildStep);\n\nexport enum StepState {\n Wait = 'wait',\n Run = 'run',\n Done = 'done',\n Failed = 'failed',\n}\n\n/** What a build creates, as Undo walks it. */\nexport enum CreatedKind {\n ContentType = 'content-type',\n /** Fields the build added to a content type it found (types are shared by every organization of a studio). */\n ContentTypeFields = 'content-type-fields',\n SampleImage = 'sample-image',\n Item = 'item',\n DataSource = 'data-source',\n Page = 'page',\n Global = 'global',\n Look = 'look',\n}\n\n/** Why Undo left something in place. */\nexport enum KeptReason {\n Edited = 'edited',\n Published = 'published',\n InUse = 'in-use',\n /** Added to a content type every organization shares: removing a field is the studio owner's change. */\n Shared = 'shared',\n}\n\nexport interface BuildStepError {\n code: string;\n detail: string;\n}\n\nexport interface BuildStepRecord {\n key: BuildStep;\n state: StepState;\n attempts: number;\n startedAt?: Date | string;\n finishedAt?: Date | string;\n error?: BuildStepError;\n}\n\nexport interface CreatedRecord {\n kind: CreatedKind;\n /** The document id — a page / item / content-type `_id`, a data-source alias, a global node id, a storage key. */\n id: string;\n buildKey: string;\n /** sha256 of the document as the build left it. */\n fingerprint: string;\n /** An item's content type. */\n contentType?: string;\n /** A sample image's public URL — what items and pages reference. */\n url?: string;\n /** `content-type-fields`: the fields the build added. */\n fields?: string[];\n}\n\nexport interface UndoKept {\n kind: CreatedKind;\n id: string;\n reason: KeptReason;\n /** In plain words, for the screen (\"About\", \"Sample project 2\"). */\n label?: string;\n}\n\nexport interface UndoRecord {\n at: Date | string;\n removed: number;\n kept: UndoKept[];\n /** The undo steps already done (kinds), so a resumed undo does not redo them. */\n done: CreatedKind[];\n finishedAt?: Date | string;\n /** What stopped the undo — DELETE again carries on from the kind it stopped at. */\n error?: BuildStepError;\n}\n\nexport enum BuildNoticeCode {\n /** Storage is not configured: sample items get the empty image box, and the run says so. */\n NoStorage = 'no-storage',\n /** A content type the build reuses is not public in this studio: the site will not show its items. */\n ContentTypeNotPublic = 'content-type-not-public',\n}\n\nexport interface BuildNotice {\n code: string;\n detail: string;\n}\n\n/** The run as `GET …/site-builds/:id` (and `?latest=1`) answers it. */\nexport interface SiteBuildRun {\n _id: string;\n organization: string;\n kind: SiteBuildKind;\n source: SitePlanSource;\n plan: SitePlan;\n year: number;\n status: SiteBuildStatus;\n active?: boolean;\n steps: BuildStepRecord[];\n created: CreatedRecord[];\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n notices?: BuildNotice[];\n requestedBy: string;\n startedAt: Date | string;\n finishedAt?: Date | string;\n undo?: UndoRecord;\n}\n\n/** `GET …/site-builds/:id/undo`: what an Undo would remove and keep — never guessed in the browser. */\nexport interface UndoPreview {\n removes: Partial<Record<CreatedKind, number>>;\n kept: UndoKept[];\n restoresGlobals: string[];\n revertsLook: boolean;\n}\n\nexport enum PreflightRefusalCode {\n /** The Site Plan itself is invalid (`validateSitePlan`); `issue` is the validator's code. */\n InvalidPlan = 'invalid-plan',\n /** A route the plan wants is already a page of this organization. */\n RouteTaken = 'route-taken',\n /** The studio's content type of that name stores a field the plan needs differently (type or control) —\n * types are shared by every organization, so the build reuses one it finds and adds what it lacks. */\n ContentTypeConflict = 'content-type-conflict',\n /** The name may not be a content type (a platform collection, or not a valid name). */\n ContentTypeName = 'content-type-name',\n /** The plan creates a content type or adds fields to one, and the caller may not (an org owner/admin — schema_all). */\n ContentTypesNeedPermission = 'content-types-need-permission',\n /** The org library holds the alias with a different definition. */\n DataSourceConflict = 'data-source-conflict',\n /** The studio has pages AND a header/footer: replace or keep them is the caller's choice (D7). */\n GlobalsNeedDecision = 'globals-need-decision',\n /** A global the plan adds has the id of one the studio keeps. */\n GlobalTaken = 'global-taken',\n}\n\nexport interface PreflightRefusal {\n code: PreflightRefusalCode;\n /** Where, as a dotted path into the plan. */\n path: string;\n detail: string;\n /** For `invalid-plan`: the validator's issue code. */\n issue?: SitePlanIssueCode;\n}\n\n/**\n * The stable key each written document carries beside `siteBuildId`: a step that runs twice looks it up first and\n * skips what exists (so a restart or a Retry continues without duplicates), and a reader finds what the run made\n * by it — the wizard opens the HOME page by `page(<its key>)`. One builder per kind.\n */\nexport const buildKeys = {\n contentType: (name: string) => `schema:${name}`,\n contentTypeFields: (name: string) => `schema-fields:${name}`,\n item: (contentType: string, n: number) => `item:${contentType}:${n}`,\n sampleImage: (n: number) => `sample-image:${n}`,\n dataSource: (alias: string) => `data-source:${alias}`,\n page: (key: string) => `page:${key}`,\n global: (nodeId: string) => `global:${nodeId}`,\n look: () => 'look',\n} as const;\n\n/** The id of the page a run made for the plan's home page, or null (not made yet, or no home page). */\nexport function builtHomePageId(run: Pick<SiteBuildRun, 'plan' | 'created'> | null | undefined): string | null {\n const home = run?.plan?.pages?.find(p => p.isHome) ?? run?.plan?.pages?.[0];\n if (!home) return null;\n const key = buildKeys.page(home.key);\n return run!.created?.find(c => c.kind === CreatedKind.Page && c.buildKey === key)?.id ?? null;\n}\n\n/** The step a run stopped at, or null. */\nexport function failedBuildStep(run: Pick<SiteBuildRun, 'steps'> | null | undefined): BuildStepRecord | null {\n return run?.steps?.find(s => s.state === StepState.Failed) ?? null;\n}\n\n/** A run still holding the org's slot (building or undoing) — a page that left it comes back to its progress. */\nexport function isActiveBuild(run: Pick<SiteBuildRun, 'status'> | null | undefined): boolean {\n return !!run && ACTIVE_BUILD_STATUSES.includes(run.status);\n}\n\n/** What a build does with each content type its plan names (the preflight's `summary.contentTypes[].action`): content\n * types are shared by every organization of a studio, so one the studio already has is reused, or extended with the\n * fields it lacks — never created twice. */\nexport enum ContentTypeAction {\n Create = 'create',\n Reuse = 'reuse',\n Extend = 'extend',\n}\n\n/** What each step of a build of `plan` will make — the progress rows' words, from the plan (+ the preflight's actions). */\nexport interface BuildStepFacts {\n /** The plan's content types: their labels (created, reused or extended — see `contentTypeActions`). */\n contentTypes: string[];\n /** Per label, what the build does with it — known only once the preflight said so (absent = not known). */\n contentTypeActions: Partial<Record<ContentTypeAction, string[]>>;\n /** Sample items, all types together. */\n items: number;\n /** Pages (template pages included) and their routes. */\n pages: number;\n routes: string[];\n /** Links in the menu (pages `inNav`). */\n navLinks: number;\n /** The look's flavor. */\n flavorId: string;\n}\n\nexport function buildStepFacts(plan: SitePlan, actions: Readonly<Record<string, `${ContentTypeAction}`>> = {}): BuildStepFacts {\n const contentTypeActions: Partial<Record<ContentTypeAction, string[]>> = {};\n for (const t of plan.contentTypes) {\n const action = actions[t.name] as ContentTypeAction | undefined;\n if (action) (contentTypeActions[action] ??= []).push(t.label);\n }\n return {\n contentTypes: plan.contentTypes.map(t => t.label),\n contentTypeActions,\n items: plan.contentTypes.reduce((n, t) => n + (t.seed?.count ?? 0), 0),\n pages: plan.pages.length,\n routes: plan.pages.map(p => p.route),\n navLinks: plan.pages.filter(p => p.inNav).length,\n flavorId: plan.design.flavorId,\n };\n}\n","/**\n * The AI pipeline's WIRE vocabulary (AI plan §3c, §3n, M0): what iox-cms's `ai` API answers and what every client\n * of it reads — the steps a model works on, who pays (IOX credits or the studio's own key), a model of the vetted\n * list with its price per token class, the one cost → credits rule (1 credit = 1 US cent of what the AI cost, D4),\n * the refusals (board 11) and a generation's stages. ONE definition: iox-cms meters and refuses with it, the\n * Settings ▸ AI screen and the wizard show it. Pure types, enums and helpers; no transport, no prices typed here.\n * The step and capability spellings are the control plane's (`GET /instances/me/entitlements`, AI plan \"M0 control\n * plane — the instance-route contract\") — the platform has ONE spelling of each.\n */\n\nexport enum AiProviderId {\n Anthropic = 'anthropic',\n OpenRouter = 'openrouter',\n}\n\n/** Who pays: the platform's credits, or the studio's own provider key (metered for display, never charged). */\nexport enum AiKeyMode {\n Platform = 'platform',\n Own = 'own',\n}\n\n/** The steps a model works on (board 9's rows), in screen order. */\nexport enum AiStep {\n ReadMessage = 'analysis',\n PlanSite = 'plan',\n ChangePlan = 'planEdit',\n MakePictures = 'image',\n NameStructures = 'scanNaming',\n}\n\nexport const AI_STEPS: ReadonlyArray<AiStep> = Object.values(AiStep);\n\n/** Each step's name on the wire (the control plane's `label`, the console) — the screens translate their own. */\nexport const AI_STEP_LABELS: Readonly<Record<AiStep, string>> = {\n [AiStep.ReadMessage]: 'Read your message',\n [AiStep.PlanSite]: 'Plan the site',\n [AiStep.ChangePlan]: 'Change the plan',\n [AiStep.MakePictures]: 'Make pictures',\n [AiStep.NameStructures]: 'Name repeated structures',\n};\n\n/** What a model must be able to do for a step to run on it. */\nexport enum AiCapability {\n StructuredOutput = 'structuredOutputs',\n ImageInput = 'imageInput',\n ImageOutput = 'imageOutput',\n}\n\nexport const AI_STEP_NEEDS: Readonly<Record<AiStep, ReadonlyArray<AiCapability>>> = {\n [AiStep.ReadMessage]: [AiCapability.StructuredOutput, AiCapability.ImageInput],\n [AiStep.PlanSite]: [AiCapability.StructuredOutput],\n [AiStep.ChangePlan]: [AiCapability.StructuredOutput],\n [AiStep.MakePictures]: [AiCapability.ImageOutput],\n [AiStep.NameStructures]: [AiCapability.StructuredOutput],\n};\n\n/** Tokens a typical use of a step reads and writes (plan §3d \"Where credits go\") — what a shown estimate is made of. */\nexport const AI_STEP_TYPICAL_TOKENS: Readonly<Record<AiStep, AiTokenCounts>> = {\n [AiStep.ReadMessage]: { input: 8_800, output: 1_500, cacheWrite: 0, cacheRead: 0 },\n [AiStep.PlanSite]: { input: 12_000, output: 7_000, cacheWrite: 0, cacheRead: 0 },\n [AiStep.ChangePlan]: { input: 6_000, output: 500, cacheWrite: 0, cacheRead: 0 },\n // a 1 K picture is 1,120 image tokens (Google's figure for Nano Banana 2) — I-D4\n [AiStep.MakePictures]: { input: 0, output: 0, cacheWrite: 0, cacheRead: 0, imageOutput: 1_120 },\n [AiStep.NameStructures]: { input: 80_000, output: 10_000, cacheWrite: 0, cacheRead: 0 },\n};\n\n/** Tokens by the class a provider prices them in. */\nexport interface AiTokenCounts {\n input: number;\n output: number;\n /** Written to the prompt cache (priced above input). */\n cacheWrite: number;\n /** Read from the prompt cache (priced well below input). */\n cacheRead: number;\n /** Image tokens written (a picture step) — priced at `imageOutput`. */\n imageOutput?: number;\n}\n\n/** US dollars per million tokens, per class. A class without a price is priced as input. */\nexport interface AiTokenPrice {\n input: number;\n output: number;\n cacheWrite?: number;\n cacheRead?: number;\n /** Image-output tokens; a model without the price is priced at `output`. */\n imageOutput?: number;\n}\n\n/** A model of the vetted list (served by the control plane with the entitlements, §3n) — its price travels with it. */\nexport interface AiModelEntry {\n id: string;\n provider: `${AiProviderId}`;\n label: string;\n /** The steps it may be chosen for. */\n steps: ReadonlyArray<`${AiStep}`>;\n /** The steps it is the default for (board 9's \"recommended\"). */\n recommendedFor?: ReadonlyArray<`${AiStep}`>;\n /** The steps it runs when the default is not available (the control plane's `fallbackModel`). */\n fallbackFor?: ReadonlyArray<`${AiStep}`>;\n capabilities: ReadonlyArray<`${AiCapability}`>;\n /** Null when the provider reports each call's cost itself and the list carries no price. */\n price: AiTokenPrice | null;\n /** Kept so old ledger rows still name it; never offered, and a studio's choice of it falls back to the default. */\n retired?: boolean;\n}\n\n/** 1 credit = 1 US cent of what the AI actually cost (decision D4). */\nexport const CREDITS_PER_USD = 100;\nconst TOKENS_PER_PRICE_UNIT = 1_000_000;\nconst CREDIT_PRECISION = 1e6;\n\nexport const NO_TOKENS: Readonly<AiTokenCounts> = Object.freeze({ input: 0, output: 0, cacheWrite: 0, cacheRead: 0 });\n\n/** What `tokens` cost at `price`, in US dollars. */\nexport function costUsd(tokens: AiTokenCounts, price: AiTokenPrice): number {\n const perToken = (perMillion: number | undefined, fallback: number) => (perMillion ?? fallback) / TOKENS_PER_PRICE_UNIT;\n return tokens.input * perToken(price.input, 0)\n + tokens.output * perToken(price.output, 0)\n + tokens.cacheWrite * perToken(price.cacheWrite, price.input)\n + tokens.cacheRead * perToken(price.cacheRead, price.input)\n + (tokens.imageOutput ?? 0) * perToken(price.imageOutput, price.output);\n}\n\n/** Dollars → credits, kept to a millionth of a credit (a short read costs a fraction of one). */\nexport function creditsOfUsd(usd: number): number {\n return Math.round(usd * CREDITS_PER_USD * CREDIT_PRECISION) / CREDIT_PRECISION;\n}\n\n/** The credits a typical use of `step` costs on a model of `price` — never typed, always computed (§3d). */\nexport function estimateStepCredits(step: AiStep, price: AiTokenPrice, tokens: AiTokenCounts = AI_STEP_TYPICAL_TOKENS[step]): number {\n return creditsOfUsd(costUsd(tokens, price));\n}\n\n/** Can `model` do `step`? The step's needs against the model's capabilities. */\nexport function modelCanDo(model: Pick<AiModelEntry, 'capabilities'>, step: AiStep): boolean {\n return AI_STEP_NEEDS[step].every(need => model.capabilities.includes(need));\n}\n\n/** Why AI did not run (board 11). The server refuses with these BEFORE any model call. */\nexport enum AiRefusalCode {\n NotInPlan = 'ai.notInPlan',\n OutOfCredits = 'ai.outOfCredits',\n CapReached = 'ai.capReached',\n NotConnected = 'ai.notConnected',\n KeyInvalid = 'ai.keyInvalid',\n PlanUnknown = 'ai.planUnknown',\n}\n\n/** The HTTP status each refusal answers with (board 11). */\nexport const AI_REFUSAL_STATUS: Readonly<Record<AiRefusalCode, number>> = {\n [AiRefusalCode.NotInPlan]: 403,\n [AiRefusalCode.OutOfCredits]: 402,\n [AiRefusalCode.CapReached]: 402,\n [AiRefusalCode.NotConnected]: 409,\n [AiRefusalCode.KeyInvalid]: 409,\n [AiRefusalCode.PlanUnknown]: 503,\n};\n\n/** What a refusal offers next. */\nexport enum AiNextKind {\n /** Ask IOX (a prefilled email to the operator, until a plan can be bought — D2). */\n Contact = 'contact',\n /** Open Settings ▸ AI. */\n Settings = 'settings',\n /** Try again later, or with less. */\n Retry = 'retry',\n}\n\nexport const AI_REFUSAL_NEXT: Readonly<Record<AiRefusalCode, AiNextKind>> = {\n [AiRefusalCode.NotInPlan]: AiNextKind.Contact,\n [AiRefusalCode.OutOfCredits]: AiNextKind.Contact,\n [AiRefusalCode.CapReached]: AiNextKind.Retry,\n [AiRefusalCode.NotConnected]: AiNextKind.Settings,\n [AiRefusalCode.KeyInvalid]: AiNextKind.Settings,\n [AiRefusalCode.PlanUnknown]: AiNextKind.Retry,\n};\n\nexport interface AiRefusal {\n code: AiRefusalCode;\n planName?: string;\n /** Credits left this period (platform credits only). */\n remaining?: number;\n /** What the refused call would have cost, about. */\n estimate?: number;\n next: { kind: AiNextKind; href?: string };\n}\n\n/** The studio's AI credits this period (the connector's meter, E4). `allowance: null` = unlimited. */\nexport interface AiMeter {\n used: number;\n allowance: number | null;\n remaining: number | null;\n periodStart: string;\n periodEnd: string;\n}\n\n/** A generation's stages (§3d). The runner works while `task` is set; otherwise the owner has the next move. */\nexport enum AiGenerationStage {\n Reading = 'reading',\n Analysis = 'analysis',\n Design = 'design',\n Plan = 'plan',\n Build = 'build',\n Done = 'done',\n Failed = 'failed',\n Cancelled = 'cancelled',\n}\n\n/** The stages nothing advances any more. */\nexport const FINAL_GENERATION_STAGES: ReadonlyArray<AiGenerationStage> = [AiGenerationStage.Done, AiGenerationStage.Failed, AiGenerationStage.Cancelled];\n\n/** How one model call ended — a ledger row's status. */\nexport enum AiCallStatus {\n /** Written before the call: a reservation at the estimate until the call settles. */\n Started = 'started',\n Ok = 'ok',\n /** The answer came back and the shared validator refused it (with a path). */\n Invalid = 'invalid',\n /** The model declined (a provider refusal) — charged what the provider reports. */\n Refused = 'refused',\n Error = 'error',\n /** The process died during the call: charged at the estimate, since what it cost was never reported. */\n Interrupted = 'interrupted',\n}\n","import type { DesignChoices } from '@vectoriox/iox-ui/design-core';\n\nimport {\n jsonAnyOf, jsonBoolean, jsonClosedObject, jsonInteger, jsonListOf, jsonOneOf, JsonSchema, jsonShapedObject, jsonText,\n} from './json-schema';\nimport { patternOptionalParts, patternSlots, patternTakesBinding, PatternGlobalPosition, SITE_PATTERNS, SitePattern } from './patterns';\nimport {\n FACT_KEYS, GlobalSlot, PlanDataSourceMode, PlanDataSourceType, RelativeOp, SitePlan, SitePlanSource, SitePlanSourceKind, SITE_PLAN_VERSION,\n} from './site-plan.model';\nimport { SPEC_SITE_PLAN_SHAPE } from './site-spec.generated';\nimport { isPlainObject, PlainObject, ShapeEntry } from './shape-check';\n\n/**\n * The structured-output format a model writes a Site Plan in (AI plan §3d step 4, M1-3) — built from the SAME shape\n * table `validateSitePlan` reads (`SPEC_SITE_PLAN_SHAPE`) and the SAME pattern library, so the plan a model is told\n * about is the plan the gate refuses. ONE source: a key the table gains breaks this builder until it is written here.\n *\n * Two maps of the shape are written as LISTS on the wire, because no strict mode can say \"any key\": a section's\n * `slots` (`[{ slot, text }]`, the slot names closed per pattern) and a seed's field values (`values: [{ field,\n * value }]`). `sitePlanFromWire` turns them back; nothing else differs. Every section is one `anyOf` branch per\n * pattern — its id, its declared slots, its optional parts, a binding only when it takes one — and the design, the\n * source and the version are PINNED to the owner's pick and this run (one-value enums), so the provider cannot let\n * a model change the look. The gate still checks both (`plan.design` deep-equals the pick).\n */\n\nexport const SITE_PLAN_SCHEMA_NAME = 'site_plan';\n\n/** The wire keys of the two maps written as lists. */\nexport enum SitePlanWireKey {\n SlotName = 'slot',\n SlotText = 'text',\n SeedValues = 'values',\n SeedField = 'field',\n SeedValue = 'value',\n}\n\nconst SHAPE: Readonly<Record<string, ShapeEntry>> = SPEC_SITE_PLAN_SHAPE;\n\nexport interface SitePlanSchemaPin {\n /** The owner's pick, verbatim — every design key becomes a one-value enum. */\n design: DesignChoices;\n /** This generation. */\n source: SitePlanSource;\n}\n\nconst one = (value: string): JsonSchema => jsonOneOf([value]);\nconst oneBoolean = (value: boolean): JsonSchema => ({ type: 'boolean', enum: [value] });\n\n/** The pick, key by key, as one-value enums; an optional key the pick leaves out may only be left out (or empty). */\nfunction pinnedDesign(design: DesignChoices): JsonSchema {\n const entry = SHAPE['design'];\n const values = design as unknown as Record<string, unknown>;\n const properties: Record<string, JsonSchema> = {};\n for (const key of Object.keys(entry).map(k => k.replace(/\\?$/, ''))) {\n const v = values[key];\n if (typeof v === 'string') properties[key] = one(v);\n else if (typeof v === 'boolean') properties[key] = oneBoolean(v);\n else if (isPlainObject(v)) properties[key] = jsonClosedObject(\n Object.fromEntries(Object.entries(v).map(([role, family]) => [role, one(String(family))])), Object.keys(v));\n else properties[key] = jsonClosedObject({}, []);\n }\n const shaped = jsonShapedObject(entry, properties, 'design');\n // Everything the pick carries is required: a model may not leave a choice out and let a default stand in.\n const given = Object.keys(values).filter(k => values[k] !== undefined && k in properties);\n return { ...shaped, required: [...new Set([...(shaped['required'] as string[]), ...given])] };\n}\n\nfunction sourceSchema(source: SitePlanSource): JsonSchema {\n if (source.kind === SitePlanSourceKind.Ai) return jsonShapedObject(SHAPE['sourceAi'], { kind: one(source.kind), runId: one(source.runId) }, 'sourceAi');\n return jsonShapedObject(SHAPE['sourceTemplate'], {\n kind: one(source.kind), templateId: one(source.templateId), templateVersion: { type: 'integer', enum: [source.templateVersion] },\n }, 'sourceTemplate');\n}\n\nfunction businessSchema(): JsonSchema {\n const facts = jsonClosedObject(Object.fromEntries(FACT_KEYS.map(key => [key, jsonText()])), []);\n return jsonShapedObject(SHAPE['business'], { name: jsonText(), tagline: jsonText(), facts }, 'business');\n}\n\n/** A content type's field. */\nexport function fieldJsonSchema(): JsonSchema {\n return jsonShapedObject(SHAPE['field'], { name: jsonText(), type: jsonText(), controller: jsonText(), required: jsonBoolean(), note: jsonText() }, 'field');\n}\n\n/** A content type, its seed's field values as a list (`values: [{ field, value }]`). */\nexport function contentTypeJsonSchema(): JsonSchema {\n const value = jsonAnyOf([jsonText(), jsonListOf(jsonText())]);\n const values = jsonListOf(jsonClosedObject({ [SitePlanWireKey.SeedField]: jsonText(), [SitePlanWireKey.SeedValue]: value }, [SitePlanWireKey.SeedField, SitePlanWireKey.SeedValue]));\n const seed = jsonShapedObject(SHAPE['seed'], { count: jsonInteger(), sample: jsonBoolean(), isPublished: jsonBoolean() }, 'seed',\n { key: SitePlanWireKey.SeedValues, schema: values });\n return jsonShapedObject(SHAPE['contentType'], {\n name: jsonText(), label: jsonText(), previewTextField: jsonText(), previewImageField: jsonText(), fields: jsonListOf(fieldJsonSchema()), seed,\n }, 'contentType');\n}\n\n/** A data source: a cms list / single item, or a relative one. */\nexport function dataSourceJsonSchema(): JsonSchema {\n const byRoute = jsonClosedObject({ field: jsonText(), routeParam: jsonText() }, ['field', 'routeParam']);\n const cms = jsonShapedObject(SHAPE['cmsDataSource'], {\n alias: jsonText(), type: one(PlanDataSourceType.Cms), mode: jsonOneOf(Object.values(PlanDataSourceMode)),\n contentType: jsonText(), limit: jsonInteger(), filterByRouteParam: byRoute,\n }, 'cmsDataSource');\n const relative = jsonShapedObject(SHAPE['relativeDataSource'], {\n alias: jsonText(), type: one(PlanDataSourceType.Relative), of: jsonText(), op: jsonOneOf(Object.values(RelativeOp)), within: jsonText(),\n }, 'relativeDataSource');\n return jsonAnyOf([cms, relative]);\n}\n\n/** The patterns a page section may use (every non-global one), in library order. */\nexport function sectionPatternIds(): string[] {\n return Object.entries(SITE_PATTERNS).filter(([, p]) => !p.global).map(([id]) => id);\n}\n\n/** A key a pattern has nothing for: only `{}` (or leaving it out) — the decoder drops it. */\nconst NOTHING = (): JsonSchema => jsonClosedObject({}, []);\n\n/** One section branch: this pattern's id, its declared slots (a list), its optional parts, a binding when it takes one. */\nfunction sectionBranch(id: string, pattern: SitePattern): JsonSchema {\n const slots = patternSlots(pattern);\n const parts = patternOptionalParts(pattern);\n const slotList = slots.length\n ? jsonListOf(jsonClosedObject({ [SitePlanWireKey.SlotName]: jsonOneOf(slots), [SitePlanWireKey.SlotText]: jsonText() }, [SitePlanWireKey.SlotName, SitePlanWireKey.SlotText]))\n : NOTHING();\n const branch = jsonShapedObject(SHAPE['section'], {\n pattern: one(id),\n slots: slotList,\n binding: patternTakesBinding(pattern) ? jsonText() : NOTHING(),\n without: parts.length ? jsonListOf(jsonOneOf(parts)) : NOTHING(),\n }, 'section');\n return { ...branch, description: `${id}: ${pattern.label}` };\n}\n\n/** A page section: one branch per pattern. */\nexport function sectionJsonSchema(): JsonSchema {\n return jsonAnyOf(sectionPatternIds().map(id => sectionBranch(id, SITE_PATTERNS[id])));\n}\n\n/** A page. */\nexport function pageJsonSchema(): JsonSchema {\n return jsonShapedObject(SHAPE['page'], {\n key: jsonText(), name: jsonText(), route: jsonText(), isHome: jsonBoolean(), required: jsonBoolean(), inNav: jsonBoolean(),\n template: jsonText(), routeSource: jsonText(), sections: jsonListOf(sectionJsonSchema()),\n }, 'page');\n}\n\nconst globalIds = (position: `${PatternGlobalPosition}`) => Object.entries(SITE_PATTERNS).filter(([, p]) => p.global === position).map(([id]) => id);\n\n/** The Site Plan format, pinned to the owner's pick and this run. */\nexport function sitePlanJsonSchema(pin: SitePlanSchemaPin): JsonSchema {\n const globals = jsonShapedObject(SHAPE['globals'], {\n [GlobalSlot.Header]: jsonOneOf(globalIds(PatternGlobalPosition.Before)),\n [GlobalSlot.Footer]: jsonOneOf(globalIds(PatternGlobalPosition.After)),\n }, 'globals');\n return jsonShapedObject(SHAPE['plan'], {\n version: one(SITE_PLAN_VERSION),\n source: sourceSchema(pin.source),\n business: businessSchema(),\n design: pinnedDesign(pin.design),\n contentTypes: jsonListOf(contentTypeJsonSchema()),\n dataSources: jsonListOf(dataSourceJsonSchema()),\n pages: jsonListOf(pageJsonSchema()),\n globals,\n }, 'plan');\n}\n\n// ── The wire → the plan ─────────────────────────────────────────────────────────────────────────────\n\nconst isEmptyObject = (v: unknown) => isPlainObject(v) && Object.keys(v).length === 0;\n\n/** `[{ slot, text }]` → `{ slot: text }`; anything that is not that list is left for the gate to refuse. */\nfunction slotsFromWire(slots: unknown): unknown {\n if (!Array.isArray(slots)) return slots;\n const out: PlainObject = {};\n for (const entry of slots) {\n if (!isPlainObject(entry) || typeof entry[SitePlanWireKey.SlotName] !== 'string') return slots;\n out[entry[SitePlanWireKey.SlotName] as string] = entry[SitePlanWireKey.SlotText];\n }\n return out;\n}\n\n/** A section off the wire: its slots back to a map; a key the pattern has nothing for (`{}`) dropped. */\nexport function sectionFromWire(section: unknown): unknown {\n if (!isPlainObject(section)) return section;\n const out: PlainObject = { ...section };\n for (const key of ['slots', 'binding', 'without']) if (isEmptyObject(out[key])) delete out[key];\n if ('slots' in out) out['slots'] = slotsFromWire(out['slots']);\n return out;\n}\n\n/** A content type off the wire: its seed's `values` list back to field keys. */\nexport function contentTypeFromWire(type: unknown): unknown {\n if (!isPlainObject(type) || !isPlainObject(type['seed'])) return type;\n const { [SitePlanWireKey.SeedValues]: values, ...seed } = type['seed'] as PlainObject;\n if (Array.isArray(values)) {\n for (const entry of values) {\n if (isPlainObject(entry) && typeof entry[SitePlanWireKey.SeedField] === 'string') seed[entry[SitePlanWireKey.SeedField] as string] = entry[SitePlanWireKey.SeedValue];\n }\n } else if (values !== undefined) seed[SitePlanWireKey.SeedValues] = values;\n return { ...type, seed };\n}\n\nfunction pageFromWire(page: unknown): unknown {\n if (!isPlainObject(page) || !Array.isArray(page['sections'])) return page;\n return { ...page, sections: (page['sections'] as unknown[]).map(sectionFromWire) };\n}\n\n/** The design off the wire: an empty optional object (a choice the pick does not carry) dropped. */\nfunction designFromWire(design: unknown): unknown {\n if (!isPlainObject(design)) return design;\n return Object.fromEntries(Object.entries(design).filter(([, v]) => !isEmptyObject(v)));\n}\n\n/**\n * A model's answer → a Site Plan: the two listed maps back to maps, nothing else touched. Never repairs — whatever the\n * answer got wrong is still wrong, for `validateSitePlan` to refuse with a path.\n */\nexport function sitePlanFromWire(wire: unknown): SitePlan | unknown {\n if (!isPlainObject(wire)) return wire;\n const out: PlainObject = { ...wire };\n if (Array.isArray(out['contentTypes'])) out['contentTypes'] = (out['contentTypes'] as unknown[]).map(contentTypeFromWire);\n if (Array.isArray(out['pages'])) out['pages'] = (out['pages'] as unknown[]).map(pageFromWire);\n if ('design' in out) out['design'] = designFromWire(out['design']);\n return out;\n}\n\n/** The plan → the wire (what a re-ask shows the model, and what the plan edits' prompt carries). */\nexport function sitePlanToWire(plan: SitePlan): PlainObject {\n const slotsToWire = (slots: Readonly<Record<string, string>> | undefined) =>\n Object.entries(slots ?? {}).map(([slot, text]) => ({ [SitePlanWireKey.SlotName]: slot, [SitePlanWireKey.SlotText]: text }));\n return {\n ...plan,\n contentTypes: plan.contentTypes.map(t => {\n if (!t.seed) return t;\n const { count, sample, isPublished, ...values } = t.seed;\n return { ...t, seed: { count, sample, isPublished, [SitePlanWireKey.SeedValues]: Object.entries(values).map(([field, value]) => ({ [SitePlanWireKey.SeedField]: field, [SitePlanWireKey.SeedValue]: value })) } };\n }),\n pages: plan.pages.map(p => ({ ...p, sections: p.sections.map(s => (s.slots ? { ...s, slots: slotsToWire(s.slots) } : s)) })),\n };\n}\n","import {\n jsonAnyOf, jsonInteger, jsonListOf, jsonOneOf, JsonSchema, jsonShapedObject, jsonText,\n} from './json-schema';\nimport { patternById, patternOptionalParts, patternSlots, patternTakesBinding } from './patterns';\nimport {\n contentTypeFromWire, contentTypeJsonSchema, dataSourceJsonSchema, fieldJsonSchema, pageJsonSchema, sectionFromWire, sectionJsonSchema,\n sectionPatternIds,\n} from './site-plan-schema';\nimport {\n ContentFieldPlan, ContentTypePlan, DataSourcePlan, PagePlan, PageSectionPlan, PlanDataSourceMode, PlanDataSourceType, SitePlan,\n} from './site-plan.model';\nimport { isNonEmptyString, isPlainObject, PathIssue, PathIssueCollector, PlainObject, ShapeEntry, shapeKeys } from './shape-check';\n\n/**\n * Changing a plan by sentence (AI plan §3d \"The Plan prompt box\", M1-5; reused by M2 after a build): the CLOSED list\n * of operations (N-D6) a model may write against the current plan, and the ONE pure `applyPlanEdits` that carries them\n * out. Nothing is written until Build, so an edit is a plan → plan function; the result goes through\n * `validateSitePlan` like any plan. Pages are named by `key`, sections by their index on the page. A set of edits is\n * applied whole or not at all: one edit that cannot apply refuses the set, with a path, and the plan is unchanged.\n */\n\nexport enum PlanEditOp {\n AddPage = 'addPage',\n RemovePage = 'removePage',\n RenamePage = 'renamePage',\n MergePages = 'mergePages',\n /** Its place in the menu (the plan's page order). */\n MovePage = 'movePage',\n AddSection = 'addSection',\n RemoveSection = 'removeSection',\n MoveSection = 'moveSection',\n SwapPattern = 'swapPattern',\n SetSlot = 'setSlot',\n AddContentType = 'addContentType',\n AddField = 'addField',\n SetSectionData = 'setSectionData',\n}\n\nexport type PlanEdit =\n | { op: `${PlanEditOp.AddPage}`; page: PagePlan; after?: string }\n | { op: `${PlanEditOp.RemovePage}`; page: string }\n | { op: `${PlanEditOp.RenamePage}`; page: string; name?: string; route?: string }\n | { op: `${PlanEditOp.MergePages}`; into: string; from: string }\n | { op: `${PlanEditOp.MovePage}`; page: string; to: number }\n | { op: `${PlanEditOp.AddSection}`; page: string; section: PageSectionPlan; at?: number }\n | { op: `${PlanEditOp.RemoveSection}`; page: string; index: number }\n | { op: `${PlanEditOp.MoveSection}`; page: string; from: number; to: number }\n | { op: `${PlanEditOp.SwapPattern}`; page: string; index: number; pattern: string }\n | { op: `${PlanEditOp.SetSlot}`; page: string; index: number; slot: string; text: string }\n | { op: `${PlanEditOp.AddContentType}`; contentType: ContentTypePlan; dataSources?: DataSourcePlan[] }\n | { op: `${PlanEditOp.AddField}`; contentType: string; field: ContentFieldPlan; sample?: string | string[] }\n | { op: `${PlanEditOp.SetSectionData}`; page: string; index: number; binding: string };\n\n/**\n * Every op's keys, explained — what the format is built from and what `validatePlanEdits` reads (`key?` optional).\n * A page is named by its `key`; a section by its 0-based `index` on that page.\n */\nexport const PLAN_EDIT_SHAPE: Readonly<Record<`${PlanEditOp}`, ShapeEntry>> = {\n [PlanEditOp.AddPage]: { op: \"'addPage'\", page: 'page — a whole new page (a unique key and route)', 'after?': 'string — the key of the page it follows in the menu; absent: last' },\n [PlanEditOp.RemovePage]: { op: \"'removePage'\", page: 'string — the key of the page to remove (never the home page)' },\n [PlanEditOp.RenamePage]: { op: \"'renamePage'\", page: 'string — a page key', 'name?': 'string — its new name (the menu label)', 'route?': 'string — its new route' },\n [PlanEditOp.MergePages]: { op: \"'mergePages'\", into: 'string — the page that stays', from: 'string — the page whose sections move into it, then removed' },\n [PlanEditOp.MovePage]: { op: \"'movePage'\", page: 'string — a page key', to: 'integer — its new 0-based place in the menu' },\n [PlanEditOp.AddSection]: { op: \"'addSection'\", page: 'string — a page key', section: 'section', 'at?': 'integer — its 0-based place on the page; absent: last' },\n [PlanEditOp.RemoveSection]: { op: \"'removeSection'\", page: 'string — a page key', index: 'integer — the section' },\n [PlanEditOp.MoveSection]: { op: \"'moveSection'\", page: 'string — a page key', from: 'integer — the section', to: 'integer — its new place' },\n [PlanEditOp.SwapPattern]: { op: \"'swapPattern'\", page: 'string — a page key', index: 'integer — the section', pattern: 'string — the pattern it becomes (its slots kept where the new one has them)' },\n [PlanEditOp.SetSlot]: { op: \"'setSlot'\", page: 'string — a page key', index: 'integer — the section', slot: \"string — one of the pattern's slots\", text: \"string — the words, in the owner's language and voice\" },\n [PlanEditOp.AddContentType]: { op: \"'addContentType'\", contentType: 'contentType — a unique name', 'dataSources?': 'dataSource[] — the list / single sources its pages read' },\n [PlanEditOp.AddField]: { op: \"'addField'\", contentType: 'string — a content type of the plan', field: 'field', 'sample?': \"string | string[] — the samples' value for it\" },\n [PlanEditOp.SetSectionData]: { op: \"'setSectionData'\", page: 'string — a page key', index: 'integer — the section', binding: 'string — the list source the section repeats' },\n};\n\nexport enum PlanChangeKind {\n Page = 'page',\n Section = 'section',\n ContentType = 'contentType',\n Field = 'field',\n DataSource = 'dataSource',\n}\n\nexport enum PlanChangeAction {\n Added = 'added',\n Removed = 'removed',\n Changed = 'changed',\n Moved = 'moved',\n}\n\n/** What an edit changed — the Plan map marks it. `index` is the section's index in the RESULT (or before, when removed). */\nexport interface PlanChange {\n kind: `${PlanChangeKind}`;\n action: `${PlanChangeAction}`;\n page?: string;\n index?: number;\n name?: string;\n}\n\nexport enum PlanEditIssueCode {\n Shape = 'shape',\n UnknownKey = 'unknown-key',\n Duplicate = 'duplicate',\n UnknownOp = 'unknown-op',\n UnknownPage = 'unknown-page',\n UnknownSection = 'unknown-section',\n UnknownPattern = 'unknown-pattern',\n UnknownSlot = 'unknown-slot',\n UnknownContentType = 'unknown-content-type',\n UnknownDataSource = 'unknown-data-source',\n /** The home page stays (a plan has exactly one). */\n HomePage = 'home-page',\n /** A template page (one item per route) and a plain page cannot be merged. */\n MergeTemplate = 'merge-template',\n}\n\nexport type PlanEditIssue = PathIssue<PlanEditIssueCode>;\n\nexport interface PlanEditResult {\n plan: SitePlan;\n changed: PlanChange[];\n /** Non-empty: nothing was applied (`plan` is the input). */\n issues: PlanEditIssue[];\n}\n\nclass Collector extends PathIssueCollector<PlanEditIssueCode> {\n constructor() {\n super('plan edit', { shape: PlanEditIssueCode.Shape, unknownKey: PlanEditIssueCode.UnknownKey, duplicate: PlanEditIssueCode.Duplicate });\n }\n}\n\nconst OPS = Object.values(PlanEditOp) as string[];\n/** A page's own header section (`page-header.simple`) — what a merge leaves behind with the page it named. */\nconst PAGE_HEADER_FAMILY = 'header';\nconst clone = <T>(v: T): T => JSON.parse(JSON.stringify(v)) as T;\nconst clamp = (n: number, max: number) => Math.max(0, Math.min(Math.trunc(n), max));\n\n/** The edits' structure: a known op, its keys (`PLAN_EDIT_SHAPE`), integers where an index is. Never repairs. */\nexport function validatePlanEdits(edits: unknown): { valid: boolean; issues: PlanEditIssue[] } {\n const c = new Collector();\n if (!Array.isArray(edits)) {\n c.add(PlanEditIssueCode.Shape, 'edits', 'must be an array');\n return { valid: false, issues: c.issues };\n }\n edits.forEach((raw, i) => {\n const path = `edits[${i}]`;\n if (!isPlainObject(raw)) return c.add(PlanEditIssueCode.Shape, path, 'must be an object');\n const op = raw['op'];\n if (typeof op !== 'string' || !OPS.includes(op)) return c.add(PlanEditIssueCode.UnknownOp, `${path}.op`, `must be one of ${OPS.join(', ')}`);\n const entry = PLAN_EDIT_SHAPE[op as PlanEditOp];\n c.keys(raw, shapeKeys(entry), path);\n for (const [key, text] of Object.entries(entry)) {\n const optional = key.endsWith('?');\n const name = optional ? key.slice(0, -1) : key;\n const v = raw[name];\n if (v === undefined) { if (!optional) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'is required'); continue; }\n if (text.startsWith('string | string[]')) {\n if (typeof v !== 'string' && !(Array.isArray(v) && v.every(x => typeof x === 'string'))) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be a string or a list of strings');\n } else if (text.startsWith('string') && !isNonEmptyString(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be a non-empty string');\n if (text.startsWith('integer') && !Number.isInteger(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be a whole number');\n if (['page', 'section', 'contentType', 'field'].includes(text.split(' ')[0]) && !isPlainObject(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be an object');\n if (text.startsWith('dataSource[]') && !Array.isArray(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be an array');\n }\n });\n return { valid: c.issues.length === 0, issues: c.issues };\n}\n\n/** The aliases a page reads (its route source and its sections' bindings). */\nfunction aliasesOf(pages: ReadonlyArray<PagePlan>): Set<string> {\n const out = new Set<string>();\n for (const page of pages) {\n if (page.routeSource) out.add(page.routeSource);\n for (const s of page.sections) if (s.binding) out.add(s.binding);\n }\n return out;\n}\n\n/** A relative source (`project.next`'s) is read while its subject is, and keeps the list it walks. */\nfunction withDependencies(aliases: Set<string>, sources: ReadonlyArray<DataSourcePlan>): Set<string> {\n const out = new Set(aliases);\n for (const s of sources) {\n if (s.type === PlanDataSourceType.Relative && aliases.has(s.of)) { out.add(s.alias); out.add(s.within); }\n }\n return out;\n}\n\ninterface Draft {\n pages: PagePlan[];\n contentTypes: ContentTypePlan[];\n dataSources: DataSourcePlan[];\n}\n\ntype Apply = (d: Draft, e: any, c: Collector, path: string, changed: PlanChange[]) => void;\n\nconst pageIndex = (d: Draft, key: unknown) => d.pages.findIndex(p => p.key === key);\n\nfunction findPage(d: Draft, key: unknown, c: Collector, path: string): number {\n const at = pageIndex(d, key);\n if (at < 0) c.add(PlanEditIssueCode.UnknownPage, path, `no page \"${String(key)}\" in the plan (${d.pages.map(p => p.key).join(', ')})`);\n return at;\n}\n\nfunction findSection(d: Draft, pageAt: number, index: unknown, c: Collector, path: string): boolean {\n const ok = Number.isInteger(index) && (index as number) >= 0 && (index as number) < d.pages[pageAt].sections.length;\n if (!ok) c.add(PlanEditIssueCode.UnknownSection, path, `page \"${d.pages[pageAt].key}\" has sections 0–${d.pages[pageAt].sections.length - 1}`);\n return ok;\n}\n\nconst setSections = (d: Draft, at: number, sections: PageSectionPlan[]) => { d.pages[at] = { ...d.pages[at], sections }; };\n\n/** One handler per op — a data table, never an if-chain. */\nconst APPLY: Readonly<Record<`${PlanEditOp}`, Apply>> = {\n [PlanEditOp.AddPage]: (d, e, c, path, changed) => {\n const page = { ...(e.page as PagePlan), sections: (e.page.sections ?? []).map(sectionFromWire) } as PagePlan;\n if (pageIndex(d, page.key) >= 0) return c.add(PlanEditIssueCode.Duplicate, `${path}.page.key`, `page \"${page.key}\" is already in the plan`);\n const after = e.after === undefined ? d.pages.length - 1 : findPage(d, e.after, c, `${path}.after`);\n if (after < 0 && e.after !== undefined) return;\n d.pages.splice(after + 1, 0, page);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Added, page: page.key, name: page.name });\n },\n [PlanEditOp.RemovePage]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n if (d.pages[at].isHome) return c.add(PlanEditIssueCode.HomePage, `${path}.page`, 'the home page stays — rename or change it instead');\n const [gone] = d.pages.splice(at, 1);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Removed, page: gone.key, name: gone.name });\n },\n [PlanEditOp.RenamePage]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n d.pages[at] = { ...d.pages[at], ...(e.name !== undefined ? { name: e.name } : {}), ...(e.route !== undefined ? { route: e.route } : {}) };\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Changed, page: d.pages[at].key, name: d.pages[at].name });\n },\n [PlanEditOp.MergePages]: (d, e, c, path, changed) => {\n const into = findPage(d, e.into, c, `${path}.into`);\n const from = findPage(d, e.from, c, `${path}.from`);\n if (into < 0 || from < 0) return;\n if (into === from) return c.add(PlanEditIssueCode.Duplicate, `${path}.from`, 'a page is merged into another page');\n const a = d.pages[into];\n const b = d.pages[from];\n if (!!a.template !== !!b.template) return c.add(PlanEditIssueCode.MergeTemplate, `${path}.from`, 'a page per item and a plain page cannot be merged');\n if (b.isHome) return c.add(PlanEditIssueCode.HomePage, `${path}.from`, 'the home page stays — merge the other page into it');\n const moved = b.sections.filter((s, i) => !(i === 0 && patternById(s.pattern)?.family === PAGE_HEADER_FAMILY));\n setSections(d, into, [...a.sections, ...moved]);\n moved.forEach((_, k) => changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Added, page: a.key, index: a.sections.length + k }));\n d.pages.splice(from, 1);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Changed, page: a.key, name: a.name });\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Removed, page: b.key, name: b.name });\n },\n [PlanEditOp.MovePage]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n const [page] = d.pages.splice(at, 1);\n d.pages.splice(clamp(e.to, d.pages.length), 0, page);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Moved, page: page.key, name: page.name });\n },\n [PlanEditOp.AddSection]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n const sections = [...d.pages[at].sections];\n const index = e.at === undefined ? sections.length : clamp(e.at, sections.length);\n sections.splice(index, 0, sectionFromWire(e.section) as PageSectionPlan);\n setSections(d, at, sections);\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Added, page: d.pages[at].key, index });\n },\n [PlanEditOp.RemoveSection]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n setSections(d, at, d.pages[at].sections.filter((_, i) => i !== e.index));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Removed, page: d.pages[at].key, index: e.index });\n },\n [PlanEditOp.MoveSection]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.from, c, `${path}.from`)) return;\n const sections = [...d.pages[at].sections];\n const [section] = sections.splice(e.from, 1);\n const to = clamp(e.to, sections.length);\n sections.splice(to, 0, section);\n setSections(d, at, sections);\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Moved, page: d.pages[at].key, index: to });\n },\n [PlanEditOp.SwapPattern]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n const next = patternById(e.pattern);\n if (!next || next.global) return c.add(PlanEditIssueCode.UnknownPattern, `${path}.pattern`, `no section pattern \"${String(e.pattern)}\"`);\n const old = d.pages[at].sections[e.index];\n const slots = Object.fromEntries(Object.entries(old.slots ?? {}).filter(([slot]) => patternSlots(next).includes(slot)));\n const without = (old.without ?? []).filter(w => patternOptionalParts(next).includes(w));\n const section: PageSectionPlan = {\n pattern: e.pattern,\n ...(Object.keys(slots).length ? { slots } : {}),\n ...(old.binding && patternTakesBinding(next) ? { binding: old.binding } : {}),\n ...(without.length ? { without } : {}),\n };\n setSections(d, at, d.pages[at].sections.map((s, i) => (i === e.index ? section : s)));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Changed, page: d.pages[at].key, index: e.index });\n },\n [PlanEditOp.SetSlot]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n const section = d.pages[at].sections[e.index];\n const declared = patternSlots(patternById(section.pattern)!);\n if (!declared.includes(e.slot)) return c.add(PlanEditIssueCode.UnknownSlot, `${path}.slot`, `\"${section.pattern}\" has no slot \"${e.slot}\" (${declared.join(', ') || 'none'})`);\n setSections(d, at, d.pages[at].sections.map((s, i) => (i === e.index ? { ...s, slots: { ...(s.slots ?? {}), [e.slot]: e.text } } : s)));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Changed, page: d.pages[at].key, index: e.index });\n },\n [PlanEditOp.AddContentType]: (d, e, c, path, changed) => {\n const type = contentTypeFromWire(e.contentType) as ContentTypePlan;\n if (d.contentTypes.some(t => t.name === type.name)) return c.add(PlanEditIssueCode.Duplicate, `${path}.contentType.name`, `content type \"${type.name}\" is already in the plan`);\n d.contentTypes.push(type);\n changed.push({ kind: PlanChangeKind.ContentType, action: PlanChangeAction.Added, name: type.name });\n for (const [k, source] of ((e.dataSources ?? []) as DataSourcePlan[]).entries()) {\n if (d.dataSources.some(s => s.alias === source.alias)) { c.add(PlanEditIssueCode.Duplicate, `${path}.dataSources[${k}].alias`, `data source \"${source.alias}\" is already in the plan`); continue; }\n d.dataSources.push(source);\n changed.push({ kind: PlanChangeKind.DataSource, action: PlanChangeAction.Added, name: source.alias });\n }\n },\n [PlanEditOp.AddField]: (d, e, c, path, changed) => {\n const at = d.contentTypes.findIndex(t => t.name === e.contentType);\n if (at < 0) return c.add(PlanEditIssueCode.UnknownContentType, `${path}.contentType`, `no content type \"${String(e.contentType)}\" in the plan`);\n const type = d.contentTypes[at];\n if (type.fields.some(f => f.name === e.field.name)) return c.add(PlanEditIssueCode.Duplicate, `${path}.field.name`, `\"${type.name}\" already has a field \"${e.field.name}\"`);\n const seed = type.seed ? { ...type.seed, [e.field.name]: e.sample ?? '' } : undefined;\n d.contentTypes[at] = { ...type, fields: [...type.fields, e.field], ...(seed ? { seed } : {}) };\n changed.push({ kind: PlanChangeKind.Field, action: PlanChangeAction.Added, name: `${type.name}.${e.field.name}` });\n },\n [PlanEditOp.SetSectionData]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n const source = d.dataSources.find(s => s.alias === e.binding);\n if (!source || source.type !== PlanDataSourceType.Cms || source.mode !== PlanDataSourceMode.Query) {\n return c.add(PlanEditIssueCode.UnknownDataSource, `${path}.binding`, `no list source \"${String(e.binding)}\" in the plan`);\n }\n setSections(d, at, d.pages[at].sections.map((s, i) => (i === e.index ? { ...s, binding: e.binding } : s)));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Changed, page: d.pages[at].key, index: e.index });\n },\n};\n\n/**\n * Apply a set of edits to a plan — all of them, or none (any issue refuses the set and returns the plan unchanged). The\n * sources only removed pages and sections read are dropped with them; sources nothing read before are kept.\n * The result still has to pass `validateSitePlan`.\n */\nexport function applyPlanEdits(plan: SitePlan, edits: ReadonlyArray<PlanEdit>): PlanEditResult {\n const structure = validatePlanEdits(edits);\n if (!structure.valid) return { plan, changed: [], issues: structure.issues };\n const draft: Draft = { pages: clone([...plan.pages]), contentTypes: clone([...plan.contentTypes]), dataSources: clone([...plan.dataSources]) };\n const c = new Collector();\n const changed: PlanChange[] = [];\n edits.forEach((edit, i) => APPLY[edit.op](draft, edit, c, `edits[${i}]`, changed));\n if (c.issues.length) return { plan, changed: [], issues: c.issues };\n\n const before = withDependencies(aliasesOf(plan.pages), plan.dataSources);\n const after = withDependencies(aliasesOf(draft.pages), draft.dataSources);\n const added = new Set(changed.filter(ch => ch.kind === PlanChangeKind.DataSource).map(ch => ch.name));\n const dataSources = draft.dataSources.filter(s => after.has(s.alias) || !before.has(s.alias) || added.has(s.alias));\n for (const s of draft.dataSources) if (!dataSources.includes(s)) changed.push({ kind: PlanChangeKind.DataSource, action: PlanChangeAction.Removed, name: s.alias });\n\n return { plan: { ...plan, pages: draft.pages, contentTypes: draft.contentTypes, dataSources }, changed, issues: [] };\n}\n\n// ── The format a model writes edits in ─────────────────────────────────────────────────────────────────\n\nexport const PLAN_EDITS_SCHEMA_NAME = 'plan_edits';\n\n/** A sentence's answer: the edits, or why the ops cannot say it (one line, in the owner's language). */\nexport enum PlanEditsOutcome {\n Edits = 'edits',\n Cannot = 'cannot',\n}\n\nexport interface PlanEditsAnswer {\n outcome: `${PlanEditsOutcome}`;\n edits: PlanEdit[];\n /** `cannot`: the one line the owner reads. `edits`: empty. */\n reason: string;\n}\n\n/** The answer's own keys, explained. */\nexport const PLAN_EDITS_ANSWER_SHAPE: ShapeEntry = {\n outcome: \"'edits' | 'cannot' — cannot: the operations cannot do what the sentence asks\",\n edits: 'edit[] — applied in order, all or none; empty when cannot',\n reason: \"string — when cannot, ONE short line for the owner in their language (what to do instead); else ''\",\n};\n\nconst one = (value: string): JsonSchema => jsonOneOf([value]);\n\n/** The schema of each op's value types (what `PLAN_EDIT_SHAPE` names). */\nfunction opSchema(op: `${PlanEditOp}`): JsonSchema {\n const entry = PLAN_EDIT_SHAPE[op];\n const valueOf = (key: string): JsonSchema => {\n const text = entry[key] ?? entry[`${key}?`];\n if (key === 'op') return one(op);\n if (key === 'pattern') return jsonOneOf(sectionPatternIds());\n const head = text.split(' ')[0];\n const table: Record<string, () => JsonSchema> = {\n page: pageJsonSchema, section: sectionJsonSchema, contentType: contentTypeJsonSchema, field: fieldJsonSchema,\n 'dataSource[]': () => jsonListOf(dataSourceJsonSchema()), integer: jsonInteger, string: jsonText,\n };\n if (text.startsWith('string | string[]')) return jsonAnyOf([jsonText(), jsonListOf(jsonText())]);\n return (table[head] ?? jsonText)();\n };\n return jsonShapedObject(entry, Object.fromEntries(shapeKeys(entry).map(key => [key, valueOf(key)])), op);\n}\n\n/** The format a sentence's answer is written in: the outcome, the edits (one `anyOf` branch per op), the reason. */\nexport function planEditsJsonSchema(): JsonSchema {\n return jsonShapedObject(PLAN_EDITS_ANSWER_SHAPE, {\n outcome: jsonOneOf(Object.values(PlanEditsOutcome)),\n edits: jsonListOf(jsonAnyOf(OPS.map(op => opSchema(op as PlanEditOp)))),\n reason: jsonText(),\n }, 'planEdits');\n}\n\n/** A model's answer → edits (sections and content types off the wire); never repaired. */\nexport function planEditsFromWire(answer: unknown): PlanEditsAnswer | unknown {\n if (!isPlainObject(answer) || !Array.isArray(answer['edits'])) return answer;\n const edits = (answer['edits'] as unknown[]).map(raw => {\n if (!isPlainObject(raw)) return raw;\n const e: PlainObject = { ...raw };\n if (isPlainObject(e['page']) && Array.isArray((e['page'] as PlainObject)['sections'])) {\n e['page'] = { ...(e['page'] as PlainObject), sections: ((e['page'] as PlainObject)['sections'] as unknown[]).map(sectionFromWire) };\n }\n if (isPlainObject(e['section'])) e['section'] = sectionFromWire(e['section']);\n if (isPlainObject(e['contentType'])) e['contentType'] = contentTypeFromWire(e['contentType']);\n return e;\n });\n return { ...answer, edits };\n}\n","import { PathIssue } from './shape-check';\nimport { FACT_KEYS, FactKey, SitePlan } from './site-plan.model';\n\n/**\n * The plan stage's word checks (AI plan §3d / §3h, M1-3): every text a model WROTE into a plan — the tagline, page\n * names, section slots, content-type labels, sample values — scanned for the words the owner and their kind of\n * business must not use (`avoidWords`, the analysis's + the type's `words`), and for a fact the owner never gave\n * (an email, phone number, price or opening time that is not one of the owner's own facts). A finding is a refusal\n * with a path — the model rewrites; nothing here repairs a word. Pure.\n */\n\nexport enum PlanWordIssueCode {\n /** A word the owner (or their kind of business) must not use. */\n AvoidWord = 'avoid-word',\n /** Something that looks like a fact — an email, phone, price or time — that is not one of the owner's facts. */\n InventedFact = 'invented-fact',\n /** `business.facts` holds a fact the owner did not give, or not in the owner's words. */\n FactNotTheOwners = 'fact-not-the-owners',\n}\n\nexport type PlanWordIssue = PathIssue<PlanWordIssueCode>;\n\nexport interface PlanWordContext {\n avoidWords: ReadonlyArray<string>;\n /** The owner's own facts (the analysis's, as corrected) — the only ones a plan may carry. */\n facts: Readonly<Partial<Record<FactKey, string>>>;\n}\n\n/** A text a model wrote, and where. */\nexport interface WrittenText {\n path: string;\n text: string;\n}\n\n/** Every text in a plan a model writes (never ids, routes, field names or pattern ids). */\nexport function writtenTexts(plan: SitePlan): WrittenText[] {\n const out: WrittenText[] = [];\n const add = (path: string, text: unknown) => { if (typeof text === 'string' && text.trim()) out.push({ path, text }); };\n add('business.tagline', plan.business?.tagline);\n plan.pages?.forEach((page, p) => {\n add(`pages[${p}].name`, page.name);\n page.sections?.forEach((section, s) => {\n for (const [slot, text] of Object.entries(section.slots ?? {})) add(`pages[${p}].sections[${s}].slots.${slot}`, text);\n });\n });\n plan.contentTypes?.forEach((type, t) => {\n add(`contentTypes[${t}].label`, type.label);\n for (const [field, value] of Object.entries(type.seed ?? {})) {\n const values = Array.isArray(value) ? value : [value];\n values.forEach((v, k) => add(`contentTypes[${t}].seed.${field}${Array.isArray(value) ? `[${k}]` : ''}`, v));\n }\n });\n return out;\n}\n\nconst HEBREW = /[֐-׿]/;\n/** Hebrew joins up to two one-letter words (and, the, in, to, from, that, as) to the next: \"והטוב\" holds \"טוב\". */\nconst HEBREW_PREFIXES = '[והבלמשכ]{0,2}';\nconst escape = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\nconst normalise = (s: string) => s.normalize('NFKC').toLowerCase();\n\n/** A word (or phrase) as a whole-word pattern; Hebrew allows its one-letter prefixes. */\nexport function wordPattern(word: string): RegExp {\n const w = escape(normalise(word.trim())).replace(/\\s+/g, '\\\\s+');\n const prefix = HEBREW.test(word) ? HEBREW_PREFIXES : '';\n return new RegExp(`(?<![\\\\p{L}\\\\p{N}])${prefix}${w}(?![\\\\p{L}\\\\p{N}])`, 'u');\n}\n\n/** What a fact looks like when a model writes one — each judged against the owner's facts. */\nconst FACT_SHAPES: ReadonlyArray<{ kind: string; pattern: RegExp; key: (match: string) => string }> = [\n { kind: 'email', pattern: /[\\p{L}\\p{N}._%+-]+@[\\p{L}\\p{N}-]+(?:\\.[\\p{L}\\p{N}-]+)+/gu, key: m => m.toLowerCase() },\n { kind: 'phone', pattern: /\\+?\\d[\\d\\s().-]{6,}\\d/g, key: m => m.replace(/\\D/g, '') },\n { kind: 'price', pattern: /(?:[$€£₪]\\s?\\d[\\d,.]*|\\d[\\d,.]*\\s?(?:[$€£₪]|ש\"ח|NIS|USD|EUR|GBP))/gu, key: m => m.replace(/[^\\d]/g, '') },\n { kind: 'time', pattern: /(?<!\\d)\\d{1,2}[:.]\\d{2}(?!\\d)/g, key: m => m.replace(/\\D/g, '') },\n];\n\nconst MIN_PHONE_DIGITS = 8;\n/** \"2019 – 2024\" is two years, not a phone number. */\nconst YEAR_RANGE = /^\\s*\\d{4}\\s*[-–]\\s*\\d{4}\\s*$/;\n\nfunction ownedKeys(facts: PlanWordContext['facts']): Set<string> {\n const keys = new Set<string>();\n for (const value of Object.values(facts)) {\n if (typeof value !== 'string') continue;\n for (const shape of FACT_SHAPES) for (const m of value.match(shape.pattern) ?? []) keys.add(`${shape.kind}:${shape.key(m)}`);\n }\n return keys;\n}\n\n/** The words to avoid and the facts never given, in every written text of the plan. */\nexport function planWordIssues(plan: SitePlan, ctx: PlanWordContext): PlanWordIssue[] {\n const issues: PlanWordIssue[] = [];\n const avoid = [...new Set(ctx.avoidWords.map(w => w.trim()).filter(Boolean))].map(w => ({ word: w, pattern: wordPattern(w) }));\n const owned = ownedKeys(ctx.facts);\n for (const { path, text } of writtenTexts(plan)) {\n const words = normalise(text);\n for (const a of avoid) if (a.pattern.test(words)) issues.push({ code: PlanWordIssueCode.AvoidWord, path, message: `uses \"${a.word}\" — a word this site must not use` });\n for (const shape of FACT_SHAPES) {\n for (const m of text.match(shape.pattern) ?? []) {\n const key = shape.key(m);\n if (shape.kind === 'phone' && (key.length < MIN_PHONE_DIGITS || YEAR_RANGE.test(m))) continue;\n if (!owned.has(`${shape.kind}:${key}`)) issues.push({ code: PlanWordIssueCode.InventedFact, path, message: `\"${m.trim()}\" looks like a ${shape.kind} the owner never gave — leave it out` });\n }\n }\n }\n for (const [key, value] of Object.entries(plan.business?.facts ?? {})) {\n const own = ctx.facts[key as FactKey];\n if (!(FACT_KEYS as ReadonlyArray<string>).includes(key)) continue;\n if (typeof own !== 'string' || normalise(own).trim() !== normalise(String(value)).trim()) {\n issues.push({ code: PlanWordIssueCode.FactNotTheOwners, path: `business.facts.${key}`, message: own ? `must be the owner's own words: \"${own}\"` : 'the owner did not give it — leave it out (it becomes a placeholder)' });\n }\n }\n return issues;\n}\n","/**\n * @vectoriox/iox-ui/generation-core — the shared, FRAMEWORK-FREE site-plan core (design-system plan\n * §6b, W1): the Site Plan shape + its validator, the pattern library and the Studio template (both\n * generated 1:1 from iox-ai-guidance `flavor-spec.v1.json`), and `composeSite` — a plan in, the\n * schemas, sample items, data sources, pages, routes and header/footer globals out, as serialized\n * layout JSON. The website wizard (W2–W4) and the AI agent drive the SAME composer.\n * Pure: no transport, no clock, no randomness. Consumed by iox-cms (the server-side site build), the\n * builder and the engine, so nothing here may import Angular.\n * ⚠️ Consumers wire the usual trio — ng-package raw-ts assets, jest moduleNameMapper, tsconfig paths —\n * or `nest start` dies with ERR_REQUIRE_ESM while jest and build both pass.\n */\nexport * from './site-spec.generated';\nexport * from './node-baseline.model';\nexport * from './node-baselines.generated';\nexport * from './baseline-roles';\nexport * from './site-plan.model';\nexport * from './patterns';\nexport * from './templates';\nexport * from './serialized-node';\nexport * from './shape-check';\nexport * from './json-schema';\nexport * from './validate-site-plan';\nexport * from './compose-site';\nexport * from './nav-shape';\nexport * from './entrances';\nexport * from './plan-data';\nexport * from './site-build-run';\nexport * from './ai-run';\nexport * from './site-plan-schema';\nexport * from './plan-edits';\nexport * from './plan-words';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["clone","OPTIONAL_MARK","SHAPE","ROUTE_PARAM","isObject","Collector","DIALOG","ICON","TEXT","COMPOSED","NOTHING","one"],"mappings":"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"}
1
+ {"version":3,"file":"vectoriox-iox-ui-generation-core.mjs","sources":["../../../projects/iox-ui/src/generation-core/site-spec.generated.ts","../../../projects/iox-ui/src/generation-core/node-baselines.generated.ts","../../../projects/iox-ui/src/generation-core/baseline-roles.ts","../../../projects/iox-ui/src/generation-core/site-plan.model.ts","../../../projects/iox-ui/src/generation-core/patterns.ts","../../../projects/iox-ui/src/generation-core/templates.ts","../../../projects/iox-ui/src/generation-core/serialized-node.ts","../../../projects/iox-ui/src/generation-core/shape-check.ts","../../../projects/iox-ui/src/generation-core/json-schema.ts","../../../projects/iox-ui/src/generation-core/validate-site-plan.ts","../../../projects/iox-ui/src/generation-core/nav-shape.ts","../../../projects/iox-ui/src/generation-core/compose-site.ts","../../../projects/iox-ui/src/generation-core/entrances.ts","../../../projects/iox-ui/src/generation-core/plan-data.ts","../../../projects/iox-ui/src/generation-core/site-build-run.ts","../../../projects/iox-ui/src/generation-core/ai-run.ts","../../../projects/iox-ui/src/generation-core/site-plan-schema.ts","../../../projects/iox-ui/src/generation-core/plan-edits.ts","../../../projects/iox-ui/src/generation-core/plan-words.ts","../../../projects/iox-ui/src/generation-core/audit-site.ts","../../../projects/iox-ui/src/generation-core/stock-photos.ts","../../../projects/iox-ui/src/generation-core/public-api.ts","../../../projects/iox-ui/src/generation-core/vectoriox-iox-ui-generation-core.ts"],"sourcesContent":["// GENERATED from iox-ai-guidance flavor-spec.v1.json — do not edit; re-run scripts/gen-flavor-spec.mjs\n// (npm run gen:flavor-spec). The JSON is itself generated by iox-ai-guidance\n// architecture/builder/design-system/build-spec.mjs: change a value THERE, then regenerate both.\n/* eslint-disable */\nexport const SPEC_SITE_PLAN_SHAPE = {\n \"plan\": {\n \"version\": \"'1'\",\n \"source\": \"sourceTemplate | sourceAi\",\n \"business\": \"business\",\n \"design\": \"design\",\n \"contentTypes\": \"contentType[]\",\n \"dataSources\": \"(cmsDataSource | relativeDataSource)[] — merged by alias into the org library\",\n \"pages\": \"page[]\",\n \"globals\": \"globals\"\n },\n \"sourceTemplate\": {\n \"kind\": \"'template'\",\n \"templateId\": \"string\",\n \"templateVersion\": \"integer\"\n },\n \"sourceAi\": {\n \"kind\": \"'ai'\",\n \"runId\": \"string\"\n },\n \"business\": {\n \"name\": \"string — the brand: the header, the hero, the copyright line\",\n \"tagline?\": \"string — the hero lead and the footer line\",\n \"facts?\": \"{ [fact]: string } — facts (email, phone, city, address, hours): only the customer's own words; a blank fact is a publish-blocking placeholder, never invented\"\n },\n \"design\": {\n \"flavorId\": \"string — a v2 flavor pack id\",\n \"seed\": \"string — #rrggbb brand colour\",\n \"pairId\": \"string — one of the pack's font pairings\",\n \"shape\": \"string — axes.shapes\",\n \"density\": \"string — axes.densities\",\n \"motion\": \"string — axes.motions\",\n \"pillButtons\": \"boolean\",\n \"mode\": \"'light' | 'dark' | 'auto'\",\n \"tint?\": \"string — axes.tints (DS9 neutral tint)\",\n \"fonts?\": \"object — uploaded font families per role (DS5)\",\n \"scroll?\": \"string — axes.scrolls: how the site scrolls (rev 3.1; absent = axes.motionChoices.pre)\",\n \"animate?\": \"string — axes.animations: how much the sections move in as they scroll into view\",\n \"between?\": \"string — axes.betweens: what plays between pages\"\n },\n \"contentType\": {\n \"name\": \"string — unique\",\n \"label\": \"string\",\n \"previewTextField?\": \"string — a field of the type: the item's name on cards and the alt text of its bound images\",\n \"previewImageField?\": \"string — a field of the type: the item's picture\",\n \"fields\": \"field[]\",\n \"seed?\": \"seed\"\n },\n \"field\": {\n \"name\": \"string — unique in the type\",\n \"type\": \"string\",\n \"controller\": \"string — an IOX input controller\",\n \"required?\": \"boolean\",\n \"note?\": \"string\"\n },\n \"seed\": {\n \"count\": \"integer ≥ 0\",\n \"sample\": \"boolean — items are flagged isSample\",\n \"isPublished\": \"boolean\",\n \"[field]?\": \"the field's value — strings are templates: {n} = the item's 1-based number, {sampleImage:n} / {sampleImage:n+k} = a bundled sample image\"\n },\n \"cmsDataSource\": {\n \"alias\": \"string — unique; never $… (platform scopes)\",\n \"type\": \"'cms'\",\n \"mode\": \"'query' | 'single'\",\n \"contentType\": \"string — a content type of the plan\",\n \"limit?\": \"integer ≥ 1\",\n \"filterByRouteParam?\": \"{ field, routeParam } — single only: the route param that picks the item\"\n },\n \"relativeDataSource\": {\n \"alias\": \"string — unique\",\n \"type\": \"'relative'\",\n \"of\": \"string — a single cms source (the subject)\",\n \"op\": \"'$siblings.next' | '$siblings.prev'\",\n \"within\": \"string — a query cms source of the same type\"\n },\n \"page\": {\n \"key\": \"string — unique\",\n \"name\": \"string — the nav label\",\n \"route\": \"string — /lowercase-words, :params; unique\",\n \"isHome?\": \"boolean — exactly one page, at /\",\n \"required?\": \"boolean — a template page the wizard's Pages step cannot leave out\",\n \"inNav?\": \"boolean — a Link in the header and footer navigation, in plan order\",\n \"template?\": \"string — the content type a template page renders one item of\",\n \"routeSource?\": \"string — the single source read by the route param (route.* binds it)\",\n \"sections\": \"section[]\"\n },\n \"section\": {\n \"pattern\": \"string — a non-global pattern id\",\n \"slots?\": \"{ [slot]: string } — the pattern's declared slots\",\n \"binding?\": \"string — the list source a pattern's $binding repeater iterates (exactly when it has one); a $binding? pattern (faq.accordion) MAY take one — then its items come from that content\",\n \"without?\": \"string[] — the pattern's optional parts to leave out\"\n },\n \"globals\": {\n \"header\": \"string — a header pattern (global: before)\",\n \"footer\": \"string — a footer pattern (global: after)\"\n }\n} as const;\n\nexport const SPEC_SITE_FACTS = {\n \"email\": \"Email address\",\n \"phone\": \"Phone number\",\n \"city\": \"City or area\",\n \"address\": \"Street address\",\n \"hours\": \"Opening hours\"\n} as const;\n\nexport const SPEC_SITE_PATTERNS = {\n \"nav.inline-cta\": {\n \"family\": \"nav\",\n \"label\": \"Navigation bar\",\n \"global\": \"before\",\n \"phoneMenu\": \"drawer\",\n \"node\": {\n \"t\": \"Container\",\n \"es\": \"nav\",\n \"tag\": \"nav\",\n \"role\": \"nav\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"justifyContent\": \"space-between\",\n \"alignItems\": \"center\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"c\": [\n {\n \"t\": \"LinkedContainer\",\n \"es\": \"box\",\n \"href\": \"/\",\n \"role\": \"nav.brand\",\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"slot\": \"brand\",\n \"fromBusiness\": \"name\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"nav.links\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"var(--iox-space-gap)\",\n \"alignItems\": \"center\",\n \"width\": \"auto\"\n },\n \"c\": [\n {\n \"t\": \"Link\",\n \"es\": \"link\",\n \"each\": \"$navPages\",\n \"bind\": \"page.name\",\n \"href\": \"$page.route\",\n \"role\": \"nav.link\"\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"slot\": \"cta\",\n \"text\": \"Get in touch\",\n \"role\": \"nav.cta\"\n }\n ]\n }\n ]\n }\n },\n \"footer.three-column\": {\n \"family\": \"footer\",\n \"label\": \"Footer, three columns\",\n \"global\": \"after\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"inverse\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"2fr 1fr 1fr\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"slot\": \"brand\",\n \"fromBusiness\": \"name\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"slot\": \"tagline\",\n \"fromBusiness\": \"tagline\",\n \"ph\": \"copy\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"text\": \"Pages\"\n },\n {\n \"t\": \"Link\",\n \"es\": \"link\",\n \"each\": \"$navPages\",\n \"bind\": \"page.name\",\n \"href\": \"$page.route\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"text\": \"Contact\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"ph\": \"email\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"ph\": \"phone\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"ph\": \"city\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Divider\",\n \"es\": \"rule\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"slot\": \"copyright\",\n \"text\": \"© {year} {business.name}\"\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"hero.split\": {\n \"family\": \"hero\",\n \"label\": \"Hero — text beside an image\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"1.1fr 0.9fr\",\n \"gap\": \"48px\",\n \"alignItems\": \"center\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"22px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"What you do · where\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"display\",\n \"level\": \"h1\",\n \"slot\": \"headline\",\n \"fromBusiness\": \"name\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"slot\": \"lead\",\n \"fromBusiness\": \"tagline\",\n \"ph\": \"copy\"\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"12px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/work\",\n \"text\": \"See our work\"\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-secondary\",\n \"href\": \"/contact\",\n \"text\": \"Get in touch\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"ph\": \"image\",\n \"aspect\": \"4 / 5\"\n }\n ]\n }\n ]\n }\n },\n \"collection.card-grid\": {\n \"family\": \"collection\",\n \"label\": \"Project cards, three across\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"optional\": \"header\",\n \"lay\": {\n \"display\": \"flex\",\n \"justifyContent\": \"space-between\",\n \"alignItems\": \"baseline\",\n \"gap\": \"16px\",\n \"flexWrap\": \"wrap\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"text\": \"Selected work\"\n },\n {\n \"t\": \"Link\",\n \"es\": \"link\",\n \"href\": \"/work\",\n \"text\": \"All projects\"\n }\n ]\n },\n {\n \"t\": \"Repeater\",\n \"src\": \"$binding\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"parts\": {\n \"badge\": false,\n \"actions\": false\n },\n \"href\": \"/work/:slug\",\n \"param\": \"item.slug\",\n \"binds\": {\n \"image\": \"item.cover\",\n \"eyebrow\": \"item.year\",\n \"title\": \"item.title\",\n \"text\": \"item.summary\"\n }\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"feature.triad\": {\n \"family\": \"feature\",\n \"label\": \"Three services\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"subtle\",\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"text\": \"What we do\"\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"10px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"ph\": \"copy\",\n \"text\": \"Name a service\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Describe it in two sentences.\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"10px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"ph\": \"copy\",\n \"text\": \"Name a service\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Describe it in two sentences.\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"10px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h3\",\n \"level\": \"h3\",\n \"ph\": \"copy\",\n \"text\": \"Name a service\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Describe it in two sentences.\"\n }\n ]\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"cta.banner\": {\n \"family\": \"cta\",\n \"label\": \"Call to action band\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"inverse\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"1fr auto\",\n \"gap\": \"32px\",\n \"alignItems\": \"center\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"12px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"text\": \"Start a project\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"text\": \"Tell us about your project.\"\n }\n ]\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Get in touch\"\n }\n ]\n }\n ]\n }\n },\n \"page-header.simple\": {\n \"family\": \"header\",\n \"label\": \"Page header\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"760px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"slot\": \"eyebrow\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h1\",\n \"level\": \"h1\",\n \"slot\": \"title\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"slot\": \"lead\",\n \"ph\": \"copy\",\n \"text\": \"One or two sentences that introduce this page.\"\n }\n ]\n }\n ]\n }\n },\n \"project.hero\": {\n \"family\": \"detail\",\n \"label\": \"Project hero (bound to the route item)\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"16px\",\n \"maxWidth\": \"860px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"eyebrow\",\n \"level\": \"h4\",\n \"bind\": \"route.location\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h1\",\n \"level\": \"h1\",\n \"bind\": \"route.title\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"bind\": \"route.summary\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"bind\": \"route.year\"\n }\n ]\n },\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"bind\": \"route.cover\",\n \"aspect\": \"16 / 9\"\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"project.gallery\": {\n \"family\": \"media\",\n \"label\": \"Project gallery (the item's images)\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Repeater\",\n \"src\": \"route.gallery\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(2, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"bind\": \"item\",\n \"alt\": \"\",\n \"aspect\": \"4 / 3\"\n }\n ]\n }\n ]\n }\n },\n \"project.next\": {\n \"family\": \"detail\",\n \"label\": \"Next project\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Divider\",\n \"es\": \"rule\"\n },\n {\n \"t\": \"LinkedContainer\",\n \"es\": \"box\",\n \"href\": \"/work/:slug\",\n \"param\": \"next.slug\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"6px\",\n \"padding\": \"24px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"Next project\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"bind\": \"next.title\"\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"about.story\": {\n \"family\": \"content\",\n \"label\": \"Story beside an image\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"1fr 1fr\",\n \"gap\": \"48px\",\n \"alignItems\": \"start\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"16px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"ph\": \"copy\",\n \"text\": \"How the studio started\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"Tell your story in your own words: who you are, how you work, what you care about.\"\n }\n ]\n },\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"ph\": \"image\",\n \"aspect\": \"4 / 3\"\n }\n ]\n }\n ]\n }\n },\n \"contact.split\": {\n \"family\": \"contact\",\n \"label\": \"Contact details beside a form\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"0.9fr 1.1fr\",\n \"gap\": \"48px\",\n \"alignItems\": \"start\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"16px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"h1\",\n \"level\": \"h1\",\n \"text\": \"Get in touch\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"ph\": \"copy\",\n \"text\": \"Say how and when people can expect to hear back.\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"email\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"phone\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"city\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"card\",\n \"c\": [\n {\n \"t\": \"Form\",\n \"preset\": \"contact\"\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"faq.accordion\": {\n \"family\": \"faq\",\n \"label\": \"FAQ — questions that open\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"860px\",\n \"width\": \"100%\",\n \"margin\": \"0px auto 0px auto\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"FAQ\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"Questions people ask\"\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"accordion\",\n \"src\": \"$binding?\",\n \"ph\": \"copy\"\n }\n ]\n }\n ]\n }\n },\n \"feature.tabbed\": {\n \"family\": \"feature\",\n \"label\": \"Features — tabs that switch\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"1100px\",\n \"width\": \"100%\",\n \"margin\": \"0px auto 0px auto\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"What we offer\"\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"What we design\"\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"tabs\",\n \"src\": \"$binding?\",\n \"ph\": \"copy\",\n \"name\": \"What we design\"\n }\n ]\n }\n ]\n }\n },\n \"pricing.tiers\": {\n \"family\": \"pricing\",\n \"label\": \"Pricing — plans with a monthly / yearly switch\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"textAlign\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"Pricing\",\n \"lay\": {\n \"textAlign\": \"center\"\n }\n },\n {\n \"t\": \"Heading\",\n \"es\": \"h2\",\n \"level\": \"h2\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"Plans\",\n \"lay\": {\n \"textAlign\": \"center\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"segmented\",\n \"name\": \"Billing period\",\n \"lay\": {\n \"alignSelf\": \"center\"\n },\n \"resp\": {\n \"mobile\": {\n \"position\": \"sticky\",\n \"top\": \"calc(12px + env(safe-area-inset-top, 0px))\",\n \"zIndex\": \"2\",\n \"width\": \"100%\"\n }\n }\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Plans\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\",\n \"alignItems\": \"stretch\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"minmax(0, 1fr)\"\n }\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"ph\": \"copy\",\n \"parts\": {\n \"media\": false,\n \"eyebrow\": false,\n \"badge\": false,\n \"actions\": false\n },\n \"words\": {\n \"title\": \"First plan\",\n \"text\": \"Who this plan is for, in one sentence.\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Monthly\",\n \"shownWhen\": \"monthly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Monthly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per month\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Yearly\",\n \"shownWhen\": \"yearly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Yearly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per year\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Includes\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"card.actions\",\n \"layer\": \"Buttons\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"width\": \"100%\",\n \"margin\": \"auto 0px 0px 0px\",\n \"padding\": \"6px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Choose this plan\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"ph\": \"copy\",\n \"scheme\": \"accent\",\n \"badge\": \"neutral\",\n \"icon\": \"ph ph-sparkle\",\n \"parts\": {\n \"media\": false,\n \"eyebrow\": false,\n \"badge\": true,\n \"actions\": false\n },\n \"words\": {\n \"title\": \"Second plan\",\n \"text\": \"Who this plan is for, in one sentence.\",\n \"badge\": \"Most popular\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Monthly\",\n \"shownWhen\": \"monthly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Monthly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per month\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Yearly\",\n \"shownWhen\": \"yearly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Yearly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per year\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Includes\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"card.actions\",\n \"layer\": \"Buttons\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"width\": \"100%\",\n \"margin\": \"auto 0px 0px 0px\",\n \"padding\": \"6px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Choose this plan\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"recipe\": \"card\",\n \"layout\": \"top\",\n \"ph\": \"copy\",\n \"parts\": {\n \"media\": false,\n \"eyebrow\": false,\n \"badge\": false,\n \"actions\": false\n },\n \"words\": {\n \"title\": \"Third plan\",\n \"text\": \"Who this plan is for, in one sentence.\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Monthly\",\n \"shownWhen\": \"monthly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Monthly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per month\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Price · Yearly\",\n \"shownWhen\": \"yearly\",\n \"lay\": {\n \"display\": \"flex\",\n \"alignItems\": \"baseline\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"6px\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"price\",\n \"ph\": \"price\",\n \"text\": \"Yearly price\",\n \"lay\": {\n \"width\": \"auto\"\n }\n },\n {\n \"t\": \"Text\",\n \"es\": \"small\",\n \"text\": \"per year\",\n \"lay\": {\n \"width\": \"auto\"\n }\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"layer\": \"Includes\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"8px\"\n },\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"nowrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\"\n },\n \"c\": [\n {\n \"t\": \"Icon\",\n \"es\": \"icon\",\n \"icon\": \"ph ph-check\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"body\",\n \"ph\": \"copy\",\n \"text\": \"What this plan includes\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"role\": \"card.actions\",\n \"layer\": \"Buttons\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexWrap\": \"wrap\",\n \"gap\": \"8px\",\n \"alignItems\": \"center\",\n \"width\": \"100%\",\n \"margin\": \"auto 0px 0px 0px\",\n \"padding\": \"6px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"text\": \"Choose this plan\"\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n },\n \"hero.full-bleed-media\": {\n \"family\": \"hero\",\n \"label\": \"Hero — words over a background video\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"scheme\": \"inverse\",\n \"lay\": {\n \"position\": \"relative\",\n \"overflow\": \"hidden\",\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"justifyContent\": \"flex-end\",\n \"minHeight\": \"70vh\"\n },\n \"c\": [\n {\n \"t\": \"Video\",\n \"es\": \"media\",\n \"video\": \"background\",\n \"ph\": \"video\",\n \"lay\": {\n \"position\": \"absolute\",\n \"top\": \"0px\",\n \"left\": \"0px\",\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"aspectRatio\": \"auto\",\n \"borderRadius\": \"0px\",\n \"zIndex\": \"0\"\n }\n },\n {\n \"t\": \"Container\",\n \"es\": \"media-scrim\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"position\": \"relative\",\n \"zIndex\": \"1\",\n \"padding\": \"32px 32px 32px 32px\",\n \"maxWidth\": \"760px\"\n },\n \"c\": [\n {\n \"t\": \"Heading\",\n \"es\": \"display\",\n \"level\": \"h1\",\n \"slot\": \"title\",\n \"ph\": \"copy\",\n \"text\": \"Rooms that hold the light\"\n },\n {\n \"t\": \"Text\",\n \"es\": \"lead\",\n \"slot\": \"lead\",\n \"fromBusiness\": \"tagline\",\n \"ph\": \"copy\"\n },\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-primary\",\n \"href\": \"/contact\",\n \"slot\": \"cta\",\n \"text\": \"Get in touch\"\n }\n ]\n }\n ]\n }\n },\n \"proof.testimonial-carousel\": {\n \"family\": \"proof\",\n \"label\": \"Testimonials that rotate\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Container\",\n \"es\": \"box\",\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"14px\",\n \"maxWidth\": \"860px\",\n \"width\": \"100%\",\n \"margin\": \"0px auto 0px auto\"\n },\n \"c\": [\n {\n \"t\": \"Text\",\n \"es\": \"eyebrow\",\n \"slot\": \"eyebrow\",\n \"ph\": \"copy\",\n \"text\": \"What clients say\"\n },\n {\n \"t\": \"SliderContainer\",\n \"recipe\": \"carousel\",\n \"ph\": \"copy\"\n }\n ]\n }\n ]\n }\n },\n \"collection.masonry-gallery\": {\n \"family\": \"collection\",\n \"label\": \"Gallery that opens full screen\",\n \"node\": {\n \"t\": \"Section\",\n \"es\": \"section\",\n \"c\": [\n {\n \"t\": \"Repeater\",\n \"src\": \"route.gallery\",\n \"lay\": {\n \"display\": \"grid\",\n \"gridTemplateColumns\": \"repeat(3, minmax(0, 1fr))\",\n \"gap\": \"var(--iox-space-gap)\"\n },\n \"resp\": {\n \"mobile\": {\n \"gridTemplateColumns\": \"repeat(2, minmax(0, 1fr))\"\n }\n },\n \"c\": [\n {\n \"t\": \"ButtonBlock\",\n \"es\": \"button-ghost\",\n \"opens\": \"lightbox\",\n \"name\": \"Open the image\",\n \"lay\": {\n \"display\": \"block\",\n \"width\": \"100%\",\n \"padding\": \"0px 0px 0px 0px\"\n },\n \"c\": [\n {\n \"t\": \"Image\",\n \"es\": \"media\",\n \"bind\": \"item\",\n \"alt\": \"\",\n \"aspect\": \"4 / 3\"\n }\n ]\n }\n ]\n },\n {\n \"t\": \"Dialog\",\n \"recipe\": \"lightbox\",\n \"src\": \"route.gallery\"\n }\n ],\n \"lay\": {\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"gap\": \"32px\"\n }\n }\n }\n} as const;\n\nexport const SPEC_SITE_TEMPLATES = {\n \"studio\": {\n \"id\": \"studio\",\n \"version\": 1,\n \"label\": \"Studio\",\n \"blurb\": \"A portfolio for a studio or service business: your work, what you do, and a way to reach you.\",\n \"bestFor\": [\n \"Architecture & interiors\",\n \"Design studios\",\n \"Photographers\",\n \"Agencies\",\n \"Consultants\"\n ],\n \"contentTypes\": [\n {\n \"name\": \"projects\",\n \"label\": \"Projects\",\n \"previewTextField\": \"title\",\n \"previewImageField\": \"cover\",\n \"fields\": [\n {\n \"name\": \"title\",\n \"type\": \"string\",\n \"controller\": \"text\",\n \"required\": true\n },\n {\n \"name\": \"slug\",\n \"type\": \"string\",\n \"controller\": \"text\",\n \"required\": true,\n \"note\": \"derived from title at seed; no slug controller exists yet (gap)\"\n },\n {\n \"name\": \"summary\",\n \"type\": \"string\",\n \"controller\": \"textarea\"\n },\n {\n \"name\": \"cover\",\n \"type\": \"string\",\n \"controller\": \"image\"\n },\n {\n \"name\": \"gallery\",\n \"type\": \"array\",\n \"controller\": \"mediaList\"\n },\n {\n \"name\": \"year\",\n \"type\": \"string\",\n \"controller\": \"text\"\n },\n {\n \"name\": \"location\",\n \"type\": \"string\",\n \"controller\": \"text\"\n }\n ],\n \"seed\": {\n \"count\": 6,\n \"sample\": true,\n \"isPublished\": true,\n \"title\": \"Sample project {n}\",\n \"slug\": \"sample-project-{n}\",\n \"summary\": \"Replace this with a sentence about the project.\",\n \"cover\": \"{sampleImage:n}\",\n \"gallery\": [\n \"{sampleImage:n+1}\",\n \"{sampleImage:n+2}\"\n ],\n \"year\": \"\",\n \"location\": \"\"\n }\n }\n ],\n \"dataSources\": [\n {\n \"alias\": \"projects\",\n \"type\": \"cms\",\n \"mode\": \"query\",\n \"contentType\": \"projects\"\n },\n {\n \"alias\": \"projectsLatest\",\n \"type\": \"cms\",\n \"mode\": \"query\",\n \"contentType\": \"projects\",\n \"limit\": 3\n },\n {\n \"alias\": \"project\",\n \"type\": \"cms\",\n \"mode\": \"single\",\n \"contentType\": \"projects\",\n \"filterByRouteParam\": {\n \"field\": \"slug\",\n \"routeParam\": \"slug\"\n }\n },\n {\n \"alias\": \"projectNext\",\n \"type\": \"relative\",\n \"of\": \"project\",\n \"op\": \"$siblings.next\",\n \"within\": \"projects\"\n }\n ],\n \"pages\": [\n {\n \"key\": \"home\",\n \"name\": \"Home\",\n \"route\": \"/\",\n \"isHome\": true,\n \"required\": true,\n \"inNav\": false,\n \"sections\": [\n {\n \"pattern\": \"hero.split\"\n },\n {\n \"pattern\": \"collection.card-grid\",\n \"binding\": \"projectsLatest\"\n },\n {\n \"pattern\": \"feature.triad\"\n },\n {\n \"pattern\": \"cta.banner\"\n }\n ]\n },\n {\n \"key\": \"work\",\n \"name\": \"Work\",\n \"route\": \"/work\",\n \"required\": true,\n \"inNav\": true,\n \"sections\": [\n {\n \"pattern\": \"page-header.simple\",\n \"slots\": {\n \"eyebrow\": \"Portfolio\",\n \"title\": \"Work\"\n }\n },\n {\n \"pattern\": \"collection.card-grid\",\n \"binding\": \"projects\",\n \"without\": [\n \"header\"\n ]\n }\n ]\n },\n {\n \"key\": \"project\",\n \"name\": \"Project\",\n \"route\": \"/work/:slug\",\n \"required\": true,\n \"inNav\": false,\n \"template\": \"projects\",\n \"routeSource\": \"project\",\n \"sections\": [\n {\n \"pattern\": \"project.hero\"\n },\n {\n \"pattern\": \"project.gallery\"\n },\n {\n \"pattern\": \"project.next\"\n },\n {\n \"pattern\": \"cta.banner\"\n }\n ]\n },\n {\n \"key\": \"about\",\n \"name\": \"About\",\n \"route\": \"/about\",\n \"required\": false,\n \"inNav\": true,\n \"sections\": [\n {\n \"pattern\": \"page-header.simple\",\n \"slots\": {\n \"eyebrow\": \"About\",\n \"title\": \"About the studio\"\n }\n },\n {\n \"pattern\": \"about.story\"\n },\n {\n \"pattern\": \"cta.banner\"\n }\n ]\n },\n {\n \"key\": \"contact\",\n \"name\": \"Contact\",\n \"route\": \"/contact\",\n \"required\": false,\n \"inNav\": true,\n \"sections\": [\n {\n \"pattern\": \"contact.split\"\n }\n ]\n }\n ],\n \"globals\": {\n \"header\": \"nav.inline-cta\",\n \"footer\": \"footer.three-column\"\n }\n }\n} as const;\n\nexport const SPEC_SITE_LIBRARY = [\n {\n \"id\": \"nav.inline-cta\",\n \"family\": \"nav\"\n },\n {\n \"id\": \"nav.centered-logo\",\n \"family\": \"nav\"\n },\n {\n \"id\": \"nav.overlay-menu\",\n \"family\": \"nav\"\n },\n {\n \"id\": \"hero.split\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"hero.centered\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"hero.full-bleed-media\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"hero.stacked-editorial\",\n \"family\": \"hero\"\n },\n {\n \"id\": \"proof.logo-strip\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"proof.stat-row\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"proof.testimonial-single\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"proof.testimonial-carousel\",\n \"family\": \"proof\"\n },\n {\n \"id\": \"feature.triad\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"feature.alternating-rows\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"feature.icon-list\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"feature.tabbed\",\n \"family\": \"feature\"\n },\n {\n \"id\": \"collection.card-grid\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"collection.masonry-gallery\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"collection.slider\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"collection.list-detail\",\n \"family\": \"collection\"\n },\n {\n \"id\": \"story.long-form\",\n \"family\": \"story\"\n },\n {\n \"id\": \"story.timeline\",\n \"family\": \"story\"\n },\n {\n \"id\": \"story.quote-break\",\n \"family\": \"story\"\n },\n {\n \"id\": \"cta.banner\",\n \"family\": \"cta\"\n },\n {\n \"id\": \"cta.split-form\",\n \"family\": \"cta\"\n },\n {\n \"id\": \"contact.split-map\",\n \"family\": \"contact\"\n },\n {\n \"id\": \"contact.simple\",\n \"family\": \"contact\"\n },\n {\n \"id\": \"faq.accordion\",\n \"family\": \"faq\"\n },\n {\n \"id\": \"pricing.tiers\",\n \"family\": \"pricing\"\n },\n {\n \"id\": \"footer.three-column\",\n \"family\": \"footer\"\n },\n {\n \"id\": \"footer.mega\",\n \"family\": \"footer\"\n },\n {\n \"id\": \"footer.minimal\",\n \"family\": \"footer\"\n }\n] as const;\n","// GENERATED from the live iox-builder config classes — do not edit; re-run scripts/gen-node-baselines.mjs\n// (npm run gen:node-baselines). What an untouched node of each registered type saves as (the\n// builder serializer's props/styleProps), plus every style trait it has a slot for.\n/* eslint-disable */\nimport type { NodeBaseline } from './node-baseline.model';\n\nexport const NODE_BASELINES: Readonly<Record<string, NodeBaseline>> = {\n \"Button\": {\n \"props\": {\n \"label\": \"Click me\",\n \"link\": \"#\",\n \"variant\": \"primary\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"label\",\n \"link\",\n \"variant\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"ButtonBlock\": {\n \"props\": {\n \"tag\": \"button\",\n \"linkType\": \"external\",\n \"href\": \"\",\n \"pageRoute\": \"\",\n \"target\": \"_self\",\n \"type\": \"button\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"inline-flex\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"center\",\n \"alignItems\": \"center\",\n \"gap\": \"8px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"10px 20px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"pointer\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"tag\",\n \"linkType\",\n \"href\",\n \"pageRoute\",\n \"target\",\n \"type\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Card\": {\n \"props\": {\n \"title\": \"Default Title\",\n \"image\": \"https://via.placeholder.com/150\",\n \"description\": \"This is a default card description.\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"200px\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"16px 16px 16px 16px\",\n \"borderWidth\": \"1px 1px 1px 1px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#cccccc\",\n \"borderRadius\": \"8px\",\n \"backgroundColor\": \"#ffffff\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"title\",\n \"image\",\n \"description\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Container\": {\n \"props\": {\n \"htmlTag\": \"div\",\n \"colorScheme\": \"default\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"200px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"htmlTag\",\n \"colorScheme\",\n \"multiple\",\n \"defaultOn\",\n \"activateOn\",\n \"orientation\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Heading\": {\n \"props\": {\n \"content\": \"Heading\",\n \"level\": \"h2\",\n \"linkType\": \"none\",\n \"url\": \"\",\n \"pageRoute\": \"\",\n \"target\": \"_self\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"32px\",\n \"fontWeight\": \"700\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"maxLines\": \"none\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"content\",\n \"level\",\n \"linkType\",\n \"url\",\n \"pageRoute\",\n \"target\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"maxLines\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Text\": {\n \"props\": {\n \"content\": \"Enter text here\",\n \"tag\": \"p\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"20px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"maxLines\": \"none\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"10px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"content\",\n \"tag\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"maxLines\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Image\": {\n \"props\": {\n \"src\": \"https://placehold.co/600x400?text=Image\",\n \"alt\": \"Image\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"300px\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"1/1\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"src\",\n \"alt\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Link\": {\n \"props\": {\n \"label\": \"Click here\",\n \"linkType\": \"external\",\n \"url\": \"https://\",\n \"pageRoute\": \"\",\n \"target\": \"_self\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"label\",\n \"linkType\",\n \"url\",\n \"pageRoute\",\n \"target\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"LinkedContainer\": {\n \"props\": {\n \"linkType\": \"external\",\n \"url\": \"https://\",\n \"pageRoute\": \"\",\n \"target\": \"_self\",\n \"colorScheme\": \"default\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"80px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"linkType\",\n \"url\",\n \"pageRoute\",\n \"target\",\n \"colorScheme\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Section\": {\n \"props\": {\n \"colorScheme\": \"default\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"200px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"colorScheme\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Icon\": {\n \"props\": {\n \"iconClass\": \"ph-thin ph-star\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"24px\",\n \"fontWeight\": \"400\",\n \"color\": \"#374151\",\n \"lineHeight\": \"0\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"iconClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Divider\": {\n \"props\": {},\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"1px\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"8px 0px 8px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"#cccccc\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Spacer\": {\n \"props\": {},\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"40px\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"List\": {\n \"props\": {\n \"htmlTag\": \"ul\",\n \"start\": 1,\n \"reversed\": false\n },\n \"styleProps\": {\n \"listStyleType\": \"disc\",\n \"listStylePosition\": \"outside\",\n \"columnCount\": \"1\",\n \"columnGap\": \"0px\",\n \"markerColor\": \"\",\n \"markerFontSize\": \"\",\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 24px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"htmlTag\",\n \"start\",\n \"reversed\"\n ],\n \"styleTraits\": [\n \"listStyleType\",\n \"listStylePosition\",\n \"columnCount\",\n \"columnGap\",\n \"_sep_marker\",\n \"markerColor\",\n \"markerFontSize\",\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"ListItem\": {\n \"props\": {\n \"htmlTag\": \"li\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"htmlTag\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Repeater\": {\n \"props\": {\n \"source\": \"\",\n \"limit\": 10\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"source\",\n \"limit\",\n \"multiple\",\n \"defaultOn\",\n \"activateOn\",\n \"orientation\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"SliderContainer\": {\n \"props\": {\n \"source\": \"\",\n \"limit\": 10,\n \"dir\": \"ltr\",\n \"direction\": \"horizontal\",\n \"slidesPerView\": \"auto\",\n \"slidesPerGroup\": 1,\n \"loop\": \"off\",\n \"centeredSlides\": false,\n \"spaceBetween\": 0,\n \"initialSlide\": 0,\n \"autoHeight\": false,\n \"grabCursor\": true,\n \"slideToClickedSlide\": false,\n \"effect\": \"slide\",\n \"speed\": 300,\n \"enableNavigation\": false,\n \"navigationColor\": \"#ffffff\",\n \"navigationSize\": 44,\n \"enablePagination\": false,\n \"paginationColor\": \"#ffffff\",\n \"paginationType\": \"bullets\",\n \"paginationClickable\": true,\n \"paginationDynamicBullets\": false,\n \"enableAutoplay\": false,\n \"autoplayDelay\": 3000,\n \"autoplayPauseOnMouseEnter\": true,\n \"autoplayDisableOnInteraction\": false,\n \"enableScrollbar\": false,\n \"freeMode\": false,\n \"enableKeyboard\": false,\n \"enableMousewheel\": false,\n \"enableZoom\": false,\n \"enableParallax\": false,\n \"enableGrid\": false,\n \"gridRows\": 2,\n \"breakpoints\": \"\",\n \"ariaLabel\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__dataLabel\",\n \"source\",\n \"limit\",\n \"__paramsLabel\",\n \"dir\",\n \"direction\",\n \"slidesPerView\",\n \"slidesPerGroup\",\n \"loop\",\n \"centeredSlides\",\n \"spaceBetween\",\n \"initialSlide\",\n \"autoHeight\",\n \"grabCursor\",\n \"slideToClickedSlide\",\n \"__effectsLabel\",\n \"effect\",\n \"speed\",\n \"__navLabel\",\n \"enableNavigation\",\n \"navigationColor\",\n \"navigationSize\",\n \"__paginationLabel\",\n \"enablePagination\",\n \"paginationColor\",\n \"paginationType\",\n \"paginationClickable\",\n \"paginationDynamicBullets\",\n \"__autoplayLabel\",\n \"enableAutoplay\",\n \"autoplayDelay\",\n \"autoplayPauseOnMouseEnter\",\n \"autoplayDisableOnInteraction\",\n \"__modulesLabel\",\n \"enableScrollbar\",\n \"freeMode\",\n \"enableKeyboard\",\n \"enableMousewheel\",\n \"enableZoom\",\n \"enableParallax\",\n \"__gridLabel\",\n \"enableGrid\",\n \"gridRows\",\n \"__responsiveLabel\",\n \"breakpoints\",\n \"__accessibilityLabel\",\n \"ariaLabel\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"SliderSlide\": {\n \"props\": {},\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"width\": \"33%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"1 / 1\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Gallery\": {\n \"props\": {\n \"images\": [],\n \"effect\": \"fade\",\n \"showDuration\": 4000,\n \"fadeDuration\": 1000,\n \"autoStart\": true\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"200px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"#000000\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__imagesLabel\",\n \"images\",\n \"__playbackLabel\",\n \"effect\",\n \"showDuration\",\n \"fadeDuration\",\n \"autoStart\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"Form\": {\n \"props\": {\n \"formClass\": \"iox-form\",\n \"name\": \"Contact form\",\n \"formId\": \"\",\n \"feedback\": \"smart\",\n \"resetAfterSubmit\": false,\n \"focusFirstProblem\": true,\n \"announceFailure\": true,\n \"honeypot\": true,\n \"minFillMs\": 1200,\n \"actions\": [\n {\n \"type\": \"store\"\n }\n ],\n \"retentionDays\": \"\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"flex\",\n \"flexDirection\": \"column\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"16px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\",\n \"__formLabel\",\n \"name\",\n \"formId\",\n \"feedback\",\n \"resetAfterSubmit\",\n \"focusFirstProblem\",\n \"announceFailure\",\n \"__spamLabel\",\n \"honeypot\",\n \"minFillMs\",\n \"__afterSubmitLabel\",\n \"actions\",\n \"__dataLabel\",\n \"retentionDays\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Field\": {\n \"props\": {\n \"label\": \"Label\",\n \"control\": \"text\",\n \"placeholder\": \"\",\n \"help\": \"\",\n \"rows\": 4,\n \"rangeMin\": 0,\n \"rangeMax\": 100,\n \"rangeStep\": 1,\n \"labelHidden\": false,\n \"name\": \"\",\n \"defaultValue\": \"\",\n \"optionsText\": \"\",\n \"required\": false,\n \"rules\": []\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__contentLabel\",\n \"label\",\n \"control\",\n \"placeholder\",\n \"help\",\n \"rows\",\n \"rangeMin\",\n \"rangeMax\",\n \"rangeStep\",\n \"labelHidden\",\n \"name\",\n \"defaultValue\",\n \"__optionsLabel\",\n \"optionsText\",\n \"__validationLabel\",\n \"required\",\n \"rules\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"FieldGroup\": {\n \"props\": {\n \"formClass\": \"iox-field-group\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"flex\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"16px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"SubmitButton\": {\n \"props\": {\n \"label\": \"Send\",\n \"loadingLabel\": \"Sending…\",\n \"disableWhileSubmitting\": true\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"inline-flex\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"center\",\n \"alignItems\": \"center\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"44px\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#ffffff\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"12px 24px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"#a05c5c\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"pointer\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"label\",\n \"loadingLabel\",\n \"disableWhileSubmitting\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n },\n \"FormSuccess\": {\n \"props\": {\n \"formClass\": \"iox-form-success\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#3f7355\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"16px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"#e4efe8\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"FormError\": {\n \"props\": {\n \"formClass\": \"iox-form-error\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#a8413a\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"16px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"6px\",\n \"backgroundColor\": \"#f6e3e1\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"formClass\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Dialog\": {\n \"props\": {\n \"placement\": \"center\",\n \"closeOnBackdrop\": true,\n \"showCloseButton\": true,\n \"consentRole\": false,\n \"closeAbove\": \"\",\n \"ariaLabel\": \"\",\n \"colorScheme\": \"default\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"480px\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"24px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"12px\",\n \"backgroundColor\": \"#ffffff\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"0 18px 40px rgba(0, 0, 0, 0.22)\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"placement\",\n \"closeOnBackdrop\",\n \"showCloseButton\",\n \"consentRole\",\n \"__responsiveLabel\",\n \"closeAbove\",\n \"__accessibilityLabel\",\n \"ariaLabel\",\n \"colorScheme\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"display\",\n \"flexDirection\",\n \"flexWrap\",\n \"justifyContent\",\n \"alignItems\",\n \"gap\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"justifyItems\",\n \"alignContent\",\n \"textDirection\",\n \"alignSelf\",\n \"order\",\n \"flexGrow\",\n \"flexShrink\",\n \"flexBasis\",\n \"justifySelf\",\n \"gridColumn\",\n \"gridRow\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"color\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textTransform\",\n \"textAlign\",\n \"fontStyle\",\n \"textDecoration\",\n \"fontVariantNumeric\",\n \"_sep_stroke\",\n \"WebkitTextStrokeWidth\",\n \"WebkitTextStrokeColor\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"backgroundColor\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": true\n },\n \"Video\": {\n \"props\": {\n \"videoSource\": \"youtube\",\n \"src\": \"\",\n \"poster\": \"\",\n \"mode\": \"inline\",\n \"autoplay\": false,\n \"title\": \"\",\n \"captions\": \"\",\n \"captionsLang\": \"en\",\n \"consentCategory\": \"marketing\"\n },\n \"styleProps\": {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"width\": \"100%\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"16 / 9\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n },\n \"traits\": [\n \"__mediaLabel\",\n \"videoSource\",\n \"src\",\n \"poster\",\n \"__behaviourLabel\",\n \"mode\",\n \"autoplay\",\n \"__accessibilityLabel\",\n \"title\",\n \"captions\",\n \"captionsLang\",\n \"__privacyLabel\",\n \"consentCategory\"\n ],\n \"styleTraits\": [\n \"position\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"zIndex\",\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\",\n \"aspectRatio\",\n \"objectFit\",\n \"overflow\",\n \"margin\",\n \"padding\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderRadius\",\n \"opacity\",\n \"mixBlendMode\",\n \"cursor\",\n \"_sep_shadow\",\n \"boxShadow\",\n \"textShadow\",\n \"_sep_transform\",\n \"translateX\",\n \"translateY\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"skewX\",\n \"skewY\",\n \"_sep_filter\",\n \"filterBlur\",\n \"filterHueRotate\",\n \"filterBrightness\",\n \"filterContrast\",\n \"filterSaturate\",\n \"filterGrayscale\",\n \"filterSepia\",\n \"filterInvert\",\n \"_sep_backdrop\",\n \"backdropFilter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropSaturate\",\n \"_sep_clip\",\n \"clipPath\",\n \"_sep_transition\",\n \"transitionDuration\",\n \"transitionDelay\",\n \"transitionTimingFunction\"\n ],\n \"container\": false\n }\n};\n\n/** What every style trait saves as when no constructor sets it (buildFullStyleTraits' defaults). */\nexport const NEUTRAL_STYLE_PROPS: Readonly<Record<string, unknown>> = {\n \"position\": \"static\",\n \"top\": \"auto\",\n \"right\": \"auto\",\n \"bottom\": \"auto\",\n \"left\": \"auto\",\n \"zIndex\": \"0\",\n \"display\": \"block\",\n \"flexDirection\": \"row\",\n \"flexWrap\": \"nowrap\",\n \"justifyContent\": \"flex-start\",\n \"alignItems\": \"stretch\",\n \"gap\": \"0px\",\n \"gridTemplateColumns\": \"1fr\",\n \"gridTemplateRows\": \"auto\",\n \"justifyItems\": \"stretch\",\n \"alignContent\": \"stretch\",\n \"alignSelf\": \"auto\",\n \"order\": \"0\",\n \"flexGrow\": \"0\",\n \"flexShrink\": \"1\",\n \"flexBasis\": \"auto\",\n \"justifySelf\": \"auto\",\n \"gridColumn\": \"auto\",\n \"gridRow\": \"auto\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"minWidth\": \"auto\",\n \"minHeight\": \"auto\",\n \"maxWidth\": \"auto\",\n \"maxHeight\": \"auto\",\n \"aspectRatio\": \"auto\",\n \"objectFit\": \"cover\",\n \"overflow\": \"visible\",\n \"fontFamily\": \"Poppins, sans-serif\",\n \"fontSize\": \"16px\",\n \"fontWeight\": \"400\",\n \"color\": \"#000000\",\n \"lineHeight\": \"1.5\",\n \"letterSpacing\": \"0px\",\n \"textTransform\": \"none\",\n \"textAlign\": \"start\",\n \"fontStyle\": \"normal\",\n \"textDecoration\": \"none\",\n \"fontVariantNumeric\": \"normal\",\n \"WebkitTextStrokeWidth\": \"0px\",\n \"WebkitTextStrokeColor\": \"transparent\",\n \"margin\": \"0px 0px 0px 0px\",\n \"padding\": \"0px 0px 0px 0px\",\n \"borderWidth\": \"0px\",\n \"borderStyle\": \"solid\",\n \"borderColor\": \"#CCCCCC\",\n \"borderRadius\": \"0px\",\n \"backgroundColor\": \"transparent\",\n \"opacity\": \"1\",\n \"mixBlendMode\": \"normal\",\n \"cursor\": \"auto\",\n \"boxShadow\": \"\",\n \"textShadow\": \"\",\n \"translateX\": \"0px\",\n \"translateY\": \"0px\",\n \"scaleX\": \"1\",\n \"scaleY\": \"1\",\n \"rotate\": \"0deg\",\n \"skewX\": \"0deg\",\n \"skewY\": \"0deg\",\n \"filterBlur\": \"0px\",\n \"filterHueRotate\": \"0deg\",\n \"filterBrightness\": \"1\",\n \"filterContrast\": \"1\",\n \"filterSaturate\": \"1\",\n \"filterGrayscale\": \"0\",\n \"filterSepia\": \"0\",\n \"filterInvert\": \"0\",\n \"backdropFilter\": \"none\",\n \"backdropBlur\": \"0px\",\n \"backdropBrightness\": \"1\",\n \"backdropContrast\": \"1\",\n \"backdropSaturate\": \"1\",\n \"clipPath\": \"none\",\n \"transitionDuration\": \"0ms\",\n \"transitionDelay\": \"0ms\",\n \"transitionTimingFunction\": \"ease\"\n};\n","import { NEUTRAL_STYLE_PROPS, NODE_BASELINES } from './node-baselines.generated';\n\n/**\n * Why each type's constructor sets the style values it sets (W1.1, Q1). Every value a type's config\n * gives that differs from what the trait saves when nobody sets it (`NEUTRAL_STYLE_PROPS`) is exactly\n * one of:\n *\n * - **Layout** — a size or spacing that exists only so an EMPTY node dropped from the palette is visible\n * and grabbable (a Container's 200px, a Text's 10px padding). A composed node is never empty and its\n * pattern owns its box, so the composer RELEASES these to the neutral value unless the pattern\n * declares one: the nav bar was 200px tall and every lead line indented 10px (W1's screenshot).\n * - **Behaviour** — what makes the type work: a button's inline-flex centring, a form's column, the 44px\n * touch target, a slide's width, a spacer's height, a list's marker room. Kept.\n * - **Look** — the type's pre-design-system paint, which its element style replaces. Kept (the style\n * writes over it; a type with no style keeps its pre-DS2 look, D5).\n *\n * Saved pages are untouched: this is the composer's rule, never the builder's (a palette drop still\n * gets its 200px). `baseline-roles.spec.ts` fails the moment a config gains a default this table does\n * not classify — so a new default is a decision, not an accident.\n */\nexport enum BaselineRole {\n Layout = 'layout',\n Behaviour = 'behaviour',\n Look = 'look',\n}\n\nconst { Layout, Behaviour, Look } = BaselineRole;\n\nexport const BASELINE_ROLES: Readonly<Record<string, Readonly<Record<string, BaselineRole>>>> = {\n Button: {},\n ButtonBlock: {\n display: Behaviour, justifyContent: Behaviour, alignItems: Behaviour, gap: Behaviour, cursor: Behaviour,\n padding: Look, borderRadius: Look,\n },\n Card: { width: Behaviour, maxWidth: Layout, padding: Look, borderWidth: Look, borderColor: Look, borderRadius: Look, backgroundColor: Look },\n // `width: 100%` (DEFAULT_WIDTH_BY_TYPE) is what lets a block fill its row — a flex child collapses without it.\n Container: { width: Behaviour, minHeight: Layout },\n Heading: { fontSize: Look, fontWeight: Look },\n Text: { width: Behaviour, minHeight: Layout, padding: Layout },\n Image: { width: Behaviour, maxWidth: Layout, aspectRatio: Layout },\n Link: {},\n LinkedContainer: { minHeight: Layout },\n Section: { minHeight: Layout },\n Icon: { lineHeight: Behaviour, fontSize: Behaviour, color: Look },\n Divider: { width: Behaviour, height: Look, margin: Layout, backgroundColor: Look },\n Spacer: { width: Behaviour, height: Behaviour },\n List: { width: Behaviour, padding: Behaviour },\n ListItem: { width: Behaviour },\n Repeater: { width: Behaviour },\n SliderContainer: { width: Behaviour },\n SliderSlide: { width: Behaviour, aspectRatio: Behaviour },\n // The crossfade stacks its frames absolutely: without a box it has no height at all.\n Gallery: { minHeight: Behaviour, backgroundColor: Look },\n Form: { display: Behaviour, flexDirection: Behaviour, gap: Behaviour, width: Behaviour },\n Field: { width: Behaviour },\n FieldGroup: { display: Behaviour, gap: Behaviour, width: Behaviour },\n SubmitButton: {\n display: Behaviour, justifyContent: Behaviour, alignItems: Behaviour, minHeight: Behaviour, cursor: Behaviour,\n color: Look, padding: Look, borderRadius: Look, backgroundColor: Look,\n },\n FormSuccess: { width: Behaviour, color: Look, padding: Look, borderRadius: Look, backgroundColor: Look },\n FormError: { width: Behaviour, color: Look, padding: Look, borderRadius: Look, backgroundColor: Look },\n Dialog: { width: Behaviour, padding: Look, borderRadius: Look, backgroundColor: Look, boxShadow: Look },\n // CC3: a Video fills its column at 16 / 9 — the shape the poster and the player take.\n Video: { width: Behaviour, aspectRatio: Behaviour },\n};\n\n/** The style values a type's constructor sets for an empty palette drop, each mapped to the value the\n * trait saves when nobody sets it — what a composed node of that type starts from. */\nexport function releasedLayoutDefaults(type: string): Record<string, unknown> {\n const roles = BASELINE_ROLES[type] ?? {};\n const out: Record<string, unknown> = {};\n for (const [trait, role] of Object.entries(roles)) {\n if (role === BaselineRole.Layout && trait in (NODE_BASELINES[type]?.styleProps ?? {})) out[trait] = NEUTRAL_STYLE_PROPS[trait];\n }\n return out;\n}\n","import type { DesignChoices } from '@vectoriox/iox-ui/design-core';\n\nimport { SPEC_SITE_FACTS } from './site-spec.generated';\n\n/**\n * The Site Plan (contract `site.planShape`, `SPEC_SITE_PLAN_SHAPE`: every key typed and explained, and the\n * validator reads its key lists from it) — the ONE document the website wizard writes\n * (`source.kind: template`) and the AI agent will write (`source.kind: ai`). One validator, one\n * composer: everything the wizard proves is proven for the agent.\n */\n\nexport const SITE_PLAN_VERSION = '1';\n\nexport enum SitePlanSourceKind {\n Template = 'template',\n Ai = 'ai',\n}\n\nexport type SitePlanSource =\n | { kind: `${SitePlanSourceKind.Template}`; templateId: string; templateVersion: number }\n | { kind: `${SitePlanSourceKind.Ai}`; runId: string };\n\n/** A fact a customer could be held to. Only ever the customer's own words; blank → a placeholder. */\nexport type FactKey = keyof typeof SPEC_SITE_FACTS;\nexport const FACT_KEYS = Object.keys(SPEC_SITE_FACTS) as ReadonlyArray<FactKey>;\n/** The label a missing fact shows, verbatim from the contract. */\nexport const SITE_FACT_LABELS: Readonly<Record<FactKey, string>> = SPEC_SITE_FACTS;\n\nexport interface SiteBusiness {\n readonly name: string;\n readonly tagline?: string;\n readonly facts?: Readonly<Partial<Record<FactKey, string>>>;\n}\n\nexport interface ContentFieldPlan {\n readonly name: string;\n readonly type: string;\n readonly controller: string;\n readonly required?: boolean;\n readonly note?: string;\n}\n\n/** How the content type's sample items are seeded. String values are templates: `{n}` is the item's\n * 1-based number, `{sampleImage:n}` / `{sampleImage:n+k}` a bundled sample image (resolved by the build). */\nexport interface ContentSeedPlan {\n readonly count: number;\n readonly sample: boolean;\n readonly isPublished: boolean;\n readonly [field: string]: unknown;\n}\n\nexport interface ContentTypePlan {\n readonly name: string;\n readonly label: string;\n readonly previewTextField?: string;\n readonly previewImageField?: string;\n readonly fields: ReadonlyArray<ContentFieldPlan>;\n readonly seed?: ContentSeedPlan;\n}\n\nexport enum PlanDataSourceType {\n Cms = 'cms',\n Relative = 'relative',\n}\n\nexport enum PlanDataSourceMode {\n Query = 'query',\n Single = 'single',\n}\n\n/** The relative operations a plan may name, and the shipped `RelativeSourceSpec` each one is. */\nexport enum RelativeOp {\n SiblingsNext = '$siblings.next',\n SiblingsPrev = '$siblings.prev',\n}\n\nexport interface CmsDataSourcePlan {\n readonly alias: string;\n readonly type: `${PlanDataSourceType.Cms}`;\n readonly mode: `${PlanDataSourceMode}`;\n readonly contentType: string;\n readonly limit?: number;\n readonly filterByRouteParam?: { readonly field: string; readonly routeParam: string };\n}\n\nexport interface RelativeDataSourcePlan {\n readonly alias: string;\n readonly type: `${PlanDataSourceType.Relative}`;\n /** The subject: the alias of the current item. */\n readonly of: string;\n readonly op: `${RelativeOp}`;\n /** The collection the subject is located within. */\n readonly within: string;\n}\n\nexport type DataSourcePlan = CmsDataSourcePlan | RelativeDataSourcePlan;\n\nexport interface PageSectionPlan {\n readonly pattern: string;\n readonly slots?: Readonly<Record<string, string>>;\n /** The list source alias a pattern's `$binding` repeater iterates. */\n readonly binding?: string;\n /** Optional pattern parts (`optional: <id>`) to leave out. */\n readonly without?: ReadonlyArray<string>;\n}\n\nexport interface PagePlan {\n readonly key: string;\n readonly name: string;\n readonly route: string;\n readonly isHome?: boolean;\n /** A template page the wizard's Pages step cannot leave out (`planFromTemplate`). */\n readonly required?: boolean;\n /** A Link in the header and footer navigation (`each: $navPages`), in plan order. */\n readonly inNav?: boolean;\n /** A template page: the content type it renders one item of. */\n readonly template?: string;\n /** The single source bound to the route item (`route.*`). */\n readonly routeSource?: string;\n readonly sections: ReadonlyArray<PageSectionPlan>;\n}\n\nexport enum GlobalSlot {\n Header = 'header',\n Footer = 'footer',\n}\n\nexport interface SitePlan {\n readonly version: typeof SITE_PLAN_VERSION;\n readonly source: SitePlanSource;\n readonly business: SiteBusiness;\n readonly design: Readonly<DesignChoices>;\n readonly contentTypes: ReadonlyArray<ContentTypePlan>;\n readonly dataSources: ReadonlyArray<DataSourcePlan>;\n readonly pages: ReadonlyArray<PagePlan>;\n readonly globals: Readonly<Record<`${GlobalSlot}`, string>>;\n}\n","import { SPEC_SITE_PATTERNS } from './site-spec.generated';\n\n/**\n * The pattern library (contract `site.patterns`): structure and element styles only — never a colour,\n * size or font. Each node is written in the contract's short vocabulary:\n *\n * `t` component type · `es` element style · `scheme` section colour scheme · `tag` a Container's html\n * tag · `level` a Heading's level · `lay` layout-only styleProps · `resp` per-breakpoint styleProps ·\n * `aspect` an Image's aspect ratio · `slot` author-editable text, filled from the plan's section slots ·\n * `fromBusiness` text from the plan's business · `text` the pattern's own words (`{year}` and\n * `{business.name}` are filled at compose time) · `ph` a publish-blocking placeholder (a FACT key,\n * `copy` or `image`) · `bind` a binding path on the repeater item (`item.*`), the route item\n * (`route.*`) or its next sibling (`next.*`) — or, on an `each` node, the page it is stamped for\n * (`page.*`, written as plain words) · `alt` an Image's alt binding (default: the bound item's preview\n * text field; `''` = decorative, written empty) · `src` what a Repeater iterates (`$binding`, `route.<array>`) · `each` stamp the node once\n * per page in the navigation (`$navPages`) · `href` a page route (`$page.route` = the stamped page's) ·\n * `param` the value of the route's `:param` · `optional` a part a page may leave out (`without`) ·\n * `preset` a forms-core form preset (its fields, submit and Success/Error words) · `control` / `label` /\n * `required` a Field's · `role` the node's part in its composite (`nav.brand`…) · `c` children · `recipe` a\n * composite-core recipe stamped whole (`card`: Card v2 — its `layout`, the optional `parts` it leaves out, and\n * `binds`, a binding path per part: `image`, `eyebrow`, `title`, `text`; `href` + `param` link the whole card\n * through its title). A header pattern's `phoneMenu` names its phone shape (drawer · bar · both), stamped by\n * `planNavShape` (CC1).\n *\n * CC4b (`pricing.tiers`): `recipe: 'segmented'` stamps a Segmented control (Monthly · Yearly, named by `name`, its own\n * `lay` / `resp`) · `shownWhen` hides a node at base and shows it while the pattern's segmented option of that key is\n * on (the targeted `trigger-on`) · `ph: 'price'` a price the studio types (a publish-blocking placeholder showing its\n * label) · on a card recipe: `words` (title / text / badge), `badge` (the badge's tone) and `icon` (its glyph), `scheme`\n * (the Brand card), and `c` — nodes joining its Content column · `icon` an Icon's glyph · `layer` the node's name in the\n * layer tree.\n */\nexport interface PatternNode {\n readonly t: string;\n readonly es?: string;\n readonly scheme?: string;\n readonly tag?: string;\n readonly level?: string;\n readonly lay?: Readonly<Record<string, string>>;\n readonly resp?: Readonly<Record<string, Readonly<Record<string, string>>>>;\n readonly aspect?: string;\n readonly slot?: string;\n readonly fromBusiness?: string;\n readonly text?: string;\n readonly ph?: string;\n readonly bind?: string;\n readonly alt?: string;\n readonly src?: string;\n readonly each?: string;\n readonly href?: string;\n readonly param?: string;\n readonly optional?: string;\n readonly preset?: string;\n readonly control?: string;\n readonly label?: string;\n readonly required?: boolean;\n /** The node's part in its composite (`nav.brand`, `nav.links`…), written to the node's `role`. */\n readonly role?: string;\n readonly c?: ReadonlyArray<PatternNode>;\n readonly recipe?: string;\n readonly layout?: string;\n readonly parts?: Readonly<Record<string, boolean>>;\n readonly binds?: Readonly<Record<string, string>>;\n /** CC3: a Video's mode — `background` (an uploaded file, a muted loop). */\n readonly video?: string;\n /** CC3: a click on this node opens the pattern's lightbox at the clicked row (`lightbox`). */\n readonly opens?: string;\n /** CC3: a control's accessible name (`ariaLabel`). */\n readonly name?: string;\n /** CC4b: hidden at base, shown while the pattern's Segmented option with this key is on. */\n readonly shownWhen?: string;\n /** CC4b: a card recipe's words (its title, text, badge). */\n readonly words?: Readonly<Record<string, string>>;\n /** CC4b: a card recipe's badge tone (`neutral` · `success` · `warning` · `accent`). */\n readonly badge?: string;\n /** CC4b: an Icon's glyph (`ph ph-check`) — on a card recipe, its badge's glyph. */\n readonly icon?: string;\n /** CC4b: the node's name in the layer tree (`Price · Monthly`). */\n readonly layer?: string;\n}\n\n/** The composite-core recipes a pattern may stamp (`recipe`). */\nexport enum PatternRecipe {\n Card = 'card',\n /** CC2: the Accordion — Manual (three placeholder items), or From content when the section names a list\n * `binding` (`src: '$binding?'`): one template item bound to the type's question / answer fields. */\n Accordion = 'accordion',\n /** CC4a: Tabs — Manual (three placeholder tabs), or From content when the section names a list `binding`: the tab\n * list and the panels are both Repeaters over it, one row giving its tab AND its panel. */\n Tabs = 'tabs',\n /** CC4b: the Segmented control — Monthly · Yearly, named by the pattern (`name`). */\n Segmented = 'segmented',\n /** CC3: the accessible carousel — a named Slider whose controls are parts, one quote per slide (placeholders). */\n Carousel = 'carousel',\n /** CC3: the Lightbox — a Dialog holding a Slider over the node's `src` (the gallery's own source). */\n Lightbox = 'lightbox',\n}\n\n/** A recipe node's `binds` keys → the part each binds (Card v2). */\nexport enum CardBindTarget {\n Image = 'image',\n Eyebrow = 'eyebrow',\n Title = 'title',\n Text = 'text',\n}\n\n/** Every binding path a node reads: its own `bind`, and a recipe's `binds`. */\nexport function nodeBindPaths(node: PatternNode): string[] {\n return [node.bind, ...Object.values(node.binds ?? {})].filter((p): p is string => !!p);\n}\n\nexport enum PatternGlobalPosition {\n Before = 'before',\n After = 'after',\n}\n\nexport interface SitePattern {\n readonly family: string;\n readonly label: string;\n /** Set on a header/footer pattern: it renders on every page, before or after the page. */\n readonly global?: `${PatternGlobalPosition}`;\n /** A navigation pattern's phone shape (CC1): `planNavShape` adds it after the pattern is stamped. */\n readonly phoneMenu?: 'drawer' | 'bar' | 'both';\n readonly node: PatternNode;\n}\n\nexport const SITE_PATTERNS: Readonly<Record<string, SitePattern>> = SPEC_SITE_PATTERNS;\n\n/** The pattern placeholder kinds that are not FACT keys. */\nexport enum PatternPlaceholder {\n Copy = 'copy',\n Image = 'image',\n /** CC3: a clip the studio uploads (a Video's file): the poster blank until then, publish-blocking. */\n Video = 'video',\n /** CC4b (Q37): a price the studio types — free text, publish-blocking, its label shown meanwhile, never a number. */\n Price = 'price',\n}\n\n/** CC3: what an `opens` node opens. */\nexport enum PatternOpens {\n Lightbox = 'lightbox',\n}\n\n/** The composer directives a pattern writes where a plan supplies the value. */\nexport enum PatternDirective {\n /** A Repeater's source: the section's `binding`. */\n Binding = '$binding',\n /** The section MAY name a list `binding` (faq.accordion): with one, the recipe's items come from it. */\n OptionalBinding = '$binding?',\n /** `each`: one plain node per page of the plan that is in the navigation (`inNav`), in plan order —\n * words and routes written in, editable on the canvas (W1.1). */\n NavPages = '$navPages',\n /** A Link's route: the route of the page an `each` node is stamped for. */\n PageRoute = '$page.route',\n}\n\n/** The scopes a `bind` / `param` / `src` path starts with. */\nexport enum BindScope {\n /** The nearest Repeater's row. */\n Item = 'item',\n /** The page an `each: $navPages` node is stamped for — resolved to plain words, never a binding. */\n Page = 'page',\n /** The page's route item (`routeSource`). */\n Route = 'route',\n /** The route item's next sibling (the plan's `$siblings.next` source of the route item). */\n Next = 'next',\n}\n\nexport function patternById(id: string | null | undefined): SitePattern | undefined {\n return id && Object.prototype.hasOwnProperty.call(SITE_PATTERNS, id) ? SITE_PATTERNS[id] : undefined;\n}\n\nfunction walk(node: PatternNode, visit: (n: PatternNode) => void): void {\n visit(node);\n for (const child of node.c ?? []) walk(child, visit);\n}\n\n/** Every node of a pattern, depth first. */\nexport function patternNodes(pattern: SitePattern): PatternNode[] {\n const out: PatternNode[] = [];\n walk(pattern.node, n => out.push(n));\n return out;\n}\n\n/** The slot names a plan section may fill. */\nexport function patternSlots(pattern: SitePattern): string[] {\n return [...new Set(patternNodes(pattern).map(n => n.slot).filter((s): s is string => !!s))];\n}\n\n/** The optional parts a plan section may leave out. */\nexport function patternOptionalParts(pattern: SitePattern): string[] {\n return [...new Set(patternNodes(pattern).map(n => n.optional).filter((s): s is string => !!s))];\n}\n\n/** True when the pattern has a Repeater iterating the section's `binding`. */\nexport function patternNeedsBinding(pattern: SitePattern): boolean {\n return patternNodes(pattern).some(n => n.src === PatternDirective.Binding);\n}\n\n/** True when the pattern may take a section `binding` — it needs one, or names `$binding?` (CC2). */\nexport function patternTakesBinding(pattern: SitePattern): boolean {\n return patternNeedsBinding(pattern) || patternNodes(pattern).some(n => n.src === PatternDirective.OptionalBinding);\n}\n\nconst IMAGE_TYPE = 'Image';\n\n/** The scopes whose ITEM a pattern's bound Images take their alt text from (an Image that names no `alt`\n * of its own): `item` (the row of a `$binding` Repeater — the section's list), `route` or `next`. Each\n * needs a content type with a `previewTextField` (W1.1, Q7). */\nexport function altSourceScopes(pattern: SitePattern): Set<string> {\n const scopes = new Set<string>();\n const visit = (n: PatternNode) => {\n if (n.t === IMAGE_TYPE && n.bind && n.alt === undefined) scopes.add(n.bind.split('.')[0]);\n // A Card v2's bound image takes its alt from the same item.\n const cardImage = n.recipe === PatternRecipe.Card ? n.binds?.[CardBindTarget.Image] : undefined;\n if (cardImage) scopes.add(cardImage.split('.')[0]);\n for (const child of n.c ?? []) visit(child);\n };\n visit(pattern.node);\n return scopes;\n}\n\n/** The bind scopes a pattern reads (`route`, `next`, …) — what its page must provide. */\nexport function patternScopes(pattern: SitePattern): Set<string> {\n const scopes = new Set<string>();\n for (const n of patternNodes(pattern)) {\n for (const path of [...nodeBindPaths(n), n.alt, n.param, n.src]) {\n if (path && !path.startsWith('$')) scopes.add(path.split('.')[0]);\n }\n }\n return scopes;\n}\n","import type { DesignChoices } from '@vectoriox/iox-ui/design-core';\n\nimport { ContentTypePlan, DataSourcePlan, GlobalSlot, PagePlan, SiteBusiness, SitePlan, SitePlanSourceKind, SITE_PLAN_VERSION } from './site-plan.model';\nimport { SPEC_SITE_TEMPLATES } from './site-spec.generated';\n\n/** A site structure the wizard offers (contract `site.templates`). A template is a Site Plan without the\n * customer's part — the business and the look — which `planFromTemplate` adds. */\nexport interface SiteTemplate {\n readonly id: string;\n readonly version: number;\n readonly label: string;\n readonly blurb: string;\n readonly bestFor: ReadonlyArray<string>;\n readonly contentTypes: ReadonlyArray<ContentTypePlan>;\n readonly dataSources: ReadonlyArray<DataSourcePlan>;\n readonly pages: ReadonlyArray<PagePlan>;\n readonly globals: Readonly<Record<`${GlobalSlot}`, string>>;\n}\n\nexport const SITE_TEMPLATES: Readonly<Record<string, SiteTemplate>> = SPEC_SITE_TEMPLATES;\n\nexport enum SiteTemplateId {\n Studio = 'studio',\n}\n\nexport const STUDIO_TEMPLATE: SiteTemplate = SITE_TEMPLATES[SiteTemplateId.Studio];\n\nexport interface TemplatePlanInput {\n business: SiteBusiness;\n design: DesignChoices;\n /** Keys of the template's OPTIONAL pages to leave out (the wizard's Pages step). */\n omitPages?: ReadonlyArray<string>;\n}\n\nexport class SiteTemplateError extends Error {}\n\nconst clone = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\n/**\n * The template as a Site Plan (`source.kind: template`), with the customer's business and look. A\n * required page cannot be left out, and an unknown key is refused — nothing is guessed.\n */\nexport function planFromTemplate(template: SiteTemplate, input: TemplatePlanInput): SitePlan {\n const omit = new Set(input.omitPages ?? []);\n for (const key of omit) {\n const page = template.pages.find(p => p.key === key);\n if (!page) throw new SiteTemplateError(`template ${template.id} has no page \"${key}\"`);\n if (page.required) throw new SiteTemplateError(`page \"${key}\" of template ${template.id} is required`);\n }\n return {\n version: SITE_PLAN_VERSION,\n source: { kind: SitePlanSourceKind.Template, templateId: template.id, templateVersion: template.version },\n business: clone(input.business),\n design: clone(input.design),\n contentTypes: clone(template.contentTypes),\n dataSources: clone(template.dataSources),\n pages: clone(template.pages.filter(p => !omit.has(p.key))),\n globals: clone(template.globals),\n };\n}\n","import { applyElementStyle, defaultElementStyleFor, elementStyleById, NEW_NODE_STYLE_DEFAULTS, ownedTraitsOf } from '@vectoriox/iox-ui/design-core';\n\nimport { releasedLayoutDefaults } from './baseline-roles';\nimport { NODE_BASELINES } from './node-baselines.generated';\nimport { PatternGlobalPosition } from './patterns';\n\n/**\n * A node exactly as a saved page layout stores it (the builder serializer's shape): flat `props` and\n * a FULL `styleProps` (self-describing — render-parity.md, task 10), the element style's pseudo-states,\n * sparse per-breakpoint overrides and the bindings. What the composer emits; what the builder reloads\n * and the engine renders, unchanged.\n */\nexport interface SerializedBinding {\n prop: string;\n source: string;\n path: string;\n}\n\nexport type SerializedResponsive = Partial<Record<string, { styleProps?: Record<string, unknown> }>>;\n\nexport interface SerializedNode {\n id: string;\n type: string;\n label?: string;\n props: Record<string, unknown>;\n styleProps: Record<string, unknown>;\n stateStyles?: Partial<Record<string, Record<string, unknown>>>;\n responsive?: SerializedResponsive;\n elementStyle?: string;\n /** The part this node plays in a composite (composite-core: `card.title`; a navigation's `nav.drawer`,\n * written by `planNavShape`). Additive; a node without one is a plain node. */\n role?: string;\n /** An item's identity inside its composite (CC2: an Accordion item's `k1`…). Additive. */\n itemKey?: string;\n /** A targeted state's driving node (CC2: an icon's `trigger-on` → its item). */\n stateTriggers?: Partial<Record<string, string>>;\n bindings: SerializedBinding[];\n interactions: unknown[];\n isGlobal?: boolean;\n globalPosition?: `${PatternGlobalPosition}`;\n children?: SerializedNode[];\n}\n\n/** A pattern the composer cannot stamp as the builder would (an unregistered type, a trait the type has\n * no slot for, a style that does not apply). The plan is validated first, so this means the CONTRACT is\n * wrong — never something to work around. */\nexport class ComposeError extends Error {}\n\nconst clone = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\nexport interface CreateNodeOptions {\n /** The composer's rule (W1.1): the type's empty-drop sizes (`BaselineRole.Layout`) start neutral, so\n * the PATTERN owns the box. The builder never does this — a palette drop keeps its 200px. */\n releaseLayoutDefaults?: boolean;\n}\n\n/**\n * A NEW node of `type`, as the builder creates one (ComponentRegistryService.createConfig, serialized):\n * the type's constructor defaults, its text colour released to `inherit` (NEW_NODE_STYLE_DEFAULTS), then\n * ONE element style — `elementStyle` when given, else the type's default for its props (a Heading\n * follows its level). `props` are applied before the style is chosen. With `releaseLayoutDefaults` the\n * constructor's layout sizes are released first, so an element style that owns one still writes it.\n */\nexport function createSerializedNode(\n id: string, type: string, props: Record<string, unknown> = {}, elementStyle?: string | null, options: CreateNodeOptions = {},\n): SerializedNode {\n const baseline = NODE_BASELINES[type];\n if (!baseline) throw new ComposeError(`\"${type}\" is not a registered component type`);\n const node: SerializedNode = {\n id,\n type,\n props: { ...clone(baseline.props), ...props },\n styleProps: clone(baseline.styleProps) as Record<string, unknown>,\n bindings: [],\n interactions: [],\n };\n if (options.releaseLayoutDefaults) Object.assign(node.styleProps, releasedLayoutDefaults(type));\n for (const [name, value] of Object.entries(NEW_NODE_STYLE_DEFAULTS)) if (name in node.styleProps) node.styleProps[name] = value;\n const styleId = elementStyle ?? defaultElementStyleFor(type, node.props);\n if (styleId) {\n const style = elementStyleById(styleId);\n if (!style?.appliesTo.includes(type)) throw new ComposeError(`element style \"${styleId}\" does not apply to ${type}`);\n const missing = ownedTraitsOf(style).filter(o => !o.state && !baseline.styleTraits.includes(o.trait));\n if (missing.length) throw new ComposeError(`${type} has no slot for ${styleId}'s ${missing.map(o => o.trait).join(', ')}`);\n applyElementStyle(node, styleId);\n }\n if (baseline.container) node.children = [];\n return node;\n}\n\n/** Refuse a style trait the type has no slot for — the builder would silently drop it. */\nexport function assertStyleSlots(type: string, names: ReadonlyArray<string>): void {\n const slots = NODE_BASELINES[type]?.styleTraits ?? [];\n for (const name of names) if (!slots.includes(name)) throw new ComposeError(`${type} has no style trait \"${name}\"`);\n}\n\n/** Write style traits onto a node (each one a slot the type has). */\nexport function setStyleProps(node: SerializedNode, values: Readonly<Record<string, unknown>>): void {\n assertStyleSlots(node.type, Object.keys(values));\n for (const [name, value] of Object.entries(values)) node.styleProps[name] = value;\n}\n\n/** Every node of a tree, depth first. */\nexport function walkSerialized(nodes: ReadonlyArray<SerializedNode>, visit: (node: SerializedNode, ancestors: SerializedNode[]) => void, ancestors: SerializedNode[] = []): void {\n for (const node of nodes) {\n visit(node, ancestors);\n if (node.children?.length) walkSerialized(node.children, visit, [...ancestors, node]);\n }\n}\n","/**\n * The ONE way a framework-free gate refuses a document \"with a path, never repairs\" (W1's site-plan gate, the\n * harness's analysis gate): a documented shape table (key → type text; `key?` optional, `[name]` the object's\n * own field names) whose key lists the gate READS — so the shape a model is told about is the shape refused —\n * and a collector that records each refusal at its dotted path. Generic over each gate's issue-code enum.\n */\n\nexport type ShapeEntry = Readonly<Record<string, string>>;\nexport type PlainObject = Record<string, unknown>;\n\nconst OPTIONAL_MARK = '?';\nconst DYNAMIC_KEY = /^\\[[^\\]]+\\]\\??$/;\nconst isDynamic = (key: string) => DYNAMIC_KEY.test(key);\n\n/** Every fixed key an object of the shape may carry. */\nexport function shapeKeys(entry: ShapeEntry): string[] {\n return Object.keys(entry).filter(k => !isDynamic(k)).map(k => (k.endsWith(OPTIONAL_MARK) ? k.slice(0, -1) : k));\n}\n\n/** The keys an object of the shape must carry. */\nexport function requiredShapeKeys(entry: ShapeEntry): string[] {\n return Object.keys(entry).filter(k => !isDynamic(k) && !k.endsWith(OPTIONAL_MARK));\n}\n\nexport const isPlainObject = (v: unknown): v is PlainObject => !!v && typeof v === 'object' && !Array.isArray(v);\nexport const isNonEmptyString = (v: unknown): v is string => typeof v === 'string' && v.trim() !== '';\n/** `path.key`, or `key` at the root. */\nexport const pathAt = (path: string, key: string) => (path ? `${path}.${key}` : key);\n\nexport interface PathIssue<C extends string> {\n code: C;\n /** Where, as a dotted path into the document (`pages[2].sections[0].binding`). */\n path: string;\n message: string;\n}\n\n/** The three refusals every shape gate shares, named in that gate's own code enum. */\nexport interface ShapeIssueCodes<C extends string> {\n /** A value of the wrong type, or a required value missing. */\n shape: C;\n /** A key the shape does not have. */\n unknownKey: C;\n /** A name used twice where it must be unique. */\n duplicate: C;\n}\n\nexport class PathIssueCollector<C extends string> {\n readonly issues: PathIssue<C>[] = [];\n\n /** `subject` names the document in a refusal (\"… is not part of the plan shape\"). */\n constructor(private readonly subject: string, private readonly codes: ShapeIssueCodes<C>) {}\n\n add(code: C, path: string, message: string): void {\n this.issues.push({ code, path, message });\n }\n\n keys(obj: PlainObject, allowed: ReadonlyArray<string>, path: string): void {\n for (const key of Object.keys(obj)) if (!allowed.includes(key)) this.add(this.codes.unknownKey, pathAt(path, key), `\"${key}\" is not part of the ${this.subject} shape`);\n }\n\n string(obj: PlainObject, key: string, path: string, required = true): string | null {\n const v = obj[key];\n if (v === undefined && !required) return null;\n if (!isNonEmptyString(v)) {\n this.add(this.codes.shape, pathAt(path, key), 'must be a non-empty string');\n return null;\n }\n return v;\n }\n\n boolean(obj: PlainObject, key: string, path: string): void {\n if (obj[key] !== undefined && typeof obj[key] !== 'boolean') this.add(this.codes.shape, pathAt(path, key), 'must be a boolean');\n }\n\n array(obj: PlainObject, key: string, path: string): unknown[] {\n const v = obj[key];\n if (!Array.isArray(v)) {\n this.add(this.codes.shape, pathAt(path, key), 'must be an array');\n return [];\n }\n return v;\n }\n\n unique(values: Array<string | null>, path: (i: number) => string, what: string): void {\n const seen = new Set<string>();\n values.forEach((v, i) => {\n if (v === null) return;\n if (seen.has(v)) this.add(this.codes.duplicate, path(i), `${what} \"${v}\" is used twice`);\n seen.add(v);\n });\n }\n}\n","import { requiredShapeKeys, ShapeEntry, shapeKeys } from './shape-check';\n\n/**\n * The ONE set of builders every structured-output format is written with (AI plan §3c, M0-5 / M1-1 / M1-3 / M1-5):\n * the SiteAnalysis, the reading, the Site Plan and the plan edits. Each object is built FROM a documented shape table\n * (`shape-check`): its keys are the table's keys, the required ones are the table's required ones, each described in\n * the table's own words — and a builder handed a key list that disagrees with its table THROWS, so a shape that gains\n * a key cannot ship a format that silently lacks it. The subset is the strictest both providers' native strict modes\n * accept (Anthropic `output_config.format`, OpenRouter `json_schema` + `strict`): every object closed\n * (`additionalProperties: false`), unions as `anyOf`, single values as a one-entry `enum`, no length / count / number\n * bounds, no `$ref`. The format is a hint the provider enforces; the shared validator stays the gate.\n */\n\nexport type JsonSchema = { [key: string]: unknown };\n\nconst OPTIONAL_MARK = '?';\n\nexport class JsonSchemaShapeError extends Error {}\n\nexport const jsonText = (): JsonSchema => ({ type: 'string' });\nexport const jsonBoolean = (): JsonSchema => ({ type: 'boolean' });\nexport const jsonInteger = (): JsonSchema => ({ type: 'integer' });\nexport const jsonOneOf = (values: ReadonlyArray<string>): JsonSchema => ({ type: 'string', enum: [...values] });\nexport const jsonListOf = (items: JsonSchema): JsonSchema => ({ type: 'array', items });\nexport const jsonAnyOf = (options: ReadonlyArray<JsonSchema>): JsonSchema => ({ anyOf: [...options] });\n\n/** A closed object with exactly these properties. */\nexport function jsonClosedObject(properties: Record<string, JsonSchema>, required: ReadonlyArray<string>, description?: string): JsonSchema {\n return {\n type: 'object',\n properties,\n required: [...required],\n additionalProperties: false,\n ...(description ? { description } : {}),\n };\n}\n\n/** The table's own words for a key (`key` or `key?`). */\nexport function describeShapeKey(entry: ShapeEntry, key: string): string {\n return String(entry[key] ?? entry[`${key}${OPTIONAL_MARK}`] ?? '');\n}\n\n/** An entry's `[name]` keys (the object's own field names) written as ONE list on the wire — no strict mode can say\n * \"any key\", so the map travels as `[{ name, value }]` under `key` and the decoder turns it back. */\nexport interface DynamicKeysAsList {\n /** The wire key holding the list. */\n key: string;\n /** The list's schema. */\n schema: JsonSchema;\n}\n\n/**\n * An object of one shape-table entry: exactly its fixed keys, its required keys required, each described by the\n * table; an entry's `[name]` keys are not object keys — `dynamic` writes them as one list. Throws when the properties\n * given are not the table's keys.\n */\nexport function jsonShapedObject(entry: ShapeEntry, properties: Record<string, JsonSchema>, name = 'shape', dynamic?: DynamicKeysAsList): JsonSchema {\n const expected = [...shapeKeys(entry)].sort();\n const given = Object.keys(properties).sort();\n if (expected.join() !== given.join()) {\n throw new JsonSchemaShapeError(`${name}: the format's keys (${given.join(', ')}) are not the shape table's (${expected.join(', ')})`);\n }\n const dynamicKey = Object.keys(entry).find(k => /^\\[[^\\]]+\\]\\??$/.test(k));\n if (!!dynamic !== !!dynamicKey) throw new JsonSchemaShapeError(`${name}: ${dynamicKey ? `its ${dynamicKey} keys need a list on the wire` : 'it has no [name] keys to list'}`);\n const described = Object.fromEntries(Object.entries(properties).map(([key, schema]) => [key, { ...schema, description: describeShapeKey(entry, key) }]));\n if (dynamic && dynamicKey) described[dynamic.key] = { ...dynamic.schema, description: `${dynamicKey}: ${entry[dynamicKey]}` };\n return jsonClosedObject(described, requiredShapeKeys(entry));\n}\n\n/** Every keyword a schema uses — what a spec checks against the strict subset. */\nexport function jsonSchemaKeywords(node: unknown, out = new Set<string>()): Set<string> {\n if (Array.isArray(node)) node.forEach(n => jsonSchemaKeywords(n, out));\n else if (node && typeof node === 'object') {\n for (const [k, v] of Object.entries(node)) {\n out.add(k);\n if (k === 'properties') Object.values(v as object).forEach(p => jsonSchemaKeywords(p, out));\n else if (k !== 'enum' && k !== 'required' && k !== 'description') jsonSchemaKeywords(v, out);\n }\n }\n return out;\n}\n\n/** The keywords the strict subset never uses. */\nexport const JSON_SCHEMA_BANNED_KEYWORDS: ReadonlyArray<string> = [\n 'minLength', 'maxLength', 'minimum', 'maximum', 'minItems', 'maxItems', 'pattern', 'oneOf', '$ref', 'const', 'format',\n];\n\n/** Every object node of a schema (through properties, items and anyOf). */\nexport function jsonSchemaObjects(node: unknown, out: JsonSchema[] = []): JsonSchema[] {\n if (!node || typeof node !== 'object') return out;\n const n = node as JsonSchema;\n if (n['type'] === 'object') out.push(n);\n for (const p of Object.values((n['properties'] as object | undefined) ?? {})) jsonSchemaObjects(p, out);\n if (n['items']) jsonSchemaObjects(n['items'], out);\n for (const option of (n['anyOf'] as unknown[] | undefined) ?? []) jsonSchemaObjects(option, out);\n return out;\n}\n","import { flavorPackById, parseHexColor, SPEC_AXES } from '@vectoriox/iox-ui/design-core';\n\nimport {\n altSourceScopes, BindScope, patternById, patternNeedsBinding, patternOptionalParts, patternTakesBinding, patternScopes, patternSlots, PatternGlobalPosition,\n} from './patterns';\nimport {\n FACT_KEYS, GlobalSlot, PlanDataSourceMode, PlanDataSourceType, RelativeOp, SitePlanSourceKind, SITE_PLAN_VERSION,\n} from './site-plan.model';\nimport { SPEC_SITE_PLAN_SHAPE } from './site-spec.generated';\nimport {\n isNonEmptyString, isPlainObject as isObject, PathIssue, PathIssueCollector, pathAt as at, PlainObject as Obj, requiredShapeKeys, ShapeEntry, shapeKeys,\n} from './shape-check';\n\n/**\n * The Site Plan validator — the gate in front of the composer. The wizard's plan and (later) the AI's\n * plan go through the SAME checks: an unknown pattern, a slot the pattern does not declare, a source\n * that does not exist, a page whose route item cannot be resolved — all refused, with a path, before a\n * single page is written. It never repairs: a model gets the issues back and rewrites.\n */\n\nexport enum SitePlanIssueCode {\n /** A value of the wrong type, or a required value missing. */\n Shape = 'shape',\n /** A key the plan shape does not have. */\n UnknownKey = 'unknown-key',\n Version = 'version',\n UnknownFlavor = 'unknown-flavor',\n InvalidDesign = 'invalid-design',\n MissingBusinessName = 'missing-business-name',\n UnknownFact = 'unknown-fact',\n Duplicate = 'duplicate',\n ReservedAlias = 'reserved-alias',\n UnknownContentType = 'unknown-content-type',\n UnknownField = 'unknown-field',\n UnknownDataSource = 'unknown-data-source',\n InvalidDataSource = 'invalid-data-source',\n InvalidRoute = 'invalid-route',\n Home = 'home',\n RouteSource = 'route-source',\n UnknownPattern = 'unknown-pattern',\n GlobalPattern = 'global-pattern',\n UnknownSlot = 'unknown-slot',\n UnknownOptionalPart = 'unknown-optional-part',\n Binding = 'binding',\n MissingScope = 'missing-scope',\n /** A pattern binds an item's image, and the item's content type names no `previewTextField` to be\n * its alt text. */\n MissingPreviewField = 'missing-preview-field',\n}\n\nexport type SitePlanIssue = PathIssue<SitePlanIssueCode>;\n\nexport interface SitePlanValidation {\n valid: boolean;\n issues: SitePlanIssue[];\n}\n\nexport class SitePlanError extends Error {\n constructor(readonly issues: ReadonlyArray<SitePlanIssue>) {\n super(`invalid site plan: ${issues.map(i => `${i.path}: ${i.message}`).join('; ')}`);\n }\n}\n\n/** Route-scope aliases (`$route`, `$current`, …) are platform-owned. */\nconst RESERVED_PREFIX = '$';\nconst ID_FIELD = '_id';\n\n/** The documented plan shape (contract `site.planShape`): its key lists are READ (`shape-check`), so a key\n * the plan documents is a key the gate validates — and an undocumented one is refused. */\nconst SHAPE: Readonly<Record<string, ShapeEntry>> = SPEC_SITE_PLAN_SHAPE;\nconst PLAN_KEYS = shapeKeys(SHAPE['plan']);\nconst TEMPLATE_SOURCE_KEYS = shapeKeys(SHAPE['sourceTemplate']);\nconst AI_SOURCE_KEYS = shapeKeys(SHAPE['sourceAi']);\nconst BUSINESS_KEYS = shapeKeys(SHAPE['business']);\nconst DESIGN_REQUIRED = requiredShapeKeys(SHAPE['design']);\nconst DESIGN_KEYS = shapeKeys(SHAPE['design']);\nconst CONTENT_TYPE_KEYS = shapeKeys(SHAPE['contentType']);\nconst FIELD_KEYS = shapeKeys(SHAPE['field']);\nconst SEED_FIXED_KEYS = shapeKeys(SHAPE['seed']);\nconst CMS_SOURCE_KEYS = shapeKeys(SHAPE['cmsDataSource']);\nconst RELATIVE_SOURCE_KEYS = shapeKeys(SHAPE['relativeDataSource']);\nconst PAGE_KEYS = shapeKeys(SHAPE['page']);\nconst SECTION_KEYS = shapeKeys(SHAPE['section']);\nconst GLOBAL_POSITION: Readonly<Record<`${GlobalSlot}`, `${PatternGlobalPosition}`>> = {\n [GlobalSlot.Header]: PatternGlobalPosition.Before,\n [GlobalSlot.Footer]: PatternGlobalPosition.After,\n};\nconst ROUTE = /^\\/(?:(?:[a-z0-9]+(?:-[a-z0-9]+)*|:[a-zA-Z_][a-zA-Z0-9_]*)(?:\\/(?:[a-z0-9]+(?:-[a-z0-9]+)*|:[a-zA-Z_][a-zA-Z0-9_]*))*)?$/;\nconst ROUTE_PARAM = /:([a-zA-Z_][a-zA-Z0-9_]*)/g;\n\nconst has = (table: object, key: string) => Object.prototype.hasOwnProperty.call(table, key);\n\n/** The `:param` names of a route, in order. */\nexport function routeParams(route: string): string[] {\n return [...route.matchAll(ROUTE_PARAM)].map(m => m[1]);\n}\n\nclass Collector extends PathIssueCollector<SitePlanIssueCode> {\n constructor() {\n super('plan', { shape: SitePlanIssueCode.Shape, unknownKey: SitePlanIssueCode.UnknownKey, duplicate: SitePlanIssueCode.Duplicate });\n }\n}\n\nfunction validateSource(c: Collector, source: unknown): void {\n if (!isObject(source)) return c.add(SitePlanIssueCode.Shape, 'source', 'must be an object');\n if (source['kind'] === SitePlanSourceKind.Template) {\n c.keys(source, TEMPLATE_SOURCE_KEYS, 'source');\n c.string(source, 'templateId', 'source');\n if (!Number.isInteger(source['templateVersion'])) c.add(SitePlanIssueCode.Shape, 'source.templateVersion', 'must be an integer');\n } else if (source['kind'] === SitePlanSourceKind.Ai) {\n c.keys(source, AI_SOURCE_KEYS, 'source');\n c.string(source, 'runId', 'source');\n } else {\n c.add(SitePlanIssueCode.Shape, 'source.kind', `must be \"${SitePlanSourceKind.Template}\" or \"${SitePlanSourceKind.Ai}\"`);\n }\n}\n\nfunction validateBusiness(c: Collector, business: unknown): void {\n if (!isObject(business)) return c.add(SitePlanIssueCode.Shape, 'business', 'must be an object');\n c.keys(business, BUSINESS_KEYS, 'business');\n if (!isNonEmptyString(business['name'])) c.add(SitePlanIssueCode.MissingBusinessName, 'business.name', 'the business name is required');\n if (business['tagline'] !== undefined && typeof business['tagline'] !== 'string') c.add(SitePlanIssueCode.Shape, 'business.tagline', 'must be a string');\n const facts = business['facts'];\n if (facts === undefined) return;\n if (!isObject(facts)) return c.add(SitePlanIssueCode.Shape, 'business.facts', 'must be an object');\n for (const [key, value] of Object.entries(facts)) {\n if (!(FACT_KEYS as ReadonlyArray<string>).includes(key)) c.add(SitePlanIssueCode.UnknownFact, `business.facts.${key}`, `\"${key}\" is not a fact (${FACT_KEYS.join(', ')})`);\n else if (typeof value !== 'string') c.add(SitePlanIssueCode.Shape, `business.facts.${key}`, 'must be a string');\n }\n}\n\nfunction validateDesign(c: Collector, design: unknown): void {\n if (!isObject(design)) return c.add(SitePlanIssueCode.Shape, 'design', 'must be an object');\n c.keys(design, DESIGN_KEYS, 'design');\n for (const key of DESIGN_REQUIRED) if (design[key] === undefined) c.add(SitePlanIssueCode.Shape, `design.${key}`, 'is required');\n const pack = flavorPackById(typeof design['flavorId'] === 'string' ? design['flavorId'] : null);\n if (design['flavorId'] !== undefined && (!pack || pack.id !== design['flavorId'])) {\n c.add(SitePlanIssueCode.UnknownFlavor, 'design.flavorId', `\"${String(design['flavorId'])}\" is not a flavor`);\n }\n const bad = (key: string, why: string) => c.add(SitePlanIssueCode.InvalidDesign, `design.${key}`, why);\n if (design['seed'] !== undefined && (typeof design['seed'] !== 'string' || !parseHexColor(design['seed']))) bad('seed', 'must be a #rrggbb colour');\n if (design['pairId'] !== undefined && pack && !pack.pairs.some(p => p.id === design['pairId'])) bad('pairId', `is not a font pairing of ${pack.id}`);\n const axis = (key: string, table: object) => {\n if (design[key] !== undefined && (typeof design[key] !== 'string' || !has(table, design[key] as string))) bad(key, `must be one of ${Object.keys(table).join(', ')}`);\n };\n axis('shape', SPEC_AXES.shapes);\n axis('density', SPEC_AXES.densities);\n axis('motion', SPEC_AXES.motions);\n axis('tint', SPEC_AXES.tints);\n axis('scroll', SPEC_AXES.scrolls);\n axis('animate', SPEC_AXES.animations);\n axis('between', SPEC_AXES.betweens);\n if (design['mode'] !== undefined && !(SPEC_AXES.modes as ReadonlyArray<unknown>).includes(design['mode'])) bad('mode', `must be one of ${SPEC_AXES.modes.join(', ')}`);\n if (design['pillButtons'] !== undefined && typeof design['pillButtons'] !== 'boolean') bad('pillButtons', 'must be a boolean');\n if (design['fonts'] !== undefined && !isObject(design['fonts'])) bad('fonts', 'must be an object');\n}\n\ninterface ContentTypeInfo { fields: Set<string>; previewTextField?: string; }\n\nfunction validateContentTypes(c: Collector, list: unknown[]): Map<string, ContentTypeInfo> {\n const types = new Map<string, ContentTypeInfo>();\n list.forEach((raw, i) => {\n const path = `contentTypes[${i}]`;\n if (!isObject(raw)) return c.add(SitePlanIssueCode.Shape, path, 'must be an object');\n c.keys(raw, CONTENT_TYPE_KEYS, path);\n const name = c.string(raw, 'name', path);\n c.string(raw, 'label', path);\n const fields = c.array(raw, 'fields', path);\n const names: Array<string | null> = fields.map((f, j) => {\n const fp = `${path}.fields[${j}]`;\n if (!isObject(f)) { c.add(SitePlanIssueCode.Shape, fp, 'must be an object'); return null; }\n c.keys(f, FIELD_KEYS, fp);\n c.string(f, 'type', fp);\n c.string(f, 'controller', fp);\n c.boolean(f, 'required', fp);\n return c.string(f, 'name', fp);\n });\n c.unique(names, j => `${path}.fields[${j}].name`, 'field');\n const fieldSet = new Set(names.filter((n): n is string => !!n));\n const preview: Record<string, string | null> = {};\n for (const key of ['previewTextField', 'previewImageField']) {\n const v = c.string(raw, key, path, false);\n if (v && !fieldSet.has(v)) c.add(SitePlanIssueCode.UnknownField, `${path}.${key}`, `\"${v}\" is not a field of ${name}`);\n preview[key] = v && fieldSet.has(v) ? v : null;\n }\n const seed = raw['seed'];\n if (seed !== undefined) {\n if (!isObject(seed)) c.add(SitePlanIssueCode.Shape, `${path}.seed`, 'must be an object');\n else {\n if (!Number.isInteger(seed['count']) || (seed['count'] as number) < 0) c.add(SitePlanIssueCode.Shape, `${path}.seed.count`, 'must be a whole number');\n for (const key of ['sample', 'isPublished']) if (typeof seed[key] !== 'boolean') c.add(SitePlanIssueCode.Shape, `${path}.seed.${key}`, 'must be a boolean');\n for (const key of Object.keys(seed)) {\n if (!SEED_FIXED_KEYS.includes(key) && !fieldSet.has(key)) c.add(SitePlanIssueCode.UnknownField, `${path}.seed.${key}`, `\"${key}\" is not a field of ${name}`);\n }\n }\n }\n if (name && types.has(name)) c.add(SitePlanIssueCode.Duplicate, `${path}.name`, `content type \"${name}\" is used twice`);\n else if (name) types.set(name, { fields: fieldSet, previewTextField: preview['previewTextField'] ?? undefined });\n });\n return types;\n}\n\ninterface SourceInfo { type: string; mode?: string; contentType?: string; routeParam?: string; of?: string; op?: string; }\n\nfunction validateDataSources(c: Collector, list: unknown[], types: Map<string, ContentTypeInfo>): Map<string, SourceInfo> {\n const sources = new Map<string, SourceInfo>();\n list.forEach((raw, i) => {\n const path = `dataSources[${i}]`;\n if (!isObject(raw)) return c.add(SitePlanIssueCode.Shape, path, 'must be an object');\n const alias = c.string(raw, 'alias', path);\n if (alias && alias.startsWith(RESERVED_PREFIX)) {\n c.add(SitePlanIssueCode.ReservedAlias, `${path}.alias`, `\"${alias}\" is reserved for the platform`);\n }\n if (raw['type'] === PlanDataSourceType.Cms) {\n c.keys(raw, CMS_SOURCE_KEYS, path);\n const mode = raw['mode'];\n if (mode !== PlanDataSourceMode.Query && mode !== PlanDataSourceMode.Single) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.mode`, `must be \"${PlanDataSourceMode.Query}\" or \"${PlanDataSourceMode.Single}\"`);\n const contentType = c.string(raw, 'contentType', path);\n const type = contentType ? types.get(contentType) : undefined;\n if (contentType && !type) c.add(SitePlanIssueCode.UnknownContentType, `${path}.contentType`, `no content type \"${contentType}\" in the plan`);\n if (raw['limit'] !== undefined && (!Number.isInteger(raw['limit']) || (raw['limit'] as number) < 1)) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.limit`, 'must be a positive whole number');\n let routeParam: string | undefined;\n const byRoute = raw['filterByRouteParam'];\n if (byRoute !== undefined) {\n if (!isObject(byRoute)) c.add(SitePlanIssueCode.Shape, `${path}.filterByRouteParam`, 'must be an object');\n else {\n c.keys(byRoute, ['field', 'routeParam'], `${path}.filterByRouteParam`);\n const field = c.string(byRoute, 'field', `${path}.filterByRouteParam`);\n routeParam = c.string(byRoute, 'routeParam', `${path}.filterByRouteParam`) ?? undefined;\n if (field && type && field !== ID_FIELD && !type.fields.has(field)) c.add(SitePlanIssueCode.UnknownField, `${path}.filterByRouteParam.field`, `\"${field}\" is not a field of ${contentType}`);\n if (mode !== PlanDataSourceMode.Single) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.filterByRouteParam`, 'only a single source is looked up by a route param');\n }\n }\n if (alias && !sources.has(alias)) sources.set(alias, { type: PlanDataSourceType.Cms, mode: mode as string, contentType: contentType ?? undefined, routeParam });\n } else if (raw['type'] === PlanDataSourceType.Relative) {\n c.keys(raw, RELATIVE_SOURCE_KEYS, path);\n c.string(raw, 'of', path);\n c.string(raw, 'within', path);\n if (!(Object.values(RelativeOp) as unknown[]).includes(raw['op'])) c.add(SitePlanIssueCode.InvalidDataSource, `${path}.op`, `must be one of ${Object.values(RelativeOp).join(', ')}`);\n if (alias && !sources.has(alias)) sources.set(alias, { type: PlanDataSourceType.Relative, of: raw['of'] as string, op: raw['op'] as string });\n } else {\n c.add(SitePlanIssueCode.InvalidDataSource, `${path}.type`, `must be \"${PlanDataSourceType.Cms}\" or \"${PlanDataSourceType.Relative}\"`);\n }\n });\n c.unique(list.map(r => (isObject(r) && isNonEmptyString(r['alias']) ? r['alias'] : null)), i => `dataSources[${i}].alias`, 'alias');\n // A relative source locates its subject (a single item) within a collection of the SAME type.\n list.forEach((raw, i) => {\n if (!isObject(raw) || raw['type'] !== PlanDataSourceType.Relative) return;\n const of = sources.get(raw['of'] as string);\n const within = sources.get(raw['within'] as string);\n if (!of || of.type !== PlanDataSourceType.Cms || of.mode !== PlanDataSourceMode.Single) c.add(SitePlanIssueCode.UnknownDataSource, `dataSources[${i}].of`, 'must name a single cms source of the plan');\n if (!within || within.type !== PlanDataSourceType.Cms || within.mode !== PlanDataSourceMode.Query) c.add(SitePlanIssueCode.UnknownDataSource, `dataSources[${i}].within`, 'must name a list (query) cms source of the plan');\n if (of?.contentType && within?.contentType && of.contentType !== within.contentType) c.add(SitePlanIssueCode.InvalidDataSource, `dataSources[${i}]`, `${raw['of']} and ${raw['within']} are different content types`);\n });\n return sources;\n}\n\nfunction validatePages(c: Collector, list: unknown[], types: Map<string, ContentTypeInfo>, sources: Map<string, SourceInfo>): void {\n const homes: number[] = [];\n list.forEach((raw, i) => {\n const path = `pages[${i}]`;\n if (!isObject(raw)) return c.add(SitePlanIssueCode.Shape, path, 'must be an object');\n c.keys(raw, PAGE_KEYS, path);\n c.string(raw, 'key', path);\n c.string(raw, 'name', path);\n for (const key of ['isHome', 'required', 'inNav']) c.boolean(raw, key, path);\n const route = c.string(raw, 'route', path);\n if (route && !ROUTE.test(route)) c.add(SitePlanIssueCode.InvalidRoute, `${path}.route`, `\"${route}\" is not a route (/lowercase-words, :params)`);\n if (raw['isHome'] === true) {\n homes.push(i);\n if (route !== '/') c.add(SitePlanIssueCode.Home, `${path}.route`, 'the home page lives at /');\n } else if (route === '/') c.add(SitePlanIssueCode.Home, `${path}.isHome`, 'the page at / is the home page');\n\n const params = route ? routeParams(route) : [];\n const template = c.string(raw, 'template', path, false);\n const routeSourceAlias = c.string(raw, 'routeSource', path, false);\n const routeSource = routeSourceAlias ? sources.get(routeSourceAlias) : undefined;\n const routeSourceOk = !!routeSource && routeSource.type === PlanDataSourceType.Cms && routeSource.mode === PlanDataSourceMode.Single;\n if (template && !types.has(template)) c.add(SitePlanIssueCode.UnknownContentType, `${path}.template`, `no content type \"${template}\" in the plan`);\n if (params.length > 1) c.add(SitePlanIssueCode.InvalidRoute, `${path}.route`, 'a template page has one route param');\n if (params.length && !routeSourceAlias) c.add(SitePlanIssueCode.RouteSource, `${path}.routeSource`, `a route with :${params[0]} names the source that reads it`);\n if (routeSourceAlias) {\n if (!routeSourceOk) {\n c.add(SitePlanIssueCode.RouteSource, `${path}.routeSource`, `\"${routeSourceAlias}\" must be a single cms source of the plan`);\n } else {\n if (!params.length || routeSource!.routeParam !== params[0]) c.add(SitePlanIssueCode.RouteSource, `${path}.routeSource`, `\"${routeSourceAlias}\" is not looked up by this route's param`);\n if (template && routeSource!.contentType !== template) c.add(SitePlanIssueCode.RouteSource, `${path}.template`, `\"${routeSourceAlias}\" reads ${routeSource!.contentType}, not ${template}`);\n }\n }\n\n c.array(raw, 'sections', path).forEach((s, j) => {\n const sp = `${path}.sections[${j}]`;\n if (!isObject(s)) return c.add(SitePlanIssueCode.Shape, sp, 'must be an object');\n c.keys(s, SECTION_KEYS, sp);\n const patternId = c.string(s, 'pattern', sp);\n const pattern = patternById(patternId);\n if (patternId && !pattern) return c.add(SitePlanIssueCode.UnknownPattern, `${sp}.pattern`, `no pattern \"${patternId}\"`);\n if (!pattern) return;\n if (pattern.global) c.add(SitePlanIssueCode.GlobalPattern, `${sp}.pattern`, `\"${patternId}\" is a header/footer pattern (globals)`);\n const slots = s['slots'];\n if (slots !== undefined) {\n if (!isObject(slots)) c.add(SitePlanIssueCode.Shape, `${sp}.slots`, 'must be an object');\n else {\n const declared = patternSlots(pattern);\n for (const [slot, value] of Object.entries(slots)) {\n if (!declared.includes(slot)) c.add(SitePlanIssueCode.UnknownSlot, `${sp}.slots.${slot}`, `\"${patternId}\" has no slot \"${slot}\" (${declared.join(', ') || 'none'})`);\n else if (typeof value !== 'string') c.add(SitePlanIssueCode.Shape, `${sp}.slots.${slot}`, 'must be a string');\n }\n }\n }\n const without = s['without'];\n if (without !== undefined) {\n const parts = patternOptionalParts(pattern);\n if (!Array.isArray(without)) c.add(SitePlanIssueCode.Shape, `${sp}.without`, 'must be an array');\n else without.forEach((w, k) => {\n if (!parts.includes(w as string)) c.add(SitePlanIssueCode.UnknownOptionalPart, `${sp}.without[${k}]`, `\"${patternId}\" has no optional part \"${String(w)}\"`);\n });\n }\n const binding = c.string(s, 'binding', sp, false);\n if (patternTakesBinding(pattern)) {\n if (!binding) {\n if (patternNeedsBinding(pattern)) c.add(SitePlanIssueCode.Binding, `${sp}.binding`, `\"${patternId}\" repeats the section's binding — name a list source`);\n } else {\n const src = sources.get(binding);\n if (!src) c.add(SitePlanIssueCode.UnknownDataSource, `${sp}.binding`, `no data source \"${binding}\"`);\n else if (src.type !== PlanDataSourceType.Cms || src.mode !== PlanDataSourceMode.Query) c.add(SitePlanIssueCode.Binding, `${sp}.binding`, `\"${binding}\" is not a list source`);\n }\n } else if (binding) c.add(SitePlanIssueCode.Binding, `${sp}.binding`, `\"${patternId}\" repeats nothing — it takes no binding`);\n\n // A pattern reading the route item needs a routeSource (an INVALID one is reported above, once).\n const scopes = patternScopes(pattern);\n const readsRoute = scopes.has(BindScope.Route) || scopes.has(BindScope.Next);\n if (readsRoute && !routeSourceAlias) {\n c.add(SitePlanIssueCode.MissingScope, `${sp}.pattern`, `\"${patternId}\" reads the route item — the page needs a routeSource`);\n }\n if (scopes.has(BindScope.Next) && routeSourceOk && !nextSourceOf(sources, routeSourceAlias as string)) {\n c.add(SitePlanIssueCode.MissingScope, `${sp}.pattern`, `\"${patternId}\" reads the next item — the plan needs a ${RelativeOp.SiblingsNext} source of ${routeSourceAlias}`);\n }\n\n // A bound image's alt text is its item's previewTextField (W1.1): the item's type must name one.\n for (const scope of altSourceScopes(pattern)) {\n const alias = scope === BindScope.Item ? binding : routeSourceOk ? routeSourceAlias : null;\n const typeName = alias ? sources.get(alias)?.contentType : undefined;\n const type = typeName ? types.get(typeName) : undefined;\n if (type && !type.previewTextField) {\n c.add(SitePlanIssueCode.MissingPreviewField, `${sp}.pattern`, `\"${patternId}\" shows ${typeName} images — ${typeName} needs a previewTextField for their alt text`);\n }\n }\n });\n });\n c.unique(list.map(p => (isObject(p) && isNonEmptyString(p['key']) ? p['key'] : null)), i => `pages[${i}].key`, 'page key');\n c.unique(list.map(p => (isObject(p) && isNonEmptyString(p['route']) ? p['route'] : null)), i => `pages[${i}].route`, 'route');\n if (homes.length !== 1) c.add(SitePlanIssueCode.Home, 'pages', `exactly one page is the home page (found ${homes.length})`);\n}\n\n/** The plan's `$siblings.next` source of `routeSource` — what a pattern's `next.*` reads. */\nexport function nextSourceOf(sources: Map<string, { type: string; of?: string; op?: string }>, routeSource: string): string | null {\n for (const [alias, s] of sources) if (s.type === PlanDataSourceType.Relative && s.of === routeSource && s.op === RelativeOp.SiblingsNext) return alias;\n return null;\n}\n\nfunction validateGlobals(c: Collector, globals: unknown): void {\n if (!isObject(globals)) return c.add(SitePlanIssueCode.Shape, 'globals', 'must be an object');\n c.keys(globals, Object.values(GlobalSlot), 'globals');\n for (const slot of Object.values(GlobalSlot)) {\n const id = c.string(globals, slot, 'globals');\n const pattern = patternById(id);\n if (id && !pattern) c.add(SitePlanIssueCode.UnknownPattern, `globals.${slot}`, `no pattern \"${id}\"`);\n else if (pattern && pattern.global !== GLOBAL_POSITION[slot]) c.add(SitePlanIssueCode.GlobalPattern, `globals.${slot}`, `\"${id}\" is not a ${slot} pattern`);\n }\n}\n\n/** Check a Site Plan against the plan shape and the pattern library. Never throws, never repairs. */\nexport function validateSitePlan(plan: unknown): SitePlanValidation {\n const c = new Collector();\n if (!isObject(plan)) {\n c.add(SitePlanIssueCode.Shape, '', 'a site plan is an object');\n return { valid: false, issues: c.issues };\n }\n c.keys(plan, PLAN_KEYS, '');\n if (plan['version'] !== SITE_PLAN_VERSION) c.add(SitePlanIssueCode.Version, 'version', `must be \"${SITE_PLAN_VERSION}\"`);\n validateSource(c, plan['source']);\n validateBusiness(c, plan['business']);\n validateDesign(c, plan['design']);\n const types = validateContentTypes(c, c.array(plan, 'contentTypes', ''));\n const sources = validateDataSources(c, c.array(plan, 'dataSources', ''), types);\n validatePages(c, c.array(plan, 'pages', ''), types, sources);\n validateGlobals(c, plan['globals']);\n return { valid: c.issues.length === 0, issues: c.issues };\n}\n\n/** Throw a `SitePlanError` carrying every issue unless the plan is valid. */\nexport function assertValidSitePlan(plan: unknown): void {\n const result = validateSitePlan(plan);\n if (!result.valid) throw new SitePlanError(result.issues);\n}\n","import { LinkType } from '@vectoriox/iox-ui/design-core';\n\nimport { PatternGlobalPosition } from './patterns';\nimport { createSerializedNode, SerializedNode, walkSerialized } from './serialized-node';\n\n/**\n * The phone shapes of a navigation bar (complex-components plan CC1, §7a + R1; boards 1–3). ONE pure tree\n * edit, `planNavShape`, turns a site's header into the shape the author (the Navigation bar's \"Phone\n * menu\" section) or the composer (`nav.inline-cta`'s `phoneMenu`) asks for:\n *\n * - **Drawer** — a menu button in the header opens a slide-in Dialog at the end edge that lists every\n * page (board 1). The drawer is a child of the Navigation bar.\n * - **Bottom bar** — an app-style bar fixed to the bottom of the screen with up to five pages, no drawer\n * (board 2). The phone header keeps only the brand (Q4).\n * - **Both** — the bar with four pages and More, which opens the drawer; the drawer is then its own\n * global, beside the Navigation bar (board 2's layer tree).\n *\n * Every part is a real node with a `role` (R2): editable, selectable, styled by its element style. Parts\n * a shape keeps are passed through untouched, so an author's edits survive a change of shape; the parts\n * it no longer has are removed (undo brings them back — the caller records ONE history step). Nothing\n * here reads a clock or a random source: ids come from `newId` (deterministic by default, so the\n * composer's output is byte-stable).\n */\n\nexport enum NavShape {\n Drawer = 'drawer',\n Bar = 'bar',\n Both = 'both',\n}\n\n/** The roles of a navigation's parts (the composite plan's `role` field, here for the nav). */\nexport enum NavRole {\n Root = 'nav',\n Brand = 'nav.brand',\n Links = 'nav.links',\n Link = 'nav.link',\n Cta = 'nav.cta',\n MenuButton = 'nav.menu-button',\n Drawer = 'nav.drawer',\n DrawerHead = 'nav.drawer-head',\n DrawerClose = 'nav.drawer-close',\n DrawerLinks = 'nav.drawer-links',\n DrawerLink = 'nav.drawer-link',\n DrawerCta = 'nav.drawer-cta',\n Bar = 'nav.bar',\n BarItem = 'nav.bar-item',\n More = 'nav.more',\n}\n\n/** The breakpoints a phone menu may switch at (the responsive Breakpoint ids; Q5: Mobile landscape). */\nexport enum PhoneMenuBreakpoint {\n Tablet = 'tablet',\n Mobile = 'mobile',\n Small = 'small',\n}\n\nexport const DEFAULT_PHONE_MENU_BREAKPOINT = PhoneMenuBreakpoint.Mobile;\n\n/** The bar's item count, More included (Q2: 3–5; iOS and Material both cap at five). */\nexport const BAR_ITEMS_MIN = 3;\nexport const BAR_ITEMS_MAX = 5;\n\nexport interface NavShapeOptions {\n /** Where the phone shape takes over (≤ this breakpoint). Default Mobile landscape (≤767). */\n at?: PhoneMenuBreakpoint | `${PhoneMenuBreakpoint}`;\n /** Items in the bar, More included (3–5). Default: 5 for Bottom bar, 4 + More for Both. */\n barItems?: number;\n /** A new part's id (the builder passes its id generator). Default: `<nav id>-<suffix>`. */\n newId?: (suffix: string) => string;\n /** The studio's pages, for a header that links to none (a hand-built one): its menu lists these. */\n pages?: ReadonlyArray<NavPage>;\n}\n\nexport interface NavShapeResult {\n /** The globals after the edit (the Navigation bar edited in place, the drawer/bar added or removed). */\n globals: SerializedNode[];\n shape: NavShape;\n at: PhoneMenuBreakpoint;\n}\n\nexport class NavShapeError extends Error {}\n\nconst CONTAINER = 'Container';\nconst DIALOG = 'Dialog';\nconst LINK = 'Link';\nconst LINKED = 'LinkedContainer';\nconst BUTTON = 'ButtonBlock';\nconst ICON = 'Icon';\nconst TEXT = 'Text';\nconst HEADING = 'Heading';\nconst NAV_STYLE = 'nav';\nconst DISPLAY = 'display';\nconst NONE = 'none';\nconst CLICK = 'click';\nconst HOME_ROUTE = '/';\nconst COMPOSED = { releaseLayoutDefaults: true };\n\n/** The words the parts carry — site copy, editable like any other (the composer writes English copy). */\nexport const NAV_SHAPE_COPY = {\n menu: 'Menu',\n closeMenu: 'Close menu',\n more: 'More',\n home: 'Home',\n} as const;\n\n/** The layer names of the parts (R2: the tree, the breadcrumb and the toolbar read them). */\nexport const NAV_PART_LABELS: Readonly<Record<string, string>> = {\n [NavRole.Root]: 'Navigation bar',\n [NavRole.Brand]: 'Brand',\n [NavRole.Links]: 'Links',\n [NavRole.MenuButton]: 'Menu button',\n [NavRole.Drawer]: 'Menu drawer',\n [NavRole.DrawerHead]: 'Drawer header',\n [NavRole.DrawerClose]: 'Close',\n [NavRole.DrawerLinks]: 'Drawer links',\n [NavRole.Bar]: 'Bottom bar',\n [NavRole.More]: 'More',\n};\n\n/** Phosphor icons for the bar's items by route — there is no page icon field (Q6), so the bar starts here and\n * the author picks (the icons are ordinary Icon nodes). */\nconst ROUTE_ICONS: ReadonlyArray<[RegExp, string]> = [\n [/^\\/?$/, 'ph-thin ph-house'],\n [/work|project|portfolio/i, 'ph-thin ph-squares-four'],\n [/about|studio|team/i, 'ph-thin ph-user'],\n [/journal|blog|news/i, 'ph-thin ph-book-open'],\n [/contact/i, 'ph-thin ph-chat-circle'],\n [/shop|store/i, 'ph-thin ph-bag'],\n];\nconst FALLBACK_ICON = 'ph-thin ph-file';\nconst MENU_ICON = 'ph-thin ph-list';\nconst CLOSE_ICON = 'ph-thin ph-x';\nconst MORE_ICON = 'ph-thin ph-dots-three';\n\nexport function barIconForRoute(route: string): string {\n return ROUTE_ICONS.find(([re]) => re.test(route))?.[1] ?? FALLBACK_ICON;\n}\n\n/** One page the navigation links to, read off its links. */\nexport interface NavPage {\n label: string;\n route: string;\n}\n\n// ── reading ─────────────────────────────────────────────────────────────────────────────────\n\nconst roleOf = (n: SerializedNode | null | undefined) => n?.role;\n\nfunction find(nodes: ReadonlyArray<SerializedNode>, role: NavRole): SerializedNode | null {\n let hit: SerializedNode | null = null;\n walkSerialized(nodes, n => { if (!hit && n.role === role) hit = n; });\n return hit;\n}\n\nfunction findAll(nodes: ReadonlyArray<SerializedNode>, role: NavRole): SerializedNode[] {\n const out: SerializedNode[] = [];\n walkSerialized(nodes, n => { if (n.role === role) out.push(n); });\n return out;\n}\n\n/** The Navigation bar: the global with the root role, else the first global wearing the `nav` style. */\nexport function findNavRoot(globals: ReadonlyArray<SerializedNode>, navId?: string | null): SerializedNode | null {\n if (navId) return globals.find(g => g.id === navId) ?? null;\n return globals.find(g => g.role === NavRole.Root) ?? globals.find(g => g.elementStyle === NAV_STYLE && g.type === CONTAINER) ?? null;\n}\n\n/** The shape a site's globals are in now, or null when there is no Navigation bar. */\nexport function navShapeOf(globals: ReadonlyArray<SerializedNode>): NavShape | null {\n if (!findNavRoot(globals)) return null;\n const bar = !!find(globals, NavRole.Bar);\n const drawer = !!find(globals, NavRole.Drawer);\n if (bar && drawer) return NavShape.Both;\n if (bar) return NavShape.Bar;\n return drawer ? NavShape.Drawer : null;\n}\n\nconst hiddenAt = (n: SerializedNode): string | null =>\n Object.entries(n.responsive ?? {}).find(([, layer]) => layer?.styleProps?.[DISPLAY] === NONE)?.[0] ?? null;\n\n/** The breakpoint the phone shape takes over at, read off the header's links row (default Mobile). */\nexport function navShapeBreakpoint(globals: ReadonlyArray<SerializedNode>): PhoneMenuBreakpoint {\n const links = find(globals, NavRole.Links);\n const bp = links ? hiddenAt(links) : null;\n return (Object.values(PhoneMenuBreakpoint) as string[]).includes(bp ?? '') ? bp as PhoneMenuBreakpoint : DEFAULT_PHONE_MENU_BREAKPOINT;\n}\n\nconst prop = (n: SerializedNode, name: string) => n.props?.[name];\nconst isPageLink = (n: SerializedNode) => prop(n, 'linkType') === LinkType.Page && typeof prop(n, 'pageRoute') === 'string';\n\nfunction textOf(n: SerializedNode): string {\n if (n.type === LINK) return String(prop(n, 'label') ?? '');\n let words = '';\n walkSerialized(n.children ?? [], c => { if (!words && (c.type === TEXT || c.type === HEADING)) words = String(prop(c, 'content') ?? ''); });\n return words;\n}\n\n/** The pages the header links to, in order: its Links (W1.1 — one plain Link per page in the navigation). */\nexport function navPages(root: SerializedNode): NavPage[] {\n const links = findAll([root], NavRole.Link);\n const source = links.length ? links : collectHeaderLinks(root);\n return source.filter(isPageLink).map(n => ({ label: textOf(n), route: String(prop(n, 'pageRoute')) }));\n}\n\n/** Where a phone menu's pages come from: the header's own page Links, else the studio's pages. */\nexport enum NavPagesSource {\n Header = 'header',\n Site = 'site',\n None = 'none',\n}\n\n/** The pages a phone menu lists: the header's (`navPages`), else `sitePages` — a hand-built header with no\n * page links still gets a working menu. */\nexport function phoneMenuPages(root: SerializedNode, sitePages: ReadonlyArray<NavPage> = []): { pages: NavPage[]; source: NavPagesSource } {\n const own = navPages(root);\n if (own.length) return { pages: own, source: NavPagesSource.Header };\n return sitePages.length ? { pages: [...sitePages], source: NavPagesSource.Site } : { pages: [], source: NavPagesSource.None };\n}\n\n/** A hand-built header: every page Link outside a drawer. */\nfunction collectHeaderLinks(root: SerializedNode): SerializedNode[] {\n const out: SerializedNode[] = [];\n const visit = (n: SerializedNode) => {\n if (n.type === DIALOG) return;\n if (n.type === LINK) out.push(n);\n (n.children ?? []).forEach(visit);\n };\n (root.children ?? []).forEach(visit);\n return out;\n}\n\n// ── building ────────────────────────────────────────────────────────────────────────────────\n\ninterface Kit {\n id: (suffix: string) => string;\n}\n\n/** New ids: the caller's generator, else `<nav id>-<suffix>` made unique against every id already there. */\nfunction makeKit(globals: ReadonlyArray<SerializedNode>, rootId: string, newId?: (suffix: string) => string): Kit {\n if (newId) return { id: newId };\n const used = new Set<string>();\n walkSerialized(globals, n => used.add(n.id));\n return {\n id: (suffix: string) => {\n const base = `${rootId}-${suffix}`;\n let id = base;\n for (let n = 2; used.has(id); n++) id = `${base}-${n}`;\n used.add(id);\n return id;\n },\n };\n}\n\n/** Point an opener's dialog actions at `dialogId` (a drawer rebuilt under a new id keeps its openers working). */\nfunction retarget(node: SerializedNode, dialogId: string): SerializedNode {\n for (const ix of node.interactions as Array<{ actions?: Array<{ type?: string; target?: string }> }>) {\n for (const a of ix.actions ?? []) if (a.type === 'openDialog' || a.type === 'toggleDialog') a.target = dialogId;\n }\n return node;\n}\n\nfunction part(kit: Kit, suffix: string, type: string, props: Record<string, unknown>, style: string | null, role?: NavRole | null, lay: Record<string, unknown> = {}): SerializedNode {\n const node = createSerializedNode(kit.id(suffix), type, props, style, COMPOSED);\n if (role) node.role = role;\n const label = role ? NAV_PART_LABELS[role] : undefined;\n if (label) node.label = label;\n Object.assign(node.styleProps, lay);\n return node;\n}\n\nfunction clickTo(kit: Kit, suffix: string, type: 'openDialog' | 'closeDialog', target: string) {\n return { id: kit.id(`${suffix}-click`), trigger: CLICK, actions: [{ type, target, duration: 0, delay: 0, easing: 'ease' }] };\n}\n\n/** Show at the phone width, hidden above it (base `display: none`, the breakpoint's own `display`). */\nfunction phoneOnly(node: SerializedNode, at: string, display: string): void {\n node.styleProps[DISPLAY] = NONE;\n node.responsive = { ...(node.responsive ?? {}), [at]: { ...(node.responsive?.[at] ?? {}), styleProps: { ...(node.responsive?.[at]?.styleProps ?? {}), [DISPLAY]: display } } };\n}\n\n/** Hidden at the phone width: the header's links row. */\nfunction hideAt(node: SerializedNode, at: string): void {\n node.responsive = { ...(node.responsive ?? {}), [at]: { ...(node.responsive?.[at] ?? {}), styleProps: { ...(node.responsive?.[at]?.styleProps ?? {}), [DISPLAY]: NONE } } };\n}\n\n/** Move every `display` override the shape owns to the new breakpoint. */\nfunction moveDisplayOverride(node: SerializedNode, to: string): void {\n for (const [bp, layer] of Object.entries(node.responsive ?? {})) {\n if (bp === to || !layer?.styleProps || !(DISPLAY in layer.styleProps)) continue;\n const value = layer.styleProps[DISPLAY];\n const { [DISPLAY]: _drop, ...rest } = layer.styleProps;\n node.responsive![bp] = { ...layer, styleProps: rest };\n if (!Object.keys(rest).length && Object.keys(layer).length === 1) delete node.responsive![bp];\n node.responsive![to] = { ...(node.responsive![to] ?? {}), styleProps: { ...(node.responsive![to]?.styleProps ?? {}), [DISPLAY]: value } };\n }\n}\n\nfunction iconNode(kit: Kit, suffix: string, iconClass: string): SerializedNode {\n return part(kit, suffix, ICON, { iconClass }, null);\n}\n\nfunction labelText(kit: Kit, suffix: string, words: string): SerializedNode {\n return part(kit, suffix, TEXT, { content: words, tag: 'span' }, 'button-label');\n}\n\nfunction menuButton(kit: Kit, drawerId: string, at: string): SerializedNode {\n const btn = part(kit, 'menu', BUTTON, { tag: 'button', ariaLabel: NAV_SHAPE_COPY.menu }, 'button-ghost', NavRole.MenuButton,\n { width: '48px', height: '48px', alignItems: 'center', justifyContent: 'center' });\n btn.children = [iconNode(kit, 'menu-icon', MENU_ICON)];\n btn.interactions = [clickTo(kit, 'menu', 'openDialog', drawerId)];\n phoneOnly(btn, at, 'inline-flex');\n return btn;\n}\n\nfunction pageLink(kit: Kit, suffix: string, page: NavPage, role: NavRole, lay: Record<string, unknown> = {}): SerializedNode {\n return part(kit, suffix, LINK, { label: page.label, linkType: LinkType.Page, pageRoute: page.route }, 'link', role, lay);\n}\n\nfunction drawer(kit: Kit, root: SerializedNode, pages: NavPage[], at: string): SerializedNode {\n const dr = part(kit, 'drawer', DIALOG, {\n placement: 'end', closeOnBackdrop: true, showCloseButton: false, ariaLabel: NAV_SHAPE_COPY.menu, closeAbove: at,\n }, 'dialog', NavRole.Drawer, { width: '86vw', maxWidth: '360px', display: 'flex', flexDirection: 'column', gap: '20px' });\n const brandWords = textOf(find([root], NavRole.Brand) ?? root) || NAV_PART_LABELS[NavRole.Root];\n const head = part(kit, 'drawer-head', CONTAINER, {}, 'box', NavRole.DrawerHead,\n { display: 'flex', justifyContent: 'space-between', alignItems: 'center', gap: '12px' });\n const close = part(kit, 'drawer-close', BUTTON, { tag: 'button', ariaLabel: NAV_SHAPE_COPY.closeMenu }, 'button-ghost', NavRole.DrawerClose,\n { width: '44px', height: '44px', alignItems: 'center', justifyContent: 'center' });\n close.children = [iconNode(kit, 'drawer-close-icon', CLOSE_ICON)];\n close.interactions = [clickTo(kit, 'drawer-close', 'closeDialog', dr.id)];\n head.children = [part(kit, 'drawer-brand', HEADING, { content: brandWords, level: 'h3' }, 'h3'), close];\n const list = part(kit, 'drawer-links', CONTAINER, {}, 'box', NavRole.DrawerLinks,\n { display: 'flex', flexDirection: 'column', gap: '4px' });\n // Board 1: every page, Home first, at lead size (on each Link: a Link's own baseline font size would\n // beat one inherited from the list). Only the CURRENT page is underlined — the shared CSS keys that on\n // the list's role (iox-design.css), so no Link holds a literal over its element style.\n list.children = withHome(root, pages).map((p, i) => pageLink(kit, `drawer-link-${i}`, p, NavRole.DrawerLink,\n { display: 'flex', alignItems: 'center', minHeight: '48px', fontSize: 'var(--iox-size-lead)' }));\n dr.children = [head, list];\n const cta = find([root], NavRole.Cta);\n if (cta) {\n const copy = JSON.parse(JSON.stringify(cta)) as SerializedNode;\n const reid = (n: SerializedNode, path: string) => { n.id = kit.id(path); (n.children ?? []).forEach((c, i) => reid(c, `${path}-${i}`)); };\n reid(copy, 'drawer-cta');\n copy.role = NavRole.DrawerCta;\n copy.styleProps = { ...copy.styleProps, alignSelf: 'stretch' };\n // Board 1: the full-width drawer button centres its words — a label filling its line would sit at the start.\n for (const label of copy.children ?? []) if (label.type === TEXT) label.styleProps = { ...label.styleProps, width: 'auto' };\n dr.children.push(copy);\n }\n return dr;\n}\n\nfunction barItem(kit: Kit, i: number, page: NavPage): SerializedNode {\n const item = part(kit, `bar-item-${i}`, LINKED, { linkType: LinkType.Page, pageRoute: page.route, target: '_self' }, 'bottom-bar-item', NavRole.BarItem, BAR_ITEM_LAY);\n item.label = page.label;\n item.children = [iconNode(kit, `bar-item-${i}-icon`, barIconForRoute(page.route)), labelText(kit, `bar-item-${i}-label`, page.label)];\n return item;\n}\n\nconst BAR_ITEM_LAY = {\n display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', gap: '3px',\n flexGrow: '1', flexShrink: '1', flexBasis: '0px', minWidth: '0px', minHeight: '52px', padding: '4px 2px', textDecoration: 'none',\n};\n\nfunction moreItem(kit: Kit, drawerId: string): SerializedNode {\n const more = part(kit, 'bar-more', BUTTON, { tag: 'button' }, 'bottom-bar-item', NavRole.More, BAR_ITEM_LAY);\n more.children = [iconNode(kit, 'bar-more-icon', MORE_ICON), labelText(kit, 'bar-more-label', NAV_SHAPE_COPY.more)];\n more.interactions = [clickTo(kit, 'bar-more', 'openDialog', drawerId)];\n return more;\n}\n\n/** Home first, then the header's pages: the header reaches Home through its brand, a phone menu names it. */\nfunction withHome(root: SerializedNode, pages: NavPage[]): NavPage[] {\n const brand = find([root], NavRole.Brand);\n const home = brand && isPageLink(brand) && prop(brand, 'pageRoute') === HOME_ROUTE && !pages.some(p => p.route === HOME_ROUTE)\n ? [{ label: NAV_SHAPE_COPY.home, route: HOME_ROUTE }] : [];\n return [...home, ...pages];\n}\n\n/** The bar's pages: Home first (a bottom bar's customary first stop), capped. */\nfunction barPages(root: SerializedNode, pages: NavPage[], count: number): NavPage[] {\n return withHome(root, pages).slice(0, count);\n}\n\nfunction bar(kit: Kit, root: SerializedNode, pages: NavPage[], shape: NavShape, count: number, drawerId: string | null, at: string): SerializedNode {\n // The node IS fixed (not only its element style): the builder canvas forces a node's own `position`\n // with !important, so a stored `static` default would pin the bar into the flow there.\n const b = part(kit, 'bar', CONTAINER, { htmlTag: 'nav' }, 'bottom-bar', NavRole.Bar,\n { position: 'fixed', justifyContent: 'space-around', alignItems: 'stretch', gap: '4px', padding: '6px 8px', width: 'auto' });\n phoneOnly(b, at, 'flex');\n const itemCount = shape === NavShape.Both ? count - 1 : count;\n b.children = barPages(root, pages, itemCount).map((p, i) => barItem(kit, i, p));\n if (shape === NavShape.Both && drawerId) b.children.push(moreItem(kit, drawerId));\n b.isGlobal = true;\n b.globalPosition = PatternGlobalPosition.After;\n return b;\n}\n\n// ── the edit ────────────────────────────────────────────────────────────────────────────────\n\nconst clone = <T>(v: T): T => JSON.parse(JSON.stringify(v)) as T;\n\nfunction removeRole(node: SerializedNode, role: NavRole): SerializedNode | null {\n let removed: SerializedNode | null = null;\n const visit = (n: SerializedNode) => {\n if (!n.children) return;\n const i = n.children.findIndex(c => c.role === role);\n if (i >= 0) { removed = n.children[i]; n.children.splice(i, 1); return; }\n n.children.forEach(visit);\n };\n visit(node);\n return removed;\n}\n\n/** The root's own parts that hide at the phone width: everything but the brand, the menu button and the drawer. */\nfunction phoneHiddenParts(root: SerializedNode): SerializedNode[] {\n const keep = new Set<string | undefined>([NavRole.Brand, NavRole.MenuButton, NavRole.Drawer]);\n return (root.children ?? []).filter((c, i) => !keep.has(roleOf(c)) && !(i === 0 && !c.role && c.type === LINKED));\n}\n\n/** Board 2 / board 8: five items either way — five pages (Bottom bar) or four pages + More (Both). */\nfunction defaultBarCount(_shape: NavShape): number {\n return BAR_ITEMS_MAX;\n}\n\nconst JUSTIFY = 'justifyContent';\nconst CENTER = 'center';\n\n/** Board 2: with a bar, the phone header holds only the brand, centred. The override lives in the phone\n * breakpoint's layer only; switching back to the drawer (or moving the breakpoint) removes it. */\nfunction centerBrandAt(root: SerializedNode, at: string, on: boolean): void {\n for (const [bp, layer] of Object.entries(root.responsive ?? {})) {\n if (layer?.styleProps?.[JUSTIFY] !== CENTER) continue;\n const { [JUSTIFY]: _drop, ...rest } = layer.styleProps;\n root.responsive![bp] = { ...layer, styleProps: rest };\n }\n if (on) root.responsive = { ...(root.responsive ?? {}), [at]: { ...(root.responsive?.[at] ?? {}), styleProps: { ...(root.responsive?.[at]?.styleProps ?? {}), [JUSTIFY]: CENTER } } };\n}\n\nfunction clampBarCount(n: number | undefined, shape: NavShape): number {\n const v = Number.isFinite(n) ? Math.round(n as number) : defaultBarCount(shape);\n return Math.min(BAR_ITEMS_MAX, Math.max(BAR_ITEMS_MIN, v));\n}\n\n/**\n * Put a site's header into `shape`. The Navigation bar is `navId` or the global carrying the root role\n * (else the first Container wearing `nav`, which this then marks with roles). Returns new globals;\n * the input is not mutated.\n */\nexport function planNavShape(globals: ReadonlyArray<SerializedNode>, shape: NavShape, options: NavShapeOptions = {}, navId?: string | null): NavShapeResult {\n if (!(Object.values(NavShape) as string[]).includes(shape)) throw new NavShapeError(`unknown phone menu shape \"${shape}\"`);\n const out = clone(globals) as SerializedNode[];\n const root = findNavRoot(out, navId);\n if (!root) throw new NavShapeError('no Navigation bar among the globals');\n const at = (options.at ?? navShapeBreakpoint(out)) as PhoneMenuBreakpoint;\n if (!(Object.values(PhoneMenuBreakpoint) as string[]).includes(at)) throw new NavShapeError(`a phone menu cannot switch at \"${at}\"`);\n const kit = makeKit(out, root.id, options.newId);\n\n adoptRoles(root);\n const { pages } = phoneMenuPages(root, options.pages);\n const wantDrawer = shape !== NavShape.Bar;\n const wantBar = shape !== NavShape.Drawer;\n const wantMenuButton = shape === NavShape.Drawer;\n\n // The drawer: kept (moved to where the shape puts it) or built; removed for Bar.\n let dr = removeRole(root, NavRole.Drawer);\n const topIndex = out.findIndex(g => g.role === NavRole.Drawer);\n if (!dr && topIndex >= 0) dr = out.splice(topIndex, 1)[0];\n if (dr) { delete dr.isGlobal; delete dr.globalPosition; }\n if (wantDrawer && !dr) dr = drawer(kit, root, pages, at);\n if (!wantDrawer) dr = null;\n if (dr) dr.props = { ...dr.props, closeAbove: at };\n\n // The menu button: Drawer only (Q4: with a bar, the phone header keeps only the brand).\n const existingMenu = removeRole(root, NavRole.MenuButton);\n const menu = wantMenuButton ? (existingMenu ?? menuButton(kit, dr!.id, at)) : null;\n\n for (const p of phoneHiddenParts(root)) { moveDisplayOverride(p, at); hideAt(p, at); }\n centerBrandAt(root, at, wantBar);\n\n const kids = root.children ?? (root.children = []);\n if (menu) { moveDisplayOverride(menu, at); kids.push(menu); }\n if (dr && shape === NavShape.Drawer) kids.push(dr);\n if (dr && shape === NavShape.Both) {\n dr.isGlobal = true;\n dr.globalPosition = PatternGlobalPosition.Before;\n out.splice(out.indexOf(root) + 1, 0, dr);\n }\n\n // The bar: kept (its items are the author's; More follows the shape) or built; removed for Drawer.\n const barIndex = out.findIndex(g => g.role === NavRole.Bar);\n let b = barIndex >= 0 ? out.splice(barIndex, 1)[0] : null;\n let more: SerializedNode | null = null;\n if (wantBar) {\n const count = clampBarCount(options.barItems, shape);\n if (!b) b = bar(kit, root, pages, shape, count, dr?.id ?? null, at);\n else {\n moveDisplayOverride(b, at);\n more = (b.children ?? []).find(c => c.role === NavRole.More) ?? null;\n b.children = (b.children ?? []).filter(c => c.role !== NavRole.More);\n if (options.barItems !== undefined) {\n const items = b.children;\n const want = shape === NavShape.Both ? count - 1 : count;\n const extra = barPages(root, pages, BAR_ITEMS_MAX).filter(p => !items.some(c => prop(c, 'pageRoute') === p.route));\n while (items.length > want) items.pop();\n while (items.length < want && extra.length) items.push(barItem(kit, items.length, extra.shift()!));\n }\n if (shape === NavShape.Both && dr) b.children.push(retarget(more ?? moreItem(kit, dr.id), dr.id));\n }\n out.push(b);\n }\n return { globals: out, shape, at };\n}\n\n/** Mark a hand-built header's parts with their roles, so every later edit can find them. */\nfunction adoptRoles(root: SerializedNode): void {\n root.role = NavRole.Root;\n const kids = root.children ?? [];\n const brand = kids.find(c => c.role === NavRole.Brand) ?? (kids[0]?.type === LINKED ? kids[0] : null);\n if (brand) brand.role = NavRole.Brand;\n for (const c of kids) {\n if (c === brand || c.role) continue;\n if (c.type === CONTAINER && (c.children ?? []).some(k => k.type === LINK)) {\n c.role = NavRole.Links;\n for (const k of c.children ?? []) {\n if (k.role) continue;\n if (k.type === LINK) k.role = NavRole.Link;\n else if (k.type === BUTTON) k.role = NavRole.Cta;\n }\n }\n }\n nameParts(root);\n}\n\n/** Board 3's layer names for the header's own parts, where the author has not named them: Brand, Links,\n * and the call to action by its words (\"Get in touch\"). */\nfunction nameParts(root: SerializedNode): void {\n for (const role of [NavRole.Brand, NavRole.Links]) {\n const part = find([root], role);\n if (part && !part.label) part.label = NAV_PART_LABELS[role];\n }\n const cta = find([root], NavRole.Cta);\n if (cta && !cta.label) {\n const words = textOf(cta);\n if (words) cta.label = words;\n }\n}\n\nexport interface AddBarItemResult {\n globals: SerializedNode[];\n /** False when the bar is full (5 items, More included — Q2) or there is no bar. */\n added: boolean;\n}\n\n/**\n * The bar's Items list \"Add item\" (board 2): one more item, before More — the next navigation page the\n * bar does not link to yet (Home when every page is there). Refused at five (Q2). Input not mutated.\n */\nexport function addBarItem(globals: ReadonlyArray<SerializedNode>, options: Pick<NavShapeOptions, 'newId' | 'pages'> = {}): AddBarItemResult {\n const out = clone(globals) as SerializedNode[];\n const root = findNavRoot(out);\n const b = find(out, NavRole.Bar);\n if (!root || !b) return { globals: out, added: false };\n const kids = b.children ?? (b.children = []);\n if (kids.length >= BAR_ITEMS_MAX) return { globals: out, added: false };\n const linked = new Set(kids.filter(c => c.role === NavRole.BarItem).map(c => prop(c, 'pageRoute')));\n const page = barPages(root, phoneMenuPages(root, options.pages).pages, BAR_ITEMS_MAX + 1).find(p => !linked.has(p.route))\n ?? { label: NAV_SHAPE_COPY.home, route: HOME_ROUTE };\n const item = barItem(makeKit(out, root.id, options.newId), kids.length, page);\n const more = kids.findIndex(c => c.role === NavRole.More);\n if (more >= 0) kids.splice(more, 0, item); else kids.push(item);\n return { globals: out, added: true };\n}\n\nexport interface BarItemsEditResult {\n globals: SerializedNode[];\n /** False when nothing changed: no bar, an unknown item, or the bar would drop below three items (Q2). */\n changed: boolean;\n}\n\nfunction barOf(globals: ReadonlyArray<SerializedNode>): { out: SerializedNode[]; kids: SerializedNode[] | null } {\n const out = clone(globals) as SerializedNode[];\n const b = find(out, NavRole.Bar);\n return { out, kids: b ? (b.children ?? (b.children = [])) : null };\n}\n\n/**\n * The bar's Items list \"Remove\" (board 2): the item goes, More included — refused below three items (Q2:\n * 3–5), so the bar never shrinks into something a thumb cannot use. Input not mutated.\n */\nexport function removeBarItem(globals: ReadonlyArray<SerializedNode>, itemId: string): BarItemsEditResult {\n const { out, kids } = barOf(globals);\n const i = kids ? kids.findIndex(c => c.id === itemId) : -1;\n if (!kids || i < 0 || kids.length <= BAR_ITEMS_MIN) return { globals: out, changed: false };\n kids.splice(i, 1);\n return { globals: out, changed: true };\n}\n\n/** The bar's Items list drag-to-reorder (board 2): item `from` moves to `to`. Input not mutated. */\nexport function moveBarItem(globals: ReadonlyArray<SerializedNode>, from: number, to: number): BarItemsEditResult {\n const { out, kids } = barOf(globals);\n if (!kids || from === to || from < 0 || to < 0 || from >= kids.length || to >= kids.length) return { globals: out, changed: false };\n const [item] = kids.splice(from, 1);\n kids.splice(to, 0, item);\n return { globals: out, changed: true };\n}\n","import { COLOR_SCHEMES, DesignChoices, LinkType, resolveDesignChoices, setColorScheme } from '@vectoriox/iox-ui/design-core';\nimport { FormPresetDef, FormPresetField, formPresetById } from '@vectoriox/iox-ui/forms-core';\nimport {\n ACCORDION_BIND_PROP, ACCORDION_CONTENT_LIMIT, ACCORDION_WORDS, accordionAnswerOf, accordionItems, accordionQuestionOf, AccordionRole,\n buildAccordionRecipe, buildCardRecipe, buildCarouselRecipe, buildLightboxRecipe, CardLayout, CardPart, CardRole, CARD_LAYOUTS, CARD_PARTS, CompositeNode,\n CompositeNodeSpec, findByRole, LIGHTBOX_LABEL, pickAccordionAutoBinds, pickTabsAutoBinds, SLIDE_TO_ROW, SLIDE_TYPE, buildTabsRecipe, tabLabelNodeOf,\n tabPanelImageOf, tabPanelTextOf, tabsListOf, tabsPanels, tabsPanelsOf, tabsTriggers, TABS_CONTENT_LIMIT, TABS_IMAGE_BIND_PROP, TABS_LABEL_BIND_PROP,\n TABS_TEXT_BIND_PROP, TABS_WORDS, BadgeTone, BADGE_TONES, buildSegmentedRecipe, CardWords, ITEM_OPEN_STATE, segmentedOptions,\n} from '@vectoriox/iox-ui/composite-core';\n\nimport { NODE_BASELINES } from './node-baselines.generated';\nimport { BindScope, CardBindTarget, PatternDirective, PatternNode, PatternOpens, PatternPlaceholder, PatternRecipe, SitePattern, patternById } from './patterns';\nimport { assertStyleSlots, ComposeError, createSerializedNode, SerializedBinding, SerializedNode, setStyleProps } from './serialized-node';\nimport {\n ContentTypePlan, DataSourcePlan, FactKey, FACT_KEYS, GlobalSlot, PagePlan, PageSectionPlan, PlanDataSourceMode, PlanDataSourceType,\n RelativeOp, SitePlan, SitePlanSource, SITE_FACT_LABELS, SiteBusiness,\n} from './site-plan.model';\nimport { assertValidSitePlan, nextSourceOf, routeParams } from './validate-site-plan';\nimport { NavShape, planNavShape } from './nav-shape';\n\n/**\n * THE composer — a Site Plan in, ordinary IOX data out (design-system plan §6b, W1). Deterministic and\n * pure: the same plan composes to byte-identical output, with no clock, no randomness and no transport.\n * The wizard and the AI agent both end here; W2's site-build service writes what it returns. The one\n * thing that changes with time — the copyright year — comes in through `ComposeContext`.\n *\n * Every node is created the way the builder creates one (`createSerializedNode`): the type's full\n * constructor defaults — its empty-drop sizes released, so the pattern owns its box (`BASELINE_ROLES`) —\n * then ONE element style, then the pattern's layout. So a composed page is what\n * an author would have built by hand from the palette — the builder reloads it and saves it unchanged,\n * and the engine renders it with nothing to resolve. Never a colour, size or font a pattern did not\n * name; never a fact the customer did not give (blank → a placeholder carrying the fact's label).\n */\n\nexport enum PlaceholderKind {\n /** A FACT the customer did not give (email, phone, city): publish-blocking. */\n Fact = 'fact',\n /** The pattern's own words, for the author to rewrite. */\n Copy = 'copy',\n /** An image slot with no image: the empty-image placeholder (DS3). */\n Image = 'image',\n /** CC3: a video slot with no clip — the studio uploads its own (the poster blank meanwhile). */\n Video = 'video',\n /** CC4b (Q37): a price — a FACT the customer could be held to. Free text the studio types (\"₪ 1,200\", \"From $40\",\n * \"On request\"); its label shows meanwhile (\"Monthly price\"), never a number. No currency model. */\n Price = 'price',\n}\n\n/** The placeholders a page cannot be published with unfilled (W4's gate): a fact, a price, the studio's own video.\n * Copy and an empty image are the author's to rewrite, never blocking. */\nexport const PUBLISH_BLOCKING_PLACEHOLDERS: ReadonlySet<PlaceholderKind> = new Set([PlaceholderKind.Fact, PlaceholderKind.Price, PlaceholderKind.Video]);\n\n/** True when a placeholder of `kind` blocks publishing until the studio fills it. */\nexport function blocksPublish(kind: PlaceholderKind): boolean {\n return PUBLISH_BLOCKING_PLACEHOLDERS.has(kind);\n}\n\nexport interface ComposedPlaceholder {\n nodeId: string;\n /** The page key, or the global slot (`header` / `footer`), the node lives in. */\n owner: string;\n kind: PlaceholderKind;\n fact?: FactKey;\n slot?: string;\n /** What the node shows meanwhile: the fact's label, the pattern's copy, or '' for an image. */\n text: string;\n}\n\nexport enum ComposeIssueCode {\n /** A slot the plan and the business left empty and the pattern gives no words for — the node keeps\n * its type's default text. */\n UnfilledSlot = 'unfilled-slot',\n /** A link to a page the plan leaves out now opens an email to the business (`mailto:`). */\n LinkToEmail = 'link-to-email',\n /** A link or button to a page the plan leaves out, with no business email to send to: removed. */\n LinkRemoved = 'link-removed',\n /** A linked box to a page the plan leaves out, with no business email: it keeps its contents as a\n * plain Container and loses only the link. */\n LinkUnlinked = 'link-unlinked',\n}\n\n/** The issues that are a dangling link (a route the plan has no page for) and what was done about it. */\nexport const DANGLING_LINK_CODES: ReadonlySet<ComposeIssueCode> = new Set([\n ComposeIssueCode.LinkToEmail, ComposeIssueCode.LinkRemoved, ComposeIssueCode.LinkUnlinked,\n]);\n\nexport interface ComposeIssue {\n code: ComposeIssueCode;\n nodeId: string;\n owner: string;\n /** In plain words, for the wizard to show. */\n detail: string;\n /** A dangling link's route. */\n route?: string;\n}\n\n/** What the composer may not decide for itself — today the clock. */\nexport interface ComposeContext {\n /** The calendar year the copyright line reads (`{year}`), from the caller's clock. */\n year: number;\n}\n\nexport interface ComposedPage {\n key: string;\n name: string;\n route: { path: string };\n isHome: boolean;\n status: 'draft';\n /** DS3: every page the wizard creates follows the look (page-bg / text / font-body). */\n pageSettings: { designSystem: true };\n layout: SerializedNode[];\n}\n\nexport interface ComposedDataSource {\n id: string;\n alias: string;\n type: string;\n mode: string;\n request: Record<string, unknown>;\n}\n\nexport type ComposedItem = Record<string, unknown> & { isPublished: boolean; isSample: boolean };\n\nexport interface ComposedRoute {\n key: string;\n path: string;\n isHome: boolean;\n}\n\nexport interface ComposedSite {\n source: SitePlanSource;\n business: SiteBusiness;\n /** The look, completed against its pack (`resolveDesignChoices`) — what the build applies. */\n design: DesignChoices;\n /** The content types to create, as the plan states them. */\n schemas: ContentTypePlan[];\n /** Sample items per content type. `{sampleImage:k}` values name a bundled sample image the build resolves. */\n items: Record<string, ComposedItem[]>;\n /** Merged by alias into the org data-source library. */\n dataSources: ComposedDataSource[];\n pages: ComposedPage[];\n /** Header + footer: root nodes carry `isGlobal` and `globalPosition`. */\n globals: SerializedNode[];\n routes: ComposedRoute[];\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n}\n\n/** `{sampleImage:k}` — a bundled abstract sample image, never a stock photo (plan §6b). */\nexport const SAMPLE_IMAGE_REF = /^\\{sampleImage:(\\d+)\\}$/;\nconst SAMPLE_IMAGE_TEMPLATE = /\\{sampleImage:n(?:\\+(\\d+))?\\}/g;\nconst ITEM_NUMBER = /\\{n\\}/g;\n\nexport function sampleImageRef(index: number): string {\n return `{sampleImage:${index}}`;\n}\n\n/** The 1-based index a `{sampleImage:k}` value names, or null. */\nexport function parseSampleImageRef(value: unknown): number | null {\n const m = typeof value === 'string' ? SAMPLE_IMAGE_REF.exec(value) : null;\n return m ? Number(m[1]) : null;\n}\n\n/** The prop a pattern's `text` / slot / fact fills, per type. */\nconst TEXT_PROP: Readonly<Record<string, string>> = {\n Heading: 'content',\n Text: 'content',\n Link: 'label',\n SubmitButton: 'label',\n};\n/** The prop a pattern's `bind` binds, per type. */\nconst BIND_PROP: Readonly<Record<string, string>> = {\n Heading: 'content',\n Text: 'content',\n Link: 'label',\n Image: 'src',\n};\n/** Where each linking type writes a page link and an external URL (a ButtonBlock links only as an `<a>`). */\ninterface LinkSlots { url: string; fixed?: Readonly<Record<string, string>>; }\nconst LINK_SLOTS: Readonly<Record<string, LinkSlots>> = {\n Link: { url: 'url' },\n LinkedContainer: { url: 'url' },\n ButtonBlock: { url: 'href', fixed: { tag: 'a' } },\n // A Card v2 links as a whole through its TITLE (the stretched link): the Heading carries the link.\n Heading: { url: 'url' },\n};\n/** What a linked box becomes when its link has nowhere to go: the same box, unlinked. */\nconst UNLINKED_TYPE: Readonly<Record<string, string>> = { LinkedContainer: 'Container' };\nconst BUTTON_BLOCK = 'ButtonBlock';\nconst FORM = 'Form';\nconst FIELD = 'Field';\nconst IMAGE = 'Image';\nconst VIDEO = 'Video';\n/** A Video's source prop (media-core `VideoTrait.Source` — not `source`, which names a data source). */\nconst VIDEO_SOURCE_PROP = 'videoSource';\nconst DIALOG = 'Dialog';\nconst SUBMIT_BUTTON = 'SubmitButton';\nconst FORM_SUCCESS = 'FormSuccess';\nconst FORM_ERROR = 'FormError';\nconst FORM_STATE_BLOCKS = [FORM_SUCCESS, FORM_ERROR];\n/** The Field traits a preset field fills, 1:1 (`FormPresetField`). */\nconst PRESET_FIELD_PROPS: ReadonlyArray<keyof FormPresetField> = ['label', 'control', 'required', 'help', 'placeholder', 'optionsText', 'rows'];\nconst LABEL_TAG = 'span';\nconst TEXT = 'Text';\n/** A button's label reads the button's own type and ink (contract element style, W1.1 Q6). */\nconst BUTTON_LABEL_STYLE = 'button-label';\nconst ITEM_VALUE_PATH = '$';\nconst STATUS_DRAFT = 'draft';\nconst MAILTO = 'mailto:';\n/** A pattern's `alt: ''` — the image is decorative and its alt is written empty. */\nconst DECORATIVE_ALT = '';\n/** What the composer writes for every node: the pattern owns the box (W1.1, Q1). */\nconst COMPOSED = { releaseLayoutDefaults: true };\n/** The words a pattern may leave for compose time: the year (`ComposeContext`) and the business name. */\nconst TEXT_VARIABLE = /\\{(year|business\\.name)\\}/g;\n/** What `page.*` may read on a node stamped for a navigation page. */\nconst STAMPED_PAGE_FIELDS: ReadonlySet<string> = new Set(['name', 'route']);\n\nconst clone = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\n/** 32-bit FNV-1a, base 36 — a short stable id fragment. */\nfunction stableHash(text: string): string {\n let h = 0x811c9dc5;\n for (let i = 0; i < text.length; i++) {\n h ^= text.charCodeAt(i);\n h = Math.imul(h, 0x01000193) >>> 0;\n }\n return h.toString(36).padStart(7, '0').slice(-6);\n}\n\nconst create = (id: string, type: string, props: Record<string, unknown> = {}, elementStyle?: string | null) =>\n createSerializedNode(id, type, props, elementStyle, COMPOSED);\n\ninterface RepeaterScope {\n /** The alias a row's children bind (`repeaterItemAlias`: the iterate-path's last segment, else the source). */\n itemAlias: string;\n}\n\ninterface Ctx {\n owner: string;\n page: PagePlan | null;\n section: PageSectionPlan | null;\n plan: SitePlan;\n year: number;\n /** The business email a dangling link is pointed at, when the customer gave one. */\n email: string | null;\n /** The navigation page an `each: $navPages` node is being stamped for. */\n navPage: PagePlan | null;\n /** `next.*` → this alias. */\n nextAlias: string | null;\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n routes: ReadonlySet<string>;\n /** CC3: nodes whose click opens the pattern's lightbox (`opens`), wired once the pattern is stamped. */\n openers?: string[];\n /** CC4b: nodes shown while an option is on (`shownWhen`), wired once the pattern is stamped. */\n shownWhen?: ShownWhen[];\n /** A section inserted from the palette (`composeSection`): a button to a page the studio lacks keeps its words,\n * unlinked — the author links it — instead of being removed. */\n keepButtons?: boolean;\n}\n\ninterface ShownWhen {\n id: string;\n key: string;\n /** The display the node shows with (its own layout's, else flex). */\n display: string;\n}\n\nfunction nonEmpty(v: unknown): v is string {\n return typeof v === 'string' && v.trim() !== '';\n}\n\n/** A pattern's own words with the compose-time variables filled: `{year}`, `{business.name}`. */\nfunction fillVariables(text: string, ctx: Ctx): string {\n return text.replace(TEXT_VARIABLE, (_m, name: string) => (name === 'year' ? String(ctx.year) : ctx.plan.business.name));\n}\n\ninterface TextChoice {\n value?: string;\n placeholder?: { kind: PlaceholderKind; fact?: FactKey };\n}\n\n/** Where a node's words come from: the plan's slot → the business → the customer's fact → the pattern's\n * own text. A missing fact shows its label and is a placeholder; nothing is ever made up. */\nfunction chooseText(pn: PatternNode, ctx: Ctx): TextChoice {\n const fact = pn.ph && (FACT_KEYS as ReadonlyArray<string>).includes(pn.ph) ? pn.ph as FactKey : null;\n const slotValue = pn.slot ? ctx.section?.slots?.[pn.slot] : undefined;\n if (nonEmpty(slotValue)) return { value: slotValue };\n if (pn.fromBusiness) {\n const v = (ctx.plan.business as unknown as Record<string, unknown>)[pn.fromBusiness];\n if (nonEmpty(v)) return { value: v };\n }\n if (fact) {\n const given = ctx.plan.business.facts?.[fact];\n return nonEmpty(given) ? { value: given } : { value: SITE_FACT_LABELS[fact], placeholder: { kind: PlaceholderKind.Fact, fact } };\n }\n const own = pn.text === undefined ? undefined : fillVariables(pn.text, ctx);\n if (pn.ph === PatternPlaceholder.Copy) return { value: own, placeholder: { kind: PlaceholderKind.Copy } };\n if (pn.ph === PatternPlaceholder.Price) return { value: own, placeholder: { kind: PlaceholderKind.Price } };\n return { value: own };\n}\n\n/** A `bind` / `alt` / `param` / `src` path → the binding source + path, in this node's scope. */\nfunction resolveScoped(path: string, repeater: RepeaterScope | null, ctx: Ctx, nodeId: string): { source: string; path: string } {\n const [scope, ...rest] = path.split('.');\n const sub = rest.join('.');\n switch (scope) {\n case BindScope.Item:\n if (!repeater) throw new ComposeError(`${nodeId}: \"${path}\" outside a Repeater`);\n return { source: repeater.itemAlias, path: sub || ITEM_VALUE_PATH };\n case BindScope.Route:\n if (!ctx.page?.routeSource) throw new ComposeError(`${nodeId}: \"${path}\" on a page with no routeSource`);\n return { source: ctx.page.routeSource, path: sub || ITEM_VALUE_PATH };\n case BindScope.Next:\n if (!ctx.nextAlias) throw new ComposeError(`${nodeId}: \"${path}\" with no next-sibling source`);\n return { source: ctx.nextAlias, path: sub || ITEM_VALUE_PATH };\n default:\n throw new ComposeError(`${nodeId}: unknown binding scope \"${scope}\"`);\n }\n}\n\n/** `page.<field>` on a node stamped for a navigation page: that page's own words, written in. */\nfunction stampedPageValue(path: string, ctx: Ctx, nodeId: string): string {\n const field = path.split('.').slice(1).join('.');\n if (!ctx.navPage) throw new ComposeError(`${nodeId}: \"${path}\" on a node that is not stamped per page (each)`);\n if (!STAMPED_PAGE_FIELDS.has(field)) throw new ComposeError(`${nodeId}: a page has no \"${field}\" (${[...STAMPED_PAGE_FIELDS].join(', ')})`);\n return (ctx.navPage as unknown as Record<string, string>)[field];\n}\n\nconst isPageScope = (path: string | undefined) => !!path && path.split('.')[0] === BindScope.Page;\n\n/** The content type behind a data source alias (a relative source reads its `within` list's type). */\nfunction contentTypeOfSource(alias: string, plan: SitePlan): ContentTypePlan | undefined {\n const ds = plan.dataSources.find(d => d.alias === alias);\n if (!ds) return undefined;\n if (ds.type === PlanDataSourceType.Relative) return contentTypeOfSource(ds.within, plan);\n return plan.contentTypes.find(t => t.name === ds.contentType);\n}\n\nfunction addBinding(node: SerializedNode, binding: SerializedBinding): void {\n const declared = NODE_BASELINES[node.type]?.traits ?? [];\n if (!declared.includes(binding.prop) && !binding.prop.startsWith('routeParam:')) {\n throw new ComposeError(`${node.type} has no trait \"${binding.prop}\" to bind`);\n }\n node.bindings.push(binding);\n}\n\nfunction assertTraits(type: string, names: ReadonlyArray<string>): void {\n const declared = NODE_BASELINES[type]?.traits ?? [];\n for (const name of names) if (!declared.includes(name)) throw new ComposeError(`${type} has no trait \"${name}\"`);\n}\n\nfunction setProp(node: SerializedNode, name: string, value: unknown): void {\n assertTraits(node.type, [name]);\n node.props[name] = value;\n}\n\nfunction linkSlots(node: SerializedNode): LinkSlots {\n const slots = LINK_SLOTS[node.type];\n if (!slots) throw new ComposeError(`${node.id}: ${node.type} cannot link`);\n return slots;\n}\n\n/** A link to one of the site's pages, by route — the builder shows the route, the engine resolves it. */\nfunction writePageLink(node: SerializedNode, route: string): void {\n const slots = linkSlots(node);\n for (const [k, v] of Object.entries(slots.fixed ?? {})) setProp(node, k, v);\n setProp(node, 'linkType', LinkType.Page);\n setProp(node, 'pageRoute', route);\n}\n\nfunction writeExternalLink(node: SerializedNode, url: string): void {\n const slots = linkSlots(node);\n for (const [k, v] of Object.entries(slots.fixed ?? {})) setProp(node, k, v);\n setProp(node, 'linkType', LinkType.External);\n setProp(node, slots.url, url);\n}\n\n/** What happens to a node linking to a route the plan has no page for (W1.1, Q11) — the same rule for\n * every pattern and every page: an email to the business when one is given; else a link or button is\n * removed and a linked box keeps its contents, unlinked. */\nenum DanglingFate {\n Email = 'email',\n Remove = 'remove',\n Unlink = 'unlink',\n}\n\nfunction danglingFate(pn: PatternNode, ctx: Ctx): DanglingFate | null {\n if (!pn.href || pn.href === PatternDirective.PageRoute || ctx.routes.has(pn.href)) return null;\n if (ctx.email) return DanglingFate.Email;\n return UNLINKED_TYPE[pn.t] || (ctx.keepButtons && pn.t === BUTTON_BLOCK) ? DanglingFate.Unlink : DanglingFate.Remove;\n}\n\nconst DANGLING_ISSUE: Readonly<Record<DanglingFate, ComposeIssueCode>> = {\n [DanglingFate.Email]: ComposeIssueCode.LinkToEmail,\n [DanglingFate.Remove]: ComposeIssueCode.LinkRemoved,\n [DanglingFate.Unlink]: ComposeIssueCode.LinkUnlinked,\n};\n\nfunction reportDangling(fate: DanglingFate, pn: PatternNode, id: string, words: string | undefined, ctx: Ctx): void {\n const what = words ? `\"${words}\"` : `A ${pn.t === BUTTON_BLOCK ? 'button' : 'link'}`;\n const outcome = {\n [DanglingFate.Email]: `it now opens an email to ${ctx.email}`,\n [DanglingFate.Remove]: 'with no email address to send to instead, it was removed',\n [DanglingFate.Unlink]: pn.t === BUTTON_BLOCK\n ? 'with no email address to send to instead, the button keeps its words without the link'\n : 'with no email address to send to instead, the box keeps its contents without the link',\n }[fate];\n ctx.issues.push({\n code: DANGLING_ISSUE[fate], nodeId: id, owner: ctx.owner, route: pn.href,\n detail: `${what} linked to ${pn.href}, which this site has no page for — ${outcome}.`,\n });\n}\n\n/** The alt binding of a bound Image: the pattern's `alt`, else the bound item's preview text field. */\nfunction altBinding(pn: PatternNode, repeater: RepeaterScope | null, ctx: Ctx, id: string): { source: string; path: string } {\n if (pn.alt) return resolveScoped(pn.alt, repeater, ctx, id);\n const bound = resolveScoped(pn.bind as string, repeater, ctx, id);\n const field = contentTypeOfSource(bound.source, ctx.plan)?.previewTextField;\n if (!field) throw new ComposeError(`${id}: a bound image needs an alt — the pattern names none and \"${bound.source}\" has no previewTextField`);\n return { source: bound.source, path: field };\n}\n\n/** A preset Form's children — the forms-core preset's fields, submit and the WORDS of both state blocks. */\nfunction presetChildren(preset: FormPresetDef, id: string): SerializedNode[] {\n const fields = preset.fields.map((f, i) => {\n const props = Object.fromEntries(PRESET_FIELD_PROPS.filter(k => f[k] !== undefined).map(k => [k, f[k]]));\n assertTraits(FIELD, Object.keys(props));\n return create(`${id}-${i}`, FIELD, props);\n });\n const n = fields.length;\n const submit = create(`${id}-${n}`, SUBMIT_BUTTON, { label: preset.submitLabel });\n const blocks = [[FORM_SUCCESS, preset.successText], [FORM_ERROR, preset.errorText]].map(([type, words], i) => {\n const block = create(`${id}-${n + 1 + i}`, type);\n block.children = [create(`${id}-${n + 1 + i}-0`, TEXT, { content: words })];\n return block;\n });\n return [...fields, submit, ...blocks];\n}\n\n/** A Form: its stable id, its preset's name and children (or the pattern's own children), and both state\n * blocks — never optional (forms plan D7). */\nfunction composeForm(node: SerializedNode, pn: PatternNode, id: string, ctx: Ctx): void {\n if (!pn.preset) {\n node.children = [...(node.children ?? []), ...FORM_STATE_BLOCKS.map((type, i) => create(`${id}-${(pn.c?.length ?? 0) + i}`, type))];\n return;\n }\n const preset = formPresetById(pn.preset);\n if (!preset) throw new ComposeError(`${id}: no form preset \"${pn.preset}\" in forms-core`);\n if (pn.c?.length) throw new ComposeError(`${id}: a preset Form takes its fields from the preset, not the pattern`);\n setProp(node, 'name', preset.formName);\n setProp(node, 'formId', `${preset.id}-${stableHash(`${ctx.owner}/${id}`)}`);\n node.children = presetChildren(preset, id);\n}\n\n/** A pattern node's children; an `each` child is stamped once per navigation page, its id carrying the\n * page key so it survives a page being left out or reordered. */\nfunction composeChildren(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode[] {\n const out: SerializedNode[] = [];\n (pn.c ?? []).forEach((child, i) => {\n const childId = `${id}-${i}`;\n if (!child.each) {\n const node = composeNode(child, childId, repeater, ctx);\n if (node) out.push(node);\n return;\n }\n if (child.each !== PatternDirective.NavPages) throw new ComposeError(`${childId}: \"each\" stamps \"${PatternDirective.NavPages}\" only`);\n for (const page of ctx.plan.pages.filter(p => p.inNav)) {\n const node = composeNode(child, `${childId}-${page.key}`, repeater, { ...ctx, navPage: page });\n if (node) out.push(node);\n }\n });\n return out;\n}\n\n/** One pattern node → one serialized node (and its subtree). `null` when the section leaves it out or a\n * dangling link is removed. */\nfunction composeNode(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode | null {\n if (pn.optional && ctx.section?.without?.includes(pn.optional)) return null;\n if (pn.recipe) return composeRecipe(pn, id, repeater, ctx);\n\n const words = chooseText(pn, ctx);\n const fate = danglingFate(pn, ctx);\n if (fate === DanglingFate.Remove) {\n reportDangling(fate, pn, id, words.value, ctx);\n return null;\n }\n const type = fate === DanglingFate.Unlink ? UNLINKED_TYPE[pn.t] ?? pn.t : pn.t;\n\n const props: Record<string, unknown> = {};\n if (pn.level) props['level'] = pn.level;\n if (pn.tag) props['htmlTag'] = pn.tag;\n if (pn.scheme) props['colorScheme'] = pn.scheme;\n if (pn.control) props['control'] = pn.control;\n if (pn.label) props['label'] = pn.label;\n if (pn.required !== undefined) props['required'] = pn.required;\n assertTraits(type, Object.keys(props));\n // Props first: a Heading with no `es` wears its LEVEL's default style.\n const node = create(id, type, props, pn.es ?? null);\n if (pn.role) node.role = pn.role;\n\n // Words.\n if (words.placeholder) {\n const shown = words.value ?? String(NODE_BASELINES[type]?.props[TEXT_PROP[type]] ?? '');\n ctx.placeholders.push({ nodeId: id, owner: ctx.owner, kind: words.placeholder.kind, ...(words.placeholder.fact ? { fact: words.placeholder.fact } : {}), ...(pn.slot ? { slot: pn.slot } : {}), text: shown });\n } else if (words.value === undefined && (pn.slot || pn.fromBusiness)) {\n ctx.issues.push({ code: ComposeIssueCode.UnfilledSlot, nodeId: id, owner: ctx.owner, detail: `no value for ${pn.slot ? `slot \"${pn.slot}\"` : `business \"${pn.fromBusiness}\"`} — keeps the ${type} default` });\n }\n if (words.value !== undefined) {\n if (type === BUTTON_BLOCK) {\n node.children = [create(`${id}-label`, TEXT, { content: words.value, tag: LABEL_TAG }, BUTTON_LABEL_STYLE)];\n } else {\n const prop = TEXT_PROP[type];\n if (!prop) throw new ComposeError(`${id}: ${type} cannot hold text`);\n setProp(node, prop, words.value);\n }\n }\n\n // CC3: a Video in background mode is an uploaded file's; its clip is the studio's own (a placeholder until then).\n if (pn.video) {\n if (type !== VIDEO) throw new ComposeError(`${id}: \"video\" belongs on a Video`);\n setProp(node, VIDEO_SOURCE_PROP, 'file');\n setProp(node, 'mode', pn.video);\n }\n if (pn.ph === PatternPlaceholder.Video) {\n setProp(node, 'src', '');\n ctx.placeholders.push({ nodeId: id, owner: ctx.owner, kind: PlaceholderKind.Video, text: '' });\n }\n if (pn.name) setProp(node, 'ariaLabel', pn.name);\n if (pn.icon) {\n if (type !== ICON) throw new ComposeError(`${id}: \"icon\" belongs on an Icon`);\n setProp(node, 'iconClass', pn.icon);\n }\n if (pn.layer) node.label = pn.layer;\n if (pn.opens) {\n if (pn.opens !== PatternOpens.Lightbox) throw new ComposeError(`${id}: \"opens\" names the pattern's lightbox`);\n (ctx.openers ??= []).push(id);\n }\n\n // Images: an empty slot, or a bound one — both fall back to the DS3 empty image, never a stock URL.\n if (pn.ph === PatternPlaceholder.Image) {\n setProp(node, 'src', '');\n ctx.placeholders.push({ nodeId: id, owner: ctx.owner, kind: PlaceholderKind.Image, text: '' });\n }\n if (pn.aspect) setStyleProps(node, { aspectRatio: pn.aspect });\n\n // Links.\n if (pn.href === PatternDirective.PageRoute) {\n writePageLink(node, stampedPageValue(`${BindScope.Page}.route`, ctx, id));\n } else if (pn.href && !fate) {\n writePageLink(node, pn.href);\n } else if (fate) {\n if (fate === DanglingFate.Email) writeExternalLink(node, `${MAILTO}${ctx.email}`);\n reportDangling(fate, pn, id, words.value, ctx);\n }\n if (pn.param && !fate) {\n const names = pn.href ? routeParams(pn.href) : [];\n if (names.length !== 1) throw new ComposeError(`${id}: \"param\" needs an href with one :param`);\n addBinding(node, { prop: `routeParam:${names[0]}`, ...resolveScoped(pn.param, repeater, ctx, id) });\n }\n if (pn.bind) {\n const prop = BIND_PROP[type];\n if (!prop) throw new ComposeError(`${id}: ${type} has no bindable value`);\n if (isPageScope(pn.bind)) setProp(node, prop, stampedPageValue(pn.bind, ctx, id));\n else addBinding(node, { prop, ...resolveScoped(pn.bind, repeater, ctx, id) });\n }\n if (type === IMAGE && pn.bind && !isPageScope(pn.bind)) {\n setProp(node, 'src', '');\n if (pn.alt === DECORATIVE_ALT) setProp(node, 'alt', DECORATIVE_ALT);\n else addBinding(node, { prop: 'alt', ...altBinding(pn, repeater, ctx, id) });\n } else if (pn.alt !== undefined) {\n throw new ComposeError(`${id}: \"alt\" belongs on a bound Image`);\n }\n\n // Layout.\n applyLayout(node, pn);\n if (pn.shownWhen) hideUntilOn(node, pn, ctx);\n\n // A Repeater's rows.\n let rowScope = repeater;\n if (pn.src) {\n let binding: SerializedBinding;\n if (pn.src === PatternDirective.Binding) {\n if (!ctx.section?.binding) throw new ComposeError(`${id}: \"$binding\" with no section binding`);\n binding = { prop: 'source', source: ctx.section.binding, path: '' };\n } else {\n const scoped = resolveScoped(pn.src, repeater, ctx, id);\n binding = { prop: 'source', source: scoped.source, path: scoped.path === ITEM_VALUE_PATH ? '' : scoped.path };\n }\n addBinding(node, binding);\n const lastSegment = binding.path.split('.').filter(Boolean).pop();\n rowScope = { itemAlias: lastSegment || binding.source };\n }\n\n // Children.\n if (pn.c?.length) {\n if (!node.children) throw new ComposeError(`${id}: ${type} holds no children`);\n node.children = [...node.children, ...composeChildren(pn, id, rowScope, ctx)];\n }\n if (type === FORM) composeForm(node, pn, id, ctx);\n return node;\n}\n\n/** A pattern node's layout: its `lay` styleProps and its per-breakpoint `resp` layers. */\nfunction applyLayout(node: SerializedNode, pn: PatternNode): void {\n if (pn.lay) setStyleProps(node, pn.lay);\n if (pn.resp) {\n for (const layer of Object.values(pn.resp)) assertStyleSlots(node.type, Object.keys(layer));\n node.responsive = Object.fromEntries(Object.entries(pn.resp).map(([bp, styleProps]) => [bp, { styleProps: { ...styleProps } }]));\n }\n}\n\n/** CC4b (`shownWhen`, Q38): hidden at base and shown — with its own layout's display — while the pattern's Segmented\n * option of that key is on. Wired once the pattern is stamped (the option's id is known then). */\nfunction hideUntilOn(node: SerializedNode, pn: PatternNode, ctx: Ctx): void {\n const display = String(node.styleProps['display'] ?? '') || SHOWN_DISPLAY;\n setStyleProps(node, { display: HIDDEN_DISPLAY });\n (ctx.shownWhen ??= []).push({ id: node.id, key: pn.shownWhen!, display });\n}\n\n/** CC4b: every `shownWhen` node of a stamped pattern follows its option — the targeted `trigger-on` (\"when Yearly is\n * on\"), compiled by both renderers to ONE `:has()` rule on the nearest common ancestor. */\nfunction wireShownWhen(root: SerializedNode, entries: ReadonlyArray<ShownWhen>): void {\n if (!entries.length) return;\n const nodes = new Map<string, SerializedNode>();\n const options = new Map<string, string>();\n const visit = (n: SerializedNode) => {\n nodes.set(n.id, n);\n for (const option of segmentedOptions(n as unknown as CompositeNode)) if (option.itemKey && !options.has(option.itemKey)) options.set(option.itemKey, option.id!);\n (n.children ?? []).forEach(visit);\n };\n visit(root);\n for (const entry of entries) {\n const option = options.get(entry.key);\n if (!option) throw new ComposeError(`${entry.id}: \"shownWhen: ${entry.key}\" names no option of a segmented in the pattern`);\n const node = nodes.get(entry.id)!;\n node.stateStyles = { ...(node.stateStyles ?? {}), [ITEM_OPEN_STATE]: { display: entry.display } };\n node.stateTriggers = { ...(node.stateTriggers ?? {}), [ITEM_OPEN_STATE]: option };\n }\n}\n\n/** A Card v2 `binds` key → the part it binds and that part's bound prop. */\nconst CARD_BINDS: Readonly<Record<CardBindTarget, { role: CardRole; prop: string }>> = {\n [CardBindTarget.Image]: { role: CardRole.Media, prop: 'src' },\n [CardBindTarget.Eyebrow]: { role: CardRole.Eyebrow, prop: 'content' },\n [CardBindTarget.Title]: { role: CardRole.Title, prop: 'content' },\n [CardBindTarget.Text]: { role: CardRole.Text, prop: 'content' },\n};\n\n/**\n * A `recipe` node: the composite-core recipe, stamped whole with THIS composer's node factory — the same\n * recipe the builder's palette stamps with its own — then bound part by part, and linked as a whole card\n * through its title (`href` + `param`, the stretched link). Ids derive from the recipe's keys.\n */\nfunction composeRecipe(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode {\n if (pn.recipe === PatternRecipe.Accordion) return composeAccordion(pn, id, ctx);\n if (pn.recipe === PatternRecipe.Tabs) return composeTabs(pn, id, ctx);\n if (pn.recipe === PatternRecipe.Carousel) return composeCarousel(pn, id, ctx);\n if (pn.recipe === PatternRecipe.Lightbox) return composeLightbox(pn, id, repeater, ctx);\n if (pn.recipe === PatternRecipe.Segmented) return composeSegmented(pn, id);\n if (pn.recipe !== PatternRecipe.Card) throw new ComposeError(`${id}: no recipe \"${pn.recipe}\" in composite-core`);\n const layout = (pn.layout ?? CardLayout.Top) as CardLayout;\n if (!CARD_LAYOUTS.includes(layout)) throw new ComposeError(`${id}: a card has no layout \"${pn.layout}\"`);\n for (const part of Object.keys(pn.parts ?? {})) {\n if (!CARD_PARTS.includes(part as CardPart)) throw new ComposeError(`${id}: a card has no part \"${part}\"`);\n }\n const factory = (spec: CompositeNodeSpec): CompositeNode =>\n create(spec.key === CardRole.Card ? id : `${id}-${spec.key}`, spec.type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n const tone = pn.badge as BadgeTone | undefined;\n if (tone && !BADGE_TONES.includes(tone)) throw new ComposeError(`${id}: a badge has no tone \"${pn.badge}\"`);\n for (const key of Object.keys(pn.words ?? {})) if (!CARD_WORD_KEYS.includes(key)) throw new ComposeError(`${id}: a card has no words \"${key}\"`);\n const card = buildCardRecipe(factory, {\n layout, parts: pn.parts as Partial<Record<CardPart, boolean>>, words: pn.words as Partial<CardWords> | undefined, badgeTone: tone,\n ...(pn.icon ? { badgeIcon: pn.icon } : {}),\n }) as SerializedNode;\n if (pn.scheme) {\n if (!COLOR_SCHEMES.some(c => c.id === pn.scheme)) throw new ComposeError(`${id}: no colour scheme \"${pn.scheme}\"`);\n setColorScheme(card, pn.scheme);\n }\n if (pn.ph === PatternPlaceholder.Copy) copyPlaceholders(card, ctx);\n if (pn.c?.length) {\n const content = findByRole(card as CompositeNode, CardRole.Content) as SerializedNode;\n content.children = [...(content.children ?? []), ...composeChildren(pn, id, repeater, ctx)];\n }\n\n for (const [key, path] of Object.entries(pn.binds ?? {})) {\n const target = CARD_BINDS[key as CardBindTarget];\n if (!target) throw new ComposeError(`${id}: a card cannot bind \"${key}\"`);\n const part = findByRole(card as CompositeNode, target.role) as SerializedNode | undefined;\n if (!part) throw new ComposeError(`${id}: \"${key}\" binds a part the card leaves out`);\n const node = target.role === CardRole.Media ? part.children?.find(c => c.type === IMAGE) : part;\n if (!node) throw new ComposeError(`${id}: the card's media holds no image`);\n addBinding(node, { prop: target.prop, ...resolveScoped(path, repeater, ctx, id) });\n if (node.type === IMAGE) addBinding(node, { prop: 'alt', ...altBinding({ ...pn, t: IMAGE, bind: path, alt: undefined }, repeater, ctx, id) });\n }\n\n const fate = danglingFate({ ...pn, t: 'Heading' }, ctx);\n const title = findByRole(card as CompositeNode, CardRole.Title) as SerializedNode;\n if (pn.href && !fate) writePageLink(title, pn.href);\n else if (fate) {\n if (fate === DanglingFate.Email) writeExternalLink(title, `${MAILTO}${ctx.email}`);\n reportDangling(fate === DanglingFate.Remove ? DanglingFate.Unlink : fate, pn, id, undefined, ctx);\n }\n if (pn.param && !fate) {\n const names = pn.href ? routeParams(pn.href) : [];\n if (names.length !== 1) throw new ComposeError(`${id}: \"param\" needs an href with one :param`);\n addBinding(title, { prop: `routeParam:${names[0]}`, ...resolveScoped(pn.param, repeater, ctx, id) });\n }\n return card;\n}\n\nconst REPEATER = 'Repeater';\nconst ICON = 'Icon';\nconst SHOWN_DISPLAY = 'flex';\nconst HIDDEN_DISPLAY = 'none';\n/** The words a card recipe's `words` may set (composite-core `CardWords`). */\nconst CARD_WORD_KEYS: ReadonlyArray<string> = ['eyebrow', 'title', 'text', 'primary', 'secondary', 'badge'];\n/** A card's words the studio rewrites (`ph: 'copy'`): its eyebrow, title, text and badge. */\nconst CARD_COPY_ROLES: ReadonlyArray<string> = [CardRole.Eyebrow, CardRole.Title, CardRole.Text];\n\n/** A card's own words, as COPY placeholders (its badge's words too). */\nfunction copyPlaceholders(card: SerializedNode, ctx: Ctx): void {\n for (const role of CARD_COPY_ROLES) {\n const part = findByRole(card as unknown as CompositeNode, role) as SerializedNode | undefined;\n if (part) ctx.placeholders.push({ nodeId: part.id, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(part.props?.['content'] ?? '') });\n }\n const badge = findByRole(card as unknown as CompositeNode, CardRole.Badge) as SerializedNode | undefined;\n const words = badge?.children?.find(c => c.type === TEXT);\n if (words) ctx.placeholders.push({ nodeId: words.id, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(words.props?.['content'] ?? '') });\n}\n\n/** CC4b: the Segmented control — composite-core's recipe (Monthly · Yearly), named by the pattern, laid out by it. */\nfunction composeSegmented(pn: PatternNode, id: string): SerializedNode {\n const root = buildSegmentedRecipe(recipeFactory(id, 'segmented'), pn.name !== undefined ? { label: pn.name } : {}) as SerializedNode;\n applyLayout(root, pn);\n return root;\n}\n\n/**\n * An Accordion (CC2) — the composite-core recipe stamped with this composer's factory. Manual (no section\n * binding): three items whose questions and answers are placeholders the studio rewrites (`ph: 'copy'`), never\n * invented answers. From content (the section names a list `binding` — R3's AI path): the root is a Repeater\n * over that list holding ONE template item, its question and answer bound to the content type's first\n * short-text and first long-text fields (`pickAccordionAutoBinds`, the builder switch's rule), limit 20.\n */\nfunction composeAccordion(pn: PatternNode, id: string, ctx: Ctx): SerializedNode {\n const binding = pn.src === PatternDirective.OptionalBinding || pn.src === PatternDirective.Binding ? ctx.section?.binding ?? null : null;\n if (pn.src === PatternDirective.Binding && !binding) throw new ComposeError(`${id}: \"$binding\" with no section binding`);\n const factory = (spec: CompositeNodeSpec): CompositeNode => {\n const isRoot = spec.key === AccordionRole.Accordion;\n const type = isRoot && binding ? REPEATER : spec.type;\n return create(isRoot ? id : `${id}-${spec.key}`, type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n };\n const root = buildAccordionRecipe(factory, binding ? { items: ACCORDION_WORDS.slice(0, 1) } : {}) as SerializedNode;\n if (!binding) {\n if (pn.ph === PatternPlaceholder.Copy) {\n for (const item of accordionItems(root as CompositeNode)) {\n for (const part of [accordionQuestionOf(item), accordionAnswerOf(item)]) {\n if (part) ctx.placeholders.push({ nodeId: part.id!, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(part.props?.[ACCORDION_BIND_PROP] ?? '') });\n }\n }\n }\n return root;\n }\n const source = ctx.plan.dataSources.find(d => d.alias === binding);\n const type = source && 'contentType' in source ? ctx.plan.contentTypes.find(t => t.name === source.contentType) : undefined;\n const picks = pickAccordionAutoBinds((type?.fields ?? []).map(f => ({ name: f.name, type: f.type, controller: f.controller })));\n if (!picks.question || !picks.answer) {\n throw new ComposeError(`${id}: \"${binding}\" has no short-text field for the question and long-text field for the answer`);\n }\n addBinding(root, { prop: 'source', source: binding, path: '' });\n setProp(root, 'limit', ACCORDION_CONTENT_LIMIT);\n const [template] = accordionItems(root as CompositeNode);\n delete template.itemKey;\n addBinding(accordionQuestionOf(template) as SerializedNode, { prop: ACCORDION_BIND_PROP, source: binding, path: picks.question });\n addBinding(accordionAnswerOf(template) as SerializedNode, { prop: ACCORDION_BIND_PROP, source: binding, path: picks.answer });\n return root;\n}\n\n/** The content type a section binding lists, through its data source. */\nfunction boundContentType(binding: string, ctx: Ctx): ContentTypePlan | undefined {\n const source = ctx.plan.dataSources.find(d => d.alias === binding);\n return source && 'contentType' in source ? ctx.plan.contentTypes.find(t => t.name === source.contentType) : undefined;\n}\n\nconst TABS_ROOT_KEY = 'tabs';\nconst TABS_HOLDER_KEYS: ReadonlySet<string> = new Set(['list', 'panels']);\n\n/**\n * Tabs (CC4a) — the composite-core recipe stamped with this composer's factory. Manual (no section binding): three\n * tabs whose words are placeholders the studio rewrites (`ph: 'copy'`) and whose pictures it supplies — never invented.\n * From content (the section names a list `binding`, R3's AI path): the tab list and the panels holder are BOTH\n * Repeaters over that list, each holding its one template (one row → its tab AND its panel, paired by the row's id at\n * render), the tab's words, the panel's words and its picture bound to the type's first short-text, long-text and image\n * fields (`pickTabsAutoBinds`, the builder switch's rule), limit 6. The tab list is named by the pattern's `name`.\n */\nfunction composeTabs(pn: PatternNode, id: string, ctx: Ctx): SerializedNode {\n const binding = pn.src === PatternDirective.OptionalBinding || pn.src === PatternDirective.Binding ? ctx.section?.binding ?? null : null;\n if (pn.src === PatternDirective.Binding && !binding) throw new ComposeError(`${id}: \"$binding\" with no section binding`);\n const factory = (spec: CompositeNodeSpec): CompositeNode => {\n const type = binding && TABS_HOLDER_KEYS.has(spec.key) ? REPEATER : spec.type;\n return create(spec.key === TABS_ROOT_KEY ? id : `${id}-${spec.key}`, type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n };\n const root = buildTabsRecipe(factory, { tabs: binding ? TABS_WORDS.slice(0, 1) : undefined, label: pn.name }) as SerializedNode;\n const tree = root as CompositeNode;\n if (!binding) {\n if (pn.ph === PatternPlaceholder.Copy) {\n for (const tab of tabsTriggers(tree)) {\n const words = tabLabelNodeOf(tab);\n if (words) ctx.placeholders.push({ nodeId: words.id!, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(words.props?.[TABS_LABEL_BIND_PROP] ?? '') });\n }\n for (const panel of tabsPanels(tree)) {\n const text = tabPanelTextOf(panel);\n if (text) ctx.placeholders.push({ nodeId: text.id!, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(text.props?.[TABS_TEXT_BIND_PROP] ?? '') });\n const image = tabPanelImageOf(panel);\n if (image) ctx.placeholders.push({ nodeId: image.id!, owner: ctx.owner, kind: PlaceholderKind.Image, text: '' });\n }\n }\n return root;\n }\n const type = boundContentType(binding, ctx);\n const picks = pickTabsAutoBinds((type?.fields ?? []).map(f => ({ name: f.name, type: f.type, controller: f.controller })));\n if (!picks.label || !picks.text) {\n throw new ComposeError(`${id}: \"${binding}\" has no short-text field for the tab and long-text field for its panel`);\n }\n for (const holder of [tabsListOf(tree), tabsPanelsOf(tree)] as SerializedNode[]) {\n addBinding(holder, { prop: 'source', source: binding, path: '' });\n setProp(holder, 'limit', TABS_CONTENT_LIMIT);\n }\n const [tab] = tabsTriggers(tree);\n const [panel] = tabsPanels(tree);\n delete tab.itemKey;\n delete panel.itemKey;\n addBinding(tabLabelNodeOf(tab) as SerializedNode, { prop: TABS_LABEL_BIND_PROP, source: binding, path: picks.label });\n addBinding(tabPanelTextOf(panel) as SerializedNode, { prop: TABS_TEXT_BIND_PROP, source: binding, path: picks.text });\n const image = tabPanelImageOf(panel) as SerializedNode | undefined;\n if (image && picks.image) {\n addBinding(image, { prop: TABS_IMAGE_BIND_PROP, source: binding, path: picks.image });\n addBinding(image, { prop: 'alt', source: binding, path: picks.label });\n }\n return root;\n}\n\n/** A recipe's node factory for this composer: ids derive from the recipe's keys (`<id>-<key>`, the root `<id>`). */\nfunction recipeFactory(id: string, rootKey: string): (spec: CompositeNodeSpec) => CompositeNode {\n return spec => create(spec.key === rootKey ? id : `${id}-${spec.key}`, spec.type, { ...(spec.props ?? {}) }, spec.elementStyle ?? null) as CompositeNode;\n}\n\n/**\n * CC3: the testimonial carousel — composite-core's recipe (the Slider with its control parts), stamped with this\n * composer's factory. Every quote and every \"client · project\" line is a placeholder the studio rewrites (`ph: copy`):\n * testimonials are facts, never invented.\n */\nfunction composeCarousel(pn: PatternNode, id: string, ctx: Ctx): SerializedNode {\n const slider = buildCarouselRecipe(recipeFactory(id, 'carousel')) as SerializedNode;\n if (pn.ph === PatternPlaceholder.Copy) {\n for (const slide of (slider.children ?? []).filter(c => c.type === SLIDE_TYPE)) {\n for (const text of slide.children ?? []) ctx.placeholders.push({ nodeId: text.id, owner: ctx.owner, kind: PlaceholderKind.Copy, text: String(text.props?.['content'] ?? '') });\n }\n }\n return slider;\n}\n\n/**\n * CC3: the Lightbox — a Dialog holding a Slider bound to the node's `src` (the gallery's own source): one template\n * slide whose image reads the row (a bare URL row: decorative alt), its arrows hidden on a phone.\n */\nfunction composeLightbox(pn: PatternNode, id: string, repeater: RepeaterScope | null, ctx: Ctx): SerializedNode {\n if (!pn.src) throw new ComposeError(`${id}: a lightbox needs the gallery's source (src)`);\n const scoped = resolveScoped(pn.src, repeater, ctx, id);\n const sourcePath = scoped.path === ITEM_VALUE_PATH ? '' : scoped.path;\n return buildLightboxRecipe(recipeFactory(id, 'lightbox'), { source: scoped.source, sourcePath, imageField: 'item' }) as SerializedNode;\n}\n\n/** CC3: every `opens: lightbox` node of a stamped pattern opens the pattern's lightbox at its own row. */\nfunction wireOpeners(root: SerializedNode, openers: ReadonlyArray<string>): void {\n if (!openers.length) return;\n let lightbox: SerializedNode | null = null;\n const find = (n: SerializedNode) => { if (!lightbox && n.type === DIALOG && n.label === LIGHTBOX_LABEL) lightbox = n; (n.children ?? []).forEach(find); };\n find(root);\n if (!lightbox) throw new ComposeError(`${root.id}: \"opens: lightbox\" with no lightbox in the pattern`);\n const target = (lightbox as SerializedNode).id;\n const visit = (n: SerializedNode) => {\n if (openers.includes(n.id)) {\n n.interactions = [{ id: `${n.id}-opens`, trigger: 'click', actions: [{ type: 'openDialog', target, params: { slideTo: SLIDE_TO_ROW }, duration: 0, delay: 0, easing: 'ease' }] }];\n }\n (n.children ?? []).forEach(visit);\n };\n visit(root);\n}\n\nfunction composePattern(pattern: SitePattern, id: string, ctx: Ctx): SerializedNode {\n if (pattern.node.each) throw new ComposeError(`${id}: a pattern's root cannot be stamped per page`);\n const own: Ctx = { ...ctx, openers: [], shownWhen: [] };\n const node = composeNode(pattern.node, id, null, own);\n if (!node) throw new ComposeError(`${id}: a pattern's root cannot be optional or a link`);\n wireOpeners(node, own.openers ?? []);\n wireShownWhen(node, own.shownWhen ?? []);\n node.label = pattern.label;\n return node;\n}\n\nfunction composeDataSource(ds: DataSourcePlan): ComposedDataSource {\n const id = `ds-${ds.alias}`;\n if (ds.type === PlanDataSourceType.Cms) {\n const cms: Record<string, unknown> = { contentType: ds.contentType };\n if (ds.limit !== undefined) cms['limit'] = ds.limit;\n if (ds.filterByRouteParam) cms['filterByRouteParam'] = { ...ds.filterByRouteParam };\n return { id, alias: ds.alias, type: PlanDataSourceType.Cms, mode: ds.mode, request: { cms } };\n }\n const pick = ds.op === RelativeOp.SiblingsNext ? 'next' : 'prev';\n return {\n id, alias: ds.alias, type: PlanDataSourceType.Relative, mode: PlanDataSourceMode.Single,\n request: { relative: { kind: 'siblings', from: ds.within, subjectFrom: ds.of, pick } },\n };\n}\n\nfunction expandSeedValue(value: unknown, n: number): unknown {\n if (Array.isArray(value)) return value.map(v => expandSeedValue(v, n));\n if (typeof value !== 'string') return value;\n return value\n .replace(ITEM_NUMBER, String(n))\n .replace(SAMPLE_IMAGE_TEMPLATE, (_m, plus?: string) => sampleImageRef(n + (plus ? Number(plus) : 0)));\n}\n\nfunction composeItems(type: ContentTypePlan): ComposedItem[] {\n const seed = type.seed;\n if (!seed) return [];\n const items: ComposedItem[] = [];\n for (let n = 1; n <= seed.count; n++) {\n const item: Record<string, unknown> = {};\n for (const field of type.fields) if (field.name in seed) item[field.name] = expandSeedValue(seed[field.name], n);\n items.push({ ...item, isPublished: seed.isPublished, isSample: seed.sample });\n }\n return items;\n}\n\n/**\n * Compose a Site Plan. Throws `SitePlanError` (every issue) when the plan does not validate — the\n * composer never repairs a plan. `context` carries what the composer may not read for itself (the year).\n */\nexport function composeSite(plan: SitePlan, context: ComposeContext): ComposedSite {\n assertValidSitePlan(plan);\n if (!Number.isInteger(context?.year)) throw new ComposeError('composeSite needs the year (ComposeContext.year) — the composer reads no clock');\n const placeholders: ComposedPlaceholder[] = [];\n const issues: ComposeIssue[] = [];\n const routes = new Set(plan.pages.map(p => p.route));\n const relatives = new Map(plan.dataSources.map(d => [d.alias, d.type === PlanDataSourceType.Relative ? { type: d.type, of: d.of, op: d.op } : { type: d.type }]));\n const email = nonEmpty(plan.business.facts?.email) ? plan.business.facts!.email!.trim() : null;\n const base = { plan, placeholders, issues, routes, year: context.year, email, navPage: null };\n\n const pages: ComposedPage[] = plan.pages.map(page => {\n const nextAlias = page.routeSource ? nextSourceOf(relatives, page.routeSource) : null;\n const layout = page.sections.map((section, i) => {\n const pattern = patternById(section.pattern) as SitePattern;\n return composePattern(pattern, `${page.key}-${i}`, { ...base, owner: page.key, page, section, nextAlias });\n });\n return {\n key: page.key,\n name: page.name,\n route: { path: page.route },\n isHome: page.isHome === true,\n status: STATUS_DRAFT,\n pageSettings: { designSystem: true },\n layout,\n };\n });\n\n let globals = Object.values(GlobalSlot).map(slot => {\n const pattern = patternById(plan.globals[slot]) as SitePattern;\n const node = composePattern(pattern, slot, { ...base, owner: slot, page: null, section: null, nextAlias: null });\n node.isGlobal = true;\n node.globalPosition = pattern.global;\n return node;\n });\n // CC1: a header pattern that names its phone shape gets it — the same edit the author's \"Phone menu\"\n // section makes, so the composed header and a hand-switched one are one structure.\n for (const slot of Object.values(GlobalSlot)) {\n const shape = patternById(plan.globals[slot])?.phoneMenu;\n if (shape) globals = planNavShape(globals, shape as NavShape, {}, slot).globals;\n }\n\n return {\n source: clone(plan.source),\n business: clone(plan.business),\n design: resolveDesignChoices(clone(plan.design)),\n schemas: clone(plan.contentTypes) as ContentTypePlan[],\n items: Object.fromEntries(plan.contentTypes.map(t => [t.name, composeItems(t)])),\n dataSources: plan.dataSources.map(composeDataSource),\n pages,\n globals,\n routes: plan.pages.map(p => ({ key: p.key, path: p.route, isHome: p.isHome === true })),\n placeholders,\n issues,\n };\n}\n\n// ── The site header on its own (CC1.1) ──────────────────────────────────────────────────────────\n\n/** The header pattern the Studio template stamps — and the builder palette's \"Navigation bar\". */\nexport const SITE_HEADER_PATTERN = 'nav.inline-cta';\n\n/** A page of the studio as the builder lists it. */\nexport interface SitePageRef {\n readonly name: string;\n readonly route: string;\n readonly isHome?: boolean;\n}\n\n/** What the header is composed from when there is no Site Plan: the studio's name and its pages. */\nexport interface NavHeaderInput {\n readonly business: SiteBusiness;\n /** Every page of the studio, in the order the navigation should list them. */\n readonly pages: ReadonlyArray<SitePageRef>;\n}\n\nexport interface NavHeaderOptions {\n /** The header's id; its parts' ids derive from it (`<id>-0-1-…`), so a fresh id gives fresh parts. */\n readonly id: string;\n /** A phone-shape part's id (the builder passes its id generator). */\n readonly newId?: (suffix: string) => string;\n}\n\nexport interface ComposedNavHeader {\n /** The header — a global BEFORE element — carrying the pattern's phone shape (the drawer). */\n header: SerializedNode;\n issues: ComposeIssue[];\n}\n\nconst ROUTE_PARAM = ':';\nconst HOME_PATH = '/';\nconst KEY_UNSAFE = /[^a-z0-9]+/gi;\n\n/** The pages a navigation links to: every page but Home (the brand links there) and template pages\n * (a `/work/:slug` route has no single address), in the studio's order. */\nexport function siteNavPages(pages: ReadonlyArray<SitePageRef>): SitePageRef[] {\n return pages.filter(p => !!p.route && !p.isHome && p.route !== HOME_PATH && !p.route.includes(ROUTE_PARAM));\n}\n\nfunction navPagePlans(pages: ReadonlyArray<SitePageRef>): PagePlan[] {\n const used = new Set<string>();\n return pages.map((p, i) => {\n let key = p.route.replace(KEY_UNSAFE, '-').replace(/^-+|-+$/g, '').toLowerCase() || `page-${i}`;\n for (let n = 2; used.has(key); n++) key = `${key}-${n}`;\n used.add(key);\n return { key, name: p.name, route: p.route, inNav: true, isHome: p.isHome === true, sections: [] };\n });\n}\n\n/**\n * The Studio template's header, composed for a studio that has no Site Plan — the builder palette's\n * \"Navigation bar\". THE SAME pattern and the same composer as `composeSite`: the brand (the business name),\n * one plain Link per navigation page, the call to action (W1.1's one dangling-link rule when the studio has\n * no /contact page: an email to the business, else removed), and the pattern's phone shape. Pure.\n */\nexport function composeNavHeader(input: NavHeaderInput, options: NavHeaderOptions): ComposedNavHeader {\n if (!nonEmpty(options?.id)) throw new ComposeError('composeNavHeader needs the header id');\n const pattern = patternById(SITE_HEADER_PATTERN) as SitePattern;\n const all = navPagePlans(input.pages);\n const navRoutes = new Set(siteNavPages(input.pages).map(p => p.route));\n const pages = all.map(p => ({ ...p, inNav: navRoutes.has(p.route) }));\n const plan = { business: input.business, pages, dataSources: [], contentTypes: [] } as unknown as SitePlan;\n const email = nonEmpty(input.business.facts?.email) ? input.business.facts!.email!.trim() : null;\n const issues: ComposeIssue[] = [];\n const ctx: Ctx = {\n owner: GlobalSlot.Header, page: null, section: null, plan, year: 0, email, navPage: null, nextAlias: null,\n placeholders: [], issues, routes: new Set(pages.map(p => p.route)),\n };\n const root = composePattern(pattern, options.id, ctx);\n root.isGlobal = true;\n root.globalPosition = pattern.global;\n const shape = pattern.phoneMenu as NavShape | undefined;\n const header = shape ? planNavShape([root], shape, { newId: options.newId }, root.id).globals[0] : root;\n return { header, issues };\n}\n\n// ── One pattern on its own (CC4b) ───────────────────────────────────────────────────────────────\n\n/** The pricing section (CC4b, board 10): plans with a Monthly / Yearly switch — the library and the palette, never a\n * Studio page (Q35). */\nexport const PRICING_PATTERN = 'pricing.tiers';\n\n/** What a section is composed from when there is no Site Plan: the studio's name, its pages (the routes a link may\n * reach) and its facts. */\nexport interface SectionInput {\n readonly business?: SiteBusiness;\n readonly pages?: ReadonlyArray<SitePageRef>;\n}\n\nexport interface SectionOptions {\n /** The section's id; its parts' ids derive from it (`<id>-0-1-…`), so a fresh id gives fresh parts. */\n readonly id: string;\n}\n\nexport interface ComposedSection {\n section: SerializedNode;\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n}\n\n/**\n * ONE library pattern composed on its own — the builder palette's ready-made sections (CC4b: \"Pricing\", the\n * `pricing.tiers` pattern). THE SAME pattern and composer as `composeSite`: its words, its placeholders (a price shows\n * its label, never a number) and the one dangling-link rule — except a button to a page the studio lacks keeps its\n * words, unlinked, for the author to link. Pure.\n */\nexport function composeSection(patternId: string, input: SectionInput, options: SectionOptions): ComposedSection {\n if (!nonEmpty(options?.id)) throw new ComposeError('composeSection needs the section id');\n const pattern = patternById(patternId);\n if (!pattern) throw new ComposeError(`no pattern \"${patternId}\" in the library`);\n if (pattern.global) throw new ComposeError(`\"${patternId}\" is a header or footer — composeNavHeader / composeSite stamp those`);\n const business: SiteBusiness = input.business ?? { name: '' } as SiteBusiness;\n const pages = navPagePlans(input.pages ?? []);\n const plan = { business, pages, dataSources: [], contentTypes: [] } as unknown as SitePlan;\n const email = nonEmpty(business.facts?.email) ? business.facts!.email!.trim() : null;\n const placeholders: ComposedPlaceholder[] = [];\n const issues: ComposeIssue[] = [];\n const ctx: Ctx = {\n owner: options.id, page: null, section: null, plan, year: 0, email, navPage: null, nextAlias: null,\n placeholders, issues, routes: new Set(pages.map(p => p.route)), keepButtons: true,\n };\n const section = composePattern(pattern, options.id, ctx);\n return { section, placeholders, issues };\n}\n","import { AnimateId, SPEC_AXES } from '@vectoriox/iox-ui/design-core';\n\n/**\n * How animated (AI plan rev 3.1 §3p) — the ONE reading of the contract's `axes.animations` (what each level\n * moves, how) and `axes.animationFamilies` (which parts a section family lets move). The pieces every stamper\n * shares: the Design step's business specimen (H4-4) today, `planEntrances` in the composer (M1-6b) next. Pure.\n *\n * A level with `content` moves a section's content together, once; otherwise it names parts (heading, items,\n * media…) and each part enters on its own, items one after another. Navigation, footers and globals are a family\n * with no parts, so nothing there ever moves.\n */\n\nexport enum EntrancePart {\n Content = 'content',\n Heading = 'heading',\n Items = 'items',\n Media = 'media',\n RowMedia = 'rowMedia',\n HeroText = 'heroText',\n}\n\n/** What an entrance stamp is marked with — a later restamp touches only what the look made (H4-5). */\nexport const ENTRANCE_ORIGIN_LOOK = 'look';\n/** The trigger every entrance plays on. */\nexport const ENTRANCE_TRIGGER = 'viewportEnter';\n/** The easing every entrance plays with (only `opacity` and `transform` move). */\nexport const ENTRANCE_EASING = 'ease-out';\n\n/** One entrance as the contract states it. */\nexport interface EntranceSpec {\n readonly type: string;\n readonly duration: number;\n readonly distance?: number;\n /** Items: ms added per item, up to `cap` items. */\n readonly stagger?: number;\n readonly cap?: number;\n /** The type a right-to-left page plays instead (a side-by-side row slides in from ITS side). */\n readonly mirror?: string;\n}\n\n/** What one section family moves at one level. `content` set = the whole content together, and no parts. */\nexport interface SectionEntrances {\n readonly content: EntranceSpec | null;\n readonly parts: Readonly<Partial<Record<EntrancePart, EntranceSpec>>>;\n}\n\n/** The interaction action a stamp carries — the shape both interaction runtimes play. */\nexport interface EntranceAction {\n type: string;\n target: 'self';\n duration: number;\n delay: number;\n easing: typeof ENTRANCE_EASING;\n once: true;\n params?: { distance: number };\n}\n\nexport interface EntranceInteraction {\n id: string;\n trigger: typeof ENTRANCE_TRIGGER;\n actions: [EntranceAction];\n origin: typeof ENTRANCE_ORIGIN_LOOK;\n}\n\ntype Level = Readonly<{ parts: Readonly<Partial<Record<EntrancePart, EntranceSpec>>> }>;\nconst LEVELS = SPEC_AXES.animations as unknown as Readonly<Record<string, Level>>;\nconst FAMILIES = SPEC_AXES.animationFamilies as unknown as Readonly<Record<string, ReadonlyArray<EntrancePart>>>;\n\nconst NOTHING: SectionEntrances = { content: null, parts: {} };\n\n/** What a section of `family` moves at `level` — nothing for an unknown level or family. */\nexport function sectionEntrances(level: AnimateId | string | null | undefined, family: string): SectionEntrances {\n const lv = level ? LEVELS[level] : undefined;\n const allow = FAMILIES[family] ?? [];\n if (!lv || !allow.length) return NOTHING;\n if (lv.parts.content && allow.includes(EntrancePart.Content)) return { content: lv.parts.content, parts: {} };\n const parts: Partial<Record<EntrancePart, EntranceSpec>> = {};\n for (const part of allow) {\n if (part === EntrancePart.Content) continue;\n // A level without its own side-by-side entrance gives a row's picture the plain picture one.\n const spec = lv.parts[part] ?? (part === EntrancePart.RowMedia ? lv.parts.media : undefined);\n if (spec) parts[part] = spec;\n }\n return { content: null, parts };\n}\n\n/** The literal delay of the `index`-th item: `stagger` ms each, the last `cap` waiting no longer than the one before. */\nexport function staggerDelay(spec: EntranceSpec, index = 0): number {\n if (!spec.stagger) return 0;\n const cap = Math.max(1, spec.cap ?? 1);\n return Math.min(Math.max(0, index), cap - 1) * spec.stagger;\n}\n\n/** The action a node plays: the spec's type (mirrored on a right-to-left page), its distance and its delay. */\nexport function entranceAction(spec: EntranceSpec, opts: { index?: number; rtl?: boolean } = {}): EntranceAction {\n return {\n type: opts.rtl && spec.mirror ? spec.mirror : spec.type,\n target: 'self',\n duration: spec.duration,\n delay: staggerDelay(spec, opts.index),\n easing: ENTRANCE_EASING,\n once: true,\n ...(spec.distance ? { params: { distance: spec.distance } } : {}),\n };\n}\n\n/** The stamp on a node: `viewportEnter`, once, on itself (a duplicated node needs no remap), from the look. */\nexport function entranceInteraction(nodeId: string, action: EntranceAction): EntranceInteraction {\n return { id: `${nodeId}-enter`, trigger: ENTRANCE_TRIGGER, actions: [action], origin: ENTRANCE_ORIGIN_LOOK };\n}\n","import { BindScope, patternById, patternNodes, patternScopes } from './patterns';\nimport { CmsDataSourcePlan, DataSourcePlan, PagePlan, PlanDataSourceMode, PlanDataSourceType, SitePlan } from './site-plan.model';\n\n/**\n * What each page of a plan shows and where its data comes from (AI plan rev 3 §3d, `describePlanData`) — the\n * Plan step's data lines, in the vocabulary the builder already uses. Pure and STRUCTURED: the screen words\n * each kind in its own language (\"Lists every Project\", \"One Project, found by its address /work/:slug\").\n */\n\nexport enum PageDataKind {\n /** A section repeats every item of a content type. */\n List = 'list',\n /** A section repeats the newest `count` items. */\n Latest = 'latest',\n /** A template page: one item, found by its address — one page per item. */\n One = 'one',\n /** The next (or previous) item beside the page's own. */\n Siblings = 'siblings',\n /** A form: what it sends, to the studio's inbox (+ an email when Email is connected). */\n Form = 'form',\n /** Words and pictures, no data. */\n Static = 'static',\n}\n\nexport interface PageDataLine {\n kind: PageDataKind;\n /** The content type's label (\"Projects\"), for every kind that reads one. */\n contentType?: string;\n /** Latest: how many. */\n count?: number;\n /** One: the page's own address, with its parameter. */\n route?: string;\n /** Form: the form preset (`contact`). */\n form?: string;\n}\n\nexport interface PageData {\n pageKey: string;\n lines: PageDataLine[];\n}\n\nconst sameLine = (a: PageDataLine, b: PageDataLine) => JSON.stringify(a) === JSON.stringify(b);\n\nfunction sourceLine(source: DataSourcePlan | undefined, label: (name: string) => string): PageDataLine | null {\n if (!source || source.type !== PlanDataSourceType.Cms) return null;\n const cms = source as CmsDataSourcePlan;\n if (cms.mode !== PlanDataSourceMode.Query) return null;\n return cms.limit\n ? { kind: PageDataKind.Latest, contentType: label(cms.contentType), count: cms.limit }\n : { kind: PageDataKind.List, contentType: label(cms.contentType) };\n}\n\nfunction pageLines(page: PagePlan, plan: SitePlan, label: (name: string) => string): PageDataLine[] {\n const lines: PageDataLine[] = [];\n const add = (line: PageDataLine | null) => { if (line && !lines.some(l => sameLine(l, line))) lines.push(line); };\n if (page.template) add({ kind: PageDataKind.One, contentType: label(page.template), route: page.route });\n for (const section of page.sections) {\n const pattern = patternById(section.pattern);\n if (!pattern) continue;\n if (section.binding) add(sourceLine(plan.dataSources.find(d => d.alias === section.binding), label));\n if (page.template && patternScopes(pattern).has(BindScope.Next)) add({ kind: PageDataKind.Siblings, contentType: label(page.template) });\n for (const node of patternNodes(pattern)) if (node.preset) add({ kind: PageDataKind.Form, form: node.preset });\n }\n return lines.length ? lines : [{ kind: PageDataKind.Static }];\n}\n\n/** One entry per page of the plan, in plan order. */\nexport function describePlanData(plan: SitePlan): PageData[] {\n const label = (name: string) => plan.contentTypes.find(t => t.name === name)?.label ?? name;\n return plan.pages.map(page => ({ pageKey: page.key, lines: pageLines(page, plan, label) }));\n}\n","import { ComposedPlaceholder, ComposeIssue } from './compose-site';\nimport { SitePlan, SitePlanSource } from './site-plan.model';\nimport { SitePlanIssueCode } from './validate-site-plan';\n\n/**\n * A site build's WIRE vocabulary (AI plan §3b, W2): what iox-cms's `site-builds` API answers and what every\n * client of it reads — the run's statuses and steps, what it created, why Undo kept something, the preflight's\n * refusals, and the one spelling of each document's `buildKey`. ONE definition: iox-cms stores and answers it,\n * the website wizard (W3) polls it. Pure types, enums and helpers; no transport.\n */\n\nexport enum SiteBuildKind {\n Build = 'build',\n}\n\nexport enum SiteBuildStatus {\n Running = 'running',\n Done = 'done',\n Failed = 'failed',\n Undoing = 'undoing',\n Undone = 'undone',\n}\n\n/** The statuses a runner advances — and the ones that hold the org's single-run slot. */\nexport const ACTIVE_BUILD_STATUSES: ReadonlyArray<SiteBuildStatus> = [SiteBuildStatus.Running, SiteBuildStatus.Undoing];\n\n/** The steps of a build, in the order they run. */\nexport enum BuildStep {\n Preflight = 'preflight',\n ContentTypes = 'content-types',\n SampleImages = 'sample-images',\n /** I2: the curated stock photos the plan's empty picture slots take, copied into the studio (never hot-linked). */\n StockPhotos = 'stock-photos',\n Items = 'items',\n DataSources = 'data-sources',\n Pages = 'pages',\n Globals = 'globals',\n Look = 'look',\n}\n\nexport const BUILD_STEPS: ReadonlyArray<BuildStep> = Object.values(BuildStep);\n\nexport enum StepState {\n Wait = 'wait',\n Run = 'run',\n Done = 'done',\n Failed = 'failed',\n}\n\n/** What a build creates, as Undo walks it. */\nexport enum CreatedKind {\n ContentType = 'content-type',\n /** Fields the build added to a content type it found (types are shared by every organization of a studio). */\n ContentTypeFields = 'content-type-fields',\n SampleImage = 'sample-image',\n /** A stock photo copied into the studio's storage (`media/stock/…`), with its assets row. */\n StockPhoto = 'stock-photo',\n Item = 'item',\n DataSource = 'data-source',\n Page = 'page',\n Global = 'global',\n Look = 'look',\n}\n\n/** Why Undo left something in place. */\nexport enum KeptReason {\n Edited = 'edited',\n Published = 'published',\n InUse = 'in-use',\n /** Added to a content type every organization shares: removing a field is the studio owner's change. */\n Shared = 'shared',\n}\n\nexport interface BuildStepError {\n code: string;\n detail: string;\n}\n\nexport interface BuildStepRecord {\n key: BuildStep;\n state: StepState;\n attempts: number;\n startedAt?: Date | string;\n finishedAt?: Date | string;\n error?: BuildStepError;\n}\n\nexport interface CreatedRecord {\n kind: CreatedKind;\n /** The document id — a page / item / content-type `_id`, a data-source alias, a global node id, a storage key. */\n id: string;\n buildKey: string;\n /** sha256 of the document as the build left it. */\n fingerprint: string;\n /** An item's content type. */\n contentType?: string;\n /** A sample image's public URL — what items and pages reference. */\n url?: string;\n /** `content-type-fields`: the fields the build added. */\n fields?: string[];\n}\n\nexport interface UndoKept {\n kind: CreatedKind;\n id: string;\n reason: KeptReason;\n /** In plain words, for the screen (\"About\", \"Sample project 2\"). */\n label?: string;\n}\n\nexport interface UndoRecord {\n at: Date | string;\n removed: number;\n kept: UndoKept[];\n /** The undo steps already done (kinds), so a resumed undo does not redo them. */\n done: CreatedKind[];\n finishedAt?: Date | string;\n /** What stopped the undo — DELETE again carries on from the kind it stopped at. */\n error?: BuildStepError;\n}\n\nexport enum BuildNoticeCode {\n /** Storage is not configured: sample items get the empty image box, and the run says so. */\n NoStorage = 'no-storage',\n /** A content type the build reuses is not public in this studio: the site will not show its items. */\n ContentTypeNotPublic = 'content-type-not-public',\n /** The stock library could not be read: the picture slots keep the empty box, and the run says so. */\n StockUnavailable = 'stock-unavailable',\n}\n\nexport interface BuildNotice {\n code: string;\n detail: string;\n}\n\n/** The run as `GET …/site-builds/:id` (and `?latest=1`) answers it. */\nexport interface SiteBuildRun {\n _id: string;\n organization: string;\n kind: SiteBuildKind;\n source: SitePlanSource;\n plan: SitePlan;\n year: number;\n status: SiteBuildStatus;\n active?: boolean;\n steps: BuildStepRecord[];\n created: CreatedRecord[];\n placeholders: ComposedPlaceholder[];\n issues: ComposeIssue[];\n notices?: BuildNotice[];\n requestedBy: string;\n startedAt: Date | string;\n finishedAt?: Date | string;\n undo?: UndoRecord;\n}\n\n/** `GET …/site-builds/:id/undo`: what an Undo would remove and keep — never guessed in the browser. */\nexport interface UndoPreview {\n removes: Partial<Record<CreatedKind, number>>;\n kept: UndoKept[];\n restoresGlobals: string[];\n revertsLook: boolean;\n}\n\nexport enum PreflightRefusalCode {\n /** The Site Plan itself is invalid (`validateSitePlan`); `issue` is the validator's code. */\n InvalidPlan = 'invalid-plan',\n /** A route the plan wants is already a page of this organization. */\n RouteTaken = 'route-taken',\n /** The studio's content type of that name stores a field the plan needs differently (type or control) —\n * types are shared by every organization, so the build reuses one it finds and adds what it lacks. */\n ContentTypeConflict = 'content-type-conflict',\n /** The name may not be a content type (a platform collection, or not a valid name). */\n ContentTypeName = 'content-type-name',\n /** The plan creates a content type or adds fields to one, and the caller may not (an org owner/admin — schema_all). */\n ContentTypesNeedPermission = 'content-types-need-permission',\n /** The org library holds the alias with a different definition. */\n DataSourceConflict = 'data-source-conflict',\n /** The studio has pages AND a header/footer: replace or keep them is the caller's choice (D7). */\n GlobalsNeedDecision = 'globals-need-decision',\n /** A global the plan adds has the id of one the studio keeps. */\n GlobalTaken = 'global-taken',\n}\n\nexport interface PreflightRefusal {\n code: PreflightRefusalCode;\n /** Where, as a dotted path into the plan. */\n path: string;\n detail: string;\n /** For `invalid-plan`: the validator's issue code. */\n issue?: SitePlanIssueCode;\n}\n\n/**\n * The stable key each written document carries beside `siteBuildId`: a step that runs twice looks it up first and\n * skips what exists (so a restart or a Retry continues without duplicates), and a reader finds what the run made\n * by it — the wizard opens the HOME page by `page(<its key>)`. One builder per kind.\n */\nexport const buildKeys = {\n contentType: (name: string) => `schema:${name}`,\n contentTypeFields: (name: string) => `schema-fields:${name}`,\n item: (contentType: string, n: number) => `item:${contentType}:${n}`,\n sampleImage: (n: number) => `sample-image:${n}`,\n stockPhoto: (libraryKey: string) => `stock-photo:${libraryKey}`,\n dataSource: (alias: string) => `data-source:${alias}`,\n page: (key: string) => `page:${key}`,\n global: (nodeId: string) => `global:${nodeId}`,\n look: () => 'look',\n} as const;\n\n/** The id of the page a run made for the plan's home page, or null (not made yet, or no home page). */\nexport function builtHomePageId(run: Pick<SiteBuildRun, 'plan' | 'created'> | null | undefined): string | null {\n const home = run?.plan?.pages?.find(p => p.isHome) ?? run?.plan?.pages?.[0];\n if (!home) return null;\n const key = buildKeys.page(home.key);\n return run!.created?.find(c => c.kind === CreatedKind.Page && c.buildKey === key)?.id ?? null;\n}\n\n/** The step a run stopped at, or null. */\nexport function failedBuildStep(run: Pick<SiteBuildRun, 'steps'> | null | undefined): BuildStepRecord | null {\n return run?.steps?.find(s => s.state === StepState.Failed) ?? null;\n}\n\n/** A run still holding the org's slot (building or undoing) — a page that left it comes back to its progress. */\nexport function isActiveBuild(run: Pick<SiteBuildRun, 'status'> | null | undefined): boolean {\n return !!run && ACTIVE_BUILD_STATUSES.includes(run.status);\n}\n\n/** What a build does with each content type its plan names (the preflight's `summary.contentTypes[].action`): content\n * types are shared by every organization of a studio, so one the studio already has is reused, or extended with the\n * fields it lacks — never created twice. */\nexport enum ContentTypeAction {\n Create = 'create',\n Reuse = 'reuse',\n Extend = 'extend',\n}\n\n/** What each step of a build of `plan` will make — the progress rows' words, from the plan (+ the preflight's actions). */\nexport interface BuildStepFacts {\n /** The plan's content types: their labels (created, reused or extended — see `contentTypeActions`). */\n contentTypes: string[];\n /** Per label, what the build does with it — known only once the preflight said so (absent = not known). */\n contentTypeActions: Partial<Record<ContentTypeAction, string[]>>;\n /** Sample items, all types together. */\n items: number;\n /** Pages (template pages included) and their routes. */\n pages: number;\n routes: string[];\n /** Links in the menu (pages `inNav`). */\n navLinks: number;\n /** The look's flavor. */\n flavorId: string;\n}\n\nexport function buildStepFacts(plan: SitePlan, actions: Readonly<Record<string, `${ContentTypeAction}`>> = {}): BuildStepFacts {\n const contentTypeActions: Partial<Record<ContentTypeAction, string[]>> = {};\n for (const t of plan.contentTypes) {\n const action = actions[t.name] as ContentTypeAction | undefined;\n if (action) (contentTypeActions[action] ??= []).push(t.label);\n }\n return {\n contentTypes: plan.contentTypes.map(t => t.label),\n contentTypeActions,\n items: plan.contentTypes.reduce((n, t) => n + (t.seed?.count ?? 0), 0),\n pages: plan.pages.length,\n routes: plan.pages.map(p => p.route),\n navLinks: plan.pages.filter(p => p.inNav).length,\n flavorId: plan.design.flavorId,\n };\n}\n","/**\n * The AI pipeline's WIRE vocabulary (AI plan §3c, §3n, M0): what iox-cms's `ai` API answers and what every client\n * of it reads — the steps a model works on, who pays (IOX credits or the studio's own key), a model of the vetted\n * list with its price per token class, the one cost → credits rule (1 credit = 1 US cent of what the AI cost, D4),\n * the refusals (board 11) and a generation's stages. ONE definition: iox-cms meters and refuses with it, the\n * Settings ▸ AI screen and the wizard show it. Pure types, enums and helpers; no transport, no prices typed here.\n * The step and capability spellings are the control plane's (`GET /instances/me/entitlements`, AI plan \"M0 control\n * plane — the instance-route contract\") — the platform has ONE spelling of each.\n */\n\nexport enum AiProviderId {\n Anthropic = 'anthropic',\n OpenRouter = 'openrouter',\n}\n\n/** Who pays: the platform's credits, or the studio's own provider key (metered for display, never charged). */\nexport enum AiKeyMode {\n Platform = 'platform',\n Own = 'own',\n}\n\n/** The steps a model works on (board 9's rows), in screen order. */\nexport enum AiStep {\n ReadMessage = 'analysis',\n PlanSite = 'plan',\n ChangePlan = 'planEdit',\n MakePictures = 'image',\n NameStructures = 'scanNaming',\n}\n\nexport const AI_STEPS: ReadonlyArray<AiStep> = Object.values(AiStep);\n\n/** Each step's name on the wire (the control plane's `label`, the console) — the screens translate their own. */\nexport const AI_STEP_LABELS: Readonly<Record<AiStep, string>> = {\n [AiStep.ReadMessage]: 'Read your message',\n [AiStep.PlanSite]: 'Plan the site',\n [AiStep.ChangePlan]: 'Change the plan',\n [AiStep.MakePictures]: 'Make pictures',\n [AiStep.NameStructures]: 'Name repeated structures',\n};\n\n/** What a model must be able to do for a step to run on it. */\nexport enum AiCapability {\n StructuredOutput = 'structuredOutputs',\n ImageInput = 'imageInput',\n ImageOutput = 'imageOutput',\n}\n\nexport const AI_STEP_NEEDS: Readonly<Record<AiStep, ReadonlyArray<AiCapability>>> = {\n [AiStep.ReadMessage]: [AiCapability.StructuredOutput, AiCapability.ImageInput],\n [AiStep.PlanSite]: [AiCapability.StructuredOutput],\n [AiStep.ChangePlan]: [AiCapability.StructuredOutput],\n [AiStep.MakePictures]: [AiCapability.ImageOutput],\n [AiStep.NameStructures]: [AiCapability.StructuredOutput],\n};\n\n/** Tokens a typical use of a step reads and writes (plan §3d \"Where credits go\") — what a shown estimate is made of. */\nexport const AI_STEP_TYPICAL_TOKENS: Readonly<Record<AiStep, AiTokenCounts>> = {\n [AiStep.ReadMessage]: { input: 8_800, output: 1_500, cacheWrite: 0, cacheRead: 0 },\n [AiStep.PlanSite]: { input: 12_000, output: 7_000, cacheWrite: 0, cacheRead: 0 },\n [AiStep.ChangePlan]: { input: 6_000, output: 500, cacheWrite: 0, cacheRead: 0 },\n // a 1 K picture is 1,120 image tokens (Google's figure for Nano Banana 2) — I-D4\n [AiStep.MakePictures]: { input: 0, output: 0, cacheWrite: 0, cacheRead: 0, imageOutput: 1_120 },\n [AiStep.NameStructures]: { input: 80_000, output: 10_000, cacheWrite: 0, cacheRead: 0 },\n};\n\n/** Tokens by the class a provider prices them in. */\nexport interface AiTokenCounts {\n input: number;\n output: number;\n /** Written to the prompt cache (priced above input). */\n cacheWrite: number;\n /** Read from the prompt cache (priced well below input). */\n cacheRead: number;\n /** Image tokens written (a picture step) — priced at `imageOutput`. */\n imageOutput?: number;\n}\n\n/** US dollars per million tokens, per class. A class without a price is priced as input. */\nexport interface AiTokenPrice {\n input: number;\n output: number;\n cacheWrite?: number;\n cacheRead?: number;\n /** Image-output tokens; a model without the price is priced at `output`. */\n imageOutput?: number;\n}\n\n/** A model of the vetted list (served by the control plane with the entitlements, §3n) — its price travels with it. */\nexport interface AiModelEntry {\n id: string;\n provider: `${AiProviderId}`;\n label: string;\n /** The steps it may be chosen for. */\n steps: ReadonlyArray<`${AiStep}`>;\n /** The steps it is the default for (board 9's \"recommended\"). */\n recommendedFor?: ReadonlyArray<`${AiStep}`>;\n /** The steps it runs when the default is not available (the control plane's `fallbackModel`). */\n fallbackFor?: ReadonlyArray<`${AiStep}`>;\n capabilities: ReadonlyArray<`${AiCapability}`>;\n /** Null when the provider reports each call's cost itself and the list carries no price. */\n price: AiTokenPrice | null;\n /** Kept so old ledger rows still name it; never offered, and a studio's choice of it falls back to the default. */\n retired?: boolean;\n}\n\n/** 1 credit = 1 US cent of what the AI actually cost (decision D4). */\nexport const CREDITS_PER_USD = 100;\nconst TOKENS_PER_PRICE_UNIT = 1_000_000;\nconst CREDIT_PRECISION = 1e6;\n\nexport const NO_TOKENS: Readonly<AiTokenCounts> = Object.freeze({ input: 0, output: 0, cacheWrite: 0, cacheRead: 0 });\n\n/** What `tokens` cost at `price`, in US dollars. */\nexport function costUsd(tokens: AiTokenCounts, price: AiTokenPrice): number {\n const perToken = (perMillion: number | undefined, fallback: number) => (perMillion ?? fallback) / TOKENS_PER_PRICE_UNIT;\n return tokens.input * perToken(price.input, 0)\n + tokens.output * perToken(price.output, 0)\n + tokens.cacheWrite * perToken(price.cacheWrite, price.input)\n + tokens.cacheRead * perToken(price.cacheRead, price.input)\n + (tokens.imageOutput ?? 0) * perToken(price.imageOutput, price.output);\n}\n\n/** Dollars → credits, kept to a millionth of a credit (a short read costs a fraction of one). */\nexport function creditsOfUsd(usd: number): number {\n return Math.round(usd * CREDITS_PER_USD * CREDIT_PRECISION) / CREDIT_PRECISION;\n}\n\n/** The credits a typical use of `step` costs on a model of `price` — never typed, always computed (§3d). */\nexport function estimateStepCredits(step: AiStep, price: AiTokenPrice, tokens: AiTokenCounts = AI_STEP_TYPICAL_TOKENS[step]): number {\n return creditsOfUsd(costUsd(tokens, price));\n}\n\n/** Can `model` do `step`? The step's needs against the model's capabilities. */\nexport function modelCanDo(model: Pick<AiModelEntry, 'capabilities'>, step: AiStep): boolean {\n return AI_STEP_NEEDS[step].every(need => model.capabilities.includes(need));\n}\n\n/** Why AI did not run (board 11). The server refuses with these BEFORE any model call. */\nexport enum AiRefusalCode {\n NotInPlan = 'ai.notInPlan',\n OutOfCredits = 'ai.outOfCredits',\n CapReached = 'ai.capReached',\n NotConnected = 'ai.notConnected',\n KeyInvalid = 'ai.keyInvalid',\n PlanUnknown = 'ai.planUnknown',\n}\n\n/** The HTTP status each refusal answers with (board 11). */\nexport const AI_REFUSAL_STATUS: Readonly<Record<AiRefusalCode, number>> = {\n [AiRefusalCode.NotInPlan]: 403,\n [AiRefusalCode.OutOfCredits]: 402,\n [AiRefusalCode.CapReached]: 402,\n [AiRefusalCode.NotConnected]: 409,\n [AiRefusalCode.KeyInvalid]: 409,\n [AiRefusalCode.PlanUnknown]: 503,\n};\n\n/** What a refusal offers next. */\nexport enum AiNextKind {\n /** Ask IOX (a prefilled email to the operator, until a plan can be bought — D2). */\n Contact = 'contact',\n /** Open Settings ▸ AI. */\n Settings = 'settings',\n /** Try again later, or with less. */\n Retry = 'retry',\n}\n\nexport const AI_REFUSAL_NEXT: Readonly<Record<AiRefusalCode, AiNextKind>> = {\n [AiRefusalCode.NotInPlan]: AiNextKind.Contact,\n [AiRefusalCode.OutOfCredits]: AiNextKind.Contact,\n [AiRefusalCode.CapReached]: AiNextKind.Retry,\n [AiRefusalCode.NotConnected]: AiNextKind.Settings,\n [AiRefusalCode.KeyInvalid]: AiNextKind.Settings,\n [AiRefusalCode.PlanUnknown]: AiNextKind.Retry,\n};\n\nexport interface AiRefusal {\n code: AiRefusalCode;\n planName?: string;\n /** Credits left this period (platform credits only). */\n remaining?: number;\n /** What the refused call would have cost, about. */\n estimate?: number;\n next: { kind: AiNextKind; href?: string };\n}\n\n/** The studio's AI credits this period (the connector's meter, E4). `allowance: null` = unlimited. */\nexport interface AiMeter {\n used: number;\n allowance: number | null;\n remaining: number | null;\n periodStart: string;\n periodEnd: string;\n}\n\n/** A generation's stages (§3d). The runner works while `task` is set; otherwise the owner has the next move. */\nexport enum AiGenerationStage {\n Reading = 'reading',\n Analysis = 'analysis',\n Design = 'design',\n Plan = 'plan',\n Build = 'build',\n Done = 'done',\n Failed = 'failed',\n Cancelled = 'cancelled',\n}\n\n/** The stages nothing advances any more. */\nexport const FINAL_GENERATION_STAGES: ReadonlyArray<AiGenerationStage> = [AiGenerationStage.Done, AiGenerationStage.Failed, AiGenerationStage.Cancelled];\n\n/** How one model call ended — a ledger row's status. */\nexport enum AiCallStatus {\n /** Written before the call: a reservation at the estimate until the call settles. */\n Started = 'started',\n Ok = 'ok',\n /** The answer came back and the shared validator refused it (with a path). */\n Invalid = 'invalid',\n /** The model declined (a provider refusal) — charged what the provider reports. */\n Refused = 'refused',\n Error = 'error',\n /** The process died during the call: charged at the estimate, since what it cost was never reported. */\n Interrupted = 'interrupted',\n}\n","import type { DesignChoices } from '@vectoriox/iox-ui/design-core';\n\nimport {\n jsonAnyOf, jsonBoolean, jsonClosedObject, jsonInteger, jsonListOf, jsonOneOf, JsonSchema, jsonShapedObject, jsonText,\n} from './json-schema';\nimport { patternOptionalParts, patternSlots, patternTakesBinding, PatternGlobalPosition, SITE_PATTERNS, SitePattern } from './patterns';\nimport {\n FACT_KEYS, GlobalSlot, PlanDataSourceMode, PlanDataSourceType, RelativeOp, SitePlan, SitePlanSource, SitePlanSourceKind, SITE_PLAN_VERSION,\n} from './site-plan.model';\nimport { SPEC_SITE_PLAN_SHAPE } from './site-spec.generated';\nimport { isPlainObject, PlainObject, ShapeEntry } from './shape-check';\n\n/**\n * The structured-output format a model writes a Site Plan in (AI plan §3d step 4, M1-3) — built from the SAME shape\n * table `validateSitePlan` reads (`SPEC_SITE_PLAN_SHAPE`) and the SAME pattern library, so the plan a model is told\n * about is the plan the gate refuses. ONE source: a key the table gains breaks this builder until it is written here.\n *\n * Two maps of the shape are written as LISTS on the wire, because no strict mode can say \"any key\": a section's\n * `slots` (`[{ slot, text }]`, the slot names closed per pattern) and a seed's field values (`values: [{ field,\n * value }]`). `sitePlanFromWire` turns them back; nothing else differs. Every section is one `anyOf` branch per\n * pattern — its id, its declared slots, its optional parts, a binding only when it takes one — and the design, the\n * source and the version are PINNED to the owner's pick and this run (one-value enums), so the provider cannot let\n * a model change the look. The gate still checks both (`plan.design` deep-equals the pick).\n */\n\nexport const SITE_PLAN_SCHEMA_NAME = 'site_plan';\n\n/** The wire keys of the two maps written as lists. */\nexport enum SitePlanWireKey {\n SlotName = 'slot',\n SlotText = 'text',\n SeedValues = 'values',\n SeedField = 'field',\n SeedValue = 'value',\n}\n\nconst SHAPE: Readonly<Record<string, ShapeEntry>> = SPEC_SITE_PLAN_SHAPE;\n\nexport interface SitePlanSchemaPin {\n /** The owner's pick, verbatim — every design key becomes a one-value enum. */\n design: DesignChoices;\n /** This generation. */\n source: SitePlanSource;\n}\n\nconst one = (value: string): JsonSchema => jsonOneOf([value]);\nconst oneBoolean = (value: boolean): JsonSchema => ({ type: 'boolean', enum: [value] });\n\n/** The pick, key by key, as one-value enums; an optional key the pick leaves out may only be left out (or empty). */\nfunction pinnedDesign(design: DesignChoices): JsonSchema {\n const entry = SHAPE['design'];\n const values = design as unknown as Record<string, unknown>;\n const properties: Record<string, JsonSchema> = {};\n for (const key of Object.keys(entry).map(k => k.replace(/\\?$/, ''))) {\n const v = values[key];\n if (typeof v === 'string') properties[key] = one(v);\n else if (typeof v === 'boolean') properties[key] = oneBoolean(v);\n else if (isPlainObject(v)) properties[key] = jsonClosedObject(\n Object.fromEntries(Object.entries(v).map(([role, family]) => [role, one(String(family))])), Object.keys(v));\n else properties[key] = jsonClosedObject({}, []);\n }\n const shaped = jsonShapedObject(entry, properties, 'design');\n // Everything the pick carries is required: a model may not leave a choice out and let a default stand in.\n const given = Object.keys(values).filter(k => values[k] !== undefined && k in properties);\n return { ...shaped, required: [...new Set([...(shaped['required'] as string[]), ...given])] };\n}\n\nfunction sourceSchema(source: SitePlanSource): JsonSchema {\n if (source.kind === SitePlanSourceKind.Ai) return jsonShapedObject(SHAPE['sourceAi'], { kind: one(source.kind), runId: one(source.runId) }, 'sourceAi');\n return jsonShapedObject(SHAPE['sourceTemplate'], {\n kind: one(source.kind), templateId: one(source.templateId), templateVersion: { type: 'integer', enum: [source.templateVersion] },\n }, 'sourceTemplate');\n}\n\nfunction businessSchema(): JsonSchema {\n const facts = jsonClosedObject(Object.fromEntries(FACT_KEYS.map(key => [key, jsonText()])), []);\n return jsonShapedObject(SHAPE['business'], { name: jsonText(), tagline: jsonText(), facts }, 'business');\n}\n\n/** A content type's field. */\nexport function fieldJsonSchema(): JsonSchema {\n return jsonShapedObject(SHAPE['field'], { name: jsonText(), type: jsonText(), controller: jsonText(), required: jsonBoolean(), note: jsonText() }, 'field');\n}\n\n/** A content type, its seed's field values as a list (`values: [{ field, value }]`). */\nexport function contentTypeJsonSchema(): JsonSchema {\n const value = jsonAnyOf([jsonText(), jsonListOf(jsonText())]);\n const values = jsonListOf(jsonClosedObject({ [SitePlanWireKey.SeedField]: jsonText(), [SitePlanWireKey.SeedValue]: value }, [SitePlanWireKey.SeedField, SitePlanWireKey.SeedValue]));\n const seed = jsonShapedObject(SHAPE['seed'], { count: jsonInteger(), sample: jsonBoolean(), isPublished: jsonBoolean() }, 'seed',\n { key: SitePlanWireKey.SeedValues, schema: values });\n return jsonShapedObject(SHAPE['contentType'], {\n name: jsonText(), label: jsonText(), previewTextField: jsonText(), previewImageField: jsonText(), fields: jsonListOf(fieldJsonSchema()), seed,\n }, 'contentType');\n}\n\n/** A data source: a cms list / single item, or a relative one. */\nexport function dataSourceJsonSchema(): JsonSchema {\n const byRoute = jsonClosedObject({ field: jsonText(), routeParam: jsonText() }, ['field', 'routeParam']);\n const cms = jsonShapedObject(SHAPE['cmsDataSource'], {\n alias: jsonText(), type: one(PlanDataSourceType.Cms), mode: jsonOneOf(Object.values(PlanDataSourceMode)),\n contentType: jsonText(), limit: jsonInteger(), filterByRouteParam: byRoute,\n }, 'cmsDataSource');\n const relative = jsonShapedObject(SHAPE['relativeDataSource'], {\n alias: jsonText(), type: one(PlanDataSourceType.Relative), of: jsonText(), op: jsonOneOf(Object.values(RelativeOp)), within: jsonText(),\n }, 'relativeDataSource');\n return jsonAnyOf([cms, relative]);\n}\n\n/** The patterns a page section may use (every non-global one), in library order. */\nexport function sectionPatternIds(): string[] {\n return Object.entries(SITE_PATTERNS).filter(([, p]) => !p.global).map(([id]) => id);\n}\n\n/** A key a pattern has nothing for: only `{}` (or leaving it out) — the decoder drops it. */\nconst NOTHING = (): JsonSchema => jsonClosedObject({}, []);\n\n/** One section branch: this pattern's id, its declared slots (a list), its optional parts, a binding when it takes one. */\nfunction sectionBranch(id: string, pattern: SitePattern): JsonSchema {\n const slots = patternSlots(pattern);\n const parts = patternOptionalParts(pattern);\n const slotList = slots.length\n ? jsonListOf(jsonClosedObject({ [SitePlanWireKey.SlotName]: jsonOneOf(slots), [SitePlanWireKey.SlotText]: jsonText() }, [SitePlanWireKey.SlotName, SitePlanWireKey.SlotText]))\n : NOTHING();\n const branch = jsonShapedObject(SHAPE['section'], {\n pattern: one(id),\n slots: slotList,\n binding: patternTakesBinding(pattern) ? jsonText() : NOTHING(),\n without: parts.length ? jsonListOf(jsonOneOf(parts)) : NOTHING(),\n }, 'section');\n return { ...branch, description: `${id}: ${pattern.label}` };\n}\n\n/** A page section: one branch per pattern. */\nexport function sectionJsonSchema(): JsonSchema {\n return jsonAnyOf(sectionPatternIds().map(id => sectionBranch(id, SITE_PATTERNS[id])));\n}\n\n/** A page. */\nexport function pageJsonSchema(): JsonSchema {\n return jsonShapedObject(SHAPE['page'], {\n key: jsonText(), name: jsonText(), route: jsonText(), isHome: jsonBoolean(), required: jsonBoolean(), inNav: jsonBoolean(),\n template: jsonText(), routeSource: jsonText(), sections: jsonListOf(sectionJsonSchema()),\n }, 'page');\n}\n\nconst globalIds = (position: `${PatternGlobalPosition}`) => Object.entries(SITE_PATTERNS).filter(([, p]) => p.global === position).map(([id]) => id);\n\n/** The Site Plan format, pinned to the owner's pick and this run. */\nexport function sitePlanJsonSchema(pin: SitePlanSchemaPin): JsonSchema {\n const globals = jsonShapedObject(SHAPE['globals'], {\n [GlobalSlot.Header]: jsonOneOf(globalIds(PatternGlobalPosition.Before)),\n [GlobalSlot.Footer]: jsonOneOf(globalIds(PatternGlobalPosition.After)),\n }, 'globals');\n return jsonShapedObject(SHAPE['plan'], {\n version: one(SITE_PLAN_VERSION),\n source: sourceSchema(pin.source),\n business: businessSchema(),\n design: pinnedDesign(pin.design),\n contentTypes: jsonListOf(contentTypeJsonSchema()),\n dataSources: jsonListOf(dataSourceJsonSchema()),\n pages: jsonListOf(pageJsonSchema()),\n globals,\n }, 'plan');\n}\n\n// ── The wire → the plan ─────────────────────────────────────────────────────────────────────────────\n\nconst isEmptyObject = (v: unknown) => isPlainObject(v) && Object.keys(v).length === 0;\n\n/** `[{ slot, text }]` → `{ slot: text }`; anything that is not that list is left for the gate to refuse. */\nfunction slotsFromWire(slots: unknown): unknown {\n if (!Array.isArray(slots)) return slots;\n const out: PlainObject = {};\n for (const entry of slots) {\n if (!isPlainObject(entry) || typeof entry[SitePlanWireKey.SlotName] !== 'string') return slots;\n out[entry[SitePlanWireKey.SlotName] as string] = entry[SitePlanWireKey.SlotText];\n }\n return out;\n}\n\n/** A section off the wire: its slots back to a map; a key the pattern has nothing for (`{}`) dropped. */\nexport function sectionFromWire(section: unknown): unknown {\n if (!isPlainObject(section)) return section;\n const out: PlainObject = { ...section };\n for (const key of ['slots', 'binding', 'without']) if (isEmptyObject(out[key])) delete out[key];\n if ('slots' in out) out['slots'] = slotsFromWire(out['slots']);\n return out;\n}\n\n/** A content type off the wire: its seed's `values` list back to field keys. */\nexport function contentTypeFromWire(type: unknown): unknown {\n if (!isPlainObject(type) || !isPlainObject(type['seed'])) return type;\n const { [SitePlanWireKey.SeedValues]: values, ...seed } = type['seed'] as PlainObject;\n if (Array.isArray(values)) {\n for (const entry of values) {\n if (isPlainObject(entry) && typeof entry[SitePlanWireKey.SeedField] === 'string') seed[entry[SitePlanWireKey.SeedField] as string] = entry[SitePlanWireKey.SeedValue];\n }\n } else if (values !== undefined) seed[SitePlanWireKey.SeedValues] = values;\n return { ...type, seed };\n}\n\nfunction pageFromWire(page: unknown): unknown {\n if (!isPlainObject(page) || !Array.isArray(page['sections'])) return page;\n return { ...page, sections: (page['sections'] as unknown[]).map(sectionFromWire) };\n}\n\n/** The design off the wire: an empty optional object (a choice the pick does not carry) dropped. */\nfunction designFromWire(design: unknown): unknown {\n if (!isPlainObject(design)) return design;\n return Object.fromEntries(Object.entries(design).filter(([, v]) => !isEmptyObject(v)));\n}\n\n/**\n * A model's answer → a Site Plan: the two listed maps back to maps, nothing else touched. Never repairs — whatever the\n * answer got wrong is still wrong, for `validateSitePlan` to refuse with a path.\n */\nexport function sitePlanFromWire(wire: unknown): SitePlan | unknown {\n if (!isPlainObject(wire)) return wire;\n const out: PlainObject = { ...wire };\n if (Array.isArray(out['contentTypes'])) out['contentTypes'] = (out['contentTypes'] as unknown[]).map(contentTypeFromWire);\n if (Array.isArray(out['pages'])) out['pages'] = (out['pages'] as unknown[]).map(pageFromWire);\n if ('design' in out) out['design'] = designFromWire(out['design']);\n return out;\n}\n\n/** The plan → the wire (what a re-ask shows the model, and what the plan edits' prompt carries). */\nexport function sitePlanToWire(plan: SitePlan): PlainObject {\n const slotsToWire = (slots: Readonly<Record<string, string>> | undefined) =>\n Object.entries(slots ?? {}).map(([slot, text]) => ({ [SitePlanWireKey.SlotName]: slot, [SitePlanWireKey.SlotText]: text }));\n return {\n ...plan,\n contentTypes: plan.contentTypes.map(t => {\n if (!t.seed) return t;\n const { count, sample, isPublished, ...values } = t.seed;\n return { ...t, seed: { count, sample, isPublished, [SitePlanWireKey.SeedValues]: Object.entries(values).map(([field, value]) => ({ [SitePlanWireKey.SeedField]: field, [SitePlanWireKey.SeedValue]: value })) } };\n }),\n pages: plan.pages.map(p => ({ ...p, sections: p.sections.map(s => (s.slots ? { ...s, slots: slotsToWire(s.slots) } : s)) })),\n };\n}\n","import {\n jsonAnyOf, jsonInteger, jsonListOf, jsonOneOf, JsonSchema, jsonShapedObject, jsonText,\n} from './json-schema';\nimport { patternById, patternOptionalParts, patternSlots, patternTakesBinding } from './patterns';\nimport {\n contentTypeFromWire, contentTypeJsonSchema, dataSourceJsonSchema, fieldJsonSchema, pageJsonSchema, sectionFromWire, sectionJsonSchema,\n sectionPatternIds,\n} from './site-plan-schema';\nimport {\n ContentFieldPlan, ContentTypePlan, DataSourcePlan, PagePlan, PageSectionPlan, PlanDataSourceMode, PlanDataSourceType, SitePlan,\n} from './site-plan.model';\nimport { isNonEmptyString, isPlainObject, PathIssue, PathIssueCollector, PlainObject, ShapeEntry, shapeKeys } from './shape-check';\n\n/**\n * Changing a plan by sentence (AI plan §3d \"The Plan prompt box\", M1-5; reused by M2 after a build): the CLOSED list\n * of operations (N-D6) a model may write against the current plan, and the ONE pure `applyPlanEdits` that carries them\n * out. Nothing is written until Build, so an edit is a plan → plan function; the result goes through\n * `validateSitePlan` like any plan. Pages are named by `key`, sections by their index on the page. A set of edits is\n * applied whole or not at all: one edit that cannot apply refuses the set, with a path, and the plan is unchanged.\n */\n\nexport enum PlanEditOp {\n AddPage = 'addPage',\n RemovePage = 'removePage',\n RenamePage = 'renamePage',\n MergePages = 'mergePages',\n /** Its place in the menu (the plan's page order). */\n MovePage = 'movePage',\n AddSection = 'addSection',\n RemoveSection = 'removeSection',\n MoveSection = 'moveSection',\n SwapPattern = 'swapPattern',\n SetSlot = 'setSlot',\n AddContentType = 'addContentType',\n AddField = 'addField',\n SetSectionData = 'setSectionData',\n}\n\nexport type PlanEdit =\n | { op: `${PlanEditOp.AddPage}`; page: PagePlan; after?: string }\n | { op: `${PlanEditOp.RemovePage}`; page: string }\n | { op: `${PlanEditOp.RenamePage}`; page: string; name?: string; route?: string }\n | { op: `${PlanEditOp.MergePages}`; into: string; from: string }\n | { op: `${PlanEditOp.MovePage}`; page: string; to: number }\n | { op: `${PlanEditOp.AddSection}`; page: string; section: PageSectionPlan; at?: number }\n | { op: `${PlanEditOp.RemoveSection}`; page: string; index: number }\n | { op: `${PlanEditOp.MoveSection}`; page: string; from: number; to: number }\n | { op: `${PlanEditOp.SwapPattern}`; page: string; index: number; pattern: string }\n | { op: `${PlanEditOp.SetSlot}`; page: string; index: number; slot: string; text: string }\n | { op: `${PlanEditOp.AddContentType}`; contentType: ContentTypePlan; dataSources?: DataSourcePlan[] }\n | { op: `${PlanEditOp.AddField}`; contentType: string; field: ContentFieldPlan; sample?: string | string[] }\n | { op: `${PlanEditOp.SetSectionData}`; page: string; index: number; binding: string };\n\n/**\n * Every op's keys, explained — what the format is built from and what `validatePlanEdits` reads (`key?` optional).\n * A page is named by its `key`; a section by its 0-based `index` on that page.\n */\nexport const PLAN_EDIT_SHAPE: Readonly<Record<`${PlanEditOp}`, ShapeEntry>> = {\n [PlanEditOp.AddPage]: { op: \"'addPage'\", page: 'page — a whole new page (a unique key and route)', 'after?': 'string — the key of the page it follows in the menu; absent: last' },\n [PlanEditOp.RemovePage]: { op: \"'removePage'\", page: 'string — the key of the page to remove (never the home page)' },\n [PlanEditOp.RenamePage]: { op: \"'renamePage'\", page: 'string — a page key', 'name?': 'string — its new name (the menu label)', 'route?': 'string — its new route' },\n [PlanEditOp.MergePages]: { op: \"'mergePages'\", into: 'string — the page that stays', from: 'string — the page whose sections move into it, then removed' },\n [PlanEditOp.MovePage]: { op: \"'movePage'\", page: 'string — a page key', to: 'integer — its new 0-based place in the menu' },\n [PlanEditOp.AddSection]: { op: \"'addSection'\", page: 'string — a page key', section: 'section', 'at?': 'integer — its 0-based place on the page; absent: last' },\n [PlanEditOp.RemoveSection]: { op: \"'removeSection'\", page: 'string — a page key', index: 'integer — the section' },\n [PlanEditOp.MoveSection]: { op: \"'moveSection'\", page: 'string — a page key', from: 'integer — the section', to: 'integer — its new place' },\n [PlanEditOp.SwapPattern]: { op: \"'swapPattern'\", page: 'string — a page key', index: 'integer — the section', pattern: 'string — the pattern it becomes (its slots kept where the new one has them)' },\n [PlanEditOp.SetSlot]: { op: \"'setSlot'\", page: 'string — a page key', index: 'integer — the section', slot: \"string — one of the pattern's slots\", text: \"string — the words, in the owner's language and voice\" },\n [PlanEditOp.AddContentType]: { op: \"'addContentType'\", contentType: 'contentType — a unique name', 'dataSources?': 'dataSource[] — the list / single sources its pages read' },\n [PlanEditOp.AddField]: { op: \"'addField'\", contentType: 'string — a content type of the plan', field: 'field', 'sample?': \"string | string[] — the samples' value for it\" },\n [PlanEditOp.SetSectionData]: { op: \"'setSectionData'\", page: 'string — a page key', index: 'integer — the section', binding: 'string — the list source the section repeats' },\n};\n\nexport enum PlanChangeKind {\n Page = 'page',\n Section = 'section',\n ContentType = 'contentType',\n Field = 'field',\n DataSource = 'dataSource',\n}\n\nexport enum PlanChangeAction {\n Added = 'added',\n Removed = 'removed',\n Changed = 'changed',\n Moved = 'moved',\n}\n\n/** What an edit changed — the Plan map marks it. `index` is the section's index in the RESULT (or before, when removed). */\nexport interface PlanChange {\n kind: `${PlanChangeKind}`;\n action: `${PlanChangeAction}`;\n page?: string;\n index?: number;\n name?: string;\n}\n\nexport enum PlanEditIssueCode {\n Shape = 'shape',\n UnknownKey = 'unknown-key',\n Duplicate = 'duplicate',\n UnknownOp = 'unknown-op',\n UnknownPage = 'unknown-page',\n UnknownSection = 'unknown-section',\n UnknownPattern = 'unknown-pattern',\n UnknownSlot = 'unknown-slot',\n UnknownContentType = 'unknown-content-type',\n UnknownDataSource = 'unknown-data-source',\n /** The home page stays (a plan has exactly one). */\n HomePage = 'home-page',\n /** A template page (one item per route) and a plain page cannot be merged. */\n MergeTemplate = 'merge-template',\n}\n\nexport type PlanEditIssue = PathIssue<PlanEditIssueCode>;\n\nexport interface PlanEditResult {\n plan: SitePlan;\n changed: PlanChange[];\n /** Non-empty: nothing was applied (`plan` is the input). */\n issues: PlanEditIssue[];\n}\n\nclass Collector extends PathIssueCollector<PlanEditIssueCode> {\n constructor() {\n super('plan edit', { shape: PlanEditIssueCode.Shape, unknownKey: PlanEditIssueCode.UnknownKey, duplicate: PlanEditIssueCode.Duplicate });\n }\n}\n\nconst OPS = Object.values(PlanEditOp) as string[];\n/** A page's own header section (`page-header.simple`) — what a merge leaves behind with the page it named. */\nconst PAGE_HEADER_FAMILY = 'header';\nconst clone = <T>(v: T): T => JSON.parse(JSON.stringify(v)) as T;\nconst clamp = (n: number, max: number) => Math.max(0, Math.min(Math.trunc(n), max));\n\n/** The edits' structure: a known op, its keys (`PLAN_EDIT_SHAPE`), integers where an index is. Never repairs. */\nexport function validatePlanEdits(edits: unknown): { valid: boolean; issues: PlanEditIssue[] } {\n const c = new Collector();\n if (!Array.isArray(edits)) {\n c.add(PlanEditIssueCode.Shape, 'edits', 'must be an array');\n return { valid: false, issues: c.issues };\n }\n edits.forEach((raw, i) => {\n const path = `edits[${i}]`;\n if (!isPlainObject(raw)) return c.add(PlanEditIssueCode.Shape, path, 'must be an object');\n const op = raw['op'];\n if (typeof op !== 'string' || !OPS.includes(op)) return c.add(PlanEditIssueCode.UnknownOp, `${path}.op`, `must be one of ${OPS.join(', ')}`);\n const entry = PLAN_EDIT_SHAPE[op as PlanEditOp];\n c.keys(raw, shapeKeys(entry), path);\n for (const [key, text] of Object.entries(entry)) {\n const optional = key.endsWith('?');\n const name = optional ? key.slice(0, -1) : key;\n const v = raw[name];\n if (v === undefined) { if (!optional) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'is required'); continue; }\n if (text.startsWith('string | string[]')) {\n if (typeof v !== 'string' && !(Array.isArray(v) && v.every(x => typeof x === 'string'))) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be a string or a list of strings');\n } else if (text.startsWith('string') && !isNonEmptyString(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be a non-empty string');\n if (text.startsWith('integer') && !Number.isInteger(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be a whole number');\n if (['page', 'section', 'contentType', 'field'].includes(text.split(' ')[0]) && !isPlainObject(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be an object');\n if (text.startsWith('dataSource[]') && !Array.isArray(v)) c.add(PlanEditIssueCode.Shape, `${path}.${name}`, 'must be an array');\n }\n });\n return { valid: c.issues.length === 0, issues: c.issues };\n}\n\n/** The aliases a page reads (its route source and its sections' bindings). */\nfunction aliasesOf(pages: ReadonlyArray<PagePlan>): Set<string> {\n const out = new Set<string>();\n for (const page of pages) {\n if (page.routeSource) out.add(page.routeSource);\n for (const s of page.sections) if (s.binding) out.add(s.binding);\n }\n return out;\n}\n\n/** A relative source (`project.next`'s) is read while its subject is, and keeps the list it walks. */\nfunction withDependencies(aliases: Set<string>, sources: ReadonlyArray<DataSourcePlan>): Set<string> {\n const out = new Set(aliases);\n for (const s of sources) {\n if (s.type === PlanDataSourceType.Relative && aliases.has(s.of)) { out.add(s.alias); out.add(s.within); }\n }\n return out;\n}\n\ninterface Draft {\n pages: PagePlan[];\n contentTypes: ContentTypePlan[];\n dataSources: DataSourcePlan[];\n}\n\ntype Apply = (d: Draft, e: any, c: Collector, path: string, changed: PlanChange[]) => void;\n\nconst pageIndex = (d: Draft, key: unknown) => d.pages.findIndex(p => p.key === key);\n\nfunction findPage(d: Draft, key: unknown, c: Collector, path: string): number {\n const at = pageIndex(d, key);\n if (at < 0) c.add(PlanEditIssueCode.UnknownPage, path, `no page \"${String(key)}\" in the plan (${d.pages.map(p => p.key).join(', ')})`);\n return at;\n}\n\nfunction findSection(d: Draft, pageAt: number, index: unknown, c: Collector, path: string): boolean {\n const ok = Number.isInteger(index) && (index as number) >= 0 && (index as number) < d.pages[pageAt].sections.length;\n if (!ok) c.add(PlanEditIssueCode.UnknownSection, path, `page \"${d.pages[pageAt].key}\" has sections 0–${d.pages[pageAt].sections.length - 1}`);\n return ok;\n}\n\nconst setSections = (d: Draft, at: number, sections: PageSectionPlan[]) => { d.pages[at] = { ...d.pages[at], sections }; };\n\n/** One handler per op — a data table, never an if-chain. */\nconst APPLY: Readonly<Record<`${PlanEditOp}`, Apply>> = {\n [PlanEditOp.AddPage]: (d, e, c, path, changed) => {\n const page = { ...(e.page as PagePlan), sections: (e.page.sections ?? []).map(sectionFromWire) } as PagePlan;\n if (pageIndex(d, page.key) >= 0) return c.add(PlanEditIssueCode.Duplicate, `${path}.page.key`, `page \"${page.key}\" is already in the plan`);\n const after = e.after === undefined ? d.pages.length - 1 : findPage(d, e.after, c, `${path}.after`);\n if (after < 0 && e.after !== undefined) return;\n d.pages.splice(after + 1, 0, page);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Added, page: page.key, name: page.name });\n },\n [PlanEditOp.RemovePage]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n if (d.pages[at].isHome) return c.add(PlanEditIssueCode.HomePage, `${path}.page`, 'the home page stays — rename or change it instead');\n const [gone] = d.pages.splice(at, 1);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Removed, page: gone.key, name: gone.name });\n },\n [PlanEditOp.RenamePage]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n d.pages[at] = { ...d.pages[at], ...(e.name !== undefined ? { name: e.name } : {}), ...(e.route !== undefined ? { route: e.route } : {}) };\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Changed, page: d.pages[at].key, name: d.pages[at].name });\n },\n [PlanEditOp.MergePages]: (d, e, c, path, changed) => {\n const into = findPage(d, e.into, c, `${path}.into`);\n const from = findPage(d, e.from, c, `${path}.from`);\n if (into < 0 || from < 0) return;\n if (into === from) return c.add(PlanEditIssueCode.Duplicate, `${path}.from`, 'a page is merged into another page');\n const a = d.pages[into];\n const b = d.pages[from];\n if (!!a.template !== !!b.template) return c.add(PlanEditIssueCode.MergeTemplate, `${path}.from`, 'a page per item and a plain page cannot be merged');\n if (b.isHome) return c.add(PlanEditIssueCode.HomePage, `${path}.from`, 'the home page stays — merge the other page into it');\n const moved = b.sections.filter((s, i) => !(i === 0 && patternById(s.pattern)?.family === PAGE_HEADER_FAMILY));\n setSections(d, into, [...a.sections, ...moved]);\n moved.forEach((_, k) => changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Added, page: a.key, index: a.sections.length + k }));\n d.pages.splice(from, 1);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Changed, page: a.key, name: a.name });\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Removed, page: b.key, name: b.name });\n },\n [PlanEditOp.MovePage]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n const [page] = d.pages.splice(at, 1);\n d.pages.splice(clamp(e.to, d.pages.length), 0, page);\n changed.push({ kind: PlanChangeKind.Page, action: PlanChangeAction.Moved, page: page.key, name: page.name });\n },\n [PlanEditOp.AddSection]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0) return;\n const sections = [...d.pages[at].sections];\n const index = e.at === undefined ? sections.length : clamp(e.at, sections.length);\n sections.splice(index, 0, sectionFromWire(e.section) as PageSectionPlan);\n setSections(d, at, sections);\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Added, page: d.pages[at].key, index });\n },\n [PlanEditOp.RemoveSection]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n setSections(d, at, d.pages[at].sections.filter((_, i) => i !== e.index));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Removed, page: d.pages[at].key, index: e.index });\n },\n [PlanEditOp.MoveSection]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.from, c, `${path}.from`)) return;\n const sections = [...d.pages[at].sections];\n const [section] = sections.splice(e.from, 1);\n const to = clamp(e.to, sections.length);\n sections.splice(to, 0, section);\n setSections(d, at, sections);\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Moved, page: d.pages[at].key, index: to });\n },\n [PlanEditOp.SwapPattern]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n const next = patternById(e.pattern);\n if (!next || next.global) return c.add(PlanEditIssueCode.UnknownPattern, `${path}.pattern`, `no section pattern \"${String(e.pattern)}\"`);\n const old = d.pages[at].sections[e.index];\n const slots = Object.fromEntries(Object.entries(old.slots ?? {}).filter(([slot]) => patternSlots(next).includes(slot)));\n const without = (old.without ?? []).filter(w => patternOptionalParts(next).includes(w));\n const section: PageSectionPlan = {\n pattern: e.pattern,\n ...(Object.keys(slots).length ? { slots } : {}),\n ...(old.binding && patternTakesBinding(next) ? { binding: old.binding } : {}),\n ...(without.length ? { without } : {}),\n };\n setSections(d, at, d.pages[at].sections.map((s, i) => (i === e.index ? section : s)));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Changed, page: d.pages[at].key, index: e.index });\n },\n [PlanEditOp.SetSlot]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n const section = d.pages[at].sections[e.index];\n const declared = patternSlots(patternById(section.pattern)!);\n if (!declared.includes(e.slot)) return c.add(PlanEditIssueCode.UnknownSlot, `${path}.slot`, `\"${section.pattern}\" has no slot \"${e.slot}\" (${declared.join(', ') || 'none'})`);\n setSections(d, at, d.pages[at].sections.map((s, i) => (i === e.index ? { ...s, slots: { ...(s.slots ?? {}), [e.slot]: e.text } } : s)));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Changed, page: d.pages[at].key, index: e.index });\n },\n [PlanEditOp.AddContentType]: (d, e, c, path, changed) => {\n const type = contentTypeFromWire(e.contentType) as ContentTypePlan;\n if (d.contentTypes.some(t => t.name === type.name)) return c.add(PlanEditIssueCode.Duplicate, `${path}.contentType.name`, `content type \"${type.name}\" is already in the plan`);\n d.contentTypes.push(type);\n changed.push({ kind: PlanChangeKind.ContentType, action: PlanChangeAction.Added, name: type.name });\n for (const [k, source] of ((e.dataSources ?? []) as DataSourcePlan[]).entries()) {\n if (d.dataSources.some(s => s.alias === source.alias)) { c.add(PlanEditIssueCode.Duplicate, `${path}.dataSources[${k}].alias`, `data source \"${source.alias}\" is already in the plan`); continue; }\n d.dataSources.push(source);\n changed.push({ kind: PlanChangeKind.DataSource, action: PlanChangeAction.Added, name: source.alias });\n }\n },\n [PlanEditOp.AddField]: (d, e, c, path, changed) => {\n const at = d.contentTypes.findIndex(t => t.name === e.contentType);\n if (at < 0) return c.add(PlanEditIssueCode.UnknownContentType, `${path}.contentType`, `no content type \"${String(e.contentType)}\" in the plan`);\n const type = d.contentTypes[at];\n if (type.fields.some(f => f.name === e.field.name)) return c.add(PlanEditIssueCode.Duplicate, `${path}.field.name`, `\"${type.name}\" already has a field \"${e.field.name}\"`);\n const seed = type.seed ? { ...type.seed, [e.field.name]: e.sample ?? '' } : undefined;\n d.contentTypes[at] = { ...type, fields: [...type.fields, e.field], ...(seed ? { seed } : {}) };\n changed.push({ kind: PlanChangeKind.Field, action: PlanChangeAction.Added, name: `${type.name}.${e.field.name}` });\n },\n [PlanEditOp.SetSectionData]: (d, e, c, path, changed) => {\n const at = findPage(d, e.page, c, `${path}.page`);\n if (at < 0 || !findSection(d, at, e.index, c, `${path}.index`)) return;\n const source = d.dataSources.find(s => s.alias === e.binding);\n if (!source || source.type !== PlanDataSourceType.Cms || source.mode !== PlanDataSourceMode.Query) {\n return c.add(PlanEditIssueCode.UnknownDataSource, `${path}.binding`, `no list source \"${String(e.binding)}\" in the plan`);\n }\n setSections(d, at, d.pages[at].sections.map((s, i) => (i === e.index ? { ...s, binding: e.binding } : s)));\n changed.push({ kind: PlanChangeKind.Section, action: PlanChangeAction.Changed, page: d.pages[at].key, index: e.index });\n },\n};\n\n/**\n * Apply a set of edits to a plan — all of them, or none (any issue refuses the set and returns the plan unchanged). The\n * sources only removed pages and sections read are dropped with them; sources nothing read before are kept.\n * The result still has to pass `validateSitePlan`.\n */\nexport function applyPlanEdits(plan: SitePlan, edits: ReadonlyArray<PlanEdit>): PlanEditResult {\n const structure = validatePlanEdits(edits);\n if (!structure.valid) return { plan, changed: [], issues: structure.issues };\n const draft: Draft = { pages: clone([...plan.pages]), contentTypes: clone([...plan.contentTypes]), dataSources: clone([...plan.dataSources]) };\n const c = new Collector();\n const changed: PlanChange[] = [];\n edits.forEach((edit, i) => APPLY[edit.op](draft, edit, c, `edits[${i}]`, changed));\n if (c.issues.length) return { plan, changed: [], issues: c.issues };\n\n const before = withDependencies(aliasesOf(plan.pages), plan.dataSources);\n const after = withDependencies(aliasesOf(draft.pages), draft.dataSources);\n const added = new Set(changed.filter(ch => ch.kind === PlanChangeKind.DataSource).map(ch => ch.name));\n const dataSources = draft.dataSources.filter(s => after.has(s.alias) || !before.has(s.alias) || added.has(s.alias));\n for (const s of draft.dataSources) if (!dataSources.includes(s)) changed.push({ kind: PlanChangeKind.DataSource, action: PlanChangeAction.Removed, name: s.alias });\n\n return { plan: { ...plan, pages: draft.pages, contentTypes: draft.contentTypes, dataSources }, changed, issues: [] };\n}\n\n// ── The format a model writes edits in ─────────────────────────────────────────────────────────────────\n\nexport const PLAN_EDITS_SCHEMA_NAME = 'plan_edits';\n\n/** A sentence's answer: the edits, or why the ops cannot say it (one line, in the owner's language). */\nexport enum PlanEditsOutcome {\n Edits = 'edits',\n Cannot = 'cannot',\n}\n\nexport interface PlanEditsAnswer {\n outcome: `${PlanEditsOutcome}`;\n edits: PlanEdit[];\n /** `cannot`: the one line the owner reads. `edits`: empty. */\n reason: string;\n}\n\n/** The answer's own keys, explained. */\nexport const PLAN_EDITS_ANSWER_SHAPE: ShapeEntry = {\n outcome: \"'edits' | 'cannot' — cannot: the operations cannot do what the sentence asks\",\n edits: 'edit[] — applied in order, all or none; empty when cannot',\n reason: \"string — when cannot, ONE short line for the owner in their language (what to do instead); else ''\",\n};\n\nconst one = (value: string): JsonSchema => jsonOneOf([value]);\n\n/** The schema of each op's value types (what `PLAN_EDIT_SHAPE` names). */\nfunction opSchema(op: `${PlanEditOp}`): JsonSchema {\n const entry = PLAN_EDIT_SHAPE[op];\n const valueOf = (key: string): JsonSchema => {\n const text = entry[key] ?? entry[`${key}?`];\n if (key === 'op') return one(op);\n if (key === 'pattern') return jsonOneOf(sectionPatternIds());\n const head = text.split(' ')[0];\n const table: Record<string, () => JsonSchema> = {\n page: pageJsonSchema, section: sectionJsonSchema, contentType: contentTypeJsonSchema, field: fieldJsonSchema,\n 'dataSource[]': () => jsonListOf(dataSourceJsonSchema()), integer: jsonInteger, string: jsonText,\n };\n if (text.startsWith('string | string[]')) return jsonAnyOf([jsonText(), jsonListOf(jsonText())]);\n return (table[head] ?? jsonText)();\n };\n return jsonShapedObject(entry, Object.fromEntries(shapeKeys(entry).map(key => [key, valueOf(key)])), op);\n}\n\n/** The format a sentence's answer is written in: the outcome, the edits (one `anyOf` branch per op), the reason. */\nexport function planEditsJsonSchema(): JsonSchema {\n return jsonShapedObject(PLAN_EDITS_ANSWER_SHAPE, {\n outcome: jsonOneOf(Object.values(PlanEditsOutcome)),\n edits: jsonListOf(jsonAnyOf(OPS.map(op => opSchema(op as PlanEditOp)))),\n reason: jsonText(),\n }, 'planEdits');\n}\n\n/** A model's answer → edits (sections and content types off the wire); never repaired. */\nexport function planEditsFromWire(answer: unknown): PlanEditsAnswer | unknown {\n if (!isPlainObject(answer) || !Array.isArray(answer['edits'])) return answer;\n const edits = (answer['edits'] as unknown[]).map(raw => {\n if (!isPlainObject(raw)) return raw;\n const e: PlainObject = { ...raw };\n if (isPlainObject(e['page']) && Array.isArray((e['page'] as PlainObject)['sections'])) {\n e['page'] = { ...(e['page'] as PlainObject), sections: ((e['page'] as PlainObject)['sections'] as unknown[]).map(sectionFromWire) };\n }\n if (isPlainObject(e['section'])) e['section'] = sectionFromWire(e['section']);\n if (isPlainObject(e['contentType'])) e['contentType'] = contentTypeFromWire(e['contentType']);\n return e;\n });\n return { ...answer, edits };\n}\n","import { PathIssue } from './shape-check';\nimport { FACT_KEYS, FactKey, SitePlan } from './site-plan.model';\n\n/**\n * The plan stage's word checks (AI plan §3d / §3h, M1-3): every text a model WROTE into a plan — the tagline, page\n * names, section slots, content-type labels, sample values — scanned for the words the owner and their kind of\n * business must not use (`avoidWords`, the analysis's + the type's `words`), and for a fact the owner never gave\n * (an email, phone number, price or opening time that is not one of the owner's own facts). A finding is a refusal\n * with a path — the model rewrites; nothing here repairs a word. Pure.\n */\n\nexport enum PlanWordIssueCode {\n /** A word the owner (or their kind of business) must not use. */\n AvoidWord = 'avoid-word',\n /** Something that looks like a fact — an email, phone, price or time — that is not one of the owner's facts. */\n InventedFact = 'invented-fact',\n /** `business.facts` holds a fact the owner did not give, or not in the owner's words. */\n FactNotTheOwners = 'fact-not-the-owners',\n}\n\nexport type PlanWordIssue = PathIssue<PlanWordIssueCode>;\n\nexport interface PlanWordContext {\n avoidWords: ReadonlyArray<string>;\n /** The owner's own facts (the analysis's, as corrected) — the only ones a plan may carry. */\n facts: Readonly<Partial<Record<FactKey, string>>>;\n}\n\n/** A text a model wrote, and where. */\nexport interface WrittenText {\n path: string;\n text: string;\n}\n\n/** Every text in a plan a model writes (never ids, routes, field names or pattern ids). */\nexport function writtenTexts(plan: SitePlan): WrittenText[] {\n const out: WrittenText[] = [];\n const add = (path: string, text: unknown) => { if (typeof text === 'string' && text.trim()) out.push({ path, text }); };\n add('business.tagline', plan.business?.tagline);\n plan.pages?.forEach((page, p) => {\n add(`pages[${p}].name`, page.name);\n page.sections?.forEach((section, s) => {\n for (const [slot, text] of Object.entries(section.slots ?? {})) add(`pages[${p}].sections[${s}].slots.${slot}`, text);\n });\n });\n plan.contentTypes?.forEach((type, t) => {\n add(`contentTypes[${t}].label`, type.label);\n for (const [field, value] of Object.entries(type.seed ?? {})) {\n const values = Array.isArray(value) ? value : [value];\n values.forEach((v, k) => add(`contentTypes[${t}].seed.${field}${Array.isArray(value) ? `[${k}]` : ''}`, v));\n }\n });\n return out;\n}\n\nconst HEBREW = /[֐-׿]/;\n/** Hebrew joins up to two one-letter words (and, the, in, to, from, that, as) to the next: \"והטוב\" holds \"טוב\". */\nconst HEBREW_PREFIXES = '[והבלמשכ]{0,2}';\nconst escape = (s: string) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\nconst normalise = (s: string) => s.normalize('NFKC').toLowerCase();\n\n/** A word (or phrase) as a whole-word pattern; Hebrew allows its one-letter prefixes. */\nexport function wordPattern(word: string): RegExp {\n const w = escape(normalise(word.trim())).replace(/\\s+/g, '\\\\s+');\n const prefix = HEBREW.test(word) ? HEBREW_PREFIXES : '';\n return new RegExp(`(?<![\\\\p{L}\\\\p{N}])${prefix}${w}(?![\\\\p{L}\\\\p{N}])`, 'u');\n}\n\n/** What a fact looks like when a model writes one — each judged against the owner's facts. */\nconst FACT_SHAPES: ReadonlyArray<{ kind: string; pattern: RegExp; key: (match: string) => string }> = [\n { kind: 'email', pattern: /[\\p{L}\\p{N}._%+-]+@[\\p{L}\\p{N}-]+(?:\\.[\\p{L}\\p{N}-]+)+/gu, key: m => m.toLowerCase() },\n { kind: 'phone', pattern: /\\+?\\d[\\d\\s().-]{6,}\\d/g, key: m => m.replace(/\\D/g, '') },\n { kind: 'price', pattern: /(?:[$€£₪]\\s?\\d[\\d,.]*|\\d[\\d,.]*\\s?(?:[$€£₪]|ש\"ח|NIS|USD|EUR|GBP))/gu, key: m => m.replace(/[^\\d]/g, '') },\n { kind: 'time', pattern: /(?<!\\d)\\d{1,2}[:.]\\d{2}(?!\\d)/g, key: m => m.replace(/\\D/g, '') },\n];\n\nconst MIN_PHONE_DIGITS = 8;\n/** \"2019 – 2024\" is two years, not a phone number. */\nconst YEAR_RANGE = /^\\s*\\d{4}\\s*[-–]\\s*\\d{4}\\s*$/;\n\nfunction ownedKeys(facts: PlanWordContext['facts']): Set<string> {\n const keys = new Set<string>();\n for (const value of Object.values(facts)) {\n if (typeof value !== 'string') continue;\n for (const shape of FACT_SHAPES) for (const m of value.match(shape.pattern) ?? []) keys.add(`${shape.kind}:${shape.key(m)}`);\n }\n return keys;\n}\n\n/** The words to avoid and the facts never given, in every written text of the plan. */\nexport function planWordIssues(plan: SitePlan, ctx: PlanWordContext): PlanWordIssue[] {\n const issues: PlanWordIssue[] = [];\n const avoid = [...new Set(ctx.avoidWords.map(w => w.trim()).filter(Boolean))].map(w => ({ word: w, pattern: wordPattern(w) }));\n const owned = ownedKeys(ctx.facts);\n for (const { path, text } of writtenTexts(plan)) {\n const words = normalise(text);\n for (const a of avoid) if (a.pattern.test(words)) issues.push({ code: PlanWordIssueCode.AvoidWord, path, message: `uses \"${a.word}\" — a word this site must not use` });\n for (const shape of FACT_SHAPES) {\n for (const m of text.match(shape.pattern) ?? []) {\n const key = shape.key(m);\n if (shape.kind === 'phone' && (key.length < MIN_PHONE_DIGITS || YEAR_RANGE.test(m))) continue;\n if (!owned.has(`${shape.kind}:${key}`)) issues.push({ code: PlanWordIssueCode.InventedFact, path, message: `\"${m.trim()}\" looks like a ${shape.kind} the owner never gave — leave it out` });\n }\n }\n }\n for (const [key, value] of Object.entries(plan.business?.facts ?? {})) {\n const own = ctx.facts[key as FactKey];\n if (!(FACT_KEYS as ReadonlyArray<string>).includes(key)) continue;\n if (typeof own !== 'string' || normalise(own).trim() !== normalise(String(value)).trim()) {\n issues.push({ code: PlanWordIssueCode.FactNotTheOwners, path: `business.facts.${key}`, message: own ? `must be the owner's own words: \"${own}\"` : 'the owner did not give it — leave it out (it becomes a placeholder)' });\n }\n }\n return issues;\n}\n","import { ELEMENT_ACTION_DESCRIPTORS, resolveActionAvailability } from '@vectoriox/iox-ui/actions-core';\nimport { auditDesignContrast, DesignTokenLike } from '@vectoriox/iox-ui/design-core';\nimport { collectFormSpec, ControlType, FIELD_NODE_TYPE, FORM_NODE_TYPE } from '@vectoriox/iox-ui/forms-core';\n\nimport { blocksPublish, ComposedPlaceholder, PlaceholderKind } from './compose-site';\nimport { navShapeOf } from './nav-shape';\nimport { PatternGlobalPosition } from './patterns';\nimport { SerializedNode, walkSerialized } from './serialized-node';\n\n/**\n * THE Publishable gate (AI plan §3e, M1-7): ONE pure function over a snapshot of a site — its pages, globals, the\n * connectors' health, the look's token rows, what a build left to fill — run by the Publish dialog, the builder's\n * Needs attention and the server on publish (iox-cms refuses with the same findings). Works on any site, generated\n * or hand-built. Severity is decision D8: an unfilled fact, a policy placeholder or an action that points at nothing\n * BLOCKS; samples, copy placeholders and stock photos ASK (\"Publish anyway\"); the rest WARN. Design advice\n * (harness-core `lintDesign`) is not one of the eight — the caller adds it, and it never blocks.\n */\n\nexport enum SiteCheckId {\n Navigation = 'navigation',\n Forms = 'forms',\n Consent = 'consent',\n Seo = 'seo',\n Facts = 'facts',\n Accessibility = 'accessibility',\n Tokens = 'tokens',\n Actions = 'actions',\n}\n\n/** The eight, in §3e's order. */\nexport const SITE_CHECKS: ReadonlyArray<SiteCheckId> = Object.values(SiteCheckId);\n\nexport enum CheckSeverity {\n Block = 'block',\n Ask = 'ask',\n Warn = 'warn',\n}\n\nexport enum SiteFindingCode {\n NoHeader = 'no-header',\n NoPhoneMenu = 'no-phone-menu',\n FormWithoutId = 'form-without-id',\n EmailNeedsMailer = 'email-needs-mailer',\n TrackerWithoutBanner = 'tracker-without-banner',\n NoTitle = 'no-title',\n NoDescription = 'no-description',\n UnfilledFact = 'unfilled-fact',\n CopyPlaceholder = 'copy-placeholder',\n SampleItems = 'sample-items',\n StockPhoto = 'stock-photo',\n NoPrivacyPage = 'no-privacy-page',\n PrivacyPagePlaceholder = 'privacy-page-placeholder',\n LowContrast = 'low-contrast',\n HeadingOrder = 'heading-order',\n ImageWithoutAlt = 'image-without-alt',\n LiteralColour = 'literal-colour',\n DeadLink = 'dead-link',\n DeadDialogTarget = 'dead-dialog-target',\n ActionNeedsConnector = 'action-needs-connector',\n}\n\n/** Each finding's severity — one table (D8), never decided at a call site. */\nexport const FINDING_SEVERITY: Readonly<Record<SiteFindingCode, CheckSeverity>> = {\n [SiteFindingCode.NoHeader]: CheckSeverity.Warn,\n [SiteFindingCode.NoPhoneMenu]: CheckSeverity.Warn,\n [SiteFindingCode.FormWithoutId]: CheckSeverity.Block,\n [SiteFindingCode.EmailNeedsMailer]: CheckSeverity.Warn,\n [SiteFindingCode.TrackerWithoutBanner]: CheckSeverity.Warn,\n [SiteFindingCode.NoTitle]: CheckSeverity.Warn,\n [SiteFindingCode.NoDescription]: CheckSeverity.Warn,\n [SiteFindingCode.UnfilledFact]: CheckSeverity.Block,\n [SiteFindingCode.CopyPlaceholder]: CheckSeverity.Ask,\n [SiteFindingCode.SampleItems]: CheckSeverity.Ask,\n [SiteFindingCode.StockPhoto]: CheckSeverity.Ask,\n [SiteFindingCode.NoPrivacyPage]: CheckSeverity.Ask,\n [SiteFindingCode.PrivacyPagePlaceholder]: CheckSeverity.Block,\n [SiteFindingCode.LowContrast]: CheckSeverity.Warn,\n [SiteFindingCode.HeadingOrder]: CheckSeverity.Warn,\n [SiteFindingCode.ImageWithoutAlt]: CheckSeverity.Warn,\n [SiteFindingCode.LiteralColour]: CheckSeverity.Warn,\n [SiteFindingCode.DeadLink]: CheckSeverity.Block,\n [SiteFindingCode.DeadDialogTarget]: CheckSeverity.Block,\n [SiteFindingCode.ActionNeedsConnector]: CheckSeverity.Block,\n};\n\nconst CHECK_OF: Readonly<Record<SiteFindingCode, SiteCheckId>> = {\n [SiteFindingCode.NoHeader]: SiteCheckId.Navigation,\n [SiteFindingCode.NoPhoneMenu]: SiteCheckId.Navigation,\n [SiteFindingCode.FormWithoutId]: SiteCheckId.Forms,\n [SiteFindingCode.EmailNeedsMailer]: SiteCheckId.Forms,\n [SiteFindingCode.TrackerWithoutBanner]: SiteCheckId.Consent,\n [SiteFindingCode.NoTitle]: SiteCheckId.Seo,\n [SiteFindingCode.NoDescription]: SiteCheckId.Seo,\n [SiteFindingCode.UnfilledFact]: SiteCheckId.Facts,\n [SiteFindingCode.CopyPlaceholder]: SiteCheckId.Facts,\n [SiteFindingCode.SampleItems]: SiteCheckId.Facts,\n [SiteFindingCode.StockPhoto]: SiteCheckId.Facts,\n [SiteFindingCode.NoPrivacyPage]: SiteCheckId.Facts,\n [SiteFindingCode.PrivacyPagePlaceholder]: SiteCheckId.Facts,\n [SiteFindingCode.LowContrast]: SiteCheckId.Accessibility,\n [SiteFindingCode.HeadingOrder]: SiteCheckId.Accessibility,\n [SiteFindingCode.ImageWithoutAlt]: SiteCheckId.Accessibility,\n [SiteFindingCode.LiteralColour]: SiteCheckId.Tokens,\n [SiteFindingCode.DeadLink]: SiteCheckId.Actions,\n [SiteFindingCode.DeadDialogTarget]: SiteCheckId.Actions,\n [SiteFindingCode.ActionNeedsConnector]: SiteCheckId.Actions,\n};\n\nexport interface SiteFinding {\n check: SiteCheckId;\n severity: CheckSeverity;\n code: SiteFindingCode;\n /** In plain words, for the screen. */\n message: string;\n pageId?: string;\n nodeId?: string;\n /** The global slot (`header` / `footer`) when it is in a global. */\n owner?: string;\n}\n\nexport interface SiteCheck {\n id: SiteCheckId;\n passed: boolean;\n findings: SiteFinding[];\n}\n\nexport interface SiteAudit {\n checks: SiteCheck[];\n blocking: number;\n asking: number;\n}\n\n/** A page as the gate reads it. */\nexport interface AuditPage {\n id: string;\n name: string;\n route: string;\n layout: ReadonlyArray<SerializedNode>;\n seo?: unknown;\n}\n\n/** A placeholder a build left, and whether the node still shows it (the caller compares the node's text). */\nexport interface AuditPlaceholder extends ComposedPlaceholder {\n pageId?: string;\n filled: boolean;\n}\n\nexport interface SiteAuditSnapshot {\n pages: ReadonlyArray<AuditPage>;\n globals: ReadonlyArray<SerializedNode>;\n /** Connector type → usable (configured or provided, and healthy). */\n connectors: Readonly<Record<string, boolean>>;\n /** Connector types that set a tracker (a consent category) and are configured. */\n trackers?: ReadonlyArray<string>;\n /** The look's token rows and the mode(s) the site wears. */\n design?: { rows: ReadonlyArray<DesignTokenLike>; modes: ReadonlyArray<'light' | 'dark'> } | null;\n placeholders?: ReadonlyArray<AuditPlaceholder>;\n /** Sample items still in the site (`isSample`). */\n samples?: ReadonlyArray<{ contentType: string; id: string; label?: string }>;\n /** Stock photos a build placed that are still on the page. */\n stock?: ReadonlyArray<{ nodeId: string; pageId?: string; owner?: string }>;\n}\n\nexport interface SiteAuditOptions {\n /** Audit as if only this page were being published (its own page checks + every site-wide one). */\n pageId?: string;\n}\n\nconst LINKING_TYPES = new Set(['Link', 'Heading', 'Button', 'ButtonBlock', 'LinkedContainer', 'Image']);\nconst PAGE_LINK = 'page';\nconst PERSONAL_CONTROLS: ReadonlySet<string> = new Set([ControlType.Email, ControlType.Tel, ControlType.Text, ControlType.Textarea]);\nconst PRIVACY_PAGE = /privacy|פרטיות|מדיניות/i;\nconst MAILER = 'mailer';\nconst EMAIL_DELIVERY = 'email';\nconst LITERAL_COLOUR = /#[0-9a-f]{3,8}\\b|rgba?\\(|hsla?\\(/i;\nconst COLOUR_TRAITS = /color|Color|^background$|boxShadow|textShadow/;\nconst HEADING_LEVEL = /^h([1-6])$/;\nconst DIALOG_TYPE = 'Dialog';\nconst SELF = 'self';\n\n/** A route pattern (`/work/:slug`) matches a concrete path (`/work/blue-bowl`). */\nexport function routeMatches(pattern: string, path: string): boolean {\n const a = pattern.split('/').filter(Boolean);\n const b = String(path ?? '').split(/[?#]/)[0].split('/').filter(Boolean);\n return a.length === b.length && a.every((seg, i) => seg.startsWith(':') || seg === b[i]);\n}\n\nconst nonEmpty = (v: unknown) => typeof v === 'string' && v.trim() !== '';\n\n/** A stored SEO field (a string, or `{ override, binding, auto }`) has a value, or may be derived. */\nfunction seoField(raw: unknown, derivable: boolean): boolean {\n if (nonEmpty(raw)) return true;\n if (raw && typeof raw === 'object') {\n const v = raw as { override?: unknown; binding?: unknown; auto?: unknown };\n if (nonEmpty(v.override) || v.binding) return true;\n if (v.auto === false) return false;\n }\n return derivable;\n}\n\nfunction hasContent(layout: ReadonlyArray<SerializedNode>, type: string): boolean {\n let found = false;\n walkSerialized(layout, n => {\n if (n.type !== type || found) return;\n found = nonEmpty(n.props['content']) || n.bindings.some(b => b.prop === 'content');\n });\n return found;\n}\n\ninterface Ctx {\n out: SiteFinding[];\n routes: string[];\n nodeIds: Map<string, string>;\n}\n\nfunction add(ctx: Ctx, code: SiteFindingCode, message: string, where: { pageId?: string; nodeId?: string; owner?: string } = {}): void {\n ctx.out.push({ check: CHECK_OF[code], severity: FINDING_SEVERITY[code], code, message, ...where });\n}\n\n/** Every node of a page or a global, with where it lives. */\nfunction eachNode(snapshot: SiteAuditSnapshot, pages: ReadonlyArray<AuditPage>, visit: (n: SerializedNode, where: { pageId?: string; owner?: string }) => void): void {\n for (const page of pages) walkSerialized(page.layout, n => visit(n, { pageId: page.id }));\n for (const global of snapshot.globals) {\n const owner = global.globalPosition === PatternGlobalPosition.Before ? 'header' : 'footer';\n walkSerialized([global], n => visit(n, { owner }));\n }\n}\n\nfunction checkNavigation(ctx: Ctx, snapshot: SiteAuditSnapshot): void {\n const header = snapshot.globals.find(g => g.globalPosition === PatternGlobalPosition.Before);\n if (!header) return add(ctx, SiteFindingCode.NoHeader, 'The site has no header, so visitors have no menu to move around with.');\n if (!navShapeOf(snapshot.globals)) add(ctx, SiteFindingCode.NoPhoneMenu, 'The header has no phone menu — on a phone its links are hard to reach.', { owner: 'header', nodeId: header.id });\n}\n\nfunction checkForms(ctx: Ctx, snapshot: SiteAuditSnapshot, pages: ReadonlyArray<AuditPage>): boolean {\n let personal = false;\n eachNode(snapshot, pages, (n, where) => {\n if (n.type !== FORM_NODE_TYPE) return;\n const spec = collectFormSpec(n as never);\n if (!spec || !nonEmpty(spec.formId)) add(ctx, SiteFindingCode.FormWithoutId, 'A form has no id, so what visitors send is never stored.', { ...where, nodeId: n.id });\n if (spec?.actions.some(a => a.type === EMAIL_DELIVERY) && snapshot.connectors[MAILER] !== true) {\n add(ctx, SiteFindingCode.EmailNeedsMailer, 'A form emails what visitors send, but Email is not connected — it is stored and never sent.', { ...where, nodeId: n.id });\n }\n walkSerialized(n.children ?? [], f => {\n if (f.type === FIELD_NODE_TYPE && PERSONAL_CONTROLS.has(String(f.props['control'] ?? ControlType.Text))) personal = true;\n });\n });\n return personal;\n}\n\nfunction checkConsent(ctx: Ctx, snapshot: SiteAuditSnapshot): void {\n if (!snapshot.trackers?.length) return;\n let banner = false;\n for (const g of snapshot.globals) walkSerialized([g], n => { if (n.type === DIALOG_TYPE && n.props['consentRole'] === true) banner = true; });\n if (!banner) add(ctx, SiteFindingCode.TrackerWithoutBanner, `${snapshot.trackers.join(', ')} is connected, but the site has no cookie banner — it stays off for every visitor.`);\n}\n\nfunction checkSeo(ctx: Ctx, pages: ReadonlyArray<AuditPage>): void {\n for (const page of pages) {\n const seo = (page.seo ?? {}) as Record<string, unknown>;\n if (!seoField(seo['title'], hasContent(page.layout, 'Heading'))) add(ctx, SiteFindingCode.NoTitle, `\"${page.name}\" has no title for search results.`, { pageId: page.id });\n if (!seoField(seo['description'], hasContent(page.layout, 'Text'))) add(ctx, SiteFindingCode.NoDescription, `\"${page.name}\" has no description for search results.`, { pageId: page.id });\n }\n}\n\nfunction checkFacts(ctx: Ctx, snapshot: SiteAuditSnapshot, pages: ReadonlyArray<AuditPage>, personal: boolean): void {\n const inScope = (p: { pageId?: string }) => !p.pageId || pages.some(page => page.id === p.pageId);\n for (const p of (snapshot.placeholders ?? []).filter(p => !p.filled && inScope(p))) {\n const where = { pageId: p.pageId, nodeId: p.nodeId, ...(p.pageId ? {} : { owner: p.owner }) };\n if (blocksPublish(p.kind)) add(ctx, SiteFindingCode.UnfilledFact, `\"${p.text || p.fact || p.kind}\" is still blank — fill it in before the site goes live.`, where);\n else if (p.kind === PlaceholderKind.Copy) add(ctx, SiteFindingCode.CopyPlaceholder, 'Some words are still the template\\'s.', where);\n }\n for (const s of snapshot.samples ?? []) add(ctx, SiteFindingCode.SampleItems, `\"${s.label ?? s.id}\" is a sample — replace or remove it.`, { nodeId: s.id });\n for (const s of (snapshot.stock ?? []).filter(inScope)) add(ctx, SiteFindingCode.StockPhoto, 'A stock photo stands in for one of yours.', { pageId: s.pageId, nodeId: s.nodeId, owner: s.owner });\n if (!personal) return;\n const privacy = snapshot.pages.find(p => PRIVACY_PAGE.test(p.route) || PRIVACY_PAGE.test(p.name));\n if (!privacy) return add(ctx, SiteFindingCode.NoPrivacyPage, 'A form asks for personal details, and the site has no privacy page saying what you do with them.');\n if ((snapshot.placeholders ?? []).some(p => p.pageId === privacy.id && !p.filled)) {\n add(ctx, SiteFindingCode.PrivacyPagePlaceholder, 'The privacy page still holds template words — only you can write it.', { pageId: privacy.id });\n }\n}\n\nfunction checkAccessibility(ctx: Ctx, snapshot: SiteAuditSnapshot, pages: ReadonlyArray<AuditPage>): void {\n for (const mode of snapshot.design?.modes ?? []) {\n const failing = auditDesignContrast(snapshot.design!.rows, mode).filter(f => !f.pass);\n if (failing.length) add(ctx, SiteFindingCode.LowContrast, `${failing.length} text and background pair(s) are hard to read in ${mode} mode.`);\n }\n for (const page of pages) {\n let last = 0;\n let h1 = 0;\n walkSerialized(page.layout, n => {\n const level = n.type === 'Heading' ? HEADING_LEVEL.exec(String(n.props['level'] ?? ''))?.[1] : undefined;\n if (!level) return;\n const l = Number(level);\n if (l === 1) h1++;\n if (last && l > last + 1) add(ctx, SiteFindingCode.HeadingOrder, `A heading on \"${page.name}\" skips a level (h${last} → h${l}).`, { pageId: page.id, nodeId: n.id });\n last = l;\n });\n if (h1 > 1) add(ctx, SiteFindingCode.HeadingOrder, `\"${page.name}\" has ${h1} main headings (h1); one is clearer.`, { pageId: page.id });\n }\n eachNode(snapshot, pages, (n, where) => {\n if (n.type !== 'Image') return;\n const decorative = n.props['alt'] === '' && n.props['decorative'] === true;\n const bound = n.bindings.some(b => b.prop === 'alt');\n if (!decorative && !bound && !nonEmpty(n.props['alt'])) add(ctx, SiteFindingCode.ImageWithoutAlt, 'A picture has no description for people who cannot see it.', { ...where, nodeId: n.id });\n });\n}\n\nfunction checkTokens(ctx: Ctx, snapshot: SiteAuditSnapshot, pages: ReadonlyArray<AuditPage>): void {\n eachNode(snapshot, pages, (n, where) => {\n if (!n.elementStyle) return;\n const maps: Array<Record<string, unknown> | undefined> = [n.styleProps, ...Object.values(n.stateStyles ?? {}), ...Object.values(n.responsive ?? {}).map(l => l?.styleProps)];\n const literal = maps.some(map => Object.entries(map ?? {}).some(([k, v]) =>\n COLOUR_TRAITS.test(k) && LITERAL_COLOUR.test(String(v)) && !(k === 'borderColor' && n.styleProps['borderWidth'] === '0px')));\n if (literal) add(ctx, SiteFindingCode.LiteralColour, 'An element paints a fixed colour, so a new look will not reach it.', { ...where, nodeId: n.id });\n });\n}\n\nfunction checkActions(ctx: Ctx, snapshot: SiteAuditSnapshot, pages: ReadonlyArray<AuditPage>): void {\n const routeExists = (route: unknown) => typeof route === 'string' && ctx.routes.some(r => routeMatches(r, route));\n eachNode(snapshot, pages, (n, where) => {\n if (LINKING_TYPES.has(n.type) && n.props['linkType'] === PAGE_LINK && !routeExists(n.props['pageRoute'])) {\n add(ctx, SiteFindingCode.DeadLink, `\"${String(n.props['label'] ?? n.props['content'] ?? n.label ?? n.type)}\" links to ${String(n.props['pageRoute'] || 'no page')}, which is not a page of the site.`, { ...where, nodeId: n.id });\n }\n for (const ix of (n.interactions ?? []) as Array<{ actions?: Array<{ type?: string; target?: string; params?: Record<string, unknown>; disabled?: boolean }> }>) {\n for (const action of ix?.actions ?? []) {\n if (!action || action.disabled) continue;\n const descriptor = ELEMENT_ACTION_DESCRIPTORS.find(d => d.type === action.type);\n if (!descriptor) continue;\n const types = descriptor.target?.types;\n if (descriptor.target?.required && action.target !== SELF) {\n const targetType = action.target ? ctx.nodeIds.get(action.target) : undefined;\n if (!targetType || (types && !types.includes(targetType))) {\n add(ctx, SiteFindingCode.DeadDialogTarget, `\"${n.label ?? n.type}\" opens something that is no longer on the site.`, { ...where, nodeId: n.id });\n }\n }\n if (action.type === 'navigate' && action.params?.['navigateTo'] === PAGE_LINK && !routeExists(action.params?.['page'])) {\n add(ctx, SiteFindingCode.DeadLink, `\"${n.label ?? n.type}\" goes to a page the site does not have.`, { ...where, nodeId: n.id });\n }\n // A connector the snapshot does not say is usable is not: unknown is never \"fine\".\n const connectors = descriptor.connector ? { [descriptor.connector]: snapshot.connectors[descriptor.connector] === true } : {};\n const availability = resolveActionAvailability(descriptor, { connectors });\n if (availability.state === 'connector-missing') {\n add(ctx, SiteFindingCode.ActionNeedsConnector, `\"${n.label ?? n.type}\" needs ${availability.connector} connected.`, { ...where, nodeId: n.id });\n }\n }\n }\n });\n}\n\n/** Run the eight checks. `pageId` narrows the page checks to the page being published; site-wide ones always run. */\nexport function auditSite(snapshot: SiteAuditSnapshot, options: SiteAuditOptions = {}): SiteAudit {\n const pages = options.pageId ? snapshot.pages.filter(p => p.id === options.pageId) : snapshot.pages;\n const nodeIds = new Map<string, string>();\n eachNode(snapshot, snapshot.pages, n => nodeIds.set(n.id, n.type));\n const ctx: Ctx = { out: [], routes: snapshot.pages.map(p => p.route), nodeIds };\n checkNavigation(ctx, snapshot);\n const personal = checkForms(ctx, snapshot, pages);\n checkConsent(ctx, snapshot);\n checkSeo(ctx, pages);\n checkFacts(ctx, snapshot, pages, personal);\n checkAccessibility(ctx, snapshot, pages);\n checkTokens(ctx, snapshot, pages);\n checkActions(ctx, snapshot, pages);\n const checks = SITE_CHECKS.map(id => {\n const findings = ctx.out.filter(f => f.check === id);\n return { id, passed: !findings.some(f => f.severity !== CheckSeverity.Warn), findings };\n });\n return {\n checks,\n blocking: ctx.out.filter(f => f.severity === CheckSeverity.Block).length,\n asking: ctx.out.filter(f => f.severity === CheckSeverity.Ask).length,\n };\n}\n\n/** What a publish request must acknowledge: every ASK finding's code (a BLOCK cannot be acknowledged). */\nexport function requiredAcknowledgements(audit: SiteAudit): SiteFindingCode[] {\n return [...new Set(audit.checks.flatMap(c => c.findings).filter(f => f.severity === CheckSeverity.Ask).map(f => f.code))];\n}\n\n/** The publish verdict: blocked (never acknowledgeable), needs these acknowledgements, or free to go. */\nexport function publishVerdict(audit: SiteAudit, acknowledged: ReadonlyArray<string> = []): { ok: boolean; blocked: boolean; missing: SiteFindingCode[] } {\n const missing = requiredAcknowledgements(audit).filter(code => !acknowledged.includes(code));\n const blocked = audit.blocking > 0;\n return { ok: !blocked && missing.length === 0, blocked, missing };\n}\n","import { ComposedSite, PlaceholderKind } from './compose-site';\nimport { patternById } from './patterns';\nimport { createSerializedNode, SerializedNode, walkSerialized } from './serialized-node';\nimport { SitePlan } from './site-plan.model';\n\n/**\n * Stock photos in a built site (AI plan §3g / §3m, I2): a FREE picture from the platform's curated library, copied\n * into the studio's own storage (never hot-linked), placed only in an EMPTY picture slot of a section that may show\n * one — never the owner's work (a collection, a detail page, a gallery: what the nine portfolio types sell is theirs),\n * never a person (testimonials, the team), never anywhere when the business type says `stock: false`. Its alt text is\n * the provider's description of what it shows (never a claim), and the credit line its licence requires is placed in\n * the footer. Pure: the build step does the copying.\n */\n\n/** Where a stock photo comes from (the library's provider). */\nexport enum StockProviderId {\n Magnific = 'magnific',\n}\n\n/** What a picture's licence asks of the site that shows it. */\nexport interface StockCredit {\n provider: `${StockProviderId}`;\n /** The provider's id of the picture. */\n resourceId: string;\n /** The provider's page for it. */\n sourceUrl: string;\n /** The provider's own title — what the picture shows. */\n title: string;\n author: string;\n /** `freemium` — the free licence (premium pictures never enter the library). */\n licence: string;\n licenceUrl: string;\n /** The words the licence requires, and where they link. */\n line: string;\n lineUrl: string;\n}\n\n/** One picture of the platform library (`iox-stock/<type>/`), as its manifest lists it. */\nexport interface StockPhoto {\n /** The library key (`spa/12345.jpg`) — the copy's file name is derived from it. */\n key: string;\n /** Where the build downloads it from (the platform bucket). */\n url: string;\n /** What it shows, in the provider's words — the alt text. Never a claim. */\n alt: string;\n width?: number;\n height?: number;\n credit: StockCredit;\n}\n\n/** The section families a stock photo may stand in for a picture in. */\nexport const STOCK_FAMILIES: ReadonlySet<string> = new Set(['hero', 'feature', 'content', 'story', 'cta', 'contact', 'header']);\n\nexport interface StockSlot {\n /** The Image node the photo goes into. */\n nodeId: string;\n /** The page key it lives on. */\n owner: string;\n pattern: string;\n}\n\n/** The empty picture slots of a composed site a stock photo may fill, in page and section order. */\nexport function stockSlots(plan: SitePlan, composed: Pick<ComposedSite, 'pages' | 'placeholders'>): StockSlot[] {\n const empty = new Set(composed.placeholders.filter(p => p.kind === PlaceholderKind.Image).map(p => p.nodeId));\n const out: StockSlot[] = [];\n composed.pages.forEach((page, p) => {\n page.layout.forEach((root, s) => {\n const pattern = plan.pages[p]?.sections[s]?.pattern;\n const family = patternById(pattern)?.family;\n if (!pattern || !family || !STOCK_FAMILIES.has(family)) return;\n walkSerialized([root], n => {\n if (n.type === 'Image' && empty.has(n.id) && !n.bindings.length) out.push({ nodeId: n.id, owner: page.key, pattern });\n });\n });\n });\n return out;\n}\n\nexport interface StockPlacement extends StockSlot {\n photo: StockPhoto;\n}\n\n/** Which photo goes where: the library's photos in order, one per slot, never twice; none when the type says no stock. */\nexport function planStockPhotos(slots: ReadonlyArray<StockSlot>, photos: ReadonlyArray<StockPhoto>, stockAllowed: boolean): StockPlacement[] {\n if (!stockAllowed) return [];\n return slots.slice(0, photos.length).map((slot, i) => ({ ...slot, photo: photos[i] }));\n}\n\n/** A placed photo's copy in the studio's storage: the key the build writes it under. */\nexport function stockCopyKey(photo: Pick<StockPhoto, 'key'>): string {\n return `media/stock/${photo.key.replace(/[^a-zA-Z0-9._-]+/g, '-')}`;\n}\n\n/** Put the studio's copy of each photo into its slot (src + the provider's alt). Returns the nodes changed. */\nexport function applyStockPhotos(trees: ReadonlyArray<SerializedNode>, placed: ReadonlyArray<{ nodeId: string; url: string; alt: string }>): number {\n const byId = new Map(placed.map(p => [p.nodeId, p]));\n let changed = 0;\n walkSerialized(trees, n => {\n const p = byId.get(n.id);\n if (!p || n.type !== 'Image') return;\n n.props['src'] = p.url;\n n.props['alt'] = p.alt;\n changed++;\n });\n return changed;\n}\n\n/** The credit lines a set of photos needs — one per distinct line (a free Magnific photo: \"Designed by Magnific\"). */\nexport function stockCreditLines(photos: ReadonlyArray<Pick<StockPhoto, 'credit'>>): Array<{ line: string; url: string }> {\n const seen = new Map<string, string>();\n for (const p of photos) if (!seen.has(p.credit.line)) seen.set(p.credit.line, p.credit.lineUrl);\n return [...seen.entries()].map(([line, url]) => ({ line, url }));\n}\n\n/** The footer node id of a credit line (stable — a build that runs twice finds it). */\nexport const stockCreditNodeId = (index: number) => `stock-credit-${index + 1}`;\n\n/**\n * The credit line, as the builder would create a Link (a plain node the owner may move or restyle): the licence's words,\n * linking where it asks, opening in a new tab. Placed at the end of the footer — the place the licence names for a site.\n */\nexport function stockCreditNode(index: number, credit: { line: string; url: string }): SerializedNode {\n return createSerializedNode(stockCreditNodeId(index), 'Link', { label: credit.line, linkType: 'external', url: credit.url, target: '_blank' }, 'link');\n}\n\n/** Append the credit lines to the footer root (once each). Returns how many it added. */\nexport function addStockCredits(footer: SerializedNode, credits: ReadonlyArray<{ line: string; url: string }>): number {\n footer.children ??= [];\n let added = 0;\n credits.forEach((credit, i) => {\n const id = stockCreditNodeId(i);\n if (footer.children!.some(c => c.id === id)) return;\n footer.children!.push(stockCreditNode(i, credit));\n added++;\n });\n return added;\n}\n","/**\n * @vectoriox/iox-ui/generation-core — the shared, FRAMEWORK-FREE site-plan core (design-system plan\n * §6b, W1): the Site Plan shape + its validator, the pattern library and the Studio template (both\n * generated 1:1 from iox-ai-guidance `flavor-spec.v1.json`), and `composeSite` — a plan in, the\n * schemas, sample items, data sources, pages, routes and header/footer globals out, as serialized\n * layout JSON. The website wizard (W2–W4) and the AI agent drive the SAME composer.\n * Pure: no transport, no clock, no randomness. Consumed by iox-cms (the server-side site build), the\n * builder and the engine, so nothing here may import Angular.\n * ⚠️ Consumers wire the usual trio — ng-package raw-ts assets, jest moduleNameMapper, tsconfig paths —\n * or `nest start` dies with ERR_REQUIRE_ESM while jest and build both pass.\n */\nexport * from './site-spec.generated';\nexport * from './node-baseline.model';\nexport * from './node-baselines.generated';\nexport * from './baseline-roles';\nexport * from './site-plan.model';\nexport * from './patterns';\nexport * from './templates';\nexport * from './serialized-node';\nexport * from './shape-check';\nexport * from './json-schema';\nexport * from './validate-site-plan';\nexport * from './compose-site';\nexport * from './nav-shape';\nexport * from './entrances';\nexport * from './plan-data';\nexport * from './site-build-run';\nexport * from './ai-run';\nexport * from './site-plan-schema';\nexport * from './plan-edits';\nexport * from './plan-words';\nexport * from './audit-site';\nexport * from './stock-photos';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["clone","OPTIONAL_MARK","SHAPE","ROUTE_PARAM","isObject","Collector","DIALOG","ICON","TEXT","COMPOSED","nonEmpty","NOTHING","one"],"mappings":"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"}