@motion-proto/live-tokens 0.6.2 → 0.8.0

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 (232) hide show
  1. package/README.md +14 -13
  2. package/dist-plugin/index.cjs +854 -226
  3. package/dist-plugin/index.d.cts +2 -1
  4. package/dist-plugin/index.d.ts +2 -1
  5. package/dist-plugin/index.js +852 -225
  6. package/package.json +26 -40
  7. package/src/{styles → app}/site.css +1 -1
  8. package/src/{component-editor → editor/component-editor}/BadgeEditor.svelte +8 -82
  9. package/src/{component-editor → editor/component-editor}/CalloutEditor.svelte +4 -4
  10. package/src/{component-editor → editor/component-editor}/CardEditor.svelte +28 -76
  11. package/src/{component-editor → editor/component-editor}/CollapsibleSectionEditor.svelte +37 -30
  12. package/src/{component-editor → editor/component-editor}/CornerBadgeEditor.svelte +31 -93
  13. package/src/{component-editor → editor/component-editor}/DialogEditor.svelte +60 -57
  14. package/src/editor/component-editor/ImageEditor.svelte +30 -0
  15. package/src/{component-editor → editor/component-editor}/InlineEditActionsEditor.svelte +6 -4
  16. package/src/editor/component-editor/MenuSelectEditor.svelte +160 -0
  17. package/src/{component-editor → editor/component-editor}/NotificationEditor.svelte +67 -38
  18. package/src/{component-editor → editor/component-editor}/ProgressBarEditor.svelte +5 -4
  19. package/src/{component-editor → editor/component-editor}/RadioButtonEditor.svelte +3 -3
  20. package/src/editor/component-editor/SectionDividerEditor.svelte +565 -0
  21. package/src/{component-editor → editor/component-editor}/SegmentedControlEditor.svelte +2 -2
  22. package/src/{component-editor → editor/component-editor}/StandardButtonsEditor.svelte +29 -21
  23. package/src/{component-editor → editor/component-editor}/TabBarEditor.svelte +9 -14
  24. package/src/{component-editor → editor/component-editor}/TableEditor.svelte +9 -18
  25. package/src/{component-editor → editor/component-editor}/TooltipEditor.svelte +11 -47
  26. package/src/editor/component-editor/editors.d.ts +10 -0
  27. package/src/{component-editor → editor/component-editor}/registry.ts +28 -18
  28. package/src/{component-editor → editor/component-editor}/scaffolding/AngleDial.svelte +54 -15
  29. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentEditorBase.svelte +3 -51
  30. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentFileManager.svelte +151 -424
  31. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentFileMenu.svelte +18 -170
  32. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentsTab.svelte +2 -2
  33. package/src/{component-editor → editor/component-editor}/scaffolding/CopyFromMenu.svelte +44 -4
  34. package/src/{component-editor → editor/component-editor}/scaffolding/FieldsetWrapper.svelte +1 -1
  35. package/src/{component-editor → editor/component-editor}/scaffolding/LinkageChart.svelte +6 -6
  36. package/src/{component-editor → editor/component-editor}/scaffolding/LinkedBlock.svelte +6 -12
  37. package/src/editor/component-editor/scaffolding/NonStylableConfig.svelte +38 -0
  38. package/src/editor/component-editor/scaffolding/RadialShapePad.svelte +483 -0
  39. package/src/{component-editor → editor/component-editor}/scaffolding/SaveAsDialog.svelte +66 -12
  40. package/src/editor/component-editor/scaffolding/ShadowBackdrop.svelte +85 -0
  41. package/src/editor/component-editor/scaffolding/ShadowBackdropControls.svelte +132 -0
  42. package/src/editor/component-editor/scaffolding/StateBlock.svelte +345 -0
  43. package/src/{component-editor → editor/component-editor}/scaffolding/TokenLayout.svelte +17 -12
  44. package/src/{component-editor → editor/component-editor}/scaffolding/TypeEditor.svelte +13 -1
  45. package/src/editor/component-editor/scaffolding/VariantGroup.svelte +858 -0
  46. package/src/{component-editor → editor/component-editor}/scaffolding/buildTypeGroupTokens.ts +1 -0
  47. package/src/{component-editor → editor/component-editor}/scaffolding/editorContext.ts +19 -9
  48. package/src/{component-editor → editor/component-editor}/scaffolding/linkedBlock.ts +2 -2
  49. package/src/{component-editor → editor/component-editor}/scaffolding/types.ts +25 -0
  50. package/src/{lib → editor/core/components}/componentConfigKeys.ts +8 -0
  51. package/src/{lib → editor/core/components}/componentConfigService.ts +3 -3
  52. package/src/{lib → editor/core/components}/componentPersist.ts +11 -9
  53. package/src/editor/core/flashStatus.ts +30 -0
  54. package/src/{lib → editor/core/fonts}/fontLoader.ts +2 -2
  55. package/src/{lib → editor/core/fonts}/fontMigration.ts +4 -4
  56. package/src/{lib → editor/core/fonts}/fontParse.ts +1 -1
  57. package/src/editor/core/manifests/manifestService.ts +171 -0
  58. package/src/editor/core/palettes/familySwap.ts +99 -0
  59. package/src/{lib → editor/core/palettes}/paletteDerivation.ts +71 -2
  60. package/src/{lib → editor/core/palettes}/tokenRegistry.ts +9 -6
  61. package/src/editor/core/productionPulse.ts +37 -0
  62. package/src/{lib → editor/core/routing}/router.ts +1 -1
  63. package/src/{lib/files/versionedFileResource.ts → editor/core/storage/files/versionedFileResourceClient.ts} +8 -1
  64. package/src/{lib → editor/core/store}/editorCore.ts +24 -8
  65. package/src/{lib → editor/core/store}/editorPersistence.ts +3 -3
  66. package/src/{lib → editor/core/store}/editorRenderer.ts +2 -2
  67. package/src/{lib → editor/core/store}/editorStore.ts +222 -28
  68. package/src/{lib → editor/core/store}/editorTypes.ts +56 -13
  69. package/src/editor/core/store/gradientSource.ts +192 -0
  70. package/src/editor/core/themes/migrations/2026-05-19-collapsiblesection-drop-frame-surface.ts +28 -0
  71. package/src/editor/core/themes/migrations/2026-05-19-sectiondivider-rich-gradient.ts +35 -0
  72. package/src/editor/core/themes/migrations/2026-05-20-sectiondivider-slim-variants.ts +82 -0
  73. package/src/editor/core/themes/migrations/2026-05-21-sectiondivider-spacing-to-padding.ts +24 -0
  74. package/src/editor/core/themes/migrations/2026-05-22-sectiondivider-intrinsics-to-css.ts +81 -0
  75. package/src/{lib → editor/core/themes}/migrations/index.ts +10 -0
  76. package/src/{lib → editor/core/themes}/slices/columns.ts +2 -2
  77. package/src/{lib → editor/core/themes}/slices/components.ts +20 -6
  78. package/src/{lib → editor/core/themes}/slices/fonts.ts +1 -1
  79. package/src/{lib → editor/core/themes}/slices/gradients.ts +89 -14
  80. package/src/{lib → editor/core/themes}/slices/overlays.ts +1 -1
  81. package/src/{lib → editor/core/themes}/slices/palettes.ts +1 -1
  82. package/src/{lib → editor/core/themes}/slices/shadows.ts +3 -3
  83. package/src/{lib → editor/core/themes}/themeInit.ts +8 -8
  84. package/src/{lib → editor/core/themes}/themeService.ts +6 -6
  85. package/src/{lib → editor/core/themes}/themeTypes.ts +67 -8
  86. package/src/editor/index.ts +69 -0
  87. package/src/{lib → editor/overlay}/ColumnsOverlay.svelte +0 -1
  88. package/src/{lib → editor/overlay}/LiveEditorOverlay.svelte +80 -129
  89. package/src/{lib → editor/overlay}/columnsOverlay.ts +2 -2
  90. package/src/{pages → editor/pages}/ComponentEditorPage.svelte +12 -12
  91. package/src/{pages → editor/pages}/Editor.svelte +4 -4
  92. package/src/{pages → editor/pages}/EditorShell.svelte +18 -36
  93. package/src/{styles → editor/styles}/ui-editor.css +43 -22
  94. package/src/{styles → editor/styles}/ui-form-controls.css +23 -24
  95. package/src/{ui → editor/ui}/BezierCurveEditor.svelte +119 -68
  96. package/src/{ui → editor/ui}/ColorEditPanel.svelte +13 -13
  97. package/src/{ui → editor/ui}/EditorViewSwitcher.svelte +7 -6
  98. package/src/editor/ui/FileLoadList.svelte +367 -0
  99. package/src/editor/ui/FilePill.svelte +80 -0
  100. package/src/editor/ui/FontStackEditor.svelte +499 -0
  101. package/src/editor/ui/GradientEditor.svelte +690 -0
  102. package/src/{ui → editor/ui}/GradientStopPicker.svelte +12 -4
  103. package/src/editor/ui/ManifestFileManager.svelte +438 -0
  104. package/src/{ui → editor/ui}/PaletteEditor.svelte +180 -673
  105. package/src/editor/ui/ProjectFontsSection.svelte +638 -0
  106. package/src/{ui → editor/ui}/SurfacesTab.svelte +3 -3
  107. package/src/{ui → editor/ui}/TextTab.svelte +3 -3
  108. package/src/editor/ui/ThemeFileManager.svelte +783 -0
  109. package/src/{ui → editor/ui}/UICopyPopover.svelte +4 -4
  110. package/src/{ui → editor/ui}/UIFontFamilySelector.svelte +6 -7
  111. package/src/{ui → editor/ui}/UIFontSizeSelector.svelte +4 -1
  112. package/src/editor/ui/UIInfoPopover.svelte +243 -0
  113. package/src/editor/ui/UILetterSpacingSelector.svelte +65 -0
  114. package/src/{ui → editor/ui}/UILineHeightSelector.svelte +5 -5
  115. package/src/{ui → editor/ui}/UILinkToggle.svelte +2 -2
  116. package/src/{ui → editor/ui}/UIPaddingSelector.svelte +6 -6
  117. package/src/{ui → editor/ui}/UIPaletteSelector.svelte +57 -30
  118. package/src/editor/ui/UIPillButton.svelte +168 -0
  119. package/src/{ui → editor/ui}/UIRadio.svelte +2 -2
  120. package/src/{ui → editor/ui}/UIRelinkConfirmPopover.svelte +4 -4
  121. package/src/editor/ui/UISegmentedControl.svelte +114 -0
  122. package/src/editor/ui/UISquareButton.svelte +172 -0
  123. package/src/{ui → editor/ui}/UITokenSelector.svelte +14 -11
  124. package/src/{ui → editor/ui}/UIVariantSelector.svelte +1 -1
  125. package/src/{ui → editor/ui}/VariablesTab.svelte +46 -17
  126. package/src/{ui → editor/ui}/palette/GradientStopEditor.svelte +13 -13
  127. package/src/{ui → editor/ui}/palette/OverridesPanel.svelte +24 -47
  128. package/src/{ui → editor/ui}/palette/PaletteBase.svelte +11 -8
  129. package/src/{ui → editor/ui}/palette/paletteEditorState.ts +1 -1
  130. package/src/editor/ui/palette/paletteMath.ts +275 -0
  131. package/src/{ui → editor/ui}/sections/ColumnsSection.svelte +137 -18
  132. package/src/{ui → editor/ui}/sections/GradientsSection.svelte +8 -8
  133. package/src/{ui → editor/ui}/sections/OverlaysSection.svelte +18 -18
  134. package/src/{ui → editor/ui}/sections/ShadowsSection.svelte +23 -23
  135. package/src/{ui → editor/ui}/sections/TokenScaleTable.svelte +3 -3
  136. package/src/{components → system/components}/Badge.svelte +0 -36
  137. package/src/{components → system/components}/Button.svelte +2 -2
  138. package/src/{components → system/components}/Card.svelte +34 -60
  139. package/src/{components → system/components}/CollapsibleSection.svelte +25 -2
  140. package/src/{components → system/components}/CornerBadge.svelte +8 -24
  141. package/src/{components → system/components}/Dialog.svelte +1 -1
  142. package/src/system/components/FloatingTokenTags.css +275 -0
  143. package/src/system/components/FloatingTokenTags.svelte +543 -0
  144. package/src/{components → system/components}/InlineEditActions.svelte +6 -4
  145. package/src/system/components/MenuSelect.svelte +229 -0
  146. package/src/{components → system/components}/Notification.svelte +8 -1
  147. package/src/{components → system/components}/ProgressBar.svelte +29 -11
  148. package/src/system/components/SectionDivider.svelte +560 -0
  149. package/src/{components → system/components}/SegmentedControl.svelte +49 -43
  150. package/src/{components → system/components}/TabBar.svelte +81 -65
  151. package/src/{components → system/components}/Table.svelte +17 -3
  152. package/src/{components → system/components}/Tooltip.svelte +6 -4
  153. package/src/system/styles/CONVENTIONS.md +178 -0
  154. package/src/system/styles/fonts.css +20 -0
  155. package/src/system/styles/tokens.css +601 -0
  156. package/src/system/styles/tokens.generated.css +544 -0
  157. package/src/component-editor/ImageEditor.svelte +0 -74
  158. package/src/component-editor/SectionDividerEditor.svelte +0 -265
  159. package/src/component-editor/scaffolding/DividerEditor.svelte +0 -94
  160. package/src/component-editor/scaffolding/GradientCard.svelte +0 -296
  161. package/src/component-editor/scaffolding/NonStylableConfig.svelte +0 -62
  162. package/src/component-editor/scaffolding/ShadowBackdrop.svelte +0 -37
  163. package/src/component-editor/scaffolding/ShadowBackdropControls.svelte +0 -61
  164. package/src/component-editor/scaffolding/StateBlock.svelte +0 -132
  165. package/src/component-editor/scaffolding/VariantGroup.svelte +0 -310
  166. package/src/components/SectionDivider.svelte +0 -483
  167. package/src/data/google-fonts.json +0 -75
  168. package/src/lib/index.ts +0 -68
  169. package/src/lib/presetService.ts +0 -214
  170. package/src/lib/productionPulse.ts +0 -32
  171. package/src/styles/fonts.css +0 -30
  172. package/src/styles/tokens.css +0 -1324
  173. package/src/ui/FontStackEditor.svelte +0 -361
  174. package/src/ui/GradientEditor.svelte +0 -470
  175. package/src/ui/PresetFileManager.svelte +0 -1116
  176. package/src/ui/ProjectFontsSection.svelte +0 -645
  177. package/src/ui/ThemeFileManager.svelte +0 -1020
  178. package/src/ui/UnsavedComponentsDialog.svelte +0 -315
  179. /package/src/{component-editor → editor/component-editor}/index.ts +0 -0
  180. /package/src/{component-editor → editor/component-editor}/scaffolding/DemoHeader.svelte +0 -0
  181. /package/src/{component-editor → editor/component-editor}/scaffolding/componentSectionType.ts +0 -0
  182. /package/src/{component-editor → editor/component-editor}/scaffolding/componentSources.ts +0 -0
  183. /package/src/{component-editor → editor/component-editor}/scaffolding/defaultSections.ts +0 -0
  184. /package/src/{component-editor → editor/component-editor}/scaffolding/siblings.ts +0 -0
  185. /package/src/{lib → editor/core}/cssVarSync.ts +0 -0
  186. /package/src/{lib → editor/core/palettes}/oklch.ts +0 -0
  187. /package/src/{lib → editor/core/routing}/navLinkTypes.ts +0 -0
  188. /package/src/{lib → editor/core/routing}/parentRouteStore.ts +0 -0
  189. /package/src/{lib → editor/core/storage}/storage.ts +0 -0
  190. /package/src/{lib → editor/core/store}/editorConfig.ts +0 -0
  191. /package/src/{lib → editor/core/store}/editorConfigStore.ts +0 -0
  192. /package/src/{lib → editor/core/store}/editorKeybindings.ts +0 -0
  193. /package/src/{lib → editor/core/store}/editorViewStore.ts +0 -0
  194. /package/src/{lib → editor/core/themes}/migrations/2026-04-24-component-prefix-and-suffix-renames.ts +0 -0
  195. /package/src/{lib → editor/core/themes}/migrations/2026-04-24-legacy-keys-and-bg-to-canvas.ts +0 -0
  196. /package/src/{lib → editor/core/themes}/migrations/2026-04-27-segmentedcontrol-disabled-flatten.ts +0 -0
  197. /package/src/{lib → editor/core/themes}/migrations/2026-05-08-collapsiblesection-frame-and-cleanup.ts +0 -0
  198. /package/src/{lib → editor/core/themes}/migrations/2026-05-08-collapsiblesection-variant-namespace.ts +0 -0
  199. /package/src/{lib → editor/core/themes}/migrations/2026-05-10-sectiondivider-gradient-stops.ts +0 -0
  200. /package/src/{lib → editor/core/themes}/migrations/2026-05-13-primary-to-brand.ts +0 -0
  201. /package/src/{lib → editor/core/themes}/parsers/globalRootBlock.ts +0 -0
  202. /package/src/{lib → editor/core/themes}/slices/domainVars.ts +0 -0
  203. /package/src/{lib → editor/overlay}/overlayState.ts +0 -0
  204. /package/src/{pages → editor/pages}/ComponentEditorPage.svelte.d.ts +0 -0
  205. /package/src/{pages → editor/pages}/Editor.svelte.d.ts +0 -0
  206. /package/src/{ui → editor/ui}/Toggle.svelte +0 -0
  207. /package/src/{ui → editor/ui}/UIDialog.svelte +0 -0
  208. /package/src/{ui → editor/ui}/UIFontWeightSelector.svelte +0 -0
  209. /package/src/{ui → editor/ui}/UIOptionItem.svelte +0 -0
  210. /package/src/{ui → editor/ui}/UIOptionList.svelte +0 -0
  211. /package/src/{ui → editor/ui}/UIRadioGroup.svelte +0 -0
  212. /package/src/{lib → editor/ui}/copyPopover.ts +0 -0
  213. /package/src/{ui → editor/ui}/curveEngine.ts +0 -0
  214. /package/src/{ui → editor/ui}/index.ts +0 -0
  215. /package/src/{ui → editor/ui}/keepInViewport.ts +0 -0
  216. /package/src/{ui → editor/ui}/palette/ScaleCurveEditor.svelte +0 -0
  217. /package/src/{lib → editor/ui}/scrollSection.ts +0 -0
  218. /package/src/{ui → editor/ui}/sections/tokenScales.ts +0 -0
  219. /package/src/{ui → editor/ui}/variantScales.ts +0 -0
  220. /package/src/{assets → system/assets}/newspaper.webp +0 -0
  221. /package/src/{assets → system/assets}/offering.webp +0 -0
  222. /package/src/{components → system/components}/Callout.svelte +0 -0
  223. /package/src/{components → system/components}/Image.svelte +0 -0
  224. /package/src/{components → system/components}/RadioButton.svelte +0 -0
  225. /package/src/{components → system/components}/types.ts +0 -0
  226. /package/src/{styles → system/styles}/_padding.scss +0 -0
  227. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-italic-latin-ext.woff2 +0 -0
  228. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-italic-latin.woff2 +0 -0
  229. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-roman-latin-ext.woff2 +0 -0
  230. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-roman-latin.woff2 +0 -0
  231. /package/src/{styles → system/styles}/fonts/Manrope/Manrope-latin-ext.woff2 +0 -0
  232. /package/src/{styles → system/styles}/fonts/Manrope/Manrope-latin.woff2 +0 -0
@@ -0,0 +1,544 @@
1
+ /* Generated by themeFileApi from the production theme and component configs. Do not edit. */
2
+ /* tokens.css holds developer-authored defaults; this file holds editor overrides. */
3
+
4
+ /* Production theme: my-theme */
5
+ :root:root {
6
+ --gradient-1: linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%);
7
+ --gradient-2: linear-gradient(135deg, var(--color-brand-500) 0%, var(--color-special-500) 100%);
8
+ --gradient-3: linear-gradient(90deg, var(--color-success-500) 0%, var(--color-info-500) 100%);
9
+ --gradient-4: linear-gradient(45deg, var(--color-danger-500) 0%, var(--color-warning-500) 100%);
10
+ --badge-trait-surface: var(--surface-brand);
11
+ --badge-trait-text: var(--text-brand);
12
+ --badge-trait-text-font-family: var(--font-sans);
13
+ --badge-trait-text-font-size: var(--font-size-sm);
14
+ --badge-trait-text-font-weight: var(--font-weight-light);
15
+ --badge-trait-text-line-height: var(--line-height-xs);
16
+ --badge-trait-border: var(--border-brand-medium);
17
+ --badge-trait-border-width: var(--border-width-1);
18
+ --badge-trait-radius: var(--radius-full);
19
+ --badge-trait-padding: var(--space-6);
20
+ --badge-trait-shadow: transparent;
21
+ --sectiondivider-padding: var(--space-16);
22
+ --sectiondivider-title: var(--text-primary);
23
+ --sectiondivider-title-font-family: var(--font-display);
24
+ --sectiondivider-title-font-size: var(--font-size-5xl);
25
+ --sectiondivider-title-font-weight: var(--font-weight-normal);
26
+ --sectiondivider-title-line-height: var(--line-height-xs);
27
+ --sectiondivider-title-border-width: var(--border-width-4);
28
+ --sectiondivider-title-stroke-color: var(--surface-canvas-lowest);
29
+ --sectiondivider-description: var(--text-secondary);
30
+ --sectiondivider-description-font-family: var(--font-sans);
31
+ --sectiondivider-description-font-size: var(--font-size-md);
32
+ --sectiondivider-description-font-weight: var(--font-weight-normal);
33
+ --sectiondivider-description-line-height: var(--line-height-md);
34
+ --dialog-primary-default-surface: var(--surface-neutral-high);
35
+ --dialog-primary-default-text: var(--text-primary);
36
+ --dialog-primary-default-border: var(--border-neutral-medium);
37
+ --dialog-primary-default-border-width: var(--border-width-1);
38
+ --dialog-primary-default-radius: var(--radius-md);
39
+ --dialog-primary-default-padding: var(--space-8);
40
+ --dialog-primary-hover-surface: var(--surface-neutral-higher);
41
+ --dialog-primary-hover-text: var(--text-primary);
42
+ --dialog-primary-hover-border: var(--border-neutral-strong);
43
+ --dialog-primary-hover-border-width: var(--border-width-1);
44
+ --dialog-primary-hover-radius: var(--radius-md);
45
+ --dialog-primary-hover-padding: var(--space-8);
46
+ --dialog-secondary-default-text: var(--text-primary);
47
+ --dialog-secondary-default-border: var(--border-neutral-medium);
48
+ --dialog-secondary-default-border-width: var(--border-width-1);
49
+ --dialog-secondary-default-radius: var(--radius-md);
50
+ --dialog-secondary-default-padding: var(--space-8);
51
+ --dialog-secondary-hover-surface: var(--surface-neutral-lower);
52
+ --dialog-secondary-hover-text: var(--text-primary);
53
+ --dialog-secondary-hover-border: var(--border-neutral-strong);
54
+ --dialog-secondary-hover-border-width: var(--border-width-1);
55
+ --dialog-secondary-hover-radius: var(--radius-md);
56
+ --dialog-secondary-hover-padding: var(--space-8);
57
+ --overlay-lowest: rgba(20, 3, 0, 0.12);
58
+ --overlay-lower: rgba(20, 3, 0, 0.25);
59
+ --overlay-low: rgba(20, 3, 0, 0.38);
60
+ --overlay: rgba(20, 3, 0, 0.51);
61
+ --overlay-high: rgba(20, 3, 0, 0.64);
62
+ --overlay-higher: rgba(20, 3, 0, 0.77);
63
+ --overlay-highest: rgba(20, 3, 0, 0.9);
64
+ --hover-low: rgba(255, 255, 255, 0.05);
65
+ --hover: rgba(255, 255, 255, 0.1);
66
+ --hover-high: rgba(255, 255, 255, 0.15);
67
+ --shadow-sm: 1px 1px 2px 0px hsla(237, 18%, 3%, 0.9);
68
+ --shadow-md: 3px 3px 6px 0px hsla(237, 18%, 3%, 0.9);
69
+ --shadow-lg: 5px 5px 9px 0px hsla(237, 18%, 3%, 0.9);
70
+ --shadow-xl: 6px 7px 13px 0px hsla(237, 18%, 3%, 0.9);
71
+ --shadow-2xl: 8px 9px 16px 0px hsla(237, 18%, 3%, 0.9);
72
+ --color-neutral-100: #dde6ec;
73
+ --color-neutral-200: #c4cdd3;
74
+ --color-neutral-300: #a8b1b7;
75
+ --color-neutral-400: #8b949a;
76
+ --color-neutral-500: #70787e;
77
+ --color-neutral-600: #555e63;
78
+ --color-neutral-700: #3c4449;
79
+ --color-neutral-800: #252c31;
80
+ --color-neutral-850: #0f161a;
81
+ --color-neutral-900: #020407;
82
+ --color-neutral-950: #000000;
83
+ --surface-neutral-lowest: #040c13;
84
+ --surface-neutral-lower: #162027;
85
+ --surface-neutral-low: #2c353c;
86
+ --surface-neutral: #434c52;
87
+ --surface-neutral-high: #5c6369;
88
+ --surface-neutral-higher: #767c81;
89
+ --surface-neutral-highest: #91969a;
90
+ --border-neutral-faint: #1c2327;
91
+ --border-neutral-subtle: #3a4146;
92
+ --border-neutral: #5a6267;
93
+ --border-neutral-medium: #7c848b;
94
+ --border-neutral-strong: #a0a9af;
95
+ --text-primary: #ffffff;
96
+ --text-secondary: #c2cacf;
97
+ --text-tertiary: #7e8285;
98
+ --text-muted: #4e4f50;
99
+ --text-disabled: #383838;
100
+ --color-alternate-100: #e9e3e0;
101
+ --color-alternate-200: #d2ccc8;
102
+ --color-alternate-300: #b7b1ad;
103
+ --color-alternate-400: #9b9693;
104
+ --color-alternate-500: #817b78;
105
+ --color-alternate-600: #67625f;
106
+ --color-alternate-700: #4f4a47;
107
+ --color-alternate-800: #373330;
108
+ --color-alternate-850: #221d1b;
109
+ --color-alternate-900: #0e0b08;
110
+ --color-alternate-950: #030101;
111
+ --surface-alternate-lowest: #100907;
112
+ --surface-alternate-lower: #231d19;
113
+ --surface-alternate-low: #39322f;
114
+ --surface-alternate: #4f4946;
115
+ --surface-alternate-high: #66615e;
116
+ --surface-alternate-higher: #7f7a78;
117
+ --surface-alternate-highest: #989492;
118
+ --border-alternate-faint: #25201e;
119
+ --border-alternate-subtle: #443e3c;
120
+ --border-alternate: #655f5c;
121
+ --border-alternate-medium: #88827f;
122
+ --border-alternate-strong: #aca6a3;
123
+ --text-alternate: #ffffff;
124
+ --text-alternate-secondary: #d6d0ce;
125
+ --text-alternate-tertiary: #8a8786;
126
+ --text-alternate-muted: #545352;
127
+ --text-alternate-disabled: #3b3b3b;
128
+ --color-canvas-100: #cecfe5;
129
+ --color-canvas-200: #abacc2;
130
+ --color-canvas-300: #8d8da4;
131
+ --color-canvas-400: #727289;
132
+ --color-canvas-500: #5a5a72;
133
+ --color-canvas-600: #45455c;
134
+ --color-canvas-700: #33324a;
135
+ --color-canvas-800: #232239;
136
+ --color-canvas-850: #15142b;
137
+ --color-canvas-900: #0b081f;
138
+ --color-canvas-950: #040215;
139
+ --surface-canvas-lowest: #0a0523;
140
+ --surface-canvas-lower: #1c1a37;
141
+ --surface-canvas-low: #31304c;
142
+ --surface-canvas: #474761;
143
+ --surface-canvas-high: #5f6077;
144
+ --surface-canvas-higher: #79798e;
145
+ --surface-canvas-highest: #9393a5;
146
+ --border-canvas-faint: #1f1f34;
147
+ --border-canvas-subtle: #3d3d54;
148
+ --border-canvas: #5d5e76;
149
+ --border-canvas-medium: #80809b;
150
+ --border-canvas-strong: #a4a5c0;
151
+ --text-canvas: #9595c6;
152
+ --text-canvas-secondary: #6b6b89;
153
+ --text-canvas-tertiary: #4e4f5e;
154
+ --text-canvas-muted: #3c3c41;
155
+ --text-canvas-disabled: #343435;
156
+ --page-bg: #15142b;
157
+ --page-bg-attachment: scroll;
158
+ --color-brand-100: #ffbad3;
159
+ --color-brand-200: #ff7bb3;
160
+ --color-brand-300: #ec4495;
161
+ --color-brand-400: #cf0b7a;
162
+ --color-brand-500: #a80062;
163
+ --color-brand-600: #84004b;
164
+ --color-brand-700: #640038;
165
+ --color-brand-800: #490027;
166
+ --color-brand-850: #320019;
167
+ --color-brand-900: #1f000d;
168
+ --color-brand-950: #100005;
169
+ --surface-brand-lowest: #1d000c;
170
+ --surface-brand-lower: #3e0020;
171
+ --surface-brand-low: #620037;
172
+ --surface-brand: #89004e;
173
+ --surface-brand-high: #b10067;
174
+ --surface-brand-higher: #cf3480;
175
+ --surface-brand-highest: #e0649a;
176
+ --border-brand-faint: #430024;
177
+ --border-brand-subtle: #760043;
178
+ --border-brand: #ae0065;
179
+ --border-brand-medium: #e9008a;
180
+ --border-brand-strong: #ff6cad;
181
+ --text-brand: #ff75b1;
182
+ --text-brand-secondary: #df2d88;
183
+ --text-brand-tertiary: #953b63;
184
+ --text-brand-muted: #5c3846;
185
+ --text-brand-disabled: #403337;
186
+ --color-accent-100: #98e1dd;
187
+ --color-accent-200: #70beba;
188
+ --color-accent-300: #4ba09c;
189
+ --color-accent-400: #248582;
190
+ --color-accent-500: #006b69;
191
+ --color-accent-600: #005351;
192
+ --color-accent-700: #003e3d;
193
+ --color-accent-800: #002c2b;
194
+ --color-accent-850: #001d1c;
195
+ --color-accent-900: #00100f;
196
+ --color-accent-950: #000606;
197
+ --surface-accent-lowest: #000f0e;
198
+ --surface-accent-lower: #002423;
199
+ --surface-accent-low: #003c3b;
200
+ --surface-accent: #005654;
201
+ --surface-accent-high: #00716f;
202
+ --surface-accent-higher: #3b8a87;
203
+ --surface-accent-highest: #66a29f;
204
+ --border-accent-faint: #002827;
205
+ --border-accent-subtle: #004a48;
206
+ --border-accent: #006f6d;
207
+ --border-accent-medium: #259592;
208
+ --border-accent-strong: #54bbb7;
209
+ --text-accent: #009d9a;
210
+ --text-accent-secondary: #1f7673;
211
+ --text-accent-tertiary: #2d5351;
212
+ --text-accent-muted: #2c3837;
213
+ --text-accent-disabled: #292a2a;
214
+ --color-special-100: #d2c8ff;
215
+ --color-special-200: #b19cff;
216
+ --color-special-300: #9673f5;
217
+ --color-special-400: #7d54db;
218
+ --color-special-500: #6634c4;
219
+ --color-special-600: #5407af;
220
+ --color-special-700: #3f0088;
221
+ --color-special-800: #2d0064;
222
+ --color-special-850: #1d0046;
223
+ --color-special-900: #10002d;
224
+ --color-special-950: #060019;
225
+ --surface-special-lowest: #0f002b;
226
+ --surface-special-lower: #250055;
227
+ --surface-special-low: #3d0084;
228
+ --surface-special: #5700b7;
229
+ --surface-special-high: #6c3bcb;
230
+ --surface-special-higher: #8161d8;
231
+ --surface-special-highest: #9983e4;
232
+ --border-special-faint: #29005c;
233
+ --border-special-subtle: #4b009f;
234
+ --border-special: #6b34ce;
235
+ --border-special-medium: #8c5df8;
236
+ --border-special-strong: #ac93ff;
237
+ --text-special: #baa9ff;
238
+ --text-special-secondary: #8665e0;
239
+ --text-special-tertiary: #5c4e8b;
240
+ --text-special-muted: #3e3a4f;
241
+ --text-special-disabled: #303032;
242
+ --color-info-100: #b4d4ff;
243
+ --color-info-200: #76b0ff;
244
+ --color-info-300: #398efa;
245
+ --color-info-400: #0571e0;
246
+ --color-info-500: #0059b6;
247
+ --color-info-600: #00458f;
248
+ --color-info-700: #00336d;
249
+ --color-info-800: #002350;
250
+ --color-info-850: #001637;
251
+ --color-info-900: #000b23;
252
+ --color-info-950: #000413;
253
+ --surface-info-lowest: #000a21;
254
+ --surface-info-lower: #001d44;
255
+ --surface-info-low: #00316b;
256
+ --surface-info: #004894;
257
+ --surface-info-high: #36639f;
258
+ --surface-info-higher: #5d7da8;
259
+ --surface-info-highest: #8497b1;
260
+ --border-info-faint: #00204a;
261
+ --border-info-subtle: #003d81;
262
+ --border-info: #005dbd;
263
+ --border-info-medium: #007efc;
264
+ --border-info-strong: #69a9ff;
265
+ --text-info: #8fbeff;
266
+ --text-info-secondary: #2f81e8;
267
+ --text-info-tertiary: #365d90;
268
+ --text-info-muted: #344051;
269
+ --text-info-disabled: #303133;
270
+ --color-success-100: #92e9a3;
271
+ --color-success-200: #69c67e;
272
+ --color-success-300: #42a75d;
273
+ --color-success-400: #0e8c3f;
274
+ --color-success-500: #007030;
275
+ --color-success-600: #005723;
276
+ --color-success-700: #004119;
277
+ --color-success-800: #002f0f;
278
+ --color-success-850: #001e08;
279
+ --color-success-900: #001103;
280
+ --color-success-950: #000701;
281
+ --surface-success-lowest: #001003;
282
+ --surface-success-lower: #00270b;
283
+ --surface-success-low: #004018;
284
+ --surface-success: #005a25;
285
+ --surface-success-high: #007733;
286
+ --surface-success-higher: #32914d;
287
+ --surface-success-highest: #61a870;
288
+ --border-success-faint: #002a0d;
289
+ --border-success-subtle: #004e1f;
290
+ --border-success: #007532;
291
+ --border-success-medium: #069e46;
292
+ --border-success-strong: #47c46b;
293
+ --text-success: #88f2a0;
294
+ --text-success-secondary: #2f974e;
295
+ --text-success-tertiary: #31673e;
296
+ --text-success-muted: #2c4530;
297
+ --text-success-disabled: #263429;
298
+ --color-warning-100: #ffc673;
299
+ --color-warning-200: #dfa13f;
300
+ --color-warning-300: #c08100;
301
+ --color-warning-400: #9c6900;
302
+ --color-warning-500: #7d5300;
303
+ --color-warning-600: #624000;
304
+ --color-warning-700: #4a2f00;
305
+ --color-warning-800: #352000;
306
+ --color-warning-850: #231400;
307
+ --color-warning-900: #140a00;
308
+ --color-warning-950: #090300;
309
+ --surface-warning-lowest: #130900;
310
+ --surface-warning-lower: #372200;
311
+ --surface-warning-low: #613f00;
312
+ --surface-warning: #8d5e00;
313
+ --surface-warning-high: #bc7f00;
314
+ --surface-warning-higher: #eea200;
315
+ --surface-warning-highest: #ffd395;
316
+ --border-warning-faint: #301d00;
317
+ --border-warning-subtle: #573900;
318
+ --border-warning: #825600;
319
+ --border-warning-medium: #af7600;
320
+ --border-warning-strong: #df9700;
321
+ --text-warning: #ffecd2;
322
+ --text-warning-secondary: #eba633;
323
+ --text-warning-tertiary: #a17e4c;
324
+ --text-warning-muted: #685d4d;
325
+ --text-warning-disabled: #4d4b4a;
326
+ --color-danger-100: #ffbeb8;
327
+ --color-danger-200: #ff847d;
328
+ --color-danger-300: #ec5552;
329
+ --color-danger-400: #d02d33;
330
+ --color-danger-500: #b0001c;
331
+ --color-danger-600: #8a0013;
332
+ --color-danger-700: #6a000c;
333
+ --color-danger-800: #4d0006;
334
+ --color-danger-850: #350003;
335
+ --color-danger-900: #210001;
336
+ --color-danger-950: #110000;
337
+ --surface-danger-lowest: #1f0001;
338
+ --surface-danger-lower: #410004;
339
+ --surface-danger-low: #67000b;
340
+ --surface-danger: #8f0014;
341
+ --surface-danger-high: #ba001e;
342
+ --surface-danger-higher: #cf4443;
343
+ --surface-danger-highest: #df6e68;
344
+ --border-danger-faint: #470005;
345
+ --border-danger-subtle: #7c0010;
346
+ --border-danger: #b6001d;
347
+ --border-danger-medium: #ea3039;
348
+ --border-danger-strong: #ff7872;
349
+ --text-danger: #ff635f;
350
+ --text-danger-secondary: #bb292f;
351
+ --text-danger-tertiary: #813b37;
352
+ --text-danger-muted: #543b39;
353
+ --text-danger-disabled: #3c3939;
354
+ --font-display: "Arvo", serif;
355
+ --font-sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, sans-serif;
356
+ --font-serif: "GFS Didot", serif;
357
+ --font-mono: "fira-code", ui-monospace, "SF Mono", Menlo, Consolas, monospace, monospace;
358
+ }
359
+
360
+ /* Component aliases (production configs differing from defaults) */
361
+ :root:root {
362
+ /* badge (my-badge) */
363
+ --badge-primary-text-font-size: var(--font-size-md);
364
+ --badge-primary-text-font-weight: var(--font-weight-normal);
365
+ --badge-accent-text-font-size: var(--font-size-md);
366
+ --badge-accent-text-font-weight: var(--font-weight-normal);
367
+ --badge-neutral-text-font-size: var(--font-size-md);
368
+ --badge-neutral-text-font-weight: var(--font-weight-normal);
369
+ --badge-alternate-text-font-size: var(--font-size-md);
370
+ --badge-alternate-text-font-weight: var(--font-weight-normal);
371
+ --badge-canvas-text-font-size: var(--font-size-md);
372
+ --badge-canvas-text-font-weight: var(--font-weight-normal);
373
+ --badge-special-text-font-size: var(--font-size-md);
374
+ --badge-special-text-font-weight: var(--font-weight-normal);
375
+ --badge-success-text-font-size: var(--font-size-md);
376
+ --badge-success-text-font-weight: var(--font-weight-normal);
377
+ --badge-warning-text-font-size: var(--font-size-md);
378
+ --badge-warning-text-font-weight: var(--font-weight-normal);
379
+ --badge-danger-text-font-size: var(--font-size-md);
380
+ --badge-danger-text-font-weight: var(--font-weight-normal);
381
+ --badge-info-text-font-size: var(--font-size-md);
382
+ --badge-info-text-font-weight: var(--font-weight-normal);
383
+ --badge-primary-padding-top: var(--space-6);
384
+ --badge-accent-padding-top: var(--space-6);
385
+ --badge-neutral-padding-top: var(--space-6);
386
+ --badge-alternate-padding-top: var(--space-6);
387
+ --badge-canvas-padding-top: var(--space-6);
388
+ --badge-special-padding-top: var(--space-6);
389
+ --badge-success-padding-top: var(--space-6);
390
+ --badge-warning-padding-top: var(--space-6);
391
+ --badge-danger-padding-top: var(--space-6);
392
+ --badge-info-padding-top: var(--space-6);
393
+ --badge-primary-padding-right: var(--space-10);
394
+ --badge-accent-padding-right: var(--space-10);
395
+ --badge-neutral-padding-right: var(--space-10);
396
+ --badge-alternate-padding-right: var(--space-10);
397
+ --badge-canvas-padding-right: var(--space-10);
398
+ --badge-special-padding-right: var(--space-10);
399
+ --badge-success-padding-right: var(--space-10);
400
+ --badge-warning-padding-right: var(--space-10);
401
+ --badge-danger-padding-right: var(--space-10);
402
+ --badge-info-padding-right: var(--space-10);
403
+ --badge-primary-padding-bottom: var(--space-6);
404
+ --badge-accent-padding-bottom: var(--space-6);
405
+ --badge-neutral-padding-bottom: var(--space-6);
406
+ --badge-alternate-padding-bottom: var(--space-6);
407
+ --badge-canvas-padding-bottom: var(--space-6);
408
+ --badge-special-padding-bottom: var(--space-6);
409
+ --badge-success-padding-bottom: var(--space-6);
410
+ --badge-warning-padding-bottom: var(--space-6);
411
+ --badge-danger-padding-bottom: var(--space-6);
412
+ --badge-info-padding-bottom: var(--space-6);
413
+ --badge-primary-padding-left: var(--space-10);
414
+ --badge-accent-padding-left: var(--space-10);
415
+ --badge-neutral-padding-left: var(--space-10);
416
+ --badge-alternate-padding-left: var(--space-10);
417
+ --badge-canvas-padding-left: var(--space-10);
418
+ --badge-special-padding-left: var(--space-10);
419
+ --badge-success-padding-left: var(--space-10);
420
+ --badge-warning-padding-left: var(--space-10);
421
+ --badge-danger-padding-left: var(--space-10);
422
+ --badge-info-padding-left: var(--space-10);
423
+
424
+ /* button (my-button) */
425
+ --button-primary-text-font-size: var(--font-size-md);
426
+ --button-primary-text-font-weight: var(--font-weight-semibold);
427
+ --button-primary-radius: var(--radius-xl);
428
+ --button-primary-hover-radius: var(--radius-xl);
429
+ --button-primary-disabled-radius: var(--radius-xl);
430
+ --button-secondary-text-font-size: var(--font-size-md);
431
+ --button-secondary-text-font-weight: var(--font-weight-semibold);
432
+ --button-secondary-radius: var(--radius-xl);
433
+ --button-secondary-hover-radius: var(--radius-xl);
434
+ --button-secondary-disabled-radius: var(--radius-xl);
435
+ --button-outline-text-font-size: var(--font-size-md);
436
+ --button-outline-text-font-weight: var(--font-weight-semibold);
437
+ --button-outline-radius: var(--radius-xl);
438
+ --button-outline-hover-radius: var(--radius-xl);
439
+ --button-outline-disabled-radius: var(--radius-xl);
440
+ --button-success-text-font-size: var(--font-size-md);
441
+ --button-success-text-font-weight: var(--font-weight-semibold);
442
+ --button-success-radius: var(--radius-xl);
443
+ --button-success-hover-radius: var(--radius-xl);
444
+ --button-success-disabled-radius: var(--radius-xl);
445
+ --button-danger-text-font-size: var(--font-size-md);
446
+ --button-danger-text-font-weight: var(--font-weight-semibold);
447
+ --button-danger-radius: var(--radius-xl);
448
+ --button-danger-hover-radius: var(--radius-xl);
449
+ --button-danger-disabled-radius: var(--radius-xl);
450
+ --button-warning-text-font-size: var(--font-size-md);
451
+ --button-warning-text-font-weight: var(--font-weight-semibold);
452
+ --button-warning-radius: var(--radius-xl);
453
+ --button-warning-hover-radius: var(--radius-xl);
454
+ --button-warning-disabled-radius: var(--radius-xl);
455
+
456
+ /* sectiondivider (my-section-divider) */
457
+ --sectiondivider-lg-padding: var(--space-4);
458
+ --sectiondivider-md-padding: var(--space-4);
459
+ --sectiondivider-sm-padding: var(--space-4);
460
+ --sectiondivider-sm-title-font-size: var(--font-size-2xl);
461
+ --sectiondivider-lg-title-font-weight: var(--font-weight-bold);
462
+ --sectiondivider-md-title-font-weight: var(--font-weight-bold);
463
+ --sectiondivider-sm-title-font-weight: var(--font-weight-bold);
464
+ --sectiondivider-lg-title-line-height: var(--line-height-md);
465
+ --sectiondivider-md-title-line-height: var(--line-height-md);
466
+ --sectiondivider-sm-title-line-height: var(--line-height-md);
467
+ --sectiondivider-lg-title-letter-padding: var(--letter-spacing-normal);
468
+ --sectiondivider-md-title-letter-padding: var(--letter-spacing-normal);
469
+ --sectiondivider-sm-title-letter-padding: var(--letter-spacing-normal);
470
+ --sectiondivider-md-title-outline-width: var(--border-width-4);
471
+ --sectiondivider-sm-title-outline-width: var(--border-width-4);
472
+ --sectiondivider-md-title-outline-color: var(--surface-accent-lowest);
473
+ --sectiondivider-lg-description: var(--text-alternate);
474
+ --sectiondivider-md-description-font-size: var(--font-size-lg);
475
+ --sectiondivider-sm-description-font-size: var(--font-size-5xl);
476
+ --sectiondivider-lg-description-font-weight: var(--font-weight-medium);
477
+ --sectiondivider-md-description-font-weight: var(--font-weight-medium);
478
+ --sectiondivider-sm-description-font-weight: var(--font-weight-medium);
479
+ --sectiondivider-md-radius: var(--radius-lg);
480
+ --sectiondivider-sm-radius: var(--radius-lg);
481
+ --sectiondivider-lg-border: transparent;
482
+ --sectiondivider-md-border: transparent;
483
+ --sectiondivider-sm-border: transparent;
484
+ --sectiondivider-lg-border-width: var(--border-width-1);
485
+ --sectiondivider-md-border-width: var(--border-width-1);
486
+ --sectiondivider-sm-border-width: var(--border-width-1);
487
+ --sectiondivider-sm-hairline-color: var(--border-brand-medium);
488
+ --sectiondivider-lg-hairline-color: var(--border-brand-medium);
489
+ --sectiondivider-md-hairline-color: var(--border-brand-medium);
490
+ --sectiondivider-lg-padding-top: var(--space-8);
491
+ --sectiondivider-md-padding-top: var(--space-8);
492
+ --sectiondivider-sm-padding-top: var(--space-8);
493
+ --sectiondivider-lg-padding-right: var(--space-4);
494
+ --sectiondivider-md-padding-right: var(--space-4);
495
+ --sectiondivider-sm-padding-right: var(--space-4);
496
+ --sectiondivider-lg-padding-bottom: var(--space-8);
497
+ --sectiondivider-md-padding-bottom: var(--space-8);
498
+ --sectiondivider-sm-padding-bottom: var(--space-8);
499
+ --sectiondivider-lg-padding-left: var(--space-0);
500
+ --sectiondivider-md-padding-left: var(--space-0);
501
+ --sectiondivider-sm-padding-left: var(--space-0);
502
+ --sectiondivider-lg-description-padding-top: var(--space-0);
503
+ --sectiondivider-md-description-padding-top: var(--space-0);
504
+ --sectiondivider-sm-description-padding-top: var(--space-0);
505
+ --sectiondivider-lg-description-padding-right: var(--space-0);
506
+ --sectiondivider-md-description-padding-right: var(--space-0);
507
+ --sectiondivider-sm-description-padding-right: var(--space-0);
508
+ --sectiondivider-lg-description-padding-bottom: var(--space-10);
509
+ --sectiondivider-md-description-padding-bottom: var(--space-10);
510
+ --sectiondivider-sm-description-padding-bottom: var(--space-10);
511
+ --sectiondivider-lg-description-padding-left: var(--space-0);
512
+ --sectiondivider-md-description-padding-left: var(--space-0);
513
+ --sectiondivider-sm-description-padding-left: var(--space-0);
514
+ --sectiondivider-lg-eyebrow: var(--text-brand);
515
+ --sectiondivider-lg-align: start;
516
+ --sectiondivider-sm-align: start;
517
+ --sectiondivider-md-align: start;
518
+ --sectiondivider-lg-eyebrow-display: block;
519
+ --sectiondivider-lg-description-display: flex;
520
+ --sectiondivider-lg-hairline: below-description;
521
+ --sectiondivider-lg-eyebrow-text-transform: none;
522
+ --sectiondivider-md-description-display: none;
523
+ --sectiondivider-sm-description-display: none;
524
+ --sectiondivider-sm-hairline: below-label;
525
+ --sectiondivider-lg-background: transparent;
526
+ --sectiondivider-md-background: transparent;
527
+ --sectiondivider-sm-background: transparent;
528
+ --sectiondivider-md-hairline: below-label;
529
+ --sectiondivider-lg-title-padding: var(--space-2);
530
+ --sectiondivider-md-title-padding: var(--space-2);
531
+ --sectiondivider-sm-title-padding: var(--space-2);
532
+ --sectiondivider-lg-title-padding-top: var(--space-2);
533
+ --sectiondivider-md-title-padding-top: var(--space-2);
534
+ --sectiondivider-sm-title-padding-top: var(--space-2);
535
+ --sectiondivider-lg-title-padding-right: var(--space-2);
536
+ --sectiondivider-md-title-padding-right: var(--space-2);
537
+ --sectiondivider-sm-title-padding-right: var(--space-2);
538
+ --sectiondivider-lg-title-padding-bottom: var(--space-2);
539
+ --sectiondivider-md-title-padding-bottom: var(--space-2);
540
+ --sectiondivider-sm-title-padding-bottom: var(--space-2);
541
+ --sectiondivider-lg-title-padding-left: var(--space-2);
542
+ --sectiondivider-md-title-padding-left: var(--space-0);
543
+ --sectiondivider-sm-title-padding-left: var(--space-2);
544
+ }
@@ -1,74 +0,0 @@
1
- <script module lang="ts">
2
- import type { Token } from './scaffolding/types';
3
-
4
- export const component = 'image';
5
-
6
- // Single object: image frame.
7
- const states: Record<string, Token[]> = {
8
- image: [
9
- { label: 'border color', groupKey: 'border', variable: '--image-default-border' },
10
- { label: 'border width', groupKey: 'width', variable: '--image-default-border-width' },
11
- { label: 'corner radius', groupKey: 'radius', variable: '--image-default-radius' },
12
- { label: 'image shadow', groupKey: 'shadow', variable: '--image-default-shadow' },
13
- ],
14
- };
15
-
16
- export const allTokens: Token[] = Object.values(states).flat();
17
- </script>
18
-
19
- <script lang="ts">
20
- import { onMount } from 'svelte';
21
- import Image from '../components/Image.svelte';
22
- import VariantGroup from './scaffolding/VariantGroup.svelte';
23
- import ComponentEditorBase from './scaffolding/ComponentEditorBase.svelte';
24
- import demoImageUrl from '../assets/offering.webp';
25
- import ShadowBackdrop from './scaffolding/ShadowBackdrop.svelte';
26
- import UIPaletteSelector from '../ui/UIPaletteSelector.svelte';
27
- import { setCssVar } from '../lib/cssVarSync';
28
-
29
- const bgVar = '--backdrop-image-surface';
30
-
31
- onMount(() => {
32
- if (!document.documentElement.style.getPropertyValue(bgVar)) {
33
- setCssVar(bgVar, 'var(--surface-canvas)');
34
- }
35
- });
36
- </script>
37
-
38
- <ComponentEditorBase {component} title="Image" description="Framed image with rounded corners, border, and shadow. Import from <code>components/Image.svelte</code>" tokens={allTokens}>
39
- {#snippet config()}
40
-
41
- <label class="backdrop-config">
42
- <span>Sample background</span>
43
- <div class="picker-slot">
44
- <UIPaletteSelector variable={bgVar} />
45
- </div>
46
- </label>
47
-
48
- {/snippet}
49
- <VariantGroup name="image" title="Image" {states} {component}>
50
- <ShadowBackdrop mode="color" colorVariable={bgVar}>
51
- <div class="image-demo-grid">
52
- <Image src={demoImageUrl} alt="Demo" variant="banner" />
53
- </div>
54
- </ShadowBackdrop>
55
- </VariantGroup>
56
- </ComponentEditorBase>
57
-
58
- <style>
59
- .image-demo-grid {
60
- display: grid;
61
- place-items: center;
62
- }
63
- .backdrop-config {
64
- display: inline-flex;
65
- align-items: center;
66
- gap: var(--ui-space-8);
67
- }
68
- .picker-slot {
69
- min-width: 8rem;
70
- }
71
- .picker-slot :global(.ui-token-selector) {
72
- width: 100%;
73
- }
74
- </style>