@motion-proto/live-tokens 0.9.0 → 0.11.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/README.md +50 -29
- package/dist-plugin/index.cjs +177 -125
- package/dist-plugin/index.d.cts +3 -2
- package/dist-plugin/index.d.ts +3 -2
- package/dist-plugin/index.js +177 -125
- package/package.json +4 -1
- package/src/editor/component-editor/BadgeEditor.svelte +44 -42
- package/src/editor/component-editor/ButtonEditor.svelte +224 -0
- package/src/editor/component-editor/CardEditor.svelte +2 -0
- package/src/editor/component-editor/CollapsibleSectionEditor.svelte +1 -7
- package/src/editor/component-editor/CornerBadgeEditor.svelte +44 -34
- package/src/editor/component-editor/ImageLightboxEditor.svelte +58 -0
- package/src/editor/component-editor/InputEditor.svelte +272 -0
- package/src/editor/component-editor/NotificationEditor.svelte +44 -65
- package/src/editor/component-editor/ProgressBarEditor.svelte +71 -87
- package/src/editor/component-editor/SegmentedControlEditor.svelte +98 -37
- package/src/editor/component-editor/SideNavigationEditor.svelte +342 -0
- package/src/editor/component-editor/registry.ts +35 -2
- package/src/editor/component-editor/scaffolding/ComponentFileManager.svelte +3 -2
- package/src/editor/component-editor/scaffolding/ShadowBackdrop.svelte +10 -1
- package/src/editor/component-editor/scaffolding/StateBlock.svelte +9 -10
- package/src/editor/component-editor/scaffolding/TokenLayout.svelte +60 -36
- package/src/editor/component-editor/scaffolding/VariantGroup.svelte +38 -1
- package/src/editor/component-editor/scaffolding/buildTypeGroupTokens.ts +1 -1
- package/src/editor/component-editor/scaffolding/siblings.ts +2 -2
- package/src/editor/component-editor/scaffolding/types.ts +2 -1
- package/src/editor/core/components/componentConfigService.ts +7 -6
- package/src/editor/core/manifests/manifestService.ts +5 -4
- package/src/editor/core/storage/apiBase.ts +15 -0
- package/src/editor/core/storage/files/versionedFileResourceClient.ts +1 -1
- package/src/editor/core/store/editorRenderer.ts +1 -4
- package/src/editor/core/store/editorStore.ts +5 -9
- package/src/editor/core/store/editorTypes.ts +6 -13
- package/src/editor/core/themes/migrations/2026-05-13-primary-to-brand.ts +2 -29
- package/src/editor/core/themes/migrations/2026-05-24-collapsiblesection-drop-active-state.ts +28 -0
- package/src/editor/core/themes/migrations/2026-05-24-progressbar-collapse-variants.ts +41 -0
- package/src/editor/core/themes/migrations/2026-05-24-promote-state-shared-tokens.ts +59 -0
- package/src/editor/core/themes/migrations/2026-05-24-segmentedcontrol-divider-inset.ts +29 -0
- package/src/editor/core/themes/migrations/2026-05-25-cornerbadge-flatten-variants.ts +46 -0
- package/src/editor/core/themes/migrations/2026-05-26-drop-overlay-extra-stops.ts +46 -0
- package/src/editor/core/themes/migrations/index.ts +16 -0
- package/src/editor/core/themes/slices/overlays.ts +44 -75
- package/src/editor/core/themes/themeInit.ts +3 -2
- package/src/editor/core/themes/themeService.ts +3 -2
- package/src/editor/ui/SurfacesTab.svelte +3 -7
- package/src/editor/ui/UIEasingSelector.svelte +240 -0
- package/src/editor/ui/UIPaddingSelector.svelte +2 -2
- package/src/editor/ui/UIPaletteSelector.svelte +151 -36
- package/src/editor/ui/{UIRelinkConfirmPopover.svelte → UIRelinkConfirmDialog.svelte} +107 -75
- package/src/editor/ui/UITokenSelector.svelte +15 -2
- package/src/editor/ui/sections/OverlaysSection.svelte +107 -540
- package/src/editor/ui/variantScales.ts +34 -0
- package/src/system/components/Button.svelte +34 -85
- package/src/system/components/Card.svelte +2 -1
- package/src/system/components/CollapsibleSection.svelte +1 -48
- package/src/system/components/CornerBadge.svelte +72 -138
- package/src/system/components/ImageLightbox.svelte +578 -0
- package/src/system/components/Input.svelte +387 -0
- package/src/system/components/ProgressBar.svelte +62 -258
- package/src/system/components/SegmentedControl.svelte +81 -15
- package/src/system/components/SideNavigation.svelte +777 -0
- package/src/system/components/TabBar.svelte +1 -1
- package/src/system/styles/tokens.css +48 -5
- package/src/system/styles/tokens.generated.css +33 -185
- package/src/editor/component-editor/StandardButtonsEditor.svelte +0 -190
|
@@ -106,3 +106,37 @@ export const DIVIDER_HEIGHT: VariantScaleEntry = {
|
|
|
106
106
|
{ key: 'full', label: 'Full', value: '100%' },
|
|
107
107
|
],
|
|
108
108
|
};
|
|
109
|
+
|
|
110
|
+
/** Used by `*-duration` variables (CSS transition timing). Pulls keys directly
|
|
111
|
+
* from the shared `--duration-*` scale in tokens.css — labels mirror the token
|
|
112
|
+
* slugs so the picker reflects the utility token namespace, no synthetic names. */
|
|
113
|
+
export const DURATION: VariantScaleEntry = {
|
|
114
|
+
varPrefix: '--duration-',
|
|
115
|
+
options: [
|
|
116
|
+
{ key: '75', label: '75', value: '75ms' },
|
|
117
|
+
{ key: '150', label: '150', value: '150ms' },
|
|
118
|
+
{ key: '200', label: '200', value: '200ms' },
|
|
119
|
+
{ key: '300', label: '300', value: '300ms' },
|
|
120
|
+
{ key: '500', label: '500', value: '500ms' },
|
|
121
|
+
{ key: '750', label: '750', value: '750ms' },
|
|
122
|
+
{ key: '1000', label: '1000', value: '1000ms' },
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/** Used by `*-divider-inset` variables (margin-block trimmed off a stretched
|
|
127
|
+
* divider). Labels describe the resulting divider, not the inset value: 0
|
|
128
|
+
* inset = bar-height divider ("Full"); larger insets = shorter divider.
|
|
129
|
+
* Replaces the percentage-height approach that collapsed to 0 in
|
|
130
|
+
* auto-height flex parents. */
|
|
131
|
+
export const DIVIDER_INSET: VariantScaleEntry = {
|
|
132
|
+
varPrefix: '--space-',
|
|
133
|
+
options: [
|
|
134
|
+
{ key: '0', label: 'Full', value: '0px' },
|
|
135
|
+
{ key: '2', label: 'Tall', value: '0.125rem' },
|
|
136
|
+
{ key: '4', label: 'Large', value: '0.25rem' },
|
|
137
|
+
{ key: '6', label: 'Medium', value: '0.375rem' },
|
|
138
|
+
{ key: '8', label: 'Short', value: '0.5rem' },
|
|
139
|
+
{ key: '12', label: 'XS', value: '0.75rem' },
|
|
140
|
+
{ key: '16', label: 'Tiny', value: '1rem' },
|
|
141
|
+
],
|
|
142
|
+
};
|
|
@@ -87,15 +87,9 @@
|
|
|
87
87
|
--button-primary-hover-surface: var(--surface-brand-higher);
|
|
88
88
|
--button-primary-hover-text: var(--text-primary);
|
|
89
89
|
--button-primary-hover-border: var(--border-brand-strong);
|
|
90
|
-
--button-primary-hover-border-width: var(--border-width-1);
|
|
91
|
-
--button-primary-hover-radius: var(--radius-md);
|
|
92
|
-
--button-primary-hover-padding: var(--space-8);
|
|
93
90
|
--button-primary-disabled-surface: var(--color-neutral-700);
|
|
94
91
|
--button-primary-disabled-text: var(--text-tertiary);
|
|
95
92
|
--button-primary-disabled-border: var(--border-neutral-faint);
|
|
96
|
-
--button-primary-disabled-border-width: var(--border-width-1);
|
|
97
|
-
--button-primary-disabled-radius: var(--radius-md);
|
|
98
|
-
--button-primary-disabled-padding: var(--space-8);
|
|
99
93
|
--button-primary-icon-size: var(--icon-size-sm);
|
|
100
94
|
|
|
101
95
|
/* Secondary */
|
|
@@ -112,15 +106,9 @@
|
|
|
112
106
|
--button-secondary-hover-surface: var(--surface-neutral-higher);
|
|
113
107
|
--button-secondary-hover-text: var(--text-primary);
|
|
114
108
|
--button-secondary-hover-border: var(--border-neutral-strong);
|
|
115
|
-
--button-secondary-hover-border-width: var(--border-width-1);
|
|
116
|
-
--button-secondary-hover-radius: var(--radius-md);
|
|
117
|
-
--button-secondary-hover-padding: var(--space-8);
|
|
118
109
|
--button-secondary-disabled-surface: var(--color-neutral-700);
|
|
119
110
|
--button-secondary-disabled-text: var(--text-tertiary);
|
|
120
111
|
--button-secondary-disabled-border: var(--border-neutral-faint);
|
|
121
|
-
--button-secondary-disabled-border-width: var(--border-width-1);
|
|
122
|
-
--button-secondary-disabled-radius: var(--radius-md);
|
|
123
|
-
--button-secondary-disabled-padding: var(--space-8);
|
|
124
112
|
--button-secondary-icon-size: var(--icon-size-sm);
|
|
125
113
|
|
|
126
114
|
/* Outline */
|
|
@@ -137,16 +125,10 @@
|
|
|
137
125
|
--button-outline-hover-surface: var(--surface-neutral-lower);
|
|
138
126
|
--button-outline-hover-text: var(--text-primary);
|
|
139
127
|
--button-outline-hover-border: var(--border-neutral-strong);
|
|
140
|
-
--button-outline-hover-border-width: var(--border-width-1);
|
|
141
|
-
--button-outline-hover-radius: var(--radius-md);
|
|
142
|
-
--button-outline-hover-padding: var(--space-8);
|
|
143
128
|
--button-outline-active-surface: var(--hover);
|
|
144
129
|
--button-outline-disabled-surface: var(--color-transparent);
|
|
145
130
|
--button-outline-disabled-text: var(--text-tertiary);
|
|
146
131
|
--button-outline-disabled-border: var(--border-neutral-faint);
|
|
147
|
-
--button-outline-disabled-border-width: var(--border-width-1);
|
|
148
|
-
--button-outline-disabled-radius: var(--radius-md);
|
|
149
|
-
--button-outline-disabled-padding: var(--space-8);
|
|
150
132
|
--button-outline-icon-size: var(--icon-size-sm);
|
|
151
133
|
|
|
152
134
|
/* Success */
|
|
@@ -163,15 +145,9 @@
|
|
|
163
145
|
--button-success-hover-surface: var(--surface-success-higher);
|
|
164
146
|
--button-success-hover-text: var(--text-primary);
|
|
165
147
|
--button-success-hover-border: var(--border-success-strong);
|
|
166
|
-
--button-success-hover-border-width: var(--border-width-2);
|
|
167
|
-
--button-success-hover-radius: var(--radius-md);
|
|
168
|
-
--button-success-hover-padding: var(--space-8);
|
|
169
148
|
--button-success-disabled-surface: var(--color-neutral-700);
|
|
170
149
|
--button-success-disabled-text: var(--text-tertiary);
|
|
171
150
|
--button-success-disabled-border: var(--border-neutral-faint);
|
|
172
|
-
--button-success-disabled-border-width: var(--border-width-2);
|
|
173
|
-
--button-success-disabled-radius: var(--radius-md);
|
|
174
|
-
--button-success-disabled-padding: var(--space-8);
|
|
175
151
|
--button-success-icon-size: var(--icon-size-sm);
|
|
176
152
|
|
|
177
153
|
/* Danger */
|
|
@@ -188,15 +164,9 @@
|
|
|
188
164
|
--button-danger-hover-surface: var(--surface-danger-high);
|
|
189
165
|
--button-danger-hover-text: var(--text-primary);
|
|
190
166
|
--button-danger-hover-border: var(--border-danger-medium);
|
|
191
|
-
--button-danger-hover-border-width: var(--border-width-2);
|
|
192
|
-
--button-danger-hover-radius: var(--radius-md);
|
|
193
|
-
--button-danger-hover-padding: var(--space-8);
|
|
194
167
|
--button-danger-disabled-surface: var(--color-neutral-700);
|
|
195
168
|
--button-danger-disabled-text: var(--text-tertiary);
|
|
196
169
|
--button-danger-disabled-border: var(--border-neutral-faint);
|
|
197
|
-
--button-danger-disabled-border-width: var(--border-width-2);
|
|
198
|
-
--button-danger-disabled-radius: var(--radius-md);
|
|
199
|
-
--button-danger-disabled-padding: var(--space-8);
|
|
200
170
|
--button-danger-icon-size: var(--icon-size-sm);
|
|
201
171
|
|
|
202
172
|
/* Warning */
|
|
@@ -213,16 +183,20 @@
|
|
|
213
183
|
--button-warning-hover-surface: var(--surface-warning-high);
|
|
214
184
|
--button-warning-hover-text: var(--text-primary);
|
|
215
185
|
--button-warning-hover-border: var(--border-warning-medium);
|
|
216
|
-
--button-warning-hover-border-width: var(--border-width-2);
|
|
217
|
-
--button-warning-hover-radius: var(--radius-md);
|
|
218
|
-
--button-warning-hover-padding: var(--space-8);
|
|
219
186
|
--button-warning-disabled-surface: var(--color-neutral-700);
|
|
220
187
|
--button-warning-disabled-text: var(--text-tertiary);
|
|
221
188
|
--button-warning-disabled-border: var(--border-neutral-faint);
|
|
222
|
-
--button-warning-disabled-border-width: var(--border-width-2);
|
|
223
|
-
--button-warning-disabled-radius: var(--radius-md);
|
|
224
|
-
--button-warning-disabled-padding: var(--space-8);
|
|
225
189
|
--button-warning-icon-size: var(--icon-size-sm);
|
|
190
|
+
|
|
191
|
+
/* Small size — shared across all variants. The `.small` rule below reads
|
|
192
|
+
these tokens directly (no per-variant rebind needed, since small
|
|
193
|
+
currently looks the same regardless of variant). Per-side padding
|
|
194
|
+
overrides power split-padding edits at small. */
|
|
195
|
+
--button-small-padding: var(--space-6);
|
|
196
|
+
--button-small-text-font-size: var(--font-size-xs);
|
|
197
|
+
--button-small-text-font-weight: var(--font-weight-normal);
|
|
198
|
+
--button-small-text-line-height: var(--line-height-sm);
|
|
199
|
+
--button-small-icon-size: var(--font-size-xs);
|
|
226
200
|
}
|
|
227
201
|
|
|
228
202
|
.button {
|
|
@@ -298,9 +272,7 @@
|
|
|
298
272
|
&:hover:not(:disabled),
|
|
299
273
|
&.force-hover:not(:disabled) {
|
|
300
274
|
background: var(--button-primary-hover-surface);
|
|
301
|
-
border: var(--button-primary-hover-border
|
|
302
|
-
border-radius: var(--button-primary-hover-radius);
|
|
303
|
-
@include themed-padding(--button-primary-hover-padding, $h: 2);
|
|
275
|
+
border-color: var(--button-primary-hover-border);
|
|
304
276
|
color: var(--button-primary-hover-text);
|
|
305
277
|
}
|
|
306
278
|
|
|
@@ -310,9 +282,7 @@
|
|
|
310
282
|
|
|
311
283
|
&:disabled {
|
|
312
284
|
background: var(--button-primary-disabled-surface);
|
|
313
|
-
border: var(--button-primary-disabled-border
|
|
314
|
-
border-radius: var(--button-primary-disabled-radius);
|
|
315
|
-
@include themed-padding(--button-primary-disabled-padding, $h: 2);
|
|
285
|
+
border-color: var(--button-primary-disabled-border);
|
|
316
286
|
color: var(--button-primary-disabled-text);
|
|
317
287
|
}
|
|
318
288
|
}
|
|
@@ -340,17 +310,13 @@
|
|
|
340
310
|
&:hover:not(:disabled),
|
|
341
311
|
&.force-hover:not(:disabled) {
|
|
342
312
|
background: var(--button-secondary-hover-surface);
|
|
343
|
-
border: var(--button-secondary-hover-border
|
|
344
|
-
border-radius: var(--button-secondary-hover-radius);
|
|
345
|
-
@include themed-padding(--button-secondary-hover-padding, $h: 2);
|
|
313
|
+
border-color: var(--button-secondary-hover-border);
|
|
346
314
|
color: var(--button-secondary-hover-text);
|
|
347
315
|
}
|
|
348
316
|
|
|
349
317
|
&:disabled {
|
|
350
318
|
background: var(--button-secondary-disabled-surface);
|
|
351
|
-
border: var(--button-secondary-disabled-border
|
|
352
|
-
border-radius: var(--button-secondary-disabled-radius);
|
|
353
|
-
@include themed-padding(--button-secondary-disabled-padding, $h: 2);
|
|
319
|
+
border-color: var(--button-secondary-disabled-border);
|
|
354
320
|
color: var(--button-secondary-disabled-text);
|
|
355
321
|
}
|
|
356
322
|
}
|
|
@@ -378,9 +344,7 @@
|
|
|
378
344
|
&:hover:not(:disabled),
|
|
379
345
|
&.force-hover:not(:disabled) {
|
|
380
346
|
background: var(--button-outline-hover-surface);
|
|
381
|
-
border: var(--button-outline-hover-border
|
|
382
|
-
border-radius: var(--button-outline-hover-radius);
|
|
383
|
-
@include themed-padding(--button-outline-hover-padding, $h: 2);
|
|
347
|
+
border-color: var(--button-outline-hover-border);
|
|
384
348
|
color: var(--button-outline-hover-text);
|
|
385
349
|
}
|
|
386
350
|
|
|
@@ -390,9 +354,7 @@
|
|
|
390
354
|
|
|
391
355
|
&:disabled {
|
|
392
356
|
background: var(--button-outline-disabled-surface);
|
|
393
|
-
border: var(--button-outline-disabled-border
|
|
394
|
-
border-radius: var(--button-outline-disabled-radius);
|
|
395
|
-
@include themed-padding(--button-outline-disabled-padding, $h: 2);
|
|
357
|
+
border-color: var(--button-outline-disabled-border);
|
|
396
358
|
color: var(--button-outline-disabled-text);
|
|
397
359
|
}
|
|
398
360
|
}
|
|
@@ -420,17 +382,13 @@
|
|
|
420
382
|
&:hover:not(:disabled),
|
|
421
383
|
&.force-hover:not(:disabled) {
|
|
422
384
|
background: var(--button-success-hover-surface);
|
|
423
|
-
border: var(--button-success-hover-border
|
|
424
|
-
border-radius: var(--button-success-hover-radius);
|
|
425
|
-
@include themed-padding(--button-success-hover-padding, $h: 2);
|
|
385
|
+
border-color: var(--button-success-hover-border);
|
|
426
386
|
color: var(--button-success-hover-text);
|
|
427
387
|
}
|
|
428
388
|
|
|
429
389
|
&:disabled {
|
|
430
390
|
background: var(--button-success-disabled-surface);
|
|
431
|
-
border: var(--button-success-disabled-border
|
|
432
|
-
border-radius: var(--button-success-disabled-radius);
|
|
433
|
-
@include themed-padding(--button-success-disabled-padding, $h: 2);
|
|
391
|
+
border-color: var(--button-success-disabled-border);
|
|
434
392
|
color: var(--button-success-disabled-text);
|
|
435
393
|
}
|
|
436
394
|
}
|
|
@@ -458,17 +416,13 @@
|
|
|
458
416
|
&:hover:not(:disabled),
|
|
459
417
|
&.force-hover:not(:disabled) {
|
|
460
418
|
background: var(--button-danger-hover-surface);
|
|
461
|
-
border: var(--button-danger-hover-border
|
|
462
|
-
border-radius: var(--button-danger-hover-radius);
|
|
463
|
-
@include themed-padding(--button-danger-hover-padding, $h: 2);
|
|
419
|
+
border-color: var(--button-danger-hover-border);
|
|
464
420
|
color: var(--button-danger-hover-text);
|
|
465
421
|
}
|
|
466
422
|
|
|
467
423
|
&:disabled {
|
|
468
424
|
background: var(--button-danger-disabled-surface);
|
|
469
|
-
border: var(--button-danger-disabled-border
|
|
470
|
-
border-radius: var(--button-danger-disabled-radius);
|
|
471
|
-
@include themed-padding(--button-danger-disabled-padding, $h: 2);
|
|
425
|
+
border-color: var(--button-danger-disabled-border);
|
|
472
426
|
color: var(--button-danger-disabled-text);
|
|
473
427
|
}
|
|
474
428
|
}
|
|
@@ -496,37 +450,32 @@
|
|
|
496
450
|
&:hover:not(:disabled),
|
|
497
451
|
&.force-hover:not(:disabled) {
|
|
498
452
|
background: var(--button-warning-hover-surface);
|
|
499
|
-
border: var(--button-warning-hover-border
|
|
500
|
-
border-radius: var(--button-warning-hover-radius);
|
|
501
|
-
@include themed-padding(--button-warning-hover-padding, $h: 2);
|
|
453
|
+
border-color: var(--button-warning-hover-border);
|
|
502
454
|
color: var(--button-warning-hover-text);
|
|
503
455
|
}
|
|
504
456
|
|
|
505
457
|
&:disabled {
|
|
506
458
|
background: var(--button-warning-disabled-surface);
|
|
507
|
-
border: var(--button-warning-disabled-border
|
|
508
|
-
border-radius: var(--button-warning-disabled-radius);
|
|
509
|
-
@include themed-padding(--button-warning-disabled-padding, $h: 2);
|
|
459
|
+
border-color: var(--button-warning-disabled-border);
|
|
510
460
|
color: var(--button-warning-disabled-text);
|
|
511
461
|
}
|
|
512
462
|
}
|
|
513
463
|
|
|
514
|
-
// Small size modifier (applies to any variant).
|
|
515
|
-
//
|
|
516
|
-
//
|
|
517
|
-
//
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
&.small
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
font-
|
|
524
|
-
|
|
525
|
-
line-height: var(--line-height-sm);
|
|
464
|
+
// Small size modifier (applies to any variant). Variants only set padding
|
|
465
|
+
// once in their base rule and never override per-state, so a single
|
|
466
|
+
// selector here is enough — `.small` declared after the variant block
|
|
467
|
+
// wins on source order. themed-padding with $h: 2 mirrors the variant
|
|
468
|
+
// base rule; per-side `--button-small-padding-*` tokens (registered by
|
|
469
|
+
// the editor) feed split edits through the mixin.
|
|
470
|
+
&.small {
|
|
471
|
+
@include themed-padding(--button-small-padding, $h: 2);
|
|
472
|
+
font-size: var(--button-small-text-font-size);
|
|
473
|
+
font-weight: var(--button-small-text-font-weight);
|
|
474
|
+
line-height: var(--button-small-text-line-height);
|
|
526
475
|
}
|
|
527
476
|
|
|
528
477
|
&.small :global(i) {
|
|
529
|
-
font-size: var(--
|
|
478
|
+
font-size: var(--button-small-icon-size);
|
|
530
479
|
font-weight: var(--font-weight-semibold);
|
|
531
480
|
}
|
|
532
481
|
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
--card-default-border-width: var(--border-width-1);
|
|
49
49
|
--card-default-radius: var(--radius-lg);
|
|
50
50
|
--card-default-header-padding: var(--space-16);
|
|
51
|
+
--card-default-header-gap: var(--space-8);
|
|
51
52
|
--card-default-body-padding: var(--space-16);
|
|
52
53
|
--card-default-shadow: var(--shadow-sm);
|
|
53
54
|
--card-default-blur: var(--blur-none);
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
.card-header {
|
|
93
94
|
display: flex;
|
|
94
95
|
align-items: center;
|
|
95
|
-
gap: var(--
|
|
96
|
+
gap: var(--card-default-header-gap);
|
|
96
97
|
@include themed-padding(--card-default-header-padding);
|
|
97
98
|
background: var(--card-default-header-surface);
|
|
98
99
|
}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
label: string;
|
|
6
6
|
expanded?: boolean;
|
|
7
7
|
href?: string | undefined;
|
|
8
|
-
active?: boolean;
|
|
9
8
|
variant?: 'chromeless' | 'divider' | 'container';
|
|
10
9
|
class?: string;
|
|
11
10
|
/** Toggle callback. Preferred over `on:toggle` from 0.5.0 onward. */
|
|
@@ -18,7 +17,6 @@
|
|
|
18
17
|
label,
|
|
19
18
|
expanded = false,
|
|
20
19
|
href = undefined,
|
|
21
|
-
active = false,
|
|
22
20
|
variant = 'container',
|
|
23
21
|
class: className = '',
|
|
24
22
|
ontoggle,
|
|
@@ -35,18 +33,11 @@
|
|
|
35
33
|
ontoggle?.();
|
|
36
34
|
dispatch('toggle');
|
|
37
35
|
}
|
|
38
|
-
|
|
39
|
-
function handleHeaderClick(e: MouseEvent) {
|
|
40
|
-
if (href && active) {
|
|
41
|
-
e.preventDefault();
|
|
42
|
-
fireToggle();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
36
|
</script>
|
|
46
37
|
|
|
47
38
|
<section class="es-root variant-{variant} {className}">
|
|
48
39
|
{#if href}
|
|
49
|
-
<a {href} class="section-header" class:expanded
|
|
40
|
+
<a {href} class="section-header" class:expanded>
|
|
50
41
|
<div class="section-toggle">
|
|
51
42
|
<i class="fas fa-chevron-right toggle-icon"></i>
|
|
52
43
|
<span class="section-label">{label}</span>
|
|
@@ -94,16 +85,6 @@
|
|
|
94
85
|
--collapsiblesection-chromeless-hover-label-line-height: var(--line-height-md);
|
|
95
86
|
--collapsiblesection-chromeless-hover-icon: var(--text-primary);
|
|
96
87
|
--collapsiblesection-chromeless-hover-icon-size: var(--icon-size-xs);
|
|
97
|
-
/* Chromeless — active */
|
|
98
|
-
--collapsiblesection-chromeless-active-surface: var(--color-transparent);
|
|
99
|
-
--collapsiblesection-chromeless-active-padding: var(--space-4);
|
|
100
|
-
--collapsiblesection-chromeless-active-label: var(--text-primary);
|
|
101
|
-
--collapsiblesection-chromeless-active-label-font-family: var(--font-sans);
|
|
102
|
-
--collapsiblesection-chromeless-active-label-font-size: var(--font-size-md);
|
|
103
|
-
--collapsiblesection-chromeless-active-label-font-weight: var(--font-weight-normal);
|
|
104
|
-
--collapsiblesection-chromeless-active-label-line-height: var(--line-height-md);
|
|
105
|
-
--collapsiblesection-chromeless-active-icon: var(--text-muted);
|
|
106
|
-
--collapsiblesection-chromeless-active-icon-size: var(--icon-size-xs);
|
|
107
88
|
/* Chromeless — expanded */
|
|
108
89
|
--collapsiblesection-chromeless-expanded-padding: var(--space-4);
|
|
109
90
|
|
|
@@ -131,18 +112,6 @@
|
|
|
131
112
|
--collapsiblesection-divider-hover-label-line-height: var(--line-height-md);
|
|
132
113
|
--collapsiblesection-divider-hover-icon: var(--text-primary);
|
|
133
114
|
--collapsiblesection-divider-hover-icon-size: var(--icon-size-xs);
|
|
134
|
-
/* Divider — active */
|
|
135
|
-
--collapsiblesection-divider-active-surface: var(--color-transparent);
|
|
136
|
-
--collapsiblesection-divider-active-border: var(--color-brand-400);
|
|
137
|
-
--collapsiblesection-divider-active-border-width: var(--border-width-1);
|
|
138
|
-
--collapsiblesection-divider-active-padding: var(--space-4);
|
|
139
|
-
--collapsiblesection-divider-active-label: var(--text-primary);
|
|
140
|
-
--collapsiblesection-divider-active-label-font-family: var(--font-sans);
|
|
141
|
-
--collapsiblesection-divider-active-label-font-size: var(--font-size-md);
|
|
142
|
-
--collapsiblesection-divider-active-label-font-weight: var(--font-weight-normal);
|
|
143
|
-
--collapsiblesection-divider-active-label-line-height: var(--line-height-md);
|
|
144
|
-
--collapsiblesection-divider-active-icon: var(--text-muted);
|
|
145
|
-
--collapsiblesection-divider-active-icon-size: var(--icon-size-xs);
|
|
146
115
|
/* Divider — expanded */
|
|
147
116
|
--collapsiblesection-divider-expanded-padding: var(--space-4);
|
|
148
117
|
|
|
@@ -170,16 +139,6 @@
|
|
|
170
139
|
--collapsiblesection-container-hover-label-line-height: var(--line-height-md);
|
|
171
140
|
--collapsiblesection-container-hover-icon: var(--text-muted);
|
|
172
141
|
--collapsiblesection-container-hover-icon-size: var(--icon-size-xs);
|
|
173
|
-
/* Container — active header strip */
|
|
174
|
-
--collapsiblesection-container-active-surface: var(--surface-canvas-low);
|
|
175
|
-
--collapsiblesection-container-active-padding: var(--space-4);
|
|
176
|
-
--collapsiblesection-container-active-label: var(--text-primary);
|
|
177
|
-
--collapsiblesection-container-active-label-font-family: var(--font-sans);
|
|
178
|
-
--collapsiblesection-container-active-label-font-size: var(--font-size-md);
|
|
179
|
-
--collapsiblesection-container-active-label-font-weight: var(--font-weight-normal);
|
|
180
|
-
--collapsiblesection-container-active-label-line-height: var(--line-height-md);
|
|
181
|
-
--collapsiblesection-container-active-icon: var(--text-muted);
|
|
182
|
-
--collapsiblesection-container-active-icon-size: var(--icon-size-xs);
|
|
183
142
|
/* Container — expanded content area */
|
|
184
143
|
--collapsiblesection-container-expanded-surface: var(--surface-canvas-low);
|
|
185
144
|
--collapsiblesection-container-expanded-padding: var(--space-4);
|
|
@@ -238,7 +197,6 @@
|
|
|
238
197
|
> .section-header {
|
|
239
198
|
@include header-paint(chromeless, default);
|
|
240
199
|
&:hover { @include header-paint(chromeless, hover); }
|
|
241
|
-
&.active { @include header-paint(chromeless, active); }
|
|
242
200
|
}
|
|
243
201
|
&.force-hover > .section-header { @include header-paint(chromeless, hover); }
|
|
244
202
|
> .section-content {
|
|
@@ -254,10 +212,6 @@
|
|
|
254
212
|
@include header-paint(divider, hover);
|
|
255
213
|
@include divider-bottom(hover);
|
|
256
214
|
}
|
|
257
|
-
&.active {
|
|
258
|
-
@include header-paint(divider, active);
|
|
259
|
-
@include divider-bottom(active);
|
|
260
|
-
}
|
|
261
215
|
}
|
|
262
216
|
&.force-hover > .section-header {
|
|
263
217
|
@include header-paint(divider, hover);
|
|
@@ -276,7 +230,6 @@
|
|
|
276
230
|
> .section-header {
|
|
277
231
|
@include header-paint(container, default);
|
|
278
232
|
&:hover { @include header-paint(container, hover); }
|
|
279
|
-
&.active { @include header-paint(container, active); }
|
|
280
233
|
}
|
|
281
234
|
&.force-hover > .section-header { @include header-paint(container, hover); }
|
|
282
235
|
> .section-content {
|