@oscarpalmer/oui 0.35.0 → 0.37.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 (128) hide show
  1. package/dist/css/badge.css +18 -15
  2. package/dist/css/button.css +35 -31
  3. package/dist/css/color.css +20 -20
  4. package/dist/css/combobox.css +134 -35
  5. package/dist/css/content.css +29 -10
  6. package/dist/css/floatable.css +10 -10
  7. package/dist/css/form.css +393 -129
  8. package/dist/css/listbox.css +176 -0
  9. package/dist/css/message.css +13 -10
  10. package/dist/css/reset.css +29 -88
  11. package/dist/css/splitter.css +2 -2
  12. package/dist/css/tabs.css +103 -0
  13. package/dist/js/combobox/constants.combobox.d.mts +2 -2
  14. package/dist/js/combobox/constants.combobox.mjs +40 -33
  15. package/dist/js/combobox/dom.combobox.d.mts +8 -91
  16. package/dist/js/combobox/dom.combobox.mjs +204 -2
  17. package/dist/js/combobox/event.combobox.d.mts +14 -8
  18. package/dist/js/combobox/event.combobox.mjs +2 -2
  19. package/dist/js/combobox/index.d.mts +1 -1
  20. package/dist/js/combobox/index.mjs +20 -18
  21. package/dist/js/combobox/misc.combobox.d.mts +2 -2
  22. package/dist/js/combobox/misc.combobox.mjs +2 -2
  23. package/dist/js/combobox/models.combobox.d.mts +44 -2
  24. package/dist/js/combobox/state.combobox.d.mts +9 -10
  25. package/dist/js/combobox/state.combobox.mjs +2 -2
  26. package/dist/js/constants.combobox-DmRAMC64.d.mts +26 -0
  27. package/dist/js/constants.listbox-DRsXUxd3.d.mts +14 -0
  28. package/dist/js/focus-trap/focus-trap.embedded.mjs +6 -10
  29. package/dist/js/index-EfkUSals.d.mts +139 -0
  30. package/dist/js/index.d.mts +5 -2
  31. package/dist/js/index.mjs +5 -2
  32. package/dist/js/internal/attributable.mjs +4 -3
  33. package/dist/js/internal/draggable.mjs +16 -22
  34. package/dist/js/internal/listbox/listbox.constants.d.mts +11 -0
  35. package/dist/js/internal/listbox/listbox.constants.mjs +23 -0
  36. package/dist/js/internal/listbox/listbox.data.d.mts +20 -0
  37. package/dist/js/internal/listbox/listbox.data.mjs +2 -0
  38. package/dist/js/internal/listbox/listbox.dom.d.mts +66 -0
  39. package/dist/js/internal/listbox/listbox.dom.mjs +2 -0
  40. package/dist/js/internal/listbox/listbox.event.d.mts +5 -0
  41. package/dist/js/internal/listbox/listbox.event.mjs +63 -0
  42. package/dist/js/internal/listbox/listbox.form.d.mts +6 -0
  43. package/dist/js/internal/listbox/listbox.form.mjs +52 -0
  44. package/dist/js/internal/listbox/listbox.misc.d.mts +12 -0
  45. package/dist/js/internal/listbox/listbox.misc.mjs +2 -0
  46. package/dist/js/internal/listbox/listbox.model.d.mts +2 -0
  47. package/dist/js/internal/listbox/listbox.model.mjs +1 -0
  48. package/dist/js/internal/listbox/listbox.state.d.mts +7 -0
  49. package/dist/js/internal/listbox/listbox.state.mjs +40 -0
  50. package/dist/js/internal/misc.d.mts +6 -0
  51. package/dist/js/internal/misc.mjs +13 -0
  52. package/dist/js/internal/navigable.d.mts +11 -5
  53. package/dist/js/internal/navigable.mjs +44 -18
  54. package/dist/js/l10n-Bn-7RcwR.d.mts +20 -0
  55. package/dist/js/l10n.d.mts +2 -20
  56. package/dist/js/listbox/constants.listbox.d.mts +2 -0
  57. package/dist/js/listbox/constants.listbox.mjs +40 -0
  58. package/dist/js/listbox/event.listbox.d.mts +8 -0
  59. package/dist/js/listbox/event.listbox.mjs +2 -0
  60. package/dist/js/listbox/index.d.mts +116 -0
  61. package/dist/js/listbox/index.mjs +189 -0
  62. package/dist/js/listbox/misc.listbox.d.mts +2 -0
  63. package/dist/js/listbox/misc.listbox.mjs +2 -0
  64. package/dist/js/listbox/state.listbox.d.mts +11 -0
  65. package/dist/js/listbox/state.listbox.mjs +2 -0
  66. package/dist/js/listbox.data-BWd0PCy7.mjs +424 -0
  67. package/dist/js/listbox.model-CRReGOmu.d.mts +125 -0
  68. package/dist/js/misc.listbox-BI-XsTOf.mjs +197 -0
  69. package/dist/js/misc.listbox-gnoJhrTr.d.mts +20 -0
  70. package/dist/js/movable/movable.embedded.mjs +3 -6
  71. package/dist/js/resizable/resizable.embedded.mjs +16 -26
  72. package/dist/js/sortable/sortable.embedded.mjs +4 -2
  73. package/dist/js/splitter.mjs +15 -12
  74. package/dist/js/state.combobox-4xq0FPCF.mjs +365 -0
  75. package/dist/js/tabs.d.mts +25 -0
  76. package/dist/js/tabs.mjs +240 -0
  77. package/dist/js/tooltip.mjs +13 -12
  78. package/package.json +7 -3
  79. package/src/css/badge.scss +6 -18
  80. package/src/css/button.scss +6 -45
  81. package/src/css/color.scss +20 -20
  82. package/src/css/combobox.scss +21 -52
  83. package/src/css/content.scss +30 -3
  84. package/src/css/floatable.scss +17 -17
  85. package/src/css/form.scss +84 -72
  86. package/src/css/listbox.scss +120 -0
  87. package/src/css/message.scss +13 -28
  88. package/src/css/mixins.scss +253 -28
  89. package/src/css/reset.scss +37 -86
  90. package/src/css/splitter.scss +2 -2
  91. package/src/css/tabs.scss +85 -0
  92. package/src/js/combobox/constants.combobox.ts +46 -25
  93. package/src/js/combobox/dom.combobox.ts +36 -454
  94. package/src/js/combobox/event.combobox.ts +129 -218
  95. package/src/js/combobox/index.ts +37 -30
  96. package/src/js/combobox/misc.combobox.ts +30 -114
  97. package/src/js/combobox/models.combobox.ts +7 -47
  98. package/src/js/combobox/state.combobox.ts +126 -127
  99. package/src/js/focus-trap/focus-trap.embedded.ts +11 -19
  100. package/src/js/index.ts +2 -0
  101. package/src/js/internal/draggable.ts +29 -33
  102. package/src/js/internal/listbox/listbox.constants.ts +25 -0
  103. package/src/js/{combobox/data.combobox.ts → internal/listbox/listbox.data.ts} +94 -43
  104. package/src/js/internal/listbox/listbox.dom.ts +445 -0
  105. package/src/js/internal/listbox/listbox.event.ts +129 -0
  106. package/src/js/{combobox/form.combobox.ts → internal/listbox/listbox.form.ts} +13 -14
  107. package/src/js/internal/listbox/listbox.misc.ts +135 -0
  108. package/src/js/internal/listbox/listbox.model.ts +169 -0
  109. package/src/js/internal/listbox/listbox.state.ts +82 -0
  110. package/src/js/internal/misc.ts +27 -0
  111. package/src/js/internal/navigable.ts +80 -23
  112. package/src/js/l10n.ts +8 -8
  113. package/src/js/listbox/constants.listbox.ts +61 -0
  114. package/src/js/listbox/event.listbox.ts +106 -0
  115. package/src/js/listbox/index.ts +302 -0
  116. package/src/js/listbox/misc.listbox.ts +70 -0
  117. package/src/js/listbox/state.listbox.ts +196 -0
  118. package/src/js/movable/movable.embedded.ts +11 -13
  119. package/src/js/resizable/resizable.embedded.ts +25 -39
  120. package/src/js/splitter.ts +21 -18
  121. package/src/js/tabs.ts +447 -0
  122. package/src/js/tooltip.ts +20 -17
  123. package/dist/js/combobox/data.combobox.d.mts +0 -18
  124. package/dist/js/combobox/data.combobox.mjs +0 -2
  125. package/dist/js/combobox/form.combobox.d.mts +0 -6
  126. package/dist/js/combobox/form.combobox.mjs +0 -2
  127. package/dist/js/constants.combobox-h_kyDegw.d.mts +0 -248
  128. package/dist/js/data.combobox-B8HMkDOh.mjs +0 -1030
@@ -37,38 +37,26 @@
37
37
  // Colors
38
38
 
39
39
  :where(&-pill--blue, &-tag--blue) {
40
- --oui-background: var(--oui-blue-0);
41
- --oui-foreground: var(--oui-blue-8);
42
- --oui-shadow: var(--oui-blue-6);
40
+ @include mixins.badge-blue;
43
41
  }
44
42
 
45
43
  :where(&-pill--green, &-tag--green) {
46
- --oui-background: var(--oui-green-0);
47
- --oui-foreground: var(--oui-green-8);
48
- --oui-shadow: var(--oui-green-6);
44
+ @include mixins.badge-green;
49
45
  }
50
46
 
51
47
  :where(&-pill--orange, &-tag--orange) {
52
- --oui-background: var(--oui-orange-0);
53
- --oui-foreground: var(--oui-orange-8);
54
- --oui-shadow: var(--oui-orange-6);
48
+ @include mixins.badge-orange;
55
49
  }
56
50
 
57
51
  :where(&-pill--purple, &-tag--purple) {
58
- --oui-background: var(--oui-purple-0);
59
- --oui-foreground: var(--oui-purple-8);
60
- --oui-shadow: var(--oui-purple-6);
52
+ @include mixins.badge-purple;
61
53
  }
62
54
 
63
55
  :where(&-pill--red, &-tag--red) {
64
- --oui-background: var(--oui-red-0);
65
- --oui-foreground: var(--oui-red-8);
66
- --oui-shadow: var(--oui-red-6);
56
+ @include mixins.badge-red;
67
57
  }
68
58
 
69
59
  :where(&-pill--yellow, &-tag--yellow) {
70
- --oui-background: var(--oui-yellow-0);
71
- --oui-foreground: var(--oui-yellow-8);
72
- --oui-shadow: var(--oui-yellow-6);
60
+ @include mixins.badge-yellow;
73
61
  }
74
62
  }
@@ -8,39 +8,27 @@
8
8
  }
9
9
 
10
10
  :where(&--blue) {
11
- --oui-background-value: var(--oui-blue-2);
12
- --oui-foreground-value: var(--oui-blue-8);
13
- --oui-outline-value: var(--oui-blue-6);
11
+ @include mixins.button-blue;
14
12
  }
15
13
 
16
14
  :where(&--green) {
17
- --oui-background-value: var(--oui-green-2);
18
- --oui-foreground-value: var(--oui-green-8);
19
- --oui-outline-value: var(--oui-green-6);
15
+ @include mixins.button-green;
20
16
  }
21
17
 
22
18
  :where(&--orange) {
23
- --oui-background-value: var(--oui-orange-2);
24
- --oui-foreground-value: var(--oui-orange-8);
25
- --oui-outline-value: var(--oui-orange-6);
19
+ @include mixins.button-orange;
26
20
  }
27
21
 
28
22
  :where(&--purple) {
29
- --oui-background-value: var(--oui-purple-2);
30
- --oui-foreground-value: var(--oui-purple-8);
31
- --oui-outline-value: var(--oui-purple-6);
23
+ @include mixins.button-purple;
32
24
  }
33
25
 
34
26
  :where(&--red) {
35
- --oui-background-value: var(--oui-red-2);
36
- --oui-foreground-value: var(--oui-red-8);
37
- --oui-outline-value: var(--oui-red-6);
27
+ @include mixins.button-red;
38
28
  }
39
29
 
40
30
  :where(&--yellow) {
41
- --oui-background-value: var(--oui-yellow-2);
42
- --oui-foreground-value: var(--oui-yellow-8);
43
- --oui-outline-value: var(--oui-yellow-6);
31
+ @include mixins.button-yellow;
44
32
  }
45
33
 
46
34
  :where(&--rounded) {
@@ -59,31 +47,4 @@
59
47
 
60
48
  font-size: 0.75em;
61
49
  }
62
-
63
- :where(&:focus-visible) {
64
- --oui-outline-percentage: 75%;
65
- }
66
-
67
- @media (hover: hover) {
68
- :where(&:not([disabled], [aria-disabled='true' i]):hover) {
69
- --oui-background-percentage: 50%;
70
- --oui-foreground-percentage: 25%;
71
- --oui-shadow-percentage: 90%;
72
- }
73
- }
74
-
75
- :where(&:not([disabled], [aria-disabled='true' i]):active) {
76
- box-shadow:
77
- 0 0 0 1px var(--oui-shadow-value),
78
- inset 0 1px 2px 0 var(--oui-shadow-value),
79
- inset 0 2px 4px 0 var(--oui-shadow-value);
80
- }
81
-
82
- :where(&[disabled], &[aria-disabled='true' i]) {
83
- --oui-background-percentage: 80%;
84
- --oui-foreground-percentage: 20%;
85
- --oui-shadow-percentage: 95%;
86
-
87
- font-style: italic;
88
- }
89
50
  }
@@ -17,8 +17,8 @@
17
17
  --oui-blue-9: light-dark(oklch(35% 0.1 251deg), oklch(90% 0.03 259deg));
18
18
  --oui-blue-10: light-dark(oklch(30% 0.09 250deg), oklch(95% 0.02 260deg));
19
19
 
20
- --oui-green-0: light-dark(oklch(99% 0.01 150deg), oklch(20% 0.08 140deg));
21
- --oui-green-1: light-dark(oklch(98% 0.02 149deg), oklch(25% 0.09 141deg));
20
+ --oui-green-0: light-dark(oklch(99.5% 0.01 150deg), oklch(20% 0.08 140deg));
21
+ --oui-green-1: light-dark(oklch(98.25% 0.02 149deg), oklch(25% 0.09 141deg));
22
22
  --oui-green-2: light-dark(oklch(95% 0.03 148deg), oklch(32% 0.1 142deg));
23
23
  --oui-green-3: light-dark(oklch(90% 0.04 147deg), oklch(40% 0.09 143deg));
24
24
  --oui-green-4: light-dark(oklch(80% 0.06 146deg), oklch(50% 0.08 144deg));
@@ -29,11 +29,11 @@
29
29
  --oui-green-9: light-dark(oklch(35% 0.1 141deg), oklch(90% 0.03 149deg));
30
30
  --oui-green-10: light-dark(oklch(30% 0.09 140deg), oklch(95% 0.02 150deg));
31
31
 
32
- --oui-orange-0: light-dark(oklch(99% 0.02 60deg), oklch(20% 0.08 50deg));
33
- --oui-orange-1: light-dark(oklch(98.5% 0.035 59deg), oklch(25% 0.09 51deg));
34
- --oui-orange-2: light-dark(oklch(97% 0.05 58deg), oklch(32% 0.1 52deg));
35
- --oui-orange-3: light-dark(oklch(93% 0.07 57deg), oklch(40% 0.09 53deg));
36
- --oui-orange-4: light-dark(oklch(87% 0.1 56deg), oklch(50% 0.08 54deg));
32
+ --oui-orange-0: light-dark(oklch(99.5% 0.02 60deg), oklch(20% 0.08 50deg));
33
+ --oui-orange-1: light-dark(oklch(98.75% 0.035 59deg), oklch(25% 0.09 51deg));
34
+ --oui-orange-2: light-dark(oklch(97.5% 0.05 58deg), oklch(32% 0.1 52deg));
35
+ --oui-orange-3: light-dark(oklch(93.25% 0.07 57deg), oklch(40% 0.09 53deg));
36
+ --oui-orange-4: light-dark(oklch(87.125% 0.1 56deg), oklch(50% 0.08 54deg));
37
37
  --oui-orange-5: light-dark(oklch(76% 0.11 55deg), oklch(60% 0.07 55deg));
38
38
  --oui-orange-6: light-dark(oklch(65% 0.12 54deg), oklch(70% 0.06 56deg));
39
39
  --oui-orange-7: light-dark(oklch(55% 0.14 53deg), oklch(80% 0.05 57deg));
@@ -41,8 +41,8 @@
41
41
  --oui-orange-9: light-dark(oklch(37.5% 0.11 51deg), oklch(90% 0.03 59deg));
42
42
  --oui-orange-10: light-dark(oklch(30% 0.09 50deg), oklch(95% 0.02 60deg));
43
43
 
44
- --oui-purple-0: light-dark(oklch(99% 0.02 300deg), oklch(20% 0.08 290deg));
45
- --oui-purple-1: light-dark(oklch(98% 0.035 299deg), oklch(25% 0.09 291deg));
44
+ --oui-purple-0: light-dark(oklch(99.5% 0.02 300deg), oklch(20% 0.08 290deg));
45
+ --oui-purple-1: light-dark(oklch(98.25% 0.035 299deg), oklch(25% 0.09 291deg));
46
46
  --oui-purple-2: light-dark(oklch(95% 0.05 298deg), oklch(32% 0.1 292deg));
47
47
  --oui-purple-3: light-dark(oklch(90% 0.07 297deg), oklch(40% 0.09 293deg));
48
48
  --oui-purple-4: light-dark(oklch(80% 0.1 296deg), oklch(50% 0.08 294deg));
@@ -53,11 +53,11 @@
53
53
  --oui-purple-9: light-dark(oklch(35% 0.11 291deg), oklch(90% 0.03 299deg));
54
54
  --oui-purple-10: light-dark(oklch(30% 0.09 290deg), oklch(95% 0.02 300deg));
55
55
 
56
- --oui-red-0: light-dark(oklch(99% 0.024 25deg), oklch(20% 0.08 25deg));
57
- --oui-red-1: light-dark(oklch(98.5% 0.032 24deg), oklch(25% 0.09 24deg));
58
- --oui-red-2: light-dark(oklch(97% 0.05 23deg), oklch(32% 0.1 23deg));
59
- --oui-red-3: light-dark(oklch(93% 0.07 22deg), oklch(40% 0.09 22deg));
60
- --oui-red-4: light-dark(oklch(87% 0.1 21deg), oklch(50% 0.08 21deg));
56
+ --oui-red-0: light-dark(oklch(99.5% 0.024 25deg), oklch(20% 0.08 25deg));
57
+ --oui-red-1: light-dark(oklch(98.75% 0.032 24deg), oklch(25% 0.09 24deg));
58
+ --oui-red-2: light-dark(oklch(97.5% 0.05 23deg), oklch(32% 0.1 23deg));
59
+ --oui-red-3: light-dark(oklch(93.25% 0.07 22deg), oklch(40% 0.09 22deg));
60
+ --oui-red-4: light-dark(oklch(87.125% 0.1 21deg), oklch(50% 0.08 21deg));
61
61
  --oui-red-5: light-dark(oklch(76% 0.11 20deg), oklch(60% 0.07 20deg));
62
62
  --oui-red-6: light-dark(oklch(65% 0.12 19deg), oklch(70% 0.06 19deg));
63
63
  --oui-red-7: light-dark(oklch(55% 0.14 18deg), oklch(80% 0.05 18deg));
@@ -65,10 +65,10 @@
65
65
  --oui-red-9: light-dark(oklch(37.5% 0.11 16deg), oklch(90% 0.03 16deg));
66
66
  --oui-red-10: light-dark(oklch(30% 0.09 15deg), oklch(95% 0.02 15deg));
67
67
 
68
- --oui-yellow-0: light-dark(oklch(99% 0.02 100deg), oklch(20% 0.08 90deg));
68
+ --oui-yellow-0: light-dark(oklch(99.5% 0.02 100deg), oklch(20% 0.08 90deg));
69
69
  --oui-yellow-1: light-dark(oklch(98.5% 0.035 99deg), oklch(25% 0.09 91deg));
70
- --oui-yellow-2: light-dark(oklch(97% 0.05 98deg), oklch(32% 0.1 92deg));
71
- --oui-yellow-3: light-dark(oklch(93% 0.07 97deg), oklch(40% 0.09 93deg));
70
+ --oui-yellow-2: light-dark(oklch(97.25% 0.05 98deg), oklch(32% 0.1 92deg));
71
+ --oui-yellow-3: light-dark(oklch(93.125% 0.07 97deg), oklch(40% 0.09 93deg));
72
72
  --oui-yellow-4: light-dark(oklch(87% 0.1 96deg), oklch(50% 0.08 94deg));
73
73
  --oui-yellow-5: light-dark(oklch(78% 0.11 95deg), oklch(60% 0.07 95deg));
74
74
  --oui-yellow-6: light-dark(oklch(65% 0.12 94deg), oklch(70% 0.06 96deg));
@@ -78,7 +78,7 @@
78
78
  --oui-yellow-10: light-dark(oklch(30% 0.09 90deg), oklch(95% 0.02 100deg));
79
79
 
80
80
  --oui-gray-0: light-dark(oklch(98% 0 0deg), oklch(22% 0 0deg));
81
- --oui-gray-1: light-dark(oklch(98% 0 0deg), oklch(26% 0 0deg));
81
+ --oui-gray-1: light-dark(oklch(97% 0 0deg), oklch(26% 0 0deg));
82
82
  --oui-gray-2: light-dark(oklch(95% 0 0deg), oklch(32% 0 0deg));
83
83
  --oui-gray-3: light-dark(oklch(90% 0 0deg), oklch(40% 0 0deg));
84
84
  --oui-gray-4: light-dark(oklch(80% 0 0deg), oklch(50% 0 0deg));
@@ -101,8 +101,8 @@
101
101
  --oui-slate-9: light-dark(oklch(35% 0.0075 255deg), oklch(90% 0.0075 255deg));
102
102
  --oui-slate-10: light-dark(oklch(30% 0.005 255deg), oklch(95% 0.005 255deg));
103
103
 
104
- --oui-stone-0: light-dark(oklch(99% 0.0033 95deg), oklch(22% 0.005 95deg));
105
- --oui-stone-1: light-dark(oklch(98% 0.0067 95deg), oklch(26% 0.0075 95deg));
104
+ --oui-stone-0: light-dark(oklch(99.5% 0.0033 95deg), oklch(22% 0.005 95deg));
105
+ --oui-stone-1: light-dark(oklch(98.25% 0.0067 95deg), oklch(26% 0.0075 95deg));
106
106
  --oui-stone-2: light-dark(oklch(95% 0.01 95deg), oklch(32% 0.01 95deg));
107
107
  --oui-stone-3: light-dark(oklch(90% 0.0125 95deg), oklch(40% 0.0125 95deg));
108
108
  --oui-stone-4: light-dark(oklch(80% 0.015 95deg), oklch(50% 0.015 95deg));
@@ -17,32 +17,28 @@
17
17
  position: relative;
18
18
  }
19
19
 
20
- :where(&:not([disabled], [readonly], [aria-disabled='true' i]):focus),
21
- :where(&:not([disabled], [readonly], [aria-disabled='true' i]):focus-within),
22
- :where(
23
- &:not([disabled], [readonly], [aria-disabled='true' i]):has(
24
- + [oui-combobox-content]:focus-within
25
- )
26
- ) {
27
- @include mixins.input-focus;
28
- }
20
+ &:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) {
21
+ :where(&:focus-visible, &:focus-within, &:has(+ [oui-combobox-content]:focus-within)) {
22
+ @include mixins.input-focus;
23
+ }
29
24
 
30
- @media (hover: hover) {
31
- :where(
32
- &:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]):hover
33
- ) {
34
- @include mixins.input-hover;
25
+ @media (hover: hover) {
26
+ :where(&:hover) {
27
+ @include mixins.input-hover;
28
+ }
35
29
  }
36
30
  }
37
31
 
38
- :where(&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i])) {
39
- --oui-foreground-percentage: 25%;
32
+ &:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) {
33
+ :where(&) {
34
+ --oui-foreground-percentage: 25%;
40
35
 
41
- font-style: italic;
42
- }
36
+ font-style: italic;
37
+ }
43
38
 
44
- :where(&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]):focus) {
45
- --oui-outline-percentage: 75%;
39
+ :where(&:focus-visible, &:focus-within, &:has(+ [oui-combobox-content]:focus-within)) {
40
+ --oui-outline-percentage: 75%;
41
+ }
46
42
  }
47
43
 
48
44
  :where(&:is([disabled], [aria-disabled='true' i])) {
@@ -63,7 +59,7 @@
63
59
 
64
60
  :where([oui-combobox-content]) {
65
61
  @include mixins.floatable;
66
- @include mixins.shadow-overlay;
62
+ @include mixins.shadow-5;
67
63
 
68
64
  width: fit-content;
69
65
  height: fit-content;
@@ -95,7 +91,7 @@
95
91
  background-color: var(--oui-yellow-0);
96
92
  border-radius: 0.25em 0.25em 0 0;
97
93
  position: relative;
98
- z-index: 1;
94
+ z-index: 2;
99
95
  }
100
96
 
101
97
  :where([oui-combobox-filter-input]) {
@@ -109,30 +105,6 @@
109
105
  outline-width: 0;
110
106
  border-radius: 0.25em;
111
107
  font-size: 0.875rem;
112
-
113
- :where(&:focus) {
114
- @include mixins.input-focus;
115
- }
116
-
117
- @media (hover: hover) {
118
- :where(&:hover) {
119
- @include mixins.input-hover;
120
- }
121
- }
122
-
123
- :where(&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i])) {
124
- --oui-foreground-percentage: 25%;
125
-
126
- font-style: italic;
127
- }
128
-
129
- :where(&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]):focus) {
130
- --oui-outline-percentage: 75%;
131
- }
132
-
133
- :where(&:is([disabled], [aria-disabled='true' i])) {
134
- --oui-background-percentage: 50%;
135
- }
136
108
  }
137
109
 
138
110
  :where([oui-combobox-header]) {
@@ -169,7 +141,6 @@
169
141
  outline-offset: -4px;
170
142
  line-height: 1.25;
171
143
  cursor: pointer;
172
- transition: 0.125s ease-in-out;
173
144
  }
174
145
 
175
146
  :where(&[aria-selected='true' i]) {
@@ -182,9 +153,7 @@
182
153
  margin: 0 0.75em 0 0;
183
154
  }
184
155
 
185
- :where(
186
- oui-combobox:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) &
187
- ) {
156
+ oui-combobox:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) & {
188
157
  @media (hover: hover) {
189
158
  :where(&:hover) {
190
159
  background-color: var(--oui-blue-1);
@@ -217,9 +186,9 @@
217
186
  :where(&) {
218
187
  @include mixins.button;
219
188
 
220
- --oui-background-value: var(--oui-blue-1);
221
- --oui-foreground-percentage: 12.5%;
189
+ --oui-background-value: var(--oui-blue-2);
222
190
  --oui-foreground-value: var(--oui-blue-8);
191
+ --oui-outline-value: var(--oui-blue-6);
223
192
  --oui-shadow-percentage: 90%;
224
193
 
225
194
  padding: 0.5em 1em;
@@ -3,9 +3,9 @@
3
3
  @use './mixins' as mixins;
4
4
 
5
5
  @mixin thumb($background, $shadow) {
6
- @include mixins.shadow-small(
6
+ @include mixins.shadow-0(
7
7
  color-mix(in oklab, $shadow, transparent 33%),
8
- color-mix(in oklab, white, transparent 82.5%)
8
+ color-mix(in oklab, var(--oui-absolute), transparent 82.5%)
9
9
  );
10
10
 
11
11
  appearance: none;
@@ -56,7 +56,7 @@
56
56
  mask-size: contain;
57
57
  mask-position: center;
58
58
  mask-repeat: no-repeat;
59
- transition: 0.125s ease-in-out;
59
+ transition: transform 0.125s ease-in-out;
60
60
  transform: rotate(-90deg);
61
61
  }
62
62
 
@@ -151,3 +151,30 @@
151
151
  }
152
152
  }
153
153
  }
154
+
155
+ .oui-shadow {
156
+ :where(&),
157
+ :where(&-0) {
158
+ @include mixins.shadow-0;
159
+ }
160
+
161
+ :where(&-1) {
162
+ @include mixins.shadow-1;
163
+ }
164
+
165
+ :where(&-2) {
166
+ @include mixins.shadow-2;
167
+ }
168
+
169
+ :where(&-3) {
170
+ @include mixins.shadow-3;
171
+ }
172
+
173
+ :where(&-4) {
174
+ @include mixins.shadow-4;
175
+ }
176
+
177
+ :where(&-5) {
178
+ @include mixins.shadow-5;
179
+ }
180
+ }
@@ -8,7 +8,7 @@
8
8
  }
9
9
 
10
10
  :where([oui-dialog], [oui-popover], [oui-tooltip-content]) {
11
- @include mixins.shadow-overlay;
11
+ @include mixins.shadow-5;
12
12
 
13
13
  background-color: var(--oui-absolute);
14
14
  scale: 0.9;
@@ -97,49 +97,49 @@
97
97
  position: absolute;
98
98
  }
99
99
 
100
- &[oui-position^='above'],
101
- &[oui-position^='below'],
102
- &[oui-position^='bottom'],
103
- &[oui-position^='top'] {
100
+ &[oui-position^='above' i],
101
+ &[oui-position^='below' i],
102
+ &[oui-position^='bottom' i],
103
+ &[oui-position^='top' i] {
104
104
  &::after {
105
105
  width: 100%;
106
106
  height: 1em;
107
107
  }
108
108
  }
109
109
 
110
- &[oui-position^='above'],
111
- &[oui-position^='top'] {
110
+ &[oui-position^='above' i],
111
+ &[oui-position^='top' i] {
112
112
  &::after {
113
113
  inset: calc(100% - 0.5em) 0 0;
114
114
  }
115
115
  }
116
116
 
117
- &[oui-position^='below'],
118
- &[oui-position^='bottom'] {
117
+ &[oui-position^='below' i],
118
+ &[oui-position^='bottom' i] {
119
119
  &::after {
120
120
  inset: -0.5em 0 0;
121
121
  }
122
122
  }
123
123
 
124
- &[oui-position^='end'],
125
- &[oui-position^='left'],
126
- &[oui-position^='right'],
127
- &[oui-position^='start'] {
124
+ &[oui-position^='end' i],
125
+ &[oui-position^='left' i],
126
+ &[oui-position^='right' i],
127
+ &[oui-position^='start' i] {
128
128
  &::after {
129
129
  width: 1em;
130
130
  height: 100%;
131
131
  }
132
132
  }
133
133
 
134
- &[oui-position^='end'],
135
- &[oui-position^='right'] {
134
+ &[oui-position^='end' i],
135
+ &[oui-position^='right' i] {
136
136
  &::after {
137
137
  inset: 0 0 0 -0.5em;
138
138
  }
139
139
  }
140
140
 
141
- &[oui-position^='left'],
142
- &[oui-position^='start'] {
141
+ &[oui-position^='left' i],
142
+ &[oui-position^='start' i] {
143
143
  &::after {
144
144
  inset: 0 0 0 calc(100% - 0.5em);
145
145
  }