@motion-proto/live-tokens 0.60.1 → 0.62.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-build-page/SKILL.md +1 -1
- package/.claude/skills/live-tokens-pair-fonts/SKILL.md +1 -1
- package/CHANGELOG.md +107 -0
- package/dist-plugin/{chunk-XWXIMTWZ.js → chunk-7TQQTHI6.js} +10 -1
- package/dist-plugin/{chunk-LW4SR7AZ.js → chunk-O6GQ6GBH.js} +1 -1
- package/dist-plugin/{chunk-E5QYON4L.js → chunk-OPYOK2CA.js} +77 -26
- package/dist-plugin/generateColorsAndType/index.js +2 -2
- package/dist-plugin/index.cjs +179 -25
- package/dist-plugin/index.js +99 -4
- package/dist-plugin/tokensCssMigrations/index.cjs +76 -25
- package/dist-plugin/tokensCssMigrations/index.js +2 -2
- package/package.json +6 -1
- package/src/app/site.css +16 -0
- package/src/editor/component-editor/CardEditor.svelte +7 -1
- package/src/editor/component-editor/ImageLightboxEditor.svelte +2 -1
- package/src/editor/component-editor/scaffolding/VariantGroup.svelte +25 -2
- package/src/editor/core/sketch/maskField.ts +70 -34
- package/src/editor/core/sketch/sketchLayer.ts +24 -3
- package/src/editor/core/sketch/sketchPresets.ts +10 -11
- package/src/editor/core/sketch/sketchStore.ts +89 -18
- package/src/editor/docs/Docs.svelte +1 -0
- package/src/editor/docs/chapters.ts +1 -0
- package/src/editor/docs/content/light-and-dark.md +90 -0
- package/src/editor/docs/content/sketch-mode.md +7 -2
- package/src/editor/docs/content.generated.ts +2 -1
- package/src/editor/overlay/LiveTokensRouter.svelte +8 -0
- package/src/editor/ui/sections/textStyles.ts +15 -1
- package/src/editor/ui/sketch/SketchTab.svelte +33 -81
- package/src/live-tokens/data/colors-and-type/midnight-study.json +40 -30
- package/src/live-tokens/data/themes/autumn.json +4 -3
- package/src/live-tokens/data/themes/halloween.json +4 -3
- package/src/live-tokens/data/themes/midnight-study.json +62 -49
- package/src/live-tokens/data/themes/ocean.json +4 -3
- package/src/live-tokens/data/themes/royal-velvet.json +4 -3
- package/src/live-tokens/data/themes/sketchy.json +4 -3
- package/src/live-tokens/data/themes/spring-meadow.json +4 -3
- package/src/live-tokens/data/themes/sunset.json +4 -3
- package/src/live-tokens/data/tokens.generated.css +5 -0
- package/src/system/backdrop/backdrop.ts +197 -0
- package/src/system/backdrop/index.ts +16 -0
- package/src/system/backdrop/watch.ts +139 -0
- package/src/system/components/Card.svelte +27 -9
- package/src/system/components/FloatingTokenTags.svelte +1 -1
- package/src/system/components/ImageLightbox.svelte +8 -4
- package/src/system/components/SectionDivider.svelte +3 -3
- package/src/system/components/SegmentedControl.svelte +11 -9
- package/src/system/styles/tokens.css +33 -5
- package/template/src/pages/Home.svelte +1 -11
- package/src/system/internal/backgroundContrast.ts +0 -62
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import UISegmentedControl from '../UISegmentedControl.svelte';
|
|
5
5
|
import SketchDial from './SketchDial.svelte';
|
|
6
6
|
import SketchRange from './SketchRange.svelte';
|
|
7
|
-
import { buildMaskUri
|
|
7
|
+
import { buildMaskUri } from '../../core/sketch/maskField';
|
|
8
8
|
import SketchPreview from './SketchPreview.svelte';
|
|
9
9
|
import { onMount } from 'svelte';
|
|
10
10
|
import UIPillButton from '../UIPillButton.svelte';
|
|
@@ -191,7 +191,12 @@
|
|
|
191
191
|
ceiling is a few blobs across a card, which is where it still reads as
|
|
192
192
|
uneven ink. */
|
|
193
193
|
const SIZE = { min: 20, max: 250 };
|
|
194
|
-
const BLUR_MAX =
|
|
194
|
+
const BLUR_MAX = 64;
|
|
195
|
+
/** Squared response. A blur only reads as a different blur while it is small,
|
|
196
|
+
so a linear walk to 64px would spend a tenth of the dial on everything
|
|
197
|
+
legible and the rest sliding between shades of gone. */
|
|
198
|
+
const blurPos = (px: number) => Math.round(Math.sqrt(px / BLUR_MAX) * 100);
|
|
199
|
+
const blurVal = (t: number) => Math.round(BLUR_MAX * (t / 100) ** 2 * 4) / 4;
|
|
195
200
|
|
|
196
201
|
/** Tones the field is flattened into, in the order the dial walks them:
|
|
197
202
|
smooth, then coarsening all the way down to two. The stored value is the
|
|
@@ -213,18 +218,12 @@
|
|
|
213
218
|
let outputMin = $derived(Math.round(s.maskOutputMin * 100));
|
|
214
219
|
let outputMax = $derived(Math.round(s.maskOutputMax * 100));
|
|
215
220
|
let stepPos = $derived(Math.max(0, STEP_TONES.indexOf(s.maskPosterize)));
|
|
221
|
+
let blurStep = $derived(blurPos(s.maskSoftness));
|
|
216
222
|
const setOutput = (min: number, max: number) =>
|
|
217
223
|
updateSketchSettings({ maskOutputMin: min / 100, maskOutputMax: max / 100 });
|
|
218
224
|
|
|
219
|
-
// The
|
|
220
|
-
// sample card, so blob size here is blob size on the components and the
|
|
221
|
-
// card's shadow is always on show: coverage that ate it would be a bug you
|
|
222
|
-
// saw at once.
|
|
225
|
+
// The finished field, the last stage and the one the components get.
|
|
223
226
|
let maskPreview = $derived(buildMaskUri(s));
|
|
224
|
-
// The field itself after each stage, white for ink.
|
|
225
|
-
let stageTiles = $derived(
|
|
226
|
-
(['noise', 'output', 'blur'] as const).map((stage) => ({ stage, uri: buildMaskUri(s, 9, stage) })),
|
|
227
|
-
);
|
|
228
227
|
</script>
|
|
229
228
|
|
|
230
229
|
<div class="sketch-tab">
|
|
@@ -538,21 +537,7 @@
|
|
|
538
537
|
</div>
|
|
539
538
|
|
|
540
539
|
<figure class="scope" class:muted={!s.maskOn}>
|
|
541
|
-
<div class="
|
|
542
|
-
<div
|
|
543
|
-
class="ink"
|
|
544
|
-
style:mask-image={maskPreview}
|
|
545
|
-
style:mask-size="{MASK_TILE}px {MASK_TILE}px"
|
|
546
|
-
></div>
|
|
547
|
-
</div>
|
|
548
|
-
<div class="stages">
|
|
549
|
-
{#each stageTiles as { stage, uri } (stage)}
|
|
550
|
-
<figure>
|
|
551
|
-
<div class="tile" style:mask-image={uri} style:mask-size="{MASK_TILE}px {MASK_TILE}px"></div>
|
|
552
|
-
<figcaption>{stage}</figcaption>
|
|
553
|
-
</figure>
|
|
554
|
-
{/each}
|
|
555
|
-
</div>
|
|
540
|
+
<div class="field" style:mask-image={maskPreview}></div>
|
|
556
541
|
</figure>
|
|
557
542
|
|
|
558
543
|
<h5>Noise</h5>
|
|
@@ -580,10 +565,13 @@
|
|
|
580
565
|
onchange={(v) => updateSketchSettings({ maskOctaves: v })}
|
|
581
566
|
/>
|
|
582
567
|
|
|
583
|
-
<h5>
|
|
568
|
+
<h5>Levels</h5>
|
|
584
569
|
<p class="group-note">
|
|
585
|
-
|
|
586
|
-
|
|
570
|
+
The field runs black to white before these apply. Output states the
|
|
571
|
+
range of ink the mask paints between, 0 bare to 100 whole, and the
|
|
572
|
+
whole field is squeezed into it: raise the low handle and the
|
|
573
|
+
darkest patch rises with it, drop the high handle and the densest
|
|
574
|
+
falls. Nothing is ever cut off at a handle.
|
|
587
575
|
</p>
|
|
588
576
|
<SketchRange
|
|
589
577
|
label="Output" low={outputMin} high={outputMax} min={0} max={100} step={1}
|
|
@@ -602,10 +590,11 @@
|
|
|
602
590
|
|
|
603
591
|
<h5>Blur</h5>
|
|
604
592
|
<SketchDial
|
|
605
|
-
label="Blur" value={
|
|
593
|
+
label="Blur" value={blurStep} min={0} max={100} step={1}
|
|
606
594
|
readout={px(s.maskSoftness)}
|
|
607
|
-
|
|
608
|
-
|
|
595
|
+
ends={['hard', 'clouded']}
|
|
596
|
+
hint="Softens the blotch edges. Few tones with a little blur give a hard blotch with a soft rim; wound right up the field goes to weather."
|
|
597
|
+
onchange={(v) => updateSketchSettings({ maskSoftness: blurVal(v) })}
|
|
609
598
|
/>
|
|
610
599
|
</div>
|
|
611
600
|
</div>
|
|
@@ -1196,69 +1185,32 @@
|
|
|
1196
1185
|
pointer-events: none;
|
|
1197
1186
|
}
|
|
1198
1187
|
|
|
1188
|
+
/* The ground the field is cut out of, so a masked-away pixel reads as black
|
|
1189
|
+
rather than as the panel. */
|
|
1199
1190
|
.scope {
|
|
1200
1191
|
margin: 0;
|
|
1201
|
-
display: flex;
|
|
1202
|
-
flex-direction: column;
|
|
1203
|
-
gap: var(--ui-space-4);
|
|
1204
|
-
transition: opacity var(--ui-transition-base);
|
|
1205
|
-
}
|
|
1206
|
-
|
|
1207
|
-
.scope.muted {
|
|
1208
|
-
opacity: 0.4;
|
|
1209
|
-
}
|
|
1210
|
-
|
|
1211
|
-
/* The shadow sits on the card and the mask on the fill inside it: the same
|
|
1212
|
-
split the fill layer makes, so what this shows is what the page does. */
|
|
1213
|
-
.sample {
|
|
1214
|
-
height: 6rem;
|
|
1215
|
-
padding: var(--ui-space-16) var(--ui-space-24);
|
|
1216
1192
|
border: 1px solid var(--ui-border-low);
|
|
1217
1193
|
border-radius: var(--ui-radius-sm);
|
|
1218
1194
|
background: var(--ui-surface-lowest);
|
|
1219
1195
|
overflow: hidden;
|
|
1196
|
+
transition: opacity var(--ui-transition-base);
|
|
1220
1197
|
}
|
|
1221
1198
|
|
|
1222
|
-
.
|
|
1223
|
-
|
|
1224
|
-
}
|
|
1225
|
-
|
|
1226
|
-
.stages {
|
|
1227
|
-
display: grid;
|
|
1228
|
-
grid-template-columns: repeat(3, 1fr);
|
|
1229
|
-
gap: var(--ui-space-8);
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
.stages figure {
|
|
1233
|
-
margin: 0;
|
|
1199
|
+
.scope.muted {
|
|
1200
|
+
opacity: 0.4;
|
|
1234
1201
|
}
|
|
1235
1202
|
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1203
|
+
/* One readout of the finished field: the whole tile, repeated across the
|
|
1204
|
+
strip, white on that ground so 0 reads as black and 100 as white. Neither
|
|
1205
|
+
was readable before. The field was painted at page-px size, which showed a
|
|
1206
|
+
crop off the top of the tile that never reached the bright end, over an ink
|
|
1207
|
+
colour that could not have painted it if it had. */
|
|
1208
|
+
.field {
|
|
1209
|
+
height: 7rem;
|
|
1239
1210
|
background: var(--ui-text-primary);
|
|
1240
1211
|
mask-mode: luminance;
|
|
1241
1212
|
mask-repeat: repeat;
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
.stages figcaption {
|
|
1245
|
-
margin-top: var(--ui-space-2);
|
|
1246
|
-
font-size: var(--ui-font-size-xs);
|
|
1247
|
-
text-align: center;
|
|
1248
|
-
text-transform: uppercase;
|
|
1249
|
-
letter-spacing: 0.06em;
|
|
1250
|
-
color: var(--ui-text-tertiary);
|
|
1251
|
-
}
|
|
1252
|
-
|
|
1253
|
-
.ink {
|
|
1254
|
-
height: 100%;
|
|
1255
|
-
border-radius: var(--ui-radius-md);
|
|
1256
|
-
/* An ink colour, not a surface one: the point of the swatch is the
|
|
1257
|
-
blotches, and the surface rungs sit within a shade or two of the ground
|
|
1258
|
-
under them, which showed the finished field as a flat dark rectangle. */
|
|
1259
|
-
background: var(--ui-text-muted);
|
|
1260
|
-
mask-mode: luminance;
|
|
1261
|
-
mask-repeat: repeat;
|
|
1213
|
+
mask-size: contain;
|
|
1262
1214
|
}
|
|
1263
1215
|
|
|
1264
1216
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "Midnight Study",
|
|
3
|
-
"createdAt": "2026-08-
|
|
4
|
-
"updatedAt": "2026-08-
|
|
3
|
+
"createdAt": "2026-08-27T17:01:37.984Z",
|
|
4
|
+
"updatedAt": "2026-08-27T17:01:37.984Z",
|
|
5
5
|
"editorConfigs": {
|
|
6
6
|
"Brand": {
|
|
7
7
|
"baseColor": {
|
|
@@ -2262,10 +2262,6 @@
|
|
|
2262
2262
|
}
|
|
2263
2263
|
},
|
|
2264
2264
|
"cssVariables": {
|
|
2265
|
-
"--gradient-1": "linear-gradient(90deg, var(--color-brand-400) 0%, var(--color-brand-700) 100%)",
|
|
2266
|
-
"--gradient-2": "linear-gradient(135deg, var(--color-special-500) 0%, var(--color-brand-500) 100%)",
|
|
2267
|
-
"--gradient-3": "linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%)",
|
|
2268
|
-
"--gradient-4": "linear-gradient(180deg, var(--color-canvas-600) 0%, var(--color-canvas-900) 100%)",
|
|
2269
2265
|
"--badge-trait-surface": "var(--surface-brand)",
|
|
2270
2266
|
"--badge-trait-text": "var(--text-brand)",
|
|
2271
2267
|
"--badge-trait-text-font-family": "var(--font-sans)",
|
|
@@ -2316,7 +2312,15 @@
|
|
|
2316
2312
|
"--shadow-md": "3px 3px 6px hsla(237, 18%, 3%, 0.9)",
|
|
2317
2313
|
"--shadow-lg": "5px 5px 9px hsla(237, 18%, 3%, 0.9)",
|
|
2318
2314
|
"--shadow-xl": "6px 7px 13px hsla(237, 18%, 3%, 0.9)",
|
|
2319
|
-
"--shadow-2xl": "8px 9px 16px hsla(237, 18%, 3%, 0.9)"
|
|
2315
|
+
"--shadow-2xl": "8px 9px 16px hsla(237, 18%, 3%, 0.9)",
|
|
2316
|
+
"--gradient-1": "linear-gradient(90deg, var(--color-brand-400) 0%, var(--color-brand-700) 100%)",
|
|
2317
|
+
"--gradient-1-stops": "var(--color-brand-400) 0%, var(--color-brand-700) 100%",
|
|
2318
|
+
"--gradient-2": "linear-gradient(135deg, var(--color-special-500) 0%, var(--color-brand-500) 100%)",
|
|
2319
|
+
"--gradient-2-stops": "var(--color-special-500) 0%, var(--color-brand-500) 100%",
|
|
2320
|
+
"--gradient-3": "linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%)",
|
|
2321
|
+
"--gradient-3-stops": "var(--color-brand-500) 0%, var(--color-accent-500) 100%",
|
|
2322
|
+
"--gradient-4": "linear-gradient(180deg, color-mix(in srgb, var(--color-canvas-600) 49%, transparent) 0%, var(--color-canvas-850) 14.2%, var(--color-canvas-900) 83.8%)",
|
|
2323
|
+
"--gradient-4-stops": "color-mix(in srgb, var(--color-canvas-600) 49%, transparent) 0%, var(--color-canvas-850) 14.2%, var(--color-canvas-900) 83.8%"
|
|
2320
2324
|
},
|
|
2321
2325
|
"fontSources": [
|
|
2322
2326
|
{
|
|
@@ -2469,25 +2473,6 @@
|
|
|
2469
2473
|
]
|
|
2470
2474
|
}
|
|
2471
2475
|
],
|
|
2472
|
-
"harmonyAxes": [
|
|
2473
|
-
{
|
|
2474
|
-
"hue": 300,
|
|
2475
|
-
"family": "Brand"
|
|
2476
|
-
},
|
|
2477
|
-
{
|
|
2478
|
-
"hue": 340,
|
|
2479
|
-
"family": "Accent"
|
|
2480
|
-
},
|
|
2481
|
-
{
|
|
2482
|
-
"hue": 268,
|
|
2483
|
-
"family": "Canvas"
|
|
2484
|
-
},
|
|
2485
|
-
{
|
|
2486
|
-
"hue": 210,
|
|
2487
|
-
"family": null
|
|
2488
|
-
}
|
|
2489
|
-
],
|
|
2490
|
-
"schemaVersion": 3,
|
|
2491
2476
|
"gradients": [
|
|
2492
2477
|
{
|
|
2493
2478
|
"variable": "--gradient-1",
|
|
@@ -2541,13 +2526,38 @@
|
|
|
2541
2526
|
"stops": [
|
|
2542
2527
|
{
|
|
2543
2528
|
"position": 0,
|
|
2544
|
-
"color": "--color-canvas-600"
|
|
2529
|
+
"color": "--color-canvas-600",
|
|
2530
|
+
"opacity": 49
|
|
2545
2531
|
},
|
|
2546
2532
|
{
|
|
2547
|
-
"position":
|
|
2533
|
+
"position": 14.2,
|
|
2534
|
+
"color": "--color-canvas-850",
|
|
2535
|
+
"opacity": 100
|
|
2536
|
+
},
|
|
2537
|
+
{
|
|
2538
|
+
"position": 83.8,
|
|
2548
2539
|
"color": "--color-canvas-900"
|
|
2549
2540
|
}
|
|
2550
2541
|
]
|
|
2551
2542
|
}
|
|
2552
|
-
]
|
|
2553
|
-
|
|
2543
|
+
],
|
|
2544
|
+
"harmonyAxes": [
|
|
2545
|
+
{
|
|
2546
|
+
"hue": 300,
|
|
2547
|
+
"family": "Brand"
|
|
2548
|
+
},
|
|
2549
|
+
{
|
|
2550
|
+
"hue": 340,
|
|
2551
|
+
"family": "Accent"
|
|
2552
|
+
},
|
|
2553
|
+
{
|
|
2554
|
+
"hue": 268,
|
|
2555
|
+
"family": "Canvas"
|
|
2556
|
+
},
|
|
2557
|
+
{
|
|
2558
|
+
"hue": 210,
|
|
2559
|
+
"family": null
|
|
2560
|
+
}
|
|
2561
|
+
],
|
|
2562
|
+
"schemaVersion": 5
|
|
2563
|
+
}
|
|
@@ -3166,6 +3166,7 @@
|
|
|
3166
3166
|
"createdAt": "2026-05-26T02:03:38.863Z",
|
|
3167
3167
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
3168
3168
|
"aliases": {
|
|
3169
|
+
"--imagelightbox-tile-surface": "--color-transparent",
|
|
3169
3170
|
"--imagelightbox-tile-radius": "--radius-4xl",
|
|
3170
3171
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3171
3172
|
"--imagelightbox-tile-border-width": "--border-width-0",
|
|
@@ -3529,7 +3530,7 @@
|
|
|
3529
3530
|
"--sectiondivider-lg-description": "--text-alternate",
|
|
3530
3531
|
"--sectiondivider-lg-eyebrow": "--text-brand",
|
|
3531
3532
|
"--sectiondivider-lg-border": "--color-transparent",
|
|
3532
|
-
"--sectiondivider-lg-title-outline-color": "
|
|
3533
|
+
"--sectiondivider-lg-title-outline-color": "transparent",
|
|
3533
3534
|
"--sectiondivider-lg-hairline-color": "--border-brand-medium",
|
|
3534
3535
|
"--sectiondivider-md-title-font-family": "--font-display",
|
|
3535
3536
|
"--sectiondivider-md-title-font-weight": "--font-weight-bold",
|
|
@@ -3558,7 +3559,7 @@
|
|
|
3558
3559
|
"--sectiondivider-md-description": "--text-secondary",
|
|
3559
3560
|
"--sectiondivider-md-eyebrow": "--text-tertiary",
|
|
3560
3561
|
"--sectiondivider-md-border": "--color-transparent",
|
|
3561
|
-
"--sectiondivider-md-title-outline-color": "
|
|
3562
|
+
"--sectiondivider-md-title-outline-color": "transparent",
|
|
3562
3563
|
"--sectiondivider-md-hairline-color": "--border-brand-medium",
|
|
3563
3564
|
"--sectiondivider-sm-title-font-family": "--font-display",
|
|
3564
3565
|
"--sectiondivider-sm-title-font-weight": "--font-weight-medium",
|
|
@@ -3587,7 +3588,7 @@
|
|
|
3587
3588
|
"--sectiondivider-sm-description": "--text-secondary",
|
|
3588
3589
|
"--sectiondivider-sm-eyebrow": "--text-tertiary",
|
|
3589
3590
|
"--sectiondivider-sm-border": "--color-transparent",
|
|
3590
|
-
"--sectiondivider-sm-title-outline-color": "
|
|
3591
|
+
"--sectiondivider-sm-title-outline-color": "transparent",
|
|
3591
3592
|
"--sectiondivider-sm-hairline-color": "color-mix(in srgb, var(--border-brand-medium) 50%, transparent)"
|
|
3592
3593
|
}
|
|
3593
3594
|
},
|
|
@@ -3205,6 +3205,7 @@
|
|
|
3205
3205
|
"createdAt": "2026-05-26T02:03:38.863Z",
|
|
3206
3206
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
3207
3207
|
"aliases": {
|
|
3208
|
+
"--imagelightbox-tile-surface": "--color-transparent",
|
|
3208
3209
|
"--imagelightbox-tile-radius": "--radius-none",
|
|
3209
3210
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3210
3211
|
"--imagelightbox-tile-border-width": "--border-width-2",
|
|
@@ -3568,7 +3569,7 @@
|
|
|
3568
3569
|
"--sectiondivider-lg-description": "--text-alternate",
|
|
3569
3570
|
"--sectiondivider-lg-eyebrow": "--text-brand",
|
|
3570
3571
|
"--sectiondivider-lg-border": "--color-transparent",
|
|
3571
|
-
"--sectiondivider-lg-title-outline-color": "
|
|
3572
|
+
"--sectiondivider-lg-title-outline-color": "transparent",
|
|
3572
3573
|
"--sectiondivider-lg-hairline-color": "--border-brand-medium",
|
|
3573
3574
|
"--sectiondivider-md-title-font-family": "--font-display",
|
|
3574
3575
|
"--sectiondivider-md-title-font-weight": "--font-weight-bold",
|
|
@@ -3597,7 +3598,7 @@
|
|
|
3597
3598
|
"--sectiondivider-md-description": "--text-secondary",
|
|
3598
3599
|
"--sectiondivider-md-eyebrow": "--text-tertiary",
|
|
3599
3600
|
"--sectiondivider-md-border": "--color-transparent",
|
|
3600
|
-
"--sectiondivider-md-title-outline-color": "
|
|
3601
|
+
"--sectiondivider-md-title-outline-color": "transparent",
|
|
3601
3602
|
"--sectiondivider-md-hairline-color": "--border-brand-medium",
|
|
3602
3603
|
"--sectiondivider-sm-title-font-family": "--font-display",
|
|
3603
3604
|
"--sectiondivider-sm-title-font-weight": "--font-weight-medium",
|
|
@@ -3626,7 +3627,7 @@
|
|
|
3626
3627
|
"--sectiondivider-sm-description": "--text-secondary",
|
|
3627
3628
|
"--sectiondivider-sm-eyebrow": "--text-tertiary",
|
|
3628
3629
|
"--sectiondivider-sm-border": "--color-transparent",
|
|
3629
|
-
"--sectiondivider-sm-title-outline-color": "
|
|
3630
|
+
"--sectiondivider-sm-title-outline-color": "transparent",
|
|
3630
3631
|
"--sectiondivider-sm-hairline-color": "color-mix(in srgb, var(--border-brand-medium) 50%, transparent)"
|
|
3631
3632
|
}
|
|
3632
3633
|
},
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "Midnight Study",
|
|
3
3
|
"createdAt": "2026-08-13T10:21:46.867Z",
|
|
4
|
-
"updatedAt": "2026-08-
|
|
4
|
+
"updatedAt": "2026-08-27T17:03:51.623Z",
|
|
5
5
|
"schemaVersion": 4,
|
|
6
6
|
"colorsAndType": {
|
|
7
7
|
"name": "Midnight Study",
|
|
8
|
-
"createdAt": "2026-08-
|
|
9
|
-
"updatedAt": "2026-08-
|
|
8
|
+
"createdAt": "2026-08-27T17:01:37.984Z",
|
|
9
|
+
"updatedAt": "2026-08-27T17:01:37.984Z",
|
|
10
10
|
"editorConfigs": {
|
|
11
11
|
"Brand": {
|
|
12
12
|
"baseColor": {
|
|
@@ -2267,10 +2267,6 @@
|
|
|
2267
2267
|
}
|
|
2268
2268
|
},
|
|
2269
2269
|
"cssVariables": {
|
|
2270
|
-
"--gradient-1": "linear-gradient(90deg, var(--color-brand-400) 0%, var(--color-brand-700) 100%)",
|
|
2271
|
-
"--gradient-2": "linear-gradient(135deg, var(--color-special-500) 0%, var(--color-brand-500) 100%)",
|
|
2272
|
-
"--gradient-3": "linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%)",
|
|
2273
|
-
"--gradient-4": "linear-gradient(180deg, var(--color-canvas-600) 0%, var(--color-canvas-900) 100%)",
|
|
2274
2270
|
"--badge-trait-surface": "var(--surface-brand)",
|
|
2275
2271
|
"--badge-trait-text": "var(--text-brand)",
|
|
2276
2272
|
"--badge-trait-text-font-family": "var(--font-sans)",
|
|
@@ -2321,7 +2317,15 @@
|
|
|
2321
2317
|
"--shadow-md": "3px 3px 6px hsla(237, 18%, 3%, 0.9)",
|
|
2322
2318
|
"--shadow-lg": "5px 5px 9px hsla(237, 18%, 3%, 0.9)",
|
|
2323
2319
|
"--shadow-xl": "6px 7px 13px hsla(237, 18%, 3%, 0.9)",
|
|
2324
|
-
"--shadow-2xl": "8px 9px 16px hsla(237, 18%, 3%, 0.9)"
|
|
2320
|
+
"--shadow-2xl": "8px 9px 16px hsla(237, 18%, 3%, 0.9)",
|
|
2321
|
+
"--gradient-1": "linear-gradient(90deg, var(--color-brand-400) 0%, var(--color-brand-700) 100%)",
|
|
2322
|
+
"--gradient-1-stops": "var(--color-brand-400) 0%, var(--color-brand-700) 100%",
|
|
2323
|
+
"--gradient-2": "linear-gradient(135deg, var(--color-special-500) 0%, var(--color-brand-500) 100%)",
|
|
2324
|
+
"--gradient-2-stops": "var(--color-special-500) 0%, var(--color-brand-500) 100%",
|
|
2325
|
+
"--gradient-3": "linear-gradient(90deg, var(--color-brand-500) 0%, var(--color-accent-500) 100%)",
|
|
2326
|
+
"--gradient-3-stops": "var(--color-brand-500) 0%, var(--color-accent-500) 100%",
|
|
2327
|
+
"--gradient-4": "linear-gradient(180deg, color-mix(in srgb, var(--color-canvas-600) 49%, transparent) 0%, var(--color-canvas-850) 14.2%, var(--color-canvas-900) 83.8%)",
|
|
2328
|
+
"--gradient-4-stops": "color-mix(in srgb, var(--color-canvas-600) 49%, transparent) 0%, var(--color-canvas-850) 14.2%, var(--color-canvas-900) 83.8%"
|
|
2325
2329
|
},
|
|
2326
2330
|
"fontSources": [
|
|
2327
2331
|
{
|
|
@@ -2474,25 +2478,6 @@
|
|
|
2474
2478
|
]
|
|
2475
2479
|
}
|
|
2476
2480
|
],
|
|
2477
|
-
"harmonyAxes": [
|
|
2478
|
-
{
|
|
2479
|
-
"hue": 300,
|
|
2480
|
-
"family": "Brand"
|
|
2481
|
-
},
|
|
2482
|
-
{
|
|
2483
|
-
"hue": 340,
|
|
2484
|
-
"family": "Accent"
|
|
2485
|
-
},
|
|
2486
|
-
{
|
|
2487
|
-
"hue": 268,
|
|
2488
|
-
"family": "Canvas"
|
|
2489
|
-
},
|
|
2490
|
-
{
|
|
2491
|
-
"hue": 210,
|
|
2492
|
-
"family": null
|
|
2493
|
-
}
|
|
2494
|
-
],
|
|
2495
|
-
"schemaVersion": 3,
|
|
2496
2481
|
"gradients": [
|
|
2497
2482
|
{
|
|
2498
2483
|
"variable": "--gradient-1",
|
|
@@ -2546,15 +2531,40 @@
|
|
|
2546
2531
|
"stops": [
|
|
2547
2532
|
{
|
|
2548
2533
|
"position": 0,
|
|
2549
|
-
"color": "--color-canvas-600"
|
|
2534
|
+
"color": "--color-canvas-600",
|
|
2535
|
+
"opacity": 49
|
|
2550
2536
|
},
|
|
2551
2537
|
{
|
|
2552
|
-
"position":
|
|
2538
|
+
"position": 14.2,
|
|
2539
|
+
"color": "--color-canvas-850",
|
|
2540
|
+
"opacity": 100
|
|
2541
|
+
},
|
|
2542
|
+
{
|
|
2543
|
+
"position": 83.8,
|
|
2553
2544
|
"color": "--color-canvas-900"
|
|
2554
2545
|
}
|
|
2555
2546
|
]
|
|
2556
2547
|
}
|
|
2557
|
-
]
|
|
2548
|
+
],
|
|
2549
|
+
"harmonyAxes": [
|
|
2550
|
+
{
|
|
2551
|
+
"hue": 300,
|
|
2552
|
+
"family": "Brand"
|
|
2553
|
+
},
|
|
2554
|
+
{
|
|
2555
|
+
"hue": 340,
|
|
2556
|
+
"family": "Accent"
|
|
2557
|
+
},
|
|
2558
|
+
{
|
|
2559
|
+
"hue": 268,
|
|
2560
|
+
"family": "Canvas"
|
|
2561
|
+
},
|
|
2562
|
+
{
|
|
2563
|
+
"hue": 210,
|
|
2564
|
+
"family": null
|
|
2565
|
+
}
|
|
2566
|
+
],
|
|
2567
|
+
"schemaVersion": 5
|
|
2558
2568
|
},
|
|
2559
2569
|
"componentConfigs": {
|
|
2560
2570
|
"badge": {
|
|
@@ -2886,10 +2896,10 @@
|
|
|
2886
2896
|
"card": {
|
|
2887
2897
|
"name": "midnight-study",
|
|
2888
2898
|
"component": "card",
|
|
2889
|
-
"createdAt": "2026-
|
|
2890
|
-
"updatedAt": "2026-08-
|
|
2899
|
+
"createdAt": "2026-08-27T17:02:30.403Z",
|
|
2900
|
+
"updatedAt": "2026-08-27T17:02:30.403Z",
|
|
2891
2901
|
"aliases": {
|
|
2892
|
-
"--card-default-surface": "
|
|
2902
|
+
"--card-default-surface": "--gradient-4",
|
|
2893
2903
|
"--card-default-border": "--border-neutral",
|
|
2894
2904
|
"--card-default-border-width": "--border-width-1",
|
|
2895
2905
|
"--card-default-radius": "--radius-sm",
|
|
@@ -2899,14 +2909,14 @@
|
|
|
2899
2909
|
"--card-default-header-padding-bottom": "--space-8",
|
|
2900
2910
|
"--card-default-header-padding-left": "--space-12",
|
|
2901
2911
|
"--card-default-header-gap": "--space-6",
|
|
2902
|
-
"--card-default-body-padding": "--space-
|
|
2903
|
-
"--card-default-body-padding-top": "--space-
|
|
2904
|
-
"--card-default-body-padding-right": "--space-
|
|
2905
|
-
"--card-default-body-padding-bottom": "--space-
|
|
2906
|
-
"--card-default-body-padding-left": "--space-
|
|
2912
|
+
"--card-default-body-padding": "--space-16",
|
|
2913
|
+
"--card-default-body-padding-top": "--space-16",
|
|
2914
|
+
"--card-default-body-padding-right": "--space-20",
|
|
2915
|
+
"--card-default-body-padding-bottom": "--space-48",
|
|
2916
|
+
"--card-default-body-padding-left": "--space-20",
|
|
2907
2917
|
"--card-default-shadow": "--shadow-sm",
|
|
2908
2918
|
"--card-default-blur": "--blur-none",
|
|
2909
|
-
"--card-default-header-surface": "color-mix(in srgb, var(--
|
|
2919
|
+
"--card-default-header-surface": "color-mix(in srgb, var(--color-brand-700) 60%, transparent)",
|
|
2910
2920
|
"--card-default-title": "--text-primary",
|
|
2911
2921
|
"--card-default-title-font-family": "--font-sans",
|
|
2912
2922
|
"--card-default-title-font-size": "--font-size-2xl",
|
|
@@ -2922,7 +2932,8 @@
|
|
|
2922
2932
|
"--card-hover-shadow": "--shadow-md",
|
|
2923
2933
|
"--card-hover-border-active": "--card-default-border",
|
|
2924
2934
|
"--card-hover-shadow-active": "--card-default-shadow"
|
|
2925
|
-
}
|
|
2935
|
+
},
|
|
2936
|
+
"config": {}
|
|
2926
2937
|
},
|
|
2927
2938
|
"codesnippet": {
|
|
2928
2939
|
"name": "midnight-study",
|
|
@@ -3212,6 +3223,7 @@
|
|
|
3212
3223
|
"createdAt": "2026-05-26T02:03:38.863Z",
|
|
3213
3224
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
3214
3225
|
"aliases": {
|
|
3226
|
+
"--imagelightbox-tile-surface": "--color-transparent",
|
|
3215
3227
|
"--imagelightbox-tile-radius": "--radius-2xl",
|
|
3216
3228
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3217
3229
|
"--imagelightbox-tile-border-width": "--border-width-0",
|
|
@@ -3452,8 +3464,8 @@
|
|
|
3452
3464
|
"panel": {
|
|
3453
3465
|
"name": "midnight-study",
|
|
3454
3466
|
"component": "panel",
|
|
3455
|
-
"createdAt": "2026-
|
|
3456
|
-
"updatedAt": "2026-08-
|
|
3467
|
+
"createdAt": "2026-08-27T17:03:50.744Z",
|
|
3468
|
+
"updatedAt": "2026-08-27T17:03:50.744Z",
|
|
3457
3469
|
"aliases": {
|
|
3458
3470
|
"--panel-frame-border": "--border-neutral",
|
|
3459
3471
|
"--panel-frame-border-width": "--border-width-1",
|
|
@@ -3477,10 +3489,11 @@
|
|
|
3477
3489
|
]
|
|
3478
3490
|
}
|
|
3479
3491
|
},
|
|
3480
|
-
"--panel-stage-padding": "--space-
|
|
3481
|
-
"--panel-stage-inline-padding": "--space-
|
|
3482
|
-
"--panel-stage-gap": "--space-
|
|
3483
|
-
}
|
|
3492
|
+
"--panel-stage-padding": "--space-16",
|
|
3493
|
+
"--panel-stage-inline-padding": "--space-24",
|
|
3494
|
+
"--panel-stage-gap": "--space-16"
|
|
3495
|
+
},
|
|
3496
|
+
"config": {}
|
|
3484
3497
|
},
|
|
3485
3498
|
"progressbar": {
|
|
3486
3499
|
"name": "midnight-study",
|
|
@@ -3575,7 +3588,7 @@
|
|
|
3575
3588
|
"--sectiondivider-lg-description": "--text-alternate",
|
|
3576
3589
|
"--sectiondivider-lg-eyebrow": "--text-brand",
|
|
3577
3590
|
"--sectiondivider-lg-border": "--color-transparent",
|
|
3578
|
-
"--sectiondivider-lg-title-outline-color": "
|
|
3591
|
+
"--sectiondivider-lg-title-outline-color": "transparent",
|
|
3579
3592
|
"--sectiondivider-lg-hairline-color": "--border-brand-medium",
|
|
3580
3593
|
"--sectiondivider-md-title-font-family": "--font-display",
|
|
3581
3594
|
"--sectiondivider-md-title-font-weight": "--font-weight-bold",
|
|
@@ -3604,7 +3617,7 @@
|
|
|
3604
3617
|
"--sectiondivider-md-description": "--text-secondary",
|
|
3605
3618
|
"--sectiondivider-md-eyebrow": "--text-tertiary",
|
|
3606
3619
|
"--sectiondivider-md-border": "--color-transparent",
|
|
3607
|
-
"--sectiondivider-md-title-outline-color": "
|
|
3620
|
+
"--sectiondivider-md-title-outline-color": "transparent",
|
|
3608
3621
|
"--sectiondivider-md-hairline-color": "--border-brand-medium",
|
|
3609
3622
|
"--sectiondivider-sm-title-font-family": "--font-display",
|
|
3610
3623
|
"--sectiondivider-sm-title-font-weight": "--font-weight-medium",
|
|
@@ -3633,7 +3646,7 @@
|
|
|
3633
3646
|
"--sectiondivider-sm-description": "--text-secondary",
|
|
3634
3647
|
"--sectiondivider-sm-eyebrow": "--text-tertiary",
|
|
3635
3648
|
"--sectiondivider-sm-border": "--color-transparent",
|
|
3636
|
-
"--sectiondivider-sm-title-outline-color": "
|
|
3649
|
+
"--sectiondivider-sm-title-outline-color": "transparent",
|
|
3637
3650
|
"--sectiondivider-sm-hairline-color": "color-mix(in srgb, var(--border-brand-medium) 50%, transparent)"
|
|
3638
3651
|
}
|
|
3639
3652
|
},
|
|
@@ -3165,6 +3165,7 @@
|
|
|
3165
3165
|
"createdAt": "2026-05-26T02:03:38.863Z",
|
|
3166
3166
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
3167
3167
|
"aliases": {
|
|
3168
|
+
"--imagelightbox-tile-surface": "--color-transparent",
|
|
3168
3169
|
"--imagelightbox-tile-radius": "--radius-4xl",
|
|
3169
3170
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3170
3171
|
"--imagelightbox-tile-border-width": "--border-width-0",
|
|
@@ -3528,7 +3529,7 @@
|
|
|
3528
3529
|
"--sectiondivider-lg-description": "--text-alternate",
|
|
3529
3530
|
"--sectiondivider-lg-eyebrow": "--text-brand",
|
|
3530
3531
|
"--sectiondivider-lg-border": "--color-transparent",
|
|
3531
|
-
"--sectiondivider-lg-title-outline-color": "
|
|
3532
|
+
"--sectiondivider-lg-title-outline-color": "transparent",
|
|
3532
3533
|
"--sectiondivider-lg-hairline-color": "--border-brand-medium",
|
|
3533
3534
|
"--sectiondivider-md-title-font-family": "--font-display",
|
|
3534
3535
|
"--sectiondivider-md-title-font-weight": "--font-weight-bold",
|
|
@@ -3557,7 +3558,7 @@
|
|
|
3557
3558
|
"--sectiondivider-md-description": "--text-secondary",
|
|
3558
3559
|
"--sectiondivider-md-eyebrow": "--text-tertiary",
|
|
3559
3560
|
"--sectiondivider-md-border": "--color-transparent",
|
|
3560
|
-
"--sectiondivider-md-title-outline-color": "
|
|
3561
|
+
"--sectiondivider-md-title-outline-color": "transparent",
|
|
3561
3562
|
"--sectiondivider-md-hairline-color": "--border-brand-medium",
|
|
3562
3563
|
"--sectiondivider-sm-title-font-family": "--font-display",
|
|
3563
3564
|
"--sectiondivider-sm-title-font-weight": "--font-weight-medium",
|
|
@@ -3586,7 +3587,7 @@
|
|
|
3586
3587
|
"--sectiondivider-sm-description": "--text-secondary",
|
|
3587
3588
|
"--sectiondivider-sm-eyebrow": "--text-tertiary",
|
|
3588
3589
|
"--sectiondivider-sm-border": "--color-transparent",
|
|
3589
|
-
"--sectiondivider-sm-title-outline-color": "
|
|
3590
|
+
"--sectiondivider-sm-title-outline-color": "transparent",
|
|
3590
3591
|
"--sectiondivider-sm-hairline-color": "color-mix(in srgb, var(--border-brand-medium) 50%, transparent)"
|
|
3591
3592
|
}
|
|
3592
3593
|
},
|
|
@@ -3196,6 +3196,7 @@
|
|
|
3196
3196
|
"createdAt": "2026-05-26T02:03:38.863Z",
|
|
3197
3197
|
"updatedAt": "2026-08-19T22:39:32.785Z",
|
|
3198
3198
|
"aliases": {
|
|
3199
|
+
"--imagelightbox-tile-surface": "--color-transparent",
|
|
3199
3200
|
"--imagelightbox-tile-radius": "--radius-2xl",
|
|
3200
3201
|
"--imagelightbox-tile-border": "--color-transparent",
|
|
3201
3202
|
"--imagelightbox-tile-border-width": "--border-width-1",
|
|
@@ -3559,7 +3560,7 @@
|
|
|
3559
3560
|
"--sectiondivider-lg-description": "--text-alternate",
|
|
3560
3561
|
"--sectiondivider-lg-eyebrow": "--text-brand",
|
|
3561
3562
|
"--sectiondivider-lg-border": "--color-transparent",
|
|
3562
|
-
"--sectiondivider-lg-title-outline-color": "
|
|
3563
|
+
"--sectiondivider-lg-title-outline-color": "transparent",
|
|
3563
3564
|
"--sectiondivider-lg-hairline-color": "--border-brand-medium",
|
|
3564
3565
|
"--sectiondivider-md-title-font-family": "--font-display",
|
|
3565
3566
|
"--sectiondivider-md-title-font-weight": "--font-weight-bold",
|
|
@@ -3588,7 +3589,7 @@
|
|
|
3588
3589
|
"--sectiondivider-md-description": "--text-secondary",
|
|
3589
3590
|
"--sectiondivider-md-eyebrow": "--text-tertiary",
|
|
3590
3591
|
"--sectiondivider-md-border": "--color-transparent",
|
|
3591
|
-
"--sectiondivider-md-title-outline-color": "
|
|
3592
|
+
"--sectiondivider-md-title-outline-color": "transparent",
|
|
3592
3593
|
"--sectiondivider-md-hairline-color": "--border-brand-medium",
|
|
3593
3594
|
"--sectiondivider-sm-title-font-family": "--font-display",
|
|
3594
3595
|
"--sectiondivider-sm-title-font-weight": "--font-weight-medium",
|
|
@@ -3617,7 +3618,7 @@
|
|
|
3617
3618
|
"--sectiondivider-sm-description": "--text-secondary",
|
|
3618
3619
|
"--sectiondivider-sm-eyebrow": "--text-tertiary",
|
|
3619
3620
|
"--sectiondivider-sm-border": "--color-transparent",
|
|
3620
|
-
"--sectiondivider-sm-title-outline-color": "
|
|
3621
|
+
"--sectiondivider-sm-title-outline-color": "transparent",
|
|
3621
3622
|
"--sectiondivider-sm-hairline-color": "color-mix(in srgb, var(--border-brand-medium) 50%, transparent)"
|
|
3622
3623
|
}
|
|
3623
3624
|
},
|