@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.
- package/.claude/skills/live-tokens-check-compliance/SKILL.md +33 -38
- package/.claude/skills/live-tokens-create-component/SKILL copy.md +196 -0
- package/.claude/skills/live-tokens-create-component/SKILL.md +198 -146
- package/.claude/skills/live-tokens-create-component/references/contract-tests.md +95 -52
- package/.claude/skills/live-tokens-create-component/references/intrinsics.md +2 -2
- package/.claude/skills/live-tokens-create-component/references/linked-siblings.md +2 -2
- package/.claude/skills/live-tokens-create-component/references/sketch-mode.md +12 -12
- package/.claude/skills/live-tokens-create-component/references/token-naming.md +2 -1
- package/.claude/skills/live-tokens-create-page/SKILL.md +187 -0
- package/.claude/skills/live-tokens-create-page/references/interaction-sources.md +66 -0
- package/.claude/skills/live-tokens-create-page/references/layout-sources.md +87 -0
- package/.claude/skills/live-tokens-create-theme/SKILL.md +84 -0
- package/.claude/skills/live-tokens-create-theme/references/design-directions.md +94 -0
- package/.claude/skills/live-tokens-fix-findings/SKILL.md +69 -60
- package/.claude/skills/live-tokens-pick-component/SKILL.md +64 -79
- package/.claude/skills/live-tokens-set-colors/SKILL.md +149 -0
- package/.claude/skills/live-tokens-set-colors/references/color-anchors.md +80 -0
- package/.claude/skills/live-tokens-set-geometry/SKILL.md +121 -0
- package/.claude/skills/live-tokens-set-geometry/references/geometry-anchors.md +63 -0
- package/.claude/skills/live-tokens-set-type/SKILL.md +93 -0
- package/.claude/skills/live-tokens-set-type/references/type-anchors.md +60 -0
- package/CHANGELOG.md +194 -0
- package/README.md +27 -18
- package/bin/check-component.mjs +91 -19
- package/bin/check-page.mjs +105 -24
- package/bin/cli.mjs +154 -97
- package/bin/contractRunner.mjs +945 -0
- package/bin/create.mjs +1 -1
- package/bin/lib/catalogue.mjs +37 -30
- package/bin/lib/findings.mjs +46 -15
- package/bin/lib/liveState.mjs +110 -0
- package/bin/lib/report.mjs +3 -3
- package/bin/lib/tokenVocabulary.mjs +4 -4
- package/bin/migrate-routes.mjs +5 -5
- package/bin/migrate.mjs +4 -4
- package/bin/save-theme.mjs +176 -0
- package/bin/set-colors.mjs +189 -0
- package/bin/{adjust.mjs → set-geometry.mjs} +25 -57
- package/bin/{set-fonts.mjs → set-type.mjs} +26 -62
- package/dist-plugin/{chunk-W6Y4BWFB.js → chunk-6WGFOJXO.js} +22 -0
- package/dist-plugin/{chunk-RIXO2E55.js → chunk-PDNL4NC5.js} +9 -2
- package/dist-plugin/{chunk-YLCOIGQC.js → chunk-SWXRVZKT.js} +98 -2
- package/dist-plugin/{dataPaths-BhWzd5cL.d.ts → dataPaths-BpIK_Obx.d.cts} +1 -0
- package/dist-plugin/{dataPaths-BhWzd5cL.d.cts → dataPaths-BpIK_Obx.d.ts} +1 -0
- package/dist-plugin/index.cjs +366 -148
- package/dist-plugin/index.d.cts +1 -1
- package/dist-plugin/index.d.ts +1 -1
- package/dist-plugin/index.js +226 -130
- package/dist-plugin/migrateData/index.cjs +121 -2
- package/dist-plugin/migrateData/index.d.cts +1 -1
- package/dist-plugin/migrateData/index.d.ts +1 -1
- package/dist-plugin/migrateData/index.js +3 -3
- package/dist-plugin/{generateColorsAndType → setColors}/index.cjs +594 -499
- package/dist-plugin/{generateColorsAndType → setColors}/index.d.cts +34 -25
- package/dist-plugin/{generateColorsAndType → setColors}/index.d.ts +34 -25
- package/dist-plugin/{generateColorsAndType → setColors}/index.js +48 -66
- package/dist-plugin/{adjust → setGeometry}/index.cjs +166 -48
- package/dist-plugin/{adjust → setGeometry}/index.d.cts +6 -6
- package/dist-plugin/{adjust → setGeometry}/index.d.ts +6 -6
- package/dist-plugin/{adjust → setGeometry}/index.js +51 -45
- package/dist-plugin/{fontPairing → setType}/index.cjs +19 -4
- package/dist-plugin/{fontPairing → setType}/index.d.cts +2 -2
- package/dist-plugin/{fontPairing → setType}/index.d.ts +2 -2
- package/dist-plugin/{fontPairing → setType}/index.js +1 -1
- package/dist-plugin/{themeTypes-DSV3Zisf.d.cts → themeTypes-BxRtuN5V.d.cts} +1 -1
- package/dist-plugin/{themeTypes-DSV3Zisf.d.ts → themeTypes-BxRtuN5V.d.ts} +1 -1
- package/dist-plugin/tokensCssMigrations/index.d.cts +1 -1
- package/dist-plugin/tokensCssMigrations/index.d.ts +1 -1
- package/dist-plugin/tokensCssMigrations/index.js +1 -1
- package/package.json +36 -8
- package/src/app/site.css +19 -9
- package/src/editor/bootstrap.ts +2 -0
- package/src/editor/component-editor/CollapsibleSectionEditor.svelte +4 -4
- package/src/editor/component-editor/DialogEditor.svelte +4 -4
- package/src/editor/component-editor/MenuSelectEditor.svelte +4 -1
- package/src/editor/component-editor/SegmentedControlEditor.svelte +6 -1
- package/src/editor/component-editor/TabBarEditor.svelte +1 -1
- package/src/editor/component-editor/TableEditor.svelte +2 -2
- package/src/editor/component-editor/scaffolding/TokenLayout.svelte +6 -3
- package/src/editor/component-editor/scaffolding/VariantGroup.svelte +41 -20
- package/src/editor/core/components/adjustAliases.ts +59 -45
- package/src/editor/core/components/aliasKinds.ts +9 -5
- package/src/editor/core/preview/themePreview.ts +9 -2
- package/src/editor/core/sketch/sketchLayer.ts +22 -0
- package/src/editor/core/store/editorStore.ts +10 -1
- package/src/editor/core/themes/{generateColorsAndType.ts → buildColors.ts} +84 -98
- package/src/editor/core/themes/liveStateStream.ts +26 -0
- package/src/editor/core/themes/migrations/2026-09-03-drop-legacy-component-keys.ts +62 -0
- package/src/editor/core/themes/migrations/2026-09-07-stroke-role-renames.ts +52 -0
- package/src/editor/core/themes/migrations/index.ts +4 -0
- package/src/editor/core/themes/themeDocumentSync.ts +22 -11
- package/src/editor/core/themes/themeService.ts +9 -2
- package/src/editor/docs/content/themes-workflow.md +2 -2
- package/src/editor/docs/content.generated.ts +1 -1
- package/src/editor/overlay/LiveEditorOverlay.svelte +519 -28
- package/src/editor/pages/ComponentEditorPage.svelte +17 -1
- package/src/editor/pages/liveTokensEditorHandle.ts +23 -0
- package/src/editor/skill-atlas/SkillAtlas.svelte +76 -574
- package/src/editor/skill-atlas/TreeCanvas.svelte +263 -0
- package/src/editor/skill-atlas/TreeNodeCard.svelte +136 -53
- package/src/editor/skill-atlas/edges.ts +31 -0
- package/src/editor/skill-atlas/skillSources.generated.ts +29 -24
- package/src/editor/skill-atlas/skillTrees.ts +19 -3687
- package/src/editor/skill-atlas/trees/check-compliance.ts +183 -0
- package/src/editor/skill-atlas/trees/create-component.ts +275 -0
- package/src/editor/skill-atlas/trees/create-page.ts +320 -0
- package/src/editor/skill-atlas/trees/create-theme.ts +255 -0
- package/src/editor/skill-atlas/trees/fix-findings.ts +469 -0
- package/src/editor/skill-atlas/trees/pick-component.ts +300 -0
- package/src/editor/skill-atlas/trees/set-colors.ts +148 -0
- package/src/editor/skill-atlas/trees/set-geometry.ts +136 -0
- package/src/editor/skill-atlas/trees/set-type.ts +142 -0
- package/src/editor/skill-atlas/types.ts +3 -4
- package/src/editor/skill-atlas/wireLayout.ts +287 -0
- package/src/live-tokens/data/colors-and-type/autumn.json +1 -37
- package/src/live-tokens/data/colors-and-type/default.json +1 -37
- package/src/live-tokens/data/colors-and-type/halloween.json +1 -37
- package/src/live-tokens/data/colors-and-type/midnight-study.json +1 -37
- package/src/live-tokens/data/colors-and-type/ocean.json +1 -37
- package/src/live-tokens/data/colors-and-type/royal-velvet.json +1 -37
- package/src/live-tokens/data/colors-and-type/sketchy.json +1 -37
- package/src/live-tokens/data/colors-and-type/spring-meadow.json +1 -37
- package/src/live-tokens/data/colors-and-type/sunset.json +1 -37
- package/src/live-tokens/data/themes/autumn.json +16 -52
- package/src/live-tokens/data/themes/halloween.json +16 -52
- package/src/live-tokens/data/themes/midnight-study.json +16 -52
- package/src/live-tokens/data/themes/ocean.json +16 -52
- package/src/live-tokens/data/themes/royal-velvet.json +16 -52
- package/src/live-tokens/data/themes/sketchy.json +16 -52
- package/src/live-tokens/data/themes/spring-meadow.json +16 -52
- package/src/live-tokens/data/themes/sunset.json +16 -52
- package/src/live-tokens/data/tokens.generated.css +0 -36
- package/src/system/components/Badge.svelte +7 -0
- package/src/system/components/Button.svelte +7 -0
- package/src/system/components/Callout.svelte +10 -6
- package/src/system/components/Card.svelte +23 -4
- package/src/system/components/CodeSnippet.svelte +4 -3
- package/src/system/components/CollapsibleSection.svelte +23 -8
- package/src/system/components/CornerBadge.svelte +6 -0
- package/src/system/components/Dialog.svelte +13 -6
- package/src/system/components/IconButton.svelte +9 -0
- package/src/system/components/Image.svelte +8 -0
- package/src/system/components/ImageLightbox.svelte +6 -0
- package/src/system/components/InlineEditActions.svelte +7 -0
- package/src/system/components/Input.svelte +7 -0
- package/src/system/components/MenuSelect.svelte +7 -0
- package/src/system/components/Notification.svelte +7 -0
- package/src/system/components/Panel.svelte +6 -0
- package/src/system/components/ProgressBar.svelte +5 -0
- package/src/system/components/RadioButton.svelte +11 -5
- package/src/system/components/SectionDivider.svelte +8 -0
- package/src/system/components/SegmentedControl.svelte +6 -0
- package/src/system/components/SideNavigation.svelte +6 -0
- package/src/system/components/Slider.svelte +7 -4
- package/src/system/components/TabBar.svelte +15 -9
- package/src/system/components/Table.svelte +8 -3
- package/src/system/components/Toggle.svelte +4 -4
- package/src/system/components/Tooltip.svelte +6 -0
- package/src/testing-js/chunk-AO7EZHYV.js +776 -0
- package/src/testing-js/chunk-AO7EZHYV.js.map +1 -0
- package/src/testing-js/chunk-FAFOAWYL.js +39 -0
- package/src/testing-js/chunk-FAFOAWYL.js.map +1 -0
- package/src/testing-js/chunk-L73N4NSO.js +23 -0
- package/src/testing-js/chunk-L73N4NSO.js.map +1 -0
- package/src/testing-js/chunk-LXR3MN6N.js +3063 -0
- package/src/testing-js/chunk-LXR3MN6N.js.map +1 -0
- package/src/testing-js/chunk-ZMSX6CXR.js +53 -0
- package/src/testing-js/chunk-ZMSX6CXR.js.map +1 -0
- package/src/testing-js/component-alias.contract.js +81 -0
- package/src/testing-js/component-alias.contract.js.map +1 -0
- package/src/testing-js/component-editor.contract.js +62 -0
- package/src/testing-js/component-editor.contract.js.map +1 -0
- package/src/testing-js/component-render.contract.js +568 -0
- package/src/testing-js/component-render.contract.js.map +1 -0
- package/src/testing-js/index.d.ts +293 -0
- package/src/testing-js/index.js +222 -0
- package/src/testing-js/index.js.map +1 -0
- package/src/testing-js/registry.contract.js +39 -0
- package/src/testing-js/registry.contract.js.map +1 -0
- package/src/testing-js/vitest-BE6uGF31.d.ts +73 -0
- package/src/testing-js/vitest.d.ts +3 -0
- package/src/testing-js/vitest.js +13 -0
- package/src/testing-js/vitest.js.map +1 -0
- package/template/README.md +13 -0
- package/template/_gitignore +2 -0
- package/template/package.json +2 -1
- package/template/src/pages/Home.svelte +4 -18
- package/.claude/skills/live-tokens-adjust-geometry/SKILL.md +0 -93
- package/.claude/skills/live-tokens-build-page/SKILL.md +0 -103
- package/.claude/skills/live-tokens-build-page/references/layout-sources.md +0 -48
- package/.claude/skills/live-tokens-generate-theme/SKILL.md +0 -156
- package/.claude/skills/live-tokens-generate-theme/references/mood-vocabulary.md +0 -43
- package/.claude/skills/live-tokens-generate-theme/references/named-themes.md +0 -18
- package/.claude/skills/live-tokens-generate-theme/references/style-vocabulary.md +0 -35
- package/.claude/skills/live-tokens-pair-fonts/SKILL.md +0 -90
- 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,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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
33
|
-
--table-default-header-
|
|
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-
|
|
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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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;
|