@educarehq/solaris-ui 0.3.3 → 0.5.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.
Files changed (54) hide show
  1. package/fesm2022/educarehq-solaris-ui.mjs +1229 -911
  2. package/fesm2022/educarehq-solaris-ui.mjs.map +1 -1
  3. package/package.json +18 -1
  4. package/schematics/collection.json +16 -0
  5. package/schematics/init/fonts.js +18 -0
  6. package/schematics/init/index.js +77 -0
  7. package/schematics/init/messages.js +25 -0
  8. package/schematics/init/providers.js +89 -0
  9. package/schematics/init/schema.json +54 -0
  10. package/schematics/init/styles.js +75 -0
  11. package/schematics/init/workspace.js +45 -0
  12. package/schematics/ng-add/index.js +66 -0
  13. package/schematics/ng-add/schema.json +40 -0
  14. package/schematics/package.json +5 -0
  15. package/styles/_button.scss +118 -44
  16. package/styles/_core.scss +13 -37
  17. package/styles/_dropdown-menu.scss +13 -15
  18. package/styles/_icon-button.scss +34 -29
  19. package/styles/_index.scss +3 -2
  20. package/styles/_input.scss +50 -48
  21. package/styles/_textarea.scss +65 -59
  22. package/styles/_theme.scss +80 -46
  23. package/styles/_toast.scss +2 -2
  24. package/styles/_tooltip.scss +3 -1
  25. package/styles/token/border/_border.scss +6 -5
  26. package/styles/token/border/_index.scss +1 -1
  27. package/styles/token/color/_dark.scss +81 -78
  28. package/styles/token/color/_high-contrast.scss +143 -27
  29. package/styles/token/color/_index.scss +3 -3
  30. package/styles/token/color/_light.scss +72 -69
  31. package/styles/token/density/_comfortable.scss +15 -15
  32. package/styles/token/density/_compact.scss +15 -15
  33. package/styles/token/density/_index.scss +2 -2
  34. package/styles/token/focus/_focus.scss +16 -0
  35. package/styles/token/focus/_index.scss +1 -0
  36. package/styles/token/glass/_glass.scss +17 -0
  37. package/styles/token/glass/_index.scss +1 -0
  38. package/styles/token/motion/_index.scss +2 -2
  39. package/styles/token/motion/_motion.scss +16 -15
  40. package/styles/token/motion/_reduced-motion.scss +15 -15
  41. package/styles/token/opacity/_index.scss +1 -1
  42. package/styles/token/opacity/_opacity.scss +13 -4
  43. package/styles/token/radius/_index.scss +1 -1
  44. package/styles/token/radius/_radius.scss +8 -8
  45. package/styles/token/shadow/_index.scss +1 -1
  46. package/styles/token/shadow/_shadow.scss +40 -26
  47. package/styles/token/spacing/_index.scss +1 -1
  48. package/styles/token/spacing/_spacing.scss +18 -15
  49. package/styles/token/typography/_font-family.scss +13 -13
  50. package/styles/token/typography/_index.scss +2 -2
  51. package/styles/token/typography/_typography.scss +26 -25
  52. package/styles/token/z-index/_index.scss +1 -1
  53. package/styles/token/z-index/_z-index.scss +13 -10
  54. package/types/educarehq-solaris-ui.d.ts +282 -106
@@ -1,31 +1,34 @@
1
1
  [solaris-button] {
2
- --solaris-button-gap: initial;
3
- --solaris-button-color: initial;
4
- --solaris-button-radius: initial;
5
- --solaris-button-height: initial;
6
- --solaris-button-padding-x: initial;
7
- --solaris-button-padding-y: initial;
8
- --solaris-button-min-width: initial;
9
- --solaris-button-font-size: initial;
10
- --solaris-button-icon-size: initial;
11
- --solaris-button-background: initial;
12
- --solaris-button-font-weight: initial;
13
- --solaris-button-border-color: initial;
14
- --solaris-button-border-width: initial;
15
- --solaris-button-disabled-opacity: 0.5;
16
- --solaris-button-hover-background: initial;
17
- --solaris-button-focus-ring-color: initial;
18
- --solaris-button-active-background: initial;
19
- --solaris-button-hover-border-color: initial;
20
- --solaris-button-active-border-color: initial;
21
-
2
+ --solaris-button-border-width: 0;
22
3
  --solaris-button-custom-color: initial;
4
+ --solaris-button-border-color: transparent;
23
5
  --solaris-button-custom-background: initial;
24
6
  --solaris-button-custom-border-color: initial;
7
+ --solaris-button-gap: var(--solaris-spacing-2);
8
+ --solaris-button-hover-border-color: transparent;
9
+ --solaris-button-radius: var(--solaris-radius-sm);
10
+ --solaris-button-active-border-color: transparent;
25
11
  --solaris-button-custom-hover-background: initial;
12
+ --solaris-button-height: var(--solaris-spacing-10);
26
13
  --solaris-button-custom-active-background: initial;
14
+ --solaris-button-color: var(--solaris-primary-text);
27
15
  --solaris-button-custom-hover-border-color: initial;
16
+ --solaris-button-icon-size: var(--solaris-spacing-4);
17
+ --solaris-button-padding-x: var(--solaris-spacing-4);
18
+ --solaris-button-padding-y: var(--solaris-spacing-2);
28
19
  --solaris-button-custom-active-border-color: initial;
20
+ --solaris-button-custom-hover-color: initial;
21
+ --solaris-button-custom-active-color: initial;
22
+ --solaris-button-min-width: var(--solaris-spacing-20);
23
+ --solaris-button-font-size: var(--solaris-font-size-md);
24
+ --solaris-button-background: var(--solaris-primary-base);
25
+ --solaris-button-disabled-opacity: var(--solaris-opacity-50);
26
+ --solaris-button-hover-color: var(--solaris-primary-active);
27
+ --solaris-button-active-color: var(--solaris-primary-active);
28
+ --solaris-button-focus-ring-color: var(--solaris-primary-base);
29
+ --solaris-button-font-weight: var(--solaris-font-weight-medium);
30
+ --solaris-button-hover-background: var(--solaris-primary-hover);
31
+ --solaris-button-active-background: var(--solaris-primary-active);
29
32
 
30
33
  cursor: pointer;
31
34
  user-select: none;
@@ -48,25 +51,27 @@
48
51
  border: var(--solaris-button-border-width) solid
49
52
  var(--solaris-button-border-color);
50
53
  transition:
51
- background var(--solaris-motion-duration-normal, 250ms)
52
- var(--solaris-motion-easing-standard, ease),
53
- border-color var(--solaris-motion-duration-normal, 250ms)
54
- var(--solaris-motion-easing-standard, ease),
55
- color var(--solaris-motion-duration-normal, 250ms)
56
- var(--solaris-motion-easing-standard, ease),
57
- box-shadow var(--solaris-motion-duration-normal, 250ms)
58
- var(--solaris-motion-easing-standard, ease),
59
- transform var(--solaris-motion-duration-fast, 150ms)
60
- var(--solaris-motion-easing-standard, ease);
54
+ background var(--solaris-motion-duration-slow)
55
+ var(--solaris-motion-easing-standard),
56
+ border-color var(--solaris-motion-duration-slow)
57
+ var(--solaris-motion-easing-standard),
58
+ color var(--solaris-motion-duration-slow)
59
+ var(--solaris-motion-easing-standard),
60
+ box-shadow var(--solaris-motion-duration-slow)
61
+ var(--solaris-motion-easing-standard),
62
+ transform var(--solaris-motion-duration-slow)
63
+ var(--solaris-motion-easing-standard);
61
64
  }
62
65
 
63
66
  [solaris-button]:hover {
67
+ color: var(--solaris-button-hover-color);
64
68
  background: var(--solaris-button-hover-background);
65
69
  border-color: var(--solaris-button-hover-border-color);
66
70
  }
67
71
 
68
72
  [solaris-button]:active,
69
73
  [solaris-button][data-active] {
74
+ color: var(--solaris-button-active-color);
70
75
  background: var(--solaris-button-active-background);
71
76
  border-color: var(--solaris-button-active-border-color);
72
77
  }
@@ -98,19 +103,20 @@
98
103
  height: var(--solaris-button-icon-size);
99
104
  border: 2px solid var(--solaris-button-color);
100
105
  border-top-color: transparent;
101
- animation: solaris-button-spin 0.6s linear infinite;
106
+ animation: solaris-button-spin 0.6s var(--solaris-motion-easing-linear)
107
+ infinite;
102
108
  }
103
109
 
104
110
  @media (prefers-reduced-motion: reduce) {
105
111
  [solaris-button][data-loading]::before {
106
- opacity: 0.5;
107
112
  animation: none;
113
+ opacity: var(--solaris-opacity-50);
108
114
  }
109
115
  }
110
116
 
111
117
  [data-reduced-motion='true'] [solaris-button][data-loading]::before {
112
118
  animation: none;
113
- opacity: 0.5;
119
+ opacity: var(--solaris-opacity-50);
114
120
  }
115
121
 
116
122
  @keyframes solaris-button-spin {
@@ -163,23 +169,29 @@
163
169
 
164
170
  [solaris-button][data-color='neutral'][data-appearance='solid'] {
165
171
  --solaris-button-color: var(--solaris-text-inverse);
166
- --solaris-button-background: var(--solaris-text-default);
167
- --solaris-button-hover-background: var(--solaris-text-strong);
168
- --solaris-button-active-background: var(--solaris-text-strong);
172
+ --solaris-button-hover-color: var(--solaris-text-inverse);
173
+ --solaris-button-active-color: var(--solaris-text-inverse);
174
+ --solaris-button-background: var(--solaris-surface-reverse);
169
175
  --solaris-button-focus-ring-color: var(--solaris-text-default);
176
+ --solaris-button-hover-background: var(--solaris-surface-reverse-subtle);
177
+ --solaris-button-active-background: var(--solaris-surface-reverse-muted);
170
178
  }
171
179
 
172
180
  [solaris-button][data-color='neutral'][data-appearance='outline'] {
173
181
  --solaris-button-color: var(--solaris-text-default);
182
+ --solaris-button-hover-color: var(--solaris-text-inverse);
183
+ --solaris-button-active-color: var(--solaris-text-inverse);
174
184
  --solaris-button-border-color: var(--solaris-border-default);
175
185
  --solaris-button-focus-ring-color: var(--solaris-text-default);
176
- --solaris-button-hover-background: var(--solaris-surface-muted);
177
- --solaris-button-active-background: var(--solaris-surface-muted);
178
186
  --solaris-button-hover-border-color: var(--solaris-border-strong);
187
+ --solaris-button-hover-background: var(--solaris-surface-reverse);
188
+ --solaris-button-active-background: var(--solaris-surface-reverse-muted);
179
189
  }
180
190
 
181
191
  [solaris-button][data-color='neutral'][data-appearance='ghost'] {
182
192
  --solaris-button-color: var(--solaris-text-default);
193
+ --solaris-button-hover-color: var(--solaris-text-default);
194
+ --solaris-button-active-color: var(--solaris-text-default);
183
195
  --solaris-button-focus-ring-color: var(--solaris-text-default);
184
196
  --solaris-button-hover-background: var(--solaris-surface-muted);
185
197
  --solaris-button-active-background: var(--solaris-surface-muted);
@@ -188,6 +200,8 @@
188
200
  [solaris-button][data-color='neutral'][data-appearance='tonal'] {
189
201
  --solaris-button-color: var(--solaris-text-default);
190
202
  --solaris-button-background: var(--solaris-surface-muted);
203
+ --solaris-button-hover-color: var(--solaris-text-default);
204
+ --solaris-button-active-color: var(--solaris-text-default);
191
205
  --solaris-button-border-color: var(--solaris-border-default);
192
206
  --solaris-button-focus-ring-color: var(--solaris-text-default);
193
207
  --solaris-button-hover-background: var(--solaris-surface-subtle);
@@ -198,6 +212,8 @@
198
212
  [solaris-button][data-color='neutral'][data-appearance='surface'] {
199
213
  --solaris-button-color: var(--solaris-text-default);
200
214
  --solaris-button-background: var(--solaris-surface-muted);
215
+ --solaris-button-hover-color: var(--solaris-text-default);
216
+ --solaris-button-active-color: var(--solaris-text-default);
201
217
  --solaris-button-focus-ring-color: var(--solaris-text-default);
202
218
  --solaris-button-hover-background: var(--solaris-surface-subtle);
203
219
  --solaris-button-active-background: var(--solaris-surface-subtle);
@@ -205,6 +221,8 @@
205
221
 
206
222
  [solaris-button][data-color='primary'][data-appearance='solid'] {
207
223
  --solaris-button-color: var(--solaris-primary-text);
224
+ --solaris-button-hover-color: var(--solaris-primary-text);
225
+ --solaris-button-active-color: var(--solaris-primary-text);
208
226
  --solaris-button-background: var(--solaris-primary-base);
209
227
  --solaris-button-focus-ring-color: var(--solaris-primary-base);
210
228
  --solaris-button-hover-background: var(--solaris-primary-hover);
@@ -212,7 +230,9 @@
212
230
  }
213
231
 
214
232
  [solaris-button][data-color='primary'][data-appearance='outline'] {
215
- --solaris-button-color: var(--solaris-primary-text);
233
+ --solaris-button-color: var(--solaris-primary-base);
234
+ --solaris-button-hover-color: var(--solaris-primary-text);
235
+ --solaris-button-active-color: var(--solaris-primary-text);
216
236
  --solaris-button-border-color: var(--solaris-primary-border);
217
237
  --solaris-button-focus-ring-color: var(--solaris-primary-base);
218
238
  --solaris-button-hover-background: var(--solaris-primary-surface);
@@ -220,7 +240,9 @@
220
240
  }
221
241
 
222
242
  [solaris-button][data-color='primary'][data-appearance='ghost'] {
223
- --solaris-button-color: var(--solaris-primary-text);
243
+ --solaris-button-color: var(--solaris-primary-base);
244
+ --solaris-button-hover-color: var(--solaris-primary-text);
245
+ --solaris-button-active-color: var(--solaris-primary-text);
224
246
  --solaris-button-focus-ring-color: var(--solaris-primary-base);
225
247
  --solaris-button-hover-background: var(--solaris-primary-surface);
226
248
  --solaris-button-active-background: var(--solaris-primary-surface);
@@ -228,6 +250,8 @@
228
250
 
229
251
  [solaris-button][data-color='primary'][data-appearance='tonal'] {
230
252
  --solaris-button-color: var(--solaris-primary-text);
253
+ --solaris-button-hover-color: var(--solaris-primary-text);
254
+ --solaris-button-active-color: var(--solaris-primary-text);
231
255
  --solaris-button-background: var(--solaris-primary-surface);
232
256
  --solaris-button-border-color: var(--solaris-primary-border);
233
257
  --solaris-button-focus-ring-color: var(--solaris-primary-base);
@@ -238,6 +262,8 @@
238
262
 
239
263
  [solaris-button][data-color='primary'][data-appearance='surface'] {
240
264
  --solaris-button-color: var(--solaris-primary-text);
265
+ --solaris-button-hover-color: var(--solaris-primary-text);
266
+ --solaris-button-active-color: var(--solaris-primary-text);
241
267
  --solaris-button-background: var(--solaris-primary-surface);
242
268
  --solaris-button-focus-ring-color: var(--solaris-primary-base);
243
269
  --solaris-button-hover-background: var(--solaris-primary-hover);
@@ -245,8 +271,10 @@
245
271
  }
246
272
 
247
273
  [solaris-button][data-color='success'][data-appearance='solid'] {
248
- --solaris-button-background: var(--solaris-success-base);
249
274
  --solaris-button-color: var(--solaris-success-on-solid);
275
+ --solaris-button-background: var(--solaris-success-base);
276
+ --solaris-button-hover-color: var(--solaris-success-on-solid);
277
+ --solaris-button-active-color: var(--solaris-success-on-solid);
250
278
  --solaris-button-focus-ring-color: var(--solaris-success-base);
251
279
  --solaris-button-hover-background: var(--solaris-success-hover);
252
280
  --solaris-button-active-background: var(--solaris-success-active);
@@ -254,6 +282,8 @@
254
282
 
255
283
  [solaris-button][data-color='success'][data-appearance='outline'] {
256
284
  --solaris-button-color: var(--solaris-success-text);
285
+ --solaris-button-hover-color: var(--solaris-success-text);
286
+ --solaris-button-active-color: var(--solaris-success-text);
257
287
  --solaris-button-border-color: var(--solaris-success-border);
258
288
  --solaris-button-focus-ring-color: var(--solaris-success-base);
259
289
  --solaris-button-hover-background: var(--solaris-success-surface);
@@ -262,6 +292,8 @@
262
292
 
263
293
  [solaris-button][data-color='success'][data-appearance='ghost'] {
264
294
  --solaris-button-color: var(--solaris-success-text);
295
+ --solaris-button-hover-color: var(--solaris-success-text);
296
+ --solaris-button-active-color: var(--solaris-success-text);
265
297
  --solaris-button-focus-ring-color: var(--solaris-success-base);
266
298
  --solaris-button-hover-background: var(--solaris-success-surface);
267
299
  --solaris-button-active-background: var(--solaris-success-surface);
@@ -269,6 +301,8 @@
269
301
 
270
302
  [solaris-button][data-color='success'][data-appearance='tonal'] {
271
303
  --solaris-button-color: var(--solaris-success-text);
304
+ --solaris-button-hover-color: var(--solaris-success-text);
305
+ --solaris-button-active-color: var(--solaris-success-text);
272
306
  --solaris-button-background: var(--solaris-success-surface);
273
307
  --solaris-button-border-color: var(--solaris-success-border);
274
308
  --solaris-button-focus-ring-color: var(--solaris-success-base);
@@ -279,6 +313,8 @@
279
313
 
280
314
  [solaris-button][data-color='success'][data-appearance='surface'] {
281
315
  --solaris-button-color: var(--solaris-success-text);
316
+ --solaris-button-hover-color: var(--solaris-success-text);
317
+ --solaris-button-active-color: var(--solaris-success-text);
282
318
  --solaris-button-background: var(--solaris-success-surface);
283
319
  --solaris-button-focus-ring-color: var(--solaris-success-base);
284
320
  --solaris-button-hover-background: var(--solaris-success-hover);
@@ -286,16 +322,20 @@
286
322
  }
287
323
 
288
324
  [solaris-button][data-color='warning'][data-appearance='solid'] {
289
- --solaris-button-background: var(--solaris-warning-base);
290
325
  --solaris-button-color: var(--solaris-warning-on-solid);
326
+ --solaris-button-background: var(--solaris-warning-base);
327
+ --solaris-button-hover-color: var(--solaris-warning-on-solid);
328
+ --solaris-button-active-color: var(--solaris-success-on-solid);
329
+ --solaris-button-focus-ring-color: var(--solaris-warning-base);
291
330
  --solaris-button-hover-background: var(--solaris-warning-hover);
292
331
  --solaris-button-active-background: var(--solaris-warning-active);
293
- --solaris-button-focus-ring-color: var(--solaris-warning-base);
294
332
  }
295
333
 
296
334
  [solaris-button][data-color='warning'][data-appearance='outline'] {
297
335
  --solaris-button-color: var(--solaris-warning-text);
298
336
  --solaris-button-border-color: var(--solaris-warning-border);
337
+ --solaris-button-hover-color: var(--solaris-warning-text);
338
+ --solaris-button-active-color: var(--solaris-warning-text);
299
339
  --solaris-button-focus-ring-color: var(--solaris-warning-base);
300
340
  --solaris-button-hover-background: var(--solaris-warning-surface);
301
341
  --solaris-button-active-background: var(--solaris-warning-surface);
@@ -303,6 +343,8 @@
303
343
 
304
344
  [solaris-button][data-color='warning'][data-appearance='ghost'] {
305
345
  --solaris-button-color: var(--solaris-warning-text);
346
+ --solaris-button-hover-color: var(--solaris-warning-text);
347
+ --solaris-button-active-color: var(--solaris-warning-text);
306
348
  --solaris-button-focus-ring-color: var(--solaris-warning-base);
307
349
  --solaris-button-hover-background: var(--solaris-warning-surface);
308
350
  --solaris-button-active-background: var(--solaris-warning-surface);
@@ -310,6 +352,8 @@
310
352
 
311
353
  [solaris-button][data-color='warning'][data-appearance='tonal'] {
312
354
  --solaris-button-color: var(--solaris-warning-text);
355
+ --solaris-button-hover-color: var(--solaris-warning-text);
356
+ --solaris-button-active-color: var(--solaris-warning-text);
313
357
  --solaris-button-background: var(--solaris-warning-surface);
314
358
  --solaris-button-border-color: var(--solaris-warning-border);
315
359
  --solaris-button-focus-ring-color: var(--solaris-warning-base);
@@ -320,6 +364,8 @@
320
364
 
321
365
  [solaris-button][data-color='warning'][data-appearance='surface'] {
322
366
  --solaris-button-color: var(--solaris-warning-text);
367
+ --solaris-button-hover-color: var(--solaris-warning-text);
368
+ --solaris-button-active-color: var(--solaris-warning-text);
323
369
  --solaris-button-background: var(--solaris-warning-surface);
324
370
  --solaris-button-focus-ring-color: var(--solaris-warning-base);
325
371
  --solaris-button-hover-background: var(--solaris-warning-hover);
@@ -327,8 +373,10 @@
327
373
  }
328
374
 
329
375
  [solaris-button][data-color='danger'][data-appearance='solid'] {
330
- --solaris-button-background: var(--solaris-danger-base);
331
376
  --solaris-button-color: var(--solaris-danger-on-solid);
377
+ --solaris-button-background: var(--solaris-danger-base);
378
+ --solaris-button-hover-color: var(--solaris-danger-on-solid);
379
+ --solaris-button-active-color: var(--solaris-danger-on-solid);
332
380
  --solaris-button-focus-ring-color: var(--solaris-danger-base);
333
381
  --solaris-button-hover-background: var(--solaris-danger-hover);
334
382
  --solaris-button-active-background: var(--solaris-danger-active);
@@ -336,6 +384,8 @@
336
384
 
337
385
  [solaris-button][data-color='danger'][data-appearance='outline'] {
338
386
  --solaris-button-color: var(--solaris-danger-text);
387
+ --solaris-button-hover-color: var(--solaris-danger-text);
388
+ --solaris-button-active-color: var(--solaris-danger-text);
339
389
  --solaris-button-border-color: var(--solaris-danger-border);
340
390
  --solaris-button-focus-ring-color: var(--solaris-danger-base);
341
391
  --solaris-button-hover-background: var(--solaris-danger-surface);
@@ -344,6 +394,8 @@
344
394
 
345
395
  [solaris-button][data-color='danger'][data-appearance='ghost'] {
346
396
  --solaris-button-color: var(--solaris-danger-text);
397
+ --solaris-button-hover-color: var(--solaris-danger-text);
398
+ --solaris-button-active-color: var(--solaris-danger-text);
347
399
  --solaris-button-focus-ring-color: var(--solaris-danger-base);
348
400
  --solaris-button-hover-background: var(--solaris-danger-surface);
349
401
  --solaris-button-active-background: var(--solaris-danger-surface);
@@ -351,6 +403,8 @@
351
403
 
352
404
  [solaris-button][data-color='danger'][data-appearance='tonal'] {
353
405
  --solaris-button-color: var(--solaris-danger-text);
406
+ --solaris-button-hover-color: var(--solaris-danger-text);
407
+ --solaris-button-active-color: var(--solaris-danger-text);
354
408
  --solaris-button-background: var(--solaris-danger-surface);
355
409
  --solaris-button-border-color: var(--solaris-danger-border);
356
410
  --solaris-button-focus-ring-color: var(--solaris-danger-base);
@@ -361,6 +415,8 @@
361
415
 
362
416
  [solaris-button][data-color='danger'][data-appearance='surface'] {
363
417
  --solaris-button-color: var(--solaris-danger-text);
418
+ --solaris-button-hover-color: var(--solaris-danger-text);
419
+ --solaris-button-active-color: var(--solaris-danger-text);
364
420
  --solaris-button-background: var(--solaris-danger-surface);
365
421
  --solaris-button-focus-ring-color: var(--solaris-danger-base);
366
422
  --solaris-button-hover-background: var(--solaris-danger-hover);
@@ -370,6 +426,8 @@
370
426
  [solaris-button][data-color='info'][data-appearance='solid'] {
371
427
  --solaris-button-color: var(--solaris-info-text);
372
428
  --solaris-button-background: var(--solaris-info-base);
429
+ --solaris-button-hover-color: var(--solaris-info-text);
430
+ --solaris-button-active-color: var(--solaris-info-text);
373
431
  --solaris-button-focus-ring-color: var(--solaris-info-base);
374
432
  --solaris-button-hover-background: var(--solaris-info-hover);
375
433
  --solaris-button-active-background: var(--solaris-info-active);
@@ -377,6 +435,8 @@
377
435
 
378
436
  [solaris-button][data-color='info'][data-appearance='outline'] {
379
437
  --solaris-button-color: var(--solaris-info-text);
438
+ --solaris-button-hover-color: var(--solaris-info-text);
439
+ --solaris-button-active-color: var(--solaris-info-text);
380
440
  --solaris-button-border-color: var(--solaris-info-border);
381
441
  --solaris-button-focus-ring-color: var(--solaris-info-base);
382
442
  --solaris-button-hover-background: var(--solaris-info-surface);
@@ -385,6 +445,8 @@
385
445
 
386
446
  [solaris-button][data-color='info'][data-appearance='ghost'] {
387
447
  --solaris-button-color: var(--solaris-info-text);
448
+ --solaris-button-hover-color: var(--solaris-info-text);
449
+ --solaris-button-active-color: var(--solaris-info-text);
388
450
  --solaris-button-focus-ring-color: var(--solaris-info-base);
389
451
  --solaris-button-hover-background: var(--solaris-info-surface);
390
452
  --solaris-button-active-background: var(--solaris-info-surface);
@@ -392,6 +454,8 @@
392
454
 
393
455
  [solaris-button][data-color='info'][data-appearance='tonal'] {
394
456
  --solaris-button-color: var(--solaris-info-text);
457
+ --solaris-button-hover-color: var(--solaris-info-text);
458
+ --solaris-button-active-color: var(--solaris-info-text);
395
459
  --solaris-button-background: var(--solaris-info-surface);
396
460
  --solaris-button-border-color: var(--solaris-info-border);
397
461
  --solaris-button-focus-ring-color: var(--solaris-info-base);
@@ -402,6 +466,8 @@
402
466
 
403
467
  [solaris-button][data-color='info'][data-appearance='surface'] {
404
468
  --solaris-button-color: var(--solaris-info-text);
469
+ --solaris-button-hover-color: var(--solaris-info-text);
470
+ --solaris-button-active-color: var(--solaris-info-text);
405
471
  --solaris-button-background: var(--solaris-info-surface);
406
472
  --solaris-button-focus-ring-color: var(--solaris-info-base);
407
473
  --solaris-button-hover-background: var(--solaris-info-hover);
@@ -437,6 +503,14 @@
437
503
  --solaris-button-custom-border-color,
438
504
  var(--solaris-border-default)
439
505
  );
506
+ --solaris-button-hover-color: var(
507
+ --solaris-button-custom-hover-color,
508
+ var(--solaris-button-custom-color, var(--solaris-text-default))
509
+ );
510
+ --solaris-button-active-color: var(
511
+ --solaris-button-custom-active-color,
512
+ var(--solaris-button-custom-color, var(--solaris-text-default))
513
+ );
440
514
  }
441
515
 
442
516
  [solaris-button][data-size='sm'] {
package/styles/_core.scss CHANGED
@@ -1,37 +1,13 @@
1
- /// Solaris UI Core
2
- /// Provides root font-size strategy and base resets.
3
- ///
4
- /// The default `none` strategy respects the browser's default font-size (typically 16px)
5
- /// and produces no additional CSS. Consumers who prefer the `rem-10` strategy may opt in,
6
- /// but must ensure token SCSS files are imported at the correct scope.
7
- ///
8
- /// Usage:
9
- /// @use '@solaris-ui/angular/styles' as solaris;
10
- ///
11
- /// // Default: no root font-size override (browser default)
12
- /// @include solaris.core();
13
- ///
14
- /// // rem-10 strategy: 1rem = 10px at root, body reset to 16px
15
- /// @include solaris.core((root-font-size: rem-10));
16
-
17
- @use 'sass:map';
18
-
19
- $-default-config: (
20
- root-font-size: none,
21
- );
22
-
23
- @mixin core($config: ()) {
24
- $merged: map.merge($-default-config, $config);
25
-
26
- $root-font-size: map.get($merged, root-font-size);
27
-
28
- @if $root-font-size == rem-10 {
29
- :root {
30
- font-size: 62.5%;
31
- }
32
-
33
- body {
34
- font-size: 1.6rem;
35
- }
36
- }
37
- }
1
+ /// Solaris UI Core
2
+ /// Uses the browser's default font-size (100%, typically 16px).
3
+ /// All design tokens are calculated at 1rem = 16px.
4
+ /// Do NOT set a custom root font-size — it breaks accessibility (WCAG 1.4.4).
5
+ ///
6
+ /// Usage:
7
+ /// @use '@solaris-ui/angular/styles' as solaris;
8
+ /// @include solaris.core();
9
+
10
+ @mixin core() {
11
+ // Uses browser default font-size (100%).
12
+ // No root font-size override needed.
13
+ }
@@ -1,4 +1,8 @@
1
1
  .solaris-dropdown-menu-overlay {
2
+ .solaris-popover-panel__container {
3
+ padding: 0;
4
+ overflow: hidden;
5
+ }
2
6
  --solaris-dropdown-menu-min-width: calc(
3
7
  var(--solaris-spacing-24) + var(--solaris-spacing-10) +
4
8
  var(--solaris-spacing-1)
@@ -7,14 +11,13 @@
7
11
  var(--solaris-spacing-24) * 2 + var(--solaris-spacing-10) +
8
12
  var(--solaris-spacing-2)
9
13
  );
10
-
11
- .solaris-popover-panel__container {
12
- padding: 0;
13
- overflow: hidden;
14
- }
15
14
  }
16
15
 
17
16
  .solaris-dropdown-menu__wrapper {
17
+ solaris-divider {
18
+ width: calc(100% + 2 * var(--solaris-dropdown-menu-padding));
19
+ margin-inline: calc(-1 * var(--solaris-dropdown-menu-padding));
20
+ }
18
21
  --solaris-dropdown-menu-gap: var(--solaris-spacing-2);
19
22
  --solaris-dropdown-menu-padding: var(--solaris-spacing-2);
20
23
 
@@ -27,18 +30,9 @@
27
30
  padding: var(--solaris-dropdown-menu-padding);
28
31
  min-width: var(--solaris-dropdown-menu-min-width);
29
32
  max-width: var(--solaris-dropdown-menu-max-width);
30
-
31
- solaris-divider {
32
- margin-inline: calc(-1 * var(--solaris-dropdown-menu-padding));
33
- width: calc(100% + 2 * var(--solaris-dropdown-menu-padding));
34
- }
35
33
  }
36
34
 
37
35
  solaris-dropdown-menu-group {
38
- display: flex;
39
- flex-direction: column;
40
- padding-block: var(--solaris-spacing-1);
41
-
42
36
  &:first-child {
43
37
  padding-block-start: 0;
44
38
  }
@@ -46,6 +40,10 @@ solaris-dropdown-menu-group {
46
40
  &:last-child {
47
41
  padding-block-end: 0;
48
42
  }
43
+
44
+ display: flex;
45
+ flex-direction: column;
46
+ padding-block: var(--solaris-spacing-1);
49
47
  }
50
48
 
51
49
  solaris-dropdown-menu-label {
@@ -56,9 +54,9 @@ solaris-dropdown-menu-label {
56
54
  letter-spacing: 0.05em;
57
55
  text-transform: uppercase;
58
56
  color: var(--solaris-text-muted);
59
- font-weight: var(--solaris-font-weight-semibold);
60
57
  font-size: var(--solaris-font-size-xs);
61
58
  line-height: var(--solaris-line-height-xs);
59
+ font-weight: var(--solaris-font-weight-semibold);
62
60
  padding: var(--solaris-spacing-2) var(--solaris-spacing-3);
63
61
  }
64
62