bitboss-ui 2.0.28 → 2.0.29

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 (132) hide show
  1. package/dist/index106.js +4 -4
  2. package/dist/index114.js +1 -1
  3. package/dist/index116.js +5 -5
  4. package/dist/index118.js +1 -1
  5. package/dist/index122.js +1 -1
  6. package/dist/index123.js +1 -1
  7. package/dist/index124.js +1 -1
  8. package/dist/index126.js +1 -1
  9. package/dist/index129.js +1 -1
  10. package/dist/index13.js +1 -1
  11. package/dist/index15.js +3 -3
  12. package/dist/index17.js +2 -2
  13. package/dist/index19.js +14 -14
  14. package/dist/index199.js +281 -2
  15. package/dist/index200.js +16 -8
  16. package/dist/index201.js +16 -3
  17. package/dist/index202.js +19 -3
  18. package/dist/index203.js +19 -35
  19. package/dist/index204.js +27 -6
  20. package/dist/index205.js +3 -7
  21. package/dist/index206.js +2 -43
  22. package/dist/index207.js +10 -0
  23. package/dist/index208.js +249 -13
  24. package/dist/index209.js +50 -279
  25. package/dist/index21.js +15 -15
  26. package/dist/index210.js +44 -16
  27. package/dist/index211.js +5 -16
  28. package/dist/index212.js +49 -19
  29. package/dist/index213.js +2 -19
  30. package/dist/index214.js +4 -27
  31. package/dist/index215.js +2 -3
  32. package/dist/index216.js +3 -2
  33. package/dist/index217.js +2 -249
  34. package/dist/index218.js +123 -49
  35. package/dist/index219.js +123 -44
  36. package/dist/index220.js +2 -5
  37. package/dist/index221.js +35 -49
  38. package/dist/index222.js +166 -118
  39. package/dist/index223.js +6 -123
  40. package/dist/index224.js +43 -2
  41. package/dist/index226.js +12 -4
  42. package/dist/index227.js +5 -369
  43. package/dist/index228.js +360 -149
  44. package/dist/index229.js +3 -84
  45. package/dist/index23.js +5 -5
  46. package/dist/index230.js +9 -0
  47. package/dist/index231.js +158 -2
  48. package/dist/index232.js +84 -4
  49. package/dist/index234.js +1 -1
  50. package/dist/index236.js +1 -1
  51. package/dist/index238.js +1 -1
  52. package/dist/index243.js +4 -224
  53. package/dist/index244.js +6 -3
  54. package/dist/index245.js +2 -9
  55. package/dist/index246.js +2 -23
  56. package/dist/index247.js +2 -6
  57. package/dist/index248.js +2 -16
  58. package/dist/index249.js +2 -9
  59. package/dist/index25.js +39 -36
  60. package/dist/index250.js +2 -431
  61. package/dist/index251.js +2 -89
  62. package/dist/index252.js +2 -3
  63. package/dist/index253.js +4 -0
  64. package/dist/index254.js +2 -7
  65. package/dist/index255.js +25 -197
  66. package/dist/index256.js +22 -6
  67. package/dist/index258.js +7 -2
  68. package/dist/index259.js +6 -2
  69. package/dist/index260.js +16 -2
  70. package/dist/index261.js +224 -2
  71. package/dist/index262.js +3 -2
  72. package/dist/index263.js +9 -2
  73. package/dist/index264.js +23 -2
  74. package/dist/index265.js +9 -2
  75. package/dist/index266.js +2 -2
  76. package/dist/index267.js +122 -24
  77. package/dist/index268.js +429 -20
  78. package/dist/index269.js +5 -0
  79. package/dist/index27.js +3 -3
  80. package/dist/index271.js +21 -125
  81. package/dist/index273.js +91 -0
  82. package/dist/index274.js +1 -1
  83. package/dist/index277.js +1 -1
  84. package/dist/index278.js +1 -1
  85. package/dist/index279.js +435 -3
  86. package/dist/index280.js +113 -422
  87. package/dist/index281.js +199 -126
  88. package/dist/index282.js +3 -5
  89. package/dist/index283.js +2 -65
  90. package/dist/index284.js +211 -2
  91. package/dist/index285.js +2 -3
  92. package/dist/index286.js +5 -3
  93. package/dist/index287.js +15 -211
  94. package/dist/index288.js +66 -15
  95. package/dist/index289.js +7 -79
  96. package/dist/index29.js +2 -2
  97. package/dist/index290.js +9 -0
  98. package/dist/index291.js +19 -4
  99. package/dist/index292.js +4 -4
  100. package/dist/index293.js +4 -59
  101. package/dist/index294.js +58 -6
  102. package/dist/index295.js +79 -7
  103. package/dist/index297.js +1 -1
  104. package/dist/index298.js +46 -10
  105. package/dist/index299.js +10 -46
  106. package/dist/index300.js +1 -1
  107. package/dist/index301.js +1 -1
  108. package/dist/index31.js +2 -2
  109. package/dist/index33.js +3 -3
  110. package/dist/index35.js +9 -9
  111. package/dist/index37.js +3 -3
  112. package/dist/index39.js +2 -2
  113. package/dist/index41.js +2 -2
  114. package/dist/index43.js +4 -4
  115. package/dist/index45.js +2 -2
  116. package/dist/index47.js +2 -2
  117. package/dist/index53.js +1 -1
  118. package/dist/index55.js +1 -1
  119. package/dist/index71.js +3 -3
  120. package/dist/index75.js +2 -2
  121. package/dist/index77.js +1 -1
  122. package/dist/index80.js +2 -2
  123. package/dist/index82.js +1 -1
  124. package/dist/index84.js +3 -3
  125. package/dist/index86.js +1 -1
  126. package/package.json +1 -1
  127. package/dist/index225.js +0 -176
  128. package/dist/index233.js +0 -4
  129. package/dist/index257.js +0 -4
  130. package/dist/index270.js +0 -4
  131. package/dist/index272.js +0 -24
  132. package/dist/index296.js +0 -21
package/dist/index281.js CHANGED
@@ -1,129 +1,202 @@
1
- const P = ["top", "right", "bottom", "left"], l = Math.min, m = Math.max, M = Math.round, O = Math.floor, S = (t) => ({
2
- x: t,
3
- y: t
4
- }), p = {
5
- left: "right",
6
- right: "left",
7
- bottom: "top",
8
- top: "bottom"
9
- }, a = {
10
- start: "end",
11
- end: "start"
12
- };
13
- function w(t, n, e) {
14
- return m(t, l(n, e));
15
- }
16
- function j(t, n) {
17
- return typeof t == "function" ? t(n) : t;
18
- }
19
- function u(t) {
20
- return t.split("-")[0];
21
- }
22
- function g(t) {
23
- return t.split("-")[1];
24
- }
25
- function h(t) {
26
- return t === "x" ? "y" : "x";
27
- }
28
- function b(t) {
29
- return t === "y" ? "height" : "width";
30
- }
31
- function x(t) {
32
- return ["top", "bottom"].includes(u(t)) ? "y" : "x";
33
- }
34
- function d(t) {
35
- return h(x(t));
36
- }
37
- function C(t, n, e) {
38
- e === void 0 && (e = !1);
39
- const r = g(t), o = d(t), i = b(o);
40
- let c = o === "x" ? r === (e ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
41
- return n.reference[i] > n.floating[i] && (c = f(c)), [c, f(c)];
42
- }
43
- function L(t) {
44
- const n = f(t);
45
- return [s(t), n, s(n)];
46
- }
47
- function s(t) {
48
- return t.replace(/start|end/g, (n) => a[n]);
49
- }
50
- function A(t, n, e) {
51
- const r = ["left", "right"], o = ["right", "left"], i = ["top", "bottom"], c = ["bottom", "top"];
52
- switch (t) {
53
- case "top":
54
- case "bottom":
55
- return e ? n ? o : r : n ? r : o;
56
- case "left":
57
- case "right":
58
- return n ? i : c;
59
- default:
60
- return [];
1
+ /*!
2
+ * tabbable 6.2.0
3
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
4
+ */
5
+ var w = ["input:not([inert])", "select:not([inert])", "textarea:not([inert])", "a[href]:not([inert])", "button:not([inert])", "[tabindex]:not(slot):not([inert])", "audio[controls]:not([inert])", "video[controls]:not([inert])", '[contenteditable]:not([contenteditable="false"]):not([inert])', "details>summary:first-of-type:not([inert])", "details:not([inert])"], v = /* @__PURE__ */ w.join(","), T = typeof Element > "u", o = T ? function() {
6
+ } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector, b = !T && Element.prototype.getRootNode ? function(i) {
7
+ var t;
8
+ return i == null || (t = i.getRootNode) === null || t === void 0 ? void 0 : t.call(i);
9
+ } : function(i) {
10
+ return i == null ? void 0 : i.ownerDocument;
11
+ }, h = function i(t, e) {
12
+ var r;
13
+ e === void 0 && (e = !0);
14
+ var a = t == null || (r = t.getAttribute) === null || r === void 0 ? void 0 : r.call(t, "inert"), l = a === "" || a === "true", n = l || e && t && i(t.parentNode);
15
+ return n;
16
+ }, A = function(t) {
17
+ var e, r = t == null || (e = t.getAttribute) === null || e === void 0 ? void 0 : e.call(t, "contenteditable");
18
+ return r === "" || r === "true";
19
+ }, I = function(t, e, r) {
20
+ if (h(t))
21
+ return [];
22
+ var a = Array.prototype.slice.apply(t.querySelectorAll(v));
23
+ return e && o.call(t, v) && a.unshift(t), a = a.filter(r), a;
24
+ }, m = function i(t, e, r) {
25
+ for (var a = [], l = Array.from(t); l.length; ) {
26
+ var n = l.shift();
27
+ if (!h(n, !1))
28
+ if (n.tagName === "SLOT") {
29
+ var u = n.assignedElements(), c = u.length ? u : n.children, s = i(c, !0, r);
30
+ r.flatten ? a.push.apply(a, s) : a.push({
31
+ scopeParent: n,
32
+ candidates: s
33
+ });
34
+ } else {
35
+ var f = o.call(n, v);
36
+ f && r.filter(n) && (e || !t.includes(n)) && a.push(n);
37
+ var d = n.shadowRoot || // check for an undisclosed shadow
38
+ typeof r.getShadowRoot == "function" && r.getShadowRoot(n), E = !h(d, !1) && (!r.shadowRootFilter || r.shadowRootFilter(n));
39
+ if (d && E) {
40
+ var y = i(d === !0 ? n.children : d.children, !0, r);
41
+ r.flatten ? a.push.apply(a, y) : a.push({
42
+ scopeParent: n,
43
+ candidates: y
44
+ });
45
+ } else
46
+ l.unshift.apply(l, n.children);
47
+ }
48
+ }
49
+ return a;
50
+ }, N = function(t) {
51
+ return !isNaN(parseInt(t.getAttribute("tabindex"), 10));
52
+ }, R = function(t) {
53
+ if (!t)
54
+ throw new Error("No node provided");
55
+ return t.tabIndex < 0 && (/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName) || A(t)) && !N(t) ? 0 : t.tabIndex;
56
+ }, x = function(t, e) {
57
+ var r = R(t);
58
+ return r < 0 && e && !N(t) ? 0 : r;
59
+ }, O = function(t, e) {
60
+ return t.tabIndex === e.tabIndex ? t.documentOrder - e.documentOrder : t.tabIndex - e.tabIndex;
61
+ }, C = function(t) {
62
+ return t.tagName === "INPUT";
63
+ }, F = function(t) {
64
+ return C(t) && t.type === "hidden";
65
+ }, D = function(t) {
66
+ var e = t.tagName === "DETAILS" && Array.prototype.slice.apply(t.children).some(function(r) {
67
+ return r.tagName === "SUMMARY";
68
+ });
69
+ return e;
70
+ }, k = function(t, e) {
71
+ for (var r = 0; r < t.length; r++)
72
+ if (t[r].checked && t[r].form === e)
73
+ return t[r];
74
+ }, M = function(t) {
75
+ if (!t.name)
76
+ return !0;
77
+ var e = t.form || b(t), r = function(u) {
78
+ return e.querySelectorAll('input[type="radio"][name="' + u + '"]');
79
+ }, a;
80
+ if (typeof window < "u" && typeof window.CSS < "u" && typeof window.CSS.escape == "function")
81
+ a = r(window.CSS.escape(t.name));
82
+ else
83
+ try {
84
+ a = r(t.name);
85
+ } catch (n) {
86
+ return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", n.message), !1;
87
+ }
88
+ var l = k(a, t.form);
89
+ return !l || l === t;
90
+ }, L = function(t) {
91
+ return C(t) && t.type === "radio";
92
+ }, P = function(t) {
93
+ return L(t) && !M(t);
94
+ }, B = function(t) {
95
+ var e, r = t && b(t), a = (e = r) === null || e === void 0 ? void 0 : e.host, l = !1;
96
+ if (r && r !== t) {
97
+ var n, u, c;
98
+ for (l = !!((n = a) !== null && n !== void 0 && (u = n.ownerDocument) !== null && u !== void 0 && u.contains(a) || t != null && (c = t.ownerDocument) !== null && c !== void 0 && c.contains(t)); !l && a; ) {
99
+ var s, f, d;
100
+ r = b(a), a = (s = r) === null || s === void 0 ? void 0 : s.host, l = !!((f = a) !== null && f !== void 0 && (d = f.ownerDocument) !== null && d !== void 0 && d.contains(a));
101
+ }
61
102
  }
62
- }
63
- function E(t, n, e, r) {
64
- const o = g(t);
65
- let i = A(u(t), e === "start", r);
66
- return o && (i = i.map((c) => c + "-" + o), n && (i = i.concat(i.map(s)))), i;
67
- }
68
- function f(t) {
69
- return t.replace(/left|right|bottom|top/g, (n) => p[n]);
70
- }
71
- function y(t) {
72
- return {
73
- top: 0,
74
- right: 0,
75
- bottom: 0,
76
- left: 0,
77
- ...t
78
- };
79
- }
80
- function R(t) {
81
- return typeof t != "number" ? y(t) : {
82
- top: t,
83
- right: t,
84
- bottom: t,
85
- left: t
86
- };
87
- }
88
- function T(t) {
89
- const {
90
- x: n,
91
- y: e,
92
- width: r,
93
- height: o
94
- } = t;
95
- return {
96
- width: r,
97
- height: o,
98
- top: e,
99
- left: n,
100
- right: n + r,
101
- bottom: e + o,
102
- x: n,
103
- y: e
104
- };
105
- }
103
+ return l;
104
+ }, p = function(t) {
105
+ var e = t.getBoundingClientRect(), r = e.width, a = e.height;
106
+ return r === 0 && a === 0;
107
+ }, q = function(t, e) {
108
+ var r = e.displayCheck, a = e.getShadowRoot;
109
+ if (getComputedStyle(t).visibility === "hidden")
110
+ return !0;
111
+ var l = o.call(t, "details>summary:first-of-type"), n = l ? t.parentElement : t;
112
+ if (o.call(n, "details:not([open]) *"))
113
+ return !0;
114
+ if (!r || r === "full" || r === "legacy-full") {
115
+ if (typeof a == "function") {
116
+ for (var u = t; t; ) {
117
+ var c = t.parentElement, s = b(t);
118
+ if (c && !c.shadowRoot && a(c) === !0)
119
+ return p(t);
120
+ t.assignedSlot ? t = t.assignedSlot : !c && s !== t.ownerDocument ? t = s.host : t = c;
121
+ }
122
+ t = u;
123
+ }
124
+ if (B(t))
125
+ return !t.getClientRects().length;
126
+ if (r !== "legacy-full")
127
+ return !0;
128
+ } else if (r === "non-zero-area")
129
+ return p(t);
130
+ return !1;
131
+ }, U = function(t) {
132
+ if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))
133
+ for (var e = t.parentElement; e; ) {
134
+ if (e.tagName === "FIELDSET" && e.disabled) {
135
+ for (var r = 0; r < e.children.length; r++) {
136
+ var a = e.children.item(r);
137
+ if (a.tagName === "LEGEND")
138
+ return o.call(e, "fieldset[disabled] *") ? !0 : !a.contains(t);
139
+ }
140
+ return !0;
141
+ }
142
+ e = e.parentElement;
143
+ }
144
+ return !1;
145
+ }, g = function(t, e) {
146
+ return !(e.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor
147
+ // because we're limited in the type of selectors we can use in JSDom (see related
148
+ // note related to `candidateSelectors`)
149
+ h(e) || F(e) || q(e, t) || // For a details element with a summary, the summary element gets the focus
150
+ D(e) || U(e));
151
+ }, S = function(t, e) {
152
+ return !(P(e) || R(e) < 0 || !g(t, e));
153
+ }, V = function(t) {
154
+ var e = parseInt(t.getAttribute("tabindex"), 10);
155
+ return !!(isNaN(e) || e >= 0);
156
+ }, j = function i(t) {
157
+ var e = [], r = [];
158
+ return t.forEach(function(a, l) {
159
+ var n = !!a.scopeParent, u = n ? a.scopeParent : a, c = x(u, n), s = n ? i(a.candidates) : u;
160
+ c === 0 ? n ? e.push.apply(e, s) : e.push(u) : r.push({
161
+ documentOrder: l,
162
+ tabIndex: c,
163
+ item: a,
164
+ isScope: n,
165
+ content: s
166
+ });
167
+ }), r.sort(O).reduce(function(a, l) {
168
+ return l.isScope ? a.push.apply(a, l.content) : a.push(l.content), a;
169
+ }, []).concat(e);
170
+ }, Z = function(t, e) {
171
+ e = e || {};
172
+ var r;
173
+ return e.getShadowRoot ? r = m([t], e.includeContainer, {
174
+ filter: S.bind(null, e),
175
+ flatten: !1,
176
+ getShadowRoot: e.getShadowRoot,
177
+ shadowRootFilter: V
178
+ }) : r = I(t, e.includeContainer, S.bind(null, e)), j(r);
179
+ }, z = function(t, e) {
180
+ e = e || {};
181
+ var r;
182
+ return e.getShadowRoot ? r = m([t], e.includeContainer, {
183
+ filter: g.bind(null, e),
184
+ flatten: !0,
185
+ getShadowRoot: e.getShadowRoot
186
+ }) : r = I(t, e.includeContainer, g.bind(null, e)), r;
187
+ }, G = function(t, e) {
188
+ if (e = e || {}, !t)
189
+ throw new Error("No node provided");
190
+ return o.call(t, v) === !1 ? !1 : S(e, t);
191
+ }, W = /* @__PURE__ */ w.concat("iframe").join(","), X = function(t, e) {
192
+ if (e = e || {}, !t)
193
+ throw new Error("No node provided");
194
+ return o.call(t, W) === !1 ? !1 : g(e, t);
195
+ };
106
196
  export {
107
- w as clamp,
108
- S as createCoords,
109
- j as evaluate,
110
- y as expandPaddingObject,
111
- O as floor,
112
- g as getAlignment,
113
- d as getAlignmentAxis,
114
- C as getAlignmentSides,
115
- b as getAxisLength,
116
- L as getExpandedPlacements,
117
- s as getOppositeAlignmentPlacement,
118
- h as getOppositeAxis,
119
- E as getOppositeAxisPlacements,
120
- f as getOppositePlacement,
121
- R as getPaddingObject,
122
- u as getSide,
123
- x as getSideAxis,
124
- m as max,
125
- l as min,
126
- T as rectToClientRect,
127
- M as round,
128
- P as sides
197
+ z as focusable,
198
+ R as getTabIndex,
199
+ X as isFocusable,
200
+ G as isTabbable,
201
+ Z as tabbable
129
202
  };
package/dist/index282.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 "./index236.js";
2
+ /* empty css */
5
3
  export {
6
- o as flattenTree
4
+ o as default
7
5
  };
package/dist/index283.js CHANGED
@@ -1,68 +1,5 @@
1
- import { defineComponent as p, openBlock as s, createElementBlock as a, normalizeClass as d, createElementVNode as t, createBlock as i, createCommentVNode as o, toDisplayString as l, withCtx as b } from "vue";
2
- import h from "./index13.js";
3
- /* empty css */
4
- import u from "./index122.js";
1
+ import o from "./index238.js";
5
2
  /* empty css */
6
- const g = { class: "bb-toast-message__icon-container" }, k = { class: "bb-toast-message__content" }, f = {
7
- key: 0,
8
- class: "bb-toast-message__title"
9
- }, C = { class: "bb-toast-message__text" }, w = /* @__PURE__ */ t("svg", {
10
- fill: "none",
11
- viewBox: "0 0 24 24",
12
- xmlns: "http://www.w3.org/2000/svg"
13
- }, [
14
- /* @__PURE__ */ t("path", {
15
- d: "M23 23L1 1M23 1L1 23",
16
- stroke: "currentColor",
17
- "stroke-linecap": "round",
18
- "stroke-width": "2"
19
- })
20
- ], -1), L = /* @__PURE__ */ p({
21
- __name: "BbToastMessage",
22
- props: {
23
- title: {},
24
- text: {},
25
- icon: {},
26
- theme: { default: "default" },
27
- id: {},
28
- showClose: { type: Boolean }
29
- },
30
- emits: ["click:close"],
31
- setup(n, { emit: c }) {
32
- const r = n, m = c, _ = () => {
33
- m("click:close", r.id);
34
- };
35
- return (e, v) => (s(), a("div", {
36
- "aria-atomic": "true",
37
- "aria-live": "polite",
38
- "aria-role": "alert",
39
- class: d(["bb-toast-message", { [`bb-toast-message--${e.theme}`]: e.theme }])
40
- }, [
41
- t("div", g, [
42
- e.icon ? (s(), i(u, {
43
- key: 0,
44
- class: "bb-toast-message__icon",
45
- type: e.icon
46
- }, null, 8, ["type"])) : o("", !0)
47
- ]),
48
- t("div", k, [
49
- e.title ? (s(), a("p", f, l(e.title), 1)) : o("", !0),
50
- t("p", C, l(e.text), 1)
51
- ]),
52
- e.showClose ? (s(), i(h, {
53
- key: 0,
54
- "aria-label": "Chiudi",
55
- class: "bb-toast-message__close",
56
- onClick: _
57
- }, {
58
- default: b(() => [
59
- w
60
- ]),
61
- _: 1
62
- })) : o("", !0)
63
- ], 2));
64
- }
65
- });
66
3
  export {
67
- L as default
4
+ o as default
68
5
  };
package/dist/index284.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 "./index125.js";
3
+ import { useVirtualizer as Z } from "./index298.js";
4
+ import { isNotNil as ee } from "./index130.js";
5
+ import { hash as H } from "./index205.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/index285.js CHANGED
@@ -1,5 +1,4 @@
1
- import o from "./index236.js";
2
- /* empty css */
1
+ const t = (d, o) => +d + +o;
3
2
  export {
4
- o as default
3
+ t as add
5
4
  };
package/dist/index286.js CHANGED
@@ -1,5 +1,7 @@
1
- import o from "./index238.js";
2
- /* empty css */
1
+ const o = (l, n, f = (r) => r, u) => l.map((r) => Array.isArray(r[n]) ? [
2
+ f(r, u),
3
+ ...o(r[n], n, f, f(r, u))
4
+ ] : [f(r, u)]).flat();
3
5
  export {
4
- o as default
6
+ o as flattenTree
5
7
  };