@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,10 +1,12 @@
1
- @charset "UTF-8";
2
1
  /*! https://github.com/oscarpalmer/oui */
3
2
 
4
3
 
5
4
 
6
5
 
7
6
  :where(oui-color-picker) {
7
+ display: flex;
8
+ flex-flow: column nowrap;
9
+ gap: 1em;
8
10
  outline: none;
9
11
  }
10
12
 
@@ -14,17 +16,14 @@
14
16
  flex-flow: column nowrap;
15
17
  }
16
18
 
17
- :where(oui-color-picker[inline] [oui-color-picker-content],
18
- [oui-color-picker-hue],
19
- [oui-color-picker-opacity]) {
20
- margin: 1em 0 0;
21
- }
22
-
23
19
  :where([oui-color-picker-anchor]) {
24
20
  display: flex;
25
21
  flex-flow: row nowrap;
26
22
  align-items: stretch;
27
23
  }
24
+ :where([oui-color-picker-anchor] > [oui-color-picker-copy]) {
25
+ margin: 0 0 0 1em;
26
+ }
28
27
  :where([oui-color-picker-anchor] *) {
29
28
  position: relative;
30
29
  }
@@ -37,13 +36,47 @@
37
36
  }
38
37
  }
39
38
 
40
- :where([oui-color-picker-button]) {
41
- --oui-background-percentage: 25%;
39
+ :where([oui-color-picker-content]) {
40
+ flex-flow: column nowrap;
41
+ gap: 1em;
42
+ }
43
+ :where([oui-color-picker-content][popover]) {
44
+ --margin-bottom: 0.5em;
45
+ --margin-left: 0.5em;
46
+ --margin-right: 0.5em;
47
+ --margin-top: 0.5em;
48
+ inset-block: var(--margin-top) var(--margin-bottom);
49
+ inset-inline: var(--margin-left) var(--margin-right);
50
+ }
51
+ :where([oui-color-picker-content][popover])[oui-position$=bottom i] {
52
+ --margin-bottom: 0;
53
+ }
54
+ :where([oui-color-picker-content][popover])[oui-position$=end i] {
55
+ --margin-right: 0;
56
+ }
57
+ :where([oui-color-picker-content][popover])[oui-position$=start i] {
58
+ --margin-left: 0;
59
+ }
60
+ :where([oui-color-picker-content][popover])[oui-position$=top i] {
61
+ --margin-top: 0;
62
+ }
63
+ :where([oui-color-picker-content][popover]) {
64
+ 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));
65
+ padding: 1em;
66
+ min-width: anchor-size(width);
67
+ border-radius: 0.25em;
68
+ }
69
+ :where([oui-color-picker-content][popover]:not(:has(> [oui-color-picker-opacity]))) {
70
+ border-radius: 0.25em 0.25em 0.75em 0.75em;
71
+ }
72
+
73
+ :where([oui-color-picker-copy]) {
74
+ --oui-background-percentage: 50%;
42
75
  --oui-background-value: var(--oui-gray-2);
43
76
  --oui-foreground-percentage: 0%;
44
77
  --oui-foreground-value: var(--oui-gray-8);
45
78
  --oui-outline-percentage: 100%;
46
- --oui-outline-value: var(--oui-gray-6);
79
+ --oui-outline-value: var(--oui-gray-5);
47
80
  --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 75%);
48
81
  --oui-shadow-percentage: 82.5%;
49
82
  --oui-shadow-value: color-mix(
@@ -63,99 +96,180 @@
63
96
  border: none;
64
97
  color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
65
98
  line-height: 1.25;
99
+ position: relative;
66
100
  transition: 0.125s ease-in-out;
67
101
  transition-property: background, outline, box-shadow, color;
68
102
  }
69
- :where([oui-color-picker-button]):focus-visible {
103
+ :where([oui-color-picker-copy])::after {
104
+ content: "";
105
+ width: 1em;
106
+ height: 1em;
107
+ display: inline-flex;
108
+ opacity: 0;
109
+ background-color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
110
+ -webkit-mask-image: url("");
111
+ mask-image: url("");
112
+ -webkit-mask-position: center;
113
+ mask-position: center;
114
+ -webkit-mask-repeat: no-repeat;
115
+ mask-repeat: no-repeat;
116
+ -webkit-mask-size: 1em 1em;
117
+ mask-size: 1em 1em;
118
+ pointer-events: none;
119
+ transition: 0.125s ease-in-out;
120
+ transition-property: background-color, color, opacity, -webkit-mask-image;
121
+ transition-property: background-color, color, mask-image, opacity;
122
+ transition-property: background-color, color, mask-image, opacity, -webkit-mask-image;
123
+ position: absolute;
124
+ inset: 50% auto auto 50%;
125
+ transform: translate3d(-50%, -50%, 0);
126
+ }
127
+ :where([oui-color-picker-copy]):has(.oui-icon:is(:first-child))::after {
128
+ inset: auto;
129
+ transform: none;
130
+ }
131
+ :where([oui-color-picker-copy]):has(.oui-icon:is(:last-child))::after {
132
+ inset: auto 0.75em auto auto;
133
+ transform: none;
134
+ }
135
+ :where([oui-color-picker-copy]):focus-visible {
70
136
  --oui-outline-percentage: 75%;
71
137
  }
72
138
  @media (hover: hover) {
73
- :where([oui-color-picker-button]):not([disabled], [aria-disabled=true i]):hover {
139
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i]):hover {
74
140
  --oui-background-percentage: 50%;
75
141
  --oui-foreground-percentage: 25%;
76
142
  --oui-shadow-percentage: 90%;
77
143
  }
78
144
  }
79
- :where([oui-color-picker-button]):not([disabled], [aria-disabled=true i]):active {
145
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[aria-busy=true i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=busy i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=error i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=loading i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=success i]:not(:has(.oui-icon:is(:first-child, :last-child))) {
146
+ color: transparent;
147
+ }
148
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=error i]::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=loading i]::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=success i]::after {
149
+ opacity: 1;
150
+ }
151
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[aria-busy=true i] .oui-icon, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=busy i] .oui-icon, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=error i] .oui-icon, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=loading i] .oui-icon, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=success i] .oui-icon {
152
+ opacity: 0;
153
+ }
154
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[aria-busy=true i], :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=busy i], :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=loading i] {
155
+ --oui-background-value: var(--oui-blue-2);
156
+ --oui-foreground-value: var(--oui-blue-8);
157
+ --oui-outline-value: var(--oui-blue-5);
158
+ }
159
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=loading i]::after {
160
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
161
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
162
+ transform-origin: center;
163
+ animation: oui-button-icon-centered 1s linear infinite;
164
+ }
165
+ @keyframes oui-button-icon-centered {
166
+ to {
167
+ transform: translate3d(-50%, -50%, 0) rotate3d(0, 0, 1, 360deg);
168
+ }
169
+ }
170
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[aria-busy=true i]:has(.oui-icon:is(:first-child, :last-child))::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=busy i]:has(.oui-icon:is(:first-child, :last-child))::after, :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=loading i]:has(.oui-icon:is(:first-child, :last-child))::after {
171
+ animation: oui-button-icon-offset 1s linear infinite;
172
+ }
173
+ @keyframes oui-button-icon-offset {
174
+ to {
175
+ transform: rotate3d(0, 0, 1, 360deg);
176
+ }
177
+ }
178
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=error i] {
179
+ --oui-background-value: var(--oui-red-2);
180
+ --oui-foreground-value: var(--oui-red-8);
181
+ --oui-outline-value: var(--oui-red-5);
182
+ }
183
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=error i]::after {
184
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
185
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
186
+ }
187
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=success i] {
188
+ --oui-background-value: var(--oui-green-2);
189
+ --oui-foreground-value: var(--oui-green-8);
190
+ --oui-outline-value: var(--oui-green-5);
191
+ }
192
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i])[data-state=success i]::after {
193
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
194
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
195
+ }
196
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i]):active {
80
197
  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);
81
198
  scale: 0.95;
82
199
  }
83
- :where([oui-color-picker-button]):not([disabled], [aria-disabled=true i]):active[aria-pressed=true i], :where([oui-color-picker-button]):not([disabled], [aria-disabled=true i]):active[aria-selected=true i] {
200
+ :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i]):active[aria-pressed=true i], :where([oui-color-picker-copy]):not([disabled], [aria-disabled=true i]):active[aria-selected=true i] {
84
201
  scale: 1;
85
202
  }
86
- :where([oui-color-picker-button])[disabled], :where([oui-color-picker-button])[aria-disabled=true i] {
203
+ :where([oui-color-picker-copy])[disabled], :where([oui-color-picker-copy])[aria-disabled=true i] {
87
204
  --oui-background-percentage: 80%;
88
205
  --oui-foreground-percentage: 25%;
89
206
  --oui-shadow-percentage: 92.5%;
90
207
  font-style: italic;
91
208
  }
92
- :where([oui-color-picker-button]) {
93
- box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px var(--oui-shadow-value), 0 1px 2px -0.5px var(--oui-shadow-value), 0 2px 4px -1px var(--oui-shadow-value);
94
- --oui-background-value: var(--oui-color-picker-hex);
95
- --oui-outline-value: var(--oui-gray-6);
96
- width: 2.5em;
97
- margin: 1px 0;
98
- border: 2px solid var(--oui-absolute);
99
- border-top-left-radius: 0;
100
- border-bottom-left-radius: 0;
101
- position: relative;
209
+ :where([oui-color-picker-copy]) .oui-icon {
210
+ width: 1em;
211
+ height: 1em;
102
212
  }
103
- :where([oui-color-picker-button])::after {
104
- display: none;
105
- color: var(--oui-color-picker-foreground);
106
- font-size: 8px;
107
- position: absolute;
108
- inset: 50% auto auto 50%;
109
- transform: translate3d(-50%, -50%, 0);
213
+ :where([oui-color-picker-copy]) .oui-icon:is(:first-child, :last-child) {
214
+ transition: opacity 0.125s ease-in-out;
110
215
  }
111
- :where([oui-color-picker-button])[aria-expanded=false i]::after {
112
- content: "▶";
113
- display: inline-flex;
216
+ :where([oui-color-picker-copy]) {
217
+ width: 2.5em;
218
+ height: 2em;
219
+ align-self: center;
220
+ color: transparent;
221
+ font-size: 0.75em;
114
222
  }
115
- :where([oui-color-picker-button])[aria-expanded=true i]::after {
116
- content: "▼";
223
+ :where([oui-color-picker-copy])::before {
224
+ content: "";
225
+ width: 1em;
226
+ height: 1em;
117
227
  display: inline-flex;
118
- }
119
- :where([oui-color-picker-button]:active) {
120
- scale: 1;
228
+ opacity: 1;
229
+ background-color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
230
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNvcHkiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNNyA5LjY2N2EyLjY2NyAyLjY2NyAwIDAgMSAyLjY2NyAtMi42NjdoOC42NjZhMi42NjcgMi42NjcgMCAwIDEgMi42NjcgMi42Njd2OC42NjZhMi42NjcgMi42NjcgMCAwIDEgLTIuNjY3IDIuNjY3aC04LjY2NmEyLjY2NyAyLjY2NyAwIDAgMSAtMi42NjcgLTIuNjY3bDAgLTguNjY2IiAvPjxwYXRoIGQ9Ik00LjAxMiAxNi43MzdhMi4wMDUgMi4wMDUgMCAwIDEgLTEuMDEyIC0xLjczN3YtMTBjMCAtMS4xIC45IC0yIDIgLTJoMTBjLjc1IDAgMS4xNTggLjM4NSAxLjUgMSIgLz48L3N2Zz4=");
231
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNvcHkiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNNyA5LjY2N2EyLjY2NyAyLjY2NyAwIDAgMSAyLjY2NyAtMi42NjdoOC42NjZhMi42NjcgMi42NjcgMCAwIDEgMi42NjcgMi42Njd2OC42NjZhMi42NjcgMi42NjcgMCAwIDEgLTIuNjY3IDIuNjY3aC04LjY2NmEyLjY2NyAyLjY2NyAwIDAgMSAtMi42NjcgLTIuNjY3bDAgLTguNjY2IiAvPjxwYXRoIGQ9Ik00LjAxMiAxNi43MzdhMi4wMDUgMi4wMDUgMCAwIDEgLTEuMDEyIC0xLjczN3YtMTBjMCAtMS4xIC45IC0yIDIgLTJoMTBjLjc1IDAgMS4xNTggLjM4NSAxLjUgMSIgLz48L3N2Zz4=");
232
+ -webkit-mask-position: center;
233
+ mask-position: center;
234
+ -webkit-mask-repeat: no-repeat;
235
+ mask-repeat: no-repeat;
236
+ -webkit-mask-size: 1em 1em;
237
+ mask-size: 1em 1em;
238
+ pointer-events: none;
239
+ transition: 0.125s ease-in-out;
240
+ transition-property: background-color, color, opacity, -webkit-mask-image;
241
+ transition-property: background-color, color, mask-image, opacity;
242
+ transition-property: background-color, color, mask-image, opacity, -webkit-mask-image;
121
243
  }
122
244
 
123
- :where([oui-color-picker-content][popover]) {
124
- --margin-bottom: 0.5em;
125
- --margin-left: 0.5em;
126
- --margin-right: 0.5em;
127
- --margin-top: 0.5em;
128
- inset-block: var(--margin-top) var(--margin-bottom);
129
- inset-inline: var(--margin-left) var(--margin-right);
245
+ :where([oui-color-picker-copy-error], [oui-color-picker-copy-success]) {
246
+ color: transparent;
130
247
  }
131
- :where([oui-color-picker-content][popover])[oui-position$=bottom i] {
132
- --margin-bottom: 0;
133
- }
134
- :where([oui-color-picker-content][popover])[oui-position$=end i] {
135
- --margin-right: 0;
248
+ :where([oui-color-picker-copy-error], [oui-color-picker-copy-success])::before {
249
+ opacity: 0;
136
250
  }
137
- :where([oui-color-picker-content][popover])[oui-position$=start i] {
138
- --margin-left: 0;
251
+ :where([oui-color-picker-copy-error], [oui-color-picker-copy-success])::after {
252
+ opacity: 1;
139
253
  }
140
- :where([oui-color-picker-content][popover])[oui-position$=top i] {
141
- --margin-top: 0;
254
+
255
+ :where([oui-color-picker-copy-error]) {
256
+ --oui-background-value: var(--oui-red-2);
257
+ --oui-foreground-value: var(--oui-red-8);
258
+ --oui-outline-value: var(--oui-red-5);
142
259
  }
143
- :where([oui-color-picker-content][popover]) {
144
- 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);
145
- min-width: anchor-size(width);
146
- border-radius: 0.25em;
260
+ :where([oui-color-picker-copy-error])::after {
261
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
262
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
147
263
  }
148
- :where([oui-color-picker-content][popover]:not(:has(> [oui-color-picker-opacity]))) {
149
- border-radius: 0.25em 0.25em 0.75em 0.75em;
150
- }
151
- [oui-color-picker-content][popover] :where([oui-color-picker-content],
152
- [oui-color-picker-hue],
153
- [oui-color-picker-opacity],
154
- [oui-color-picker-well]) {
155
- margin: 1em 1em 0;
264
+
265
+ :where([oui-color-picker-copy-success]) {
266
+ --oui-background-value: var(--oui-green-2);
267
+ --oui-foreground-value: var(--oui-green-8);
268
+ --oui-outline-value: var(--oui-green-5);
156
269
  }
157
- :where([oui-color-picker-content][popover] > :last-child) {
158
- margin-bottom: 1em !important;
270
+ :where([oui-color-picker-copy-success])::after {
271
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
272
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
159
273
  }
160
274
 
161
275
  :where([oui-color-picker-hue], [oui-color-picker-opacity]) {
@@ -169,8 +283,18 @@
169
283
  z-index: 1;
170
284
  }
171
285
 
172
- :where([oui-color-picker-hue-label], [oui-color-picker-opacity-label]) {
173
- display: none;
286
+ :where([oui-color-picker-hue-label],
287
+ [oui-color-picker-opacity-label],
288
+ [oui-color-picker-output-input-label],
289
+ [oui-color-picker-output-format-label]) {
290
+ width: 1px !important;
291
+ height: 1px !important;
292
+ padding: 0 !important;
293
+ clip-path: inset(50%) !important;
294
+ overflow: hidden !important;
295
+ border: 0 !important;
296
+ white-space: nowrap !important;
297
+ position: absolute;
174
298
  }
175
299
 
176
300
  :where([oui-color-picker-hue-knob]),
@@ -305,11 +429,12 @@
305
429
  }
306
430
  :where([oui-color-picker-input]) {
307
431
  --oui-background-value: var(--oui-absolute);
432
+ width: 100%;
308
433
  padding: 0.5em 0.75em;
309
434
  border-radius: 0.25em;
310
435
  font-family: monospace, monospace;
311
436
  }
312
- :where([oui-color-picker-input]:has(+ button)) {
437
+ :where([oui-color-picker-input]:has(+ [oui-color-picker-toggle])) {
313
438
  border-radius: 0.25em 0 0 0.25em;
314
439
  }
315
440
  :where([oui-color-picker-input]:is([disabled], [aria-disabled=true i])) {
@@ -337,6 +462,363 @@
337
462
  inset: 0;
338
463
  }
339
464
 
465
+ :where([oui-color-picker-output]) {
466
+ padding: 1em 0 0;
467
+ display: flex;
468
+ flex-flow: column nowrap;
469
+ gap: 1em;
470
+ border-top: 1px solid var(--oui-gray-3);
471
+ }
472
+ :where([oui-color-picker-content][popover] [oui-color-picker-output]) {
473
+ padding: 1em 1em 0;
474
+ margin: 0 -1em;
475
+ }
476
+
477
+ :where([oui-color-picker-output-format]) {
478
+ display: flex;
479
+ flex-flow: row nowrap;
480
+ align-items: stretch;
481
+ justify-content: flex-end;
482
+ gap: 0.5em;
483
+ }
484
+
485
+ :where([oui-color-picker-output-format-value]) {
486
+ --oui-outline-percentage: 100%;
487
+ --oui-outline-value: var(--oui-blue-6);
488
+ outline: 4px solid color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
489
+ outline-offset: 0;
490
+ --oui-background-percentage: 0%;
491
+ --oui-foreground-percentage: 0%;
492
+ align-content: center;
493
+ background-color: color-mix(in oklab, var(--oui-background-value), transparent var(--oui-background-percentage));
494
+ border: 1px solid var(--oui-border-value, var(--oui-gray-3));
495
+ box-shadow: inset 0 2px 4px -1px var(--oui-gray-3);
496
+ color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
497
+ -webkit-text-fill-color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
498
+ transition: 0.125s ease-in-out;
499
+ transition-property: background, outline, border, box-shadow, color;
500
+ }
501
+ :where([oui-color-picker-output-format-value]).oui-validate:not([disabled],
502
+ [readonly],
503
+ [aria-disabled=true i],
504
+ [aria-readonly=true i],
505
+ :focus-visible,
506
+ :focus-within):is(:user-invalid:not([aria-invalid=false i]), [aria-invalid=true i]) {
507
+ --oui-border-value: var(--oui-red-5);
508
+ --oui-foreground-value: var(--oui-red-9);
509
+ --oui-outline-percentage: 82.5%;
510
+ --oui-outline-value: var(--oui-red-6);
511
+ }
512
+ :where([oui-color-picker-output-format-value]).oui-validate:not([disabled],
513
+ [readonly],
514
+ [aria-disabled=true i],
515
+ [aria-readonly=true i],
516
+ :focus-visible,
517
+ :focus-within):is(:user-valid:not([aria-invalid=true i]), [aria-invalid=false i]) {
518
+ --oui-border-value: var(--oui-green-5);
519
+ --oui-foreground-value: var(--oui-green-9);
520
+ --oui-outline-percentage: 82.5%;
521
+ --oui-outline-value: var(--oui-green-6);
522
+ }
523
+ :where([oui-color-picker-output-format-value]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible, :where([oui-color-picker-output-format-value]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-within {
524
+ --oui-border-value: var(--oui-blue-5);
525
+ --oui-foreground-value: inherit;
526
+ --oui-outline-percentage: 75%;
527
+ --oui-outline-value: var(--oui-blue-6);
528
+ }
529
+ @media (hover: hover) {
530
+ :where([oui-color-picker-output-format-value]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):hover {
531
+ --oui-border-value: var(--oui-blue-4);
532
+ --oui-foreground-percentage: 0%;
533
+ --oui-foreground-value: inherit;
534
+ --oui-outline-percentage: 90%;
535
+ --oui-outline-value: var(--oui-blue-6);
536
+ }
537
+ }
538
+ :where([oui-color-picker-output-format-value]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]) {
539
+ --oui-foreground-percentage: 25%;
540
+ font-style: italic;
541
+ }
542
+ :where([oui-color-picker-output-format-value]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible {
543
+ --oui-outline-percentage: 75%;
544
+ }
545
+ :where([oui-color-picker-output-format-value]):is([disabled], [aria-disabled=true i]) {
546
+ --oui-background-percentage: 50%;
547
+ }
548
+ :where([oui-color-picker-output-format-value]) {
549
+ padding-right: 2em;
550
+ background-color: var(--oui-absolute);
551
+ background-position: right 0.5em center;
552
+ border-radius: 0.25em;
553
+ }
554
+
555
+ :where([oui-color-picker-output-input]) {
556
+ --oui-outline-percentage: 100%;
557
+ --oui-outline-value: var(--oui-blue-6);
558
+ outline: 4px solid color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
559
+ outline-offset: 0;
560
+ --oui-background-percentage: 0%;
561
+ --oui-foreground-percentage: 0%;
562
+ align-content: center;
563
+ background-color: color-mix(in oklab, var(--oui-background-value), transparent var(--oui-background-percentage));
564
+ border: 1px solid var(--oui-border-value, var(--oui-gray-3));
565
+ box-shadow: inset 0 2px 4px -1px var(--oui-gray-3);
566
+ color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
567
+ -webkit-text-fill-color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
568
+ transition: 0.125s ease-in-out;
569
+ transition-property: background, outline, border, box-shadow, color;
570
+ }
571
+ :where([oui-color-picker-output-input]).oui-validate:not([disabled],
572
+ [readonly],
573
+ [aria-disabled=true i],
574
+ [aria-readonly=true i],
575
+ :focus-visible,
576
+ :focus-within):is(:user-invalid:not([aria-invalid=false i]), [aria-invalid=true i]) {
577
+ --oui-border-value: var(--oui-red-5);
578
+ --oui-foreground-value: var(--oui-red-9);
579
+ --oui-outline-percentage: 82.5%;
580
+ --oui-outline-value: var(--oui-red-6);
581
+ }
582
+ :where([oui-color-picker-output-input]).oui-validate:not([disabled],
583
+ [readonly],
584
+ [aria-disabled=true i],
585
+ [aria-readonly=true i],
586
+ :focus-visible,
587
+ :focus-within):is(:user-valid:not([aria-invalid=true i]), [aria-invalid=false i]) {
588
+ --oui-border-value: var(--oui-green-5);
589
+ --oui-foreground-value: var(--oui-green-9);
590
+ --oui-outline-percentage: 82.5%;
591
+ --oui-outline-value: var(--oui-green-6);
592
+ }
593
+ :where([oui-color-picker-output-input]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible, :where([oui-color-picker-output-input]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-within {
594
+ --oui-border-value: var(--oui-blue-5);
595
+ --oui-foreground-value: inherit;
596
+ --oui-outline-percentage: 75%;
597
+ --oui-outline-value: var(--oui-blue-6);
598
+ }
599
+ @media (hover: hover) {
600
+ :where([oui-color-picker-output-input]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):hover {
601
+ --oui-border-value: var(--oui-blue-4);
602
+ --oui-foreground-percentage: 0%;
603
+ --oui-foreground-value: inherit;
604
+ --oui-outline-percentage: 90%;
605
+ --oui-outline-value: var(--oui-blue-6);
606
+ }
607
+ }
608
+ :where([oui-color-picker-output-input]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]) {
609
+ --oui-foreground-percentage: 25%;
610
+ font-style: italic;
611
+ }
612
+ :where([oui-color-picker-output-input]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible {
613
+ --oui-outline-percentage: 75%;
614
+ }
615
+ :where([oui-color-picker-output-input]):is([disabled], [aria-disabled=true i]) {
616
+ --oui-background-percentage: 50%;
617
+ }
618
+ :where([oui-color-picker-output-input]) {
619
+ width: 4em;
620
+ background-color: var(--oui-absolute);
621
+ border-radius: 0.25em;
622
+ font-family: monospace, monospace;
623
+ }
624
+
625
+ :where([oui-color-picker-output-item]) {
626
+ display: flex;
627
+ flex-flow: row wrap;
628
+ gap: 1em;
629
+ }
630
+ :where([oui-color-picker-output-item] [oui-color-picker-output-input]) {
631
+ width: auto;
632
+ flex: 1;
633
+ }
634
+ :where([oui-color-picker-output-item]:only-child)::before {
635
+ font-size: 0.875rem;
636
+ font-weight: bold;
637
+ align-self: flex-start;
638
+ cursor: pointer;
639
+ transition: color 0.125s ease-in-out;
640
+ }
641
+ @media (hover: hover) {
642
+ :where(:where([oui-color-picker-output-item]:only-child)::before:hover) {
643
+ color: var(--oui-blue-8);
644
+ }
645
+ }
646
+ :where([oui-color-picker-output-item]:only-child)::before {
647
+ content: attr(aria-label);
648
+ align-self: center;
649
+ cursor: default;
650
+ }
651
+
652
+ :where([oui-color-picker-toggle]) {
653
+ --oui-background-percentage: 50%;
654
+ --oui-background-value: var(--oui-gray-2);
655
+ --oui-foreground-percentage: 0%;
656
+ --oui-foreground-value: var(--oui-gray-8);
657
+ --oui-outline-percentage: 100%;
658
+ --oui-outline-value: var(--oui-gray-5);
659
+ --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 75%);
660
+ --oui-shadow-percentage: 82.5%;
661
+ --oui-shadow-value: color-mix(
662
+ in oklab,
663
+ var(--oui-outline-value),
664
+ transparent var(--oui-shadow-percentage)
665
+ );
666
+ box-shadow: inset 0 1px 0 0 var(--oui-shadow-inset), 0 0 0 1px var(--oui-shadow-value), 0 1px 2px -0.5px var(--oui-shadow-value), 0 2px 4px -1px var(--oui-shadow-value), 0 4px 8px -2px var(--oui-shadow-value);
667
+ padding: 0.5em 0.75em;
668
+ display: inline-flex;
669
+ flex-flow: row wrap;
670
+ gap: 0.75em;
671
+ align-items: center;
672
+ border-radius: 0.25em;
673
+ background-color: color-mix(in oklab, var(--oui-background-value), transparent var(--oui-background-percentage));
674
+ outline: 4px solid color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
675
+ border: none;
676
+ color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
677
+ line-height: 1.25;
678
+ position: relative;
679
+ transition: 0.125s ease-in-out;
680
+ transition-property: background, outline, box-shadow, color;
681
+ }
682
+ :where([oui-color-picker-toggle])::after {
683
+ content: "";
684
+ width: 1em;
685
+ height: 1em;
686
+ display: inline-flex;
687
+ opacity: 0;
688
+ background-color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
689
+ -webkit-mask-image: url("");
690
+ mask-image: url("");
691
+ -webkit-mask-position: center;
692
+ mask-position: center;
693
+ -webkit-mask-repeat: no-repeat;
694
+ mask-repeat: no-repeat;
695
+ -webkit-mask-size: 1em 1em;
696
+ mask-size: 1em 1em;
697
+ pointer-events: none;
698
+ transition: 0.125s ease-in-out;
699
+ transition-property: background-color, color, opacity, -webkit-mask-image;
700
+ transition-property: background-color, color, mask-image, opacity;
701
+ transition-property: background-color, color, mask-image, opacity, -webkit-mask-image;
702
+ position: absolute;
703
+ inset: 50% auto auto 50%;
704
+ transform: translate3d(-50%, -50%, 0);
705
+ }
706
+ :where([oui-color-picker-toggle]):has(.oui-icon:is(:first-child))::after {
707
+ inset: auto;
708
+ transform: none;
709
+ }
710
+ :where([oui-color-picker-toggle]):has(.oui-icon:is(:last-child))::after {
711
+ inset: auto 0.75em auto auto;
712
+ transform: none;
713
+ }
714
+ :where([oui-color-picker-toggle]):focus-visible {
715
+ --oui-outline-percentage: 75%;
716
+ }
717
+ @media (hover: hover) {
718
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i]):hover {
719
+ --oui-background-percentage: 50%;
720
+ --oui-foreground-percentage: 25%;
721
+ --oui-shadow-percentage: 90%;
722
+ }
723
+ }
724
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[aria-busy=true i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=busy i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=error i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=loading i]:not(:has(.oui-icon:is(:first-child, :last-child))), :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=success i]:not(:has(.oui-icon:is(:first-child, :last-child))) {
725
+ color: transparent;
726
+ }
727
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=error i]::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=loading i]::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=success i]::after {
728
+ opacity: 1;
729
+ }
730
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[aria-busy=true i] .oui-icon, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=busy i] .oui-icon, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=error i] .oui-icon, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=loading i] .oui-icon, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=success i] .oui-icon {
731
+ opacity: 0;
732
+ }
733
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[aria-busy=true i], :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=busy i], :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=loading i] {
734
+ --oui-background-value: var(--oui-blue-2);
735
+ --oui-foreground-value: var(--oui-blue-8);
736
+ --oui-outline-value: var(--oui-blue-5);
737
+ }
738
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[aria-busy=true i]::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=busy i]::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=loading i]::after {
739
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
740
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWxvYWRlci0yIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDkgOSIgLz48L3N2Zz4=");
741
+ transform-origin: center;
742
+ animation: oui-button-icon-centered 1s linear infinite;
743
+ }
744
+ @keyframes oui-button-icon-centered {
745
+ to {
746
+ transform: translate3d(-50%, -50%, 0) rotate3d(0, 0, 1, 360deg);
747
+ }
748
+ }
749
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[aria-busy=true i]:has(.oui-icon:is(:first-child, :last-child))::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=busy i]:has(.oui-icon:is(:first-child, :last-child))::after, :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=loading i]:has(.oui-icon:is(:first-child, :last-child))::after {
750
+ animation: oui-button-icon-offset 1s linear infinite;
751
+ }
752
+ @keyframes oui-button-icon-offset {
753
+ to {
754
+ transform: rotate3d(0, 0, 1, 360deg);
755
+ }
756
+ }
757
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=error i] {
758
+ --oui-background-value: var(--oui-red-2);
759
+ --oui-foreground-value: var(--oui-red-8);
760
+ --oui-outline-value: var(--oui-red-5);
761
+ }
762
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=error i]::after {
763
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
764
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLXgiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNMTggNmwtMTIgMTIiIC8+PHBhdGggZD0iTTYgNmwxMiAxMiIgLz48L3N2Zz4=");
765
+ }
766
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=success i] {
767
+ --oui-background-value: var(--oui-green-2);
768
+ --oui-foreground-value: var(--oui-green-8);
769
+ --oui-outline-value: var(--oui-green-5);
770
+ }
771
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i])[data-state=success i]::after {
772
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
773
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZWNrIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+PHBhdGggZD0iTTUgMTJsNSA1bDEwIC0xMCIgLz48L3N2Zz4=");
774
+ }
775
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i]):active {
776
+ 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);
777
+ scale: 0.95;
778
+ }
779
+ :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i]):active[aria-pressed=true i], :where([oui-color-picker-toggle]):not([disabled], [aria-disabled=true i]):active[aria-selected=true i] {
780
+ scale: 1;
781
+ }
782
+ :where([oui-color-picker-toggle])[disabled], :where([oui-color-picker-toggle])[aria-disabled=true i] {
783
+ --oui-background-percentage: 80%;
784
+ --oui-foreground-percentage: 25%;
785
+ --oui-shadow-percentage: 92.5%;
786
+ font-style: italic;
787
+ }
788
+ :where([oui-color-picker-toggle]) .oui-icon {
789
+ width: 1em;
790
+ height: 1em;
791
+ }
792
+ :where([oui-color-picker-toggle]) .oui-icon:is(:first-child, :last-child) {
793
+ transition: opacity 0.125s ease-in-out;
794
+ }
795
+ :where([oui-color-picker-toggle]) {
796
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px var(--oui-shadow-value), 0 1px 2px -0.5px var(--oui-shadow-value), 0 2px 4px -1px var(--oui-shadow-value);
797
+ --oui-background-value: var(--oui-color-picker-hex);
798
+ --oui-outline-value: var(--oui-gray-6);
799
+ width: 2.5em;
800
+ margin: 1px 0;
801
+ border: 1px solid var(--oui-absolute);
802
+ border-top-left-radius: 0;
803
+ border-bottom-left-radius: 0;
804
+ position: relative;
805
+ }
806
+ :where([oui-color-picker-toggle])::after {
807
+ opacity: 1;
808
+ background-color: var(--oui-color-picker-foreground);
809
+ }
810
+ :where([oui-color-picker-toggle])[aria-expanded=false i]::after {
811
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZXZyb24tcmlnaHQiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNOSA2bDYgNmwtNiA2IiAvPjwvc3ZnPg==");
812
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZXZyb24tcmlnaHQiPjxwYXRoIHN0cm9rZT0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIgLz48cGF0aCBkPSJNOSA2bDYgNmwtNiA2IiAvPjwvc3ZnPg==");
813
+ }
814
+ :where([oui-color-picker-toggle])[aria-expanded=true i]::after {
815
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZXZyb24tZG93biI+PHBhdGggc3Ryb2tlPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPjxwYXRoIGQ9Ik02IDlsNiA2bDYgLTYiIC8+PC9zdmc+");
816
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb25zLXRhYmxlci1vdXRsaW5lIGljb24tdGFibGVyLWNoZXZyb24tZG93biI+PHBhdGggc3Ryb2tlPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPjxwYXRoIGQ9Ik02IDlsNiA2bDYgLTYiIC8+PC9zdmc+");
817
+ }
818
+ :where([oui-color-picker-toggle]:active) {
819
+ scale: 1;
820
+ }
821
+
340
822
  :where([oui-color-picker-well]) {
341
823
  --oui-outline-percentage: 100%;
342
824
  --oui-outline-value: var(--oui-blue-6);