bitboss-ui 2.1.25 → 2.1.27

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 (172) hide show
  1. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +2 -7
  2. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +2 -7
  3. package/dist/composables/useMinimalQueue.d.ts +9 -0
  4. package/dist/index.css +1 -1
  5. package/dist/index106.js +9 -9
  6. package/dist/index113.js +1 -1
  7. package/dist/index121.js +11 -11
  8. package/dist/index129.js +1 -1
  9. package/dist/index13.js +1 -1
  10. package/dist/index131.js +3 -3
  11. package/dist/index133.js +1 -1
  12. package/dist/index136.js +1 -1
  13. package/dist/index138.js +1 -1
  14. package/dist/index15.js +8 -8
  15. package/dist/index17.js +3 -3
  16. package/dist/index19.js +8 -8
  17. package/dist/index207.js +2 -2
  18. package/dist/index208.js +2 -2
  19. package/dist/index209.js +12 -33
  20. package/dist/index21.js +16 -16
  21. package/dist/index210.js +12 -85
  22. package/dist/index211.js +13 -0
  23. package/dist/index212.js +33 -28
  24. package/dist/index213.js +86 -17
  25. package/dist/index215.js +26 -12
  26. package/dist/index216.js +17 -3
  27. package/dist/index217.js +50 -11
  28. package/dist/index218.js +13 -14
  29. package/dist/index219.js +3 -5
  30. package/dist/index220.js +12 -5
  31. package/dist/index221.js +16 -5
  32. package/dist/index222.js +2 -5
  33. package/dist/index223.js +4 -5
  34. package/dist/index224.js +2 -5
  35. package/dist/index225.js +2 -2
  36. package/dist/index226.js +2 -2
  37. package/dist/index227.js +18 -2
  38. package/dist/index228.js +12 -13
  39. package/dist/index229.js +6 -11
  40. package/dist/index23.js +15 -15
  41. package/dist/index230.js +105 -19
  42. package/dist/index232.js +102 -0
  43. package/dist/index234.js +65 -110
  44. package/dist/index236.js +13 -13
  45. package/dist/index237.js +116 -17
  46. package/dist/index239.js +228 -5
  47. package/dist/index240.js +2 -4
  48. package/dist/index241.js +2 -106
  49. package/dist/index242.js +9 -0
  50. package/dist/index243.js +7 -100
  51. package/dist/index244.js +5 -0
  52. package/dist/index245.js +4 -229
  53. package/dist/index246.js +20 -3
  54. package/dist/index247.js +197 -2
  55. package/dist/index249.js +5 -4
  56. package/dist/index25.js +59 -57
  57. package/dist/index250.js +5 -197
  58. package/dist/index251.js +7 -0
  59. package/dist/index252.js +5 -5
  60. package/dist/index253.js +5 -5
  61. package/dist/index254.js +5 -8
  62. package/dist/index255.js +2 -250
  63. package/dist/index256.js +5 -52
  64. package/dist/index257.js +5 -44
  65. package/dist/index258.js +8 -5
  66. package/dist/index259.js +243 -53
  67. package/dist/index260.js +50 -181
  68. package/dist/index261.js +44 -2
  69. package/dist/index262.js +5 -2
  70. package/dist/index263.js +60 -7
  71. package/dist/index264.js +182 -6
  72. package/dist/index265.js +9 -6
  73. package/dist/index266.js +23 -16
  74. package/dist/index269.js +6 -9
  75. package/dist/index27.js +1 -1
  76. package/dist/index270.js +16 -8
  77. package/dist/index273.js +8 -8
  78. package/dist/index274.js +8 -23
  79. package/dist/index276.js +67 -5
  80. package/dist/index277.js +5 -67
  81. package/dist/index278.js +1 -1
  82. package/dist/index279.js +1 -1
  83. package/dist/index280.js +1 -1
  84. package/dist/index281.js +7 -3
  85. package/dist/index282.js +11 -17
  86. package/dist/index283.js +3 -28
  87. package/dist/index284.js +17 -280
  88. package/dist/index285.js +28 -2
  89. package/dist/index286.js +4 -125
  90. package/dist/index287.js +4 -2
  91. package/dist/index288.js +3 -15
  92. package/dist/index289.js +3 -2
  93. package/dist/index29.js +4 -4
  94. package/dist/index290.js +3 -16
  95. package/dist/index292.js +7 -16
  96. package/dist/index293.js +3 -2
  97. package/dist/index294.js +2 -19
  98. package/dist/index295.js +5 -2
  99. package/dist/index296.js +1 -1
  100. package/dist/index297.js +282 -0
  101. package/dist/index298.js +2 -7
  102. package/dist/index299.js +125 -3
  103. package/dist/index300.js +2 -7
  104. package/dist/index301.js +14 -10
  105. package/dist/index302.js +2 -4
  106. package/dist/index303.js +15 -5
  107. package/dist/index304.js +2 -3
  108. package/dist/index305.js +16 -3
  109. package/dist/index306.js +2 -2
  110. package/dist/index307.js +19 -4
  111. package/dist/index308.js +2 -5
  112. package/dist/index309.js +6 -3
  113. package/dist/index31.js +2 -2
  114. package/dist/index314.js +1 -1
  115. package/dist/index315.js +1 -1
  116. package/dist/index316.js +1 -1
  117. package/dist/index317.js +1 -1
  118. package/dist/index323.js +2 -2
  119. package/dist/index324.js +1 -1
  120. package/dist/index325.js +57 -128
  121. package/dist/index326.js +56 -367
  122. package/dist/index327.js +7 -58
  123. package/dist/index328.js +18 -57
  124. package/dist/index329.js +7 -227
  125. package/dist/index33.js +8 -8
  126. package/dist/index330.js +128 -32
  127. package/dist/index331.js +369 -28
  128. package/dist/index332.js +49 -0
  129. package/dist/index333.js +6 -46
  130. package/dist/index334.js +32 -6
  131. package/dist/index335.js +27 -18
  132. package/dist/index337.js +227 -7
  133. package/dist/index338.js +7 -5
  134. package/dist/index339.js +6 -8
  135. package/dist/index340.js +7 -92
  136. package/dist/index341.js +95 -0
  137. package/dist/index342.js +129 -3
  138. package/dist/index343.js +427 -120
  139. package/dist/index344.js +113 -422
  140. package/dist/index345.js +484 -123
  141. package/dist/index347.js +3 -50
  142. package/dist/index348.js +52 -0
  143. package/dist/index35.js +4 -4
  144. package/dist/index37.js +20 -20
  145. package/dist/index39.js +7 -7
  146. package/dist/index41.js +2 -2
  147. package/dist/index43.js +8 -8
  148. package/dist/index45.js +8 -8
  149. package/dist/index47.js +2 -2
  150. package/dist/index49.js +3 -3
  151. package/dist/index53.js +1 -1
  152. package/dist/index55.js +1 -1
  153. package/dist/index57.js +2 -2
  154. package/dist/index61.js +1 -1
  155. package/dist/index67.js +1 -1
  156. package/dist/index79.js +4 -4
  157. package/dist/index81.js +1 -1
  158. package/dist/index83.js +2 -2
  159. package/dist/index85.js +1 -1
  160. package/dist/index90.js +59 -57
  161. package/dist/index92.js +1 -1
  162. package/dist/index94.js +3 -3
  163. package/dist/index96.js +1 -1
  164. package/package.json +1 -1
  165. package/dist/index214.js +0 -53
  166. package/dist/index231.js +0 -71
  167. package/dist/index233.js +0 -15
  168. package/dist/index238.js +0 -14
  169. package/dist/index248.js +0 -4
  170. package/dist/index291.js +0 -4
  171. package/dist/index336.js +0 -9
  172. package/dist/index346.js +0 -490
package/dist/index218.js CHANGED
@@ -1,18 +1,17 @@
1
- import { isNotNil as n } from "./index140.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;
1
+ import { isNil as f } from "./index241.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
11
13
  };
12
- return a && (u(r), c(async () => {
13
- l.value || await r();
14
- })), { isPrefilling: e, hasPrefilled: l, prefill: r };
15
14
  };
16
15
  export {
17
- h as usePrefill
16
+ a as useCoherence
18
17
  };
package/dist/index219.js CHANGED
@@ -1,7 +1,5 @@
1
- import { getDefaultExportFromCjs as r } from "./index303.js";
2
- import { __require as o } from "./index284.js";
3
- var t = o();
4
- const s = /* @__PURE__ */ r(t);
1
+ import { hash as o } from "./index285.js";
2
+ const t = (r, h = "bb") => `${h}${o(r)}`;
5
3
  export {
6
- s as default
4
+ t as hash
7
5
  };
package/dist/index220.js CHANGED
@@ -1,7 +1,14 @@
1
- import { getDefaultExportFromCjs as r } from "./index303.js";
2
- import { __require as o } from "./index286.js";
3
- var t = o();
4
- const m = /* @__PURE__ */ r(t);
1
+ import { hash as e } from "./index219.js";
2
+ import { debouncedWatch as s } from "./index206.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
+ };
5
12
  export {
6
- m as default
13
+ n as useHashedWatcher
7
14
  };
package/dist/index221.js CHANGED
@@ -1,7 +1,18 @@
1
- import { getDefaultExportFromCjs as r } from "./index303.js";
2
- import { __require as e } from "./index288.js";
3
- var o = e();
4
- const m = /* @__PURE__ */ r(o);
1
+ import { isNotNil as n } from "./index140.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
+ };
5
16
  export {
6
- m as default
17
+ h as usePrefill
7
18
  };
package/dist/index222.js CHANGED
@@ -1,7 +1,4 @@
1
- import { getDefaultExportFromCjs as r } from "./index303.js";
2
- import { __require as e } from "./index290.js";
3
- var t = e();
4
- const m = /* @__PURE__ */ r(t);
1
+ const s = (r) => !!r && !!r.match(/^(#|var\(--|(rgb|hsl)a?\()/);
5
2
  export {
6
- m as default
3
+ s as isCssColor
7
4
  };
package/dist/index223.js CHANGED
@@ -1,7 +1,6 @@
1
- import { getDefaultExportFromCjs as r } from "./index303.js";
2
- import { __require as e } from "./index292.js";
3
- var o = e();
4
- const m = /* @__PURE__ */ r(o);
1
+ import { curry as e } from "./index286.js";
2
+ const t = (n, o, r) => n(r) ? o(r) : r, s = e(t);
5
3
  export {
6
- m as default
4
+ t as baseWhen,
5
+ s as when
7
6
  };
package/dist/index224.js CHANGED
@@ -1,7 +1,4 @@
1
- import { getDefaultExportFromCjs as r } from "./index303.js";
2
- import { __require as t } from "./index294.js";
3
- var o = t();
4
- const a = /* @__PURE__ */ r(o);
1
+ const o = (e) => typeof e == "boolean" ? e : e === "true";
5
2
  export {
6
- a as default
3
+ o as booleanishToBoolean
7
4
  };
package/dist/index225.js CHANGED
@@ -1,4 +1,4 @@
1
- const e = (t) => t;
1
+ const n = (t) => t == null || Number.isNaN(t) || typeof t == "object" && Object.keys(t).length === 0 || typeof t == "string" && t.trim().length === 0 || t instanceof Map && [...t.keys()].length === 0 || t instanceof Set && [...t.keys()].length === 0;
2
2
  export {
3
- e as identity
3
+ n as isEmpty
4
4
  };
package/dist/index226.js CHANGED
@@ -1,4 +1,4 @@
1
- const n = (t) => t == null || Number.isNaN(t) || typeof t == "object" && Object.keys(t).length === 0 || typeof t == "string" && t.trim().length === 0 || t instanceof Map && [...t.keys()].length === 0 || t instanceof Set && [...t.keys()].length === 0;
1
+ const e = (t) => t[t.length - 1];
2
2
  export {
3
- n as isEmpty
3
+ e as last
4
4
  };
package/dist/index227.js CHANGED
@@ -1,4 +1,20 @@
1
- const e = (t) => t[t.length - 1];
1
+ import { isNil as c } from "./index241.js";
2
+ const a = (t, r) => {
3
+ if (!Object.prototype.hasOwnProperty.call(t, r))
4
+ throw new Error(
5
+ `Object ${JSON.stringify(t, null, 2)} has no property named "${r.toString()}"`
6
+ );
7
+ }, l = (t) => typeof t == "string" ? t.toLocaleLowerCase() : JSON.stringify(t).toLowerCase(), y = (t, r, s) => {
8
+ const i = s.toLocaleLowerCase();
9
+ for (let e = 0; e < r.length; e++) {
10
+ const n = r[e];
11
+ a(t, n);
12
+ const o = t[n];
13
+ if (c(o)) continue;
14
+ if (l(o).includes(i)) return !0;
15
+ }
16
+ return !1;
17
+ };
2
18
  export {
3
- e as last
19
+ y as matchAnyKey
4
20
  };
package/dist/index228.js CHANGED
@@ -1,15 +1,14 @@
1
- import { locales as t } from "./index300.js";
2
- import { _config as m } from "./index4.js";
3
- import { get as c } from "./index301.js";
4
- import { readonly as l, computed as n } from "vue";
5
- const p = (o, ...r) => l(
6
- n(() => c(t[m.locale], o).replace(
7
- /\{(\d+)\}/g,
8
- (a, e) => r[e]
9
- ))
10
- ), d = () => ({
11
- t: p
12
- });
1
+ import { ref as t } from "vue";
2
+ const n = () => {
3
+ const e = t([]);
4
+ return { array: e, set: (...r) => {
5
+ e.value = r;
6
+ }, add: (...r) => {
7
+ e.value.push(...r);
8
+ }, remove: (r) => {
9
+ e.value = e.value.filter(r);
10
+ } };
11
+ };
13
12
  export {
14
- d as useLocale
13
+ n as useArray
15
14
  };
package/dist/index229.js CHANGED
@@ -1,13 +1,8 @@
1
- import { ref as a, watch as c, toValue as u } from "vue";
2
- const i = (e, { initialValue: o = !1, nextValue: r = !0 } = {}) => {
3
- const t = a(o), n = c(
4
- () => u(e),
5
- (s) => {
6
- s && (t.value = r, n());
7
- }
8
- );
9
- return t;
10
- };
1
+ const o = (e, t = 50) => new Promise((r) => {
2
+ const n = setInterval(() => {
3
+ e() && (clearInterval(n), r());
4
+ }, t);
5
+ });
11
6
  export {
12
- i as useUntil
7
+ o as waitFor
13
8
  };
package/dist/index23.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import { defineComponent as K, watchEffect as Q, ref as i, computed as g, watch as D, createBlock as C, openBlock as Y, normalizeClass as w, withCtx as s, createElementVNode as n, createVNode as B, createCommentVNode as X, unref as r, withDirectives as x, mergeProps as S, withModifiers as ee, toDisplayString as E, renderSlot as c } from "vue";
2
2
  import { _config as te } from "./index4.js";
3
- import o from "./index219.js";
4
- import ae from "./index220.js";
5
- import oe from "./index221.js";
6
- import ne from "./index222.js";
7
- import re from "./index223.js";
8
- import le from "./index224.js";
9
- import { identity as ie } from "./index225.js";
10
- import { isEmpty as se } from "./index226.js";
11
- import { last as de } from "./index227.js";
3
+ import o from "./index249.js";
4
+ import ae from "./index250.js";
5
+ import oe from "./index251.js";
6
+ import ne from "./index252.js";
7
+ import re from "./index253.js";
8
+ import le from "./index254.js";
9
+ import { identity as ie } from "./index255.js";
10
+ import { isEmpty as se } from "./index225.js";
11
+ import { last as de } from "./index226.js";
12
12
  import { useId as ue } from "./index8.js";
13
- import { useLocale as pe } from "./index228.js";
13
+ import { useLocale as pe } from "./index210.js";
14
14
  import { useMobile as ce } from "./index9.js";
15
- import { useUntil as me } from "./index229.js";
16
- import { vMaska as fe } from "./index230.js";
15
+ import { useUntil as me } from "./index211.js";
16
+ import { vMaska as fe } from "./index246.js";
17
17
  import be from "./index21.js";
18
18
  /* empty css */
19
- import ke from "./index231.js";
19
+ import ke from "./index234.js";
20
20
  /* empty css */
21
- import ge from "./index233.js";
22
- import ye from "./index234.js";
21
+ import ge from "./index236.js";
22
+ import ye from "./index237.js";
23
23
  /* empty css */
24
24
  const ve = { class: "bb-base-date-picker-input__inner-wrapper" }, Ve = ["id", "aria-describedby", "autocomplete", "autofocus", "data-maska", "disabled", "inputmode", "name", "placeholder", "readonly", "required", "value"], he = ["aria-label", "disabled"], Me = ["id"], De = ["inert"], Ze = /* @__PURE__ */ K({
25
25
  __name: "BaseDatePickerInput",
package/dist/index230.js CHANGED
@@ -1,22 +1,108 @@
1
- import { MaskInput as r } from "./index260.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 == null ? void 0 : 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];
1
+ import { defineComponent as y, ref as F, computed as H, watch as N, createElementBlock as L, openBlock as p, Fragment as S, renderList as V, createBlock as A, withModifiers as O, normalizeClass as P, withCtx as $, createTextVNode as z, toDisplayString as D } from "vue";
2
+ import { hash as d } from "./index219.js";
3
+ import { isNil as l } from "./index241.js";
4
+ import E from "./index67.js";
5
+ /* empty css */
6
+ const K = /* @__PURE__ */ y({
7
+ __name: "ChipsBox",
8
+ props: {
9
+ options: {}
10
+ },
11
+ emits: ["option:unselected"],
12
+ setup(f, { expose: v, emit: h }) {
13
+ const t = f, u = h, n = F(null), i = H(() => t.options.some((e) => !e.disabled)), a = (e = 1) => {
14
+ const s = l(n.value) ? -1 : n.value;
15
+ let o = (s + e) % t.options.length;
16
+ for (; t.options[o].disabled && o !== s; )
17
+ o = a(e + 1);
18
+ return o;
19
+ }, x = () => {
20
+ if (!i.value) return;
21
+ const e = a();
22
+ n.value = e;
23
+ }, c = (e = 1) => {
24
+ const s = l(n.value) ? 0 : n.value;
25
+ let o = (s - e + t.options.length) % t.options.length;
26
+ for (; t.options[o].disabled && o !== s; )
27
+ o = c(e + 1);
28
+ return o;
29
+ }, m = async () => {
30
+ if (!i.value) return;
31
+ const e = c();
32
+ n.value = e;
33
+ }, w = () => {
34
+ if (!i.value) return;
35
+ let e = 0;
36
+ for (; t.options[e].disabled; )
37
+ e++;
38
+ n.value = e;
39
+ }, b = () => {
40
+ if (!i.value) return;
41
+ let e = t.options.length - 1;
42
+ for (; t.options[e].disabled && e !== 0; )
43
+ e--;
44
+ n.value = e;
45
+ }, I = () => {
46
+ if (!i.value) return;
47
+ let e = 0;
48
+ for (; !t.options[e].selected && t.options.length !== e; )
49
+ e++;
50
+ n.value = e;
51
+ }, g = () => {
52
+ if (!i.value) return;
53
+ let e = t.options.length - 1;
54
+ for (; t.options[e].selected && e !== 0; )
55
+ e--;
56
+ n.value = e;
57
+ }, _ = (e) => {
58
+ if (!i.value) return;
59
+ const s = t.options.findIndex(
60
+ (o) => o.valueHash === e
61
+ );
62
+ s >= 0 && (n.value = s);
63
+ }, r = () => {
64
+ n.value = null;
65
+ }, k = () => {
66
+ if (l(n.value)) return;
67
+ const e = t.options[n.value];
68
+ e.selected && u("option:unselected", e);
69
+ }, C = () => l(n.value) ? void 0 : t.options[n.value];
70
+ return N(
71
+ () => t.options,
72
+ (e, s) => {
73
+ d(e) !== d(s) && r();
74
+ },
75
+ {
76
+ flush: "post"
77
+ }
78
+ ), v({
79
+ focusNext: x,
80
+ focusPrevious: m,
81
+ focusFirst: w,
82
+ focusFirstSelected: I,
83
+ focusLast: b,
84
+ focusLastSelected: g,
85
+ blur: r,
86
+ confirmOption: k,
87
+ focusByHash: _,
88
+ getHighlighted: C
89
+ }), (e, s) => (p(!0), L(S, null, V(e.options, (o, B) => (p(), A(E, {
90
+ key: o.valueHash,
91
+ class: P({
92
+ "bb-chipsbox-item": !0,
93
+ "bb-chipsbox-item--focused": B === n.value
94
+ }),
95
+ clearable: !0,
96
+ text: o.text,
97
+ "onClick:clear": O((M) => u("option:unselected", o), ["stop"])
98
+ }, {
99
+ default: $(() => [
100
+ z(D(o.text), 1)
101
+ ]),
102
+ _: 2
103
+ }, 1032, ["class", "text", "onClick:clear"]))), 128));
17
104
  }
18
- u.has(t) ? (s = u.get(t)) == null || s.update(e) : u.set(t, new r(t, e));
19
- };
105
+ });
20
106
  export {
21
- k as vMaska
107
+ K as default
22
108
  };
@@ -0,0 +1,102 @@
1
+ import { defineComponent as F, ref as H, computed as L, watch as N, createElementBlock as d, openBlock as v, Fragment as S, renderList as A, withModifiers as O, normalizeClass as P, toDisplayString as V } from "vue";
2
+ import { hash as f } from "./index219.js";
3
+ import { isNil as i } from "./index241.js";
4
+ const z = ["text", "onClick:clear"], j = /* @__PURE__ */ F({
5
+ __name: "CommaBox",
6
+ props: {
7
+ options: {}
8
+ },
9
+ emits: ["option:unselected"],
10
+ setup(m, { expose: h, emit: x }) {
11
+ const t = m, a = x, n = H(null), l = L(() => t.options.some((e) => !e.disabled)), u = (e = 1) => {
12
+ const s = i(n.value) ? -1 : n.value;
13
+ let o = (s + e) % t.options.length;
14
+ for (; t.options[o].disabled && o !== s; )
15
+ o = u(e + 1);
16
+ return o;
17
+ }, b = () => {
18
+ if (!l.value) return;
19
+ const e = u();
20
+ n.value = e;
21
+ }, c = (e = 1) => {
22
+ const s = i(n.value) ? 0 : n.value;
23
+ let o = (s - e + t.options.length) % t.options.length;
24
+ for (; t.options[o].disabled && o !== s; )
25
+ o = c(e + 1);
26
+ return o;
27
+ }, w = async () => {
28
+ if (!l.value) return;
29
+ const e = c();
30
+ n.value = e;
31
+ }, I = () => {
32
+ if (!l.value) return;
33
+ let e = 0;
34
+ for (; t.options[e].disabled; )
35
+ e++;
36
+ n.value = e;
37
+ }, g = () => {
38
+ if (!l.value) return;
39
+ let e = t.options.length - 1;
40
+ for (; t.options[e].disabled && e !== 0; )
41
+ e--;
42
+ n.value = e;
43
+ }, k = () => {
44
+ if (!l.value) return;
45
+ let e = 0;
46
+ for (; !t.options[e].selected && t.options.length !== e; )
47
+ e++;
48
+ n.value = e;
49
+ }, _ = () => {
50
+ if (!l.value) return;
51
+ let e = t.options.length - 1;
52
+ for (; t.options[e].selected && e !== 0; )
53
+ e--;
54
+ n.value = e;
55
+ }, C = (e) => {
56
+ if (!l.value) return;
57
+ const s = t.options.findIndex(
58
+ (o) => o.valueHash === e
59
+ );
60
+ s >= 0 && (n.value = s);
61
+ }, r = () => {
62
+ n.value = null;
63
+ }, y = () => {
64
+ if (i(n.value)) return;
65
+ const e = t.options[n.value];
66
+ e.selected && a("option:unselected", e);
67
+ }, B = () => i(n.value) ? void 0 : t.options[n.value];
68
+ return N(
69
+ () => t.options,
70
+ (e, s) => {
71
+ f(e) !== f(s) && r();
72
+ },
73
+ {
74
+ flush: "post"
75
+ }
76
+ ), h({
77
+ focusNext: b,
78
+ focusPrevious: w,
79
+ focusFirst: I,
80
+ focusFirstSelected: k,
81
+ focusLast: g,
82
+ focusLastSelected: _,
83
+ blur: r,
84
+ confirmOption: y,
85
+ focusByHash: C,
86
+ getHighlighted: B
87
+ }), (e, s) => (v(!0), d(S, null, A(e.options, (o, p) => (v(), d("span", {
88
+ key: o.valueHash,
89
+ class: P({
90
+ "bb-commabox-item": !0,
91
+ "bb-commabox-item--focused": p === n.value,
92
+ "bb-commabox-item--has-comma": p !== e.options.length - 1
93
+ }),
94
+ clearable: !0,
95
+ text: o.text,
96
+ "onClick:clear": O((D) => a("option:unselected", o), ["stop"])
97
+ }, V(o.text), 43, z))), 128));
98
+ }
99
+ });
100
+ export {
101
+ j as default
102
+ };