bitboss-ui 2.1.99 → 2.1.101

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