@zylem/ui 0.9.0 → 0.9.2

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.
Files changed (35) hide show
  1. package/dist/chunk-YJVLOHJL.js +1 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.d.ts +7 -1
  4. package/dist/index.js +1 -1
  5. package/dist/styles.css +1 -1
  6. package/dist/styles.js +1 -1
  7. package/package.json +1 -1
  8. package/src/components/Accordion/Accordion.tsx +2 -0
  9. package/src/components/Button/Button.css.ts +85 -66
  10. package/src/components/Button/Button.tsx +9 -3
  11. package/src/components/Callout/Callout.css.ts +1 -1
  12. package/src/components/Console/Console.css.ts +1 -1
  13. package/src/components/FrameStrip/FrameStrip.css.ts +1 -0
  14. package/src/components/MenuButton/MenuButton.css.ts +49 -46
  15. package/src/components/MenuButton/MenuButton.tsx +16 -5
  16. package/src/components/Menubar/Menubar.css.ts +1 -1
  17. package/src/components/Mixer/Mixer.css.ts +2 -0
  18. package/src/components/NumberField/NumberField.css.ts +32 -26
  19. package/src/components/NumberField/NumberField.tsx +4 -2
  20. package/src/components/Progress/Progress.css.ts +1 -1
  21. package/src/components/Select/Select.css.ts +7 -1
  22. package/src/components/Select/Select.tsx +4 -1
  23. package/src/components/Slider/Slider.css.ts +1 -1
  24. package/src/components/SpriteSizePicker/SpriteSizePicker.css.ts +2 -0
  25. package/src/components/TimelineLanes/TimelineLanes.css.ts +1 -0
  26. package/src/components/TimelineTrack/TimelineTrack.css.ts +3 -2
  27. package/src/components/TransportBar/TransportBar.css.ts +5 -0
  28. package/src/components/WindowControls/WindowControls.css.ts +46 -63
  29. package/src/components/WindowControls/WindowControls.tsx +3 -2
  30. package/src/fonts.css +1 -1
  31. package/src/global/accordion.css.ts +6 -7
  32. package/src/global/editor-base.css.ts +11 -0
  33. package/src/sprinkles.css.ts +4 -1
  34. package/src/theme.css.ts +6 -0
  35. package/dist/chunk-V47CGFWX.js +0 -1
@@ -1,4 +1,5 @@
1
1
  import { Select as KSelect } from '@kobalte/core';
2
+ import ChevronDown from 'lucide-solid/icons/chevron-down';
2
3
  import { Show } from 'solid-js';
3
4
  import { createDismissGuard, useLayer } from '../../layers';
4
5
 
@@ -62,7 +63,9 @@ export function Select(props: SelectProps) {
62
63
  <KSelect.Value<SelectOption> class="zylem-select-value">
63
64
  {(state) => state.selectedOption()?.label}
64
65
  </KSelect.Value>
65
- <KSelect.Icon class="zylem-select-icon">▼</KSelect.Icon>
66
+ <KSelect.Icon class="zylem-select-icon">
67
+ <ChevronDown aria-hidden="true" />
68
+ </KSelect.Icon>
66
69
  </KSelect.Trigger>
67
70
  <Show when={layer.mount()} keyed>
68
71
  {(mount) => (
@@ -31,7 +31,7 @@ globalStyle('.zylem-slider-label', {
31
31
  globalStyle('.zylem-slider-value', {
32
32
  fontSize: `calc(${vars.typography.fontSize} - 2px)`,
33
33
  color: vars.colors.primary,
34
- fontFamily: vars.typography.fontFamily,
34
+ fontFamily: vars.typography.fontFamilyMono,
35
35
  fontVariantNumeric: 'tabular-nums',
36
36
  });
37
37
 
@@ -20,6 +20,7 @@ globalStyle('.zylem-size-picker-presets', {
20
20
 
21
21
  globalStyle('.zylem-size-picker-presets .zylem-button', {
22
22
  minWidth: '40px',
23
+ fontFamily: vars.typography.fontFamilyMono,
23
24
  fontVariantNumeric: 'tabular-nums',
24
25
  });
25
26
 
@@ -89,6 +90,7 @@ globalStyle('.zylem-size-picker-readout', {
89
90
  position: 'absolute',
90
91
  right: vars.spacing.sm,
91
92
  bottom: vars.spacing.xs,
93
+ fontFamily: vars.typography.fontFamilyMono,
92
94
  fontSize: `calc(${vars.typography.fontSize} - 2px)`,
93
95
  fontVariantNumeric: 'tabular-nums',
94
96
  color: vars.colors.primary,
@@ -100,6 +100,7 @@ globalStyle('.zylem-lanes-tick-label', {
100
100
  position: 'absolute',
101
101
  left: '4px',
102
102
  bottom: '8px',
103
+ fontFamily: vars.typography.fontFamilyMono,
103
104
  fontSize: '10px',
104
105
  fontVariantNumeric: 'tabular-nums',
105
106
  whiteSpace: 'nowrap',
@@ -142,16 +142,17 @@ globalStyle('.zylem-timeline-thumb-input', {
142
142
  });
143
143
 
144
144
  // Fixed box so the readout doesn't reflow the track as digits change:
145
- // wide enough for `59.99s / 120s`, one track-height tall, right-aligned.
145
+ // wide enough for `59.99s / 120s` in the mono face, one track-height tall.
146
146
  globalStyle('.zylem-timeline-time', {
147
147
  boxSizing: 'border-box',
148
148
  flex: 'none',
149
149
  display: 'inline-flex',
150
150
  alignItems: 'center',
151
151
  justifyContent: 'flex-end',
152
- width: '12ch',
152
+ width: '14ch',
153
153
  height: TRACK_HEIGHT,
154
154
  lineHeight: TRACK_HEIGHT,
155
+ fontFamily: vars.typography.fontFamilyMono,
155
156
  fontSize: `calc(${vars.typography.fontSize} - 1px)`,
156
157
  fontWeight: 600,
157
158
  fontVariantNumeric: 'tabular-nums',
@@ -29,6 +29,7 @@ globalStyle('.zylem-transport-track', {
29
29
  globalStyle('.zylem-transport-time', {
30
30
  flex: 'none',
31
31
  minWidth: '9ch',
32
+ fontFamily: vars.typography.fontFamilyMono,
32
33
  fontSize: `calc(${vars.typography.fontSize} - 1px)`,
33
34
  fontWeight: 600,
34
35
  fontVariantNumeric: 'tabular-nums',
@@ -63,3 +64,7 @@ globalStyle('.zylem-transport-signature', {
63
64
  width: '84px',
64
65
  flex: 'none',
65
66
  });
67
+
68
+ globalStyle('.zylem-transport-signature .zylem-field', {
69
+ fontFamily: vars.typography.fontFamilyMono,
70
+ });
@@ -1,89 +1,72 @@
1
1
  import { globalStyle } from '@vanilla-extract/css';
2
2
  import { vars } from '../../theme.css';
3
3
 
4
- /** Soft drop plus a light top rim and a darker lower edge. */
5
- const jewelDepth =
6
- 'inset 0 1px 0 rgba(255,255,255,0.72), inset 0 -1px 0 rgba(0,0,0,0.28), 0 2px 4px rgba(0,0,0,0.4)';
7
-
8
4
  globalStyle('.zylem-window-controls', {
9
- display: 'flex',
10
- alignItems: 'center',
11
- flexShrink: 0,
12
- gap: '6px',
5
+ display: 'flex',
6
+ alignItems: 'center',
7
+ flexShrink: 0,
8
+ gap: '6px',
13
9
  });
14
10
 
15
11
  /**
16
- * Shared glass jewel used for all panel chrome: window controls, floating
12
+ * Shared ghost control used for panel chrome: window controls, floating
17
13
  * panels, and detached panels. `.floating-panel-button` is kept as an alias
18
14
  * so existing panel markup shares this single definition.
19
15
  *
20
- * Collapse (and the untyped alias) is blue glass; close is red glass.
16
+ * Resting controls match the ghost button. Close stays that way until it is
17
+ * hovered or focused, when it takes the danger color.
21
18
  */
22
19
  globalStyle('.zylem-window-control, .floating-panel-button', {
23
- all: 'unset',
24
- boxSizing: 'border-box',
25
- position: 'relative',
26
- cursor: 'pointer',
27
- flexShrink: 0,
28
- width: '28px',
29
- height: '18px',
30
- display: 'inline-flex',
31
- alignItems: 'center',
32
- justifyContent: 'center',
33
- color: '#FFFFFF',
34
- borderRadius: '6px',
35
- border: '1px solid rgba(214, 234, 255, 0.82)',
36
- background:
37
- 'linear-gradient(180deg, rgba(206, 230, 255, 0.78) 0%, rgba(96, 158, 216, 0.84) 42%, rgba(48, 108, 172, 0.92) 100%)',
38
- boxShadow: `${jewelDepth}, 0 0 8px rgba(97, 166, 232, 0.28)`,
39
- transition: `filter ${vars.motion.fast} ${vars.motion.easeOut}, transform ${vars.motion.fast} ${vars.motion.easeOut}, background ${vars.motion.fast} ${vars.motion.easeOut}, border-color ${vars.motion.fast} ${vars.motion.easeOut}, box-shadow ${vars.motion.fast} ${vars.motion.easeOut}`,
40
- });
41
-
42
- /** Top-edge gloss. Clipped by the button; the icon sits above it. */
43
- globalStyle('.zylem-window-control::before, .floating-panel-button::before', {
44
- content: '""',
45
- position: 'absolute',
46
- left: '2px',
47
- right: '2px',
48
- top: '1px',
49
- height: '48%',
50
- borderRadius: '5px 5px 46% 46%',
51
- background:
52
- 'linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.1) 55%, rgba(255,255,255,0))',
53
- pointerEvents: 'none',
20
+ all: 'unset',
21
+ boxSizing: 'border-box',
22
+ position: 'relative',
23
+ cursor: 'pointer',
24
+ flexShrink: 0,
25
+ width: '28px',
26
+ height: '18px',
27
+ display: 'inline-flex',
28
+ alignItems: 'center',
29
+ justifyContent: 'center',
30
+ color: vars.colors.primary,
31
+ borderRadius: '6px',
32
+ border: '1px solid rgba(97, 166, 232, 0.35)',
33
+ background: 'transparent',
34
+ boxShadow: 'none',
35
+ transition: `color ${vars.motion.fast} ${vars.motion.easeOut}, transform ${vars.motion.fast} ${vars.motion.easeOut}, background ${vars.motion.fast} ${vars.motion.easeOut}, border-color ${vars.motion.fast} ${vars.motion.easeOut}, box-shadow ${vars.motion.fast} ${vars.motion.easeOut}`,
54
36
  });
55
37
 
56
38
  globalStyle('.zylem-window-control svg, .floating-panel-button svg', {
57
- position: 'relative',
58
- zIndex: 1,
59
- display: 'block',
60
- filter: 'drop-shadow(0 1px 1px rgba(0,0,0,0.4))',
61
- });
62
-
63
- globalStyle('.zylem-window-control--close', {
64
- borderColor: 'rgba(255, 198, 188, 0.88)',
65
- background:
66
- 'linear-gradient(180deg, rgba(255, 196, 186, 0.78) 0%, rgba(228, 82, 70, 0.9) 44%, rgba(186, 46, 40, 0.96) 100%)',
67
- boxShadow: `${jewelDepth}, 0 0 8px rgba(230, 69, 52, 0.34)`,
39
+ position: 'relative',
40
+ zIndex: 1,
41
+ display: 'block',
68
42
  });
69
43
 
70
44
  globalStyle('.zylem-window-control:hover, .floating-panel-button:hover', {
71
- filter: 'brightness(1.12)',
72
- transform: 'translateY(-1px)',
45
+ background: 'rgba(97, 166, 232, 0.12)',
46
+ boxShadow: vars.effects.glowPrimary,
47
+ color: vars.colors.primary,
48
+ transform: 'translateY(-1px)',
73
49
  });
74
50
 
75
51
  globalStyle('.zylem-window-control:active, .floating-panel-button:active', {
76
- filter: 'brightness(0.92)',
77
- transform: 'translateY(1px)',
52
+ transform: 'translateY(1px)',
53
+ });
54
+
55
+ globalStyle('.zylem-window-control:focus-visible, .floating-panel-button:focus-visible', {
56
+ background: 'rgba(97, 166, 232, 0.12)',
57
+ boxShadow: `${vars.effects.glowPrimary}, ${vars.effects.focusRing}`,
78
58
  });
79
59
 
80
- globalStyle(
81
- '.zylem-window-control:focus-visible, .floating-panel-button:focus-visible',
82
- {
83
- boxShadow: `${jewelDepth}, 0 0 8px rgba(97, 166, 232, 0.28), ${vars.effects.focusRing}`,
84
- },
85
- );
60
+ globalStyle('.zylem-window-control--close:hover', {
61
+ borderColor: 'rgba(255, 132, 114, 0.78)',
62
+ background: 'rgba(230, 69, 52, 0.16)',
63
+ color: '#ffb4a8',
64
+ boxShadow: vars.effects.glowDanger,
65
+ });
86
66
 
87
67
  globalStyle('.zylem-window-control--close:focus-visible', {
88
- boxShadow: `${jewelDepth}, 0 0 8px rgba(230, 69, 52, 0.34), ${vars.effects.focusRing}`,
68
+ borderColor: 'rgba(255, 132, 114, 0.78)',
69
+ background: 'rgba(230, 69, 52, 0.16)',
70
+ color: '#ffb4a8',
71
+ boxShadow: `${vars.effects.glowDanger}, ${vars.effects.focusRing}`,
89
72
  });
@@ -17,8 +17,9 @@ export interface WindowControlsProps {
17
17
  }
18
18
 
19
19
  /**
20
- * Shared glass window controls: blue collapse jewel and red close jewel, used
21
- * by floating and detached panels. Only controls with a handler are rendered.
20
+ * Shared ghost window controls, used by floating and detached panels. Close
21
+ * takes the danger color only while hovered or focused. Only controls with a
22
+ * handler are rendered.
22
23
  */
23
24
  export function WindowControls(props: WindowControlsProps) {
24
25
  return (
package/src/fonts.css CHANGED
@@ -1 +1 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap');
1
+ @import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');
@@ -107,17 +107,16 @@ globalStyle('.zylem-accordion--stack .accordion-content', {
107
107
  overflow: 'visible',
108
108
  });
109
109
 
110
- globalStyle('.accordion-trigger::after', {
111
- // The empty alternative text keeps the chevron out of the trigger's
112
- // accessible name; the first value is for browsers without that syntax.
113
- content: ["'\\25BC'", "'\\25BC' / ''"],
114
- position: 'relative',
110
+ globalStyle('.accordion-chevron', {
111
+ width: '16px',
112
+ height: '16px',
113
+ flexShrink: 0,
114
+ stroke: 'currentColor',
115
115
  color: vars.colors.textSecondary,
116
- fontSize: '10px',
117
116
  transition: `transform ${vars.motion.normal} ${vars.motion.easeOut}`,
118
117
  });
119
118
 
120
- globalStyle('.accordion-trigger[data-expanded]::after', {
119
+ globalStyle('.accordion-trigger[data-expanded] .accordion-chevron', {
121
120
  transform: 'rotate(180deg)',
122
121
  color: '#F4FAFF',
123
122
  });
@@ -37,6 +37,15 @@ globalStyle('.zylem-exo-2', {
37
37
  fontStyle: 'normal',
38
38
  });
39
39
 
40
+ /** Time and units: clocks, beats, dimensions, levels. */
41
+ globalStyle('.zylem-mono', {
42
+ fontFamily: vars.typography.fontFamilyMono,
43
+ fontOpticalSizing: 'auto',
44
+ fontWeight: 400,
45
+ fontStyle: 'normal',
46
+ fontVariantNumeric: 'tabular-nums',
47
+ });
48
+
40
49
  globalStyle('.scrollable-y', {
41
50
  overflowY: 'scroll',
42
51
  overflowX: 'hidden',
@@ -137,7 +146,9 @@ globalStyle('.floating-panel-content', {
137
146
 
138
147
  globalStyle('.floating-panel-controls', {
139
148
  display: 'flex',
149
+ marginTop: '4px',
140
150
  alignItems: 'center',
151
+ alignSelf: 'flex-start',
141
152
  gap: '7px',
142
153
  });
143
154
 
@@ -149,7 +149,10 @@ const visual = defineProperties({
149
149
  bold: '2px',
150
150
  },
151
151
  borderStyle: ['solid', 'dashed', 'dotted', 'none'],
152
- fontFamily: { default: vars.typography.fontFamily },
152
+ fontFamily: {
153
+ default: vars.typography.fontFamily,
154
+ mono: vars.typography.fontFamilyMono,
155
+ },
153
156
  fontSize: { default: vars.typography.fontSize },
154
157
  lineHeight: ['1', '1.2', '1.35', '1.45', '1.5'],
155
158
  letterSpacing: {
package/src/theme.css.ts CHANGED
@@ -53,8 +53,13 @@ const tokens = {
53
53
  iconSm: '16px',
54
54
  iconLg: '96px',
55
55
  },
56
+ /**
57
+ * Exo 2 is the interface face. JetBrains Mono is for time and units
58
+ * (clocks, beats, dimensions, levels) so digits keep a stable width.
59
+ */
56
60
  typography: {
57
61
  fontFamily: "'Exo 2', sans-serif",
62
+ fontFamilyMono: "'JetBrains Mono', ui-monospace, monospace",
58
63
  fontSize: '14px',
59
64
  },
60
65
  borders: {
@@ -178,6 +183,7 @@ const varNames = {
178
183
  },
179
184
  typography: {
180
185
  fontFamily: 'zylem-font-family',
186
+ fontFamilyMono: 'zylem-font-family-mono',
181
187
  fontSize: 'zylem-font-size',
182
188
  },
183
189
  borders: {
@@ -1 +0,0 @@
1
- var l={colors:{primary:"#61A6E8",primaryHover:"#3B8AD8",primaryActive:"#0C6EB8",accent:"#E64534",accentHover:"#C93A2C",accentActive:"#A82F24",background:"#11151C",backgroundTranslucent:"rgba(10, 20, 30, 0.46)",surface:"#1A1F27",surfaceHover:"#222831",border:"#2D3643",active:"rgba(20, 255, 60, 0.7)",activeHover:"rgba(20, 255, 60, 0.4)",successHover:"#2a6734b3",text:"#E6EBEF",textSecondary:"#88929E",consoleBackground:"rgba(20, 40, 60, 0.25)",consoleText:"#61A6E8"},spacing:{xxs:"0.125rem",xs:"0.25rem",sm:"0.5rem",md:"0.75rem",lg:"1rem",xl:"1.5rem",xxl:"2rem",xxxl:"3rem"},sizes:{icon:"28px",iconSm:"16px",iconLg:"96px"},typography:{fontFamily:"'Exo 2', sans-serif",fontSize:"14px"},borders:{radius:"12px",width:"1.5px"},material:{glassPanel:"linear-gradient(180deg, rgba(38, 76, 112, 0.74), rgba(10, 24, 38, 0.58))",glassPanelDark:"linear-gradient(180deg, rgba(26, 31, 39, 0.75), rgba(10, 20, 30, 0.68))",glossyBar:"linear-gradient(180deg, rgba(205, 232, 255, 0.55) 0%, rgba(97, 166, 232, 0.34) 38%, rgba(18, 54, 88, 0.86) 100%)",buttonGlass:"linear-gradient(180deg, rgba(178, 219, 255, 0.34), rgba(30, 94, 148, 0.72) 48%, rgba(9, 34, 58, 0.92))",buttonGlassHover:"linear-gradient(180deg, rgba(218, 242, 255, 0.58), rgba(48, 137, 220, 0.86) 48%, rgba(11, 62, 112, 0.96))",buttonGlassActive:"linear-gradient(180deg, rgba(190, 255, 203, 0.42), rgba(28, 174, 63, 0.78) 50%, rgba(9, 86, 31, 0.95))",buttonGlassDanger:"linear-gradient(180deg, rgba(255, 210, 202, 0.36), rgba(230, 69, 52, 0.82) 50%, rgba(96, 18, 13, 0.94))",fieldGlass:"linear-gradient(180deg, rgba(8, 19, 31, 0.82), rgba(15, 39, 62, 0.72))",panelHeaderGloss:"linear-gradient(180deg, rgba(190, 226, 255, 0.18), rgba(61, 118, 165, 0.16) 46%, rgba(10, 27, 44, 0.26))"},effects:{blurSm:"8px",blurMd:"14px",blurLg:"24px",shadowPanel:"0 22px 54px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.10)",shadowButton:"inset 0 1px 0 rgba(255,255,255,0.38), inset 0 -1px 0 rgba(0,0,0,0.45), 0 2px 7px rgba(0,0,0,0.35)",shadowInset:"inset 0 1px 2px rgba(0,0,0,0.42), inset 0 -1px 0 rgba(255,255,255,0.08)",glowPrimary:"0 0 18px rgba(97, 166, 232, 0.28)",glowActive:"0 0 20px rgba(20, 255, 60, 0.26)",glowDanger:"0 0 20px rgba(230, 69, 52, 0.24)",focusRing:"0 0 0 2px rgba(97, 166, 232, 0.38), 0 0 18px rgba(97, 166, 232, 0.22)"},radii:{window:"14px",panel:"12px",button:"7px",control:"6px",card:"10px"},motion:{fast:"120ms",normal:"160ms",easeOut:"cubic-bezier(.2,.8,.2,1)"},art:{checkerLight:"#4F5C72",checkerDark:"#3C4759",canvasBorder:"rgba(150, 210, 255, 0.5)"},layers:{base:"0",panel:"1000",modal:"2000",popover:"3000",tooltip:"4000",menu:"5000"}},o={colors:{primary:"var(--zylem-color-primary)",primaryHover:"var(--zylem-color-primary-hover)",primaryActive:"var(--zylem-color-primary-active)",accent:"var(--zylem-color-accent)",accentHover:"var(--zylem-color-accent-hover)",accentActive:"var(--zylem-color-accent-active)",background:"var(--zylem-color-background)",backgroundTranslucent:"var(--zylem-color-background-translucent)",surface:"var(--zylem-color-surface)",surfaceHover:"var(--zylem-color-surface-hover)",border:"var(--zylem-color-border)",active:"var(--zylem-color-active)",activeHover:"var(--zylem-color-active-hover)",successHover:"var(--zylem-color-success-hover)",text:"var(--zylem-color-text)",textSecondary:"var(--zylem-color-text-secondary)",consoleBackground:"var(--zylem-color-console-background)",consoleText:"var(--zylem-color-console-text)"},spacing:{xxs:"var(--zylem-spacing-xxs)",xs:"var(--zylem-spacing-xs)",sm:"var(--zylem-spacing-sm)",md:"var(--zylem-spacing-md)",lg:"var(--zylem-spacing-lg)",xl:"var(--zylem-spacing-xl)",xxl:"var(--zylem-spacing-xxl)",xxxl:"var(--zylem-spacing-xxxl)"},sizes:{icon:"var(--zylem-size-icon)",iconSm:"var(--zylem-size-icon-sm)",iconLg:"var(--zylem-size-icon-lg)"},typography:{fontFamily:"var(--zylem-font-family)",fontSize:"var(--zylem-font-size)"},borders:{radius:"var(--zylem-radius)",width:"var(--zylem-border)"},material:{glassPanel:"var(--zylem-material-glass-panel)",glassPanelDark:"var(--zylem-material-glass-panel-dark)",glossyBar:"var(--zylem-material-glossy-bar)",buttonGlass:"var(--zylem-material-button-glass)",buttonGlassHover:"var(--zylem-material-button-glass-hover)",buttonGlassActive:"var(--zylem-material-button-glass-active)",buttonGlassDanger:"var(--zylem-material-button-glass-danger)",fieldGlass:"var(--zylem-material-field-glass)",panelHeaderGloss:"var(--zylem-material-panel-header-gloss)"},effects:{blurSm:"var(--zylem-effect-blur-sm)",blurMd:"var(--zylem-effect-blur-md)",blurLg:"var(--zylem-effect-blur-lg)",shadowPanel:"var(--zylem-effect-shadow-panel)",shadowButton:"var(--zylem-effect-shadow-button)",shadowInset:"var(--zylem-effect-shadow-inset)",glowPrimary:"var(--zylem-effect-glow-primary)",glowActive:"var(--zylem-effect-glow-active)",glowDanger:"var(--zylem-effect-glow-danger)",focusRing:"var(--zylem-effect-focus-ring)"},radii:{window:"var(--zylem-radius-window)",panel:"var(--zylem-radius-panel)",button:"var(--zylem-radius-button)",control:"var(--zylem-radius-control)",card:"var(--zylem-radius-card)"},motion:{fast:"var(--zylem-motion-fast)",normal:"var(--zylem-motion-normal)",easeOut:"var(--zylem-motion-ease-out)"},art:{checkerLight:"var(--zylem-art-checker-light)",checkerDark:"var(--zylem-art-checker-dark)",canvasBorder:"var(--zylem-art-canvas-border)"},layers:{base:"var(--zylem-layer-base)",panel:"var(--zylem-layer-panel)",modal:"var(--zylem-layer-modal)",popover:"var(--zylem-layer-popover)",tooltip:"var(--zylem-layer-tooltip)",menu:"var(--zylem-layer-menu)"}};export{l as a,o as b};