@wix/web5-core 1.63.43 → 1.63.44

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.
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isHslTriplet","THEME_OVERRIDE_KEY_PATTERN","THEME_TOKEN_CONTRACT","SCHEME_COLOR_TOKENS","Object","freeze","Set","entries","filter","_ref","entry","type","map","_ref2","token","SCHEME_COLOR_VALUE","SCHEME_RADIUS_VALUE","SCHEME_LOOSE_VALUE","MAX_SCHEME_VALUE_LENGTH","SCHEME_ANCHOR_TOKENS","MAX_THEME_SCHEMES","SCHEME_ID_PATTERN","MAX_SCHEME_NAME_LENGTH","isPlainObject","value","Array","isArray","isThemeScheme","id","name","origin","tokens","test","undefined","length","values","every","v","resolveActiveScheme","cfg","themeSchemes","schemes","activeId","activeThemeSchemeId","active","find","scheme","TRIPLET","tripletToRgb","triplet","parts","exec","trim","h","Number","s","l","c","Math","abs","x","m","r","g","b","mix","fg","ratio","bg","round","toTriplet","_ref3","rn","gn","bn","max","min","delta","INHERITED_TOKENS","completeScheme","base","anchors","valid","isSchemeColorValue","fromBase","fromAnchor","out","put","background","foreground","bgChanged","fgChanged","derive","inputsChanged","compute","kept","mixOver","over","primaryTriplet","primary","has","isSchemeTokenEntry","schemeDisplayName","index","nextOwnerSchemeId","taken","n","key","_THEME_TOKEN_CONTRACT"],"sources":["../../../src/theme/themeScheme.ts"],"sourcesContent":["/**\n * Named theme schemes on a site configuration, and the one that is active.\n *\n * A store's theme states a SET of palettes rather than one — Dawn and Horizon\n * ship `scheme-1`..`scheme-5` for the page, the cards, the hero band, the\n * footer. The configuration therefore carries a list of schemes plus the id of\n * the active one, beside the flat `themeOverrides` map it has always had:\n *\n * themeSchemes?: [{ id, name?, origin?, tokens: { '--background': '0 0% 100%', … } }]\n * activeThemeSchemeId?: 'scheme-1'\n *\n * A scheme's `tokens` are finished CSS tokens, spelled exactly as\n * `themeOverrides` spells them — and, like `themeOverrides`, the key set is\n * OPEN. Today's writers put the 18 colour roles (`SCHEME_COLOR_TOKENS`) there,\n * sometimes `--radius`; that a palette may carry shape as well as colour is why\n * this is a THEME scheme and not a colour scheme. A new token (a font stack,\n * something the contract has not catalogued yet) needs no release anywhere but\n * its writer. The server checks only the loose shape `themeOverrides` gets (key\n * `THEME_OVERRIDE_KEY_PATTERN`, a value free of `;`, `{`, `}` and control\n * characters, ≤ 256, at most 24 entries); the typed per-token grammar is the\n * CLIENT's contract, enforced by `isSchemeTokenEntry` before the panel writes.\n * Nothing is expanded at apply time: the reader resolves the active entry and\n * hands its map to `applyThemeOverrides`, which layers it between the store map\n * and the owner's overrides, filtered and bucketed exactly like the store map.\n * A configuration with no schemes renders exactly as it did before they existed.\n *\n * A leaf module beside `tokenContract.ts`, and for the same reason that file\n * documents: requiring core's ENTRY from plain Node fails on its CSS import,\n * but a deep import of a zero-CSS leaf works. It imports only its siblings\n * `./tokenContract` and `./colorFormat`, both leaves themselves.\n *\n * ## `completeScheme` — what the owner panel recomputes\n *\n * The owner edits the four anchors. The rest of the palette has to move with\n * them the way `web50-shopify-adapter/src/theme-tokens.ts` would have moved it\n * had the theme stated those anchors, so the arithmetic below is a COPY of the\n * adapter's (`composite`/`mix`/`toTriplet` and the token assignments at the end\n * of `extractThemeOverrides`), integer rounding included. It is copied rather\n * than shared on purpose: the adapter must not import core.\n *\n * | token | role |\n * | ------------------------ | ------------------------------------------------------ |\n * | `--background` | anchor (else inherited from base) |\n * | `--foreground` | anchor (else inherited from base) |\n * | `--card` | anchor; when not given, derived: foreground 4% over background |\n * | `--card-foreground` | anchor; when not given, derived: = foreground |\n * | `--popover` | derived: = background |\n * | `--popover-foreground` | derived: = foreground |\n * | `--muted` | derived: foreground 4% over background |\n * | `--muted-foreground` | derived: foreground 60% over background |\n * | `--secondary` | derived: primary 10% over background |\n * | `--accent` | derived: primary 10% over background |\n * | `--primary` | inherited from base (the theme's button colour) |\n * | `--primary-foreground` | inherited from base (the theme's button label) |\n * | `--secondary-foreground` | inherited from base (the theme's outline-button label) |\n * | `--accent-foreground` | inherited from base; fallback = primary |\n * | `--ring` | inherited from base; fallback = primary |\n * | `--border` | inherited from base (no fallback — see below) |\n * | `--input` | inherited from base (no fallback — see below) |\n * | `--heading` | inherited from base (no adapter fills it) |\n * | any non-colour key | `--radius`, fonts, unknown: copied from base when valid |\n *\n * \"Inherited\" tokens are ones the adapter reads straight off the theme, which\n * no arithmetic over the anchors can recover. Where base lacks one, the\n * adapter's own fallback applies: `--ring` and `--accent-foreground` are the\n * primary colour. `--border`/`--input` have none — the adapter reconstructs a\n * missing border from the theme's `*_border_opacity` setting, which a token map\n * does not carry — so they are omitted, as the adapter omits them.\n *\n * ## Rounding: why an unchanged input keeps base's value\n *\n * The adapter mixes 8-bit channels parsed from the theme's hex; a scheme only\n * has the integer-rounded triplet, and the hex cannot be recovered from it.\n * Re-deriving from triplets therefore lands a point off now and then — Horizon\n * `color_palette`'s `--muted-foreground` comes back `359 83% 68%` against the\n * adapter's `359 84% 68%`. So a derived token is recomputed only when one of\n * its INPUTS differs from base; otherwise base's value stands. A merchant who\n * edits nothing gets the adapter's map back exactly, and one who edits the\n * background gets the family recomputed.\n *\n * When it is recomputed, triplets convert back to RGB WITHOUT rounding to\n * 8-bit first — that would be a second quantisation the adapter never\n * performs, and enough to move smallflower's `--secondary` from `230 38% 94%`\n * to `230 42% 94%`. The mix result is rounded exactly where the adapter\n * rounds it.\n */\nimport { isHslTriplet } from './colorFormat';\nimport {\n THEME_OVERRIDE_KEY_PATTERN,\n THEME_TOKEN_CONTRACT,\n} from './tokenContract';\n\n/** Where a scheme came from. Any other value on the wire reads as unknown. */\nexport type SchemeOrigin = 'UNKNOWN_SCHEME_ORIGIN' | 'THEME' | 'OWNER';\n\n/** One named palette as the configuration carries it. */\nexport interface ThemeScheme {\n /** `^[a-z0-9][a-z0-9-]{0,31}$`, unique within the list. */\n id: string;\n /** Shown in the owner panel; at most 48 characters. */\n name?: string;\n origin?: SchemeOrigin | string;\n /**\n * Token → value, keys as open as `themeOverrides`': colours as bare HSL\n * triplets (`0 0% 100%`), `--radius` as a length (`0.5rem`), anything else\n * in the loose value shape. See `isSchemeTokenEntry`.\n */\n tokens: Record<string, string>;\n}\n\n/** Every colour role in the contract (`type: 'color-hsl'`, `--heading` included). */\nexport const SCHEME_COLOR_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.type === 'color-hsl')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A scheme colour (`type: 'color-hsl'`): `H S% L%`, single-spaced, no `hsl()`\n * wrapper. Saturation and lightness are additionally capped at 100\n * (`isSchemeColorValue`); hue is bounded only by its three digits.\n */\nconst SCHEME_COLOR_VALUE =\n /^(\\d{1,3}(?:\\.\\d+)?) (\\d{1,3}(?:\\.\\d+)?)% (\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A scheme length (`type: 'length'`, i.e. `--radius`): px/rem/em, unit REQUIRED\n * (`0px`, not `0`). A bare `0` would turn `calc(var(--radius) - 4px)` into\n * invalid CSS — see the `length` note in `tokenContract.ts`.\n */\nconst SCHEME_RADIUS_VALUE = /^\\d{1,4}(?:\\.\\d+)?(?:px|rem|em)$/;\n\n/**\n * Any other scheme value — a font stack, a key the contract has not catalogued:\n * no `;`, `{`, `}` or control character. The server's `themeOverrides` value\n * shape (`^[^;{}\\p{Cntrl}]{1,256}$`); the length is checked separately in\n * UTF-16 units, as the server counts, since a `u`-flag quantifier counts code\n * points.\n */\nconst SCHEME_LOOSE_VALUE = /^[^;{}\\p{Cc}]+$/u;\nconst MAX_SCHEME_VALUE_LENGTH = 256;\n\n/** The four the owner edits, in panel order. Equal to the contract's editable colour tokens. */\nexport const SCHEME_ANCHOR_TOKENS = [\n '--background',\n '--foreground',\n '--card',\n '--card-foreground',\n] as const;\n\nexport type SchemeAnchorToken = (typeof SCHEME_ANCHOR_TOKENS)[number];\n\n/** Upper bound on schemes per configuration. */\nexport const MAX_THEME_SCHEMES = 16;\n\nconst SCHEME_ID_PATTERN = /^[a-z0-9][a-z0-9-]{0,31}$/;\nconst MAX_SCHEME_NAME_LENGTH = 48;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/**\n * Whether an untrusted value has a scheme's SHAPE.\n *\n * Token content is deliberately not judged here: `applyThemeOverrides` drops a\n * malformed key one entry at a time, exactly as it does for the flat store map\n * (and says so), so one bad token costs that token rather than the whole\n * palette. The typed value grammar is `isSchemeTokenEntry`, checked by writers.\n */\nexport function isThemeScheme(value: unknown): value is ThemeScheme {\n if (!isPlainObject(value)) {\n return false;\n }\n const { id, name, origin, tokens } = value;\n if (typeof id !== 'string' || !SCHEME_ID_PATTERN.test(id)) {\n return false;\n }\n if (\n name !== undefined &&\n (typeof name !== 'string' || name.length > MAX_SCHEME_NAME_LENGTH)\n ) {\n return false;\n }\n if (origin !== undefined && typeof origin !== 'string') {\n return false;\n }\n return (\n isPlainObject(tokens) &&\n Object.values(tokens).every((v) => typeof v === 'string')\n );\n}\n\n/**\n * The active scheme: the entry whose id is `activeThemeSchemeId`, else the\n * first entry, else null. Entries failing `isThemeScheme` are skipped first, so\n * a dangling id or a malformed entry falls through to the first usable one.\n */\nexport function resolveActiveScheme(\n cfg:\n | { themeSchemes?: unknown; activeThemeSchemeId?: string | null }\n | null\n | undefined,\n): ThemeScheme | null {\n if (!cfg || !Array.isArray(cfg.themeSchemes)) {\n return null;\n }\n const schemes = cfg.themeSchemes.filter(isThemeScheme);\n if (schemes.length === 0) {\n return null;\n }\n const activeId = cfg.activeThemeSchemeId;\n const active =\n typeof activeId === 'string'\n ? schemes.find((scheme) => scheme.id === activeId)\n : undefined;\n return active ?? schemes[0];\n}\n\n// ── Arithmetic copied from web50-shopify-adapter/src/theme-tokens.ts ────────\n\ninterface Rgb {\n r: number;\n g: number;\n b: number;\n}\n\nconst TRIPLET = /^(\\d{1,3}(?:\\.\\d+)?)\\s+(\\d{1,3}(?:\\.\\d+)?)%\\s+(\\d{1,3}(?:\\.\\d+)?)%$/;\n\n/**\n * A triplet as RGB in 0–255, NOT rounded to 8-bit — see the module header for\n * why. Same conversion as `colorFormat.hslTripletToHex`, minus its rounding.\n */\nfunction tripletToRgb(triplet: string): Rgb | null {\n const parts = TRIPLET.exec(triplet.trim());\n if (!parts || !isHslTriplet(triplet)) {\n return null;\n }\n const h = Number(parts[1]);\n const s = Number(parts[2]) / 100;\n const l = Number(parts[3]) / 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n const [r, g, b] =\n h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x];\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 };\n}\n\n/** Adapter `composite` for an opaque-over-opaque mix, via its `mix`: channels rounded to 8-bit. */\nfunction mix(fg: Rgb, ratio: number, bg: Rgb): Rgb {\n return {\n r: Math.round(fg.r * ratio + bg.r * (1 - ratio)),\n g: Math.round(fg.g * ratio + bg.g * (1 - ratio)),\n b: Math.round(fg.b * ratio + bg.b * (1 - ratio)),\n };\n}\n\n/** Adapter `toTriplet`: `\"H S% L%\"`, integer-rounded. */\nfunction toTriplet({ r, g, b }: Rgb): string {\n const rn = r / 255;\n const gn = g / 255;\n const bn = b / 255;\n const max = Math.max(rn, gn, bn);\n const min = Math.min(rn, gn, bn);\n const l = (max + min) / 2;\n const delta = max - min;\n\n let h = 0;\n let s = 0;\n if (delta !== 0) {\n s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n if (max === rn) {\n h = (gn - bn) / delta + (gn < bn ? 6 : 0);\n } else if (max === gn) {\n h = (bn - rn) / delta + 2;\n } else {\n h = (rn - gn) / delta + 4;\n }\n h *= 60;\n }\n return `${Math.round(h)} ${Math.round(s * 100)}% ${Math.round(l * 100)}%`;\n}\n\n/** Tokens the adapter reads off the theme rather than computing from the anchors. */\nconst INHERITED_TOKENS = [\n '--primary',\n '--primary-foreground',\n '--secondary-foreground',\n '--accent-foreground',\n '--ring',\n '--border',\n '--input',\n '--heading',\n] as const;\n\n/**\n * A full colour-token map for a palette whose anchors the owner just edited.\n *\n * `anchors` win; everything the adapter derives from them is recomputed when\n * one of its inputs changed (and kept from `base` when none did — see \"Rounding\"\n * in the module header); everything it reads directly is taken from `base`.\n * Invalid triplets in either input are ignored, and a derived token whose\n * inputs are unavailable keeps `base`'s value, if any.\n *\n * Returns the whole scheme map, not only its colours: every non-colour entry of\n * `base` that passes `isSchemeTokenEntry` — `--radius`, a font stack, a token\n * this module does not know — is copied as is, so customizing a palette keeps\n * everything it states beyond colour. Every output entry passes\n * `isSchemeTokenEntry`.\n */\nexport function completeScheme(\n base: Record<string, string>,\n anchors: Partial<Record<SchemeAnchorToken, string>>,\n): Record<string, string> {\n // Both checks: `isHslTriplet` is what the arithmetic can convert, and the\n // scheme grammar is what a write accepts — failing either would poison a\n // derivation or get the whole save refused.\n const valid = (value: unknown): string | undefined =>\n typeof value === 'string' &&\n isHslTriplet(value) &&\n isSchemeColorValue(value.trim())\n ? value.trim()\n : undefined;\n const fromBase = (token: string): string | undefined => valid(base[token]);\n const fromAnchor = (token: SchemeAnchorToken): string | undefined =>\n valid(anchors[token]);\n\n const out: Record<string, string> = {};\n const put = (token: string, value: string | undefined): void => {\n if (value !== undefined) {\n out[token] = value;\n }\n };\n\n const background = fromAnchor('--background') ?? fromBase('--background');\n const foreground = fromAnchor('--foreground') ?? fromBase('--foreground');\n const bgChanged = background !== fromBase('--background');\n const fgChanged = foreground !== fromBase('--foreground');\n const bg = background === undefined ? null : tripletToRgb(background);\n const fg = foreground === undefined ? null : tripletToRgb(foreground);\n\n /** base's value while the inputs are unchanged, else the recomputation (else base's). */\n const derive = (\n token: string,\n inputsChanged: boolean,\n compute: () => string | undefined,\n ): string | undefined => {\n const kept = fromBase(token);\n return !inputsChanged && kept !== undefined ? kept : compute() ?? kept;\n };\n const mixOver = (over: Rgb | null, ratio: number) => (): string | undefined =>\n over !== null && bg !== null ? toTriplet(mix(over, ratio, bg)) : undefined;\n\n put('--background', background);\n put('--foreground', foreground);\n put(\n '--card',\n fromAnchor('--card') ??\n derive('--card', bgChanged || fgChanged, mixOver(fg, 0.04)),\n );\n put(\n '--card-foreground',\n fromAnchor('--card-foreground') ??\n derive('--card-foreground', fgChanged, () => foreground),\n );\n put('--popover', derive('--popover', bgChanged, () => background));\n put(\n '--popover-foreground',\n derive('--popover-foreground', fgChanged, () => foreground),\n );\n put('--muted', derive('--muted', bgChanged || fgChanged, mixOver(fg, 0.04)));\n put(\n '--muted-foreground',\n derive('--muted-foreground', bgChanged || fgChanged, mixOver(fg, 0.6)),\n );\n\n for (const token of INHERITED_TOKENS) {\n put(token, fromBase(token));\n }\n // Primary is inherited, so of the button family's inputs only the page can change.\n const primaryTriplet = out['--primary'];\n const primary =\n primaryTriplet === undefined ? null : tripletToRgb(primaryTriplet);\n put('--ring', out['--ring'] ?? primaryTriplet);\n put('--accent-foreground', out['--accent-foreground'] ?? primaryTriplet);\n put('--secondary', derive('--secondary', bgChanged, mixOver(primary, 0.1)));\n put('--accent', derive('--accent', bgChanged, mixOver(primary, 0.1)));\n\n // Not colours, so no arithmetic touches them: the palette keeps its shape,\n // its type, and any token a writer added that this module has never heard of.\n for (const [token, value] of Object.entries(base)) {\n if (!SCHEME_COLOR_TOKENS.has(token) && isSchemeTokenEntry(token, value)) {\n out[token] = value;\n }\n }\n\n return out;\n}\n\n/** The label the panel shows: the trimmed name, else `Palette N` (1-based). */\nexport function schemeDisplayName(scheme: ThemeScheme, index: number): string {\n const name = typeof scheme.name === 'string' ? scheme.name.trim() : '';\n return name !== '' ? name : `Palette ${index + 1}`;\n}\n\n/** `owner-N` with the smallest N ≥ 1 not already taken. */\nexport function nextOwnerSchemeId(schemes: readonly { id: string }[]): string {\n const taken = new Set(schemes.map((scheme) => scheme.id));\n let n = 1;\n while (taken.has(`owner-${n}`)) {\n n += 1;\n }\n return `owner-${n}`;\n}\n\n/** A colour value a scheme may hold: `SCHEME_COLOR_VALUE`, with S and L ≤ 100. */\nfunction isSchemeColorValue(value: string): boolean {\n const parts = SCHEME_COLOR_VALUE.exec(value);\n return parts !== null && Number(parts[2]) <= 100 && Number(parts[3]) <= 100;\n}\n\n/**\n * Whether a key/value pair may be written as a scheme token — the CLIENT's\n * contract, checked before the panel writes and by `completeScheme`.\n *\n * There is no allow-list: any key of the `themeOverrides` shape\n * (`THEME_OVERRIDE_KEY_PATTERN`) is a candidate. The value grammar follows the\n * key's contract type: `color-hsl` → an HSL triplet with S and L ≤ 100;\n * `length` → a px/rem/em length with its unit; anything else (font stacks,\n * keys the contract does not know) → the loose `themeOverrides` value shape.\n *\n * The server enforces only that loose shape for every key, so a `0 101% 50%`\n * colour or a unitless radius would be ACCEPTED there — and render wrong. That\n * is why the panel refuses them here. The renderer does not re-check values.\n */\nexport function isSchemeTokenEntry(key: string, value: unknown): boolean {\n if (typeof value !== 'string' || !THEME_OVERRIDE_KEY_PATTERN.test(key)) {\n return false;\n }\n switch (THEME_TOKEN_CONTRACT[key]?.type) {\n case 'color-hsl':\n return isSchemeColorValue(value);\n case 'length':\n return SCHEME_RADIUS_VALUE.test(value);\n default:\n return (\n value.length <= MAX_SCHEME_VALUE_LENGTH &&\n SCHEME_LOOSE_VALUE.test(value)\n );\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,eAAe;AAC5C,SACEC,0BAA0B,EAC1BC,oBAAoB,QACf,iBAAiB;;AAExB;;AAGA;;AAeA;AACA,OAAO,MAAMC,mBAAwC,GAAGC,MAAM,CAACC,MAAM,CACnE,IAAIC,GAAG,CACLF,MAAM,CAACG,OAAO,CAACL,oBAAoB,CAAC,CACjCM,MAAM,CAACC,IAAA;EAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAACC,IAAI,KAAK,WAAW;AAAA,EAAC,CACjDC,GAAG,CAACC,KAAA;EAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA,EAC3B,CACF,CAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtB,iEAAiE;;AAEnE;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,kCAAkC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,uBAAuB,GAAG,GAAG;;AAEnC;AACA,OAAO,MAAMC,oBAAoB,GAAG,CAClC,cAAc,EACd,cAAc,EACd,QAAQ,EACR,mBAAmB,CACX;AAIV;AACA,OAAO,MAAMC,iBAAiB,GAAG,EAAE;AAEnC,MAAMC,iBAAiB,GAAG,2BAA2B;AACrD,MAAM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","ignoreList":[]}
@@ -172,6 +172,13 @@ export const BRAND_TOKENS = Object.freeze(new Set(Object.entries(THEME_TOKEN_CON
172
172
  */
173
173
  export const TOKEN_NAME_PATTERN = /^--[a-z0-9-]+$/;
174
174
 
175
+ /**
176
+ * The key shape the server accepts in `themeOverrides`, `userThemeOverrides`
177
+ * and a theme scheme's `tokens` (its `Consts.ThemeOverrideKeyPattern`). Stricter
178
+ * than `TOKEN_NAME_PATTERN`: a letter after the dashes, at most 65 characters.
179
+ */
180
+ export const THEME_OVERRIDE_KEY_PATTERN = /^--[a-z][a-z0-9-]{0,62}$/;
181
+
175
182
  /**
176
183
  * What the owner's panel offers, in the order it offers it.
177
184
  *
@@ -1 +1 @@
1
- {"version":3,"names":["brandColor","label","bucket","type","editable","undefined","THEME_TOKEN_CONTRACT","Object","freeze","BRAND_TOKENS","Set","entries","filter","_ref","entry","map","_ref2","token","TOKEN_NAME_PATTERN","EDITABLE_TOKENS","_ref3","hostAliasFor","slice","bucketOf","_THEME_TOKEN_CONTRACT"],"sources":["../../../src/theme/tokenContract.ts"],"sourcesContent":["/**\n * The theme-token contract (DL #193).\n *\n * One home for the answer to \"who is allowed to set this token, and who wins\n * when more than one of them does\". Three things need that answer and must not\n * each keep their own copy:\n *\n * - **`applyThemeOverrides`** decides, per key, whether to write the real\n * token or its `--web5-host-*` alias.\n * - **the seed's `validate-templates`** fails a template that sets a brand\n * token.\n * - **the shop owner's panel** renders a control per `editable` entry.\n *\n * A leaf module beside `hostScope.ts`, and for the same reason: both are data\n * that several packages must agree on, and both have to be readable from plain\n * Node tooling. Requiring this package's ENTRY from Node fails — the CSS import\n * in it is a syntax error to the CJS loader, which is what `scope-css.ts`\n * documents — but a deep import of a leaf like this one works, so the seed's\n * validator can read it without loading a component library.\n *\n * It was briefly its own package. That was justified by `embed-loader` needing\n * the list without taking core's eleven dependencies — and the loader turned\n * out not to need it at all, because `applyThemeOverrides` has owned runtime\n * token injection here since DL #131.\n *\n * ## The two buckets\n *\n * The split is about who WINS, not about what may be imported. A platform\n * adapter is free to read anything the store states; the bucket decides what\n * happens when a template has an opinion about the same token.\n *\n * - `brand` — the store's identity: colour roles and font families. The\n * imported value is written as the real token, last, so it wins\n * unconditionally. A template is not permitted to set these.\n * - `host` — the store's shape: corner radius today. The imported value is\n * written as `--web5-host-<name>` and consumed by core as a `var()`\n * fallback, so a template stating the real token beats it and a template\n * that stays silent inherits the store's.\n *\n * A token absent from this map is treated as `host`. That is deliberate and\n * safe: an alias nothing consumes renders nothing, so an adapter that learns\n * to read a token core has never heard of cannot override a template by\n * accident. The wiring line in core is the real gate for a host token, not the\n * entry here.\n *\n * ## Why all but one are brand\n *\n * This is not a new taxonomy. Twenty of these are the set\n * `web50-shopify-adapter` already emits, with a bucket attached; the\n * twenty-first, `--heading`, has been in core's catalogue since DL #131 and is\n * consumed by the seed, but no adapter fills it yet. Exactly one token changes\n * hands relative to the behaviour before DL #193 — `--radius`, which used to\n * win against the template that had chosen a different one. That single\n * misfiling is the whole of the bug this contract exists to fix.\n */\n\n/** How a value is spelled, which is what makes validation possible. */\nexport type TokenType =\n /** An HSL triplet with no `hsl()` wrapper — `0 0% 9%`. The core bridge wraps it. */\n | 'color-hsl'\n /** A CSS font stack — `'Poppins', ui-sans-serif, sans-serif`. */\n | 'font-stack'\n /** A CSS length. MUST carry a unit: a bare `0` turns `calc(var(--radius) - 4px)`\n * into a type error and takes the derived radius scale out entirely. */\n | 'length';\n\n/** Which layer wins when both a store and a template state this token. */\nexport type TokenBucket = 'brand' | 'host';\n\nexport interface TokenContractEntry {\n bucket: TokenBucket;\n type: TokenType;\n /** May the shop owner set this from the panel? */\n editable: boolean;\n /** Shown in the owner's panel. Absent for entries that are not editable. */\n label?: string;\n}\n\n/**\n * A colour role. Giving one a label is what puts it in the owner's panel.\n *\n * The two travel together on purpose: `editable` without a label is a control\n * with no name, and a label on a token nobody may set is a promise the panel\n * cannot keep. One argument, one decision.\n *\n * Labels are the merchant's words rather than the token's — \"Card background\",\n * not \"card\". Someone choosing their shop's colours is not reading a design\n * system, and `--primary-foreground` is not a colour anyone picks: it is\n * whatever stays legible ON primary, which the theme derives. Exposing the\n * derived half is how a panel produces white text on a white button.\n *\n * Only FOUR carry a label (product request, 2026-09-09): the page's surface and\n * text, and a card's. They are the four a shop owner can point at on the page\n * and name without being taught the vocabulary, and — unlike `--secondary`,\n * `--accent` or `--muted`, which the importer MIXES from the anchors — they are\n * independent of each other, so setting one cannot contradict the arithmetic\n * that produced another. Everything else stays import-only: the store still\n * fills it, the panel just does not offer it.\n */\nconst brandColor = (label?: string): TokenContractEntry => ({\n bucket: 'brand',\n type: 'color-hsl',\n editable: label !== undefined,\n ...(label === undefined ? {} : { label }),\n});\n\n/**\n * Every token a platform adapter may meaningfully emit today.\n *\n * Growth is adapter-driven on purpose: a token joins when an adapter can\n * actually read it, not on spec. `theme_overrides` is capped at 32 entries by\n * its proto, so there are twelve slots left and no reason to spend them on\n * speculation. `--spacing` is the tempting next one and should be resisted —\n * it scales every `p-*`, `m-*` and `gap-*` in the bundle from one number.\n */\nexport const THEME_TOKEN_CONTRACT: Readonly<Record<string, TokenContractEntry>> =\n Object.freeze({\n // ── brand · colour roles (18) ────────────────────────────────────────────\n '--background': brandColor('Background color'),\n '--foreground': brandColor('Text color'),\n '--card': brandColor('Card background'),\n '--card-foreground': brandColor('Card text'),\n '--popover': brandColor(),\n '--popover-foreground': brandColor(),\n '--primary': brandColor(),\n '--primary-foreground': brandColor(),\n '--secondary': brandColor(),\n '--secondary-foreground': brandColor(),\n '--muted': brandColor(),\n '--muted-foreground': brandColor(),\n '--accent': brandColor(),\n '--accent-foreground': brandColor(),\n '--border': brandColor(),\n '--input': brandColor(),\n '--ring': brandColor(),\n\n /**\n * Brand-shaped and supported end to end, but no adapter fills it yet: the\n * seed consumes it (`--color-heading-fg: hsl(var(--heading, var(--foreground)))`)\n * and core has catalogued it since DL #131, while `web50-shopify-adapter`\n * emits the other twenty. A store that states a distinct heading colour has\n * somewhere for it to go the moment an adapter learns to read one.\n */\n '--heading': brandColor(),\n\n // ── brand · type (2) ─────────────────────────────────────────────────────\n '--font-sans': { bucket: 'brand', type: 'font-stack', editable: false },\n '--font-display': { bucket: 'brand', type: 'font-stack', editable: false },\n\n // ── host · shape (1) ─────────────────────────────────────────────────────\n /**\n * The one token whose bucket changed, and the reason this contract exists.\n * A store's imported radius still reaches the page as `--web5-host-radius`\n * and a template still beats it; what changed is that the OWNER no longer\n * gets a control for it — the panel is four colours now, and shape is not\n * one of them.\n */\n '--radius': {\n bucket: 'host',\n type: 'length',\n editable: false,\n },\n });\n\n/**\n * The tokens written directly, which is the only question the loader has to\n * answer per key — everything else takes the alias path.\n */\nexport const BRAND_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.bucket === 'brand')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A token name we are willing to compose into a CSS declaration.\n *\n * The keys reaching the loader came out of a backend map, which came out of an\n * adapter reading a merchant's theme file. A key carrying `:` or `;` would\n * write arbitrary declarations onto the mount, so the shape is checked where\n * the declaration is built rather than trusted from the source.\n */\nexport const TOKEN_NAME_PATTERN = /^--[a-z0-9-]+$/;\n\n/**\n * What the owner's panel offers, in the order it offers it.\n *\n * Derived from the contract rather than listed again beside it, so a token\n * cannot be editable in one place and absent from the other. The order is the\n * declaration order above, which reads outside-in — the page, then its text,\n * then the card drawn on it, then the card's text — and is a better first\n * impression than alphabetical or than the order the tokens happen to be\n * defined for CSS.\n */\nexport const EDITABLE_TOKENS: readonly (readonly [\n token: string,\n entry: TokenContractEntry,\n])[] = Object.freeze(\n Object.entries(THEME_TOKEN_CONTRACT).filter(([, entry]) => entry.editable),\n) as readonly (readonly [string, TokenContractEntry])[];\n\n/** `--radius` → `--web5-host-radius`. Derived, never stored: one fewer thing to get wrong. */\nexport function hostAliasFor(token: string): string {\n return `--web5-host-${token.slice(2)}`;\n}\n\n/** Whether this token is written directly (brand) or as an alias (host, and anything unknown). */\nexport function bucketOf(token: string): TokenBucket {\n return THEME_TOKEN_CONTRACT[token]?.bucket ?? 'host';\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAUA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,UAAU,GAAIC,KAAc,KAA0B;EAC1DC,MAAM,EAAE,OAAO;EACfC,IAAI,EAAE,WAAW;EACjBC,QAAQ,EAAEH,KAAK,KAAKI,SAAS;EAC7B,IAAIJ,KAAK,KAAKI,SAAS,GAAG,CAAC,CAAC,GAAG;IAAEJ;EAAM,CAAC;AAC1C,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,oBAAkE,GAC7EC,MAAM,CAACC,MAAM,CAAC;EACZ;EACA,cAAc,EAAER,UAAU,CAAC,kBAAkB,CAAC;EAC9C,cAAc,EAAEA,UAAU,CAAC,YAAY,CAAC;EACxC,QAAQ,EAAEA,UAAU,CAAC,iBAAiB,CAAC;EACvC,mBAAmB,EAAEA,UAAU,CAAC,WAAW,CAAC;EAC5C,WAAW,EAAEA,UAAU,CAAC,CAAC;EACzB,sBAAsB,EAAEA,UAAU,CAAC,CAAC;EACpC,WAAW,EAAEA,UAAU,CAAC,CAAC;EACzB,sBAAsB,EAAEA,UAAU,CAAC,CAAC;EACpC,aAAa,EAAEA,UAAU,CAAC,CAAC;EAC3B,wBAAwB,EAAEA,UAAU,CAAC,CAAC;EACtC,SAAS,EAAEA,UAAU,CAAC,CAAC;EACvB,oBAAoB,EAAEA,UAAU,CAAC,CAAC;EAClC,UAAU,EAAEA,UAAU,CAAC,CAAC;EACxB,qBAAqB,EAAEA,UAAU,CAAC,CAAC;EACnC,UAAU,EAAEA,UAAU,CAAC,CAAC;EACxB,SAAS,EAAEA,UAAU,CAAC,CAAC;EACvB,QAAQ,EAAEA,UAAU,CAAC,CAAC;EAEtB;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,WAAW,EAAEA,UAAU,CAAC,CAAC;EAEzB;EACA,aAAa,EAAE;IAAEE,MAAM,EAAE,OAAO;IAAEC,IAAI,EAAE,YAAY;IAAEC,QAAQ,EAAE;EAAM,CAAC;EACvE,gBAAgB,EAAE;IAAEF,MAAM,EAAE,OAAO;IAAEC,IAAI,EAAE,YAAY;IAAEC,QAAQ,EAAE;EAAM,CAAC;EAE1E;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,UAAU,EAAE;IACVF,MAAM,EAAE,MAAM;IACdC,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA,OAAO,MAAMK,YAAiC,GAAGF,MAAM,CAACC,MAAM,CAC5D,IAAIE,GAAG,CACLH,MAAM,CAACI,OAAO,CAACL,oBAAoB,CAAC,CACjCM,MAAM,CAACC,IAAA;EAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAACZ,MAAM,KAAK,OAAO;AAAA,EAAC,CAC/Ca,GAAG,CAACC,KAAA;EAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA,EAC3B,CACF,CAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAG,gBAAgB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAGT,GAAGZ,MAAM,CAACC,MAAM,CAClBD,MAAM,CAACI,OAAO,CAACL,oBAAoB,CAAC,CAACM,MAAM,CAACQ,KAAA;EAAA,IAAC,GAAGN,KAAK,CAAC,GAAAM,KAAA;EAAA,OAAKN,KAAK,CAACV,QAAQ;AAAA,EAC3E,CAAuD;;AAEvD;AACA,OAAO,SAASiB,YAAYA,CAACJ,KAAa,EAAU;EAClD,OAAO,eAAeA,KAAK,CAACK,KAAK,CAAC,CAAC,CAAC,EAAE;AACxC;;AAEA;AACA,OAAO,SAASC,QAAQA,CAACN,KAAa,EAAe;EAAA,IAAAO,qBAAA;EACnD,OAAO,EAAAA,qBAAA,GAAAlB,oBAAoB,CAACW,KAAK,CAAC,qBAA3BO,qBAAA,CAA6BtB,MAAM,KAAI,MAAM;AACtD","ignoreList":[]}
1
+ {"version":3,"names":["brandColor","label","bucket","type","editable","undefined","THEME_TOKEN_CONTRACT","Object","freeze","BRAND_TOKENS","Set","entries","filter","_ref","entry","map","_ref2","token","TOKEN_NAME_PATTERN","THEME_OVERRIDE_KEY_PATTERN","EDITABLE_TOKENS","_ref3","hostAliasFor","slice","bucketOf","_THEME_TOKEN_CONTRACT"],"sources":["../../../src/theme/tokenContract.ts"],"sourcesContent":["/**\n * The theme-token contract (DL #193).\n *\n * One home for the answer to \"who is allowed to set this token, and who wins\n * when more than one of them does\". Three things need that answer and must not\n * each keep their own copy:\n *\n * - **`applyThemeOverrides`** decides, per key, whether to write the real\n * token or its `--web5-host-*` alias.\n * - **the seed's `validate-templates`** fails a template that sets a brand\n * token.\n * - **the shop owner's panel** renders a control per `editable` entry.\n *\n * A leaf module beside `hostScope.ts`, and for the same reason: both are data\n * that several packages must agree on, and both have to be readable from plain\n * Node tooling. Requiring this package's ENTRY from Node fails — the CSS import\n * in it is a syntax error to the CJS loader, which is what `scope-css.ts`\n * documents — but a deep import of a leaf like this one works, so the seed's\n * validator can read it without loading a component library.\n *\n * It was briefly its own package. That was justified by `embed-loader` needing\n * the list without taking core's eleven dependencies — and the loader turned\n * out not to need it at all, because `applyThemeOverrides` has owned runtime\n * token injection here since DL #131.\n *\n * ## The two buckets\n *\n * The split is about who WINS, not about what may be imported. A platform\n * adapter is free to read anything the store states; the bucket decides what\n * happens when a template has an opinion about the same token.\n *\n * - `brand` — the store's identity: colour roles and font families. The\n * imported value is written as the real token, last, so it wins\n * unconditionally. A template is not permitted to set these.\n * - `host` — the store's shape: corner radius today. The imported value is\n * written as `--web5-host-<name>` and consumed by core as a `var()`\n * fallback, so a template stating the real token beats it and a template\n * that stays silent inherits the store's.\n *\n * A token absent from this map is treated as `host`. That is deliberate and\n * safe: an alias nothing consumes renders nothing, so an adapter that learns\n * to read a token core has never heard of cannot override a template by\n * accident. The wiring line in core is the real gate for a host token, not the\n * entry here.\n *\n * ## Why all but one are brand\n *\n * This is not a new taxonomy. Twenty of these are the set\n * `web50-shopify-adapter` already emits, with a bucket attached; the\n * twenty-first, `--heading`, has been in core's catalogue since DL #131 and is\n * consumed by the seed, but no adapter fills it yet. Exactly one token changes\n * hands relative to the behaviour before DL #193 — `--radius`, which used to\n * win against the template that had chosen a different one. That single\n * misfiling is the whole of the bug this contract exists to fix.\n */\n\n/** How a value is spelled, which is what makes validation possible. */\nexport type TokenType =\n /** An HSL triplet with no `hsl()` wrapper — `0 0% 9%`. The core bridge wraps it. */\n | 'color-hsl'\n /** A CSS font stack — `'Poppins', ui-sans-serif, sans-serif`. */\n | 'font-stack'\n /** A CSS length. MUST carry a unit: a bare `0` turns `calc(var(--radius) - 4px)`\n * into a type error and takes the derived radius scale out entirely. */\n | 'length';\n\n/** Which layer wins when both a store and a template state this token. */\nexport type TokenBucket = 'brand' | 'host';\n\nexport interface TokenContractEntry {\n bucket: TokenBucket;\n type: TokenType;\n /** May the shop owner set this from the panel? */\n editable: boolean;\n /** Shown in the owner's panel. Absent for entries that are not editable. */\n label?: string;\n}\n\n/**\n * A colour role. Giving one a label is what puts it in the owner's panel.\n *\n * The two travel together on purpose: `editable` without a label is a control\n * with no name, and a label on a token nobody may set is a promise the panel\n * cannot keep. One argument, one decision.\n *\n * Labels are the merchant's words rather than the token's — \"Card background\",\n * not \"card\". Someone choosing their shop's colours is not reading a design\n * system, and `--primary-foreground` is not a colour anyone picks: it is\n * whatever stays legible ON primary, which the theme derives. Exposing the\n * derived half is how a panel produces white text on a white button.\n *\n * Only FOUR carry a label (product request, 2026-09-09): the page's surface and\n * text, and a card's. They are the four a shop owner can point at on the page\n * and name without being taught the vocabulary, and — unlike `--secondary`,\n * `--accent` or `--muted`, which the importer MIXES from the anchors — they are\n * independent of each other, so setting one cannot contradict the arithmetic\n * that produced another. Everything else stays import-only: the store still\n * fills it, the panel just does not offer it.\n */\nconst brandColor = (label?: string): TokenContractEntry => ({\n bucket: 'brand',\n type: 'color-hsl',\n editable: label !== undefined,\n ...(label === undefined ? {} : { label }),\n});\n\n/**\n * Every token a platform adapter may meaningfully emit today.\n *\n * Growth is adapter-driven on purpose: a token joins when an adapter can\n * actually read it, not on spec. `theme_overrides` is capped at 32 entries by\n * its proto, so there are twelve slots left and no reason to spend them on\n * speculation. `--spacing` is the tempting next one and should be resisted —\n * it scales every `p-*`, `m-*` and `gap-*` in the bundle from one number.\n */\nexport const THEME_TOKEN_CONTRACT: Readonly<Record<string, TokenContractEntry>> =\n Object.freeze({\n // ── brand · colour roles (18) ────────────────────────────────────────────\n '--background': brandColor('Background color'),\n '--foreground': brandColor('Text color'),\n '--card': brandColor('Card background'),\n '--card-foreground': brandColor('Card text'),\n '--popover': brandColor(),\n '--popover-foreground': brandColor(),\n '--primary': brandColor(),\n '--primary-foreground': brandColor(),\n '--secondary': brandColor(),\n '--secondary-foreground': brandColor(),\n '--muted': brandColor(),\n '--muted-foreground': brandColor(),\n '--accent': brandColor(),\n '--accent-foreground': brandColor(),\n '--border': brandColor(),\n '--input': brandColor(),\n '--ring': brandColor(),\n\n /**\n * Brand-shaped and supported end to end, but no adapter fills it yet: the\n * seed consumes it (`--color-heading-fg: hsl(var(--heading, var(--foreground)))`)\n * and core has catalogued it since DL #131, while `web50-shopify-adapter`\n * emits the other twenty. A store that states a distinct heading colour has\n * somewhere for it to go the moment an adapter learns to read one.\n */\n '--heading': brandColor(),\n\n // ── brand · type (2) ─────────────────────────────────────────────────────\n '--font-sans': { bucket: 'brand', type: 'font-stack', editable: false },\n '--font-display': { bucket: 'brand', type: 'font-stack', editable: false },\n\n // ── host · shape (1) ─────────────────────────────────────────────────────\n /**\n * The one token whose bucket changed, and the reason this contract exists.\n * A store's imported radius still reaches the page as `--web5-host-radius`\n * and a template still beats it; what changed is that the OWNER no longer\n * gets a control for it — the panel is four colours now, and shape is not\n * one of them.\n */\n '--radius': {\n bucket: 'host',\n type: 'length',\n editable: false,\n },\n });\n\n/**\n * The tokens written directly, which is the only question the loader has to\n * answer per key — everything else takes the alias path.\n */\nexport const BRAND_TOKENS: ReadonlySet<string> = Object.freeze(\n new Set(\n Object.entries(THEME_TOKEN_CONTRACT)\n .filter(([, entry]) => entry.bucket === 'brand')\n .map(([token]) => token),\n ),\n) as ReadonlySet<string>;\n\n/**\n * A token name we are willing to compose into a CSS declaration.\n *\n * The keys reaching the loader came out of a backend map, which came out of an\n * adapter reading a merchant's theme file. A key carrying `:` or `;` would\n * write arbitrary declarations onto the mount, so the shape is checked where\n * the declaration is built rather than trusted from the source.\n */\nexport const TOKEN_NAME_PATTERN = /^--[a-z0-9-]+$/;\n\n/**\n * The key shape the server accepts in `themeOverrides`, `userThemeOverrides`\n * and a theme scheme's `tokens` (its `Consts.ThemeOverrideKeyPattern`). Stricter\n * than `TOKEN_NAME_PATTERN`: a letter after the dashes, at most 65 characters.\n */\nexport const THEME_OVERRIDE_KEY_PATTERN = /^--[a-z][a-z0-9-]{0,62}$/;\n\n/**\n * What the owner's panel offers, in the order it offers it.\n *\n * Derived from the contract rather than listed again beside it, so a token\n * cannot be editable in one place and absent from the other. The order is the\n * declaration order above, which reads outside-in — the page, then its text,\n * then the card drawn on it, then the card's text — and is a better first\n * impression than alphabetical or than the order the tokens happen to be\n * defined for CSS.\n */\nexport const EDITABLE_TOKENS: readonly (readonly [\n token: string,\n entry: TokenContractEntry,\n])[] = Object.freeze(\n Object.entries(THEME_TOKEN_CONTRACT).filter(([, entry]) => entry.editable),\n) as readonly (readonly [string, TokenContractEntry])[];\n\n/** `--radius` → `--web5-host-radius`. Derived, never stored: one fewer thing to get wrong. */\nexport function hostAliasFor(token: string): string {\n return `--web5-host-${token.slice(2)}`;\n}\n\n/** Whether this token is written directly (brand) or as an alias (host, and anything unknown). */\nexport function bucketOf(token: string): TokenBucket {\n return THEME_TOKEN_CONTRACT[token]?.bucket ?? 'host';\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,5 +17,5 @@ export type ThemeOverrides = Record<ThemeOverrideKey, string>;
17
17
  * who wins when a store and a template disagree.
18
18
  */
19
19
  export declare const THEME_OVERRIDE_TOKENS: ReadonlySet<string>;
20
- export declare function applyThemeOverrides(overrides?: Record<string, string> | null, userOverrides?: Record<string, string> | null): void;
20
+ export declare function applyThemeOverrides(overrides?: Record<string, string> | null, userOverrides?: Record<string, string> | null, schemeTokens?: Record<string, string> | null): void;
21
21
  //# sourceMappingURL=applyThemeOverrides.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyThemeOverrides.d.ts","sourceRoot":"","sources":["../../../src/client/applyThemeOverrides.ts"],"names":[],"mappings":"AAuDA,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,MAAM,EAAE,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAErD,CAAC;AAsBF,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,EACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAC5C,IAAI,CAkEN"}
1
+ {"version":3,"file":"applyThemeOverrides.d.ts","sourceRoot":"","sources":["../../../src/client/applyThemeOverrides.ts"],"names":[],"mappings":"AAyEA,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,MAAM,EAAE,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAErD,CAAC;AA8BF,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,EACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,EAC7C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAC3C,IAAI,CAyEN"}
@@ -5,8 +5,8 @@ export declare const THEME_DEBUG_QUERY_PARAM = "web5DebugTheme";
5
5
  export declare const isThemeDebugEnabled: () => boolean;
6
6
  /** Test seam — the flag is memoized for the page, so tests must be able to clear it. */
7
7
  export declare const resetThemeDebugCache: () => void;
8
- /** Which layer asked for a value: the platform import, or a human. */
9
- export type ThemeOverrideSource = 'store' | 'user';
8
+ /** Which layer asked for a value: the platform import, the active theme scheme, or a human. */
9
+ export type ThemeOverrideSource = 'store' | 'scheme' | 'user';
10
10
  /** One token as it was actually written to the mount rule. */
11
11
  export interface AppliedToken {
12
12
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"themeDebug.d.ts","sourceRoot":"","sources":["../../../src/client/themeDebug.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAQxD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,QAAO,OAyBtC,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAWD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAqFjE"}
1
+ {"version":3,"file":"themeDebug.d.ts","sourceRoot":"","sources":["../../../src/client/themeDebug.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAQxD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,QAAO,OAyBtC,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAC;AAEF,+FAA+F;AAC/F,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAWD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAiGjE"}
@@ -89,7 +89,8 @@ export { getClientBundleOverride, isTrustedBundleHost, } from './client/clientBu
89
89
  export { TEMPLATES_CDN_BASE, TEMPLATES_MANIFEST_URL, getTemplateOverride, isTemplatePickerRequested, isValidTemplateId, resolveClientBundleUrl, } from './client/clientBundleUrl';
90
90
  export { mergeClientConfig, type DeepPartial, } from './client/mergeClientConfig';
91
91
  export { applyThemeOverrides, THEME_OVERRIDE_TOKENS, type ThemeOverrideKey, type ThemeOverrides, } from './client/applyThemeOverrides';
92
- export { THEME_TOKEN_CONTRACT, BRAND_TOKENS, EDITABLE_TOKENS, TOKEN_NAME_PATTERN, bucketOf, hostAliasFor, type TokenBucket, type TokenContractEntry, type TokenType, } from './theme/tokenContract';
92
+ export { THEME_TOKEN_CONTRACT, BRAND_TOKENS, EDITABLE_TOKENS, TOKEN_NAME_PATTERN, THEME_OVERRIDE_KEY_PATTERN, bucketOf, hostAliasFor, type TokenBucket, type TokenContractEntry, type TokenType, } from './theme/tokenContract';
93
+ export { SCHEME_COLOR_TOKENS, MAX_THEME_SCHEMES, SCHEME_ANCHOR_TOKENS, completeScheme, isThemeScheme, isSchemeTokenEntry, nextOwnerSchemeId, resolveActiveScheme, schemeDisplayName, type ThemeScheme, type SchemeAnchorToken, type SchemeOrigin, } from './theme/themeScheme';
93
94
  export { isThemeDebugEnabled, THEME_DEBUG_KEY, THEME_DEBUG_QUERY_PARAM, type AppliedToken, type ThemeOverrideSource, } from './client/themeDebug';
94
95
  export { hexToHslTriplet, hslTripletToHex, isHslTriplet, } from './theme/colorFormat';
95
96
  export { PlacementResponseRenderer, PlacementSmoothHeight, type PlacementResponseRendererProps, type PlacementSection, type PlacementVariant, } from './components/placement/PlacementResponseRenderer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /** Where a scheme came from. Any other value on the wire reads as unknown. */
2
+ export type SchemeOrigin = 'UNKNOWN_SCHEME_ORIGIN' | 'THEME' | 'OWNER';
3
+ /** One named palette as the configuration carries it. */
4
+ export interface ThemeScheme {
5
+ /** `^[a-z0-9][a-z0-9-]{0,31}$`, unique within the list. */
6
+ id: string;
7
+ /** Shown in the owner panel; at most 48 characters. */
8
+ name?: string;
9
+ origin?: SchemeOrigin | string;
10
+ /**
11
+ * Token → value, keys as open as `themeOverrides`': colours as bare HSL
12
+ * triplets (`0 0% 100%`), `--radius` as a length (`0.5rem`), anything else
13
+ * in the loose value shape. See `isSchemeTokenEntry`.
14
+ */
15
+ tokens: Record<string, string>;
16
+ }
17
+ /** Every colour role in the contract (`type: 'color-hsl'`, `--heading` included). */
18
+ export declare const SCHEME_COLOR_TOKENS: ReadonlySet<string>;
19
+ /** The four the owner edits, in panel order. Equal to the contract's editable colour tokens. */
20
+ export declare const SCHEME_ANCHOR_TOKENS: readonly ["--background", "--foreground", "--card", "--card-foreground"];
21
+ export type SchemeAnchorToken = (typeof SCHEME_ANCHOR_TOKENS)[number];
22
+ /** Upper bound on schemes per configuration. */
23
+ export declare const MAX_THEME_SCHEMES = 16;
24
+ /**
25
+ * Whether an untrusted value has a scheme's SHAPE.
26
+ *
27
+ * Token content is deliberately not judged here: `applyThemeOverrides` drops a
28
+ * malformed key one entry at a time, exactly as it does for the flat store map
29
+ * (and says so), so one bad token costs that token rather than the whole
30
+ * palette. The typed value grammar is `isSchemeTokenEntry`, checked by writers.
31
+ */
32
+ export declare function isThemeScheme(value: unknown): value is ThemeScheme;
33
+ /**
34
+ * The active scheme: the entry whose id is `activeThemeSchemeId`, else the
35
+ * first entry, else null. Entries failing `isThemeScheme` are skipped first, so
36
+ * a dangling id or a malformed entry falls through to the first usable one.
37
+ */
38
+ export declare function resolveActiveScheme(cfg: {
39
+ themeSchemes?: unknown;
40
+ activeThemeSchemeId?: string | null;
41
+ } | null | undefined): ThemeScheme | null;
42
+ /**
43
+ * A full colour-token map for a palette whose anchors the owner just edited.
44
+ *
45
+ * `anchors` win; everything the adapter derives from them is recomputed when
46
+ * one of its inputs changed (and kept from `base` when none did — see "Rounding"
47
+ * in the module header); everything it reads directly is taken from `base`.
48
+ * Invalid triplets in either input are ignored, and a derived token whose
49
+ * inputs are unavailable keeps `base`'s value, if any.
50
+ *
51
+ * Returns the whole scheme map, not only its colours: every non-colour entry of
52
+ * `base` that passes `isSchemeTokenEntry` — `--radius`, a font stack, a token
53
+ * this module does not know — is copied as is, so customizing a palette keeps
54
+ * everything it states beyond colour. Every output entry passes
55
+ * `isSchemeTokenEntry`.
56
+ */
57
+ export declare function completeScheme(base: Record<string, string>, anchors: Partial<Record<SchemeAnchorToken, string>>): Record<string, string>;
58
+ /** The label the panel shows: the trimmed name, else `Palette N` (1-based). */
59
+ export declare function schemeDisplayName(scheme: ThemeScheme, index: number): string;
60
+ /** `owner-N` with the smallest N ≥ 1 not already taken. */
61
+ export declare function nextOwnerSchemeId(schemes: readonly {
62
+ id: string;
63
+ }[]): string;
64
+ /**
65
+ * Whether a key/value pair may be written as a scheme token — the CLIENT's
66
+ * contract, checked before the panel writes and by `completeScheme`.
67
+ *
68
+ * There is no allow-list: any key of the `themeOverrides` shape
69
+ * (`THEME_OVERRIDE_KEY_PATTERN`) is a candidate. The value grammar follows the
70
+ * key's contract type: `color-hsl` → an HSL triplet with S and L ≤ 100;
71
+ * `length` → a px/rem/em length with its unit; anything else (font stacks,
72
+ * keys the contract does not know) → the loose `themeOverrides` value shape.
73
+ *
74
+ * The server enforces only that loose shape for every key, so a `0 101% 50%`
75
+ * colour or a unitless radius would be ACCEPTED there — and render wrong. That
76
+ * is why the panel refuses them here. The renderer does not re-check values.
77
+ */
78
+ export declare function isSchemeTokenEntry(key: string, value: unknown): boolean;
79
+ //# sourceMappingURL=themeScheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeScheme.d.ts","sourceRoot":"","sources":["../../../src/theme/themeScheme.ts"],"names":[],"mappings":"AA4FA,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvE,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC/B;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAM5B,CAAC;AA2BzB,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,0EAKvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAQpC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAqBlE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EACC;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/D,IAAI,GACJ,SAAS,GACZ,WAAW,GAAG,IAAI,CAcpB;AA0FD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoFxB;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAO5E;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAevE"}
@@ -96,6 +96,12 @@ export declare const BRAND_TOKENS: ReadonlySet<string>;
96
96
  * the declaration is built rather than trusted from the source.
97
97
  */
98
98
  export declare const TOKEN_NAME_PATTERN: RegExp;
99
+ /**
100
+ * The key shape the server accepts in `themeOverrides`, `userThemeOverrides`
101
+ * and a theme scheme's `tokens` (its `Consts.ThemeOverrideKeyPattern`). Stricter
102
+ * than `TOKEN_NAME_PATTERN`: a letter after the dashes, at most 65 characters.
103
+ */
104
+ export declare const THEME_OVERRIDE_KEY_PATTERN: RegExp;
99
105
  /**
100
106
  * What the owner's panel offers, in the order it offers it.
101
107
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tokenContract.d.ts","sourceRoot":"","sources":["../../../src/theme/tokenContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,uEAAuE;AACvE,MAAM,MAAM,SAAS;AACnB,oFAAoF;AAClF,WAAW;AACb,iEAAiE;GAC/D,YAAY;AACd;yEACyE;GACvE,QAAQ,CAAC;AAEb,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8BD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CA+C1E,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAMrB,CAAC;AAEzB;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,SAAS;IAC/C,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,kBAAkB;CAC1B,CAAC,EAEqD,CAAC;AAExD,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAEnD"}
1
+ {"version":3,"file":"tokenContract.d.ts","sourceRoot":"","sources":["../../../src/theme/tokenContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,uEAAuE;AACvE,MAAM,MAAM,SAAS;AACnB,oFAAoF;AAClF,WAAW;AACb,iEAAiE;GAC/D,YAAY;AACd;yEACyE;GACvE,QAAQ,CAAC;AAEb,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8BD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CA+C1E,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAMrB,CAAC;AAEzB;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAA6B,CAAC;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,SAAS;IAC/C,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,kBAAkB;CAC1B,CAAC,EAEqD,CAAC;AAExD,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAEnD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wix/web5-core",
3
3
  "license": "MIT",
4
- "version": "1.63.43",
4
+ "version": "1.63.44",
5
5
  "author": {
6
6
  "name": "tsachis",
7
7
  "email": "tsachis@wix.com"
@@ -100,5 +100,5 @@
100
100
  "wallaby": {
101
101
  "autoDetect": true
102
102
  },
103
- "falconPackageHash": "61ea33428d703bad453251e4919f72ae82eebd82918c3693271ee74d"
103
+ "falconPackageHash": "a8f9d2f5f65d9049ad197fd47d3e47c6852fe450be81c0e67de91d7e"
104
104
  }