@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.
Files changed (67) hide show
  1. package/dist/css/a11y.css +0 -1
  2. package/dist/css/badge.css +10 -10
  3. package/dist/css/button.css +9 -9
  4. package/dist/css/color.css +99 -99
  5. package/dist/css/content.css +1 -1
  6. package/dist/css/flex.css +39 -39
  7. package/dist/css/form.css +29 -57
  8. package/dist/css/message.css +6 -6
  9. package/dist/css/popover.css +22 -0
  10. package/dist/css/reset.css +11 -10
  11. package/dist/css/table.css +5 -5
  12. package/dist/css/tooltip.css +61 -1
  13. package/dist/js/attributable.d.mts +4 -0
  14. package/dist/js/{attributable.js → attributable.mjs} +8 -1
  15. package/dist/js/floatable.d.mts +26 -0
  16. package/dist/js/{floatable.js → floatable.mjs} +73 -50
  17. package/dist/js/focus-trap/embedded.d.mts +26 -0
  18. package/dist/js/focus-trap/{embedded.js → embedded.mjs} +10 -8
  19. package/dist/js/focus-trap/standalone.d.mts +1 -0
  20. package/dist/js/focus-trap/{standalone.js → standalone.mjs} +5 -2
  21. package/dist/js/index.d.mts +4 -0
  22. package/dist/js/index.mjs +5 -0
  23. package/dist/js/popover.d.mts +20 -0
  24. package/dist/js/{popover.js → popover.mjs} +11 -9
  25. package/dist/js/splitter.d.mts +25 -0
  26. package/dist/js/{splitter.js → splitter.mjs} +60 -58
  27. package/dist/js/tooltip.d.mts +4 -0
  28. package/dist/js/{tooltip.js → tooltip.mjs} +21 -19
  29. package/package.json +65 -70
  30. package/src/css/a11y.scss +1 -1
  31. package/src/css/badge.scss +23 -19
  32. package/src/css/button.scss +9 -9
  33. package/src/css/color.scss +99 -99
  34. package/src/css/content.scss +6 -8
  35. package/src/css/flex.scss +21 -20
  36. package/src/css/form.scss +37 -60
  37. package/src/css/message.scss +8 -12
  38. package/src/css/mixins.scss +41 -13
  39. package/src/css/popover.scss +7 -2
  40. package/src/css/reset.scss +18 -18
  41. package/src/css/splitter.scss +15 -13
  42. package/src/css/table.scss +12 -12
  43. package/src/css/tooltip.scss +79 -4
  44. package/src/js/attributable.ts +14 -11
  45. package/src/js/floatable.ts +134 -74
  46. package/src/js/focus-trap/embedded.ts +7 -31
  47. package/src/js/popover.ts +3 -3
  48. package/src/js/splitter.ts +10 -43
  49. package/src/js/tooltip.ts +8 -20
  50. package/dist/css/value.css +0 -1
  51. package/dist/js/attributable.full.js +0 -48
  52. package/dist/js/floatable.full.js +0 -413
  53. package/dist/js/focus-trap/embedded.full.js +0 -351
  54. package/dist/js/focus-trap/standalone.full.js +0 -402
  55. package/dist/js/index.js +0 -5
  56. package/dist/js/oui.full.js +0 -1596
  57. package/dist/js/popover.full.js +0 -822
  58. package/dist/js/splitter.full.js +0 -605
  59. package/dist/js/tooltip.full.js +0 -679
  60. package/types/attributable.d.ts +0 -1
  61. package/types/floatable.d.ts +0 -24
  62. package/types/focus-trap/embedded.d.ts +0 -24
  63. package/types/focus-trap/standalone.d.ts +0 -1
  64. package/types/index.d.ts +0 -4
  65. package/types/popover.d.ts +0 -17
  66. package/types/splitter.d.ts +0 -23
  67. package/types/tooltip.d.ts +0 -2
@@ -3,7 +3,7 @@
3
3
  @use './mixins' as mixins;
4
4
 
5
5
  @mixin thumb($background, $shadow) {
6
- @include mixins.shadowSmall(
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: 0.125s ease-in-out, margin 0s;
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: currentColor;
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
- $alignmentOrigins: (
67
+ $alignment-origins: (
67
68
  c: 'content',
68
69
  i: 'items',
69
70
  s: 'self',
70
71
  );
71
72
 
72
- $alignmentValues: (
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
- $justificationValues: (
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 $typeKey, $typeValue in $types {
91
- @each $alignmentOriginKey, $alignmentOriginValue in $alignmentOrigins {
92
- .flex-#{$typeKey}#{$alignmentOriginKey} {
93
- @each $alignmentValueKey, $alignmentValueValue in $alignmentValues {
94
- :where(&-#{$alignmentValueKey}) {
95
- #{$typeValue}-#{$alignmentOriginValue}: #{$alignmentValueValue};
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 $justificationKey, $justificationValue in $justificationValues {
102
- :where(.flex-#{$typeKey}c-#{$justificationKey}) {
103
- #{$typeValue}-content: #{$justificationValue};
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
- &:is(
109
- [type='date' i],
110
- [type='datetime-local' i],
111
- [type='month' i],
112
- [type='number' i],
113
- [type='tel' i],
114
- [type='time' i],
115
- [type='url' i],
116
- [type='week' i]
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 rgba(0, 0, 0, 0.125);
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
- &.oui-validate:not(
180
- [disabled],
181
- [readonly],
182
- [aria-disabled='true' i]
183
- ):is(
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
- &.oui-validate:not(
212
- [disabled],
213
- [readonly],
214
- [aria-disabled='true' i]
215
- ):is(:user-valid:not([aria-invalid='true' i]), [aria-invalid='false' i])
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 rgba(0, 0, 0, 0.25);
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: all 0.125s ease-in-out, height 0s;
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 rgba(0, 0, 0, 0.125);
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 rgba(0, 0, 0, 0.25);
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 rgba(0, 0, 0, 0.5);
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 rgba(0, 0, 0, 0.5);
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: currentColor;
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.visuallyHidden;
622
+ @include mixins.visually-hidden;
646
623
  }
@@ -11,12 +11,8 @@
11
11
  );
12
12
 
13
13
  @include mixins.card(
14
- color-mix(
15
- in oklab,
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(&-blue, &-info) {
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(&-green, &-success) {
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(&-orange, &-warning) {
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(&-purple, &-special) {
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(&-red, &-error) {
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(&-yellow, &-notice) {
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);
@@ -40,11 +40,10 @@
40
40
  transition: 0.125s ease-in-out;
41
41
  }
42
42
 
43
- @mixin card($backgroundColor: var(--oui-absolute), $boxShadowColor: color-mix(
44
- in oklab,
45
- var(--oui-gray-6),
46
- transparent 92.5%
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 shadow($color: rgba(0, 0, 0, 0.05), $inset: transparent) {
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 -.5px $color,
88
+ 0 1px 2px -0.5px $color,
60
89
  0 2px 4px -1px $color;
61
90
  }
62
91
 
63
- @mixin shadowOverlay($color: rgba(0, 0, 0, 0.05), $inset: transparent) {
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 -.5px $color,
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 shadowSmall($color: rgba(0, 0, 0, 0.05), $inset: transparent) {
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 -.5px $color;
109
+ 0 1px 2px -0.5px $color;
81
110
  }
82
111
 
83
- @mixin visuallyHidden() {
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;
@@ -1,13 +1,18 @@
1
1
  @use 'mixins.scss' as mixins;
2
2
 
3
3
  :where([oui-popover-content]) {
4
- @include mixins.shadowOverlay;
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
+ }
@@ -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
- word-break: break-word;
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
- 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: button;
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.875rem;
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: currentColor;
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: button;
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
- -webkit-appearance: none;
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: currentColor;
349
+ fill: currentcolor;
350
350
  }
351
351
 
352
352
  /**
@@ -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: rgba(0, 0, 0, 0.1);
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: rgba(0, 0, 0, 0.25);
52
- outline: .25rem solid transparent;
53
- outline-offset: .25rem;
54
- border-radius: .25rem;
55
- transition: background .125s ease-in-out, outline .125s ease-in-out;
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]) {