bitboss-ui 2.1.102 → 2.1.103

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 (296) hide show
  1. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +21 -47
  2. package/dist/components/BaseColorInput/ColorPalette.vue.d.ts +36 -0
  3. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +1 -1
  4. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +17 -0
  5. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +207 -0
  6. package/dist/i18n/en.d.ts +5 -0
  7. package/dist/i18n/it.d.ts +5 -0
  8. package/dist/index.css +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.js +79 -77
  11. package/dist/index109.js +134 -175
  12. package/dist/index11.js +1 -1
  13. package/dist/index110.js +185 -0
  14. package/dist/{index115.js → index116.js} +1 -1
  15. package/dist/index12.js +2 -2
  16. package/dist/{index121.js → index122.js} +8 -8
  17. package/dist/{index123.js → index124.js} +10 -10
  18. package/dist/index13.js +6 -6
  19. package/dist/{index131.js → index132.js} +1 -1
  20. package/dist/{index133.js → index134.js} +6 -6
  21. package/dist/{index135.js → index136.js} +1 -1
  22. package/dist/{index137.js → index138.js} +4 -4
  23. package/dist/index14.js +2 -2
  24. package/dist/index140.js +13 -11
  25. package/dist/index141.js +11 -2
  26. package/dist/index142.js +2 -419
  27. package/dist/index143.js +417 -7
  28. package/dist/index144.js +8 -8
  29. package/dist/index145.js +9 -25
  30. package/dist/index146.js +25 -2
  31. package/dist/index147.js +2 -5
  32. package/dist/index148.js +5 -6
  33. package/dist/index149.js +5 -4
  34. package/dist/index150.js +5 -3
  35. package/dist/index151.js +1 -1
  36. package/dist/index152.js +1 -1
  37. package/dist/index153.js +1 -1
  38. package/dist/index154.js +1 -1
  39. package/dist/index155.js +1 -1
  40. package/dist/index156.js +1 -1
  41. package/dist/index157.js +1 -1
  42. package/dist/index158.js +1 -1
  43. package/dist/index159.js +1 -1
  44. package/dist/index16.js +80 -94
  45. package/dist/index160.js +1 -1
  46. package/dist/index161.js +1 -1
  47. package/dist/index162.js +1 -1
  48. package/dist/index163.js +1 -1
  49. package/dist/index164.js +1 -1
  50. package/dist/index165.js +1 -1
  51. package/dist/index166.js +1 -1
  52. package/dist/index167.js +1 -1
  53. package/dist/index168.js +1 -1
  54. package/dist/index169.js +1 -1
  55. package/dist/index170.js +1 -1
  56. package/dist/index171.js +1 -1
  57. package/dist/index172.js +1 -1
  58. package/dist/index173.js +1 -1
  59. package/dist/index174.js +1 -1
  60. package/dist/index175.js +1 -1
  61. package/dist/index176.js +1 -1
  62. package/dist/index177.js +1 -1
  63. package/dist/index178.js +1 -1
  64. package/dist/index179.js +1 -1
  65. package/dist/index18.js +3 -3
  66. package/dist/index180.js +1 -1
  67. package/dist/index181.js +1 -1
  68. package/dist/index182.js +1 -1
  69. package/dist/index183.js +2 -3
  70. package/dist/index184.js +1 -1
  71. package/dist/index185.js +1 -1
  72. package/dist/index186.js +1 -1
  73. package/dist/index187.js +1 -1
  74. package/dist/index188.js +3 -2
  75. package/dist/index189.js +1 -1
  76. package/dist/index190.js +2 -3
  77. package/dist/index191.js +1 -1
  78. package/dist/index192.js +1 -1
  79. package/dist/index193.js +1 -1
  80. package/dist/index194.js +2 -2
  81. package/dist/index195.js +1 -1
  82. package/dist/index196.js +1 -1
  83. package/dist/index197.js +1 -1
  84. package/dist/index198.js +3 -2
  85. package/dist/index199.js +1 -1
  86. package/dist/index20.js +7 -7
  87. package/dist/index200.js +2 -3
  88. package/dist/index201.js +1 -1
  89. package/dist/index202.js +1 -1
  90. package/dist/index203.js +1 -1
  91. package/dist/index204.js +1 -1
  92. package/dist/index205.js +1 -1
  93. package/dist/index206.js +1 -1
  94. package/dist/index207.js +1 -1
  95. package/dist/index208.js +1 -1
  96. package/dist/index209.js +1 -1
  97. package/dist/index210.js +1 -1
  98. package/dist/index211.js +1 -1
  99. package/dist/index212.js +1 -1
  100. package/dist/index213.js +1 -1
  101. package/dist/{index298.js → index214.js} +1 -1
  102. package/dist/index215.js +3 -7
  103. package/dist/index217.js +7 -2
  104. package/dist/index219.js +137 -4
  105. package/dist/index22.js +1 -1
  106. package/dist/index220.js +2 -8
  107. package/dist/index221.js +4 -32
  108. package/dist/index222.js +8 -28
  109. package/dist/index223.js +4 -0
  110. package/dist/index224.js +2 -34
  111. package/dist/index225.js +3 -13
  112. package/dist/index226.js +33 -2
  113. package/dist/index227.js +28 -2
  114. package/dist/index229.js +2 -2
  115. package/dist/index230.js +2 -2
  116. package/dist/index231.js +2 -2
  117. package/dist/index232.js +2 -2
  118. package/dist/index233.js +1 -1
  119. package/dist/index237.js +7 -7
  120. package/dist/index238.js +1 -1
  121. package/dist/index24.js +10 -10
  122. package/dist/index241.js +1 -1
  123. package/dist/index242.js +13 -3
  124. package/dist/index243.js +3 -5
  125. package/dist/index244.js +86 -5
  126. package/dist/index246.js +29 -2
  127. package/dist/index247.js +16 -3
  128. package/dist/index248.js +16 -19
  129. package/dist/index249.js +49 -133
  130. package/dist/index250.js +17 -0
  131. package/dist/index251.js +12 -4
  132. package/dist/index252.js +2 -4
  133. package/dist/index253.js +4 -201
  134. package/dist/{index268.js → index254.js} +1 -1
  135. package/dist/index256.js +100 -3
  136. package/dist/index258.js +3 -2
  137. package/dist/index259.js +10 -86
  138. package/dist/index26.js +4 -4
  139. package/dist/index260.js +5 -0
  140. package/dist/index261.js +4 -29
  141. package/dist/index262.js +5 -17
  142. package/dist/index263.js +5 -51
  143. package/dist/index264.js +5 -15
  144. package/dist/index265.js +2 -12
  145. package/dist/index266.js +19 -15
  146. package/dist/index267.js +135 -25
  147. package/dist/index270.js +3 -100
  148. package/dist/index271.js +15 -0
  149. package/dist/index272.js +13 -67
  150. package/dist/index273.js +22 -17
  151. package/dist/index274.js +8 -11
  152. package/dist/index275.js +23 -104
  153. package/dist/index276.js +17 -12
  154. package/dist/index277.js +12 -11
  155. package/dist/index278.js +103 -12
  156. package/dist/index279.js +11 -5
  157. package/dist/index28.js +2 -2
  158. package/dist/index280.js +9 -6
  159. package/dist/index281.js +20 -15
  160. package/dist/index282.js +25 -33
  161. package/dist/index283.js +32 -9
  162. package/dist/index284.js +4 -3
  163. package/dist/index285.js +67 -4
  164. package/dist/index286.js +9 -9
  165. package/dist/index287.js +7 -23
  166. package/dist/index288.js +2 -23
  167. package/dist/index289.js +6 -6
  168. package/dist/index290.js +7 -2
  169. package/dist/index291.js +3 -7
  170. package/dist/index292.js +6 -7
  171. package/dist/index293.js +15 -8
  172. package/dist/index294.js +5 -21
  173. package/dist/index296.js +34 -9
  174. package/dist/index297.js +375 -0
  175. package/dist/index30.js +6 -6
  176. package/dist/index300.js +3 -2
  177. package/dist/index301.js +5 -4
  178. package/dist/index302.js +280 -5
  179. package/dist/index303.js +2 -5
  180. package/dist/index304.js +13 -277
  181. package/dist/index305.js +2 -2
  182. package/dist/index306.js +9 -9
  183. package/dist/index308.js +23 -12
  184. package/dist/index310.js +2 -27
  185. package/dist/index311.js +2 -2
  186. package/dist/index312.js +1 -1
  187. package/dist/index313.js +1 -1
  188. package/dist/index314.js +28 -2
  189. package/dist/index315.js +1 -1
  190. package/dist/index316.js +7 -28
  191. package/dist/index317.js +3 -2
  192. package/dist/index318.js +17 -3
  193. package/dist/index319.js +4 -3
  194. package/dist/index32.js +2 -2
  195. package/dist/index320.js +3 -125
  196. package/dist/index321.js +3 -2
  197. package/dist/index322.js +123 -13
  198. package/dist/index323.js +2 -2
  199. package/dist/index324.js +12 -16
  200. package/dist/index326.js +19 -3
  201. package/dist/index327.js +2 -17
  202. package/dist/index328.js +3 -2
  203. package/dist/index329.js +2 -3
  204. package/dist/index330.js +2 -3
  205. package/dist/index331.js +6 -719
  206. package/dist/index332.js +4 -366
  207. package/dist/index333.js +5 -57
  208. package/dist/index334.js +719 -2
  209. package/dist/index335.js +366 -4
  210. package/dist/index336.js +56 -5
  211. package/dist/index337.js +2 -7
  212. package/dist/index338.js +5 -19
  213. package/dist/index339.js +6 -8
  214. package/dist/index34.js +7 -7
  215. package/dist/index340.js +6 -14
  216. package/dist/index341.js +19 -5
  217. package/dist/index342.js +8 -7
  218. package/dist/index343.js +14 -5
  219. package/dist/index344.js +34 -7
  220. package/dist/index345.js +6 -7
  221. package/dist/index346.js +125 -31
  222. package/dist/index347.js +398 -6
  223. package/dist/index348.js +66 -128
  224. package/dist/index349.js +65 -396
  225. package/dist/index350.js +1 -1
  226. package/dist/index351.js +3 -62
  227. package/dist/index352.js +189 -60
  228. package/dist/index353.js +256 -91
  229. package/dist/index354.js +18 -187
  230. package/dist/index356.js +133 -21
  231. package/dist/index357.js +95 -0
  232. package/dist/index358.js +2 -134
  233. package/dist/index359.js +1 -1
  234. package/dist/index36.js +5 -5
  235. package/dist/index360.js +441 -2
  236. package/dist/index361.js +114 -427
  237. package/dist/index362.js +46 -127
  238. package/dist/index363.js +67 -44
  239. package/dist/index364.js +516 -66
  240. package/dist/index365.js +45 -515
  241. package/dist/index38.js +24 -24
  242. package/dist/index40.js +7 -7
  243. package/dist/index42.js +2 -2
  244. package/dist/index44.js +7 -7
  245. package/dist/index46.js +8 -8
  246. package/dist/index48.js +4 -4
  247. package/dist/index50.js +4 -4
  248. package/dist/index54.js +2 -2
  249. package/dist/index56.js +2 -2
  250. package/dist/index58.js +2 -2
  251. package/dist/index60.js +4 -4
  252. package/dist/index62.js +8 -8
  253. package/dist/index68.js +1 -1
  254. package/dist/index7.js +2 -2
  255. package/dist/index72.js +16 -10
  256. package/dist/index74.js +119 -79
  257. package/dist/index75.js +85 -0
  258. package/dist/index77.js +17 -123
  259. package/dist/index78.js +127 -0
  260. package/dist/{index81.js → index82.js} +9 -9
  261. package/dist/{index83.js → index84.js} +4 -4
  262. package/dist/{index85.js → index86.js} +3 -3
  263. package/dist/{index87.js → index88.js} +2 -2
  264. package/dist/index9.js +1 -1
  265. package/dist/index90.js +37 -125
  266. package/dist/index91.js +134 -0
  267. package/dist/{index92.js → index93.js} +4 -4
  268. package/dist/{index94.js → index95.js} +3 -3
  269. package/dist/{index96.js → index97.js} +6 -6
  270. package/dist/{index98.js → index99.js} +2 -2
  271. package/package.json +2 -2
  272. package/dist/components/BaseColorInput/ColorPallette.vue.d.ts +0 -13
  273. package/dist/index108.js +0 -144
  274. package/dist/index139.js +0 -15
  275. package/dist/index216.js +0 -140
  276. package/dist/index228.js +0 -5
  277. package/dist/index245.js +0 -7
  278. package/dist/index257.js +0 -5
  279. package/dist/index299.js +0 -9
  280. package/dist/index355.js +0 -260
  281. package/dist/index366.js +0 -52
  282. package/dist/index76.js +0 -21
  283. package/dist/index89.js +0 -46
  284. /package/dist/{index100.js → index101.js} +0 -0
  285. /package/dist/{index102.js → index103.js} +0 -0
  286. /package/dist/{index104.js → index105.js} +0 -0
  287. /package/dist/{index106.js → index107.js} +0 -0
  288. /package/dist/{index111.js → index112.js} +0 -0
  289. /package/dist/{index113.js → index114.js} +0 -0
  290. /package/dist/{index117.js → index118.js} +0 -0
  291. /package/dist/{index119.js → index120.js} +0 -0
  292. /package/dist/{index125.js → index126.js} +0 -0
  293. /package/dist/{index127.js → index128.js} +0 -0
  294. /package/dist/{index129.js → index130.js} +0 -0
  295. /package/dist/{index255.js → index269.js} +0 -0
  296. /package/dist/{index79.js → index80.js} +0 -0
package/dist/index351.js CHANGED
@@ -1,64 +1,5 @@
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
- paletteLabel: "Seleziona un colore dalla tavolozza",
10
- mainCanvasDesc: "Usa le frecce per selezionare un colore",
11
- mainCanvasSelectedColor: "Colore selezionato: {0}",
12
- hueCanvasDesc: "Usa le frecce per selezionare una tonalità",
13
- hueCanvasSelectedHue: "Tonalità selezionata: {0}"
14
- },
15
- datePicker: {
16
- monthLabel: "Seleziona un mese",
17
- yearLabel: "Seleziona un anno",
18
- previousMonthLabel: "Vai indietro di un mese",
19
- nextMonthLabel: "Vai avanti di un mese"
20
- },
21
- baseDatePickerInput: {
22
- dateFormat: "Formato della data",
23
- dateFormatSingle: "GG/MM/AAAA",
24
- dateFormatRange: "GG/MM/AAAA - GG/MM/AAAA",
25
- emptyRange: "Seleziona un range",
26
- changeSelectionRange: "Cambia selezione, da {0} a {1}",
27
- changeSelection: "Cambia selezione, {0}",
28
- emptySelection: "Seleziona una data"
29
- },
30
- dialog: {
31
- closeLabel: "Chiudi modale"
32
- },
33
- dropdownButton: {
34
- open: "Apri menu",
35
- close: "Chiudi menu"
36
- },
37
- rating: {
38
- singleStar: "{0} su {1}",
39
- multipleStars: "{0} su {1}"
40
- },
41
- select: {
42
- multipleMaxReached: "{0} elementi selezionati"
43
- },
44
- chip: {
45
- clearLabel: "Elimina"
46
- },
47
- breadcrumbs: {
48
- label: "Breadcrumb",
49
- openHiddenLabelCount: "Mostra {0} breadcrumb nascoste"
50
- },
51
- pagination: {
52
- previous: "Precedente",
53
- next: "Successivo"
54
- },
55
- table: {
56
- noDataText: "Non ci sono elementi da visualizzare",
57
- selectAllLabel: "Seleziona tutti gli elementi di questa pagina",
58
- selectText: "Seleziona un elemento",
59
- select: "Seleziona"
60
- }
61
- };
1
+ import o from "./index297.js";
2
+ /* empty css */
62
3
  export {
63
- e as default
4
+ o as default
64
5
  };
package/dist/index352.js CHANGED
@@ -1,64 +1,193 @@
1
- const e = {
2
- common: {
3
- closeLabel: "Close",
4
- loadingText: "Loading...",
5
- noDataText: "No data to display",
6
- clearLabel: "Reset selected value"
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 "./index252.js";
3
+ import { isNotNil as Z } from "./index147.js";
4
+ import { useVirtualizer as w } from "./index362.js";
5
+ import { hash as E } from "./index233.js";
6
+ import { useLocale as ee } from "./index242.js";
7
+ import { useListboxFocus as te } from "./index363.js";
8
+ import { indexBy as oe } from "./index281.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: {}
7
31
  },
8
- colorInput: {
9
- paletteLabel: "Select a color from the palette",
10
- mainCanvasDesc: "Use the arrows to select a color",
11
- mainCanvasSelectedColor: "Selected color: {0}",
12
- hueCanvasDesc: "Use the arrows to select a hue",
13
- hueCanvasSelectedHue: "Selected hue: {0}"
14
- },
15
- datePicker: {
16
- monthLabel: "Select a month",
17
- yearLabel: "Select a year",
18
- previousMonthLabel: "Go to previous month",
19
- nextMonthLabel: "Go to next month"
20
- },
21
- baseDatePickerInput: {
22
- dateFormat: "Date format",
23
- dateFormatSingle: "DD/MM/YYYY",
24
- dateFormatRange: "DD/MM/YYYY - DD/MM/YYYY",
25
- emptyRange: "Select a range",
26
- changeSelectionRange: "Change selection, from {0} to {1}",
27
- changeSelection: "Change selection, {0}",
28
- emptySelection: "Select a date"
29
- },
30
- dialog: {
31
- closeLabel: "Close dialog"
32
- },
33
- dropdownButton: {
34
- open: "Open menu",
35
- close: "Close menu"
36
- },
37
- rating: {
38
- singleStar: "{0} out of {1}",
39
- multipleStars: "{0} out of {1}"
40
- },
41
- select: {
42
- multipleMaxReached: "{0} items selected"
43
- },
44
- chip: {
45
- clearLabel: "Remove"
46
- },
47
- breadcrumbs: {
48
- label: "Breadcrumbs",
49
- openHiddenLabelCount: "Show {0} hidden breadcrumbs"
50
- },
51
- pagination: {
52
- previous: "Previous",
53
- next: "Next"
54
- },
55
- table: {
56
- noDataText: "No data to display",
57
- selectAllLabel: "Select all items on this page",
58
- selectText: "Select an item",
59
- select: "Select"
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));
60
189
  }
61
- };
190
+ });
62
191
  export {
63
- e as default
192
+ xe as default
64
193
  };
package/dist/index353.js CHANGED
@@ -1,95 +1,260 @@
1
- import { commonjsGlobal as y } from "./index336.js";
2
- var p, _;
3
- function Z() {
4
- if (_) return p;
5
- _ = 1;
6
- var x = "Expected a function", I = NaN, W = "[object Symbol]", C = /^\s+|\s+$/g, M = /^[-+]0x[0-9a-f]+$/i, N = /^0b[01]+$/i, R = /^0o[0-7]+$/i, $ = parseInt, q = typeof y == "object" && y && y.Object === Object && y, A = typeof self == "object" && self && self.Object === Object && self, B = q || A || Function("return this")(), F = Object.prototype, G = F.toString, P = Math.max, D = Math.min, h = function() {
7
- return B.Date.now();
8
- };
9
- function H(e, r, n) {
10
- var f, a, g, c, i, u, s = 0, S = !1, d = !1, j = !0;
11
- if (typeof e != "function")
12
- throw new TypeError(x);
13
- r = O(r) || 0, m(n) && (S = !!n.leading, d = "maxWait" in n, g = d ? P(O(n.maxWait) || 0, r) : g, j = "trailing" in n ? !!n.trailing : j);
14
- function v(t) {
15
- var o = f, l = a;
16
- return f = a = void 0, s = t, c = e.apply(l, o), c;
17
- }
18
- function J(t) {
19
- return s = t, i = setTimeout(b, r), S ? v(t) : c;
20
- }
21
- function K(t) {
22
- var o = t - u, l = t - s, L = r - o;
23
- return d ? D(L, g - l) : L;
24
- }
25
- function E(t) {
26
- var o = t - u, l = t - s;
27
- return u === void 0 || o >= r || o < 0 || d && l >= g;
28
- }
29
- function b() {
30
- var t = h();
31
- if (E(t))
32
- return k(t);
33
- i = setTimeout(b, K(t));
34
- }
35
- function k(t) {
36
- return i = void 0, j && f ? v(t) : (f = a = void 0, c);
37
- }
38
- function Q() {
39
- i !== void 0 && clearTimeout(i), s = 0, f = u = a = i = void 0;
40
- }
41
- function V() {
42
- return i === void 0 ? c : k(h());
43
- }
44
- function T() {
45
- var t = h(), o = E(t);
46
- if (f = arguments, a = this, u = t, o) {
47
- if (i === void 0)
48
- return J(u);
49
- if (d)
50
- return i = setTimeout(b, r), v(u);
51
- }
52
- return i === void 0 && (i = setTimeout(b, r)), c;
53
- }
54
- return T.cancel = Q, T.flush = V, T;
55
- }
56
- function U(e, r, n) {
57
- var f = !0, a = !0;
58
- if (typeof e != "function")
59
- throw new TypeError(x);
60
- return m(n) && (f = "leading" in n ? !!n.leading : f, a = "trailing" in n ? !!n.trailing : a), H(e, r, {
61
- leading: f,
62
- maxWait: r,
63
- trailing: a
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 "./index252.js";
3
+ import { useVirtualizer as he } from "./index362.js";
4
+ import { useLocale as me } from "./index242.js";
5
+ import { useListboxFocus as xe } from "./index363.js";
6
+ import { indexBy as E } from "./index281.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();
64
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));
65
256
  }
66
- function m(e) {
67
- var r = typeof e;
68
- return !!e && (r == "object" || r == "function");
69
- }
70
- function X(e) {
71
- return !!e && typeof e == "object";
72
- }
73
- function z(e) {
74
- return typeof e == "symbol" || X(e) && G.call(e) == W;
75
- }
76
- function O(e) {
77
- if (typeof e == "number")
78
- return e;
79
- if (z(e))
80
- return I;
81
- if (m(e)) {
82
- var r = typeof e.valueOf == "function" ? e.valueOf() : e;
83
- e = m(r) ? r + "" : r;
84
- }
85
- if (typeof e != "string")
86
- return e === 0 ? e : +e;
87
- e = e.replace(C, "");
88
- var n = N.test(e);
89
- return n || R.test(e) ? $(e.slice(2), n ? 2 : 8) : M.test(e) ? I : +e;
90
- }
91
- return p = U, p;
92
- }
257
+ });
93
258
  export {
94
- Z as __require
259
+ Ee as default
95
260
  };