@zylem/ui 0.1.0 → 0.1.1

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 (78) hide show
  1. package/dist/chunk-VGOOWBSO.js +1 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.d.ts +75 -2
  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 +7 -4
  8. package/src/components/Accordion/Accordion.tsx +60 -0
  9. package/src/components/Badge/Badge.css.ts +52 -0
  10. package/src/components/Badge/Badge.tsx +23 -0
  11. package/src/components/Button/Button.css.ts +124 -0
  12. package/src/components/Button/Button.tsx +34 -0
  13. package/src/components/Card/Card.css.ts +62 -0
  14. package/src/components/Card/Card.tsx +54 -0
  15. package/src/{global/checkbox.css.ts → components/Checkbox/Checkbox.css.ts} +23 -23
  16. package/src/components/Checkbox/Checkbox.tsx +41 -0
  17. package/src/components/Console/Console.css.ts +65 -0
  18. package/src/components/Console/Console.tsx +51 -0
  19. package/src/components/Dialog/Dialog.css.ts +86 -0
  20. package/src/components/Dialog/Dialog.tsx +89 -0
  21. package/src/components/DropdownMenu/DropdownMenu.css.ts +76 -0
  22. package/src/components/DropdownMenu/DropdownMenu.tsx +63 -0
  23. package/src/components/EmptyState/EmptyState.css.ts +29 -0
  24. package/src/components/EmptyState/EmptyState.tsx +32 -0
  25. package/src/components/Kbd/Kbd.css.ts +27 -0
  26. package/src/components/Kbd/Kbd.tsx +17 -0
  27. package/src/components/NumberField/NumberField.css.ts +47 -0
  28. package/src/components/NumberField/NumberField.tsx +66 -0
  29. package/src/components/Panel/Panel.css.ts +88 -0
  30. package/src/components/Panel/Panel.tsx +66 -0
  31. package/src/components/Progress/Progress.css.ts +51 -0
  32. package/src/components/Progress/Progress.tsx +43 -0
  33. package/src/components/Property/Property.css.ts +70 -0
  34. package/src/components/Property/Property.tsx +118 -0
  35. package/src/components/ScrollArea/ScrollArea.tsx +41 -0
  36. package/src/components/SearchInput/SearchInput.css.ts +25 -0
  37. package/src/components/SearchInput/SearchInput.tsx +31 -0
  38. package/src/components/Select/Select.css.ts +93 -0
  39. package/src/components/Select/Select.tsx +68 -0
  40. package/src/components/Separator/Separator.css.ts +22 -0
  41. package/src/components/Separator/Separator.tsx +18 -0
  42. package/src/components/Sidebar/Sidebar.css.ts +79 -0
  43. package/src/components/Sidebar/Sidebar.tsx +69 -0
  44. package/src/components/Slider/Slider.css.ts +91 -0
  45. package/src/components/Slider/Slider.tsx +51 -0
  46. package/src/components/Switch/Switch.css.ts +72 -0
  47. package/src/components/Switch/Switch.tsx +36 -0
  48. package/src/components/Tabs/Tabs.css.ts +70 -0
  49. package/src/components/Tabs/Tabs.tsx +79 -0
  50. package/src/components/TextField/TextField.css.ts +16 -0
  51. package/src/components/TextField/TextField.tsx +76 -0
  52. package/src/components/TitleBar/TitleBar.css.ts +46 -0
  53. package/src/components/TitleBar/TitleBar.tsx +60 -0
  54. package/src/components/Toolbar/Toolbar.css.ts +29 -0
  55. package/src/components/Toolbar/Toolbar.tsx +30 -0
  56. package/src/components/ToolbarButton/ToolbarButton.css.ts +64 -0
  57. package/src/components/ToolbarButton/ToolbarButton.tsx +42 -0
  58. package/src/components/Tooltip/Tooltip.css.ts +32 -0
  59. package/src/components/Tooltip/Tooltip.tsx +27 -0
  60. package/src/components/WindowControls/WindowControls.css.ts +59 -0
  61. package/src/components/WindowControls/WindowControls.tsx +51 -0
  62. package/src/components/index.ts +67 -6
  63. package/src/components/shared/field.css.ts +60 -0
  64. package/src/global/accordion.css.ts +32 -18
  65. package/src/global/common.css.ts +14 -17
  66. package/src/global/detached-panel.css.ts +31 -8
  67. package/src/global/editor-base.css.ts +72 -119
  68. package/src/global/entities.css.ts +19 -15
  69. package/src/global/hyperglass-base.css.ts +91 -0
  70. package/src/global/menu.css.ts +8 -3
  71. package/src/sprinkles.css.ts +22 -0
  72. package/src/styles.ts +32 -4
  73. package/src/theme.css.ts +190 -99
  74. package/dist/chunk-3R5KFBTB.js +0 -1
  75. package/src/components/Button.tsx +0 -19
  76. package/src/global/console.css.ts +0 -43
  77. package/src/global/sidebar.css.ts +0 -18
  78. package/src/global/toolbar.css.ts +0 -62
package/src/theme.css.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
- createGlobalTheme,
3
- createGlobalThemeContract,
2
+ createGlobalTheme,
3
+ createGlobalThemeContract,
4
4
  } from '@vanilla-extract/css';
5
5
 
6
6
  /**
@@ -12,54 +12,105 @@ import {
12
12
  * generated CSS variables keep their legacy `--zylem-*` identifiers.
13
13
  */
14
14
  const tokens = {
15
- colors: {
16
- primary: '#61A6E8',
17
- primaryHover: '#3B8AD8',
18
- primaryActive: '#0C6EB8',
19
-
20
- accent: '#E64534',
21
- accentHover: '#C93A2C',
22
- accentActive: '#A82F24',
23
-
24
- background: '#11151C',
25
- backgroundTranslucent: 'rgba(10, 20, 30, 0.46)',
26
- surface: '#1A1F27',
27
- surfaceHover: '#222831',
28
- border: '#2D3643',
29
-
30
- active: 'rgba(20, 255, 60, 0.7)',
31
- activeHover: 'rgba(20, 255, 60, 0.4)',
32
- successHover: '#2a6734b3',
33
-
34
- text: '#E6EBEF',
35
- textSecondary: '#88929E',
36
-
37
- consoleBackground: 'rgba(20, 40, 60, 0.25)',
38
- consoleText: '#61A6E8',
39
- },
40
- spacing: {
41
- xxs: '0.125rem',
42
- xs: '0.25rem',
43
- sm: '0.5rem',
44
- md: '0.75rem',
45
- lg: '1rem',
46
- xl: '1.5rem',
47
- xxl: '2rem',
48
- xxxl: '3rem',
49
- },
50
- sizes: {
51
- icon: '28px',
52
- iconSm: '16px',
53
- iconLg: '96px',
54
- },
55
- typography: {
56
- fontFamily: "'Exo 2', sans-serif",
57
- fontSize: '14px',
58
- },
59
- borders: {
60
- radius: '12px',
61
- width: '1.5px',
62
- },
15
+ colors: {
16
+ primary: '#61A6E8',
17
+ primaryHover: '#3B8AD8',
18
+ primaryActive: '#0C6EB8',
19
+
20
+ accent: '#E64534',
21
+ accentHover: '#C93A2C',
22
+ accentActive: '#A82F24',
23
+
24
+ background: '#11151C',
25
+ backgroundTranslucent: 'rgba(10, 20, 30, 0.46)',
26
+ surface: '#1A1F27',
27
+ surfaceHover: '#222831',
28
+ border: '#2D3643',
29
+
30
+ active: 'rgba(20, 255, 60, 0.7)',
31
+ activeHover: 'rgba(20, 255, 60, 0.4)',
32
+ successHover: '#2a6734b3',
33
+
34
+ text: '#E6EBEF',
35
+ textSecondary: '#88929E',
36
+
37
+ consoleBackground: 'rgba(20, 40, 60, 0.25)',
38
+ consoleText: '#61A6E8',
39
+ },
40
+ spacing: {
41
+ xxs: '0.125rem',
42
+ xs: '0.25rem',
43
+ sm: '0.5rem',
44
+ md: '0.75rem',
45
+ lg: '1rem',
46
+ xl: '1.5rem',
47
+ xxl: '2rem',
48
+ xxxl: '3rem',
49
+ },
50
+ sizes: {
51
+ icon: '28px',
52
+ iconSm: '16px',
53
+ iconLg: '96px',
54
+ },
55
+ typography: {
56
+ fontFamily: "'Exo 2', sans-serif",
57
+ fontSize: '14px',
58
+ },
59
+ borders: {
60
+ radius: '12px',
61
+ width: '1.5px',
62
+ },
63
+ material: {
64
+ glassPanel:
65
+ 'linear-gradient(180deg, rgba(38, 76, 112, 0.74), rgba(10, 24, 38, 0.58))',
66
+ glassPanelDark:
67
+ 'linear-gradient(180deg, rgba(26, 31, 39, 0.75), rgba(10, 20, 30, 0.68))',
68
+ glossyBar:
69
+ 'linear-gradient(180deg, rgba(205, 232, 255, 0.55) 0%, rgba(97, 166, 232, 0.34) 38%, rgba(18, 54, 88, 0.86) 100%)',
70
+ buttonGlass:
71
+ 'linear-gradient(180deg, rgba(178, 219, 255, 0.34), rgba(30, 94, 148, 0.72) 48%, rgba(9, 34, 58, 0.92))',
72
+ buttonGlassHover:
73
+ 'linear-gradient(180deg, rgba(218, 242, 255, 0.58), rgba(48, 137, 220, 0.86) 48%, rgba(11, 62, 112, 0.96))',
74
+ buttonGlassActive:
75
+ 'linear-gradient(180deg, rgba(190, 255, 203, 0.42), rgba(28, 174, 63, 0.78) 50%, rgba(9, 86, 31, 0.95))',
76
+ buttonGlassDanger:
77
+ 'linear-gradient(180deg, rgba(255, 210, 202, 0.36), rgba(230, 69, 52, 0.82) 50%, rgba(96, 18, 13, 0.94))',
78
+ fieldGlass:
79
+ 'linear-gradient(180deg, rgba(8, 19, 31, 0.82), rgba(15, 39, 62, 0.72))',
80
+ panelHeaderGloss:
81
+ 'linear-gradient(180deg, rgba(190, 226, 255, 0.18), rgba(61, 118, 165, 0.16) 46%, rgba(10, 27, 44, 0.26))',
82
+ },
83
+ effects: {
84
+ blurSm: '8px',
85
+ blurMd: '14px',
86
+ blurLg: '24px',
87
+
88
+ shadowPanel:
89
+ '0 22px 54px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.10)',
90
+ shadowButton:
91
+ '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)',
92
+ shadowInset:
93
+ 'inset 0 1px 2px rgba(0,0,0,0.42), inset 0 -1px 0 rgba(255,255,255,0.08)',
94
+
95
+ glowPrimary: '0 0 18px rgba(97, 166, 232, 0.28)',
96
+ glowActive: '0 0 20px rgba(20, 255, 60, 0.26)',
97
+ glowDanger: '0 0 20px rgba(230, 69, 52, 0.24)',
98
+
99
+ focusRing:
100
+ '0 0 0 2px rgba(97, 166, 232, 0.38), 0 0 18px rgba(97, 166, 232, 0.22)',
101
+ },
102
+ radii: {
103
+ window: '14px',
104
+ panel: '12px',
105
+ button: '7px',
106
+ control: '6px',
107
+ card: '10px',
108
+ },
109
+ motion: {
110
+ fast: '120ms',
111
+ normal: '160ms',
112
+ easeOut: 'cubic-bezier(.2,.8,.2,1)',
113
+ },
63
114
  } as const;
64
115
 
65
116
  /**
@@ -69,54 +120,92 @@ const tokens = {
69
120
  * identifiers that the rest of the codebase already consumes.
70
121
  */
71
122
  const varNames = {
72
- colors: {
73
- primary: 'zylem-color-primary',
74
- primaryHover: 'zylem-color-primary-hover',
75
- primaryActive: 'zylem-color-primary-active',
76
-
77
- accent: 'zylem-color-accent',
78
- accentHover: 'zylem-color-accent-hover',
79
- accentActive: 'zylem-color-accent-active',
80
-
81
- background: 'zylem-color-background',
82
- backgroundTranslucent: 'zylem-color-background-translucent',
83
- surface: 'zylem-color-surface',
84
- surfaceHover: 'zylem-color-surface-hover',
85
- border: 'zylem-color-border',
86
-
87
- active: 'zylem-color-active',
88
- activeHover: 'zylem-color-active-hover',
89
- successHover: 'zylem-color-success-hover',
90
-
91
- text: 'zylem-color-text',
92
- textSecondary: 'zylem-color-text-secondary',
93
-
94
- consoleBackground: 'zylem-color-console-background',
95
- consoleText: 'zylem-color-console-text',
96
- },
97
- spacing: {
98
- xxs: 'zylem-spacing-xxs',
99
- xs: 'zylem-spacing-xs',
100
- sm: 'zylem-spacing-sm',
101
- md: 'zylem-spacing-md',
102
- lg: 'zylem-spacing-lg',
103
- xl: 'zylem-spacing-xl',
104
- xxl: 'zylem-spacing-xxl',
105
- xxxl: 'zylem-spacing-xxxl',
106
- },
107
- sizes: {
108
- icon: 'zylem-size-icon',
109
- iconSm: 'zylem-size-icon-sm',
110
- iconLg: 'zylem-size-icon-lg',
111
- },
112
- typography: {
113
- fontFamily: 'zylem-font-family',
114
- fontSize: 'zylem-font-size',
115
- },
116
- borders: {
117
- radius: 'zylem-radius',
118
- width: 'zylem-border',
119
- },
123
+ colors: {
124
+ primary: 'zylem-color-primary',
125
+ primaryHover: 'zylem-color-primary-hover',
126
+ primaryActive: 'zylem-color-primary-active',
127
+
128
+ accent: 'zylem-color-accent',
129
+ accentHover: 'zylem-color-accent-hover',
130
+ accentActive: 'zylem-color-accent-active',
131
+
132
+ background: 'zylem-color-background',
133
+ backgroundTranslucent: 'zylem-color-background-translucent',
134
+ surface: 'zylem-color-surface',
135
+ surfaceHover: 'zylem-color-surface-hover',
136
+ border: 'zylem-color-border',
137
+
138
+ active: 'zylem-color-active',
139
+ activeHover: 'zylem-color-active-hover',
140
+ successHover: 'zylem-color-success-hover',
141
+
142
+ text: 'zylem-color-text',
143
+ textSecondary: 'zylem-color-text-secondary',
144
+
145
+ consoleBackground: 'zylem-color-console-background',
146
+ consoleText: 'zylem-color-console-text',
147
+ },
148
+ spacing: {
149
+ xxs: 'zylem-spacing-xxs',
150
+ xs: 'zylem-spacing-xs',
151
+ sm: 'zylem-spacing-sm',
152
+ md: 'zylem-spacing-md',
153
+ lg: 'zylem-spacing-lg',
154
+ xl: 'zylem-spacing-xl',
155
+ xxl: 'zylem-spacing-xxl',
156
+ xxxl: 'zylem-spacing-xxxl',
157
+ },
158
+ sizes: {
159
+ icon: 'zylem-size-icon',
160
+ iconSm: 'zylem-size-icon-sm',
161
+ iconLg: 'zylem-size-icon-lg',
162
+ },
163
+ typography: {
164
+ fontFamily: 'zylem-font-family',
165
+ fontSize: 'zylem-font-size',
166
+ },
167
+ borders: {
168
+ radius: 'zylem-radius',
169
+ width: 'zylem-border',
170
+ },
171
+ material: {
172
+ glassPanel: 'zylem-material-glass-panel',
173
+ glassPanelDark: 'zylem-material-glass-panel-dark',
174
+ glossyBar: 'zylem-material-glossy-bar',
175
+ buttonGlass: 'zylem-material-button-glass',
176
+ buttonGlassHover: 'zylem-material-button-glass-hover',
177
+ buttonGlassActive: 'zylem-material-button-glass-active',
178
+ buttonGlassDanger: 'zylem-material-button-glass-danger',
179
+ fieldGlass: 'zylem-material-field-glass',
180
+ panelHeaderGloss: 'zylem-material-panel-header-gloss',
181
+ },
182
+ effects: {
183
+ blurSm: 'zylem-effect-blur-sm',
184
+ blurMd: 'zylem-effect-blur-md',
185
+ blurLg: 'zylem-effect-blur-lg',
186
+
187
+ shadowPanel: 'zylem-effect-shadow-panel',
188
+ shadowButton: 'zylem-effect-shadow-button',
189
+ shadowInset: 'zylem-effect-shadow-inset',
190
+
191
+ glowPrimary: 'zylem-effect-glow-primary',
192
+ glowActive: 'zylem-effect-glow-active',
193
+ glowDanger: 'zylem-effect-glow-danger',
194
+
195
+ focusRing: 'zylem-effect-focus-ring',
196
+ },
197
+ radii: {
198
+ window: 'zylem-radius-window',
199
+ panel: 'zylem-radius-panel',
200
+ button: 'zylem-radius-button',
201
+ control: 'zylem-radius-control',
202
+ card: 'zylem-radius-card',
203
+ },
204
+ motion: {
205
+ fast: 'zylem-motion-fast',
206
+ normal: 'zylem-motion-normal',
207
+ easeOut: 'zylem-motion-ease-out',
208
+ },
120
209
  } as const;
121
210
 
122
211
  /**
@@ -126,7 +215,9 @@ const varNames = {
126
215
  */
127
216
  export const vars = createGlobalThemeContract(varNames);
128
217
 
129
- createGlobalTheme(':root', vars, tokens);
218
+ // `:host` is included so the tokens also resolve inside the editor web
219
+ // component's shadow DOM, where `:root` doesn't match (see logo.css.ts).
220
+ createGlobalTheme(':root, :host', vars, tokens);
130
221
 
131
222
  /** Token values as a plain readonly object, exported for downstream tooling. */
132
223
  export const tokenValues = tokens;
@@ -1 +0,0 @@
1
- var c={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"}},a={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)"}};export{c as a,a as b};
@@ -1,19 +0,0 @@
1
- import type { JSX } from 'solid-js';
2
- import { splitProps } from 'solid-js';
3
-
4
- export type ButtonProps = JSX.ButtonHTMLAttributes<HTMLButtonElement>;
5
-
6
- /**
7
- * High-level wrapper around the global `.zylem-button` style. First component
8
- * of the @zylem/ui component library; future components (Toolbar,
9
- * Accordion, Panel, ...) should follow this same pattern: a thin Solid
10
- * component over the token-driven global styles.
11
- */
12
- export function Button(props: ButtonProps) {
13
- const [local, rest] = splitProps(props, ['class', 'children']);
14
- return (
15
- <button type="button" class={local.class ? `zylem-button ${local.class}` : 'zylem-button'} {...rest}>
16
- {local.children}
17
- </button>
18
- );
19
- }
@@ -1,43 +0,0 @@
1
- import { globalStyle } from '@vanilla-extract/css';
2
- import { vars } from '../theme.css';
3
-
4
- globalStyle('.zylem-console-container', {
5
- display: 'flex',
6
- flexDirection: 'column',
7
- boxSizing: 'border-box',
8
- minHeight: 0,
9
- padding: vars.spacing.sm,
10
- height: '100%',
11
- });
12
-
13
- globalStyle('.zylem-console-wrapper', {
14
- position: 'relative',
15
- display: 'flex',
16
- flex: 1,
17
- minHeight: 0,
18
- });
19
-
20
- globalStyle('.zylem-console', {
21
- width: '100%',
22
- height: '100%',
23
- flex: 1,
24
- resize: 'none',
25
- background: vars.colors.consoleBackground,
26
- color: vars.colors.primary,
27
- fontSize: vars.typography.fontSize,
28
- border: `${vars.borders.width} solid ${vars.colors.primary}`,
29
- borderRadius: vars.borders.radius,
30
- padding: vars.spacing.md,
31
- boxSizing: 'border-box',
32
- outline: 'none',
33
- fontFamily: "'Courier New', monospace",
34
- });
35
-
36
- globalStyle('.zylem-console-clear', {
37
- position: 'absolute',
38
- top: vars.spacing.sm,
39
- right: vars.spacing.sm,
40
- padding: `4px ${vars.spacing.md}`,
41
- fontSize: '12px',
42
- zIndex: 1,
43
- });
@@ -1,18 +0,0 @@
1
- import { globalStyle } from '@vanilla-extract/css';
2
- import { vars } from '../theme.css';
3
-
4
- globalStyle('.sidebar', {
5
- background: vars.colors.surface,
6
- borderRight: `1px solid ${vars.colors.border}`,
7
- });
8
-
9
- globalStyle('.sidebar-item:hover', {
10
- background: vars.colors.surfaceHover,
11
- });
12
-
13
- globalStyle('.sidebar-item.is-active', {
14
- background: vars.colors.primaryActive,
15
- color: 'white',
16
- fontWeight: 600,
17
- boxShadow: 'inset 0 0 8px rgba(97, 166, 232, 0.4)',
18
- });
@@ -1,62 +0,0 @@
1
- import { globalStyle, keyframes } from '@vanilla-extract/css';
2
- import { vars } from '../theme.css';
3
-
4
- const tooltipEnter = keyframes({
5
- from: { opacity: 0, transform: 'translateY(4px)' },
6
- to: { opacity: 1, transform: 'translateY(0)' },
7
- });
8
-
9
- globalStyle('.zylem-toolbar', {
10
- display: 'flex',
11
- position: 'sticky',
12
- top: 0,
13
- gap: vars.spacing.md,
14
- padding: vars.spacing.md,
15
- zIndex: 1,
16
- });
17
-
18
- globalStyle('.zylem-toolbar.separator', {
19
- borderBottom: `${vars.borders.width} solid ${vars.colors.primary}`,
20
- });
21
-
22
- globalStyle('.zylem-toolbar-btn', {
23
- display: 'flex',
24
- alignItems: 'center',
25
- padding: vars.spacing.md,
26
- cursor: 'pointer',
27
- });
28
-
29
- globalStyle('.zylem-toolbar-btn:hover svg', {
30
- stroke: vars.colors.backgroundTranslucent,
31
- });
32
-
33
- globalStyle('.zylem-toolbar-btn.selected', {
34
- background: vars.colors.active,
35
- borderColor: vars.colors.active,
36
- });
37
-
38
- globalStyle('.zylem-toolbar-btn.selected svg', {
39
- stroke: vars.colors.backgroundTranslucent,
40
- });
41
-
42
- globalStyle('.zylem-icon', {
43
- width: vars.sizes.icon,
44
- height: vars.sizes.icon,
45
- stroke: vars.colors.primary,
46
- });
47
-
48
- globalStyle('.zylem-tooltip', {
49
- background: vars.colors.backgroundTranslucent,
50
- color: vars.colors.primary,
51
- padding: `${vars.spacing.sm} ${vars.spacing.md}`,
52
- marginTop: vars.spacing.sm,
53
- borderRadius: vars.borders.radius,
54
- border: `${vars.borders.width} solid ${vars.colors.primary}`,
55
- fontSize: vars.typography.fontSize,
56
- pointerEvents: 'none',
57
- zIndex: 1000,
58
- });
59
-
60
- globalStyle('.zylem-tooltip[data-enter]', {
61
- animation: `${tooltipEnter} 0.2s ease-out`,
62
- });