@skygraph/styles 0.6.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,221 +1,221 @@
1
- /* === TreeSelect === */
2
-
3
- .sg-treeselect {
4
- position: relative;
5
- display: inline-block;
6
- min-width: 180px;
7
- font-size: var(--sg-font-size);
8
- }
9
-
10
- .sg-treeselect-disabled {
11
- opacity: 0.5;
12
- pointer-events: none;
13
- }
14
-
15
- /* Selector trigger */
16
-
17
- .sg-treeselect-selector {
18
- display: flex;
19
- align-items: center;
20
- justify-content: space-between;
21
- /* Shares the `--sg-input-*` family with `Input` so scoped overrides
22
- * (height / radius / bg / border) re-skin the trigger. */
23
- min-height: var(--sg-input-height, var(--sg-height-md));
24
- padding: var(--sg-padding-xs) var(--sg-padding-md);
25
- color: var(--sg-input-color, var(--sg-color-text));
26
- background: var(--sg-input-bg, var(--sg-color-bg-container));
27
- border: 1px solid var(--sg-input-border, var(--sg-color-border));
28
- border-radius: var(--sg-input-radius, var(--sg-border-radius));
29
- cursor: pointer;
30
- transition: border-color var(--sg-transition-duration) var(--sg-transition-timing);
31
- gap: var(--sg-padding-xs);
32
- }
33
-
34
- .sg-treeselect-small .sg-treeselect-selector {
35
- min-height: var(--sg-height-sm);
36
- font-size: var(--sg-font-size-sm);
37
- }
38
-
39
- .sg-treeselect-large .sg-treeselect-selector {
40
- min-height: var(--sg-height-lg);
41
- font-size: var(--sg-font-size-lg);
42
- }
43
-
44
- .sg-treeselect-open .sg-treeselect-selector {
45
- border-color: var(--sg-color-primary);
46
- box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
47
- }
48
-
49
- .sg-treeselect-selector:hover {
50
- border-color: var(--sg-color-primary-hover);
51
- }
52
-
53
- /* Selection wrap */
54
-
55
- .sg-treeselect-selection-wrap {
56
- display: flex;
57
- flex-wrap: wrap;
58
- align-items: center;
59
- gap: var(--sg-padding-xs);
60
- flex: 1;
61
- min-width: 0;
62
- overflow: hidden;
63
- }
64
-
65
- .sg-treeselect-placeholder {
66
- color: var(--sg-color-text-placeholder);
67
- white-space: nowrap;
68
- overflow: hidden;
69
- text-overflow: ellipsis;
70
- }
71
-
72
- .sg-treeselect-selection-item {
73
- color: var(--sg-input-color, var(--sg-color-text));
74
- white-space: nowrap;
75
- overflow: hidden;
76
- text-overflow: ellipsis;
77
- }
78
-
79
- /* Tags (multiple mode) */
80
-
81
- .sg-treeselect-tag {
82
- display: inline-flex;
83
- align-items: center;
84
- gap: 2px;
85
- max-width: 100%;
86
- padding: 1px var(--sg-padding-sm);
87
- background: var(--sg-color-bg-hover);
88
- border: 1px solid var(--sg-color-border-secondary);
89
- border-radius: var(--sg-border-radius-sm);
90
- font-size: var(--sg-font-size-sm);
91
- line-height: 20px;
92
- }
93
-
94
- .sg-treeselect-tag-label {
95
- overflow: hidden;
96
- text-overflow: ellipsis;
97
- white-space: nowrap;
98
- }
99
-
100
- .sg-treeselect-tag-close {
101
- display: inline-flex;
102
- align-items: center;
103
- justify-content: center;
104
- width: 16px;
105
- height: 16px;
106
- font-size: 12px;
107
- color: var(--sg-color-text-tertiary);
108
- cursor: pointer;
109
- border-radius: 50%;
110
- transition: all var(--sg-transition-duration);
111
- flex-shrink: 0;
112
- }
113
-
114
- .sg-treeselect-tag-close:hover {
115
- color: var(--sg-color-text);
116
- background: var(--sg-color-border-secondary);
117
- }
118
-
119
- .sg-treeselect-tag-rest {
120
- color: var(--sg-color-text-tertiary);
121
- font-style: italic;
122
- }
123
-
124
- /* Search input */
125
-
126
- .sg-treeselect-search-input {
127
- flex: 1;
128
- min-width: 60px;
129
- border: none;
130
- outline: none;
131
- background: transparent;
132
- font-size: inherit;
133
- color: var(--sg-color-text);
134
- padding: 0;
135
- line-height: var(--sg-line-height);
136
- }
137
-
138
- .sg-treeselect-search-input::placeholder {
139
- color: var(--sg-color-text-placeholder);
140
- }
141
-
142
- /* Actions (clear + arrow) */
143
-
144
- .sg-treeselect-actions {
145
- display: flex;
146
- align-items: center;
147
- gap: var(--sg-padding-xs);
148
- flex-shrink: 0;
149
- }
150
-
151
- .sg-treeselect-arrow {
152
- font-size: 10px;
153
- color: var(--sg-color-text-tertiary);
154
- }
155
-
156
- .sg-treeselect-clear {
157
- display: inline-flex;
158
- align-items: center;
159
- justify-content: center;
160
- width: 16px;
161
- height: 16px;
162
- font-size: 12px;
163
- color: var(--sg-color-text-tertiary);
164
- cursor: pointer;
165
- border-radius: 50%;
166
- transition: all var(--sg-transition-duration);
167
- }
168
-
169
- .sg-treeselect-clear:hover {
170
- color: var(--sg-color-text);
171
- background: var(--sg-color-border-secondary);
172
- }
173
-
174
- /* Dropdown */
175
-
176
- .sg-treeselect-dropdown {
177
- position: absolute;
178
- top: 100%;
179
- left: 0;
180
- right: 0;
181
- z-index: var(--sg-z-dropdown);
182
- margin-top: 4px;
183
- padding: var(--sg-padding-sm);
184
- background: var(--sg-color-bg-elevated);
185
- border: 1px solid var(--sg-color-border-secondary);
186
- border-radius: var(--sg-border-radius-lg);
187
- box-shadow: var(--sg-shadow-lg);
188
- max-height: 300px;
189
- overflow-x: hidden;
190
- overflow-y: auto;
191
- }
192
-
193
- .sg-treeselect-dropdown::-webkit-scrollbar {
194
- width: 6px;
195
- }
196
-
197
- .sg-treeselect-dropdown::-webkit-scrollbar-thumb {
198
- background: var(--sg-color-border);
199
- border-radius: 3px;
200
- }
201
-
202
- .sg-treeselect-dropdown::-webkit-scrollbar-track {
203
- background: transparent;
204
- }
205
-
206
- .sg-treeselect-empty {
207
- padding: var(--sg-padding-lg);
208
- text-align: center;
209
- color: var(--sg-color-text-tertiary);
210
- }
211
-
212
- /* Tree inside dropdown overrides */
213
-
214
- .sg-treeselect-dropdown .sg-tree {
215
- font-size: inherit;
216
- }
217
-
218
- .sg-treeselect-dropdown .sg-tree-node {
219
- padding: 1px 0;
220
- min-height: 26px;
221
- }
1
+ /* === TreeSelect === */
2
+
3
+ .sg-treeselect {
4
+ position: relative;
5
+ display: inline-block;
6
+ min-width: 180px;
7
+ font-size: var(--sg-font-size);
8
+ }
9
+
10
+ .sg-treeselect-disabled {
11
+ opacity: 0.5;
12
+ pointer-events: none;
13
+ }
14
+
15
+ /* Selector trigger */
16
+
17
+ .sg-treeselect-selector {
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: space-between;
21
+ /* Shares the `--sg-input-*` family with `Input` so scoped overrides
22
+ * (height / radius / bg / border) re-skin the trigger. */
23
+ min-height: var(--sg-input-height, var(--sg-height-md));
24
+ padding: var(--sg-padding-xs) var(--sg-padding-md);
25
+ color: var(--sg-input-color, var(--sg-color-text));
26
+ background: var(--sg-input-bg, var(--sg-color-bg-container));
27
+ border: 1px solid var(--sg-input-border, var(--sg-color-border));
28
+ border-radius: var(--sg-input-radius, var(--sg-border-radius));
29
+ cursor: pointer;
30
+ transition: border-color var(--sg-transition-duration) var(--sg-transition-timing);
31
+ gap: var(--sg-padding-xs);
32
+ }
33
+
34
+ .sg-treeselect-small .sg-treeselect-selector {
35
+ min-height: var(--sg-height-sm);
36
+ font-size: var(--sg-font-size-sm);
37
+ }
38
+
39
+ .sg-treeselect-large .sg-treeselect-selector {
40
+ min-height: var(--sg-height-lg);
41
+ font-size: var(--sg-font-size-lg);
42
+ }
43
+
44
+ .sg-treeselect-open .sg-treeselect-selector {
45
+ border-color: var(--sg-color-primary);
46
+ box-shadow: 0 0 0 2px var(--sg-color-primary-bg);
47
+ }
48
+
49
+ .sg-treeselect-selector:hover {
50
+ border-color: var(--sg-color-primary-hover);
51
+ }
52
+
53
+ /* Selection wrap */
54
+
55
+ .sg-treeselect-selection-wrap {
56
+ display: flex;
57
+ flex-wrap: wrap;
58
+ align-items: center;
59
+ gap: var(--sg-padding-xs);
60
+ flex: 1;
61
+ min-width: 0;
62
+ overflow: hidden;
63
+ }
64
+
65
+ .sg-treeselect-placeholder {
66
+ color: var(--sg-color-text-placeholder);
67
+ white-space: nowrap;
68
+ overflow: hidden;
69
+ text-overflow: ellipsis;
70
+ }
71
+
72
+ .sg-treeselect-selection-item {
73
+ color: var(--sg-input-color, var(--sg-color-text));
74
+ white-space: nowrap;
75
+ overflow: hidden;
76
+ text-overflow: ellipsis;
77
+ }
78
+
79
+ /* Tags (multiple mode) */
80
+
81
+ .sg-treeselect-tag {
82
+ display: inline-flex;
83
+ align-items: center;
84
+ gap: 2px;
85
+ max-width: 100%;
86
+ padding: 1px var(--sg-padding-sm);
87
+ background: var(--sg-color-bg-hover);
88
+ border: 1px solid var(--sg-color-border-secondary);
89
+ border-radius: var(--sg-border-radius-sm);
90
+ font-size: var(--sg-font-size-sm);
91
+ line-height: 20px;
92
+ }
93
+
94
+ .sg-treeselect-tag-label {
95
+ overflow: hidden;
96
+ text-overflow: ellipsis;
97
+ white-space: nowrap;
98
+ }
99
+
100
+ .sg-treeselect-tag-close {
101
+ display: inline-flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ width: 16px;
105
+ height: 16px;
106
+ font-size: 12px;
107
+ color: var(--sg-color-text-tertiary);
108
+ cursor: pointer;
109
+ border-radius: 50%;
110
+ transition: all var(--sg-transition-duration);
111
+ flex-shrink: 0;
112
+ }
113
+
114
+ .sg-treeselect-tag-close:hover {
115
+ color: var(--sg-color-text);
116
+ background: var(--sg-color-border-secondary);
117
+ }
118
+
119
+ .sg-treeselect-tag-rest {
120
+ color: var(--sg-color-text-tertiary);
121
+ font-style: italic;
122
+ }
123
+
124
+ /* Search input */
125
+
126
+ .sg-treeselect-search-input {
127
+ flex: 1;
128
+ min-width: 60px;
129
+ border: none;
130
+ outline: none;
131
+ background: transparent;
132
+ font-size: inherit;
133
+ color: var(--sg-color-text);
134
+ padding: 0;
135
+ line-height: var(--sg-line-height);
136
+ }
137
+
138
+ .sg-treeselect-search-input::placeholder {
139
+ color: var(--sg-color-text-placeholder);
140
+ }
141
+
142
+ /* Actions (clear + arrow) */
143
+
144
+ .sg-treeselect-actions {
145
+ display: flex;
146
+ align-items: center;
147
+ gap: var(--sg-padding-xs);
148
+ flex-shrink: 0;
149
+ }
150
+
151
+ .sg-treeselect-arrow {
152
+ font-size: 10px;
153
+ color: var(--sg-color-text-tertiary);
154
+ }
155
+
156
+ .sg-treeselect-clear {
157
+ display: inline-flex;
158
+ align-items: center;
159
+ justify-content: center;
160
+ width: 16px;
161
+ height: 16px;
162
+ font-size: 12px;
163
+ color: var(--sg-color-text-tertiary);
164
+ cursor: pointer;
165
+ border-radius: 50%;
166
+ transition: all var(--sg-transition-duration);
167
+ }
168
+
169
+ .sg-treeselect-clear:hover {
170
+ color: var(--sg-color-text);
171
+ background: var(--sg-color-border-secondary);
172
+ }
173
+
174
+ /* Dropdown */
175
+
176
+ .sg-treeselect-dropdown {
177
+ position: absolute;
178
+ top: 100%;
179
+ left: 0;
180
+ right: 0;
181
+ z-index: var(--sg-z-dropdown);
182
+ margin-top: 4px;
183
+ padding: var(--sg-padding-sm);
184
+ background: var(--sg-color-bg-elevated);
185
+ border: 1px solid var(--sg-color-border-secondary);
186
+ border-radius: var(--sg-border-radius-lg);
187
+ box-shadow: var(--sg-shadow-lg);
188
+ max-height: 300px;
189
+ overflow-x: hidden;
190
+ overflow-y: auto;
191
+ }
192
+
193
+ .sg-treeselect-dropdown::-webkit-scrollbar {
194
+ width: 6px;
195
+ }
196
+
197
+ .sg-treeselect-dropdown::-webkit-scrollbar-thumb {
198
+ background: var(--sg-color-border);
199
+ border-radius: 3px;
200
+ }
201
+
202
+ .sg-treeselect-dropdown::-webkit-scrollbar-track {
203
+ background: transparent;
204
+ }
205
+
206
+ .sg-treeselect-empty {
207
+ padding: var(--sg-padding-lg);
208
+ text-align: center;
209
+ color: var(--sg-color-text-tertiary);
210
+ }
211
+
212
+ /* Tree inside dropdown overrides */
213
+
214
+ .sg-treeselect-dropdown .sg-tree {
215
+ font-size: inherit;
216
+ }
217
+
218
+ .sg-treeselect-dropdown .sg-tree-node {
219
+ padding: 1px 0;
220
+ min-height: 26px;
221
+ }
@@ -1,124 +1,124 @@
1
- .sg-upload {
2
- --sg-spin-color: var(--sg-color-text-tertiary);
3
- }
4
-
5
- .sg-upload-list {
6
- margin-top: var(--sg-margin-sm);
7
- display: flex;
8
- flex-direction: column;
9
- gap: var(--sg-margin-xs);
10
- }
11
-
12
- .sg-upload-item {
13
- display: flex;
14
- align-items: center;
15
- justify-content: space-between;
16
- padding: var(--sg-padding-xs) var(--sg-padding-sm);
17
- border: 1px solid var(--sg-color-border-secondary);
18
- border-radius: var(--sg-border-radius-sm);
19
- font-size: var(--sg-font-size-sm);
20
- color: var(--sg-color-text);
21
- }
22
-
23
- .sg-upload-item-error {
24
- border-color: var(--sg-color-error);
25
- color: var(--sg-color-error);
26
- }
27
-
28
- .sg-upload-item-name {
29
- display: flex;
30
- align-items: center;
31
- gap: var(--sg-padding-xs);
32
- }
33
-
34
- .sg-upload-item-remove {
35
- cursor: pointer;
36
- color: var(--sg-color-text-tertiary);
37
- font-size: var(--sg-font-size);
38
- background: transparent;
39
- border: none;
40
- padding: 0 var(--sg-padding-xs);
41
- line-height: 1;
42
- border-radius: var(--sg-border-radius-sm);
43
- }
44
-
45
- .sg-upload-item-remove:hover {
46
- color: var(--sg-color-error);
47
- }
48
-
49
- .sg-upload-item-remove:focus-visible {
50
- outline: 2px solid var(--sg-color-primary);
51
- outline-offset: 2px;
52
- }
53
-
54
- .sg-upload-item-progress {
55
- font-size: var(--sg-font-size-sm);
56
- color: var(--sg-color-text-secondary);
57
- font-variant-numeric: tabular-nums;
58
- }
59
-
60
- /* Drag area (Vue-only — sister components in React do not ship a drag mode). */
61
- .sg-upload-drag-area {
62
- display: flex;
63
- flex-direction: column;
64
- align-items: center;
65
- justify-content: center;
66
- gap: var(--sg-margin-xs);
67
- padding: var(--sg-padding-lg);
68
- border: 1px dashed var(--sg-color-border);
69
- border-radius: var(--sg-border-radius);
70
- color: var(--sg-color-text-secondary);
71
- background: var(--sg-color-bg-container);
72
- cursor: pointer;
73
- transition:
74
- border-color var(--sg-transition-duration),
75
- background var(--sg-transition-duration);
76
- text-align: center;
77
- }
78
-
79
- .sg-upload-drag-area:hover,
80
- .sg-upload-dragging .sg-upload-drag-area {
81
- border-color: var(--sg-color-primary);
82
- background: var(--sg-color-primary-bg);
83
- }
84
-
85
- .sg-upload-drag-icon {
86
- font-size: 32px;
87
- color: var(--sg-color-primary);
88
- margin: 0;
89
- line-height: 1;
90
- }
91
-
92
- .sg-upload-drag-text {
93
- margin: 0;
94
- font-size: var(--sg-font-size);
95
- color: var(--sg-color-text);
96
- }
97
-
98
- .sg-upload-disabled .sg-upload-drag-area {
99
- cursor: not-allowed;
100
- opacity: 0.6;
101
- background: var(--sg-color-bg-disabled);
102
- }
103
-
104
- /* Picture-card layout (Vue-only — image-grid trigger like the AntD one). */
105
- .sg-upload-picture-card .sg-upload-list,
106
- .sg-upload-picture .sg-upload-list {
107
- flex-direction: row;
108
- flex-wrap: wrap;
109
- gap: var(--sg-margin-sm);
110
- }
111
-
112
- .sg-upload-picture-card .sg-upload-item {
113
- width: 96px;
114
- height: 96px;
115
- flex-direction: column;
116
- justify-content: center;
117
- align-items: center;
118
- text-align: center;
119
- padding: var(--sg-padding-xs);
120
- }
121
-
122
- .sg-upload-picture .sg-upload-item {
123
- padding: var(--sg-padding-sm);
124
- }
1
+ .sg-upload {
2
+ --sg-spin-color: var(--sg-color-text-tertiary);
3
+ }
4
+
5
+ .sg-upload-list {
6
+ margin-top: var(--sg-margin-sm);
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--sg-margin-xs);
10
+ }
11
+
12
+ .sg-upload-item {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ padding: var(--sg-padding-xs) var(--sg-padding-sm);
17
+ border: 1px solid var(--sg-color-border-secondary);
18
+ border-radius: var(--sg-border-radius-sm);
19
+ font-size: var(--sg-font-size-sm);
20
+ color: var(--sg-color-text);
21
+ }
22
+
23
+ .sg-upload-item-error {
24
+ border-color: var(--sg-color-error);
25
+ color: var(--sg-color-error);
26
+ }
27
+
28
+ .sg-upload-item-name {
29
+ display: flex;
30
+ align-items: center;
31
+ gap: var(--sg-padding-xs);
32
+ }
33
+
34
+ .sg-upload-item-remove {
35
+ cursor: pointer;
36
+ color: var(--sg-color-text-tertiary);
37
+ font-size: var(--sg-font-size);
38
+ background: transparent;
39
+ border: none;
40
+ padding: 0 var(--sg-padding-xs);
41
+ line-height: 1;
42
+ border-radius: var(--sg-border-radius-sm);
43
+ }
44
+
45
+ .sg-upload-item-remove:hover {
46
+ color: var(--sg-color-error);
47
+ }
48
+
49
+ .sg-upload-item-remove:focus-visible {
50
+ outline: 2px solid var(--sg-color-primary);
51
+ outline-offset: 2px;
52
+ }
53
+
54
+ .sg-upload-item-progress {
55
+ font-size: var(--sg-font-size-sm);
56
+ color: var(--sg-color-text-secondary);
57
+ font-variant-numeric: tabular-nums;
58
+ }
59
+
60
+ /* Drag area (Vue-only — sister components in React do not ship a drag mode). */
61
+ .sg-upload-drag-area {
62
+ display: flex;
63
+ flex-direction: column;
64
+ align-items: center;
65
+ justify-content: center;
66
+ gap: var(--sg-margin-xs);
67
+ padding: var(--sg-padding-lg);
68
+ border: 1px dashed var(--sg-color-border);
69
+ border-radius: var(--sg-border-radius);
70
+ color: var(--sg-color-text-secondary);
71
+ background: var(--sg-color-bg-container);
72
+ cursor: pointer;
73
+ transition:
74
+ border-color var(--sg-transition-duration),
75
+ background var(--sg-transition-duration);
76
+ text-align: center;
77
+ }
78
+
79
+ .sg-upload-drag-area:hover,
80
+ .sg-upload-dragging .sg-upload-drag-area {
81
+ border-color: var(--sg-color-primary);
82
+ background: var(--sg-color-primary-bg);
83
+ }
84
+
85
+ .sg-upload-drag-icon {
86
+ font-size: 32px;
87
+ color: var(--sg-color-primary);
88
+ margin: 0;
89
+ line-height: 1;
90
+ }
91
+
92
+ .sg-upload-drag-text {
93
+ margin: 0;
94
+ font-size: var(--sg-font-size);
95
+ color: var(--sg-color-text);
96
+ }
97
+
98
+ .sg-upload-disabled .sg-upload-drag-area {
99
+ cursor: not-allowed;
100
+ opacity: 0.6;
101
+ background: var(--sg-color-bg-disabled);
102
+ }
103
+
104
+ /* Picture-card layout (Vue-only — image-grid trigger like the AntD one). */
105
+ .sg-upload-picture-card .sg-upload-list,
106
+ .sg-upload-picture .sg-upload-list {
107
+ flex-direction: row;
108
+ flex-wrap: wrap;
109
+ gap: var(--sg-margin-sm);
110
+ }
111
+
112
+ .sg-upload-picture-card .sg-upload-item {
113
+ width: 96px;
114
+ height: 96px;
115
+ flex-direction: column;
116
+ justify-content: center;
117
+ align-items: center;
118
+ text-align: center;
119
+ padding: var(--sg-padding-xs);
120
+ }
121
+
122
+ .sg-upload-picture .sg-upload-item {
123
+ padding: var(--sg-padding-sm);
124
+ }