@motion-proto/live-tokens 0.1.1 → 0.3.2

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 (224) hide show
  1. package/README.md +168 -21
  2. package/dist-plugin/index.cjs +823 -336
  3. package/dist-plugin/index.d.cts +9 -7
  4. package/dist-plugin/index.d.ts +9 -7
  5. package/dist-plugin/index.js +822 -335
  6. package/package.json +46 -20
  7. package/src/assets/newspaper.webp +0 -0
  8. package/src/assets/offering.webp +0 -0
  9. package/src/component-editor/BadgeEditor.svelte +170 -0
  10. package/src/component-editor/CalloutEditor.svelte +103 -0
  11. package/src/component-editor/CardEditor.svelte +184 -0
  12. package/src/component-editor/CollapsibleSectionEditor.svelte +167 -0
  13. package/src/component-editor/CornerBadgeEditor.svelte +207 -0
  14. package/src/component-editor/DialogEditor.svelte +172 -0
  15. package/src/component-editor/ImageEditor.svelte +72 -0
  16. package/src/component-editor/InlineEditActionsEditor.svelte +83 -0
  17. package/src/component-editor/NotificationEditor.svelte +160 -0
  18. package/src/component-editor/ProgressBarEditor.svelte +124 -0
  19. package/src/component-editor/RadioButtonEditor.svelte +140 -0
  20. package/src/component-editor/SectionDividerEditor.svelte +263 -0
  21. package/src/component-editor/SegmentedControlEditor.svelte +154 -0
  22. package/src/component-editor/StandardButtonsEditor.svelte +178 -0
  23. package/src/component-editor/TabBarEditor.svelte +137 -0
  24. package/src/component-editor/TableEditor.svelte +128 -0
  25. package/src/component-editor/TooltipEditor.svelte +122 -0
  26. package/src/component-editor/editorTokens.test.ts +93 -0
  27. package/src/component-editor/groupKeySlots.test.ts +67 -0
  28. package/src/component-editor/groupKeySnapshot.test.ts +52 -0
  29. package/src/component-editor/index.ts +5 -0
  30. package/src/component-editor/registry.ts +246 -0
  31. package/src/component-editor/scaffolding/AngleDial.svelte +185 -0
  32. package/src/component-editor/scaffolding/ComponentEditorBase.svelte +96 -0
  33. package/src/component-editor/scaffolding/ComponentFileManager.svelte +682 -0
  34. package/src/component-editor/scaffolding/ComponentFileMenu.svelte +312 -0
  35. package/src/component-editor/scaffolding/ComponentsTab.svelte +69 -0
  36. package/src/component-editor/scaffolding/CopyFromMenu.svelte +246 -0
  37. package/src/component-editor/scaffolding/DemoHeader.svelte +21 -0
  38. package/src/component-editor/scaffolding/DividerEditor.svelte +81 -0
  39. package/src/component-editor/scaffolding/FieldsetWrapper.svelte +46 -0
  40. package/src/component-editor/scaffolding/GradientCard.svelte +291 -0
  41. package/src/component-editor/scaffolding/LinkageChart.svelte +297 -0
  42. package/src/component-editor/scaffolding/LinkedBlock.svelte +418 -0
  43. package/src/component-editor/scaffolding/NonStylableConfig.svelte +57 -0
  44. package/src/component-editor/scaffolding/SaveAsDialog.svelte +177 -0
  45. package/src/component-editor/scaffolding/ShadowBackdrop.svelte +25 -0
  46. package/src/component-editor/scaffolding/ShadowBackdropControls.svelte +56 -0
  47. package/src/component-editor/scaffolding/StateBlock.svelte +115 -0
  48. package/src/component-editor/scaffolding/TokenLayout.svelte +511 -0
  49. package/src/component-editor/scaffolding/TypeEditor.svelte +82 -0
  50. package/src/component-editor/scaffolding/VariantGroup.svelte +277 -0
  51. package/src/component-editor/scaffolding/buildTypeGroupTokens.ts +97 -0
  52. package/src/component-editor/scaffolding/componentSectionType.ts +8 -0
  53. package/src/component-editor/scaffolding/componentSources.ts +9 -0
  54. package/src/component-editor/scaffolding/defaultSections.ts +16 -0
  55. package/src/component-editor/scaffolding/editorContext.ts +44 -0
  56. package/src/component-editor/scaffolding/linkedBlock.ts +226 -0
  57. package/src/component-editor/scaffolding/siblings.ts +33 -0
  58. package/src/component-editor/scaffolding/types.ts +39 -0
  59. package/src/components/Badge.svelte +231 -42
  60. package/src/components/Button.svelte +324 -124
  61. package/src/components/Callout.svelte +145 -0
  62. package/src/components/Card.svelte +123 -25
  63. package/src/components/CollapsibleSection.svelte +213 -35
  64. package/src/components/CornerBadge.svelte +224 -0
  65. package/src/components/Dialog.svelte +137 -114
  66. package/src/components/Image.svelte +43 -0
  67. package/src/components/InlineEditActions.svelte +74 -14
  68. package/src/components/Notification.svelte +184 -163
  69. package/src/components/ProgressBar.svelte +216 -22
  70. package/src/components/RadioButton.svelte +110 -40
  71. package/src/components/SectionDivider.svelte +428 -74
  72. package/src/components/SegmentedControl.svelte +203 -0
  73. package/src/components/TabBar.svelte +146 -21
  74. package/src/components/Table.svelte +102 -0
  75. package/src/components/Tooltip.svelte +45 -19
  76. package/src/components/types.ts +51 -0
  77. package/src/data/google-fonts.json +75 -0
  78. package/src/lib/ColumnsOverlay.svelte +20 -7
  79. package/src/lib/LiveEditorOverlay.svelte +257 -78
  80. package/src/lib/columnsOverlay.ts +21 -17
  81. package/src/lib/componentConfig.test.ts +204 -0
  82. package/src/lib/componentConfigKeys.ts +19 -0
  83. package/src/lib/componentConfigService.ts +88 -0
  84. package/src/lib/copyPopover.ts +30 -0
  85. package/src/lib/cssVarSync.ts +59 -7
  86. package/src/lib/editorConfigStore.ts +0 -10
  87. package/src/lib/editorCore.ts +402 -0
  88. package/src/lib/editorKeybindings.ts +52 -0
  89. package/src/lib/editorPersistence.ts +106 -0
  90. package/src/lib/editorRenderer.ts +74 -0
  91. package/src/lib/editorStore.test.ts +328 -0
  92. package/src/lib/editorStore.ts +412 -0
  93. package/src/lib/editorTypes.ts +100 -0
  94. package/src/lib/editorViewStore.ts +55 -0
  95. package/src/lib/files/versionedFileResource.ts +140 -0
  96. package/src/lib/fontLoader.ts +130 -0
  97. package/src/lib/fontMigration.ts +140 -0
  98. package/src/lib/fontParse.ts +168 -0
  99. package/src/lib/index.ts +48 -30
  100. package/src/lib/lazyConfig.test.ts +54 -0
  101. package/src/lib/migrations/2026-04-24-component-prefix-and-suffix-renames.ts +64 -0
  102. package/src/lib/migrations/2026-04-24-legacy-keys-and-bg-to-canvas.ts +71 -0
  103. package/src/lib/migrations/2026-04-27-segmentedcontrol-disabled-flatten.ts +43 -0
  104. package/src/lib/migrations/2026-05-08-collapsiblesection-frame-and-cleanup.ts +68 -0
  105. package/src/lib/migrations/2026-05-08-collapsiblesection-variant-namespace.ts +35 -0
  106. package/src/lib/migrations/2026-05-10-sectiondivider-gradient-stops.ts +50 -0
  107. package/src/lib/migrations/2026-05-13-primary-to-brand.ts +90 -0
  108. package/src/lib/migrations/index.ts +93 -0
  109. package/src/lib/migrations/migrations.test.ts +341 -0
  110. package/src/lib/navLinkTypes.ts +1 -0
  111. package/src/lib/overlayState.ts +3 -0
  112. package/src/lib/paletteDerivation.ts +300 -0
  113. package/src/lib/parentRouteStore.ts +42 -0
  114. package/src/lib/parsers/globalRootBlock.ts +32 -0
  115. package/src/lib/presetService.ts +94 -0
  116. package/src/lib/router.ts +42 -10
  117. package/src/lib/scrollSection.ts +45 -0
  118. package/src/lib/slices/columns.ts +59 -0
  119. package/src/lib/slices/components.ts +362 -0
  120. package/src/lib/slices/domainVars.ts +15 -0
  121. package/src/lib/slices/fonts.ts +30 -0
  122. package/src/lib/slices/gradients.ts +153 -0
  123. package/src/lib/slices/overlays.ts +132 -0
  124. package/src/lib/slices/palettes.ts +26 -0
  125. package/src/lib/slices/shadows.ts +123 -0
  126. package/src/lib/storage.ts +88 -0
  127. package/src/lib/themeInit.ts +74 -0
  128. package/src/lib/themeService.ts +101 -0
  129. package/src/lib/themeTypes.ts +146 -0
  130. package/src/lib/tokenRegistry.ts +148 -0
  131. package/src/pages/ComponentEditorPage.svelte +384 -0
  132. package/src/pages/ComponentEditorPage.svelte.d.ts +2 -0
  133. package/src/pages/Editor.svelte +98 -0
  134. package/src/pages/Editor.svelte.d.ts +2 -0
  135. package/src/pages/EditorShell.svelte +348 -0
  136. package/src/styles/_padding.scss +34 -0
  137. package/src/styles/fonts/Fraunces/Fraunces-italic-latin-ext.woff2 +0 -0
  138. package/src/styles/fonts/Fraunces/Fraunces-italic-latin.woff2 +0 -0
  139. package/src/styles/fonts/Fraunces/Fraunces-roman-latin-ext.woff2 +0 -0
  140. package/src/styles/fonts/Fraunces/Fraunces-roman-latin.woff2 +0 -0
  141. package/src/styles/fonts/Manrope/Manrope-latin-ext.woff2 +0 -0
  142. package/src/styles/fonts/Manrope/Manrope-latin.woff2 +0 -0
  143. package/src/styles/fonts.css +22 -10
  144. package/src/styles/form-controls.css +14 -16
  145. package/src/styles/tokens.css +1322 -0
  146. package/src/styles/ui-editor.css +126 -0
  147. package/src/{showcase → ui}/BezierCurveEditor.svelte +14 -14
  148. package/src/{showcase → ui}/ColorEditPanel.svelte +42 -36
  149. package/src/ui/EditorViewSwitcher.svelte +180 -0
  150. package/src/ui/FontStackEditor.svelte +360 -0
  151. package/src/ui/GradientEditor.svelte +461 -0
  152. package/src/ui/GradientStopPicker.svelte +74 -0
  153. package/src/ui/PaletteEditor.svelte +1590 -0
  154. package/src/ui/PaletteEditor.test.ts +108 -0
  155. package/src/ui/PresetFileManager.svelte +567 -0
  156. package/src/ui/ProjectFontsSection.svelte +645 -0
  157. package/src/{showcase → ui}/SurfacesTab.svelte +39 -39
  158. package/src/{showcase → ui}/TextTab.svelte +27 -27
  159. package/src/{showcase/TokenFileManager.svelte → ui/ThemeFileManager.svelte} +196 -112
  160. package/src/ui/Toggle.svelte +108 -0
  161. package/src/ui/UICopyPopover.svelte +78 -0
  162. package/src/{showcase/EditorDialog.svelte → ui/UIDialog.svelte} +66 -25
  163. package/src/ui/UIFontFamilySelector.svelte +309 -0
  164. package/src/ui/UIFontSizeSelector.svelte +165 -0
  165. package/src/ui/UIFontWeightSelector.svelte +52 -0
  166. package/src/ui/UILineHeightSelector.svelte +47 -0
  167. package/src/ui/UILinkToggle.svelte +60 -0
  168. package/src/ui/UIOptionItem.svelte +74 -0
  169. package/src/ui/UIOptionList.svelte +27 -0
  170. package/src/ui/UIPaddingSelector.svelte +661 -0
  171. package/src/ui/UIPaletteSelector.svelte +1084 -0
  172. package/src/ui/UIRadio.svelte +72 -0
  173. package/src/ui/UIRadioGroup.svelte +59 -0
  174. package/src/ui/UIRelinkConfirmPopover.svelte +235 -0
  175. package/src/ui/UITokenSelector.svelte +509 -0
  176. package/src/ui/UIVariantSelector.svelte +145 -0
  177. package/src/ui/VariablesTab.svelte +252 -0
  178. package/src/ui/index.ts +31 -0
  179. package/src/ui/keepInViewport.ts +84 -0
  180. package/src/ui/palette/GradientStopEditor.svelte +482 -0
  181. package/src/ui/palette/OverridesPanel.svelte +526 -0
  182. package/src/ui/palette/PaletteBase.svelte +165 -0
  183. package/src/ui/palette/ScaleCurveEditor.svelte +38 -0
  184. package/src/ui/palette/paletteEditorState.ts +89 -0
  185. package/src/ui/sections/ColumnsSection.svelte +273 -0
  186. package/src/ui/sections/GradientsSection.svelte +147 -0
  187. package/src/ui/sections/OverlaysSection.svelte +670 -0
  188. package/src/ui/sections/ShadowsSection.svelte +1250 -0
  189. package/src/ui/sections/TokenScaleTable.svelte +332 -0
  190. package/src/ui/sections/tokenScales.ts +81 -0
  191. package/src/ui/variantScales.ts +108 -0
  192. package/src/components/DetailNav.svelte +0 -78
  193. package/src/components/Toggle.svelte +0 -86
  194. package/src/lib/tokenInit.ts +0 -29
  195. package/src/lib/tokenService.ts +0 -144
  196. package/src/lib/tokenTypes.ts +0 -45
  197. package/src/pages/Admin.svelte +0 -100
  198. package/src/pages/ShowcasePage.svelte +0 -144
  199. package/src/showcase/BackupBrowser.svelte +0 -617
  200. package/src/showcase/ComponentsTab.svelte +0 -105
  201. package/src/showcase/PaletteEditor.svelte +0 -2579
  202. package/src/showcase/PaletteSelector.svelte +0 -627
  203. package/src/showcase/TokenMap.svelte +0 -54
  204. package/src/showcase/VariablesTab.svelte +0 -2655
  205. package/src/showcase/VisualsTab.svelte +0 -231
  206. package/src/showcase/demos/BadgeDemo.svelte +0 -56
  207. package/src/showcase/demos/CardDemo.svelte +0 -50
  208. package/src/showcase/demos/ChoiceButtonsDemo.svelte +0 -192
  209. package/src/showcase/demos/CollapsibleSectionDemo.svelte +0 -54
  210. package/src/showcase/demos/DialogDemo.svelte +0 -42
  211. package/src/showcase/demos/InlineEditActionsDemo.svelte +0 -25
  212. package/src/showcase/demos/NotificationDemo.svelte +0 -147
  213. package/src/showcase/demos/ProgressBarDemo.svelte +0 -54
  214. package/src/showcase/demos/RadioButtonDemo.svelte +0 -56
  215. package/src/showcase/demos/SectionDividerDemo.svelte +0 -77
  216. package/src/showcase/demos/StandardButtonsDemo.svelte +0 -455
  217. package/src/showcase/demos/TabBarDemo.svelte +0 -58
  218. package/src/showcase/demos/TooltipDemo.svelte +0 -52
  219. package/src/showcase/editor.css +0 -93
  220. package/src/showcase/index.ts +0 -17
  221. package/src/styles/fonts/Domine/Domine-VariableFont_wght.ttf +0 -0
  222. package/src/styles/fonts/Domine/OFL.txt +0 -97
  223. package/src/styles/fonts/Domine/README.txt +0 -66
  224. /package/src/{showcase → ui}/curveEngine.ts +0 -0
@@ -1,147 +0,0 @@
1
- <script lang="ts">
2
- import Notification from '../../components/Notification.svelte';
3
- import TokenMap from '../TokenMap.svelte';
4
- </script>
5
-
6
- <div class="demo-block">
7
- <h2 class="component-title">Notification Components</h2>
8
- <p class="demo-description">
9
- Contextual feedback notifications with multiple variants. Import from <code>components/Notification.svelte</code>
10
- </p>
11
-
12
- <div class="demo-section">
13
- <h3 class="demo-subtitle">Variants</h3>
14
- <div class="notification-showcase">
15
- <Notification
16
- variant="info"
17
- title="Information"
18
- description="This is an informational message to keep you updated."
19
- />
20
-
21
- <Notification
22
- variant="success"
23
- title="Success"
24
- description="Your action was completed successfully."
25
- />
26
-
27
- <Notification
28
- variant="warning"
29
- title="Warning"
30
- description="Caution: This action may have unintended consequences."
31
- />
32
-
33
- <Notification
34
- variant="danger"
35
- title="Danger"
36
- description="Critical error: Please address this issue immediately."
37
- />
38
- </div>
39
- </div>
40
-
41
- <div class="demo-section">
42
- <h3 class="demo-subtitle">With Impact Text</h3>
43
- <div class="notification-showcase">
44
- <Notification
45
- variant="warning"
46
- title="Food Shortage"
47
- description="Your kingdom is running low on food supplies."
48
- impact="-2 to Economy until resolved"
49
- />
50
- </div>
51
- </div>
52
-
53
- <div class="demo-section">
54
- <h3 class="demo-subtitle">With Action Button</h3>
55
- <div class="notification-showcase">
56
- <Notification
57
- variant="info"
58
- title="Settlement Unmapped"
59
- description="This settlement has not been placed on the map yet."
60
- actionText="Place on Map"
61
- actionIcon="fas fa-map-marker-alt"
62
- onAction={() => {}}
63
- />
64
-
65
- <Notification
66
- variant="success"
67
- title="Trade Agreement Available"
68
- description="A neighboring faction has offered a trade deal."
69
- actionText="View Details"
70
- actionIcon="fas fa-handshake"
71
- onAction={() => {}}
72
- actionInline={true}
73
- />
74
- </div>
75
- </div>
76
-
77
- <div class="demo-section">
78
- <h3 class="demo-subtitle">Compact Size & Emphasis</h3>
79
- <div class="notification-showcase">
80
- <Notification
81
- variant="info"
82
- title="Compact Notification"
83
- description="A smaller notification for tighter spaces."
84
- size="compact"
85
- />
86
-
87
- <Notification
88
- variant="danger"
89
- title="Emphasized Alert"
90
- description="Important notifications can have emphasis styling."
91
- emphasis={true}
92
- />
93
- </div>
94
- </div>
95
-
96
- <div class="demo-section">
97
- <h3 class="demo-subtitle">Dismissible</h3>
98
- <div class="notification-showcase">
99
- <Notification
100
- variant="success"
101
- title="Dismissible Notification"
102
- description="Click the X to dismiss this notification."
103
- dismissible={true}
104
- />
105
- </div>
106
- </div>
107
-
108
- <div class="demo-section">
109
- <h3 class="demo-subtitle">Tokens</h3>
110
- <div class="token-sections">
111
- <TokenMap title="info" tokens={[
112
- { label: 'Header BG', variable: '--surface-info-low' },
113
- { label: 'Border', variable: '--border-info' },
114
- { label: 'Icon', variable: '--text-info' },
115
- ]} />
116
- <TokenMap title="success" tokens={[
117
- { label: 'Header BG', variable: '--surface-success' },
118
- { label: 'Border', variable: '--border-success' },
119
- { label: 'Icon', variable: '--text-success' },
120
- ]} />
121
- <TokenMap title="warning" tokens={[
122
- { label: 'Header BG', variable: '--surface-warning' },
123
- { label: 'Border', variable: '--border-warning' },
124
- { label: 'Icon', variable: '--text-warning' },
125
- ]} />
126
- <TokenMap title="danger" tokens={[
127
- { label: 'Header BG', variable: '--surface-primary' },
128
- { label: 'Border', variable: '--border-danger' },
129
- { label: 'Icon', variable: '--text-danger' },
130
- ]} />
131
- </div>
132
- </div>
133
- </div>
134
-
135
- <style>
136
- .notification-showcase {
137
- display: flex;
138
- flex-direction: column;
139
- gap: var(--space-16);
140
- }
141
-
142
- .token-sections {
143
- display: flex;
144
- flex-direction: column;
145
- gap: var(--space-16);
146
- }
147
- </style>
@@ -1,54 +0,0 @@
1
- <script lang="ts">
2
- import ProgressBar from '../../components/ProgressBar.svelte';
3
- import TokenMap from '../TokenMap.svelte';
4
- </script>
5
-
6
- <div class="demo-block">
7
- <h2 class="component-title">Progress Bar Component</h2>
8
- <p class="demo-description">
9
- Animated progress bar with variants. Import from <code>components/ProgressBar.svelte</code>
10
- </p>
11
-
12
- <div class="demo-section">
13
- <div class="progress-demo-stack">
14
- <ProgressBar value={25} label="Getting Started" variant="primary" />
15
- <ProgressBar value={50} label="Halfway There" variant="info" />
16
- <ProgressBar value={75} label="Almost Done" variant="warning" />
17
- <ProgressBar value={100} label="Complete" variant="success" />
18
- <ProgressBar value={33} label="Danger Zone" variant="danger" />
19
- <ProgressBar value={60} variant="primary" size="compact" />
20
- </div>
21
- </div>
22
-
23
- <div class="demo-section">
24
- <h3 class="demo-subtitle">Tokens</h3>
25
- <div class="token-sections">
26
- <TokenMap title="track" tokens={[
27
- { label: 'Background', variable: '--surface-neutral-low' },
28
- { label: 'Border', variable: '--border-neutral-faint' },
29
- { label: 'Label', variable: '--text-secondary' },
30
- ]} />
31
- <TokenMap title="fill colors" tokens={[
32
- { label: 'Success', variable: '--border-success' },
33
- { label: 'Warning', variable: '--border-warning' },
34
- { label: 'Danger', variable: '--border-danger' },
35
- { label: 'Info', variable: '--border-info' },
36
- ]} />
37
- </div>
38
- </div>
39
- </div>
40
-
41
- <style>
42
- .progress-demo-stack {
43
- display: flex;
44
- flex-direction: column;
45
- gap: var(--space-16);
46
- max-width: 400px;
47
- }
48
-
49
- .token-sections {
50
- display: flex;
51
- flex-direction: column;
52
- gap: var(--space-16);
53
- }
54
- </style>
@@ -1,56 +0,0 @@
1
- <script lang="ts">
2
- import RadioButton from '../../components/RadioButton.svelte';
3
- import TokenMap from '../TokenMap.svelte';
4
-
5
- let selectedRadio = 'option-b';
6
- </script>
7
-
8
- <div class="demo-block">
9
- <h2 class="component-title">Radio Button Component</h2>
10
- <p class="demo-description">
11
- Styled radio buttons with icon and color support. Import from <code>components/RadioButton.svelte</code>
12
- </p>
13
-
14
- <div class="demo-section">
15
- <div class="radio-demo-row">
16
- <RadioButton
17
- icon="fas fa-shield-alt"
18
- label="Defense"
19
- color="var(--text-info)"
20
- active={selectedRadio === 'option-a'}
21
- on:click={() => selectedRadio = 'option-a'}
22
- />
23
- <RadioButton
24
- icon="fas fa-coins"
25
- label="Economy"
26
- color="var(--text-accent)"
27
- active={selectedRadio === 'option-b'}
28
- on:click={() => selectedRadio = 'option-b'}
29
- />
30
- <RadioButton
31
- icon="fas fa-users"
32
- label="Loyalty"
33
- color="var(--text-success)"
34
- active={selectedRadio === 'option-c'}
35
- on:click={() => selectedRadio = 'option-c'}
36
- />
37
- </div>
38
- </div>
39
-
40
- <div class="demo-section">
41
- <h3 class="demo-subtitle">Tokens</h3>
42
- <TokenMap tokens={[
43
- { label: 'Dot Border', variable: '--border-neutral-default' },
44
- { label: 'Label', variable: '--text-primary' },
45
- { label: 'Surface', variable: '--surface-neutral-lowest' },
46
- ]} />
47
- </div>
48
- </div>
49
-
50
- <style>
51
- .radio-demo-row {
52
- display: flex;
53
- gap: var(--space-16);
54
- flex-wrap: wrap;
55
- }
56
- </style>
@@ -1,77 +0,0 @@
1
- <script lang="ts">
2
- import SectionDivider from '../../components/SectionDivider.svelte';
3
- import TokenMap from '../TokenMap.svelte';
4
-
5
- const dividerVariants: { variant: 'bg' | 'neutral' | 'alternate' | 'primary' | 'accent' | 'special'; label: string }[] = [
6
- { variant: 'bg', label: 'Background' },
7
- { variant: 'neutral', label: 'Neutral' },
8
- { variant: 'alternate', label: 'Alternate' },
9
- { variant: 'primary', label: 'Primary' },
10
- { variant: 'accent', label: 'Accent' },
11
- { variant: 'special', label: 'Special' },
12
- ];
13
- </script>
14
-
15
- <div class="demo-block">
16
- <h2 class="component-title">Section Divider Component</h2>
17
- <p class="demo-description">
18
- Full-width section banner with display font and palette variants. Import from <code>components/SectionDivider.svelte</code>
19
- </p>
20
-
21
- <div class="demo-section">
22
- <h3 class="demo-subtitle">Variants</h3>
23
- <div class="divider-showcase">
24
- {#each dividerVariants as item}
25
- <div class="divider-showcase-item">
26
- <SectionDivider title={item.label} variant={item.variant} />
27
- <span class="variant-label">variant="{item.variant}" &nbsp; surface-{item.variant}-highest → surface-{item.variant}</span>
28
- </div>
29
- {/each}
30
- </div>
31
- </div>
32
-
33
- <div class="demo-section">
34
- <h3 class="demo-subtitle">With Description</h3>
35
- <div class="divider-showcase">
36
- <SectionDivider
37
- title="Community Modules"
38
- variant="bg"
39
- description="These modules were created by other authors and are no longer actively maintained."
40
- />
41
- </div>
42
- </div>
43
-
44
- <div class="demo-section">
45
- <h3 class="demo-subtitle">Tokens (bg variant)</h3>
46
- <TokenMap tokens={[
47
- { label: 'Gradient High', variable: '--surface-bg-highest' },
48
- { label: 'Gradient Mid', variable: '--surface-bg-higher' },
49
- { label: 'Gradient Low', variable: '--surface-bg-high' },
50
- { label: 'Gradient Base', variable: '--surface-bg' },
51
- { label: 'Text Stroke', variable: '--surface-bg-lowest' },
52
- ]} />
53
- </div>
54
- </div>
55
-
56
- <style>
57
- .divider-showcase {
58
- display: flex;
59
- flex-direction: column;
60
- }
61
-
62
- .divider-showcase-item {
63
- display: flex;
64
- flex-direction: column;
65
- align-items: flex-start;
66
- width: 100%;
67
- }
68
-
69
- .variant-label {
70
- font-size: var(--font-xs);
71
- color: var(--ui-text-tertiary);
72
- font-family: var(--ui-font-mono);
73
- background: var(--ui-surface-lowest);
74
- padding: var(--space-2) var(--space-6);
75
- border-radius: var(--radius-sm);
76
- }
77
- </style>