@thednp/color-picker 2.0.1 → 2.0.2

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 (37) hide show
  1. package/README.md +4 -4
  2. package/dist/css/color-picker.css +1 -1
  3. package/dist/css/color-picker.min.css +1 -1
  4. package/dist/css/color-picker.rtl.css +1 -1
  5. package/dist/css/color-picker.rtl.min.css +1 -1
  6. package/dist/js/color-picker.cjs +2 -2
  7. package/dist/js/color-picker.cjs.map +1 -1
  8. package/dist/js/color-picker.js +2 -2
  9. package/dist/js/color-picker.js.map +1 -1
  10. package/dist/js/color-picker.mjs +243 -239
  11. package/dist/js/color-picker.mjs.map +1 -1
  12. package/package.json +23 -26
  13. package/src/ts/colorPalette.ts +2 -2
  14. package/src/ts/index.ts +20 -19
  15. package/test/color-palette.test.ts +137 -0
  16. package/test/color-picker.test.ts +705 -0
  17. package/{cypress → test}/fixtures/getMarkup.js +8 -7
  18. package/test/fixtures/swipe.ts +33 -0
  19. package/test/fixtures/write.ts +37 -0
  20. package/tsconfig.json +45 -27
  21. package/vite.config.mts +5 -13
  22. package/vitest.config-ui.ts +26 -0
  23. package/vitest.config.ts +26 -0
  24. package/cypress/e2e/color-palette.cy.ts +0 -128
  25. package/cypress/e2e/color-picker.cy.ts +0 -909
  26. package/cypress/plugins/esbuild-istanbul.ts +0 -50
  27. package/cypress/plugins/tsCompile.ts +0 -34
  28. package/cypress/support/commands.ts +0 -0
  29. package/cypress/support/e2e.ts +0 -21
  30. package/cypress/test.html +0 -23
  31. package/cypress.config.ts +0 -30
  32. /package/{cypress → test}/fixtures/colorNamesFrench.js +0 -0
  33. /package/{cypress → test}/fixtures/componentLabelsFrench.js +0 -0
  34. /package/{cypress → test}/fixtures/format.js +0 -0
  35. /package/{cypress → test}/fixtures/getRandomInt.js +0 -0
  36. /package/{cypress → test}/fixtures/sampleWebcolors.js +0 -0
  37. /package/{cypress → test}/fixtures/testSample.js +0 -0
@@ -1,25 +1,27 @@
1
- const _t = "aria-description", Nt = "aria-expanded", Ee = "aria-hidden", St = "aria-selected", tt = "aria-valuenow", et = "aria-valuetext", Me = "change", Te = "DOMContentLoaded", Re = "focusin", Oe = "focusout", zt = "keydown", De = "keyup", Et = "click", Fe = "pointerdown", ue = "pointermove", Ie = "pointerup", Ke = "resize", Ve = "scroll", Be = "touchmove", j = "ArrowDown", ot = "ArrowUp", ht = "ArrowLeft", U = "ArrowRight", je = "Enter", qe = "Escape", Wt = "Space", Ge = "transitionDuration", Ue = "transitionProperty", X = "tabindex", _e = navigator.userAgentData, mt = _e, { userAgent: ze } = navigator, vt = ze, Jt = /iPhone|iPad|iPod|Android/i;
2
- mt ? mt.brands.some((o) => Jt.test(o.brand)) : Jt.test(vt);
3
- const Xt = /(iPhone|iPod|iPad)/;
4
- mt ? mt.brands.some((o) => Xt.test(o.brand)) : (
5
- /* istanbul ignore next */
6
- Xt.test(vt)
1
+ const _t = "aria-description", Nt = "aria-expanded", Te = "aria-hidden", xt = "aria-selected", tt = "aria-valuenow", et = "aria-valuetext", Me = "change", Re = "DOMContentLoaded", Oe = "focusin", De = "focusout", zt = "keydown", Fe = "keyup", Et = "click", Ie = "pointerdown", be = "pointermove", Ke = "pointerup", Ve = "resize", Be = "scroll", je = "touchmove", j = "ArrowDown", ot = "ArrowUp", ht = "ArrowLeft", U = "ArrowRight", qe = "Enter", Ge = "Escape", Jt = "Space", Ue = "transitionDuration", We = "transitionProperty", X = "tabindex", _e = navigator.userAgentData, mt = _e, { userAgent: ze } = navigator, vt = ze, Xt = /iPhone|iPad|iPod|Android/i;
2
+ /* istanbul ignore else @preserve */
3
+ mt ? mt.brands.some((o) => Xt.test(o.brand)) : Xt.test(vt);
4
+ const Yt = /(iPhone|iPod|iPad)/;
5
+ mt ? mt.brands.some((o) => Yt.test(o.brand)) : (
6
+ /* istanbul ignore next @preserve */
7
+ Yt.test(vt)
7
8
  );
8
9
  vt && vt.includes("Firefox");
9
- const { head: kt } = document;
10
- ["webkitPerspective", "perspective"].some((o) => o in kt.style);
10
+ const { head: wt } = document;
11
+ ["webkitPerspective", "perspective"].some((o) => o in wt.style);
11
12
  const Bt = (o, t, e, s) => {
12
13
  const r = s || !1;
13
14
  o.addEventListener(t, e, r);
14
15
  }, jt = (o, t, e, s) => {
15
16
  const r = s || !1;
16
17
  o.removeEventListener(t, e, r);
17
- }, We = (o, t, e, s) => {
18
+ }, Je = (o, t, e, s) => {
18
19
  const r = (n) => {
20
+ /* istanbul ignore else @preserve */
19
21
  (n.target === o || n.currentTarget === o) && (e.apply(o, [n]), jt(o, t, r, s));
20
22
  };
21
23
  Bt(o, t, r, s);
22
- }, Je = () => {
24
+ }, Xe = () => {
23
25
  };
24
26
  (() => {
25
27
  let o = !1;
@@ -27,20 +29,20 @@ const Bt = (o, t, e, s) => {
27
29
  const t = Object.defineProperty({}, "passive", {
28
30
  get: () => (o = !0, o)
29
31
  });
30
- We(document, Te, Je, t);
32
+ Je(document, Re, Xe, t);
31
33
  } catch {
32
34
  }
33
35
  return o;
34
36
  })();
35
- ["webkitTransform", "transform"].some((o) => o in kt.style);
36
- ["webkitAnimation", "animation"].some((o) => o in kt.style);
37
- ["webkitTransition", "transition"].some((o) => o in kt.style);
38
- const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), Pt = (o, t) => o.removeAttribute(t), q = (o, ...t) => {
37
+ ["webkitTransform", "transform"].some((o) => o in wt.style);
38
+ ["webkitAnimation", "animation"].some((o) => o in wt.style);
39
+ ["webkitTransition", "transition"].some((o) => o in wt.style);
40
+ const kt = (o, t) => o.getAttribute(t), v = (o, t, e) => o.setAttribute(t, e), Pt = (o, t) => o.removeAttribute(t), q = (o, ...t) => {
39
41
  o.classList.add(...t);
40
42
  }, O = (o, ...t) => {
41
43
  o.classList.remove(...t);
42
- }, T = (o, t) => o.classList.contains(t), qt = (o) => o != null && typeof o == "object" || !1, Z = (o) => qt(o) && typeof o.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((t) => o.nodeType === t) || !1, at = (o) => Z(o) && o.nodeType === 1 || !1, W = /* @__PURE__ */ new Map(), ct = {
43
- data: W,
44
+ }, R = (o, t) => o.classList.contains(t), qt = (o) => o != null && typeof o == "object" || !1, Z = (o) => qt(o) && typeof o.nodeType == "number" && [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((t) => o.nodeType === t) || !1, at = (o) => Z(o) && o.nodeType === 1 || !1, z = /* @__PURE__ */ new Map(), ct = {
45
+ data: z,
44
46
  /**
45
47
  * Sets web components data.
46
48
  *
@@ -49,7 +51,7 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
49
51
  * @param instance the component instance
50
52
  */
51
53
  set: (o, t, e) => {
52
- at(o) && (W.has(t) || W.set(t, /* @__PURE__ */ new Map()), W.get(t).set(o, e));
54
+ at(o) && (z.has(t) || z.set(t, /* @__PURE__ */ new Map()), z.get(t).set(o, e));
53
55
  },
54
56
  /**
55
57
  * Returns all instances for specified component.
@@ -57,7 +59,7 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
57
59
  * @param component the component's name or a unique key
58
60
  * @returns all the component instances
59
61
  */
60
- getAllFor: (o) => W.get(o) || null,
62
+ getAllFor: (o) => z.get(o) || null,
61
63
  /**
62
64
  * Returns the instance associated with the target.
63
65
  *
@@ -78,9 +80,9 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
78
80
  */
79
81
  remove: (o, t) => {
80
82
  const e = ct.getAllFor(t);
81
- !e || !at(o) || (e.delete(o), e.size === 0 && W.delete(t));
83
+ !e || !at(o) || (e.delete(o), e.size === 0 && z.delete(t));
82
84
  }
83
- }, Xe = (o, t) => ct.get(o, t), B = (o) => typeof o == "string" || !1, Ye = (o) => qt(o) && o.constructor.name === "Window" || !1, be = (o) => Z(o) && o.nodeType === 9 || !1, V = (o) => Ye(o) ? o.document : be(o) ? o : Z(o) ? o.ownerDocument : window.document, K = (o, ...t) => Object.assign(o, ...t), x = (o) => {
85
+ }, Ye = (o, t) => ct.get(o, t), B = (o) => typeof o == "string" || !1, Ze = (o) => qt(o) && o.constructor.name === "Window" || !1, pe = (o) => Z(o) && o.nodeType === 9 || !1, V = (o) => Ze(o) ? o.document : pe(o) ? o : Z(o) ? o.ownerDocument : window.document, K = (o, ...t) => Object.assign(o, ...t), x = (o) => {
84
86
  if (!o) return;
85
87
  if (B(o))
86
88
  return V().createElement(o);
@@ -88,19 +90,19 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
88
90
  if (!e) return;
89
91
  const s = { ...o };
90
92
  return delete s.tagName, K(e, s);
91
- }, Mt = (o, t) => {
93
+ }, Tt = (o, t) => {
92
94
  if (!o || !t) return;
93
95
  if (B(t))
94
96
  return V().createElementNS(o, t);
95
- const { tagName: e } = t, s = Mt(o, e);
97
+ const { tagName: e } = t, s = Tt(o, e);
96
98
  if (!s) return;
97
99
  const r = { ...t };
98
100
  return delete r.tagName, K(s, r);
99
- }, Ze = (o, t) => o.dispatchEvent(t), Tt = (o, t) => {
101
+ }, Qe = (o, t) => o.dispatchEvent(t), Mt = (o, t) => {
100
102
  const e = getComputedStyle(o), s = t.replace("webkit", "Webkit").replace(/([A-Z])/g, "-$1").toLowerCase();
101
103
  return e.getPropertyValue(s);
102
- }, Qe = (o) => {
103
- const t = Tt(o, Ue), e = Tt(o, Ge), s = e.includes("ms") ? (
104
+ }, to = (o) => {
105
+ const t = Mt(o, We), e = Mt(o, Ue), s = e.includes("ms") ? (
104
106
  /* istanbul ignore next */
105
107
  1
106
108
  ) : 1e3, r = t && t !== "none" ? parseFloat(e) * s : (
@@ -111,17 +113,17 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
111
113
  /* istanbul ignore next */
112
114
  0
113
115
  ) : r;
114
- }, _ = (o, t) => o.focus(t), Yt = (o) => ["true", !0].includes(o) ? !0 : ["false", !1].includes(o) ? !1 : ["null", "", null, void 0].includes(o) ? null : o !== "" && !Number.isNaN(+o) ? +o : o, pt = (o) => Object.entries(o), to = (o, t, e, s) => {
116
+ }, W = (o, t) => o.focus(t), Zt = (o) => ["true", !0].includes(o) ? !0 : ["false", !1].includes(o) ? !1 : ["null", "", null, void 0].includes(o) ? null : o !== "" && !Number.isNaN(+o) ? +o : o, pt = (o) => Object.entries(o), eo = (o, t, e, s) => {
115
117
  const r = { ...e }, n = { ...o.dataset }, i = { ...t }, a = {}, l = "title";
116
118
  return pt(n).forEach(([c, h]) => {
117
119
  const b = c;
118
- a[b] = Yt(h);
120
+ a[b] = Zt(h);
119
121
  }), pt(r).forEach(([c, h]) => {
120
- r[c] = Yt(h);
122
+ r[c] = Zt(h);
121
123
  }), pt(t).forEach(([c, h]) => {
122
- c in r ? i[c] = r[c] : c in a ? i[c] = a[c] : i[c] = c === l ? yt(o, l) : h;
124
+ c in r ? i[c] = r[c] : c in a ? i[c] = a[c] : i[c] = c === l ? kt(o, l) : h;
123
125
  }), i;
124
- }, Zt = (o) => Object.fromEntries(o), eo = (o) => o.offsetHeight, D = (o, t) => {
126
+ }, Qt = (o) => Object.fromEntries(o), oo = (o) => o.offsetHeight, D = (o, t) => {
125
127
  pt(t).forEach(([e, s]) => {
126
128
  if (s && B(e) && e.includes("--"))
127
129
  o.style.setProperty(e, s);
@@ -130,7 +132,7 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
130
132
  r[e] = s, K(o.style, r);
131
133
  }
132
134
  });
133
- }, oo = (o) => qt(o) && o.constructor.name === "Map" || !1, pe = (o) => o.toUpperCase(), gt = (o, t) => {
135
+ }, so = (o) => qt(o) && o.constructor.name === "Map" || !1, de = (o) => o.toUpperCase(), gt = (o, t) => {
134
136
  const { width: e, height: s, top: r, right: n, bottom: i, left: a } = o.getBoundingClientRect();
135
137
  let l = 1, c = 1;
136
138
  if (t && at(o)) {
@@ -153,28 +155,28 @@ const yt = (o, t) => o.getAttribute(t), m = (o, t, e) => o.setAttribute(t, e), P
153
155
  x: a / l,
154
156
  y: r / c
155
157
  };
156
- }, Ct = (o) => V(o).documentElement;
157
- let Qt = 0, te = 0;
158
- const J = /* @__PURE__ */ new Map(), de = (o, t) => {
159
- let e = t ? Qt : te;
158
+ }, St = (o) => V(o).documentElement;
159
+ let te = 0, ee = 0;
160
+ const J = /* @__PURE__ */ new Map(), fe = (o, t) => {
161
+ let e = t ? te : ee;
160
162
  if (t) {
161
- const s = de(o), r = J.get(s) || /* @__PURE__ */ new Map();
162
- J.has(s) || J.set(s, r), oo(r) && !r.has(t) ? (r.set(t, e), Qt += 1) : e = r.get(t);
163
+ const s = fe(o), r = J.get(s) || /* @__PURE__ */ new Map();
164
+ J.has(s) || J.set(s, r), so(r) && !r.has(t) ? (r.set(t, e), te += 1) : e = r.get(t);
163
165
  } else {
164
166
  const s = o.id || o;
165
- J.has(s) ? e = J.get(s) : (J.set(s, e), te += 1);
167
+ J.has(s) ? e = J.get(s) : (J.set(s, e), ee += 1);
166
168
  }
167
169
  return e;
168
- }, so = (o) => {
170
+ }, ro = (o) => {
169
171
  var t;
170
- return o ? be(o) ? o.defaultView : Z(o) ? (t = o?.ownerDocument) == null ? void 0 : t.defaultView : o : window;
171
- }, Lt = (o) => Array.isArray(o) || !1, fe = (o, t) => o ? o.closest(t) || // break out of `ShadowRoot`
172
- fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).querySelector(o), st = (o, t) => (t && Z(t) ? t : V()).getElementsByClassName(
172
+ return o ? pe(o) ? o.defaultView : Z(o) ? (t = o?.ownerDocument) == null ? void 0 : t.defaultView : o : window;
173
+ }, Ct = (o) => Array.isArray(o) || !1, me = (o, t) => o ? o.closest(t) || // break out of `ShadowRoot`
174
+ me(o.getRootNode().host, t) : null, _ = (o, t) => at(o) ? o : (Z(t) ? t : V()).querySelector(o), st = (o, t) => (t && Z(t) ? t : V()).getElementsByClassName(
173
175
  o
174
- ), Gt = ["transparent", "currentColor", "inherit", "revert", "initial"], v = (o) => {
176
+ ), Gt = ["transparent", "currentColor", "inherit", "revert", "initial"], m = (o) => {
175
177
  const t = Math.floor(o);
176
178
  return o - t < 0.5 ? t : Math.round(o);
177
- }, wt = [
179
+ }, $t = [
178
180
  [
179
181
  "aliceblue",
180
182
  {
@@ -1359,11 +1361,11 @@ fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).q
1359
1361
  b: 50
1360
1362
  }
1361
1363
  ]
1362
- ], me = "deg|rad|grad|turn", ve = "[-\\+]?\\d+%?", we = "[-\\+]?\\d*\\.\\d+%?", $e = `[-\\+]?\\d*\\.?\\d+(?:${me})?`, dt = `(?:${we})|(?:${ve})`, Rt = `(?:${dt})|(?:${$e}?)`, ro = "(?:[\\s|\\(\\s|\\s\\(\\s]+)?", no = "(?:[\\s|\\)\\s]+)?", ee = "(?:[,|\\s]+)", io = "(?:[,|\\/\\s]*)?", rt = `${ro}(${Rt})${ee}(${dt})${ee}(${dt})${io}(${dt})?${no}`, I = {
1364
+ ], ve = "deg|rad|grad|turn", $e = "[-\\+]?\\d+%?", we = "[-\\+]?\\d*\\.\\d+%?", ke = `[-\\+]?\\d*\\.?\\d+(?:${ve})?`, dt = `(?:${we})|(?:${$e})`, Rt = `(?:${dt})|(?:${ke}?)`, no = "(?:[\\s|\\(\\s|\\s\\(\\s]+)?", io = "(?:[\\s|\\)\\s]+)?", oe = "(?:[,|\\s]+)", ao = "(?:[,|\\/\\s]*)?", rt = `${no}(${Rt})${oe}(${dt})${oe}(${dt})${ao}(${dt})?${io}`, I = {
1363
1365
  CSS_UNIT: new RegExp(Rt),
1364
- ANGLES: me,
1365
- CSS_ANGLE: $e,
1366
- CSS_INTEGER: ve,
1366
+ ANGLES: ve,
1367
+ CSS_ANGLE: ke,
1368
+ CSS_INTEGER: $e,
1367
1369
  CSS_NUMBER: we,
1368
1370
  CSS_UNIT2: Rt,
1369
1371
  PERMISSIVE_MATCH: rt,
@@ -1375,21 +1377,16 @@ fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).q
1375
1377
  hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
1376
1378
  hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
1377
1379
  hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
1378
- }, ke = (o) => Gt.includes(o), nt = (o, t) => o !== null && typeof o == "object" && Object.keys(t).every((e) => e in o), ye = (o) => `${o}`.includes(".") && parseFloat(o) === 1, $t = (o) => typeof o == "string" && o.includes("%"), H = (o) => !!I.CSS_UNIT.exec(`${o}`), xe = ["rgb", "hex", "hsl", "hsv", "hwb"], Se = (o) => Gt.includes(o) || ["#", ...xe].some((t) => o.includes(t)) ? !1 : wt.some(([t]) => o === t), R = (o, t) => {
1380
+ }, ye = (o) => Gt.includes(o), nt = (o, t) => o !== null && typeof o == "object" && Object.keys(t).every((e) => e in o), xe = (o) => `${o}`.includes(".") && parseFloat(o) === 1, Ut = (o) => typeof o == "string" && o.includes("%"), H = (o) => !!I.CSS_UNIT.exec(`${o}`), Pe = ["rgb", "hex", "hsl", "hsv", "hwb"], Se = (o) => Gt.includes(o) || ["#", ...Pe].some((t) => o.includes(t)) ? !1 : $t.some(([t]) => o === t), se = 1e-6, lo = (o, t) => Math.abs(o * t - t) < se ? 1 : o < se ? 0 : o, E = (o, t) => {
1379
1381
  let e = o;
1380
- if (typeof o == "number" && Math.min(o, 0) === 0 && // round values to 6 decimals Math.round(N * (10 ** 6)) / 10 ** 6
1381
- Math.max(o, 1) === 1)
1382
- return o;
1383
- ye(o) && (e = "100%");
1384
- const s = $t(e);
1385
- return e = t === 360 ? parseFloat(e) : Math.min(t, Math.max(0, parseFloat(e))), s && (e = e * t / 100), Math.abs(e - t) < 1e-6 ? 1 : (t === 360 ? e = (e < 0 ? e % t + t : e % t) / t : e = e % t / t, e);
1382
+ return xe(o) && (e = "100%"), Ut(e) ? Number.parseFloat(e) / 100 : (e = typeof e != "number" ? Number.parseFloat(e) : e, t === 360 ? e = (e < 0 ? e % t + t : e > 360 ? e % t : e) / t : (e = Math.min(t, Math.max(0, e)), e = e / t), lo(e, t));
1386
1383
  }, Ot = (o) => {
1387
1384
  let t = parseFloat(o);
1388
1385
  return (Number.isNaN(t) || t < 0 || t > 1) && (t = 1), t;
1389
- }, ut = (o) => Math.min(1, Math.max(0, o)), G = (o) => o.length === 1 ? `0${o}` : String(o), Pe = (o) => {
1390
- const [[, t]] = wt.filter(([e]) => e === o.toLowerCase());
1386
+ }, ut = (o) => Math.min(1, Math.max(0, o)), G = (o) => o.length === 1 ? `0${o}` : String(o), Ce = (o) => {
1387
+ const [[, t]] = $t.filter(([e]) => e === o.toLowerCase());
1391
1388
  return t;
1392
- }, N = (o) => parseInt(o, 16), Dt = (o) => N(o) / 255, Ce = (o) => v(o * 255).toString(16), oe = (o, t, e) => {
1389
+ }, N = (o) => parseInt(o, 16), Dt = (o) => N(o) / 255, Le = (o) => m(o * 255).toString(16), re = (o, t, e) => {
1393
1390
  const s = Math.max(o, t, e), r = Math.min(o, t, e);
1394
1391
  let n = 0, i = 0;
1395
1392
  const a = (s + r) / 2;
@@ -1407,12 +1404,12 @@ fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).q
1407
1404
  let s = 0, r = 0, n = 0;
1408
1405
  if (t === 0)
1409
1406
  r = e, n = e, s = e;
1410
- else if (e) {
1407
+ else {
1411
1408
  const i = e < 0.5 ? e * (1 + t) : e + t - e * t, a = 2 * e - i;
1412
1409
  s = ft(a, i, o + 1 / 3), r = ft(a, i, o), n = ft(a, i, o - 1 / 3);
1413
1410
  }
1414
1411
  return { r: s, g: r, b: n };
1415
- }, se = (o, t, e) => {
1412
+ }, ne = (o, t, e) => {
1416
1413
  let s = 0, r = 0;
1417
1414
  const n = Math.min(o, t, e), i = Math.max(o, t, e), a = 1 - i;
1418
1415
  if (i === n) return { h: 0, w: n, b: a };
@@ -1423,14 +1420,14 @@ fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).q
1423
1420
  w: n,
1424
1421
  b: a
1425
1422
  };
1426
- }, Le = (o, t, e) => {
1423
+ }, Ae = (o, t, e) => {
1427
1424
  if (t + e >= 1) {
1428
1425
  const i = t / (t + e);
1429
1426
  return { r: i, g: i, b: i };
1430
1427
  }
1431
1428
  let { r: s, g: r, b: n } = lt(o, 1, 0.5);
1432
1429
  return [s, r, n] = [s, r, n].map((i) => i * (1 - t - e) + t), { r: s, g: r, b: n };
1433
- }, re = (o, t, e) => {
1430
+ }, ie = (o, t, e) => {
1434
1431
  const s = Math.max(o, t, e), r = Math.min(o, t, e);
1435
1432
  let n = 0;
1436
1433
  const i = s, a = s - r, l = s === 0 ? 0 : a / s;
@@ -1438,30 +1435,30 @@ fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).q
1438
1435
  }, Ft = (o, t, e) => {
1439
1436
  const s = o * 6, r = t, n = e, i = Math.floor(s), a = s - i, l = n * (1 - r), c = n * (1 - a * r), h = n * (1 - (1 - a) * r), b = i % 6, u = [n, c, l, l, h, n][b], d = [h, n, n, c, l, l][b], g = [l, l, h, n, n, c][b];
1440
1437
  return { r: u, g: d, b: g };
1441
- }, ne = (o, t, e, s) => {
1438
+ }, Lt = (o, t, e, s) => {
1442
1439
  const r = [
1443
- G(v(o).toString(16)),
1444
- G(v(t).toString(16)),
1445
- G(v(e).toString(16))
1440
+ G(m(o).toString(16)),
1441
+ G(m(t).toString(16)),
1442
+ G(m(e).toString(16))
1446
1443
  ];
1447
1444
  return s && r[0].charAt(0) === r[0].charAt(1) && r[1].charAt(0) === r[1].charAt(1) && r[2].charAt(0) === r[2].charAt(1) ? r[0].charAt(0) + r[1].charAt(0) + r[2].charAt(0) : r.join("");
1448
1445
  }, At = (o, t, e, s, r) => {
1449
1446
  const n = [
1450
- G(v(o).toString(16)),
1451
- G(v(t).toString(16)),
1452
- G(v(e).toString(16)),
1453
- G(Ce(s))
1447
+ G(m(o).toString(16)),
1448
+ G(m(t).toString(16)),
1449
+ G(m(e).toString(16)),
1450
+ G(Le(s))
1454
1451
  ];
1455
1452
  return r && n[0].charAt(0) === n[0].charAt(1) && n[1].charAt(0) === n[1].charAt(1) && n[2].charAt(0) === n[2].charAt(1) && n[3].charAt(0) === n[3].charAt(1) ? n[0].charAt(0) + n[1].charAt(0) + n[2].charAt(0) + n[3].charAt(0) : n.join("");
1456
- }, Ae = (o) => {
1453
+ }, He = (o) => {
1457
1454
  const t = String(o).trim().toLowerCase();
1458
1455
  if (Se(t))
1459
- return Object.assign(Pe(t), {
1456
+ return Object.assign(Ce(t), {
1460
1457
  a: 1,
1461
1458
  format: "rgb",
1462
1459
  ok: !0
1463
1460
  });
1464
- if (ke(t))
1461
+ if (ye(t))
1465
1462
  return {
1466
1463
  r: 0,
1467
1464
  g: 0,
@@ -1535,49 +1532,56 @@ fe(o.getRootNode().host, t) : null, z = (o, t) => at(o) ? o : (Z(t) ? t : V()).q
1535
1532
  format: "rgb",
1536
1533
  ok: !o
1537
1534
  })))))));
1538
- }, ie = (o) => {
1535
+ }, co = (o, t, e) => ({
1536
+ r: E(o, 255),
1537
+ g: E(t, 255),
1538
+ b: E(e, 255)
1539
+ }), ae = (o) => {
1539
1540
  let t = { r: 0, g: 0, b: 0 }, e = o, s = 1, r, n, i, a, l, c, h, b, u = "rgb", d = !1;
1540
- return (!e || typeof e == "string") && (e = Ae(e), d = e.ok), nt(e, t) && H(e.r) && H(e.g) && H(e.b) && ({ r: h, g: b, b: l } = e, [h, b, l] = [h, b, l].map((g) => R(g, $t(g) ? 100 : 255)), t = { r: h, g: b, b: l }, u = "format" in e ? e.format : "rgb"), nt(e, { h: 0, s: 0, v: 0 }) && H(e.h) && H(e.s) && H(e.v) && ({ h: c, s: r, v: n } = e, c = R(c, 360), r = R(r, 100), n = R(n, 100), t = Ft(c, r, n), u = "hsv"), nt(e, { h: 0, s: 0, l: 0 }) && H(e.h) && H(e.s) && H(e.l) && ({ h: c, s: r, l: i } = e, c = R(c, 360), r = R(r, 100), i = R(i, 100), t = lt(c, r, i), u = "hsl"), nt(e, { h: 0, w: 0, b: 0 }) && H(e.h) && H(e.w) && H(e.b) && ({ h: c, w: a, b: l } = e, c = R(c, 360), a = R(a, 100), l = R(l, 100), t = Le(c, a, l), u = "hwb"), H(e.a) && (s = e.a, s = $t(s) || parseFloat(`${s}`) > 1 ? R(s, 100) : s), {
1541
- r: t.r,
1542
- g: t.g,
1543
- b: t.b,
1541
+ if ((!e || typeof e == "string") && (e = He(e), d = e.ok || d), nt(e, t) && H(e.r) && H(e.g) && H(e.b)) {
1542
+ if (["format", "ok", "originalInput"].every((g) => g in e))
1543
+ return { ...e };
1544
+ ({ r: h, g: b, b: l } = e), t = co(h, b, l), u = "format" in e ? e.format : "rgb";
1545
+ }
1546
+ return nt(e, { h: 0, s: 0, v: 0 }) && H(e.h) && H(e.s) && H(e.v) && ({ h: c, s: r, v: n } = e, c = E(c, 360), r = E(r, 100), n = E(n, 100), t = Ft(c, r, n), u = "hsv"), nt(e, { h: 0, s: 0, l: 0 }) && H(e.h) && H(e.s) && H(e.l) && ({ h: c, s: r, l: i } = e, c = E(c, 360), r = E(r, 100), i = E(i, 100), t = lt(c, r, i), u = "hsl"), nt(e, { h: 0, w: 0, b: 0 }) && H(e.h) && H(e.w) && H(e.b) && ({ h: c, w: a, b: l } = e, c = E(c, 360), a = E(a, 100), l = E(l, 100), t = Ae(c, a, l), u = "hwb"), H(e.a) && (s = e.a, s = Ut(s) || parseFloat(`${s}`) > 1 ? E(s, 100) : s), {
1547
+ ...t,
1544
1548
  a: Ot(s),
1545
1549
  format: u,
1546
1550
  ok: d
1547
1551
  };
1548
- }, ao = "1.0.9";
1552
+ }, ho = "1.0.11";
1549
1553
  class y {
1550
1554
  // bring main utilities to front
1551
1555
  static matchers = I;
1552
- static isOnePointZero = ye;
1553
- static isPercentage = $t;
1556
+ static isOnePointZero = xe;
1557
+ static isPercentage = Ut;
1554
1558
  static isValidCSSUnit = H;
1555
- static isNonColor = ke;
1559
+ static isNonColor = ye;
1556
1560
  static isColorName = Se;
1557
1561
  static isColorType = nt;
1558
1562
  static pad2 = G;
1559
1563
  static clamp01 = ut;
1560
- static bound01 = R;
1564
+ static bound01 = E;
1561
1565
  static boundAlpha = Ot;
1562
- static getRGBFromName = Pe;
1566
+ static getRGBFromName = Ce;
1563
1567
  static convertHexToDecimal = Dt;
1564
- static convertDecimalToHex = Ce;
1565
- static rgbToHsl = oe;
1566
- static rgbToHex = ne;
1567
- static rgbToHsv = re;
1568
- static rgbToHwb = se;
1568
+ static convertDecimalToHex = Le;
1569
+ static rgbToHsl = re;
1570
+ static rgbToHex = Lt;
1571
+ static rgbToHsv = ie;
1572
+ static rgbToHwb = ne;
1569
1573
  static rgbaToHex = At;
1570
1574
  static hslToRgb = Ft;
1571
1575
  static hsvToRgb = Ft;
1572
1576
  static hueToRgb = ft;
1573
- static hwbToRgb = Le;
1577
+ static hwbToRgb = Ae;
1574
1578
  static parseIntFromHex = N;
1575
- static stringInputToObject = Ae;
1576
- static inputToRGB = ie;
1577
- static roundPart = v;
1578
- static webColors = wt;
1579
+ static stringInputToObject = He;
1580
+ static inputToRGB = ae;
1581
+ static roundPart = m;
1582
+ static webColors = $t;
1579
1583
  static nonColors = Gt;
1580
- static version = ao;
1584
+ static version = ho;
1581
1585
  // main public properties
1582
1586
  r;
1583
1587
  g;
@@ -1588,7 +1592,7 @@ class y {
1588
1592
  originalInput;
1589
1593
  // main public methods
1590
1594
  constructor(t, e) {
1591
- const s = e && xe.includes(e) ? e : "", { r, g: n, b: i, a, ok: l, format: c } = ie(t);
1595
+ const s = e && Pe.includes(e) ? e : "", { r, g: n, b: i, a, ok: l, format: c } = ae(t);
1592
1596
  this.originalInput = t, this.r = r, this.g = n, this.b = i, this.a = a, this.ok = l, this.format = s || c;
1593
1597
  }
1594
1598
  /**
@@ -1624,7 +1628,7 @@ class y {
1624
1628
  * Returns the web colour name closest to the current colour.
1625
1629
  */
1626
1630
  get name() {
1627
- const { r: t, g: e, b: s } = this.toRgb(), [r] = wt.map(([n, i]) => {
1631
+ const { r: t, g: e, b: s } = this.toRgb(), [r] = $t.map(([n, i]) => {
1628
1632
  const a = (
1629
1633
  // ((rgb.r - r) ** 2 + (rgb.g - g) ** 2 + (rgb.b - b) ** 2) ** 0.5; // standard
1630
1634
  (((i.r - t) * 0.3) ** 2 + ((i.g - e) * 0.6) ** 2 + ((i.b - s) * 0.1) ** 2) ** 0.5
@@ -1638,7 +1642,7 @@ class y {
1638
1642
  */
1639
1643
  toRgb() {
1640
1644
  let { r: t, g: e, b: s, a: r } = this;
1641
- return [t, e, s] = [t, e, s].map((n) => v(n * 255 * 100) / 100), r = v(r * 100) / 100, {
1645
+ return [t, e, s] = [t, e, s].map((n) => m(n * 255 * 100) / 100), r = m(r * 100) / 100, {
1642
1646
  r: t,
1643
1647
  g: e,
1644
1648
  b: s,
@@ -1651,7 +1655,7 @@ class y {
1651
1655
  * * rgba(255,255,255,0.5)
1652
1656
  */
1653
1657
  toRgbString() {
1654
- const { r: t, g: e, b: s, a: r } = this.toRgb(), [n, i, a] = [t, e, s].map(v);
1658
+ const { r: t, g: e, b: s, a: r } = this.toRgb(), [n, i, a] = [t, e, s].map(m);
1655
1659
  return r === 1 ? `rgb(${n}, ${i}, ${a})` : `rgba(${n}, ${i}, ${a}, ${r})`;
1656
1660
  }
1657
1661
  /**
@@ -1660,7 +1664,7 @@ class y {
1660
1664
  * * rgb(255 255 255 / 50%)
1661
1665
  */
1662
1666
  toRgbCSS4String() {
1663
- const { r: t, g: e, b: s, a: r } = this.toRgb(), [n, i, a] = [t, e, s].map(v), l = r === 1 ? "" : ` / ${v(r * 100)}%`;
1667
+ const { r: t, g: e, b: s, a: r } = this.toRgb(), [n, i, a] = [t, e, s].map(m), l = r === 1 ? "" : ` / ${m(r * 100)}%`;
1664
1668
  return `rgb(${n} ${i} ${a}${l})`;
1665
1669
  }
1666
1670
  /**
@@ -1668,8 +1672,8 @@ class y {
1668
1672
  * it will find a 3 characters shorthand of the decimal value.
1669
1673
  */
1670
1674
  toHex(t) {
1671
- const { r: e, g: s, b: r, a: n } = this.toRgb();
1672
- return n === 1 ? ne(e, s, r, t) : At(e, s, r, n, t);
1675
+ let { r: e, g: s, b: r, a: n } = this;
1676
+ return [e, s, r] = [e, s, r].map((i) => m(i * 255)), n = m(n * 100) / 100, n === 1 ? Lt(e, s, r, t) : At(e, s, r, n, t);
1673
1677
  }
1674
1678
  /**
1675
1679
  * Returns the CSS valid hexadecimal vaue of the colour. When the parameter is *true*
@@ -1682,8 +1686,8 @@ class y {
1682
1686
  * Returns the HEX8 value of the colour.
1683
1687
  */
1684
1688
  toHex8(t) {
1685
- const { r: e, g: s, b: r, a: n } = this.toRgb();
1686
- return At(e, s, r, n, t);
1689
+ let { r: e, g: s, b: r, a: n } = this;
1690
+ return [e, s, r] = [e, s, r].map((i) => m(i * 255)), n = m(n * 100) / 100, n === 1 ? Lt(e, s, r, t) : At(e, s, r, n, t);
1687
1691
  }
1688
1692
  /**
1689
1693
  * Returns the HEX8 value of the colour.
@@ -1695,7 +1699,7 @@ class y {
1695
1699
  * Returns the colour as a HSVA object.
1696
1700
  */
1697
1701
  toHsv() {
1698
- const { r: t, g: e, b: s, a: r } = this, { h: n, s: i, v: a } = re(t, e, s);
1702
+ const { r: t, g: e, b: s, a: r } = this, { h: n, s: i, v: a } = ie(t, e, s);
1699
1703
  return {
1700
1704
  h: n,
1701
1705
  s: i,
@@ -1707,7 +1711,7 @@ class y {
1707
1711
  * Returns the colour as an HSLA object.
1708
1712
  */
1709
1713
  toHsl() {
1710
- const { r: t, g: e, b: s, a: r } = this, { h: n, s: i, l: a } = oe(t, e, s);
1714
+ const { r: t, g: e, b: s, a: r } = this, { h: n, s: i, l: a } = re(t, e, s);
1711
1715
  return {
1712
1716
  h: n,
1713
1717
  s: i,
@@ -1722,7 +1726,7 @@ class y {
1722
1726
  */
1723
1727
  toHslString() {
1724
1728
  let { h: t, s: e, l: s, a: r } = this.toHsl();
1725
- return t = v(t * 360), e = v(e * 100), s = v(s * 100), r = v(r * 100) / 100, r === 1 ? `hsl(${t}, ${e}%, ${s}%)` : `hsla(${t}, ${e}%, ${s}%, ${r})`;
1729
+ return t = m(t * 360), e = m(e * 100), s = m(s * 100), r = m(r * 100) / 100, r === 1 ? `hsl(${t}, ${e}%, ${s}%)` : `hsla(${t}, ${e}%, ${s}%, ${r})`;
1726
1730
  }
1727
1731
  /**
1728
1732
  * Returns the HSLA values concatenated into a CSS4 Module format string.
@@ -1731,15 +1735,15 @@ class y {
1731
1735
  */
1732
1736
  toHslCSS4String() {
1733
1737
  let { h: t, s: e, l: s, a: r } = this.toHsl();
1734
- t = v(t * 360), e = v(e * 100), s = v(s * 100), r = v(r * 100);
1735
- const n = r < 100 ? ` / ${v(r)}%` : "";
1738
+ t = m(t * 360), e = m(e * 100), s = m(s * 100), r = m(r * 100);
1739
+ const n = r < 100 ? ` / ${m(r)}%` : "";
1736
1740
  return `hsl(${t}deg ${e}% ${s}%${n})`;
1737
1741
  }
1738
1742
  /**
1739
1743
  * Returns the colour as an HWBA object.
1740
1744
  */
1741
1745
  toHwb() {
1742
- const { r: t, g: e, b: s, a: r } = this, { h: n, w: i, b: a } = se(t, e, s);
1746
+ const { r: t, g: e, b: s, a: r } = this, { h: n, w: i, b: a } = ne(t, e, s);
1743
1747
  return {
1744
1748
  h: n,
1745
1749
  w: i,
@@ -1752,8 +1756,8 @@ class y {
1752
1756
  */
1753
1757
  toHwbString() {
1754
1758
  let { h: t, w: e, b: s, a: r } = this.toHwb();
1755
- t = v(t * 360), e = v(e * 100), s = v(s * 100), r = v(r * 100);
1756
- const n = r < 100 ? ` / ${v(r)}%` : "";
1759
+ t = m(t * 360), e = m(e * 100), s = m(s * 100), r = m(r * 100);
1760
+ const n = r < 100 ? ` / ${m(r)}%` : "";
1757
1761
  return `hwb(${t}deg ${e}% ${s}%${n})`;
1758
1762
  }
1759
1763
  /**
@@ -1853,10 +1857,10 @@ class It {
1853
1857
  for (let g = 1; g < r - c; g += 1)
1854
1858
  n = [0.5 - d * g, ...n];
1855
1859
  for (let g = 0; g < s; g += 1) {
1856
- const p = (e + g * l) % 360 / 360;
1860
+ const p = (e + g * l) % 360;
1857
1861
  n.forEach((f) => {
1858
- const w = new y({ h: p, s: 1, l: f });
1859
- a.push(i < 100 ? w.saturate(i - 100) : w);
1862
+ const $ = new y({ h: p, s: 100, l: f * 100 });
1863
+ a.push(i < 100 ? $.saturate(i - 100) : $);
1860
1864
  });
1861
1865
  }
1862
1866
  this.hue = e, this.hueSteps = s, this.lightSteps = r, this.saturation = i, this.colors = a;
@@ -1898,7 +1902,7 @@ const Kt = {
1898
1902
  "violet",
1899
1903
  "magenta",
1900
1904
  "pink"
1901
- ], ae = (o) => {
1905
+ ], le = (o) => {
1902
1906
  if (!B(o)) return !1;
1903
1907
  try {
1904
1908
  JSON.parse(o);
@@ -1906,15 +1910,15 @@ const Kt = {
1906
1910
  return !1;
1907
1911
  }
1908
1912
  return !0;
1909
- }, Vt = "v-hidden", lo = (o) => {
1913
+ }, Vt = "v-hidden", go = (o) => {
1910
1914
  const { format: t, id: e, componentLabels: s } = o, r = x({
1911
1915
  tagName: "div",
1912
1916
  className: `color-form ${t}`
1913
1917
  });
1914
1918
  let n = ["hex"];
1915
1919
  return t === "rgb" ? n = ["red", "green", "blue", "alpha"] : t === "hsl" ? n = ["hue", "saturation", "lightness", "alpha"] : t === "hwb" && (n = ["hue", "whiteness", "blackness", "alpha"]), n.forEach((i) => {
1916
- const [a] = t === "hex" ? ["#"] : pe(i).split(""), l = `color_${t}_${i}_${e}`, c = s[`${i}Label`], h = x({ tagName: "label" });
1917
- m(h, "for", l), h.append(
1920
+ const [a] = t === "hex" ? ["#"] : de(i).split(""), l = `color_${t}_${i}_${e}`, c = s[`${i}Label`], h = x({ tagName: "label" });
1921
+ v(h, "for", l), h.append(
1918
1922
  x({
1919
1923
  tagName: "span",
1920
1924
  ariaHidden: "true",
@@ -1943,7 +1947,7 @@ const Kt = {
1943
1947
  step: d
1944
1948
  }), r.append(h, b);
1945
1949
  }), r;
1946
- }, co = (o) => {
1950
+ }, uo = (o) => {
1947
1951
  const { format: t, componentLabels: e } = o, { hueLabel: s, alphaLabel: r, lightnessLabel: n, saturationLabel: i, whitenessLabel: a, blacknessLabel: l } = e, c = t === "hsl" ? 360 : 100, h = t === "hsl" ? 100 : 360, b = 100;
1948
1952
  let u = t === "hsl" ? `${s} & ${n}` : `${n} & ${i}`;
1949
1953
  u = t === "hwb" ? `${a} & ${l}` : u;
@@ -1973,48 +1977,48 @@ const Kt = {
1973
1977
  min: 0,
1974
1978
  max: b
1975
1979
  }
1976
- ].forEach(($) => {
1977
- const { i: S, c: L, l: P, min: C, max: M } = $, E = x({
1980
+ ].forEach((w) => {
1981
+ const { i: P, c: L, l: S, min: C, max: M } = w, T = x({
1978
1982
  tagName: "div",
1979
1983
  className: "color-control",
1980
1984
  role: "presentation"
1981
1985
  });
1982
- E.append(
1986
+ T.append(
1983
1987
  x({
1984
1988
  tagName: "div",
1985
- className: `visual-control visual-control${S}`
1989
+ className: `visual-control visual-control${P}`
1986
1990
  })
1987
1991
  );
1988
1992
  const A = x({
1989
1993
  tagName: "div",
1990
1994
  className: `${L} knob`,
1991
1995
  ariaLive: "polite",
1992
- ariaLabel: P,
1996
+ ariaLabel: S,
1993
1997
  role: "slider",
1994
1998
  tabIndex: 0,
1995
1999
  ariaValueMin: `${C}`,
1996
2000
  ariaValueMax: `${M}`
1997
2001
  });
1998
- E.append(A), g.append(E);
2002
+ T.append(A), g.append(T);
1999
2003
  }), g;
2000
- }, le = (o, t, e) => {
2004
+ }, ce = (o, t, e) => {
2001
2005
  const { input: s, format: r, componentLabels: n } = o, { defaultsLabel: i, presetsLabel: a } = n, l = e === "color-options", c = t instanceof It, h = l ? a : i, b = c ? t.colors : t, u = b.length, { lightSteps: d } = c ? t : { lightSteps: null }, g = d || [9, 10].find((A) => u >= A * 2 && !(u % A)) || 5, p = l && u > g;
2002
2006
  let f = 2;
2003
2007
  f = p && u > g * 2 ? 3 : f, f = p && u > g * 3 ? 4 : f, f = p && u > g * 4 ? 5 : f;
2004
- const w = f - (u <= g * 3 ? 1 : 2), $ = p && u > w * g;
2005
- let S = e;
2006
- S += $ ? " scrollable" : "", S += p ? " multiline" : "";
2008
+ const $ = f - (u <= g * 3 ? 1 : 2), w = p && u > $ * g;
2009
+ let P = e;
2010
+ P += w ? " scrollable" : "", P += p ? " multiline" : "";
2007
2011
  const L = p ? "1px" : "0.25rem";
2008
- let P = p ? 1.75 : 2;
2009
- P = g > 5 && p ? 1.5 : P;
2010
- const C = `${w * P}rem`, M = `calc(${f} * ${P}rem + ${f - 1} * ${L})`, E = x({
2012
+ let S = p ? 1.75 : 2;
2013
+ S = g > 5 && p ? 1.5 : S;
2014
+ const C = `${$ * S}rem`, M = `calc(${f} * ${S}rem + ${f - 1} * ${L})`, T = x({
2011
2015
  tagName: "ul",
2012
- className: S,
2016
+ className: P,
2013
2017
  role: "listbox",
2014
2018
  ariaLabel: h
2015
2019
  });
2016
- return $ && D(E, {
2017
- "--grid-item-size": `${P}rem`,
2020
+ return w && D(T, {
2021
+ "--grid-item-size": `${S}rem`,
2018
2022
  "--grid-fit": `${g}`,
2019
2023
  "--grid-gap": L,
2020
2024
  "--grid-height": C,
@@ -2022,20 +2026,20 @@ const Kt = {
2022
2026
  }), b.forEach((A) => {
2023
2027
  let [F, Q] = typeof A == "string" ? A.trim().split(":") : [];
2024
2028
  A instanceof y && (F = A.toHexString(), Q = F);
2025
- const Ut = new y(A instanceof y ? A : F, r).toString() === yt(s, "value"), xt = x({
2029
+ const Wt = new y(A instanceof y ? A : F, r).toString() === kt(s, "value"), yt = x({
2026
2030
  tagName: "li",
2027
- className: `color-option${Ut ? " active" : ""}`,
2031
+ className: `color-option${Wt ? " active" : ""}`,
2028
2032
  innerText: `${Q || F}`,
2029
2033
  tabIndex: 0,
2030
2034
  role: "option",
2031
- ariaSelected: Ut ? "true" : "false"
2035
+ ariaSelected: Wt ? "true" : "false"
2032
2036
  });
2033
- m(xt, "data-value", `${F}`), l && D(xt, { backgroundColor: F }), E.append(xt);
2034
- }), E;
2035
- }, ho = (o) => {
2036
- const { input: t, parent: e, format: s, id: r, componentLabels: n, colorKeywords: i, colorPresets: a } = o, l = yt(t, "value") || "#fff", { nonColors: c } = y, { toggleLabel: h, pickerLabel: b, formatLabel: u, hexLabel: d } = n, g = c.includes(l) ? "#fff" : l;
2037
+ v(yt, "data-value", `${F}`), l && D(yt, { backgroundColor: F }), T.append(yt);
2038
+ }), T;
2039
+ }, bo = (o) => {
2040
+ const { input: t, parent: e, format: s, id: r, componentLabels: n, colorKeywords: i, colorPresets: a } = o, l = kt(t, "value") || "#fff", { nonColors: c } = y, { toggleLabel: h, pickerLabel: b, formatLabel: u, hexLabel: d } = n, g = c.includes(l) ? "#fff" : l;
2037
2041
  o.color = new y(g, s);
2038
- const p = s === "hex" ? d : pe(s), f = x({
2042
+ const p = s === "hex" ? d : de(s), f = x({
2039
2043
  id: `picker-btn-${r}`,
2040
2044
  tagName: "button",
2041
2045
  type: "button",
@@ -2050,75 +2054,75 @@ const Kt = {
2050
2054
  innerText: `${b}. ${u}: ${p}`
2051
2055
  })
2052
2056
  );
2053
- const w = x({
2057
+ const $ = x({
2054
2058
  tagName: "div",
2055
2059
  className: "color-dropdown picker",
2056
2060
  role: "group",
2057
2061
  ariaLabelledBy: `picker-btn-${r}`
2058
- }), $ = co(o), S = lo(o);
2059
- if (w.append($, S), t.before(f), e.append(w), i || a) {
2062
+ }), w = uo(o), P = go(o);
2063
+ if ($.append(w, P), t.before(f), e.append($), i || a) {
2060
2064
  const L = x({
2061
2065
  tagName: "div",
2062
2066
  className: "color-dropdown scrollable menu"
2063
2067
  });
2064
- a && L.append(le(o, a, "color-options")), i && i.length && L.append(le(o, i, "color-defaults"));
2065
- const P = x({
2068
+ a && L.append(ce(o, a, "color-options")), i && i.length && L.append(ce(o, i, "color-defaults"));
2069
+ const S = x({
2066
2070
  tagName: "button",
2067
2071
  type: "button",
2068
2072
  className: "menu-toggle btn-appearance",
2069
2073
  tabIndex: -1,
2070
2074
  ariaExpanded: "false",
2071
2075
  ariaHasPopup: "true"
2072
- }), C = encodeURI("http://www.w3.org/2000/svg"), M = Mt(C, {
2076
+ }), C = encodeURI("http://www.w3.org/2000/svg"), M = Tt(C, {
2073
2077
  tagName: "svg"
2074
2078
  });
2075
- m(M, "xmlns", C), m(M, "viewBox", "0 0 512 512"), m(M, Ee, "true");
2076
- const E = Mt(C, {
2079
+ v(M, "xmlns", C), v(M, "viewBox", "0 0 512 512"), v(M, Te, "true");
2080
+ const T = Tt(C, {
2077
2081
  tagName: "path"
2078
2082
  });
2079
- m(E, "d", "M98,158l157,156L411,158l27,27L255,368L71,185L98,158z"), m(E, "fill", "#fff"), M.append(E), P.append(
2083
+ v(T, "d", "M98,158l157,156L411,158l27,27L255,368L71,185L98,158z"), v(T, "fill", "#fff"), M.append(T), S.append(
2080
2084
  x({
2081
2085
  tagName: "span",
2082
2086
  className: Vt,
2083
2087
  innerText: `${h}`
2084
2088
  }),
2085
2089
  M
2086
- ), e.append(P, L);
2090
+ ), e.append(S, L);
2087
2091
  }
2088
- i && c.includes(l) && (o.value = l), m(t, X, "-1");
2089
- }, go = "2.0.1", Y = "color-picker", uo = `[data-function="${Y}"]`, ce = `.${Y}`, bo = {
2092
+ i && c.includes(l) && (o.value = l), v(t, X, "-1");
2093
+ }, po = "2.0.2", Y = "color-picker", fo = `[data-function="${Y}"]`, he = `.${Y}`, mo = {
2090
2094
  componentLabels: Kt,
2091
2095
  colorLabels: it,
2092
2096
  format: "rgb",
2093
2097
  colorPresets: !1,
2094
2098
  colorKeywords: !1
2095
- }, { roundPart: k, nonColors: bt } = y, po = (o) => Xe(o, Y), fo = (o) => new mo(o), he = (o, t) => {
2099
+ }, { roundPart: k, nonColors: bt } = y, vo = (o) => Ye(o, Y), $o = (o) => new wo(o), ge = (o, t) => {
2096
2100
  const e = t ? Bt : jt, { input: s, pickerToggle: r, menuToggle: n } = o;
2097
- e(s, Re, o.showPicker), e(r, Et, o.togglePicker), n && e(n, Et, o.toggleMenu);
2098
- }, He = (o, t) => {
2099
- const e = t ? Bt : jt, { input: s, colorMenu: r, parent: n } = o, i = V(s), a = so(i);
2100
- e(o.controls, Fe, o.pointerDown), o.controlKnobs.forEach((l) => e(l, zt, o.handleKnobs)), e(a, Ve, o.handleScroll), e(a, Ke, o.update), [s, ...o.inputs].forEach((l) => e(l, Me, o.changeHandler)), r && (e(r, Et, o.menuClickHandler), e(r, zt, o.menuKeyHandler)), e(i, ue, o.pointerMove), e(i, Ie, o.pointerUp), e(n, Oe, o.handleFocusOut), e(i, De, o.handleDismiss);
2101
- }, ge = (o) => {
2102
- Ze(o.input, new CustomEvent("colorpicker.change"));
2103
- }, Ne = (o) => {
2101
+ e(s, Oe, o.showPicker), e(r, Et, o.togglePicker), n && e(n, Et, o.toggleMenu);
2102
+ }, Ne = (o, t) => {
2103
+ const e = t ? Bt : jt, { input: s, colorMenu: r, parent: n } = o, i = V(s), a = ro(i);
2104
+ e(o.controls, Ie, o.pointerDown), o.controlKnobs.forEach((l) => e(l, zt, o.handleKnobs)), e(a, Be, o.handleScroll), e(a, Ve, o.update), [s, ...o.inputs].forEach((l) => e(l, Me, o.changeHandler)), r && (e(r, Et, o.menuClickHandler), e(r, zt, o.menuKeyHandler)), e(i, be, o.pointerMove), e(i, Ke, o.pointerUp), e(n, De, o.handleFocusOut), e(i, Fe, o.handleDismiss);
2105
+ }, ue = (o) => {
2106
+ Qe(o.input, new CustomEvent("colorpicker.change"));
2107
+ }, Ee = (o) => {
2104
2108
  o && ["bottom", "top"].forEach((t) => O(o, t));
2105
2109
  }, Ht = (o, t) => {
2106
2110
  const { colorPicker: e, colorMenu: s, menuToggle: r, pickerToggle: n, parent: i } = o, a = t === e, l = a ? s : e, c = a ? r : n, h = a ? n : r;
2107
- T(i, "open") || q(i, "open"), l && (O(l, "show"), Ne(l)), q(t, "bottom"), eo(t), q(t, "show"), a && o.update(), o.isOpen || (He(o, !0), o.updateDropdownPosition(), o.isOpen = !0, m(o.input, X, "0"), r && m(r, X, "0")), m(h, Nt, "true"), c && m(c, Nt, "false");
2111
+ R(i, "open") || q(i, "open"), l && (O(l, "show"), Ee(l)), q(t, "bottom"), oo(t), q(t, "show"), a && o.update(), o.isOpen || (Ne(o, !0), o.updateDropdownPosition(), o.isOpen = !0, v(o.input, X, "0"), r && v(r, X, "0")), v(h, Nt, "true"), c && v(c, Nt, "false");
2108
2112
  };
2109
- class mo {
2113
+ class wo {
2110
2114
  // bring utils to staic
2111
2115
  static Color = y;
2112
2116
  static ColorPalette = It;
2113
- static getInstance = po;
2114
- static init = fo;
2115
- static selector = uo;
2117
+ static getInstance = vo;
2118
+ static init = $o;
2119
+ static selector = fo;
2116
2120
  // utils important for render
2117
2121
  static roundPart = k;
2118
2122
  static setElementStyle = D;
2119
- static setAttribute = m;
2123
+ static setAttribute = v;
2120
2124
  static getBoundingClientRect = gt;
2121
- static version = go;
2125
+ static version = po;
2122
2126
  static colorNames = it;
2123
2127
  static colorPickerLabels = Kt;
2124
2128
  id;
@@ -2129,7 +2133,7 @@ class mo {
2129
2133
  dragElement;
2130
2134
  isOpen = !1;
2131
2135
  controlPositions;
2132
- colorLabels = Zt(it.map((t) => [t, t]));
2136
+ colorLabels = Qt(it.map((t) => [t, t]));
2133
2137
  colorKeywords;
2134
2138
  colorPresets;
2135
2139
  componentLabels;
@@ -2149,37 +2153,37 @@ class mo {
2149
2153
  * @param config instance options
2150
2154
  */
2151
2155
  constructor(t, e) {
2152
- const s = z(t);
2156
+ const s = _(t);
2153
2157
  if (typeof t > "u") throw new TypeError("ColorPicker target not specified.");
2154
2158
  if (B(t) && !s) throw new TypeError(`ColorPicker target "${t}" cannot be found.`);
2155
2159
  this.input = s;
2156
- const r = fe(s, ce);
2160
+ const r = me(s, he);
2157
2161
  if (!r) throw new TypeError("ColorPicker requires a specific markup to work.");
2158
- this.parent = r, this.id = de(s, Y), this.dragElement = void 0, this.isOpen = !1, this.controlPositions = {
2162
+ this.parent = r, this.id = fe(s, Y), this.dragElement = void 0, this.isOpen = !1, this.controlPositions = {
2159
2163
  c1x: 0,
2160
2164
  c1y: 0,
2161
2165
  c2y: 0,
2162
2166
  c3y: 0
2163
2167
  }, this.colorKeywords = !1, this.colorPresets = !1;
2164
- const { format: n, componentLabels: i, colorLabels: a, colorKeywords: l, colorPresets: c } = to(
2168
+ const { format: n, componentLabels: i, colorLabels: a, colorKeywords: l, colorPresets: c } = eo(
2165
2169
  s,
2166
- bo,
2170
+ mo,
2167
2171
  e || {}
2168
2172
  );
2169
2173
  let h = it;
2170
- Lt(a) && a.length === 17 ? h = a : B(a) && a.split(",").length === 17 && (h = a.split(",")), K(this.colorLabels, Zt(h.map((p, f) => [it[f], p])));
2171
- const b = B(i) && ae(i) ? JSON.parse(i) : i;
2172
- if (this.componentLabels = K({ ...Kt }, b), this.color = new y(s.value || "#fff", n), this.format = n, Lt(l) && l.length ? this.colorKeywords = l : B(l) && l.length && (this.colorKeywords = l.split(",").map((p) => p.trim())), Lt(c) && c.length)
2174
+ Ct(a) && a.length === 17 ? h = a : B(a) && a.split(",").length === 17 && (h = a.split(",")), K(this.colorLabels, Qt(h.map((p, f) => [it[f], p])));
2175
+ const b = B(i) && le(i) ? JSON.parse(i) : i;
2176
+ if (this.componentLabels = K({ ...Kt }, b), this.color = new y(s.value || "#fff", n), this.format = n, Ct(l) && l.length ? this.colorKeywords = l : B(l) && l.length && (this.colorKeywords = l.split(",").map((p) => p.trim())), Ct(c) && c.length)
2173
2177
  this.colorPresets = c;
2174
- else if (c && ae(c)) {
2175
- const { hue: p, hueSteps: f, lightSteps: w, saturation: $ } = JSON.parse(c);
2176
- this.colorPresets = new It(p, f, w, $);
2178
+ else if (c && le(c)) {
2179
+ const { hue: p, hueSteps: f, lightSteps: $, saturation: w } = JSON.parse(c);
2180
+ this.colorPresets = new It(p, f, $, w);
2177
2181
  } else B(c) && (this.colorPresets = c.split(",").map((p) => p.trim()));
2178
- ho(this);
2182
+ bo(this);
2179
2183
  const [u, d] = st("color-dropdown", r);
2180
- this.pickerToggle = z(".picker-toggle", r), this.menuToggle = z(".menu-toggle", r), this.colorPicker = u, this.colorMenu = d, this.inputs = [...st("color-input", r)];
2184
+ this.pickerToggle = _(".picker-toggle", r), this.menuToggle = _(".menu-toggle", r), this.colorPicker = u, this.colorMenu = d, this.inputs = [...st("color-input", r)];
2181
2185
  const [g] = st("color-controls", r);
2182
- this.controls = g, this.controlKnobs = [...st("knob", g)], this.visuals = [...st("visual-control", g)], this.update(), he(this, !0), ct.set(s, Y, this);
2186
+ this.controls = g, this.controlKnobs = [...st("knob", g)], this.visuals = [...st("visual-control", g)], this.update(), ge(this, !0), ct.set(s, Y, this);
2183
2187
  }
2184
2188
  /** Returns the current colour value */
2185
2189
  get value() {
@@ -2257,10 +2261,10 @@ class mo {
2257
2261
  }
2258
2262
  /** Updates `ColorPicker` visuals. */
2259
2263
  updateVisuals() {
2260
- const { controlPositions: t, visuals: e } = this, [s, r, n] = e, { offsetHeight: i } = s, a = t.c2y / i, { r: l, g: c, b: h } = new y({ h: a, s: 1, l: 0.5 }).toRgb(), b = "linear-gradient(rgb(255,255,255) 0%, rgb(255,255,255) 100%)", u = 1 - t.c3y / i, d = k(u * 100) / 100, g = new y({
2261
- h: a,
2262
- s: 1,
2263
- l: 0.5,
2264
+ const { controlPositions: t, visuals: e } = this, [s, r, n] = e, { offsetHeight: i } = s, a = t.c2y / i, { r: l, g: c, b: h } = new y({ h: a * 360, s: 100, l: 50 }).toRgb(), b = "linear-gradient(rgb(255,255,255) 0%, rgb(255,255,255) 100%)", u = 1 - t.c3y / i, d = k(u * 100) / 100, g = new y({
2265
+ h: a * 360,
2266
+ s: 100,
2267
+ l: 50,
2264
2268
  a: u
2265
2269
  }).toRgbString(), p = `linear-gradient(
2266
2270
  rgb(255,0,0) 0%, rgb(255,255,0) 16.67%,
@@ -2291,7 +2295,7 @@ class mo {
2291
2295
  * @this {ColorPicker}
2292
2296
  */
2293
2297
  handleDismiss = ({ code: t }) => {
2294
- this.isOpen && t === qe && this.hide();
2298
+ this.isOpen && t === Ge && this.hide();
2295
2299
  };
2296
2300
  /**
2297
2301
  * The `ColorPicker` *scroll* event listener when open.
@@ -2300,7 +2304,7 @@ class mo {
2300
2304
  */
2301
2305
  handleScroll = (t) => {
2302
2306
  const { activeElement: e } = V(this.input);
2303
- this.updateDropdownPosition(), ([ue, Be].includes(t.type) && this.dragElement || e && this.controlKnobs.includes(e)) && (t.stopPropagation(), t.preventDefault());
2307
+ this.updateDropdownPosition(), ([be, je].includes(t.type) && this.dragElement || e && this.controlKnobs.includes(e)) && (t.stopPropagation(), t.preventDefault());
2304
2308
  };
2305
2309
  /**
2306
2310
  * The `ColorPicker` keyboard event listener for menu navigation.
@@ -2308,8 +2312,8 @@ class mo {
2308
2312
  * @param e
2309
2313
  */
2310
2314
  menuKeyHandler = (t) => {
2311
- const { target: e, code: s } = t, { previousElementSibling: r, nextElementSibling: n, parentElement: i } = e, a = i && T(i, "color-options"), l = i ? [...i.children] : [], c = a && Tt(i, "grid-template-columns").split(" ").length, h = l.indexOf(e), b = h > -1 && c && l[h - c], u = h > -1 && c && l[h + c];
2312
- [j, ot, Wt].includes(s) && t.preventDefault(), a ? b && s === ot ? _(b) : u && s === j ? _(u) : r && s === ht ? _(r) : n && s === U && _(n) : r && [ht, ot].includes(s) ? _(r) : n && [U, j].includes(s) && _(n), [je, Wt].includes(s) && this.menuClickHandler(t);
2315
+ const { target: e, code: s } = t, { previousElementSibling: r, nextElementSibling: n, parentElement: i } = e, a = i && R(i, "color-options"), l = i ? [...i.children] : [], c = a && Number(Mt(i, "--grid-fit")), h = l.indexOf(e), b = h > -1 && c && l[h - c], u = h > -1 && c && l[h + c];
2316
+ [j, ot, Jt].includes(s) && t.preventDefault(), a ? b && s === ot ? W(b) : u && s === j ? W(u) : r && s === ht ? W(r) : n && s === U && W(n) : r && [ht, ot].includes(s) ? W(r) : n && [U, j].includes(s) && W(n), [qe, Jt].includes(s) && this.menuClickHandler(t);
2313
2317
  };
2314
2318
  /**
2315
2319
  * The `ColorPicker` click event listener for the colour menu presets / defaults.
@@ -2318,9 +2322,9 @@ class mo {
2318
2322
  * @this {ColorPicker}
2319
2323
  */
2320
2324
  menuClickHandler = (t) => {
2321
- const { target: e } = t, { colorMenu: s } = this, r = (yt(e, "data-value") || "").trim();
2325
+ const { target: e } = t, { colorMenu: s } = this, r = (kt(e, "data-value") || "").trim();
2322
2326
  if (!r.length) return;
2323
- const n = z("li.active", s);
2327
+ const n = _("li.active", s);
2324
2328
  let i = r;
2325
2329
  i = bt.includes(i) ? "white" : i, i = i === "transparent" ? "rgba(0,0,0,0)" : i;
2326
2330
  const { r: a, g: l, b: c, a: h } = new y(i);
@@ -2329,7 +2333,7 @@ class mo {
2329
2333
  g: l,
2330
2334
  b: c,
2331
2335
  a: h
2332
- }), this.update(), n !== e && (n && (O(n, "active"), Pt(n, St)), q(e, "active"), m(e, St, "true"), bt.includes(r) && (this.value = r), ge(this));
2336
+ }), this.update(), n !== e && (n && (O(n, "active"), Pt(n, xt)), q(e, "active"), v(e, xt, "true"), bt.includes(r) && (this.value = r), ue(this));
2333
2337
  };
2334
2338
  /**
2335
2339
  * The `ColorPicker` *touchstart* / *mousedown* events listener for control knobs.
@@ -2338,10 +2342,10 @@ class mo {
2338
2342
  */
2339
2343
  pointerDown = (t) => {
2340
2344
  if (t.button !== 0) return;
2341
- const { target: e, pageX: s, pageY: r } = t, { colorMenu: n, visuals: i, controlKnobs: a } = this, [l, c, h] = i, [b, u, d] = a, g = a.includes(e) ? e.previousElementSibling : e, p = gt(g), f = Ct(l), w = s - f.scrollLeft - p.left, $ = r - f.scrollTop - p.top;
2342
- if (e === l || e === b ? (this.dragElement = g, this.changeControl1(w, $)) : e === c || e === u ? (this.dragElement = g, this.changeControl2($)) : (e === h || e === d) && (this.dragElement = g, this.changeAlpha($)), n) {
2343
- const S = z("li.active", n);
2344
- S && (O(S, "active"), Pt(S, St));
2345
+ const { target: e, pageX: s, pageY: r } = t, { colorMenu: n, visuals: i, controlKnobs: a } = this, [l, c, h] = i, [b, u, d] = a, g = a.includes(e) ? e.previousElementSibling : e, p = gt(g), f = St(l), $ = s - f.scrollLeft - p.left, w = r - f.scrollTop - p.top;
2346
+ if (e === l || e === b ? (this.dragElement = g, this.changeControl1($, w)) : e === c || e === u ? (this.dragElement = g, this.changeControl2(w)) : (e === h || e === d) && (this.dragElement = g, this.changeAlpha(w)), n) {
2347
+ const P = _("li.active", n);
2348
+ P && (O(P, "active"), Pt(P, xt));
2345
2349
  }
2346
2350
  t.preventDefault();
2347
2351
  };
@@ -2352,7 +2356,7 @@ class mo {
2352
2356
  * @this
2353
2357
  */
2354
2358
  pointerUp = ({ target: t }) => {
2355
- const { parent: e } = this, s = V(e), r = z(`${ce}.open`, s) !== null, n = s.getSelection();
2359
+ const { parent: e } = this, s = V(e), r = _(`${he}.open`, s) !== null, n = s.getSelection();
2356
2360
  !this.dragElement && (!n || !n.toString().length) && !e.contains(t) && this.hide(r), this.dragElement = void 0;
2357
2361
  };
2358
2362
  /**
@@ -2363,7 +2367,7 @@ class mo {
2363
2367
  pointerMove = (t) => {
2364
2368
  const { dragElement: e, visuals: s } = this, [r, n, i] = s, { pageX: a, pageY: l } = t;
2365
2369
  if (!e) return;
2366
- const c = gt(e), h = Ct(r), b = a - h.scrollLeft - c.left, u = l - h.scrollTop - c.top;
2370
+ const c = gt(e), h = St(r), b = a - h.scrollLeft - c.left, u = l - h.scrollTop - c.top;
2367
2371
  e === r && this.changeControl1(b, u), e === n && this.changeControl2(u), e === i && this.changeAlpha(u);
2368
2372
  };
2369
2373
  /**
@@ -2388,30 +2392,30 @@ class mo {
2388
2392
  /** The event listener of the colour form inputs. */
2389
2393
  changeHandler = () => {
2390
2394
  let t;
2391
- const { inputs: e, format: s, value: r, input: n, controlPositions: i, visuals: a } = this, { activeElement: l } = V(n), { offsetHeight: c } = a[0], [h, , , b] = e, [u, d, g, p] = s === "rgb" ? e.map(($) => parseFloat($.value) / ($ === b ? 100 : 1)) : e.map(($) => parseFloat($.value) / ($ !== h ? 100 : 360)), f = this.hasNonColor && bt.includes(r), w = b ? p : 1 - i.c3y / c;
2395
+ const { inputs: e, format: s, value: r, input: n, controlPositions: i, visuals: a } = this, { activeElement: l } = V(n), { offsetHeight: c } = a[0], [h, , , b] = e, [u, d, g, p] = s === "rgb" ? e.map((w) => parseFloat(w.value) / (w === b ? 100 : 1)) : e.map((w) => parseFloat(w.value) / (w !== h ? 100 : 360)), f = this.hasNonColor && bt.includes(r), $ = b ? p : 1 - i.c3y / c;
2392
2396
  if (l === n || l && e.includes(l)) {
2393
2397
  l === n ? f ? t = r === "transparent" ? "rgba(0,0,0,0)" : "rgb(0,0,0)" : t = r : s === "hex" ? t = h.value : s === "hsl" ? t = {
2394
2398
  h: u,
2395
2399
  s: d,
2396
2400
  l: g,
2397
- a: w
2401
+ a: $
2398
2402
  } : s === "hwb" ? t = {
2399
2403
  h: u,
2400
2404
  w: d,
2401
2405
  b: g,
2402
- a: w
2406
+ a: $
2403
2407
  } : t = {
2404
2408
  r: u,
2405
2409
  g: d,
2406
2410
  b: g,
2407
- a: w
2411
+ a: $
2408
2412
  };
2409
- const { r: $, g: S, b: L, a: P } = new y(t);
2413
+ const { r: w, g: P, b: L, a: S } = new y(t);
2410
2414
  K(this.color, {
2411
- r: $,
2412
- g: S,
2415
+ r: w,
2416
+ g: P,
2413
2417
  b: L,
2414
- a: P
2418
+ a: S
2415
2419
  }), this.setControlPositions(), this.updateAppearance(), this.updateInputs(), this.updateControls(), this.updateVisuals(), l === n && f && (this.value = r);
2416
2420
  }
2417
2421
  };
@@ -2428,9 +2432,9 @@ class mo {
2428
2432
  const { controlPositions: n, visuals: i } = this, { offsetHeight: a, offsetWidth: l } = i[0];
2429
2433
  t > l ? s = l : t >= 0 && (s = t), e > a ? r = a : e >= 0 && (r = e);
2430
2434
  const c = n.c2y / a, h = s / l, b = 1 - r / a, u = 1 - n.c3y / a, { r: d, g, b: p, a: f } = new y({
2431
- h: c,
2432
- s: h,
2433
- v: b,
2435
+ h: c * 360,
2436
+ s: h * 100,
2437
+ v: b * 100,
2434
2438
  a: u
2435
2439
  });
2436
2440
  K(this.color, {
@@ -2452,9 +2456,9 @@ class mo {
2452
2456
  let i = 0;
2453
2457
  t > r ? i = r : t >= 0 && (i = t);
2454
2458
  const a = i / r, l = e.c1x / n, c = 1 - e.c1y / r, h = 1 - e.c3y / r, { r: b, g: u, b: d, a: g } = new y({
2455
- h: a,
2456
- s: l,
2457
- v: c,
2459
+ h: a * 360,
2460
+ s: l * 100,
2461
+ v: c * 100,
2458
2462
  a: h
2459
2463
  });
2460
2464
  K(this.color, {
@@ -2487,10 +2491,10 @@ class mo {
2487
2491
  };
2488
2492
  /** Updates the open dropdown position on *scroll* event. */
2489
2493
  updateDropdownPosition() {
2490
- const { input: t, colorPicker: e, colorMenu: s } = this, r = gt(t), { top: n, bottom: i } = r, { offsetHeight: a } = t, l = Ct(t).clientHeight, h = T(e, "show") ? e : s;
2494
+ const { input: t, colorPicker: e, colorMenu: s } = this, r = gt(t), { top: n, bottom: i } = r, { offsetHeight: a } = t, l = St(t).clientHeight, h = R(e, "show") ? e : s;
2491
2495
  if (!h) return;
2492
2496
  const { offsetHeight: b } = h, u = l - i, d = n, g = n + b + a > l, p = n - b < 0;
2493
- (T(h, "bottom") || !p) && u < d && g ? (O(h, "bottom"), q(h, "top")) : (O(h, "top"), q(h, "bottom"));
2497
+ (R(h, "bottom") || !p) && u < d && g ? (O(h, "bottom"), q(h, "top")) : (O(h, "top"), q(h, "bottom"));
2494
2498
  }
2495
2499
  /** Updates control knobs' positions. */
2496
2500
  setControlPositions() {
@@ -2501,17 +2505,17 @@ class mo {
2501
2505
  updateAppearance() {
2502
2506
  const { componentLabels: t, color: e, parent: s, hsv: r, hex: n, format: i, controlKnobs: a } = this, { appearanceLabel: l, hexLabel: c, valueLabel: h } = t;
2503
2507
  let { r: b, g: u, b: d } = e.toRgb();
2504
- const [g, p, f] = a, w = k(r.h * 360), $ = e.a, S = k(r.s * 100), L = k(r.v * 100), P = this.appearance;
2508
+ const [g, p, f] = a, $ = k(r.h * 360), w = e.a, P = k(r.s * 100), L = k(r.v * 100), S = this.appearance;
2505
2509
  let C = `${c} ${n.split("").join(" ")}`;
2506
2510
  if (i === "hwb") {
2507
2511
  const { hwb: A } = this, F = k(A.w * 100), Q = k(A.b * 100);
2508
- C = `HWB: ${w}°, ${F}%, ${Q}%`, m(g, et, `${F}% & ${Q}%`), m(g, tt, `${F}`), m(p, _t, `${h}: ${C}. ${l}: ${P}.`), m(p, et, `${w}%`), m(p, tt, `${w}`);
2512
+ C = `HWB: ${$}°, ${F}%, ${Q}%`, v(g, et, `${F}% & ${Q}%`), v(g, tt, `${F}`), v(p, _t, `${h}: ${C}. ${l}: ${S}.`), v(p, et, `${$}%`), v(p, tt, `${$}`);
2509
2513
  } else
2510
- [b, u, d] = [b, u, d].map(k), C = i === "hsl" ? `HSL: ${w}°, ${S}%, ${L}%` : C, C = i === "rgb" ? `RGB: ${b}, ${u}, ${d}` : C, m(g, et, `${L}% & ${S}%`), m(g, tt, `${L}`), m(p, _t, `${h}: ${C}. ${l}: ${P}.`), m(p, et, `${w}°`), m(p, tt, `${w}`);
2511
- const M = k($ * 100);
2512
- m(f, et, `${M}%`), m(f, tt, `${M}`);
2513
- const E = e.toString();
2514
- D(this.input, { backgroundColor: E }), this.isDark ? (T(s, "txt-light") && O(s, "txt-light"), T(s, "txt-dark") || q(s, "txt-dark")) : (T(s, "txt-dark") && O(s, "txt-dark"), T(s, "txt-light") || q(s, "txt-light"));
2514
+ [b, u, d] = [b, u, d].map(k), C = i === "hsl" ? `HSL: ${$}°, ${P}%, ${L}%` : C, C = i === "rgb" ? `RGB: ${b}, ${u}, ${d}` : C, v(g, et, `${L}% & ${P}%`), v(g, tt, `${L}`), v(p, _t, `${h}: ${C}. ${l}: ${S}.`), v(p, et, `${$}°`), v(p, tt, `${$}`);
2515
+ const M = k(w * 100);
2516
+ v(f, et, `${M}%`), v(f, tt, `${M}`);
2517
+ const T = e.toString();
2518
+ D(this.input, { backgroundColor: T }), this.isDark ? (R(s, "txt-light") && O(s, "txt-light"), R(s, "txt-dark") || q(s, "txt-dark")) : (R(s, "txt-dark") && O(s, "txt-dark"), R(s, "txt-light") || q(s, "txt-light"));
2515
2519
  }
2516
2520
  /** Updates the control knobs actual positions. */
2517
2521
  updateControls() {
@@ -2536,13 +2540,13 @@ class mo {
2536
2540
  const g = k(i.l * 100), p = k(i.s * 100);
2537
2541
  d = this.color.toHslString(), a.value = `${u}`, l.value = `${p}`, c.value = `${g}`, h.value = `${b}`;
2538
2542
  } else if (s === "hwb") {
2539
- const { w: g, b: p } = this.hwb, f = k(g * 100), w = k(p * 100);
2540
- d = this.color.toHwbString(), a.value = `${u}`, l.value = `${f}`, c.value = `${w}`, h.value = `${b}`;
2543
+ const { w: g, b: p } = this.hwb, f = k(g * 100), $ = k(p * 100);
2544
+ d = this.color.toHwbString(), a.value = `${u}`, l.value = `${f}`, c.value = `${$}`, h.value = `${b}`;
2541
2545
  } else if (s === "rgb") {
2542
2546
  let { r: g, g: p, b: f } = this.rgb;
2543
2547
  [g, p, f] = [g, p, f].map(k), d = this.color.toRgbString(), a.value = `${g}`, l.value = `${p}`, c.value = `${f}`, h.value = `${b}`;
2544
2548
  }
2545
- this.value = d, !t && d !== e && ge(this);
2549
+ this.value = d, !t && d !== e && ue(this);
2546
2550
  }
2547
2551
  /**
2548
2552
  * Toggle the `ColorPicker` dropdown visibility.
@@ -2552,12 +2556,12 @@ class mo {
2552
2556
  togglePicker = (t) => {
2553
2557
  t && t.preventDefault();
2554
2558
  const { colorPicker: e } = this;
2555
- this.isOpen && T(e, "show") ? this.hide(!0) : Ht(this, e);
2559
+ this.isOpen && R(e, "show") ? this.hide(!0) : Ht(this, e);
2556
2560
  };
2557
2561
  /** Shows the `ColorPicker` dropdown. */
2558
2562
  showPicker = () => {
2559
2563
  const { colorPicker: t } = this;
2560
- ["top", "bottom"].some((e) => T(t, e)) || Ht(this, t);
2564
+ ["top", "bottom"].some((e) => R(t, e)) || Ht(this, t);
2561
2565
  };
2562
2566
  /**
2563
2567
  * Toggles the visibility of the `ColorPicker` presets menu.
@@ -2568,7 +2572,7 @@ class mo {
2568
2572
  toggleMenu = (t) => {
2569
2573
  t && t.preventDefault();
2570
2574
  const { colorMenu: e } = this;
2571
- this.isOpen && T(e, "show") ? this.hide(!0) : Ht(this, e);
2575
+ this.isOpen && R(e, "show") ? this.hide(!0) : Ht(this, e);
2572
2576
  };
2573
2577
  /**
2574
2578
  * Hides the currently open `ColorPicker` dropdown.
@@ -2577,21 +2581,21 @@ class mo {
2577
2581
  */
2578
2582
  hide(t) {
2579
2583
  if (this.isOpen) {
2580
- const { pickerToggle: e, menuToggle: s, colorPicker: r, colorMenu: n, parent: i, input: a } = this, l = T(r, "show"), c = l ? r : n, h = l ? e : s, b = c && Qe(c);
2581
- this.value = this.color.toString(!0), c && (O(c, "show"), m(h, Nt, "false"), setTimeout(() => {
2582
- Ne(c), z(".show", i) || (O(i, "open"), He(this), this.isOpen = !1);
2583
- }, b)), t || _(e), m(a, X, "-1"), h === s && m(s, X, "-1");
2584
+ const { pickerToggle: e, menuToggle: s, colorPicker: r, colorMenu: n, parent: i, input: a } = this, l = R(r, "show"), c = l ? r : n, h = l ? e : s, b = c && to(c);
2585
+ this.value = this.color.toString(!0), c && (O(c, "show"), v(h, Nt, "false"), setTimeout(() => {
2586
+ Ee(c), _(".show", i) || (O(i, "open"), Ne(this), this.isOpen = !1);
2587
+ }, b)), t || W(e), v(a, X, "-1"), h === s && v(s, X, "-1");
2584
2588
  }
2585
2589
  }
2586
2590
  /** Removes `ColorPicker` from target `<input>`. */
2587
2591
  dispose() {
2588
2592
  const { input: t, parent: e } = this;
2589
- this.hide(!0), he(this), [...e.children].forEach((s) => {
2593
+ this.hide(!0), ge(this), [...e.children].forEach((s) => {
2590
2594
  s !== t && s.remove();
2591
2595
  }), Pt(t, X), D(t, { backgroundColor: "" }), ["txt-light", "txt-dark"].forEach((s) => O(e, s)), ct.remove(t, Y);
2592
2596
  }
2593
2597
  }
2594
2598
  export {
2595
- mo as default
2599
+ wo as default
2596
2600
  };
2597
2601
  //# sourceMappingURL=color-picker.mjs.map