@motion-proto/live-tokens 0.73.0 → 0.75.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 (196) hide show
  1. package/.claude/skills/live-tokens-check-compliance/SKILL.md +33 -38
  2. package/.claude/skills/live-tokens-create-component/SKILL copy.md +196 -0
  3. package/.claude/skills/live-tokens-create-component/SKILL.md +198 -146
  4. package/.claude/skills/live-tokens-create-component/references/contract-tests.md +95 -52
  5. package/.claude/skills/live-tokens-create-component/references/intrinsics.md +2 -2
  6. package/.claude/skills/live-tokens-create-component/references/linked-siblings.md +2 -2
  7. package/.claude/skills/live-tokens-create-component/references/sketch-mode.md +12 -12
  8. package/.claude/skills/live-tokens-create-component/references/token-naming.md +2 -1
  9. package/.claude/skills/live-tokens-create-page/SKILL.md +187 -0
  10. package/.claude/skills/live-tokens-create-page/references/interaction-sources.md +66 -0
  11. package/.claude/skills/live-tokens-create-page/references/layout-sources.md +87 -0
  12. package/.claude/skills/live-tokens-create-theme/SKILL.md +84 -0
  13. package/.claude/skills/live-tokens-create-theme/references/design-directions.md +94 -0
  14. package/.claude/skills/live-tokens-fix-findings/SKILL.md +69 -60
  15. package/.claude/skills/live-tokens-pick-component/SKILL.md +64 -79
  16. package/.claude/skills/live-tokens-set-colors/SKILL.md +149 -0
  17. package/.claude/skills/live-tokens-set-colors/references/color-anchors.md +80 -0
  18. package/.claude/skills/live-tokens-set-geometry/SKILL.md +121 -0
  19. package/.claude/skills/live-tokens-set-geometry/references/geometry-anchors.md +63 -0
  20. package/.claude/skills/live-tokens-set-type/SKILL.md +93 -0
  21. package/.claude/skills/live-tokens-set-type/references/type-anchors.md +60 -0
  22. package/CHANGELOG.md +194 -0
  23. package/README.md +27 -18
  24. package/bin/check-component.mjs +91 -19
  25. package/bin/check-page.mjs +105 -24
  26. package/bin/cli.mjs +154 -97
  27. package/bin/contractRunner.mjs +945 -0
  28. package/bin/create.mjs +1 -1
  29. package/bin/lib/catalogue.mjs +37 -30
  30. package/bin/lib/findings.mjs +46 -15
  31. package/bin/lib/liveState.mjs +110 -0
  32. package/bin/lib/report.mjs +3 -3
  33. package/bin/lib/tokenVocabulary.mjs +4 -4
  34. package/bin/migrate-routes.mjs +5 -5
  35. package/bin/migrate.mjs +4 -4
  36. package/bin/save-theme.mjs +176 -0
  37. package/bin/set-colors.mjs +189 -0
  38. package/bin/{adjust.mjs → set-geometry.mjs} +25 -57
  39. package/bin/{set-fonts.mjs → set-type.mjs} +26 -62
  40. package/dist-plugin/{chunk-W6Y4BWFB.js → chunk-6WGFOJXO.js} +22 -0
  41. package/dist-plugin/{chunk-RIXO2E55.js → chunk-PDNL4NC5.js} +9 -2
  42. package/dist-plugin/{chunk-YLCOIGQC.js → chunk-SWXRVZKT.js} +98 -2
  43. package/dist-plugin/{dataPaths-BhWzd5cL.d.ts → dataPaths-BpIK_Obx.d.cts} +1 -0
  44. package/dist-plugin/{dataPaths-BhWzd5cL.d.cts → dataPaths-BpIK_Obx.d.ts} +1 -0
  45. package/dist-plugin/index.cjs +366 -148
  46. package/dist-plugin/index.d.cts +1 -1
  47. package/dist-plugin/index.d.ts +1 -1
  48. package/dist-plugin/index.js +226 -130
  49. package/dist-plugin/migrateData/index.cjs +121 -2
  50. package/dist-plugin/migrateData/index.d.cts +1 -1
  51. package/dist-plugin/migrateData/index.d.ts +1 -1
  52. package/dist-plugin/migrateData/index.js +3 -3
  53. package/dist-plugin/{generateColorsAndType → setColors}/index.cjs +594 -499
  54. package/dist-plugin/{generateColorsAndType → setColors}/index.d.cts +34 -25
  55. package/dist-plugin/{generateColorsAndType → setColors}/index.d.ts +34 -25
  56. package/dist-plugin/{generateColorsAndType → setColors}/index.js +48 -66
  57. package/dist-plugin/{adjust → setGeometry}/index.cjs +166 -48
  58. package/dist-plugin/{adjust → setGeometry}/index.d.cts +6 -6
  59. package/dist-plugin/{adjust → setGeometry}/index.d.ts +6 -6
  60. package/dist-plugin/{adjust → setGeometry}/index.js +51 -45
  61. package/dist-plugin/{fontPairing → setType}/index.cjs +19 -4
  62. package/dist-plugin/{fontPairing → setType}/index.d.cts +2 -2
  63. package/dist-plugin/{fontPairing → setType}/index.d.ts +2 -2
  64. package/dist-plugin/{fontPairing → setType}/index.js +1 -1
  65. package/dist-plugin/{themeTypes-DSV3Zisf.d.cts → themeTypes-BxRtuN5V.d.cts} +1 -1
  66. package/dist-plugin/{themeTypes-DSV3Zisf.d.ts → themeTypes-BxRtuN5V.d.ts} +1 -1
  67. package/dist-plugin/tokensCssMigrations/index.d.cts +1 -1
  68. package/dist-plugin/tokensCssMigrations/index.d.ts +1 -1
  69. package/dist-plugin/tokensCssMigrations/index.js +1 -1
  70. package/package.json +36 -8
  71. package/src/app/site.css +19 -9
  72. package/src/editor/bootstrap.ts +2 -0
  73. package/src/editor/component-editor/CollapsibleSectionEditor.svelte +4 -4
  74. package/src/editor/component-editor/DialogEditor.svelte +4 -4
  75. package/src/editor/component-editor/MenuSelectEditor.svelte +4 -1
  76. package/src/editor/component-editor/SegmentedControlEditor.svelte +6 -1
  77. package/src/editor/component-editor/TabBarEditor.svelte +1 -1
  78. package/src/editor/component-editor/TableEditor.svelte +2 -2
  79. package/src/editor/component-editor/scaffolding/TokenLayout.svelte +6 -3
  80. package/src/editor/component-editor/scaffolding/VariantGroup.svelte +41 -20
  81. package/src/editor/core/components/adjustAliases.ts +59 -45
  82. package/src/editor/core/components/aliasKinds.ts +9 -5
  83. package/src/editor/core/preview/themePreview.ts +9 -2
  84. package/src/editor/core/sketch/sketchLayer.ts +22 -0
  85. package/src/editor/core/store/editorStore.ts +10 -1
  86. package/src/editor/core/themes/{generateColorsAndType.ts → buildColors.ts} +84 -98
  87. package/src/editor/core/themes/liveStateStream.ts +26 -0
  88. package/src/editor/core/themes/migrations/2026-09-03-drop-legacy-component-keys.ts +62 -0
  89. package/src/editor/core/themes/migrations/2026-09-07-stroke-role-renames.ts +52 -0
  90. package/src/editor/core/themes/migrations/index.ts +4 -0
  91. package/src/editor/core/themes/themeDocumentSync.ts +22 -11
  92. package/src/editor/core/themes/themeService.ts +9 -2
  93. package/src/editor/docs/content/themes-workflow.md +2 -2
  94. package/src/editor/docs/content.generated.ts +1 -1
  95. package/src/editor/overlay/LiveEditorOverlay.svelte +519 -28
  96. package/src/editor/pages/ComponentEditorPage.svelte +17 -1
  97. package/src/editor/pages/liveTokensEditorHandle.ts +23 -0
  98. package/src/editor/skill-atlas/SkillAtlas.svelte +76 -574
  99. package/src/editor/skill-atlas/TreeCanvas.svelte +263 -0
  100. package/src/editor/skill-atlas/TreeNodeCard.svelte +136 -53
  101. package/src/editor/skill-atlas/edges.ts +31 -0
  102. package/src/editor/skill-atlas/skillSources.generated.ts +29 -24
  103. package/src/editor/skill-atlas/skillTrees.ts +19 -3687
  104. package/src/editor/skill-atlas/trees/check-compliance.ts +183 -0
  105. package/src/editor/skill-atlas/trees/create-component.ts +275 -0
  106. package/src/editor/skill-atlas/trees/create-page.ts +320 -0
  107. package/src/editor/skill-atlas/trees/create-theme.ts +255 -0
  108. package/src/editor/skill-atlas/trees/fix-findings.ts +469 -0
  109. package/src/editor/skill-atlas/trees/pick-component.ts +300 -0
  110. package/src/editor/skill-atlas/trees/set-colors.ts +148 -0
  111. package/src/editor/skill-atlas/trees/set-geometry.ts +136 -0
  112. package/src/editor/skill-atlas/trees/set-type.ts +142 -0
  113. package/src/editor/skill-atlas/types.ts +3 -4
  114. package/src/editor/skill-atlas/wireLayout.ts +287 -0
  115. package/src/live-tokens/data/colors-and-type/autumn.json +1 -37
  116. package/src/live-tokens/data/colors-and-type/default.json +1 -37
  117. package/src/live-tokens/data/colors-and-type/halloween.json +1 -37
  118. package/src/live-tokens/data/colors-and-type/midnight-study.json +1 -37
  119. package/src/live-tokens/data/colors-and-type/ocean.json +1 -37
  120. package/src/live-tokens/data/colors-and-type/royal-velvet.json +1 -37
  121. package/src/live-tokens/data/colors-and-type/sketchy.json +1 -37
  122. package/src/live-tokens/data/colors-and-type/spring-meadow.json +1 -37
  123. package/src/live-tokens/data/colors-and-type/sunset.json +1 -37
  124. package/src/live-tokens/data/themes/autumn.json +16 -52
  125. package/src/live-tokens/data/themes/halloween.json +16 -52
  126. package/src/live-tokens/data/themes/midnight-study.json +16 -52
  127. package/src/live-tokens/data/themes/ocean.json +16 -52
  128. package/src/live-tokens/data/themes/royal-velvet.json +16 -52
  129. package/src/live-tokens/data/themes/sketchy.json +16 -52
  130. package/src/live-tokens/data/themes/spring-meadow.json +16 -52
  131. package/src/live-tokens/data/themes/sunset.json +16 -52
  132. package/src/live-tokens/data/tokens.generated.css +0 -36
  133. package/src/system/components/Badge.svelte +7 -0
  134. package/src/system/components/Button.svelte +7 -0
  135. package/src/system/components/Callout.svelte +10 -6
  136. package/src/system/components/Card.svelte +23 -4
  137. package/src/system/components/CodeSnippet.svelte +4 -3
  138. package/src/system/components/CollapsibleSection.svelte +23 -8
  139. package/src/system/components/CornerBadge.svelte +6 -0
  140. package/src/system/components/Dialog.svelte +13 -6
  141. package/src/system/components/IconButton.svelte +9 -0
  142. package/src/system/components/Image.svelte +8 -0
  143. package/src/system/components/ImageLightbox.svelte +6 -0
  144. package/src/system/components/InlineEditActions.svelte +7 -0
  145. package/src/system/components/Input.svelte +7 -0
  146. package/src/system/components/MenuSelect.svelte +7 -0
  147. package/src/system/components/Notification.svelte +7 -0
  148. package/src/system/components/Panel.svelte +6 -0
  149. package/src/system/components/ProgressBar.svelte +5 -0
  150. package/src/system/components/RadioButton.svelte +11 -5
  151. package/src/system/components/SectionDivider.svelte +8 -0
  152. package/src/system/components/SegmentedControl.svelte +6 -0
  153. package/src/system/components/SideNavigation.svelte +6 -0
  154. package/src/system/components/Slider.svelte +7 -4
  155. package/src/system/components/TabBar.svelte +15 -9
  156. package/src/system/components/Table.svelte +8 -3
  157. package/src/system/components/Toggle.svelte +4 -4
  158. package/src/system/components/Tooltip.svelte +6 -0
  159. package/src/testing-js/chunk-AO7EZHYV.js +776 -0
  160. package/src/testing-js/chunk-AO7EZHYV.js.map +1 -0
  161. package/src/testing-js/chunk-FAFOAWYL.js +39 -0
  162. package/src/testing-js/chunk-FAFOAWYL.js.map +1 -0
  163. package/src/testing-js/chunk-L73N4NSO.js +23 -0
  164. package/src/testing-js/chunk-L73N4NSO.js.map +1 -0
  165. package/src/testing-js/chunk-LXR3MN6N.js +3063 -0
  166. package/src/testing-js/chunk-LXR3MN6N.js.map +1 -0
  167. package/src/testing-js/chunk-ZMSX6CXR.js +53 -0
  168. package/src/testing-js/chunk-ZMSX6CXR.js.map +1 -0
  169. package/src/testing-js/component-alias.contract.js +81 -0
  170. package/src/testing-js/component-alias.contract.js.map +1 -0
  171. package/src/testing-js/component-editor.contract.js +62 -0
  172. package/src/testing-js/component-editor.contract.js.map +1 -0
  173. package/src/testing-js/component-render.contract.js +568 -0
  174. package/src/testing-js/component-render.contract.js.map +1 -0
  175. package/src/testing-js/index.d.ts +293 -0
  176. package/src/testing-js/index.js +222 -0
  177. package/src/testing-js/index.js.map +1 -0
  178. package/src/testing-js/registry.contract.js +39 -0
  179. package/src/testing-js/registry.contract.js.map +1 -0
  180. package/src/testing-js/vitest-BE6uGF31.d.ts +73 -0
  181. package/src/testing-js/vitest.d.ts +3 -0
  182. package/src/testing-js/vitest.js +13 -0
  183. package/src/testing-js/vitest.js.map +1 -0
  184. package/template/README.md +13 -0
  185. package/template/_gitignore +2 -0
  186. package/template/package.json +2 -1
  187. package/template/src/pages/Home.svelte +4 -18
  188. package/.claude/skills/live-tokens-adjust-geometry/SKILL.md +0 -93
  189. package/.claude/skills/live-tokens-build-page/SKILL.md +0 -103
  190. package/.claude/skills/live-tokens-build-page/references/layout-sources.md +0 -48
  191. package/.claude/skills/live-tokens-generate-theme/SKILL.md +0 -156
  192. package/.claude/skills/live-tokens-generate-theme/references/mood-vocabulary.md +0 -43
  193. package/.claude/skills/live-tokens-generate-theme/references/named-themes.md +0 -18
  194. package/.claude/skills/live-tokens-generate-theme/references/style-vocabulary.md +0 -35
  195. package/.claude/skills/live-tokens-pair-fonts/SKILL.md +0 -90
  196. package/bin/generate-theme.mjs +0 -260
@@ -1,3 +1,11 @@
1
+ <!--
2
+ Image.svelte. A framed picture in the page flow.
3
+ Use for: any picture the page shows.
4
+ Not for: a picture whose detail the reader must open (ImageLightbox);
5
+ decoration that page CSS paints.
6
+ Variant: `default` keeps the picture's own proportions, `banner` gives it a
7
+ tall frame, `medium` and `compact` shorter ones.
8
+ -->
1
9
  <script lang="ts">
2
10
  interface Props {
3
11
  src: string;
@@ -1,3 +1,9 @@
1
+ <!--
2
+ ImageLightbox.svelte. A picture that opens to a full view on click.
3
+ Use for: a screenshot, artwork, or chart whose detail is the point, and for
4
+ a gallery of them.
5
+ Not for: decoration or a picture the reader takes in at a glance (Image).
6
+ -->
1
7
  <script lang="ts">
2
8
  import { onMount, tick } from 'svelte';
3
9
  import { portal } from '../internal/portal';
@@ -1,3 +1,10 @@
1
+ <!--
2
+ InlineEditActions.svelte. The confirm-and-cancel pair that ends an inline
3
+ edit.
4
+ Use for: the two actions that close an in-place rename or value edit.
5
+ Not for: the actions of a form or a dialog (Button); a lone action on a row
6
+ (IconButton).
7
+ -->
1
8
  <script lang="ts">
2
9
 
3
10
 
@@ -1,3 +1,10 @@
1
+ <!--
2
+ Input.svelte. A text field with its label, hint, and error line.
3
+ Use for: an answer the page cannot list, such as a name, an amount, or a
4
+ search string.
5
+ Not for: a choice from a set the page can write down (MenuSelect); an on/off
6
+ setting (Toggle).
7
+ -->
1
8
  <script lang="ts">
2
9
  import { createEventDispatcher } from 'svelte';
3
10
 
@@ -1,3 +1,10 @@
1
+ <!--
2
+ MenuSelect.svelte. A list of options with one checked.
3
+ Use for: single selection from a set too long to sit in a row, dropped from
4
+ a Button.
5
+ Not for: two to four inline alternatives (SegmentedControl); a form-style
6
+ list read in full (RadioButton).
7
+ -->
1
8
  <script lang="ts">
2
9
  import { createEventDispatcher } from 'svelte';
3
10
 
@@ -1,3 +1,10 @@
1
+ <!--
2
+ Notification.svelte. Feedback about something that just happened.
3
+ Use for: the outcome of an action or a system event, which the reader can
4
+ dismiss.
5
+ Not for: standing content in a section (Callout); a decision that blocks the
6
+ page (Dialog).
7
+ -->
1
8
  <script lang="ts">
2
9
  import { createEventDispatcher } from 'svelte';
3
10
  import Button from './Button.svelte';
@@ -1,3 +1,9 @@
1
+ <!--
2
+ Panel.svelte. A frame around one section of the page's content.
3
+ Use for: a stage, a list, a form, or a block of copy that reads as one
4
+ region. `minHeight` holds the height while the content changes.
5
+ Not for: one item in a set (Card); a modal surface (Dialog).
6
+ -->
1
7
  <script lang="ts">
2
8
  import type { Snippet } from 'svelte';
3
9
 
@@ -1,3 +1,8 @@
1
+ <!--
2
+ ProgressBar.svelte. A read-out of progress against a labelled track.
3
+ Use for: reporting how far a task has run.
4
+ Not for: a number the reader sets (Slider); a standing status label (Badge).
5
+ -->
1
6
  <script lang="ts">
2
7
  interface Props {
3
8
  value?: number;
@@ -1,3 +1,10 @@
1
+ <!--
2
+ RadioButton.svelte. A form row that selects one option.
3
+ Use for: a choice the reader reviews as text before committing to a larger
4
+ form.
5
+ Not for: an inline switch between views (SegmentedControl); a setting that
6
+ takes effect at once (Toggle).
7
+ -->
1
8
  <script lang="ts">
2
9
  import { createEventDispatcher } from 'svelte';
3
10
 
@@ -33,7 +40,7 @@
33
40
  style={color ? `--radiobutton-color: ${color};` : ''}
34
41
  onclick={fireClick}
35
42
  >
36
- <span class="radio-dot"></span>
43
+ <span class="radio-dot"><span class="radio-dot-fill"></span></span>
37
44
  <span class="radio-label">{label}</span>
38
45
  </button>
39
46
 
@@ -103,7 +110,7 @@
103
110
  .radio-dot {
104
111
  border: var(--radiobutton-hover-dot-border-width) solid var(--radiobutton-color, var(--radiobutton-hover-dot-border-color));
105
112
 
106
- &::after {
113
+ .radio-dot-fill {
107
114
  width: var(--radiobutton-hover-dot-size);
108
115
  height: var(--radiobutton-hover-dot-size);
109
116
  background: var(--radiobutton-color, var(--radiobutton-hover-dot-fill));
@@ -130,7 +137,7 @@
130
137
  .radio-dot {
131
138
  border: var(--radiobutton-active-dot-border-width) solid var(--radiobutton-color, var(--radiobutton-active-dot-border-color));
132
139
 
133
- &::after {
140
+ .radio-dot-fill {
134
141
  width: var(--radiobutton-active-dot-size);
135
142
  height: var(--radiobutton-active-dot-size);
136
143
  background: var(--radiobutton-color, var(--radiobutton-active-dot-fill));
@@ -149,8 +156,7 @@
149
156
  flex-shrink: 0;
150
157
  transition: all var(--duration-200);
151
158
 
152
- &::after {
153
- content: '';
159
+ .radio-dot-fill {
154
160
  position: absolute;
155
161
  top: 50%;
156
162
  left: 50%;
@@ -1,3 +1,11 @@
1
+ <!--
2
+ SectionDivider.svelte. A titled break between the sections of a page.
3
+ Use for: naming the band that follows it.
4
+ Not for: moving between pages (SideNavigation); a title inside a container
5
+ (Card).
6
+ Level: `md` titles a page and `sm` titles a section; `eyebrow` is an opt-in
7
+ label above the title.
8
+ -->
1
9
  <script lang="ts">
2
10
  /** Size variant. Each variant owns everything that defines its style:
3
11
  * typography, geometry, colors AND the intrinsic display properties
@@ -1,3 +1,9 @@
1
+ <!--
2
+ SegmentedControl.svelte. An inline switch between named alternatives.
3
+ Use for: two to four short labels that pick one view of the same data.
4
+ Not for: swapping the page's content area (TabBar); labels long enough to
5
+ wrap (RadioButton).
6
+ -->
1
7
  <script lang="ts">
2
8
  import { createEventDispatcher } from 'svelte';
3
9
 
@@ -1,3 +1,9 @@
1
+ <!--
2
+ SideNavigation.svelte. The rail that moves between the pages of a site.
3
+ Use for: navigation that follows the current path.
4
+ Not for: switching panels inside one page (TabBar); a menu of actions
5
+ (MenuSelect).
6
+ -->
1
7
  <script lang="ts">
2
8
  import { createEventDispatcher } from 'svelte';
3
9
  import CollapsibleSection from './CollapsibleSection.svelte';
@@ -1,8 +1,9 @@
1
1
  <!--
2
- Slider.svelte — a number chosen by position on a track. `single` moves one
3
- thumb to a value; `range` moves two thumbs to a low and a high bound. Both
4
- variants share the track, fill, and thumb tokens, linked in the editor so an
5
- edit to one moves the other unless deliberately unlinked.
2
+ Slider.svelte. A number the reader picks by position on a track.
3
+ Use for: a volume, a price band, or a percentage, where the position carries
4
+ the meaning.
5
+ Not for: an exact number the reader would rather type (Input); an on/off
6
+ setting (Toggle).
6
7
  -->
7
8
  <script module lang="ts">
8
9
  export const sliderVariants = ['single', 'range'] as const;
@@ -118,6 +119,8 @@
118
119
 
119
120
  <style>
120
121
  :global(:root) {
122
+ /* SliderEditor declares the two variant sets linkable, so an editor change
123
+ to one moves the other until the designer unlinks it. */
121
124
  /* Single: one thumb. */
122
125
  --slider-single-track-surface: var(--surface-neutral-lowest);
123
126
  --slider-single-track-border: var(--border-neutral-subtle);
@@ -1,3 +1,9 @@
1
+ <!--
2
+ TabBar.svelte. Tabs that swap the content below them.
3
+ Use for: two to seven panels the reader moves between inside one page.
4
+ Not for: one switch among others in a row (SegmentedControl); navigation
5
+ that changes the URL (SideNavigation).
6
+ -->
1
7
  <script lang="ts">
2
8
  import { createEventDispatcher } from 'svelte';
3
9
 
@@ -100,7 +106,7 @@
100
106
  --tabbar-default-tab-border-width: var(--border-width-0);
101
107
  --tabbar-default-tab-top-radius: var(--radius-none);
102
108
  --tabbar-default-tab-bottom-radius: var(--radius-none);
103
- --tabbar-default-indicator-border-width: var(--border-width-2);
109
+ --tabbar-default-indicator-width: var(--border-width-2);
104
110
 
105
111
  /* Hover tab */
106
112
  --tabbar-hover-text: var(--text-secondary);
@@ -116,7 +122,7 @@
116
122
  --tabbar-hover-tab-border-width: var(--border-width-0);
117
123
  --tabbar-hover-tab-top-radius: var(--radius-none);
118
124
  --tabbar-hover-tab-bottom-radius: var(--radius-none);
119
- --tabbar-hover-indicator-border-width: var(--border-width-2);
125
+ --tabbar-hover-indicator-width: var(--border-width-2);
120
126
 
121
127
  /* Active tab */
122
128
  --tabbar-active-text: var(--text-primary);
@@ -132,7 +138,7 @@
132
138
  --tabbar-active-tab-border-width: var(--border-width-0);
133
139
  --tabbar-active-tab-top-radius: var(--radius-none);
134
140
  --tabbar-active-tab-bottom-radius: var(--radius-none);
135
- --tabbar-active-indicator-border-width: var(--border-width-2);
141
+ --tabbar-active-indicator-width: var(--border-width-2);
136
142
 
137
143
  /* Disabled tab */
138
144
  --tabbar-disabled-text: var(--text-disabled);
@@ -148,7 +154,7 @@
148
154
  --tabbar-disabled-tab-border-width: var(--border-width-0);
149
155
  --tabbar-disabled-tab-top-radius: var(--radius-none);
150
156
  --tabbar-disabled-tab-bottom-radius: var(--radius-none);
151
- --tabbar-disabled-indicator-border-width: var(--border-width-2);
157
+ --tabbar-disabled-indicator-width: var(--border-width-2);
152
158
  }
153
159
 
154
160
  .tab-bar {
@@ -177,7 +183,7 @@
177
183
  --_icon-size: var(--tabbar-default-icon-size);
178
184
  --_surface: var(--tabbar-default-surface);
179
185
  --_indicator-color: var(--tabbar-default-border);
180
- --_indicator-width: var(--tabbar-default-indicator-border-width);
186
+ --_indicator-width: var(--tabbar-default-indicator-width);
181
187
  --_padding: var(--tabbar-default-padding);
182
188
  --_border-color: var(--tabbar-default-tab-border-color);
183
189
  --_border-width: var(--tabbar-default-tab-border-width);
@@ -191,7 +197,7 @@
191
197
  background: var(--_surface);
192
198
  border: var(--_border-width) solid var(--_border-color);
193
199
  /* Indicator accent owns the bottom edge. Both width and color rebind
194
- per state — `--tabbar-{state}-indicator-border-width` and
200
+ per state — `--tabbar-{state}-indicator-width` and
195
201
  `--tabbar-{state}-border` (the indicator color slot). */
196
202
  border-bottom: var(--_indicator-width) solid var(--_indicator-color);
197
203
  border-radius: var(--_top-radius) var(--_top-radius) var(--_bottom-radius) var(--_bottom-radius);
@@ -223,7 +229,7 @@
223
229
  --_icon-size: var(--tabbar-hover-icon-size);
224
230
  --_surface: var(--tabbar-hover-surface);
225
231
  --_indicator-color: var(--tabbar-hover-border);
226
- --_indicator-width: var(--tabbar-hover-indicator-border-width);
232
+ --_indicator-width: var(--tabbar-hover-indicator-width);
227
233
  --_padding: var(--tabbar-hover-padding);
228
234
  --_border-color: var(--tabbar-hover-tab-border-color);
229
235
  --_border-width: var(--tabbar-hover-tab-border-width);
@@ -240,7 +246,7 @@
240
246
  --_icon-size: var(--tabbar-active-icon-size);
241
247
  --_surface: var(--tabbar-active-surface);
242
248
  --_indicator-color: var(--tabbar-active-border);
243
- --_indicator-width: var(--tabbar-active-indicator-border-width);
249
+ --_indicator-width: var(--tabbar-active-indicator-width);
244
250
  --_padding: var(--tabbar-active-padding);
245
251
  --_border-color: var(--tabbar-active-tab-border-color);
246
252
  --_border-width: var(--tabbar-active-tab-border-width);
@@ -257,7 +263,7 @@
257
263
  --_icon-size: var(--tabbar-disabled-icon-size);
258
264
  --_surface: var(--tabbar-disabled-surface);
259
265
  --_indicator-color: var(--tabbar-disabled-border);
260
- --_indicator-width: var(--tabbar-disabled-indicator-border-width);
266
+ --_indicator-width: var(--tabbar-disabled-indicator-width);
261
267
  --_padding: var(--tabbar-disabled-padding);
262
268
  --_border-color: var(--tabbar-disabled-tab-border-color);
263
269
  --_border-width: var(--tabbar-disabled-tab-border-width);
@@ -1,3 +1,8 @@
1
+ <!--
2
+ Table.svelte. A themed frame around the rows and cells the page writes.
3
+ Use for: records the reader scans and compares.
4
+ Not for: a set of things the reader acts on (Card).
5
+ -->
1
6
  <script lang="ts">
2
7
  interface Props {
3
8
  children?: import('svelte').Snippet;
@@ -29,8 +34,8 @@
29
34
  --table-default-header-font-weight: var(--font-weight-semibold);
30
35
  --table-default-header-line-height: var(--line-height-none);
31
36
  --table-default-header-padding: var(--space-12);
32
- --table-default-header-border: var(--border-neutral);
33
- --table-default-header-border-width: var(--border-width-1);
37
+ --table-default-header-divider: var(--border-neutral);
38
+ --table-default-header-divider-width: var(--border-width-1);
34
39
 
35
40
  /* Cell */
36
41
  --table-default-cell-text: var(--text-secondary);
@@ -77,7 +82,7 @@
77
82
  line-height: var(--table-default-header-line-height);
78
83
  @include themed-padding(--table-default-header-padding);
79
84
  text-align: left;
80
- border-bottom: var(--table-default-header-border-width) solid var(--table-default-header-border);
85
+ border-bottom: var(--table-default-header-divider-width) solid var(--table-default-header-divider);
81
86
  border-right: var(--table-default-column-divider-width) solid var(--table-default-column-divider);
82
87
  white-space: nowrap;
83
88
  }
@@ -1,8 +1,8 @@
1
1
  <!--
2
- Toggle.svelte — Cloudscape-style on/off switch. The default state is "off",
3
- whose tokens carry the baseline appearance plus all geometry and label
4
- typography. "On" is a state that recolors track + thumb when the toggle is
5
- checked; hover and disabled layer over the active component state.
2
+ Toggle.svelte. An on/off switch that names the setting it controls.
3
+ Use for: a setting that takes effect the moment it flips.
4
+ Not for: a choice between two named alternatives (SegmentedControl); a
5
+ yes/no answer inside a form (RadioButton).
6
6
  -->
7
7
  <script lang="ts">
8
8
  interface Props {
@@ -1,3 +1,9 @@
1
+ <!--
2
+ Tooltip.svelte. A hint that appears on an element on hover or focus.
3
+ Use for: a definition or a shortcut the reader can do without.
4
+ Not for: content the reader must not miss (Callout); feedback after an
5
+ action (Notification).
6
+ -->
1
7
  <script lang="ts">
2
8
  interface Props {
3
9
  text?: string;