bitboss-ui 2.1.111 → 2.1.112

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 (346) hide show
  1. package/dist/components/BaseButton/BaseButton.vue.d.ts +6 -0
  2. package/dist/components/BaseButton/RouterComponent.vue.d.ts +6 -2
  3. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +9 -117
  4. package/dist/components/BaseCheckbox/types.d.ts +205 -0
  5. package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +54 -2
  6. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +60 -20
  7. package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +21 -1
  8. package/dist/components/BaseDatePicker/BaseDatePickerInputDaySelector.vue.d.ts +21 -17
  9. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +118 -22
  10. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +26 -0
  11. package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +13 -0
  12. package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +27 -0
  13. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +26 -0
  14. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +100 -0
  15. package/dist/components/BaseRating/BaseRating.vue.d.ts +14 -0
  16. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +86 -0
  17. package/dist/components/BaseSlider/BaseSlider.vue.d.ts +34 -0
  18. package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +17 -2
  19. package/dist/components/BaseTag/BaseTag.vue.d.ts +58 -20
  20. package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +18 -0
  21. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +18 -0
  22. package/dist/components/BbAccordion/BbAccordion.vue.d.ts +20 -0
  23. package/dist/components/BbAlert/BbAlert.vue.d.ts +16 -0
  24. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +8 -0
  25. package/dist/components/BbBadge/BbBadge.vue.d.ts +12 -0
  26. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +66 -0
  27. package/dist/components/BbButton/BbButton.vue.d.ts +8 -0
  28. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +47 -3
  29. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +115 -3
  30. package/dist/components/BbChip/BbChip.vue.d.ts +6 -0
  31. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +8 -0
  32. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +15 -0
  33. package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +20 -5
  34. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +46 -0
  35. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +82 -4
  36. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +86 -0
  37. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +12 -0
  38. package/dist/components/BbIntersection/BbIntersection.vue.d.ts +12 -0
  39. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +10 -0
  40. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +24 -0
  41. package/dist/components/BbPagination/BbPagination.vue.d.ts +30 -0
  42. package/dist/components/BbPopover/BbPopover.vue.d.ts +36 -4
  43. package/dist/components/BbRadio/BbRadio.vue.d.ts +40 -0
  44. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +110 -0
  45. package/dist/components/BbRating/BbRating.vue.d.ts +10 -0
  46. package/dist/components/BbRatio/BbRatio.vue.d.ts +6 -0
  47. package/dist/components/BbRows/BbRows.vue.d.ts +70 -12
  48. package/dist/components/BbSelect/BbSelect.vue.d.ts +79 -0
  49. package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +57 -0
  50. package/dist/components/BbSlider/BbSlider.vue.d.ts +10 -0
  51. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +3 -0
  52. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +41 -3
  53. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +111 -3
  54. package/dist/components/BbTab/BbTab.vue.d.ts +48 -0
  55. package/dist/components/BbTable/types.d.ts +63 -0
  56. package/dist/components/BbTag/BbTag.vue.d.ts +23 -0
  57. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +15 -0
  58. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +15 -0
  59. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +18 -4
  60. package/dist/components/BbTree/BbTree.vue.d.ts +13 -0
  61. package/dist/components/CommonInputInnerContainer.vue.d.ts +42 -6
  62. package/dist/components/CommonInputOuterContainer.vue.d.ts +26 -4
  63. package/dist/components/CommonPopover.vue.d.ts +10 -2
  64. package/dist/components/FlatListBox.vue.d.ts +65 -5
  65. package/dist/components/GroupedListBox.vue.d.ts +92 -9
  66. package/dist/components/ListBox.vue.d.ts +85 -17
  67. package/dist/components/OptionsContainer.vue.d.ts +121 -13
  68. package/dist/components/Transitions/ScaleFade.vue.d.ts +6 -2
  69. package/dist/components/Transitions/Slide.vue.d.ts +6 -2
  70. package/dist/composables/useToast.d.ts +3 -3
  71. package/dist/index.css +1 -1
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +156 -155
  74. package/dist/index109.js +9 -9
  75. package/dist/index11.js +1 -1
  76. package/dist/index110.js +19 -19
  77. package/dist/index118.js +1 -1
  78. package/dist/index12.js +2 -2
  79. package/dist/index124.js +9 -9
  80. package/dist/index126.js +13 -13
  81. package/dist/index13.js +6 -6
  82. package/dist/index134.js +1 -1
  83. package/dist/index136.js +6 -6
  84. package/dist/index138.js +1 -1
  85. package/dist/index14.js +2 -2
  86. package/dist/index142.js +12 -13
  87. package/dist/index144.js +11 -2
  88. package/dist/index145.js +2 -419
  89. package/dist/index146.js +417 -7
  90. package/dist/index147.js +8 -8
  91. package/dist/index148.js +9 -25
  92. package/dist/index149.js +25 -2
  93. package/dist/index150.js +2 -5
  94. package/dist/index151.js +5 -6
  95. package/dist/index152.js +5 -4
  96. package/dist/index153.js +5 -3
  97. package/dist/index154.js +1 -1
  98. package/dist/index155.js +1 -1
  99. package/dist/index156.js +1 -1
  100. package/dist/index157.js +1 -1
  101. package/dist/index158.js +1 -1
  102. package/dist/index159.js +1 -1
  103. package/dist/index16.js +16 -15
  104. package/dist/index160.js +1 -1
  105. package/dist/index161.js +1 -1
  106. package/dist/index162.js +1 -1
  107. package/dist/index163.js +1 -1
  108. package/dist/index164.js +1 -1
  109. package/dist/index165.js +1 -1
  110. package/dist/index166.js +1 -1
  111. package/dist/index167.js +1 -1
  112. package/dist/index168.js +1 -1
  113. package/dist/index169.js +1 -1
  114. package/dist/index170.js +1 -1
  115. package/dist/index171.js +1 -1
  116. package/dist/index172.js +1 -1
  117. package/dist/index173.js +1 -1
  118. package/dist/index174.js +1 -1
  119. package/dist/index175.js +1 -1
  120. package/dist/index176.js +1 -1
  121. package/dist/index177.js +1 -1
  122. package/dist/index178.js +1 -1
  123. package/dist/index179.js +1 -1
  124. package/dist/index18.js +6 -6
  125. package/dist/index180.js +1 -1
  126. package/dist/index181.js +1 -1
  127. package/dist/index182.js +1 -1
  128. package/dist/index183.js +3 -2
  129. package/dist/index184.js +2 -3
  130. package/dist/index185.js +3 -2
  131. package/dist/index186.js +2 -3
  132. package/dist/index187.js +1 -1
  133. package/dist/index188.js +1 -1
  134. package/dist/index189.js +1 -1
  135. package/dist/index190.js +1 -1
  136. package/dist/index191.js +1 -1
  137. package/dist/index192.js +3 -2
  138. package/dist/index193.js +2 -3
  139. package/dist/index194.js +1 -1
  140. package/dist/index195.js +1 -1
  141. package/dist/index196.js +1 -1
  142. package/dist/index197.js +2 -2
  143. package/dist/index198.js +1 -1
  144. package/dist/index199.js +1 -1
  145. package/dist/index20.js +8 -8
  146. package/dist/index200.js +1 -1
  147. package/dist/index201.js +1 -1
  148. package/dist/index202.js +3 -2
  149. package/dist/index203.js +2 -3
  150. package/dist/index204.js +1 -1
  151. package/dist/index205.js +1 -1
  152. package/dist/index206.js +1 -1
  153. package/dist/index207.js +1 -1
  154. package/dist/index208.js +1 -1
  155. package/dist/index209.js +1 -1
  156. package/dist/index210.js +1 -1
  157. package/dist/index211.js +1 -1
  158. package/dist/index212.js +1 -1
  159. package/dist/index213.js +1 -1
  160. package/dist/index214.js +1 -1
  161. package/dist/index215.js +1 -1
  162. package/dist/index216.js +1 -1
  163. package/dist/index217.js +1 -1
  164. package/dist/index218.js +1 -1
  165. package/dist/index219.js +5 -0
  166. package/dist/index22.js +14 -14
  167. package/dist/index220.js +3 -7
  168. package/dist/index221.js +2 -138
  169. package/dist/index222.js +2 -2
  170. package/dist/index223.js +138 -2
  171. package/dist/index224.js +1 -1
  172. package/dist/index225.js +1 -1
  173. package/dist/index226.js +1 -1
  174. package/dist/index227.js +1 -1
  175. package/dist/index229.js +2 -7
  176. package/dist/index230.js +2 -2
  177. package/dist/index231.js +3 -2
  178. package/dist/index232.js +4 -4
  179. package/dist/index233.js +13 -2
  180. package/dist/index234.js +20 -2
  181. package/dist/index235.js +188 -13
  182. package/dist/index236.js +3 -33
  183. package/dist/index237.js +5 -3
  184. package/dist/index238.js +5 -8
  185. package/dist/index239.js +5 -6
  186. package/dist/index24.js +56 -55
  187. package/dist/index240.js +5 -16
  188. package/dist/index241.js +5 -3
  189. package/dist/index242.js +5 -13
  190. package/dist/index243.js +3 -135
  191. package/dist/index244.js +10 -0
  192. package/dist/index245.js +135 -4
  193. package/dist/index247.js +3 -5
  194. package/dist/index248.js +6 -5
  195. package/dist/index249.js +16 -5
  196. package/dist/index250.js +2 -5
  197. package/dist/index251.js +13 -2
  198. package/dist/index252.js +12 -5
  199. package/dist/index253.js +4 -268
  200. package/dist/index254.js +21 -50
  201. package/dist/index255.js +80 -46
  202. package/dist/index257.js +30 -60
  203. package/dist/index258.js +17 -9
  204. package/dist/index259.js +50 -20
  205. package/dist/index26.js +4 -4
  206. package/dist/index260.js +15 -27
  207. package/dist/index261.js +3 -18
  208. package/dist/index262.js +11 -16
  209. package/dist/index263.js +15 -48
  210. package/dist/index264.js +67 -12
  211. package/dist/index265.js +2 -53
  212. package/dist/index266.js +9 -10
  213. package/dist/index267.js +21 -3
  214. package/dist/index268.js +4 -3
  215. package/dist/index269.js +25 -86
  216. package/dist/index270.js +4 -0
  217. package/dist/index271.js +17 -17
  218. package/dist/index272.js +12 -373
  219. package/dist/index273.js +108 -0
  220. package/dist/index275.js +99 -19
  221. package/dist/index277.js +107 -5
  222. package/dist/index278.js +11 -5
  223. package/dist/index279.js +5 -3
  224. package/dist/index28.js +2 -2
  225. package/dist/index280.js +6 -5
  226. package/dist/index281.js +268 -11
  227. package/dist/index282.js +50 -16
  228. package/dist/index283.js +52 -12
  229. package/dist/index284.js +24 -99
  230. package/dist/index285.js +59 -5
  231. package/dist/index286.js +7 -106
  232. package/dist/index287.js +11 -0
  233. package/dist/index288.js +23 -100
  234. package/dist/index289.js +8 -0
  235. package/dist/index290.js +8 -186
  236. package/dist/index291.js +3 -3
  237. package/dist/index292.js +33 -8
  238. package/dist/index293.js +33 -23
  239. package/dist/index294.js +368 -29
  240. package/dist/index296.js +3 -2
  241. package/dist/index297.js +52 -6
  242. package/dist/index298.js +5 -7
  243. package/dist/index30.js +23 -22
  244. package/dist/index300.js +2 -67
  245. package/dist/index301.js +6 -12
  246. package/dist/index302.js +7 -25
  247. package/dist/index304.js +7 -3
  248. package/dist/index305.js +3 -4
  249. package/dist/index306.js +6 -718
  250. package/dist/index307.js +5 -366
  251. package/dist/index308.js +719 -57
  252. package/dist/index309.js +366 -280
  253. package/dist/index310.js +57 -2
  254. package/dist/index311.js +3 -16
  255. package/dist/index312.js +280 -2
  256. package/dist/index313.js +2 -16
  257. package/dist/index314.js +125 -2
  258. package/dist/index315.js +2 -27
  259. package/dist/index316.js +15 -2
  260. package/dist/index317.js +2 -2
  261. package/dist/index318.js +16 -2
  262. package/dist/index319.js +2 -2
  263. package/dist/index32.js +2 -2
  264. package/dist/index320.js +16 -2
  265. package/dist/index321.js +2 -28
  266. package/dist/index322.js +19 -2
  267. package/dist/index323.js +2 -7
  268. package/dist/index324.js +2 -5
  269. package/dist/index325.js +28 -3
  270. package/dist/index326.js +1 -1
  271. package/dist/index327.js +1 -1
  272. package/dist/index328.js +4 -3
  273. package/dist/index329.js +27 -2
  274. package/dist/index330.js +2 -4
  275. package/dist/index331.js +2 -125
  276. package/dist/index332.js +2 -2
  277. package/dist/index333.js +2 -15
  278. package/dist/index334.js +2 -2
  279. package/dist/index335.js +2 -19
  280. package/dist/index336.js +3 -2
  281. package/dist/index337.js +1 -1
  282. package/dist/index338.js +2 -3
  283. package/dist/index339.js +4 -2
  284. package/dist/index34.js +8 -8
  285. package/dist/index340.js +1 -1
  286. package/dist/index341.js +6 -5
  287. package/dist/index342.js +5 -6
  288. package/dist/index343.js +3 -7
  289. package/dist/index344.js +35 -5
  290. package/dist/index345.js +125 -31
  291. package/dist/index346.js +382 -113
  292. package/dist/index347.js +65 -396
  293. package/dist/index348.js +67 -7
  294. package/dist/index349.js +226 -17
  295. package/dist/index350.js +6 -8
  296. package/dist/index351.js +17 -13
  297. package/dist/index352.js +8 -227
  298. package/dist/index353.js +14 -66
  299. package/dist/index354.js +5 -67
  300. package/dist/index355.js +7 -200
  301. package/dist/index356.js +149 -208
  302. package/dist/index357.js +255 -18
  303. package/dist/index358.js +136 -0
  304. package/dist/index359.js +21 -133
  305. package/dist/index36.js +5 -5
  306. package/dist/index362.js +2 -93
  307. package/dist/index363.js +87 -435
  308. package/dist/index364.js +427 -114
  309. package/dist/index365.js +127 -46
  310. package/dist/index366.js +44 -67
  311. package/dist/index367.js +66 -516
  312. package/dist/index368.js +515 -45
  313. package/dist/index369.js +52 -0
  314. package/dist/index38.js +55 -54
  315. package/dist/index40.js +8 -8
  316. package/dist/index42.js +2 -2
  317. package/dist/index44.js +8 -8
  318. package/dist/index46.js +35 -34
  319. package/dist/index48.js +15 -14
  320. package/dist/index50.js +38 -37
  321. package/dist/index54.js +1 -1
  322. package/dist/index56.js +2 -2
  323. package/dist/index58.js +2 -2
  324. package/dist/index60.js +3 -3
  325. package/dist/index62.js +6 -6
  326. package/dist/index68.js +1 -1
  327. package/dist/index7.js +2 -2
  328. package/dist/index74.js +4 -4
  329. package/dist/index82.js +8 -8
  330. package/dist/index84.js +1 -1
  331. package/dist/index86.js +2 -2
  332. package/dist/index88.js +3 -3
  333. package/dist/index9.js +1 -1
  334. package/dist/index90.js +1 -1
  335. package/dist/index93.js +4 -4
  336. package/dist/index95.js +2 -2
  337. package/dist/index97.js +6 -6
  338. package/dist/index99.js +2 -2
  339. package/package.json +1 -1
  340. package/dist/index143.js +0 -13
  341. package/dist/index246.js +0 -25
  342. package/dist/index256.js +0 -34
  343. package/dist/index274.js +0 -6
  344. package/dist/index276.js +0 -7
  345. package/dist/index295.js +0 -5
  346. package/dist/index360.js +0 -4
package/dist/index355.js CHANGED
@@ -1,202 +1,9 @@
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 "./index230.js";
3
- import { isNotNil as ee } from "./index149.js";
4
- import { useVirtualizer as te } from "./index365.js";
5
- import { hash as N } from "./index237.js";
6
- import { useLocale as oe } from "./index235.js";
7
- import { useListboxFocus as ae } from "./index366.js";
8
- import { indexBy as ie } from "./index259.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
- });
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
+ }
200
7
  export {
201
- _e as default
8
+ l as range
202
9
  };
package/dist/index356.js CHANGED
@@ -1,261 +1,202 @@
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 "./index230.js";
3
- import { useVirtualizer as be } from "./index365.js";
4
- import { useLocale as me } from "./index235.js";
5
- import { useListboxFocus as xe } from "./index366.js";
6
- import { indexBy as A } from "./index259.js";
7
- const ge = { class: "bb-listbox__outer-container scrollbar-border" }, fe = {
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 "./index250.js";
3
+ import { isNotNil as ee } from "./index150.js";
4
+ import { useVirtualizer as te } from "./index366.js";
5
+ import { hash as N } from "./index261.js";
6
+ import { useLocale as oe } from "./index233.js";
7
+ import { useListboxFocus as ae } from "./index367.js";
8
+ import { indexBy as ie } from "./index267.js";
9
+ const le = { class: "bb-listbox__outer-container scrollbar-border" }, ne = {
8
10
  ref: "inner",
9
11
  class: "bb-listbox__inner-container",
10
12
  tabindex: "-1"
11
- }, He = {
13
+ }, se = {
12
14
  key: 0,
13
15
  class: "bb-listbox__loading"
14
- }, _e = {
16
+ }, ue = {
15
17
  key: 1,
16
18
  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
+ }, de = ["aria-activedescendant", "aria-multiselectable"], ce = ["aria-selected", "data-index", "id"], re = { class: "autocomplete-option__label" }, _e = /* @__PURE__ */ U({
20
+ __name: "FlatListBox",
19
21
  props: {
20
22
  compact: { type: Boolean },
21
- groups: {},
22
- headerHeight: {},
23
+ options: {},
24
+ open: { type: Boolean },
23
25
  loading: { type: Boolean },
24
- loadingText: {},
25
26
  multiple: { type: Boolean },
27
+ transitionDuration: { default: 250 },
28
+ loadingText: {},
26
29
  noDataText: {},
27
- open: { type: Boolean },
28
- optionHeight: {},
29
- transitionDuration: { default: 250 }
30
+ optionHeight: {}
30
31
  },
31
32
  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({
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({
78
35
  get count() {
79
- return s.groups.length;
36
+ return i.options.length;
80
37
  },
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" });
104
- };
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 = {
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,
113
44
  text: e.text,
114
45
  value: e.value,
115
- item: e.item,
116
46
  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) {
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) {
125
83
  let a = e.target, t = a.dataset.index;
126
- for (; f(t) && a.parentElement; )
84
+ for (; g(t) && a.parentElement; )
127
85
  a = a.parentElement, t = a.dataset.index;
128
86
  if (t) {
129
- const l = I.value[+t];
130
- l && !l.disabled && (u.value = +t, R());
87
+ const D = o.value[+t];
88
+ D && !D.disabled && (l.value = +t, T());
131
89
  }
132
90
  }
133
91
  };
134
- return E(() => s.open, q, { flush: "post" }), E(
135
- () => s.groups,
92
+ return f(
93
+ () => i.open,
94
+ () => {
95
+ S();
96
+ },
97
+ { flush: "post" }
98
+ ), f(
99
+ () => i.options,
136
100
  (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());
101
+ N(e.map((t) => t.valueHash)) !== N(a.map((t) => t.valueHash)) && (p.value.calculateRange(), S(), B());
139
102
  },
140
103
  { 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", {
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", {
155
118
  "bb-listbox--compact": e.compact,
156
119
  "bb-listbox--loading": e.loading,
157
120
  "bb-listbox--multiple": e.multiple,
158
- "bb-listbox--no-data": !k.value,
121
+ "bb-listbox--no-data": !b.value,
159
122
  "bb-listbox--open": e.open
160
123
  }]),
161
- style: V({
124
+ style: x({
162
125
  "--transition-duration": `${e.transitionDuration}ms`,
163
- "--overlay-min-height": `${j.value}px`,
164
- "--option-height": `${_.value}px`,
165
- "--group-header-height": `${y.value}px`
126
+ "--overlay-min-height": `${$.value}px`,
127
+ "--option-height": `${y.value}px`
166
128
  }),
167
- onClick: he(ce, ["stop"])
129
+ onClick: X(Q, ["stop"])
168
130
  }, [
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)
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)
175
137
  ])
176
- ])) : k.value ? (c(), r("span", {
138
+ ])) : b.value ? (u(), s("span", {
177
139
  key: 2,
178
140
  role: "listbox",
179
141
  ref: "listbox",
180
- style: V({ height: `${te.value}px` }),
181
- "aria-activedescendant": $.value,
142
+ style: x({
143
+ height: `${O.value}px`
144
+ }),
145
+ "aria-activedescendant": m.value,
182
146
  "aria-multiselectable": e.multiple ? !0 : void 0,
183
147
  tabindex: "-1"
184
148
  }, [
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"
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
+ })
192
164
  }, [
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)
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)
251
192
  ])
252
193
  ])),
253
- b(e.$slots, "options:append")
194
+ r(e.$slots, "options:append")
254
195
  ], 512)
255
196
  ])
256
197
  ], 6));
257
198
  }
258
199
  });
259
200
  export {
260
- Ee as default
201
+ _e as default
261
202
  };