@skygraph/styles 0.0.0-placeholder.0 → 0.2.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 +114 -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 +435 -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 +166 -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 +185 -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 +95 -0
  43. package/components/rate.css +34 -0
  44. package/components/resource-calendar.css +224 -0
  45. package/components/result.css +45 -0
  46. package/components/schema-form-editor.css +433 -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 +75 -0
  55. package/components/table.css +1023 -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,433 @@
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
+ flex: 1;
79
+ min-height: 480px;
80
+ overflow: hidden;
81
+ }
82
+
83
+ /* Palette (left) ---------------------------------------------------------- */
84
+ .sg-sfe-palette {
85
+ display: flex;
86
+ flex-direction: column;
87
+ gap: var(--sg-sfe-pad-sm);
88
+ padding: var(--sg-sfe-pad-md);
89
+ background: var(--sg-sfe-bg-secondary);
90
+ border-right: 1px solid var(--sg-sfe-border-secondary);
91
+ overflow-y: auto;
92
+ }
93
+
94
+ .sg-sfe-palette-title {
95
+ font-weight: 600;
96
+ font-size: var(--sg-sfe-font-size-sm);
97
+ color: var(--sg-sfe-text-secondary);
98
+ text-transform: uppercase;
99
+ letter-spacing: 0.05em;
100
+ }
101
+
102
+ .sg-sfe-palette-list {
103
+ display: flex;
104
+ flex-direction: column;
105
+ gap: 6px;
106
+ }
107
+
108
+ .sg-sfe-palette-item {
109
+ display: flex;
110
+ align-items: center;
111
+ gap: var(--sg-sfe-pad-sm);
112
+ padding: var(--sg-sfe-pad-sm);
113
+ background: var(--sg-sfe-bg-elevated);
114
+ border: 1px solid var(--sg-sfe-border);
115
+ border-radius: var(--sg-sfe-radius);
116
+ cursor: grab;
117
+ user-select: none;
118
+ transition:
119
+ border-color var(--sg-transition-duration) var(--sg-transition-timing),
120
+ box-shadow var(--sg-transition-duration) var(--sg-transition-timing);
121
+ }
122
+
123
+ .sg-sfe-palette-item:hover,
124
+ .sg-sfe-palette-item:focus-visible {
125
+ border-color: var(--sg-sfe-primary);
126
+ box-shadow: var(--sg-sfe-shadow-sm);
127
+ outline: none;
128
+ }
129
+
130
+ .sg-sfe-palette-item:active {
131
+ cursor: grabbing;
132
+ }
133
+
134
+ .sg-sfe-palette-item-glyph {
135
+ display: inline-flex;
136
+ align-items: center;
137
+ justify-content: center;
138
+ width: 24px;
139
+ height: 24px;
140
+ background: var(--sg-sfe-primary-bg);
141
+ color: var(--sg-sfe-primary);
142
+ border-radius: var(--sg-sfe-radius);
143
+ font-weight: 600;
144
+ flex-shrink: 0;
145
+ }
146
+
147
+ .sg-sfe-palette-item-body {
148
+ display: flex;
149
+ flex-direction: column;
150
+ min-width: 0;
151
+ }
152
+
153
+ .sg-sfe-palette-item-label {
154
+ font-weight: 500;
155
+ font-size: var(--sg-sfe-font-size);
156
+ }
157
+
158
+ .sg-sfe-palette-item-hint {
159
+ font-size: var(--sg-sfe-font-size-sm);
160
+ color: var(--sg-sfe-text-secondary);
161
+ }
162
+
163
+ /* Center (canvas + bottom tabs) ------------------------------------------ */
164
+ .sg-sfe-center {
165
+ display: flex;
166
+ flex-direction: column;
167
+ min-width: 0;
168
+ min-height: 0;
169
+ overflow: hidden;
170
+ background: var(--sg-sfe-bg);
171
+ }
172
+
173
+ /* Canvas ------------------------------------------------------------------ */
174
+ .sg-sfe-canvas {
175
+ flex: 1;
176
+ padding: var(--sg-sfe-pad-lg);
177
+ overflow-y: auto;
178
+ min-height: 240px;
179
+ }
180
+
181
+ .sg-sfe-canvas[data-empty='true'] {
182
+ display: flex;
183
+ align-items: center;
184
+ justify-content: center;
185
+ }
186
+
187
+ .sg-sfe-canvas-empty {
188
+ width: 100%;
189
+ min-height: 200px;
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: center;
193
+ border: 2px dashed var(--sg-sfe-border);
194
+ border-radius: var(--sg-sfe-radius);
195
+ color: var(--sg-sfe-text-secondary);
196
+ font-size: var(--sg-sfe-font-size);
197
+ cursor: default;
198
+ }
199
+
200
+ .sg-sfe-canvas-form {
201
+ display: flex;
202
+ flex-direction: column;
203
+ gap: var(--sg-sfe-pad-md);
204
+ }
205
+
206
+ .sg-sfe-canvas-field {
207
+ position: relative;
208
+ padding: var(--sg-sfe-pad-sm);
209
+ border: 1px solid transparent;
210
+ border-radius: var(--sg-sfe-radius);
211
+ cursor: pointer;
212
+ transition:
213
+ border-color var(--sg-transition-duration) var(--sg-transition-timing),
214
+ background var(--sg-transition-duration) var(--sg-transition-timing);
215
+ }
216
+
217
+ .sg-sfe-canvas-field:hover {
218
+ border-color: var(--sg-sfe-border);
219
+ background: var(--sg-sfe-bg-secondary);
220
+ }
221
+
222
+ .sg-sfe-canvas-field-selected {
223
+ border-color: var(--sg-sfe-primary);
224
+ background: var(--sg-sfe-primary-bg);
225
+ }
226
+
227
+ .sg-sfe-canvas-field-inner {
228
+ pointer-events: none;
229
+ display: flex;
230
+ flex-direction: column;
231
+ gap: 4px;
232
+ }
233
+
234
+ .sg-sfe-canvas-field-help {
235
+ font-size: var(--sg-sfe-font-size-sm);
236
+ color: var(--sg-sfe-text-secondary);
237
+ }
238
+
239
+ .sg-sfe-canvas-field-toolbar {
240
+ position: absolute;
241
+ top: -16px;
242
+ right: 8px;
243
+ display: flex;
244
+ gap: 4px;
245
+ padding: 2px 4px;
246
+ background: var(--sg-sfe-bg-elevated);
247
+ border: 1px solid var(--sg-sfe-border);
248
+ border-radius: var(--sg-sfe-radius);
249
+ box-shadow: var(--sg-sfe-shadow-sm);
250
+ z-index: var(--sg-z-sticky);
251
+ }
252
+
253
+ .sg-sfe-canvas-field-toolbar-btn {
254
+ appearance: none;
255
+ background: transparent;
256
+ border: none;
257
+ padding: 2px 6px;
258
+ font-size: var(--sg-sfe-font-size-sm);
259
+ color: var(--sg-sfe-text);
260
+ cursor: pointer;
261
+ border-radius: var(--sg-sfe-radius);
262
+ }
263
+
264
+ .sg-sfe-canvas-field-toolbar-btn:hover {
265
+ background: var(--sg-color-bg-hover);
266
+ }
267
+
268
+ .sg-sfe-canvas-field-toolbar-btn-danger:hover {
269
+ background: var(--sg-sfe-error);
270
+ color: var(--sg-color-white);
271
+ }
272
+
273
+ .sg-sfe-canvas-drop-indicator {
274
+ height: 2px;
275
+ background: var(--sg-sfe-primary);
276
+ border-radius: var(--sg-sfe-radius);
277
+ margin: 4px 0;
278
+ }
279
+
280
+ /* Inspector (right) ------------------------------------------------------- */
281
+ .sg-sfe-inspector {
282
+ display: flex;
283
+ flex-direction: column;
284
+ gap: var(--sg-sfe-pad-sm);
285
+ padding: var(--sg-sfe-pad-md);
286
+ background: var(--sg-sfe-bg-secondary);
287
+ border-left: 1px solid var(--sg-sfe-border-secondary);
288
+ overflow-y: auto;
289
+ }
290
+
291
+ .sg-sfe-inspector-title {
292
+ font-weight: 600;
293
+ font-size: var(--sg-sfe-font-size-sm);
294
+ color: var(--sg-sfe-text-secondary);
295
+ text-transform: uppercase;
296
+ letter-spacing: 0.05em;
297
+ }
298
+
299
+ .sg-sfe-inspector-empty {
300
+ color: var(--sg-sfe-text-secondary);
301
+ font-size: var(--sg-sfe-font-size-sm);
302
+ padding: var(--sg-sfe-pad-md) 0;
303
+ }
304
+
305
+ .sg-sfe-inspector-row {
306
+ display: flex;
307
+ flex-direction: column;
308
+ gap: 4px;
309
+ }
310
+
311
+ .sg-sfe-inspector-row-label {
312
+ font-size: var(--sg-sfe-font-size-sm);
313
+ color: var(--sg-sfe-text-secondary);
314
+ font-weight: 500;
315
+ }
316
+
317
+ .sg-sfe-inspector-input {
318
+ appearance: none;
319
+ width: 100%;
320
+ padding: 4px 8px;
321
+ font-size: var(--sg-sfe-font-size);
322
+ border: 1px solid var(--sg-sfe-border);
323
+ border-radius: var(--sg-sfe-radius);
324
+ background: var(--sg-sfe-bg);
325
+ color: var(--sg-sfe-text);
326
+ }
327
+
328
+ .sg-sfe-inspector-input:focus {
329
+ outline: none;
330
+ border-color: var(--sg-sfe-primary);
331
+ box-shadow: 0 0 0 2px var(--sg-sfe-primary-bg);
332
+ }
333
+
334
+ .sg-sfe-inspector-checkbox {
335
+ display: flex;
336
+ align-items: center;
337
+ gap: 6px;
338
+ font-size: var(--sg-sfe-font-size-sm);
339
+ color: var(--sg-sfe-text);
340
+ cursor: pointer;
341
+ }
342
+
343
+ .sg-sfe-inspector-options {
344
+ display: flex;
345
+ flex-direction: column;
346
+ gap: 6px;
347
+ }
348
+
349
+ .sg-sfe-inspector-option {
350
+ display: grid;
351
+ grid-template-columns: 1fr 1fr 24px;
352
+ gap: 4px;
353
+ }
354
+
355
+ .sg-sfe-inspector-option-remove,
356
+ .sg-sfe-inspector-option-add {
357
+ appearance: none;
358
+ background: transparent;
359
+ border: 1px dashed var(--sg-sfe-border);
360
+ border-radius: var(--sg-sfe-radius);
361
+ cursor: pointer;
362
+ font-size: var(--sg-sfe-font-size-sm);
363
+ color: var(--sg-sfe-text-secondary);
364
+ padding: 4px 8px;
365
+ }
366
+
367
+ .sg-sfe-inspector-option-add:hover {
368
+ border-color: var(--sg-sfe-primary);
369
+ color: var(--sg-sfe-primary);
370
+ }
371
+
372
+ /* Bottom tabs (Preview / Schema) ----------------------------------------- */
373
+ .sg-sfe-bottom {
374
+ display: flex;
375
+ flex-direction: column;
376
+ border-top: 1px solid var(--sg-sfe-border-secondary);
377
+ background: var(--sg-sfe-bg-secondary);
378
+ max-height: 320px;
379
+ flex-shrink: 0;
380
+ overflow-y: auto;
381
+ }
382
+
383
+ .sg-sfe-tabs {
384
+ display: flex;
385
+ gap: 4px;
386
+ padding: var(--sg-sfe-pad-sm) var(--sg-sfe-pad-md) 0;
387
+ }
388
+
389
+ .sg-sfe-tab {
390
+ appearance: none;
391
+ background: transparent;
392
+ border: none;
393
+ padding: 6px 12px;
394
+ font-size: var(--sg-sfe-font-size-sm);
395
+ color: var(--sg-sfe-text-secondary);
396
+ cursor: pointer;
397
+ border-bottom: 2px solid transparent;
398
+ }
399
+
400
+ .sg-sfe-tab-active {
401
+ color: var(--sg-sfe-primary);
402
+ border-bottom-color: var(--sg-sfe-primary);
403
+ }
404
+
405
+ .sg-sfe-preview,
406
+ .sg-sfe-preview-empty {
407
+ padding: var(--sg-sfe-pad-md);
408
+ background: var(--sg-sfe-bg);
409
+ overflow-y: auto;
410
+ max-height: 280px;
411
+ }
412
+
413
+ .sg-sfe-preview-empty {
414
+ color: var(--sg-sfe-text-secondary);
415
+ font-size: var(--sg-sfe-font-size-sm);
416
+ }
417
+
418
+ .sg-sfe-schema-view {
419
+ margin: 0;
420
+ padding: var(--sg-sfe-pad-md);
421
+ background: var(--sg-sfe-bg);
422
+ color: var(--sg-sfe-text);
423
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
424
+ font-size: var(--sg-sfe-font-size-sm);
425
+ overflow: auto;
426
+ max-height: 280px;
427
+ }
428
+
429
+ .sg-sfe-schema-view code {
430
+ background: transparent;
431
+ color: inherit;
432
+ font: inherit;
433
+ }
@@ -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
+ }