bitboss-ui 2.0.62 → 2.0.63

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 (142) hide show
  1. package/dist/index110.js +5 -5
  2. package/dist/index118.js +1 -1
  3. package/dist/index120.js +4 -4
  4. package/dist/index122.js +1 -1
  5. package/dist/index126.js +1 -1
  6. package/dist/index127.js +1 -1
  7. package/dist/index128.js +1 -1
  8. package/dist/index13.js +39 -38
  9. package/dist/index130.js +1 -1
  10. package/dist/index133.js +2 -2
  11. package/dist/index15.js +4 -4
  12. package/dist/index17.js +3 -3
  13. package/dist/index19.js +2 -2
  14. package/dist/index205.js +3 -2
  15. package/dist/index206.js +3 -162
  16. package/dist/index207.js +41 -84
  17. package/dist/index208.js +8 -0
  18. package/dist/index209.js +7 -53
  19. package/dist/index21.js +9 -9
  20. package/dist/index210.js +10 -0
  21. package/dist/index211.js +2 -13
  22. package/dist/index212.js +4 -3
  23. package/dist/index213.js +2 -20
  24. package/dist/index214.js +2 -4
  25. package/dist/index215.js +4 -4
  26. package/dist/index216.js +2 -2
  27. package/dist/index217.js +2 -2
  28. package/dist/index218.js +3 -3
  29. package/dist/index219.js +2 -2
  30. package/dist/index220.js +2 -2
  31. package/dist/index223.js +20 -41
  32. package/dist/index224.js +52 -5
  33. package/dist/index226.js +13 -369
  34. package/dist/index227.js +5 -8
  35. package/dist/index228.js +369 -2
  36. package/dist/index229.js +19 -4
  37. package/dist/index23.js +7 -7
  38. package/dist/index230.js +27 -2
  39. package/dist/index231.js +3 -19
  40. package/dist/index232.js +247 -25
  41. package/dist/index233.js +52 -3
  42. package/dist/index234.js +36 -241
  43. package/dist/index235.js +5 -52
  44. package/dist/index236.js +35 -30
  45. package/dist/index237.js +4 -5
  46. package/dist/index238.js +161 -48
  47. package/dist/index239.js +84 -3
  48. package/dist/index241.js +2 -2
  49. package/dist/index242.js +2 -18
  50. package/dist/index243.js +17 -105
  51. package/dist/index244.js +108 -0
  52. package/dist/{index245.js → index246.js} +1 -1
  53. package/dist/index25.js +5 -5
  54. package/dist/index250.js +224 -3
  55. package/dist/index251.js +6 -9
  56. package/dist/index252.js +16 -23
  57. package/dist/index253.js +3 -6
  58. package/dist/index254.js +8 -15
  59. package/dist/index255.js +23 -9
  60. package/dist/index256.js +431 -3
  61. package/dist/index257.js +88 -11
  62. package/dist/index258.js +4 -9
  63. package/dist/index259.js +9 -9
  64. package/dist/index260.js +197 -14
  65. package/dist/index261.js +280 -3
  66. package/dist/index262.js +6 -3
  67. package/dist/index263.js +4 -0
  68. package/dist/index264.js +2 -7
  69. package/dist/index265.js +2 -224
  70. package/dist/index266.js +2 -176
  71. package/dist/index267.js +2 -281
  72. package/dist/index268.js +125 -5
  73. package/dist/index269.js +176 -2
  74. package/dist/index27.js +1 -1
  75. package/dist/index270.js +3 -2
  76. package/dist/index272.js +7 -2
  77. package/dist/index273.js +22 -2
  78. package/dist/index275.js +2 -431
  79. package/dist/index276.js +2 -22
  80. package/dist/index277.js +4 -0
  81. package/dist/index278.js +2 -4
  82. package/dist/index279.js +2 -436
  83. package/dist/index280.js +2 -127
  84. package/dist/index281.js +25 -197
  85. package/dist/index282.js +22 -2
  86. package/dist/index284.js +2 -2
  87. package/dist/index285.js +9 -2
  88. package/dist/index286.js +66 -2
  89. package/dist/index287.js +5 -2
  90. package/dist/index288.js +431 -23
  91. package/dist/index289.js +126 -21
  92. package/dist/index29.js +3 -3
  93. package/dist/index290.js +5 -0
  94. package/dist/index291.js +11 -88
  95. package/dist/index292.js +9 -3
  96. package/dist/index293.js +17 -3
  97. package/dist/index294.js +4 -211
  98. package/dist/index295.js +3 -2
  99. package/dist/index296.js +3 -5
  100. package/dist/index297.js +204 -59
  101. package/dist/index298.js +5 -4
  102. package/dist/index299.js +8 -4
  103. package/dist/index300.js +3 -58
  104. package/dist/index301.js +4 -79
  105. package/dist/index302.js +6 -0
  106. package/dist/index303.js +58 -32
  107. package/dist/index304.js +79 -5
  108. package/dist/index306.js +2 -4
  109. package/dist/index307.js +32 -10
  110. package/dist/index308.js +10 -6
  111. package/dist/index309.js +5 -17
  112. package/dist/index31.js +2 -2
  113. package/dist/index310.js +6 -6
  114. package/dist/index311.js +17 -45
  115. package/dist/index312.js +47 -2
  116. package/dist/index313.js +1 -1
  117. package/dist/index33.js +2 -2
  118. package/dist/index35.js +2 -2
  119. package/dist/index37.js +11 -11
  120. package/dist/index39.js +4 -4
  121. package/dist/index41.js +2 -2
  122. package/dist/index43.js +2 -2
  123. package/dist/index45.js +5 -5
  124. package/dist/index47.js +2 -2
  125. package/dist/index49.js +2 -2
  126. package/dist/index55.js +1 -1
  127. package/dist/index57.js +1 -1
  128. package/dist/index75.js +3 -3
  129. package/dist/index79.js +2 -2
  130. package/dist/index81.js +1 -1
  131. package/dist/index84.js +2 -2
  132. package/dist/index86.js +1 -1
  133. package/dist/index88.js +3 -3
  134. package/dist/index90.js +1 -1
  135. package/package.json +1 -1
  136. package/dist/index225.js +0 -7
  137. package/dist/index240.js +0 -9
  138. package/dist/index247.js +0 -4
  139. package/dist/index271.js +0 -4
  140. package/dist/index274.js +0 -128
  141. package/dist/index283.js +0 -4
  142. package/dist/index305.js +0 -10
package/dist/index291.js CHANGED
@@ -1,91 +1,14 @@
1
- import { getDefaultExportFromCjs as M, commonjsGlobal as b } from "./index268.js";
2
- var k = "Expected a function", E = NaN, N = "[object Symbol]", $ = /^\s+|\s+$/g, A = /^[-+]0x[0-9a-f]+$/i, B = /^0b[01]+$/i, R = /^0o[0-7]+$/i, _ = parseInt, D = typeof b == "object" && b && b.Object === Object && b, G = typeof self == "object" && self && self.Object === Object && self, P = D || G || Function("return this")(), H = Object.prototype, U = H.toString, X = Math.max, q = Math.min, v = function() {
3
- return P.Date.now();
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
+ } };
4
11
  };
5
- function z(e, n, r) {
6
- var f, a, m, u, i, c, s = 0, x = !1, l = !1, j = !0;
7
- if (typeof e != "function")
8
- throw new TypeError(k);
9
- n = S(n) || 0, y(r) && (x = !!r.leading, l = "maxWait" in r, m = l ? X(S(r.maxWait) || 0, n) : m, j = "trailing" in r ? !!r.trailing : j);
10
- function p(t) {
11
- var o = f, d = a;
12
- return f = a = void 0, s = t, u = e.apply(d, o), u;
13
- }
14
- function C(t) {
15
- return s = t, i = setTimeout(g, n), x ? p(t) : u;
16
- }
17
- function L(t) {
18
- var o = t - c, d = t - s, O = n - o;
19
- return l ? q(O, m - d) : O;
20
- }
21
- function h(t) {
22
- var o = t - c, d = t - s;
23
- return c === void 0 || o >= n || o < 0 || l && d >= m;
24
- }
25
- function g() {
26
- var t = v();
27
- if (h(t))
28
- return I(t);
29
- i = setTimeout(g, L(t));
30
- }
31
- function I(t) {
32
- return i = void 0, j && f ? p(t) : (f = a = void 0, u);
33
- }
34
- function W() {
35
- i !== void 0 && clearTimeout(i), s = 0, f = c = a = i = void 0;
36
- }
37
- function F() {
38
- return i === void 0 ? u : I(v());
39
- }
40
- function T() {
41
- var t = v(), o = h(t);
42
- if (f = arguments, a = this, c = t, o) {
43
- if (i === void 0)
44
- return C(c);
45
- if (l)
46
- return i = setTimeout(g, n), p(c);
47
- }
48
- return i === void 0 && (i = setTimeout(g, n)), u;
49
- }
50
- return T.cancel = W, T.flush = F, T;
51
- }
52
- function J(e, n, r) {
53
- var f = !0, a = !0;
54
- if (typeof e != "function")
55
- throw new TypeError(k);
56
- return y(r) && (f = "leading" in r ? !!r.leading : f, a = "trailing" in r ? !!r.trailing : a), z(e, n, {
57
- leading: f,
58
- maxWait: n,
59
- trailing: a
60
- });
61
- }
62
- function y(e) {
63
- var n = typeof e;
64
- return !!e && (n == "object" || n == "function");
65
- }
66
- function K(e) {
67
- return !!e && typeof e == "object";
68
- }
69
- function Q(e) {
70
- return typeof e == "symbol" || K(e) && U.call(e) == N;
71
- }
72
- function S(e) {
73
- if (typeof e == "number")
74
- return e;
75
- if (Q(e))
76
- return E;
77
- if (y(e)) {
78
- var n = typeof e.valueOf == "function" ? e.valueOf() : e;
79
- e = y(n) ? n + "" : n;
80
- }
81
- if (typeof e != "string")
82
- return e === 0 ? e : +e;
83
- e = e.replace($, "");
84
- var r = B.test(e);
85
- return r || R.test(e) ? _(e.slice(2), r ? 2 : 8) : A.test(e) ? E : +e;
86
- }
87
- var V = J;
88
- const Z = /* @__PURE__ */ M(V);
89
12
  export {
90
- Z as default
13
+ n as useArray
91
14
  };
package/dist/index292.js CHANGED
@@ -1,5 +1,11 @@
1
- import o from "./index243.js";
2
- /* empty css */
1
+ function u(e, i) {
2
+ const n = /* @__PURE__ */ new Set(), s = [];
3
+ for (let t = 0; t < e.length; t++) {
4
+ const o = e[t], c = i(o);
5
+ n.has(c) || (n.add(c), s.push(o));
6
+ }
7
+ return s;
8
+ }
3
9
  export {
4
- o as default
10
+ u as uniqBy
5
11
  };
package/dist/index293.js CHANGED
@@ -1,5 +1,19 @@
1
- import o from "./index245.js";
2
- /* empty css */
1
+ import { get as t } from "./index308.js";
2
+ const o = () => ({
3
+ getItemText(r, n) {
4
+ if (typeof r == "string" && !n) return r;
5
+ if (n) {
6
+ if (typeof n == "function") {
7
+ let f = n(r);
8
+ return typeof f != "string" && (f = JSON.stringify(f)), f;
9
+ } else if (typeof n == "string") {
10
+ const f = t(r, n);
11
+ return typeof f == "string" ? f : JSON.stringify(f);
12
+ }
13
+ }
14
+ return JSON.stringify(r);
15
+ }
16
+ });
3
17
  export {
4
- o as default
18
+ o as useItemText
5
19
  };
package/dist/index294.js CHANGED
@@ -1,213 +1,6 @@
1
- import { defineComponent as K, ref as b, computed as m, watch as N, openBlock as r, createElementBlock as c, normalizeClass as $, normalizeStyle as h, withModifiers as Q, createElementVNode as x, renderSlot as v, createTextVNode as D, toDisplayString as g, Fragment as U, renderList as X } from "vue";
2
- import { isNil as f } from "./index129.js";
3
- import { useVirtualizer as Z } from "./index311.js";
4
- import { isNotNil as ee } from "./index134.js";
5
- import { hash as H } from "./index233.js";
6
- const te = { class: "bb-listbox__outer-container scrollbar-border" }, oe = {
7
- key: 0,
8
- class: "bb-listbox__loading"
9
- }, ne = {
10
- key: 1,
11
- class: "bb-listbox__no-data"
12
- }, le = ["aria-selected", "data-index"], ie = { class: "autocomplete-option__content" }, se = { class: "autocomplete-option__label" }, pe = /* @__PURE__ */ K({
13
- __name: "ListBox",
14
- props: {
15
- options: {},
16
- open: { type: Boolean },
17
- loading: { type: Boolean },
18
- transitionDuration: { default: 250 },
19
- loadingText: { default: "Caricamento..." },
20
- noDataText: { default: "Nessun elemento da visualizzare" }
21
- },
22
- emits: ["option:selected", "option:unselected"],
23
- setup(T, { expose: V, emit: B }) {
24
- const o = T, _ = B, s = b(null), C = (e) => "option_" + JSON.stringify(e).replace(/\W/g, "_"), i = m(
25
- () => o.options.map((e) => ({ ...e, id: C(e.value) }))
26
- ), p = Z({
27
- get count() {
28
- return o.options.length;
29
- },
30
- getScrollElement: () => s.value,
31
- estimateSize: () => 42,
32
- overscan: 5
33
- }), L = (e) => {
34
- e && p.value.measureElement(e);
35
- }, O = m(() => p.value.getVirtualItems()), F = m(() => p.value.getTotalSize()), n = b(null), a = m(
36
- () => o.open && o.options.some((e) => !e.disabled)
37
- ), y = (e = 1) => {
38
- const l = f(n.value) ? -1 : n.value;
39
- let t = (l + e) % o.options.length;
40
- for (; o.options[t].disabled && t !== l; )
41
- t = y(e + 1);
42
- return t;
43
- }, M = () => {
44
- if (!a.value) return;
45
- const e = y();
46
- n.value = e, u();
47
- }, I = (e = 1) => {
48
- const l = f(n.value) ? 0 : n.value;
49
- let t = (l - e + o.options.length) % o.options.length;
50
- for (; o.options[t].disabled && t !== l; )
51
- t = I(e + 1);
52
- return t;
53
- }, A = async () => {
54
- if (!a.value) return;
55
- const e = I();
56
- n.value = e, u();
57
- }, P = () => {
58
- if (!a.value) return;
59
- let e = 0;
60
- for (; o.options[e].disabled; )
61
- e++;
62
- n.value = e, u();
63
- }, R = () => {
64
- if (!a.value) return;
65
- let e = o.options.length - 1;
66
- for (; o.options[e].disabled && e !== 0; )
67
- e--;
68
- n.value = e, u();
69
- }, q = () => {
70
- if (!a.value) return;
71
- let e = 0;
72
- for (; o.options[e] && !o.options[e].selected && o.options.length !== e; )
73
- e++;
74
- n.value = e % o.options.length, u();
75
- }, J = () => {
76
- if (!a.value) return;
77
- let e = o.options.length - 1;
78
- for (; o.options[e].selected && e > 0; )
79
- e--;
80
- n.value = e === -1 ? o.options.length - 1 : e, u();
81
- }, W = (e) => {
82
- if (!a.value) return;
83
- const l = o.options.findIndex(
84
- (t) => t.valueHash === e
85
- );
86
- l >= 0 && (n.value = l), u();
87
- }, S = () => {
88
- n.value = null;
89
- }, u = () => {
90
- s.value && ee(n.value) && p.value.scrollToIndex(n.value, {
91
- align: "center",
92
- behavior: "smooth"
93
- });
94
- }, k = () => {
95
- if (f(n.value) || !o.open) return;
96
- const e = o.options[n.value];
97
- e.selected ? _("option:unselected", e) : _("option:selected", e);
98
- }, w = b(0), z = () => {
99
- s.value && (w.value = s.value.scrollHeight);
100
- }, Y = (e) => !e.disabled, j = (e) => {
101
- if (e.preventDefault(), s.value && e.target && e.target instanceof HTMLElement) {
102
- if (!s.value.querySelector('[role="listbox"]'))
103
- throw new Error("Could not find listbox in DOM tree.");
104
- let t = e.target, d = t.dataset.index;
105
- for (; f(d) && t.parentElement; )
106
- t = t.parentElement, d = t.dataset.index;
107
- if (d) {
108
- const E = o.options[+d];
109
- E && Y(E) && (n.value = +d, k());
110
- }
111
- }
112
- }, G = () => f(n.value) ? void 0 : o.options[n.value];
113
- return N(
114
- () => o.open,
115
- () => {
116
- z();
117
- },
118
- { flush: "post" }
119
- ), N(
120
- () => o.options,
121
- (e, l) => {
122
- H(e.map((t) => t.valueHash)) !== H(l.map((t) => t.valueHash)) && (p.value.calculateRange(), z(), S());
123
- },
124
- {
125
- flush: "post"
126
- }
127
- ), V({
128
- focusNext: M,
129
- focusPrevious: A,
130
- focusFirst: P,
131
- focusFirstSelected: q,
132
- focusLast: R,
133
- focusLastSelected: J,
134
- blur: S,
135
- confirmOption: k,
136
- focusByHash: W,
137
- getHighlighted: G
138
- }), (e, l) => (r(), c("div", {
139
- class: $(["bb-listbox", {
140
- "bb-listbox--open": e.open,
141
- "bb-listbox--loading": e.loading,
142
- "bb-listbox--no-data": !i.value.length
143
- }]),
144
- style: h({
145
- "--transition-duration": `${e.transitionDuration}ms`,
146
- "--overlay-min-height": `${w.value}px`
147
- }),
148
- onClick: Q(j, ["stop"])
149
- }, [
150
- x("div", te, [
151
- x("div", {
152
- ref_key: "inner",
153
- ref: s,
154
- class: "bb-listbox__inner-container"
155
- }, [
156
- v(e.$slots, "options:prepend"),
157
- e.loading && !e.options.length ? (r(), c("div", oe, [
158
- v(e.$slots, "loading", {}, () => [
159
- D(g(e.loadingText), 1)
160
- ])
161
- ])) : e.options.length ? (r(), c("div", {
162
- key: 2,
163
- role: "listbox",
164
- style: h({
165
- height: `${F.value}px`
166
- }),
167
- tabindex: "-1"
168
- }, [
169
- (r(!0), c(U, null, X(O.value, (t, d) => (r(), c("div", {
170
- key: i.value[t.index].value,
171
- ref_for: !0,
172
- ref: L,
173
- "aria-selected": n.value === d ? !0 : void 0,
174
- class: $({
175
- "bb-listbox__option autocomplete-option": !0,
176
- "autocomplete-option--focused": n.value === t.index,
177
- "autocomplete-option--selected": i.value[t.index].selected,
178
- "autocomplete-option--disabled": i.value[t.index].disabled
179
- }),
180
- "data-index": t.index,
181
- role: "option",
182
- style: h({
183
- transform: `translateY(${t.start}px)`
184
- })
185
- }, [
186
- x("span", ie, [
187
- v(e.$slots, "option", {
188
- disabled: !!i.value[t.index].disabled,
189
- focused: n.value === t.index,
190
- index: t.index,
191
- item: i.value[t.index].item,
192
- selected: !!i.value[t.index].selected,
193
- text: i.value[t.index].text,
194
- value: i.value[t.index].value
195
- }, () => [
196
- x("span", se, g(i.value[t.index].text), 1)
197
- ])
198
- ])
199
- ], 14, le))), 128))
200
- ], 4)) : (r(), c("div", ne, [
201
- v(e.$slots, "no-data", {}, () => [
202
- D(g(e.noDataText), 1)
203
- ])
204
- ])),
205
- v(e.$slots, "options:append")
206
- ], 512)
207
- ])
208
- ], 6));
209
- }
210
- });
1
+ function u(...e) {
2
+ return (r) => e.reduce((n, t) => t(n), r);
3
+ }
211
4
  export {
212
- pe as default
5
+ u as pipe
213
6
  };
package/dist/index295.js CHANGED
@@ -1,4 +1,5 @@
1
- const t = (d, o) => +d + +o;
1
+ import o from "./index244.js";
2
+ /* empty css */
2
3
  export {
3
- t as add
4
+ o as default
4
5
  };
package/dist/index296.js CHANGED
@@ -1,7 +1,5 @@
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();
1
+ import o from "./index246.js";
2
+ /* empty css */
5
3
  export {
6
- o as flattenTree
4
+ o as default
7
5
  };
package/dist/index297.js CHANGED
@@ -1,68 +1,213 @@
1
- import { defineComponent as d, openBlock as s, createElementBlock as i, normalizeClass as b, createElementVNode as t, createBlock as l, createCommentVNode as o, toDisplayString as n, withCtx as u } from "vue";
2
- import g from "./index13.js";
3
- /* empty css */
4
- import h from "./index126.js";
5
- /* empty css */
6
- const k = { class: "bb-toast-message__icon-container" }, f = { class: "bb-toast-message__content" }, C = {
1
+ import { defineComponent as K, ref as b, computed as m, watch as N, openBlock as r, createElementBlock as c, normalizeClass as $, normalizeStyle as h, withModifiers as Q, createElementVNode as x, renderSlot as v, createTextVNode as D, toDisplayString as g, Fragment as U, renderList as X } from "vue";
2
+ import { isNil as f } from "./index129.js";
3
+ import { useVirtualizer as Z } from "./index312.js";
4
+ import { isNotNil as ee } from "./index134.js";
5
+ import { hash as H } from "./index231.js";
6
+ const te = { class: "bb-listbox__outer-container scrollbar-border" }, oe = {
7
7
  key: 0,
8
- class: "bb-toast-message__title"
9
- }, w = { class: "bb-toast-message__text" }, E = /* @__PURE__ */ d({
10
- __name: "BbToastMessage",
8
+ class: "bb-listbox__loading"
9
+ }, ne = {
10
+ key: 1,
11
+ class: "bb-listbox__no-data"
12
+ }, le = ["aria-selected", "data-index"], ie = { class: "autocomplete-option__content" }, se = { class: "autocomplete-option__label" }, pe = /* @__PURE__ */ K({
13
+ __name: "ListBox",
11
14
  props: {
12
- title: {},
13
- text: {},
14
- icon: {},
15
- theme: { default: "default" },
16
- id: {},
17
- showClose: { type: Boolean }
15
+ options: {},
16
+ open: { type: Boolean },
17
+ loading: { type: Boolean },
18
+ transitionDuration: { default: 250 },
19
+ loadingText: { default: "Caricamento..." },
20
+ noDataText: { default: "Nessun elemento da visualizzare" }
18
21
  },
19
- emits: ["click:close"],
20
- setup(r, { emit: c }) {
21
- const m = r, p = c, _ = () => {
22
- p("click:close", m.id);
23
- };
24
- return (e, a) => (s(), i("div", {
25
- "aria-atomic": "true",
26
- "aria-live": "polite",
27
- "aria-role": "alert",
28
- class: b(["bb-toast-message", { [`bb-toast-message--${e.theme}`]: e.theme }])
22
+ emits: ["option:selected", "option:unselected"],
23
+ setup(T, { expose: V, emit: B }) {
24
+ const o = T, _ = B, s = b(null), C = (e) => "option_" + JSON.stringify(e).replace(/\W/g, "_"), i = m(
25
+ () => o.options.map((e) => ({ ...e, id: C(e.value) }))
26
+ ), p = Z({
27
+ get count() {
28
+ return o.options.length;
29
+ },
30
+ getScrollElement: () => s.value,
31
+ estimateSize: () => 42,
32
+ overscan: 5
33
+ }), L = (e) => {
34
+ e && p.value.measureElement(e);
35
+ }, O = m(() => p.value.getVirtualItems()), F = m(() => p.value.getTotalSize()), n = b(null), a = m(
36
+ () => o.open && o.options.some((e) => !e.disabled)
37
+ ), y = (e = 1) => {
38
+ const l = f(n.value) ? -1 : n.value;
39
+ let t = (l + e) % o.options.length;
40
+ for (; o.options[t].disabled && t !== l; )
41
+ t = y(e + 1);
42
+ return t;
43
+ }, M = () => {
44
+ if (!a.value) return;
45
+ const e = y();
46
+ n.value = e, u();
47
+ }, I = (e = 1) => {
48
+ const l = f(n.value) ? 0 : n.value;
49
+ let t = (l - e + o.options.length) % o.options.length;
50
+ for (; o.options[t].disabled && t !== l; )
51
+ t = I(e + 1);
52
+ return t;
53
+ }, A = async () => {
54
+ if (!a.value) return;
55
+ const e = I();
56
+ n.value = e, u();
57
+ }, P = () => {
58
+ if (!a.value) return;
59
+ let e = 0;
60
+ for (; o.options[e].disabled; )
61
+ e++;
62
+ n.value = e, u();
63
+ }, R = () => {
64
+ if (!a.value) return;
65
+ let e = o.options.length - 1;
66
+ for (; o.options[e].disabled && e !== 0; )
67
+ e--;
68
+ n.value = e, u();
69
+ }, q = () => {
70
+ if (!a.value) return;
71
+ let e = 0;
72
+ for (; o.options[e] && !o.options[e].selected && o.options.length !== e; )
73
+ e++;
74
+ n.value = e % o.options.length, u();
75
+ }, J = () => {
76
+ if (!a.value) return;
77
+ let e = o.options.length - 1;
78
+ for (; o.options[e].selected && e > 0; )
79
+ e--;
80
+ n.value = e === -1 ? o.options.length - 1 : e, u();
81
+ }, W = (e) => {
82
+ if (!a.value) return;
83
+ const l = o.options.findIndex(
84
+ (t) => t.valueHash === e
85
+ );
86
+ l >= 0 && (n.value = l), u();
87
+ }, S = () => {
88
+ n.value = null;
89
+ }, u = () => {
90
+ s.value && ee(n.value) && p.value.scrollToIndex(n.value, {
91
+ align: "center",
92
+ behavior: "smooth"
93
+ });
94
+ }, k = () => {
95
+ if (f(n.value) || !o.open) return;
96
+ const e = o.options[n.value];
97
+ e.selected ? _("option:unselected", e) : _("option:selected", e);
98
+ }, w = b(0), z = () => {
99
+ s.value && (w.value = s.value.scrollHeight);
100
+ }, Y = (e) => !e.disabled, j = (e) => {
101
+ if (e.preventDefault(), s.value && e.target && e.target instanceof HTMLElement) {
102
+ if (!s.value.querySelector('[role="listbox"]'))
103
+ throw new Error("Could not find listbox in DOM tree.");
104
+ let t = e.target, d = t.dataset.index;
105
+ for (; f(d) && t.parentElement; )
106
+ t = t.parentElement, d = t.dataset.index;
107
+ if (d) {
108
+ const E = o.options[+d];
109
+ E && Y(E) && (n.value = +d, k());
110
+ }
111
+ }
112
+ }, G = () => f(n.value) ? void 0 : o.options[n.value];
113
+ return N(
114
+ () => o.open,
115
+ () => {
116
+ z();
117
+ },
118
+ { flush: "post" }
119
+ ), N(
120
+ () => o.options,
121
+ (e, l) => {
122
+ H(e.map((t) => t.valueHash)) !== H(l.map((t) => t.valueHash)) && (p.value.calculateRange(), z(), S());
123
+ },
124
+ {
125
+ flush: "post"
126
+ }
127
+ ), V({
128
+ focusNext: M,
129
+ focusPrevious: A,
130
+ focusFirst: P,
131
+ focusFirstSelected: q,
132
+ focusLast: R,
133
+ focusLastSelected: J,
134
+ blur: S,
135
+ confirmOption: k,
136
+ focusByHash: W,
137
+ getHighlighted: G
138
+ }), (e, l) => (r(), c("div", {
139
+ class: $(["bb-listbox", {
140
+ "bb-listbox--open": e.open,
141
+ "bb-listbox--loading": e.loading,
142
+ "bb-listbox--no-data": !i.value.length
143
+ }]),
144
+ style: h({
145
+ "--transition-duration": `${e.transitionDuration}ms`,
146
+ "--overlay-min-height": `${w.value}px`
147
+ }),
148
+ onClick: Q(j, ["stop"])
29
149
  }, [
30
- t("div", k, [
31
- e.icon ? (s(), l(h, {
32
- key: 0,
33
- class: "bb-toast-message__icon",
34
- type: e.icon
35
- }, null, 8, ["type"])) : o("", !0)
36
- ]),
37
- t("div", f, [
38
- e.title ? (s(), i("p", C, n(e.title), 1)) : o("", !0),
39
- t("p", w, n(e.text), 1)
40
- ]),
41
- e.showClose ? (s(), l(g, {
42
- key: 0,
43
- "aria-label": "Chiudi",
44
- class: "bb-toast-message__close",
45
- onClick: _
46
- }, {
47
- default: u(() => a[0] || (a[0] = [
48
- t("svg", {
49
- fill: "none",
50
- viewBox: "0 0 24 24",
51
- xmlns: "http://www.w3.org/2000/svg"
150
+ x("div", te, [
151
+ x("div", {
152
+ ref_key: "inner",
153
+ ref: s,
154
+ class: "bb-listbox__inner-container"
155
+ }, [
156
+ v(e.$slots, "options:prepend"),
157
+ e.loading && !e.options.length ? (r(), c("div", oe, [
158
+ v(e.$slots, "loading", {}, () => [
159
+ D(g(e.loadingText), 1)
160
+ ])
161
+ ])) : e.options.length ? (r(), c("div", {
162
+ key: 2,
163
+ role: "listbox",
164
+ style: h({
165
+ height: `${F.value}px`
166
+ }),
167
+ tabindex: "-1"
52
168
  }, [
53
- t("path", {
54
- d: "M23 23L1 1M23 1L1 23",
55
- stroke: "currentColor",
56
- "stroke-linecap": "round",
57
- "stroke-width": "2"
58
- })
59
- ], -1)
60
- ])),
61
- _: 1
62
- })) : o("", !0)
63
- ], 2));
169
+ (r(!0), c(U, null, X(O.value, (t, d) => (r(), c("div", {
170
+ key: i.value[t.index].value,
171
+ ref_for: !0,
172
+ ref: L,
173
+ "aria-selected": n.value === d ? !0 : void 0,
174
+ class: $({
175
+ "bb-listbox__option autocomplete-option": !0,
176
+ "autocomplete-option--focused": n.value === t.index,
177
+ "autocomplete-option--selected": i.value[t.index].selected,
178
+ "autocomplete-option--disabled": i.value[t.index].disabled
179
+ }),
180
+ "data-index": t.index,
181
+ role: "option",
182
+ style: h({
183
+ transform: `translateY(${t.start}px)`
184
+ })
185
+ }, [
186
+ x("span", ie, [
187
+ v(e.$slots, "option", {
188
+ disabled: !!i.value[t.index].disabled,
189
+ focused: n.value === t.index,
190
+ index: t.index,
191
+ item: i.value[t.index].item,
192
+ selected: !!i.value[t.index].selected,
193
+ text: i.value[t.index].text,
194
+ value: i.value[t.index].value
195
+ }, () => [
196
+ x("span", se, g(i.value[t.index].text), 1)
197
+ ])
198
+ ])
199
+ ], 14, le))), 128))
200
+ ], 4)) : (r(), c("div", ne, [
201
+ v(e.$slots, "no-data", {}, () => [
202
+ D(g(e.noDataText), 1)
203
+ ])
204
+ ])),
205
+ v(e.$slots, "options:append")
206
+ ], 512)
207
+ ])
208
+ ], 6));
64
209
  }
65
210
  });
66
211
  export {
67
- E as default
212
+ pe as default
68
213
  };