bitboss-ui 2.1.103 → 2.1.105

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 (194) hide show
  1. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +6 -0
  2. package/dist/components/BbSelect/BbSelect.vue.d.ts +6 -0
  3. package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +277 -0
  4. package/dist/components/FlatListBox.vue.d.ts +4 -1
  5. package/dist/components/GroupedListBox.vue.d.ts +4 -1
  6. package/dist/components/ListBox.vue.d.ts +5 -1
  7. package/dist/composables/useCoherence.d.ts +1 -0
  8. package/dist/composables/usePrefill.d.ts +13 -3
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index109.js +21 -23
  11. package/dist/index110.js +13 -7
  12. package/dist/index116.js +1 -1
  13. package/dist/index122.js +4 -4
  14. package/dist/index124.js +14 -16
  15. package/dist/index132.js +1 -1
  16. package/dist/index134.js +5 -5
  17. package/dist/index136.js +1 -1
  18. package/dist/index138.js +2 -2
  19. package/dist/index14.js +1 -1
  20. package/dist/index143.js +2 -2
  21. package/dist/index145.js +1 -1
  22. package/dist/index16.js +3 -3
  23. package/dist/index18.js +3 -3
  24. package/dist/index20.js +14 -14
  25. package/dist/index218.js +138 -2
  26. package/dist/index219.js +2 -138
  27. package/dist/index22.js +14 -14
  28. package/dist/index221.js +1 -1
  29. package/dist/index222.js +1 -1
  30. package/dist/index223.js +6 -2
  31. package/dist/index224.js +16 -2
  32. package/dist/index225.js +5 -3
  33. package/dist/index226.js +5 -33
  34. package/dist/index227.js +5 -28
  35. package/dist/index228.js +7 -0
  36. package/dist/index229.js +3 -5
  37. package/dist/index230.js +2 -5
  38. package/dist/index231.js +6 -5
  39. package/dist/index232.js +8 -5
  40. package/dist/index233.js +268 -3
  41. package/dist/index234.js +52 -2
  42. package/dist/index235.js +52 -6
  43. package/dist/index236.js +30 -6
  44. package/dist/index237.js +53 -261
  45. package/dist/index238.js +12 -51
  46. package/dist/index239.js +3 -52
  47. package/dist/index24.js +11 -11
  48. package/dist/index240.js +33 -32
  49. package/dist/index241.js +25 -57
  50. package/dist/index243.js +2 -3
  51. package/dist/index244.js +2 -86
  52. package/dist/index245.js +5 -0
  53. package/dist/index246.js +8 -28
  54. package/dist/index247.js +12 -15
  55. package/dist/index248.js +135 -17
  56. package/dist/index250.js +23 -15
  57. package/dist/index251.js +4 -12
  58. package/dist/index252.js +23 -2
  59. package/dist/index253.js +33 -4
  60. package/dist/index254.js +2 -106
  61. package/dist/{index285.js → index255.js} +1 -1
  62. package/dist/index256.js +2 -100
  63. package/dist/index257.js +6 -0
  64. package/dist/index258.js +20 -3
  65. package/dist/index259.js +34 -10
  66. package/dist/index26.js +2 -2
  67. package/dist/index260.js +86 -3
  68. package/dist/index262.js +30 -5
  69. package/dist/index263.js +17 -5
  70. package/dist/index264.js +51 -5
  71. package/dist/index265.js +18 -2
  72. package/dist/index266.js +11 -19
  73. package/dist/index267.js +18 -135
  74. package/dist/index268.js +5 -0
  75. package/dist/index269.js +10 -187
  76. package/dist/index270.js +5 -3
  77. package/dist/index272.js +9 -13
  78. package/dist/index273.js +369 -19
  79. package/dist/index275.js +25 -23
  80. package/dist/index276.js +4 -18
  81. package/dist/index277.js +9 -12
  82. package/dist/index278.js +52 -103
  83. package/dist/index279.js +187 -10
  84. package/dist/index28.js +1 -1
  85. package/dist/index280.js +3 -9
  86. package/dist/index281.js +3 -21
  87. package/dist/index282.js +18 -25
  88. package/dist/index283.js +11 -32
  89. package/dist/index284.js +106 -4
  90. package/dist/index286.js +100 -9
  91. package/dist/index288.js +107 -2
  92. package/dist/index289.js +5 -7
  93. package/dist/index290.js +5 -7
  94. package/dist/index291.js +5 -3
  95. package/dist/index292.js +2 -6
  96. package/dist/index293.js +7 -16
  97. package/dist/index294.js +7 -5
  98. package/dist/index295.js +20 -52
  99. package/dist/index296.js +7 -34
  100. package/dist/index297.js +10 -373
  101. package/dist/index298.js +5 -0
  102. package/dist/index299.js +7 -0
  103. package/dist/index30.js +2 -2
  104. package/dist/index300.js +7 -3
  105. package/dist/index302.js +3 -280
  106. package/dist/index303.js +3 -2
  107. package/dist/index304.js +17 -16
  108. package/dist/index305.js +28 -2
  109. package/dist/index306.js +719 -16
  110. package/dist/index307.js +366 -2
  111. package/dist/index308.js +56 -26
  112. package/dist/index309.js +5 -2
  113. package/dist/index310.js +1 -1
  114. package/dist/index311.js +280 -2
  115. package/dist/index312.js +2 -2
  116. package/dist/index313.js +16 -2
  117. package/dist/index314.js +2 -28
  118. package/dist/index315.js +16 -2
  119. package/dist/index316.js +2 -7
  120. package/dist/index317.js +27 -3
  121. package/dist/index318.js +2 -17
  122. package/dist/index319.js +2 -4
  123. package/dist/index32.js +2 -2
  124. package/dist/index320.js +2 -3
  125. package/dist/index321.js +2 -3
  126. package/dist/index322.js +2 -125
  127. package/dist/index323.js +2 -2
  128. package/dist/index324.js +2 -15
  129. package/dist/index325.js +3 -2
  130. package/dist/index326.js +3 -18
  131. package/dist/index327.js +3 -2
  132. package/dist/index328.js +4 -3
  133. package/dist/index329.js +3 -2
  134. package/dist/index330.js +3 -2
  135. package/dist/index331.js +2 -6
  136. package/dist/index332.js +5 -3
  137. package/dist/index333.js +125 -5
  138. package/dist/index334.js +2 -719
  139. package/dist/index335.js +15 -366
  140. package/dist/index336.js +2 -57
  141. package/dist/index337.js +19 -2
  142. package/dist/index338.js +2 -5
  143. package/dist/index339.js +227 -6
  144. package/dist/index34.js +12 -12
  145. package/dist/index340.js +67 -7
  146. package/dist/index341.js +66 -18
  147. package/dist/index342.js +92 -8
  148. package/dist/index343.js +5 -15
  149. package/dist/index344.js +6 -34
  150. package/dist/index345.js +19 -6
  151. package/dist/index346.js +7 -127
  152. package/dist/index347.js +12 -395
  153. package/dist/index348.js +7 -67
  154. package/dist/index349.js +35 -67
  155. package/dist/index350.js +6 -228
  156. package/dist/index351.js +129 -3
  157. package/dist/index352.js +396 -189
  158. package/dist/index353.js +18 -254
  159. package/dist/index355.js +136 -0
  160. package/dist/index356.js +199 -133
  161. package/dist/index357.js +257 -91
  162. package/dist/index358.js +1 -1
  163. package/dist/index359.js +1 -1
  164. package/dist/index36.js +4 -4
  165. package/dist/index363.js +1 -1
  166. package/dist/index38.js +253 -239
  167. package/dist/index40.js +6 -6
  168. package/dist/index42.js +2 -2
  169. package/dist/index44.js +27 -29
  170. package/dist/index46.js +6 -6
  171. package/dist/index50.js +2 -2
  172. package/dist/index54.js +1 -1
  173. package/dist/index56.js +1 -1
  174. package/dist/index58.js +2 -2
  175. package/dist/index60.js +2 -2
  176. package/dist/index62.js +5 -5
  177. package/dist/index68.js +1 -1
  178. package/dist/index74.js +4 -4
  179. package/dist/index82.js +7 -7
  180. package/dist/index84.js +1 -1
  181. package/dist/index86.js +2 -2
  182. package/dist/index88.js +3 -3
  183. package/dist/index90.js +1 -1
  184. package/dist/index93.js +2 -2
  185. package/dist/index95.js +2 -2
  186. package/dist/index97.js +5 -5
  187. package/package.json +2 -2
  188. package/dist/index242.js +0 -15
  189. package/dist/index249.js +0 -53
  190. package/dist/index261.js +0 -6
  191. package/dist/index274.js +0 -11
  192. package/dist/index287.js +0 -9
  193. package/dist/index301.js +0 -7
  194. package/dist/index354.js +0 -24
package/dist/index269.js CHANGED
@@ -1,190 +1,13 @@
1
- var C = Object.defineProperty, x = (a, e, t) => e in a ? C(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t, y = (a, e, t) => x(a, typeof e != "symbol" ? e + "" : e, t);
2
- const M = {
3
- "#": { pattern: /[0-9]/ },
4
- "@": { pattern: /[a-zA-Z]/ },
5
- "*": { pattern: /[a-zA-Z0-9]/ }
6
- }, w = (a, e, t) => a.replaceAll(e, "").replace(t, ".").replace("..", ".").replace(/[^.\d]/g, ""), N = (a, e, t) => {
7
- var s;
8
- return new Intl.NumberFormat(((s = t.number) == null ? void 0 : s.locale) ?? "en", {
9
- minimumFractionDigits: a,
10
- maximumFractionDigits: e,
11
- roundingMode: "trunc"
12
- });
13
- }, P = (a, e = !0, t) => {
14
- var s, r, n, l;
15
- const u = ((s = t.number) == null ? void 0 : s.unsigned) !== !0 && a.startsWith("-") ? "-" : "", p = ((r = t.number) == null ? void 0 : r.fraction) ?? 0;
16
- let o = N(0, p, t);
17
- const k = o.formatToParts(1000.12), m = ((n = k.find((i) => i.type === "group")) == null ? void 0 : n.value) ?? " ", f = ((l = k.find((i) => i.type === "decimal")) == null ? void 0 : l.value) ?? ".", c = w(a, m, f);
18
- if (Number.isNaN(parseFloat(c))) return u;
19
- const v = c.split(".");
20
- if (v[1] != null && v[1].length >= 1) {
21
- const i = v[1].length <= p ? v[1].length : p;
22
- o = N(i, p, t);
23
- }
24
- let d = o.format(parseFloat(c));
25
- return e ? p > 0 && c.endsWith(".") && !c.slice(0, -1).includes(".") && (d += f) : d = w(d, m, f), u + d;
26
- }, I = (a) => JSON.parse(a.replaceAll("'", '"')), T = (a, e = {}) => {
27
- const t = { ...e };
28
- a.dataset.maska != null && a.dataset.maska !== "" && (t.mask = F(a.dataset.maska)), a.dataset.maskaEager != null && (t.eager = E(a.dataset.maskaEager)), a.dataset.maskaReversed != null && (t.reversed = E(a.dataset.maskaReversed)), a.dataset.maskaTokensReplace != null && (t.tokensReplace = E(a.dataset.maskaTokensReplace)), a.dataset.maskaTokens != null && (t.tokens = O(a.dataset.maskaTokens));
29
- const s = {};
30
- return a.dataset.maskaNumberLocale != null && (s.locale = a.dataset.maskaNumberLocale), a.dataset.maskaNumberFraction != null && (s.fraction = parseInt(a.dataset.maskaNumberFraction)), a.dataset.maskaNumberUnsigned != null && (s.unsigned = E(a.dataset.maskaNumberUnsigned)), (a.dataset.maskaNumber != null || Object.values(s).length > 0) && (t.number = s), t;
31
- }, E = (a) => a !== "" ? !!JSON.parse(a) : !0, F = (a) => a.startsWith("[") && a.endsWith("]") ? I(a) : a, O = (a) => {
32
- if (a.startsWith("{") && a.endsWith("}"))
33
- return I(a);
34
- const e = {};
35
- return a.split("|").forEach((t) => {
36
- const s = t.split(":");
37
- e[s[0]] = {
38
- pattern: S() ? new RegExp(s[1], "u") : new RegExp(s[1]),
39
- optional: s[2] === "optional",
40
- multiple: s[2] === "multiple",
41
- repeated: s[2] === "repeated"
42
- };
43
- }), e;
44
- }, S = () => {
45
- try {
46
- return new RegExp("\\p{L}", "u"), !0;
47
- } catch {
48
- return !1;
49
- }
50
- };
51
- class W {
52
- constructor(e = {}) {
53
- y(this, "opts", {}), y(this, "memo", /* @__PURE__ */ new Map());
54
- const t = { ...e };
55
- if (t.tokens != null) {
56
- t.tokens = t.tokensReplace ? { ...t.tokens } : { ...M, ...t.tokens };
57
- for (const s of Object.values(t.tokens))
58
- typeof s.pattern == "string" && (s.pattern = S() ? new RegExp(s.pattern, "u") : new RegExp(s.pattern));
59
- } else
60
- t.tokens = M;
61
- Array.isArray(t.mask) && (t.mask.length > 1 ? t.mask = [...t.mask].sort((s, r) => s.length - r.length) : t.mask = t.mask[0] ?? ""), t.mask === "" && (t.mask = null), this.opts = t;
62
- }
63
- masked(e) {
64
- return this.process(String(e), this.findMask(String(e)));
65
- }
66
- unmasked(e) {
67
- return this.process(String(e), this.findMask(String(e)), !1);
68
- }
69
- isEager() {
70
- return this.opts.eager === !0;
71
- }
72
- isReversed() {
73
- return this.opts.reversed === !0;
74
- }
75
- completed(e) {
76
- const t = this.findMask(String(e));
77
- if (this.opts.mask == null || t == null) return !1;
78
- const s = this.process(String(e), t).length;
79
- return typeof this.opts.mask == "string" ? s >= this.opts.mask.length : s >= t.length;
80
- }
81
- findMask(e) {
82
- const t = this.opts.mask;
83
- if (t == null)
84
- return null;
85
- if (typeof t == "string")
86
- return t;
87
- if (typeof t == "function")
88
- return t(e);
89
- const s = this.process(e, t.slice(-1).pop() ?? "", !1);
90
- return t.find((r) => this.process(e, r, !1).length >= s.length) ?? "";
91
- }
92
- escapeMask(e) {
93
- const t = [], s = [];
94
- return e.split("").forEach((r, n) => {
95
- r === "!" && e[n - 1] !== "!" ? s.push(n - s.length) : t.push(r);
96
- }), { mask: t.join(""), escaped: s };
97
- }
98
- process(e, t, s = !0) {
99
- if (this.opts.number != null) return P(e, s, this.opts);
100
- if (t == null) return e;
101
- const r = `v=${e},mr=${t},m=${s ? 1 : 0}`;
102
- if (this.memo.has(r)) return this.memo.get(r);
103
- const { mask: n, escaped: l } = this.escapeMask(t), u = [], p = this.opts.tokens != null ? this.opts.tokens : {}, o = this.isReversed() ? -1 : 1, k = this.isReversed() ? "unshift" : "push", m = this.isReversed() ? 0 : n.length - 1, f = this.isReversed() ? () => i > -1 && h > -1 : () => i < n.length && h < e.length, c = (b) => !this.isReversed() && b <= m || this.isReversed() && b >= m;
104
- let v, d = -1, i = this.isReversed() ? n.length - 1 : 0, h = this.isReversed() ? e.length - 1 : 0, R = !1;
105
- for (; f(); ) {
106
- const b = n.charAt(i), g = p[b], A = g?.transform != null ? g.transform(e.charAt(h)) : e.charAt(h);
107
- if (!l.includes(i) && g != null ? (A.match(g.pattern) != null ? (u[k](A), g.repeated ? (d === -1 ? d = i : i === m && i !== d && (i = d - o), m === d && (i -= o)) : g.multiple && (R = !0, i -= o), i += o) : g.multiple ? R && (i += o, h -= o, R = !1) : A === v ? v = void 0 : g.optional && (i += o, h -= o), h += o) : (s && !this.isEager() && u[k](b), A === b && !this.isEager() ? h += o : v = b, this.isEager() || (i += o)), this.isEager())
108
- for (; c(i) && (p[n.charAt(i)] == null || l.includes(i)); ) {
109
- if (s) {
110
- if (u[k](n.charAt(i)), e.charAt(h) === n.charAt(i)) {
111
- i += o, h += o;
112
- continue;
113
- }
114
- } else n.charAt(i) === e.charAt(h) && (h += o);
115
- i += o;
116
- }
117
- }
118
- return this.memo.set(r, u.join("")), this.memo.get(r);
119
- }
120
- }
121
- class V {
122
- constructor(e, t = {}) {
123
- y(this, "items", /* @__PURE__ */ new Map()), y(this, "eventAbortController"), y(this, "onInput", (s) => {
124
- if (s instanceof CustomEvent && s.type === "input" && !s.isTrusted && !s.bubbles)
125
- return;
126
- const r = s.target, n = this.items.get(r);
127
- if (n === void 0) return;
128
- const l = "inputType" in s && s.inputType.startsWith("delete"), u = n.isEager(), p = l && u && n.unmasked(r.value) === "" ? "" : r.value;
129
- this.fixCursor(r, l, () => this.setValue(r, p));
130
- }), this.options = t, this.eventAbortController = new AbortController(), this.init(this.getInputs(e));
131
- }
132
- update(e = {}) {
133
- this.options = { ...e }, this.init(Array.from(this.items.keys()));
134
- }
135
- updateValue(e) {
136
- var t;
137
- e.value !== "" && e.value !== ((t = this.processInput(e)) == null ? void 0 : t.masked) && this.setValue(e, e.value);
138
- }
139
- destroy() {
140
- this.eventAbortController.abort(), this.items.clear();
141
- }
142
- init(e) {
143
- const t = this.getOptions(this.options);
144
- for (const s of e) {
145
- if (!this.items.has(s)) {
146
- const { signal: n } = this.eventAbortController;
147
- s.addEventListener("input", this.onInput, { capture: !0, signal: n });
148
- }
149
- const r = new W(T(s, t));
150
- this.items.set(s, r), queueMicrotask(() => this.updateValue(s)), s.selectionStart === null && r.isEager() && console.warn("Maska: input of `%s` type is not supported", s.type);
151
- }
152
- }
153
- getInputs(e) {
154
- return typeof e == "string" ? Array.from(document.querySelectorAll(e)) : "length" in e ? Array.from(e) : [e];
155
- }
156
- getOptions(e) {
157
- const { onMaska: t, preProcess: s, postProcess: r, ...n } = e;
158
- return n;
159
- }
160
- fixCursor(e, t, s) {
161
- var r, n;
162
- const l = e.selectionStart, u = e.value;
163
- if (s(), l === null || l === u.length && !t) return;
164
- const p = e.value, o = u.slice(0, l), k = p.slice(0, l), m = (r = this.processInput(e, o)) == null ? void 0 : r.unmasked, f = (n = this.processInput(e, k)) == null ? void 0 : n.unmasked;
165
- if (m === void 0 || f === void 0) return;
166
- let c = l;
167
- o !== k && (c += t ? p.length - u.length : m.length - f.length), e.setSelectionRange(c, c);
168
- }
169
- setValue(e, t) {
170
- const s = this.processInput(e, t);
171
- s !== void 0 && (e.value = s.masked, this.options.onMaska != null && (Array.isArray(this.options.onMaska) ? this.options.onMaska.forEach((r) => r(s)) : this.options.onMaska(s)), e.dispatchEvent(new CustomEvent("maska", { detail: s })), e.dispatchEvent(new CustomEvent("input", { detail: s.masked })));
172
- }
173
- processInput(e, t) {
174
- const s = this.items.get(e);
175
- if (s === void 0) return;
176
- let r = t ?? e.value;
177
- this.options.preProcess != null && (r = this.options.preProcess(r));
178
- let n = s.masked(r);
179
- return this.options.postProcess != null && (n = this.options.postProcess(n)), {
180
- masked: n,
181
- unmasked: s.unmasked(r),
182
- completed: s.completed(r)
183
- };
184
- }
1
+ function c(n, r, e) {
2
+ const i = typeof r == "string" ? r.split(".") : r;
3
+ let t = n;
4
+ for (const o of i)
5
+ if (t && typeof t == "object" && o in t)
6
+ t = t[o];
7
+ else
8
+ return e;
9
+ return t === void 0 ? e : t;
185
10
  }
186
11
  export {
187
- W as Mask,
188
- V as MaskInput,
189
- M as tokens
12
+ c as get
190
13
  };
package/dist/index270.js CHANGED
@@ -1,5 +1,7 @@
1
- import { isEmpty as o } from "./index258.js";
2
- const m = (t) => !o(t);
1
+ const o = (l, n, f = (r) => r, u) => l.map((r) => Array.isArray(r[n]) ? [
2
+ f(r, u),
3
+ ...o(r[n], n, f, f(r, u))
4
+ ] : [f(r, u)]).flat();
3
5
  export {
4
- m as isNotEmpty
6
+ o as flattenTree
5
7
  };
package/dist/index272.js CHANGED
@@ -1,15 +1,11 @@
1
- import { ref as c, watch as f, toValue as u } from "vue";
2
- const p = (e, { initialValue: r = !1, nextValue: o = !0 } = {}) => {
3
- const t = c(r);
4
- if (r) return t;
5
- const n = f(
6
- () => u(e),
7
- (s) => {
8
- s && (t.value = o, n());
9
- }
10
- );
11
- return t;
12
- };
1
+ function u(e, i) {
2
+ let t;
3
+ return function(...o) {
4
+ t !== void 0 && clearTimeout(t), t = setTimeout(() => {
5
+ e.apply(this, o);
6
+ }, i);
7
+ };
8
+ }
13
9
  export {
14
- p as useUntil
10
+ u as debounce
15
11
  };
package/dist/index273.js CHANGED
@@ -1,25 +1,375 @@
1
- const i = (t) => {
2
- const n = t.toString().replace(/\.0+$/, "").replace(/\.$/, "");
3
- return parseFloat(n) || 0;
4
- };
5
- function s(t) {
6
- if (typeof t == "number")
7
- return {
8
- value: i(t),
9
- unit: "px"
1
+ import { defineComponent as Ae, ref as c, computed as L, onMounted as xe, onUnmounted as Re, watch as Le, createElementBlock as b, openBlock as w, createElementVNode as u, createCommentVNode as G, unref as $, normalizeStyle as y, normalizeClass as te, Fragment as ne, renderList as re } from "vue";
2
+ import { useLocale as $e } from "./index238.js";
3
+ const Se = ["aria-label"], Be = { class: "bb-color-palette__controls" }, Ie = { class: "bb-color-palette__preview-wrap" }, Ee = { class: "bb-color-palette__sliders" }, He = ["aria-label", "aria-valuenow"], We = ["aria-label", "aria-valuenow"], Ke = ["aria-label", "disabled"], Ve = {
4
+ key: 0,
5
+ class: "bb-color-palette__swatches"
6
+ }, Ge = ["aria-label", "aria-pressed", "onClick"], ze = /* @__PURE__ */ Ae({
7
+ __name: "ColorPalette",
8
+ props: {
9
+ modelValue: {},
10
+ alpha: { type: Boolean, default: !1 },
11
+ picker: { type: Boolean, default: !1 },
12
+ swatches: { type: [Boolean, Array] }
13
+ },
14
+ emits: ["update:modelValue"],
15
+ setup(le, { expose: oe, emit: se }) {
16
+ function k(e, a, t) {
17
+ const n = (r) => {
18
+ const l = (r + e / 60) % 6;
19
+ return t - t * a * Math.max(Math.min(l, 4 - l, 1), 0);
20
+ };
21
+ return [
22
+ Math.round(n(5) * 255),
23
+ Math.round(n(3) * 255),
24
+ Math.round(n(1) * 255)
25
+ ];
26
+ }
27
+ function U(e, a, t) {
28
+ const n = e / 255, r = a / 255, l = t / 255, s = Math.max(n, r, l), g = Math.min(n, r, l), _ = s - g, De = s === 0 ? 0 : _ / s, Pe = s;
29
+ let R = 0;
30
+ return _ !== 0 && (s === n ? R = ((r - l) / _ + (r < l ? 6 : 0)) / 6 : s === r ? R = ((l - n) / _ + 2) / 6 : R = ((n - r) / _ + 4) / 6), [R * 360, De, Pe];
31
+ }
32
+ function T(e) {
33
+ const a = e.replace(/^#/, "");
34
+ return a.length === 3 ? [
35
+ parseInt(a[0] + a[0], 16),
36
+ parseInt(a[1] + a[1], 16),
37
+ parseInt(a[2] + a[2], 16),
38
+ 1
39
+ ] : a.length === 6 ? [
40
+ parseInt(a.slice(0, 2), 16),
41
+ parseInt(a.slice(2, 4), 16),
42
+ parseInt(a.slice(4, 6), 16),
43
+ 1
44
+ ] : a.length === 8 ? [
45
+ parseInt(a.slice(0, 2), 16),
46
+ parseInt(a.slice(2, 4), 16),
47
+ parseInt(a.slice(4, 6), 16),
48
+ parseInt(a.slice(6, 8), 16) / 255
49
+ ] : [0, 0, 0, 1];
50
+ }
51
+ function F(e) {
52
+ return Math.round(Math.max(0, Math.min(255, e))).toString(16).padStart(2, "0");
53
+ }
54
+ function ie(e, a, t, n, r) {
55
+ const l = `#${F(e)}${F(a)}${F(t)}`;
56
+ return r ? l + F(n * 255) : l;
57
+ }
58
+ const ce = [
59
+ ["#FFCDD2", "#EF9A9A", "#F44336", "#D32F2F", "#B71C1C"],
60
+ // Red
61
+ ["#FFE0B2", "#FFCC80", "#FF9800", "#F57C00", "#E65100"],
62
+ // Orange
63
+ ["#FFF9C4", "#FFF59D", "#FFEB3B", "#FBC02D", "#F57F17"],
64
+ // Yellow
65
+ ["#C8E6C9", "#A5D6A7", "#4CAF50", "#388E3C", "#1B5E20"],
66
+ // Green
67
+ ["#BBDEFB", "#90CAF9", "#2196F3", "#1976D2", "#0D47A1"],
68
+ // Blue
69
+ ["#E1BEE7", "#CE93D8", "#9C27B0", "#7B1FA2", "#4A148C"]
70
+ // Purple
71
+ ], o = le, ue = se, { t: M } = $e(), i = c(0), v = c(1), p = c(1), h = c(1), S = L(() => {
72
+ const [e, a, t] = k(i.value, v.value, p.value);
73
+ return ie(e, a, t, h.value, o.alpha);
74
+ }), ve = L(() => {
75
+ const [e, a, t] = k(i.value, v.value, p.value);
76
+ return o.alpha ? `rgba(${e},${a},${t},${h.value})` : `rgb(${e},${a},${t})`;
77
+ }), pe = L(() => !!o.swatches), he = L(
78
+ () => Array.isArray(o.swatches) ? o.swatches : ce
79
+ ), z = c(null), m = c(null), B = c(null), D = c(null), P = c(null), A = c(null), x = c(null), C = () => {
80
+ const e = m.value;
81
+ if (!e || e.width === 0 || e.height === 0) return;
82
+ const a = e.getContext("2d");
83
+ if (!a) return;
84
+ const [t, n, r] = k(i.value, 1, 1), l = a.createLinearGradient(0, 0, e.width, 0);
85
+ l.addColorStop(0, "#ffffff"), l.addColorStop(1, `rgb(${t},${n},${r})`), a.fillStyle = l, a.fillRect(0, 0, e.width, e.height);
86
+ const s = a.createLinearGradient(0, 0, 0, e.height);
87
+ s.addColorStop(0, "rgba(0,0,0,0)"), s.addColorStop(1, "rgba(0,0,0,1)"), a.fillStyle = s, a.fillRect(0, 0, e.width, e.height);
88
+ }, de = () => {
89
+ const e = B.value;
90
+ if (!e || e.width === 0 || e.height === 0) return;
91
+ const a = e.getContext("2d");
92
+ if (!a) return;
93
+ const t = a.createLinearGradient(0, 0, e.width, 0);
94
+ for (let n = 0; n <= 6; n++)
95
+ t.addColorStop(n / 6, `hsl(${n * 60},100%,50%)`);
96
+ a.fillStyle = t, a.fillRect(0, 0, e.width, e.height);
97
+ }, f = () => {
98
+ const e = D.value;
99
+ if (!e || e.width === 0 || e.height === 0) return;
100
+ const a = e.getContext("2d");
101
+ if (!a) return;
102
+ a.clearRect(0, 0, e.width, e.height);
103
+ const [t, n, r] = k(i.value, v.value, p.value), l = a.createLinearGradient(0, 0, e.width, 0);
104
+ l.addColorStop(0, `rgba(${t},${n},${r},0)`), l.addColorStop(1, `rgba(${t},${n},${r},1)`), a.fillStyle = l, a.fillRect(0, 0, e.width, e.height);
105
+ }, fe = () => {
106
+ C(), de(), o.alpha && f();
107
+ };
108
+ let I = null;
109
+ const E = (e) => {
110
+ e.width = e.offsetWidth, e.height = e.offsetHeight;
111
+ }, X = () => {
112
+ const e = m.value, a = B.value;
113
+ !e || !a || e.offsetWidth === 0 || (E(e), E(a), o.alpha && D.value && E(D.value), fe());
114
+ };
115
+ xe(() => {
116
+ I = new ResizeObserver(X), m.value && I.observe(m.value), N(o.modelValue), X();
117
+ }), Re(() => {
118
+ I?.disconnect();
119
+ });
120
+ const N = (e) => {
121
+ if (e)
122
+ try {
123
+ const [a, t, n, r] = T(e), [l, s, g] = U(a, t, n);
124
+ s > 0.01 && (i.value = l), v.value = s, p.value = g, h.value = r;
125
+ } catch {
126
+ }
10
127
  };
11
- if (typeof t == "string") {
12
- const r = /^(-?\d*\.?\d+)([a-zA-Z%]*)?$/, e = t.match(r);
13
- if (e) {
14
- const [, n, o = "px"] = e, a = parseFloat(n);
128
+ Le(
129
+ () => o.modelValue,
130
+ (e) => {
131
+ !e || e === S.value || (N(e), C(), o.alpha && f());
132
+ }
133
+ );
134
+ const d = () => ue("update:modelValue", S.value), H = c(!1), O = (e) => {
135
+ const a = P.value;
136
+ if (!a) return { s: v.value, v: p.value };
137
+ const t = a.getBoundingClientRect();
15
138
  return {
16
- value: i(a),
17
- unit: o
139
+ s: Math.max(0, Math.min(1, (e.clientX - t.left) / t.width)),
140
+ v: Math.max(0, Math.min(1, 1 - (e.clientY - t.top) / t.height))
18
141
  };
19
- }
142
+ }, be = (e) => {
143
+ P.value?.setPointerCapture(e.pointerId), H.value = !0;
144
+ const { s: a, v: t } = O(e);
145
+ v.value = a, p.value = t, o.alpha && f(), d();
146
+ }, we = (e) => {
147
+ if (!H.value) return;
148
+ const { s: a, v: t } = O(e);
149
+ v.value = a, p.value = t, o.alpha && f(), d();
150
+ }, Y = (e) => {
151
+ P.value?.releasePointerCapture(e.pointerId), H.value = !1;
152
+ }, Ce = (e) => {
153
+ const a = e.shiftKey ? 0.05 : 0.01;
154
+ switch (e.key) {
155
+ case "ArrowLeft":
156
+ v.value = Math.max(0, v.value - a);
157
+ break;
158
+ case "ArrowRight":
159
+ v.value = Math.min(1, v.value + a);
160
+ break;
161
+ case "ArrowUp":
162
+ p.value = Math.min(1, p.value + a);
163
+ break;
164
+ case "ArrowDown":
165
+ p.value = Math.max(0, p.value - a);
166
+ break;
167
+ default:
168
+ return;
169
+ }
170
+ o.alpha && f(), d(), e.preventDefault();
171
+ }, W = c(!1), Z = (e) => {
172
+ const a = A.value;
173
+ if (!a) return i.value;
174
+ const t = a.getBoundingClientRect();
175
+ return Math.max(
176
+ 0,
177
+ Math.min(360, (e.clientX - t.left) / t.width * 360)
178
+ );
179
+ }, me = (e) => {
180
+ A.value?.setPointerCapture(e.pointerId), W.value = !0, i.value = Z(e), C(), o.alpha && f(), d();
181
+ }, ge = (e) => {
182
+ W.value && (i.value = Z(e), C(), o.alpha && f(), d());
183
+ }, j = (e) => {
184
+ A.value?.releasePointerCapture(e.pointerId), W.value = !1;
185
+ }, _e = (e) => {
186
+ const a = e.shiftKey ? 10 : 1;
187
+ switch (e.key) {
188
+ case "ArrowLeft":
189
+ i.value = Math.max(0, i.value - a);
190
+ break;
191
+ case "ArrowRight":
192
+ i.value = Math.min(360, i.value + a);
193
+ break;
194
+ default:
195
+ return;
196
+ }
197
+ C(), o.alpha && f(), d(), e.preventDefault();
198
+ }, K = c(!1), q = (e) => {
199
+ const a = x.value;
200
+ if (!a) return h.value;
201
+ const t = a.getBoundingClientRect();
202
+ return Math.max(0, Math.min(1, (e.clientX - t.left) / t.width));
203
+ }, ye = (e) => {
204
+ x.value?.setPointerCapture(e.pointerId), K.value = !0, h.value = q(e), d();
205
+ }, ke = (e) => {
206
+ K.value && (h.value = q(e), d());
207
+ }, J = (e) => {
208
+ x.value?.releasePointerCapture(e.pointerId), K.value = !1;
209
+ }, Fe = (e) => {
210
+ const a = e.shiftKey ? 0.05 : 0.01;
211
+ switch (e.key) {
212
+ case "ArrowLeft":
213
+ h.value = Math.max(0, h.value - a);
214
+ break;
215
+ case "ArrowRight":
216
+ h.value = Math.min(1, h.value + a);
217
+ break;
218
+ default:
219
+ return;
220
+ }
221
+ d(), e.preventDefault();
222
+ }, Q = "EyeDropper" in window, V = c(!1), Me = async () => {
223
+ if (Q)
224
+ try {
225
+ V.value = !0;
226
+ const e = window, t = await new e.EyeDropper().open();
227
+ ae(t.sRGBHex);
228
+ } catch {
229
+ } finally {
230
+ V.value = !1;
231
+ }
232
+ }, ee = (e) => S.value.slice(0, 7).toLowerCase() === e.slice(0, 7).toLowerCase(), ae = (e) => {
233
+ const [a, t, n, r] = T(e), [l, s, g] = U(a, t, n);
234
+ s > 0.01 && (i.value = l), v.value = s, p.value = g, h.value = r, C(), o.alpha && f(), d();
235
+ };
236
+ return oe({ el: z }), (e, a) => (w(), b("div", {
237
+ ref_key: "pickerRef",
238
+ ref: z,
239
+ class: "bb-color-palette"
240
+ }, [
241
+ u("div", {
242
+ ref_key: "canvasWrapRef",
243
+ ref: P,
244
+ class: "bb-color-palette__canvas-wrap",
245
+ role: "application",
246
+ tabindex: "0",
247
+ "aria-label": $(M)("colorInput.mainCanvasDesc").value,
248
+ onPointerdown: be,
249
+ onPointermove: we,
250
+ onPointerup: Y,
251
+ onPointercancel: Y,
252
+ onKeydown: Ce
253
+ }, [
254
+ u("canvas", {
255
+ ref_key: "mainCanvasRef",
256
+ ref: m,
257
+ class: "bb-color-palette__canvas",
258
+ "aria-hidden": "true"
259
+ }, null, 512),
260
+ u("div", {
261
+ class: "bb-color-palette__canvas-thumb",
262
+ style: y({ left: `${v.value * 100}%`, top: `${(1 - p.value) * 100}%` }),
263
+ "aria-hidden": "true"
264
+ }, null, 4)
265
+ ], 40, Se),
266
+ u("div", Be, [
267
+ u("div", Ie, [
268
+ u("div", {
269
+ class: te(["bb-color-palette__preview", { "bb-color-palette__preview--alpha": e.alpha }]),
270
+ style: y({ "--bb-picker-preview-color": ve.value })
271
+ }, null, 6)
272
+ ]),
273
+ u("div", Ee, [
274
+ u("div", {
275
+ ref_key: "hueWrapRef",
276
+ ref: A,
277
+ class: "bb-color-palette__slider-wrap",
278
+ role: "slider",
279
+ tabindex: "0",
280
+ "aria-label": $(M)("colorInput.hueCanvasDesc").value,
281
+ "aria-valuenow": Math.round(i.value),
282
+ "aria-valuemin": "0",
283
+ "aria-valuemax": "360",
284
+ onPointerdown: me,
285
+ onPointermove: ge,
286
+ onPointerup: j,
287
+ onPointercancel: j,
288
+ onKeydown: _e
289
+ }, [
290
+ u("canvas", {
291
+ ref_key: "hueCanvasRef",
292
+ ref: B,
293
+ class: "bb-color-palette__slider-track",
294
+ "aria-hidden": "true"
295
+ }, null, 512),
296
+ u("div", {
297
+ class: "bb-color-palette__slider-thumb",
298
+ style: y({ left: `${i.value / 360 * 100}%` }),
299
+ "aria-hidden": "true"
300
+ }, null, 4)
301
+ ], 40, He),
302
+ e.alpha ? (w(), b("div", {
303
+ key: 0,
304
+ ref_key: "alphaWrapRef",
305
+ ref: x,
306
+ class: "bb-color-palette__slider-wrap bb-color-palette__slider-wrap--alpha",
307
+ role: "slider",
308
+ tabindex: "0",
309
+ "aria-label": $(M)("colorInput.alphaSliderDesc").value,
310
+ "aria-valuenow": Math.round(h.value * 100),
311
+ "aria-valuemin": "0",
312
+ "aria-valuemax": "100",
313
+ onPointerdown: ye,
314
+ onPointermove: ke,
315
+ onPointerup: J,
316
+ onPointercancel: J,
317
+ onKeydown: Fe
318
+ }, [
319
+ u("canvas", {
320
+ ref_key: "alphaCanvasRef",
321
+ ref: D,
322
+ class: "bb-color-palette__slider-track",
323
+ "aria-hidden": "true"
324
+ }, null, 512),
325
+ u("div", {
326
+ class: "bb-color-palette__slider-thumb",
327
+ style: y({ left: `${h.value * 100}%` }),
328
+ "aria-hidden": "true"
329
+ }, null, 4)
330
+ ], 40, We)) : G("", !0)
331
+ ]),
332
+ e.picker && Q ? (w(), b("button", {
333
+ key: 0,
334
+ class: "bb-color-palette__eyedropper",
335
+ type: "button",
336
+ "aria-label": $(M)("colorInput.eyeDropper").value,
337
+ disabled: V.value || void 0,
338
+ onClick: Me
339
+ }, a[0] || (a[0] = [
340
+ u("svg", {
341
+ xmlns: "http://www.w3.org/2000/svg",
342
+ width: "16",
343
+ height: "16",
344
+ viewBox: "0 0 24 24",
345
+ fill: "currentColor",
346
+ "aria-hidden": "true"
347
+ }, [
348
+ u("path", { d: "M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L13.71,3.71L12.29,5.12L13.41,6.24L3,16.59V21H7.41L17.76,10.59L18.88,11.71L20.29,10.29L18.88,8.88L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63M6.58,19H5V17.42L13.29,9.12L14.88,10.71L6.58,19Z" })
349
+ ], -1)
350
+ ]), 8, Ke)) : G("", !0)
351
+ ]),
352
+ pe.value ? (w(), b("div", Ve, [
353
+ (w(!0), b(ne, null, re(he.value, (t, n) => (w(), b("div", {
354
+ key: n,
355
+ class: "bb-color-palette__swatch-group"
356
+ }, [
357
+ (w(!0), b(ne, null, re(t, (r) => (w(), b("button", {
358
+ key: r,
359
+ class: te(["bb-color-palette__swatch", {
360
+ "bb-color-palette__swatch--active": ee(r)
361
+ }]),
362
+ style: y({ background: r }),
363
+ "aria-label": r,
364
+ "aria-pressed": ee(r),
365
+ type: "button",
366
+ onClick: (l) => ae(r)
367
+ }, null, 14, Ge))), 128))
368
+ ]))), 128))
369
+ ])) : G("", !0)
370
+ ], 512));
20
371
  }
21
- throw new Error(`Invalid width: ${t}`);
22
- }
372
+ });
23
373
  export {
24
- s as parseWidthString
374
+ ze as default
25
375
  };