@skygraph/styles 0.2.4 → 0.6.6

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 (68) hide show
  1. package/README.md +98 -98
  2. package/components/autocomplete.css +35 -35
  3. package/components/autofield.css +67 -67
  4. package/components/avatar.css +37 -37
  5. package/components/badge.css +102 -102
  6. package/components/breadcrumb.css +29 -29
  7. package/components/button.css +181 -181
  8. package/components/calendar.css +408 -408
  9. package/components/carousel.css +102 -102
  10. package/components/cascader.css +380 -380
  11. package/components/charts.css +408 -408
  12. package/components/checkbox.css +114 -114
  13. package/components/collapse.css +166 -166
  14. package/components/colorpicker.css +252 -252
  15. package/components/context-menu.css +95 -95
  16. package/components/descriptions.css +82 -82
  17. package/components/diagram.css +435 -435
  18. package/components/drawer.css +124 -124
  19. package/components/dropdown.css +110 -110
  20. package/components/empty.css +25 -25
  21. package/components/event-timeline.css +134 -134
  22. package/components/field.css +35 -35
  23. package/components/form.css +115 -115
  24. package/components/gantt.css +166 -166
  25. package/components/input-number.css +76 -76
  26. package/components/input-password.css +104 -104
  27. package/components/input.css +211 -211
  28. package/components/list.css +366 -366
  29. package/components/mentions.css +54 -54
  30. package/components/menu.css +326 -326
  31. package/components/modal.css +1 -0
  32. package/components/notification.css +128 -128
  33. package/components/pagination.css +162 -162
  34. package/components/popconfirm.css +95 -95
  35. package/components/progress.css +116 -116
  36. package/components/radio.css +95 -95
  37. package/components/rate.css +48 -48
  38. package/components/resource-calendar.css +224 -224
  39. package/components/result.css +45 -45
  40. package/components/schema-form-editor.css +433 -433
  41. package/components/search-input.css +112 -112
  42. package/components/segmented.css +76 -76
  43. package/components/select.css +181 -181
  44. package/components/skeleton.css +72 -72
  45. package/components/slider.css +51 -51
  46. package/components/spin.css +102 -102
  47. package/components/steps.css +194 -194
  48. package/components/switch.css +75 -75
  49. package/components/table.css +9 -1
  50. package/components/tabs.css +137 -137
  51. package/components/tag.css +61 -61
  52. package/components/textarea.css +22 -22
  53. package/components/timeline.css +169 -169
  54. package/components/timepicker.css +224 -224
  55. package/components/tooltip.css +91 -91
  56. package/components/transfer.css +140 -140
  57. package/components/tree.css +601 -601
  58. package/components/treeselect.css +221 -221
  59. package/components/upload.css +124 -124
  60. package/index.css +70 -70
  61. package/index.d.ts +9 -9
  62. package/package.json +1 -1
  63. package/print.css +88 -88
  64. package/reset.css +17 -17
  65. package/themes/dark.css +17 -17
  66. package/themes/default.css +14 -14
  67. package/tokens.css +310 -310
  68. package/transitions.css +158 -158
@@ -1,224 +1,224 @@
1
- /* ═══════════════════════════════════════════════════════
2
- TimePicker / TimeRangePicker
3
- ═══════════════════════════════════════════════════════ */
4
-
5
- .sg-timepicker {
6
- position: relative;
7
- display: inline-block;
8
- }
9
-
10
- .sg-timepicker-disabled {
11
- opacity: 0.5;
12
- pointer-events: none;
13
- }
14
-
15
- /* ── Input ── */
16
-
17
- .sg-timepicker-input {
18
- display: flex;
19
- align-items: center;
20
- gap: var(--sg-padding-xs);
21
- height: var(--sg-height-md);
22
- padding: 0 var(--sg-padding-sm) 0 var(--sg-padding-md);
23
- border: 1px solid var(--sg-color-border);
24
- border-radius: var(--sg-border-radius);
25
- background: var(--sg-color-bg-container);
26
- cursor: pointer;
27
- min-width: 140px;
28
- font-size: var(--sg-font-size);
29
- color: var(--sg-color-text);
30
- transition:
31
- border-color var(--sg-transition-duration),
32
- box-shadow var(--sg-transition-duration);
33
- }
34
-
35
- .sg-timepicker-input:hover {
36
- border-color: var(--sg-color-primary-hover);
37
- }
38
-
39
- .sg-timepicker-open .sg-timepicker-input {
40
- border-color: var(--sg-color-primary);
41
- box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
42
- }
43
-
44
- .sg-timepicker-input:focus-visible {
45
- outline: none;
46
- border-color: var(--sg-color-primary);
47
- box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
48
- }
49
-
50
- .sg-timepicker-value,
51
- .sg-timepicker-placeholder {
52
- min-width: 0;
53
- overflow: hidden;
54
- text-overflow: ellipsis;
55
- white-space: nowrap;
56
- }
57
-
58
- .sg-timepicker-placeholder {
59
- color: var(--sg-color-text-quaternary);
60
- }
61
-
62
- .sg-timepicker-suffix {
63
- display: flex;
64
- align-items: center;
65
- gap: var(--sg-padding-xs);
66
- margin-left: auto;
67
- color: var(--sg-color-text-tertiary);
68
- flex-shrink: 0;
69
- }
70
-
71
- .sg-timepicker-icon-svg {
72
- opacity: 0.65;
73
- }
74
-
75
- .sg-timepicker-clear {
76
- cursor: pointer;
77
- font-size: var(--sg-font-size);
78
- line-height: 1;
79
- color: var(--sg-color-text-quaternary);
80
- transition: color var(--sg-transition-duration);
81
- }
82
-
83
- .sg-timepicker-clear:hover {
84
- color: var(--sg-color-text-secondary);
85
- }
86
-
87
- /* Size variants */
88
-
89
- .sg-timepicker-small .sg-timepicker-input {
90
- height: var(--sg-height-sm);
91
- font-size: var(--sg-font-size-sm);
92
- min-width: 120px;
93
- }
94
-
95
- .sg-timepicker-large .sg-timepicker-input {
96
- height: var(--sg-height-lg);
97
- font-size: var(--sg-font-size-lg);
98
- min-width: 160px;
99
- }
100
-
101
- /* Range input */
102
-
103
- .sg-timepicker-range-input {
104
- min-width: 240px;
105
- }
106
-
107
- .sg-timepicker-separator {
108
- color: var(--sg-color-text-quaternary);
109
- padding: 0 var(--sg-padding-xs);
110
- }
111
-
112
- /* ═══════════════════════════════════════════════════════
113
- Dropdown
114
- ═══════════════════════════════════════════════════════ */
115
-
116
- .sg-tp-dropdown {
117
- position: absolute;
118
- top: 100%;
119
- left: 0;
120
- z-index: var(--sg-z-dropdown);
121
- margin-top: var(--sg-padding-xs);
122
- background: var(--sg-color-bg-elevated);
123
- border-radius: var(--sg-border-radius-lg);
124
- box-shadow: var(--sg-shadow-lg);
125
- overflow: hidden;
126
- }
127
-
128
- .sg-tp-dropdown-range {
129
- min-width: 280px;
130
- }
131
-
132
- .sg-tp-range-panels {
133
- display: flex;
134
- gap: 1px;
135
- background: var(--sg-color-border-secondary);
136
- }
137
-
138
- .sg-tp-range-panels > * {
139
- background: var(--sg-color-bg-elevated);
140
- }
141
-
142
- /* ── Scroll columns ── */
143
-
144
- .sg-tp-columns {
145
- display: flex;
146
- max-height: 224px;
147
- }
148
-
149
- .sg-tp-col {
150
- flex: 1;
151
- overflow-y: auto;
152
- min-width: 56px;
153
- border-right: 1px solid var(--sg-color-border-secondary);
154
- scrollbar-width: thin;
155
- }
156
-
157
- .sg-tp-col:last-child {
158
- border-right: none;
159
- }
160
-
161
- .sg-tp-col-ampm {
162
- min-width: 48px;
163
- }
164
-
165
- .sg-tp-cell {
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- height: 28px;
170
- font-size: var(--sg-font-size-sm);
171
- color: var(--sg-color-text);
172
- cursor: pointer;
173
- transition: background var(--sg-transition-duration);
174
- user-select: none;
175
- }
176
-
177
- .sg-tp-cell:hover {
178
- background: var(--sg-color-bg-hover);
179
- }
180
-
181
- .sg-tp-cell-active {
182
- background: var(--sg-color-primary-bg);
183
- color: var(--sg-color-primary);
184
- font-weight: 600;
185
- }
186
-
187
- .sg-tp-cell-disabled {
188
- color: var(--sg-color-text-disabled);
189
- cursor: not-allowed;
190
- }
191
-
192
- .sg-tp-cell-disabled:hover {
193
- background: transparent;
194
- }
195
-
196
- /* ── Footer ── */
197
-
198
- .sg-tp-footer {
199
- display: flex;
200
- align-items: center;
201
- justify-content: flex-end;
202
- padding: var(--sg-padding-xs) var(--sg-padding-sm);
203
- border-top: 1px solid var(--sg-color-border-secondary);
204
- }
205
-
206
- .sg-tp-now-btn {
207
- padding: 2px var(--sg-padding-sm);
208
- border: 1px solid var(--sg-color-primary);
209
- border-radius: var(--sg-border-radius-sm);
210
- background: transparent;
211
- color: var(--sg-color-primary);
212
- font-size: var(--sg-font-size-sm);
213
- cursor: pointer;
214
- transition:
215
- color var(--sg-transition-duration),
216
- background var(--sg-transition-duration),
217
- border-color var(--sg-transition-duration),
218
- box-shadow var(--sg-transition-duration);
219
- }
220
-
221
- .sg-tp-now-btn:hover {
222
- background: var(--sg-color-primary);
223
- color: var(--sg-color-white);
224
- }
1
+ /* ═══════════════════════════════════════════════════════
2
+ TimePicker / TimeRangePicker
3
+ ═══════════════════════════════════════════════════════ */
4
+
5
+ .sg-timepicker {
6
+ position: relative;
7
+ display: inline-block;
8
+ }
9
+
10
+ .sg-timepicker-disabled {
11
+ opacity: 0.5;
12
+ pointer-events: none;
13
+ }
14
+
15
+ /* ── Input ── */
16
+
17
+ .sg-timepicker-input {
18
+ display: flex;
19
+ align-items: center;
20
+ gap: var(--sg-padding-xs);
21
+ height: var(--sg-height-md);
22
+ padding: 0 var(--sg-padding-sm) 0 var(--sg-padding-md);
23
+ border: 1px solid var(--sg-color-border);
24
+ border-radius: var(--sg-border-radius);
25
+ background: var(--sg-color-bg-container);
26
+ cursor: pointer;
27
+ min-width: 140px;
28
+ font-size: var(--sg-font-size);
29
+ color: var(--sg-color-text);
30
+ transition:
31
+ border-color var(--sg-transition-duration),
32
+ box-shadow var(--sg-transition-duration);
33
+ }
34
+
35
+ .sg-timepicker-input:hover {
36
+ border-color: var(--sg-color-primary-hover);
37
+ }
38
+
39
+ .sg-timepicker-open .sg-timepicker-input {
40
+ border-color: var(--sg-color-primary);
41
+ box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
42
+ }
43
+
44
+ .sg-timepicker-input:focus-visible {
45
+ outline: none;
46
+ border-color: var(--sg-color-primary);
47
+ box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
48
+ }
49
+
50
+ .sg-timepicker-value,
51
+ .sg-timepicker-placeholder {
52
+ min-width: 0;
53
+ overflow: hidden;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap;
56
+ }
57
+
58
+ .sg-timepicker-placeholder {
59
+ color: var(--sg-color-text-quaternary);
60
+ }
61
+
62
+ .sg-timepicker-suffix {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: var(--sg-padding-xs);
66
+ margin-left: auto;
67
+ color: var(--sg-color-text-tertiary);
68
+ flex-shrink: 0;
69
+ }
70
+
71
+ .sg-timepicker-icon-svg {
72
+ opacity: 0.65;
73
+ }
74
+
75
+ .sg-timepicker-clear {
76
+ cursor: pointer;
77
+ font-size: var(--sg-font-size);
78
+ line-height: 1;
79
+ color: var(--sg-color-text-quaternary);
80
+ transition: color var(--sg-transition-duration);
81
+ }
82
+
83
+ .sg-timepicker-clear:hover {
84
+ color: var(--sg-color-text-secondary);
85
+ }
86
+
87
+ /* Size variants */
88
+
89
+ .sg-timepicker-small .sg-timepicker-input {
90
+ height: var(--sg-height-sm);
91
+ font-size: var(--sg-font-size-sm);
92
+ min-width: 120px;
93
+ }
94
+
95
+ .sg-timepicker-large .sg-timepicker-input {
96
+ height: var(--sg-height-lg);
97
+ font-size: var(--sg-font-size-lg);
98
+ min-width: 160px;
99
+ }
100
+
101
+ /* Range input */
102
+
103
+ .sg-timepicker-range-input {
104
+ min-width: 240px;
105
+ }
106
+
107
+ .sg-timepicker-separator {
108
+ color: var(--sg-color-text-quaternary);
109
+ padding: 0 var(--sg-padding-xs);
110
+ }
111
+
112
+ /* ═══════════════════════════════════════════════════════
113
+ Dropdown
114
+ ═══════════════════════════════════════════════════════ */
115
+
116
+ .sg-tp-dropdown {
117
+ position: absolute;
118
+ top: 100%;
119
+ left: 0;
120
+ z-index: var(--sg-z-dropdown);
121
+ margin-top: var(--sg-padding-xs);
122
+ background: var(--sg-color-bg-elevated);
123
+ border-radius: var(--sg-border-radius-lg);
124
+ box-shadow: var(--sg-shadow-lg);
125
+ overflow: hidden;
126
+ }
127
+
128
+ .sg-tp-dropdown-range {
129
+ min-width: 280px;
130
+ }
131
+
132
+ .sg-tp-range-panels {
133
+ display: flex;
134
+ gap: 1px;
135
+ background: var(--sg-color-border-secondary);
136
+ }
137
+
138
+ .sg-tp-range-panels > * {
139
+ background: var(--sg-color-bg-elevated);
140
+ }
141
+
142
+ /* ── Scroll columns ── */
143
+
144
+ .sg-tp-columns {
145
+ display: flex;
146
+ max-height: 224px;
147
+ }
148
+
149
+ .sg-tp-col {
150
+ flex: 1;
151
+ overflow-y: auto;
152
+ min-width: 56px;
153
+ border-right: 1px solid var(--sg-color-border-secondary);
154
+ scrollbar-width: thin;
155
+ }
156
+
157
+ .sg-tp-col:last-child {
158
+ border-right: none;
159
+ }
160
+
161
+ .sg-tp-col-ampm {
162
+ min-width: 48px;
163
+ }
164
+
165
+ .sg-tp-cell {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ height: 28px;
170
+ font-size: var(--sg-font-size-sm);
171
+ color: var(--sg-color-text);
172
+ cursor: pointer;
173
+ transition: background var(--sg-transition-duration);
174
+ user-select: none;
175
+ }
176
+
177
+ .sg-tp-cell:hover {
178
+ background: var(--sg-color-bg-hover);
179
+ }
180
+
181
+ .sg-tp-cell-active {
182
+ background: var(--sg-color-primary-bg);
183
+ color: var(--sg-color-primary);
184
+ font-weight: 600;
185
+ }
186
+
187
+ .sg-tp-cell-disabled {
188
+ color: var(--sg-color-text-disabled);
189
+ cursor: not-allowed;
190
+ }
191
+
192
+ .sg-tp-cell-disabled:hover {
193
+ background: transparent;
194
+ }
195
+
196
+ /* ── Footer ── */
197
+
198
+ .sg-tp-footer {
199
+ display: flex;
200
+ align-items: center;
201
+ justify-content: flex-end;
202
+ padding: var(--sg-padding-xs) var(--sg-padding-sm);
203
+ border-top: 1px solid var(--sg-color-border-secondary);
204
+ }
205
+
206
+ .sg-tp-now-btn {
207
+ padding: 2px var(--sg-padding-sm);
208
+ border: 1px solid var(--sg-color-primary);
209
+ border-radius: var(--sg-border-radius-sm);
210
+ background: transparent;
211
+ color: var(--sg-color-primary);
212
+ font-size: var(--sg-font-size-sm);
213
+ cursor: pointer;
214
+ transition:
215
+ color var(--sg-transition-duration),
216
+ background var(--sg-transition-duration),
217
+ border-color var(--sg-transition-duration),
218
+ box-shadow var(--sg-transition-duration);
219
+ }
220
+
221
+ .sg-tp-now-btn:hover {
222
+ background: var(--sg-color-primary);
223
+ color: var(--sg-color-white);
224
+ }
@@ -1,91 +1,91 @@
1
- .sg-tooltip-wrapper {
2
- position: relative;
3
- display: inline-block;
4
- }
5
-
6
- .sg-tooltip {
7
- position: absolute;
8
- z-index: var(--sg-z-tooltip);
9
- pointer-events: none;
10
- }
11
-
12
- .sg-tooltip-content {
13
- /* `inline-block` lets the box wrap and size itself around block-level
14
- * children (the Rich-content demo embeds a `<div max-width:220px;
15
- * white-space:normal>` — React renders the content node as a `<div>`
16
- * which already enforces `display:block`; Vue uses `<span>` so we have
17
- * to lift the box ourselves, otherwise it stays a 0-px nowrap line and
18
- * the tooltip looks empty). */
19
- display: inline-block;
20
- padding: var(--sg-padding-xs) var(--sg-padding-sm);
21
- background: var(--sg-color-tooltip-bg);
22
- color: var(--sg-color-tooltip-text);
23
- font-size: var(--sg-font-size-sm);
24
- border-radius: var(--sg-border-radius-sm);
25
- white-space: nowrap;
26
- box-shadow: var(--sg-shadow);
27
- }
28
-
29
- /* dark override handled via --sg-color-tooltip-bg token */
30
-
31
- .sg-tooltip-arrow {
32
- position: absolute;
33
- width: 8px;
34
- height: 8px;
35
- background: var(--sg-color-tooltip-bg);
36
- transform: rotate(45deg);
37
- }
38
-
39
- /* dark override handled via --sg-color-tooltip-bg token */
40
-
41
- .sg-tooltip-top {
42
- bottom: 100%;
43
- left: 50%;
44
- transform: translateX(-50%);
45
- margin-bottom: 8px;
46
- }
47
-
48
- .sg-tooltip-top .sg-tooltip-arrow {
49
- bottom: -4px;
50
- left: 50%;
51
- margin-left: -4px;
52
- }
53
-
54
- .sg-tooltip-bottom {
55
- top: 100%;
56
- left: 50%;
57
- transform: translateX(-50%);
58
- margin-top: 8px;
59
- }
60
-
61
- .sg-tooltip-bottom .sg-tooltip-arrow {
62
- top: -4px;
63
- left: 50%;
64
- margin-left: -4px;
65
- }
66
-
67
- .sg-tooltip-left {
68
- right: 100%;
69
- top: 50%;
70
- transform: translateY(-50%);
71
- margin-right: 8px;
72
- }
73
-
74
- .sg-tooltip-left .sg-tooltip-arrow {
75
- right: -4px;
76
- top: 50%;
77
- margin-top: -4px;
78
- }
79
-
80
- .sg-tooltip-right {
81
- left: 100%;
82
- top: 50%;
83
- transform: translateY(-50%);
84
- margin-left: 8px;
85
- }
86
-
87
- .sg-tooltip-right .sg-tooltip-arrow {
88
- left: -4px;
89
- top: 50%;
90
- margin-top: -4px;
91
- }
1
+ .sg-tooltip-wrapper {
2
+ position: relative;
3
+ display: inline-block;
4
+ }
5
+
6
+ .sg-tooltip {
7
+ position: absolute;
8
+ z-index: var(--sg-z-tooltip);
9
+ pointer-events: none;
10
+ }
11
+
12
+ .sg-tooltip-content {
13
+ /* `inline-block` lets the box wrap and size itself around block-level
14
+ * children (the Rich-content demo embeds a `<div max-width:220px;
15
+ * white-space:normal>` — React renders the content node as a `<div>`
16
+ * which already enforces `display:block`; Vue uses `<span>` so we have
17
+ * to lift the box ourselves, otherwise it stays a 0-px nowrap line and
18
+ * the tooltip looks empty). */
19
+ display: inline-block;
20
+ padding: var(--sg-padding-xs) var(--sg-padding-sm);
21
+ background: var(--sg-color-tooltip-bg);
22
+ color: var(--sg-color-tooltip-text);
23
+ font-size: var(--sg-font-size-sm);
24
+ border-radius: var(--sg-border-radius-sm);
25
+ white-space: nowrap;
26
+ box-shadow: var(--sg-shadow);
27
+ }
28
+
29
+ /* dark override handled via --sg-color-tooltip-bg token */
30
+
31
+ .sg-tooltip-arrow {
32
+ position: absolute;
33
+ width: 8px;
34
+ height: 8px;
35
+ background: var(--sg-color-tooltip-bg);
36
+ transform: rotate(45deg);
37
+ }
38
+
39
+ /* dark override handled via --sg-color-tooltip-bg token */
40
+
41
+ .sg-tooltip-top {
42
+ bottom: 100%;
43
+ left: 50%;
44
+ transform: translateX(-50%);
45
+ margin-bottom: 8px;
46
+ }
47
+
48
+ .sg-tooltip-top .sg-tooltip-arrow {
49
+ bottom: -4px;
50
+ left: 50%;
51
+ margin-left: -4px;
52
+ }
53
+
54
+ .sg-tooltip-bottom {
55
+ top: 100%;
56
+ left: 50%;
57
+ transform: translateX(-50%);
58
+ margin-top: 8px;
59
+ }
60
+
61
+ .sg-tooltip-bottom .sg-tooltip-arrow {
62
+ top: -4px;
63
+ left: 50%;
64
+ margin-left: -4px;
65
+ }
66
+
67
+ .sg-tooltip-left {
68
+ right: 100%;
69
+ top: 50%;
70
+ transform: translateY(-50%);
71
+ margin-right: 8px;
72
+ }
73
+
74
+ .sg-tooltip-left .sg-tooltip-arrow {
75
+ right: -4px;
76
+ top: 50%;
77
+ margin-top: -4px;
78
+ }
79
+
80
+ .sg-tooltip-right {
81
+ left: 100%;
82
+ top: 50%;
83
+ transform: translateY(-50%);
84
+ margin-left: 8px;
85
+ }
86
+
87
+ .sg-tooltip-right .sg-tooltip-arrow {
88
+ left: -4px;
89
+ top: 50%;
90
+ margin-top: -4px;
91
+ }