@skygraph/styles 0.0.0-placeholder.0 → 0.1.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.
Files changed (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +92 -6
  3. package/components/autocomplete.css +33 -0
  4. package/components/avatar.css +37 -0
  5. package/components/badge.css +102 -0
  6. package/components/breadcrumb.css +29 -0
  7. package/components/button.css +181 -0
  8. package/components/calendar.css +408 -0
  9. package/components/carousel.css +102 -0
  10. package/components/cascader.css +354 -0
  11. package/components/charts.css +408 -0
  12. package/components/checkbox.css +29 -0
  13. package/components/collapse.css +166 -0
  14. package/components/colorpicker.css +252 -0
  15. package/components/context-menu.css +95 -0
  16. package/components/dashboard.css +299 -0
  17. package/components/datagrid.css +86 -0
  18. package/components/datepicker.css +601 -0
  19. package/components/descriptions.css +82 -0
  20. package/components/diagram.css +422 -0
  21. package/components/drawer.css +103 -0
  22. package/components/dropdown.css +93 -0
  23. package/components/empty.css +25 -0
  24. package/components/event-timeline.css +100 -0
  25. package/components/field.css +35 -0
  26. package/components/form.css +115 -0
  27. package/components/gantt.css +161 -0
  28. package/components/inline-edit.css +113 -0
  29. package/components/input-group.css +79 -0
  30. package/components/input-number.css +76 -0
  31. package/components/input-password.css +104 -0
  32. package/components/input.css +110 -0
  33. package/components/list.css +357 -0
  34. package/components/mentions.css +54 -0
  35. package/components/menu.css +309 -0
  36. package/components/modal.css +77 -0
  37. package/components/notification.css +128 -0
  38. package/components/pagination.css +162 -0
  39. package/components/pin-input.css +71 -0
  40. package/components/popconfirm.css +95 -0
  41. package/components/progress.css +116 -0
  42. package/components/radio.css +38 -0
  43. package/components/rate.css +34 -0
  44. package/components/resource-calendar.css +219 -0
  45. package/components/result.css +45 -0
  46. package/components/schema-form-editor.css +425 -0
  47. package/components/search-input.css +112 -0
  48. package/components/segmented.css +76 -0
  49. package/components/select.css +172 -0
  50. package/components/skeleton.css +68 -0
  51. package/components/slider.css +51 -0
  52. package/components/spin.css +86 -0
  53. package/components/steps.css +185 -0
  54. package/components/switch.css +69 -0
  55. package/components/table.css +984 -0
  56. package/components/tabs.css +117 -0
  57. package/components/tag-input.css +94 -0
  58. package/components/tag.css +61 -0
  59. package/components/textarea.css +22 -0
  60. package/components/timeline.css +169 -0
  61. package/components/timepicker.css +213 -0
  62. package/components/tooltip.css +91 -0
  63. package/components/transfer.css +140 -0
  64. package/components/tree.css +574 -0
  65. package/components/treeselect.css +219 -0
  66. package/components/upload.css +124 -0
  67. package/index.css +69 -3
  68. package/index.d.ts +9 -0
  69. package/package.json +102 -18
  70. package/print.css +88 -0
  71. package/reset.css +17 -0
  72. package/themes/dark.css +17 -0
  73. package/themes/default.css +14 -0
  74. package/tokens.css +312 -0
  75. package/transitions.css +158 -0
@@ -0,0 +1,425 @@
1
+ /* SchemaFormEditor — visual constructor for SchemaForm. */
2
+
3
+ .sg-sfe {
4
+ /* Component-local variables. Override via inline style or a wrapper rule
5
+ * to rebrand the editor. Each falls back to a global token so theming
6
+ * cascades automatically. */
7
+ --sg-sfe-bg: var(--sg-color-bg);
8
+ --sg-sfe-bg-secondary: var(--sg-color-bg-secondary);
9
+ --sg-sfe-bg-elevated: var(--sg-color-bg-elevated);
10
+ --sg-sfe-border: var(--sg-color-border);
11
+ --sg-sfe-border-secondary: var(--sg-color-border-secondary);
12
+ --sg-sfe-text: var(--sg-color-text);
13
+ --sg-sfe-text-secondary: var(--sg-color-text-secondary);
14
+ --sg-sfe-primary: var(--sg-color-primary);
15
+ --sg-sfe-primary-bg: var(--sg-color-primary-bg);
16
+ --sg-sfe-error: var(--sg-color-error);
17
+ --sg-sfe-radius: var(--sg-border-radius);
18
+ --sg-sfe-pad-sm: var(--sg-padding-sm);
19
+ --sg-sfe-pad-md: var(--sg-padding-md);
20
+ --sg-sfe-pad-lg: var(--sg-padding-lg);
21
+ --sg-sfe-shadow-sm: var(--sg-shadow-sm);
22
+ --sg-sfe-font-size: var(--sg-font-size);
23
+ --sg-sfe-font-size-sm: var(--sg-font-size-sm);
24
+ --sg-sfe-palette-width: 240px;
25
+ --sg-sfe-inspector-width: 280px;
26
+
27
+ display: flex;
28
+ flex-direction: column;
29
+ width: 100%;
30
+ background: var(--sg-sfe-bg);
31
+ border: 1px solid var(--sg-sfe-border);
32
+ border-radius: var(--sg-sfe-radius);
33
+ color: var(--sg-sfe-text);
34
+ font-size: var(--sg-sfe-font-size);
35
+ overflow: hidden;
36
+ }
37
+
38
+ /* Toolbar (top) ----------------------------------------------------------- */
39
+ .sg-sfe-toolbar {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: var(--sg-sfe-pad-sm);
43
+ padding: var(--sg-sfe-pad-sm) var(--sg-sfe-pad-md);
44
+ background: var(--sg-sfe-bg-secondary);
45
+ border-bottom: 1px solid var(--sg-sfe-border-secondary);
46
+ }
47
+
48
+ .sg-sfe-toolbar-title {
49
+ font-weight: 600;
50
+ font-size: var(--sg-sfe-font-size);
51
+ }
52
+
53
+ .sg-sfe-toolbar-btn {
54
+ appearance: none;
55
+ background: transparent;
56
+ border: 1px solid var(--sg-sfe-border);
57
+ border-radius: var(--sg-sfe-radius);
58
+ padding: 4px 12px;
59
+ font-size: var(--sg-sfe-font-size-sm);
60
+ color: var(--sg-sfe-text);
61
+ cursor: pointer;
62
+ transition: background var(--sg-transition-duration) var(--sg-transition-timing);
63
+ }
64
+
65
+ .sg-sfe-toolbar-btn:hover:not(:disabled) {
66
+ background: var(--sg-color-bg-hover);
67
+ }
68
+
69
+ .sg-sfe-toolbar-btn:disabled {
70
+ opacity: 0.4;
71
+ cursor: not-allowed;
72
+ }
73
+
74
+ /* Body (palette / center / inspector) ------------------------------------- */
75
+ .sg-sfe-body {
76
+ display: grid;
77
+ grid-template-columns: var(--sg-sfe-palette-width) 1fr var(--sg-sfe-inspector-width);
78
+ min-height: 480px;
79
+ }
80
+
81
+ /* Palette (left) ---------------------------------------------------------- */
82
+ .sg-sfe-palette {
83
+ display: flex;
84
+ flex-direction: column;
85
+ gap: var(--sg-sfe-pad-sm);
86
+ padding: var(--sg-sfe-pad-md);
87
+ background: var(--sg-sfe-bg-secondary);
88
+ border-right: 1px solid var(--sg-sfe-border-secondary);
89
+ overflow-y: auto;
90
+ }
91
+
92
+ .sg-sfe-palette-title {
93
+ font-weight: 600;
94
+ font-size: var(--sg-sfe-font-size-sm);
95
+ color: var(--sg-sfe-text-secondary);
96
+ text-transform: uppercase;
97
+ letter-spacing: 0.05em;
98
+ }
99
+
100
+ .sg-sfe-palette-list {
101
+ display: flex;
102
+ flex-direction: column;
103
+ gap: 6px;
104
+ }
105
+
106
+ .sg-sfe-palette-item {
107
+ display: flex;
108
+ align-items: center;
109
+ gap: var(--sg-sfe-pad-sm);
110
+ padding: var(--sg-sfe-pad-sm);
111
+ background: var(--sg-sfe-bg-elevated);
112
+ border: 1px solid var(--sg-sfe-border);
113
+ border-radius: var(--sg-sfe-radius);
114
+ cursor: grab;
115
+ user-select: none;
116
+ transition: border-color var(--sg-transition-duration) var(--sg-transition-timing),
117
+ box-shadow var(--sg-transition-duration) var(--sg-transition-timing);
118
+ }
119
+
120
+ .sg-sfe-palette-item:hover,
121
+ .sg-sfe-palette-item:focus-visible {
122
+ border-color: var(--sg-sfe-primary);
123
+ box-shadow: var(--sg-sfe-shadow-sm);
124
+ outline: none;
125
+ }
126
+
127
+ .sg-sfe-palette-item:active {
128
+ cursor: grabbing;
129
+ }
130
+
131
+ .sg-sfe-palette-item-glyph {
132
+ display: inline-flex;
133
+ align-items: center;
134
+ justify-content: center;
135
+ width: 24px;
136
+ height: 24px;
137
+ background: var(--sg-sfe-primary-bg);
138
+ color: var(--sg-sfe-primary);
139
+ border-radius: var(--sg-sfe-radius);
140
+ font-weight: 600;
141
+ flex-shrink: 0;
142
+ }
143
+
144
+ .sg-sfe-palette-item-body {
145
+ display: flex;
146
+ flex-direction: column;
147
+ min-width: 0;
148
+ }
149
+
150
+ .sg-sfe-palette-item-label {
151
+ font-weight: 500;
152
+ font-size: var(--sg-sfe-font-size);
153
+ }
154
+
155
+ .sg-sfe-palette-item-hint {
156
+ font-size: var(--sg-sfe-font-size-sm);
157
+ color: var(--sg-sfe-text-secondary);
158
+ }
159
+
160
+ /* Center (canvas + bottom tabs) ------------------------------------------ */
161
+ .sg-sfe-center {
162
+ display: flex;
163
+ flex-direction: column;
164
+ min-width: 0;
165
+ background: var(--sg-sfe-bg);
166
+ }
167
+
168
+ /* Canvas ------------------------------------------------------------------ */
169
+ .sg-sfe-canvas {
170
+ flex: 1;
171
+ padding: var(--sg-sfe-pad-lg);
172
+ overflow-y: auto;
173
+ min-height: 240px;
174
+ }
175
+
176
+ .sg-sfe-canvas[data-empty='true'] {
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: center;
180
+ }
181
+
182
+ .sg-sfe-canvas-empty {
183
+ width: 100%;
184
+ min-height: 200px;
185
+ display: flex;
186
+ align-items: center;
187
+ justify-content: center;
188
+ border: 2px dashed var(--sg-sfe-border);
189
+ border-radius: var(--sg-sfe-radius);
190
+ color: var(--sg-sfe-text-secondary);
191
+ font-size: var(--sg-sfe-font-size);
192
+ cursor: default;
193
+ }
194
+
195
+ .sg-sfe-canvas-form {
196
+ display: flex;
197
+ flex-direction: column;
198
+ gap: var(--sg-sfe-pad-md);
199
+ }
200
+
201
+ .sg-sfe-canvas-field {
202
+ position: relative;
203
+ padding: var(--sg-sfe-pad-sm);
204
+ border: 1px solid transparent;
205
+ border-radius: var(--sg-sfe-radius);
206
+ cursor: pointer;
207
+ transition: border-color var(--sg-transition-duration) var(--sg-transition-timing),
208
+ background var(--sg-transition-duration) var(--sg-transition-timing);
209
+ }
210
+
211
+ .sg-sfe-canvas-field:hover {
212
+ border-color: var(--sg-sfe-border);
213
+ background: var(--sg-sfe-bg-secondary);
214
+ }
215
+
216
+ .sg-sfe-canvas-field-selected {
217
+ border-color: var(--sg-sfe-primary);
218
+ background: var(--sg-sfe-primary-bg);
219
+ }
220
+
221
+ .sg-sfe-canvas-field-inner {
222
+ pointer-events: none;
223
+ display: flex;
224
+ flex-direction: column;
225
+ gap: 4px;
226
+ }
227
+
228
+ .sg-sfe-canvas-field-help {
229
+ font-size: var(--sg-sfe-font-size-sm);
230
+ color: var(--sg-sfe-text-secondary);
231
+ }
232
+
233
+ .sg-sfe-canvas-field-toolbar {
234
+ position: absolute;
235
+ top: -16px;
236
+ right: 8px;
237
+ display: flex;
238
+ gap: 4px;
239
+ padding: 2px 4px;
240
+ background: var(--sg-sfe-bg-elevated);
241
+ border: 1px solid var(--sg-sfe-border);
242
+ border-radius: var(--sg-sfe-radius);
243
+ box-shadow: var(--sg-sfe-shadow-sm);
244
+ z-index: var(--sg-z-sticky);
245
+ }
246
+
247
+ .sg-sfe-canvas-field-toolbar-btn {
248
+ appearance: none;
249
+ background: transparent;
250
+ border: none;
251
+ padding: 2px 6px;
252
+ font-size: var(--sg-sfe-font-size-sm);
253
+ color: var(--sg-sfe-text);
254
+ cursor: pointer;
255
+ border-radius: var(--sg-sfe-radius);
256
+ }
257
+
258
+ .sg-sfe-canvas-field-toolbar-btn:hover {
259
+ background: var(--sg-color-bg-hover);
260
+ }
261
+
262
+ .sg-sfe-canvas-field-toolbar-btn-danger:hover {
263
+ background: var(--sg-sfe-error);
264
+ color: var(--sg-color-white);
265
+ }
266
+
267
+ .sg-sfe-canvas-drop-indicator {
268
+ height: 2px;
269
+ background: var(--sg-sfe-primary);
270
+ border-radius: var(--sg-sfe-radius);
271
+ margin: 4px 0;
272
+ }
273
+
274
+ /* Inspector (right) ------------------------------------------------------- */
275
+ .sg-sfe-inspector {
276
+ display: flex;
277
+ flex-direction: column;
278
+ gap: var(--sg-sfe-pad-sm);
279
+ padding: var(--sg-sfe-pad-md);
280
+ background: var(--sg-sfe-bg-secondary);
281
+ border-left: 1px solid var(--sg-sfe-border-secondary);
282
+ overflow-y: auto;
283
+ }
284
+
285
+ .sg-sfe-inspector-title {
286
+ font-weight: 600;
287
+ font-size: var(--sg-sfe-font-size-sm);
288
+ color: var(--sg-sfe-text-secondary);
289
+ text-transform: uppercase;
290
+ letter-spacing: 0.05em;
291
+ }
292
+
293
+ .sg-sfe-inspector-empty {
294
+ color: var(--sg-sfe-text-secondary);
295
+ font-size: var(--sg-sfe-font-size-sm);
296
+ padding: var(--sg-sfe-pad-md) 0;
297
+ }
298
+
299
+ .sg-sfe-inspector-row {
300
+ display: flex;
301
+ flex-direction: column;
302
+ gap: 4px;
303
+ }
304
+
305
+ .sg-sfe-inspector-row-label {
306
+ font-size: var(--sg-sfe-font-size-sm);
307
+ color: var(--sg-sfe-text-secondary);
308
+ font-weight: 500;
309
+ }
310
+
311
+ .sg-sfe-inspector-input {
312
+ appearance: none;
313
+ width: 100%;
314
+ padding: 4px 8px;
315
+ font-size: var(--sg-sfe-font-size);
316
+ border: 1px solid var(--sg-sfe-border);
317
+ border-radius: var(--sg-sfe-radius);
318
+ background: var(--sg-sfe-bg);
319
+ color: var(--sg-sfe-text);
320
+ }
321
+
322
+ .sg-sfe-inspector-input:focus {
323
+ outline: none;
324
+ border-color: var(--sg-sfe-primary);
325
+ box-shadow: 0 0 0 2px var(--sg-sfe-primary-bg);
326
+ }
327
+
328
+ .sg-sfe-inspector-checkbox {
329
+ display: flex;
330
+ align-items: center;
331
+ gap: 6px;
332
+ font-size: var(--sg-sfe-font-size-sm);
333
+ color: var(--sg-sfe-text);
334
+ cursor: pointer;
335
+ }
336
+
337
+ .sg-sfe-inspector-options {
338
+ display: flex;
339
+ flex-direction: column;
340
+ gap: 6px;
341
+ }
342
+
343
+ .sg-sfe-inspector-option {
344
+ display: grid;
345
+ grid-template-columns: 1fr 1fr 24px;
346
+ gap: 4px;
347
+ }
348
+
349
+ .sg-sfe-inspector-option-remove,
350
+ .sg-sfe-inspector-option-add {
351
+ appearance: none;
352
+ background: transparent;
353
+ border: 1px dashed var(--sg-sfe-border);
354
+ border-radius: var(--sg-sfe-radius);
355
+ cursor: pointer;
356
+ font-size: var(--sg-sfe-font-size-sm);
357
+ color: var(--sg-sfe-text-secondary);
358
+ padding: 4px 8px;
359
+ }
360
+
361
+ .sg-sfe-inspector-option-add:hover {
362
+ border-color: var(--sg-sfe-primary);
363
+ color: var(--sg-sfe-primary);
364
+ }
365
+
366
+ /* Bottom tabs (Preview / Schema) ----------------------------------------- */
367
+ .sg-sfe-bottom {
368
+ display: flex;
369
+ flex-direction: column;
370
+ border-top: 1px solid var(--sg-sfe-border-secondary);
371
+ background: var(--sg-sfe-bg-secondary);
372
+ max-height: 320px;
373
+ }
374
+
375
+ .sg-sfe-tabs {
376
+ display: flex;
377
+ gap: 4px;
378
+ padding: var(--sg-sfe-pad-sm) var(--sg-sfe-pad-md) 0;
379
+ }
380
+
381
+ .sg-sfe-tab {
382
+ appearance: none;
383
+ background: transparent;
384
+ border: none;
385
+ padding: 6px 12px;
386
+ font-size: var(--sg-sfe-font-size-sm);
387
+ color: var(--sg-sfe-text-secondary);
388
+ cursor: pointer;
389
+ border-bottom: 2px solid transparent;
390
+ }
391
+
392
+ .sg-sfe-tab-active {
393
+ color: var(--sg-sfe-primary);
394
+ border-bottom-color: var(--sg-sfe-primary);
395
+ }
396
+
397
+ .sg-sfe-preview,
398
+ .sg-sfe-preview-empty {
399
+ padding: var(--sg-sfe-pad-md);
400
+ background: var(--sg-sfe-bg);
401
+ overflow-y: auto;
402
+ max-height: 280px;
403
+ }
404
+
405
+ .sg-sfe-preview-empty {
406
+ color: var(--sg-sfe-text-secondary);
407
+ font-size: var(--sg-sfe-font-size-sm);
408
+ }
409
+
410
+ .sg-sfe-schema-view {
411
+ margin: 0;
412
+ padding: var(--sg-sfe-pad-md);
413
+ background: var(--sg-sfe-bg);
414
+ color: var(--sg-sfe-text);
415
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
416
+ font-size: var(--sg-sfe-font-size-sm);
417
+ overflow: auto;
418
+ max-height: 280px;
419
+ }
420
+
421
+ .sg-sfe-schema-view code {
422
+ background: transparent;
423
+ color: inherit;
424
+ font: inherit;
425
+ }
@@ -0,0 +1,112 @@
1
+ /* SearchInput */
2
+ .sg-search-input {
3
+ position: relative;
4
+ display: inline-flex;
5
+ align-items: center;
6
+ width: 100%;
7
+ }
8
+
9
+ .sg-search-input-icon {
10
+ position: absolute;
11
+ left: var(--sg-padding-sm);
12
+ top: 0;
13
+ bottom: 0;
14
+ display: flex;
15
+ align-items: center;
16
+ color: var(--sg-color-text-tertiary);
17
+ font-size: var(--sg-font-size-lg);
18
+ pointer-events: none;
19
+ z-index: 1;
20
+ }
21
+
22
+ /*
23
+ * `.sg-search-input-field` — тот же элемент, что и `.sg-input`.
24
+ * `padding` shorthand в `.sg-input` ставится первым (по порядку @import),
25
+ * поэтому longhand-правила здесь (ниже по каскаду) корректно перебивают его
26
+ * без `!important`.
27
+ */
28
+ .sg-search-input-field {
29
+ padding-left: calc(var(--sg-padding-sm) + 20px);
30
+ padding-right: calc(var(--sg-padding-sm) + 24px);
31
+ }
32
+
33
+ .sg-search-input-with-button .sg-search-input-field {
34
+ border-top-right-radius: 0;
35
+ border-bottom-right-radius: 0;
36
+ }
37
+
38
+ .sg-search-input .sg-spin {
39
+ position: absolute;
40
+ right: var(--sg-padding-sm);
41
+ top: 0;
42
+ bottom: 0;
43
+ margin: auto 0;
44
+ }
45
+
46
+ .sg-search-input-clear {
47
+ position: absolute;
48
+ right: var(--sg-padding-sm);
49
+ top: 0;
50
+ bottom: 0;
51
+ display: flex;
52
+ align-items: center;
53
+ padding: 0;
54
+ background: none;
55
+ border: none;
56
+ cursor: pointer;
57
+ color: var(--sg-color-text-quaternary);
58
+ font-size: var(--sg-font-size);
59
+ line-height: 1;
60
+ transition: color var(--sg-transition-duration) var(--sg-transition-timing);
61
+ }
62
+
63
+ .sg-search-input-with-button .sg-search-input-clear {
64
+ right: calc(var(--sg-height-md) + var(--sg-padding-sm));
65
+ }
66
+
67
+ .sg-search-input-clear:hover {
68
+ color: var(--sg-color-text-secondary);
69
+ }
70
+
71
+ .sg-search-input-btn {
72
+ flex-shrink: 0;
73
+ height: var(--sg-height-md);
74
+ min-width: var(--sg-height-md);
75
+ padding: 0 var(--sg-padding-md);
76
+ background: var(--sg-color-primary);
77
+ color: var(--sg-color-white);
78
+ border: 1px solid var(--sg-color-primary);
79
+ border-left: none;
80
+ border-radius: 0 var(--sg-border-radius) var(--sg-border-radius) 0;
81
+ cursor: pointer;
82
+ font-size: var(--sg-font-size);
83
+ transition: background var(--sg-transition-duration) var(--sg-transition-timing);
84
+ }
85
+
86
+ .sg-search-input-btn:hover {
87
+ background: var(--sg-color-primary-hover);
88
+ }
89
+
90
+ .sg-search-input-btn:disabled {
91
+ background: var(--sg-color-bg-disabled);
92
+ border-color: var(--sg-color-border);
93
+ color: var(--sg-color-text-disabled);
94
+ cursor: not-allowed;
95
+ }
96
+
97
+ /* Sizes */
98
+ .sg-search-input-small .sg-search-input-btn {
99
+ height: var(--sg-height-sm);
100
+ min-width: var(--sg-height-sm);
101
+ font-size: var(--sg-font-size-sm);
102
+ }
103
+
104
+ .sg-search-input-large .sg-search-input-btn {
105
+ height: var(--sg-height-lg);
106
+ min-width: var(--sg-height-lg);
107
+ font-size: var(--sg-font-size-lg);
108
+ }
109
+
110
+ .sg-search-input-disabled {
111
+ opacity: 0.65;
112
+ }
@@ -0,0 +1,76 @@
1
+ .sg-segmented {
2
+ display: inline-flex;
3
+ align-items: stretch;
4
+ padding: 2px;
5
+ background: var(--sg-color-bg-secondary);
6
+ border-radius: var(--sg-border-radius);
7
+ font-size: var(--sg-font-size);
8
+ gap: 2px;
9
+ }
10
+
11
+ .sg-segmented-block {
12
+ display: flex;
13
+ width: 100%;
14
+ }
15
+
16
+ .sg-segmented-block .sg-segmented-item {
17
+ flex: 1;
18
+ justify-content: center;
19
+ }
20
+
21
+ .sg-segmented-item {
22
+ display: inline-flex;
23
+ align-items: center;
24
+ gap: var(--sg-padding-xs);
25
+ padding: 0 var(--sg-padding-md);
26
+ height: var(--sg-height-md);
27
+ cursor: pointer;
28
+ border-radius: var(--sg-border-radius-sm);
29
+ color: var(--sg-color-text-secondary);
30
+ transition: all var(--sg-transition-duration) var(--sg-transition-timing);
31
+ user-select: none;
32
+ white-space: nowrap;
33
+ }
34
+
35
+ .sg-segmented-item:hover:not(.sg-segmented-item-disabled):not(.sg-segmented-item-selected) {
36
+ color: var(--sg-color-text);
37
+ }
38
+
39
+ .sg-segmented-item-selected {
40
+ background: var(--sg-color-bg-container);
41
+ color: var(--sg-color-text);
42
+ box-shadow: var(--sg-shadow-sm);
43
+ }
44
+
45
+ .sg-segmented-item-disabled {
46
+ color: var(--sg-color-text-disabled);
47
+ cursor: not-allowed;
48
+ }
49
+
50
+ .sg-segmented-item-icon {
51
+ display: inline-flex;
52
+ align-items: center;
53
+ font-size: var(--sg-font-size);
54
+ }
55
+
56
+ /* Sizes */
57
+ .sg-segmented-small .sg-segmented-item {
58
+ height: var(--sg-height-sm);
59
+ padding: 0 var(--sg-padding-sm);
60
+ font-size: var(--sg-font-size-sm);
61
+ }
62
+
63
+ .sg-segmented-large .sg-segmented-item {
64
+ height: var(--sg-height-lg);
65
+ padding: 0 var(--sg-padding-lg);
66
+ font-size: var(--sg-font-size-lg);
67
+ }
68
+
69
+ .sg-segmented-disabled {
70
+ opacity: 0.65;
71
+ cursor: not-allowed;
72
+ }
73
+
74
+ .sg-segmented-disabled .sg-segmented-item {
75
+ cursor: not-allowed;
76
+ }