@oscarpalmer/oui 0.38.0 → 0.40.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 (264) hide show
  1. package/README.md +1 -1
  2. package/dist/css/badge.css +11 -8
  3. package/dist/css/button.css +106 -14
  4. package/dist/css/color-picker.css +555 -73
  5. package/dist/css/color.css +86 -86
  6. package/dist/css/combobox.css +98 -4
  7. package/dist/css/content.css +7 -6
  8. package/dist/css/floatable.css +1 -3
  9. package/dist/css/form.css +99 -6
  10. package/dist/css/icon.css +99 -0
  11. package/dist/css/listbox.css +3 -0
  12. package/dist/css/message.css +4 -3
  13. package/dist/css/mixins/button.mixins.css +1 -0
  14. package/dist/css/reset.css +1 -1
  15. package/dist/css/tabs.css +95 -3
  16. package/dist/css/typography.css +90 -0
  17. package/dist/js/color-picker/color-picker.constants.d.mts +2 -0
  18. package/dist/js/color-picker/color-picker.constants.mjs +60 -0
  19. package/dist/js/color-picker/color-picker.dom.d.mts +8 -0
  20. package/dist/js/color-picker/color-picker.dom.mjs +191 -0
  21. package/dist/js/color-picker/color-picker.event.d.mts +9 -0
  22. package/dist/js/color-picker/color-picker.event.mjs +2 -0
  23. package/dist/js/color-picker/color-picker.form.d.mts +5 -0
  24. package/dist/js/color-picker/color-picker.form.mjs +27 -0
  25. package/dist/js/color-picker/color-picker.misc.d.mts +2 -0
  26. package/dist/js/color-picker/color-picker.misc.mjs +2 -0
  27. package/dist/js/color-picker/color-picker.model.d.mts +2 -0
  28. package/dist/js/color-picker/color-picker.model.mjs +24 -0
  29. package/dist/js/color-picker/color-picker.output.d.mts +8 -0
  30. package/dist/js/color-picker/color-picker.output.mjs +235 -0
  31. package/dist/js/color-picker/color-picker.state.d.mts +8 -0
  32. package/dist/js/color-picker/color-picker.state.mjs +2 -0
  33. package/dist/js/{color-picker.d.mts → color-picker/index.d.mts} +10 -43
  34. package/dist/js/color-picker/index.mjs +305 -0
  35. package/dist/js/color-picker.constants-D1mxw_Le.d.mts +179 -0
  36. package/dist/js/color-picker.event-Cksj5TvS.mjs +500 -0
  37. package/dist/js/color-picker.misc-CtsXGrOe.d.mts +27 -0
  38. package/dist/js/combobox/combobox.constants.d.mts +2 -0
  39. package/dist/js/combobox/{constants.combobox.mjs → combobox.constants.mjs} +21 -21
  40. package/dist/js/combobox/combobox.dom.d.mts +26 -0
  41. package/dist/js/combobox/{dom.combobox.mjs → combobox.dom.mjs} +44 -37
  42. package/dist/js/combobox/combobox.event.d.mts +22 -0
  43. package/dist/js/combobox/{event.combobox.mjs → combobox.event.mjs} +1 -1
  44. package/dist/js/combobox/combobox.misc.d.mts +2 -0
  45. package/dist/js/combobox/{misc.combobox.mjs → combobox.misc.mjs} +1 -1
  46. package/dist/js/combobox/combobox.model.d.mts +2 -0
  47. package/dist/js/combobox/combobox.state.d.mts +10 -0
  48. package/dist/js/combobox/combobox.state.mjs +2 -0
  49. package/dist/js/combobox/index.d.mts +163 -2
  50. package/dist/js/combobox/index.mjs +53 -52
  51. package/dist/js/combobox.constants-DZVkMP5g.d.mts +19 -0
  52. package/dist/js/combobox.misc-C1tPZZDi.d.mts +22 -0
  53. package/dist/js/{combobox/models.combobox.d.mts → combobox.model-oDV06XCN.d.mts} +6 -6
  54. package/dist/js/{state.combobox-Qm3FWzYW.mjs → combobox.state-BfJ3Hxg8.mjs} +96 -82
  55. package/dist/js/constants.listbox-C5Ap6Ag_.d.mts +9 -0
  56. package/dist/js/dialog/dialog.model.d.mts +2 -0
  57. package/dist/js/dialog/dialog.model.mjs +11 -0
  58. package/dist/js/dialog/index.d.mts +12 -0
  59. package/dist/js/dialog/index.mjs +123 -0
  60. package/dist/js/dialog.model-DX2mndMh.d.mts +45 -0
  61. package/dist/js/floatable/floatable.embedded.d.mts +2 -2
  62. package/dist/js/floatable/floatable.embedded.mjs +64 -92
  63. package/dist/js/floatable/floatable.model.d.mts +2 -0
  64. package/dist/js/floatable/floatable.model.mjs +23 -0
  65. package/dist/js/floatable/floatable.standalone.d.mts +2 -1
  66. package/dist/js/floatable.embedded-MeTyXjFn.d.mts +17 -0
  67. package/dist/js/floatable.model-DXsQgoU7.d.mts +62 -0
  68. package/dist/js/focus-trap/focus-trap.embedded.d.mts +2 -2
  69. package/dist/js/focus-trap/focus-trap.embedded.mjs +112 -134
  70. package/dist/js/focus-trap/focus-trap.model.d.mts +2 -0
  71. package/dist/js/focus-trap/focus-trap.model.mjs +15 -0
  72. package/dist/js/focus-trap/focus-trap.standalone.d.mts +2 -1
  73. package/dist/js/focus-trap.embedded-DIU05m1z.d.mts +13 -0
  74. package/dist/js/{focus-trap.embedded-DR8NpZfr.d.mts → focus-trap.model-BeX6UYlw.d.mts} +16 -18
  75. package/dist/js/index.d.mts +26 -14
  76. package/dist/js/index.mjs +18 -15
  77. package/dist/js/internal/attributable.d.mts +2 -3
  78. package/dist/js/internal/attributable.mjs +3 -2
  79. package/dist/js/internal/draggable/draggable.model.d.mts +2 -0
  80. package/dist/js/internal/draggable/draggable.model.mjs +37 -0
  81. package/dist/js/internal/draggable/index.d.mts +13 -0
  82. package/dist/js/internal/{draggable.mjs → draggable/index.mjs} +83 -114
  83. package/dist/js/internal/listbox/listbox.constants.d.mts +7 -10
  84. package/dist/js/internal/listbox/listbox.constants.mjs +15 -16
  85. package/dist/js/internal/listbox/listbox.data.d.mts +9 -10
  86. package/dist/js/internal/listbox/listbox.data.mjs +1 -1
  87. package/dist/js/internal/listbox/listbox.dom.d.mts +19 -20
  88. package/dist/js/internal/listbox/listbox.dom.mjs +1 -1
  89. package/dist/js/internal/listbox/listbox.event.d.mts +3 -4
  90. package/dist/js/internal/listbox/listbox.event.mjs +23 -20
  91. package/dist/js/internal/listbox/listbox.form.d.mts +4 -5
  92. package/dist/js/internal/listbox/listbox.form.mjs +15 -12
  93. package/dist/js/internal/listbox/listbox.misc.d.mts +10 -11
  94. package/dist/js/internal/listbox/listbox.misc.mjs +1 -1
  95. package/dist/js/internal/listbox/listbox.model.d.mts +2 -2
  96. package/dist/js/internal/listbox/listbox.state.d.mts +5 -6
  97. package/dist/js/internal/listbox/listbox.state.mjs +19 -20
  98. package/dist/js/internal/misc.d.mts +5 -4
  99. package/dist/js/internal/misc.mjs +7 -1
  100. package/dist/js/internal/navigable/index.d.mts +6 -0
  101. package/dist/js/internal/navigable/index.mjs +125 -0
  102. package/dist/js/internal/navigable/navigable.model.d.mts +2 -0
  103. package/dist/js/internal/navigable/navigable.model.mjs +18 -0
  104. package/dist/js/l10n/index.d.mts +9 -0
  105. package/dist/js/{l10n.mjs → l10n/index.mjs} +50 -23
  106. package/dist/js/l10n/l10n.model.d.mts +2 -0
  107. package/dist/js/l10n/l10n.model.mjs +9 -0
  108. package/dist/js/l10n.model-D6a9frgl.d.mts +26 -0
  109. package/dist/js/listbox/constants.listbox.d.mts +2 -2
  110. package/dist/js/listbox/constants.listbox.mjs +10 -14
  111. package/dist/js/listbox/event.listbox.d.mts +6 -7
  112. package/dist/js/listbox/event.listbox.mjs +47 -1
  113. package/dist/js/listbox/index.d.mts +8 -6
  114. package/dist/js/listbox/index.mjs +47 -49
  115. package/dist/js/listbox/misc.listbox.d.mts +1 -1
  116. package/dist/js/listbox/misc.listbox.mjs +1 -1
  117. package/dist/js/listbox/state.listbox.d.mts +8 -10
  118. package/dist/js/listbox/state.listbox.mjs +2 -2
  119. package/dist/js/{listbox.data-C7CRa5Ya.mjs → listbox.data-BQyZGKgr.mjs} +83 -66
  120. package/dist/js/{listbox.model-CRReGOmu.d.mts → listbox.model-CuBOj4qe.d.mts} +15 -11
  121. package/dist/js/menu/index.mjs +167 -0
  122. package/dist/js/menu/menu.model.d.mts +33 -0
  123. package/dist/js/menu/menu.model.mjs +15 -0
  124. package/dist/js/{misc.listbox-Cyz2CRDy.mjs → misc.listbox-CjfBUbHD.mjs} +27 -69
  125. package/dist/js/{misc.listbox-gnoJhrTr.d.mts → misc.listbox-CtoGvXQo.d.mts} +2 -2
  126. package/dist/js/movable/movable.embedded.d.mts +2 -2
  127. package/dist/js/movable/movable.embedded.mjs +60 -72
  128. package/dist/js/movable/movable.model.d.mts +2 -0
  129. package/dist/js/movable/movable.model.mjs +12 -0
  130. package/dist/js/movable/movable.standalone.d.mts +2 -1
  131. package/dist/js/movable.embedded-DoyXLegc.d.mts +11 -0
  132. package/dist/js/movable.model-BHaK_mKw.d.mts +186 -0
  133. package/dist/js/navigable.model-BPOM8DZk.d.mts +44 -0
  134. package/dist/js/popover/index.d.mts +12 -0
  135. package/dist/js/{popover.mjs → popover/index.mjs} +40 -50
  136. package/dist/js/popover/popover.model.d.mts +2 -0
  137. package/dist/js/popover/popover.model.mjs +12 -0
  138. package/dist/js/popover.model-ubKNG612.d.mts +38 -0
  139. package/dist/js/resizable/resizable.embedded.d.mts +2 -2
  140. package/dist/js/resizable/resizable.embedded.mjs +44 -59
  141. package/dist/js/resizable/resizable.model.d.mts +2 -0
  142. package/dist/js/resizable/resizable.model.mjs +21 -0
  143. package/dist/js/resizable/resizable.standalone.d.mts +2 -1
  144. package/dist/js/resizable.embedded-Bf1qBUdt.d.mts +11 -0
  145. package/dist/js/resizable.model-BwzJcTVJ.d.mts +46 -0
  146. package/dist/js/sortable/sortable.embedded.d.mts +2 -2
  147. package/dist/js/sortable/sortable.embedded.mjs +69 -82
  148. package/dist/js/sortable/sortable.model.d.mts +2 -0
  149. package/dist/js/sortable/sortable.model.mjs +24 -0
  150. package/dist/js/sortable/sortable.standalone.d.mts +2 -1
  151. package/dist/js/sortable.embedded-DzBKAwSG.d.mts +11 -0
  152. package/dist/js/{splitter.d.mts → splitter/index.d.mts} +8 -7
  153. package/dist/js/splitter/index.mjs +284 -0
  154. package/dist/js/splitter/splitter.model.d.mts +2 -0
  155. package/dist/js/splitter/splitter.model.mjs +37 -0
  156. package/dist/js/splitter.model-DOLNjLVS.d.mts +57 -0
  157. package/dist/js/{tabs.d.mts → tabs/index.d.mts} +7 -8
  158. package/dist/js/{tabs.mjs → tabs/index.mjs} +58 -58
  159. package/dist/js/tabs/tabs.model.d.mts +2 -0
  160. package/dist/js/tabs/tabs.model.mjs +18 -0
  161. package/dist/js/tabs.model-DRBX_JtI.d.mts +40 -0
  162. package/dist/js/toolbar/index.mjs +27 -0
  163. package/dist/js/toolbar/toolbar.model.d.mts +11 -0
  164. package/dist/js/toolbar/toolbar.model.mjs +7 -0
  165. package/dist/js/tooltip/index.d.mts +19 -0
  166. package/dist/js/{tooltip.mjs → tooltip/index.mjs} +60 -85
  167. package/dist/js/tooltip/tooltip.model.d.mts +2 -0
  168. package/dist/js/tooltip/tooltip.model.mjs +15 -0
  169. package/dist/js/tooltip.model-DRkY_BsL.d.mts +37 -0
  170. package/package.json +43 -37
  171. package/dist/js/color-picker.mjs +0 -924
  172. package/dist/js/combobox/constants.combobox.d.mts +0 -2
  173. package/dist/js/combobox/dom.combobox.d.mts +0 -27
  174. package/dist/js/combobox/event.combobox.d.mts +0 -23
  175. package/dist/js/combobox/misc.combobox.d.mts +0 -2
  176. package/dist/js/combobox/state.combobox.d.mts +0 -12
  177. package/dist/js/combobox/state.combobox.mjs +0 -2
  178. package/dist/js/constants.combobox-DmRAMC64.d.mts +0 -26
  179. package/dist/js/constants.listbox-DRsXUxd3.d.mts +0 -14
  180. package/dist/js/dialog.d.mts +0 -47
  181. package/dist/js/dialog.mjs +0 -131
  182. package/dist/js/draggable-a6w0J1OD.d.mts +0 -154
  183. package/dist/js/floatable.embedded-Bct4U5Dm.d.mts +0 -69
  184. package/dist/js/index-DJdFlTLm.d.mts +0 -177
  185. package/dist/js/internal/draggable.d.mts +0 -2
  186. package/dist/js/internal/navigable.d.mts +0 -37
  187. package/dist/js/internal/navigable.mjs +0 -135
  188. package/dist/js/l10n-Bn-7RcwR.d.mts +0 -20
  189. package/dist/js/l10n.d.mts +0 -2
  190. package/dist/js/menu.mjs +0 -172
  191. package/dist/js/popover.d.mts +0 -38
  192. package/dist/js/resizable.embedded-3qoR0Bjm.d.mts +0 -34
  193. package/dist/js/splitter.mjs +0 -322
  194. package/dist/js/toolbar.mjs +0 -31
  195. package/dist/js/tooltip.d.mts +0 -45
  196. package/src/css/a11y.scss +0 -13
  197. package/src/css/badge.scss +0 -62
  198. package/src/css/button.scss +0 -50
  199. package/src/css/color-picker.scss +0 -344
  200. package/src/css/color.scss +0 -113
  201. package/src/css/combobox.scss +0 -255
  202. package/src/css/content.scss +0 -181
  203. package/src/css/flex.scss +0 -107
  204. package/src/css/floatable.scss +0 -155
  205. package/src/css/form.scss +0 -575
  206. package/src/css/listbox.scss +0 -121
  207. package/src/css/message.scss +0 -74
  208. package/src/css/mixins/badge.mixins.scss +0 -53
  209. package/src/css/mixins/button.mixins.scss +0 -112
  210. package/src/css/mixins/input.mixins.scss +0 -114
  211. package/src/css/mixins/message.mixins.scss +0 -41
  212. package/src/css/mixins/misc.mixins.scss +0 -48
  213. package/src/css/mixins/shadow.mixins.scss +0 -57
  214. package/src/css/reset.scss +0 -392
  215. package/src/css/splitter.scss +0 -89
  216. package/src/css/table.scss +0 -107
  217. package/src/css/tabs.scss +0 -74
  218. package/src/js/color-picker.ts +0 -1653
  219. package/src/js/combobox/constants.combobox.ts +0 -83
  220. package/src/js/combobox/dom.combobox.ts +0 -411
  221. package/src/js/combobox/event.combobox.ts +0 -365
  222. package/src/js/combobox/index.ts +0 -382
  223. package/src/js/combobox/misc.combobox.ts +0 -104
  224. package/src/js/combobox/models.combobox.ts +0 -54
  225. package/src/js/combobox/state.combobox.ts +0 -246
  226. package/src/js/dialog.ts +0 -255
  227. package/src/js/floatable/floatable.embedded.ts +0 -336
  228. package/src/js/floatable/floatable.standalone.ts +0 -6
  229. package/src/js/focus-trap/focus-trap.embedded.ts +0 -411
  230. package/src/js/focus-trap/focus-trap.standalone.ts +0 -1
  231. package/src/js/index.ts +0 -16
  232. package/src/js/internal/attributable.ts +0 -73
  233. package/src/js/internal/draggable.ts +0 -657
  234. package/src/js/internal/listbox/listbox.constants.ts +0 -25
  235. package/src/js/internal/listbox/listbox.data.ts +0 -287
  236. package/src/js/internal/listbox/listbox.dom.ts +0 -446
  237. package/src/js/internal/listbox/listbox.event.ts +0 -129
  238. package/src/js/internal/listbox/listbox.form.ts +0 -125
  239. package/src/js/internal/listbox/listbox.misc.ts +0 -135
  240. package/src/js/internal/listbox/listbox.model.ts +0 -169
  241. package/src/js/internal/listbox/listbox.state.ts +0 -82
  242. package/src/js/internal/misc.ts +0 -27
  243. package/src/js/internal/navigable.ts +0 -317
  244. package/src/js/l10n.ts +0 -192
  245. package/src/js/listbox/constants.listbox.ts +0 -61
  246. package/src/js/listbox/event.listbox.ts +0 -106
  247. package/src/js/listbox/index.ts +0 -364
  248. package/src/js/listbox/misc.listbox.ts +0 -70
  249. package/src/js/listbox/state.listbox.ts +0 -194
  250. package/src/js/menu.ts +0 -348
  251. package/src/js/movable/movable.embedded.ts +0 -318
  252. package/src/js/movable/movable.standalone.ts +0 -2
  253. package/src/js/popover.ts +0 -229
  254. package/src/js/resizable/resizable.embedded.ts +0 -413
  255. package/src/js/resizable/resizable.standalone.ts +0 -5
  256. package/src/js/sortable/sortable.embedded.ts +0 -527
  257. package/src/js/sortable/sortable.standalone.ts +0 -2
  258. package/src/js/splitter.ts +0 -583
  259. package/src/js/tabs.ts +0 -441
  260. package/src/js/toolbar.ts +0 -63
  261. package/src/js/tooltip.ts +0 -367
  262. /package/dist/js/combobox/{models.combobox.mjs → combobox.model.mjs} +0 -0
  263. /package/dist/js/{menu.d.mts → menu/index.d.mts} +0 -0
  264. /package/dist/js/{toolbar.d.mts → toolbar/index.d.mts} +0 -0
@@ -1,105 +1,105 @@
1
1
  /*! https://github.com/oscarpalmer/oui */
2
2
  :root {
3
3
  --oui-absolute: light-dark(white, black);
4
- --oui-blue-0: light-dark(oklch(99% 0.01 260deg), oklch(20% 0.08 250deg));
5
- --oui-blue-1: light-dark(oklch(98% 0.02 259deg), oklch(25% 0.09 251deg));
6
- --oui-blue-2: light-dark(oklch(95% 0.03 258deg), oklch(32% 0.1 252deg));
7
- --oui-blue-3: light-dark(oklch(90% 0.04 257deg), oklch(40% 0.09 253deg));
8
- --oui-blue-4: light-dark(oklch(80% 0.06 256deg), oklch(50% 0.08 254deg));
9
- --oui-blue-5: light-dark(oklch(70% 0.08 255deg), oklch(60% 0.07 255deg));
4
+ --oui-blue-0: light-dark(oklch(98.5% 0.01 260deg), oklch(20% 0.07 250deg));
5
+ --oui-blue-1: light-dark(oklch(96% 0.02 259deg), oklch(25% 0.09 251deg));
6
+ --oui-blue-2: light-dark(oklch(92% 0.03 258deg), oklch(32% 0.1 252deg));
7
+ --oui-blue-3: light-dark(oklch(87% 0.04 257deg), oklch(40% 0.11 253deg));
8
+ --oui-blue-4: light-dark(oklch(80% 0.06 256deg), oklch(50% 0.1 254deg));
9
+ --oui-blue-5: light-dark(oklch(70% 0.08 255deg), oklch(60% 0.08 255deg));
10
10
  --oui-blue-6: light-dark(oklch(60% 0.1 254deg), oklch(70% 0.06 256deg));
11
- --oui-blue-7: light-dark(oklch(50% 0.12 253deg), oklch(80% 0.05 257deg));
12
- --oui-blue-8: light-dark(oklch(42% 0.11 252deg), oklch(85% 0.04 258deg));
13
- --oui-blue-9: light-dark(oklch(35% 0.1 251deg), oklch(90% 0.03 259deg));
14
- --oui-blue-10: light-dark(oklch(30% 0.09 250deg), oklch(95% 0.02 260deg));
15
- --oui-green-0: light-dark(oklch(99.5% 0.01 150deg), oklch(20% 0.08 140deg));
16
- --oui-green-1: light-dark(oklch(98.25% 0.02 149deg), oklch(25% 0.09 141deg));
17
- --oui-green-2: light-dark(oklch(95% 0.03 148deg), oklch(32% 0.1 142deg));
18
- --oui-green-3: light-dark(oklch(90% 0.04 147deg), oklch(40% 0.09 143deg));
19
- --oui-green-4: light-dark(oklch(80% 0.06 146deg), oklch(50% 0.08 144deg));
20
- --oui-green-5: light-dark(oklch(70% 0.08 145deg), oklch(60% 0.07 145deg));
11
+ --oui-blue-7: light-dark(oklch(50% 0.12 253deg), oklch(80% 0.04 257deg));
12
+ --oui-blue-8: light-dark(oklch(40% 0.11 252deg), oklch(87% 0.03 258deg));
13
+ --oui-blue-9: light-dark(oklch(32% 0.1 251deg), oklch(92% 0.02 259deg));
14
+ --oui-blue-10: light-dark(oklch(25% 0.09 250deg), oklch(96% 0.01 260deg));
15
+ --oui-green-0: light-dark(oklch(98.5% 0.01 150deg), oklch(20% 0.07 140deg));
16
+ --oui-green-1: light-dark(oklch(96% 0.02 149deg), oklch(25% 0.09 141deg));
17
+ --oui-green-2: light-dark(oklch(92% 0.03 148deg), oklch(32% 0.1 142deg));
18
+ --oui-green-3: light-dark(oklch(87% 0.04 147deg), oklch(40% 0.11 143deg));
19
+ --oui-green-4: light-dark(oklch(80% 0.06 146deg), oklch(50% 0.1 144deg));
20
+ --oui-green-5: light-dark(oklch(70% 0.08 145deg), oklch(60% 0.08 145deg));
21
21
  --oui-green-6: light-dark(oklch(60% 0.1 144deg), oklch(70% 0.06 146deg));
22
- --oui-green-7: light-dark(oklch(50% 0.12 143deg), oklch(80% 0.05 147deg));
23
- --oui-green-8: light-dark(oklch(42% 0.11 142deg), oklch(85% 0.04 148deg));
24
- --oui-green-9: light-dark(oklch(35% 0.1 141deg), oklch(90% 0.03 149deg));
25
- --oui-green-10: light-dark(oklch(30% 0.09 140deg), oklch(95% 0.02 150deg));
26
- --oui-orange-0: light-dark(oklch(99.5% 0.02 60deg), oklch(20% 0.08 50deg));
27
- --oui-orange-1: light-dark(oklch(98.75% 0.035 59deg), oklch(25% 0.09 51deg));
28
- --oui-orange-2: light-dark(oklch(97.5% 0.05 58deg), oklch(32% 0.1 52deg));
29
- --oui-orange-3: light-dark(oklch(93.25% 0.07 57deg), oklch(40% 0.09 53deg));
30
- --oui-orange-4: light-dark(oklch(87.125% 0.1 56deg), oklch(50% 0.08 54deg));
31
- --oui-orange-5: light-dark(oklch(76% 0.11 55deg), oklch(60% 0.07 55deg));
32
- --oui-orange-6: light-dark(oklch(65% 0.12 54deg), oklch(70% 0.06 56deg));
33
- --oui-orange-7: light-dark(oklch(55% 0.14 53deg), oklch(80% 0.05 57deg));
34
- --oui-orange-8: light-dark(oklch(45% 0.12 52deg), oklch(85% 0.04 58deg));
35
- --oui-orange-9: light-dark(oklch(37.5% 0.11 51deg), oklch(90% 0.03 59deg));
36
- --oui-orange-10: light-dark(oklch(30% 0.09 50deg), oklch(95% 0.02 60deg));
37
- --oui-purple-0: light-dark(oklch(99.5% 0.02 300deg), oklch(20% 0.08 290deg));
38
- --oui-purple-1: light-dark(oklch(98.25% 0.035 299deg), oklch(25% 0.09 291deg));
39
- --oui-purple-2: light-dark(oklch(95% 0.05 298deg), oklch(32% 0.1 292deg));
40
- --oui-purple-3: light-dark(oklch(90% 0.07 297deg), oklch(40% 0.09 293deg));
41
- --oui-purple-4: light-dark(oklch(80% 0.1 296deg), oklch(50% 0.08 294deg));
42
- --oui-purple-5: light-dark(oklch(70% 0.11 295deg), oklch(60% 0.07 295deg));
43
- --oui-purple-6: light-dark(oklch(60% 0.12 294deg), oklch(70% 0.06 296deg));
44
- --oui-purple-7: light-dark(oklch(50% 0.14 293deg), oklch(80% 0.05 297deg));
45
- --oui-purple-8: light-dark(oklch(42% 0.12 292deg), oklch(85% 0.04 298deg));
46
- --oui-purple-9: light-dark(oklch(35% 0.11 291deg), oklch(90% 0.03 299deg));
47
- --oui-purple-10: light-dark(oklch(30% 0.09 290deg), oklch(95% 0.02 300deg));
48
- --oui-red-0: light-dark(oklch(99.5% 0.024 25deg), oklch(20% 0.08 25deg));
49
- --oui-red-1: light-dark(oklch(98.75% 0.032 24deg), oklch(25% 0.09 24deg));
50
- --oui-red-2: light-dark(oklch(97.5% 0.05 23deg), oklch(32% 0.1 23deg));
51
- --oui-red-3: light-dark(oklch(93.25% 0.07 22deg), oklch(40% 0.09 22deg));
52
- --oui-red-4: light-dark(oklch(87.125% 0.1 21deg), oklch(50% 0.08 21deg));
53
- --oui-red-5: light-dark(oklch(76% 0.11 20deg), oklch(60% 0.07 20deg));
54
- --oui-red-6: light-dark(oklch(65% 0.12 19deg), oklch(70% 0.06 19deg));
55
- --oui-red-7: light-dark(oklch(55% 0.14 18deg), oklch(80% 0.05 18deg));
56
- --oui-red-8: light-dark(oklch(45% 0.12 17deg), oklch(85% 0.04 17deg));
57
- --oui-red-9: light-dark(oklch(37.5% 0.11 16deg), oklch(90% 0.03 16deg));
58
- --oui-red-10: light-dark(oklch(30% 0.09 15deg), oklch(95% 0.02 15deg));
59
- --oui-yellow-0: light-dark(oklch(99.5% 0.02 100deg), oklch(20% 0.08 90deg));
60
- --oui-yellow-1: light-dark(oklch(98.5% 0.035 99deg), oklch(25% 0.09 91deg));
61
- --oui-yellow-2: light-dark(oklch(97.25% 0.05 98deg), oklch(32% 0.1 92deg));
62
- --oui-yellow-3: light-dark(oklch(93.125% 0.07 97deg), oklch(40% 0.09 93deg));
63
- --oui-yellow-4: light-dark(oklch(87% 0.1 96deg), oklch(50% 0.08 94deg));
64
- --oui-yellow-5: light-dark(oklch(78% 0.11 95deg), oklch(60% 0.07 95deg));
65
- --oui-yellow-6: light-dark(oklch(65% 0.12 94deg), oklch(70% 0.06 96deg));
66
- --oui-yellow-7: light-dark(oklch(55% 0.14 93deg), oklch(80% 0.05 97deg));
67
- --oui-yellow-8: light-dark(oklch(45% 0.12 92deg), oklch(85% 0.04 98deg));
68
- --oui-yellow-9: light-dark(oklch(37.5% 0.11 91deg), oklch(90% 0.03 99deg));
69
- --oui-yellow-10: light-dark(oklch(30% 0.09 90deg), oklch(95% 0.02 100deg));
70
- --oui-gray-0: light-dark(oklch(98% 0 0deg), oklch(22% 0 0deg));
71
- --oui-gray-1: light-dark(oklch(97% 0 0deg), oklch(26% 0 0deg));
72
- --oui-gray-2: light-dark(oklch(95% 0 0deg), oklch(32% 0 0deg));
73
- --oui-gray-3: light-dark(oklch(90% 0 0deg), oklch(40% 0 0deg));
22
+ --oui-green-7: light-dark(oklch(50% 0.12 143deg), oklch(80% 0.04 147deg));
23
+ --oui-green-8: light-dark(oklch(40% 0.11 142deg), oklch(87% 0.03 148deg));
24
+ --oui-green-9: light-dark(oklch(32% 0.1 141deg), oklch(92% 0.02 149deg));
25
+ --oui-green-10: light-dark(oklch(25% 0.09 140deg), oklch(96% 0.01 150deg));
26
+ --oui-orange-0: light-dark(oklch(99% 0.02 60deg), oklch(20% 0.07 50deg));
27
+ --oui-orange-1: light-dark(oklch(97.5% 0.035 59deg), oklch(25% 0.09 51deg));
28
+ --oui-orange-2: light-dark(oklch(94% 0.05 58deg), oklch(32% 0.1 52deg));
29
+ --oui-orange-3: light-dark(oklch(89% 0.07 57deg), oklch(40% 0.11 53deg));
30
+ --oui-orange-4: light-dark(oklch(80% 0.1 56deg), oklch(50% 0.12 54deg));
31
+ --oui-orange-5: light-dark(oklch(70% 0.11 55deg), oklch(60% 0.11 55deg));
32
+ --oui-orange-6: light-dark(oklch(60% 0.12 54deg), oklch(70% 0.1 56deg));
33
+ --oui-orange-7: light-dark(oklch(50% 0.14 53deg), oklch(80% 0.07 57deg));
34
+ --oui-orange-8: light-dark(oklch(40% 0.12 52deg), oklch(89% 0.05 58deg));
35
+ --oui-orange-9: light-dark(oklch(32% 0.11 51deg), oklch(94% 0.035 59deg));
36
+ --oui-orange-10: light-dark(oklch(25% 0.09 50deg), oklch(97.5% 0.02 60deg));
37
+ --oui-purple-0: light-dark(oklch(98.5% 0.02 300deg), oklch(20% 0.07 290deg));
38
+ --oui-purple-1: light-dark(oklch(96.5% 0.035 299deg), oklch(25% 0.09 291deg));
39
+ --oui-purple-2: light-dark(oklch(93% 0.05 298deg), oklch(32% 0.1 292deg));
40
+ --oui-purple-3: light-dark(oklch(88% 0.07 297deg), oklch(40% 0.11 293deg));
41
+ --oui-purple-4: light-dark(oklch(80% 0.1 296deg), oklch(50% 0.12 294deg));
42
+ --oui-purple-5: light-dark(oklch(70% 0.11 295deg), oklch(60% 0.11 295deg));
43
+ --oui-purple-6: light-dark(oklch(60% 0.12 294deg), oklch(70% 0.1 296deg));
44
+ --oui-purple-7: light-dark(oklch(50% 0.14 293deg), oklch(80% 0.07 297deg));
45
+ --oui-purple-8: light-dark(oklch(40% 0.12 292deg), oklch(88% 0.05 298deg));
46
+ --oui-purple-9: light-dark(oklch(32% 0.11 291deg), oklch(93% 0.035 299deg));
47
+ --oui-purple-10: light-dark(oklch(25% 0.09 290deg), oklch(96.5% 0.02 300deg));
48
+ --oui-red-0: light-dark(oklch(99% 0.024 25deg), oklch(20% 0.07 15deg));
49
+ --oui-red-1: light-dark(oklch(97% 0.032 24deg), oklch(25% 0.09 16deg));
50
+ --oui-red-2: light-dark(oklch(93% 0.05 23deg), oklch(32% 0.1 17deg));
51
+ --oui-red-3: light-dark(oklch(87% 0.07 22deg), oklch(40% 0.11 18deg));
52
+ --oui-red-4: light-dark(oklch(80% 0.1 21deg), oklch(50% 0.12 19deg));
53
+ --oui-red-5: light-dark(oklch(70% 0.11 20deg), oklch(60% 0.11 20deg));
54
+ --oui-red-6: light-dark(oklch(60% 0.12 19deg), oklch(70% 0.1 21deg));
55
+ --oui-red-7: light-dark(oklch(50% 0.14 18deg), oklch(80% 0.07 22deg));
56
+ --oui-red-8: light-dark(oklch(40% 0.12 17deg), oklch(87% 0.05 23deg));
57
+ --oui-red-9: light-dark(oklch(32% 0.11 16deg), oklch(93% 0.032 24deg));
58
+ --oui-red-10: light-dark(oklch(25% 0.09 15deg), oklch(97% 0.024 25deg));
59
+ --oui-yellow-0: light-dark(oklch(98.75% 0.02 100deg), oklch(20% 0.07 90deg));
60
+ --oui-yellow-1: light-dark(oklch(97% 0.04 99deg), oklch(25% 0.09 91deg));
61
+ --oui-yellow-2: light-dark(oklch(94% 0.06 98deg), oklch(32% 0.1 92deg));
62
+ --oui-yellow-3: light-dark(oklch(89% 0.08 97deg), oklch(40% 0.11 93deg));
63
+ --oui-yellow-4: light-dark(oklch(80% 0.1 96deg), oklch(50% 0.12 94deg));
64
+ --oui-yellow-5: light-dark(oklch(70% 0.11 95deg), oklch(60% 0.11 95deg));
65
+ --oui-yellow-6: light-dark(oklch(60% 0.12 94deg), oklch(70% 0.1 96deg));
66
+ --oui-yellow-7: light-dark(oklch(50% 0.14 93deg), oklch(80% 0.07 97deg));
67
+ --oui-yellow-8: light-dark(oklch(40% 0.12 92deg), oklch(89% 0.05 98deg));
68
+ --oui-yellow-9: light-dark(oklch(32% 0.11 91deg), oklch(94% 0.035 99deg));
69
+ --oui-yellow-10: light-dark(oklch(25% 0.09 90deg), oklch(97.5% 0.02 100deg));
70
+ --oui-gray-0: light-dark(oklch(98.5% 0 0deg), oklch(20% 0 0deg));
71
+ --oui-gray-1: light-dark(oklch(96% 0 0deg), oklch(25% 0 0deg));
72
+ --oui-gray-2: light-dark(oklch(92% 0 0deg), oklch(32% 0 0deg));
73
+ --oui-gray-3: light-dark(oklch(87% 0 0deg), oklch(40% 0 0deg));
74
74
  --oui-gray-4: light-dark(oklch(80% 0 0deg), oklch(50% 0 0deg));
75
75
  --oui-gray-5: light-dark(oklch(70% 0 0deg), oklch(60% 0 0deg));
76
76
  --oui-gray-6: light-dark(oklch(60% 0 0deg), oklch(70% 0 0deg));
77
77
  --oui-gray-7: light-dark(oklch(50% 0 0deg), oklch(80% 0 0deg));
78
- --oui-gray-8: light-dark(oklch(42% 0 0deg), oklch(85% 0 0deg));
79
- --oui-gray-9: light-dark(oklch(35% 0 0deg), oklch(90% 0 0deg));
80
- --oui-gray-10: light-dark(oklch(30% 0 0deg), oklch(95% 0 0deg));
81
- --oui-slate-0: light-dark(oklch(99% 0.0025 255deg), oklch(22% 0.005 255deg));
82
- --oui-slate-1: light-dark(oklch(98% 0.005 255deg), oklch(26% 0.0075 255deg));
83
- --oui-slate-2: light-dark(oklch(95% 0.0075 255deg), oklch(32% 0.01 255deg));
84
- --oui-slate-3: light-dark(oklch(90% 0.01 255deg), oklch(40% 0.0125 255deg));
78
+ --oui-gray-8: light-dark(oklch(40% 0 0deg), oklch(87% 0 0deg));
79
+ --oui-gray-9: light-dark(oklch(32% 0 0deg), oklch(92% 0 0deg));
80
+ --oui-gray-10: light-dark(oklch(25% 0 0deg), oklch(96% 0 0deg));
81
+ --oui-slate-0: light-dark(oklch(98.5% 0.0025 255deg), oklch(20% 0.005 255deg));
82
+ --oui-slate-1: light-dark(oklch(96% 0.005 255deg), oklch(25% 0.0075 255deg));
83
+ --oui-slate-2: light-dark(oklch(92% 0.0075 255deg), oklch(32% 0.01 255deg));
84
+ --oui-slate-3: light-dark(oklch(87% 0.01 255deg), oklch(40% 0.0125 255deg));
85
85
  --oui-slate-4: light-dark(oklch(80% 0.015 255deg), oklch(50% 0.015 255deg));
86
86
  --oui-slate-5: light-dark(oklch(70% 0.02 255deg), oklch(60% 0.02 255deg));
87
87
  --oui-slate-6: light-dark(oklch(60% 0.015 255deg), oklch(70% 0.015 255deg));
88
- --oui-slate-7: light-dark(oklch(50% 0.0125 255deg), oklch(80% 0.0125 255deg));
89
- --oui-slate-8: light-dark(oklch(42% 0.01 255deg), oklch(85% 0.01 255deg));
90
- --oui-slate-9: light-dark(oklch(35% 0.0075 255deg), oklch(90% 0.0075 255deg));
91
- --oui-slate-10: light-dark(oklch(30% 0.005 255deg), oklch(95% 0.005 255deg));
92
- --oui-stone-0: light-dark(oklch(99.5% 0.0033 95deg), oklch(22% 0.005 95deg));
93
- --oui-stone-1: light-dark(oklch(98.25% 0.0067 95deg), oklch(26% 0.0075 95deg));
94
- --oui-stone-2: light-dark(oklch(95% 0.01 95deg), oklch(32% 0.01 95deg));
95
- --oui-stone-3: light-dark(oklch(90% 0.0125 95deg), oklch(40% 0.0125 95deg));
88
+ --oui-slate-7: light-dark(oklch(50% 0.0125 255deg), oklch(80% 0.01 255deg));
89
+ --oui-slate-8: light-dark(oklch(40% 0.01 255deg), oklch(87% 0.0075 255deg));
90
+ --oui-slate-9: light-dark(oklch(32% 0.0075 255deg), oklch(92% 0.005 255deg));
91
+ --oui-slate-10: light-dark(oklch(25% 0.005 255deg), oklch(96% 0.0025 255deg));
92
+ --oui-stone-0: light-dark(oklch(98.5% 0.0033 95deg), oklch(20% 0.005 95deg));
93
+ --oui-stone-1: light-dark(oklch(96% 0.0067 95deg), oklch(25% 0.0075 95deg));
94
+ --oui-stone-2: light-dark(oklch(92% 0.01 95deg), oklch(32% 0.01 95deg));
95
+ --oui-stone-3: light-dark(oklch(87% 0.0125 95deg), oklch(40% 0.0125 95deg));
96
96
  --oui-stone-4: light-dark(oklch(80% 0.015 95deg), oklch(50% 0.015 95deg));
97
97
  --oui-stone-5: light-dark(oklch(70% 0.02 95deg), oklch(60% 0.02 95deg));
98
98
  --oui-stone-6: light-dark(oklch(60% 0.015 95deg), oklch(70% 0.015 95deg));
99
99
  --oui-stone-7: light-dark(oklch(50% 0.0125 95deg), oklch(80% 0.0125 95deg));
100
- --oui-stone-8: light-dark(oklch(42% 0.01 95deg), oklch(85% 0.01 95deg));
101
- --oui-stone-9: light-dark(oklch(35% 0.0075 95deg), oklch(90% 0.0075 95deg));
102
- --oui-stone-10: light-dark(oklch(30% 0.005 95deg), oklch(95% 0.005 95deg));
100
+ --oui-stone-8: light-dark(oklch(40% 0.01 95deg), oklch(87% 0.01 95deg));
101
+ --oui-stone-9: light-dark(oklch(32% 0.0075 95deg), oklch(92% 0.0067 95deg));
102
+ --oui-stone-10: light-dark(oklch(25% 0.005 95deg), oklch(96% 0.0033 95deg));
103
103
  }
104
104
 
105
105
 
@@ -133,7 +133,7 @@
133
133
  --margin-top: 0;
134
134
  }
135
135
  :where([oui-combobox-content]) {
136
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05), 0 16px 32px -8px rgba(0, 0, 0, 0.05), 0 32px 64px -16px rgba(0, 0, 0, 0.05), 0 64px 128px -32px rgba(0, 0, 0, 0.05);
136
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 4px 8px -2px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 8px 16px -4px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 16px 32px -8px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 32px 64px -16px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 64px 128px -32px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
137
137
  width: -moz-fit-content;
138
138
  width: fit-content;
139
139
  height: -moz-fit-content;
@@ -278,8 +278,11 @@
278
278
  line-height: 1.25;
279
279
  cursor: pointer;
280
280
  }
281
+ :where(oui-combobox:has([oui-combobox-header]) [oui-combobox-option]) {
282
+ scroll-margin-top: 2em;
283
+ }
281
284
  :where([oui-combobox-option][aria-selected=true i]) {
282
- background-color: var(--oui-blue-3);
285
+ background-color: var(--oui-blue-2);
283
286
  color: var(--oui-blue-9);
284
287
  }
285
288
  :where(oui-combobox[multiple] [oui-combobox-option][aria-selected=true i])::before {
@@ -313,12 +316,12 @@
313
316
  }
314
317
 
315
318
  :where([oui-combobox-selection-item]) {
316
- --oui-background-percentage: 25%;
319
+ --oui-background-percentage: 50%;
317
320
  --oui-background-value: var(--oui-gray-2);
318
321
  --oui-foreground-percentage: 0%;
319
322
  --oui-foreground-value: var(--oui-gray-8);
320
323
  --oui-outline-percentage: 100%;
321
- --oui-outline-value: var(--oui-gray-6);
324
+ --oui-outline-value: var(--oui-gray-5);
322
325
  --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 75%);
323
326
  --oui-shadow-percentage: 82.5%;
324
327
  --oui-shadow-value: color-mix(
@@ -338,9 +341,42 @@
338
341
  border: none;
339
342
  color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
340
343
  line-height: 1.25;
344
+ position: relative;
341
345
  transition: 0.125s ease-in-out;
342
346
  transition-property: background, outline, box-shadow, color;
343
347
  }
348
+ :where([oui-combobox-selection-item])::after {
349
+ content: "";
350
+ width: 1em;
351
+ height: 1em;
352
+ display: inline-flex;
353
+ opacity: 0;
354
+ background-color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
355
+ -webkit-mask-image: url("");
356
+ mask-image: url("");
357
+ -webkit-mask-position: center;
358
+ mask-position: center;
359
+ -webkit-mask-repeat: no-repeat;
360
+ mask-repeat: no-repeat;
361
+ -webkit-mask-size: 1em 1em;
362
+ mask-size: 1em 1em;
363
+ pointer-events: none;
364
+ transition: 0.125s ease-in-out;
365
+ transition-property: background-color, color, opacity, -webkit-mask-image;
366
+ transition-property: background-color, color, mask-image, opacity;
367
+ transition-property: background-color, color, mask-image, opacity, -webkit-mask-image;
368
+ position: absolute;
369
+ inset: 50% auto auto 50%;
370
+ transform: translate3d(-50%, -50%, 0);
371
+ }
372
+ :where([oui-combobox-selection-item]):has(.oui-icon:is(:first-child))::after {
373
+ inset: auto;
374
+ transform: none;
375
+ }
376
+ :where([oui-combobox-selection-item]):has(.oui-icon:is(:last-child))::after {
377
+ inset: auto 0.75em auto auto;
378
+ transform: none;
379
+ }
344
380
  :where([oui-combobox-selection-item]):focus-visible {
345
381
  --oui-outline-percentage: 75%;
346
382
  }
@@ -351,6 +387,57 @@
351
387
  --oui-shadow-percentage: 90%;
352
388
  }
353
389
  }
390
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[aria-busy=true i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=busy i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=error i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=loading i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=success i]:not(:has(.oui-icon:is(:first-child, :last-child))) {
391
+ color: transparent;
392
+ }
393
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=error i]::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=loading i]::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=success i]::after {
394
+ opacity: 1;
395
+ }
396
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[aria-busy=true i] .oui-icon, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=busy i] .oui-icon, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=error i] .oui-icon, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=loading i] .oui-icon, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=success i] .oui-icon {
397
+ opacity: 0;
398
+ }
399
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[aria-busy=true i], :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=busy i], :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=loading i] {
400
+ --oui-background-value: var(--oui-blue-2);
401
+ --oui-foreground-value: var(--oui-blue-8);
402
+ --oui-outline-value: var(--oui-blue-5);
403
+ }
404
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=loading i]::after {
405
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
406
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
407
+ transform-origin: center;
408
+ animation: oui-button-icon-centered 1s linear infinite;
409
+ }
410
+ @keyframes oui-button-icon-centered {
411
+ to {
412
+ transform: translate3d(-50%, -50%, 0) rotate3d(0, 0, 1, 360deg);
413
+ }
414
+ }
415
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[aria-busy=true i]:has(.oui-icon:is(:first-child, :last-child))::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=busy i]:has(.oui-icon:is(:first-child, :last-child))::after, :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=loading i]:has(.oui-icon:is(:first-child, :last-child))::after {
416
+ animation: oui-button-icon-offset 1s linear infinite;
417
+ }
418
+ @keyframes oui-button-icon-offset {
419
+ to {
420
+ transform: rotate3d(0, 0, 1, 360deg);
421
+ }
422
+ }
423
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=error i] {
424
+ --oui-background-value: var(--oui-red-2);
425
+ --oui-foreground-value: var(--oui-red-8);
426
+ --oui-outline-value: var(--oui-red-5);
427
+ }
428
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=error i]::after {
429
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
430
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
431
+ }
432
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=success i] {
433
+ --oui-background-value: var(--oui-green-2);
434
+ --oui-foreground-value: var(--oui-green-8);
435
+ --oui-outline-value: var(--oui-green-5);
436
+ }
437
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i])[data-state=success i]::after {
438
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
439
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
440
+ }
354
441
  :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i]):active {
355
442
  box-shadow: 0 0 0 1px var(--oui-shadow-value), inset 0 1px 2px 0 var(--oui-shadow-value), inset 0 2px 4px 0 var(--oui-shadow-value);
356
443
  scale: 0.95;
@@ -364,6 +451,13 @@
364
451
  --oui-shadow-percentage: 92.5%;
365
452
  font-style: italic;
366
453
  }
454
+ :where([oui-combobox-selection-item]) .oui-icon {
455
+ width: 1em;
456
+ height: 1em;
457
+ }
458
+ :where([oui-combobox-selection-item]) .oui-icon:is(:first-child, :last-child) {
459
+ transition: opacity 0.125s ease-in-out;
460
+ }
367
461
  :where([oui-combobox-selection-item]) {
368
462
  --oui-background-value: var(--oui-blue-2);
369
463
  --oui-foreground-value: var(--oui-blue-8);
@@ -6,6 +6,7 @@
6
6
  padding: 1em 1.25em;
7
7
  background-color: var(--oui-absolute);
8
8
  border-radius: 0.5em;
9
+ --stack-gap: 1em;
9
10
  }
10
11
 
11
12
  :where(.oui-details > summary) {
@@ -190,22 +191,22 @@
190
191
  }
191
192
 
192
193
  :where(.oui-shadow), :where(.oui-shadow-0) {
193
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05);
194
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
194
195
  }
195
196
  :where(.oui-shadow-1) {
196
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05);
197
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
197
198
  }
198
199
  :where(.oui-shadow-2) {
199
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05);
200
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 4px 8px -2px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
200
201
  }
201
202
  :where(.oui-shadow-3) {
202
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05);
203
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 4px 8px -2px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 8px 16px -4px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
203
204
  }
204
205
  :where(.oui-shadow-4) {
205
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05), 0 16px 32px -8px rgba(0, 0, 0, 0.05);
206
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 4px 8px -2px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 8px 16px -4px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 16px 32px -8px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
206
207
  }
207
208
  :where(.oui-shadow-5) {
208
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05), 0 16px 32px -8px rgba(0, 0, 0, 0.05), 0 32px 64px -16px rgba(0, 0, 0, 0.05), 0 64px 128px -32px rgba(0, 0, 0, 0.05);
209
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 4px 8px -2px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 8px 16px -4px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 16px 32px -8px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 32px 64px -16px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 64px 128px -32px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
209
210
  }
210
211
 
211
212
 
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  :where([oui-dialog], [oui-popover], [oui-tooltip-content]) {
12
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05), 0 16px 32px -8px rgba(0, 0, 0, 0.05), 0 32px 64px -16px rgba(0, 0, 0, 0.05), 0 64px 128px -32px rgba(0, 0, 0, 0.05);
12
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 1px 2px -0.5px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 2px 4px -1px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 4px 8px -2px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 8px 16px -4px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 16px 32px -8px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 32px 64px -16px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)), 0 64px 128px -32px light-dark(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25));
13
13
  background-color: var(--oui-absolute);
14
14
  scale: 0.9;
15
15
  }
@@ -64,7 +64,6 @@
64
64
 
65
65
  :where([oui-popover]) {
66
66
  padding: 1rem;
67
- background-color: var(--oui-absolute);
68
67
  border-radius: 0.25rem;
69
68
  }
70
69
 
@@ -97,7 +96,6 @@ var)) {
97
96
  :where([oui-tooltip-content]) {
98
97
  max-width: 48ch;
99
98
  padding: 0.75em 1em;
100
- background-color: var(--oui-absolute);
101
99
  border-radius: 0.25rem;
102
100
  font-size: 0.875rem;
103
101
  pointer-events: none;
package/dist/css/form.css CHANGED
@@ -123,12 +123,12 @@
123
123
  padding-left: 0.5em;
124
124
  }
125
125
  :where(.oui-input:is([type=file i]))::file-selector-button {
126
- --oui-background-percentage: 25%;
126
+ --oui-background-percentage: 50%;
127
127
  --oui-background-value: var(--oui-gray-2);
128
128
  --oui-foreground-percentage: 0%;
129
129
  --oui-foreground-value: var(--oui-gray-8);
130
130
  --oui-outline-percentage: 100%;
131
- --oui-outline-value: var(--oui-gray-6);
131
+ --oui-outline-value: var(--oui-gray-5);
132
132
  --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 75%);
133
133
  --oui-shadow-percentage: 82.5%;
134
134
  --oui-shadow-value: color-mix(
@@ -148,9 +148,42 @@
148
148
  border: none;
149
149
  color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
150
150
  line-height: 1.25;
151
+ position: relative;
151
152
  transition: 0.125s ease-in-out;
152
153
  transition-property: background, outline, box-shadow, color;
153
154
  }
155
+ :where(.oui-input:is([type=file i]))::file-selector-button::after {
156
+ content: "";
157
+ width: 1em;
158
+ height: 1em;
159
+ display: inline-flex;
160
+ opacity: 0;
161
+ background-color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
162
+ -webkit-mask-image: url("");
163
+ mask-image: url("");
164
+ -webkit-mask-position: center;
165
+ mask-position: center;
166
+ -webkit-mask-repeat: no-repeat;
167
+ mask-repeat: no-repeat;
168
+ -webkit-mask-size: 1em 1em;
169
+ mask-size: 1em 1em;
170
+ pointer-events: none;
171
+ transition: 0.125s ease-in-out;
172
+ transition-property: background-color, color, opacity, -webkit-mask-image;
173
+ transition-property: background-color, color, mask-image, opacity;
174
+ transition-property: background-color, color, mask-image, opacity, -webkit-mask-image;
175
+ position: absolute;
176
+ inset: 50% auto auto 50%;
177
+ transform: translate3d(-50%, -50%, 0);
178
+ }
179
+ :where(.oui-input:is([type=file i]))::file-selector-button:has(.oui-icon:is(:first-child))::after {
180
+ inset: auto;
181
+ transform: none;
182
+ }
183
+ :where(.oui-input:is([type=file i]))::file-selector-button:has(.oui-icon:is(:last-child))::after {
184
+ inset: auto 0.75em auto auto;
185
+ transform: none;
186
+ }
154
187
  :where(.oui-input:is([type=file i]))::file-selector-button:focus-visible {
155
188
  --oui-outline-percentage: 75%;
156
189
  }
@@ -161,6 +194,57 @@
161
194
  --oui-shadow-percentage: 90%;
162
195
  }
163
196
  }
197
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[aria-busy=true i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=busy i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=error i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=loading i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=success i]:not(:has(.oui-icon:is(:first-child, :last-child))) {
198
+ color: transparent;
199
+ }
200
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=error i]::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=loading i]::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=success i]::after {
201
+ opacity: 1;
202
+ }
203
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[aria-busy=true i] .oui-icon, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=busy i] .oui-icon, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=error i] .oui-icon, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=loading i] .oui-icon, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=success i] .oui-icon {
204
+ opacity: 0;
205
+ }
206
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[aria-busy=true i], :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=busy i], :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=loading i] {
207
+ --oui-background-value: var(--oui-blue-2);
208
+ --oui-foreground-value: var(--oui-blue-8);
209
+ --oui-outline-value: var(--oui-blue-5);
210
+ }
211
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=loading i]::after {
212
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
213
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
214
+ transform-origin: center;
215
+ animation: oui-button-icon-centered 1s linear infinite;
216
+ }
217
+ @keyframes oui-button-icon-centered {
218
+ to {
219
+ transform: translate3d(-50%, -50%, 0) rotate3d(0, 0, 1, 360deg);
220
+ }
221
+ }
222
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[aria-busy=true i]:has(.oui-icon:is(:first-child, :last-child))::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=busy i]:has(.oui-icon:is(:first-child, :last-child))::after, :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=loading i]:has(.oui-icon:is(:first-child, :last-child))::after {
223
+ animation: oui-button-icon-offset 1s linear infinite;
224
+ }
225
+ @keyframes oui-button-icon-offset {
226
+ to {
227
+ transform: rotate3d(0, 0, 1, 360deg);
228
+ }
229
+ }
230
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=error i] {
231
+ --oui-background-value: var(--oui-red-2);
232
+ --oui-foreground-value: var(--oui-red-8);
233
+ --oui-outline-value: var(--oui-red-5);
234
+ }
235
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=error i]::after {
236
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
237
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
238
+ }
239
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=success i] {
240
+ --oui-background-value: var(--oui-green-2);
241
+ --oui-foreground-value: var(--oui-green-8);
242
+ --oui-outline-value: var(--oui-green-5);
243
+ }
244
+ :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i])[data-state=success i]::after {
245
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
246
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
247
+ }
164
248
  :where(.oui-input:is([type=file i]))::file-selector-button:not([disabled], [aria-disabled=true i]):active {
165
249
  box-shadow: 0 0 0 1px var(--oui-shadow-value), inset 0 1px 2px 0 var(--oui-shadow-value), inset 0 2px 4px 0 var(--oui-shadow-value);
166
250
  scale: 0.95;
@@ -174,6 +258,13 @@
174
258
  --oui-shadow-percentage: 92.5%;
175
259
  font-style: italic;
176
260
  }
261
+ :where(.oui-input:is([type=file i]))::file-selector-button .oui-icon {
262
+ width: 1em;
263
+ height: 1em;
264
+ }
265
+ :where(.oui-input:is([type=file i]))::file-selector-button .oui-icon:is(:first-child, :last-child) {
266
+ transition: opacity 0.125s ease-in-out;
267
+ }
177
268
  :where(.oui-input:is([type=file i]))::file-selector-button {
178
269
  --oui-background-value: var(--oui-grey-2);
179
270
  --oui-outline-value: var(--oui-grey-6);
@@ -790,14 +881,11 @@
790
881
  font-size: 0.875rem;
791
882
  font-weight: bold;
792
883
  align-self: flex-start;
793
- }
794
-
795
- :where(.oui-label) {
796
884
  cursor: pointer;
797
885
  transition: color 0.125s ease-in-out;
798
886
  }
799
887
  @media (hover: hover) {
800
- :where(.oui-label[for]:hover) {
888
+ :where(:where(.oui-label, .oui-legend):hover) {
801
889
  color: var(--oui-blue-8);
802
890
  }
803
891
  }
@@ -863,6 +951,7 @@
863
951
  text-align: center;
864
952
  top: 0.25em;
865
953
  right: 1.5em;
954
+ transition: right 0.125s ease-in-out;
866
955
  }
867
956
  :where(.oui-switch:has(input:checked)) {
868
957
  --oui-foreground-percentage: 0%;
@@ -873,6 +962,10 @@
873
962
  box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25);
874
963
  right: 0.25em;
875
964
  }
965
+ :where(.oui-switch:has(input:active))::after {
966
+ content: "";
967
+ right: 1em;
968
+ }
876
969
 
877
970
  :where(.oui-toggle) {
878
971
  --oui-background-percentage: 100%;