@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.
- package/README.md +98 -98
- package/components/autocomplete.css +35 -35
- package/components/autofield.css +67 -67
- package/components/avatar.css +37 -37
- package/components/badge.css +102 -102
- package/components/breadcrumb.css +29 -29
- package/components/button.css +181 -181
- package/components/calendar.css +408 -408
- package/components/carousel.css +102 -102
- package/components/cascader.css +380 -380
- package/components/charts.css +408 -408
- package/components/checkbox.css +114 -114
- package/components/collapse.css +166 -166
- package/components/colorpicker.css +252 -252
- package/components/context-menu.css +95 -95
- package/components/descriptions.css +82 -82
- package/components/diagram.css +435 -435
- package/components/drawer.css +124 -124
- package/components/dropdown.css +110 -110
- package/components/empty.css +25 -25
- package/components/event-timeline.css +134 -134
- package/components/field.css +35 -35
- package/components/form.css +115 -115
- package/components/gantt.css +166 -166
- package/components/input-number.css +76 -76
- package/components/input-password.css +104 -104
- package/components/input.css +211 -211
- package/components/list.css +366 -366
- package/components/mentions.css +54 -54
- package/components/menu.css +326 -326
- package/components/modal.css +1 -0
- package/components/notification.css +128 -128
- package/components/pagination.css +162 -162
- package/components/popconfirm.css +95 -95
- package/components/progress.css +116 -116
- package/components/radio.css +95 -95
- package/components/rate.css +48 -48
- package/components/resource-calendar.css +224 -224
- package/components/result.css +45 -45
- package/components/schema-form-editor.css +433 -433
- package/components/search-input.css +112 -112
- package/components/segmented.css +76 -76
- package/components/select.css +181 -181
- package/components/skeleton.css +72 -72
- package/components/slider.css +51 -51
- package/components/spin.css +102 -102
- package/components/steps.css +194 -194
- package/components/switch.css +75 -75
- package/components/table.css +9 -1
- package/components/tabs.css +137 -137
- package/components/tag.css +61 -61
- package/components/textarea.css +22 -22
- package/components/timeline.css +169 -169
- package/components/timepicker.css +224 -224
- package/components/tooltip.css +91 -91
- package/components/transfer.css +140 -140
- package/components/tree.css +601 -601
- package/components/treeselect.css +221 -221
- package/components/upload.css +124 -124
- package/index.css +70 -70
- package/index.d.ts +9 -9
- package/package.json +1 -1
- package/print.css +88 -88
- package/reset.css +17 -17
- package/themes/dark.css +17 -17
- package/themes/default.css +14 -14
- package/tokens.css +310 -310
- package/transitions.css +158 -158
package/components/gantt.css
CHANGED
|
@@ -1,166 +1,166 @@
|
|
|
1
|
-
/* Gantt — task bars over a discrete time axis. */
|
|
2
|
-
|
|
3
|
-
.sg-gantt {
|
|
4
|
-
background: var(--sg-color-bg);
|
|
5
|
-
border: 1px solid var(--sg-color-border);
|
|
6
|
-
border-radius: var(--sg-border-radius);
|
|
7
|
-
font-size: var(--sg-font-size);
|
|
8
|
-
color: var(--sg-color-text);
|
|
9
|
-
font-family: inherit;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.sg-gantt-sidebar {
|
|
13
|
-
background: var(--sg-color-bg-container);
|
|
14
|
-
border-right: 1px solid var(--sg-color-border);
|
|
15
|
-
overflow: hidden;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.sg-gantt-sidebar-header {
|
|
19
|
-
border-bottom: 1px solid var(--sg-color-border);
|
|
20
|
-
background: var(--sg-color-bg-elevated);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.sg-gantt-sidebar-row {
|
|
24
|
-
display: flex;
|
|
25
|
-
align-items: center;
|
|
26
|
-
padding: 0 var(--sg-padding-md);
|
|
27
|
-
border-bottom: 1px solid var(--sg-color-border-secondary);
|
|
28
|
-
color: var(--sg-color-text);
|
|
29
|
-
font-size: var(--sg-font-size-sm);
|
|
30
|
-
white-space: nowrap;
|
|
31
|
-
overflow: hidden;
|
|
32
|
-
text-overflow: ellipsis;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.sg-gantt-main {
|
|
36
|
-
background: var(--sg-color-bg);
|
|
37
|
-
position: relative;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.sg-gantt-header {
|
|
41
|
-
background: var(--sg-color-bg-elevated);
|
|
42
|
-
border-bottom: 1px solid var(--sg-color-border);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.sg-gantt-tick {
|
|
46
|
-
display: flex;
|
|
47
|
-
align-items: center;
|
|
48
|
-
justify-content: flex-start;
|
|
49
|
-
padding: 0 var(--sg-padding-xs);
|
|
50
|
-
font-size: var(--sg-font-size-sm);
|
|
51
|
-
color: var(--sg-color-text-secondary);
|
|
52
|
-
border-right: 1px solid var(--sg-color-border-secondary);
|
|
53
|
-
box-sizing: border-box;
|
|
54
|
-
/* Clip the label when the tick is narrower than the rendered text
|
|
55
|
-
* (e.g. day scale with columnWidth=24) — without this, adjacent
|
|
56
|
-
* labels visually pile up on each other. */
|
|
57
|
-
overflow: hidden;
|
|
58
|
-
white-space: nowrap;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.sg-gantt-grid {
|
|
62
|
-
/* Background grid of vertical column dividers — repeated linear-gradient
|
|
63
|
-
* over `--sg-gantt-column-width` (set via inline style by the component). */
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.sg-gantt-row {
|
|
67
|
-
border-bottom: 1px solid var(--sg-color-border-secondary);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.sg-gantt-row:nth-child(even) {
|
|
71
|
-
background: var(--sg-color-bg-secondary);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.sg-gantt-bar {
|
|
75
|
-
background: var(--sg-color-primary);
|
|
76
|
-
color: var(--sg-color-white);
|
|
77
|
-
border-radius: var(--sg-border-radius-sm);
|
|
78
|
-
display: flex;
|
|
79
|
-
align-items: center;
|
|
80
|
-
padding: 0 var(--sg-padding-xs);
|
|
81
|
-
font-size: var(--sg-font-size-sm);
|
|
82
|
-
white-space: nowrap;
|
|
83
|
-
overflow: hidden;
|
|
84
|
-
/* The shadow token includes both an outer drop and an inner highlight,
|
|
85
|
-
* giving each bar a tiny 3D feel without any borders. Keeps a dense
|
|
86
|
-
* gantt looking organised even when bars overlap rows. */
|
|
87
|
-
box-shadow: var(--sg-gantt-bar-shadow);
|
|
88
|
-
box-sizing: border-box;
|
|
89
|
-
transition:
|
|
90
|
-
box-shadow var(--sg-transition-medium),
|
|
91
|
-
transform var(--sg-transition-medium),
|
|
92
|
-
filter var(--sg-transition-fast);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.sg-gantt-bar:hover {
|
|
96
|
-
box-shadow: var(--sg-gantt-bar-shadow-hover);
|
|
97
|
-
/* `filter: brightness(1.05)` lifts saturated bars without needing a
|
|
98
|
-
* dedicated "primary-hover" colour for every status. Negligible cost
|
|
99
|
-
* on modern compositors. */
|
|
100
|
-
filter: brightness(1.05);
|
|
101
|
-
transform: translateY(-1px);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.sg-gantt-bar-draggable {
|
|
105
|
-
cursor: grab;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.sg-gantt-bar-draggable:active {
|
|
109
|
-
cursor: grabbing;
|
|
110
|
-
transform: translateY(0);
|
|
111
|
-
filter: brightness(1.08);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.sg-gantt-bar-resizable {
|
|
115
|
-
/* hover state expands the resize handle visibility */
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
.sg-gantt-bar-progress {
|
|
119
|
-
background: var(--sg-color-primary-active);
|
|
120
|
-
border-radius: inherit;
|
|
121
|
-
opacity: 0.55;
|
|
122
|
-
pointer-events: none;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.sg-gantt-bar-label {
|
|
126
|
-
text-overflow: ellipsis;
|
|
127
|
-
overflow: hidden;
|
|
128
|
-
/* Drop-shadow on the text increases legibility on saturated bar
|
|
129
|
-
* fills (esp. the bright primary blue). Cheap, single-line filter
|
|
130
|
-
* that doesn't disturb the bar background. */
|
|
131
|
-
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.sg-gantt-bar-resize {
|
|
135
|
-
background: transparent;
|
|
136
|
-
border-left: 1px solid var(--sg-color-border-secondary);
|
|
137
|
-
opacity: 0;
|
|
138
|
-
transition: opacity var(--sg-transition-fast);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.sg-gantt-bar:hover .sg-gantt-bar-resize {
|
|
142
|
-
opacity: 0.6;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.sg-gantt-bar-resize:hover,
|
|
146
|
-
.sg-gantt-bar-resize:focus-visible {
|
|
147
|
-
opacity: 1;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.sg-gantt-deps {
|
|
151
|
-
color: var(--sg-gantt-dep-color);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.sg-gantt-dep {
|
|
155
|
-
/* stroke + marker colour come from `currentColor` set on .sg-gantt-deps.
|
|
156
|
-
* `stroke-linecap: round` + a slightly thicker stroke give dependency
|
|
157
|
-
* lines a hand-drawn feel that distinguishes them from grid lines. */
|
|
158
|
-
stroke-linecap: round;
|
|
159
|
-
stroke-linejoin: round;
|
|
160
|
-
stroke-width: 1.25;
|
|
161
|
-
transition: stroke var(--sg-transition-fast);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.sg-gantt-dep:hover {
|
|
165
|
-
stroke: var(--sg-color-primary);
|
|
166
|
-
}
|
|
1
|
+
/* Gantt — task bars over a discrete time axis. */
|
|
2
|
+
|
|
3
|
+
.sg-gantt {
|
|
4
|
+
background: var(--sg-color-bg);
|
|
5
|
+
border: 1px solid var(--sg-color-border);
|
|
6
|
+
border-radius: var(--sg-border-radius);
|
|
7
|
+
font-size: var(--sg-font-size);
|
|
8
|
+
color: var(--sg-color-text);
|
|
9
|
+
font-family: inherit;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.sg-gantt-sidebar {
|
|
13
|
+
background: var(--sg-color-bg-container);
|
|
14
|
+
border-right: 1px solid var(--sg-color-border);
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.sg-gantt-sidebar-header {
|
|
19
|
+
border-bottom: 1px solid var(--sg-color-border);
|
|
20
|
+
background: var(--sg-color-bg-elevated);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.sg-gantt-sidebar-row {
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
padding: 0 var(--sg-padding-md);
|
|
27
|
+
border-bottom: 1px solid var(--sg-color-border-secondary);
|
|
28
|
+
color: var(--sg-color-text);
|
|
29
|
+
font-size: var(--sg-font-size-sm);
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
text-overflow: ellipsis;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.sg-gantt-main {
|
|
36
|
+
background: var(--sg-color-bg);
|
|
37
|
+
position: relative;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.sg-gantt-header {
|
|
41
|
+
background: var(--sg-color-bg-elevated);
|
|
42
|
+
border-bottom: 1px solid var(--sg-color-border);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.sg-gantt-tick {
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
justify-content: flex-start;
|
|
49
|
+
padding: 0 var(--sg-padding-xs);
|
|
50
|
+
font-size: var(--sg-font-size-sm);
|
|
51
|
+
color: var(--sg-color-text-secondary);
|
|
52
|
+
border-right: 1px solid var(--sg-color-border-secondary);
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
/* Clip the label when the tick is narrower than the rendered text
|
|
55
|
+
* (e.g. day scale with columnWidth=24) — without this, adjacent
|
|
56
|
+
* labels visually pile up on each other. */
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
white-space: nowrap;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.sg-gantt-grid {
|
|
62
|
+
/* Background grid of vertical column dividers — repeated linear-gradient
|
|
63
|
+
* over `--sg-gantt-column-width` (set via inline style by the component). */
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.sg-gantt-row {
|
|
67
|
+
border-bottom: 1px solid var(--sg-color-border-secondary);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.sg-gantt-row:nth-child(even) {
|
|
71
|
+
background: var(--sg-color-bg-secondary);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.sg-gantt-bar {
|
|
75
|
+
background: var(--sg-color-primary);
|
|
76
|
+
color: var(--sg-color-white);
|
|
77
|
+
border-radius: var(--sg-border-radius-sm);
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
padding: 0 var(--sg-padding-xs);
|
|
81
|
+
font-size: var(--sg-font-size-sm);
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
/* The shadow token includes both an outer drop and an inner highlight,
|
|
85
|
+
* giving each bar a tiny 3D feel without any borders. Keeps a dense
|
|
86
|
+
* gantt looking organised even when bars overlap rows. */
|
|
87
|
+
box-shadow: var(--sg-gantt-bar-shadow);
|
|
88
|
+
box-sizing: border-box;
|
|
89
|
+
transition:
|
|
90
|
+
box-shadow var(--sg-transition-medium),
|
|
91
|
+
transform var(--sg-transition-medium),
|
|
92
|
+
filter var(--sg-transition-fast);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.sg-gantt-bar:hover {
|
|
96
|
+
box-shadow: var(--sg-gantt-bar-shadow-hover);
|
|
97
|
+
/* `filter: brightness(1.05)` lifts saturated bars without needing a
|
|
98
|
+
* dedicated "primary-hover" colour for every status. Negligible cost
|
|
99
|
+
* on modern compositors. */
|
|
100
|
+
filter: brightness(1.05);
|
|
101
|
+
transform: translateY(-1px);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.sg-gantt-bar-draggable {
|
|
105
|
+
cursor: grab;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.sg-gantt-bar-draggable:active {
|
|
109
|
+
cursor: grabbing;
|
|
110
|
+
transform: translateY(0);
|
|
111
|
+
filter: brightness(1.08);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.sg-gantt-bar-resizable {
|
|
115
|
+
/* hover state expands the resize handle visibility */
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.sg-gantt-bar-progress {
|
|
119
|
+
background: var(--sg-color-primary-active);
|
|
120
|
+
border-radius: inherit;
|
|
121
|
+
opacity: 0.55;
|
|
122
|
+
pointer-events: none;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.sg-gantt-bar-label {
|
|
126
|
+
text-overflow: ellipsis;
|
|
127
|
+
overflow: hidden;
|
|
128
|
+
/* Drop-shadow on the text increases legibility on saturated bar
|
|
129
|
+
* fills (esp. the bright primary blue). Cheap, single-line filter
|
|
130
|
+
* that doesn't disturb the bar background. */
|
|
131
|
+
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.sg-gantt-bar-resize {
|
|
135
|
+
background: transparent;
|
|
136
|
+
border-left: 1px solid var(--sg-color-border-secondary);
|
|
137
|
+
opacity: 0;
|
|
138
|
+
transition: opacity var(--sg-transition-fast);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.sg-gantt-bar:hover .sg-gantt-bar-resize {
|
|
142
|
+
opacity: 0.6;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.sg-gantt-bar-resize:hover,
|
|
146
|
+
.sg-gantt-bar-resize:focus-visible {
|
|
147
|
+
opacity: 1;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.sg-gantt-deps {
|
|
151
|
+
color: var(--sg-gantt-dep-color);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.sg-gantt-dep {
|
|
155
|
+
/* stroke + marker colour come from `currentColor` set on .sg-gantt-deps.
|
|
156
|
+
* `stroke-linecap: round` + a slightly thicker stroke give dependency
|
|
157
|
+
* lines a hand-drawn feel that distinguishes them from grid lines. */
|
|
158
|
+
stroke-linecap: round;
|
|
159
|
+
stroke-linejoin: round;
|
|
160
|
+
stroke-width: 1.25;
|
|
161
|
+
transition: stroke var(--sg-transition-fast);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.sg-gantt-dep:hover {
|
|
165
|
+
stroke: var(--sg-color-primary);
|
|
166
|
+
}
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
.sg-input-number {
|
|
2
|
-
display: inline-flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
border: 1px solid var(--sg-color-border);
|
|
5
|
-
border-radius: var(--sg-border-radius);
|
|
6
|
-
overflow: hidden;
|
|
7
|
-
--sg-spin-color: var(--sg-color-text-tertiary);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.sg-input-number-loading {
|
|
11
|
-
opacity: 0.65;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.sg-input-number .sg-spin {
|
|
15
|
-
margin-right: var(--sg-padding-xs);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.sg-input-number-btn {
|
|
19
|
-
display: flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
justify-content: center;
|
|
22
|
-
width: var(--sg-height-md);
|
|
23
|
-
height: var(--sg-height-md);
|
|
24
|
-
border: none;
|
|
25
|
-
background: var(--sg-color-bg-secondary);
|
|
26
|
-
color: var(--sg-color-text);
|
|
27
|
-
cursor: pointer;
|
|
28
|
-
font-size: var(--sg-font-size);
|
|
29
|
-
user-select: none;
|
|
30
|
-
transition: background var(--sg-transition-duration);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.sg-input-number-btn:hover:not(:disabled) {
|
|
34
|
-
background: var(--sg-color-bg-hover);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.sg-input-number-btn:disabled {
|
|
38
|
-
color: var(--sg-color-text-disabled);
|
|
39
|
-
cursor: not-allowed;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.sg-input-number-input {
|
|
43
|
-
/* `flex: 1 1 60px` keeps the natural 60px default width when the wrapper
|
|
44
|
-
is sized intrinsically (inline-flex) and lets the field fill the space
|
|
45
|
-
when consumers stretch the wrapper via `style={{ width: '100%' }}` etc.
|
|
46
|
-
`min-width: 0` lets the input shrink inside narrow containers. */
|
|
47
|
-
flex: 1 1 60px;
|
|
48
|
-
min-width: 0;
|
|
49
|
-
height: var(--sg-height-md);
|
|
50
|
-
border: none;
|
|
51
|
-
text-align: center;
|
|
52
|
-
font-size: var(--sg-font-size);
|
|
53
|
-
color: var(--sg-color-text);
|
|
54
|
-
background: var(--sg-color-bg-container);
|
|
55
|
-
outline: none;
|
|
56
|
-
font-family: inherit;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.sg-input-number-small .sg-input-number-btn {
|
|
60
|
-
width: var(--sg-height-sm);
|
|
61
|
-
height: var(--sg-height-sm);
|
|
62
|
-
}
|
|
63
|
-
.sg-input-number-small .sg-input-number-input {
|
|
64
|
-
height: var(--sg-height-sm);
|
|
65
|
-
flex-basis: 48px;
|
|
66
|
-
font-size: var(--sg-font-size-sm);
|
|
67
|
-
}
|
|
68
|
-
.sg-input-number-large .sg-input-number-btn {
|
|
69
|
-
width: var(--sg-height-lg);
|
|
70
|
-
height: var(--sg-height-lg);
|
|
71
|
-
}
|
|
72
|
-
.sg-input-number-large .sg-input-number-input {
|
|
73
|
-
height: var(--sg-height-lg);
|
|
74
|
-
flex-basis: 72px;
|
|
75
|
-
font-size: var(--sg-font-size-lg);
|
|
76
|
-
}
|
|
1
|
+
.sg-input-number {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
border: 1px solid var(--sg-color-border);
|
|
5
|
+
border-radius: var(--sg-border-radius);
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
--sg-spin-color: var(--sg-color-text-tertiary);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.sg-input-number-loading {
|
|
11
|
+
opacity: 0.65;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.sg-input-number .sg-spin {
|
|
15
|
+
margin-right: var(--sg-padding-xs);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.sg-input-number-btn {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
width: var(--sg-height-md);
|
|
23
|
+
height: var(--sg-height-md);
|
|
24
|
+
border: none;
|
|
25
|
+
background: var(--sg-color-bg-secondary);
|
|
26
|
+
color: var(--sg-color-text);
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
font-size: var(--sg-font-size);
|
|
29
|
+
user-select: none;
|
|
30
|
+
transition: background var(--sg-transition-duration);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.sg-input-number-btn:hover:not(:disabled) {
|
|
34
|
+
background: var(--sg-color-bg-hover);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.sg-input-number-btn:disabled {
|
|
38
|
+
color: var(--sg-color-text-disabled);
|
|
39
|
+
cursor: not-allowed;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.sg-input-number-input {
|
|
43
|
+
/* `flex: 1 1 60px` keeps the natural 60px default width when the wrapper
|
|
44
|
+
is sized intrinsically (inline-flex) and lets the field fill the space
|
|
45
|
+
when consumers stretch the wrapper via `style={{ width: '100%' }}` etc.
|
|
46
|
+
`min-width: 0` lets the input shrink inside narrow containers. */
|
|
47
|
+
flex: 1 1 60px;
|
|
48
|
+
min-width: 0;
|
|
49
|
+
height: var(--sg-height-md);
|
|
50
|
+
border: none;
|
|
51
|
+
text-align: center;
|
|
52
|
+
font-size: var(--sg-font-size);
|
|
53
|
+
color: var(--sg-color-text);
|
|
54
|
+
background: var(--sg-color-bg-container);
|
|
55
|
+
outline: none;
|
|
56
|
+
font-family: inherit;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.sg-input-number-small .sg-input-number-btn {
|
|
60
|
+
width: var(--sg-height-sm);
|
|
61
|
+
height: var(--sg-height-sm);
|
|
62
|
+
}
|
|
63
|
+
.sg-input-number-small .sg-input-number-input {
|
|
64
|
+
height: var(--sg-height-sm);
|
|
65
|
+
flex-basis: 48px;
|
|
66
|
+
font-size: var(--sg-font-size-sm);
|
|
67
|
+
}
|
|
68
|
+
.sg-input-number-large .sg-input-number-btn {
|
|
69
|
+
width: var(--sg-height-lg);
|
|
70
|
+
height: var(--sg-height-lg);
|
|
71
|
+
}
|
|
72
|
+
.sg-input-number-large .sg-input-number-input {
|
|
73
|
+
height: var(--sg-height-lg);
|
|
74
|
+
flex-basis: 72px;
|
|
75
|
+
font-size: var(--sg-font-size-lg);
|
|
76
|
+
}
|