bitboss-ui 2.1.131 → 2.1.133

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 (198) hide show
  1. package/dist/ai/BbDropdown.md +66 -13
  2. package/dist/ai/BbDropdownButton.md +29 -13
  3. package/dist/ai/BbTable.md +25 -11
  4. package/dist/components/BbDropdown/types.d.ts +14 -2
  5. package/dist/components/BbDropdownButton/types.d.ts +2 -2
  6. package/dist/components/BbTable/types.d.ts +6 -4
  7. package/dist/index.css +1 -1
  8. package/dist/index109.js +9 -9
  9. package/dist/index110.js +18 -18
  10. package/dist/index118.js +1 -1
  11. package/dist/index124.js +3 -3
  12. package/dist/index126.js +183 -180
  13. package/dist/index134.js +1 -1
  14. package/dist/index136.js +4 -4
  15. package/dist/index138.js +1 -1
  16. package/dist/index14.js +1 -1
  17. package/dist/index142.js +2 -2
  18. package/dist/index146.js +1 -1
  19. package/dist/index150.js +1 -1
  20. package/dist/index151.js +2 -2
  21. package/dist/index16.js +3 -3
  22. package/dist/index18.js +3 -3
  23. package/dist/index20.js +9 -9
  24. package/dist/index22.js +14 -14
  25. package/dist/index224.js +2 -2
  26. package/dist/index226.js +2 -2
  27. package/dist/index227.js +86 -5
  28. package/dist/index229.js +30 -4
  29. package/dist/index230.js +17 -13
  30. package/dist/index231.js +49 -371
  31. package/dist/index232.js +20 -0
  32. package/dist/index233.js +3 -160
  33. package/dist/index234.js +14 -0
  34. package/dist/index235.js +18 -25
  35. package/dist/index236.js +8 -2
  36. package/dist/index237.js +5 -2
  37. package/dist/index238.js +8 -2
  38. package/dist/index239.js +2 -7
  39. package/dist/index24.js +10 -10
  40. package/dist/index240.js +2 -2
  41. package/dist/index241.js +3 -7
  42. package/dist/index242.js +4 -3
  43. package/dist/index243.js +187 -33
  44. package/dist/index244.js +3 -5
  45. package/dist/index245.js +13 -5
  46. package/dist/index246.js +34 -5
  47. package/dist/index247.js +2 -5
  48. package/dist/index248.js +10 -5
  49. package/dist/index249.js +3 -5
  50. package/dist/index250.js +4 -3
  51. package/dist/index251.js +4 -8
  52. package/dist/index252.js +20 -3
  53. package/dist/index253.js +5 -18
  54. package/dist/index254.js +5 -12
  55. package/dist/index255.js +5 -51
  56. package/dist/index256.js +5 -18
  57. package/dist/index257.js +2 -12
  58. package/dist/index258.js +6 -17
  59. package/dist/index259.js +268 -30
  60. package/dist/index26.js +3 -3
  61. package/dist/index260.js +52 -18
  62. package/dist/index261.js +52 -4
  63. package/dist/index262.js +26 -100
  64. package/dist/{index297.js → index263.js} +1 -1
  65. package/dist/index264.js +5 -100
  66. package/dist/index265.js +7 -0
  67. package/dist/index266.js +5 -107
  68. package/dist/index267.js +3 -13
  69. package/dist/index268.js +160 -11
  70. package/dist/index270.js +3 -3
  71. package/dist/index271.js +7 -3
  72. package/dist/index272.js +2 -86
  73. package/dist/index273.js +4 -0
  74. package/dist/index274.js +6 -8
  75. package/dist/index275.js +7 -23
  76. package/dist/index276.js +25 -23
  77. package/dist/index277.js +9 -13
  78. package/dist/index278.js +3 -7
  79. package/dist/index279.js +13 -9
  80. package/dist/index28.js +1 -1
  81. package/dist/index280.js +13 -5
  82. package/dist/index281.js +373 -2
  83. package/dist/index283.js +23 -3
  84. package/dist/index284.js +67 -33
  85. package/dist/index285.js +7 -26
  86. package/dist/index286.js +46 -0
  87. package/dist/index287.js +52 -8
  88. package/dist/index288.js +10 -43
  89. package/dist/index289.js +16 -51
  90. package/dist/index290.js +12 -2
  91. package/dist/index291.js +33 -5
  92. package/dist/index292.js +107 -6
  93. package/dist/index293.js +5 -267
  94. package/dist/index294.js +100 -46
  95. package/dist/index296.js +96 -28
  96. package/dist/index298.js +5 -3
  97. package/dist/index299.js +8 -20
  98. package/dist/index30.js +3 -3
  99. package/dist/index300.js +23 -67
  100. package/dist/index301.js +8 -6
  101. package/dist/index302.js +6 -4
  102. package/dist/index303.js +15 -19
  103. package/dist/index304.js +28 -6
  104. package/dist/index306.js +20 -3
  105. package/dist/index307.js +3 -7
  106. package/dist/index308.js +17 -3
  107. package/dist/index309.js +28 -5
  108. package/dist/index310.js +7 -2
  109. package/dist/index311.js +4 -0
  110. package/dist/index312.js +3 -6
  111. package/dist/index313.js +5 -3
  112. package/dist/index316.js +12 -121
  113. package/dist/index317.js +2 -2
  114. package/dist/index318.js +11 -10
  115. package/dist/index32.js +2 -2
  116. package/dist/index320.js +23 -12
  117. package/dist/index322.js +2 -16
  118. package/dist/index323.js +2 -2
  119. package/dist/index324.js +2 -19
  120. package/dist/index325.js +2 -2
  121. package/dist/index326.js +2 -3
  122. package/dist/index327.js +125 -3
  123. package/dist/index328.js +2 -17
  124. package/dist/index329.js +14 -27
  125. package/dist/index330.js +2 -3
  126. package/dist/index331.js +19 -3
  127. package/dist/index332.js +2 -2
  128. package/dist/index333.js +3 -4
  129. package/dist/index334.js +4 -4
  130. package/dist/index335.js +2 -27
  131. package/dist/index336.js +3 -2
  132. package/dist/index337.js +4 -2
  133. package/dist/index338.js +6 -2
  134. package/dist/index339.js +3 -2
  135. package/dist/index34.js +8 -8
  136. package/dist/index340.js +3 -2
  137. package/dist/index341.js +1 -1
  138. package/dist/index343.js +6 -718
  139. package/dist/index344.js +716 -363
  140. package/dist/index345.js +366 -57
  141. package/dist/index346.js +56 -66
  142. package/dist/index347.js +3 -67
  143. package/dist/index348.js +5 -228
  144. package/dist/index349.js +6 -5
  145. package/dist/index351.js +2 -2
  146. package/dist/index352.js +3 -3
  147. package/dist/index353.js +6 -92
  148. package/dist/index354.js +17 -198
  149. package/dist/index355.js +9 -259
  150. package/dist/index356.js +14 -6
  151. package/dist/index357.js +91 -17
  152. package/dist/index358.js +227 -8
  153. package/dist/index359.js +66 -14
  154. package/dist/index36.js +4 -4
  155. package/dist/index360.js +67 -5
  156. package/dist/index361.js +22 -7
  157. package/dist/index363.js +133 -21
  158. package/dist/index364.js +202 -0
  159. package/dist/index365.js +259 -2
  160. package/dist/index366.js +1 -1
  161. package/dist/index367.js +2 -482
  162. package/dist/index368.js +468 -114
  163. package/dist/index369.js +127 -46
  164. package/dist/index370.js +44 -67
  165. package/dist/index371.js +66 -516
  166. package/dist/index372.js +515 -45
  167. package/dist/index373.js +52 -0
  168. package/dist/index38.js +21 -21
  169. package/dist/index40.js +7 -7
  170. package/dist/index42.js +2 -2
  171. package/dist/index44.js +8 -8
  172. package/dist/index46.js +6 -6
  173. package/dist/index50.js +2 -2
  174. package/dist/index54.js +1 -1
  175. package/dist/index56.js +1 -1
  176. package/dist/index58.js +2 -2
  177. package/dist/index60.js +2 -2
  178. package/dist/index62.js +5 -5
  179. package/dist/index68.js +1 -1
  180. package/dist/index74.js +4 -4
  181. package/dist/index82.js +194 -179
  182. package/dist/index84.js +49 -47
  183. package/dist/index86.js +2 -2
  184. package/dist/index88.js +3 -3
  185. package/dist/index90.js +1 -1
  186. package/dist/index93.js +3 -3
  187. package/dist/index95.js +2 -2
  188. package/dist/index97.js +5 -5
  189. package/dist/index99.js +1 -1
  190. package/dist/utilities/functions/normalizeItemGroups.d.ts +13 -0
  191. package/package.json +2 -2
  192. package/dist/index228.js +0 -10
  193. package/dist/index269.js +0 -12
  194. package/dist/index282.js +0 -190
  195. package/dist/index295.js +0 -54
  196. package/dist/index305.js +0 -18
  197. package/dist/index342.js +0 -4
  198. package/dist/index362.js +0 -136
package/dist/index359.js CHANGED
@@ -1,17 +1,69 @@
1
- import f from "./index244.js";
2
- import { toOuterValue as i } from "./index358.js";
3
- function Y(m, e) {
4
- let r = !0;
5
- if (e.min) {
6
- const a = f(e.min, "YYYY-MM-DD");
7
- r &&= m.isSameOrAfter(a);
1
+ const e = {
2
+ common: {
3
+ closeLabel: "Chiudi",
4
+ loadingText: "Caricamento...",
5
+ noDataText: "Nessun elemento da visualizzare",
6
+ clearLabel: "Reset valore selezionato"
7
+ },
8
+ colorInput: {
9
+ dialogLabel: "Selettore colore",
10
+ openPicker: "Apri il selettore colore",
11
+ openPickerSelected: "Apri il selettore colore, colore corrente: {0}",
12
+ paletteLabel: "Seleziona un colore dalla tavolozza",
13
+ mainCanvasDesc: "Usa le frecce per selezionare un colore",
14
+ mainCanvasSelectedColor: "Colore selezionato: {0}",
15
+ hueCanvasDesc: "Usa le frecce per selezionare una tonalità",
16
+ hueCanvasSelectedHue: "Tonalità selezionata: {0}",
17
+ alphaSliderDesc: "Usa le frecce per regolare l'opacità",
18
+ eyeDropper: "Seleziona colore dallo schermo"
19
+ },
20
+ datePicker: {
21
+ monthLabel: "Seleziona un mese",
22
+ yearLabel: "Seleziona un anno",
23
+ previousMonthLabel: "Vai indietro di un mese",
24
+ nextMonthLabel: "Vai avanti di un mese"
25
+ },
26
+ baseDatePickerInput: {
27
+ dateFormat: "Formato della data",
28
+ dateFormatSingle: "GG/MM/AAAA",
29
+ dateFormatRange: "GG/MM/AAAA - GG/MM/AAAA",
30
+ emptyRange: "Seleziona un range",
31
+ changeSelectionRange: "Cambia selezione, da {0} a {1}",
32
+ changeSelection: "Cambia selezione, {0}",
33
+ emptySelection: "Seleziona una data"
34
+ },
35
+ dialog: {
36
+ closeLabel: "Chiudi modale"
37
+ },
38
+ dropdownButton: {
39
+ open: "Apri menu",
40
+ close: "Chiudi menu"
41
+ },
42
+ rating: {
43
+ singleStar: "{0} su {1}",
44
+ multipleStars: "{0} su {1}"
45
+ },
46
+ select: {
47
+ multipleMaxReached: "{0} elementi selezionati"
48
+ },
49
+ chip: {
50
+ clearLabel: "Elimina"
51
+ },
52
+ breadcrumbs: {
53
+ label: "Breadcrumb",
54
+ openHiddenLabelCount: "Mostra {0} breadcrumb nascoste"
55
+ },
56
+ pagination: {
57
+ previous: "Precedente",
58
+ next: "Successivo"
59
+ },
60
+ table: {
61
+ noDataText: "Non ci sono elementi da visualizzare",
62
+ selectAllLabel: "Seleziona tutti gli elementi di questa pagina",
63
+ selectText: "Seleziona un elemento",
64
+ select: "Seleziona"
8
65
  }
9
- if (e.max) {
10
- const a = f(e.max, "YYYY-MM-DD");
11
- r &&= m.isSameOrBefore(a);
12
- }
13
- return typeof e.selectable == "function" && (r &&= e.selectable(i(m, e.floating))), !r;
14
- }
66
+ };
15
67
  export {
16
- Y as isDateDisabled
68
+ e as default
17
69
  };
package/dist/index36.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as I, ref as v, computed as f, createElementBlock as l, openBlock as r, mergeProps as h, createElementVNode as i, renderSlot as g, Fragment as V, renderList as M, normalizeClass as D, toDisplayString as F, unref as y } from "vue";
2
- import { booleanishToBoolean as T } from "./index281.js";
3
- import { identity as $ } from "./index290.js";
4
- import { isCssColor as k } from "./index236.js";
2
+ import { booleanishToBoolean as T } from "./index240.js";
3
+ import { identity as $ } from "./index272.js";
4
+ import { isCssColor as k } from "./index239.js";
5
5
  import { isNotNil as q } from "./index152.js";
6
- import { useLocale as x } from "./index230.js";
6
+ import { useLocale as x } from "./index245.js";
7
7
  const H = { class: "bb-base-rating__inner-container" }, S = { class: "bb-base-rating__label-text sr-only" }, N = ["id", "aria-describedby", "autofocus", "checked", "disabled", "name", "required", "value"], j = ["height", "width"], W = /* @__PURE__ */ I({
8
8
  __name: "BaseRating",
9
9
  props: {
package/dist/index360.js CHANGED
@@ -1,7 +1,69 @@
1
- import o from "./index363.js";
2
- /* empty css */
3
- import t from "./index312.js";
4
- const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0df1a438"]]);
1
+ const e = {
2
+ common: {
3
+ closeLabel: "Close",
4
+ loadingText: "Loading...",
5
+ noDataText: "No data to display",
6
+ clearLabel: "Reset selected value"
7
+ },
8
+ colorInput: {
9
+ dialogLabel: "Color picker",
10
+ openPicker: "Open color picker",
11
+ openPickerSelected: "Open color picker, current color: {0}",
12
+ paletteLabel: "Select a color from the palette",
13
+ mainCanvasDesc: "Use the arrows to select a color",
14
+ mainCanvasSelectedColor: "Selected color: {0}",
15
+ hueCanvasDesc: "Use the arrows to select a hue",
16
+ hueCanvasSelectedHue: "Selected hue: {0}",
17
+ alphaSliderDesc: "Use the arrows to adjust opacity",
18
+ eyeDropper: "Pick color from screen"
19
+ },
20
+ datePicker: {
21
+ monthLabel: "Select a month",
22
+ yearLabel: "Select a year",
23
+ previousMonthLabel: "Go to previous month",
24
+ nextMonthLabel: "Go to next month"
25
+ },
26
+ baseDatePickerInput: {
27
+ dateFormat: "Date format",
28
+ dateFormatSingle: "DD/MM/YYYY",
29
+ dateFormatRange: "DD/MM/YYYY - DD/MM/YYYY",
30
+ emptyRange: "Select a range",
31
+ changeSelectionRange: "Change selection, from {0} to {1}",
32
+ changeSelection: "Change selection, {0}",
33
+ emptySelection: "Select a date"
34
+ },
35
+ dialog: {
36
+ closeLabel: "Close dialog"
37
+ },
38
+ dropdownButton: {
39
+ open: "Open menu",
40
+ close: "Close menu"
41
+ },
42
+ rating: {
43
+ singleStar: "{0} out of {1}",
44
+ multipleStars: "{0} out of {1}"
45
+ },
46
+ select: {
47
+ multipleMaxReached: "{0} items selected"
48
+ },
49
+ chip: {
50
+ clearLabel: "Remove"
51
+ },
52
+ breadcrumbs: {
53
+ label: "Breadcrumbs",
54
+ openHiddenLabelCount: "Show {0} hidden breadcrumbs"
55
+ },
56
+ pagination: {
57
+ previous: "Previous",
58
+ next: "Next"
59
+ },
60
+ table: {
61
+ noDataText: "No data to display",
62
+ selectAllLabel: "Select all items on this page",
63
+ selectText: "Select an item",
64
+ select: "Select"
65
+ }
66
+ };
5
67
  export {
6
- f as default
68
+ e as default
7
69
  };
package/dist/index361.js CHANGED
@@ -1,9 +1,24 @@
1
- function l(n, c, r = 1) {
2
- const o = Math.max(Math.ceil((c - n) / r), 0), t = new Array(o);
3
- for (let e = 0; e < o; e++, n += r)
4
- t[e] = n;
5
- return t;
6
- }
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
+ });
7
22
  export {
8
- l as range
23
+ f as default
9
24
  };
package/dist/index363.js CHANGED
@@ -1,24 +1,136 @@
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"]));
1
+ function c() {
2
+ return typeof window < "u";
3
+ }
4
+ function u(t) {
5
+ return p(t) ? (t.nodeName || "").toLowerCase() : "#document";
6
+ }
7
+ function i(t) {
8
+ var e;
9
+ return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;
10
+ }
11
+ function N(t) {
12
+ var e;
13
+ return (e = (p(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;
14
+ }
15
+ function p(t) {
16
+ return c() ? t instanceof Node || t instanceof i(t).Node : !1;
17
+ }
18
+ function m(t) {
19
+ return c() ? t instanceof Element || t instanceof i(t).Element : !1;
20
+ }
21
+ function w(t) {
22
+ return c() ? t instanceof HTMLElement || t instanceof i(t).HTMLElement : !1;
23
+ }
24
+ function f(t) {
25
+ return !c() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof i(t).ShadowRoot;
26
+ }
27
+ const E = /* @__PURE__ */ new Set(["inline", "contents"]);
28
+ function y(t) {
29
+ const {
30
+ overflow: e,
31
+ overflowX: n,
32
+ overflowY: o,
33
+ display: r
34
+ } = S(t);
35
+ return /auto|scroll|overlay|hidden|clip/.test(e + o + n) && !E.has(r);
36
+ }
37
+ const T = /* @__PURE__ */ new Set(["table", "td", "th"]);
38
+ function A(t) {
39
+ return T.has(u(t));
40
+ }
41
+ const v = [":popover-open", ":modal"];
42
+ function L(t) {
43
+ return v.some((e) => {
44
+ try {
45
+ return t.matches(e);
46
+ } catch {
47
+ return !1;
48
+ }
49
+ });
50
+ }
51
+ const D = ["transform", "translate", "scale", "rotate", "perspective"], C = ["transform", "translate", "scale", "rotate", "perspective", "filter"], k = ["paint", "layout", "strict", "content"];
52
+ function V(t) {
53
+ const e = O(), n = m(t) ? S(t) : t;
54
+ return D.some((o) => n[o] ? n[o] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !e && (n.filter ? n.filter !== "none" : !1) || C.some((o) => (n.willChange || "").includes(o)) || k.some((o) => (n.contain || "").includes(o));
55
+ }
56
+ function B(t) {
57
+ let e = s(t);
58
+ for (; w(e) && !h(e); ) {
59
+ if (V(e))
60
+ return e;
61
+ if (L(e))
62
+ return null;
63
+ e = s(e);
20
64
  }
21
- });
65
+ return null;
66
+ }
67
+ function O() {
68
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
69
+ }
70
+ const R = /* @__PURE__ */ new Set(["html", "body", "#document"]);
71
+ function h(t) {
72
+ return R.has(u(t));
73
+ }
74
+ function S(t) {
75
+ return i(t).getComputedStyle(t);
76
+ }
77
+ function F(t) {
78
+ return m(t) ? {
79
+ scrollLeft: t.scrollLeft,
80
+ scrollTop: t.scrollTop
81
+ } : {
82
+ scrollLeft: t.scrollX,
83
+ scrollTop: t.scrollY
84
+ };
85
+ }
86
+ function s(t) {
87
+ if (u(t) === "html")
88
+ return t;
89
+ const e = (
90
+ // Step into the shadow DOM of the parent of a slotted node.
91
+ t.assignedSlot || // DOM Element detected.
92
+ t.parentNode || // ShadowRoot detected.
93
+ f(t) && t.host || // Fallback.
94
+ N(t)
95
+ );
96
+ return f(e) ? e.host : e;
97
+ }
98
+ function b(t) {
99
+ const e = s(t);
100
+ return h(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : w(e) && y(e) ? e : b(e);
101
+ }
102
+ function d(t, e, n) {
103
+ var o;
104
+ e === void 0 && (e = []), n === void 0 && (n = !0);
105
+ const r = b(t), g = r === ((o = t.ownerDocument) == null ? void 0 : o.body), l = i(r);
106
+ if (g) {
107
+ const a = _(l);
108
+ return e.concat(l, l.visualViewport || [], y(r) ? r : [], a && n ? d(a) : []);
109
+ }
110
+ return e.concat(r, d(r, [], n));
111
+ }
112
+ function _(t) {
113
+ return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
114
+ }
22
115
  export {
23
- f as default
116
+ S as getComputedStyle,
117
+ B as getContainingBlock,
118
+ N as getDocumentElement,
119
+ _ as getFrameElement,
120
+ b as getNearestOverflowAncestor,
121
+ u as getNodeName,
122
+ F as getNodeScroll,
123
+ d as getOverflowAncestors,
124
+ s as getParentNode,
125
+ i as getWindow,
126
+ V as isContainingBlock,
127
+ m as isElement,
128
+ w as isHTMLElement,
129
+ h as isLastTraversableNode,
130
+ p as isNode,
131
+ y as isOverflowElement,
132
+ f as isShadowRoot,
133
+ A as isTableElement,
134
+ L as isTopLayer,
135
+ O as isWebKit
24
136
  };
@@ -0,0 +1,202 @@
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 "./index247.js";
3
+ import { isNotNil as ee } from "./index152.js";
4
+ import { useVirtualizer as te } from "./index370.js";
5
+ import { hash as N } from "./index233.js";
6
+ import { useLocale as oe } from "./index245.js";
7
+ import { useListboxFocus as ae } from "./index371.js";
8
+ import { indexBy as ie } from "./index306.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
+ }
91
+ };
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
+ });
200
+ export {
201
+ _e as default
202
+ };