@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
@@ -0,0 +1,305 @@
1
+ import { COLOR_PICKER_SYMBOL, COLOR_PICKER_TAGNAME, colorPickerLocalizations } from "./color-picker.constants.mjs";
2
+ import { OuiColorPickerEvent } from "./color-picker.model.mjs";
3
+ import { _ as attachColorPicker, d as setColorPickerLocalizations, f as setColorPickerRequired, g as updateColorPickerLocalizations, p as setColorPickerValue, r as onColorPickerInput, u as setColorPickerDisabled, x as initializeColorPickerComponent, y as detachColorPicker } from "../color-picker.event-Cksj5TvS.mjs";
4
+ import "@oscarpalmer/atoms/color";
5
+ //#region src/js/color-picker/index.ts
6
+ var OuiColorPickerElement = class extends HTMLElement {
7
+ static formAssociated = true;
8
+ static observedAttributes = [
9
+ "disabled",
10
+ "required",
11
+ "value"
12
+ ];
13
+ /**
14
+ * Is the color picker disabled?
15
+ */
16
+ get disabled() {
17
+ return this[COLOR_PICKER_SYMBOL]?.component.disabled ?? false;
18
+ }
19
+ /**
20
+ * Should the color picker be disabled?
21
+ */
22
+ set disabled(value) {
23
+ const state = this[COLOR_PICKER_SYMBOL];
24
+ if (state.component != null && typeof value === "boolean" && value !== state.component.disabled) setColorPickerDisabled(state, "disabled", value);
25
+ }
26
+ /**
27
+ * Form element associated with the color picker
28
+ */
29
+ get form() {
30
+ return this[COLOR_PICKER_SYMBOL].form.internals.form;
31
+ }
32
+ /**
33
+ * Color value as hexadecimal string
34
+ */
35
+ get hex() {
36
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.hex ?? "";
37
+ }
38
+ /**
39
+ * Set color value from a hexadecimal string
40
+ */
41
+ set hex(value) {
42
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "hex");
43
+ }
44
+ /**
45
+ * Color value as hexadecimal string with alpha channel
46
+ */
47
+ get hexa() {
48
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.hexa ?? "";
49
+ }
50
+ /**
51
+ * Set color value from a hexadecimal string with alpha channel
52
+ */
53
+ set hexa(value) {
54
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "hexa");
55
+ }
56
+ /**
57
+ * Color value as an _HSL_ color object
58
+ */
59
+ get hsl() {
60
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.hsl ?? {
61
+ hue: 0,
62
+ lightness: 0,
63
+ saturation: 0
64
+ };
65
+ }
66
+ /**
67
+ * Set color value from an _HSL_ color object
68
+ */
69
+ set hsl(value) {
70
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "hsl");
71
+ }
72
+ /**
73
+ * Color value as an _HSLA_ color object _(HSL with alpha channel)_
74
+ */
75
+ get hsla() {
76
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.hsla ?? {
77
+ hue: 0,
78
+ lightness: 0,
79
+ saturation: 0,
80
+ alpha: 100
81
+ };
82
+ }
83
+ /**
84
+ * Set color value from an _HSLA_ color object _(HSL with alpha channel)_
85
+ */
86
+ set hsla(value) {
87
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "hsla");
88
+ }
89
+ /**
90
+ * Color value as an _HWB_ color object
91
+ */
92
+ get hwb() {
93
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.hwb ?? {
94
+ hue: 0,
95
+ whiteness: 0,
96
+ blackness: 0
97
+ };
98
+ }
99
+ /**
100
+ * Set color value from an _HWB_ color object
101
+ */
102
+ set hwb(value) {
103
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "hwb");
104
+ }
105
+ /**
106
+ * Color value as an _HWBA_ color object _(HWB with alpha channel)_
107
+ */
108
+ get hwba() {
109
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.hwba ?? {
110
+ hue: 0,
111
+ whiteness: 0,
112
+ blackness: 0,
113
+ alpha: 100
114
+ };
115
+ }
116
+ /**
117
+ * Set color value from an _HWBA_ color object _(HWB with alpha channel)_
118
+ */
119
+ set hwba(value) {
120
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "hwba");
121
+ }
122
+ /**
123
+ * Text input value
124
+ */
125
+ get input() {
126
+ return this[COLOR_PICKER_SYMBOL]?.component.anchor.input.value ?? "";
127
+ }
128
+ /**
129
+ * Label elements associated with the color picker
130
+ */
131
+ get labels() {
132
+ return this[COLOR_PICKER_SYMBOL].form.internals.labels;
133
+ }
134
+ /**
135
+ * Is the color picker readonly?
136
+ */
137
+ get readonly() {
138
+ return this[COLOR_PICKER_SYMBOL]?.component.readonly ?? false;
139
+ }
140
+ /**
141
+ * Should the color picker be readonly?
142
+ */
143
+ set readonly(value) {
144
+ const state = this[COLOR_PICKER_SYMBOL];
145
+ if (state.component != null && typeof value === "boolean" && value !== state.component.readonly) setColorPickerDisabled(state, "readonly", value);
146
+ }
147
+ /**
148
+ * Is the color picker required?
149
+ */
150
+ get required() {
151
+ return this[COLOR_PICKER_SYMBOL]?.component.required ?? false;
152
+ }
153
+ /**
154
+ * Should the color picker be required?
155
+ */
156
+ set required(value) {
157
+ const state = this[COLOR_PICKER_SYMBOL];
158
+ if (state.component != null && typeof value === "boolean" && value !== state.component.required) setColorPickerRequired(state, value);
159
+ }
160
+ /**
161
+ * Color value as an _RGB_ color object
162
+ */
163
+ get rgb() {
164
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.rgb ?? {
165
+ red: 0,
166
+ green: 0,
167
+ blue: 0
168
+ };
169
+ }
170
+ /**
171
+ * Set color value from an _RGB_ color object
172
+ */
173
+ set rgb(value) {
174
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "rgb");
175
+ }
176
+ /**
177
+ * Color value as an _RGBA_ color object _(RGB with alpha channel)_
178
+ */
179
+ get rgba() {
180
+ return this[COLOR_PICKER_SYMBOL]?.component.color.value.rgba ?? {
181
+ red: 0,
182
+ green: 0,
183
+ blue: 0,
184
+ alpha: 100
185
+ };
186
+ }
187
+ /**
188
+ * Set color value from an _RGBA_ color object _(RGB with alpha channel)_
189
+ */
190
+ set rgba(value) {
191
+ setColorPickerValue(this[COLOR_PICKER_SYMBOL], value, "rgba");
192
+ }
193
+ /**
194
+ * Validation message for the color picker
195
+ */
196
+ get validationMessage() {
197
+ return this[COLOR_PICKER_SYMBOL].form.internals.validationMessage;
198
+ }
199
+ /**
200
+ * Validity state for the color picker
201
+ */
202
+ get validity() {
203
+ return this[COLOR_PICKER_SYMBOL].form.internals.validity;
204
+ }
205
+ /**
206
+ * Current color value
207
+ */
208
+ get value() {
209
+ return this[COLOR_PICKER_SYMBOL]?.component.value.current ?? "";
210
+ }
211
+ /**
212
+ * Set color value from a string, _HSL(A)_, _HWB(A)_, or _RGB(A)_ color object
213
+ */
214
+ set value(value) {
215
+ const state = this[COLOR_PICKER_SYMBOL];
216
+ if (state.component == null) return;
217
+ if (typeof value === "string") {
218
+ state.component.anchor.input.value = value;
219
+ onColorPickerInput(state);
220
+ } else setColorPickerValue(state, value);
221
+ }
222
+ /**
223
+ * Can the color picker be validated?
224
+ */
225
+ get willValidate() {
226
+ return this[COLOR_PICKER_SYMBOL].form.internals.willValidate;
227
+ }
228
+ constructor() {
229
+ super();
230
+ this[COLOR_PICKER_SYMBOL] = {
231
+ component: null,
232
+ form: { internals: this.attachInternals() }
233
+ };
234
+ }
235
+ attributeChangedCallback(name, _, value) {
236
+ if (this[COLOR_PICKER_SYMBOL].component == null) return;
237
+ switch (name) {
238
+ case "disabled":
239
+ this.disabled = value != null;
240
+ break;
241
+ case "required":
242
+ this.required = value != null;
243
+ break;
244
+ case "value": this.value = value ?? "";
245
+ }
246
+ }
247
+ /**
248
+ * Check if the color picker is valid
249
+ *
250
+ * @returns `true` if the color picker is valid, otherwise `false`
251
+ */
252
+ checkValidity() {
253
+ return this[COLOR_PICKER_SYMBOL].form.internals.checkValidity();
254
+ }
255
+ /**
256
+ * Clear the color picker's value
257
+ */
258
+ clear() {
259
+ this.value = "";
260
+ }
261
+ connectedCallback() {
262
+ const state = this[COLOR_PICKER_SYMBOL];
263
+ const { component } = state;
264
+ if (component == null) initializeColorPickerComponent(this, state);
265
+ else attachColorPicker(state);
266
+ }
267
+ disconnectedCallback() {
268
+ const state = this[COLOR_PICKER_SYMBOL];
269
+ if (state.component != null) detachColorPicker(state);
270
+ }
271
+ formDisabledCallback(disabled) {
272
+ this.disabled = disabled;
273
+ }
274
+ formResetCallback() {
275
+ this.value = this[COLOR_PICKER_SYMBOL]?.component.value.initial ?? "";
276
+ }
277
+ formStateRestoreCallback(state, reason) {
278
+ const { component, form } = this[COLOR_PICKER_SYMBOL];
279
+ if (reason !== "restore" || typeof state !== "string" || component == null) return;
280
+ if (component == null) form.restored = state;
281
+ else this.value = state;
282
+ }
283
+ /**
284
+ * Check if the color picker is valid and report any validation errors
285
+ *
286
+ * @returns `true` if the color picker is valid, otherwise `false`
287
+ */
288
+ reportValidity() {
289
+ return this[COLOR_PICKER_SYMBOL].form.internals.reportValidity();
290
+ }
291
+ /**
292
+ * Set a custom validation message for the color picker
293
+ *
294
+ * @param message Validation message
295
+ */
296
+ setCustomValidity(message) {
297
+ this[COLOR_PICKER_SYMBOL].form.internals.setValidity({ customError: message !== "" }, message, this);
298
+ }
299
+ setLocalizations(first, second) {
300
+ updateColorPickerLocalizations(colorPickerLocalizations, this[COLOR_PICKER_SYMBOL].component.localizations.component, first, second);
301
+ }
302
+ };
303
+ customElements.define(COLOR_PICKER_TAGNAME, OuiColorPickerElement);
304
+ //#endregion
305
+ export { OuiColorPickerElement, OuiColorPickerEvent, setColorPickerLocalizations };
@@ -0,0 +1,179 @@
1
+ import { c as OuiLocalizations } from "./l10n.model-D6a9frgl.mjs";
2
+ import { c as OuiFloatable } from "./floatable.model-DXsQgoU7.mjs";
3
+ import { Color, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor } from "@oscarpalmer/atoms/color";
4
+ import { RemovableEventListener } from "@oscarpalmer/toretto/models";
5
+ //#region src/js/color-picker/color-picker.model.d.ts
6
+ type GenericOuiColorPickerElement = {
7
+ [COLOR_PICKER_SYMBOL]: OuiColorPickerState;
8
+ get value(): string;
9
+ set value(value: string);
10
+ } & HTMLElement;
11
+ type OuiColorPickerAnchor = {
12
+ copy?: OuiColorPickerCopy;
13
+ toggle?: HTMLButtonElement;
14
+ container: HTMLDivElement;
15
+ input: HTMLInputElement;
16
+ };
17
+ type OuiColorPickerColor = {
18
+ foreground: string;
19
+ value: Color;
20
+ };
21
+ type OuiColorPickerContent = {
22
+ element: HTMLDivElement;
23
+ hue: OuiColorPickerContentHue;
24
+ opacity?: OuiColorPickerContentOpacity;
25
+ output?: OuiColorPickerContentOutput;
26
+ well: OuiColorPickerContentWell;
27
+ };
28
+ type OuiColorPickerContentHue = {
29
+ container: HTMLDivElement;
30
+ input: HTMLInputElement;
31
+ label: HTMLLabelElement;
32
+ knob: HTMLSpanElement;
33
+ track: HTMLDivElement;
34
+ };
35
+ type OuiColorPickerContentOpacity = {
36
+ container: HTMLDivElement;
37
+ input: HTMLInputElement;
38
+ label: HTMLLabelElement;
39
+ };
40
+ type OuiColorPickerContentOutput = {
41
+ container: HTMLDivElement;
42
+ copy?: OuiColorPickerCopy;
43
+ inputs: HTMLInputElement[];
44
+ items: HTMLDivElement[];
45
+ toggle?: HTMLSelectElement;
46
+ };
47
+ type OuiColorPickerContentWell = {
48
+ element: HTMLDivElement;
49
+ knob: HTMLSpanElement;
50
+ label: HTMLSpanElement;
51
+ };
52
+ type OuiColorPickerCopy = {
53
+ button: HTMLButtonElement;
54
+ timer?: number;
55
+ };
56
+ type OuiColorPickerCreateParameters = {
57
+ alpha: boolean;
58
+ color: Color;
59
+ copy: boolean;
60
+ id: string;
61
+ inline: boolean;
62
+ input: HTMLInputElement;
63
+ output: OuiColorPickerOutputType;
64
+ };
65
+ declare class OuiColorPickerEvent extends Event {
66
+ readonly valid: boolean;
67
+ readonly value: OuiColorPickerEventValue;
68
+ constructor(type: OuiColorPickerEventType, color: Color, valid: boolean);
69
+ }
70
+ type OuiColorPickerEventType = "oui:change" | "oui:input";
71
+ type OuiColorPickerEventValue = {
72
+ hex: string;
73
+ hexa: string;
74
+ hsl: HSLColor;
75
+ hsla: HSLAColor;
76
+ hwb: HWBColor;
77
+ hwba: HWBAColor;
78
+ rgb: RGBColor;
79
+ rgba: RGBAColor;
80
+ };
81
+ type OuiColorPickerLabel = {
82
+ element: HTMLLabelElement;
83
+ id: string;
84
+ };
85
+ type OuiColorPickerLocalizations = {
86
+ blackness: string;
87
+ blue: string;
88
+ copy: string;
89
+ green: string;
90
+ hex: string;
91
+ hsl: string;
92
+ hue: string;
93
+ hwb: string;
94
+ invalid: string;
95
+ lightness: string;
96
+ opacity: string;
97
+ output: string;
98
+ red: string;
99
+ rgb: string;
100
+ saturation: string;
101
+ toggle: string;
102
+ wellLabel: string;
103
+ wellValue: string | ((lightness: number, saturation: number) => string);
104
+ whiteness: string;
105
+ };
106
+ type OuiColorPickerMovement = {
107
+ parameters?: OuiColorPickerMovementParameters;
108
+ };
109
+ type OuiColorPickerMovementParameters = {
110
+ rectangle: DOMRect;
111
+ state: OuiColorPickerState;
112
+ value: string;
113
+ };
114
+ type OuiColorPickerOutputColor = "hsl" | "hwb" | "rgb";
115
+ type OuiColorPickerOutputColorProperty = "blackness" | "blue" | "green" | "hue" | "lightness" | "red" | "saturation" | "whiteness";
116
+ type OuiColorPickerOutputType = "all" | "none" | OuiColorPickerOutputColor;
117
+ type OuiColorPickerState = {
118
+ component: OuiColorPickerStateComponent;
119
+ form: OuiColorPickerStateForm;
120
+ };
121
+ type OuiColorPickerStateComponent = {
122
+ alpha: boolean;
123
+ anchor: OuiColorPickerAnchor;
124
+ color: OuiColorPickerColor;
125
+ copy: boolean;
126
+ content: OuiColorPickerContent;
127
+ disabled: boolean;
128
+ floatable?: OuiFloatable;
129
+ host: GenericOuiColorPickerElement;
130
+ id: string;
131
+ inline: boolean;
132
+ input: HTMLInputElement;
133
+ label: OuiColorPickerLabel;
134
+ listeners: RemovableEventListener[];
135
+ localizations: OuiColorPickerStateLocalizations;
136
+ output: OuiColorPickerOutputType;
137
+ readonly: boolean;
138
+ required: boolean;
139
+ style: HTMLStyleElement;
140
+ value: OuiColorPickerValue;
141
+ };
142
+ type OuiColorPickerStateForm = {
143
+ internals: ElementInternals;
144
+ restored?: string;
145
+ };
146
+ type OuiColorPickerStateLocalizations = {
147
+ component: Record<string, Partial<OuiColorPickerLocalizations>>;
148
+ global: OuiLocalizations<OuiColorPickerLocalizations>;
149
+ };
150
+ type OuiColorPickerValue = {
151
+ current: string;
152
+ initial: string;
153
+ };
154
+ type OuiColorPickerValueType = "hex" | "hexa" | "hsl" | "hsla" | "hwb" | "hwba" | "rgb" | "rgba";
155
+ //#endregion
156
+ //#region src/js/color-picker/color-picker.constants.d.ts
157
+ declare const COLOR_PICKER_TAGNAME = "oui-color-picker";
158
+ declare const COLOR_PICKER_ATTRIBUTE_COPY: string;
159
+ declare const COLOR_PICKER_ATTRIBUTE_COPY_ERROR: string;
160
+ declare const COLOR_PICKER_ATTRIBUTE_COPY_SUCCESS: string;
161
+ declare const COLOR_PICKER_ATTRIBUTE_INPUT: string;
162
+ declare const COLOR_PICKER_ATTRIBUTE_OUTPUT_INPUT: string;
163
+ declare const COLOR_PICKER_ATTRIBUTE_WELL: string;
164
+ declare const COLOR_PICKER_ATTRIBUTE_WELL_KNOB: string;
165
+ declare const COLOR_PICKER_EXPRESSION_HEX_PREFIX: RegExp;
166
+ declare const COLOR_PICKER_INPUT_TYPES: Set<string>;
167
+ declare const COLOR_PICKER_KEYS: Set<string>;
168
+ declare const COLOR_PICKER_MESSAGE_INPUT: string;
169
+ declare const COLOR_PICKER_MESSAGE_LABEL: string;
170
+ declare const COLOR_PICKER_OUTPUTS: Set<OuiColorPickerOutputType>;
171
+ declare const COLOR_PICKER_SELECTOR_COPY: string;
172
+ declare const COLOR_PICKER_SELECTOR_INPUT: string;
173
+ declare const COLOR_PICKER_SELECTOR_OUTPUT_INPUT: string;
174
+ declare const COLOR_PICKER_SELECTOR_WELL: string;
175
+ declare const COLOR_PICKER_SELECTOR_WELL_KNOB: string;
176
+ declare const COLOR_PICKER_SYMBOL: unique symbol;
177
+ declare const colorPickerLocalizations: OuiLocalizations<OuiColorPickerLocalizations>;
178
+ //#endregion
179
+ export { OuiColorPickerCopy as A, OuiColorPickerStateComponent as B, OuiColorPickerAnchor as C, OuiColorPickerContentOpacity as D, OuiColorPickerContentHue as E, OuiColorPickerMovementParameters as F, OuiColorPickerValueType as H, OuiColorPickerOutputColor as I, OuiColorPickerOutputColorProperty as L, OuiColorPickerEvent as M, OuiColorPickerLocalizations as N, OuiColorPickerContentOutput as O, OuiColorPickerMovement as P, OuiColorPickerOutputType as R, GenericOuiColorPickerElement as S, OuiColorPickerContent as T, OuiColorPickerStateLocalizations as V, COLOR_PICKER_SELECTOR_WELL as _, COLOR_PICKER_ATTRIBUTE_OUTPUT_INPUT as a, COLOR_PICKER_TAGNAME as b, COLOR_PICKER_EXPRESSION_HEX_PREFIX as c, COLOR_PICKER_MESSAGE_INPUT as d, COLOR_PICKER_MESSAGE_LABEL as f, COLOR_PICKER_SELECTOR_OUTPUT_INPUT as g, COLOR_PICKER_SELECTOR_INPUT as h, COLOR_PICKER_ATTRIBUTE_INPUT as i, OuiColorPickerCreateParameters as j, OuiColorPickerContentWell as k, COLOR_PICKER_INPUT_TYPES as l, COLOR_PICKER_SELECTOR_COPY as m, COLOR_PICKER_ATTRIBUTE_COPY_ERROR as n, COLOR_PICKER_ATTRIBUTE_WELL as o, COLOR_PICKER_OUTPUTS as p, COLOR_PICKER_ATTRIBUTE_COPY_SUCCESS as r, COLOR_PICKER_ATTRIBUTE_WELL_KNOB as s, COLOR_PICKER_ATTRIBUTE_COPY as t, COLOR_PICKER_KEYS as u, COLOR_PICKER_SELECTOR_WELL_KNOB as v, OuiColorPickerColor as w, colorPickerLocalizations as x, COLOR_PICKER_SYMBOL as y, OuiColorPickerState as z };