bitboss-ui 2.0.27 → 2.0.28

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 (128) 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/index129.js +1 -1
  9. package/dist/index13.js +1 -1
  10. package/dist/index15.js +3 -3
  11. package/dist/index17.js +2 -2
  12. package/dist/index19.js +14 -14
  13. package/dist/index200.js +8 -2
  14. package/dist/index201.js +3 -4
  15. package/dist/index202.js +3 -2
  16. package/dist/index203.js +33 -156
  17. package/dist/index204.js +5 -83
  18. package/dist/index205.js +9 -0
  19. package/dist/index206.js +43 -5
  20. package/dist/index208.js +13 -16
  21. package/dist/index209.js +280 -18
  22. package/dist/index21.js +15 -15
  23. package/dist/index210.js +13 -16
  24. package/dist/index211.js +13 -24
  25. package/dist/index212.js +19 -3
  26. package/dist/index213.js +19 -2
  27. package/dist/index214.js +27 -8
  28. package/dist/index215.js +3 -249
  29. package/dist/index216.js +2 -52
  30. package/dist/index217.js +241 -36
  31. package/dist/index218.js +52 -5
  32. package/dist/index219.js +30 -35
  33. package/dist/index220.js +5 -126
  34. package/dist/index221.js +49 -123
  35. package/dist/index222.js +126 -2
  36. package/dist/index223.js +122 -34
  37. package/dist/index224.js +2 -174
  38. package/dist/index225.js +174 -6
  39. package/dist/index226.js +4 -42
  40. package/dist/{index230.js → index227.js} +1 -1
  41. package/dist/index228.js +158 -13
  42. package/dist/index229.js +84 -5
  43. package/dist/index23.js +5 -5
  44. package/dist/index231.js +2 -3
  45. package/dist/index232.js +4 -7
  46. package/dist/index233.js +2 -3
  47. package/dist/index234.js +2 -10
  48. package/dist/index235.js +17 -2
  49. package/dist/index236.js +106 -2
  50. package/dist/index238.js +47 -53
  51. package/dist/index240.js +2 -100
  52. package/dist/index241.js +12 -0
  53. package/dist/index242.js +3 -2
  54. package/dist/index243.js +224 -6
  55. package/dist/index244.js +3 -16
  56. package/dist/index245.js +9 -3
  57. package/dist/index246.js +23 -9
  58. package/dist/index247.js +6 -23
  59. package/dist/index248.js +16 -9
  60. package/dist/index249.js +9 -4
  61. package/dist/index25.js +1 -1
  62. package/dist/index250.js +431 -3
  63. package/dist/index251.js +88 -11
  64. package/dist/index252.js +3 -9
  65. package/dist/index254.js +7 -17
  66. package/dist/index255.js +198 -279
  67. package/dist/index263.js +1 -1
  68. package/dist/index264.js +1 -1
  69. package/dist/index265.js +1 -1
  70. package/dist/index266.js +1 -1
  71. package/dist/index27.js +2 -2
  72. package/dist/index270.js +2 -7
  73. package/dist/index271.js +118 -423
  74. package/dist/index272.js +22 -89
  75. package/dist/index274.js +3 -126
  76. package/dist/index275.js +12 -3
  77. package/dist/index276.js +11 -0
  78. package/dist/index277.js +7 -20
  79. package/dist/index278.js +19 -0
  80. package/dist/index279.js +3 -199
  81. package/dist/index282.js +5 -224
  82. package/dist/index283.js +66 -2
  83. package/dist/index284.js +2 -66
  84. package/dist/index285.js +3 -5
  85. package/dist/index287.js +211 -3
  86. package/dist/index288.js +15 -211
  87. package/dist/index289.js +79 -4
  88. package/dist/index29.js +2 -2
  89. package/dist/index291.js +4 -59
  90. package/dist/index292.js +4 -79
  91. package/dist/index293.js +61 -0
  92. package/dist/index294.js +6 -14
  93. package/dist/index295.js +6 -6
  94. package/dist/index296.js +18 -6
  95. package/dist/index297.js +34 -18
  96. package/dist/index298.js +10 -34
  97. package/dist/index299.js +46 -10
  98. package/dist/index300.js +1 -1
  99. package/dist/index301.js +480 -47
  100. package/dist/index303.js +423 -0
  101. package/dist/index304.js +42 -416
  102. package/dist/index31.js +2 -2
  103. package/dist/index33.js +3 -3
  104. package/dist/index35.js +13 -13
  105. package/dist/index37.js +3 -3
  106. package/dist/index39.js +2 -2
  107. package/dist/index41.js +2 -2
  108. package/dist/index43.js +6 -6
  109. package/dist/index45.js +2 -2
  110. package/dist/index47.js +2 -2
  111. package/dist/index53.js +1 -1
  112. package/dist/index55.js +1 -1
  113. package/dist/index59.js +2 -2
  114. package/dist/index71.js +3 -3
  115. package/dist/index75.js +2 -2
  116. package/dist/index77.js +1 -1
  117. package/dist/index80.js +2 -2
  118. package/dist/index82.js +1 -1
  119. package/dist/index84.js +3 -3
  120. package/dist/style.css +1 -1
  121. package/package.json +1 -1
  122. package/dist/index207.js +0 -18
  123. package/dist/index237.js +0 -20
  124. package/dist/index253.js +0 -11
  125. package/dist/index273.js +0 -4
  126. package/dist/index290.js +0 -6
  127. package/dist/index302.js +0 -482
  128. package/dist/index306.js +0 -49
package/dist/index283.js CHANGED
@@ -1,4 +1,68 @@
1
- const t = (d, o) => +d + +o;
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";
5
+ /* 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
+ });
2
66
  export {
3
- t as add
67
+ L as default
4
68
  };
package/dist/index284.js CHANGED
@@ -1,68 +1,4 @@
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";
5
- /* 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
- });
1
+ const t = (d, o) => +d + +o;
66
2
  export {
67
- L as default
3
+ t as add
68
4
  };
package/dist/index285.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/index287.js CHANGED
@@ -1,5 +1,213 @@
1
- import o from "./index240.js";
2
- /* empty css */
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 "./index299.js";
4
+ import { isNotNil as ee } from "./index130.js";
5
+ import { hash as H } from "./index215.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
+ });
3
211
  export {
4
- o as default
212
+ pe as default
5
213
  };
package/dist/index288.js CHANGED
@@ -1,213 +1,17 @@
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 "./index301.js";
4
- import { isNotNil as ee } from "./index130.js";
5
- import { hash as H } from "./index212.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 r(t) {
2
+ return Object.prototype.toString.call(t).slice(8, -1);
3
+ }
4
+ function o(t) {
5
+ return r(t) === "Array";
6
+ }
7
+ function c(t) {
8
+ if (r(t) !== "Object")
9
+ return !1;
10
+ const e = Object.getPrototypeOf(t);
11
+ return !!e && e.constructor === Object && e === Object.prototype;
12
+ }
211
13
  export {
212
- pe as default
14
+ r as getType,
15
+ o as isArray,
16
+ c as isPlainObject
213
17
  };