@motion-proto/live-tokens 0.6.2 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +14 -13
  2. package/dist-plugin/index.cjs +147 -136
  3. package/dist-plugin/index.d.cts +1 -1
  4. package/dist-plugin/index.d.ts +1 -1
  5. package/dist-plugin/index.js +145 -135
  6. package/package.json +25 -40
  7. package/src/{component-editor → editor/component-editor}/BadgeEditor.svelte +8 -82
  8. package/src/{component-editor → editor/component-editor}/CalloutEditor.svelte +4 -4
  9. package/src/{component-editor → editor/component-editor}/CardEditor.svelte +28 -76
  10. package/src/{component-editor → editor/component-editor}/CollapsibleSectionEditor.svelte +3 -3
  11. package/src/{component-editor → editor/component-editor}/CornerBadgeEditor.svelte +31 -93
  12. package/src/{component-editor → editor/component-editor}/DialogEditor.svelte +60 -57
  13. package/src/editor/component-editor/ImageEditor.svelte +30 -0
  14. package/src/{component-editor → editor/component-editor}/InlineEditActionsEditor.svelte +6 -4
  15. package/src/editor/component-editor/MenuSelectEditor.svelte +160 -0
  16. package/src/{component-editor → editor/component-editor}/NotificationEditor.svelte +64 -37
  17. package/src/{component-editor → editor/component-editor}/ProgressBarEditor.svelte +5 -4
  18. package/src/{component-editor → editor/component-editor}/RadioButtonEditor.svelte +3 -3
  19. package/src/{component-editor → editor/component-editor}/SectionDividerEditor.svelte +57 -84
  20. package/src/{component-editor → editor/component-editor}/SegmentedControlEditor.svelte +2 -2
  21. package/src/{component-editor → editor/component-editor}/StandardButtonsEditor.svelte +16 -20
  22. package/src/{component-editor → editor/component-editor}/TabBarEditor.svelte +9 -14
  23. package/src/{component-editor → editor/component-editor}/TableEditor.svelte +9 -18
  24. package/src/{component-editor → editor/component-editor}/TooltipEditor.svelte +11 -47
  25. package/src/{component-editor → editor/component-editor}/registry.ts +28 -18
  26. package/src/{component-editor → editor/component-editor}/scaffolding/AngleDial.svelte +2 -2
  27. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentEditorBase.svelte +3 -51
  28. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentFileManager.svelte +144 -416
  29. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentFileMenu.svelte +18 -170
  30. package/src/{component-editor → editor/component-editor}/scaffolding/ComponentsTab.svelte +2 -2
  31. package/src/{component-editor → editor/component-editor}/scaffolding/CopyFromMenu.svelte +44 -4
  32. package/src/{component-editor → editor/component-editor}/scaffolding/DividerEditor.svelte +1 -1
  33. package/src/{component-editor → editor/component-editor}/scaffolding/FieldsetWrapper.svelte +1 -1
  34. package/src/{component-editor → editor/component-editor}/scaffolding/GradientCard.svelte +6 -6
  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 -11
  37. package/src/editor/component-editor/scaffolding/NonStylableConfig.svelte +38 -0
  38. package/src/{component-editor → editor/component-editor}/scaffolding/SaveAsDialog.svelte +66 -12
  39. package/src/editor/component-editor/scaffolding/ShadowBackdrop.svelte +72 -0
  40. package/src/editor/component-editor/scaffolding/ShadowBackdropControls.svelte +132 -0
  41. package/src/editor/component-editor/scaffolding/StateBlock.svelte +257 -0
  42. package/src/{component-editor → editor/component-editor}/scaffolding/TokenLayout.svelte +9 -7
  43. package/src/editor/component-editor/scaffolding/VariantGroup.svelte +644 -0
  44. package/src/{component-editor → editor/component-editor}/scaffolding/editorContext.ts +19 -9
  45. package/src/{component-editor → editor/component-editor}/scaffolding/linkedBlock.ts +2 -2
  46. package/src/{component-editor → editor/component-editor}/scaffolding/types.ts +14 -0
  47. package/src/{lib → editor/core/components}/componentConfigService.ts +2 -2
  48. package/src/{lib → editor/core/components}/componentPersist.ts +5 -5
  49. package/src/editor/core/flashStatus.ts +30 -0
  50. package/src/{lib → editor/core/fonts}/fontLoader.ts +2 -2
  51. package/src/{lib → editor/core/fonts}/fontMigration.ts +4 -4
  52. package/src/{lib → editor/core/fonts}/fontParse.ts +1 -1
  53. package/src/editor/core/manifests/manifestService.ts +116 -0
  54. package/src/{lib → editor/core/palettes}/paletteDerivation.ts +2 -2
  55. package/src/{lib → editor/core/palettes}/tokenRegistry.ts +5 -5
  56. package/src/editor/core/productionPulse.ts +37 -0
  57. package/src/{lib → editor/core/routing}/router.ts +1 -1
  58. package/src/{lib/files/versionedFileResource.ts → editor/core/storage/files/versionedFileResourceClient.ts} +8 -1
  59. package/src/{lib → editor/core/store}/editorCore.ts +24 -8
  60. package/src/{lib → editor/core/store}/editorPersistence.ts +3 -3
  61. package/src/{lib → editor/core/store}/editorRenderer.ts +2 -2
  62. package/src/{lib → editor/core/store}/editorStore.ts +17 -17
  63. package/src/{lib → editor/core/store}/editorTypes.ts +1 -1
  64. package/src/{lib → editor/core/themes}/slices/columns.ts +2 -2
  65. package/src/{lib → editor/core/themes}/slices/components.ts +2 -2
  66. package/src/{lib → editor/core/themes}/slices/fonts.ts +1 -1
  67. package/src/{lib → editor/core/themes}/slices/gradients.ts +2 -2
  68. package/src/{lib → editor/core/themes}/slices/overlays.ts +1 -1
  69. package/src/{lib → editor/core/themes}/slices/palettes.ts +1 -1
  70. package/src/{lib → editor/core/themes}/slices/shadows.ts +3 -3
  71. package/src/{lib → editor/core/themes}/themeInit.ts +6 -6
  72. package/src/{lib → editor/core/themes}/themeService.ts +6 -6
  73. package/src/{lib → editor/core/themes}/themeTypes.ts +11 -7
  74. package/src/editor/index.ts +69 -0
  75. package/src/{lib → editor/overlay}/LiveEditorOverlay.svelte +79 -125
  76. package/src/{lib → editor/overlay}/columnsOverlay.ts +2 -2
  77. package/src/{pages → editor/pages}/ComponentEditorPage.svelte +12 -12
  78. package/src/{pages → editor/pages}/Editor.svelte +4 -4
  79. package/src/{pages → editor/pages}/EditorShell.svelte +18 -36
  80. package/src/{styles → editor/styles}/ui-editor.css +41 -21
  81. package/src/{styles → editor/styles}/ui-form-controls.css +8 -8
  82. package/src/{ui → editor/ui}/BezierCurveEditor.svelte +8 -8
  83. package/src/{ui → editor/ui}/ColorEditPanel.svelte +13 -13
  84. package/src/{ui → editor/ui}/EditorViewSwitcher.svelte +8 -6
  85. package/src/editor/ui/FileLoadList.svelte +350 -0
  86. package/src/editor/ui/FilePill.svelte +80 -0
  87. package/src/{ui → editor/ui}/FontStackEditor.svelte +7 -7
  88. package/src/{ui → editor/ui}/GradientEditor.svelte +11 -11
  89. package/src/{ui → editor/ui}/GradientStopPicker.svelte +1 -1
  90. package/src/editor/ui/ManifestFileManager.svelte +371 -0
  91. package/src/{ui → editor/ui}/PaletteEditor.svelte +132 -598
  92. package/src/{ui → editor/ui}/ProjectFontsSection.svelte +102 -144
  93. package/src/{ui → editor/ui}/SurfacesTab.svelte +3 -3
  94. package/src/{ui → editor/ui}/TextTab.svelte +3 -3
  95. package/src/{ui → editor/ui}/ThemeFileManager.svelte +286 -519
  96. package/src/{ui → editor/ui}/UICopyPopover.svelte +4 -4
  97. package/src/{ui → editor/ui}/UIFontFamilySelector.svelte +6 -6
  98. package/src/{ui → editor/ui}/UIFontSizeSelector.svelte +1 -1
  99. package/src/editor/ui/UIInfoPopover.svelte +244 -0
  100. package/src/{ui → editor/ui}/UILineHeightSelector.svelte +5 -5
  101. package/src/{ui → editor/ui}/UILinkToggle.svelte +2 -2
  102. package/src/{ui → editor/ui}/UIPaddingSelector.svelte +6 -6
  103. package/src/{ui → editor/ui}/UIPaletteSelector.svelte +26 -26
  104. package/src/editor/ui/UIPillButton.svelte +138 -0
  105. package/src/{ui → editor/ui}/UIRadio.svelte +2 -2
  106. package/src/{ui → editor/ui}/UIRelinkConfirmPopover.svelte +4 -4
  107. package/src/editor/ui/UISquareButton.svelte +172 -0
  108. package/src/{ui → editor/ui}/UITokenSelector.svelte +10 -10
  109. package/src/{ui → editor/ui}/UIVariantSelector.svelte +1 -1
  110. package/src/{ui → editor/ui}/VariablesTab.svelte +31 -8
  111. package/src/{ui → editor/ui}/palette/GradientStopEditor.svelte +13 -13
  112. package/src/{ui → editor/ui}/palette/OverridesPanel.svelte +13 -13
  113. package/src/{ui → editor/ui}/palette/PaletteBase.svelte +8 -5
  114. package/src/{ui → editor/ui}/palette/paletteEditorState.ts +1 -1
  115. package/src/editor/ui/palette/paletteMath.ts +275 -0
  116. package/src/{ui → editor/ui}/sections/ColumnsSection.svelte +137 -17
  117. package/src/{ui → editor/ui}/sections/GradientsSection.svelte +7 -7
  118. package/src/{ui → editor/ui}/sections/OverlaysSection.svelte +17 -17
  119. package/src/{ui → editor/ui}/sections/ShadowsSection.svelte +22 -22
  120. package/src/{ui → editor/ui}/sections/TokenScaleTable.svelte +3 -3
  121. package/src/{components → system/components}/Badge.svelte +0 -36
  122. package/src/{components → system/components}/Card.svelte +8 -62
  123. package/src/{components → system/components}/CornerBadge.svelte +8 -24
  124. package/src/{components → system/components}/Dialog.svelte +1 -1
  125. package/src/system/components/FloatingTokenTags.css +256 -0
  126. package/src/system/components/FloatingTokenTags.svelte +592 -0
  127. package/src/{components → system/components}/InlineEditActions.svelte +6 -4
  128. package/src/system/components/MenuSelect.svelte +229 -0
  129. package/src/{components → system/components}/ProgressBar.svelte +29 -11
  130. package/src/{components → system/components}/SegmentedControl.svelte +49 -43
  131. package/src/{components → system/components}/TabBar.svelte +81 -65
  132. package/src/{components → system/components}/Table.svelte +17 -3
  133. package/src/{components → system/components}/Tooltip.svelte +6 -4
  134. package/src/system/styles/CONVENTIONS.md +178 -0
  135. package/src/{styles → system/styles}/fonts.css +6 -3
  136. package/src/{styles → system/styles}/tokens.css +149 -29
  137. package/src/component-editor/ImageEditor.svelte +0 -74
  138. package/src/component-editor/scaffolding/NonStylableConfig.svelte +0 -62
  139. package/src/component-editor/scaffolding/ShadowBackdrop.svelte +0 -37
  140. package/src/component-editor/scaffolding/ShadowBackdropControls.svelte +0 -61
  141. package/src/component-editor/scaffolding/StateBlock.svelte +0 -132
  142. package/src/component-editor/scaffolding/VariantGroup.svelte +0 -310
  143. package/src/data/google-fonts.json +0 -75
  144. package/src/lib/index.ts +0 -68
  145. package/src/lib/presetService.ts +0 -214
  146. package/src/lib/productionPulse.ts +0 -32
  147. package/src/ui/PresetFileManager.svelte +0 -1116
  148. package/src/ui/UnsavedComponentsDialog.svelte +0 -315
  149. /package/src/{styles → app}/site.css +0 -0
  150. /package/src/{component-editor → editor/component-editor}/index.ts +0 -0
  151. /package/src/{component-editor → editor/component-editor}/scaffolding/DemoHeader.svelte +0 -0
  152. /package/src/{component-editor → editor/component-editor}/scaffolding/TypeEditor.svelte +0 -0
  153. /package/src/{component-editor → editor/component-editor}/scaffolding/buildTypeGroupTokens.ts +0 -0
  154. /package/src/{component-editor → editor/component-editor}/scaffolding/componentSectionType.ts +0 -0
  155. /package/src/{component-editor → editor/component-editor}/scaffolding/componentSources.ts +0 -0
  156. /package/src/{component-editor → editor/component-editor}/scaffolding/defaultSections.ts +0 -0
  157. /package/src/{component-editor → editor/component-editor}/scaffolding/siblings.ts +0 -0
  158. /package/src/{lib → editor/core/components}/componentConfigKeys.ts +0 -0
  159. /package/src/{lib → editor/core}/cssVarSync.ts +0 -0
  160. /package/src/{lib → editor/core/palettes}/oklch.ts +0 -0
  161. /package/src/{lib → editor/core/routing}/navLinkTypes.ts +0 -0
  162. /package/src/{lib → editor/core/routing}/parentRouteStore.ts +0 -0
  163. /package/src/{lib → editor/core/storage}/storage.ts +0 -0
  164. /package/src/{lib → editor/core/store}/editorConfig.ts +0 -0
  165. /package/src/{lib → editor/core/store}/editorConfigStore.ts +0 -0
  166. /package/src/{lib → editor/core/store}/editorKeybindings.ts +0 -0
  167. /package/src/{lib → editor/core/store}/editorViewStore.ts +0 -0
  168. /package/src/{lib → editor/core/themes}/migrations/2026-04-24-component-prefix-and-suffix-renames.ts +0 -0
  169. /package/src/{lib → editor/core/themes}/migrations/2026-04-24-legacy-keys-and-bg-to-canvas.ts +0 -0
  170. /package/src/{lib → editor/core/themes}/migrations/2026-04-27-segmentedcontrol-disabled-flatten.ts +0 -0
  171. /package/src/{lib → editor/core/themes}/migrations/2026-05-08-collapsiblesection-frame-and-cleanup.ts +0 -0
  172. /package/src/{lib → editor/core/themes}/migrations/2026-05-08-collapsiblesection-variant-namespace.ts +0 -0
  173. /package/src/{lib → editor/core/themes}/migrations/2026-05-10-sectiondivider-gradient-stops.ts +0 -0
  174. /package/src/{lib → editor/core/themes}/migrations/2026-05-13-primary-to-brand.ts +0 -0
  175. /package/src/{lib → editor/core/themes}/migrations/index.ts +0 -0
  176. /package/src/{lib → editor/core/themes}/parsers/globalRootBlock.ts +0 -0
  177. /package/src/{lib → editor/core/themes}/slices/domainVars.ts +0 -0
  178. /package/src/{lib → editor/overlay}/ColumnsOverlay.svelte +0 -0
  179. /package/src/{lib → editor/overlay}/overlayState.ts +0 -0
  180. /package/src/{pages → editor/pages}/ComponentEditorPage.svelte.d.ts +0 -0
  181. /package/src/{pages → editor/pages}/Editor.svelte.d.ts +0 -0
  182. /package/src/{ui → editor/ui}/Toggle.svelte +0 -0
  183. /package/src/{ui → editor/ui}/UIDialog.svelte +0 -0
  184. /package/src/{ui → editor/ui}/UIFontWeightSelector.svelte +0 -0
  185. /package/src/{ui → editor/ui}/UIOptionItem.svelte +0 -0
  186. /package/src/{ui → editor/ui}/UIOptionList.svelte +0 -0
  187. /package/src/{ui → editor/ui}/UIRadioGroup.svelte +0 -0
  188. /package/src/{lib → editor/ui}/copyPopover.ts +0 -0
  189. /package/src/{ui → editor/ui}/curveEngine.ts +0 -0
  190. /package/src/{ui → editor/ui}/index.ts +0 -0
  191. /package/src/{ui → editor/ui}/keepInViewport.ts +0 -0
  192. /package/src/{ui → editor/ui}/palette/ScaleCurveEditor.svelte +0 -0
  193. /package/src/{lib → editor/ui}/scrollSection.ts +0 -0
  194. /package/src/{ui → editor/ui}/sections/tokenScales.ts +0 -0
  195. /package/src/{ui → editor/ui}/variantScales.ts +0 -0
  196. /package/src/{assets → system/assets}/newspaper.webp +0 -0
  197. /package/src/{assets → system/assets}/offering.webp +0 -0
  198. /package/src/{components → system/components}/Button.svelte +0 -0
  199. /package/src/{components → system/components}/Callout.svelte +0 -0
  200. /package/src/{components → system/components}/CollapsibleSection.svelte +0 -0
  201. /package/src/{components → system/components}/Image.svelte +0 -0
  202. /package/src/{components → system/components}/Notification.svelte +0 -0
  203. /package/src/{components → system/components}/RadioButton.svelte +0 -0
  204. /package/src/{components → system/components}/SectionDivider.svelte +0 -0
  205. /package/src/{components → system/components}/types.ts +0 -0
  206. /package/src/{styles → system/styles}/_padding.scss +0 -0
  207. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-italic-latin-ext.woff2 +0 -0
  208. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-italic-latin.woff2 +0 -0
  209. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-roman-latin-ext.woff2 +0 -0
  210. /package/src/{styles → system/styles}/fonts/Fraunces/Fraunces-roman-latin.woff2 +0 -0
  211. /package/src/{styles → system/styles}/fonts/Manrope/Manrope-latin-ext.woff2 +0 -0
  212. /package/src/{styles → system/styles}/fonts/Manrope/Manrope-latin.woff2 +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { Component } from 'svelte';
2
2
  import type { Token } from './scaffolding/types';
3
- import { registerComponentSchema } from '../lib/editorStore';
3
+ import { registerComponentSchema } from '../core/store/editorStore';
4
4
 
5
5
  import BadgeEditor, { allTokens as badgeTokens } from './BadgeEditor.svelte';
6
6
  import CalloutEditor, { allTokens as calloutTokens } from './CalloutEditor.svelte';
@@ -11,6 +11,7 @@ import CollapsibleSectionEditor, { allTokens as collapsibleSectionTokens } from
11
11
  import DialogEditor, { allTokens as dialogTokens } from './DialogEditor.svelte';
12
12
  import ImageEditor, { allTokens as imageTokens } from './ImageEditor.svelte';
13
13
  import InlineEditActionsEditor, { allTokens as inlineEditActionsTokens } from './InlineEditActionsEditor.svelte';
14
+ import MenuSelectEditor, { allTokens as menuSelectTokens } from './MenuSelectEditor.svelte';
14
15
  import NotificationEditor, { allTokens as notificationTokens } from './NotificationEditor.svelte';
15
16
  import ProgressBarEditor, { allTokens as progressBarTokens } from './ProgressBarEditor.svelte';
16
17
  import RadioButtonEditor, { allTokens as radioButtonTokens } from './RadioButtonEditor.svelte';
@@ -32,6 +33,7 @@ export type ComponentId =
32
33
  | 'cornerbadge'
33
34
  | 'image'
34
35
  | 'inlineeditactions'
36
+ | 'menuselect'
35
37
  | 'sectiondivider'
36
38
  | 'collapsiblesection'
37
39
  | 'table'
@@ -71,7 +73,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
71
73
  id: 'segmentedcontrol',
72
74
  label: 'Segmented Control',
73
75
  icon: 'fas fa-hand-pointer',
74
- sourceFile: 'src/components/SegmentedControl.svelte',
76
+ sourceFile: 'src/system/components/SegmentedControl.svelte',
75
77
  editorComponent: SegmentedControlEditor,
76
78
  schema: segmentedControlTokens,
77
79
  },
@@ -79,7 +81,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
79
81
  id: 'button',
80
82
  label: 'Button',
81
83
  icon: 'fas fa-square',
82
- sourceFile: 'src/components/Button.svelte',
84
+ sourceFile: 'src/system/components/Button.svelte',
83
85
  editorComponent: StandardButtonsEditor,
84
86
  schema: buttonTokens,
85
87
  },
@@ -87,7 +89,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
87
89
  id: 'notification',
88
90
  label: 'Notification',
89
91
  icon: 'fas fa-bell',
90
- sourceFile: 'src/components/Notification.svelte',
92
+ sourceFile: 'src/system/components/Notification.svelte',
91
93
  editorComponent: NotificationEditor,
92
94
  schema: notificationTokens,
93
95
  },
@@ -95,7 +97,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
95
97
  id: 'dialog',
96
98
  label: 'Dialog',
97
99
  icon: 'fas fa-window-restore',
98
- sourceFile: 'src/components/Dialog.svelte',
100
+ sourceFile: 'src/system/components/Dialog.svelte',
99
101
  editorComponent: DialogEditor,
100
102
  schema: dialogTokens,
101
103
  },
@@ -103,7 +105,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
103
105
  id: 'radiobutton',
104
106
  label: 'Radio Button',
105
107
  icon: 'fas fa-dot-circle',
106
- sourceFile: 'src/components/RadioButton.svelte',
108
+ sourceFile: 'src/system/components/RadioButton.svelte',
107
109
  editorComponent: RadioButtonEditor,
108
110
  schema: radioButtonTokens,
109
111
  },
@@ -111,7 +113,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
111
113
  id: 'card',
112
114
  label: 'Card',
113
115
  icon: 'fas fa-id-card',
114
- sourceFile: 'src/components/Card.svelte',
116
+ sourceFile: 'src/system/components/Card.svelte',
115
117
  editorComponent: CardEditor,
116
118
  schema: cardTokens,
117
119
  },
@@ -119,7 +121,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
119
121
  id: 'badge',
120
122
  label: 'Badge',
121
123
  icon: 'fas fa-tag',
122
- sourceFile: 'src/components/Badge.svelte',
124
+ sourceFile: 'src/system/components/Badge.svelte',
123
125
  editorComponent: BadgeEditor,
124
126
  schema: badgeTokens,
125
127
  },
@@ -127,7 +129,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
127
129
  id: 'callout',
128
130
  label: 'Callout',
129
131
  icon: 'fas fa-quote-left',
130
- sourceFile: 'src/components/Callout.svelte',
132
+ sourceFile: 'src/system/components/Callout.svelte',
131
133
  editorComponent: CalloutEditor,
132
134
  schema: calloutTokens,
133
135
  },
@@ -135,7 +137,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
135
137
  id: 'cornerbadge',
136
138
  label: 'Corner Badge',
137
139
  icon: 'fas fa-tags',
138
- sourceFile: 'src/components/CornerBadge.svelte',
140
+ sourceFile: 'src/system/components/CornerBadge.svelte',
139
141
  editorComponent: CornerBadgeEditor,
140
142
  schema: cornerBadgeTokens,
141
143
  },
@@ -143,7 +145,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
143
145
  id: 'image',
144
146
  label: 'Image',
145
147
  icon: 'fas fa-image',
146
- sourceFile: 'src/components/Image.svelte',
148
+ sourceFile: 'src/system/components/Image.svelte',
147
149
  editorComponent: ImageEditor,
148
150
  schema: imageTokens,
149
151
  },
@@ -151,15 +153,23 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
151
153
  id: 'inlineeditactions',
152
154
  label: 'Inline Edit Actions',
153
155
  icon: 'fas fa-pen',
154
- sourceFile: 'src/components/InlineEditActions.svelte',
156
+ sourceFile: 'src/system/components/InlineEditActions.svelte',
155
157
  editorComponent: InlineEditActionsEditor,
156
158
  schema: inlineEditActionsTokens,
157
159
  },
160
+ menuselect: {
161
+ id: 'menuselect',
162
+ label: 'Menu Select',
163
+ icon: 'fas fa-list',
164
+ sourceFile: 'src/system/components/MenuSelect.svelte',
165
+ editorComponent: MenuSelectEditor,
166
+ schema: menuSelectTokens,
167
+ },
158
168
  sectiondivider: {
159
169
  id: 'sectiondivider',
160
170
  label: 'Section Divider',
161
171
  icon: 'fas fa-minus',
162
- sourceFile: 'src/components/SectionDivider.svelte',
172
+ sourceFile: 'src/system/components/SectionDivider.svelte',
163
173
  editorComponent: SectionDividerEditor,
164
174
  schema: sectionDividerTokens,
165
175
  },
@@ -167,7 +177,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
167
177
  id: 'collapsiblesection',
168
178
  label: 'Collapsible Section',
169
179
  icon: 'fas fa-chevron-down',
170
- sourceFile: 'src/components/CollapsibleSection.svelte',
180
+ sourceFile: 'src/system/components/CollapsibleSection.svelte',
171
181
  editorComponent: CollapsibleSectionEditor,
172
182
  schema: collapsibleSectionTokens,
173
183
  },
@@ -175,7 +185,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
175
185
  id: 'table',
176
186
  label: 'Table',
177
187
  icon: 'fas fa-table',
178
- sourceFile: 'src/components/Table.svelte',
188
+ sourceFile: 'src/system/components/Table.svelte',
179
189
  editorComponent: TableEditor,
180
190
  schema: tableTokens,
181
191
  },
@@ -183,7 +193,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
183
193
  id: 'tabbar',
184
194
  label: 'Tab Bar',
185
195
  icon: 'fas fa-columns',
186
- sourceFile: 'src/components/TabBar.svelte',
196
+ sourceFile: 'src/system/components/TabBar.svelte',
187
197
  editorComponent: TabBarEditor,
188
198
  schema: tabBarTokens,
189
199
  },
@@ -191,7 +201,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
191
201
  id: 'tooltip',
192
202
  label: 'Tooltip',
193
203
  icon: 'fas fa-comment-dots',
194
- sourceFile: 'src/components/Tooltip.svelte',
204
+ sourceFile: 'src/system/components/Tooltip.svelte',
195
205
  editorComponent: TooltipEditor,
196
206
  schema: tooltipTokens,
197
207
  },
@@ -199,7 +209,7 @@ export const componentRegistry: Readonly<Record<ComponentId, RegistryEntry>> = O
199
209
  id: 'progressbar',
200
210
  label: 'Progress Bar',
201
211
  icon: 'fas fa-tasks',
202
- sourceFile: 'src/components/ProgressBar.svelte',
212
+ sourceFile: 'src/system/components/ProgressBar.svelte',
203
213
  editorComponent: ProgressBarEditor,
204
214
  schema: progressBarTokens,
205
215
  },
@@ -119,7 +119,7 @@
119
119
  position: relative;
120
120
  border-radius: 50%;
121
121
  background: var(--ui-surface-lowest);
122
- border: 1px solid var(--ui-border-default);
122
+ border: 1px solid var(--ui-border);
123
123
  cursor: grab;
124
124
  flex: none;
125
125
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
@@ -167,7 +167,7 @@
167
167
  width: 3.25rem;
168
168
  padding: var(--ui-space-2) var(--ui-space-6);
169
169
  background: var(--ui-surface-lowest);
170
- border: 1px solid var(--ui-border-faint);
170
+ border: 1px solid var(--ui-border-low);
171
171
  border-radius: var(--ui-radius-sm);
172
172
  color: var(--ui-text-primary);
173
173
  font-family: var(--ui-font-mono);
@@ -46,6 +46,9 @@
46
46
  run(() => {
47
47
  ctx._linkedOrder.set(linked?.linkedOrder ?? null);
48
48
  });
49
+ run(() => {
50
+ ctx._variants.set(variants);
51
+ });
49
52
  let showVariantTabs = $derived(variants.length >= 2);
50
53
  run(() => {
51
54
  if (showVariantTabs && ($focusedVariant === null || !variants.some((v) => v.value === $focusedVariant))) {
@@ -62,59 +65,8 @@
62
65
  {@render config?.()}
63
66
  </NonStylableConfig>
64
67
  {/if}
65
- {#if showVariantTabs}
66
- <div class="variant-tabs" role="tablist">
67
- {#each variants as opt}
68
- <button
69
- type="button"
70
- class="variant-tab-btn"
71
- class:active={opt.value === $focusedVariant}
72
- role="tab"
73
- aria-selected={opt.value === $focusedVariant}
74
- onclick={() => focusedVariant.set(opt.value)}
75
- >{opt.label}</button>
76
- {/each}
77
- </div>
78
- {/if}
79
68
  {@render children?.({ focusedVariant: $focusedVariant, })}
80
69
  {#if linked}
81
70
  <LinkedBlock {component} {linked} />
82
71
  {/if}
83
72
  </div>
84
-
85
- <style>
86
- .variant-tabs {
87
- display: inline-flex;
88
- flex-wrap: wrap;
89
- gap: var(--ui-space-4);
90
- padding: var(--ui-space-4);
91
- background: var(--ui-surface-lowest);
92
- border: 1px solid var(--ui-border-faint);
93
- border-radius: var(--ui-radius-md);
94
- align-self: flex-start;
95
- }
96
-
97
- .variant-tab-btn {
98
- padding: var(--ui-space-6) var(--ui-space-12);
99
- background: none;
100
- border: none;
101
- border-radius: var(--ui-radius-sm);
102
- color: var(--ui-text-secondary);
103
- font-size: var(--ui-font-size-md);
104
- font-weight: var(--ui-font-weight-semibold);
105
- text-transform: capitalize;
106
- cursor: pointer;
107
- transition: color var(--ui-transition-fast), background var(--ui-transition-fast);
108
- }
109
-
110
- .variant-tab-btn:hover:not(.active) {
111
- color: var(--ui-text-primary);
112
- background: var(--ui-hover);
113
- }
114
-
115
- .variant-tab-btn.active {
116
- color: var(--ui-text-primary);
117
- background: var(--ui-surface-high);
118
- box-shadow: 0 0 0 1px var(--ui-border-default);
119
- }
120
- </style>