bitboss-ui 2.1.113 → 2.1.114

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 (191) hide show
  1. package/dist/components/BaseCheckboxGroup/types.d.ts +12 -4
  2. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +1 -1
  3. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +8 -2
  4. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +1 -1
  5. package/dist/index109.js +9 -9
  6. package/dist/index110.js +18 -18
  7. package/dist/index118.js +1 -1
  8. package/dist/index122.js +1 -0
  9. package/dist/index124.js +4 -4
  10. package/dist/index126.js +13 -13
  11. package/dist/index134.js +1 -1
  12. package/dist/index136.js +5 -5
  13. package/dist/index138.js +1 -1
  14. package/dist/index14.js +1 -1
  15. package/dist/index140.js +2 -2
  16. package/dist/index144.js +1 -1
  17. package/dist/index146.js +2 -2
  18. package/dist/index149.js +2 -2
  19. package/dist/index16.js +3 -3
  20. package/dist/index18.js +3 -3
  21. package/dist/index20.js +70 -59
  22. package/dist/index22.js +14 -14
  23. package/dist/index221.js +138 -2
  24. package/dist/index222.js +2 -138
  25. package/dist/index224.js +5 -34
  26. package/dist/index225.js +7 -32
  27. package/dist/index226.js +33 -28
  28. package/dist/index227.js +30 -0
  29. package/dist/index229.js +3 -7
  30. package/dist/index230.js +13 -7
  31. package/dist/index231.js +20 -2
  32. package/dist/index232.js +2 -9
  33. package/dist/index233.js +4 -13
  34. package/dist/index234.js +86 -3
  35. package/dist/index236.js +30 -11
  36. package/dist/index237.js +17 -8
  37. package/dist/index238.js +51 -3
  38. package/dist/index239.js +18 -3
  39. package/dist/index24.js +10 -10
  40. package/dist/index240.js +3 -2
  41. package/dist/index241.js +11 -17
  42. package/dist/index242.js +17 -11
  43. package/dist/index243.js +8 -51
  44. package/dist/index244.js +2 -18
  45. package/dist/index245.js +3 -12
  46. package/dist/index246.js +5 -17
  47. package/dist/index247.js +5 -30
  48. package/dist/index248.js +5 -18
  49. package/dist/index249.js +5 -4
  50. package/dist/index250.js +5 -106
  51. package/dist/index251.js +7 -0
  52. package/dist/index252.js +3 -100
  53. package/dist/{index254.js → index253.js} +6 -6
  54. package/dist/index255.js +4 -0
  55. package/dist/index256.js +100 -101
  56. package/dist/index258.js +100 -2
  57. package/dist/index26.js +3 -3
  58. package/dist/index260.js +10 -7
  59. package/dist/index261.js +3 -86
  60. package/dist/index262.js +6 -0
  61. package/dist/index263.js +3 -5
  62. package/dist/index264.js +188 -5
  63. package/dist/index265.js +3 -5
  64. package/dist/index266.js +5 -5
  65. package/dist/index267.js +6 -5
  66. package/dist/index268.js +268 -5
  67. package/dist/index269.js +42 -57
  68. package/dist/index270.js +51 -32
  69. package/dist/index271.js +32 -2
  70. package/dist/index272.js +60 -2
  71. package/dist/index273.js +7 -3
  72. package/dist/index274.js +2 -4
  73. package/dist/index275.js +369 -19
  74. package/dist/index277.js +2 -13
  75. package/dist/index278.js +7 -5
  76. package/dist/index279.js +6 -5
  77. package/dist/index28.js +1 -1
  78. package/dist/index280.js +2 -268
  79. package/dist/index281.js +30 -48
  80. package/dist/index282.js +9 -52
  81. package/dist/index283.js +25 -32
  82. package/dist/index284.js +11 -60
  83. package/dist/index285.js +13 -4
  84. package/dist/index286.js +21 -18
  85. package/dist/index287.js +9 -5
  86. package/dist/index288.js +23 -373
  87. package/dist/index289.js +7 -0
  88. package/dist/index290.js +9 -6
  89. package/dist/index291.js +20 -15
  90. package/dist/index292.js +6 -10
  91. package/dist/index293.js +16 -3
  92. package/dist/index294.js +17 -8
  93. package/dist/index295.js +12 -21
  94. package/dist/index296.js +106 -8
  95. package/dist/index297.js +6 -23
  96. package/dist/index298.js +3 -25
  97. package/dist/index299.js +51 -186
  98. package/dist/index30.js +3 -3
  99. package/dist/index300.js +13 -3
  100. package/dist/index301.js +67 -3
  101. package/dist/index302.js +31 -51
  102. package/dist/index305.js +1 -1
  103. package/dist/index306.js +4 -2
  104. package/dist/index307.js +7 -5
  105. package/dist/index308.js +3 -7
  106. package/dist/index309.js +17 -3
  107. package/dist/index310.js +28 -3
  108. package/dist/index311.js +1 -1
  109. package/dist/index312.js +3 -2
  110. package/dist/index313.js +5 -28
  111. package/dist/index314.js +3 -17
  112. package/dist/index315.js +3 -4
  113. package/dist/index316.js +280 -2
  114. package/dist/index317.js +2 -3
  115. package/dist/index318.js +13 -277
  116. package/dist/index319.js +2 -2
  117. package/dist/index32.js +2 -2
  118. package/dist/index320.js +12 -121
  119. package/dist/index321.js +2 -2
  120. package/dist/index322.js +25 -13
  121. package/dist/index324.js +2 -16
  122. package/dist/index325.js +2 -2
  123. package/dist/index326.js +2 -16
  124. package/dist/index327.js +2 -2
  125. package/dist/index328.js +2 -19
  126. package/dist/index329.js +125 -2
  127. package/dist/index330.js +2 -27
  128. package/dist/index331.js +15 -2
  129. package/dist/index332.js +2 -2
  130. package/dist/index333.js +19 -2
  131. package/dist/index334.js +2 -2
  132. package/dist/index335.js +1 -1
  133. package/dist/index336.js +719 -2
  134. package/dist/index337.js +366 -3
  135. package/dist/index338.js +56 -3
  136. package/dist/index339.js +4 -719
  137. package/dist/index34.js +8 -8
  138. package/dist/index340.js +5 -366
  139. package/dist/index341.js +2 -57
  140. package/dist/index343.js +2 -5
  141. package/dist/index344.js +6 -34
  142. package/dist/index345.js +66 -128
  143. package/dist/index346.js +65 -396
  144. package/dist/index347.js +34 -199
  145. package/dist/index348.js +125 -255
  146. package/dist/index349.js +390 -220
  147. package/dist/index350.js +7 -67
  148. package/dist/index351.js +18 -66
  149. package/dist/index352.js +9 -2
  150. package/dist/index353.js +15 -2
  151. package/dist/index354.js +5 -134
  152. package/dist/index355.js +200 -7
  153. package/dist/index356.js +257 -17
  154. package/dist/index357.js +92 -8
  155. package/dist/index358.js +225 -12
  156. package/dist/index359.js +134 -5
  157. package/dist/index36.js +4 -4
  158. package/dist/index360.js +22 -7
  159. package/dist/index362.js +4 -0
  160. package/dist/index363.js +2 -93
  161. package/dist/index367.js +1 -1
  162. package/dist/index38.js +133 -131
  163. package/dist/index40.js +7 -7
  164. package/dist/index42.js +2 -2
  165. package/dist/index44.js +16 -15
  166. package/dist/index46.js +6 -6
  167. package/dist/index50.js +2 -2
  168. package/dist/index54.js +1 -1
  169. package/dist/index56.js +1 -1
  170. package/dist/index58.js +2 -2
  171. package/dist/index60.js +2 -2
  172. package/dist/index62.js +5 -5
  173. package/dist/index66.js +3 -1
  174. package/dist/index68.js +1 -1
  175. package/dist/index74.js +4 -4
  176. package/dist/index82.js +6 -6
  177. package/dist/index84.js +1 -1
  178. package/dist/index86.js +2 -2
  179. package/dist/index88.js +3 -3
  180. package/dist/index90.js +1 -1
  181. package/dist/index93.js +3 -3
  182. package/dist/index95.js +2 -2
  183. package/dist/index97.js +5 -5
  184. package/dist/index99.js +1 -1
  185. package/package.json +1 -1
  186. package/dist/index228.js +0 -7
  187. package/dist/index235.js +0 -4
  188. package/dist/index257.js +0 -15
  189. package/dist/index259.js +0 -9
  190. package/dist/index276.js +0 -8
  191. package/dist/index361.js +0 -24
package/dist/index347.js CHANGED
@@ -1,202 +1,37 @@
1
- import { defineComponent as U, useTemplateRef as L, computed as n, watch as f, ref as W, createElementBlock as s, openBlock as u, withModifiers as X, normalizeStyle as x, normalizeClass as z, createElementVNode as c, renderSlot as r, createTextVNode as I, toDisplayString as h, unref as E, Fragment as Z, renderList as w } from "vue";
2
- import { isNil as g } from "./index231.js";
3
- import { isNotNil as ee } from "./index150.js";
4
- import { useVirtualizer as te } from "./index366.js";
5
- import { hash as N } from "./index238.js";
6
- import { useLocale as oe } from "./index233.js";
7
- import { useListboxFocus as ae } from "./index367.js";
8
- import { indexBy as ie } from "./index295.js";
9
- const le = { class: "bb-listbox__outer-container scrollbar-border" }, ne = {
10
- ref: "inner",
11
- class: "bb-listbox__inner-container",
12
- tabindex: "-1"
13
- }, se = {
14
- key: 0,
15
- class: "bb-listbox__loading"
16
- }, ue = {
17
- key: 1,
18
- class: "bb-listbox__no-data"
19
- }, de = ["aria-activedescendant", "aria-multiselectable"], ce = ["aria-selected", "data-index", "id"], re = { class: "autocomplete-option__label" }, _e = /* @__PURE__ */ U({
20
- __name: "FlatListBox",
21
- props: {
22
- compact: { type: Boolean },
23
- options: {},
24
- open: { type: Boolean },
25
- loading: { type: Boolean },
26
- multiple: { type: Boolean },
27
- transitionDuration: { default: 250 },
28
- loadingText: {},
29
- noDataText: {},
30
- optionHeight: {}
31
- },
32
- emits: ["option:selected", "option:unselected", "focused:change"],
33
- setup(F, { expose: M, emit: R }) {
34
- const i = F, v = R, { t: _ } = oe(), d = L("inner"), V = L("listbox"), y = n(() => i.optionHeight ? i.optionHeight : i.compact ? 32 : 40), p = te({
35
- get count() {
36
- return i.options.length;
37
- },
38
- getScrollElement: () => d.value ?? null,
39
- estimateSize: () => y.value,
40
- overscan: 5
41
- }), C = n(() => p.value.getVirtualItems()), O = n(() => p.value.getTotalSize()), H = n(
42
- () => i.options.map((e, a) => ({
43
- index: a,
44
- text: e.text,
45
- value: e.value,
46
- valueHash: e.valueHash,
47
- item: e.item,
48
- selected: !!e.selected,
49
- disabled: !!e.disabled,
50
- focused: a === l.value
51
- }))
52
- ), o = n(() => ie(H.value, "index")), k = (e) => `listbox-option-${e}`, m = n(() => {
53
- if (g(l.value)) return;
54
- const e = o.value[l.value];
55
- if (e)
56
- return k(e.valueHash);
57
- }), b = n(() => H.value.length > 0), {
58
- focusedIndex: l,
59
- focusNext: A,
60
- focusPrevious: P,
61
- focusFirst: Y,
62
- focusLast: j,
63
- focusFirstSelected: q,
64
- focusLastSelected: G,
65
- focusByHash: J,
66
- blur: B,
67
- getHighlighted: K
68
- } = ae(() => i.options, { disabled: () => !i.open });
69
- f(l, (e) => {
70
- d.value && ee(e) && p.value.scrollToIndex(e, {
71
- align: "center",
72
- behavior: "smooth"
73
- }), v("focused:change", m.value);
74
- });
75
- const T = () => {
76
- if (g(l.value) || !i.open) return;
77
- const e = o.value[l.value];
78
- e.disabled || (e.selected ? v("option:unselected", e) : v("option:selected", e));
79
- }, $ = W(0), S = () => {
80
- d.value && ($.value = d.value.scrollHeight);
81
- }, Q = (e) => {
82
- if (e.preventDefault(), d.value && e.target instanceof HTMLElement && V.value) {
83
- let a = e.target, t = a.dataset.index;
84
- for (; g(t) && a.parentElement; )
85
- a = a.parentElement, t = a.dataset.index;
86
- if (t) {
87
- const D = o.value[+t];
88
- D && !D.disabled && (l.value = +t, T());
89
- }
90
- }
1
+ import { ref as c, computed as a } from "vue";
2
+ function w(o) {
3
+ const e = c(!1), r = c(!1);
4
+ let n = null;
5
+ const s = () => {
6
+ if (e.value)
7
+ throw new Error("Operation was cancelled");
8
+ }, u = async (...i) => {
9
+ r.value && t(), e.value = !1, r.value = !0, n = new AbortController();
10
+ const f = {
11
+ signal: n.signal,
12
+ isCancelled: a(() => e.value),
13
+ checkCancelled: s
91
14
  };
92
- return f(
93
- () => i.open,
94
- () => {
95
- S();
96
- },
97
- { flush: "post" }
98
- ), f(
99
- () => i.options,
100
- (e, a) => {
101
- N(e.map((t) => t.valueHash)) !== N(a.map((t) => t.valueHash)) && (p.value.calculateRange(), S(), B());
102
- },
103
- { flush: "post" }
104
- ), M({
105
- focusNext: A,
106
- focusPrevious: P,
107
- focusFirst: Y,
108
- focusFirstSelected: q,
109
- focusLast: j,
110
- focusLastSelected: G,
111
- blur: B,
112
- confirmOption: T,
113
- focusByHash: J,
114
- getHighlighted: K,
115
- getActiveDescendantId: () => m.value
116
- }), (e, a) => (u(), s("span", {
117
- class: z(["bb-listbox", {
118
- "bb-listbox--compact": e.compact,
119
- "bb-listbox--loading": e.loading,
120
- "bb-listbox--multiple": e.multiple,
121
- "bb-listbox--no-data": !b.value,
122
- "bb-listbox--open": e.open
123
- }]),
124
- style: x({
125
- "--transition-duration": `${e.transitionDuration}ms`,
126
- "--overlay-min-height": `${$.value}px`,
127
- "--option-height": `${y.value}px`
128
- }),
129
- onClick: X(Q, ["stop"])
130
- }, [
131
- c("span", le, [
132
- c("span", ne, [
133
- r(e.$slots, "options:prepend"),
134
- e.loading && !b.value ? (u(), s("span", se, [
135
- r(e.$slots, "loading", {}, () => [
136
- I(h(e.loadingText || E(_)("common.loadingText").value), 1)
137
- ])
138
- ])) : b.value ? (u(), s("span", {
139
- key: 2,
140
- role: "listbox",
141
- ref: "listbox",
142
- style: x({
143
- height: `${O.value}px`
144
- }),
145
- "aria-activedescendant": m.value,
146
- "aria-multiselectable": e.multiple ? !0 : void 0,
147
- tabindex: "-1"
148
- }, [
149
- (u(!0), s(Z, null, w(C.value, (t) => (u(), s("span", {
150
- key: o.value[t.index].valueHash,
151
- "aria-selected": o.value[t.index].focused ? !0 : void 0,
152
- class: z({
153
- "bb-listbox__option autocomplete-option": !0,
154
- "autocomplete-option--focused": o.value[t.index].focused,
155
- "autocomplete-option--selected": o.value[t.index].selected,
156
- "autocomplete-option--disabled": o.value[t.index].disabled
157
- }),
158
- "data-index": t.index,
159
- id: k(o.value[t.index].valueHash),
160
- role: "option",
161
- style: x({
162
- transform: `translateY(${t.start}px)`
163
- })
164
- }, [
165
- r(e.$slots, "option", {
166
- disabled: o.value[t.index].disabled,
167
- focused: o.value[t.index].focused,
168
- index: t.index,
169
- item: o.value[t.index].item,
170
- selected: o.value[t.index].selected,
171
- text: o.value[t.index].text,
172
- value: o.value[t.index].value
173
- }, () => [
174
- a[0] || (a[0] = c("svg", {
175
- class: "autocomplete-option__checkbox",
176
- role: "presentation",
177
- viewBox: "276.411 158.834 114.971 114.97"
178
- }, [
179
- c("path", {
180
- d: "M 297.574 224.786 L 318.309 243.134 L 371.568 189.232",
181
- fill: "none",
182
- "stroke-linecap": "round",
183
- "stroke-width": "14px"
184
- })
185
- ], -1)),
186
- c("span", re, h(o.value[t.index].text), 1)
187
- ])
188
- ], 14, ce))), 128))
189
- ], 12, de)) : (u(), s("span", ue, [
190
- r(e.$slots, "no-data", {}, () => [
191
- I(h(e.noDataText || E(_)("common.noDataText").value), 1)
192
- ])
193
- ])),
194
- r(e.$slots, "options:append")
195
- ], 512)
196
- ])
197
- ], 6));
198
- }
199
- });
15
+ try {
16
+ const l = await o(f, ...i);
17
+ if (!e.value)
18
+ return l;
19
+ throw new Error("Operation was cancelled");
20
+ } catch (l) {
21
+ throw l instanceof Error && (l.message === "Operation was cancelled" || l.name === "AbortError"), l;
22
+ } finally {
23
+ r.value = !1, n = null;
24
+ }
25
+ }, t = () => {
26
+ n && !e.value && (e.value = !0, n.abort());
27
+ };
28
+ return {
29
+ execute: u,
30
+ cancel: t,
31
+ isCancelled: a(() => e.value),
32
+ isExecuting: a(() => r.value)
33
+ };
34
+ }
200
35
  export {
201
- _e as default
36
+ w as useCancelableFunction
202
37
  };
package/dist/index348.js CHANGED
@@ -1,261 +1,131 @@
1
- import { defineComponent as pe, useTemplateRef as G, computed as i, watch as E, ref as ve, createElementBlock as r, openBlock as c, withModifiers as he, normalizeStyle as V, normalizeClass as J, createElementVNode as v, renderSlot as b, createTextVNode as P, toDisplayString as x, unref as g, Fragment as Y, renderList as K } from "vue";
2
- import { isNil as f } from "./index231.js";
3
- import { useVirtualizer as be } from "./index366.js";
4
- import { useLocale as me } from "./index233.js";
5
- import { useListboxFocus as xe } from "./index367.js";
6
- import { indexBy as A } from "./index295.js";
7
- const ge = { class: "bb-listbox__outer-container scrollbar-border" }, fe = {
8
- ref: "inner",
9
- class: "bb-listbox__inner-container",
10
- tabindex: "-1"
11
- }, He = {
12
- key: 0,
13
- class: "bb-listbox__loading"
14
- }, _e = {
15
- key: 1,
16
- class: "bb-listbox__no-data"
17
- }, ye = ["aria-activedescendant", "aria-multiselectable"], Ie = ["aria-labelledby", "aria-disabled"], $e = ["id"], ke = { class: "bb-listbox__group-header-label" }, Be = ["aria-selected", "aria-setsize", "aria-posinset", "id", "data-index"], De = { class: "autocomplete-option__label" }, Ee = /* @__PURE__ */ pe({
18
- __name: "GroupedListBox",
19
- props: {
20
- compact: { type: Boolean },
21
- groups: {},
22
- headerHeight: {},
23
- loading: { type: Boolean },
24
- loadingText: {},
25
- multiple: { type: Boolean },
26
- noDataText: {},
27
- open: { type: Boolean },
28
- optionHeight: {},
29
- transitionDuration: { default: 250 }
30
- },
31
- emits: ["option:selected", "option:unselected", "focused:change"],
32
- setup(Q, { expose: U, emit: W }) {
33
- const s = Q, H = W, { t: F } = me(), h = G("inner"), X = G("listbox"), _ = i(() => s.optionHeight ? s.optionHeight : s.compact ? 32 : 40), y = i(() => s.headerHeight ? s.headerHeight : s.compact ? 24 : 32), Z = i(() => {
34
- let e = 0;
35
- return s.groups.map((a, t) => {
36
- const l = a.id, p = e, d = a.options.length, D = y.value + d * _.value, M = `group-header-${a.id}`, S = typeof a.data == "string" ? a.data : JSON.stringify(a.data), T = a.options.every((O) => O.disabled), z = a.data, L = a.options;
37
- return e += d, {
38
- offset: p,
39
- length: d,
40
- height: D,
41
- id: l,
42
- headerId: M,
43
- label: S,
44
- index: t,
45
- allOptionsAreDisabled: T,
46
- data: z,
47
- options: L
48
- };
49
- });
50
- }), n = i(
51
- () => A(Z.value, "index")
52
- ), m = i(() => s.groups.flatMap(
53
- (e, a) => e.options.map((t, l) => {
54
- const p = t.valueHash, d = n.value[a].offset + l, D = e.id, M = !!t.selected, S = !!t.disabled, T = t.item, z = t.text, L = t.value, O = d === u.value;
55
- return {
56
- id: p,
57
- globalIndex: d,
58
- groupIndex: a,
59
- groupId: D,
60
- indexInGroup: l,
61
- selected: M,
62
- disabled: S,
63
- item: T,
64
- text: z,
65
- value: L,
66
- valueHash: t.valueHash,
67
- focused: O
68
- };
69
- })
70
- )), o = i(() => A(m.value, "id")), I = i(
71
- () => A(m.value, "globalIndex")
72
- ), N = (e) => `listbox-option-${e}`, $ = i(() => {
73
- if (f(u.value)) return;
74
- const e = I.value[u.value];
75
- if (e)
76
- return N(e.valueHash);
77
- }), k = i(() => m.value.length > 0), w = (e) => y.value + s.groups[e].options.length * _.value, B = be({
78
- get count() {
79
- return s.groups.length;
80
- },
81
- getScrollElement: () => h.value ?? null,
82
- estimateSize: (e) => w(e),
83
- overscan: 2
84
- }), ee = i(() => B.value.getVirtualItems()), te = i(() => B.value.getTotalSize()), {
85
- focusedIndex: u,
86
- focusNext: ae,
87
- focusPrevious: le,
88
- focusFirst: se,
89
- focusLast: oe,
90
- focusFirstSelected: ne,
91
- focusLastSelected: ie,
92
- focusByHash: ue,
93
- blur: C,
94
- getHighlighted: de
95
- } = xe(
96
- i(() => m.value),
97
- { disabled: () => !s.open }
98
- ), re = () => {
99
- if (!h.value || f(u.value)) return;
100
- const e = h.value.querySelector(
101
- `[data-index="${u.value}"]`
102
- );
103
- e && e.scrollIntoView({ block: "nearest", behavior: "smooth" });
1
+ import { arrow as j, computePosition as A } from "./index349.js";
2
+ import { autoUpdate as W, flip as X, hide as Y, offset as Z, platform as ee, shift as ne } from "./index349.js";
3
+ import { isNode as B, getNodeName as F } from "./index359.js";
4
+ import { getOverflowAncestors as le } from "./index359.js";
5
+ import { computed as r, ref as c, shallowRef as I, watch as x, getCurrentScope as U, onScopeDispose as k, shallowReadonly as o, unref as q } from "vue";
6
+ function z(e) {
7
+ return e != null && typeof e == "object" && "$el" in e;
8
+ }
9
+ function V(e) {
10
+ if (z(e)) {
11
+ const l = e.$el;
12
+ return B(l) && F(l) === "#comment" ? null : l;
13
+ }
14
+ return e;
15
+ }
16
+ function i(e) {
17
+ return typeof e == "function" ? e() : q(e);
18
+ }
19
+ function K(e) {
20
+ return {
21
+ name: "arrow",
22
+ options: e,
23
+ fn(l) {
24
+ const t = V(i(e.element));
25
+ return t == null ? {} : j({
26
+ element: t,
27
+ padding: e.padding
28
+ }).fn(l);
29
+ }
30
+ };
31
+ }
32
+ function M(e) {
33
+ return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
34
+ }
35
+ function C(e, l) {
36
+ const t = M(e);
37
+ return Math.round(l * t) / t;
38
+ }
39
+ function L(e, l, t) {
40
+ t === void 0 && (t = {});
41
+ const D = t.whileElementsMounted, s = r(() => {
42
+ var n;
43
+ return (n = i(t.open)) != null ? n : !0;
44
+ }), O = r(() => i(t.middleware)), p = r(() => {
45
+ var n;
46
+ return (n = i(t.placement)) != null ? n : "bottom";
47
+ }), w = r(() => {
48
+ var n;
49
+ return (n = i(t.strategy)) != null ? n : "absolute";
50
+ }), S = r(() => {
51
+ var n;
52
+ return (n = i(t.transform)) != null ? n : !0;
53
+ }), f = r(() => V(e.value)), u = r(() => V(l.value)), y = c(0), h = c(0), m = c(w.value), P = c(p.value), E = I({}), g = c(!1), _ = r(() => {
54
+ const n = {
55
+ position: m.value,
56
+ left: "0",
57
+ top: "0"
104
58
  };
105
- E(u, () => {
106
- re(), H("focused:change", $.value);
107
- });
108
- const R = () => {
109
- if (f(u.value) || !s.open) return;
110
- const e = I.value[u.value];
111
- if (!e || e.disabled) return;
112
- const a = {
113
- text: e.text,
114
- value: e.value,
115
- item: e.item,
116
- valueHash: e.valueHash,
117
- selected: e.selected,
118
- disabled: e.disabled
119
- };
120
- e.selected ? H("option:unselected", a) : H("option:selected", a);
121
- }, j = ve(0), q = () => {
122
- h.value && (j.value = h.value.scrollHeight);
123
- }, ce = (e) => {
124
- if (e.preventDefault(), h.value && e.target instanceof HTMLElement && X.value) {
125
- let a = e.target, t = a.dataset.index;
126
- for (; f(t) && a.parentElement; )
127
- a = a.parentElement, t = a.dataset.index;
128
- if (t) {
129
- const l = I.value[+t];
130
- l && !l.disabled && (u.value = +t, R());
131
- }
59
+ if (!u.value)
60
+ return n;
61
+ const a = C(u.value, y.value), b = C(u.value, h.value);
62
+ return S.value ? {
63
+ ...n,
64
+ transform: "translate(" + a + "px, " + b + "px)",
65
+ ...M(u.value) >= 1.5 && {
66
+ willChange: "transform"
132
67
  }
68
+ } : {
69
+ position: m.value,
70
+ left: a + "px",
71
+ top: b + "px"
133
72
  };
134
- return E(() => s.open, q, { flush: "post" }), E(
135
- () => s.groups,
136
- (e, a) => {
137
- const t = e.flatMap((p) => p.options.map((d) => d.valueHash)).join(","), l = a.flatMap((p) => p.options.map((d) => d.valueHash)).join(",");
138
- t !== l && (B.value.measure(), q(), C());
139
- },
140
- { flush: "post" }
141
- ), U({
142
- focusNext: ae,
143
- focusPrevious: le,
144
- focusFirst: se,
145
- focusFirstSelected: ne,
146
- focusLast: oe,
147
- focusLastSelected: ie,
148
- blur: C,
149
- confirmOption: R,
150
- focusByHash: ue,
151
- getHighlighted: de,
152
- getActiveDescendantId: () => $.value
153
- }), (e, a) => (c(), r("span", {
154
- class: J(["bb-listbox bb-listbox--grouped", {
155
- "bb-listbox--compact": e.compact,
156
- "bb-listbox--loading": e.loading,
157
- "bb-listbox--multiple": e.multiple,
158
- "bb-listbox--no-data": !k.value,
159
- "bb-listbox--open": e.open
160
- }]),
161
- style: V({
162
- "--transition-duration": `${e.transitionDuration}ms`,
163
- "--overlay-min-height": `${j.value}px`,
164
- "--option-height": `${_.value}px`,
165
- "--group-header-height": `${y.value}px`
166
- }),
167
- onClick: he(ce, ["stop"])
168
- }, [
169
- v("span", ge, [
170
- v("span", fe, [
171
- b(e.$slots, "options:prepend"),
172
- e.loading && !k.value ? (c(), r("span", He, [
173
- b(e.$slots, "loading", {}, () => [
174
- P(x(e.loadingText || g(F)("common.loadingText").value), 1)
175
- ])
176
- ])) : k.value ? (c(), r("span", {
177
- key: 2,
178
- role: "listbox",
179
- ref: "listbox",
180
- style: V({ height: `${te.value}px` }),
181
- "aria-activedescendant": $.value,
182
- "aria-multiselectable": e.multiple ? !0 : void 0,
183
- tabindex: "-1"
184
- }, [
185
- (c(!0), r(Y, null, K(ee.value, (t) => (c(), r("span", {
186
- key: n.value[t.index].id,
187
- style: V({ transform: `translateY(${t.start}px)` }),
188
- role: "group",
189
- "aria-labelledby": n.value[t.index].headerId,
190
- "aria-disabled": n.value[t.index].allOptionsAreDisabled,
191
- class: "bb-listbox__group"
192
- }, [
193
- v("span", {
194
- class: "bb-listbox__group-header",
195
- role: "presentation",
196
- id: n.value[t.index].headerId
197
- }, [
198
- b(e.$slots, "group", {
199
- text: n.value[t.index].label,
200
- item: n.value[t.index].data,
201
- index: t.index,
202
- length: n.value[t.index].length,
203
- disabled: n.value[t.index].allOptionsAreDisabled
204
- }, () => [
205
- v("span", ke, x(n.value[t.index].label), 1)
206
- ])
207
- ], 8, $e),
208
- (c(!0), r(Y, null, K(n.value[t.index].options, (l) => (c(), r("span", {
209
- key: l.valueHash,
210
- "aria-selected": o.value[l.valueHash].selected ? !0 : void 0,
211
- "aria-setsize": n.value[t.index].length,
212
- "aria-posinset": o.value[l.valueHash].indexInGroup + 1,
213
- id: N(l.valueHash),
214
- class: J({
215
- "bb-listbox__option autocomplete-option": !0,
216
- "autocomplete-option--focused": g(u) === o.value[l.valueHash].globalIndex,
217
- "autocomplete-option--selected": o.value[l.valueHash].selected,
218
- "autocomplete-option--disabled": o.value[l.valueHash].disabled
219
- }),
220
- "data-index": o.value[l.valueHash].globalIndex,
221
- role: "option"
222
- }, [
223
- b(e.$slots, "option", {
224
- disabled: !!o.value[l.valueHash].disabled,
225
- focused: g(u) === o.value[l.valueHash].globalIndex,
226
- index: o.value[l.valueHash].globalIndex,
227
- item: o.value[l.valueHash].item,
228
- selected: !!o.value[l.valueHash].selected,
229
- text: o.value[l.valueHash].text,
230
- value: o.value[l.valueHash].value
231
- }, () => [
232
- a[0] || (a[0] = v("svg", {
233
- class: "autocomplete-option__checkbox",
234
- role: "presentation",
235
- viewBox: "276.411 158.834 114.971 114.97"
236
- }, [
237
- v("path", {
238
- d: "M 297.574 224.786 L 318.309 243.134 L 371.568 189.232",
239
- fill: "none",
240
- "stroke-linecap": "round",
241
- "stroke-width": "14px"
242
- })
243
- ], -1)),
244
- v("span", De, x(o.value[l.valueHash].text), 1)
245
- ])
246
- ], 10, Be))), 128))
247
- ], 12, Ie))), 128))
248
- ], 12, ye)) : (c(), r("span", _e, [
249
- b(e.$slots, "no-data", {}, () => [
250
- P(x(e.noDataText || g(F)("common.noDataText").value), 1)
251
- ])
252
- ])),
253
- b(e.$slots, "options:append")
254
- ], 512)
255
- ])
256
- ], 6));
73
+ });
74
+ let d;
75
+ function v() {
76
+ if (f.value == null || u.value == null)
77
+ return;
78
+ const n = s.value;
79
+ A(f.value, u.value, {
80
+ middleware: O.value,
81
+ placement: p.value,
82
+ strategy: w.value
83
+ }).then((a) => {
84
+ y.value = a.x, h.value = a.y, m.value = a.strategy, P.value = a.placement, E.value = a.middlewareData, g.value = n !== !1;
85
+ });
86
+ }
87
+ function R() {
88
+ typeof d == "function" && (d(), d = void 0);
89
+ }
90
+ function N() {
91
+ if (R(), D === void 0) {
92
+ v();
93
+ return;
94
+ }
95
+ if (f.value != null && u.value != null) {
96
+ d = D(f.value, u.value, v);
97
+ return;
98
+ }
99
+ }
100
+ function $() {
101
+ s.value || (g.value = !1);
257
102
  }
258
- });
103
+ return x([O, p, w, s], v, {
104
+ flush: "sync"
105
+ }), x([f, u], N, {
106
+ flush: "sync"
107
+ }), x(s, $, {
108
+ flush: "sync"
109
+ }), U() && k(R), {
110
+ x: o(y),
111
+ y: o(h),
112
+ strategy: o(m),
113
+ placement: o(P),
114
+ middlewareData: o(E),
115
+ isPositioned: o(g),
116
+ floatingStyles: _,
117
+ update: v
118
+ };
119
+ }
259
120
  export {
260
- Ee as default
121
+ K as arrow,
122
+ W as autoUpdate,
123
+ A as computePosition,
124
+ X as flip,
125
+ le as getOverflowAncestors,
126
+ Y as hide,
127
+ Z as offset,
128
+ ee as platform,
129
+ ne as shift,
130
+ L as useFloating
261
131
  };