@motion-proto/live-tokens 0.84.0 → 0.85.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-create-component/references/token-naming.md +0 -1
- package/CHANGELOG.md +41 -0
- package/dist-plugin/{chunk-V2OVSC5Z.js → chunk-GWMEYBZ2.js} +22 -1
- package/dist-plugin/{chunk-FD4FVDOC.js → chunk-ONYAIXCZ.js} +74 -1
- package/dist-plugin/{chunk-M6BWSS6C.js → chunk-W5VQV32K.js} +1 -1
- package/dist-plugin/index.cjs +101 -7
- package/dist-plugin/index.js +3 -3
- package/dist-plugin/migrateData/index.cjs +78 -5
- package/dist-plugin/migrateData/index.js +2 -2
- package/dist-plugin/setColors/index.cjs +74 -1
- package/dist-plugin/setColors/index.js +1 -1
- package/dist-plugin/setGeometry/index.cjs +74 -4
- package/dist-plugin/setGeometry/index.d.cts +1 -1
- package/dist-plugin/setGeometry/index.d.ts +1 -1
- package/dist-plugin/setGeometry/index.js +1 -4
- package/dist-plugin/tokensCssMigrations/index.cjs +22 -1
- package/dist-plugin/tokensCssMigrations/index.js +1 -1
- package/package.json +1 -1
- package/src/editor/component-editor/DialogEditor.svelte +1 -2
- package/src/editor/component-editor/ImageLightboxEditor.svelte +1 -2
- package/src/editor/component-editor/scaffolding/TokenLayout.svelte +1 -4
- package/src/editor/core/components/aliasKinds.ts +0 -4
- package/src/editor/core/sketch/sketchLayer.ts +1 -1
- package/src/editor/core/store/editorPersistence.ts +46 -23
- package/src/editor/core/store/editorStore.ts +1 -5
- package/src/editor/core/store/editorTypes.ts +11 -7
- package/src/editor/core/themes/migrations/2026-09-21-scrim-surface.ts +56 -0
- package/src/editor/core/themes/migrations/2026-09-21-wash-color-and-opacity.ts +51 -0
- package/src/editor/core/themes/migrations/index.ts +4 -0
- package/src/editor/core/themes/slices/washes.ts +59 -77
- package/src/editor/skill-atlas/skillSources.generated.ts +1 -1
- package/src/editor/ui/UIPaletteSelector.svelte +5 -1
- package/src/editor/ui/UIVariantSelector.svelte +1 -1
- package/src/editor/ui/sections/WashesSection.svelte +100 -99
- package/src/editor/ui/variantScales.ts +0 -11
- package/src/live-tokens/data/colors-and-type/autumn.json +9 -7
- package/src/live-tokens/data/colors-and-type/default.json +9 -7
- package/src/live-tokens/data/colors-and-type/halloween.json +9 -7
- package/src/live-tokens/data/colors-and-type/midnight-study.json +9 -7
- package/src/live-tokens/data/colors-and-type/ocean.json +9 -7
- package/src/live-tokens/data/colors-and-type/royal-velvet.json +9 -7
- package/src/live-tokens/data/colors-and-type/sketchy.json +9 -7
- package/src/live-tokens/data/colors-and-type/spring-meadow.json +9 -7
- package/src/live-tokens/data/colors-and-type/sunset.json +9 -7
- package/src/live-tokens/data/themes/autumn.json +12 -12
- package/src/live-tokens/data/themes/halloween.json +12 -12
- package/src/live-tokens/data/themes/midnight-study.json +12 -12
- package/src/live-tokens/data/themes/ocean.json +12 -12
- package/src/live-tokens/data/themes/royal-velvet.json +12 -12
- package/src/live-tokens/data/themes/sketchy.json +12 -12
- package/src/live-tokens/data/themes/spring-meadow.json +12 -12
- package/src/live-tokens/data/themes/sunset.json +12 -12
- package/src/live-tokens/data/tokens.generated.css +8 -6
- package/src/system/components/Dialog.svelte +2 -7
- package/src/system/components/ImageLightbox.svelte +7 -18
- package/src/system/styles/tokens.css +13 -8
- package/src/testing-js/{chunk-WQJ6QB6Y.js → chunk-RDHCBQ6I.js} +4 -8
- package/src/testing-js/chunk-RDHCBQ6I.js.map +1 -0
- package/src/testing-js/{chunk-XXABJNUU.js → chunk-XV5CYADO.js} +2 -2
- package/src/testing-js/component-behavior.contract.js +1 -1
- package/src/testing-js/component-editor.contract.js +1 -1
- package/src/testing-js/component-render.contract.js +1 -1
- package/src/testing-js/index.js +2 -2
- package/src/testing-js/page-compliance.contract.js +1 -1
- package/src/testing-js/vitest.js +2 -2
- package/src/testing-js/chunk-WQJ6QB6Y.js.map +0 -1
- /package/src/testing-js/{chunk-XXABJNUU.js.map → chunk-XV5CYADO.js.map} +0 -0
|
@@ -2214,12 +2214,14 @@
|
|
|
2214
2214
|
"--columns-max-width": "1440px",
|
|
2215
2215
|
"--columns-gutter": "32px",
|
|
2216
2216
|
"--columns-margin": "0px",
|
|
2217
|
-
"--scrim-
|
|
2218
|
-
"--scrim": "
|
|
2219
|
-
"--scrim-
|
|
2220
|
-
"--
|
|
2221
|
-
"--tint": "
|
|
2222
|
-
"--tint-
|
|
2217
|
+
"--scrim-color": "var(--surface-neutral-lowest)",
|
|
2218
|
+
"--scrim-opacity-low": "0.7",
|
|
2219
|
+
"--scrim-opacity": "0.8",
|
|
2220
|
+
"--scrim-opacity-high": "0.9",
|
|
2221
|
+
"--tint-color": "var(--text-primary)",
|
|
2222
|
+
"--tint-opacity-low": "0.05",
|
|
2223
|
+
"--tint-opacity": "0.1",
|
|
2224
|
+
"--tint-opacity-high": "0.15",
|
|
2223
2225
|
"--shadow-sm": "1px 1px 2px hsla(237, 18%, 3%, 0.2)",
|
|
2224
2226
|
"--shadow-md": "3px 3px 6px hsla(237, 18%, 3%, 0.2)",
|
|
2225
2227
|
"--shadow-lg": "5px 5px 9px hsla(237, 18%, 3%, 0.2)",
|
|
@@ -2396,7 +2398,7 @@
|
|
|
2396
2398
|
"family": null
|
|
2397
2399
|
}
|
|
2398
2400
|
],
|
|
2399
|
-
"schemaVersion":
|
|
2401
|
+
"schemaVersion": 9,
|
|
2400
2402
|
"gradients": [
|
|
2401
2403
|
{
|
|
2402
2404
|
"variable": "--gradient-1",
|
|
@@ -2982,8 +2984,7 @@
|
|
|
2982
2984
|
"createdAt": "2026-05-10T20:05:24.719Z",
|
|
2983
2985
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
2984
2986
|
"aliases": {
|
|
2985
|
-
"--dialog-scrim-
|
|
2986
|
-
"--dialog-scrim-opacity": "--scrim-opacity-high",
|
|
2987
|
+
"--dialog-scrim-surface": "--scrim-high",
|
|
2987
2988
|
"--dialog-surface": "--surface-neutral-lowest",
|
|
2988
2989
|
"--dialog-border": "--border-neutral-strong",
|
|
2989
2990
|
"--dialog-border-width": "--border-width-2",
|
|
@@ -3127,8 +3128,7 @@
|
|
|
3127
3128
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3128
3129
|
"--imagelightbox-tile-border-width": "--border-width-0",
|
|
3129
3130
|
"--imagelightbox-tile-shadow": "--shadow-md",
|
|
3130
|
-
"--imagelightbox-scrim-
|
|
3131
|
-
"--imagelightbox-scrim-opacity": "1",
|
|
3131
|
+
"--imagelightbox-scrim-surface": "--scrim-high",
|
|
3132
3132
|
"--imagelightbox-chrome-surface": "--surface-neutral-low",
|
|
3133
3133
|
"--imagelightbox-chrome-border": "--border-brand",
|
|
3134
3134
|
"--imagelightbox-chrome-border-width": "--border-width-1",
|
|
@@ -3982,5 +3982,5 @@
|
|
|
3982
3982
|
}
|
|
3983
3983
|
}
|
|
3984
3984
|
},
|
|
3985
|
-
"componentSchemaVersion":
|
|
3985
|
+
"componentSchemaVersion": 38
|
|
3986
3986
|
}
|
|
@@ -2275,12 +2275,14 @@
|
|
|
2275
2275
|
"--columns-max-width": "1440px",
|
|
2276
2276
|
"--columns-gutter": "32px",
|
|
2277
2277
|
"--columns-margin": "0px",
|
|
2278
|
-
"--scrim-
|
|
2279
|
-
"--scrim": "
|
|
2280
|
-
"--scrim-
|
|
2281
|
-
"--
|
|
2282
|
-
"--tint": "
|
|
2283
|
-
"--tint-
|
|
2278
|
+
"--scrim-color": "var(--surface-neutral-lowest)",
|
|
2279
|
+
"--scrim-opacity-low": "0.7",
|
|
2280
|
+
"--scrim-opacity": "0.8",
|
|
2281
|
+
"--scrim-opacity-high": "0.9",
|
|
2282
|
+
"--tint-color": "var(--text-primary)",
|
|
2283
|
+
"--tint-opacity-low": "0.05",
|
|
2284
|
+
"--tint-opacity": "0.1",
|
|
2285
|
+
"--tint-opacity-high": "0.15",
|
|
2284
2286
|
"--shadow-sm": "1px 1px 2px hsla(237, 18%, 3%, 0.9)",
|
|
2285
2287
|
"--shadow-md": "3px 3px 6px hsla(237, 18%, 3%, 0.9)",
|
|
2286
2288
|
"--shadow-lg": "5px 5px 9px hsla(237, 18%, 3%, 0.9)",
|
|
@@ -2448,7 +2450,7 @@
|
|
|
2448
2450
|
"family": null
|
|
2449
2451
|
}
|
|
2450
2452
|
],
|
|
2451
|
-
"schemaVersion":
|
|
2453
|
+
"schemaVersion": 9,
|
|
2452
2454
|
"gradients": [
|
|
2453
2455
|
{
|
|
2454
2456
|
"variable": "--gradient-1",
|
|
@@ -3034,8 +3036,7 @@
|
|
|
3034
3036
|
"createdAt": "2026-05-10T20:05:24.719Z",
|
|
3035
3037
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
3036
3038
|
"aliases": {
|
|
3037
|
-
"--dialog-scrim-
|
|
3038
|
-
"--dialog-scrim-opacity": "--scrim-opacity-high",
|
|
3039
|
+
"--dialog-scrim-surface": "--scrim-high",
|
|
3039
3040
|
"--dialog-surface": "--surface-neutral-lowest",
|
|
3040
3041
|
"--dialog-border": "--border-neutral-strong",
|
|
3041
3042
|
"--dialog-border-width": "--border-width-2",
|
|
@@ -3179,8 +3180,7 @@
|
|
|
3179
3180
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3180
3181
|
"--imagelightbox-tile-border-width": "--border-width-0",
|
|
3181
3182
|
"--imagelightbox-tile-shadow": "--shadow-md",
|
|
3182
|
-
"--imagelightbox-scrim-
|
|
3183
|
-
"--imagelightbox-scrim-opacity": "1",
|
|
3183
|
+
"--imagelightbox-scrim-surface": "--scrim-high",
|
|
3184
3184
|
"--imagelightbox-chrome-surface": "--surface-neutral-low",
|
|
3185
3185
|
"--imagelightbox-chrome-border": "--border-brand",
|
|
3186
3186
|
"--imagelightbox-chrome-border-width": "--border-width-1",
|
|
@@ -4034,5 +4034,5 @@
|
|
|
4034
4034
|
}
|
|
4035
4035
|
}
|
|
4036
4036
|
},
|
|
4037
|
-
"componentSchemaVersion":
|
|
4037
|
+
"componentSchemaVersion": 38
|
|
4038
4038
|
}
|
|
@@ -11,12 +11,14 @@
|
|
|
11
11
|
--columns-max-width: 1440px;
|
|
12
12
|
--columns-gutter: 32px;
|
|
13
13
|
--columns-margin: 0px;
|
|
14
|
-
--scrim-
|
|
15
|
-
--scrim
|
|
16
|
-
--scrim-
|
|
17
|
-
--
|
|
18
|
-
--tint:
|
|
19
|
-
--tint-
|
|
14
|
+
--scrim-color: var(--surface-neutral-lowest);
|
|
15
|
+
--scrim-opacity-low: 0.7;
|
|
16
|
+
--scrim-opacity: 0.8;
|
|
17
|
+
--scrim-opacity-high: 0.9;
|
|
18
|
+
--tint-color: var(--text-primary);
|
|
19
|
+
--tint-opacity-low: 0.05;
|
|
20
|
+
--tint-opacity: 0.1;
|
|
21
|
+
--tint-opacity-high: 0.15;
|
|
20
22
|
--shadow-sm: 1px 1px 2px hsla(237, 18%, 3%, 0.9);
|
|
21
23
|
--shadow-md: 3px 3px 6px hsla(237, 18%, 3%, 0.9);
|
|
22
24
|
--shadow-lg: 5px 5px 9px hsla(237, 18%, 3%, 0.9);
|
|
@@ -180,8 +180,7 @@
|
|
|
180
180
|
<style>
|
|
181
181
|
:global(:root) {
|
|
182
182
|
/* Scrim */
|
|
183
|
-
--dialog-scrim-
|
|
184
|
-
--dialog-scrim-opacity: var(--scrim-opacity-high);
|
|
183
|
+
--dialog-scrim-surface: var(--scrim-high);
|
|
185
184
|
|
|
186
185
|
/* Dialog frame */
|
|
187
186
|
--dialog-surface: var(--surface-neutral-lowest);
|
|
@@ -228,11 +227,7 @@
|
|
|
228
227
|
left: 0;
|
|
229
228
|
width: 100%;
|
|
230
229
|
height: 100%;
|
|
231
|
-
background:
|
|
232
|
-
in srgb,
|
|
233
|
-
var(--dialog-scrim-color) calc(var(--dialog-scrim-opacity) * 100%),
|
|
234
|
-
transparent
|
|
235
|
-
);
|
|
230
|
+
background: var(--dialog-scrim-surface);
|
|
236
231
|
display: flex;
|
|
237
232
|
justify-content: center;
|
|
238
233
|
align-items: center;
|
|
@@ -57,15 +57,11 @@
|
|
|
57
57
|
/** The width of that line, as any CSS length. Overrides
|
|
58
58
|
`--imagelightbox-tile-border-width`. */
|
|
59
59
|
borderWidth?: string | undefined;
|
|
60
|
-
/** The scrim
|
|
61
|
-
`--imagelightbox-scrim-
|
|
62
|
-
|
|
63
|
-
say so here. */
|
|
60
|
+
/** The scrim behind the open image, for this instance, as any CSS fill,
|
|
61
|
+
such as `var(--scrim-low)`. Overrides `--imagelightbox-scrim-surface`.
|
|
62
|
+
The modal portals to <body>, out of reach of a wrapper around the tile,
|
|
63
|
+
so a page that wants its own scrim has to say so here. */
|
|
64
64
|
scrim?: string | undefined;
|
|
65
|
-
/** How much of that colour covers the page, 0 to 1. Overrides
|
|
66
|
-
`--imagelightbox-scrim-opacity`, and stands on its own: the colour it
|
|
67
|
-
mixes with is whatever the theme holds. */
|
|
68
|
-
scrimOpacity?: number | undefined;
|
|
69
65
|
/** When true, shows a bottom toolbar (zoom in/out + percent) and a top-right close button, and enables wheel/drag zoom inside the open modal. When false, click anywhere closes. */
|
|
70
66
|
extended?: boolean;
|
|
71
67
|
/** Maximum zoom, as a multiple of the image's natural resolution: `1` = 100%
|
|
@@ -102,7 +98,6 @@
|
|
|
102
98
|
border = undefined,
|
|
103
99
|
borderWidth = undefined,
|
|
104
100
|
scrim = undefined,
|
|
105
|
-
scrimOpacity = undefined,
|
|
106
101
|
extended = false,
|
|
107
102
|
maxZoom = undefined,
|
|
108
103
|
capNatural = false,
|
|
@@ -658,8 +653,7 @@
|
|
|
658
653
|
<div
|
|
659
654
|
bind:this={overlayEl}
|
|
660
655
|
class="image-lightbox-overlay"
|
|
661
|
-
style:--imagelightbox-scrim-
|
|
662
|
-
style:--imagelightbox-scrim-opacity={scrimOpacity}
|
|
656
|
+
style:--imagelightbox-scrim-surface={scrim}
|
|
663
657
|
class:active={open}
|
|
664
658
|
aria-hidden="true"
|
|
665
659
|
onclick={closeLightbox}
|
|
@@ -783,8 +777,7 @@
|
|
|
783
777
|
--imagelightbox-tile-object-fit: contain;
|
|
784
778
|
|
|
785
779
|
/* overlay */
|
|
786
|
-
--imagelightbox-scrim-
|
|
787
|
-
--imagelightbox-scrim-opacity: var(--scrim-opacity-high);
|
|
780
|
+
--imagelightbox-scrim-surface: var(--scrim-high);
|
|
788
781
|
|
|
789
782
|
/* chrome (toolbar + close button) */
|
|
790
783
|
--imagelightbox-chrome-surface: var(--surface-neutral-low);
|
|
@@ -910,11 +903,7 @@
|
|
|
910
903
|
.image-lightbox-overlay {
|
|
911
904
|
position: fixed;
|
|
912
905
|
inset: 0;
|
|
913
|
-
background:
|
|
914
|
-
in srgb,
|
|
915
|
-
var(--imagelightbox-scrim-color) calc(var(--imagelightbox-scrim-opacity) * 100%),
|
|
916
|
-
transparent
|
|
917
|
-
);
|
|
906
|
+
background: var(--imagelightbox-scrim-surface);
|
|
918
907
|
backdrop-filter: blur(var(--blur-md));
|
|
919
908
|
z-index: var(--z-overlay);
|
|
920
909
|
opacity: 0;
|
|
@@ -273,19 +273,24 @@
|
|
|
273
273
|
instead of darkening it. The three stops stay, composed from the two, for
|
|
274
274
|
anywhere that wants one value. */
|
|
275
275
|
--scrim-color: rgb(20, 3, 0);
|
|
276
|
-
--scrim-opacity-low: 0.
|
|
277
|
-
--scrim-opacity: 0.
|
|
278
|
-
--scrim-opacity-high: 0.
|
|
276
|
+
--scrim-opacity-low: 0.7;
|
|
277
|
+
--scrim-opacity: 0.8;
|
|
278
|
+
--scrim-opacity-high: 0.9;
|
|
279
279
|
--scrim-low: color-mix(in srgb, var(--scrim-color) calc(var(--scrim-opacity-low) * 100%), transparent);
|
|
280
280
|
--scrim: color-mix(in srgb, var(--scrim-color) calc(var(--scrim-opacity) * 100%), transparent);
|
|
281
281
|
--scrim-high: color-mix(in srgb, var(--scrim-color) calc(var(--scrim-opacity-high) * 100%), transparent);
|
|
282
282
|
|
|
283
283
|
/* Tints — translucent washes that shade the surface they sit on, for a hover
|
|
284
|
-
or an active row. The theme aliases
|
|
285
|
-
lightens a dark theme and darkens a light one without picking a
|
|
286
|
-
|
|
287
|
-
--tint:
|
|
288
|
-
--tint-
|
|
284
|
+
or an active row. The theme aliases --tint-color to the text color, so a
|
|
285
|
+
tint lightens a dark theme and darkens a light one without picking a
|
|
286
|
+
direction. Colour and strength are separate, as for scrims. */
|
|
287
|
+
--tint-color: rgb(255, 255, 255);
|
|
288
|
+
--tint-opacity-low: 0.05;
|
|
289
|
+
--tint-opacity: 0.1;
|
|
290
|
+
--tint-opacity-high: 0.15;
|
|
291
|
+
--tint-low: color-mix(in srgb, var(--tint-color) calc(var(--tint-opacity-low) * 100%), transparent);
|
|
292
|
+
--tint: color-mix(in srgb, var(--tint-color) calc(var(--tint-opacity) * 100%), transparent);
|
|
293
|
+
--tint-high: color-mix(in srgb, var(--tint-color) calc(var(--tint-opacity-high) * 100%), transparent);
|
|
289
294
|
|
|
290
295
|
/* BORDERS — 5-point scales, faint → strong. */
|
|
291
296
|
|
|
@@ -783,6 +783,7 @@ var dialogContract = {
|
|
|
783
783
|
properties: [
|
|
784
784
|
{
|
|
785
785
|
paints: {
|
|
786
|
+
backdrop: { backgroundColor: "--dialog-scrim-surface" },
|
|
786
787
|
root: {
|
|
787
788
|
backgroundColor: "--dialog-surface",
|
|
788
789
|
borderTopColor: "--dialog-border",
|
|
@@ -831,9 +832,7 @@ var dialogContract = {
|
|
|
831
832
|
{ state: "footer" }
|
|
832
833
|
],
|
|
833
834
|
uncovered: {
|
|
834
|
-
"--dialog-blur": "consumed via backdrop-filter: blur(), which no probe covers"
|
|
835
|
-
"--dialog-scrim-color": "composed into the fill through color-mix(), so no computed style reports the token verbatim",
|
|
836
|
-
"--dialog-scrim-opacity": "composed into the fill through color-mix(), so no computed style reports the token verbatim"
|
|
835
|
+
"--dialog-blur": "consumed via backdrop-filter: blur(), which no probe covers"
|
|
837
836
|
},
|
|
838
837
|
persistence: {
|
|
839
838
|
cases: [
|
|
@@ -1118,6 +1117,7 @@ var imageLightboxContract = {
|
|
|
1118
1117
|
borderRadius: "--imagelightbox-tile-radius",
|
|
1119
1118
|
boxShadow: "--imagelightbox-tile-shadow"
|
|
1120
1119
|
},
|
|
1120
|
+
overlay: { backgroundColor: "--imagelightbox-scrim-surface" },
|
|
1121
1121
|
closeButton: {
|
|
1122
1122
|
backgroundColor: "--imagelightbox-chrome-surface",
|
|
1123
1123
|
borderTopColor: "--imagelightbox-chrome-border",
|
|
@@ -1137,10 +1137,6 @@ var imageLightboxContract = {
|
|
|
1137
1137
|
}
|
|
1138
1138
|
],
|
|
1139
1139
|
states: [{ state: "tile" }, { state: "overlay" }, { state: "chrome" }],
|
|
1140
|
-
uncovered: {
|
|
1141
|
-
"--imagelightbox-scrim-color": "composed into the fill through color-mix(), so no computed style reports the token verbatim",
|
|
1142
|
-
"--imagelightbox-scrim-opacity": "composed into the fill through color-mix(), so no computed style reports the token verbatim"
|
|
1143
|
-
},
|
|
1144
1140
|
persistence: {
|
|
1145
1141
|
cases: [
|
|
1146
1142
|
{
|
|
@@ -3372,4 +3368,4 @@ export {
|
|
|
3372
3368
|
allContracts,
|
|
3373
3369
|
selectedContracts
|
|
3374
3370
|
};
|
|
3375
|
-
//# sourceMappingURL=chunk-
|
|
3371
|
+
//# sourceMappingURL=chunk-RDHCBQ6I.js.map
|