@allxsmith/bestax-bulma 5.34.3 → 5.35.1
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/dist/bestax.css +1 -1
- package/dist/bestax.css.map +1 -1
- package/dist/esm/components/Loading.js +19 -6
- package/dist/esm/components/Loading.js.map +1 -1
- package/dist/esm/components/Menu.js +5 -1
- package/dist/esm/components/Menu.js.map +1 -1
- package/dist/esm/components/Modal.js +22 -31
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/Sidebar.js +19 -6
- package/dist/esm/components/Sidebar.js.map +1 -1
- package/dist/esm/components/Steps.js +14 -13
- package/dist/esm/components/Steps.js.map +1 -1
- package/dist/esm/components/Toast.js +18 -7
- package/dist/esm/components/Toast.js.map +1 -1
- package/dist/esm/components/Tooltip.js +3 -3
- package/dist/esm/components/Tooltip.js.map +1 -1
- package/dist/esm/elements/Icon.js +2 -3
- package/dist/esm/elements/Icon.js.map +1 -1
- package/dist/esm/elements/Loader.js +2 -1
- package/dist/esm/elements/Loader.js.map +1 -1
- package/dist/esm/form/Checkbox.js +37 -4
- package/dist/esm/form/Checkbox.js.map +1 -1
- package/dist/esm/form/Slider.js +5 -4
- package/dist/esm/form/Slider.js.map +1 -1
- package/dist/esm/form/Taginput.js +21 -9
- package/dist/esm/form/Taginput.js.map +1 -1
- package/dist/esm/form/_pickerInternals/PickerPopover.js +9 -1
- package/dist/esm/form/_pickerInternals/PickerPopover.js.map +1 -1
- package/dist/esm/form/_pickerInternals/useSegmentedEntry.js +5 -4
- package/dist/esm/form/_pickerInternals/useSegmentedEntry.js.map +1 -1
- package/dist/esm/helpers/overlayStack.js +49 -0
- package/dist/esm/helpers/overlayStack.js.map +1 -0
- package/dist/esm/helpers/useLatestRef.js +33 -0
- package/dist/esm/helpers/useLatestRef.js.map +1 -0
- package/dist/extras.css +1 -1
- package/dist/extras.css.map +1 -1
- package/dist/index.cjs +242 -95
- package/dist/index.cjs.map +1 -1
- package/dist/types/components/Loading.d.ts +13 -3
- package/dist/types/components/Menu.d.ts +14 -1
- package/dist/types/components/Modal.d.ts +7 -4
- package/dist/types/components/Sidebar.d.ts +8 -3
- package/dist/types/components/Steps.d.ts +27 -5
- package/dist/types/components/Toast.d.ts +5 -2
- package/dist/types/elements/Icon.d.ts +6 -1
- package/dist/types/elements/Loader.d.ts +2 -1
- package/dist/types/form/Checkbox.d.ts +11 -0
- package/dist/types/form/Taginput.d.ts +5 -1
- package/dist/types/helpers/overlayStack.d.ts +15 -0
- package/dist/types/helpers/useLatestRef.d.ts +21 -0
- package/dist/types-cjs/components/Loading.d.ts +13 -3
- package/dist/types-cjs/components/Menu.d.ts +14 -1
- package/dist/types-cjs/components/Modal.d.ts +7 -4
- package/dist/types-cjs/components/Sidebar.d.ts +8 -3
- package/dist/types-cjs/components/Steps.d.ts +27 -5
- package/dist/types-cjs/components/Toast.d.ts +5 -2
- package/dist/types-cjs/elements/Icon.d.ts +6 -1
- package/dist/types-cjs/elements/Loader.d.ts +2 -1
- package/dist/types-cjs/form/Checkbox.d.ts +11 -0
- package/dist/types-cjs/form/Taginput.d.ts +5 -1
- package/dist/types-cjs/helpers/overlayStack.d.ts +15 -0
- package/dist/types-cjs/helpers/useLatestRef.d.ts +21 -0
- package/dist/versions/bestax-no-dark-mode.css +1 -1
- package/dist/versions/bestax-no-dark-mode.css.map +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
- package/dist/versions/bestax-no-helpers.css +1 -1
- package/dist/versions/bestax-no-helpers.css.map +1 -1
- package/dist/versions/bestax-prefixed.css +1 -1
- package/dist/versions/bestax-prefixed.css.map +1 -1
- package/package.json +1 -1
- package/src/scss/components/_steps.scss +96 -38
- package/src/scss/elements/_loader.scss +20 -0
- package/src/scss/form/_checkbox.scss +28 -1
|
@@ -62,19 +62,21 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
.#{iv.$class-prefix}steps-list:not(.#{iv.$class-prefix}is-vertical) .#{iv.$class-prefix}steps-segment {
|
|
65
|
-
|
|
65
|
+
> .#{iv.$class-prefix}steps-link {
|
|
66
|
+
padding-top: calc(#{$marker-size} / 2);
|
|
67
|
+
}
|
|
66
68
|
|
|
67
69
|
&:not(:last-child)::before {
|
|
68
70
|
top: calc(#{$marker-size} - cv.getVar("steps-divider-height") / 2);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
inset-inline-start: calc(50% + #{$marker-size} / 2);
|
|
72
|
+
inset-inline-end: calc(-50% + #{$marker-size} / 2);
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
&.#{iv.$class-prefix}is-vertical .#{iv.$class-prefix}steps-segment {
|
|
75
77
|
&:not(:last-child)::after {
|
|
76
78
|
top: $marker-size;
|
|
77
|
-
|
|
79
|
+
inset-inline-start: calc(#{$marker-size} / 2 - cv.getVar("steps-divider-height") / 2);
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
}
|
|
@@ -97,15 +99,23 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
97
99
|
.#{iv.$class-prefix}steps-segment {
|
|
98
100
|
flex: 1;
|
|
99
101
|
position: relative;
|
|
100
|
-
padding-top: calc(cv.getVar("steps-marker-size") / 2);
|
|
101
102
|
|
|
102
|
-
//
|
|
103
|
+
// The space above the marker is the link's padding, not the
|
|
104
|
+
// segment's, so a clickable step's button covers the whole segment
|
|
105
|
+
// and every part of it takes the click and the pointer.
|
|
106
|
+
> .#{iv.$class-prefix}steps-link {
|
|
107
|
+
padding-top: calc(cv.getVar("steps-marker-size") / 2);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Horizontal divider line, centered through the marker. It runs from
|
|
111
|
+
// this marker's edge to the next one's, which is on the left in a
|
|
112
|
+
// right-to-left page, so it is placed by the inline start and end.
|
|
103
113
|
&:not(:last-child)::before {
|
|
104
114
|
content: '';
|
|
105
115
|
position: absolute;
|
|
106
116
|
top: calc(cv.getVar("steps-marker-size") - cv.getVar("steps-divider-height") / 2);
|
|
107
|
-
|
|
108
|
-
|
|
117
|
+
inset-inline-start: calc(50% + cv.getVar("steps-marker-size") / 2);
|
|
118
|
+
inset-inline-end: calc(-50% + cv.getVar("steps-marker-size") / 2);
|
|
109
119
|
height: cv.getVar("steps-divider-height");
|
|
110
120
|
background-color: cv.getVar("steps-default-color");
|
|
111
121
|
@include extras-transition(background-color);
|
|
@@ -123,17 +133,17 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
123
133
|
.#{iv.$class-prefix}steps-segment {
|
|
124
134
|
text-align: center;
|
|
125
135
|
cursor: default;
|
|
136
|
+
}
|
|
126
137
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
138
|
+
// A clickable step's link is a <button> around the marker and the label. It
|
|
139
|
+
// drops the browser's button look and fills its step the way the <div> does,
|
|
140
|
+
// and the focus ring goes around it.
|
|
141
|
+
button.#{iv.$class-prefix}steps-link {
|
|
142
|
+
@include extras-button-reset;
|
|
143
|
+
width: 100%;
|
|
133
144
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
145
|
+
&:focus-visible {
|
|
146
|
+
@include extras-focus-outline;
|
|
137
147
|
}
|
|
138
148
|
}
|
|
139
149
|
|
|
@@ -182,8 +192,10 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
182
192
|
text-align: center;
|
|
183
193
|
}
|
|
184
194
|
|
|
185
|
-
// Step title
|
|
195
|
+
// Step title. A block, so a clickable step's <span> title sets its line
|
|
196
|
+
// height from its own font size, the way a plain step's <p> does.
|
|
186
197
|
.#{iv.$class-prefix}steps-title {
|
|
198
|
+
display: block;
|
|
187
199
|
font-size: cv.getVar("steps-title-size");
|
|
188
200
|
font-weight: cv.getVar("steps-title-weight");
|
|
189
201
|
color: cv.getVar("steps-title-color");
|
|
@@ -284,7 +296,9 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
284
296
|
}
|
|
285
297
|
|
|
286
298
|
.#{iv.$class-prefix}steps-segment {
|
|
287
|
-
|
|
299
|
+
> .#{iv.$class-prefix}steps-link {
|
|
300
|
+
padding-top: 0;
|
|
301
|
+
}
|
|
288
302
|
|
|
289
303
|
&:not(:last-child)::before {
|
|
290
304
|
top: 50%;
|
|
@@ -298,8 +312,7 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
298
312
|
flex-direction: column;
|
|
299
313
|
|
|
300
314
|
.#{iv.$class-prefix}steps-segment {
|
|
301
|
-
text-align:
|
|
302
|
-
padding: 0 0 cv.getVar("steps-vertical-padding") 0;
|
|
315
|
+
text-align: start;
|
|
303
316
|
position: relative;
|
|
304
317
|
|
|
305
318
|
// Vertical divider line
|
|
@@ -307,7 +320,7 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
307
320
|
content: '';
|
|
308
321
|
position: absolute;
|
|
309
322
|
top: cv.getVar("steps-marker-size");
|
|
310
|
-
|
|
323
|
+
inset-inline-start: calc(cv.getVar("steps-marker-size") / 2 - cv.getVar("steps-divider-height") / 2);
|
|
311
324
|
width: cv.getVar("steps-divider-height");
|
|
312
325
|
bottom: 0;
|
|
313
326
|
background-color: cv.getVar("steps-default-color");
|
|
@@ -319,10 +332,13 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
319
332
|
}
|
|
320
333
|
}
|
|
321
334
|
|
|
335
|
+
// The space below each step is the link's padding, for the same reason as
|
|
336
|
+
// the horizontal layout's space above the marker.
|
|
322
337
|
.#{iv.$class-prefix}steps-link {
|
|
323
338
|
flex-direction: row;
|
|
324
339
|
justify-content: flex-start;
|
|
325
340
|
align-items: flex-start;
|
|
341
|
+
padding: 0 0 cv.getVar("steps-vertical-padding") 0;
|
|
326
342
|
}
|
|
327
343
|
|
|
328
344
|
.#{iv.$class-prefix}steps-marker {
|
|
@@ -330,10 +346,13 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
330
346
|
flex-shrink: 0;
|
|
331
347
|
}
|
|
332
348
|
|
|
349
|
+
// The gap sits on the label's start side, between it and the marker, so it
|
|
350
|
+
// moves to the right in a right-to-left page. The variable keeps its
|
|
351
|
+
// `-left` name, so a theme that sets it still applies.
|
|
333
352
|
.#{iv.$class-prefix}steps-content {
|
|
334
353
|
margin-top: 0;
|
|
335
|
-
margin-
|
|
336
|
-
text-align:
|
|
354
|
+
margin-inline-start: cv.getVar("steps-vertical-content-margin-left");
|
|
355
|
+
text-align: start;
|
|
337
356
|
padding-top: 0.25rem;
|
|
338
357
|
}
|
|
339
358
|
}
|
|
@@ -341,16 +360,18 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
341
360
|
// Label on right / left (horizontal only)
|
|
342
361
|
// The marker stays centered at 50%. The label is absolutely positioned right
|
|
343
362
|
// next to the marker with a background-color + z-index to cover the connector line.
|
|
363
|
+
// "right" is the end of the line and "left" its start, so both follow the
|
|
364
|
+
// page's direction, the way the vertical layout's flex row does.
|
|
344
365
|
.#{iv.$class-prefix}steps.#{iv.$class-prefix}has-label-right:not(.#{iv.$class-prefix}is-vertical),
|
|
345
366
|
.#{iv.$class-prefix}steps.#{iv.$class-prefix}has-label-left:not(.#{iv.$class-prefix}is-vertical) {
|
|
346
367
|
.#{iv.$class-prefix}steps-link {
|
|
347
368
|
position: relative;
|
|
348
369
|
}
|
|
349
370
|
|
|
371
|
+
// Left at its static position in the block direction, which centers it on
|
|
372
|
+
// the link's content box, the marker, whatever padding the link has above.
|
|
350
373
|
.#{iv.$class-prefix}steps-content {
|
|
351
374
|
position: absolute;
|
|
352
|
-
top: 50%;
|
|
353
|
-
transform: translateY(-50%);
|
|
354
375
|
margin-top: 0;
|
|
355
376
|
background-color: cv.getVar("scheme-main");
|
|
356
377
|
z-index: 1;
|
|
@@ -361,19 +382,19 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
361
382
|
|
|
362
383
|
.#{iv.$class-prefix}steps.#{iv.$class-prefix}has-label-right:not(.#{iv.$class-prefix}is-vertical) {
|
|
363
384
|
.#{iv.$class-prefix}steps-content {
|
|
364
|
-
|
|
365
|
-
text-align:
|
|
385
|
+
inset-inline-start: calc(50% + cv.getVar("steps-marker-size") / 2 + 0.25rem);
|
|
386
|
+
text-align: start;
|
|
366
387
|
}
|
|
367
388
|
}
|
|
368
389
|
|
|
369
390
|
.#{iv.$class-prefix}steps.#{iv.$class-prefix}has-label-left:not(.#{iv.$class-prefix}is-vertical) {
|
|
370
391
|
.#{iv.$class-prefix}steps-content {
|
|
371
|
-
|
|
372
|
-
text-align:
|
|
392
|
+
inset-inline-end: calc(50% + cv.getVar("steps-marker-size") / 2 + 0.25rem);
|
|
393
|
+
text-align: end;
|
|
373
394
|
}
|
|
374
395
|
}
|
|
375
396
|
|
|
376
|
-
// Vertical + label-left:
|
|
397
|
+
// Vertical + label-left: label at the start, marker and divider at the end
|
|
377
398
|
.#{iv.$class-prefix}steps.#{iv.$class-prefix}has-label-left.#{iv.$class-prefix}is-vertical {
|
|
378
399
|
.#{iv.$class-prefix}steps-list.#{iv.$class-prefix}is-vertical {
|
|
379
400
|
.#{iv.$class-prefix}steps-link {
|
|
@@ -381,14 +402,14 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
381
402
|
}
|
|
382
403
|
|
|
383
404
|
.#{iv.$class-prefix}steps-content {
|
|
384
|
-
margin-
|
|
385
|
-
margin-
|
|
386
|
-
text-align:
|
|
405
|
+
margin-inline-start: 0;
|
|
406
|
+
margin-inline-end: cv.getVar("steps-vertical-content-margin-left");
|
|
407
|
+
text-align: end;
|
|
387
408
|
}
|
|
388
409
|
|
|
389
410
|
.#{iv.$class-prefix}steps-segment:not(:last-child)::after {
|
|
390
|
-
|
|
391
|
-
|
|
411
|
+
inset-inline-start: auto;
|
|
412
|
+
inset-inline-end: calc(cv.getVar("steps-marker-size") / 2 - cv.getVar("steps-divider-height") / 2);
|
|
392
413
|
}
|
|
393
414
|
}
|
|
394
415
|
}
|
|
@@ -408,7 +429,7 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
408
429
|
}
|
|
409
430
|
|
|
410
431
|
.#{iv.$class-prefix}steps-content {
|
|
411
|
-
margin-
|
|
432
|
+
margin-inline-start: 0;
|
|
412
433
|
margin-top: cv.getVar("steps-content-margin-top");
|
|
413
434
|
text-align: center;
|
|
414
435
|
background-color: cv.getVar("scheme-main");
|
|
@@ -418,7 +439,7 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
418
439
|
}
|
|
419
440
|
|
|
420
441
|
.#{iv.$class-prefix}steps-segment:not(:last-child)::after {
|
|
421
|
-
|
|
442
|
+
inset-inline-start: calc(50% - cv.getVar("steps-divider-height") / 2);
|
|
422
443
|
}
|
|
423
444
|
}
|
|
424
445
|
}
|
|
@@ -457,3 +478,40 @@ $steps-navigation-margin-top: 1rem !default;
|
|
|
457
478
|
}
|
|
458
479
|
}
|
|
459
480
|
}
|
|
481
|
+
|
|
482
|
+
// Forced colors (Windows' contrast themes)
|
|
483
|
+
// The lines and a completed marker's fill are background colors, which forced
|
|
484
|
+
// colors paints in the page's own color, so the lines vanish and every marker
|
|
485
|
+
// looks alike. These paint them in system colors, which forced colors leaves
|
|
486
|
+
// alone, and ring the current marker with an outline. `!important` because the
|
|
487
|
+
// color variants, and a theme's own rules, set the same properties with more
|
|
488
|
+
// specific selectors, and in forced colors this has to win over all of them.
|
|
489
|
+
@media (forced-colors: active) {
|
|
490
|
+
.#{iv.$class-prefix}steps-segment::before,
|
|
491
|
+
.#{iv.$class-prefix}steps-segment::after {
|
|
492
|
+
background-color: CanvasText !important;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.#{iv.$class-prefix}steps-segment.#{iv.$class-prefix}is-completed .#{iv.$class-prefix}steps-marker {
|
|
496
|
+
// Left on, the browser paints its text backplate in Canvas behind the
|
|
497
|
+
// check mark, and a Canvas mark on it can't be seen. Turned off, the
|
|
498
|
+
// border is no longer forced either, so it takes the fill's color.
|
|
499
|
+
forced-color-adjust: none;
|
|
500
|
+
background-color: CanvasText !important;
|
|
501
|
+
border-color: CanvasText !important;
|
|
502
|
+
color: Canvas !important;
|
|
503
|
+
|
|
504
|
+
// Nothing inside is forced either, since that's inherited, so a custom
|
|
505
|
+
// `icon` or `completedIcon` that sets its own color would keep it on the
|
|
506
|
+
// fill. It takes the check mark's Canvas instead. Forcing it back on
|
|
507
|
+
// would put a CanvasText glyph on the CanvasText fill, behind a backplate.
|
|
508
|
+
* {
|
|
509
|
+
color: inherit !important;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
.#{iv.$class-prefix}steps-segment.#{iv.$class-prefix}is-active .#{iv.$class-prefix}steps-marker {
|
|
514
|
+
outline: cv.getVar("steps-divider-height") solid CanvasText;
|
|
515
|
+
outline-offset: cv.getVar("steps-divider-height");
|
|
516
|
+
}
|
|
517
|
+
}
|
|
@@ -4,12 +4,22 @@
|
|
|
4
4
|
// for users who ask for less motion. Each ring stays drawn, so the loading
|
|
5
5
|
// state is still visible.
|
|
6
6
|
//
|
|
7
|
+
// It also keeps each ring open in forced colors (Windows' contrast themes).
|
|
8
|
+
// Bulma leaves two sides of the ring `transparent`, and forced colors paints
|
|
9
|
+
// those in the text color like any other border, so the ring closes, and a
|
|
10
|
+
// closed ring turning looks like one standing still. `Canvas`, the page's
|
|
11
|
+
// own color, is a system color, which forced colors leaves alone.
|
|
12
|
+
//
|
|
7
13
|
// These rules override stock Bulma, and Bulma's CSS can land on either side
|
|
8
14
|
// of this partial: `versions/bestax-no-dark-mode.scss` emits the extras first,
|
|
9
15
|
// an app can link `extras.css` ahead of its own Bulma, and a component can
|
|
10
16
|
// re-spin a ring with a more specific selector (`.autocomplete .loader`).
|
|
11
17
|
// `!important` is what wins in every one of those cases, whatever the order
|
|
12
18
|
// or specificity, so the override does not depend on where this file lands.
|
|
19
|
+
//
|
|
20
|
+
// Bulma's rings come from its `%loader` placeholder, but a module can't add
|
|
21
|
+
// to what another module's `@extend` reaches, and `extras.css` is built
|
|
22
|
+
// without Bulma at all, so each ring is named here.
|
|
13
23
|
|
|
14
24
|
@use "bulma/sass/utilities/initial-variables" as iv;
|
|
15
25
|
|
|
@@ -21,3 +31,13 @@
|
|
|
21
31
|
animation: none !important;
|
|
22
32
|
}
|
|
23
33
|
}
|
|
34
|
+
|
|
35
|
+
@media (forced-colors: active) {
|
|
36
|
+
.#{iv.$class-prefix}loader,
|
|
37
|
+
.#{iv.$class-prefix}button.#{iv.$class-prefix}is-loading::after,
|
|
38
|
+
.#{iv.$class-prefix}control.#{iv.$class-prefix}is-loading::after,
|
|
39
|
+
.#{iv.$class-prefix}select.#{iv.$class-prefix}is-loading::after {
|
|
40
|
+
border-top-color: Canvas !important;
|
|
41
|
+
border-right-color: Canvas !important;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -18,6 +18,10 @@ $checkbox-focus-shadow-size: 0 0 0 0.125em !default;
|
|
|
18
18
|
$checkbox-transition-duration: cv.getVar("duration") !default;
|
|
19
19
|
$checkbox-indeterminate-color: cv.getVar("primary") !default;
|
|
20
20
|
|
|
21
|
+
// The check mark, drawn as an image normally and used as a mask in forced
|
|
22
|
+
// colors. Private, since it's the shape rather than a themable value.
|
|
23
|
+
$-check-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
|
24
|
+
|
|
21
25
|
// Register CSS custom properties
|
|
22
26
|
.#{iv.$class-prefix}styled-checkbox {
|
|
23
27
|
@include cv.register-vars(
|
|
@@ -134,7 +138,7 @@ $checkbox-indeterminate-color: cv.getVar("primary") !default;
|
|
|
134
138
|
transition-property: opacity, transform;
|
|
135
139
|
transition-duration: cv.getVar("checkbox-transition-duration");
|
|
136
140
|
transition-timing-function: ease;
|
|
137
|
-
background-image:
|
|
141
|
+
background-image: $-check-mark;
|
|
138
142
|
background-size: contain;
|
|
139
143
|
background-repeat: no-repeat;
|
|
140
144
|
background-position: center;
|
|
@@ -183,6 +187,29 @@ $checkbox-indeterminate-color: cv.getVar("primary") !default;
|
|
|
183
187
|
input[type="checkbox"]:checked + .check {
|
|
184
188
|
background-color: Highlight;
|
|
185
189
|
border-color: Highlight;
|
|
190
|
+
|
|
191
|
+
// The mark's image has a black stroke, which forced colors leaves as
|
|
192
|
+
// it is, black on the Highlight fill. Use its shape as a mask instead
|
|
193
|
+
// and paint it in HighlightText, the color made to read on Highlight.
|
|
194
|
+
&::after {
|
|
195
|
+
background-image: none;
|
|
196
|
+
background-color: HighlightText;
|
|
197
|
+
mask-image: $-check-mark;
|
|
198
|
+
mask-size: contain;
|
|
199
|
+
mask-repeat: no-repeat;
|
|
200
|
+
mask-position: center;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// Forced colors repaints the mixed fill and its dash in the same color,
|
|
205
|
+
// which leaves an empty box. Draw the dash in system colors that keep it
|
|
206
|
+
// visible, checked or not.
|
|
207
|
+
input[type="checkbox"]:indeterminate + .check {
|
|
208
|
+
background-color: Canvas;
|
|
209
|
+
|
|
210
|
+
&::before {
|
|
211
|
+
background-color: CanvasText;
|
|
212
|
+
}
|
|
186
213
|
}
|
|
187
214
|
|
|
188
215
|
input[type="checkbox"]:focus-visible + .check {
|