bitboss-ui 2.1.89 → 2.1.91

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 (181) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index107.js +9 -9
  3. package/dist/index114.js +1 -1
  4. package/dist/index120.js +1 -1
  5. package/dist/index122.js +13 -13
  6. package/dist/index13.js +2 -2
  7. package/dist/index130.js +1 -1
  8. package/dist/index132.js +5 -5
  9. package/dist/index134.js +1 -1
  10. package/dist/index136.js +2 -2
  11. package/dist/index139.js +1 -1
  12. package/dist/index141.js +2 -2
  13. package/dist/index15.js +5 -5
  14. package/dist/index17.js +3 -3
  15. package/dist/index19.js +8 -8
  16. package/dist/index21.js +14 -14
  17. package/dist/index214.js +2 -138
  18. package/dist/index216.js +138 -2
  19. package/dist/index217.js +1 -1
  20. package/dist/index218.js +1 -1
  21. package/dist/index219.js +5 -2
  22. package/dist/index220.js +5 -2
  23. package/dist/index221.js +5 -3
  24. package/dist/index222.js +5 -5
  25. package/dist/index223.js +3 -5
  26. package/dist/index224.js +2 -5
  27. package/dist/index225.js +6 -5
  28. package/dist/index226.js +8 -3
  29. package/dist/index227.js +268 -2
  30. package/dist/index228.js +52 -6
  31. package/dist/index229.js +50 -6
  32. package/dist/index23.js +11 -11
  33. package/dist/index230.js +27 -263
  34. package/dist/index231.js +51 -43
  35. package/dist/index232.js +12 -51
  36. package/dist/index233.js +4 -32
  37. package/dist/index234.js +18 -58
  38. package/dist/index235.js +200 -12
  39. package/dist/index237.js +137 -0
  40. package/dist/index239.js +8 -15
  41. package/dist/index240.js +2 -50
  42. package/dist/index241.js +4 -15
  43. package/dist/index242.js +3 -12
  44. package/dist/index243.js +86 -16
  45. package/dist/index245.js +29 -2
  46. package/dist/index246.js +16 -6
  47. package/dist/index247.js +51 -7
  48. package/dist/index248.js +14 -32
  49. package/dist/index249.js +12 -28
  50. package/dist/index25.js +3 -3
  51. package/dist/index250.js +18 -0
  52. package/dist/index251.js +34 -4
  53. package/dist/index252.js +8 -19
  54. package/dist/index253.js +12 -200
  55. package/dist/index254.js +25 -0
  56. package/dist/index255.js +8 -134
  57. package/dist/index256.js +25 -0
  58. package/dist/index257.js +2 -4
  59. package/dist/index258.js +2 -13
  60. package/dist/index259.js +4 -4
  61. package/dist/index260.js +8 -22
  62. package/dist/index261.js +53 -3
  63. package/dist/index262.js +2 -3
  64. package/dist/index263.js +2 -11
  65. package/dist/index265.js +32 -12
  66. package/dist/index266.js +28 -6
  67. package/dist/index268.js +11 -5
  68. package/dist/index269.js +5 -5
  69. package/dist/index27.js +1 -1
  70. package/dist/index270.js +3 -5
  71. package/dist/index271.js +6 -2
  72. package/dist/index272.js +16 -3
  73. package/dist/index273.js +106 -10
  74. package/dist/index275.js +99 -187
  75. package/dist/index277.js +3 -67
  76. package/dist/index278.js +11 -16
  77. package/dist/index279.js +5 -12
  78. package/dist/index280.js +5 -106
  79. package/dist/index281.js +7 -0
  80. package/dist/index282.js +3 -100
  81. package/dist/index283.js +10 -0
  82. package/dist/index284.js +7 -229
  83. package/dist/index285.js +188 -9
  84. package/dist/index286.js +3 -53
  85. package/dist/index287.js +2 -5
  86. package/dist/index288.js +7 -34
  87. package/dist/index289.js +7 -9
  88. package/dist/index29.js +3 -3
  89. package/dist/index290.js +67 -7
  90. package/dist/index291.js +16 -7
  91. package/dist/index292.js +12 -23
  92. package/dist/index293.js +228 -7
  93. package/dist/index295.js +1 -1
  94. package/dist/index296.js +3 -280
  95. package/dist/index297.js +17 -2
  96. package/dist/index298.js +27 -15
  97. package/dist/index299.js +3 -2
  98. package/dist/index300.js +3 -16
  99. package/dist/index301.js +7 -2
  100. package/dist/index302.js +276 -23
  101. package/dist/index303.js +2 -2
  102. package/dist/index304.js +16 -2
  103. package/dist/index305.js +2 -2
  104. package/dist/index306.js +16 -2
  105. package/dist/index307.js +2 -2
  106. package/dist/index308.js +26 -27
  107. package/dist/index309.js +2 -2
  108. package/dist/index31.js +2 -2
  109. package/dist/index310.js +2 -7
  110. package/dist/index311.js +2 -3
  111. package/dist/index312.js +2 -3
  112. package/dist/index313.js +2 -3
  113. package/dist/index314.js +2 -17
  114. package/dist/index315.js +2 -5
  115. package/dist/index317.js +4 -4
  116. package/dist/index321.js +3 -125
  117. package/dist/index322.js +3 -2
  118. package/dist/index323.js +3 -14
  119. package/dist/index324.js +6 -2
  120. package/dist/index325.js +5 -19
  121. package/dist/index326.js +125 -2
  122. package/dist/index327.js +2 -2
  123. package/dist/index328.js +15 -3
  124. package/dist/index329.js +2 -3
  125. package/dist/index33.js +8 -8
  126. package/dist/index330.js +19 -2
  127. package/dist/index331.js +2 -2
  128. package/dist/index332.js +2 -4
  129. package/dist/index333.js +7 -5
  130. package/dist/index334.js +5 -6
  131. package/dist/index335.js +8 -7
  132. package/dist/index336.js +5 -19
  133. package/dist/index337.js +6 -8
  134. package/dist/index338.js +34 -14
  135. package/dist/index339.js +6 -5
  136. package/dist/index340.js +128 -57
  137. package/dist/index341.js +396 -56
  138. package/dist/index342.js +6 -92
  139. package/dist/index343.js +18 -7
  140. package/dist/index344.js +8 -5
  141. package/dist/index345.js +15 -8
  142. package/dist/index346.js +57 -227
  143. package/dist/index347.js +58 -35
  144. package/dist/index348.js +21 -5
  145. package/dist/index35.js +4 -4
  146. package/dist/index350.js +2 -398
  147. package/dist/index351.js +227 -46
  148. package/dist/index352.js +133 -21
  149. package/dist/index353.js +95 -0
  150. package/dist/index354.js +432 -125
  151. package/dist/index355.js +124 -516
  152. package/dist/index356.js +43 -437
  153. package/dist/index357.js +516 -124
  154. package/dist/index37.js +18 -18
  155. package/dist/index39.js +7 -7
  156. package/dist/index41.js +2 -2
  157. package/dist/index43.js +8 -8
  158. package/dist/index45.js +6 -6
  159. package/dist/index49.js +2 -2
  160. package/dist/index53.js +1 -1
  161. package/dist/index55.js +1 -1
  162. package/dist/index57.js +2 -2
  163. package/dist/index61.js +5 -5
  164. package/dist/index67.js +1 -1
  165. package/dist/index80.js +6 -6
  166. package/dist/index82.js +1 -1
  167. package/dist/index84.js +2 -2
  168. package/dist/index86.js +3 -3
  169. package/dist/index88.js +1 -1
  170. package/dist/index91.js +3 -3
  171. package/dist/index93.js +1 -1
  172. package/dist/index95.js +5 -5
  173. package/dist/index97.js +1 -1
  174. package/package.json +1 -1
  175. package/dist/index236.js +0 -88
  176. package/dist/index238.js +0 -31
  177. package/dist/index244.js +0 -4
  178. package/dist/index267.js +0 -18
  179. package/dist/index274.js +0 -5
  180. package/dist/index276.js +0 -5
  181. package/dist/index349.js +0 -131
package/dist/index247.js CHANGED
@@ -1,9 +1,53 @@
1
- function o(t, e, n, r, a) {
2
- if (n === e)
3
- throw new Error("Original boundaries cannot be equal.");
4
- const c = (t - e) / (n - e);
5
- return r + c * (a - r);
6
- }
1
+ import { computed as l, unref as o } from "vue";
2
+ import { useItemText as x } from "./index297.js";
3
+ import { useItemValue as w } from "./index260.js";
4
+ import { hash as y } from "./index223.js";
5
+ import { useLogger as D } from "./index226.js";
6
+ const { getItemText: O } = x(), { getItemValue: V } = w(), { warn: H } = D(), T = (u, c, m, a, d, r) => r ? !1 : !!(c || u.disabled || a && d >= a), q = ({
7
+ items: u,
8
+ disabled: c,
9
+ selectable: m,
10
+ itemText: a,
11
+ itemValue: d,
12
+ selectedIndexedByHash: r,
13
+ max: b = 1 / 0
14
+ }) => {
15
+ const v = l(() => o(c)), p = l(() => o(u)), h = l(
16
+ () => Object.keys(r.value).length
17
+ ), g = o(b), f = (e) => {
18
+ const n = V(e, o(d)), t = y(n), i = O(e, o(a)), s = r.value[t] !== void 0, I = T(
19
+ e,
20
+ v.value,
21
+ m,
22
+ g,
23
+ h.value,
24
+ s
25
+ );
26
+ return {
27
+ item: e,
28
+ text: i,
29
+ value: n,
30
+ valueHash: t,
31
+ selected: s,
32
+ disabled: o(I)
33
+ };
34
+ };
35
+ return {
36
+ options: l(() => {
37
+ const e = [], n = /* @__PURE__ */ new Set();
38
+ for (let t = 0; t < p.value.length; t++) {
39
+ const i = p.value[t];
40
+ i.disabled && H(
41
+ "Disabling an item by passing a disabled option to the item itself is deprecated and will be removed in a future version. Use the `disabled` prop or the `selectable` iteratee prop instead."
42
+ );
43
+ const s = f(i);
44
+ n.has(s.valueHash) || (n.add(s.valueHash), e.push(s));
45
+ }
46
+ return e;
47
+ }),
48
+ createOption: f
49
+ };
50
+ };
7
51
  export {
8
- o as transpose
52
+ q as useBaseOptions
9
53
  };
package/dist/index248.js CHANGED
@@ -1,35 +1,17 @@
1
- import { createElementBlock as e, openBlock as t, createElementVNode as o } from "vue";
2
- /* empty css */
3
- import n from "./index213.js";
4
- const l = {}, s = {
5
- class: "bb-error-icon",
6
- fill: "none",
7
- viewBox: "0 0 20 20",
8
- xmlns: "http://www.w3.org/2000/svg"
1
+ import { isNil as f } from "./index258.js";
2
+ import { computed as t, unref as o } from "vue";
3
+ const a = ({ modelValue: e, iteratee: h, multiple: u }) => {
4
+ const i = t(
5
+ () => new Array().concat(o(e))
6
+ ), s = t(() => i.value.reduce(
7
+ (r, n) => (h(n) ? r.coherent.push(n) : r.incoherent.push(n), r),
8
+ { coherent: [], incoherent: [] }
9
+ )), c = t(() => u && !o(e).length || !u && f(o(e)) ? !0 : !s.value.incoherent.length);
10
+ return {
11
+ status: s,
12
+ coherent: c
13
+ };
9
14
  };
10
- function i(c, r) {
11
- return t(), e("svg", s, r[0] || (r[0] = [
12
- o("path", {
13
- d: "M9.99422 18.3333C14.5966 18.3333 18.3276 14.6024 18.3276 9.99999C18.3276 5.39762 14.5966 1.66666 9.99422 1.66666C5.39185 1.66666 1.66089 5.39762 1.66089 9.99999C1.66089 14.6024 5.39185 18.3333 9.99422 18.3333Z",
14
- fill: "currentColor"
15
- }, null, -1),
16
- o("path", {
17
- d: "M9.99414 6.66666V9.99999",
18
- stroke: "white",
19
- "stroke-linecap": "round",
20
- "stroke-linejoin": "round",
21
- "stroke-width": "2"
22
- }, null, -1),
23
- o("path", {
24
- d: "M9.99414 13.3333H10.0025",
25
- stroke: "white",
26
- "stroke-linecap": "round",
27
- "stroke-linejoin": "round",
28
- "stroke-width": "2"
29
- }, null, -1)
30
- ]));
31
- }
32
- const a = /* @__PURE__ */ n(l, [["render", i]]);
33
15
  export {
34
- a as default
16
+ a as useCoherence
35
17
  };
package/dist/index249.js CHANGED
@@ -1,30 +1,14 @@
1
- import { defineComponent as l, createElementBlock as n, openBlock as r, unref as a, createElementVNode as t } from "vue";
2
- import { useLocale as s } from "./index235.js";
3
- const c = ["aria-label"], b = /* @__PURE__ */ l({
4
- __name: "ClearableButton",
5
- setup(u) {
6
- const { t: o } = s();
7
- return (i, e) => (r(), n("button", {
8
- "aria-label": a(o)("common.clearLabel").value,
9
- class: "bb-clearable-button",
10
- type: "button"
11
- }, e[0] || (e[0] = [
12
- t("svg", {
13
- viewBox: "0 0 24 24",
14
- xmlns: "http://www.w3.org/2000/svg"
15
- }, [
16
- t("path", {
17
- d: "M12 12l7 7M12 12l-7 -7M12 12l-7 7M12 12l7 -7",
18
- fill: "none",
19
- stroke: "currentColor",
20
- "stroke-linecap": "round",
21
- "stroke-linejoin": "round",
22
- "stroke-width": "2"
23
- })
24
- ], -1)
25
- ]), 8, c));
26
- }
27
- });
1
+ import { hash as e } from "./index223.js";
2
+ import { debouncedWatch as s } from "./index216.js";
3
+ const n = (o, c, h) => {
4
+ s(
5
+ o,
6
+ (r, t) => {
7
+ e(r) !== e(t) && c(r, t);
8
+ },
9
+ h
10
+ );
11
+ };
28
12
  export {
29
- b as default
13
+ n as useHashedWatcher
30
14
  };
package/dist/index25.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as I, mergeModels as M, useModel as W, computed as h, ref as g, watch as N, onMounted as P, createElementBlock as n, openBlock as r, withModifiers as F, normalizeStyle as O, normalizeClass as q, unref as y, createCommentVNode as f, Fragment as A, createElementVNode as a, renderSlot as s, createTextVNode as K, toDisplayString as T, nextTick as R } from "vue";
2
- import { parseSize as U } from "./index265.js";
2
+ import { parseSize as U } from "./index278.js";
3
3
  import { useId as D } from "./index8.js";
4
- import { useLocale as j } from "./index235.js";
4
+ import { useLocale as j } from "./index232.js";
5
5
  import { useMobile as G } from "./index9.js";
6
- import { useUntil as J } from "./index258.js";
6
+ import { useUntil as J } from "./index253.js";
7
7
  import { wait as w } from "./index140.js";
8
8
  import { _config as Q } from "./index4.js";
9
9
  const X = ["aria-describedby", "aria-labelledby", "aria-live", "inert"], Y = {
@@ -0,0 +1,18 @@
1
+ import { isNotNil as n } from "./index144.js";
2
+ import { ref as t, onServerPrefetch as u, onBeforeMount as c } from "vue";
3
+ const h = ({
4
+ fn: i,
5
+ onStart: s,
6
+ multiple: f,
7
+ currentValue: o
8
+ }) => {
9
+ const a = s || !f && n(o) || f && !!o.length, e = t(!1), l = t(!1), r = async () => {
10
+ e.value = !0, await i({ prefill: !0 }), e.value = !1, l.value = !0;
11
+ };
12
+ return a && (u(r), c(async () => {
13
+ l.value || await r();
14
+ })), { isPrefilling: e, hasPrefilled: l, prefill: r };
15
+ };
16
+ export {
17
+ h as usePrefill
18
+ };
package/dist/index251.js CHANGED
@@ -1,6 +1,36 @@
1
- function x(e) {
2
- return /^#([A-Fa-f0-9]{6})$/.test(e);
3
- }
1
+ import { defineComponent as a, resolveComponent as o, createBlock as u, openBlock as l, resolveDynamicComponent as m, unref as c, withCtx as p, renderSlot as f } from "vue";
2
+ import { _config as e } from "./index4.js";
3
+ import { useLogger as i } from "./index226.js";
4
+ import { useFrameworkDetection as k } from "./index252.js";
5
+ const y = /* @__PURE__ */ a({
6
+ __name: "RouterComponent",
7
+ setup(g) {
8
+ const { isInertia: r, isNuxt: s } = k();
9
+ let t;
10
+ if (r) {
11
+ if (t = o(e.inertiaLinkName), typeof t == "string") {
12
+ const { warn: n } = i();
13
+ n(
14
+ `Inertia link component "${e.inertiaLinkName}" could not be resolved. Ensure you app registers a link component with the name "${e.inertiaLinkName}" or set bitboss-ui config key "inertiaLinkName" to the correct value globally. Please visit ${e.documentationURL}/getting-started to resolve setup issues in bitboss-ui.`
15
+ );
16
+ }
17
+ } else if (s) {
18
+ if (t = o(e.nuxtLinkName), typeof t == "string") {
19
+ const { warn: n } = i();
20
+ n(
21
+ `Nuxt link component "${e.nuxtLinkName}" could not be resolved. Ensure you app registers a link component with the name "${e.nuxtLinkName}" or set bitboss-ui config key "nuxtLinkName" to the correct value globally. Please visit ${e.documentationURL}/getting-started to resolve setup issues in bitboss-ui.`
22
+ );
23
+ }
24
+ } else
25
+ t = "router-link";
26
+ return (n, d) => (l(), u(m(c(t)), null, {
27
+ default: p(() => [
28
+ f(n.$slots, "default")
29
+ ]),
30
+ _: 3
31
+ }));
32
+ }
33
+ });
4
34
  export {
5
- x as isHex
35
+ y as default
6
36
  };
package/dist/index252.js CHANGED
@@ -1,22 +1,11 @@
1
- import { MaskInput as r } from "./index275.js";
2
- const u = /* @__PURE__ */ new WeakMap(), p = (a, n) => {
3
- if (a.arg == null || a.instance == null) return;
4
- const s = "setup" in a.instance.$.type;
5
- a.arg in a.instance ? a.instance[a.arg] = n : s && console.warn("Maska: please expose `%s` using defineExpose", a.arg);
6
- }, k = (a, n) => {
7
- var s;
8
- const t = a instanceof HTMLInputElement ? a : a.querySelector("input");
9
- if (t == null || t?.type === "file") return;
10
- let e = {};
11
- if (n.value != null && (e = typeof n.value == "string" ? { mask: n.value } : { ...n.value }), n.arg != null) {
12
- const l = (o) => {
13
- const i = n.modifiers.unmasked ? o.unmasked : n.modifiers.completed ? o.completed : o.masked;
14
- p(n, i);
15
- };
16
- e.onMaska = e.onMaska == null ? l : Array.isArray(e.onMaska) ? [...e.onMaska, l] : [e.onMaska, l];
17
- }
18
- u.has(t) ? (s = u.get(t)) == null || s.update(e) : u.set(t, new r(t, e));
1
+ import { getCurrentInstance as e } from "vue";
2
+ const s = () => {
3
+ const t = e(), n = !!t?.proxy?.$inertia, r = !!t?.proxy?.$nuxt;
4
+ return {
5
+ isInertia: n,
6
+ isNuxt: r
7
+ };
19
8
  };
20
9
  export {
21
- k as vMaska
10
+ s as useFrameworkDetection
22
11
  };
package/dist/index253.js CHANGED
@@ -1,203 +1,15 @@
1
- import { defineComponent as j, ref as s, onMounted as J, watch as Q, createElementBlock as M, openBlock as S, createElementVNode as x, createTextVNode as L, createCommentVNode as B, toDisplayString as y, unref as w } from "vue";
2
- import { hexToRgb as K } from "./index343.js";
3
- import { getHueFromRGB as F } from "./index344.js";
4
- import { hslToHex as b } from "./index345.js";
5
- import { useLocale as Z } from "./index235.js";
6
- const ee = {
7
- id: "mainCanvasDesc",
8
- "aria-live": "polite",
9
- class: "sr-only"
10
- }, te = { key: 0 }, ae = {
11
- id: "hueCanvasDesc",
12
- "aria-live": "polite",
13
- class: "sr-only"
14
- }, ne = { key: 0 }, ue = /* @__PURE__ */ j({
15
- __name: "ColorPallette",
16
- props: {
17
- modelValue: {}
18
- },
19
- emits: ["update:modelValue"],
20
- setup(N, { emit: O }) {
21
- const _ = N, f = O, { t: h } = Z(), o = s(_.modelValue), d = s(
22
- b(F(...K(o.value ?? "#ff0000")), 100, 50)
23
- ), T = s(null), i = s(null), r = s(null), l = s({ x: 0, y: 0 }), u = s({ x: 0 }), p = s(!1), P = s(!1), q = () => {
24
- const e = i.value, t = r.value;
25
- !e || !t || (e.width = e.offsetWidth, e.height = e.offsetHeight, t.width = t.offsetWidth, t.height = t.offsetHeight, v(), g());
26
- }, R = () => {
27
- const e = i.value;
28
- return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
29
- }, v = () => {
30
- const e = i.value;
31
- if (!e) return;
32
- const t = R();
33
- if (!t) return;
34
- t.clearRect(0, 0, e.width, e.height);
35
- const a = t.createLinearGradient(0, 0, e.width, 0);
36
- a.addColorStop(0, d.value), a.addColorStop(1, "#ffffff");
37
- const n = t.createLinearGradient(0, 0, 0, e.height);
38
- n.addColorStop(0, "transparent"), n.addColorStop(1, "#000000"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), t.fillStyle = n, t.globalCompositeOperation = "multiply", t.fillRect(0, 0, e.width, e.height), t.globalCompositeOperation = "source-over", t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
39
- }, m = () => {
40
- const e = R();
41
- e && (e.beginPath(), e.arc(
42
- l.value.x,
43
- l.value.y,
44
- 8,
45
- 0,
46
- 2 * Math.PI
47
- ), e.strokeStyle = "#ffffff", e.lineWidth = 2, e.stroke(), e.beginPath(), e.arc(
48
- l.value.x,
49
- l.value.y,
50
- 7,
51
- 0,
52
- 2 * Math.PI
53
- ), e.strokeStyle = "#000000", e.lineWidth = 1, e.stroke(), e.globalCompositeOperation = "source-over");
54
- }, D = () => {
55
- const e = r.value;
56
- return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
57
- }, g = () => {
58
- const e = r.value;
59
- if (!e) return;
60
- const t = D();
61
- if (!t) return;
62
- const a = t.createLinearGradient(0, 0, e.width, 0);
63
- for (let n = 0; n <= 360; n += 60)
64
- a.addColorStop(n / 360, `hsl(${n}, 100%, 50%)`);
65
- a.addColorStop(1, "hsl(360, 100%, 50%)"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), H(), t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
66
- }, H = () => {
67
- const e = r.value;
68
- if (!e) return;
69
- const t = D();
70
- if (!t) return;
71
- const a = 10, n = 16, c = u.value.x - a / 2, k = e.height / 2 - n / 2;
72
- t.beginPath(), t.roundRect(c, k, a, n, 2), t.strokeStyle = "lightgray", t.stroke(), t.fillStyle = "#ffffff", t.fill();
73
- }, E = (e) => {
74
- const t = i.value;
75
- t && (t.setPointerCapture(e.pointerId), p.value = !0, I(e));
76
- }, U = (e) => {
77
- const t = r.value;
78
- t && (t.setPointerCapture(e.pointerId), P.value = !0, V(e));
79
- }, I = (e) => {
80
- const t = i.value;
81
- if (!t) return;
82
- const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width - 1, e.clientX - a.left)), c = Math.max(0, Math.min(t.height - 1, e.clientY - a.top));
83
- l.value = { x: n, y: c }, v(), m(), o.value = C(), f("update:modelValue", o.value);
84
- }, V = (e) => {
85
- const t = r.value;
86
- if (!t) return;
87
- const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width - 1, e.clientX - a.left));
88
- u.value = { x: n };
89
- const c = n / t.width * 360;
90
- d.value = b(c, 100, 50), g(), v(), m(), o.value = C(), f("update:modelValue", o.value);
91
- }, G = (e) => {
92
- p.value ? I(e) : P.value && V(e);
93
- }, W = (e) => {
94
- const t = p.value ? i.value : r.value;
95
- t && t.releasePointerCapture(e.pointerId), p.value = !1, P.value = !1;
96
- }, X = (e) => {
97
- switch (e.key) {
98
- case "ArrowUp":
99
- l.value.y = Math.max(0, l.value.y - 5);
100
- break;
101
- case "ArrowDown":
102
- l.value.y = Math.min(
103
- i.value?.height ?? 0,
104
- l.value.y + 5
105
- );
106
- break;
107
- case "ArrowLeft":
108
- l.value.x = Math.max(0, l.value.x - 5);
109
- break;
110
- case "ArrowRight":
111
- l.value.x = Math.min(
112
- i.value?.width ?? 0,
113
- l.value.x + 5
114
- );
115
- break;
116
- default:
117
- return;
118
- }
119
- v(), m(), o.value = C(), f("update:modelValue", o.value), e.preventDefault();
120
- }, $ = (e) => {
121
- switch (e.key) {
122
- case "ArrowLeft":
123
- u.value.x = Math.max(0, u.value.x - 5);
124
- break;
125
- case "ArrowRight":
126
- u.value.x = Math.min(
127
- r.value?.width ?? 0,
128
- u.value.x + 5
129
- );
130
- break;
131
- default:
132
- return;
133
- }
134
- const a = u.value.x / (r.value?.width ?? 1) * 360;
135
- d.value = b(a, 100, 50), g(), H(), v(), m(), o.value = C(), f("update:modelValue", o.value), e.preventDefault();
136
- };
137
- J(() => {
138
- q(), A(o.value ?? "#ff0000");
139
- }), Q(
140
- () => _.modelValue,
141
- (e) => {
142
- !e || e === o.value || (o.value = e, A(e), g(), v());
143
- }
144
- );
145
- const C = () => {
146
- const e = i.value;
147
- if (!e) return "#ffffff";
148
- const t = e.getContext("2d");
149
- if (!t) return "#ffffff";
150
- const { x: a, y: n } = l.value, c = t.getImageData(a, n, 1, 1).data, [k, z, Y] = c;
151
- return `#${((1 << 24) + (k << 16) + (z << 8) + Y).toString(16).slice(1)}`;
152
- };
153
- function A(e) {
154
- const t = F(...K(e));
155
- d.value = b(t, 100, 50), u.value.x = t / 360 * (r.value?.width ?? 0);
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());
156
9
  }
157
- return (e, t) => (S(), M("span", {
158
- ref_key: "paletteRef",
159
- ref: T,
160
- "aria-label": "Color Picker",
161
- class: "bb-color-palette",
162
- role: "application"
163
- }, [
164
- x("canvas", {
165
- ref_key: "mainCanvasRef",
166
- ref: i,
167
- "aria-describedby": "mainCanvasDesc",
168
- "aria-label": "Main Color Selection",
169
- class: "bb-color-palette__canvas",
170
- role: "application",
171
- tabindex: "0",
172
- onKeydown: X,
173
- onPointerdown: E,
174
- onPointermove: G,
175
- onPointerup: W
176
- }, null, 544),
177
- x("span", ee, [
178
- L(y(w(h)("colorInput.mainCanvasDesc")) + " ", 1),
179
- o.value ? (S(), M("span", te, y(w(h)("colorInput.mainCanvasSelectedColor", o.value)), 1)) : B("", !0)
180
- ]),
181
- x("canvas", {
182
- ref_key: "hueCanvasRef",
183
- ref: r,
184
- "aria-describedby": "hueCanvasDesc",
185
- "aria-label": "Hue Selection",
186
- class: "bb-color-palette__hue-canvas",
187
- role: "application",
188
- tabindex: "0",
189
- onKeydown: $,
190
- onPointerdown: U,
191
- onPointermove: G,
192
- onPointerup: W
193
- }, null, 544),
194
- x("span", ae, [
195
- L(y(w(h)("colorInput.hueCanvasDesc")) + " ", 1),
196
- d.value ? (S(), M("span", ne, y(w(h)("colorInput.hueCanvasSelectedHue", d.value)), 1)) : B("", !0)
197
- ])
198
- ], 512));
199
- }
200
- });
10
+ );
11
+ return t;
12
+ };
201
13
  export {
202
- ue as default
14
+ p as useUntil
203
15
  };
@@ -0,0 +1,25 @@
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"
10
+ };
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);
15
+ return {
16
+ value: i(a),
17
+ unit: o
18
+ };
19
+ }
20
+ }
21
+ throw new Error(`Invalid width: ${t}`);
22
+ }
23
+ export {
24
+ s as parseWidthString
25
+ };
package/dist/index255.js CHANGED
@@ -1,137 +1,11 @@
1
- import { defineComponent as A, mergeModels as L, useModel as T, ref as c, computed as a, watch as F, onMounted as S, createBlock as N, openBlock as w, resolveDynamicComponent as U, mergeProps as g, unref as y, withModifiers as h, withCtx as j, createElementVNode as q, createElementBlock as I, createCommentVNode as R, renderSlot as X, nextTick as z } from "vue";
2
- import { useCancelableFunction as G } from "./index347.js";
3
- import { useUntil as H } from "./index258.js";
4
- import { extractDomContainer as x } from "./index259.js";
5
- import { waitFor as J } from "./index348.js";
6
- import { arrow as K, useFloating as O } from "./index349.js";
7
- import { flip as Q, offset as W, shift as Y, hide as Z, autoUpdate as ee } from "./index350.js";
8
- const oe = {
9
- key: 0,
10
- class: "bb-common-popover__bubble"
11
- }, ue = /* @__PURE__ */ A({
12
- __name: "CommonPopover",
13
- props: /* @__PURE__ */ L({
14
- arrowPadding: {},
15
- eager: { type: Boolean },
16
- offset: {},
17
- padding: { default: 0 },
18
- placement: {},
19
- transitionDuration: { default: 250 },
20
- anchor: {},
21
- boundary: {},
22
- dialog: { type: Boolean },
23
- hideArrow: { type: Boolean },
24
- tag: { default: "span" },
25
- flip: { type: Boolean, default: !0 }
26
- }, {
27
- modelValue: { type: Boolean, default: !1 },
28
- modelModifiers: {}
29
- }),
30
- emits: ["update:modelValue"],
31
- setup(m) {
32
- const o = m, r = T(m, "modelValue"), s = c(r.value), C = a(() => o.dialog ? "dialog" : "span"), t = c(), f = c(), _ = a(() => {
33
- const e = o.anchor;
34
- return e && typeof e == "object" && "getBoundingClientRect" in e && !(e instanceof Element) ? e : x(e);
35
- }), B = H(r, { initialValue: o.eager }), P = a(() => {
36
- if (o.boundary)
37
- return typeof o.boundary == "string" ? document.querySelector(o.boundary) ?? void 0 : x(o.boundary) ?? void 0;
38
- }), k = a(() => {
39
- const e = P.value;
40
- return [
41
- ...o.flip ? [Q(e ? { boundary: e } : void 0)] : [],
42
- W(o.offset),
43
- Y({ padding: o.padding, ...e ? { boundary: e } : {} }),
44
- Z(),
45
- ...o.hideArrow ? [] : [
46
- K({
47
- element: f,
48
- padding: o.arrowPadding
49
- })
50
- ]
51
- ];
52
- }), { floatingStyles: E, placement: M, middlewareData: u, update: v } = O(
53
- _,
54
- t,
55
- {
56
- placement: o.placement,
57
- whileElementsMounted: ee,
58
- middleware: k,
59
- strategy: "fixed"
60
- }
61
- ), { execute: b } = G(
62
- ({ signal: e }, n) => new Promise((l) => {
63
- let i;
64
- const p = () => {
65
- i && clearTimeout(i);
66
- };
67
- e.addEventListener("abort", p), n ? ($(), v(), J(() => !!t.value).then(() => {
68
- s.value = !0, e.removeEventListener("abort", p), l(void 0);
69
- })) : (s.value = !1, i = setTimeout(() => {
70
- z(() => {
71
- t.value && (o.dialog ? t.value.close() : t.value.hidePopover()), e.removeEventListener("abort", p), v(), l(void 0);
72
- });
73
- }, o.transitionDuration));
74
- })
75
- ), $ = () => {
76
- if (!t.value) return;
77
- if (!o.dialog) return t.value.showPopover();
78
- t.value.showModal();
79
- };
80
- F(r, b), S(() => {
81
- r.value && b(r.value);
82
- });
83
- const D = a(() => {
84
- const e = r.value ? void 0 : -1, n = Math.round(u.value.arrow?.x ?? 0), l = o.dialog ? void 0 : "manual";
85
- return {
86
- style: {
87
- ...E.value,
88
- "--transition-duration": `${o.transitionDuration}ms`,
89
- "--page-padding": `${o.padding}px`,
90
- "--arrow-offset-x": `${n}px`
91
- },
92
- popover: l,
93
- tabindex: e
94
- };
95
- }), V = a(() => {
96
- if (u.value.arrow) {
97
- const { x: e, y: n } = u.value.arrow;
98
- return {
99
- style: {
100
- left: `${e}px`,
101
- top: `${n}px`
102
- }
103
- };
104
- }
105
- }), d = () => {
106
- r.value = !1;
107
- };
108
- return (e, n) => (w(), N(U(C.value), g({
109
- ref_key: "wrapper",
110
- ref: t,
111
- class: ["bb-common-popover", {
112
- "bb-common-popover--open": s.value,
113
- "bb-common-popover--no-arrow": e.hideArrow,
114
- [`bb-common-popover--${y(M)}`]: !0
115
- }]
116
- }, D.value, {
117
- onClick: h(d, ["self", "stop"]),
118
- onContextmenu: h(d, ["self", "stop", "prevent"]),
119
- onClose: d
120
- }), {
121
- default: j(() => [
122
- q("span", g({
123
- ref_key: "bubblearrow",
124
- ref: f,
125
- class: "bb-common-popover__arrow"
126
- }, V.value), null, 16),
127
- y(B) ? (w(), I("span", oe, [
128
- X(e.$slots, "default")
129
- ])) : R("", !0)
130
- ]),
131
- _: 3
132
- }, 16, ["class"]));
1
+ const o = (n, t) => {
2
+ for (let e = n.length - 1; e >= 0; e--) {
3
+ const i = n[e];
4
+ if (t(i, e, n))
5
+ return e;
133
6
  }
134
- });
7
+ return -1;
8
+ };
135
9
  export {
136
- ue as default
10
+ o as findRightIndex
137
11
  };
@@ -0,0 +1,25 @@
1
+ const e = {
2
+ inert: ":not([inert]):not([inert] *)",
3
+ negTabIndex: ':not([tabindex^="-"])',
4
+ disabled: ":not(:disabled)"
5
+ }, n = [
6
+ `a[href]${e.inert}${e.negTabIndex}`,
7
+ `area[href]${e.inert}${e.negTabIndex}`,
8
+ `input:not([type="hidden"]):not([type="radio"])${e.inert}${e.negTabIndex}${e.disabled}`,
9
+ `input[type="radio"]${e.inert}${e.negTabIndex}${e.disabled}`,
10
+ `select${e.inert}${e.negTabIndex}${e.disabled}`,
11
+ `textarea${e.inert}${e.negTabIndex}${e.disabled}`,
12
+ `button${e.inert}${e.negTabIndex}${e.disabled}`,
13
+ `details${e.inert} > summary:first-of-type${e.negTabIndex}`,
14
+ // Discard until Firefox supports `:has()`
15
+ // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12
16
+ // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,
17
+ `iframe${e.inert}${e.negTabIndex}`,
18
+ `audio[controls]${e.inert}${e.negTabIndex}`,
19
+ `video[controls]${e.inert}${e.negTabIndex}`,
20
+ `[contenteditable]${e.inert}${e.negTabIndex}`,
21
+ `[tabindex]${e.inert}${e.negTabIndex}`
22
+ ];
23
+ export {
24
+ n as default
25
+ };