@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,86 @@
1
+ .sg-datagrid {
2
+ border: 1px solid var(--sg-color-border);
3
+ border-radius: var(--sg-border-radius);
4
+ background: var(--sg-color-bg);
5
+ font-size: var(--sg-font-size);
6
+ outline: none;
7
+ }
8
+
9
+ .sg-datagrid:focus-within {
10
+ border-color: var(--sg-color-primary);
11
+ box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
12
+ }
13
+
14
+ .sg-datagrid-header {
15
+ background: var(--sg-color-bg-secondary);
16
+ border-bottom: 1px solid var(--sg-color-border);
17
+ font-weight: 600;
18
+ }
19
+
20
+ .sg-datagrid-header-cell {
21
+ border-right: 1px solid var(--sg-color-border-secondary);
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ .sg-datagrid-header-cell:last-child {
26
+ border-right: none;
27
+ }
28
+
29
+ .sg-datagrid-header-cell--sortable:hover {
30
+ background: var(--sg-color-bg-hover);
31
+ }
32
+
33
+ .sg-datagrid-row {
34
+ border-bottom: 1px solid var(--sg-color-border-secondary);
35
+ }
36
+
37
+ .sg-datagrid-row:hover .sg-datagrid-cell {
38
+ background: var(--sg-color-bg-hover);
39
+ }
40
+
41
+ .sg-datagrid-cell {
42
+ display: flex;
43
+ align-items: center;
44
+ padding: 0 var(--sg-padding-sm);
45
+ border-right: 1px solid var(--sg-color-border-secondary);
46
+ box-sizing: border-box;
47
+ overflow: hidden;
48
+ white-space: nowrap;
49
+ text-overflow: ellipsis;
50
+ transition: background var(--sg-transition-duration);
51
+ }
52
+
53
+ .sg-datagrid-cell:last-child {
54
+ border-right: none;
55
+ }
56
+
57
+ .sg-datagrid-cell--active {
58
+ outline: 2px solid var(--sg-color-primary);
59
+ outline-offset: -2px;
60
+ z-index: var(--sg-z-base);
61
+ }
62
+
63
+ .sg-datagrid-cell--editing {
64
+ padding: 0;
65
+ outline: 2px solid var(--sg-color-primary);
66
+ outline-offset: -2px;
67
+ z-index: calc(var(--sg-z-base) + 1);
68
+ }
69
+
70
+ .sg-datagrid-cell--selected {
71
+ background: var(--sg-color-primary-bg);
72
+ }
73
+
74
+ .sg-datagrid-cell--frozen {
75
+ position: sticky;
76
+ z-index: var(--sg-z-sticky);
77
+ background: var(--sg-color-bg);
78
+ }
79
+
80
+ .sg-datagrid-resizer:hover {
81
+ background: var(--sg-color-primary);
82
+ }
83
+
84
+ .sg-datagrid-empty {
85
+ color: var(--sg-color-text-tertiary);
86
+ }
@@ -0,0 +1,601 @@
1
+ /* ═══════════════════════════════════════════════════════
2
+ DatePicker / RangePicker
3
+ ═══════════════════════════════════════════════════════ */
4
+
5
+ .sg-datepicker {
6
+ position: relative;
7
+ display: inline-block;
8
+ /* Match the trigger min-width so flex parents do not squeeze below one full field + suffix. */
9
+ min-width: 200px;
10
+ max-width: 100%;
11
+ }
12
+
13
+ .sg-datepicker.sg-datepicker-range {
14
+ min-width: 320px;
15
+ }
16
+
17
+ .sg-datepicker-disabled {
18
+ opacity: 0.5;
19
+ pointer-events: none;
20
+ }
21
+
22
+ /* ── Input trigger ── */
23
+
24
+ .sg-datepicker-input {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: var(--sg-padding-xs);
28
+ height: var(--sg-height-md);
29
+ /* Symmetric horizontal padding so the suffix icon stays inside the border (long placeholders + flex shrink). */
30
+ padding: 0 var(--sg-padding-md) 0 var(--sg-padding-md);
31
+ border: 1px solid var(--sg-color-border);
32
+ border-radius: var(--sg-border-radius);
33
+ background: var(--sg-color-bg-container);
34
+ cursor: pointer;
35
+ min-width: 200px;
36
+ font-size: var(--sg-font-size);
37
+ color: var(--sg-color-text);
38
+ transition:
39
+ border-color var(--sg-transition-duration),
40
+ box-shadow var(--sg-transition-duration);
41
+ }
42
+
43
+ .sg-datepicker-input:hover {
44
+ border-color: var(--sg-color-primary-hover);
45
+ }
46
+
47
+ .sg-datepicker-open .sg-datepicker-input {
48
+ border-color: var(--sg-color-primary);
49
+ box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
50
+ }
51
+
52
+ .sg-datepicker-input:focus-visible {
53
+ outline: none;
54
+ border-color: var(--sg-color-primary);
55
+ box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
56
+ }
57
+
58
+ .sg-datepicker-input-text {
59
+ /* `flex-basis: 0` + `min-width: 0` avoids `<input>` intrinsic min-width from long placeholders eating the suffix. */
60
+ flex: 1 1 0;
61
+ min-width: 0;
62
+ width: 0;
63
+ border: none;
64
+ outline: none;
65
+ background: transparent;
66
+ color: inherit;
67
+ font-size: inherit;
68
+ font-family: inherit;
69
+ padding: 0;
70
+ overflow: hidden;
71
+ text-overflow: ellipsis;
72
+ }
73
+
74
+ .sg-datepicker-placeholder {
75
+ color: var(--sg-color-text-quaternary);
76
+ }
77
+
78
+ .sg-datepicker-suffix {
79
+ display: flex;
80
+ align-items: center;
81
+ gap: var(--sg-padding-xs);
82
+ margin-left: auto;
83
+ color: var(--sg-color-text-tertiary);
84
+ flex-shrink: 0;
85
+ position: relative;
86
+ z-index: 1;
87
+ }
88
+
89
+ .sg-datepicker-icon {
90
+ opacity: 0.65;
91
+ }
92
+
93
+ .sg-datepicker-clear {
94
+ cursor: pointer;
95
+ font-size: var(--sg-font-size);
96
+ line-height: 1;
97
+ color: var(--sg-color-text-quaternary);
98
+ transition: color var(--sg-transition-duration);
99
+ }
100
+
101
+ .sg-datepicker-clear:hover {
102
+ color: var(--sg-color-text-secondary);
103
+ }
104
+
105
+ /* Size variants */
106
+
107
+ .sg-datepicker.sg-datepicker-small {
108
+ min-width: 170px;
109
+ }
110
+
111
+ .sg-datepicker.sg-datepicker-large {
112
+ min-width: 230px;
113
+ }
114
+
115
+ .sg-datepicker-small .sg-datepicker-input {
116
+ height: var(--sg-height-sm);
117
+ font-size: var(--sg-font-size-sm);
118
+ min-width: 170px;
119
+ }
120
+
121
+ .sg-datepicker-large .sg-datepicker-input {
122
+ height: var(--sg-height-lg);
123
+ font-size: var(--sg-font-size-lg);
124
+ min-width: 230px;
125
+ }
126
+
127
+ /* ── Range input ── */
128
+
129
+ .sg-datepicker-range-input {
130
+ min-width: 320px;
131
+ justify-content: flex-start;
132
+ }
133
+
134
+ .sg-datepicker-range-part {
135
+ color: var(--sg-color-text);
136
+ cursor: pointer;
137
+ padding: 2px 4px;
138
+ border-radius: var(--sg-border-radius-sm);
139
+ transition: background var(--sg-transition-duration);
140
+ }
141
+
142
+ .sg-datepicker-range-active {
143
+ background: var(--sg-color-primary-bg);
144
+ }
145
+
146
+ .sg-datepicker-separator {
147
+ color: var(--sg-color-text-quaternary);
148
+ padding: 0 var(--sg-padding-xs);
149
+ }
150
+
151
+ /* ═══════════════════════════════════════════════════════
152
+ Dropdown
153
+ ═══════════════════════════════════════════════════════ */
154
+
155
+ .sg-dp-dropdown {
156
+ position: absolute;
157
+ z-index: var(--sg-z-dropdown);
158
+ margin-top: var(--sg-padding-xs);
159
+ background: var(--sg-color-bg-elevated);
160
+ border-radius: var(--sg-border-radius-lg);
161
+ box-shadow: var(--sg-shadow-lg);
162
+ overflow: hidden;
163
+ }
164
+
165
+ .sg-dp-dropdown-bottomLeft {
166
+ top: 100%;
167
+ left: 0;
168
+ }
169
+ .sg-dp-dropdown-bottomRight {
170
+ top: 100%;
171
+ right: 0;
172
+ }
173
+ .sg-dp-dropdown-topLeft {
174
+ bottom: 100%;
175
+ left: 0;
176
+ margin-top: 0;
177
+ margin-bottom: var(--sg-padding-xs);
178
+ }
179
+ .sg-dp-dropdown-topRight {
180
+ bottom: 100%;
181
+ right: 0;
182
+ margin-top: 0;
183
+ margin-bottom: var(--sg-padding-xs);
184
+ }
185
+
186
+ .sg-dp-dropdown-inner {
187
+ display: flex;
188
+ min-width: 0;
189
+ }
190
+
191
+ .sg-dp-content {
192
+ display: flex;
193
+ flex-direction: column;
194
+ flex: 1 1 auto;
195
+ min-width: 0;
196
+ }
197
+
198
+ /* ── Presets sidebar ── */
199
+
200
+ .sg-dp-presets {
201
+ border-right: 1px solid var(--sg-color-border-secondary);
202
+ padding: var(--sg-padding-sm);
203
+ min-width: 120px;
204
+ max-height: 320px;
205
+ overflow-y: auto;
206
+ }
207
+
208
+ .sg-dp-preset-item {
209
+ padding: var(--sg-padding-xs) var(--sg-padding-sm);
210
+ border-radius: var(--sg-border-radius-sm);
211
+ cursor: pointer;
212
+ font-size: var(--sg-font-size-sm);
213
+ color: var(--sg-color-text);
214
+ white-space: nowrap;
215
+ transition: background var(--sg-transition-duration);
216
+ }
217
+
218
+ .sg-dp-preset-item:hover {
219
+ background: var(--sg-color-bg-hover);
220
+ color: var(--sg-color-primary);
221
+ }
222
+
223
+ /* ═══════════════════════════════════════════════════════
224
+ Calendar panel
225
+ ═══════════════════════════════════════════════════════ */
226
+
227
+ .sg-dp-panel {
228
+ padding: var(--sg-padding-sm);
229
+ min-width: 280px;
230
+ }
231
+
232
+ .sg-dp-panel-header {
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: space-between;
236
+ padding: 0 0 var(--sg-padding-sm) 0;
237
+ }
238
+
239
+ .sg-dp-panel-title {
240
+ font-weight: 600;
241
+ font-size: var(--sg-font-size);
242
+ color: var(--sg-color-text);
243
+ cursor: default;
244
+ }
245
+
246
+ /* Clickable month/year title (single DatePicker) — replaces the old footer link. */
247
+ button.sg-dp-panel-title.sg-dp-panel-title-btn {
248
+ cursor: pointer;
249
+ border: none;
250
+ background: transparent;
251
+ padding: 2px var(--sg-padding-xs);
252
+ margin: 0;
253
+ border-radius: var(--sg-border-radius-sm);
254
+ font: inherit;
255
+ font-weight: 600;
256
+ font-size: var(--sg-font-size);
257
+ color: var(--sg-color-text);
258
+ transition:
259
+ color var(--sg-transition-duration),
260
+ background var(--sg-transition-duration);
261
+ }
262
+
263
+ button.sg-dp-panel-title.sg-dp-panel-title-btn:hover {
264
+ color: var(--sg-color-primary);
265
+ background: var(--sg-color-bg-hover);
266
+ }
267
+
268
+ .sg-dp-nav-btn {
269
+ display: inline-flex;
270
+ align-items: center;
271
+ justify-content: center;
272
+ width: var(--sg-height-sm);
273
+ height: var(--sg-height-sm);
274
+ border: none;
275
+ border-radius: var(--sg-border-radius-sm);
276
+ background: transparent;
277
+ color: var(--sg-color-text-tertiary);
278
+ cursor: pointer;
279
+ font-size: var(--sg-font-size);
280
+ line-height: 1;
281
+ transition:
282
+ color var(--sg-transition-duration),
283
+ background var(--sg-transition-duration),
284
+ border-color var(--sg-transition-duration),
285
+ box-shadow var(--sg-transition-duration);
286
+ padding: 0;
287
+ }
288
+
289
+ .sg-dp-nav-btn:hover {
290
+ color: var(--sg-color-primary);
291
+ background: var(--sg-color-bg-hover);
292
+ }
293
+
294
+ /* ── Day table ── */
295
+
296
+ .sg-dp-table {
297
+ width: 100%;
298
+ border-collapse: collapse;
299
+ table-layout: fixed;
300
+ }
301
+
302
+ .sg-dp-th {
303
+ padding: var(--sg-padding-xs) 0;
304
+ text-align: center;
305
+ font-weight: 500;
306
+ color: var(--sg-color-text-tertiary);
307
+ font-size: var(--sg-font-size-sm);
308
+ }
309
+
310
+ .sg-dp-cell {
311
+ padding: 2px;
312
+ text-align: center;
313
+ cursor: pointer;
314
+ vertical-align: middle;
315
+ }
316
+
317
+ .sg-dp-cell-inner {
318
+ display: inline-flex;
319
+ align-items: center;
320
+ justify-content: center;
321
+ width: 28px;
322
+ height: 28px;
323
+ border-radius: 50%;
324
+ font-size: var(--sg-font-size-sm);
325
+ transition:
326
+ color var(--sg-transition-duration),
327
+ background var(--sg-transition-duration),
328
+ border-color var(--sg-transition-duration),
329
+ box-shadow var(--sg-transition-duration);
330
+ line-height: 1;
331
+ }
332
+
333
+ .sg-dp-cell:hover .sg-dp-cell-inner {
334
+ background: var(--sg-color-bg-hover);
335
+ }
336
+
337
+ .sg-dp-cell-outside {
338
+ color: var(--sg-color-text-disabled);
339
+ }
340
+
341
+ .sg-dp-cell-today .sg-dp-cell-inner {
342
+ border: 1px solid var(--sg-color-primary);
343
+ color: var(--sg-color-primary);
344
+ }
345
+
346
+ .sg-dp-cell-selected .sg-dp-cell-inner {
347
+ background: var(--sg-color-primary);
348
+ color: var(--sg-color-white);
349
+ }
350
+
351
+ .sg-dp-cell-selected:hover .sg-dp-cell-inner {
352
+ background: var(--sg-color-primary-hover);
353
+ }
354
+
355
+ .sg-dp-cell-disabled {
356
+ color: var(--sg-color-text-disabled);
357
+ cursor: not-allowed;
358
+ }
359
+
360
+ .sg-dp-cell-disabled:hover .sg-dp-cell-inner {
361
+ background: transparent;
362
+ }
363
+
364
+ /* Range selection highlighting */
365
+
366
+ .sg-dp-cell-in-range {
367
+ background: var(--sg-color-primary-bg);
368
+ }
369
+
370
+ .sg-dp-cell-range-start .sg-dp-cell-inner,
371
+ .sg-dp-cell-range-end .sg-dp-cell-inner {
372
+ background: var(--sg-color-primary);
373
+ color: var(--sg-color-white);
374
+ }
375
+
376
+ .sg-dp-cell-range-start {
377
+ border-radius: 50% 0 0 50%;
378
+ background: var(--sg-color-primary-bg);
379
+ }
380
+
381
+ .sg-dp-cell-range-end {
382
+ border-radius: 0 50% 50% 0;
383
+ background: var(--sg-color-primary-bg);
384
+ }
385
+
386
+ /* ── Month grid ── */
387
+
388
+ .sg-dp-month-grid {
389
+ display: grid;
390
+ grid-template-columns: repeat(3, 1fr);
391
+ gap: var(--sg-padding-xs);
392
+ padding: var(--sg-padding-xs) 0;
393
+ }
394
+
395
+ .sg-dp-month-cell {
396
+ display: flex;
397
+ align-items: center;
398
+ justify-content: center;
399
+ height: 40px;
400
+ border-radius: var(--sg-border-radius);
401
+ cursor: pointer;
402
+ font-size: var(--sg-font-size-sm);
403
+ color: var(--sg-color-text);
404
+ transition:
405
+ color var(--sg-transition-duration),
406
+ background var(--sg-transition-duration),
407
+ border-color var(--sg-transition-duration),
408
+ box-shadow var(--sg-transition-duration);
409
+ }
410
+
411
+ .sg-dp-month-cell:hover {
412
+ background: var(--sg-color-bg-hover);
413
+ }
414
+
415
+ .sg-dp-month-cell-selected {
416
+ background: var(--sg-color-primary);
417
+ color: var(--sg-color-white);
418
+ }
419
+
420
+ .sg-dp-month-cell-current {
421
+ border: 1px solid var(--sg-color-primary);
422
+ color: var(--sg-color-primary);
423
+ }
424
+
425
+ /* ── Year grid ── */
426
+
427
+ .sg-dp-year-grid {
428
+ display: grid;
429
+ grid-template-columns: repeat(3, 1fr);
430
+ gap: var(--sg-padding-xs);
431
+ padding: var(--sg-padding-xs) 0;
432
+ }
433
+
434
+ .sg-dp-year-cell {
435
+ display: flex;
436
+ align-items: center;
437
+ justify-content: center;
438
+ height: 40px;
439
+ border-radius: var(--sg-border-radius);
440
+ cursor: pointer;
441
+ font-size: var(--sg-font-size-sm);
442
+ color: var(--sg-color-text);
443
+ transition:
444
+ color var(--sg-transition-duration),
445
+ background var(--sg-transition-duration),
446
+ border-color var(--sg-transition-duration),
447
+ box-shadow var(--sg-transition-duration);
448
+ }
449
+
450
+ .sg-dp-year-cell:hover {
451
+ background: var(--sg-color-bg-hover);
452
+ }
453
+
454
+ .sg-dp-year-cell-selected {
455
+ background: var(--sg-color-primary);
456
+ color: var(--sg-color-white);
457
+ }
458
+
459
+ .sg-dp-year-cell-current {
460
+ border: 1px solid var(--sg-color-primary);
461
+ color: var(--sg-color-primary);
462
+ }
463
+
464
+ .sg-dp-year-cell-outside {
465
+ color: var(--sg-color-text-disabled);
466
+ }
467
+
468
+ /* ═══════════════════════════════════════════════════════
469
+ Time panel (inside DatePicker with showTime)
470
+ ═══════════════════════════════════════════════════════ */
471
+
472
+ .sg-dp-time-panel {
473
+ display: flex;
474
+ border-top: 1px solid var(--sg-color-border-secondary);
475
+ max-height: 168px;
476
+ min-width: 0;
477
+ width: 100%;
478
+ }
479
+
480
+ .sg-dp-time-col {
481
+ flex: 1 1 0;
482
+ min-width: 0;
483
+ overflow-y: auto;
484
+ border-right: 1px solid var(--sg-color-border-secondary);
485
+ max-height: 168px;
486
+ scrollbar-width: thin;
487
+ }
488
+
489
+ .sg-dp-time-col:last-child {
490
+ border-right: none;
491
+ }
492
+
493
+ .sg-dp-time-cell {
494
+ display: flex;
495
+ align-items: center;
496
+ justify-content: center;
497
+ height: 28px;
498
+ font-size: var(--sg-font-size-sm);
499
+ color: var(--sg-color-text);
500
+ cursor: pointer;
501
+ transition: background var(--sg-transition-duration);
502
+ }
503
+
504
+ .sg-dp-time-cell:hover {
505
+ background: var(--sg-color-bg-hover);
506
+ }
507
+
508
+ .sg-dp-time-cell-active {
509
+ background: var(--sg-color-primary-bg);
510
+ color: var(--sg-color-primary);
511
+ font-weight: 600;
512
+ }
513
+
514
+ /* ═══════════════════════════════════════════════════════
515
+ Footer
516
+ ═══════════════════════════════════════════════════════ */
517
+
518
+ .sg-dp-footer {
519
+ display: flex;
520
+ flex-wrap: wrap;
521
+ align-items: center;
522
+ justify-content: flex-end;
523
+ gap: var(--sg-padding-xs) var(--sg-padding-sm);
524
+ padding: var(--sg-padding-xs) var(--sg-padding-sm);
525
+ border-top: 1px solid var(--sg-color-border-secondary);
526
+ min-height: 36px;
527
+ }
528
+
529
+ .sg-dp-footer-start {
530
+ display: flex;
531
+ align-items: center;
532
+ gap: var(--sg-padding-xs);
533
+ margin-right: auto;
534
+ }
535
+
536
+ .sg-dp-footer-end {
537
+ display: flex;
538
+ align-items: center;
539
+ gap: var(--sg-padding-xs);
540
+ }
541
+
542
+ .sg-dp-footer-btn {
543
+ padding: 2px var(--sg-padding-sm);
544
+ border: 1px solid var(--sg-color-border);
545
+ border-radius: var(--sg-border-radius-sm);
546
+ background: var(--sg-color-bg-container);
547
+ color: var(--sg-color-text);
548
+ font-size: var(--sg-font-size-sm);
549
+ cursor: pointer;
550
+ transition:
551
+ color var(--sg-transition-duration),
552
+ background var(--sg-transition-duration),
553
+ border-color var(--sg-transition-duration),
554
+ box-shadow var(--sg-transition-duration);
555
+ }
556
+
557
+ .sg-dp-footer-btn:hover {
558
+ border-color: var(--sg-color-primary);
559
+ color: var(--sg-color-primary);
560
+ }
561
+
562
+ .sg-dp-ok-btn {
563
+ background: var(--sg-color-primary);
564
+ border-color: var(--sg-color-primary);
565
+ color: var(--sg-color-white);
566
+ }
567
+
568
+ .sg-dp-ok-btn:hover {
569
+ background: var(--sg-color-primary-hover);
570
+ border-color: var(--sg-color-primary-hover);
571
+ color: var(--sg-color-white);
572
+ }
573
+
574
+ /* ═══════════════════════════════════════════════════════
575
+ Range picker — dual panels
576
+ ═══════════════════════════════════════════════════════ */
577
+
578
+ .sg-dp-range-panels {
579
+ display: flex;
580
+ }
581
+
582
+ .sg-dp-range-panels .sg-dp-panel + .sg-dp-panel {
583
+ border-left: 1px solid var(--sg-color-border-secondary);
584
+ }
585
+
586
+ .sg-dp-range-time {
587
+ display: flex;
588
+ border-top: 1px solid var(--sg-color-border-secondary);
589
+ min-width: 0;
590
+ width: 100%;
591
+ }
592
+
593
+ .sg-dp-range-time .sg-dp-time-panel {
594
+ flex: 1 1 0;
595
+ min-width: 0;
596
+ border-top: none;
597
+ }
598
+
599
+ .sg-dp-range-time .sg-dp-time-panel + .sg-dp-time-panel {
600
+ border-left: 1px solid var(--sg-color-border-secondary);
601
+ }