@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
|
@@ -2210,42 +2210,6 @@
|
|
|
2210
2210
|
"--gradient-2": "linear-gradient(135deg, var(--color-special-400) 0%, var(--color-special-700) 100%)",
|
|
2211
2211
|
"--gradient-3": "linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%)",
|
|
2212
2212
|
"--gradient-4": "linear-gradient(180deg, var(--color-canvas-200) 0%, var(--color-canvas-500) 100%)",
|
|
2213
|
-
"--badge-trait-surface": "var(--surface-brand)",
|
|
2214
|
-
"--badge-trait-text": "var(--text-brand)",
|
|
2215
|
-
"--badge-trait-text-font-family": "var(--font-sans)",
|
|
2216
|
-
"--badge-trait-text-font-size": "var(--font-size-sm)",
|
|
2217
|
-
"--badge-trait-text-font-weight": "var(--font-weight-light)",
|
|
2218
|
-
"--badge-trait-text-line-height": "var(--line-height-none)",
|
|
2219
|
-
"--badge-trait-border": "var(--border-brand-medium)",
|
|
2220
|
-
"--badge-trait-border-width": "var(--border-width-1)",
|
|
2221
|
-
"--badge-trait-shadow": "transparent",
|
|
2222
|
-
"--sectiondivider-title": "var(--text-primary)",
|
|
2223
|
-
"--sectiondivider-title-font-family": "var(--font-display)",
|
|
2224
|
-
"--sectiondivider-title-font-size": "var(--font-size-5xl)",
|
|
2225
|
-
"--sectiondivider-title-font-weight": "var(--font-weight-normal)",
|
|
2226
|
-
"--sectiondivider-title-line-height": "var(--line-height-none)",
|
|
2227
|
-
"--sectiondivider-title-border-width": "var(--border-width-4)",
|
|
2228
|
-
"--sectiondivider-title-stroke-color": "var(--surface-canvas-lowest)",
|
|
2229
|
-
"--sectiondivider-description": "var(--text-secondary)",
|
|
2230
|
-
"--sectiondivider-description-font-family": "var(--font-sans)",
|
|
2231
|
-
"--sectiondivider-description-font-size": "var(--font-size-md)",
|
|
2232
|
-
"--sectiondivider-description-font-weight": "var(--font-weight-normal)",
|
|
2233
|
-
"--sectiondivider-description-line-height": "var(--line-height-normal)",
|
|
2234
|
-
"--dialog-primary-default-surface": "var(--surface-neutral-high)",
|
|
2235
|
-
"--dialog-primary-default-text": "var(--text-primary)",
|
|
2236
|
-
"--dialog-primary-default-border": "var(--border-neutral-medium)",
|
|
2237
|
-
"--dialog-primary-default-border-width": "var(--border-width-1)",
|
|
2238
|
-
"--dialog-primary-hover-surface": "var(--surface-neutral-higher)",
|
|
2239
|
-
"--dialog-primary-hover-text": "var(--text-primary)",
|
|
2240
|
-
"--dialog-primary-hover-border": "var(--border-neutral-strong)",
|
|
2241
|
-
"--dialog-primary-hover-border-width": "var(--border-width-1)",
|
|
2242
|
-
"--dialog-secondary-default-text": "var(--text-primary)",
|
|
2243
|
-
"--dialog-secondary-default-border": "var(--border-neutral-medium)",
|
|
2244
|
-
"--dialog-secondary-default-border-width": "var(--border-width-1)",
|
|
2245
|
-
"--dialog-secondary-hover-surface": "var(--surface-neutral-lower)",
|
|
2246
|
-
"--dialog-secondary-hover-text": "var(--text-primary)",
|
|
2247
|
-
"--dialog-secondary-hover-border": "var(--border-neutral-strong)",
|
|
2248
|
-
"--dialog-secondary-hover-border-width": "var(--border-width-1)",
|
|
2249
2213
|
"--columns-count": "12",
|
|
2250
2214
|
"--columns-max-width": "1440px",
|
|
2251
2215
|
"--columns-gutter": "32px",
|
|
@@ -2432,7 +2396,7 @@
|
|
|
2432
2396
|
"family": null
|
|
2433
2397
|
}
|
|
2434
2398
|
],
|
|
2435
|
-
"schemaVersion":
|
|
2399
|
+
"schemaVersion": 8,
|
|
2436
2400
|
"gradients": [
|
|
2437
2401
|
{
|
|
2438
2402
|
"variable": "--gradient-1",
|
|
@@ -2917,8 +2881,8 @@
|
|
|
2917
2881
|
"--collapsiblesection-chromeless-hover-icon-size": "--icon-size-xs",
|
|
2918
2882
|
"--collapsiblesection-chromeless-expanded-padding": "--space-8",
|
|
2919
2883
|
"--collapsiblesection-divider-default-surface": "--color-transparent",
|
|
2920
|
-
"--collapsiblesection-divider-default-
|
|
2921
|
-
"--collapsiblesection-divider-default-
|
|
2884
|
+
"--collapsiblesection-divider-default-hairline-color": "--border-brand",
|
|
2885
|
+
"--collapsiblesection-divider-default-hairline-thickness": "--border-width-1",
|
|
2922
2886
|
"--collapsiblesection-divider-default-padding": "--space-8",
|
|
2923
2887
|
"--collapsiblesection-divider-default-label": "--text-primary",
|
|
2924
2888
|
"--collapsiblesection-divider-default-label-font-family": "--font-sans",
|
|
@@ -2928,8 +2892,8 @@
|
|
|
2928
2892
|
"--collapsiblesection-divider-default-icon": "--text-primary",
|
|
2929
2893
|
"--collapsiblesection-divider-default-icon-size": "--icon-size-xs",
|
|
2930
2894
|
"--collapsiblesection-divider-hover-surface": "--color-transparent",
|
|
2931
|
-
"--collapsiblesection-divider-hover-
|
|
2932
|
-
"--collapsiblesection-divider-hover-
|
|
2895
|
+
"--collapsiblesection-divider-hover-hairline-color": "--border-neutral",
|
|
2896
|
+
"--collapsiblesection-divider-hover-hairline-thickness": "--border-width-1",
|
|
2933
2897
|
"--collapsiblesection-divider-hover-padding": "--space-8",
|
|
2934
2898
|
"--collapsiblesection-divider-hover-label": "--text-primary",
|
|
2935
2899
|
"--collapsiblesection-divider-hover-label-font-family": "--font-sans",
|
|
@@ -3026,8 +2990,8 @@
|
|
|
3026
2990
|
"--dialog-shadow": "--shadow-2xl",
|
|
3027
2991
|
"--dialog-blur": "--blur-none",
|
|
3028
2992
|
"--dialog-header-surface": "--surface-neutral-lower",
|
|
3029
|
-
"--dialog-header-
|
|
3030
|
-
"--dialog-header-
|
|
2993
|
+
"--dialog-header-divider": "--border-neutral-subtle",
|
|
2994
|
+
"--dialog-header-divider-width": "--border-width-1",
|
|
3031
2995
|
"--dialog-header-padding": "--space-12",
|
|
3032
2996
|
"--dialog-title": "--text-primary",
|
|
3033
2997
|
"--dialog-title-font-family": "--font-sans",
|
|
@@ -3042,8 +3006,8 @@
|
|
|
3042
3006
|
"--dialog-body-font-size": "--font-size-md",
|
|
3043
3007
|
"--dialog-body-font-weight": "--font-weight-normal",
|
|
3044
3008
|
"--dialog-body-line-height": "--line-height-normal",
|
|
3045
|
-
"--dialog-footer-
|
|
3046
|
-
"--dialog-footer-
|
|
3009
|
+
"--dialog-footer-divider": "--border-neutral-subtle",
|
|
3010
|
+
"--dialog-footer-divider-width": "--border-width-1",
|
|
3047
3011
|
"--dialog-footer-padding": "--space-24"
|
|
3048
3012
|
}
|
|
3049
3013
|
},
|
|
@@ -3830,7 +3794,7 @@
|
|
|
3830
3794
|
"--tabbar-default-tab-border-width": "--border-width-0",
|
|
3831
3795
|
"--tabbar-default-tab-top-radius": "--radius-sm",
|
|
3832
3796
|
"--tabbar-default-tab-bottom-radius": "--radius-sm",
|
|
3833
|
-
"--tabbar-default-indicator-
|
|
3797
|
+
"--tabbar-default-indicator-width": "--border-width-2",
|
|
3834
3798
|
"--tabbar-hover-text": "--text-secondary",
|
|
3835
3799
|
"--tabbar-hover-surface": "--surface-neutral-lower",
|
|
3836
3800
|
"--tabbar-hover-text-font-family": "--font-sans",
|
|
@@ -3844,7 +3808,7 @@
|
|
|
3844
3808
|
"--tabbar-hover-tab-border-width": "--border-width-0",
|
|
3845
3809
|
"--tabbar-hover-tab-top-radius": "--radius-sm",
|
|
3846
3810
|
"--tabbar-hover-tab-bottom-radius": "--radius-sm",
|
|
3847
|
-
"--tabbar-hover-indicator-
|
|
3811
|
+
"--tabbar-hover-indicator-width": "--border-width-2",
|
|
3848
3812
|
"--tabbar-active-text": "--text-primary",
|
|
3849
3813
|
"--tabbar-active-border": "--color-brand-500",
|
|
3850
3814
|
"--tabbar-active-surface": "--tint-low",
|
|
@@ -3858,7 +3822,7 @@
|
|
|
3858
3822
|
"--tabbar-active-tab-border-width": "--border-width-0",
|
|
3859
3823
|
"--tabbar-active-tab-top-radius": "--radius-sm",
|
|
3860
3824
|
"--tabbar-active-tab-bottom-radius": "--radius-sm",
|
|
3861
|
-
"--tabbar-active-indicator-
|
|
3825
|
+
"--tabbar-active-indicator-width": "--border-width-2",
|
|
3862
3826
|
"--tabbar-disabled-text": "--text-disabled",
|
|
3863
3827
|
"--tabbar-disabled-text-font-family": "--font-sans",
|
|
3864
3828
|
"--tabbar-disabled-text-font-size": "--font-size-md",
|
|
@@ -3872,7 +3836,7 @@
|
|
|
3872
3836
|
"--tabbar-disabled-tab-border-width": "--border-width-0",
|
|
3873
3837
|
"--tabbar-disabled-tab-top-radius": "--radius-sm",
|
|
3874
3838
|
"--tabbar-disabled-tab-bottom-radius": "--radius-sm",
|
|
3875
|
-
"--tabbar-disabled-indicator-
|
|
3839
|
+
"--tabbar-disabled-indicator-width": "--border-width-2"
|
|
3876
3840
|
}
|
|
3877
3841
|
},
|
|
3878
3842
|
"table": {
|
|
@@ -3893,8 +3857,8 @@
|
|
|
3893
3857
|
"--table-default-header-font-weight": "--font-weight-semibold",
|
|
3894
3858
|
"--table-default-header-line-height": "--line-height-none",
|
|
3895
3859
|
"--table-default-header-padding": "--space-20",
|
|
3896
|
-
"--table-default-header-
|
|
3897
|
-
"--table-default-header-
|
|
3860
|
+
"--table-default-header-divider": "--border-neutral",
|
|
3861
|
+
"--table-default-header-divider-width": "--border-width-1",
|
|
3898
3862
|
"--table-default-cell-text": "--text-secondary",
|
|
3899
3863
|
"--table-default-cell-font-family": "--font-sans",
|
|
3900
3864
|
"--table-default-cell-font-size": "--font-size-md",
|
|
@@ -4016,5 +3980,5 @@
|
|
|
4016
3980
|
}
|
|
4017
3981
|
}
|
|
4018
3982
|
},
|
|
4019
|
-
"componentSchemaVersion":
|
|
3983
|
+
"componentSchemaVersion": 27
|
|
4020
3984
|
}
|
|
@@ -2271,42 +2271,6 @@
|
|
|
2271
2271
|
"--gradient-2": "linear-gradient(135deg, var(--color-special-500) 0%, var(--color-brand-500) 100%)",
|
|
2272
2272
|
"--gradient-3": "linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%)",
|
|
2273
2273
|
"--gradient-4": "linear-gradient(180deg, var(--color-canvas-600) 0%, var(--color-canvas-900) 100%)",
|
|
2274
|
-
"--badge-trait-surface": "var(--surface-brand)",
|
|
2275
|
-
"--badge-trait-text": "var(--text-brand)",
|
|
2276
|
-
"--badge-trait-text-font-family": "var(--font-sans)",
|
|
2277
|
-
"--badge-trait-text-font-size": "var(--font-size-sm)",
|
|
2278
|
-
"--badge-trait-text-font-weight": "var(--font-weight-light)",
|
|
2279
|
-
"--badge-trait-text-line-height": "var(--line-height-none)",
|
|
2280
|
-
"--badge-trait-border": "var(--border-brand-medium)",
|
|
2281
|
-
"--badge-trait-border-width": "var(--border-width-1)",
|
|
2282
|
-
"--badge-trait-shadow": "transparent",
|
|
2283
|
-
"--sectiondivider-title": "var(--text-primary)",
|
|
2284
|
-
"--sectiondivider-title-font-family": "var(--font-display)",
|
|
2285
|
-
"--sectiondivider-title-font-size": "var(--font-size-5xl)",
|
|
2286
|
-
"--sectiondivider-title-font-weight": "var(--font-weight-normal)",
|
|
2287
|
-
"--sectiondivider-title-line-height": "var(--line-height-none)",
|
|
2288
|
-
"--sectiondivider-title-border-width": "var(--border-width-4)",
|
|
2289
|
-
"--sectiondivider-title-stroke-color": "var(--surface-canvas-lowest)",
|
|
2290
|
-
"--sectiondivider-description": "var(--text-secondary)",
|
|
2291
|
-
"--sectiondivider-description-font-family": "var(--font-sans)",
|
|
2292
|
-
"--sectiondivider-description-font-size": "var(--font-size-md)",
|
|
2293
|
-
"--sectiondivider-description-font-weight": "var(--font-weight-normal)",
|
|
2294
|
-
"--sectiondivider-description-line-height": "var(--line-height-normal)",
|
|
2295
|
-
"--dialog-primary-default-surface": "var(--surface-neutral-high)",
|
|
2296
|
-
"--dialog-primary-default-text": "var(--text-primary)",
|
|
2297
|
-
"--dialog-primary-default-border": "var(--border-neutral-medium)",
|
|
2298
|
-
"--dialog-primary-default-border-width": "var(--border-width-1)",
|
|
2299
|
-
"--dialog-primary-hover-surface": "var(--surface-neutral-higher)",
|
|
2300
|
-
"--dialog-primary-hover-text": "var(--text-primary)",
|
|
2301
|
-
"--dialog-primary-hover-border": "var(--border-neutral-strong)",
|
|
2302
|
-
"--dialog-primary-hover-border-width": "var(--border-width-1)",
|
|
2303
|
-
"--dialog-secondary-default-text": "var(--text-primary)",
|
|
2304
|
-
"--dialog-secondary-default-border": "var(--border-neutral-medium)",
|
|
2305
|
-
"--dialog-secondary-default-border-width": "var(--border-width-1)",
|
|
2306
|
-
"--dialog-secondary-hover-surface": "var(--surface-neutral-lower)",
|
|
2307
|
-
"--dialog-secondary-hover-text": "var(--text-primary)",
|
|
2308
|
-
"--dialog-secondary-hover-border": "var(--border-neutral-strong)",
|
|
2309
|
-
"--dialog-secondary-hover-border-width": "var(--border-width-1)",
|
|
2310
2274
|
"--columns-count": "12",
|
|
2311
2275
|
"--columns-max-width": "1440px",
|
|
2312
2276
|
"--columns-gutter": "32px",
|
|
@@ -2484,7 +2448,7 @@
|
|
|
2484
2448
|
"family": null
|
|
2485
2449
|
}
|
|
2486
2450
|
],
|
|
2487
|
-
"schemaVersion":
|
|
2451
|
+
"schemaVersion": 8,
|
|
2488
2452
|
"gradients": [
|
|
2489
2453
|
{
|
|
2490
2454
|
"variable": "--gradient-1",
|
|
@@ -2969,8 +2933,8 @@
|
|
|
2969
2933
|
"--collapsiblesection-chromeless-hover-icon-size": "--icon-size-xs",
|
|
2970
2934
|
"--collapsiblesection-chromeless-expanded-padding": "--space-6",
|
|
2971
2935
|
"--collapsiblesection-divider-default-surface": "--color-transparent",
|
|
2972
|
-
"--collapsiblesection-divider-default-
|
|
2973
|
-
"--collapsiblesection-divider-default-
|
|
2936
|
+
"--collapsiblesection-divider-default-hairline-color": "--border-brand",
|
|
2937
|
+
"--collapsiblesection-divider-default-hairline-thickness": "--border-width-1",
|
|
2974
2938
|
"--collapsiblesection-divider-default-padding": "--space-6",
|
|
2975
2939
|
"--collapsiblesection-divider-default-label": "--text-primary",
|
|
2976
2940
|
"--collapsiblesection-divider-default-label-font-family": "--font-sans",
|
|
@@ -2980,8 +2944,8 @@
|
|
|
2980
2944
|
"--collapsiblesection-divider-default-icon": "--text-primary",
|
|
2981
2945
|
"--collapsiblesection-divider-default-icon-size": "--icon-size-xs",
|
|
2982
2946
|
"--collapsiblesection-divider-hover-surface": "--color-transparent",
|
|
2983
|
-
"--collapsiblesection-divider-hover-
|
|
2984
|
-
"--collapsiblesection-divider-hover-
|
|
2947
|
+
"--collapsiblesection-divider-hover-hairline-color": "--border-neutral",
|
|
2948
|
+
"--collapsiblesection-divider-hover-hairline-thickness": "--border-width-1",
|
|
2985
2949
|
"--collapsiblesection-divider-hover-padding": "--space-6",
|
|
2986
2950
|
"--collapsiblesection-divider-hover-label": "--text-primary",
|
|
2987
2951
|
"--collapsiblesection-divider-hover-label-font-family": "--font-sans",
|
|
@@ -3078,8 +3042,8 @@
|
|
|
3078
3042
|
"--dialog-shadow": "--shadow-2xl",
|
|
3079
3043
|
"--dialog-blur": "--blur-none",
|
|
3080
3044
|
"--dialog-header-surface": "--surface-neutral-lower",
|
|
3081
|
-
"--dialog-header-
|
|
3082
|
-
"--dialog-header-
|
|
3045
|
+
"--dialog-header-divider": "--border-neutral-subtle",
|
|
3046
|
+
"--dialog-header-divider-width": "--border-width-1",
|
|
3083
3047
|
"--dialog-header-padding": "--space-10",
|
|
3084
3048
|
"--dialog-title": "--text-primary",
|
|
3085
3049
|
"--dialog-title-font-family": "--font-sans",
|
|
@@ -3094,8 +3058,8 @@
|
|
|
3094
3058
|
"--dialog-body-font-size": "--font-size-md",
|
|
3095
3059
|
"--dialog-body-font-weight": "--font-weight-normal",
|
|
3096
3060
|
"--dialog-body-line-height": "--line-height-normal",
|
|
3097
|
-
"--dialog-footer-
|
|
3098
|
-
"--dialog-footer-
|
|
3061
|
+
"--dialog-footer-divider": "--border-neutral-subtle",
|
|
3062
|
+
"--dialog-footer-divider-width": "--border-width-1",
|
|
3099
3063
|
"--dialog-footer-padding": "--space-20"
|
|
3100
3064
|
}
|
|
3101
3065
|
},
|
|
@@ -3882,7 +3846,7 @@
|
|
|
3882
3846
|
"--tabbar-default-tab-border-width": "--border-width-0",
|
|
3883
3847
|
"--tabbar-default-tab-top-radius": "--radius-sm",
|
|
3884
3848
|
"--tabbar-default-tab-bottom-radius": "--radius-sm",
|
|
3885
|
-
"--tabbar-default-indicator-
|
|
3849
|
+
"--tabbar-default-indicator-width": "--border-width-2",
|
|
3886
3850
|
"--tabbar-hover-text": "--text-secondary",
|
|
3887
3851
|
"--tabbar-hover-surface": "--surface-neutral-lower",
|
|
3888
3852
|
"--tabbar-hover-text-font-family": "--font-sans",
|
|
@@ -3896,7 +3860,7 @@
|
|
|
3896
3860
|
"--tabbar-hover-tab-border-width": "--border-width-0",
|
|
3897
3861
|
"--tabbar-hover-tab-top-radius": "--radius-sm",
|
|
3898
3862
|
"--tabbar-hover-tab-bottom-radius": "--radius-sm",
|
|
3899
|
-
"--tabbar-hover-indicator-
|
|
3863
|
+
"--tabbar-hover-indicator-width": "--border-width-2",
|
|
3900
3864
|
"--tabbar-active-text": "--text-primary",
|
|
3901
3865
|
"--tabbar-active-border": "--color-brand-500",
|
|
3902
3866
|
"--tabbar-active-surface": "--tint-low",
|
|
@@ -3910,7 +3874,7 @@
|
|
|
3910
3874
|
"--tabbar-active-tab-border-width": "--border-width-0",
|
|
3911
3875
|
"--tabbar-active-tab-top-radius": "--radius-sm",
|
|
3912
3876
|
"--tabbar-active-tab-bottom-radius": "--radius-sm",
|
|
3913
|
-
"--tabbar-active-indicator-
|
|
3877
|
+
"--tabbar-active-indicator-width": "--border-width-2",
|
|
3914
3878
|
"--tabbar-disabled-text": "--text-disabled",
|
|
3915
3879
|
"--tabbar-disabled-text-font-family": "--font-sans",
|
|
3916
3880
|
"--tabbar-disabled-text-font-size": "--font-size-md",
|
|
@@ -3924,7 +3888,7 @@
|
|
|
3924
3888
|
"--tabbar-disabled-tab-border-width": "--border-width-0",
|
|
3925
3889
|
"--tabbar-disabled-tab-top-radius": "--radius-sm",
|
|
3926
3890
|
"--tabbar-disabled-tab-bottom-radius": "--radius-sm",
|
|
3927
|
-
"--tabbar-disabled-indicator-
|
|
3891
|
+
"--tabbar-disabled-indicator-width": "--border-width-2"
|
|
3928
3892
|
}
|
|
3929
3893
|
},
|
|
3930
3894
|
"table": {
|
|
@@ -3945,8 +3909,8 @@
|
|
|
3945
3909
|
"--table-default-header-font-weight": "--font-weight-semibold",
|
|
3946
3910
|
"--table-default-header-line-height": "--line-height-none",
|
|
3947
3911
|
"--table-default-header-padding": "--space-16",
|
|
3948
|
-
"--table-default-header-
|
|
3949
|
-
"--table-default-header-
|
|
3912
|
+
"--table-default-header-divider": "--border-neutral",
|
|
3913
|
+
"--table-default-header-divider-width": "--border-width-1",
|
|
3950
3914
|
"--table-default-cell-text": "--text-secondary",
|
|
3951
3915
|
"--table-default-cell-font-family": "--font-sans",
|
|
3952
3916
|
"--table-default-cell-font-size": "--font-size-md",
|
|
@@ -4068,5 +4032,5 @@
|
|
|
4068
4032
|
}
|
|
4069
4033
|
}
|
|
4070
4034
|
},
|
|
4071
|
-
"componentSchemaVersion":
|
|
4035
|
+
"componentSchemaVersion": 27
|
|
4072
4036
|
}
|
|
@@ -7,42 +7,6 @@
|
|
|
7
7
|
--gradient-2: linear-gradient(135deg, var(--color-brand-500) 0%, var(--color-special-500) 100%);
|
|
8
8
|
--gradient-3: linear-gradient(90deg, var(--color-success-500) 0%, var(--color-info-500) 100%);
|
|
9
9
|
--gradient-4: linear-gradient(45deg, var(--color-danger-500) 0%, var(--color-warning-500) 100%);
|
|
10
|
-
--badge-trait-surface: var(--surface-brand);
|
|
11
|
-
--badge-trait-text: var(--text-brand);
|
|
12
|
-
--badge-trait-text-font-family: var(--font-sans);
|
|
13
|
-
--badge-trait-text-font-size: var(--font-size-sm);
|
|
14
|
-
--badge-trait-text-font-weight: var(--font-weight-light);
|
|
15
|
-
--badge-trait-text-line-height: var(--line-height-none);
|
|
16
|
-
--badge-trait-border: var(--border-brand-medium);
|
|
17
|
-
--badge-trait-border-width: var(--border-width-1);
|
|
18
|
-
--badge-trait-shadow: transparent;
|
|
19
|
-
--sectiondivider-title: var(--text-primary);
|
|
20
|
-
--sectiondivider-title-font-family: var(--font-display);
|
|
21
|
-
--sectiondivider-title-font-size: var(--font-size-5xl);
|
|
22
|
-
--sectiondivider-title-font-weight: var(--font-weight-normal);
|
|
23
|
-
--sectiondivider-title-line-height: var(--line-height-none);
|
|
24
|
-
--sectiondivider-title-border-width: var(--border-width-4);
|
|
25
|
-
--sectiondivider-title-stroke-color: var(--surface-canvas-lowest);
|
|
26
|
-
--sectiondivider-description: var(--text-secondary);
|
|
27
|
-
--sectiondivider-description-font-family: var(--font-sans);
|
|
28
|
-
--sectiondivider-description-font-size: var(--font-size-md);
|
|
29
|
-
--sectiondivider-description-font-weight: var(--font-weight-normal);
|
|
30
|
-
--sectiondivider-description-line-height: var(--line-height-normal);
|
|
31
|
-
--dialog-primary-default-surface: var(--surface-neutral-high);
|
|
32
|
-
--dialog-primary-default-text: var(--text-primary);
|
|
33
|
-
--dialog-primary-default-border: var(--border-neutral-medium);
|
|
34
|
-
--dialog-primary-default-border-width: var(--border-width-1);
|
|
35
|
-
--dialog-primary-hover-surface: var(--surface-neutral-higher);
|
|
36
|
-
--dialog-primary-hover-text: var(--text-primary);
|
|
37
|
-
--dialog-primary-hover-border: var(--border-neutral-strong);
|
|
38
|
-
--dialog-primary-hover-border-width: var(--border-width-1);
|
|
39
|
-
--dialog-secondary-default-text: var(--text-primary);
|
|
40
|
-
--dialog-secondary-default-border: var(--border-neutral-medium);
|
|
41
|
-
--dialog-secondary-default-border-width: var(--border-width-1);
|
|
42
|
-
--dialog-secondary-hover-surface: var(--surface-neutral-lower);
|
|
43
|
-
--dialog-secondary-hover-text: var(--text-primary);
|
|
44
|
-
--dialog-secondary-hover-border: var(--border-neutral-strong);
|
|
45
|
-
--dialog-secondary-hover-border-width: var(--border-width-1);
|
|
46
10
|
--columns-count: 12;
|
|
47
11
|
--columns-max-width: 1440px;
|
|
48
12
|
--columns-gutter: 32px;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Badge.svelte. A short standing label on an element.
|
|
3
|
+
Use for: status the reader takes at a glance, such as "Beta", "New", or a
|
|
4
|
+
version.
|
|
5
|
+
Not for: a marker that sits on a parent's corner (CornerBadge); feedback
|
|
6
|
+
after an action (Notification).
|
|
7
|
+
-->
|
|
1
8
|
<script module lang="ts">
|
|
2
9
|
export const badgeVariants = [
|
|
3
10
|
'primary',
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Button.svelte. A labelled action.
|
|
3
|
+
Use for: an action that needs a word to be unambiguous.
|
|
4
|
+
Not for: an icon-only action (IconButton); a link to another page.
|
|
5
|
+
Emphasis: one primary per page; secondary for the rest; outline for a
|
|
6
|
+
tertiary action; danger for a destructive one.
|
|
7
|
+
-->
|
|
1
8
|
<script lang="ts">
|
|
2
9
|
import { createEventDispatcher } from 'svelte';
|
|
3
10
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Callout.svelte. A standing message that sits inside a section.
|
|
3
|
+
Use for: something the reader must know about the content around it.
|
|
4
|
+
Not for: feedback after an action (Notification); a hint that hangs off one
|
|
5
|
+
element (Tooltip).
|
|
6
|
+
-->
|
|
1
7
|
<script module lang="ts">
|
|
2
8
|
export const calloutVariants = ['info', 'success', 'warning', 'danger'] as const;
|
|
3
9
|
export type CalloutVariant = typeof calloutVariants[number];
|
|
@@ -29,7 +35,7 @@
|
|
|
29
35
|
--callout-info-surface: var(--surface-info-lowest);
|
|
30
36
|
--callout-info-border: var(--border-info-medium);
|
|
31
37
|
--callout-info-border-width: var(--border-width-1);
|
|
32
|
-
--callout-info-accent-width: var(--border-width-
|
|
38
|
+
--callout-info-accent-width: var(--border-width-1);
|
|
33
39
|
--callout-info-radius: var(--radius-lg);
|
|
34
40
|
--callout-info-padding: var(--space-12);
|
|
35
41
|
--callout-info-label: var(--text-primary);
|
|
@@ -47,7 +53,7 @@
|
|
|
47
53
|
--callout-success-surface: var(--surface-success-lowest);
|
|
48
54
|
--callout-success-border: var(--border-success-subtle);
|
|
49
55
|
--callout-success-border-width: var(--border-width-1);
|
|
50
|
-
--callout-success-accent-width: var(--border-width-
|
|
56
|
+
--callout-success-accent-width: var(--border-width-1);
|
|
51
57
|
--callout-success-radius: var(--radius-lg);
|
|
52
58
|
--callout-success-padding: var(--space-12);
|
|
53
59
|
--callout-success-label: var(--text-primary);
|
|
@@ -65,7 +71,7 @@
|
|
|
65
71
|
--callout-warning-surface: var(--surface-warning-lowest);
|
|
66
72
|
--callout-warning-border: var(--border-warning-subtle);
|
|
67
73
|
--callout-warning-border-width: var(--border-width-1);
|
|
68
|
-
--callout-warning-accent-width: var(--border-width-
|
|
74
|
+
--callout-warning-accent-width: var(--border-width-1);
|
|
69
75
|
--callout-warning-radius: var(--radius-lg);
|
|
70
76
|
--callout-warning-padding: var(--space-12);
|
|
71
77
|
--callout-warning-label: var(--text-primary);
|
|
@@ -83,7 +89,7 @@
|
|
|
83
89
|
--callout-danger-surface: var(--surface-danger-lowest);
|
|
84
90
|
--callout-danger-border: var(--border-danger-subtle);
|
|
85
91
|
--callout-danger-border-width: var(--border-width-1);
|
|
86
|
-
--callout-danger-accent-width: var(--border-width-
|
|
92
|
+
--callout-danger-accent-width: var(--border-width-1);
|
|
87
93
|
--callout-danger-radius: var(--radius-lg);
|
|
88
94
|
--callout-danger-padding: var(--space-12);
|
|
89
95
|
--callout-danger-label: var(--text-primary);
|
|
@@ -99,8 +105,6 @@
|
|
|
99
105
|
}
|
|
100
106
|
|
|
101
107
|
.callout {
|
|
102
|
-
margin: var(--space-24) 0;
|
|
103
|
-
|
|
104
108
|
:global(p) {
|
|
105
109
|
margin: 0;
|
|
106
110
|
display: inline;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Card.svelte. One item with a title.
|
|
3
|
+
Use for: an item on its own, or each item in a set: a product, a record, a
|
|
4
|
+
plan the reader may act on.
|
|
5
|
+
Not for: a section of the page's content (Panel); content the reader opens
|
|
6
|
+
on demand (CollapsibleSection); a decision that blocks the page (Dialog).
|
|
7
|
+
-->
|
|
1
8
|
<script lang="ts">
|
|
2
9
|
interface Props {
|
|
3
10
|
icon?: string;
|
|
@@ -16,6 +23,8 @@
|
|
|
16
23
|
default; `true`/`false` force this instance on/off. */
|
|
17
24
|
hover?: boolean | undefined;
|
|
18
25
|
class?: string;
|
|
26
|
+
/** Content at the header's trailing edge: a badge, a count, an action. */
|
|
27
|
+
aside?: import('svelte').Snippet;
|
|
19
28
|
children?: import('svelte').Snippet;
|
|
20
29
|
}
|
|
21
30
|
|
|
@@ -29,6 +38,7 @@
|
|
|
29
38
|
flush = false,
|
|
30
39
|
hover = undefined,
|
|
31
40
|
class: className = '',
|
|
41
|
+
aside,
|
|
32
42
|
children
|
|
33
43
|
}: Props = $props();
|
|
34
44
|
|
|
@@ -40,7 +50,7 @@
|
|
|
40
50
|
hover === undefined ? undefined : hover ? 'var(--card-hover-shadow)' : 'var(--card-default-shadow)',
|
|
41
51
|
);
|
|
42
52
|
|
|
43
|
-
let showHeader = $derived(variant !== 'bare' && Boolean(icon || title));
|
|
53
|
+
let showHeader = $derived(variant !== 'bare' && Boolean(icon || title || aside));
|
|
44
54
|
|
|
45
55
|
$effect(() => {
|
|
46
56
|
if (import.meta.env.DEV && variant === 'default' && !icon && !title) {
|
|
@@ -65,6 +75,9 @@
|
|
|
65
75
|
{#if title}
|
|
66
76
|
<span class="card-title">{title}</span>
|
|
67
77
|
{/if}
|
|
78
|
+
{#if aside}
|
|
79
|
+
<div class="card-aside">{@render aside()}</div>
|
|
80
|
+
{/if}
|
|
68
81
|
</div>
|
|
69
82
|
{/if}
|
|
70
83
|
<div class="card-body" class:prose class:flush>
|
|
@@ -142,10 +155,11 @@
|
|
|
142
155
|
box-shadow: var(--card-hover-shadow-enabled);
|
|
143
156
|
}
|
|
144
157
|
|
|
145
|
-
/* Editor preview hook
|
|
158
|
+
/* Editor preview hook. Reads the same gated tokens as the real :hover rule,
|
|
159
|
+
so turning "Use hover" off shows the resting card the page will draw. */
|
|
146
160
|
.card.force-hover {
|
|
147
|
-
border-color: var(--card-hover-border);
|
|
148
|
-
box-shadow: var(--card-hover-shadow);
|
|
161
|
+
border-color: var(--card-hover-border-enabled);
|
|
162
|
+
box-shadow: var(--card-hover-shadow-enabled);
|
|
149
163
|
}
|
|
150
164
|
|
|
151
165
|
.card-header {
|
|
@@ -156,6 +170,11 @@
|
|
|
156
170
|
background: var(--card-default-header-surface);
|
|
157
171
|
}
|
|
158
172
|
|
|
173
|
+
.card-aside {
|
|
174
|
+
flex-shrink: 0;
|
|
175
|
+
margin-left: auto;
|
|
176
|
+
}
|
|
177
|
+
|
|
159
178
|
.card.compact .card-header,
|
|
160
179
|
.card.compact .card-body {
|
|
161
180
|
padding: var(--space-8) var(--space-12);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
CodeSnippet.svelte
|
|
3
|
-
the
|
|
4
|
-
(
|
|
2
|
+
CodeSnippet.svelte. A command or value with a copy button.
|
|
3
|
+
Use for: text the reader is meant to run or paste somewhere else.
|
|
4
|
+
Not for: prose the reader only reads (a paragraph in its Card or Panel); a
|
|
5
|
+
value the reader edits (Input).
|
|
5
6
|
-->
|
|
6
7
|
<script lang="ts">
|
|
7
8
|
import Tooltip from './Tooltip.svelte';
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
CollapsibleSection.svelte. A section the reader opens and closes.
|
|
3
|
+
Use for: secondary content that most readers skip.
|
|
4
|
+
Not for: content every reader needs (Card); moving between pages
|
|
5
|
+
(SideNavigation).
|
|
6
|
+
Variant: `chromeless` sits inside other content, `divider` rules a line
|
|
7
|
+
under the header, `container` frames the whole section.
|
|
8
|
+
-->
|
|
1
9
|
<script lang="ts">
|
|
2
10
|
import { createEventDispatcher } from 'svelte';
|
|
3
11
|
|
|
@@ -60,10 +68,17 @@
|
|
|
60
68
|
{@render summary?.()}
|
|
61
69
|
</div>
|
|
62
70
|
{:else}
|
|
63
|
-
|
|
64
|
-
<div class="section-header" class:expanded onclick={fireToggle}>
|
|
71
|
+
<div class="section-header" class:expanded>
|
|
65
72
|
<div class="section-toggle">
|
|
66
|
-
<
|
|
73
|
+
<button
|
|
74
|
+
type="button"
|
|
75
|
+
class="section-toggle-button"
|
|
76
|
+
onclick={fireToggle}
|
|
77
|
+
aria-label={expanded ? 'Collapse section' : 'Expand section'}
|
|
78
|
+
aria-expanded={expanded}
|
|
79
|
+
>
|
|
80
|
+
<i class="fas fa-chevron-right toggle-icon"></i>
|
|
81
|
+
</button>
|
|
67
82
|
<span class="section-label">{label}</span>
|
|
68
83
|
</div>
|
|
69
84
|
{@render summary?.()}
|
|
@@ -106,8 +121,8 @@
|
|
|
106
121
|
|
|
107
122
|
/* Divider — default */
|
|
108
123
|
--collapsiblesection-divider-default-surface: var(--color-transparent);
|
|
109
|
-
--collapsiblesection-divider-default-
|
|
110
|
-
--collapsiblesection-divider-default-
|
|
124
|
+
--collapsiblesection-divider-default-hairline-color: var(--border-brand);
|
|
125
|
+
--collapsiblesection-divider-default-hairline-thickness: var(--border-width-1);
|
|
111
126
|
--collapsiblesection-divider-default-padding: var(--space-4);
|
|
112
127
|
--collapsiblesection-divider-default-label: var(--text-primary);
|
|
113
128
|
--collapsiblesection-divider-default-label-font-family: var(--font-sans);
|
|
@@ -118,8 +133,8 @@
|
|
|
118
133
|
--collapsiblesection-divider-default-icon-size: var(--icon-size-xs);
|
|
119
134
|
/* Divider — hover */
|
|
120
135
|
--collapsiblesection-divider-hover-surface: var(--color-transparent);
|
|
121
|
-
--collapsiblesection-divider-hover-
|
|
122
|
-
--collapsiblesection-divider-hover-
|
|
136
|
+
--collapsiblesection-divider-hover-hairline-color: var(--border-neutral);
|
|
137
|
+
--collapsiblesection-divider-hover-hairline-thickness: var(--border-width-1);
|
|
123
138
|
--collapsiblesection-divider-hover-padding: var(--space-4);
|
|
124
139
|
--collapsiblesection-divider-hover-label: var(--text-primary);
|
|
125
140
|
--collapsiblesection-divider-hover-label-font-family: var(--font-sans);
|
|
@@ -237,7 +252,7 @@
|
|
|
237
252
|
}
|
|
238
253
|
|
|
239
254
|
@mixin divider-bottom($state) {
|
|
240
|
-
border-bottom: var(--collapsiblesection-divider-#{$state}-
|
|
255
|
+
border-bottom: var(--collapsiblesection-divider-#{$state}-hairline-thickness) solid var(--collapsiblesection-divider-#{$state}-hairline-color);
|
|
241
256
|
}
|
|
242
257
|
|
|
243
258
|
.es-root.variant-chromeless {
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
CornerBadge.svelte. A badge that sits on a corner of its parent.
|
|
3
|
+
Use for: a count or status marker that sits on the thing it describes.
|
|
4
|
+
Not for: a label in the text flow (Badge); feedback after an action
|
|
5
|
+
(Notification).
|
|
6
|
+
-->
|
|
1
7
|
<script module lang="ts">
|
|
2
8
|
export type CornerAnchor = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
3
9
|
</script>
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Dialog.svelte. A modal window that blocks the page.
|
|
3
|
+
Use for: a decision the page cannot continue without, such as a destructive
|
|
4
|
+
confirmation or a sign-in.
|
|
5
|
+
Not for: a routine form (Panel); a message that asks nothing of the reader
|
|
6
|
+
(Notification).
|
|
7
|
+
-->
|
|
1
8
|
<script lang="ts">
|
|
2
9
|
import { createEventDispatcher, tick } from 'svelte';
|
|
3
10
|
import type { Snippet } from 'svelte';
|
|
@@ -179,8 +186,8 @@
|
|
|
179
186
|
|
|
180
187
|
/* Header */
|
|
181
188
|
--dialog-header-surface: var(--surface-neutral-lower);
|
|
182
|
-
--dialog-header-
|
|
183
|
-
--dialog-header-
|
|
189
|
+
--dialog-header-divider: var(--border-neutral-subtle);
|
|
190
|
+
--dialog-header-divider-width: var(--border-width-1);
|
|
184
191
|
--dialog-header-padding: var(--space-8);
|
|
185
192
|
|
|
186
193
|
/* Title */
|
|
@@ -203,8 +210,8 @@
|
|
|
203
210
|
--dialog-body-line-height: var(--line-height-normal);
|
|
204
211
|
|
|
205
212
|
/* Footer */
|
|
206
|
-
--dialog-footer-
|
|
207
|
-
--dialog-footer-
|
|
213
|
+
--dialog-footer-divider: var(--border-neutral-subtle);
|
|
214
|
+
--dialog-footer-divider-width: var(--border-width-1);
|
|
208
215
|
--dialog-footer-padding: var(--space-16);
|
|
209
216
|
}
|
|
210
217
|
|
|
@@ -264,7 +271,7 @@
|
|
|
264
271
|
var(--dialog-header-padding-right, calc(var(--dialog-header-padding) * 3))
|
|
265
272
|
var(--dialog-header-padding-bottom, var(--dialog-header-padding))
|
|
266
273
|
var(--dialog-header-padding-left, calc(var(--dialog-header-padding) * 3));
|
|
267
|
-
border-bottom: var(--dialog-header-
|
|
274
|
+
border-bottom: var(--dialog-header-divider-width) solid var(--dialog-header-divider);
|
|
268
275
|
background: var(--dialog-header-surface);
|
|
269
276
|
display: flex;
|
|
270
277
|
justify-content: space-between;
|
|
@@ -320,7 +327,7 @@
|
|
|
320
327
|
var(--dialog-footer-padding-right, var(--dialog-footer-padding))
|
|
321
328
|
var(--dialog-footer-padding-bottom, var(--dialog-footer-padding))
|
|
322
329
|
var(--dialog-footer-padding-left, var(--dialog-footer-padding));
|
|
323
|
-
border-top: var(--dialog-footer-
|
|
330
|
+
border-top: var(--dialog-footer-divider-width) solid var(--dialog-footer-divider);
|
|
324
331
|
display: flex;
|
|
325
332
|
justify-content: space-between;
|
|
326
333
|
align-items: center;
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
IconButton.svelte. An action that an icon alone carries.
|
|
3
|
+
Use for: an action whose meaning is plain from the glyph, such as close,
|
|
4
|
+
edit, or delete.
|
|
5
|
+
Not for: an action that needs a word (Button); the confirm-and-cancel pair
|
|
6
|
+
after an inline edit (InlineEditActions).
|
|
7
|
+
Emphasis: one primary per page; secondary for the rest; outline for a
|
|
8
|
+
tertiary action; danger for a destructive one.
|
|
9
|
+
-->
|
|
1
10
|
<script lang="ts">
|
|
2
11
|
interface Props {
|
|
3
12
|
/** Wash the hovered surface with the theme's tint. `undefined` inherits the
|