bitboss-ui 2.0.77 → 2.0.79

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 (162) hide show
  1. package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +1 -1
  2. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +1 -1
  3. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +1 -1
  4. package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +1 -1
  5. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +1 -1
  6. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
  7. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +1 -1
  8. package/dist/components/BbSelect/BbSelect.vue.d.ts +1 -1
  9. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +1 -1
  10. package/dist/components/OptionsContainer.vue.d.ts +1 -1
  11. package/dist/index110.js +5 -5
  12. package/dist/index118.js +25 -21
  13. package/dist/index120.js +51 -51
  14. package/dist/index122.js +1 -1
  15. package/dist/index126.js +1 -1
  16. package/dist/index127.js +1 -1
  17. package/dist/index128.js +1 -1
  18. package/dist/index13.js +1 -1
  19. package/dist/index130.js +1 -1
  20. package/dist/index132.js +2 -2
  21. package/dist/index133.js +2 -2
  22. package/dist/index15.js +4 -4
  23. package/dist/index17.js +3 -3
  24. package/dist/index19.js +2 -2
  25. package/dist/index204.js +2 -81
  26. package/dist/index205.js +5 -2
  27. package/dist/index206.js +14 -124
  28. package/dist/index207.js +16 -5
  29. package/dist/index208.js +17 -123
  30. package/dist/index209.js +18 -18
  31. package/dist/index21.js +14 -14
  32. package/dist/index210.js +24 -13
  33. package/dist/index211.js +3 -16
  34. package/dist/index212.js +2 -2
  35. package/dist/index213.js +8 -2
  36. package/dist/index214.js +248 -40
  37. package/dist/index215.js +50 -18
  38. package/dist/index216.js +43 -5
  39. package/dist/index217.js +4 -52
  40. package/dist/{index239.js → index218.js} +1 -1
  41. package/dist/index219.js +52 -12
  42. package/dist/index221.js +13 -369
  43. package/dist/index222.js +18 -162
  44. package/dist/index223.js +4 -84
  45. package/dist/index224.js +128 -0
  46. package/dist/index225.js +125 -3
  47. package/dist/index226.js +2 -3
  48. package/dist/index227.js +41 -7
  49. package/dist/index228.js +5 -7
  50. package/dist/index229.js +5 -2
  51. package/dist/index23.js +187 -186
  52. package/dist/index230.js +12 -4
  53. package/dist/index231.js +369 -2
  54. package/dist/index232.js +81 -19
  55. package/dist/index233.js +3 -27
  56. package/dist/index234.js +2 -3
  57. package/dist/index235.js +4 -249
  58. package/dist/index236.js +2 -52
  59. package/dist/index237.js +163 -43
  60. package/dist/index238.js +84 -5
  61. package/dist/index240.js +3 -4
  62. package/dist/index241.js +7 -2
  63. package/dist/index242.js +2 -18
  64. package/dist/index243.js +17 -105
  65. package/dist/index244.js +108 -0
  66. package/dist/{index245.js → index246.js} +1 -1
  67. package/dist/index248.js +2 -10
  68. package/dist/index249.js +9 -2
  69. package/dist/index25.js +109 -105
  70. package/dist/index250.js +3 -281
  71. package/dist/index251.js +6 -6
  72. package/dist/index252.js +16 -2
  73. package/dist/index253.js +9 -2
  74. package/dist/index254.js +23 -2
  75. package/dist/index255.js +89 -2
  76. package/dist/index257.js +7 -124
  77. package/dist/index258.js +3 -431
  78. package/dist/index260.js +7 -3
  79. package/dist/index262.js +281 -7
  80. package/dist/index263.js +6 -22
  81. package/dist/index264.js +4 -0
  82. package/dist/index265.js +2 -3
  83. package/dist/index266.js +2 -12
  84. package/dist/index267.js +2 -9
  85. package/dist/index268.js +2 -9
  86. package/dist/index269.js +2 -17
  87. package/dist/index27.js +1 -1
  88. package/dist/index270.js +2 -4
  89. package/dist/index271.js +2 -224
  90. package/dist/index272.js +2 -436
  91. package/dist/index273.js +2 -127
  92. package/dist/index274.js +25 -197
  93. package/dist/index275.js +22 -89
  94. package/dist/index277.js +2 -2
  95. package/dist/index278.js +126 -2
  96. package/dist/index279.js +431 -2
  97. package/dist/index280.js +21 -1
  98. package/dist/index282.js +1 -1
  99. package/dist/index283.js +222 -26
  100. package/dist/index284.js +199 -21
  101. package/dist/index285.js +438 -0
  102. package/dist/index286.js +125 -7
  103. package/dist/index287.js +4 -3
  104. package/dist/index288.js +3 -9
  105. package/dist/index289.js +12 -23
  106. package/dist/index29.js +3 -3
  107. package/dist/index290.js +9 -6
  108. package/dist/index291.js +8 -15
  109. package/dist/index292.js +17 -3
  110. package/dist/index293.js +4 -3
  111. package/dist/index294.js +88 -210
  112. package/dist/index295.js +3 -5
  113. package/dist/index296.js +2 -65
  114. package/dist/index297.js +211 -2
  115. package/dist/index298.js +2 -33
  116. package/dist/index299.js +5 -5
  117. package/dist/index300.js +66 -8
  118. package/dist/index301.js +4 -7
  119. package/dist/index302.js +4 -19
  120. package/dist/index303.js +58 -6
  121. package/dist/index304.js +3 -11
  122. package/dist/index305.js +4 -3
  123. package/dist/index306.js +8 -89
  124. package/dist/index307.js +9 -0
  125. package/dist/index308.js +7 -4
  126. package/dist/index309.js +19 -4
  127. package/dist/index31.js +2 -2
  128. package/dist/index310.js +32 -58
  129. package/dist/index311.js +3 -46
  130. package/dist/index312.js +47 -2
  131. package/dist/index313.js +13 -0
  132. package/dist/index314.js +2 -12
  133. package/dist/index315.js +1 -1
  134. package/dist/index317.js +424 -2
  135. package/dist/index33.js +2 -2
  136. package/dist/index35.js +3 -3
  137. package/dist/index37.js +99 -98
  138. package/dist/index39.js +4 -4
  139. package/dist/index41.js +2 -2
  140. package/dist/index43.js +2 -2
  141. package/dist/index45.js +8 -8
  142. package/dist/index47.js +2 -2
  143. package/dist/index49.js +2 -2
  144. package/dist/index55.js +1 -1
  145. package/dist/index57.js +1 -1
  146. package/dist/index61.js +2 -2
  147. package/dist/index75.js +35 -35
  148. package/dist/index79.js +2 -2
  149. package/dist/index81.js +1 -1
  150. package/dist/index84.js +110 -106
  151. package/dist/index86.js +1 -1
  152. package/dist/index88.js +62 -62
  153. package/dist/index90.js +1 -1
  154. package/dist/style.css +1 -1
  155. package/package.json +1 -1
  156. package/dist/index220.js +0 -7
  157. package/dist/index247.js +0 -4
  158. package/dist/index256.js +0 -4
  159. package/dist/index276.js +0 -6
  160. package/dist/index281.js +0 -4
  161. package/dist/index316.js +0 -426
  162. /package/dist/{index259.js → index261.js} +0 -0
package/dist/index292.js CHANGED
@@ -1,5 +1,19 @@
1
- import o from "./index243.js";
2
- /* empty css */
1
+ import { get as t } from "./index313.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/index293.js CHANGED
@@ -1,5 +1,6 @@
1
- import o from "./index245.js";
2
- /* empty css */
1
+ function u(...e) {
2
+ return (r) => e.reduce((n, t) => t(n), r);
3
+ }
3
4
  export {
4
- o as default
5
+ u as pipe
5
6
  };
package/dist/index294.js CHANGED
@@ -1,213 +1,91 @@
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 "./index234.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));
1
+ import { getDefaultExportFromCjs as M, commonjsGlobal as b } from "./index263.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();
4
+ };
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;
209
80
  }
210
- });
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);
211
89
  export {
212
- pe as default
90
+ Z as default
213
91
  };
package/dist/index295.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 "./index244.js";
2
+ /* empty css */
5
3
  export {
6
- o as flattenTree
4
+ o as default
7
5
  };
package/dist/index296.js CHANGED
@@ -1,68 +1,5 @@
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";
1
+ import o from "./index246.js";
5
2
  /* empty css */
6
- const k = { class: "bb-toast-message__icon-container" }, f = { class: "bb-toast-message__content" }, C = {
7
- key: 0,
8
- class: "bb-toast-message__title"
9
- }, w = { class: "bb-toast-message__text" }, E = /* @__PURE__ */ d({
10
- __name: "BbToastMessage",
11
- props: {
12
- title: {},
13
- text: {},
14
- icon: {},
15
- theme: { default: "default" },
16
- id: {},
17
- showClose: { type: Boolean }
18
- },
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 }])
29
- }, [
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"
52
- }, [
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));
64
- }
65
- });
66
3
  export {
67
- E as default
4
+ o as default
68
5
  };
package/dist/index297.js CHANGED
@@ -1,4 +1,213 @@
1
- const t = (d, o) => +d + +o;
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 "./index211.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
+ });
2
211
  export {
3
- t as add
212
+ pe as default
4
213
  };
package/dist/index298.js CHANGED
@@ -1,35 +1,4 @@
1
- import { openBlock as e, createElementBlock as t, createElementVNode as o } from "vue";
2
- /* empty css */
3
- import n from "./index262.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"
9
- };
10
- function i(c, r) {
11
- return e(), t("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]]);
1
+ const t = (d, o) => +d + +o;
33
2
  export {
34
- a as default
3
+ t as add
35
4
  };