@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,326 +1,326 @@
1
- /* === Menu === */
2
-
3
- .sg-menu {
4
- margin: 0;
5
- padding: var(--sg-padding-xs) 0;
6
- list-style: none;
7
- font-size: var(--sg-font-size);
8
- color: var(--sg-color-text);
9
- background: var(--sg-color-bg-container);
10
- border-right: 1px solid var(--sg-color-border-secondary);
11
- outline: none;
12
- }
13
-
14
- .sg-menu ul {
15
- list-style: none;
16
- margin: 0;
17
- padding: 0;
18
- }
19
-
20
- /* --- Modes --- */
21
-
22
- .sg-menu-horizontal {
23
- display: flex;
24
- flex-direction: row;
25
- border-right: none;
26
- border-bottom: 1px solid var(--sg-color-border-secondary);
27
- padding: 0;
28
- }
29
-
30
- .sg-menu-vertical {
31
- display: flex;
32
- flex-direction: column;
33
- }
34
-
35
- .sg-menu-inline {
36
- display: flex;
37
- flex-direction: column;
38
- }
39
-
40
- /* --- Theme ---
41
- *
42
- * `.sg-menu-dark` is a self-contained dark variant: it must look right on
43
- * any host surface (light app theme, dark app theme, custom wrapper),
44
- * because `theme="dark"` is a per-menu flag, not an app theme switch. So
45
- * the dark variant uses explicit dark colours and white-alpha overlays
46
- * instead of semantic tokens — the latter cascade with the app theme
47
- * and break the "always-dark menu" contract.
48
- */
49
-
50
- .sg-menu-dark {
51
- background: var(--sg-gray-10);
52
- color: rgba(255, 255, 255, 0.65);
53
- border-color: transparent;
54
- }
55
-
56
- .sg-menu-dark .sg-menu-item {
57
- color: rgba(255, 255, 255, 0.65);
58
- }
59
-
60
- .sg-menu-dark .sg-menu-item:hover {
61
- color: rgba(255, 255, 255, 0.88);
62
- background: rgba(255, 255, 255, 0.08);
63
- }
64
-
65
- .sg-menu-dark .sg-menu-item-selected,
66
- .sg-menu-dark .sg-menu-item-selected:hover {
67
- color: var(--sg-color-white, #fff);
68
- background: var(--sg-color-primary);
69
- }
70
-
71
- .sg-menu-dark .sg-menu-item-disabled,
72
- .sg-menu-dark .sg-menu-item-disabled:hover {
73
- color: rgba(255, 255, 255, 0.25);
74
- background: transparent;
75
- }
76
-
77
- .sg-menu-dark .sg-menu-divider {
78
- background: rgba(255, 255, 255, 0.08);
79
- }
80
-
81
- .sg-menu-dark .sg-menu-group-title {
82
- color: rgba(255, 255, 255, 0.45);
83
- }
84
-
85
- /* --- Collapsed --- */
86
-
87
- .sg-menu-collapsed {
88
- width: 56px;
89
- }
90
-
91
- .sg-menu-collapsed .sg-menu-item {
92
- justify-content: center;
93
- padding: var(--sg-padding-sm);
94
- }
95
-
96
- .sg-menu-collapsed .sg-menu-submenu-arrow {
97
- display: none;
98
- }
99
-
100
- /* --- Menu item --- */
101
-
102
- .sg-menu-item {
103
- display: flex;
104
- align-items: center;
105
- gap: var(--sg-padding-sm);
106
- padding: var(--sg-padding-xs) var(--sg-padding-lg);
107
- cursor: pointer;
108
- color: var(--sg-color-text);
109
- line-height: var(--sg-line-height);
110
- min-height: var(--sg-height-md);
111
- transition:
112
- background var(--sg-transition-duration) var(--sg-transition-timing),
113
- color var(--sg-transition-duration) var(--sg-transition-timing);
114
- user-select: none;
115
- white-space: nowrap;
116
- }
117
-
118
- .sg-menu-item:hover {
119
- background: var(--sg-color-bg-hover);
120
- }
121
-
122
- .sg-menu-item-selected {
123
- color: var(--sg-color-primary);
124
- background: var(--sg-color-primary-bg);
125
- }
126
-
127
- .sg-menu-item-disabled {
128
- color: var(--sg-color-text-disabled);
129
- cursor: not-allowed;
130
- }
131
-
132
- .sg-menu-item-disabled:hover {
133
- background: none;
134
- }
135
-
136
- .sg-menu-item-danger {
137
- color: var(--sg-color-error);
138
- }
139
-
140
- .sg-menu-item-danger:hover {
141
- background: var(--sg-color-error-bg);
142
- }
143
-
144
- /* --- Icon & label --- */
145
-
146
- .sg-menu-item-icon {
147
- display: inline-flex;
148
- align-items: center;
149
- font-size: var(--sg-font-size-lg);
150
- flex-shrink: 0;
151
- }
152
-
153
- /* First-letter fallback shown on the collapsed rail for items without an icon. */
154
- .sg-menu-item-icon-fallback {
155
- justify-content: center;
156
- width: 24px;
157
- height: 24px;
158
- border-radius: var(--sg-border-radius-sm);
159
- background: var(--sg-color-fill-secondary, var(--sg-color-bg-secondary));
160
- color: var(--sg-color-text-secondary);
161
- font-size: var(--sg-font-size-sm);
162
- font-weight: 600;
163
- }
164
-
165
- .sg-menu-item-selected .sg-menu-item-icon-fallback {
166
- background: var(--sg-color-primary-bg);
167
- color: var(--sg-color-primary);
168
- }
169
-
170
- .sg-menu-item-label {
171
- flex: 1;
172
- overflow: hidden;
173
- text-overflow: ellipsis;
174
- }
175
-
176
- /* --- Submenu arrow --- */
177
-
178
- .sg-menu-submenu-arrow {
179
- display: inline-block;
180
- width: 10px;
181
- height: 10px;
182
- margin-left: auto;
183
- position: relative;
184
- flex-shrink: 0;
185
- }
186
-
187
- .sg-menu-submenu-arrow::before,
188
- .sg-menu-submenu-arrow::after {
189
- content: '';
190
- position: absolute;
191
- width: 6px;
192
- height: 1.5px;
193
- background: currentColor;
194
- border-radius: 1px;
195
- transition: transform var(--sg-transition-duration) var(--sg-transition-timing);
196
- }
197
-
198
- .sg-menu-submenu-arrow::before {
199
- transform: rotate(45deg) translateX(2px);
200
- top: 4px;
201
- left: 0;
202
- }
203
-
204
- .sg-menu-submenu-arrow::after {
205
- transform: rotate(-45deg) translateX(-2px);
206
- top: 4px;
207
- left: 0;
208
- }
209
-
210
- .sg-menu-submenu-arrow-open::before {
211
- transform: rotate(-45deg) translateX(2px);
212
- }
213
-
214
- .sg-menu-submenu-arrow-open::after {
215
- transform: rotate(45deg) translateX(-2px);
216
- }
217
-
218
- /* Horizontal mode arrow points down */
219
- .sg-menu-horizontal .sg-menu-submenu-arrow::before {
220
- transform: rotate(45deg) translateY(0);
221
- top: 3px;
222
- left: 0;
223
- }
224
-
225
- .sg-menu-horizontal .sg-menu-submenu-arrow::after {
226
- transform: rotate(-45deg) translateY(0);
227
- top: 3px;
228
- left: 3px;
229
- }
230
-
231
- /* --- Inline submenu --- */
232
-
233
- .sg-menu-inline-sub {
234
- max-height: 0;
235
- overflow: hidden;
236
- transition: max-height 0.3s var(--sg-transition-timing);
237
- }
238
-
239
- .sg-menu-inline-sub-open {
240
- max-height: 500px;
241
- }
242
-
243
- /* --- Popup submenu (vertical / horizontal) --- */
244
-
245
- .sg-menu-submenu-wrapper {
246
- position: relative;
247
- }
248
-
249
- .sg-menu-popup {
250
- position: absolute;
251
- z-index: var(--sg-z-dropdown);
252
- min-width: 160px;
253
- padding: var(--sg-padding-xs) 0;
254
- background: var(--sg-color-bg-elevated);
255
- border-radius: var(--sg-border-radius-lg);
256
- box-shadow: var(--sg-shadow-lg);
257
- border: 1px solid var(--sg-color-border-secondary);
258
- list-style: none;
259
- animation: sg-menu-popup-in var(--sg-transition-duration) var(--sg-transition-timing);
260
- }
261
-
262
- .sg-menu-vertical .sg-menu-popup {
263
- left: 100%;
264
- top: 0;
265
- }
266
-
267
- .sg-menu-horizontal > li > .sg-menu-popup {
268
- left: 0;
269
- top: 100%;
270
- }
271
-
272
- @keyframes sg-menu-popup-in {
273
- from {
274
- opacity: 0;
275
- transform: scaleY(0.8);
276
- }
277
- to {
278
- opacity: 1;
279
- transform: scaleY(1);
280
- }
281
- }
282
-
283
- /* --- Divider --- */
284
-
285
- .sg-menu-divider {
286
- height: 1px;
287
- margin: var(--sg-margin-xs) var(--sg-padding-md);
288
- background: var(--sg-color-border-secondary);
289
- list-style: none;
290
- }
291
-
292
- /* --- Group --- */
293
-
294
- .sg-menu-group {
295
- list-style: none;
296
- }
297
-
298
- .sg-menu-group-title {
299
- padding: var(--sg-padding-xs) var(--sg-padding-lg);
300
- color: var(--sg-color-text-tertiary);
301
- font-size: var(--sg-font-size-sm);
302
- line-height: var(--sg-line-height);
303
- }
304
-
305
- .sg-menu-group-list {
306
- list-style: none;
307
- margin: 0;
308
- padding: 0;
309
- }
310
-
311
- /* --- Horizontal item spacing --- */
312
-
313
- .sg-menu-horizontal > li > .sg-menu-item {
314
- padding: var(--sg-padding-sm) var(--sg-padding-lg);
315
- border-bottom: 2px solid transparent;
316
- }
317
-
318
- .sg-menu-horizontal > li > .sg-menu-item-selected {
319
- border-bottom-color: var(--sg-color-primary);
320
- background: none;
321
- }
322
-
323
- .sg-menu-horizontal > li > .sg-menu-item:hover {
324
- border-bottom-color: var(--sg-color-primary-hover);
325
- background: none;
326
- }
1
+ /* === Menu === */
2
+
3
+ .sg-menu {
4
+ margin: 0;
5
+ padding: var(--sg-padding-xs) 0;
6
+ list-style: none;
7
+ font-size: var(--sg-font-size);
8
+ color: var(--sg-color-text);
9
+ background: var(--sg-color-bg-container);
10
+ border-right: 1px solid var(--sg-color-border-secondary);
11
+ outline: none;
12
+ }
13
+
14
+ .sg-menu ul {
15
+ list-style: none;
16
+ margin: 0;
17
+ padding: 0;
18
+ }
19
+
20
+ /* --- Modes --- */
21
+
22
+ .sg-menu-horizontal {
23
+ display: flex;
24
+ flex-direction: row;
25
+ border-right: none;
26
+ border-bottom: 1px solid var(--sg-color-border-secondary);
27
+ padding: 0;
28
+ }
29
+
30
+ .sg-menu-vertical {
31
+ display: flex;
32
+ flex-direction: column;
33
+ }
34
+
35
+ .sg-menu-inline {
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+
40
+ /* --- Theme ---
41
+ *
42
+ * `.sg-menu-dark` is a self-contained dark variant: it must look right on
43
+ * any host surface (light app theme, dark app theme, custom wrapper),
44
+ * because `theme="dark"` is a per-menu flag, not an app theme switch. So
45
+ * the dark variant uses explicit dark colours and white-alpha overlays
46
+ * instead of semantic tokens — the latter cascade with the app theme
47
+ * and break the "always-dark menu" contract.
48
+ */
49
+
50
+ .sg-menu-dark {
51
+ background: var(--sg-gray-10);
52
+ color: rgba(255, 255, 255, 0.65);
53
+ border-color: transparent;
54
+ }
55
+
56
+ .sg-menu-dark .sg-menu-item {
57
+ color: rgba(255, 255, 255, 0.65);
58
+ }
59
+
60
+ .sg-menu-dark .sg-menu-item:hover {
61
+ color: rgba(255, 255, 255, 0.88);
62
+ background: rgba(255, 255, 255, 0.08);
63
+ }
64
+
65
+ .sg-menu-dark .sg-menu-item-selected,
66
+ .sg-menu-dark .sg-menu-item-selected:hover {
67
+ color: var(--sg-color-white, #fff);
68
+ background: var(--sg-color-primary);
69
+ }
70
+
71
+ .sg-menu-dark .sg-menu-item-disabled,
72
+ .sg-menu-dark .sg-menu-item-disabled:hover {
73
+ color: rgba(255, 255, 255, 0.25);
74
+ background: transparent;
75
+ }
76
+
77
+ .sg-menu-dark .sg-menu-divider {
78
+ background: rgba(255, 255, 255, 0.08);
79
+ }
80
+
81
+ .sg-menu-dark .sg-menu-group-title {
82
+ color: rgba(255, 255, 255, 0.45);
83
+ }
84
+
85
+ /* --- Collapsed --- */
86
+
87
+ .sg-menu-collapsed {
88
+ width: 56px;
89
+ }
90
+
91
+ .sg-menu-collapsed .sg-menu-item {
92
+ justify-content: center;
93
+ padding: var(--sg-padding-sm);
94
+ }
95
+
96
+ .sg-menu-collapsed .sg-menu-submenu-arrow {
97
+ display: none;
98
+ }
99
+
100
+ /* --- Menu item --- */
101
+
102
+ .sg-menu-item {
103
+ display: flex;
104
+ align-items: center;
105
+ gap: var(--sg-padding-sm);
106
+ padding: var(--sg-padding-xs) var(--sg-padding-lg);
107
+ cursor: pointer;
108
+ color: var(--sg-color-text);
109
+ line-height: var(--sg-line-height);
110
+ min-height: var(--sg-height-md);
111
+ transition:
112
+ background var(--sg-transition-duration) var(--sg-transition-timing),
113
+ color var(--sg-transition-duration) var(--sg-transition-timing);
114
+ user-select: none;
115
+ white-space: nowrap;
116
+ }
117
+
118
+ .sg-menu-item:hover {
119
+ background: var(--sg-color-bg-hover);
120
+ }
121
+
122
+ .sg-menu-item-selected {
123
+ color: var(--sg-color-primary);
124
+ background: var(--sg-color-primary-bg);
125
+ }
126
+
127
+ .sg-menu-item-disabled {
128
+ color: var(--sg-color-text-disabled);
129
+ cursor: not-allowed;
130
+ }
131
+
132
+ .sg-menu-item-disabled:hover {
133
+ background: none;
134
+ }
135
+
136
+ .sg-menu-item-danger {
137
+ color: var(--sg-color-error);
138
+ }
139
+
140
+ .sg-menu-item-danger:hover {
141
+ background: var(--sg-color-error-bg);
142
+ }
143
+
144
+ /* --- Icon & label --- */
145
+
146
+ .sg-menu-item-icon {
147
+ display: inline-flex;
148
+ align-items: center;
149
+ font-size: var(--sg-font-size-lg);
150
+ flex-shrink: 0;
151
+ }
152
+
153
+ /* First-letter fallback shown on the collapsed rail for items without an icon. */
154
+ .sg-menu-item-icon-fallback {
155
+ justify-content: center;
156
+ width: 24px;
157
+ height: 24px;
158
+ border-radius: var(--sg-border-radius-sm);
159
+ background: var(--sg-color-fill-secondary, var(--sg-color-bg-secondary));
160
+ color: var(--sg-color-text-secondary);
161
+ font-size: var(--sg-font-size-sm);
162
+ font-weight: 600;
163
+ }
164
+
165
+ .sg-menu-item-selected .sg-menu-item-icon-fallback {
166
+ background: var(--sg-color-primary-bg);
167
+ color: var(--sg-color-primary);
168
+ }
169
+
170
+ .sg-menu-item-label {
171
+ flex: 1;
172
+ overflow: hidden;
173
+ text-overflow: ellipsis;
174
+ }
175
+
176
+ /* --- Submenu arrow --- */
177
+
178
+ .sg-menu-submenu-arrow {
179
+ display: inline-block;
180
+ width: 10px;
181
+ height: 10px;
182
+ margin-left: auto;
183
+ position: relative;
184
+ flex-shrink: 0;
185
+ }
186
+
187
+ .sg-menu-submenu-arrow::before,
188
+ .sg-menu-submenu-arrow::after {
189
+ content: '';
190
+ position: absolute;
191
+ width: 6px;
192
+ height: 1.5px;
193
+ background: currentColor;
194
+ border-radius: 1px;
195
+ transition: transform var(--sg-transition-duration) var(--sg-transition-timing);
196
+ }
197
+
198
+ .sg-menu-submenu-arrow::before {
199
+ transform: rotate(45deg) translateX(2px);
200
+ top: 4px;
201
+ left: 0;
202
+ }
203
+
204
+ .sg-menu-submenu-arrow::after {
205
+ transform: rotate(-45deg) translateX(-2px);
206
+ top: 4px;
207
+ left: 0;
208
+ }
209
+
210
+ .sg-menu-submenu-arrow-open::before {
211
+ transform: rotate(-45deg) translateX(2px);
212
+ }
213
+
214
+ .sg-menu-submenu-arrow-open::after {
215
+ transform: rotate(45deg) translateX(-2px);
216
+ }
217
+
218
+ /* Horizontal mode arrow points down */
219
+ .sg-menu-horizontal .sg-menu-submenu-arrow::before {
220
+ transform: rotate(45deg) translateY(0);
221
+ top: 3px;
222
+ left: 0;
223
+ }
224
+
225
+ .sg-menu-horizontal .sg-menu-submenu-arrow::after {
226
+ transform: rotate(-45deg) translateY(0);
227
+ top: 3px;
228
+ left: 3px;
229
+ }
230
+
231
+ /* --- Inline submenu --- */
232
+
233
+ .sg-menu-inline-sub {
234
+ max-height: 0;
235
+ overflow: hidden;
236
+ transition: max-height 0.3s var(--sg-transition-timing);
237
+ }
238
+
239
+ .sg-menu-inline-sub-open {
240
+ max-height: 500px;
241
+ }
242
+
243
+ /* --- Popup submenu (vertical / horizontal) --- */
244
+
245
+ .sg-menu-submenu-wrapper {
246
+ position: relative;
247
+ }
248
+
249
+ .sg-menu-popup {
250
+ position: absolute;
251
+ z-index: var(--sg-z-dropdown);
252
+ min-width: 160px;
253
+ padding: var(--sg-padding-xs) 0;
254
+ background: var(--sg-color-bg-elevated);
255
+ border-radius: var(--sg-border-radius-lg);
256
+ box-shadow: var(--sg-shadow-lg);
257
+ border: 1px solid var(--sg-color-border-secondary);
258
+ list-style: none;
259
+ animation: sg-menu-popup-in var(--sg-transition-duration) var(--sg-transition-timing);
260
+ }
261
+
262
+ .sg-menu-vertical .sg-menu-popup {
263
+ left: 100%;
264
+ top: 0;
265
+ }
266
+
267
+ .sg-menu-horizontal > li > .sg-menu-popup {
268
+ left: 0;
269
+ top: 100%;
270
+ }
271
+
272
+ @keyframes sg-menu-popup-in {
273
+ from {
274
+ opacity: 0;
275
+ transform: scaleY(0.8);
276
+ }
277
+ to {
278
+ opacity: 1;
279
+ transform: scaleY(1);
280
+ }
281
+ }
282
+
283
+ /* --- Divider --- */
284
+
285
+ .sg-menu-divider {
286
+ height: 1px;
287
+ margin: var(--sg-margin-xs) var(--sg-padding-md);
288
+ background: var(--sg-color-border-secondary);
289
+ list-style: none;
290
+ }
291
+
292
+ /* --- Group --- */
293
+
294
+ .sg-menu-group {
295
+ list-style: none;
296
+ }
297
+
298
+ .sg-menu-group-title {
299
+ padding: var(--sg-padding-xs) var(--sg-padding-lg);
300
+ color: var(--sg-color-text-tertiary);
301
+ font-size: var(--sg-font-size-sm);
302
+ line-height: var(--sg-line-height);
303
+ }
304
+
305
+ .sg-menu-group-list {
306
+ list-style: none;
307
+ margin: 0;
308
+ padding: 0;
309
+ }
310
+
311
+ /* --- Horizontal item spacing --- */
312
+
313
+ .sg-menu-horizontal > li > .sg-menu-item {
314
+ padding: var(--sg-padding-sm) var(--sg-padding-lg);
315
+ border-bottom: 2px solid transparent;
316
+ }
317
+
318
+ .sg-menu-horizontal > li > .sg-menu-item-selected {
319
+ border-bottom-color: var(--sg-color-primary);
320
+ background: none;
321
+ }
322
+
323
+ .sg-menu-horizontal > li > .sg-menu-item:hover {
324
+ border-bottom-color: var(--sg-color-primary-hover);
325
+ background: none;
326
+ }
@@ -18,6 +18,7 @@
18
18
 
19
19
  position: relative;
20
20
  background: var(--sg-color-bg-elevated);
21
+ color: var(--sg-color-text);
21
22
  border-radius: var(--sg-border-radius-lg);
22
23
  box-shadow: var(--sg-shadow-lg);
23
24
  max-height: 80vh;