@educarehq/solaris-ui 0.27.2 → 1.0.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.
- package/fesm2022/educarehq-solaris-ui-holidays-en-US-DcPJhM_F.mjs +99 -0
- package/fesm2022/educarehq-solaris-ui-holidays-en-US-DcPJhM_F.mjs.map +1 -0
- package/fesm2022/educarehq-solaris-ui-holidays-es-Ed4G0MdW.mjs +75 -0
- package/fesm2022/educarehq-solaris-ui-holidays-es-Ed4G0MdW.mjs.map +1 -0
- package/fesm2022/educarehq-solaris-ui-holidays-pt-BR-PbAFZhhU.mjs +129 -0
- package/fesm2022/educarehq-solaris-ui-holidays-pt-BR-PbAFZhhU.mjs.map +1 -0
- package/fesm2022/educarehq-solaris-ui.mjs +45991 -15021
- package/fesm2022/educarehq-solaris-ui.mjs.map +1 -1
- package/package.json +12 -6
- package/styles/_button.scss +494 -270
- package/styles/_core.scss +3 -0
- package/styles/_dropdown-menu.scss +3 -3
- package/styles/_form-field.scss +116 -0
- package/styles/_icon-button.scss +577 -210
- package/styles/_index.scss +3 -0
- package/styles/_input.scss +113 -63
- package/styles/_loading-zone.scss +7 -0
- package/styles/_motion.scss +14 -0
- package/styles/_popover.scss +5 -4
- package/styles/_textarea.scss +97 -47
- package/styles/_theme.scss +12 -0
- package/styles/token/color/_dark.scss +61 -51
- package/styles/token/color/_high-contrast.scss +157 -122
- package/styles/token/color/_light.scss +62 -52
- package/styles/token/density/_comfortable.scss +12 -12
- package/styles/token/density/_compact.scss +13 -13
- package/styles/token/density/_normal.scss +13 -13
- package/styles/token/focus/_focus.scss +4 -2
- package/styles/token/motion/_index.scss +2 -0
- package/styles/token/motion/_motion-keyframes.scss +188 -0
- package/styles/token/motion/_motion-mixins.scss +213 -0
- package/styles/token/motion/_motion.scss +4 -1
- package/styles/token/motion/_reduced-motion.scss +2 -0
- package/styles/token/radius/_radius.scss +1 -0
- package/styles/token/sizing/_control-height.scss +42 -0
- package/styles/token/sizing/_control-matrix.scss +37 -0
- package/styles/token/sizing/_index.scss +2 -0
- package/styles/token/spacing/_spacing.scss +19 -16
- package/styles/token/typography/_font-family.scss +1 -2
- package/styles/token/typography/_typography.scss +15 -11
- package/types/educarehq-solaris-ui.d.ts +5743 -322
package/styles/_index.scss
CHANGED
|
@@ -19,11 +19,14 @@
|
|
|
19
19
|
|
|
20
20
|
@forward './core';
|
|
21
21
|
@forward './theme';
|
|
22
|
+
@forward './motion';
|
|
22
23
|
@forward './button';
|
|
23
24
|
@forward './icon-button';
|
|
24
25
|
@forward './input';
|
|
25
26
|
@forward './textarea';
|
|
27
|
+
@forward './form-field';
|
|
26
28
|
@forward './popover';
|
|
27
29
|
@forward './tooltip';
|
|
28
30
|
@forward './toast';
|
|
31
|
+
@forward './loading-zone';
|
|
29
32
|
@forward './dropdown-menu';
|
package/styles/_input.scss
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
input[solaris-input] {
|
|
2
2
|
--solaris-input-radius: var(--solaris-radius-sm);
|
|
3
3
|
--solaris-input-height: var(--solaris-spacing-10);
|
|
4
|
-
--solaris-input-color: var(--solaris-text-
|
|
4
|
+
--solaris-input-color: var(--solaris-neutral-text-body);
|
|
5
5
|
--solaris-input-padding-x: var(--solaris-spacing-3);
|
|
6
6
|
--solaris-input-padding-y: var(--solaris-spacing-2);
|
|
7
7
|
--solaris-input-font-size: var(--solaris-font-size-md);
|
|
8
|
-
--solaris-input-background: var(--solaris-
|
|
8
|
+
--solaris-input-background: var(--solaris-neutral-default);
|
|
9
9
|
--solaris-input-line-height: var(--solaris-line-height-md);
|
|
10
|
-
--solaris-input-border-color: var(--solaris-border-default);
|
|
10
|
+
--solaris-input-border-color: var(--solaris-neutral-border-default);
|
|
11
11
|
--solaris-input-disabled-opacity: var(--solaris-opacity-50);
|
|
12
12
|
--solaris-input-border-width: var(--solaris-border-width-sm);
|
|
13
|
-
--solaris-input-placeholder-color: var(--solaris-text-
|
|
14
|
-
--solaris-input-focus-ring-color: var(--solaris-primary-
|
|
15
|
-
--solaris-input-
|
|
16
|
-
--solaris-input-
|
|
13
|
+
--solaris-input-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
14
|
+
--solaris-input-focus-ring-color: var(--solaris-primary-solid);
|
|
15
|
+
--solaris-input-focus-ring-width: var(--solaris-focus-ring-width);
|
|
16
|
+
--solaris-input-focus-ring-shadow: 0 0 0 var(--solaris-input-focus-ring-width)
|
|
17
|
+
var(--solaris-input-focus-ring-color);
|
|
18
|
+
--solaris-input-error-ring-shadow: 0 0 0 var(--solaris-input-focus-ring-width)
|
|
19
|
+
var(--solaris-input-invalid-border-color);
|
|
20
|
+
--solaris-input-invalid-border-color: var(--solaris-danger-solid);
|
|
21
|
+
--solaris-input-readonly-background: var(--solaris-neutral-sunken);
|
|
17
22
|
|
|
18
23
|
margin: 0;
|
|
19
24
|
width: 100%;
|
|
@@ -30,21 +35,24 @@ input[solaris-input] {
|
|
|
30
35
|
border: var(--solaris-input-border-width) solid
|
|
31
36
|
var(--solaris-input-border-color);
|
|
32
37
|
transition:
|
|
33
|
-
border-color var(--solaris-motion-duration-
|
|
38
|
+
border-color var(--solaris-motion-duration-normal)
|
|
34
39
|
var(--solaris-motion-easing-standard),
|
|
35
|
-
box-shadow var(--solaris-motion-duration-
|
|
40
|
+
box-shadow var(--solaris-motion-duration-normal)
|
|
36
41
|
var(--solaris-motion-easing-standard);
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
input[solaris-input]::placeholder {
|
|
40
|
-
opacity:
|
|
45
|
+
opacity: var(--solaris-opacity-70);
|
|
41
46
|
color: var(--solaris-input-placeholder-color);
|
|
42
47
|
}
|
|
43
48
|
|
|
44
49
|
input[solaris-input]:focus-visible {
|
|
45
|
-
// SOLARIS_TOKEN_EXCEPTION: Focus ring box-shadow uses CSS var with tokenized color. Hardcoded spread is required by design.
|
|
46
50
|
border-color: var(--solaris-input-focus-ring-color);
|
|
47
|
-
box-shadow:
|
|
51
|
+
box-shadow: var(--solaris-input-focus-ring-shadow);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
input[solaris-input]:hover:not(:disabled, [readonly]) {
|
|
55
|
+
border-color: var(--solaris-neutral-border-strong);
|
|
48
56
|
}
|
|
49
57
|
|
|
50
58
|
input[solaris-input][data-invalid] {
|
|
@@ -52,9 +60,8 @@ input[solaris-input][data-invalid] {
|
|
|
52
60
|
}
|
|
53
61
|
|
|
54
62
|
input[solaris-input][data-invalid]:focus-visible {
|
|
55
|
-
// SOLARIS_TOKEN_EXCEPTION: Invalid state focus ring box-shadow uses CSS var. Hardcoded spread required by design.
|
|
56
63
|
border-color: var(--solaris-input-invalid-border-color);
|
|
57
|
-
box-shadow:
|
|
64
|
+
box-shadow: var(--solaris-input-error-ring-shadow);
|
|
58
65
|
}
|
|
59
66
|
|
|
60
67
|
input[solaris-input]:disabled {
|
|
@@ -74,9 +81,15 @@ input[solaris-input]::-webkit-search-results-decoration {
|
|
|
74
81
|
-webkit-appearance: none;
|
|
75
82
|
}
|
|
76
83
|
|
|
77
|
-
input[solaris-input]
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
input[solaris-input][type='number'] {
|
|
85
|
+
-moz-appearance: textfield;
|
|
86
|
+
appearance: textfield;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
input[solaris-input][type='number']::-webkit-inner-spin-button,
|
|
90
|
+
input[solaris-input][type='number']::-webkit-outer-spin-button {
|
|
91
|
+
margin: 0;
|
|
92
|
+
-webkit-appearance: none;
|
|
80
93
|
}
|
|
81
94
|
|
|
82
95
|
input[solaris-input]:autofill,
|
|
@@ -88,86 +101,116 @@ input[solaris-input]:-webkit-autofill {
|
|
|
88
101
|
}
|
|
89
102
|
|
|
90
103
|
input[solaris-input][data-appearance='outline'] {
|
|
91
|
-
--solaris-input-color: var(--solaris-text-
|
|
92
|
-
--solaris-input-background: var(--solaris-
|
|
93
|
-
--solaris-input-border-color: var(--solaris-border-
|
|
104
|
+
--solaris-input-color: var(--solaris-neutral-text-body);
|
|
105
|
+
--solaris-input-background: var(--solaris-neutral-default);
|
|
106
|
+
--solaris-input-border-color: var(--solaris-neutral-border-subtle);
|
|
94
107
|
--solaris-input-disabled-opacity: var(--solaris-opacity-50);
|
|
95
108
|
--solaris-input-border-width: var(--solaris-border-width-sm);
|
|
96
|
-
--solaris-input-placeholder-color: var(--solaris-text-
|
|
97
|
-
--solaris-input-focus-ring-color: var(--solaris-primary-
|
|
98
|
-
--solaris-input-invalid-border-color: var(--solaris-danger-
|
|
99
|
-
--solaris-input-readonly-background: var(--solaris-
|
|
109
|
+
--solaris-input-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
110
|
+
--solaris-input-focus-ring-color: var(--solaris-primary-solid);
|
|
111
|
+
--solaris-input-invalid-border-color: var(--solaris-danger-solid);
|
|
112
|
+
--solaris-input-readonly-background: var(--solaris-neutral-sunken);
|
|
100
113
|
}
|
|
101
114
|
|
|
102
115
|
input[solaris-input][data-appearance='surface'] {
|
|
103
|
-
--solaris-input-color: var(--solaris-text-
|
|
104
|
-
--solaris-input-background: var(--solaris-
|
|
105
|
-
--solaris-input-border-color: var(--solaris-border-subtle);
|
|
116
|
+
--solaris-input-color: var(--solaris-neutral-text-body);
|
|
117
|
+
--solaris-input-background: var(--solaris-neutral-subtle);
|
|
118
|
+
--solaris-input-border-color: var(--solaris-neutral-border-subtle);
|
|
106
119
|
--solaris-input-disabled-opacity: var(--solaris-opacity-50);
|
|
107
|
-
--solaris-input-border-width:
|
|
108
|
-
--solaris-input-placeholder-color: var(--solaris-text-
|
|
109
|
-
--solaris-input-focus-ring-color: var(--solaris-primary-
|
|
110
|
-
--solaris-input-invalid-border-color: var(--solaris-danger-
|
|
111
|
-
--solaris-input-readonly-background: var(--solaris-
|
|
120
|
+
--solaris-input-border-width: 0;
|
|
121
|
+
--solaris-input-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
122
|
+
--solaris-input-focus-ring-color: var(--solaris-primary-solid);
|
|
123
|
+
--solaris-input-invalid-border-color: var(--solaris-danger-solid);
|
|
124
|
+
--solaris-input-readonly-background: var(--solaris-neutral-default);
|
|
112
125
|
}
|
|
113
126
|
|
|
114
127
|
input[solaris-input][data-appearance='filled'] {
|
|
115
|
-
--solaris-input-border-color:
|
|
116
|
-
--solaris-input-color: var(--solaris-text-
|
|
117
|
-
--solaris-input-background: var(--solaris-
|
|
128
|
+
--solaris-input-border-color: var(--solaris-neutral-border-subtle);
|
|
129
|
+
--solaris-input-color: var(--solaris-neutral-text-body);
|
|
130
|
+
--solaris-input-background: var(--solaris-neutral-subtle);
|
|
118
131
|
--solaris-input-disabled-opacity: var(--solaris-opacity-50);
|
|
119
|
-
--solaris-input-placeholder-color: var(--solaris-text-
|
|
120
|
-
--solaris-input-focus-ring-color: var(--solaris-primary-
|
|
121
|
-
--solaris-input-invalid-border-color: var(--solaris-danger-
|
|
122
|
-
--solaris-input-readonly-background: var(--solaris-
|
|
123
|
-
--solaris-input-border-width:
|
|
132
|
+
--solaris-input-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
133
|
+
--solaris-input-focus-ring-color: var(--solaris-primary-solid);
|
|
134
|
+
--solaris-input-invalid-border-color: var(--solaris-danger-solid);
|
|
135
|
+
--solaris-input-readonly-background: var(--solaris-neutral-sunken);
|
|
136
|
+
--solaris-input-border-width: var(--solaris-border-width-sm);
|
|
124
137
|
}
|
|
125
138
|
|
|
126
139
|
input[solaris-input][data-size='sm'] {
|
|
127
|
-
--solaris-input-height: var(--solaris-spacing-8);
|
|
128
140
|
--solaris-input-padding-x: var(--solaris-spacing-2);
|
|
129
141
|
--solaris-input-padding-y: var(--solaris-spacing-1);
|
|
130
|
-
--solaris-input-font-size: var(--solaris-font-size-
|
|
142
|
+
--solaris-input-font-size: var(--solaris-font-size-xs);
|
|
131
143
|
--solaris-input-line-height: var(--solaris-line-height-sm);
|
|
132
144
|
}
|
|
133
145
|
|
|
134
146
|
input[solaris-input][data-size='md'] {
|
|
135
|
-
--solaris-input-height: var(--solaris-spacing-10);
|
|
136
147
|
--solaris-input-padding-x: var(--solaris-spacing-3);
|
|
137
148
|
--solaris-input-padding-y: var(--solaris-spacing-2);
|
|
138
|
-
--solaris-input-font-size: var(--solaris-font-size-
|
|
149
|
+
--solaris-input-font-size: var(--solaris-font-size-sm);
|
|
139
150
|
--solaris-input-line-height: var(--solaris-line-height-md);
|
|
140
151
|
}
|
|
141
152
|
|
|
142
153
|
input[solaris-input][data-size='lg'] {
|
|
143
|
-
--solaris-input-height: var(--solaris-spacing-12);
|
|
144
154
|
--solaris-input-padding-x: var(--solaris-spacing-4);
|
|
145
155
|
--solaris-input-padding-y: var(--solaris-spacing-2);
|
|
146
|
-
--solaris-input-font-size: var(--solaris-font-size-
|
|
156
|
+
--solaris-input-font-size: var(--solaris-font-size-md);
|
|
147
157
|
--solaris-input-line-height: var(--solaris-line-height-lg);
|
|
148
158
|
}
|
|
149
159
|
|
|
150
160
|
input[solaris-input][data-density='compact'] {
|
|
151
|
-
--solaris-input-height: var(--solaris-density-min-height);
|
|
152
161
|
--solaris-input-line-height: var(--solaris-line-height-sm);
|
|
153
|
-
--solaris-input-font-size: var(--solaris-
|
|
162
|
+
--solaris-input-font-size: var(--solaris-font-size-xs);
|
|
154
163
|
--solaris-input-padding-y: var(--solaris-density-padding-xs);
|
|
155
164
|
}
|
|
156
165
|
|
|
157
166
|
input[solaris-input][data-density='normal'] {
|
|
158
|
-
--solaris-input-height: var(--solaris-density-min-height);
|
|
159
167
|
--solaris-input-line-height: var(--solaris-line-height-sm);
|
|
160
|
-
--solaris-input-font-size: var(--solaris-
|
|
168
|
+
--solaris-input-font-size: var(--solaris-font-size-sm);
|
|
161
169
|
--solaris-input-padding-y: var(--solaris-density-padding-xs);
|
|
162
170
|
}
|
|
163
171
|
|
|
164
172
|
input[solaris-input][data-density='comfortable'] {
|
|
165
|
-
--solaris-input-height: var(--solaris-density-min-height);
|
|
166
173
|
--solaris-input-line-height: var(--solaris-line-height-md);
|
|
167
|
-
--solaris-input-font-size: var(--solaris-
|
|
174
|
+
--solaris-input-font-size: var(--solaris-font-size-md);
|
|
168
175
|
--solaris-input-padding-y: var(--solaris-density-padding-sm);
|
|
169
176
|
}
|
|
170
177
|
|
|
178
|
+
input[solaris-input][data-size='sm'][data-density='compact'] {
|
|
179
|
+
--solaris-input-height: var(--solaris-control-height-compact-sm);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
input[solaris-input][data-size='md'][data-density='compact'] {
|
|
183
|
+
--solaris-input-height: var(--solaris-control-height-compact-md);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
input[solaris-input][data-size='lg'][data-density='compact'] {
|
|
187
|
+
--solaris-input-height: var(--solaris-control-height-compact-lg);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
input[solaris-input][data-size='sm'][data-density='normal'] {
|
|
191
|
+
--solaris-input-height: var(--solaris-control-height-normal-sm);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
input[solaris-input][data-size='md'][data-density='normal'] {
|
|
195
|
+
--solaris-input-height: var(--solaris-control-height-normal-md);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
input[solaris-input][data-size='lg'][data-density='normal'] {
|
|
199
|
+
--solaris-input-height: var(--solaris-control-height-normal-lg);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
input[solaris-input][data-size='sm'][data-density='comfortable'] {
|
|
203
|
+
--solaris-input-height: var(--solaris-control-height-comfortable-sm);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
input[solaris-input][data-size='md'][data-density='comfortable'] {
|
|
207
|
+
--solaris-input-height: var(--solaris-control-height-comfortable-md);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
input[solaris-input][data-size='lg'][data-density='comfortable'] {
|
|
211
|
+
--solaris-input-height: var(--solaris-control-height-comfortable-lg);
|
|
212
|
+
}
|
|
213
|
+
|
|
171
214
|
input[solaris-input][data-radius='none'] {
|
|
172
215
|
--solaris-input-radius: var(--solaris-radius-none);
|
|
173
216
|
}
|
|
@@ -184,6 +227,10 @@ input[solaris-input][data-radius='lg'] {
|
|
|
184
227
|
--solaris-input-radius: var(--solaris-radius-lg);
|
|
185
228
|
}
|
|
186
229
|
|
|
230
|
+
input[solaris-input][data-radius='xl'] {
|
|
231
|
+
--solaris-input-radius: var(--solaris-radius-full);
|
|
232
|
+
}
|
|
233
|
+
|
|
187
234
|
input[solaris-input][data-full-width] {
|
|
188
235
|
width: 100%;
|
|
189
236
|
}
|
|
@@ -211,9 +258,8 @@ solaris-form-field input[solaris-input] {
|
|
|
211
258
|
// SOLARIS_TOKEN_EXCEPTION: Resetting box-shadow inside form-field context is intentional to inherit from parent.
|
|
212
259
|
border: none;
|
|
213
260
|
height: auto;
|
|
214
|
-
padding
|
|
261
|
+
padding: 0;
|
|
215
262
|
border-radius: 0;
|
|
216
|
-
padding-right: 0;
|
|
217
263
|
box-shadow: none;
|
|
218
264
|
background: transparent;
|
|
219
265
|
}
|
|
@@ -242,19 +288,23 @@ solaris-form-field input[solaris-input][readonly] {
|
|
|
242
288
|
background: transparent;
|
|
243
289
|
}
|
|
244
290
|
|
|
245
|
-
solaris-form-field input[solaris-input]
|
|
246
|
-
padding-
|
|
247
|
-
|
|
291
|
+
solaris-form-field[data-loading] input[solaris-input] {
|
|
292
|
+
padding-inline-end: calc(
|
|
293
|
+
var(--solaris-form-field-affix-size) + var(--solaris-form-field-control-gap)
|
|
294
|
+
);
|
|
248
295
|
}
|
|
249
296
|
|
|
250
|
-
solaris-form-field input[solaris-input][
|
|
251
|
-
|
|
252
|
-
|
|
297
|
+
solaris-form-field input[solaris-input][type='number'] {
|
|
298
|
+
-moz-appearance: textfield;
|
|
299
|
+
appearance: textfield;
|
|
253
300
|
}
|
|
254
301
|
|
|
255
|
-
solaris-form-field
|
|
256
|
-
|
|
257
|
-
|
|
302
|
+
solaris-form-field
|
|
303
|
+
input[solaris-input][type='number']::-webkit-inner-spin-button,
|
|
304
|
+
solaris-form-field
|
|
305
|
+
input[solaris-input][type='number']::-webkit-outer-spin-button {
|
|
306
|
+
margin: 0;
|
|
307
|
+
-webkit-appearance: none;
|
|
258
308
|
}
|
|
259
309
|
|
|
260
310
|
solaris-form-field input[solaris-input]::-webkit-search-decoration,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// Solaris UI — Motion API (consumers).
|
|
2
|
+
///
|
|
3
|
+
/// Re-exports the shared motion mixins. Keyframes themselves are emitted
|
|
4
|
+
/// globally by `core()`, so consumers only need this module when authoring
|
|
5
|
+
/// custom CSS that should follow the Solaris motion language.
|
|
6
|
+
///
|
|
7
|
+
/// Usage:
|
|
8
|
+
/// @use '@solaris-ui/angular/styles/motion' as motion;
|
|
9
|
+
///
|
|
10
|
+
/// .my-panel {
|
|
11
|
+
/// @include motion.solaris-motion-overlay-enter;
|
|
12
|
+
/// }
|
|
13
|
+
|
|
14
|
+
@forward 'token/motion/motion-mixins';
|
package/styles/_popover.scss
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
--solaris-popover-radius: var(--solaris-radius-md);
|
|
11
11
|
--solaris-popover-shadow: var(--solaris-shadow-lg);
|
|
12
12
|
--solaris-popover-padding: var(--solaris-spacing-3);
|
|
13
|
-
--solaris-popover-color: var(--solaris-text-
|
|
14
|
-
--solaris-popover-background: var(--solaris-
|
|
13
|
+
--solaris-popover-color: var(--solaris-neutral-text-body);
|
|
14
|
+
--solaris-popover-background: var(--solaris-neutral-overlay);
|
|
15
15
|
|
|
16
16
|
outline: none;
|
|
17
17
|
display: block;
|
|
@@ -32,8 +32,9 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.solaris-popover-panel__container[data-appearance='outline'] {
|
|
35
|
-
background: var(--solaris-
|
|
36
|
-
border: var(--solaris-border-width-sm) solid
|
|
35
|
+
background: var(--solaris-neutral-overlay);
|
|
36
|
+
border: var(--solaris-border-width-sm) solid
|
|
37
|
+
var(--solaris-neutral-border-subtle);
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
.solaris-popover-panel__container[data-padding='none'] {
|
package/styles/_textarea.scss
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
textarea[solaris-textarea] {
|
|
2
2
|
--solaris-textarea-radius: var(--solaris-radius-sm);
|
|
3
|
-
--solaris-textarea-color: var(--solaris-text-
|
|
3
|
+
--solaris-textarea-color: var(--solaris-neutral-text-body);
|
|
4
4
|
--solaris-textarea-padding-x: var(--solaris-spacing-3);
|
|
5
5
|
--solaris-textarea-padding-y: var(--solaris-spacing-2);
|
|
6
6
|
--solaris-textarea-font-size: var(--solaris-font-size-md);
|
|
7
|
-
--solaris-textarea-background: var(--solaris-
|
|
7
|
+
--solaris-textarea-background: var(--solaris-neutral-default);
|
|
8
8
|
--solaris-textarea-line-height: var(--solaris-line-height-md);
|
|
9
|
-
--solaris-textarea-border-color: var(--solaris-border-default);
|
|
9
|
+
--solaris-textarea-border-color: var(--solaris-neutral-border-default);
|
|
10
10
|
--solaris-textarea-disabled-opacity: var(--solaris-opacity-50);
|
|
11
11
|
--solaris-textarea-border-width: var(--solaris-border-width-sm);
|
|
12
|
-
--solaris-textarea-placeholder-color: var(--solaris-text-
|
|
13
|
-
--solaris-textarea-focus-ring-color: var(--solaris-primary-
|
|
14
|
-
--solaris-textarea-
|
|
15
|
-
--solaris-textarea-
|
|
12
|
+
--solaris-textarea-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
13
|
+
--solaris-textarea-focus-ring-color: var(--solaris-primary-solid);
|
|
14
|
+
--solaris-textarea-focus-ring-width: var(--solaris-focus-ring-width);
|
|
15
|
+
--solaris-textarea-focus-ring-shadow: 0 0 0
|
|
16
|
+
var(--solaris-textarea-focus-ring-width)
|
|
17
|
+
var(--solaris-textarea-focus-ring-color);
|
|
18
|
+
--solaris-textarea-error-ring-shadow: 0 0 0
|
|
19
|
+
var(--solaris-textarea-focus-ring-width)
|
|
20
|
+
var(--solaris-textarea-invalid-border-color);
|
|
21
|
+
--solaris-textarea-invalid-border-color: var(--solaris-danger-solid);
|
|
22
|
+
--solaris-textarea-readonly-background: var(--solaris-neutral-sunken);
|
|
16
23
|
--solaris-textarea-min-height: calc(
|
|
17
24
|
var(--solaris-spacing-8) + var(--solaris-spacing-1)
|
|
18
25
|
);
|
|
@@ -32,21 +39,24 @@ textarea[solaris-textarea] {
|
|
|
32
39
|
border: var(--solaris-textarea-border-width) solid
|
|
33
40
|
var(--solaris-textarea-border-color);
|
|
34
41
|
transition:
|
|
35
|
-
border-color var(--solaris-motion-duration-
|
|
42
|
+
border-color var(--solaris-motion-duration-normal)
|
|
36
43
|
var(--solaris-motion-easing-standard),
|
|
37
|
-
box-shadow var(--solaris-motion-duration-
|
|
44
|
+
box-shadow var(--solaris-motion-duration-normal)
|
|
38
45
|
var(--solaris-motion-easing-standard);
|
|
39
46
|
}
|
|
40
47
|
|
|
41
48
|
textarea[solaris-textarea]::placeholder {
|
|
42
|
-
opacity:
|
|
49
|
+
opacity: var(--solaris-opacity-70);
|
|
43
50
|
color: var(--solaris-textarea-placeholder-color);
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
textarea[solaris-textarea]:focus-visible {
|
|
47
|
-
// SOLARIS_TOKEN_EXCEPTION: Focus ring box-shadow uses CSS var with tokenized color. Hardcoded spread required by design.
|
|
48
54
|
border-color: var(--solaris-textarea-focus-ring-color);
|
|
49
|
-
box-shadow:
|
|
55
|
+
box-shadow: var(--solaris-textarea-focus-ring-shadow);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
textarea[solaris-textarea]:hover:not(:disabled, [readonly]) {
|
|
59
|
+
border-color: var(--solaris-neutral-border-strong);
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
textarea[solaris-textarea][data-invalid] {
|
|
@@ -54,9 +64,8 @@ textarea[solaris-textarea][data-invalid] {
|
|
|
54
64
|
}
|
|
55
65
|
|
|
56
66
|
textarea[solaris-textarea][data-invalid]:focus-visible {
|
|
57
|
-
// SOLARIS_TOKEN_EXCEPTION: Invalid state focus ring box-shadow uses CSS var. Hardcoded spread required by design.
|
|
58
67
|
border-color: var(--solaris-textarea-invalid-border-color);
|
|
59
|
-
box-shadow:
|
|
68
|
+
box-shadow: var(--solaris-textarea-error-ring-shadow);
|
|
60
69
|
}
|
|
61
70
|
|
|
62
71
|
textarea[solaris-textarea]:disabled {
|
|
@@ -70,53 +79,53 @@ textarea[solaris-textarea][readonly] {
|
|
|
70
79
|
}
|
|
71
80
|
|
|
72
81
|
textarea[solaris-textarea][data-appearance='outline'] {
|
|
73
|
-
--solaris-textarea-color: var(--solaris-text-
|
|
74
|
-
--solaris-textarea-background: var(--solaris-
|
|
75
|
-
--solaris-textarea-border-color: var(--solaris-border-
|
|
82
|
+
--solaris-textarea-color: var(--solaris-neutral-text-body);
|
|
83
|
+
--solaris-textarea-background: var(--solaris-neutral-default);
|
|
84
|
+
--solaris-textarea-border-color: var(--solaris-neutral-border-subtle);
|
|
76
85
|
--solaris-textarea-disabled-opacity: var(--solaris-opacity-50);
|
|
77
86
|
--solaris-textarea-border-width: var(--solaris-border-width-sm);
|
|
78
|
-
--solaris-textarea-placeholder-color: var(--solaris-text-
|
|
79
|
-
--solaris-textarea-focus-ring-color: var(--solaris-primary-
|
|
80
|
-
--solaris-textarea-invalid-border-color: var(--solaris-danger-
|
|
81
|
-
--solaris-textarea-readonly-background: var(--solaris-
|
|
87
|
+
--solaris-textarea-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
88
|
+
--solaris-textarea-focus-ring-color: var(--solaris-primary-solid);
|
|
89
|
+
--solaris-textarea-invalid-border-color: var(--solaris-danger-solid);
|
|
90
|
+
--solaris-textarea-readonly-background: var(--solaris-neutral-sunken);
|
|
82
91
|
}
|
|
83
92
|
|
|
84
93
|
textarea[solaris-textarea][data-appearance='surface'] {
|
|
85
|
-
--solaris-textarea-color: var(--solaris-text-
|
|
86
|
-
--solaris-textarea-background: var(--solaris-
|
|
87
|
-
--solaris-textarea-border-color: var(--solaris-border-subtle);
|
|
94
|
+
--solaris-textarea-color: var(--solaris-neutral-text-body);
|
|
95
|
+
--solaris-textarea-background: var(--solaris-neutral-subtle);
|
|
96
|
+
--solaris-textarea-border-color: var(--solaris-neutral-border-subtle);
|
|
88
97
|
--solaris-textarea-disabled-opacity: var(--solaris-opacity-50);
|
|
89
|
-
--solaris-textarea-border-width:
|
|
90
|
-
--solaris-textarea-placeholder-color: var(--solaris-text-
|
|
91
|
-
--solaris-textarea-focus-ring-color: var(--solaris-primary-
|
|
92
|
-
--solaris-textarea-invalid-border-color: var(--solaris-danger-
|
|
93
|
-
--solaris-textarea-readonly-background: var(--solaris-
|
|
98
|
+
--solaris-textarea-border-width: 0;
|
|
99
|
+
--solaris-textarea-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
100
|
+
--solaris-textarea-focus-ring-color: var(--solaris-primary-solid);
|
|
101
|
+
--solaris-textarea-invalid-border-color: var(--solaris-danger-solid);
|
|
102
|
+
--solaris-textarea-readonly-background: var(--solaris-neutral-default);
|
|
94
103
|
}
|
|
95
104
|
|
|
96
105
|
textarea[solaris-textarea][data-appearance='filled'] {
|
|
97
|
-
--solaris-textarea-border-color:
|
|
98
|
-
--solaris-textarea-color: var(--solaris-text-
|
|
99
|
-
--solaris-textarea-background: var(--solaris-
|
|
106
|
+
--solaris-textarea-border-color: var(--solaris-neutral-border-subtle);
|
|
107
|
+
--solaris-textarea-color: var(--solaris-neutral-text-body);
|
|
108
|
+
--solaris-textarea-background: var(--solaris-neutral-subtle);
|
|
100
109
|
--solaris-textarea-disabled-opacity: var(--solaris-opacity-50);
|
|
101
|
-
--solaris-textarea-placeholder-color: var(--solaris-text-
|
|
102
|
-
--solaris-textarea-focus-ring-color: var(--solaris-primary-
|
|
103
|
-
--solaris-textarea-invalid-border-color: var(--solaris-danger-
|
|
104
|
-
--solaris-textarea-readonly-background: var(--solaris-
|
|
105
|
-
--solaris-textarea-border-width:
|
|
110
|
+
--solaris-textarea-placeholder-color: var(--solaris-neutral-text-secondary);
|
|
111
|
+
--solaris-textarea-focus-ring-color: var(--solaris-primary-solid);
|
|
112
|
+
--solaris-textarea-invalid-border-color: var(--solaris-danger-solid);
|
|
113
|
+
--solaris-textarea-readonly-background: var(--solaris-neutral-sunken);
|
|
114
|
+
--solaris-textarea-border-width: var(--solaris-border-width-sm);
|
|
106
115
|
}
|
|
107
116
|
|
|
108
117
|
textarea[solaris-textarea][data-size='sm'] {
|
|
109
118
|
--solaris-textarea-padding-x: var(--solaris-spacing-2);
|
|
110
119
|
--solaris-textarea-min-height: var(--solaris-spacing-8);
|
|
111
|
-
--solaris-textarea-padding-y: var(--solaris-spacing-
|
|
112
|
-
--solaris-textarea-font-size: var(--solaris-font-size-
|
|
120
|
+
--solaris-textarea-padding-y: var(--solaris-spacing-2);
|
|
121
|
+
--solaris-textarea-font-size: var(--solaris-font-size-xs);
|
|
113
122
|
--solaris-textarea-line-height: var(--solaris-line-height-sm);
|
|
114
123
|
}
|
|
115
124
|
|
|
116
125
|
textarea[solaris-textarea][data-size='md'] {
|
|
117
126
|
--solaris-textarea-padding-x: var(--solaris-spacing-3);
|
|
118
127
|
--solaris-textarea-padding-y: var(--solaris-spacing-1);
|
|
119
|
-
--solaris-textarea-font-size: var(--solaris-font-size-
|
|
128
|
+
--solaris-textarea-font-size: var(--solaris-font-size-sm);
|
|
120
129
|
--solaris-textarea-line-height: var(--solaris-line-height-md);
|
|
121
130
|
--solaris-textarea-min-height: calc(
|
|
122
131
|
var(--solaris-spacing-8) + var(--solaris-spacing-1)
|
|
@@ -127,28 +136,64 @@ textarea[solaris-textarea][data-size='lg'] {
|
|
|
127
136
|
--solaris-textarea-padding-x: var(--solaris-spacing-4);
|
|
128
137
|
--solaris-textarea-padding-y: var(--solaris-spacing-1);
|
|
129
138
|
--solaris-textarea-min-height: var(--solaris-spacing-10);
|
|
130
|
-
--solaris-textarea-font-size: var(--solaris-font-size-
|
|
139
|
+
--solaris-textarea-font-size: var(--solaris-font-size-md);
|
|
131
140
|
--solaris-textarea-line-height: var(--solaris-line-height-lg);
|
|
132
141
|
}
|
|
133
142
|
|
|
134
143
|
textarea[solaris-textarea][data-density='compact'] {
|
|
135
|
-
--solaris-textarea-font-size: var(--solaris-
|
|
144
|
+
--solaris-textarea-font-size: var(--solaris-font-size-xs);
|
|
136
145
|
--solaris-textarea-line-height: var(--solaris-line-height-sm);
|
|
137
|
-
--solaris-textarea-padding-y: var(--solaris-spacing-
|
|
146
|
+
--solaris-textarea-padding-y: var(--solaris-spacing-2);
|
|
138
147
|
}
|
|
139
148
|
|
|
140
149
|
textarea[solaris-textarea][data-density='normal'] {
|
|
141
|
-
--solaris-textarea-font-size: var(--solaris-
|
|
150
|
+
--solaris-textarea-font-size: var(--solaris-font-size-sm);
|
|
142
151
|
--solaris-textarea-line-height: var(--solaris-line-height-sm);
|
|
143
152
|
--solaris-textarea-padding-y: var(--solaris-spacing-1);
|
|
144
153
|
}
|
|
145
154
|
|
|
146
155
|
textarea[solaris-textarea][data-density='comfortable'] {
|
|
147
|
-
--solaris-textarea-font-size: var(--solaris-
|
|
156
|
+
--solaris-textarea-font-size: var(--solaris-font-size-md);
|
|
148
157
|
--solaris-textarea-padding-y: var(--solaris-spacing-1);
|
|
149
158
|
--solaris-textarea-line-height: var(--solaris-line-height-md);
|
|
150
159
|
}
|
|
151
160
|
|
|
161
|
+
textarea[solaris-textarea][data-size='sm'][data-density='compact'] {
|
|
162
|
+
--solaris-textarea-min-height: var(--solaris-control-height-compact-sm);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
textarea[solaris-textarea][data-size='md'][data-density='compact'] {
|
|
166
|
+
--solaris-textarea-min-height: var(--solaris-control-height-compact-md);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
textarea[solaris-textarea][data-size='lg'][data-density='compact'] {
|
|
170
|
+
--solaris-textarea-min-height: var(--solaris-control-height-compact-lg);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
textarea[solaris-textarea][data-size='sm'][data-density='normal'] {
|
|
174
|
+
--solaris-textarea-min-height: var(--solaris-control-height-normal-sm);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
textarea[solaris-textarea][data-size='md'][data-density='normal'] {
|
|
178
|
+
--solaris-textarea-min-height: var(--solaris-control-height-normal-md);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
textarea[solaris-textarea][data-size='lg'][data-density='normal'] {
|
|
182
|
+
--solaris-textarea-min-height: var(--solaris-control-height-normal-lg);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
textarea[solaris-textarea][data-size='sm'][data-density='comfortable'] {
|
|
186
|
+
--solaris-textarea-min-height: var(--solaris-control-height-comfortable-sm);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
textarea[solaris-textarea][data-size='md'][data-density='comfortable'] {
|
|
190
|
+
--solaris-textarea-min-height: var(--solaris-control-height-comfortable-md);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
textarea[solaris-textarea][data-size='lg'][data-density='comfortable'] {
|
|
194
|
+
--solaris-textarea-min-height: var(--solaris-control-height-comfortable-lg);
|
|
195
|
+
}
|
|
196
|
+
|
|
152
197
|
textarea[solaris-textarea][data-radius='none'] {
|
|
153
198
|
--solaris-textarea-radius: var(--solaris-radius-none);
|
|
154
199
|
}
|
|
@@ -165,6 +210,10 @@ textarea[solaris-textarea][data-radius='lg'] {
|
|
|
165
210
|
--solaris-textarea-radius: var(--solaris-radius-lg);
|
|
166
211
|
}
|
|
167
212
|
|
|
213
|
+
textarea[solaris-textarea][data-radius='xl'] {
|
|
214
|
+
--solaris-textarea-radius: var(--solaris-radius-full);
|
|
215
|
+
}
|
|
216
|
+
|
|
168
217
|
textarea[solaris-textarea][data-resize='none'] {
|
|
169
218
|
resize: none;
|
|
170
219
|
}
|
|
@@ -207,9 +256,10 @@ textarea[solaris-textarea][data-full-width] {
|
|
|
207
256
|
solaris-form-field textarea[solaris-textarea] {
|
|
208
257
|
// SOLARIS_TOKEN_EXCEPTION: Resetting box-shadow inside form-field context is intentional to inherit from parent.
|
|
209
258
|
border: none;
|
|
210
|
-
|
|
259
|
+
height: auto;
|
|
260
|
+
min-height: 0;
|
|
261
|
+
padding-inline: 0;
|
|
211
262
|
border-radius: 0;
|
|
212
|
-
padding-right: 0;
|
|
213
263
|
box-shadow: none;
|
|
214
264
|
background: transparent;
|
|
215
265
|
}
|
package/styles/_theme.scss
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
@use 'token/color';
|
|
15
15
|
@use 'token/density';
|
|
16
16
|
@use 'token/radius';
|
|
17
|
+
@use 'token/sizing';
|
|
17
18
|
@use 'token/spacing';
|
|
18
19
|
@use 'token/typography';
|
|
19
20
|
@use 'token/shadow';
|
|
@@ -49,6 +50,16 @@ $-default-config: (
|
|
|
49
50
|
color-scheme: dark;
|
|
50
51
|
@include color.solaris-dark-tokens;
|
|
51
52
|
}
|
|
53
|
+
} @else if $color-scheme == high-contrast {
|
|
54
|
+
:root:not([data-theme]) {
|
|
55
|
+
color-scheme: light;
|
|
56
|
+
@include color.solaris-high-contrast-tokens;
|
|
57
|
+
}
|
|
58
|
+
} @else if $color-scheme == high-contrast-dark {
|
|
59
|
+
:root:not([data-theme]) {
|
|
60
|
+
color-scheme: dark;
|
|
61
|
+
@include color.solaris-high-contrast-dark-tokens;
|
|
62
|
+
}
|
|
52
63
|
} @else {
|
|
53
64
|
:root {
|
|
54
65
|
color-scheme: light dark;
|
|
@@ -85,6 +96,7 @@ $-default-config: (
|
|
|
85
96
|
--solaris-motion-duration-normal: 0ms;
|
|
86
97
|
--solaris-motion-duration-slow: 0ms;
|
|
87
98
|
--solaris-motion-duration-slower: 0ms;
|
|
99
|
+
--solaris-motion-duration-slowest: 0ms;
|
|
88
100
|
}
|
|
89
101
|
}
|
|
90
102
|
}
|