@oscarpalmer/oui 0.18.0 → 0.20.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/dist/css/a11y.css +0 -1
- package/dist/css/badge.css +10 -10
- package/dist/css/button.css +9 -9
- package/dist/css/color.css +99 -99
- package/dist/css/content.css +1 -1
- package/dist/css/flex.css +39 -39
- package/dist/css/form.css +29 -57
- package/dist/css/message.css +6 -6
- package/dist/css/popover.css +22 -0
- package/dist/css/reset.css +11 -10
- package/dist/css/table.css +5 -5
- package/dist/css/tooltip.css +61 -1
- package/dist/js/attributable.d.mts +4 -0
- package/dist/js/{attributable.js → attributable.mjs} +8 -1
- package/dist/js/floatable.d.mts +26 -0
- package/dist/js/{floatable.js → floatable.mjs} +73 -50
- package/dist/js/focus-trap/embedded.d.mts +26 -0
- package/dist/js/focus-trap/{embedded.js → embedded.mjs} +10 -8
- package/dist/js/focus-trap/standalone.d.mts +1 -0
- package/dist/js/focus-trap/{standalone.js → standalone.mjs} +5 -2
- package/dist/js/index.d.mts +4 -0
- package/dist/js/index.mjs +5 -0
- package/dist/js/popover.d.mts +20 -0
- package/dist/js/{popover.js → popover.mjs} +11 -9
- package/dist/js/splitter.d.mts +25 -0
- package/dist/js/{splitter.js → splitter.mjs} +60 -58
- package/dist/js/tooltip.d.mts +4 -0
- package/dist/js/{tooltip.js → tooltip.mjs} +21 -19
- package/package.json +65 -70
- package/src/css/a11y.scss +1 -1
- package/src/css/badge.scss +23 -19
- package/src/css/button.scss +9 -9
- package/src/css/color.scss +99 -99
- package/src/css/content.scss +6 -8
- package/src/css/flex.scss +21 -20
- package/src/css/form.scss +37 -60
- package/src/css/message.scss +8 -12
- package/src/css/mixins.scss +41 -13
- package/src/css/popover.scss +7 -2
- package/src/css/reset.scss +18 -18
- package/src/css/splitter.scss +15 -13
- package/src/css/table.scss +12 -12
- package/src/css/tooltip.scss +79 -4
- package/src/js/attributable.ts +14 -11
- package/src/js/floatable.ts +134 -74
- package/src/js/focus-trap/embedded.ts +7 -31
- package/src/js/popover.ts +3 -3
- package/src/js/splitter.ts +10 -43
- package/src/js/tooltip.ts +8 -20
- package/dist/css/value.css +0 -1
- package/dist/js/attributable.full.js +0 -48
- package/dist/js/floatable.full.js +0 -413
- package/dist/js/focus-trap/embedded.full.js +0 -351
- package/dist/js/focus-trap/standalone.full.js +0 -402
- package/dist/js/index.js +0 -5
- package/dist/js/oui.full.js +0 -1596
- package/dist/js/popover.full.js +0 -822
- package/dist/js/splitter.full.js +0 -605
- package/dist/js/tooltip.full.js +0 -679
- package/types/attributable.d.ts +0 -1
- package/types/floatable.d.ts +0 -24
- package/types/focus-trap/embedded.d.ts +0 -24
- package/types/focus-trap/standalone.d.ts +0 -1
- package/types/index.d.ts +0 -4
- package/types/popover.d.ts +0 -17
- package/types/splitter.d.ts +0 -23
- package/types/tooltip.d.ts +0 -2
package/src/css/content.scss
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use './mixins' as mixins;
|
|
4
4
|
|
|
5
5
|
@mixin thumb($background, $shadow) {
|
|
6
|
-
@include mixins.
|
|
6
|
+
@include mixins.shadow-small(
|
|
7
7
|
color-mix(in oklab, $shadow, transparent 33%),
|
|
8
8
|
color-mix(in oklab, white, transparent 82.5%)
|
|
9
9
|
);
|
|
@@ -38,14 +38,12 @@
|
|
|
38
38
|
align-items: center;
|
|
39
39
|
list-style: none;
|
|
40
40
|
outline: 4px solid
|
|
41
|
-
color-mix(
|
|
42
|
-
in oklab,
|
|
43
|
-
var(--oui-blue-6),
|
|
44
|
-
transparent var(--oui-outline-percentage, 100%)
|
|
45
|
-
);
|
|
41
|
+
color-mix(in oklab, var(--oui-blue-6), transparent var(--oui-outline-percentage, 100%));
|
|
46
42
|
outline-offset: 0.25em;
|
|
47
43
|
border-radius: 0.125em;
|
|
48
|
-
transition:
|
|
44
|
+
transition:
|
|
45
|
+
0.125s ease-in-out,
|
|
46
|
+
margin 0s;
|
|
49
47
|
cursor: pointer;
|
|
50
48
|
|
|
51
49
|
&::before {
|
|
@@ -53,7 +51,7 @@
|
|
|
53
51
|
width: 1em;
|
|
54
52
|
height: 1em;
|
|
55
53
|
margin: 0 0.5em 0 0;
|
|
56
|
-
background-color:
|
|
54
|
+
background-color: currentcolor;
|
|
57
55
|
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
|
|
58
56
|
mask-size: contain;
|
|
59
57
|
mask-position: center;
|
package/src/css/flex.scss
CHANGED
|
@@ -15,19 +15,19 @@
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.flow {
|
|
18
|
-
:where(&-large) {
|
|
18
|
+
:where(&-large, &--large) {
|
|
19
19
|
gap: var(--flow-gap-large, calc(2 * var(--flow-gap, 1rem)));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
:where(&-nowrap) {
|
|
22
|
+
:where(&-nowrap, &--nowrap) {
|
|
23
23
|
flex-wrap: nowrap;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
:where(&-small) {
|
|
26
|
+
:where(&-small, &--small) {
|
|
27
27
|
gap: var(--flow-gap-small, calc(0.5 * var(--flow-gap, 1rem)));
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
:where(&-text) {
|
|
30
|
+
:where(&-text, &--text) {
|
|
31
31
|
gap: var(--flow-gap-text, 1em);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -38,21 +38,22 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.stack {
|
|
41
|
-
:where(&-large) {
|
|
41
|
+
:where(&-large, &--large) {
|
|
42
42
|
gap: var(--stack-gap-large, calc(2 * var(--stack-gap, 1rem)));
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
:where(&-small) {
|
|
45
|
+
:where(&-small, &--small) {
|
|
46
46
|
gap: var(--stack-gap-small, calc(0.5 * var(--stack-gap, 1rem)));
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
:where(&-text) {
|
|
49
|
+
:where(&-text, &--text) {
|
|
50
50
|
gap: var(--stack-gap-text, 1em);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
.flex {
|
|
55
|
-
&-reverse
|
|
55
|
+
&-reverse,
|
|
56
|
+
&--reverse {
|
|
56
57
|
:where(&[class^='flow' i], &[class*=' flow' i]) {
|
|
57
58
|
flex-direction: row-reverse;
|
|
58
59
|
}
|
|
@@ -63,20 +64,20 @@
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
$
|
|
67
|
+
$alignment-origins: (
|
|
67
68
|
c: 'content',
|
|
68
69
|
i: 'items',
|
|
69
70
|
s: 'self',
|
|
70
71
|
);
|
|
71
72
|
|
|
72
|
-
$
|
|
73
|
+
$alignment-values: (
|
|
73
74
|
c: 'center',
|
|
74
75
|
fe: 'flex-end',
|
|
75
76
|
fs: 'flex-start',
|
|
76
77
|
s: 'stretch',
|
|
77
78
|
);
|
|
78
79
|
|
|
79
|
-
$
|
|
80
|
+
$justification-values: (
|
|
80
81
|
sa: 'space-around',
|
|
81
82
|
sb: 'space-between',
|
|
82
83
|
se: 'space-evenly',
|
|
@@ -87,20 +88,20 @@ $types: (
|
|
|
87
88
|
j: 'justify',
|
|
88
89
|
);
|
|
89
90
|
|
|
90
|
-
@each $
|
|
91
|
-
@each $
|
|
92
|
-
.flex-#{$
|
|
93
|
-
@each $
|
|
94
|
-
:where(&-#{$
|
|
95
|
-
#{$
|
|
91
|
+
@each $type-key, $type-value in $types {
|
|
92
|
+
@each $alignment-origin-key, $alignment-origin-value in $alignment-origins {
|
|
93
|
+
.flex-#{$type-key}#{$alignment-origin-key} {
|
|
94
|
+
@each $alignment-value-key, $alignment-value-value in $alignment-values {
|
|
95
|
+
:where(&-#{$alignment-value-key}, &--#{$alignment-value-key}) {
|
|
96
|
+
#{$type-value}-#{$alignment-origin-value}: #{$alignment-value-value};
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
|
|
101
|
-
@each $
|
|
102
|
-
:where(.flex-#{$
|
|
103
|
-
#{$
|
|
102
|
+
@each $justification-key, $justification-value in $justification-values {
|
|
103
|
+
:where(.flex-#{$type-key}c-#{$justification-key}, .flex-#{$type-key}c--#{$justification-key}) {
|
|
104
|
+
#{$type-value}-content: #{$justification-value};
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
}
|
package/src/css/form.scss
CHANGED
|
@@ -54,11 +54,7 @@
|
|
|
54
54
|
--oui-outline-value: var(--oui-blue-6);
|
|
55
55
|
|
|
56
56
|
outline: 4px solid
|
|
57
|
-
color-mix(
|
|
58
|
-
in oklab,
|
|
59
|
-
var(--oui-outline-value),
|
|
60
|
-
transparent var(--oui-outline-percentage)
|
|
61
|
-
);
|
|
57
|
+
color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
|
|
62
58
|
outline-offset: 0;
|
|
63
59
|
transition: 0.125s ease-in-out;
|
|
64
60
|
}
|
|
@@ -105,17 +101,17 @@
|
|
|
105
101
|
}
|
|
106
102
|
|
|
107
103
|
:where(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
104
|
+
&:is(
|
|
105
|
+
[type='date' i],
|
|
106
|
+
[type='datetime-local' i],
|
|
107
|
+
[type='month' i],
|
|
108
|
+
[type='number' i],
|
|
109
|
+
[type='tel' i],
|
|
110
|
+
[type='time' i],
|
|
111
|
+
[type='url' i],
|
|
112
|
+
[type='week' i]
|
|
113
|
+
)
|
|
114
|
+
) {
|
|
119
115
|
font-variant-numeric: tabular-nums;
|
|
120
116
|
}
|
|
121
117
|
|
|
@@ -164,7 +160,7 @@
|
|
|
164
160
|
);
|
|
165
161
|
border: 1px solid var(--oui-absolute);
|
|
166
162
|
border-radius: 1.25em;
|
|
167
|
-
box-shadow: 0 1px 2px 2px
|
|
163
|
+
box-shadow: 0 1px 2px 2px rgb(0 0 0 / 12.5%);
|
|
168
164
|
cursor: pointer;
|
|
169
165
|
}
|
|
170
166
|
|
|
@@ -176,15 +172,11 @@
|
|
|
176
172
|
}
|
|
177
173
|
|
|
178
174
|
:where(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
:user-invalid:not([aria-invalid='false' i]),
|
|
185
|
-
[aria-invalid='true' i]
|
|
186
|
-
)
|
|
187
|
-
) {
|
|
175
|
+
&.oui-validate:not([disabled], [readonly], [aria-disabled='true' i]):is(
|
|
176
|
+
:user-invalid:not([aria-invalid='false' i]),
|
|
177
|
+
[aria-invalid='true' i]
|
|
178
|
+
)
|
|
179
|
+
) {
|
|
188
180
|
@include invalid;
|
|
189
181
|
|
|
190
182
|
&::file-selector-button {
|
|
@@ -208,12 +200,11 @@
|
|
|
208
200
|
}
|
|
209
201
|
|
|
210
202
|
:where(
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
) {
|
|
203
|
+
&.oui-validate:not([disabled], [readonly], [aria-disabled='true' i]):is(
|
|
204
|
+
:user-valid:not([aria-invalid='true' i]),
|
|
205
|
+
[aria-invalid='false' i]
|
|
206
|
+
)
|
|
207
|
+
) {
|
|
217
208
|
@include valid;
|
|
218
209
|
|
|
219
210
|
&::file-selector-button {
|
|
@@ -246,11 +237,7 @@
|
|
|
246
237
|
|
|
247
238
|
@media (hover: hover) {
|
|
248
239
|
&:hover {
|
|
249
|
-
outline-color: color-mix(
|
|
250
|
-
in oklab,
|
|
251
|
-
var(--oui-blue-6),
|
|
252
|
-
transparent 75%
|
|
253
|
-
);
|
|
240
|
+
outline-color: color-mix(in oklab, var(--oui-blue-6), transparent 75%);
|
|
254
241
|
}
|
|
255
242
|
}
|
|
256
243
|
|
|
@@ -278,7 +265,7 @@
|
|
|
278
265
|
&::range-thumb {
|
|
279
266
|
--oui-background-value: var(--oui-blue-6);
|
|
280
267
|
|
|
281
|
-
box-shadow: 0 1px 2px 2px
|
|
268
|
+
box-shadow: 0 1px 2px 2px rgb(0 0 0 / 25%);
|
|
282
269
|
}
|
|
283
270
|
}
|
|
284
271
|
|
|
@@ -386,7 +373,9 @@ select.oui-input:is([multiple]) {
|
|
|
386
373
|
:where(textarea.oui-input) {
|
|
387
374
|
min-height: 4em;
|
|
388
375
|
resize: vertical;
|
|
389
|
-
transition:
|
|
376
|
+
transition:
|
|
377
|
+
all 0.125s ease-in-out,
|
|
378
|
+
height 0s;
|
|
390
379
|
}
|
|
391
380
|
|
|
392
381
|
:where(.oui-label, .oui-legend) {
|
|
@@ -441,19 +430,11 @@ select.oui-input:is([multiple]) {
|
|
|
441
430
|
transparent var(--oui-background-percentage)
|
|
442
431
|
);
|
|
443
432
|
outline: 4px solid
|
|
444
|
-
color-mix(
|
|
445
|
-
in oklab,
|
|
446
|
-
var(--oui-outline-value),
|
|
447
|
-
transparent var(--oui-outline-percentage)
|
|
448
|
-
);
|
|
433
|
+
color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
|
|
449
434
|
outline-offset: 0;
|
|
450
435
|
border: 1px solid var(--oui-border-value);
|
|
451
436
|
box-shadow: inset 0 1px 2px 0
|
|
452
|
-
color-mix(
|
|
453
|
-
in oklab,
|
|
454
|
-
var(--oui-shadow-value),
|
|
455
|
-
transparent var(--oui-shadow-percentage)
|
|
456
|
-
);
|
|
437
|
+
color-mix(in oklab, var(--oui-shadow-value), transparent var(--oui-shadow-percentage));
|
|
457
438
|
}
|
|
458
439
|
|
|
459
440
|
&::after {
|
|
@@ -483,7 +464,7 @@ select.oui-input:is([multiple]) {
|
|
|
483
464
|
height: 1.5em;
|
|
484
465
|
background-color: var(--oui-absolute);
|
|
485
466
|
border-radius: 1.5em;
|
|
486
|
-
box-shadow: 0 1px 2px 1px
|
|
467
|
+
box-shadow: 0 1px 2px 1px rgb(0 0 0 / 12.5%);
|
|
487
468
|
font-size: 0.75em;
|
|
488
469
|
font-weight: bold;
|
|
489
470
|
line-height: 1.5em;
|
|
@@ -499,7 +480,7 @@ select.oui-input:is([multiple]) {
|
|
|
499
480
|
|
|
500
481
|
&::after {
|
|
501
482
|
content: attr(oui-on, '\2713');
|
|
502
|
-
box-shadow: 0 1px 2px 1px
|
|
483
|
+
box-shadow: 0 1px 2px 1px rgb(0 0 0 / 25%);
|
|
503
484
|
right: 0.25em;
|
|
504
485
|
}
|
|
505
486
|
}
|
|
@@ -536,7 +517,7 @@ select.oui-input:is([multiple]) {
|
|
|
536
517
|
content: attr(oui-on, '\2713');
|
|
537
518
|
width: 1.5em;
|
|
538
519
|
height: 1.5em;
|
|
539
|
-
text-shadow: 0 1px 2px
|
|
520
|
+
text-shadow: 0 1px 2px rgb(0 0 0 / 50%);
|
|
540
521
|
font-weight: bold;
|
|
541
522
|
line-height: 1.5em;
|
|
542
523
|
text-align: center;
|
|
@@ -557,7 +538,7 @@ select.oui-input:is([multiple]) {
|
|
|
557
538
|
width: 0.75em;
|
|
558
539
|
height: 0.75em;
|
|
559
540
|
background-color: var(--oui-absolute);
|
|
560
|
-
box-shadow: 0 1px 2px 0
|
|
541
|
+
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 50%);
|
|
561
542
|
inset: 0.375em auto auto 0.375em;
|
|
562
543
|
}
|
|
563
544
|
}
|
|
@@ -599,11 +580,7 @@ select.oui-input:is([multiple]) {
|
|
|
599
580
|
color: var(--oui-blue-8);
|
|
600
581
|
}
|
|
601
582
|
|
|
602
|
-
:where(
|
|
603
|
-
&:has(
|
|
604
|
-
input:not([disabled], [aria-disabled='true' i]):is(:checked)
|
|
605
|
-
):hover
|
|
606
|
-
) {
|
|
583
|
+
:where(&:has(input:not([disabled], [aria-disabled='true' i]):is(:checked)):hover) {
|
|
607
584
|
--oui-background-percentage: 50%;
|
|
608
585
|
--oui-background-value: var(--oui-blue-6);
|
|
609
586
|
}
|
|
@@ -614,7 +591,7 @@ select.oui-input:is([multiple]) {
|
|
|
614
591
|
--oui-background-value: var(--oui-gray-0);
|
|
615
592
|
--oui-border-value: var(--oui-gray-3);
|
|
616
593
|
--oui-foreground-percentage: 25%;
|
|
617
|
-
--oui-foreground-value:
|
|
594
|
+
--oui-foreground-value: currentcolor;
|
|
618
595
|
|
|
619
596
|
color: color-mix(
|
|
620
597
|
in oklab,
|
|
@@ -642,5 +619,5 @@ select.oui-input:is([multiple]) {
|
|
|
642
619
|
}
|
|
643
620
|
|
|
644
621
|
:where(.oui-switch input, .oui-toggle input) {
|
|
645
|
-
@include mixins.
|
|
622
|
+
@include mixins.visually-hidden;
|
|
646
623
|
}
|
package/src/css/message.scss
CHANGED
|
@@ -11,12 +11,8 @@
|
|
|
11
11
|
);
|
|
12
12
|
|
|
13
13
|
@include mixins.card(
|
|
14
|
-
color-mix(
|
|
15
|
-
|
|
16
|
-
var(--oui-background, var(--oui-gray-0)),
|
|
17
|
-
transparent 25%
|
|
18
|
-
),
|
|
19
|
-
var(--oui-shadow-mixed),
|
|
14
|
+
color-mix(in oklab, var(--oui-background, var(--oui-gray-0)), transparent 25%),
|
|
15
|
+
var(--oui-shadow-mixed)
|
|
20
16
|
);
|
|
21
17
|
|
|
22
18
|
max-width: fit-content;
|
|
@@ -47,42 +43,42 @@
|
|
|
47
43
|
gap: 1em;
|
|
48
44
|
}
|
|
49
45
|
|
|
50
|
-
:where(
|
|
46
|
+
:where(&--blue, &--info) {
|
|
51
47
|
--oui-background: var(--oui-blue-0);
|
|
52
48
|
--oui-border: var(--oui-blue-2);
|
|
53
49
|
--oui-foreground: var(--oui-blue-8);
|
|
54
50
|
--oui-shadow-value: var(--oui-blue-6);
|
|
55
51
|
}
|
|
56
52
|
|
|
57
|
-
:where(
|
|
53
|
+
:where(&--green, &--success) {
|
|
58
54
|
--oui-background: var(--oui-green-0);
|
|
59
55
|
--oui-border: var(--oui-green-2);
|
|
60
56
|
--oui-foreground: var(--oui-green-8);
|
|
61
57
|
--oui-shadow-value: var(--oui-green-6);
|
|
62
58
|
}
|
|
63
59
|
|
|
64
|
-
:where(
|
|
60
|
+
:where(&--orange, &--warning) {
|
|
65
61
|
--oui-background: var(--oui-orange-0);
|
|
66
62
|
--oui-border: var(--oui-orange-2);
|
|
67
63
|
--oui-foreground: var(--oui-orange-8);
|
|
68
64
|
--oui-shadow-value: var(--oui-orange-6);
|
|
69
65
|
}
|
|
70
66
|
|
|
71
|
-
:where(
|
|
67
|
+
:where(&--purple, &--special) {
|
|
72
68
|
--oui-background: var(--oui-purple-0);
|
|
73
69
|
--oui-border: var(--oui-purple-2);
|
|
74
70
|
--oui-foreground: var(--oui-purple-8);
|
|
75
71
|
--oui-shadow-value: var(--oui-purple-6);
|
|
76
72
|
}
|
|
77
73
|
|
|
78
|
-
:where(
|
|
74
|
+
:where(&--red, &--error) {
|
|
79
75
|
--oui-background: var(--oui-red-0);
|
|
80
76
|
--oui-border: var(--oui-red-2);
|
|
81
77
|
--oui-foreground: var(--oui-red-8);
|
|
82
78
|
--oui-shadow-value: var(--oui-red-6);
|
|
83
79
|
}
|
|
84
80
|
|
|
85
|
-
:where(
|
|
81
|
+
:where(&--yellow, &--notice) {
|
|
86
82
|
--oui-background: var(--oui-yellow-0);
|
|
87
83
|
--oui-border: var(--oui-yellow-2);
|
|
88
84
|
--oui-foreground: var(--oui-yellow-8);
|
package/src/css/mixins.scss
CHANGED
|
@@ -40,11 +40,10 @@
|
|
|
40
40
|
transition: 0.125s ease-in-out;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
@mixin card(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
)) {
|
|
43
|
+
@mixin card(
|
|
44
|
+
$backgroundColor: var(--oui-absolute),
|
|
45
|
+
$boxShadowColor: color-mix(in oklab, var(--oui-gray-6), transparent 92.5%)
|
|
46
|
+
) {
|
|
48
47
|
@include shadow($boxShadowColor);
|
|
49
48
|
|
|
50
49
|
padding: 1em 1.25em;
|
|
@@ -52,19 +51,49 @@
|
|
|
52
51
|
border-radius: 0.5em;
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
@mixin
|
|
54
|
+
@mixin floatable() {
|
|
55
|
+
@include shadow-overlay;
|
|
56
|
+
|
|
57
|
+
--margin-left: 0;
|
|
58
|
+
--margin-top: 0;
|
|
59
|
+
|
|
60
|
+
margin: var(--margin-top, 0) 0 0 var(--margin-left, 0);
|
|
61
|
+
pointer-events: all !important;
|
|
62
|
+
|
|
63
|
+
&[position^='above'],
|
|
64
|
+
&[position^='top'] {
|
|
65
|
+
--margin-top: -0.5rem;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&[position^='below'],
|
|
69
|
+
&[position^='bottom'] {
|
|
70
|
+
--margin-top: 0.5rem;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&[position^='end'],
|
|
74
|
+
&[position^='right'] {
|
|
75
|
+
--margin-left: 0.5rem;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&[position^='left'],
|
|
79
|
+
&[position^='start'] {
|
|
80
|
+
--margin-left: -0.5rem;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@mixin shadow($color: rgb(0 0 0 / 5%), $inset: transparent) {
|
|
56
85
|
box-shadow:
|
|
57
86
|
inset 0 1px 0 0 $inset,
|
|
58
87
|
0 0 0 1px $color,
|
|
59
|
-
0 1px 2px
|
|
88
|
+
0 1px 2px -0.5px $color,
|
|
60
89
|
0 2px 4px -1px $color;
|
|
61
90
|
}
|
|
62
91
|
|
|
63
|
-
@mixin
|
|
92
|
+
@mixin shadow-overlay($color: rgb(0 0 0 / 5%), $inset: transparent) {
|
|
64
93
|
box-shadow:
|
|
65
94
|
inset 0 1px 0 0 $inset,
|
|
66
95
|
0 0 0 1px $color,
|
|
67
|
-
0 1px 2px
|
|
96
|
+
0 1px 2px -0.5px $color,
|
|
68
97
|
0 2px 4px -1px $color,
|
|
69
98
|
0 4px 8px -2px $color,
|
|
70
99
|
0 8px 16px -4px $color,
|
|
@@ -73,18 +102,17 @@
|
|
|
73
102
|
0 64px 128px -32px $color;
|
|
74
103
|
}
|
|
75
104
|
|
|
76
|
-
@mixin
|
|
105
|
+
@mixin shadow-small($color: rgb(0 0 0 / 5%), $inset: transparent) {
|
|
77
106
|
box-shadow:
|
|
78
107
|
inset 0 1px 0 0 $inset,
|
|
79
108
|
0 0 0 1px $color,
|
|
80
|
-
0 1px 2px
|
|
109
|
+
0 1px 2px -0.5px $color;
|
|
81
110
|
}
|
|
82
111
|
|
|
83
|
-
@mixin
|
|
112
|
+
@mixin visually-hidden() {
|
|
84
113
|
width: 1px !important;
|
|
85
114
|
height: 1px !important;
|
|
86
115
|
padding: 0 !important;
|
|
87
|
-
clip: rect(1px, 1px 1px, 1px) !important;
|
|
88
116
|
clip-path: inset(50%) !important;
|
|
89
117
|
overflow: hidden !important;
|
|
90
118
|
border: 0 !important;
|
package/src/css/popover.scss
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
@use 'mixins.scss' as mixins;
|
|
2
2
|
|
|
3
3
|
:where([oui-popover-content]) {
|
|
4
|
-
@include mixins.
|
|
4
|
+
@include mixins.floatable;
|
|
5
5
|
|
|
6
6
|
padding: 1rem;
|
|
7
|
+
overscroll-behavior: contain;
|
|
7
8
|
background-color: var(--oui-absolute);
|
|
8
9
|
border-radius: 0.5rem;
|
|
9
10
|
|
|
10
11
|
&:focus {
|
|
11
12
|
outline: none;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
|
|
15
|
+
* {
|
|
16
|
+
overscroll-behavior: contain;
|
|
17
|
+
}
|
|
18
|
+
}
|
package/src/css/reset.scss
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
/** Prevent text size inflation (e.g., after orientation change) [AB][RE][SE] */
|
|
55
55
|
text-size-adjust: none;
|
|
56
56
|
tab-size: 4;
|
|
57
|
-
|
|
57
|
+
overflow-wrap: break-word;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
:where(body) {
|
|
@@ -93,18 +93,18 @@
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
:where(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
appearance:
|
|
96
|
+
button,
|
|
97
|
+
input[type='button' i],
|
|
98
|
+
input[type='checkbox' i],
|
|
99
|
+
input[type='file' i],
|
|
100
|
+
input[type='image' i],
|
|
101
|
+
input[type='radio' i],
|
|
102
|
+
input[type='reset' i],
|
|
103
|
+
input[type='submit' i],
|
|
104
|
+
summary
|
|
105
|
+
) {
|
|
106
|
+
/** Correct the inability to style clickable types in iOS [HR][RS][SE] */
|
|
107
|
+
appearance: auto;
|
|
108
108
|
/** Ditto */
|
|
109
109
|
cursor: pointer;
|
|
110
110
|
}
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
:where(small, sub, sup) {
|
|
174
|
-
font-size: 0.
|
|
174
|
+
font-size: 0.875em;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
:where(sub, sup) {
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
:where(table) {
|
|
192
192
|
border-collapse: collapse;
|
|
193
193
|
/** Correct table border colour in Chrome, Edge, and Safari [SE] */
|
|
194
|
-
border-color:
|
|
194
|
+
border-color: currentcolor;
|
|
195
195
|
/** Modernized border spacing [HR] */
|
|
196
196
|
border-spacing: 0;
|
|
197
197
|
/** More legible numbers [HR] */
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
|
|
272
272
|
::file-selector-button {
|
|
273
273
|
/** Correct the inability to style upload buttons in iOS and Safari [RS][SE] */
|
|
274
|
-
appearance:
|
|
274
|
+
appearance: auto;
|
|
275
275
|
color: inherit;
|
|
276
276
|
font: inherit;
|
|
277
277
|
line-height: 1.25;
|
|
@@ -292,7 +292,7 @@
|
|
|
292
292
|
|
|
293
293
|
::-webkit-search-decoration {
|
|
294
294
|
/** Remove the inner padding in Chrome, Edge, and Safari on macOS [SE] */
|
|
295
|
-
|
|
295
|
+
appearance: none;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
/**
|
|
@@ -346,7 +346,7 @@
|
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
:where(svg:not([fill])) {
|
|
349
|
-
fill:
|
|
349
|
+
fill: currentcolor;
|
|
350
350
|
}
|
|
351
351
|
|
|
352
352
|
/**
|
package/src/css/splitter.scss
CHANGED
|
@@ -8,20 +8,20 @@ oui-splitter {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
:where(& > :first-child) {
|
|
11
|
-
flex: var(--oui-splitter-size, .5);
|
|
11
|
+
flex: var(--oui-splitter-size, 0.5);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
:where(& > :last-child) {
|
|
15
|
-
flex: calc(1 - var(--oui-splitter-size, .5));
|
|
15
|
+
flex: calc(1 - var(--oui-splitter-size, 0.5));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
:where([oui-splitter-separator]) {
|
|
20
|
-
width: .25rem;
|
|
21
|
-
background-color:
|
|
22
|
-
border-radius: .25rem;
|
|
20
|
+
width: 0.25rem;
|
|
21
|
+
background-color: rgb(0 0 0 / 10%);
|
|
22
|
+
border-radius: 0.25rem;
|
|
23
23
|
position: relative;
|
|
24
|
-
transition: background .125s ease-in-out;
|
|
24
|
+
transition: background 0.125s ease-in-out;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
:where([oui-splitter-separator]:has([oui-splitter-handle]:focus)),
|
|
@@ -33,7 +33,7 @@ oui-splitter {
|
|
|
33
33
|
:where([oui-splitter-handle]) {
|
|
34
34
|
width: 2rem;
|
|
35
35
|
height: 4rem;
|
|
36
|
-
padding: .875rem;
|
|
36
|
+
padding: 0.875rem;
|
|
37
37
|
position: absolute;
|
|
38
38
|
inset: 50% auto auto 50%;
|
|
39
39
|
transform: translate3d(-50%, -50%, 0);
|
|
@@ -48,11 +48,13 @@ oui-splitter {
|
|
|
48
48
|
width: 100%;
|
|
49
49
|
height: 100%;
|
|
50
50
|
display: block;
|
|
51
|
-
background-color:
|
|
52
|
-
outline: .25rem solid transparent;
|
|
53
|
-
outline-offset: .25rem;
|
|
54
|
-
border-radius: .25rem;
|
|
55
|
-
transition:
|
|
51
|
+
background-color: rgb(0 0 0 / 25%);
|
|
52
|
+
outline: 0.25rem solid transparent;
|
|
53
|
+
outline-offset: 0.25rem;
|
|
54
|
+
border-radius: 0.25rem;
|
|
55
|
+
transition:
|
|
56
|
+
background 0.125s ease-in-out,
|
|
57
|
+
outline 0.125s ease-in-out;
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
|
|
@@ -76,7 +78,7 @@ oui-splitter[oui-splitter-horizontal] {
|
|
|
76
78
|
|
|
77
79
|
:where(& [oui-splitter-separator]) {
|
|
78
80
|
width: 100%;
|
|
79
|
-
height: .25rem;
|
|
81
|
+
height: 0.25rem;
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
:where(& [oui-splitter-handle]) {
|