@sentropic/h2a 0.97.1 → 0.97.3

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.
Files changed (149) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/dist/bin.js +13 -0
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +14 -3
  7. package/dist/cli.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/mcp.d.ts +1 -1
  10. package/dist/mcp.d.ts.map +1 -1
  11. package/dist/mcp.js +1 -0
  12. package/dist/mcp.js.map +1 -1
  13. package/dist/runtime/identity/bindings.d.ts.map +1 -1
  14. package/dist/runtime/identity/bindings.js +16 -1
  15. package/dist/runtime/identity/bindings.js.map +1 -1
  16. package/dist/runtime/identity/live.d.ts.map +1 -1
  17. package/dist/runtime/identity/live.js +15 -9
  18. package/dist/runtime/identity/live.js.map +1 -1
  19. package/dist/runtime/local-files/locks.d.ts +20 -0
  20. package/dist/runtime/local-files/locks.d.ts.map +1 -1
  21. package/dist/runtime/local-files/locks.js +42 -2
  22. package/dist/runtime/local-files/locks.js.map +1 -1
  23. package/dist/runtime/local-files/store.d.ts.map +1 -1
  24. package/dist/runtime/local-files/store.js +42 -4
  25. package/dist/runtime/local-files/store.js.map +1 -1
  26. package/dist/runtime/mcp/agent-launch.d.ts +2 -0
  27. package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
  28. package/dist/runtime/mcp/agent-launch.js +11 -0
  29. package/dist/runtime/mcp/agent-launch.js.map +1 -1
  30. package/dist/runtime/mcp/discovery-pagination.d.ts +73 -0
  31. package/dist/runtime/mcp/discovery-pagination.d.ts.map +1 -0
  32. package/dist/runtime/mcp/discovery-pagination.js +446 -0
  33. package/dist/runtime/mcp/discovery-pagination.js.map +1 -0
  34. package/dist/runtime/mcp/frame-budget.d.ts +149 -0
  35. package/dist/runtime/mcp/frame-budget.d.ts.map +1 -0
  36. package/dist/runtime/mcp/frame-budget.js +275 -0
  37. package/dist/runtime/mcp/frame-budget.js.map +1 -0
  38. package/dist/runtime/mcp/handlers.d.ts +14 -3
  39. package/dist/runtime/mcp/handlers.d.ts.map +1 -1
  40. package/dist/runtime/mcp/handlers.js +22 -1
  41. package/dist/runtime/mcp/handlers.js.map +1 -1
  42. package/dist/runtime/mcp/index.d.ts +1 -0
  43. package/dist/runtime/mcp/index.d.ts.map +1 -1
  44. package/dist/runtime/mcp/index.js +1 -0
  45. package/dist/runtime/mcp/index.js.map +1 -1
  46. package/dist/runtime/mcp/notifications.d.ts +13 -1
  47. package/dist/runtime/mcp/notifications.d.ts.map +1 -1
  48. package/dist/runtime/mcp/notifications.js +36 -20
  49. package/dist/runtime/mcp/notifications.js.map +1 -1
  50. package/dist/runtime/mcp/payload-store.d.ts +67 -0
  51. package/dist/runtime/mcp/payload-store.d.ts.map +1 -0
  52. package/dist/runtime/mcp/payload-store.js +242 -0
  53. package/dist/runtime/mcp/payload-store.js.map +1 -0
  54. package/dist/runtime/mcp/phase-trace.d.ts +98 -0
  55. package/dist/runtime/mcp/phase-trace.d.ts.map +1 -0
  56. package/dist/runtime/mcp/phase-trace.js +179 -0
  57. package/dist/runtime/mcp/phase-trace.js.map +1 -0
  58. package/dist/runtime/mcp/server.d.ts +13 -1
  59. package/dist/runtime/mcp/server.d.ts.map +1 -1
  60. package/dist/runtime/mcp/server.js +57 -3
  61. package/dist/runtime/mcp/server.js.map +1 -1
  62. package/dist/runtime/mcp/stdio.d.ts.map +1 -1
  63. package/dist/runtime/mcp/stdio.js +176 -15
  64. package/dist/runtime/mcp/stdio.js.map +1 -1
  65. package/dist/runtime/mcp/tools.d.ts.map +1 -1
  66. package/dist/runtime/mcp/tools.js +35 -4
  67. package/dist/runtime/mcp/tools.js.map +1 -1
  68. package/dist/runtime/mcp-central.d.ts.map +1 -1
  69. package/dist/runtime/mcp-central.js +17 -7
  70. package/dist/runtime/mcp-central.js.map +1 -1
  71. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts.map +1 -1
  72. package/dist/runtime/mcp-http/hosted-mcp-server.js +16 -6
  73. package/dist/runtime/mcp-http/hosted-mcp-server.js.map +1 -1
  74. package/dist/runtime/mcp-http/readonly-allowlist.d.ts.map +1 -1
  75. package/dist/runtime/mcp-http/readonly-allowlist.js +3 -0
  76. package/dist/runtime/mcp-http/readonly-allowlist.js.map +1 -1
  77. package/focus-app/client/_app/immutable/chunks/BgBtu3IQ.js +2 -0
  78. package/focus-app/client/_app/immutable/chunks/BgBtu3IQ.js.br +0 -0
  79. package/focus-app/client/_app/immutable/chunks/BgBtu3IQ.js.gz +0 -0
  80. package/focus-app/client/_app/immutable/entry/{app.D1IjBbSs.js → app.D_yfk55R.js} +2 -2
  81. package/focus-app/client/_app/immutable/entry/app.D_yfk55R.js.br +0 -0
  82. package/focus-app/client/_app/immutable/entry/app.D_yfk55R.js.gz +0 -0
  83. package/focus-app/client/_app/immutable/entry/start.CoQWYNTs.js +1 -0
  84. package/focus-app/client/_app/immutable/entry/start.CoQWYNTs.js.br +2 -0
  85. package/focus-app/client/_app/immutable/entry/start.CoQWYNTs.js.gz +0 -0
  86. package/focus-app/client/_app/immutable/nodes/{1.CcZFi3uA.js → 1.Jo1uWTw0.js} +1 -1
  87. package/focus-app/client/_app/immutable/nodes/1.Jo1uWTw0.js.br +4 -0
  88. package/focus-app/client/_app/immutable/nodes/1.Jo1uWTw0.js.gz +0 -0
  89. package/focus-app/client/_app/version.json +1 -1
  90. package/focus-app/client/_app/version.json.br +0 -0
  91. package/focus-app/client/_app/version.json.gz +0 -0
  92. package/focus-app/h2a-focus.json +61 -61
  93. package/focus-app/handler.js +8 -8
  94. package/focus-app/index.js +8 -8
  95. package/focus-app/server/chunks/chunks/{AppShell.js-BDEpw0ai.js → AppShell.js-BoWxjmfr.js} +2 -2
  96. package/focus-app/server/chunks/chunks/{AppShell.js-BDEpw0ai.js.map → AppShell.js-BoWxjmfr.js.map} +1 -1
  97. package/focus-app/server/chunks/chunks/{exports.js-BZfNcFtJ.js → exports.js-D45A8dcc.js} +3 -3
  98. package/focus-app/server/chunks/chunks/{exports.js-BZfNcFtJ.js.map → exports.js-D45A8dcc.js.map} +1 -1
  99. package/focus-app/server/chunks/chunks/{index.js--xmWq8-W.js → index.js-e3L5MwfB.js} +2 -2
  100. package/focus-app/server/chunks/chunks/{index.js--xmWq8-W.js.map → index.js-e3L5MwfB.js.map} +1 -1
  101. package/focus-app/server/chunks/chunks/{internal.js-o4rWftwV.js → internal.js-DAV-A6NO.js} +3 -3
  102. package/focus-app/server/chunks/chunks/{internal.js-o4rWftwV.js.map → internal.js-DAV-A6NO.js.map} +1 -1
  103. package/focus-app/server/chunks/chunks/{root.js-ve7Sv8eD.js → root.js-CEypm32A.js} +2 -2
  104. package/focus-app/server/chunks/chunks/{root.js-ve7Sv8eD.js.map → root.js-CEypm32A.js.map} +1 -1
  105. package/focus-app/server/chunks/chunks/{utils.js-h3jETFNR.js → utils.js-Bzpr6vQU.js} +406 -141
  106. package/focus-app/server/chunks/chunks/utils.js-Bzpr6vQU.js.map +1 -0
  107. package/focus-app/server/chunks/entries/endpoints/api/actions/launch/{_server.ts.js-DVeNoSe-.js → _server.ts.js-Cah_Ivgw.js} +2 -2
  108. package/focus-app/server/chunks/entries/endpoints/api/actions/launch/{_server.ts.js-DVeNoSe-.js.map → _server.ts.js-Cah_Ivgw.js.map} +1 -1
  109. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-CLfZIM0I.js → _server.ts.js-DW5wvcgH.js} +2 -2
  110. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-CLfZIM0I.js.map → _server.ts.js-DW5wvcgH.js.map} +1 -1
  111. package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/{_server.ts.js-DNQwbxOr.js → _server.ts.js-C2jIx8Jr.js} +2 -2
  112. package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/{_server.ts.js-DNQwbxOr.js.map → _server.ts.js-C2jIx8Jr.js.map} +1 -1
  113. package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/{_server.ts.js-BqneXTTN.js → _server.ts.js-BkAMLcHu.js} +2 -2
  114. package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/{_server.ts.js-BqneXTTN.js.map → _server.ts.js-BkAMLcHu.js.map} +1 -1
  115. package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-VpNJnNVG.js → error.svelte.js-BWuS92Wk.js} +5 -5
  116. package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-VpNJnNVG.js.map → error.svelte.js-BWuS92Wk.js.map} +1 -1
  117. package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-D_Rgb6oH.js → _layout.svelte.js-CKspI0Bw.js} +3 -3
  118. package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-D_Rgb6oH.js.map → _layout.svelte.js-CKspI0Bw.js.map} +1 -1
  119. package/focus-app/server/chunks/entries/pages/{_page.svelte.js-2a7ZxK1n.js → _page.svelte.js-B8EWZmZj.js} +4 -4
  120. package/focus-app/server/chunks/entries/pages/{_page.svelte.js-2a7ZxK1n.js.map → _page.svelte.js-B8EWZmZj.js.map} +1 -1
  121. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/{_page.svelte.js-Bl_4XjaL.js → _page.svelte.js-BZvcKeya.js} +4 -4
  122. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/{_page.svelte.js-Bl_4XjaL.js.map → _page.svelte.js-BZvcKeya.js.map} +1 -1
  123. package/focus-app/server/chunks/{handler-B897YV9_.js → handler-BCBpURX0.js} +4 -4
  124. package/focus-app/server/chunks/{handler-B897YV9_.js.map → handler-BCBpURX0.js.map} +1 -1
  125. package/focus-app/server/chunks/{index.js-BkPsDsTn.js → index.js-CZWB6FqQ.js} +5 -5
  126. package/focus-app/server/chunks/{index.js-BkPsDsTn.js.map → index.js-CZWB6FqQ.js.map} +1 -1
  127. package/focus-app/server/chunks/{manifest.js-DZ6J-aM3.js → manifest.js-C2CyTiUe.js} +10 -10
  128. package/focus-app/server/chunks/{manifest.js-DZ6J-aM3.js.map → manifest.js-C2CyTiUe.js.map} +1 -1
  129. package/focus-app/server/chunks/nodes/{0.js-tlwNtUnO.js → 0.js-Cp9RMJ1x.js} +2 -2
  130. package/focus-app/server/chunks/nodes/{0.js-tlwNtUnO.js.map → 0.js-Cp9RMJ1x.js.map} +1 -1
  131. package/focus-app/server/chunks/nodes/1.js-DMWmTj0d.js +9 -0
  132. package/focus-app/server/chunks/nodes/{1.js-mLYMqMM3.js.map → 1.js-DMWmTj0d.js.map} +1 -1
  133. package/focus-app/server/chunks/nodes/{2.js-C_y8BeMm.js → 2.js-Dv8Q6LQc.js} +2 -2
  134. package/focus-app/server/chunks/nodes/{2.js-C_y8BeMm.js.map → 2.js-Dv8Q6LQc.js.map} +1 -1
  135. package/focus-app/server/chunks/nodes/{3.js-13r5MUAa.js → 3.js-DJH-zOae.js} +2 -2
  136. package/focus-app/server/chunks/nodes/{3.js-13r5MUAa.js.map → 3.js-DJH-zOae.js.map} +1 -1
  137. package/package.json +3 -3
  138. package/focus-app/client/_app/immutable/chunks/DAAR3e-c.js +0 -2
  139. package/focus-app/client/_app/immutable/chunks/DAAR3e-c.js.br +0 -0
  140. package/focus-app/client/_app/immutable/chunks/DAAR3e-c.js.gz +0 -0
  141. package/focus-app/client/_app/immutable/entry/app.D1IjBbSs.js.br +0 -0
  142. package/focus-app/client/_app/immutable/entry/app.D1IjBbSs.js.gz +0 -0
  143. package/focus-app/client/_app/immutable/entry/start.DHa1k4dG.js +0 -1
  144. package/focus-app/client/_app/immutable/entry/start.DHa1k4dG.js.br +0 -2
  145. package/focus-app/client/_app/immutable/entry/start.DHa1k4dG.js.gz +0 -0
  146. package/focus-app/client/_app/immutable/nodes/1.CcZFi3uA.js.br +0 -0
  147. package/focus-app/client/_app/immutable/nodes/1.CcZFi3uA.js.gz +0 -0
  148. package/focus-app/server/chunks/chunks/utils.js-h3jETFNR.js.map +0 -1
  149. package/focus-app/server/chunks/nodes/1.js-mLYMqMM3.js +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"_layout.svelte.js-D_Rgb6oH.js","sources":["../../../../../node_modules/@sentropic/design-system-tokens/dist/foundation.js","../../../../../node_modules/@sentropic/design-system-tokens/dist/semantic.js","../../../../../node_modules/@sentropic/design-system-tokens/dist/component.js","../../../../../node_modules/@sentropic/design-system-tokens/dist/css.js","../../../../../.svelte-kit/output/server/entries/pages/_layout.svelte.js"],"sourcesContent":["export const foundation = {\n color: {\n blue: {\n 10: \"oklch(97% 0.02 242)\",\n 60: \"oklch(50% 0.134 242.749)\",\n 80: \"oklch(32% 0.11 242)\"\n },\n cyan: {\n 10: \"oklch(96% 0.04 195)\",\n 50: \"oklch(70.4% 0.14 182.503)\",\n 70: \"oklch(48% 0.12 190)\"\n },\n slate: {\n 0: \"#ffffff\",\n 10: \"#f8fafc\",\n 20: \"#e2e8f0\",\n 60: \"#475569\",\n 80: \"#1e293b\",\n 90: \"#0f172a\"\n },\n feedback: {\n success: \"#16a34a\",\n warning: \"#d97706\",\n error: \"#dc2626\",\n info: \"#2563eb\"\n }\n },\n font: {\n sans: \"Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\n display: \"Inter, system-ui, sans-serif\",\n mono: \"'SFMono-Regular', Consolas, 'Liberation Mono', monospace\"\n },\n spacing: {\n 0: \"0\",\n 1: \"0.25rem\",\n 2: \"0.5rem\",\n 3: \"0.75rem\",\n 4: \"1rem\",\n 6: \"1.5rem\",\n 8: \"2rem\",\n 12: \"3rem\",\n 16: \"4rem\"\n },\n radius: {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n pill: \"999px\"\n },\n shadow: {\n subtle: \"0 1px 2px rgb(15 23 42 / 0.08)\",\n medium: \"0 8px 24px rgb(15 23 42 / 0.12)\",\n floating: \"0 18px 45px rgb(15 23 42 / 0.18)\"\n },\n motion: {\n fast: \"120ms\",\n normal: \"180ms\",\n slow: \"280ms\",\n easing: \"cubic-bezier(0.4, 0, 0.2, 1)\"\n },\n z: {\n header: 50,\n toast: 60,\n overlay: 80,\n modal: 100,\n chat: 110\n },\n // --- Anatomy primitives (Phase 1) ----------------------------------------\n // Border weights — controls how heavy outlines/dividers read per theme.\n borderWidth: {\n none: \"0\",\n thin: \"1px\",\n thick: \"2px\"\n },\n // Default stroke style for control borders.\n borderStyle: {\n solid: \"solid\"\n },\n // Density grid: control geometry per size token. controlHeight is the target\n // box height; paddingBlock/Inline are intrinsic insets; gap is the inline\n // gap between icon + label; minWidth is the smallest allowed control width.\n density: {\n sm: {\n controlHeight: \"2rem\", // 32px\n paddingBlock: \"0\",\n paddingInline: \"0.75rem\",\n gap: \"0.375rem\",\n minWidth: \"2rem\"\n },\n md: {\n controlHeight: \"2.5rem\", // 40px\n paddingBlock: \"0\",\n paddingInline: \"1rem\",\n gap: \"0.5rem\",\n minWidth: \"2.5rem\"\n },\n lg: {\n controlHeight: \"3rem\", // 48px\n paddingBlock: \"0\",\n paddingInline: \"1.25rem\",\n gap: \"0.5rem\",\n minWidth: \"3rem\"\n }\n },\n // Typography by role. Each role is a self-contained set of text properties so\n // a theme can re-shape headings/labels/links without touching components.\n typography: {\n // Buttons / interactive control labels.\n control: {\n family: \"var(--st-font-sans)\",\n size: \"0.9375rem\", // 15px\n weight: \"600\",\n lineHeight: \"1.2\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"none\",\n decorationThickness: \"auto\",\n decorationOffset: \"auto\"\n },\n // Form field input text.\n field: {\n family: \"var(--st-font-sans)\",\n size: \"1rem\", // 16px\n weight: \"400\",\n lineHeight: \"1.5\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"none\",\n decorationThickness: \"auto\",\n decorationOffset: \"auto\"\n },\n // Field labels / form group legends.\n label: {\n family: \"var(--st-font-sans)\",\n size: \"0.875rem\", // 14px\n weight: \"600\",\n lineHeight: \"1.4\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"none\",\n decorationThickness: \"auto\",\n decorationOffset: \"auto\"\n },\n // Hyperlinks.\n link: {\n family: \"inherit\",\n size: \"inherit\",\n weight: \"inherit\",\n lineHeight: \"inherit\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"underline\",\n decorationThickness: \"auto\",\n decorationOffset: \"0.18em\"\n }\n },\n // Multiplier applied to disabled controls.\n disabledOpacity: \"0.55\",\n // Shared interaction transition tokens (consumed by anatomy `transition`).\n transition: {\n property: \"background-color, border-color, color, box-shadow, outline-color\",\n duration: \"120ms\",\n easing: \"cubic-bezier(0.4, 0, 0.2, 1)\"\n },\n // Pointer affordance roles.\n cursor: {\n interactive: \"pointer\",\n disabled: \"not-allowed\",\n text: \"text\"\n },\n // Inline icon sizing per control size token.\n iconSize: {\n sm: \"1rem\",\n md: \"1.125rem\",\n lg: \"1.25rem\"\n },\n // FOCUS STRATEGY = first-class primitive. The `strategy` selects WHICH CSS\n // technique a shared mixin uses (outline | ring | inset | double); the other\n // fields parametrise it. This is what lets DSFR (offset outline), Carbon\n // (inset box-shadow) and the base differ by *technique*, not just values.\n focus: {\n strategy: \"outline\", // outline | ring | inset | double\n width: \"2px\",\n offset: \"2px\",\n color: \"var(--st-semantic-border-interactive)\",\n inset: \"0\" // inset distance used by the `inset` strategy\n },\n // FIELD STYLE = first-class primitive (anatomy v1.2.0). Selects how form\n // fields are drawn: `outline` (boxed, 4 equal borders — the base Sent Tech\n // look) vs `filled-underline` (filled background + a single bottom rule —\n // the DSFR/Carbon signature). `fillBg`/`underlineColor`/`underlineWidth` are\n // only consumed when style = filled-underline; for `outline` the builder uses\n // surface.default + border.subtle. Themes override this block to switch style.\n field: {\n style: \"outline\", // outline | filled-underline\n fillBg: \"var(--st-semantic-surface-default)\",\n underlineColor: \"var(--st-semantic-border-strong)\",\n underlineWidth: \"1px\"\n }\n};\n//# sourceMappingURL=foundation.js.map","import { foundation } from \"./foundation.js\";\nexport const semantic = {\n surface: {\n default: foundation.color.slate[0],\n subtle: foundation.color.slate[10],\n raised: foundation.color.slate[0],\n inverse: foundation.color.slate[90],\n overlay: \"rgb(15 23 42 / 0.48)\"\n },\n text: {\n primary: foundation.color.slate[90],\n secondary: foundation.color.slate[60],\n muted: \"#64748b\",\n inverse: foundation.color.slate[0],\n link: foundation.color.blue[60]\n },\n border: {\n subtle: foundation.color.slate[20],\n strong: \"#94a3b8\",\n interactive: foundation.color.blue[60]\n },\n action: {\n primary: foundation.color.blue[60],\n // Darker primary used on :hover (anatomy v1.1.0 — states.hover.bg).\n primaryHover: foundation.color.blue[80],\n primaryText: foundation.color.slate[0],\n secondary: foundation.color.slate[10],\n // Slightly stronger neutral for the secondary :hover surface.\n secondaryHover: foundation.color.slate[20],\n secondaryText: foundation.color.slate[90],\n danger: foundation.color.feedback.error\n },\n feedback: {\n success: foundation.color.feedback.success,\n warning: foundation.color.feedback.warning,\n error: foundation.color.feedback.error,\n info: foundation.color.feedback.info\n },\n status: {\n pending: foundation.color.feedback.warning,\n processing: foundation.color.feedback.info,\n completed: foundation.color.feedback.success,\n failed: foundation.color.feedback.error\n },\n data: {\n category1: \"#4E79A7\",\n category2: \"#F28E2B\",\n category3: \"#E15759\",\n category4: \"#76B7B2\",\n category5: \"#59A14F\",\n category6: \"#EDC948\",\n category7: \"#B07AA1\",\n category8: \"#FF9DA7\"\n }\n};\n//# sourceMappingURL=semantic.js.map","import { foundation } from \"./foundation.js\";\nimport { semantic } from \"./semantic.js\";\n// Defaults used when a theme omits an anatomy primitive. These mirror the base\n// foundation so the OUTPUT is always a complete, typed ComponentAnatomy.\nconst FALLBACK = {\n borderWidth: { none: \"0\", thin: \"1px\", thick: \"2px\" },\n borderStyle: \"solid\",\n density: {\n // fontSize per size (v1.1.0): md mirrors the control typography size; sm/lg\n // carry the label scale so the font rides with the control geometry.\n sm: { controlHeight: \"2rem\", paddingBlock: \"0\", paddingInline: \"0.75rem\", gap: \"0.375rem\", minWidth: \"2rem\", fontSize: \"0.875rem\" },\n md: { controlHeight: \"2.5rem\", paddingBlock: \"0\", paddingInline: \"1rem\", gap: \"0.5rem\", minWidth: \"2.5rem\", fontSize: \"0.9375rem\" },\n lg: { controlHeight: \"3rem\", paddingBlock: \"0\", paddingInline: \"1.25rem\", gap: \"0.5rem\", minWidth: \"3rem\", fontSize: \"1rem\" }\n },\n typography: {\n control: { family: \"var(--st-font-sans)\", size: \"0.9375rem\", weight: \"600\", lineHeight: \"1.2\", letterSpacing: \"0\", textTransform: \"none\", textDecoration: \"none\", decorationThickness: \"auto\", decorationOffset: \"auto\" },\n field: { family: \"var(--st-font-sans)\", size: \"1rem\", weight: \"400\", lineHeight: \"1.5\", letterSpacing: \"0\", textTransform: \"none\", textDecoration: \"none\", decorationThickness: \"auto\", decorationOffset: \"auto\" },\n label: { family: \"var(--st-font-sans)\", size: \"0.875rem\", weight: \"600\", lineHeight: \"1.4\", letterSpacing: \"0\", textTransform: \"none\", textDecoration: \"none\", decorationThickness: \"auto\", decorationOffset: \"auto\" },\n // Base/DSFR links are underlined at rest → underline on hover is a no-op.\n // decorationThicknessHover / decorationOffsetHover default to rest metrics so\n // themes that do not animate underline geometry (Sent Tech / Carbon) stay\n // stable without phantom var requirements.\n link: {\n family: \"inherit\", size: \"inherit\", weight: \"inherit\", lineHeight: \"inherit\", letterSpacing: \"0\", textTransform: \"none\",\n textDecoration: \"underline\", decorationThickness: \"auto\", decorationOffset: \"0.18em\",\n decorationThicknessHover: \"auto\", decorationOffsetHover: \"0.18em\", textDecorationHover: \"underline\"\n }\n },\n disabledOpacity: \"0.55\",\n transition: { property: \"background-color, border-color, color, box-shadow, outline-color\", duration: \"120ms\", easing: \"cubic-bezier(0.4, 0, 0.2, 1)\" },\n cursor: { interactive: \"pointer\", disabled: \"not-allowed\", text: \"text\" },\n iconSize: { sm: \"1rem\", md: \"1.125rem\", lg: \"1.25rem\" },\n focus: { strategy: \"outline\", width: \"2px\", offset: \"2px\", color: \"var(--st-semantic-border-interactive)\", inset: \"0\" },\n // Field style fallback = boxed outline (base Sent Tech). underlineColor /\n // underlineWidth are inert for outline; they only drive filled-underline.\n // v1.6.0: radiusTop/radiusBottom \"\" = inherit the theme's shape radius\n // (resolved in fieldOf).\n // v1.4.0: selectAppearance \"auto\" (native arrow, base unchanged), no chevron,\n // and the prior 2rem right arrow gap.\n field: { style: \"outline\", fillBg: \"\", underlineColor: \"\", underlineWidth: \"1px\", radiusTop: \"\", radiusBottom: \"\", selectAppearance: \"auto\", selectChevron: \"none\", selectPaddingRight: \"2rem\" }\n};\nfunction densityOf(f, size) {\n const base = FALLBACK.density[size];\n const themed = f.density?.[size] ?? {};\n return {\n controlHeight: themed.controlHeight ?? base.controlHeight,\n paddingBlock: themed.paddingBlock ?? base.paddingBlock,\n paddingInline: themed.paddingInline ?? base.paddingInline,\n gap: themed.gap ?? base.gap,\n minWidth: themed.minWidth ?? base.minWidth,\n fontSize: themed.fontSize ?? base.fontSize\n };\n}\n/**\n * Button density (F9): the shared control density for `size`, overlaid with any\n * BUTTON-specific override (`buttonDensity`). Adds an optional `paddingInlineEnd`\n * leaf so a button can be asymmetric (Carbon's large trailing gutter) without\n * touching the shared density the 100%-fidelity fields read. When the theme omits\n * `buttonDensity` (base/DSFR), this is identical to `densityOf` → no change, and\n * `paddingInlineEnd` mirrors `paddingInline` (symmetric).\n */\nfunction buttonDensityOf(f, size) {\n const base = densityOf(f, size);\n const override = f.buttonDensity?.[size] ?? {};\n const paddingInline = override.paddingInline ?? base.paddingInline;\n return {\n controlHeight: override.controlHeight ?? base.controlHeight,\n paddingBlock: override.paddingBlock ?? base.paddingBlock,\n paddingInline,\n gap: override.gap ?? base.gap,\n minWidth: override.minWidth ?? base.minWidth,\n fontSize: override.fontSize ?? base.fontSize,\n // Trailing inline padding: an explicit asymmetric value (Carbon) or = paddingInline.\n paddingInlineEnd: override.paddingInlineEnd ?? paddingInline\n };\n}\n/**\n * Tabs ACTIVE-tab resolution (F7/F8). Resolves the per-theme selected-tab\n * primitive into a flat, CSS-ready set the Tabs component consumes verbatim.\n * Every leaf DEFAULTS to the prior base render (12px/4px padding, inherited\n * font-size, control weight/line-height, transparent active bg, primary text,\n * BOTTOM indicator) so the base Sent Tech tab is byte-identical; DSFR / Carbon\n * override the real selected-tab metrics. `indicatorSide` resolves into two\n * border-width channels so a theme can put its accent on the top edge (DSFR,\n * which then has NO bottom border) or the bottom edge (base / Carbon).\n */\nfunction tabsOf(f, controlTypography, indicatorWidth, indicatorColor, activeTextDefault) {\n const t = f.tabs ?? {};\n const indicatorSide = t.indicatorSide ?? \"bottom\";\n const indicatorMode = t.indicatorMode ?? \"border\";\n // The indicator lives on ONE edge; the opposite edge collapses to 0 so the\n // active tab matches the reference (DSFR active = border-bottom 0 / top accent).\n const onTop = indicatorSide === \"top\";\n // \"shadow\" mode draws the accent as an inset box-shadow so BOTH border sides\n // stay 0 (DSFR, whose real accent is a background-image filet, not a border).\n // \"border\" mode keeps the real per-side border (base / Carbon) and no shadow.\n const isShadow = indicatorMode === \"shadow\";\n const shadowOffset = onTop ? indicatorWidth : `-${indicatorWidth}`;\n return {\n activeText: t.activeText || activeTextDefault,\n activeBackground: t.activeBackground || \"transparent\",\n // G2: resting-tab fill. Default \"transparent\" (base/Carbon unchanged); DSFR\n // sets a light grey-blue fill so the white active tab reads as raised.\n inactiveBackground: t.inactiveBackground || \"transparent\",\n activeWeight: t.activeWeight ?? controlTypography.weight,\n paddingBlock: t.paddingBlock ?? \"0.75rem\",\n paddingInline: t.paddingInline ?? \"0.25rem\",\n fontSize: t.fontSize ?? \"inherit\",\n lineHeight: t.lineHeight ?? controlTypography.lineHeight,\n indicatorSide,\n activeBorderTopWidth: isShadow ? \"0\" : onTop ? indicatorWidth : \"0\",\n activeBorderBottomWidth: isShadow ? \"0\" : onTop ? \"0\" : indicatorWidth,\n activeShadow: isShadow ? `inset 0 ${shadowOffset} 0 0 ${indicatorColor}` : \"none\"\n };\n}\n/**\n * Button SECONDARY-variant resolution (G1). Resolves the per-theme secondary\n * button surface into a flat, CSS-ready set the Button component consumes\n * verbatim (background / border colour / hover background). Every leaf DEFAULTS\n * to the prior base render (filled `action.secondary`, `border.subtle` stroke,\n * `action.secondaryHover` hover) so the base Sent Tech secondary button is\n * byte-identical; DSFR overrides them to render its OUTLINED secondary button\n * (transparent fill + Bleu France border + light fill on hover).\n */\nfunction buttonSecondaryOf(semantic, f) {\n const b = f.buttonSecondary ?? {};\n return {\n background: b.background || semantic.action.secondary,\n border: b.border || semantic.border.subtle,\n hoverBackground: b.hoverBackground || semantic.action.secondaryHover || semantic.action.secondary\n };\n}\n/**\n * Pagination resolution (F10). Resolves the per-theme pagination primitive into\n * a flat, CSS-ready set the Pagination component consumes verbatim. Every leaf\n * DEFAULTS to the prior base render (1px subtle stroke, radius.md, 0 block /\n * 12px inline padding, 36px min size, filled action.primary active page,\n * inherited font metrics) so the base Sent Tech pagination is byte-identical.\n * DSFR / Carbon override the real active-page metrics.\n */\nfunction paginationOf(semantic, f, thin, radiusMd) {\n const p = f.pagination ?? {};\n const border = p.border || semantic.border.subtle;\n const borderWidth = p.borderWidth ?? thin;\n return {\n background: p.background || semantic.surface.default,\n border,\n borderWidth,\n text: p.text || semantic.text.primary,\n radius: p.radius ?? radiusMd,\n activeBackground: p.activeBackground || semantic.action.primary,\n activeText: p.activeText || semantic.action.primaryText,\n // The active page can drop its border (DSFR/Carbon active page has none);\n // default = the resting page border so the base render is unchanged.\n activeBorder: p.activeBorder || border,\n activeBorderWidth: p.activeBorderWidth ?? borderWidth,\n activeWeight: p.activeWeight ?? \"inherit\",\n disabledText: p.disabledText || semantic.text.muted,\n paddingBlock: p.paddingBlock ?? \"0\",\n paddingInline: p.paddingInline ?? \"0.75rem\",\n minSize: p.minSize ?? \"2.25rem\",\n fontSize: p.fontSize ?? \"inherit\",\n lineHeight: p.lineHeight ?? \"normal\",\n letterSpacing: p.letterSpacing ?? \"normal\"\n };\n}\n/**\n * Breadcrumb resolution (F10). Resolves the per-theme breadcrumb primitive into\n * a flat set the Breadcrumb component consumes verbatim. Every leaf DEFAULTS to\n * the prior base render (link = text.link, no explicit font metrics → inherited\n * 16px / normal, current 600 weight on the current page). DSFR / Carbon pin the\n * real breadcrumb link colour + typography.\n */\nfunction breadcrumbOf(semantic, f) {\n const b = f.breadcrumb ?? {};\n return {\n text: b.text || semantic.text.secondary,\n linkText: b.linkText || semantic.text.link,\n currentText: b.currentText || semantic.text.primary,\n separator: b.separator || semantic.text.muted,\n fontSize: b.fontSize ?? \"inherit\",\n lineHeight: b.lineHeight ?? \"normal\",\n letterSpacing: b.letterSpacing ?? \"normal\",\n currentWeight: b.currentWeight ?? \"600\"\n };\n}\n/**\n * Alert resolution (P-B). Resolves the per-theme alert primitive into a flat,\n * CSS-ready set the Alert component consumes verbatim. Every leaf DEFAULTS to the\n * prior base render (surface.raised fill, 1px subtle box on top/right/bottom, a\n * 4px left accent edge, 16px padding all sides, inherited font / `normal`\n * line-height) so the base Sent Tech alert is byte-identical. DSFR drops the box\n * + fill (accent becomes a `::before` filet → left border 0); Carbon paints a\n * dark banner with a 3px coloured left bar (a real border).\n */\nfunction alertOf(semantic, f, thin, borderStyle) {\n const a = f.alert ?? {};\n // The base box border = 1px subtle on top/right/bottom (the left edge is the\n // accent, sized by accentWidth and coloured per severity by the component).\n const box = `${thin} ${borderStyle} ${semantic.border.subtle}`;\n return {\n background: a.background || semantic.surface.raised,\n text: a.text || semantic.text.primary,\n borderTop: a.borderTop || box,\n borderRight: a.borderRight || box,\n borderBottom: a.borderBottom || box,\n accentWidth: a.accentWidth ?? \"0.25rem\", // 4px (current)\n filetWidth: a.filetWidth ?? \"0\", // no filet (base/Carbon use a real left border)\n paddingTop: a.paddingTop ?? \"1rem\",\n paddingRight: a.paddingRight ?? \"1rem\",\n paddingBottom: a.paddingBottom ?? \"1rem\",\n paddingLeft: a.paddingLeft ?? \"1rem\",\n fontSize: a.fontSize ?? \"inherit\",\n lineHeight: a.lineHeight ?? \"normal\",\n letterSpacing: a.letterSpacing ?? \"normal\",\n accentInfo: a.accentInfo || semantic.feedback.info,\n accentSuccess: a.accentSuccess || semantic.feedback.success,\n accentWarning: a.accentWarning || semantic.feedback.warning,\n accentError: a.accentError || semantic.feedback.error\n };\n}\n/**\n * Accordion resolution (P-B). Resolves the per-theme accordion-trigger primitive\n * into a flat set the Accordion component consumes verbatim. Every leaf DEFAULTS\n * to the prior base render (14px block / 8px inline padding, inherited font-size,\n * weight 600, `normal` line-height, primary text) so the base Sent Tech accordion\n * is byte-identical. DSFR / Carbon pin the real header metrics.\n */\nfunction accordionOf(semantic, f) {\n const a = f.accordion ?? {};\n return {\n text: a.text || semantic.text.primary,\n paddingBlock: a.paddingBlock ?? \"0.875rem\", // 14px (current)\n paddingInline: a.paddingInline ?? \"0.5rem\", // 8px (current)\n fontSize: a.fontSize ?? \"inherit\",\n fontWeight: a.fontWeight ?? \"600\",\n lineHeight: a.lineHeight ?? \"normal\"\n };\n}\n/**\n * Tag resolution (P-C). Resolves the per-theme tag primitive into a flat,\n * CSS-ready set the Tag component consumes verbatim. Every leaf DEFAULTS to the\n * prior base render (pill radius 999px, 4px/10px padding, 12px font, weight 600,\n * line-height 1, no transform, no min-height, NEUTRAL tone = surface.subtle fill\n * + text.secondary text) so the base Sent Tech tag is byte-identical. DSFR /\n * Carbon override the real `.fr-tag` / `.bx--tag` metrics + neutral colours.\n */\nfunction tagOf(semantic, f) {\n const t = f.tag ?? {};\n return {\n radius: t.radius ?? \"999px\",\n paddingBlock: t.paddingBlock ?? \"0.25rem\", // 4px (current md)\n paddingInline: t.paddingInline ?? \"0.625rem\", // 10px (current md)\n fontSize: t.fontSize ?? \"0.75rem\", // 12px (current md)\n fontWeight: t.fontWeight ?? \"600\",\n lineHeight: t.lineHeight ?? \"1\",\n letterSpacing: t.letterSpacing ?? \"normal\",\n textTransform: t.textTransform ?? \"none\",\n minHeight: t.minHeight ?? \"0\",\n neutralBackground: t.neutralBackground || semantic.surface.subtle,\n neutralText: t.neutralText || semantic.text.secondary\n };\n}\n/**\n * Badge resolution (P-C). Resolves the per-theme badge primitive into a flat,\n * CSS-ready set the Badge component consumes verbatim. Every leaf DEFAULTS to\n * the prior base render (pill radius 999px, 4px/8px padding, 12px font, weight\n * 650, line-height 1, no transform, no min-height; tone colours stay the per-tone\n * feedback mix) so the base Sent Tech badge is byte-identical. DSFR overrides the\n * real `.fr-badge` metrics + recolours the INFO tone (the bench-rendered one) to\n * the measured grey badge.\n */\nfunction badgeOf(semantic, f) {\n const b = f.badge ?? {};\n return {\n radius: b.radius ?? \"999px\",\n paddingBlock: b.paddingBlock ?? \"0.25rem\", // 4px (current)\n paddingInline: b.paddingInline ?? \"0.5rem\", // 8px (current)\n fontSize: b.fontSize ?? \"0.75rem\", // 12px (current)\n fontWeight: b.fontWeight ?? \"650\",\n lineHeight: b.lineHeight ?? \"1\",\n letterSpacing: b.letterSpacing ?? \"normal\",\n textTransform: b.textTransform ?? \"none\",\n minHeight: b.minHeight ?? \"0\",\n // Default INFO fill reproduces the current `color-mix(... feedback.info 14%,\n // white)`; a theme can replace it with a flat measured colour.\n infoBackground: b.infoBackground || `color-mix(in srgb, ${semantic.feedback.info} 14%, white)`,\n infoText: b.infoText || semantic.feedback.info\n };\n}\n/**\n * Choice (Checkbox/Radio) LABEL resolution (P-D). Resolves the per-theme label\n * typography into a flat, CSS-ready set the `.st-choice__label` consumes\n * verbatim. Every leaf DEFAULTS to the prior base render (15px font, `normal`\n * line-height + letter-spacing, primary text) so the base Sent Tech\n * checkbox/radio is byte-identical. `radioLineHeight` defaults to the checkbox\n * line-height (single value) so a theme that does not split them stays\n * consistent; Carbon splits 18px (checkbox) / 20px (radio).\n */\nfunction choiceOf(semantic, f) {\n const c = f.choice ?? {};\n const labelLineHeight = c.labelLineHeight ?? \"normal\";\n return {\n labelFontSize: c.labelFontSize ?? \"0.9375rem\", // 15px (current)\n labelLineHeight,\n radioLineHeight: c.radioLineHeight ?? labelLineHeight,\n labelLetterSpacing: c.labelLetterSpacing ?? \"normal\",\n labelColor: c.labelColor || semantic.text.primary\n };\n}\n/**\n * Search FIELD resolution (P-D). Resolves the per-theme search-box padding +\n * input typography into a flat set the `.st-search` consumes verbatim. Every\n * leaf DEFAULTS to the prior base render (0 padding on the wrapper, inherited\n * 16px / `normal` typography) so the base Sent Tech search is byte-identical.\n * The field box (fill / borders / radius) is the shared field anatomy, unchanged.\n */\nfunction searchOf(f) {\n const s = f.search ?? {};\n const paddingInline = s.paddingInline ?? \"0\";\n return {\n paddingBlock: s.paddingBlock ?? \"0\",\n paddingInline: paddingInline,\n // v1.6.0 (additive): left/right wrapper padding. Preserve backward\n // compatibility by defaulting each side to the single paddingInline value.\n paddingLeft: s.paddingLeft ?? paddingInline,\n paddingRight: s.paddingRight ?? paddingInline,\n fontSize: s.fontSize ?? \"1rem\", // 16px (current inherited)\n lineHeight: s.lineHeight ?? \"normal\",\n letterSpacing: s.letterSpacing ?? \"normal\"\n };\n}\n/**\n * Toggle / Switch resolution (P-D). Resolves the per-theme track geometry +\n * colours + label typography into a flat set the Toggle/Switch components\n * consume verbatim. Every leaf DEFAULTS to the prior base render (pill radius\n * 999px, 2px inner padding, 36×20 md track, 16px md thumb, border.strong resting\n * track, action.primary checked track, surface.default thumb, inherited `normal`\n * typography, primary text) so the base Sent Tech toggle is byte-identical.\n */\nfunction toggleOf(semantic, f) {\n const t = f.toggle ?? {};\n return {\n trackRadius: t.trackRadius ?? \"999px\",\n trackPadding: t.trackPadding ?? \"0.125rem\", // 2px (current)\n trackWidth: t.trackWidth ?? \"2.25rem\", // 36px (current md)\n trackHeight: t.trackHeight ?? \"1.25rem\", // 20px (current md)\n thumbSize: t.thumbSize ?? \"1rem\", // 16px (current md)\n trackColor: t.trackColor || semantic.border.strong,\n trackCheckedColor: t.trackCheckedColor || semantic.action.primary,\n thumbColor: t.thumbColor || semantic.surface.default,\n fontSize: t.fontSize ?? \"inherit\",\n lineHeight: t.lineHeight ?? \"normal\",\n letterSpacing: t.letterSpacing ?? \"normal\",\n textColor: t.textColor || semantic.text.primary\n };\n}\n/**\n * SelectableRow / SelectableList SELECTED-item resolution (UAT8). Resolves the\n * per-theme selected-item colours into a flat, CSS-ready set both components\n * consume verbatim. Every leaf DEFAULTS to a value derived from this theme's own\n * `action.primary`:\n * - selectedBackground: a calm 12% tint of the primary over the surface.\n * - selectedAccent: the primary itself (opt-in left accent bar).\n * - selectedText: a DARKER accent (`primary 78% + black`) that clears\n * ≥ 7:1 on the tint for every light theme (the plain primary only reaches\n * ~4.2–4.9:1, sub/at-AA). Verified via WCAG relative luminance.\n * The `*Dark` leaves carry dark-mode-safe variants (text LIGHTENED, tint over a\n * dark surface) so a future dark theme inherits accessible values automatically.\n * `color-mix(in oklch, …)` keeps the derivation perceptually-uniform; the\n * components ship a flat fallback + an `@supports` guard for engines without it.\n */\nfunction selectableRowOf(semantic, f) {\n const s = f.selectableRow ?? {};\n const primary = semantic.action.primary;\n return {\n selectedBackground: s.selectedBackground || `color-mix(in oklch, ${primary} 12%, transparent)`,\n selectedAccent: s.selectedAccent || primary,\n // Darker accent for ≥ 7:1 on the tint (vs ~4.2–4.9:1 for the plain primary).\n selectedText: s.selectedText || `color-mix(in oklch, ${primary} 78%, black)`,\n // Dark-mode variants: a slightly stronger tint + a LIGHTENED text so the\n // accent stays legible on a dark tinted surface.\n selectedBackgroundDark: s.selectedBackgroundDark || `color-mix(in oklch, ${primary} 22%, transparent)`,\n selectedAccentDark: s.selectedAccentDark || primary,\n selectedTextDark: s.selectedTextDark || `color-mix(in oklch, ${primary} 70%, white)`\n };\n}\nfunction typographyOf(f, role) {\n // Widen to TypographyAnatomy so the optional textDecorationHover leaf is\n // readable across all roles (only `link` carries it in the FALLBACK literal).\n const base = FALLBACK.typography[role];\n const themed = f.typography?.[role] ?? {};\n return {\n family: themed.family ?? base.family,\n size: themed.size ?? base.size,\n weight: themed.weight ?? base.weight,\n lineHeight: themed.lineHeight ?? base.lineHeight,\n letterSpacing: themed.letterSpacing ?? base.letterSpacing,\n textTransform: themed.textTransform ?? base.textTransform,\n textDecoration: themed.textDecoration ?? base.textDecoration,\n decorationThickness: themed.decorationThickness ?? base.decorationThickness,\n decorationOffset: themed.decorationOffset ?? base.decorationOffset,\n decorationThicknessHover: themed.decorationThicknessHover ?? base.decorationThicknessHover,\n decorationOffsetHover: themed.decorationOffsetHover ?? base.decorationOffsetHover,\n textDecorationHover: themed.textDecorationHover ?? base.textDecorationHover\n };\n}\nfunction focusOf(f) {\n const base = FALLBACK.focus;\n const themed = f.focus ?? {};\n const strategy = (themed.strategy ?? base.strategy);\n const width = themed.width ?? base.width;\n const offset = themed.offset ?? base.offset;\n const color = themed.color ?? base.color;\n const inset = themed.inset ?? base.inset;\n // The focus STRATEGY is resolved here into the two CSS channels a shared\n // mixin needs: `outline` and `boxShadow`. A component applies BOTH on\n // :focus-visible; the strategy decides which is \"live\" (the other is a no-op).\n // This is what lets DSFR (offset outline) and Carbon (inset box-shadow) differ\n // by *technique*, not just values, while staying 100% token-driven.\n let outline = \"none\";\n let boxShadow = \"none\";\n switch (strategy) {\n case \"outline\":\n // DSFR-like: native outline, offset away from the box.\n outline = `${width} solid ${color}`;\n break;\n case \"ring\":\n // Base default: a soft ring drawn just outside the box.\n boxShadow = `0 0 0 ${width} ${color}`;\n break;\n case \"inset\":\n // Carbon: a ring drawn INSIDE the box via inset box-shadow.\n boxShadow = `inset 0 0 0 ${width} ${color}`;\n break;\n case \"double\":\n // Two-tone accessibility ring (outer color + inner light gap).\n outline = `${width} solid ${color}`;\n boxShadow = `0 0 0 ${inset} #ffffff`;\n break;\n }\n return { strategy, width, offset, color, inset, outline, boxShadow };\n}\n/**\n * Resolves the FIELD STYLE (v1.2.0) into a fully-typed FieldAnatomy: a fill\n * background + four per-side border shorthands a component applies verbatim.\n *\n * - `outline` (default, base Sent Tech): `fillBg = surface.default`, the four\n * borders all = `<borderWidth.thin> solid <border.subtle>`. This reproduces\n * the existing boxed input EXACTLY → no Sent Tech regression.\n * - `filled-underline` (DSFR / Carbon): `fillBg` = the theme's field fill tone,\n * top/right/left = `none`, the bottom rule is the only stroke. HOW the bottom\n * rule is drawn depends on the theme's real technique:\n * · DSFR (`underlineAsShadow: true`) draws it as a `box-shadow inset` (its\n * real CSS), so `borderBottom` is `none` and the rule adds no box height.\n * · Carbon (default) genuinely uses a real `border-bottom: 1px solid` — so\n * we keep the geometric `borderBottom` and leave `underline` = `none` to\n * stay pixel-identical to the official `.bx--text-input`.\n *\n * v1.3.0 (additive): `radiusTop` rounds only the field's TOP corners (defaults\n * to the theme's `shapeRadius` so a boxed field stays uniform — no regression);\n * `underline` carries the filled-underline bottom rule as an inset box-shadow\n * when `underlineAsShadow` is set; `focusShadow` composes it with the focus ring.\n */\nfunction fieldOf(semantic, f, bw, borderStyle, shapeRadius, focusBoxShadow) {\n const themed = f.field ?? {};\n const style = (themed.style ?? FALLBACK.field.style);\n const thin = bw.thin ?? \"1px\";\n // v1.4.0 (F5/F9) — native <select> rendering. These are independent of the\n // outline/filled-underline branch, so resolve them once and spread into each\n // returned FieldAnatomy. selectAppearance \"auto\" keeps the base native arrow\n // (and its UA-forced `line-height: normal`); \"none\" lets the anatomy\n // line-height take effect, the chevron then drawn by selectChevron.\n const selectAppearance = themed.selectAppearance ?? FALLBACK.field.selectAppearance;\n const selectChevron = themed.selectChevron ?? FALLBACK.field.selectChevron;\n const selectPaddingRight = themed.selectPaddingRight ?? FALLBACK.field.selectPaddingRight;\n const selectLeaves = { selectAppearance, selectChevron, selectPaddingRight };\n // Top corners inherit the theme's shape radius unless the theme rounds them\n // explicitly (DSFR field = 4px top). Bottom corners default to shapeRadius.\n const radiusTop = themed.radiusTop || shapeRadius;\n const radiusBottom = themed.radiusBottom || shapeRadius;\n // Compose the field focus box-shadow so the resting underline is never lost\n // incoherently: an outline-strategy theme (focusBoxShadow === \"none\") keeps\n // the underline; an inset/ring theme stacks its ring + the underline.\n const composeFocus = (underline) => {\n const ring = focusBoxShadow && focusBoxShadow !== \"none\" ? focusBoxShadow : \"\";\n if (underline === \"none\")\n return ring || \"none\";\n if (!ring)\n return underline; // outline theme: keep the underline at focus\n return `${ring}, ${underline}`; // inset/ring theme: ring + underline\n };\n if (style === \"filled-underline\") {\n const fillBg = themed.fillBg || semantic.surface.subtle;\n const underlineColor = themed.underlineColor || semantic.border.strong;\n const underlineWidth = themed.underlineWidth || thin;\n // DSFR draws the rule as an inset box-shadow (its real technique, cf. rule\n // `underline-hardcoded-border`); Carbon keeps a real geometric border-bottom\n // (its real technique) so it stays pixel-identical to `.bx--text-input`.\n if (themed.underlineMode === \"shadow\") {\n const underline = `inset 0 -${underlineWidth} 0 0 ${underlineColor}`;\n return {\n style,\n fillBg,\n borderTop: \"none\",\n borderRight: \"none\",\n borderBottom: \"none\",\n borderLeft: \"none\",\n radiusTop,\n radiusBottom,\n underline,\n focusShadow: composeFocus(underline),\n ...selectLeaves\n };\n }\n return {\n style,\n fillBg,\n borderTop: \"none\",\n borderRight: \"none\",\n borderBottom: `${underlineWidth} ${borderStyle} ${underlineColor}`,\n borderLeft: \"none\",\n radiusTop,\n radiusBottom,\n underline: \"none\",\n focusShadow: composeFocus(\"none\"),\n ...selectLeaves\n };\n }\n // outline (default): boxed, 4 equal borders — identical to the prior look.\n const fillBg = themed.fillBg || semantic.surface.default;\n const border = `${thin} ${borderStyle} ${semantic.border.subtle}`;\n return {\n style: \"outline\",\n fillBg,\n borderTop: border,\n borderRight: border,\n borderBottom: border,\n borderLeft: border,\n radiusTop,\n radiusBottom,\n underline: \"none\",\n focusShadow: composeFocus(\"none\"),\n ...selectLeaves\n };\n}\n/**\n * Construit la couche `component` à partir d'un `semantic` et d'un `foundation`\n * donnés. Les rôles composant sont CÂBLÉS sur les rôles semantic/foundation du\n * thème appelant — c'est ce qui permet à un thème (DSFR, Carbon, forge…) de\n * propager sa marque jusqu'aux composants. Réutiliser un `component` figé sur\n * une autre base rendrait les composants inertes au changement de thème.\n */\nexport function createComponent(semantic, foundation) {\n const bw = { ...FALLBACK.borderWidth, ...(foundation.borderWidth ?? {}) };\n const borderStyle = foundation.borderStyle?.solid ?? FALLBACK.borderStyle;\n const disabledOpacity = foundation.disabledOpacity ?? FALLBACK.disabledOpacity;\n const cursor = { ...FALLBACK.cursor, ...(foundation.cursor ?? {}) };\n const icon = { ...FALLBACK.iconSize, ...(foundation.iconSize ?? {}) };\n const focus = focusOf(foundation);\n // Anatomy block for the 5 pilot components. Typed against ComponentAnatomy so\n // a theme cannot drift the *shape*; values resolve from this theme's own\n // foundation (radius/density/typography/focus) → the brand reaches anatomy.\n const buttonAnatomy = {\n shape: { radius: foundation.radius.md, borderWidth: bw.thin, borderStyle },\n // F9: button-specific density (shared control density + optional button-only\n // override) so Carbon's tall, asymmetric primary button doesn't regress the\n // fields that share the control density. Base/DSFR get the shared density.\n density: { sm: buttonDensityOf(foundation, \"sm\"), md: buttonDensityOf(foundation, \"md\"), lg: buttonDensityOf(foundation, \"lg\") },\n typography: typographyOf(foundation, \"control\"),\n focus,\n icon: { size: icon.md, gap: densityOf(foundation, \"md\").gap },\n states: {\n // v1.1.0: hover bg sourced from the semantic layer (primaryHover, with a\n // fallback to primary so a theme that omits it stays inert, not blank).\n hover: { bg: semantic.action.primaryHover ?? semantic.action.primary, transform: \"none\" },\n active: { transform: \"none\" },\n disabled: { opacity: disabledOpacity }\n }\n };\n const inputAnatomy = {\n shape: { radius: foundation.radius.md, borderWidth: bw.thin, borderStyle },\n density: { sm: densityOf(foundation, \"sm\"), md: densityOf(foundation, \"md\"), lg: densityOf(foundation, \"lg\") },\n typography: typographyOf(foundation, \"field\"),\n focus,\n // Field style (v1.2.0): outline (boxed, base) vs filled-underline (DSFR/Carbon).\n // v1.3.0: radiusTop defaults to the field's own shape radius (radius.md);\n // the underline is an inset box-shadow, composed with the focus ring.\n field: fieldOf(semantic, foundation, bw, borderStyle, foundation.radius.md, focus.boxShadow),\n states: {\n hover: { border: semantic.border.strong },\n focus: { border: semantic.border.interactive },\n // Inputs convey disabled via bg + text, not via global dimming.\n disabled: { bg: semantic.surface.subtle, text: semantic.text.muted }\n }\n };\n const linkTypography = typographyOf(foundation, \"link\");\n const linkAnatomy = {\n shape: { radius: foundation.radius.sm ?? foundation.radius.md, borderWidth: bw.none, borderStyle },\n typography: linkTypography,\n focus,\n states: {\n // v1.1.0: hover decoration sourced from the link role typography\n // (textDecorationHover). DSFR/base = underline (no-op vs rest); Carbon\n // goes none → underline on hover. Fallback to underline if a theme omits.\n hover: { text: semantic.action.primary, decoration: linkTypography.textDecorationHover ?? \"underline\" },\n disabled: { text: semantic.text.muted, decoration: \"none\", opacity: disabledOpacity }\n }\n };\n // Card surface (additive): borderWidth defaults to the base `thin` stroke so\n // Sent Tech is unchanged; DSFR/Carbon set it to 0 (their cards/tiles have no\n // border). The fill defaults to surface.raised (base), Carbon overrides it to\n // its $layer-01 tone via `card.background`.\n const cardBorderWidth = foundation.card?.borderWidth ?? bw.thin;\n const cardBackground = foundation.card?.background || semantic.surface.raised;\n const cardHoverBackground = foundation.card?.hoverBackground || cardBackground;\n // F5 (additive): the card body typography. The base `.st-card` carries NO\n // explicit font-size / line-height / letter-spacing, so the defaults here\n // REPRODUCE that exact render (inherit / normal / normal). DSFR/Carbon pin\n // their real tile body metrics so the card text matches the measured\n // reference instead of `normal`. Family/weight stay on the field role (no\n // visible change — the card already inherits the brand sans + 400).\n const cardTypographyBase = typographyOf(foundation, \"field\");\n const cardTypography = {\n ...cardTypographyBase,\n size: foundation.card?.fontSize ?? \"inherit\",\n lineHeight: foundation.card?.lineHeight ?? \"normal\",\n letterSpacing: foundation.card?.letterSpacing ?? \"normal\"\n };\n const cardAnatomy = {\n shape: { radius: foundation.radius.lg, borderWidth: cardBorderWidth, borderStyle },\n typography: cardTypography,\n focus,\n states: {\n hover: {\n bg: cardHoverBackground,\n transform: \"translateY(-1px)\"\n }\n }\n };\n const tabsControlTypography = typographyOf(foundation, \"control\");\n const tabsAnatomy = {\n shape: { radius: foundation.radius.none ?? \"0\", borderWidth: bw.thin, borderStyle },\n density: { md: densityOf(foundation, \"md\") },\n typography: tabsControlTypography,\n focus,\n states: {\n hover: { text: semantic.text.primary },\n disabled: { opacity: disabledOpacity }\n }\n };\n // F7/F8 — active-tab metrics (additive, per-theme; base render unchanged).\n // The indicator width is the tab's stroke width (thin); `tabsOf` resolves it\n // onto the top edge (DSFR) or the bottom edge (base/Carbon), as a real border\n // (base/Carbon) or an inset box-shadow accent (DSFR).\n const tabsResolved = tabsOf(foundation, tabsControlTypography, bw.thin, semantic.action.primary, semantic.text.primary);\n // G1 — secondary button surface (per theme; base render unchanged). DSFR\n // overrides it to a transparent fill + Bleu France border + text; base/Carbon\n // keep the filled neutral default.\n const buttonSecondary = buttonSecondaryOf(semantic, foundation);\n // F10 — Pagination / Breadcrumb anatomy (per theme; base render unchanged).\n const paginationResolved = paginationOf(semantic, foundation, bw.thin, foundation.radius.md);\n const breadcrumbResolved = breadcrumbOf(semantic, foundation);\n // P-B — Alert / Accordion anatomy (per theme; base render unchanged).\n const alertResolved = alertOf(semantic, foundation, bw.thin, borderStyle);\n const accordionResolved = accordionOf(semantic, foundation);\n // P-C — Tag / Badge anatomy (per theme; base render unchanged).\n const tagResolved = tagOf(semantic, foundation);\n const badgeResolved = badgeOf(semantic, foundation);\n // P-D — Choice (Checkbox/Radio) / Search / Toggle anatomy (per theme; base\n // render unchanged via the resolver defaults).\n const choiceResolved = choiceOf(semantic, foundation);\n const searchResolved = searchOf(foundation);\n const toggleResolved = toggleOf(semantic, foundation);\n // UAT8 — SelectableRow / SelectableList selected-item colours (per theme;\n // derived from action.primary via the resolver defaults).\n const selectableRowResolved = selectableRowOf(semantic, foundation);\n return {\n button: {\n radius: foundation.radius.md,\n primaryBackground: semantic.action.primary,\n primaryText: semantic.action.primaryText,\n // G1: the secondary surface is resolved per theme (transparent + bordered\n // for DSFR's outlined secondary; filled neutral for base/Carbon).\n secondaryBackground: buttonSecondary.background,\n secondaryBorder: buttonSecondary.border,\n secondaryHoverBackground: buttonSecondary.hoverBackground,\n secondaryText: semantic.action.secondaryText,\n anatomy: buttonAnatomy\n },\n link: {\n text: semantic.text.link,\n hoverText: semantic.action.primary,\n disabledText: semantic.text.muted,\n focusRing: semantic.border.interactive,\n anatomy: linkAnatomy\n },\n alert: {\n // Existing leaves keep their names (consumers/docs unchanged); background\n // and text now resolve through `alertOf` (identical defaults = unchanged base).\n background: alertResolved.background,\n text: alertResolved.text,\n border: semantic.border.subtle,\n // Per-severity accent colours now resolve through `alertOf` (default = the\n // matching feedback role → base unchanged; Carbon overrides accentInfo).\n infoBorder: alertResolved.accentInfo,\n successBorder: alertResolved.accentSuccess,\n warningBorder: alertResolved.accentWarning,\n errorBorder: alertResolved.accentError,\n radius: foundation.radius.lg,\n // P-B additive leaves — per-theme alert anatomy (base = unchanged).\n borderTop: alertResolved.borderTop,\n borderRight: alertResolved.borderRight,\n borderBottom: alertResolved.borderBottom,\n // Left accent: a real left border of `accentWidth` (base/Carbon) OR a\n // `::before` filet of `filetWidth` drawn inside the box (DSFR) so the\n // measured left border stays 0. Both coloured per severity by the component.\n accentWidth: alertResolved.accentWidth,\n filetWidth: alertResolved.filetWidth,\n paddingTop: alertResolved.paddingTop,\n paddingRight: alertResolved.paddingRight,\n paddingBottom: alertResolved.paddingBottom,\n paddingLeft: alertResolved.paddingLeft,\n fontSize: alertResolved.fontSize,\n lineHeight: alertResolved.lineHeight,\n letterSpacing: alertResolved.letterSpacing\n },\n accordion: {\n // P-B — per-theme accordion-trigger anatomy (base = unchanged).\n text: accordionResolved.text,\n paddingBlock: accordionResolved.paddingBlock,\n paddingInline: accordionResolved.paddingInline,\n fontSize: accordionResolved.fontSize,\n fontWeight: accordionResolved.fontWeight,\n lineHeight: accordionResolved.lineHeight\n },\n tag: {\n // P-C — per-theme tag anatomy (base = unchanged via resolver defaults).\n radius: tagResolved.radius,\n paddingBlock: tagResolved.paddingBlock,\n paddingInline: tagResolved.paddingInline,\n fontSize: tagResolved.fontSize,\n fontWeight: tagResolved.fontWeight,\n lineHeight: tagResolved.lineHeight,\n letterSpacing: tagResolved.letterSpacing,\n textTransform: tagResolved.textTransform,\n minHeight: tagResolved.minHeight,\n neutralBackground: tagResolved.neutralBackground,\n neutralText: tagResolved.neutralText\n },\n badge: {\n // P-C — per-theme badge anatomy (base = unchanged via resolver defaults).\n radius: badgeResolved.radius,\n paddingBlock: badgeResolved.paddingBlock,\n paddingInline: badgeResolved.paddingInline,\n fontSize: badgeResolved.fontSize,\n fontWeight: badgeResolved.fontWeight,\n lineHeight: badgeResolved.lineHeight,\n letterSpacing: badgeResolved.letterSpacing,\n textTransform: badgeResolved.textTransform,\n minHeight: badgeResolved.minHeight,\n infoBackground: badgeResolved.infoBackground,\n infoText: badgeResolved.infoText\n },\n card: {\n background: cardBackground,\n border: semantic.border.subtle,\n radius: foundation.radius.lg,\n shadow: foundation.shadow.subtle,\n anatomy: cardAnatomy\n },\n menu: {\n background: semantic.surface.raised,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n itemHoverBackground: semantic.surface.subtle,\n dangerText: semantic.feedback.error,\n dangerHoverBackground: \"rgba(185, 28, 28, 0.08)\",\n disabledText: semantic.text.muted,\n radius: foundation.radius.md,\n shadow: foundation.shadow.medium\n },\n popover: {\n background: semantic.surface.raised,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n shadow: foundation.shadow.floating,\n radius: foundation.radius.lg,\n zIndex: foundation.z.overlay\n },\n dropdown: {\n background: semantic.surface.default,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n optionHoverBackground: semantic.surface.subtle,\n selectedBackground: semantic.action.primary,\n selectedText: semantic.action.primaryText,\n radius: foundation.radius.md,\n shadow: foundation.shadow.medium\n },\n input: {\n background: semantic.surface.default,\n border: semantic.border.subtle,\n focusRing: semantic.border.interactive,\n radius: foundation.radius.md\n },\n field: {\n labelText: semantic.text.primary,\n helpText: semantic.text.secondary,\n errorText: semantic.feedback.error,\n gap: foundation.spacing[2],\n maxWidth: \"28rem\",\n labelTypography: typographyOf(foundation, \"label\")\n },\n control: {\n background: semantic.surface.default,\n text: semantic.text.primary,\n placeholderText: semantic.text.muted,\n border: semantic.border.subtle,\n hoverBorder: semantic.border.strong,\n hoverBackground: semantic.surface.subtle,\n focusRing: semantic.border.interactive,\n invalidBorder: semantic.feedback.error,\n disabledBackground: semantic.surface.subtle,\n disabledText: semantic.text.muted,\n radius: foundation.radius.md,\n smHeight: \"2rem\",\n mdHeight: \"2.5rem\",\n lgHeight: \"3rem\",\n anatomy: inputAnatomy\n },\n selection: {\n checkedBackground: semantic.action.primary,\n checkedText: semantic.action.primaryText,\n border: semantic.border.subtle,\n // Existing switch colour leaves now resolve through `toggleOf` (identical\n // defaults = unchanged base; DSFR/Carbon set their measured track colours).\n switchTrack: toggleResolved.trackColor,\n switchTrackChecked: toggleResolved.trackCheckedColor,\n switchThumb: toggleResolved.thumbColor,\n // P-D additive — Choice (Checkbox/Radio) label typography (base = unchanged).\n choiceLabelFontSize: choiceResolved.labelFontSize,\n choiceLabelLineHeight: choiceResolved.labelLineHeight,\n choiceRadioLineHeight: choiceResolved.radioLineHeight,\n choiceLabelLetterSpacing: choiceResolved.labelLetterSpacing,\n choiceLabelColor: choiceResolved.labelColor,\n // P-D additive — Toggle/Switch track geometry + label typography (base =\n // unchanged via the resolver defaults).\n toggleTrackRadius: toggleResolved.trackRadius,\n toggleTrackPadding: toggleResolved.trackPadding,\n toggleTrackWidth: toggleResolved.trackWidth,\n toggleTrackHeight: toggleResolved.trackHeight,\n toggleThumbSize: toggleResolved.thumbSize,\n toggleFontSize: toggleResolved.fontSize,\n toggleLineHeight: toggleResolved.lineHeight,\n toggleLetterSpacing: toggleResolved.letterSpacing,\n toggleTextColor: toggleResolved.textColor\n },\n search: {\n // P-D additive — Search field box padding + input typography (base =\n // unchanged via the resolver defaults). The field box (fill/border/radius)\n // stays the shared `control.anatomy.field` already mapped like Input.\n paddingBlock: searchResolved.paddingBlock,\n paddingInline: searchResolved.paddingInline,\n paddingLeft: searchResolved.paddingLeft,\n paddingRight: searchResolved.paddingRight,\n fontSize: searchResolved.fontSize,\n lineHeight: searchResolved.lineHeight,\n letterSpacing: searchResolved.letterSpacing\n },\n overlay: {\n backdrop: semantic.surface.overlay,\n surface: semantic.surface.raised,\n border: semantic.border.subtle,\n shadow: foundation.shadow.floating,\n radius: foundation.radius.lg,\n zIndex: foundation.z.modal\n },\n drawer: {\n backdrop: semantic.surface.overlay,\n surface: semantic.surface.raised,\n border: semantic.border.subtle,\n shadow: foundation.shadow.floating,\n width: \"24rem\",\n zIndex: foundation.z.modal\n },\n emptyState: {\n background: semantic.surface.subtle,\n border: semantic.border.subtle,\n titleText: semantic.text.primary,\n messageText: semantic.text.secondary,\n radius: foundation.radius.lg\n },\n loadingState: {\n indicator: semantic.action.primary,\n track: semantic.surface.subtle,\n text: semantic.text.secondary,\n radius: foundation.radius.pill\n },\n tooltip: {\n background: semantic.surface.inverse,\n text: semantic.text.inverse,\n radius: foundation.radius.md,\n shadow: foundation.shadow.medium,\n zIndex: foundation.z.overlay\n },\n toast: {\n background: semantic.surface.raised,\n text: semantic.text.primary,\n border: semantic.border.subtle,\n shadow: foundation.shadow.floating,\n radius: foundation.radius.lg,\n infoBorder: semantic.feedback.info,\n successBorder: semantic.feedback.success,\n warningBorder: semantic.feedback.warning,\n errorBorder: semantic.feedback.error,\n zIndex: foundation.z.toast\n },\n dataTable: {\n headerBackground: semantic.surface.subtle,\n rowBackground: semantic.surface.default,\n rowHoverBackground: semantic.surface.subtle,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n captionText: semantic.text.secondary,\n radius: foundation.radius.lg\n },\n tabs: {\n // F7/F8: active-tab roles/metrics resolved per theme (base render = current).\n activeText: tabsResolved.activeText,\n activeBackground: tabsResolved.activeBackground,\n // G2: resting-tab fill (default transparent; DSFR = light grey-blue).\n inactiveBackground: tabsResolved.inactiveBackground,\n activeWeight: tabsResolved.activeWeight,\n inactiveText: semantic.text.secondary,\n border: semantic.border.subtle,\n indicator: semantic.action.primary,\n panelBackground: semantic.surface.default,\n tabPaddingBlock: tabsResolved.paddingBlock,\n tabPaddingInline: tabsResolved.paddingInline,\n tabFontSize: tabsResolved.fontSize,\n tabLineHeight: tabsResolved.lineHeight,\n activeBorderTopWidth: tabsResolved.activeBorderTopWidth,\n activeBorderBottomWidth: tabsResolved.activeBorderBottomWidth,\n activeShadow: tabsResolved.activeShadow,\n anatomy: tabsAnatomy\n },\n pagination: {\n // Existing leaves keep their names (consumers/docs unchanged); they now\n // resolve through `paginationOf` (identical defaults = unchanged base).\n background: paginationResolved.background,\n border: paginationResolved.border,\n text: paginationResolved.text,\n activeBackground: paginationResolved.activeBackground,\n activeText: paginationResolved.activeText,\n disabledText: paginationResolved.disabledText,\n radius: paginationResolved.radius,\n // F10 additive leaves — per-theme active-page metrics (base = unchanged).\n borderWidth: paginationResolved.borderWidth,\n activeBorder: paginationResolved.activeBorder,\n activeBorderWidth: paginationResolved.activeBorderWidth,\n activeWeight: paginationResolved.activeWeight,\n paddingBlock: paginationResolved.paddingBlock,\n paddingInline: paginationResolved.paddingInline,\n minSize: paginationResolved.minSize,\n fontSize: paginationResolved.fontSize,\n lineHeight: paginationResolved.lineHeight,\n letterSpacing: paginationResolved.letterSpacing\n },\n paginationNav: {\n // Phase 2 aliases for the ellipsis/previous/next pagination control. These\n // mirror `pagination` where the visual role is identical and use the shared\n // control hover colour for the interactive page/nav buttons.\n background: paginationResolved.background,\n border: paginationResolved.border,\n radius: paginationResolved.radius,\n text: paginationResolved.text,\n hoverBackground: semantic.surface.subtle,\n activeBackground: paginationResolved.activeBackground,\n activeText: paginationResolved.activeText,\n disabledText: paginationResolved.disabledText,\n ellipsisText: semantic.text.muted\n },\n breadcrumb: {\n text: breadcrumbResolved.text,\n currentText: breadcrumbResolved.currentText,\n separator: breadcrumbResolved.separator,\n linkText: breadcrumbResolved.linkText,\n // F10 additive leaves — per-theme breadcrumb typography (base = unchanged).\n fontSize: breadcrumbResolved.fontSize,\n lineHeight: breadcrumbResolved.lineHeight,\n letterSpacing: breadcrumbResolved.letterSpacing,\n currentWeight: breadcrumbResolved.currentWeight\n },\n sideNav: {\n background: semantic.surface.default,\n border: semantic.border.subtle,\n itemText: semantic.text.secondary,\n activeBackground: semantic.surface.subtle,\n activeText: semantic.text.primary,\n width: \"16rem\"\n },\n selectableRow: {\n // UAT8 — selected list-item colours (tinted surface + accent bar + a\n // contrast-safe darker text), derived from action.primary per theme.\n selectedBackground: selectableRowResolved.selectedBackground,\n selectedAccent: selectableRowResolved.selectedAccent,\n selectedText: selectableRowResolved.selectedText,\n // Dark-mode-safe variants (emitted now so a future dark theme inherits them).\n selectedBackgroundDark: selectableRowResolved.selectedBackgroundDark,\n selectedAccentDark: selectableRowResolved.selectedAccentDark,\n selectedTextDark: selectableRowResolved.selectedTextDark\n },\n chat: {\n userBubbleBackground: semantic.action.primary,\n userBubbleText: semantic.action.primaryText,\n assistantBubbleBackground: semantic.surface.subtle,\n assistantBubbleText: semantic.text.primary,\n composerSurface: semantic.surface.raised,\n toolCallSurface: semantic.surface.subtle\n },\n graph: {\n panelBackground: semantic.surface.inverse,\n panelText: semantic.text.inverse,\n edgeDefault: \"rgb(226 232 240 / 0.56)\",\n community1: semantic.data.category1,\n community2: semantic.data.category2,\n community3: semantic.data.category3,\n community4: semantic.data.category4\n }\n };\n}\nexport const component = createComponent(semantic, foundation);\n//# sourceMappingURL=component.js.map","export function flattenTokens(tree, prefix = []) {\n const output = {};\n for (const [key, value] of Object.entries(tree)) {\n if (value === undefined)\n continue;\n const path = [...prefix, key];\n if (typeof value === \"object\" && value !== null) {\n Object.assign(output, flattenTokens(value, path));\n }\n else {\n output[path.join(\"-\")] = value;\n }\n }\n return output;\n}\nexport function toCssVariables(tree, selector = \":root\", namespace = \"st\") {\n const entries = Object.entries(flattenTokens(tree));\n const lines = [];\n for (const [name, value] of entries) {\n lines.push(` --${namespace}-${name}: ${String(value)};`);\n // Les composants consomment la couche foundation sous des noms COURTS\n // (--st-font-sans, --st-radius-md, --st-spacing-2, --st-shadow-medium,\n // --st-motion-fast, --st-z-*…) tandis que l'arbre l'expose sous\n // --st-foundation-*. On émet donc aussi l'alias court pour que la\n // typographie / le radius / l'espacement / le motion suivent le thème.\n // Additif : les noms pleinement qualifiés --st-foundation-* restent émis.\n if (name.startsWith(\"foundation-\")) {\n const short = name.slice(\"foundation-\".length);\n lines.push(` --${namespace}-${short}: ${String(value)};`);\n // Alias z-index : la couche `z` est consommée comme --st-zindex-*.\n if (short.startsWith(\"z-\")) {\n lines.push(` --${namespace}-zindex-${short.slice(2)}: ${String(value)};`);\n }\n }\n }\n return `${selector} {\\n${lines.join(\"\\n\")}\\n}\\n`;\n}\n//# sourceMappingURL=css.js.map","import \"clsx\";\nimport { a4 as head, a5 as attr, a3 as derived } from \"../../chunks/index.js\";\nimport { toCssVariables, component, semantic, foundation, createComponent } from \"@sentropic/design-system-tokens\";\nfunction html(value) {\n var html2 = String(value ?? \"\");\n var open = \"<!---->\";\n return open + html2 + \"<!---->\";\n}\nfunction assertTenantTheme(input) {\n if (!input || typeof input !== \"object\") {\n throw new Error(\"Theme must be an object\");\n }\n const theme = input;\n if (typeof theme.id !== \"string\" || theme.id.trim().length === 0) {\n throw new Error(\"Theme id is required\");\n }\n if (typeof theme.label !== \"string\" || theme.label.trim().length === 0) {\n throw new Error(\"Theme label is required\");\n }\n if (theme.mode !== \"light\" && theme.mode !== \"dark\") {\n throw new Error(\"Theme mode must be light or dark\");\n }\n if (!theme.tokens || typeof theme.tokens !== \"object\") {\n throw new Error(\"Theme tokens are required\");\n }\n}\nfunction compileTheme(input, options = {}) {\n assertTenantTheme(input);\n const theme = input;\n const selector = options.selector ?? `[data-st-theme=\"${theme.id}\"]`;\n const namespace = options.namespace ?? \"st\";\n return toCssVariables(theme.tokens, selector, namespace);\n}\nconst sentTechTheme = {\n id: \"sent-tech\",\n label: \"Sent Tech\",\n mode: \"light\",\n tokens: {\n foundation,\n semantic,\n component\n }\n};\nconst entropicSemantic = {\n ...semantic,\n action: {\n ...semantic.action,\n primary: \"oklch(50% 0.134 242.749)\",\n primaryText: semantic.action.primaryText\n }\n};\nconst entropicComponent = createComponent(entropicSemantic, foundation);\nconst entropicTheme = {\n id: \"entropic\",\n label: \"Entropic\",\n mode: \"light\",\n tokens: {\n foundation,\n semantic: entropicSemantic,\n component: {\n ...entropicComponent,\n chat: {\n ...entropicComponent.chat,\n composerSurface: entropicSemantic.surface.raised,\n toolCallSurface: entropicSemantic.surface.subtle\n }\n }\n }\n};\nfunction ThemeProvider($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { theme = sentTechTheme, namespace = \"st\", children } = $$props;\n let css = derived(() => compileTheme(theme, { selector: `[data-st-theme=\"${theme.id}\"]`, namespace }));\n head(\"1lrpa8r\", $$renderer2, ($$renderer3) => {\n $$renderer3.push(`${html(`<style data-st-theme-provider=\"${theme.id}\">${css()}</style>`)}`);\n });\n $$renderer2.push(`<div${attr(\"data-st-theme\", theme.id)}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n });\n}\nfunction _layout($$renderer, $$props) {\n let { children } = $$props;\n ThemeProvider($$renderer, {\n theme: entropicTheme,\n children: ($$renderer2) => {\n children($$renderer2);\n $$renderer2.push(`<!---->`);\n }\n });\n}\nexport {\n _layout as default\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"_layout.svelte.js-CKspI0Bw.js","sources":["../../../../../node_modules/@sentropic/design-system-tokens/dist/foundation.js","../../../../../node_modules/@sentropic/design-system-tokens/dist/semantic.js","../../../../../node_modules/@sentropic/design-system-tokens/dist/component.js","../../../../../node_modules/@sentropic/design-system-tokens/dist/css.js","../../../../../.svelte-kit/output/server/entries/pages/_layout.svelte.js"],"sourcesContent":["export const foundation = {\n color: {\n blue: {\n 10: \"oklch(97% 0.02 242)\",\n 60: \"oklch(50% 0.134 242.749)\",\n 80: \"oklch(32% 0.11 242)\"\n },\n cyan: {\n 10: \"oklch(96% 0.04 195)\",\n 50: \"oklch(70.4% 0.14 182.503)\",\n 70: \"oklch(48% 0.12 190)\"\n },\n slate: {\n 0: \"#ffffff\",\n 10: \"#f8fafc\",\n 20: \"#e2e8f0\",\n 60: \"#475569\",\n 80: \"#1e293b\",\n 90: \"#0f172a\"\n },\n feedback: {\n success: \"#16a34a\",\n warning: \"#d97706\",\n error: \"#dc2626\",\n info: \"#2563eb\"\n }\n },\n font: {\n sans: \"Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\n display: \"Inter, system-ui, sans-serif\",\n mono: \"'SFMono-Regular', Consolas, 'Liberation Mono', monospace\"\n },\n spacing: {\n 0: \"0\",\n 1: \"0.25rem\",\n 2: \"0.5rem\",\n 3: \"0.75rem\",\n 4: \"1rem\",\n 6: \"1.5rem\",\n 8: \"2rem\",\n 12: \"3rem\",\n 16: \"4rem\"\n },\n radius: {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n pill: \"999px\"\n },\n shadow: {\n subtle: \"0 1px 2px rgb(15 23 42 / 0.08)\",\n medium: \"0 8px 24px rgb(15 23 42 / 0.12)\",\n floating: \"0 18px 45px rgb(15 23 42 / 0.18)\"\n },\n motion: {\n fast: \"120ms\",\n normal: \"180ms\",\n slow: \"280ms\",\n easing: \"cubic-bezier(0.4, 0, 0.2, 1)\"\n },\n z: {\n header: 50,\n toast: 60,\n overlay: 80,\n modal: 100,\n chat: 110\n },\n // --- Anatomy primitives (Phase 1) ----------------------------------------\n // Border weights — controls how heavy outlines/dividers read per theme.\n borderWidth: {\n none: \"0\",\n thin: \"1px\",\n thick: \"2px\"\n },\n // Default stroke style for control borders.\n borderStyle: {\n solid: \"solid\"\n },\n // Density grid: control geometry per size token. controlHeight is the target\n // box height; paddingBlock/Inline are intrinsic insets; gap is the inline\n // gap between icon + label; minWidth is the smallest allowed control width.\n density: {\n sm: {\n controlHeight: \"2rem\", // 32px\n paddingBlock: \"0\",\n paddingInline: \"0.75rem\",\n gap: \"0.375rem\",\n minWidth: \"2rem\"\n },\n md: {\n controlHeight: \"2.5rem\", // 40px\n paddingBlock: \"0\",\n paddingInline: \"1rem\",\n gap: \"0.5rem\",\n minWidth: \"2.5rem\"\n },\n lg: {\n controlHeight: \"3rem\", // 48px\n paddingBlock: \"0\",\n paddingInline: \"1.25rem\",\n gap: \"0.5rem\",\n minWidth: \"3rem\"\n }\n },\n // Typography by role. Each role is a self-contained set of text properties so\n // a theme can re-shape headings/labels/links without touching components.\n typography: {\n // Buttons / interactive control labels.\n control: {\n family: \"var(--st-font-sans)\",\n size: \"0.9375rem\", // 15px\n weight: \"600\",\n lineHeight: \"1.2\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"none\",\n decorationThickness: \"auto\",\n decorationOffset: \"auto\"\n },\n // Form field input text.\n field: {\n family: \"var(--st-font-sans)\",\n size: \"1rem\", // 16px\n weight: \"400\",\n lineHeight: \"1.5\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"none\",\n decorationThickness: \"auto\",\n decorationOffset: \"auto\"\n },\n // Field labels / form group legends.\n label: {\n family: \"var(--st-font-sans)\",\n size: \"0.875rem\", // 14px\n weight: \"600\",\n lineHeight: \"1.4\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"none\",\n decorationThickness: \"auto\",\n decorationOffset: \"auto\"\n },\n // Hyperlinks.\n link: {\n family: \"inherit\",\n size: \"inherit\",\n weight: \"inherit\",\n lineHeight: \"inherit\",\n letterSpacing: \"0\",\n textTransform: \"none\",\n textDecoration: \"underline\",\n decorationThickness: \"auto\",\n decorationOffset: \"0.18em\"\n }\n },\n // Multiplier applied to disabled controls.\n disabledOpacity: \"0.55\",\n // Shared interaction transition tokens (consumed by anatomy `transition`).\n transition: {\n property: \"background-color, border-color, color, box-shadow, outline-color\",\n duration: \"120ms\",\n easing: \"cubic-bezier(0.4, 0, 0.2, 1)\"\n },\n // Pointer affordance roles.\n cursor: {\n interactive: \"pointer\",\n disabled: \"not-allowed\",\n text: \"text\"\n },\n // Inline icon sizing per control size token.\n iconSize: {\n sm: \"1rem\",\n md: \"1.125rem\",\n lg: \"1.25rem\"\n },\n // FOCUS STRATEGY = first-class primitive. The `strategy` selects WHICH CSS\n // technique a shared mixin uses (outline | ring | inset | double); the other\n // fields parametrise it. This is what lets DSFR (offset outline), Carbon\n // (inset box-shadow) and the base differ by *technique*, not just values.\n focus: {\n strategy: \"outline\", // outline | ring | inset | double\n width: \"2px\",\n offset: \"2px\",\n color: \"var(--st-semantic-border-interactive)\",\n inset: \"0\" // inset distance used by the `inset` strategy\n },\n // FIELD STYLE = first-class primitive (anatomy v1.2.0). Selects how form\n // fields are drawn: `outline` (boxed, 4 equal borders — the base Sent Tech\n // look) vs `filled-underline` (filled background + a single bottom rule —\n // the DSFR/Carbon signature). `fillBg`/`underlineColor`/`underlineWidth` are\n // only consumed when style = filled-underline; for `outline` the builder uses\n // surface.default + border.subtle. Themes override this block to switch style.\n field: {\n style: \"outline\", // outline | filled-underline\n fillBg: \"var(--st-semantic-surface-default)\",\n underlineColor: \"var(--st-semantic-border-strong)\",\n underlineWidth: \"1px\"\n }\n};\n//# sourceMappingURL=foundation.js.map","import { foundation } from \"./foundation.js\";\nexport const semantic = {\n surface: {\n default: foundation.color.slate[0],\n subtle: foundation.color.slate[10],\n raised: foundation.color.slate[0],\n inverse: foundation.color.slate[90],\n overlay: \"rgb(15 23 42 / 0.48)\"\n },\n text: {\n primary: foundation.color.slate[90],\n secondary: foundation.color.slate[60],\n muted: \"#64748b\",\n inverse: foundation.color.slate[0],\n link: foundation.color.blue[60]\n },\n border: {\n subtle: foundation.color.slate[20],\n strong: \"#94a3b8\",\n interactive: foundation.color.blue[60]\n },\n action: {\n primary: foundation.color.blue[60],\n // Darker primary used on :hover (anatomy v1.1.0 — states.hover.bg).\n primaryHover: foundation.color.blue[80],\n primaryText: foundation.color.slate[0],\n secondary: foundation.color.slate[10],\n // Slightly stronger neutral for the secondary :hover surface.\n secondaryHover: foundation.color.slate[20],\n secondaryText: foundation.color.slate[90],\n danger: foundation.color.feedback.error\n },\n feedback: {\n success: foundation.color.feedback.success,\n warning: foundation.color.feedback.warning,\n error: foundation.color.feedback.error,\n info: foundation.color.feedback.info\n },\n status: {\n pending: foundation.color.feedback.warning,\n processing: foundation.color.feedback.info,\n completed: foundation.color.feedback.success,\n failed: foundation.color.feedback.error\n },\n data: {\n category1: \"#4E79A7\",\n category2: \"#F28E2B\",\n category3: \"#E15759\",\n category4: \"#76B7B2\",\n category5: \"#59A14F\",\n category6: \"#EDC948\",\n category7: \"#B07AA1\",\n category8: \"#FF9DA7\"\n }\n};\n//# sourceMappingURL=semantic.js.map","import { foundation } from \"./foundation.js\";\nimport { semantic } from \"./semantic.js\";\n// Defaults used when a theme omits an anatomy primitive. These mirror the base\n// foundation so the OUTPUT is always a complete, typed ComponentAnatomy.\nconst FALLBACK = {\n borderWidth: { none: \"0\", thin: \"1px\", thick: \"2px\" },\n borderStyle: \"solid\",\n density: {\n // fontSize per size (v1.1.0): md mirrors the control typography size; sm/lg\n // carry the label scale so the font rides with the control geometry.\n sm: { controlHeight: \"2rem\", paddingBlock: \"0\", paddingInline: \"0.75rem\", gap: \"0.375rem\", minWidth: \"2rem\", fontSize: \"0.875rem\" },\n md: { controlHeight: \"2.5rem\", paddingBlock: \"0\", paddingInline: \"1rem\", gap: \"0.5rem\", minWidth: \"2.5rem\", fontSize: \"0.9375rem\" },\n lg: { controlHeight: \"3rem\", paddingBlock: \"0\", paddingInline: \"1.25rem\", gap: \"0.5rem\", minWidth: \"3rem\", fontSize: \"1rem\" }\n },\n typography: {\n control: { family: \"var(--st-font-sans)\", size: \"0.9375rem\", weight: \"600\", lineHeight: \"1.2\", letterSpacing: \"0\", textTransform: \"none\", textDecoration: \"none\", decorationThickness: \"auto\", decorationOffset: \"auto\" },\n field: { family: \"var(--st-font-sans)\", size: \"1rem\", weight: \"400\", lineHeight: \"1.5\", letterSpacing: \"0\", textTransform: \"none\", textDecoration: \"none\", decorationThickness: \"auto\", decorationOffset: \"auto\" },\n label: { family: \"var(--st-font-sans)\", size: \"0.875rem\", weight: \"600\", lineHeight: \"1.4\", letterSpacing: \"0\", textTransform: \"none\", textDecoration: \"none\", decorationThickness: \"auto\", decorationOffset: \"auto\" },\n // Base/DSFR links are underlined at rest → underline on hover is a no-op.\n // decorationThicknessHover / decorationOffsetHover default to rest metrics so\n // themes that do not animate underline geometry (Sent Tech / Carbon) stay\n // stable without phantom var requirements.\n link: {\n family: \"inherit\", size: \"inherit\", weight: \"inherit\", lineHeight: \"inherit\", letterSpacing: \"0\", textTransform: \"none\",\n textDecoration: \"underline\", decorationThickness: \"auto\", decorationOffset: \"0.18em\",\n decorationThicknessHover: \"auto\", decorationOffsetHover: \"0.18em\", textDecorationHover: \"underline\"\n }\n },\n disabledOpacity: \"0.55\",\n transition: { property: \"background-color, border-color, color, box-shadow, outline-color\", duration: \"120ms\", easing: \"cubic-bezier(0.4, 0, 0.2, 1)\" },\n cursor: { interactive: \"pointer\", disabled: \"not-allowed\", text: \"text\" },\n iconSize: { sm: \"1rem\", md: \"1.125rem\", lg: \"1.25rem\" },\n focus: { strategy: \"outline\", width: \"2px\", offset: \"2px\", color: \"var(--st-semantic-border-interactive)\", inset: \"0\" },\n // Field style fallback = boxed outline (base Sent Tech). underlineColor /\n // underlineWidth are inert for outline; they only drive filled-underline.\n // v1.6.0: radiusTop/radiusBottom \"\" = inherit the theme's shape radius\n // (resolved in fieldOf).\n // v1.4.0: selectAppearance \"auto\" (native arrow, base unchanged), no chevron,\n // and the prior 2rem right arrow gap.\n field: { style: \"outline\", fillBg: \"\", underlineColor: \"\", underlineWidth: \"1px\", radiusTop: \"\", radiusBottom: \"\", selectAppearance: \"auto\", selectChevron: \"none\", selectPaddingRight: \"2rem\" }\n};\nfunction densityOf(f, size) {\n const base = FALLBACK.density[size];\n const themed = f.density?.[size] ?? {};\n return {\n controlHeight: themed.controlHeight ?? base.controlHeight,\n paddingBlock: themed.paddingBlock ?? base.paddingBlock,\n paddingInline: themed.paddingInline ?? base.paddingInline,\n gap: themed.gap ?? base.gap,\n minWidth: themed.minWidth ?? base.minWidth,\n fontSize: themed.fontSize ?? base.fontSize\n };\n}\n/**\n * Button density (F9): the shared control density for `size`, overlaid with any\n * BUTTON-specific override (`buttonDensity`). Adds an optional `paddingInlineEnd`\n * leaf so a button can be asymmetric (Carbon's large trailing gutter) without\n * touching the shared density the 100%-fidelity fields read. When the theme omits\n * `buttonDensity` (base/DSFR), this is identical to `densityOf` → no change, and\n * `paddingInlineEnd` mirrors `paddingInline` (symmetric).\n */\nfunction buttonDensityOf(f, size) {\n const base = densityOf(f, size);\n const override = f.buttonDensity?.[size] ?? {};\n const paddingInline = override.paddingInline ?? base.paddingInline;\n return {\n controlHeight: override.controlHeight ?? base.controlHeight,\n paddingBlock: override.paddingBlock ?? base.paddingBlock,\n paddingInline,\n gap: override.gap ?? base.gap,\n minWidth: override.minWidth ?? base.minWidth,\n fontSize: override.fontSize ?? base.fontSize,\n // Trailing inline padding: an explicit asymmetric value (Carbon) or = paddingInline.\n paddingInlineEnd: override.paddingInlineEnd ?? paddingInline\n };\n}\n/**\n * Tabs ACTIVE-tab resolution (F7/F8). Resolves the per-theme selected-tab\n * primitive into a flat, CSS-ready set the Tabs component consumes verbatim.\n * Every leaf DEFAULTS to the prior base render (12px/4px padding, inherited\n * font-size, control weight/line-height, transparent active bg, primary text,\n * BOTTOM indicator) so the base Sent Tech tab is byte-identical; DSFR / Carbon\n * override the real selected-tab metrics. `indicatorSide` resolves into two\n * border-width channels so a theme can put its accent on the top edge (DSFR,\n * which then has NO bottom border) or the bottom edge (base / Carbon).\n */\nfunction tabsOf(f, controlTypography, indicatorWidth, indicatorColor, activeTextDefault) {\n const t = f.tabs ?? {};\n const indicatorSide = t.indicatorSide ?? \"bottom\";\n const indicatorMode = t.indicatorMode ?? \"border\";\n // The indicator lives on ONE edge; the opposite edge collapses to 0 so the\n // active tab matches the reference (DSFR active = border-bottom 0 / top accent).\n const onTop = indicatorSide === \"top\";\n // \"shadow\" mode draws the accent as an inset box-shadow so BOTH border sides\n // stay 0 (DSFR, whose real accent is a background-image filet, not a border).\n // \"border\" mode keeps the real per-side border (base / Carbon) and no shadow.\n const isShadow = indicatorMode === \"shadow\";\n const shadowOffset = onTop ? indicatorWidth : `-${indicatorWidth}`;\n return {\n activeText: t.activeText || activeTextDefault,\n activeBackground: t.activeBackground || \"transparent\",\n // G2: resting-tab fill. Default \"transparent\" (base/Carbon unchanged); DSFR\n // sets a light grey-blue fill so the white active tab reads as raised.\n inactiveBackground: t.inactiveBackground || \"transparent\",\n activeWeight: t.activeWeight ?? controlTypography.weight,\n paddingBlock: t.paddingBlock ?? \"0.75rem\",\n paddingInline: t.paddingInline ?? \"0.25rem\",\n fontSize: t.fontSize ?? \"inherit\",\n lineHeight: t.lineHeight ?? controlTypography.lineHeight,\n indicatorSide,\n activeBorderTopWidth: isShadow ? \"0\" : onTop ? indicatorWidth : \"0\",\n activeBorderBottomWidth: isShadow ? \"0\" : onTop ? \"0\" : indicatorWidth,\n activeShadow: isShadow ? `inset 0 ${shadowOffset} 0 0 ${indicatorColor}` : \"none\"\n };\n}\n/**\n * Button SECONDARY-variant resolution (G1). Resolves the per-theme secondary\n * button surface into a flat, CSS-ready set the Button component consumes\n * verbatim (background / border colour / hover background). Every leaf DEFAULTS\n * to the prior base render (filled `action.secondary`, `border.subtle` stroke,\n * `action.secondaryHover` hover) so the base Sent Tech secondary button is\n * byte-identical; DSFR overrides them to render its OUTLINED secondary button\n * (transparent fill + Bleu France border + light fill on hover).\n */\nfunction buttonSecondaryOf(semantic, f) {\n const b = f.buttonSecondary ?? {};\n return {\n background: b.background || semantic.action.secondary,\n border: b.border || semantic.border.subtle,\n hoverBackground: b.hoverBackground || semantic.action.secondaryHover || semantic.action.secondary\n };\n}\n/**\n * Pagination resolution (F10). Resolves the per-theme pagination primitive into\n * a flat, CSS-ready set the Pagination component consumes verbatim. Every leaf\n * DEFAULTS to the prior base render (1px subtle stroke, radius.md, 0 block /\n * 12px inline padding, 36px min size, filled action.primary active page,\n * inherited font metrics) so the base Sent Tech pagination is byte-identical.\n * DSFR / Carbon override the real active-page metrics.\n */\nfunction paginationOf(semantic, f, thin, radiusMd) {\n const p = f.pagination ?? {};\n const border = p.border || semantic.border.subtle;\n const borderWidth = p.borderWidth ?? thin;\n return {\n background: p.background || semantic.surface.default,\n border,\n borderWidth,\n text: p.text || semantic.text.primary,\n radius: p.radius ?? radiusMd,\n activeBackground: p.activeBackground || semantic.action.primary,\n activeText: p.activeText || semantic.action.primaryText,\n // The active page can drop its border (DSFR/Carbon active page has none);\n // default = the resting page border so the base render is unchanged.\n activeBorder: p.activeBorder || border,\n activeBorderWidth: p.activeBorderWidth ?? borderWidth,\n activeWeight: p.activeWeight ?? \"inherit\",\n disabledText: p.disabledText || semantic.text.muted,\n paddingBlock: p.paddingBlock ?? \"0\",\n paddingInline: p.paddingInline ?? \"0.75rem\",\n minSize: p.minSize ?? \"2.25rem\",\n fontSize: p.fontSize ?? \"inherit\",\n lineHeight: p.lineHeight ?? \"normal\",\n letterSpacing: p.letterSpacing ?? \"normal\"\n };\n}\n/**\n * Breadcrumb resolution (F10). Resolves the per-theme breadcrumb primitive into\n * a flat set the Breadcrumb component consumes verbatim. Every leaf DEFAULTS to\n * the prior base render (link = text.link, no explicit font metrics → inherited\n * 16px / normal, current 600 weight on the current page). DSFR / Carbon pin the\n * real breadcrumb link colour + typography.\n */\nfunction breadcrumbOf(semantic, f) {\n const b = f.breadcrumb ?? {};\n return {\n text: b.text || semantic.text.secondary,\n linkText: b.linkText || semantic.text.link,\n currentText: b.currentText || semantic.text.primary,\n separator: b.separator || semantic.text.muted,\n fontSize: b.fontSize ?? \"inherit\",\n lineHeight: b.lineHeight ?? \"normal\",\n letterSpacing: b.letterSpacing ?? \"normal\",\n currentWeight: b.currentWeight ?? \"600\"\n };\n}\n/**\n * Alert resolution (P-B). Resolves the per-theme alert primitive into a flat,\n * CSS-ready set the Alert component consumes verbatim. Every leaf DEFAULTS to the\n * prior base render (surface.raised fill, 1px subtle box on top/right/bottom, a\n * 4px left accent edge, 16px padding all sides, inherited font / `normal`\n * line-height) so the base Sent Tech alert is byte-identical. DSFR drops the box\n * + fill (accent becomes a `::before` filet → left border 0); Carbon paints a\n * dark banner with a 3px coloured left bar (a real border).\n */\nfunction alertOf(semantic, f, thin, borderStyle) {\n const a = f.alert ?? {};\n // The base box border = 1px subtle on top/right/bottom (the left edge is the\n // accent, sized by accentWidth and coloured per severity by the component).\n const box = `${thin} ${borderStyle} ${semantic.border.subtle}`;\n return {\n background: a.background || semantic.surface.raised,\n text: a.text || semantic.text.primary,\n borderTop: a.borderTop || box,\n borderRight: a.borderRight || box,\n borderBottom: a.borderBottom || box,\n accentWidth: a.accentWidth ?? \"0.25rem\", // 4px (current)\n filetWidth: a.filetWidth ?? \"0\", // no filet (base/Carbon use a real left border)\n paddingTop: a.paddingTop ?? \"1rem\",\n paddingRight: a.paddingRight ?? \"1rem\",\n paddingBottom: a.paddingBottom ?? \"1rem\",\n paddingLeft: a.paddingLeft ?? \"1rem\",\n fontSize: a.fontSize ?? \"inherit\",\n lineHeight: a.lineHeight ?? \"normal\",\n letterSpacing: a.letterSpacing ?? \"normal\",\n accentInfo: a.accentInfo || semantic.feedback.info,\n accentSuccess: a.accentSuccess || semantic.feedback.success,\n accentWarning: a.accentWarning || semantic.feedback.warning,\n accentError: a.accentError || semantic.feedback.error\n };\n}\n/**\n * Accordion resolution (P-B). Resolves the per-theme accordion-trigger primitive\n * into a flat set the Accordion component consumes verbatim. Every leaf DEFAULTS\n * to the prior base render (14px block / 8px inline padding, inherited font-size,\n * weight 600, `normal` line-height, primary text) so the base Sent Tech accordion\n * is byte-identical. DSFR / Carbon pin the real header metrics.\n */\nfunction accordionOf(semantic, f) {\n const a = f.accordion ?? {};\n return {\n text: a.text || semantic.text.primary,\n paddingBlock: a.paddingBlock ?? \"0.875rem\", // 14px (current)\n paddingInline: a.paddingInline ?? \"0.5rem\", // 8px (current)\n fontSize: a.fontSize ?? \"inherit\",\n fontWeight: a.fontWeight ?? \"600\",\n lineHeight: a.lineHeight ?? \"normal\"\n };\n}\n/**\n * Tag resolution (P-C). Resolves the per-theme tag primitive into a flat,\n * CSS-ready set the Tag component consumes verbatim. Every leaf DEFAULTS to the\n * prior base render (pill radius 999px, 4px/10px padding, 12px font, weight 600,\n * line-height 1, no transform, no min-height, NEUTRAL tone = surface.subtle fill\n * + text.secondary text) so the base Sent Tech tag is byte-identical. DSFR /\n * Carbon override the real `.fr-tag` / `.bx--tag` metrics + neutral colours.\n */\nfunction tagOf(semantic, f) {\n const t = f.tag ?? {};\n return {\n radius: t.radius ?? \"999px\",\n paddingBlock: t.paddingBlock ?? \"0.25rem\", // 4px (current md)\n paddingInline: t.paddingInline ?? \"0.625rem\", // 10px (current md)\n fontSize: t.fontSize ?? \"0.75rem\", // 12px (current md)\n fontWeight: t.fontWeight ?? \"600\",\n lineHeight: t.lineHeight ?? \"1\",\n letterSpacing: t.letterSpacing ?? \"normal\",\n textTransform: t.textTransform ?? \"none\",\n minHeight: t.minHeight ?? \"0\",\n neutralBackground: t.neutralBackground || semantic.surface.subtle,\n neutralText: t.neutralText || semantic.text.secondary\n };\n}\n/**\n * Badge resolution (P-C). Resolves the per-theme badge primitive into a flat,\n * CSS-ready set the Badge component consumes verbatim. Every leaf DEFAULTS to\n * the prior base render (pill radius 999px, 4px/8px padding, 12px font, weight\n * 650, line-height 1, no transform, no min-height; tone colours stay the per-tone\n * feedback mix) so the base Sent Tech badge is byte-identical. DSFR overrides the\n * real `.fr-badge` metrics + recolours the INFO tone (the bench-rendered one) to\n * the measured grey badge.\n */\nfunction badgeOf(semantic, f) {\n const b = f.badge ?? {};\n return {\n radius: b.radius ?? \"999px\",\n paddingBlock: b.paddingBlock ?? \"0.25rem\", // 4px (current)\n paddingInline: b.paddingInline ?? \"0.5rem\", // 8px (current)\n fontSize: b.fontSize ?? \"0.75rem\", // 12px (current)\n fontWeight: b.fontWeight ?? \"650\",\n lineHeight: b.lineHeight ?? \"1\",\n letterSpacing: b.letterSpacing ?? \"normal\",\n textTransform: b.textTransform ?? \"none\",\n minHeight: b.minHeight ?? \"0\",\n // Default INFO fill reproduces the current `color-mix(... feedback.info 14%,\n // white)`; a theme can replace it with a flat measured colour.\n infoBackground: b.infoBackground || `color-mix(in srgb, ${semantic.feedback.info} 14%, white)`,\n infoText: b.infoText || semantic.feedback.info\n };\n}\n/**\n * Choice (Checkbox/Radio) LABEL resolution (P-D). Resolves the per-theme label\n * typography into a flat, CSS-ready set the `.st-choice__label` consumes\n * verbatim. Every leaf DEFAULTS to the prior base render (15px font, `normal`\n * line-height + letter-spacing, primary text) so the base Sent Tech\n * checkbox/radio is byte-identical. `radioLineHeight` defaults to the checkbox\n * line-height (single value) so a theme that does not split them stays\n * consistent; Carbon splits 18px (checkbox) / 20px (radio).\n */\nfunction choiceOf(semantic, f) {\n const c = f.choice ?? {};\n const labelLineHeight = c.labelLineHeight ?? \"normal\";\n return {\n labelFontSize: c.labelFontSize ?? \"0.9375rem\", // 15px (current)\n labelLineHeight,\n radioLineHeight: c.radioLineHeight ?? labelLineHeight,\n labelLetterSpacing: c.labelLetterSpacing ?? \"normal\",\n labelColor: c.labelColor || semantic.text.primary\n };\n}\n/**\n * Search FIELD resolution (P-D). Resolves the per-theme search-box padding +\n * input typography into a flat set the `.st-search` consumes verbatim. Every\n * leaf DEFAULTS to the prior base render (0 padding on the wrapper, inherited\n * 16px / `normal` typography) so the base Sent Tech search is byte-identical.\n * The field box (fill / borders / radius) is the shared field anatomy, unchanged.\n */\nfunction searchOf(f) {\n const s = f.search ?? {};\n const paddingInline = s.paddingInline ?? \"0\";\n return {\n paddingBlock: s.paddingBlock ?? \"0\",\n paddingInline: paddingInline,\n // v1.6.0 (additive): left/right wrapper padding. Preserve backward\n // compatibility by defaulting each side to the single paddingInline value.\n paddingLeft: s.paddingLeft ?? paddingInline,\n paddingRight: s.paddingRight ?? paddingInline,\n fontSize: s.fontSize ?? \"1rem\", // 16px (current inherited)\n lineHeight: s.lineHeight ?? \"normal\",\n letterSpacing: s.letterSpacing ?? \"normal\"\n };\n}\n/**\n * Toggle / Switch resolution (P-D). Resolves the per-theme track geometry +\n * colours + label typography into a flat set the Toggle/Switch components\n * consume verbatim. Every leaf DEFAULTS to the prior base render (pill radius\n * 999px, 2px inner padding, 36×20 md track, 16px md thumb, border.strong resting\n * track, action.primary checked track, surface.default thumb, inherited `normal`\n * typography, primary text) so the base Sent Tech toggle is byte-identical.\n */\nfunction toggleOf(semantic, f) {\n const t = f.toggle ?? {};\n return {\n trackRadius: t.trackRadius ?? \"999px\",\n trackPadding: t.trackPadding ?? \"0.125rem\", // 2px (current)\n trackWidth: t.trackWidth ?? \"2.25rem\", // 36px (current md)\n trackHeight: t.trackHeight ?? \"1.25rem\", // 20px (current md)\n thumbSize: t.thumbSize ?? \"1rem\", // 16px (current md)\n trackColor: t.trackColor || semantic.border.strong,\n trackCheckedColor: t.trackCheckedColor || semantic.action.primary,\n thumbColor: t.thumbColor || semantic.surface.default,\n fontSize: t.fontSize ?? \"inherit\",\n lineHeight: t.lineHeight ?? \"normal\",\n letterSpacing: t.letterSpacing ?? \"normal\",\n textColor: t.textColor || semantic.text.primary\n };\n}\n/**\n * SelectableRow / SelectableList SELECTED-item resolution (UAT8). Resolves the\n * per-theme selected-item colours into a flat, CSS-ready set both components\n * consume verbatim. Every leaf DEFAULTS to a value derived from this theme's own\n * `action.primary`:\n * - selectedBackground: a calm 12% tint of the primary over the surface.\n * - selectedAccent: the primary itself (opt-in left accent bar).\n * - selectedText: a DARKER accent (`primary 78% + black`) that clears\n * ≥ 7:1 on the tint for every light theme (the plain primary only reaches\n * ~4.2–4.9:1, sub/at-AA). Verified via WCAG relative luminance.\n * The `*Dark` leaves carry dark-mode-safe variants (text LIGHTENED, tint over a\n * dark surface) so a future dark theme inherits accessible values automatically.\n * `color-mix(in oklch, …)` keeps the derivation perceptually-uniform; the\n * components ship a flat fallback + an `@supports` guard for engines without it.\n */\nfunction selectableRowOf(semantic, f) {\n const s = f.selectableRow ?? {};\n const primary = semantic.action.primary;\n return {\n selectedBackground: s.selectedBackground || `color-mix(in oklch, ${primary} 12%, transparent)`,\n selectedAccent: s.selectedAccent || primary,\n // Darker accent for ≥ 7:1 on the tint (vs ~4.2–4.9:1 for the plain primary).\n selectedText: s.selectedText || `color-mix(in oklch, ${primary} 78%, black)`,\n // Dark-mode variants: a slightly stronger tint + a LIGHTENED text so the\n // accent stays legible on a dark tinted surface.\n selectedBackgroundDark: s.selectedBackgroundDark || `color-mix(in oklch, ${primary} 22%, transparent)`,\n selectedAccentDark: s.selectedAccentDark || primary,\n selectedTextDark: s.selectedTextDark || `color-mix(in oklch, ${primary} 70%, white)`\n };\n}\nfunction typographyOf(f, role) {\n // Widen to TypographyAnatomy so the optional textDecorationHover leaf is\n // readable across all roles (only `link` carries it in the FALLBACK literal).\n const base = FALLBACK.typography[role];\n const themed = f.typography?.[role] ?? {};\n return {\n family: themed.family ?? base.family,\n size: themed.size ?? base.size,\n weight: themed.weight ?? base.weight,\n lineHeight: themed.lineHeight ?? base.lineHeight,\n letterSpacing: themed.letterSpacing ?? base.letterSpacing,\n textTransform: themed.textTransform ?? base.textTransform,\n textDecoration: themed.textDecoration ?? base.textDecoration,\n decorationThickness: themed.decorationThickness ?? base.decorationThickness,\n decorationOffset: themed.decorationOffset ?? base.decorationOffset,\n decorationThicknessHover: themed.decorationThicknessHover ?? base.decorationThicknessHover,\n decorationOffsetHover: themed.decorationOffsetHover ?? base.decorationOffsetHover,\n textDecorationHover: themed.textDecorationHover ?? base.textDecorationHover\n };\n}\nfunction focusOf(f) {\n const base = FALLBACK.focus;\n const themed = f.focus ?? {};\n const strategy = (themed.strategy ?? base.strategy);\n const width = themed.width ?? base.width;\n const offset = themed.offset ?? base.offset;\n const color = themed.color ?? base.color;\n const inset = themed.inset ?? base.inset;\n // The focus STRATEGY is resolved here into the two CSS channels a shared\n // mixin needs: `outline` and `boxShadow`. A component applies BOTH on\n // :focus-visible; the strategy decides which is \"live\" (the other is a no-op).\n // This is what lets DSFR (offset outline) and Carbon (inset box-shadow) differ\n // by *technique*, not just values, while staying 100% token-driven.\n let outline = \"none\";\n let boxShadow = \"none\";\n switch (strategy) {\n case \"outline\":\n // DSFR-like: native outline, offset away from the box.\n outline = `${width} solid ${color}`;\n break;\n case \"ring\":\n // Base default: a soft ring drawn just outside the box.\n boxShadow = `0 0 0 ${width} ${color}`;\n break;\n case \"inset\":\n // Carbon: a ring drawn INSIDE the box via inset box-shadow.\n boxShadow = `inset 0 0 0 ${width} ${color}`;\n break;\n case \"double\":\n // Two-tone accessibility ring (outer color + inner light gap).\n outline = `${width} solid ${color}`;\n boxShadow = `0 0 0 ${inset} #ffffff`;\n break;\n }\n return { strategy, width, offset, color, inset, outline, boxShadow };\n}\n/**\n * Resolves the FIELD STYLE (v1.2.0) into a fully-typed FieldAnatomy: a fill\n * background + four per-side border shorthands a component applies verbatim.\n *\n * - `outline` (default, base Sent Tech): `fillBg = surface.default`, the four\n * borders all = `<borderWidth.thin> solid <border.subtle>`. This reproduces\n * the existing boxed input EXACTLY → no Sent Tech regression.\n * - `filled-underline` (DSFR / Carbon): `fillBg` = the theme's field fill tone,\n * top/right/left = `none`, the bottom rule is the only stroke. HOW the bottom\n * rule is drawn depends on the theme's real technique:\n * · DSFR (`underlineAsShadow: true`) draws it as a `box-shadow inset` (its\n * real CSS), so `borderBottom` is `none` and the rule adds no box height.\n * · Carbon (default) genuinely uses a real `border-bottom: 1px solid` — so\n * we keep the geometric `borderBottom` and leave `underline` = `none` to\n * stay pixel-identical to the official `.bx--text-input`.\n *\n * v1.3.0 (additive): `radiusTop` rounds only the field's TOP corners (defaults\n * to the theme's `shapeRadius` so a boxed field stays uniform — no regression);\n * `underline` carries the filled-underline bottom rule as an inset box-shadow\n * when `underlineAsShadow` is set; `focusShadow` composes it with the focus ring.\n */\nfunction fieldOf(semantic, f, bw, borderStyle, shapeRadius, focusBoxShadow) {\n const themed = f.field ?? {};\n const style = (themed.style ?? FALLBACK.field.style);\n const thin = bw.thin ?? \"1px\";\n // v1.4.0 (F5/F9) — native <select> rendering. These are independent of the\n // outline/filled-underline branch, so resolve them once and spread into each\n // returned FieldAnatomy. selectAppearance \"auto\" keeps the base native arrow\n // (and its UA-forced `line-height: normal`); \"none\" lets the anatomy\n // line-height take effect, the chevron then drawn by selectChevron.\n const selectAppearance = themed.selectAppearance ?? FALLBACK.field.selectAppearance;\n const selectChevron = themed.selectChevron ?? FALLBACK.field.selectChevron;\n const selectPaddingRight = themed.selectPaddingRight ?? FALLBACK.field.selectPaddingRight;\n const selectLeaves = { selectAppearance, selectChevron, selectPaddingRight };\n // Top corners inherit the theme's shape radius unless the theme rounds them\n // explicitly (DSFR field = 4px top). Bottom corners default to shapeRadius.\n const radiusTop = themed.radiusTop || shapeRadius;\n const radiusBottom = themed.radiusBottom || shapeRadius;\n // Compose the field focus box-shadow so the resting underline is never lost\n // incoherently: an outline-strategy theme (focusBoxShadow === \"none\") keeps\n // the underline; an inset/ring theme stacks its ring + the underline.\n const composeFocus = (underline) => {\n const ring = focusBoxShadow && focusBoxShadow !== \"none\" ? focusBoxShadow : \"\";\n if (underline === \"none\")\n return ring || \"none\";\n if (!ring)\n return underline; // outline theme: keep the underline at focus\n return `${ring}, ${underline}`; // inset/ring theme: ring + underline\n };\n if (style === \"filled-underline\") {\n const fillBg = themed.fillBg || semantic.surface.subtle;\n const underlineColor = themed.underlineColor || semantic.border.strong;\n const underlineWidth = themed.underlineWidth || thin;\n // DSFR draws the rule as an inset box-shadow (its real technique, cf. rule\n // `underline-hardcoded-border`); Carbon keeps a real geometric border-bottom\n // (its real technique) so it stays pixel-identical to `.bx--text-input`.\n if (themed.underlineMode === \"shadow\") {\n const underline = `inset 0 -${underlineWidth} 0 0 ${underlineColor}`;\n return {\n style,\n fillBg,\n borderTop: \"none\",\n borderRight: \"none\",\n borderBottom: \"none\",\n borderLeft: \"none\",\n radiusTop,\n radiusBottom,\n underline,\n focusShadow: composeFocus(underline),\n ...selectLeaves\n };\n }\n return {\n style,\n fillBg,\n borderTop: \"none\",\n borderRight: \"none\",\n borderBottom: `${underlineWidth} ${borderStyle} ${underlineColor}`,\n borderLeft: \"none\",\n radiusTop,\n radiusBottom,\n underline: \"none\",\n focusShadow: composeFocus(\"none\"),\n ...selectLeaves\n };\n }\n // outline (default): boxed, 4 equal borders — identical to the prior look.\n const fillBg = themed.fillBg || semantic.surface.default;\n const border = `${thin} ${borderStyle} ${semantic.border.subtle}`;\n return {\n style: \"outline\",\n fillBg,\n borderTop: border,\n borderRight: border,\n borderBottom: border,\n borderLeft: border,\n radiusTop,\n radiusBottom,\n underline: \"none\",\n focusShadow: composeFocus(\"none\"),\n ...selectLeaves\n };\n}\n/**\n * Construit la couche `component` à partir d'un `semantic` et d'un `foundation`\n * donnés. Les rôles composant sont CÂBLÉS sur les rôles semantic/foundation du\n * thème appelant — c'est ce qui permet à un thème (DSFR, Carbon, forge…) de\n * propager sa marque jusqu'aux composants. Réutiliser un `component` figé sur\n * une autre base rendrait les composants inertes au changement de thème.\n */\nexport function createComponent(semantic, foundation) {\n const bw = { ...FALLBACK.borderWidth, ...(foundation.borderWidth ?? {}) };\n const borderStyle = foundation.borderStyle?.solid ?? FALLBACK.borderStyle;\n const disabledOpacity = foundation.disabledOpacity ?? FALLBACK.disabledOpacity;\n const cursor = { ...FALLBACK.cursor, ...(foundation.cursor ?? {}) };\n const icon = { ...FALLBACK.iconSize, ...(foundation.iconSize ?? {}) };\n const focus = focusOf(foundation);\n // Anatomy block for the 5 pilot components. Typed against ComponentAnatomy so\n // a theme cannot drift the *shape*; values resolve from this theme's own\n // foundation (radius/density/typography/focus) → the brand reaches anatomy.\n const buttonAnatomy = {\n shape: { radius: foundation.radius.md, borderWidth: bw.thin, borderStyle },\n // F9: button-specific density (shared control density + optional button-only\n // override) so Carbon's tall, asymmetric primary button doesn't regress the\n // fields that share the control density. Base/DSFR get the shared density.\n density: { sm: buttonDensityOf(foundation, \"sm\"), md: buttonDensityOf(foundation, \"md\"), lg: buttonDensityOf(foundation, \"lg\") },\n typography: typographyOf(foundation, \"control\"),\n focus,\n icon: { size: icon.md, gap: densityOf(foundation, \"md\").gap },\n states: {\n // v1.1.0: hover bg sourced from the semantic layer (primaryHover, with a\n // fallback to primary so a theme that omits it stays inert, not blank).\n hover: { bg: semantic.action.primaryHover ?? semantic.action.primary, transform: \"none\" },\n active: { transform: \"none\" },\n disabled: { opacity: disabledOpacity }\n }\n };\n const inputAnatomy = {\n shape: { radius: foundation.radius.md, borderWidth: bw.thin, borderStyle },\n density: { sm: densityOf(foundation, \"sm\"), md: densityOf(foundation, \"md\"), lg: densityOf(foundation, \"lg\") },\n typography: typographyOf(foundation, \"field\"),\n focus,\n // Field style (v1.2.0): outline (boxed, base) vs filled-underline (DSFR/Carbon).\n // v1.3.0: radiusTop defaults to the field's own shape radius (radius.md);\n // the underline is an inset box-shadow, composed with the focus ring.\n field: fieldOf(semantic, foundation, bw, borderStyle, foundation.radius.md, focus.boxShadow),\n states: {\n hover: { border: semantic.border.strong },\n focus: { border: semantic.border.interactive },\n // Inputs convey disabled via bg + text, not via global dimming.\n disabled: { bg: semantic.surface.subtle, text: semantic.text.muted }\n }\n };\n const linkTypography = typographyOf(foundation, \"link\");\n const linkAnatomy = {\n shape: { radius: foundation.radius.sm ?? foundation.radius.md, borderWidth: bw.none, borderStyle },\n typography: linkTypography,\n focus,\n states: {\n // v1.1.0: hover decoration sourced from the link role typography\n // (textDecorationHover). DSFR/base = underline (no-op vs rest); Carbon\n // goes none → underline on hover. Fallback to underline if a theme omits.\n hover: { text: semantic.action.primary, decoration: linkTypography.textDecorationHover ?? \"underline\" },\n disabled: { text: semantic.text.muted, decoration: \"none\", opacity: disabledOpacity }\n }\n };\n // Card surface (additive): borderWidth defaults to the base `thin` stroke so\n // Sent Tech is unchanged; DSFR/Carbon set it to 0 (their cards/tiles have no\n // border). The fill defaults to surface.raised (base), Carbon overrides it to\n // its $layer-01 tone via `card.background`.\n const cardBorderWidth = foundation.card?.borderWidth ?? bw.thin;\n const cardBackground = foundation.card?.background || semantic.surface.raised;\n const cardHoverBackground = foundation.card?.hoverBackground || cardBackground;\n // F5 (additive): the card body typography. The base `.st-card` carries NO\n // explicit font-size / line-height / letter-spacing, so the defaults here\n // REPRODUCE that exact render (inherit / normal / normal). DSFR/Carbon pin\n // their real tile body metrics so the card text matches the measured\n // reference instead of `normal`. Family/weight stay on the field role (no\n // visible change — the card already inherits the brand sans + 400).\n const cardTypographyBase = typographyOf(foundation, \"field\");\n const cardTypography = {\n ...cardTypographyBase,\n size: foundation.card?.fontSize ?? \"inherit\",\n lineHeight: foundation.card?.lineHeight ?? \"normal\",\n letterSpacing: foundation.card?.letterSpacing ?? \"normal\"\n };\n const cardAnatomy = {\n shape: { radius: foundation.radius.lg, borderWidth: cardBorderWidth, borderStyle },\n typography: cardTypography,\n focus,\n states: {\n hover: {\n bg: cardHoverBackground,\n transform: \"translateY(-1px)\"\n }\n }\n };\n const tabsControlTypography = typographyOf(foundation, \"control\");\n const tabsAnatomy = {\n shape: { radius: foundation.radius.none ?? \"0\", borderWidth: bw.thin, borderStyle },\n density: { md: densityOf(foundation, \"md\") },\n typography: tabsControlTypography,\n focus,\n states: {\n hover: { text: semantic.text.primary },\n disabled: { opacity: disabledOpacity }\n }\n };\n // F7/F8 — active-tab metrics (additive, per-theme; base render unchanged).\n // The indicator width is the tab's stroke width (thin); `tabsOf` resolves it\n // onto the top edge (DSFR) or the bottom edge (base/Carbon), as a real border\n // (base/Carbon) or an inset box-shadow accent (DSFR).\n const tabsResolved = tabsOf(foundation, tabsControlTypography, bw.thin, semantic.action.primary, semantic.text.primary);\n // G1 — secondary button surface (per theme; base render unchanged). DSFR\n // overrides it to a transparent fill + Bleu France border + text; base/Carbon\n // keep the filled neutral default.\n const buttonSecondary = buttonSecondaryOf(semantic, foundation);\n // F10 — Pagination / Breadcrumb anatomy (per theme; base render unchanged).\n const paginationResolved = paginationOf(semantic, foundation, bw.thin, foundation.radius.md);\n const breadcrumbResolved = breadcrumbOf(semantic, foundation);\n // P-B — Alert / Accordion anatomy (per theme; base render unchanged).\n const alertResolved = alertOf(semantic, foundation, bw.thin, borderStyle);\n const accordionResolved = accordionOf(semantic, foundation);\n // P-C — Tag / Badge anatomy (per theme; base render unchanged).\n const tagResolved = tagOf(semantic, foundation);\n const badgeResolved = badgeOf(semantic, foundation);\n // P-D — Choice (Checkbox/Radio) / Search / Toggle anatomy (per theme; base\n // render unchanged via the resolver defaults).\n const choiceResolved = choiceOf(semantic, foundation);\n const searchResolved = searchOf(foundation);\n const toggleResolved = toggleOf(semantic, foundation);\n // UAT8 — SelectableRow / SelectableList selected-item colours (per theme;\n // derived from action.primary via the resolver defaults).\n const selectableRowResolved = selectableRowOf(semantic, foundation);\n return {\n button: {\n radius: foundation.radius.md,\n primaryBackground: semantic.action.primary,\n primaryText: semantic.action.primaryText,\n // G1: the secondary surface is resolved per theme (transparent + bordered\n // for DSFR's outlined secondary; filled neutral for base/Carbon).\n secondaryBackground: buttonSecondary.background,\n secondaryBorder: buttonSecondary.border,\n secondaryHoverBackground: buttonSecondary.hoverBackground,\n secondaryText: semantic.action.secondaryText,\n anatomy: buttonAnatomy\n },\n link: {\n text: semantic.text.link,\n hoverText: semantic.action.primary,\n disabledText: semantic.text.muted,\n focusRing: semantic.border.interactive,\n anatomy: linkAnatomy\n },\n alert: {\n // Existing leaves keep their names (consumers/docs unchanged); background\n // and text now resolve through `alertOf` (identical defaults = unchanged base).\n background: alertResolved.background,\n text: alertResolved.text,\n border: semantic.border.subtle,\n // Per-severity accent colours now resolve through `alertOf` (default = the\n // matching feedback role → base unchanged; Carbon overrides accentInfo).\n infoBorder: alertResolved.accentInfo,\n successBorder: alertResolved.accentSuccess,\n warningBorder: alertResolved.accentWarning,\n errorBorder: alertResolved.accentError,\n radius: foundation.radius.lg,\n // P-B additive leaves — per-theme alert anatomy (base = unchanged).\n borderTop: alertResolved.borderTop,\n borderRight: alertResolved.borderRight,\n borderBottom: alertResolved.borderBottom,\n // Left accent: a real left border of `accentWidth` (base/Carbon) OR a\n // `::before` filet of `filetWidth` drawn inside the box (DSFR) so the\n // measured left border stays 0. Both coloured per severity by the component.\n accentWidth: alertResolved.accentWidth,\n filetWidth: alertResolved.filetWidth,\n paddingTop: alertResolved.paddingTop,\n paddingRight: alertResolved.paddingRight,\n paddingBottom: alertResolved.paddingBottom,\n paddingLeft: alertResolved.paddingLeft,\n fontSize: alertResolved.fontSize,\n lineHeight: alertResolved.lineHeight,\n letterSpacing: alertResolved.letterSpacing\n },\n accordion: {\n // P-B — per-theme accordion-trigger anatomy (base = unchanged).\n text: accordionResolved.text,\n paddingBlock: accordionResolved.paddingBlock,\n paddingInline: accordionResolved.paddingInline,\n fontSize: accordionResolved.fontSize,\n fontWeight: accordionResolved.fontWeight,\n lineHeight: accordionResolved.lineHeight\n },\n tag: {\n // P-C — per-theme tag anatomy (base = unchanged via resolver defaults).\n radius: tagResolved.radius,\n paddingBlock: tagResolved.paddingBlock,\n paddingInline: tagResolved.paddingInline,\n fontSize: tagResolved.fontSize,\n fontWeight: tagResolved.fontWeight,\n lineHeight: tagResolved.lineHeight,\n letterSpacing: tagResolved.letterSpacing,\n textTransform: tagResolved.textTransform,\n minHeight: tagResolved.minHeight,\n neutralBackground: tagResolved.neutralBackground,\n neutralText: tagResolved.neutralText\n },\n badge: {\n // P-C — per-theme badge anatomy (base = unchanged via resolver defaults).\n radius: badgeResolved.radius,\n paddingBlock: badgeResolved.paddingBlock,\n paddingInline: badgeResolved.paddingInline,\n fontSize: badgeResolved.fontSize,\n fontWeight: badgeResolved.fontWeight,\n lineHeight: badgeResolved.lineHeight,\n letterSpacing: badgeResolved.letterSpacing,\n textTransform: badgeResolved.textTransform,\n minHeight: badgeResolved.minHeight,\n infoBackground: badgeResolved.infoBackground,\n infoText: badgeResolved.infoText\n },\n card: {\n background: cardBackground,\n border: semantic.border.subtle,\n radius: foundation.radius.lg,\n shadow: foundation.shadow.subtle,\n anatomy: cardAnatomy\n },\n menu: {\n background: semantic.surface.raised,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n itemHoverBackground: semantic.surface.subtle,\n dangerText: semantic.feedback.error,\n dangerHoverBackground: \"rgba(185, 28, 28, 0.08)\",\n disabledText: semantic.text.muted,\n radius: foundation.radius.md,\n shadow: foundation.shadow.medium\n },\n popover: {\n background: semantic.surface.raised,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n shadow: foundation.shadow.floating,\n radius: foundation.radius.lg,\n zIndex: foundation.z.overlay\n },\n dropdown: {\n background: semantic.surface.default,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n optionHoverBackground: semantic.surface.subtle,\n selectedBackground: semantic.action.primary,\n selectedText: semantic.action.primaryText,\n radius: foundation.radius.md,\n shadow: foundation.shadow.medium\n },\n input: {\n background: semantic.surface.default,\n border: semantic.border.subtle,\n focusRing: semantic.border.interactive,\n radius: foundation.radius.md\n },\n field: {\n labelText: semantic.text.primary,\n helpText: semantic.text.secondary,\n errorText: semantic.feedback.error,\n gap: foundation.spacing[2],\n maxWidth: \"28rem\",\n labelTypography: typographyOf(foundation, \"label\")\n },\n control: {\n background: semantic.surface.default,\n text: semantic.text.primary,\n placeholderText: semantic.text.muted,\n border: semantic.border.subtle,\n hoverBorder: semantic.border.strong,\n hoverBackground: semantic.surface.subtle,\n focusRing: semantic.border.interactive,\n invalidBorder: semantic.feedback.error,\n disabledBackground: semantic.surface.subtle,\n disabledText: semantic.text.muted,\n radius: foundation.radius.md,\n smHeight: \"2rem\",\n mdHeight: \"2.5rem\",\n lgHeight: \"3rem\",\n anatomy: inputAnatomy\n },\n selection: {\n checkedBackground: semantic.action.primary,\n checkedText: semantic.action.primaryText,\n border: semantic.border.subtle,\n // Existing switch colour leaves now resolve through `toggleOf` (identical\n // defaults = unchanged base; DSFR/Carbon set their measured track colours).\n switchTrack: toggleResolved.trackColor,\n switchTrackChecked: toggleResolved.trackCheckedColor,\n switchThumb: toggleResolved.thumbColor,\n // P-D additive — Choice (Checkbox/Radio) label typography (base = unchanged).\n choiceLabelFontSize: choiceResolved.labelFontSize,\n choiceLabelLineHeight: choiceResolved.labelLineHeight,\n choiceRadioLineHeight: choiceResolved.radioLineHeight,\n choiceLabelLetterSpacing: choiceResolved.labelLetterSpacing,\n choiceLabelColor: choiceResolved.labelColor,\n // P-D additive — Toggle/Switch track geometry + label typography (base =\n // unchanged via the resolver defaults).\n toggleTrackRadius: toggleResolved.trackRadius,\n toggleTrackPadding: toggleResolved.trackPadding,\n toggleTrackWidth: toggleResolved.trackWidth,\n toggleTrackHeight: toggleResolved.trackHeight,\n toggleThumbSize: toggleResolved.thumbSize,\n toggleFontSize: toggleResolved.fontSize,\n toggleLineHeight: toggleResolved.lineHeight,\n toggleLetterSpacing: toggleResolved.letterSpacing,\n toggleTextColor: toggleResolved.textColor\n },\n search: {\n // P-D additive — Search field box padding + input typography (base =\n // unchanged via the resolver defaults). The field box (fill/border/radius)\n // stays the shared `control.anatomy.field` already mapped like Input.\n paddingBlock: searchResolved.paddingBlock,\n paddingInline: searchResolved.paddingInline,\n paddingLeft: searchResolved.paddingLeft,\n paddingRight: searchResolved.paddingRight,\n fontSize: searchResolved.fontSize,\n lineHeight: searchResolved.lineHeight,\n letterSpacing: searchResolved.letterSpacing\n },\n overlay: {\n backdrop: semantic.surface.overlay,\n surface: semantic.surface.raised,\n border: semantic.border.subtle,\n shadow: foundation.shadow.floating,\n radius: foundation.radius.lg,\n zIndex: foundation.z.modal\n },\n drawer: {\n backdrop: semantic.surface.overlay,\n surface: semantic.surface.raised,\n border: semantic.border.subtle,\n shadow: foundation.shadow.floating,\n width: \"24rem\",\n zIndex: foundation.z.modal\n },\n emptyState: {\n background: semantic.surface.subtle,\n border: semantic.border.subtle,\n titleText: semantic.text.primary,\n messageText: semantic.text.secondary,\n radius: foundation.radius.lg\n },\n loadingState: {\n indicator: semantic.action.primary,\n track: semantic.surface.subtle,\n text: semantic.text.secondary,\n radius: foundation.radius.pill\n },\n tooltip: {\n background: semantic.surface.inverse,\n text: semantic.text.inverse,\n radius: foundation.radius.md,\n shadow: foundation.shadow.medium,\n zIndex: foundation.z.overlay\n },\n toast: {\n background: semantic.surface.raised,\n text: semantic.text.primary,\n border: semantic.border.subtle,\n shadow: foundation.shadow.floating,\n radius: foundation.radius.lg,\n infoBorder: semantic.feedback.info,\n successBorder: semantic.feedback.success,\n warningBorder: semantic.feedback.warning,\n errorBorder: semantic.feedback.error,\n zIndex: foundation.z.toast\n },\n dataTable: {\n headerBackground: semantic.surface.subtle,\n rowBackground: semantic.surface.default,\n rowHoverBackground: semantic.surface.subtle,\n border: semantic.border.subtle,\n text: semantic.text.primary,\n captionText: semantic.text.secondary,\n radius: foundation.radius.lg\n },\n tabs: {\n // F7/F8: active-tab roles/metrics resolved per theme (base render = current).\n activeText: tabsResolved.activeText,\n activeBackground: tabsResolved.activeBackground,\n // G2: resting-tab fill (default transparent; DSFR = light grey-blue).\n inactiveBackground: tabsResolved.inactiveBackground,\n activeWeight: tabsResolved.activeWeight,\n inactiveText: semantic.text.secondary,\n border: semantic.border.subtle,\n indicator: semantic.action.primary,\n panelBackground: semantic.surface.default,\n tabPaddingBlock: tabsResolved.paddingBlock,\n tabPaddingInline: tabsResolved.paddingInline,\n tabFontSize: tabsResolved.fontSize,\n tabLineHeight: tabsResolved.lineHeight,\n activeBorderTopWidth: tabsResolved.activeBorderTopWidth,\n activeBorderBottomWidth: tabsResolved.activeBorderBottomWidth,\n activeShadow: tabsResolved.activeShadow,\n anatomy: tabsAnatomy\n },\n pagination: {\n // Existing leaves keep their names (consumers/docs unchanged); they now\n // resolve through `paginationOf` (identical defaults = unchanged base).\n background: paginationResolved.background,\n border: paginationResolved.border,\n text: paginationResolved.text,\n activeBackground: paginationResolved.activeBackground,\n activeText: paginationResolved.activeText,\n disabledText: paginationResolved.disabledText,\n radius: paginationResolved.radius,\n // F10 additive leaves — per-theme active-page metrics (base = unchanged).\n borderWidth: paginationResolved.borderWidth,\n activeBorder: paginationResolved.activeBorder,\n activeBorderWidth: paginationResolved.activeBorderWidth,\n activeWeight: paginationResolved.activeWeight,\n paddingBlock: paginationResolved.paddingBlock,\n paddingInline: paginationResolved.paddingInline,\n minSize: paginationResolved.minSize,\n fontSize: paginationResolved.fontSize,\n lineHeight: paginationResolved.lineHeight,\n letterSpacing: paginationResolved.letterSpacing\n },\n paginationNav: {\n // Phase 2 aliases for the ellipsis/previous/next pagination control. These\n // mirror `pagination` where the visual role is identical and use the shared\n // control hover colour for the interactive page/nav buttons.\n background: paginationResolved.background,\n border: paginationResolved.border,\n radius: paginationResolved.radius,\n text: paginationResolved.text,\n hoverBackground: semantic.surface.subtle,\n activeBackground: paginationResolved.activeBackground,\n activeText: paginationResolved.activeText,\n disabledText: paginationResolved.disabledText,\n ellipsisText: semantic.text.muted\n },\n breadcrumb: {\n text: breadcrumbResolved.text,\n currentText: breadcrumbResolved.currentText,\n separator: breadcrumbResolved.separator,\n linkText: breadcrumbResolved.linkText,\n // F10 additive leaves — per-theme breadcrumb typography (base = unchanged).\n fontSize: breadcrumbResolved.fontSize,\n lineHeight: breadcrumbResolved.lineHeight,\n letterSpacing: breadcrumbResolved.letterSpacing,\n currentWeight: breadcrumbResolved.currentWeight\n },\n sideNav: {\n background: semantic.surface.default,\n border: semantic.border.subtle,\n itemText: semantic.text.secondary,\n activeBackground: semantic.surface.subtle,\n activeText: semantic.text.primary,\n width: \"16rem\"\n },\n selectableRow: {\n // UAT8 — selected list-item colours (tinted surface + accent bar + a\n // contrast-safe darker text), derived from action.primary per theme.\n selectedBackground: selectableRowResolved.selectedBackground,\n selectedAccent: selectableRowResolved.selectedAccent,\n selectedText: selectableRowResolved.selectedText,\n // Dark-mode-safe variants (emitted now so a future dark theme inherits them).\n selectedBackgroundDark: selectableRowResolved.selectedBackgroundDark,\n selectedAccentDark: selectableRowResolved.selectedAccentDark,\n selectedTextDark: selectableRowResolved.selectedTextDark\n },\n chat: {\n userBubbleBackground: semantic.action.primary,\n userBubbleText: semantic.action.primaryText,\n assistantBubbleBackground: semantic.surface.subtle,\n assistantBubbleText: semantic.text.primary,\n composerSurface: semantic.surface.raised,\n toolCallSurface: semantic.surface.subtle\n },\n graph: {\n panelBackground: semantic.surface.inverse,\n panelText: semantic.text.inverse,\n edgeDefault: \"rgb(226 232 240 / 0.56)\",\n community1: semantic.data.category1,\n community2: semantic.data.category2,\n community3: semantic.data.category3,\n community4: semantic.data.category4\n }\n };\n}\nexport const component = createComponent(semantic, foundation);\n//# sourceMappingURL=component.js.map","export function flattenTokens(tree, prefix = []) {\n const output = {};\n for (const [key, value] of Object.entries(tree)) {\n if (value === undefined)\n continue;\n const path = [...prefix, key];\n if (typeof value === \"object\" && value !== null) {\n Object.assign(output, flattenTokens(value, path));\n }\n else {\n output[path.join(\"-\")] = value;\n }\n }\n return output;\n}\nexport function toCssVariables(tree, selector = \":root\", namespace = \"st\") {\n const entries = Object.entries(flattenTokens(tree));\n const lines = [];\n for (const [name, value] of entries) {\n lines.push(` --${namespace}-${name}: ${String(value)};`);\n // Les composants consomment la couche foundation sous des noms COURTS\n // (--st-font-sans, --st-radius-md, --st-spacing-2, --st-shadow-medium,\n // --st-motion-fast, --st-z-*…) tandis que l'arbre l'expose sous\n // --st-foundation-*. On émet donc aussi l'alias court pour que la\n // typographie / le radius / l'espacement / le motion suivent le thème.\n // Additif : les noms pleinement qualifiés --st-foundation-* restent émis.\n if (name.startsWith(\"foundation-\")) {\n const short = name.slice(\"foundation-\".length);\n lines.push(` --${namespace}-${short}: ${String(value)};`);\n // Alias z-index : la couche `z` est consommée comme --st-zindex-*.\n if (short.startsWith(\"z-\")) {\n lines.push(` --${namespace}-zindex-${short.slice(2)}: ${String(value)};`);\n }\n }\n }\n return `${selector} {\\n${lines.join(\"\\n\")}\\n}\\n`;\n}\n//# sourceMappingURL=css.js.map","import \"clsx\";\nimport { a4 as head, a5 as attr, a3 as derived } from \"../../chunks/index.js\";\nimport { toCssVariables, component, semantic, foundation, createComponent } from \"@sentropic/design-system-tokens\";\nfunction html(value) {\n var html2 = String(value ?? \"\");\n var open = \"<!---->\";\n return open + html2 + \"<!---->\";\n}\nfunction assertTenantTheme(input) {\n if (!input || typeof input !== \"object\") {\n throw new Error(\"Theme must be an object\");\n }\n const theme = input;\n if (typeof theme.id !== \"string\" || theme.id.trim().length === 0) {\n throw new Error(\"Theme id is required\");\n }\n if (typeof theme.label !== \"string\" || theme.label.trim().length === 0) {\n throw new Error(\"Theme label is required\");\n }\n if (theme.mode !== \"light\" && theme.mode !== \"dark\") {\n throw new Error(\"Theme mode must be light or dark\");\n }\n if (!theme.tokens || typeof theme.tokens !== \"object\") {\n throw new Error(\"Theme tokens are required\");\n }\n}\nfunction compileTheme(input, options = {}) {\n assertTenantTheme(input);\n const theme = input;\n const selector = options.selector ?? `[data-st-theme=\"${theme.id}\"]`;\n const namespace = options.namespace ?? \"st\";\n return toCssVariables(theme.tokens, selector, namespace);\n}\nconst sentTechTheme = {\n id: \"sent-tech\",\n label: \"Sent Tech\",\n mode: \"light\",\n tokens: {\n foundation,\n semantic,\n component\n }\n};\nconst entropicSemantic = {\n ...semantic,\n action: {\n ...semantic.action,\n primary: \"oklch(50% 0.134 242.749)\",\n primaryText: semantic.action.primaryText\n }\n};\nconst entropicComponent = createComponent(entropicSemantic, foundation);\nconst entropicTheme = {\n id: \"entropic\",\n label: \"Entropic\",\n mode: \"light\",\n tokens: {\n foundation,\n semantic: entropicSemantic,\n component: {\n ...entropicComponent,\n chat: {\n ...entropicComponent.chat,\n composerSurface: entropicSemantic.surface.raised,\n toolCallSurface: entropicSemantic.surface.subtle\n }\n }\n }\n};\nfunction ThemeProvider($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { theme = sentTechTheme, namespace = \"st\", children } = $$props;\n let css = derived(() => compileTheme(theme, { selector: `[data-st-theme=\"${theme.id}\"]`, namespace }));\n head(\"1lrpa8r\", $$renderer2, ($$renderer3) => {\n $$renderer3.push(`${html(`<style data-st-theme-provider=\"${theme.id}\">${css()}</style>`)}`);\n });\n $$renderer2.push(`<div${attr(\"data-st-theme\", theme.id)}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n });\n}\nfunction _layout($$renderer, $$props) {\n let { children } = $$props;\n ThemeProvider($$renderer, {\n theme: entropicTheme,\n children: ($$renderer2) => {\n children($$renderer2);\n $$renderer2.push(`<!---->`);\n }\n });\n}\nexport {\n _layout as default\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1,6 +1,6 @@
1
- import { a2 as head, a6 as attr_class, a7 as clsx, a3 as attr, a4 as escape_html, Z as derived, ad as run, ab as spread_props, a9 as ensure_array_like, aa as bind_props, a8 as attributes, ae as attr_style, af as props_id } from '../../chunks/index.js--xmWq8-W.js';
2
- import { A as AppShell, C as Container, I as Icon, a as Alert, F as Flex, b as Card, B as Button, c as Badge } from '../../chunks/AppShell.js-BDEpw0ai.js';
3
- import '../../chunks/utils.js-h3jETFNR.js';
1
+ import { a2 as head, a6 as attr_class, a7 as clsx, a3 as attr, a4 as escape_html, Z as derived, ad as run, ab as spread_props, a9 as ensure_array_like, aa as bind_props, a8 as attributes, ae as attr_style, af as props_id } from '../../chunks/index.js-e3L5MwfB.js';
2
+ import { A as AppShell, C as Container, I as Icon, a as Alert, F as Flex, b as Card, B as Button, c as Badge } from '../../chunks/AppShell.js-BoWxjmfr.js';
3
+ import '../../chunks/utils.js-Bzpr6vQU.js';
4
4
  import '../../chunks/utils2.js-BQzn9ikS.js';
5
5
 
6
6
  function Menu($$renderer, $$props) {
@@ -1380,4 +1380,4 @@ function _page($$renderer, $$props) {
1380
1380
  }
1381
1381
 
1382
1382
  export { _page as default };
1383
- //# sourceMappingURL=_page.svelte.js-2a7ZxK1n.js.map
1383
+ //# sourceMappingURL=_page.svelte.js-B8EWZmZj.js.map