bitboss-ui 2.1.114 → 2.1.115

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 (414) hide show
  1. package/dist/ai/BaseButton.md +448 -0
  2. package/dist/ai/BaseCheckbox.md +494 -0
  3. package/dist/ai/BaseCheckboxGroup.md +597 -0
  4. package/dist/ai/BaseColorInput.md +461 -0
  5. package/dist/ai/BaseDatePicker.md +739 -0
  6. package/dist/ai/BaseDatePickerInput.md +1517 -0
  7. package/dist/ai/BaseDialog.md +610 -0
  8. package/dist/ai/BaseInputContainer.md +570 -0
  9. package/dist/ai/BaseNumberInput.md +509 -0
  10. package/dist/ai/BaseRadio.md +405 -0
  11. package/dist/ai/BaseRadioGroup.md +535 -0
  12. package/dist/ai/BaseRating.md +489 -0
  13. package/dist/ai/BaseSelect.md +1720 -0
  14. package/dist/ai/BaseSlider.md +871 -0
  15. package/dist/ai/BaseSwitch.md +322 -0
  16. package/dist/ai/BaseSwitchGroup.md +298 -0
  17. package/dist/ai/BaseTag.md +624 -0
  18. package/dist/ai/BaseTextInput.md +392 -0
  19. package/dist/ai/BaseTextarea.md +398 -0
  20. package/dist/ai/BbAccordion.md +135 -0
  21. package/dist/ai/BbAlert.md +226 -0
  22. package/dist/ai/BbAvatar.md +200 -0
  23. package/dist/ai/BbBadge.md +185 -0
  24. package/dist/ai/BbBreadcrumbs.md +536 -0
  25. package/dist/ai/BbButton.md +687 -0
  26. package/dist/ai/BbCheckbox.md +280 -0
  27. package/dist/ai/BbCheckboxGroup.md +387 -0
  28. package/dist/ai/BbChip.md +148 -0
  29. package/dist/ai/BbCollapsible.md +119 -0
  30. package/dist/ai/BbColorInput.md +345 -0
  31. package/dist/ai/BbColorPalette.md +360 -0
  32. package/dist/ai/BbConfirm.md +160 -0
  33. package/dist/ai/BbDatePickerInput.md +414 -0
  34. package/dist/ai/BbDialog.md +135 -0
  35. package/dist/ai/BbDropdown.md +765 -0
  36. package/dist/ai/BbDropdownButton.md +629 -0
  37. package/dist/ai/BbDropzone.md +504 -0
  38. package/dist/ai/BbIcon.md +238 -0
  39. package/dist/ai/BbIntersection.md +121 -0
  40. package/dist/ai/BbNumberInput.md +372 -0
  41. package/dist/ai/BbOffCanvas.md +549 -0
  42. package/dist/ai/BbPagination.md +562 -0
  43. package/dist/ai/BbPopover.md +580 -0
  44. package/dist/ai/BbProgress.md +97 -0
  45. package/dist/ai/BbRadio.md +256 -0
  46. package/dist/ai/BbRadioGroup.md +373 -0
  47. package/dist/ai/BbRating.md +245 -0
  48. package/dist/ai/BbRatio.md +62 -0
  49. package/dist/ai/BbRows.md +307 -0
  50. package/dist/ai/BbSelect.md +562 -0
  51. package/dist/ai/BbSelectPopover.md +2010 -0
  52. package/dist/ai/BbSlider.md +274 -0
  53. package/dist/ai/BbSmoothHeight.md +167 -0
  54. package/dist/ai/BbSpinner.md +154 -0
  55. package/dist/ai/BbSwitch.md +151 -0
  56. package/dist/ai/BbSwitchGroup.md +237 -0
  57. package/dist/ai/BbTab.md +954 -0
  58. package/dist/ai/BbTable.md +1624 -0
  59. package/dist/ai/BbTag.md +315 -0
  60. package/dist/ai/BbTextInput.md +357 -0
  61. package/dist/ai/BbTextarea.md +277 -0
  62. package/dist/ai/BbToast.md +219 -0
  63. package/dist/ai/BbTooltip.md +353 -0
  64. package/dist/ai/BbTree.md +271 -0
  65. package/dist/ai/ChipsBox.md +211 -0
  66. package/dist/ai/ClearableButton.md +67 -0
  67. package/dist/ai/CommaBox.md +212 -0
  68. package/dist/ai/CommonInputInnerContainer.md +419 -0
  69. package/dist/ai/CommonInputOuterContainer.md +56 -0
  70. package/dist/ai/CommonPopover.md +446 -0
  71. package/dist/ai/ErrorIcon.md +61 -0
  72. package/dist/ai/FlatListBox.md +382 -0
  73. package/dist/ai/GroupedListBox.md +538 -0
  74. package/dist/ai/ListBox.md +234 -0
  75. package/dist/ai/OptionsContainer.md +257 -0
  76. package/dist/ai/index.md +124 -0
  77. package/dist/components/BaseButton/BaseButton.vue.d.ts +2 -163
  78. package/dist/components/BaseButton/types.d.ts +158 -0
  79. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +4 -4
  80. package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +2 -2
  81. package/dist/components/BaseCheckboxGroup/types.d.ts +4 -5
  82. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +12 -52
  83. package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +4 -76
  84. package/dist/components/BaseDatePicker/types.d.ts +100 -0
  85. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +18 -315
  86. package/dist/components/BaseDatePickerInput/types.d.ts +206 -0
  87. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +6 -156
  88. package/dist/components/BaseDialog/types.d.ts +180 -0
  89. package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +1 -107
  90. package/dist/components/BaseInputContainer/types.d.ts +126 -0
  91. package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +7 -170
  92. package/dist/components/BaseNumberInput/types.d.ts +191 -0
  93. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +6 -119
  94. package/dist/components/BaseRadio/types.d.ts +173 -0
  95. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +4 -274
  96. package/dist/components/BaseRadioGroup/types.d.ts +240 -0
  97. package/dist/components/BaseRating/BaseRating.vue.d.ts +5 -106
  98. package/dist/components/BaseRating/types.d.ts +144 -0
  99. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +2 -363
  100. package/dist/components/BaseSelect/types.d.ts +457 -0
  101. package/dist/components/BaseSlider/BaseSlider.vue.d.ts +6 -178
  102. package/dist/components/BaseSlider/types.d.ts +201 -0
  103. package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +7 -35
  104. package/dist/components/BaseSwitch/types.d.ts +25 -0
  105. package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +5 -11
  106. package/dist/components/BaseSwitchGroup/types.d.ts +8 -0
  107. package/dist/components/BaseTag/BaseTag.vue.d.ts +27 -222
  108. package/dist/components/BaseTag/types.d.ts +136 -0
  109. package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +5 -141
  110. package/dist/components/BaseTextInput/types.d.ts +166 -0
  111. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +5 -131
  112. package/dist/components/BaseTextarea/types.d.ts +151 -0
  113. package/dist/components/BbAccordion/BbAccordion.vue.d.ts +3 -51
  114. package/dist/components/BbAccordion/types.d.ts +32 -0
  115. package/dist/components/BbAlert/BbAlert.vue.d.ts +3 -50
  116. package/dist/components/BbAlert/types.d.ts +42 -0
  117. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +3 -23
  118. package/dist/components/BbAvatar/types.d.ts +34 -0
  119. package/dist/components/BbBadge/BbBadge.vue.d.ts +3 -40
  120. package/dist/components/BbBadge/types.d.ts +30 -0
  121. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +14 -178
  122. package/dist/components/BbBreadcrumbs/types.d.ts +109 -0
  123. package/dist/components/BbButton/BbButton.vue.d.ts +4 -163
  124. package/dist/components/BbButton/types.d.ts +159 -0
  125. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +7 -165
  126. package/dist/components/BbCheckbox/types.d.ts +130 -0
  127. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +7 -330
  128. package/dist/components/BbCheckboxGroup/types.d.ts +189 -0
  129. package/dist/components/BbChip/BbChip.vue.d.ts +6 -28
  130. package/dist/components/BbChip/types.d.ts +23 -0
  131. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +3 -24
  132. package/dist/components/BbCollapsible/types.d.ts +20 -0
  133. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +10 -151
  134. package/dist/components/BbColorInput/types.d.ts +131 -0
  135. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -112
  136. package/dist/components/BbColorPalette/types.d.ts +127 -0
  137. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +6 -212
  138. package/dist/components/BbDatePickerInput/types.d.ts +180 -0
  139. package/dist/components/BbDialog/BbDialog.vue.d.ts +2 -2
  140. package/dist/components/BbDialog/types.d.ts +1 -0
  141. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +21 -247
  142. package/dist/components/BbDropdown/types.d.ts +147 -0
  143. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +16 -209
  144. package/dist/components/BbDropdownButton/types.d.ts +114 -0
  145. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +7 -86
  146. package/dist/components/BbDropzone/types.d.ts +67 -0
  147. package/dist/components/BbIcon/BbIcon.vue.d.ts +2 -26
  148. package/dist/components/BbIcon/types.d.ts +28 -0
  149. package/dist/components/BbIntersection/BbIntersection.vue.d.ts +3 -41
  150. package/dist/components/BbIntersection/types.d.ts +36 -0
  151. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +44 -175
  152. package/dist/components/BbNumberInput/types.d.ts +130 -0
  153. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +5 -93
  154. package/dist/components/BbOffCanvas/types.d.ts +97 -0
  155. package/dist/components/BbPagination/BbPagination.vue.d.ts +4 -87
  156. package/dist/components/BbPagination/types.d.ts +80 -0
  157. package/dist/components/BbPopover/BbPopover.vue.d.ts +9 -135
  158. package/dist/components/BbPopover/types.d.ts +99 -0
  159. package/dist/components/BbProgress/BbProgress.vue.d.ts +2 -14
  160. package/dist/components/BbProgress/types.d.ts +20 -0
  161. package/dist/components/BbRadio/BbRadio.vue.d.ts +7 -150
  162. package/dist/components/BbRadio/types.d.ts +117 -0
  163. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +7 -322
  164. package/dist/components/BbRadioGroup/types.d.ts +182 -0
  165. package/dist/components/BbRating/BbRating.vue.d.ts +10 -113
  166. package/dist/components/BbRating/types.d.ts +105 -0
  167. package/dist/components/BbRatio/BbRatio.vue.d.ts +3 -18
  168. package/dist/components/BbRatio/types.d.ts +15 -0
  169. package/dist/components/BbSelect/BbSelect.vue.d.ts +7 -375
  170. package/dist/components/BbSelect/types.d.ts +351 -0
  171. package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +1 -1
  172. package/dist/components/BbSelectPopover/types.d.ts +351 -0
  173. package/dist/components/BbSlider/BbSlider.vue.d.ts +10 -129
  174. package/dist/components/BbSlider/types.d.ts +123 -0
  175. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +2 -23
  176. package/dist/components/BbSmoothHeight/types.d.ts +24 -0
  177. package/dist/components/BbSpinner/BbSpinner.vue.d.ts +3 -5
  178. package/dist/components/BbSpinner/types.d.ts +8 -0
  179. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +9 -65
  180. package/dist/components/BbSwitch/types.d.ts +29 -0
  181. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +7 -190
  182. package/dist/components/BbSwitchGroup/types.d.ts +81 -0
  183. package/dist/components/BbTab/BbTab.vue.d.ts +9 -247
  184. package/dist/components/BbTab/types.d.ts +186 -0
  185. package/dist/components/BbTag/BbTag.vue.d.ts +6 -156
  186. package/dist/components/BbTag/types.d.ts +158 -0
  187. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +10 -152
  188. package/dist/components/BbTextInput/types.d.ts +137 -0
  189. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +10 -142
  190. package/dist/components/BbTextarea/types.d.ts +123 -0
  191. package/dist/components/BbToast/BbToast.vue.d.ts +2 -6
  192. package/dist/components/BbToast/types.d.ts +8 -0
  193. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +8 -65
  194. package/dist/components/BbTooltip/types.d.ts +55 -0
  195. package/dist/components/BbTree/BbTree.vue.d.ts +2 -65
  196. package/dist/components/BbTree/types.d.ts +69 -0
  197. package/dist/components/{ChipsBox.vue.d.ts → ChipsBox/ChipsBox.vue.d.ts} +5 -6
  198. package/dist/components/ChipsBox/types.d.ts +14 -0
  199. package/dist/components/{ClearableButton.vue.d.ts → ClearableButton/ClearableButton.vue.d.ts} +2 -0
  200. package/dist/components/ClearableButton/types.d.ts +3 -0
  201. package/dist/components/{CommaBox.vue.d.ts → CommaBox/CommaBox.vue.d.ts} +5 -6
  202. package/dist/components/CommaBox/types.d.ts +14 -0
  203. package/dist/components/CommonInputInnerContainer/CommonInputInnerContainer.vue.d.ts +25 -0
  204. package/dist/components/CommonInputInnerContainer/types.d.ts +47 -0
  205. package/dist/components/CommonInputOuterContainer/CommonInputOuterContainer.vue.d.ts +17 -0
  206. package/dist/components/CommonInputOuterContainer/types.d.ts +16 -0
  207. package/dist/components/{CommonPopover.vue.d.ts → CommonPopover/CommonPopover.vue.d.ts} +5 -30
  208. package/dist/components/CommonPopover/types.d.ts +43 -0
  209. package/dist/components/{ErrorIcon.vue.d.ts → ErrorIcon/ErrorIcon.vue.d.ts} +2 -0
  210. package/dist/components/ErrorIcon/types.d.ts +3 -0
  211. package/dist/components/FlatListBox/types.d.ts +97 -0
  212. package/dist/components/GroupedListBox/types.d.ts +118 -0
  213. package/dist/components/ListBox/ListBox.vue.d.ts +30 -0
  214. package/dist/components/ListBox/types.d.ts +133 -0
  215. package/dist/components/OptionsContainer/OptionsContainer.vue.d.ts +13 -0
  216. package/dist/components/OptionsContainer/types.d.ts +96 -0
  217. package/dist/composables/useBbConfig.d.ts +1 -1
  218. package/dist/composables/useConfirm.d.ts +1 -1
  219. package/dist/index.css +1 -1
  220. package/dist/index.d.ts +18 -18
  221. package/dist/index109.js +9 -9
  222. package/dist/index110.js +50 -49
  223. package/dist/index114.js +1 -1
  224. package/dist/index118.js +1 -1
  225. package/dist/index124.js +4 -4
  226. package/dist/index126.js +12 -12
  227. package/dist/index132.js +22 -19
  228. package/dist/index134.js +1 -1
  229. package/dist/index136.js +5 -5
  230. package/dist/index138.js +1 -1
  231. package/dist/index14.js +1 -1
  232. package/dist/index140.js +18 -17
  233. package/dist/index16.js +3 -3
  234. package/dist/index18.js +3 -3
  235. package/dist/index20.js +9 -9
  236. package/dist/index22.js +14 -14
  237. package/dist/index226.js +34 -33
  238. package/dist/index227.js +5 -28
  239. package/dist/index228.js +7 -0
  240. package/dist/index229.js +5 -4
  241. package/dist/index230.js +5 -13
  242. package/dist/index231.js +3 -20
  243. package/dist/index232.js +2 -2
  244. package/dist/index233.js +6 -4
  245. package/dist/index234.js +6 -84
  246. package/dist/index235.js +270 -0
  247. package/dist/index236.js +52 -30
  248. package/dist/index237.js +52 -17
  249. package/dist/index238.js +31 -50
  250. package/dist/index239.js +60 -18
  251. package/dist/index24.js +10 -10
  252. package/dist/index240.js +13 -3
  253. package/dist/index241.js +187 -11
  254. package/dist/index242.js +3 -18
  255. package/dist/index243.js +2 -8
  256. package/dist/index244.js +2 -2
  257. package/dist/index245.js +2 -3
  258. package/dist/index246.js +13 -5
  259. package/dist/index247.js +13 -5
  260. package/dist/index248.js +51 -5
  261. package/dist/index249.js +17 -5
  262. package/dist/index250.js +106 -5
  263. package/dist/index252.js +100 -3
  264. package/dist/index254.js +5 -0
  265. package/dist/index255.js +2 -2
  266. package/dist/index256.js +4 -106
  267. package/dist/index257.js +22 -0
  268. package/dist/index258.js +6 -100
  269. package/dist/index26.js +3 -3
  270. package/dist/index260.js +86 -10
  271. package/dist/index262.js +30 -4
  272. package/dist/index263.js +18 -3
  273. package/dist/index264.js +11 -187
  274. package/dist/index265.js +18 -3
  275. package/dist/index266.js +2 -5
  276. package/dist/index267.js +7 -6
  277. package/dist/index268.js +7 -268
  278. package/dist/index269.js +3 -52
  279. package/dist/index270.js +4 -52
  280. package/dist/index271.js +5 -32
  281. package/dist/index272.js +5 -60
  282. package/dist/index273.js +5 -7
  283. package/dist/index274.js +135 -2
  284. package/dist/index277.js +9 -2
  285. package/dist/index278.js +23 -7
  286. package/dist/index279.js +3 -6
  287. package/dist/index28.js +57 -55
  288. package/dist/index280.js +23 -2
  289. package/dist/index281.js +368 -29
  290. package/dist/index283.js +33 -25
  291. package/dist/index284.js +3 -11
  292. package/dist/index285.js +24 -12
  293. package/dist/index286.js +3 -23
  294. package/dist/index287.js +16 -7
  295. package/dist/index288.js +12 -23
  296. package/dist/index289.js +107 -5
  297. package/dist/index290.js +11 -9
  298. package/dist/index291.js +66 -20
  299. package/dist/index292.js +32 -6
  300. package/dist/index294.js +6 -18
  301. package/dist/index295.js +9 -11
  302. package/dist/index296.js +3 -107
  303. package/dist/index297.js +8 -5
  304. package/dist/index298.js +53 -3
  305. package/dist/index299.js +5 -53
  306. package/dist/index30.js +2 -2
  307. package/dist/index300.js +20 -12
  308. package/dist/index301.js +26 -65
  309. package/dist/index303.js +9 -0
  310. package/dist/index304.js +2 -7
  311. package/dist/index305.js +280 -3
  312. package/dist/index306.js +2 -4
  313. package/dist/index307.js +16 -7
  314. package/dist/index308.js +2 -3
  315. package/dist/index309.js +16 -17
  316. package/dist/index310.js +2 -28
  317. package/dist/index311.js +27 -3
  318. package/dist/index312.js +2 -3
  319. package/dist/index313.js +2 -5
  320. package/dist/index314.js +2 -3
  321. package/dist/index315.js +2 -3
  322. package/dist/index316.js +2 -280
  323. package/dist/index317.js +28 -2
  324. package/dist/index318.js +2 -16
  325. package/dist/index319.js +7 -2
  326. package/dist/index32.js +2 -2
  327. package/dist/index320.js +719 -16
  328. package/dist/index321.js +366 -2
  329. package/dist/index322.js +56 -26
  330. package/dist/index323.js +4 -2
  331. package/dist/index324.js +3 -2
  332. package/dist/index325.js +17 -2
  333. package/dist/index326.js +3 -2
  334. package/dist/index327.js +3 -2
  335. package/dist/index328.js +3 -2
  336. package/dist/index329.js +3 -125
  337. package/dist/index330.js +125 -2
  338. package/dist/index331.js +2 -15
  339. package/dist/index332.js +15 -2
  340. package/dist/index333.js +2 -19
  341. package/dist/index334.js +19 -2
  342. package/dist/index335.js +2 -2
  343. package/dist/index336.js +5 -719
  344. package/dist/index337.js +5 -366
  345. package/dist/index338.js +2 -57
  346. package/dist/index34.js +8 -8
  347. package/dist/index340.js +2 -5
  348. package/dist/index341.js +3 -2
  349. package/dist/index342.js +3 -6
  350. package/dist/index343.js +6 -2
  351. package/dist/index344.js +6 -6
  352. package/dist/index345.js +18 -66
  353. package/dist/index346.js +9 -67
  354. package/dist/index347.js +14 -34
  355. package/dist/index348.js +5 -129
  356. package/dist/index349.js +6 -397
  357. package/dist/index350.js +67 -7
  358. package/dist/index351.js +66 -18
  359. package/dist/index352.js +34 -8
  360. package/dist/index353.js +126 -12
  361. package/dist/index354.js +398 -5
  362. package/dist/index355.js +91 -198
  363. package/dist/index356.js +226 -257
  364. package/dist/index357.js +21 -92
  365. package/dist/index359.js +7 -134
  366. package/dist/index36.js +4 -4
  367. package/dist/index360.js +196 -18
  368. package/dist/index361.js +261 -0
  369. package/dist/index362.js +134 -2
  370. package/dist/index363.js +1 -1
  371. package/dist/index364.js +2 -441
  372. package/dist/index365.js +427 -114
  373. package/dist/index366.js +127 -46
  374. package/dist/index367.js +44 -67
  375. package/dist/index368.js +66 -516
  376. package/dist/index369.js +515 -45
  377. package/dist/index370.js +52 -0
  378. package/dist/index38.js +21 -21
  379. package/dist/index40.js +7 -7
  380. package/dist/index42.js +2 -2
  381. package/dist/index44.js +8 -8
  382. package/dist/index46.js +6 -6
  383. package/dist/index50.js +28 -25
  384. package/dist/index54.js +1 -1
  385. package/dist/index56.js +1 -1
  386. package/dist/index58.js +2 -2
  387. package/dist/index60.js +2 -2
  388. package/dist/index62.js +5 -5
  389. package/dist/index68.js +1 -1
  390. package/dist/index74.js +4 -4
  391. package/dist/index82.js +6 -6
  392. package/dist/index84.js +1 -1
  393. package/dist/index86.js +2 -2
  394. package/dist/index88.js +3 -3
  395. package/dist/index90.js +1 -1
  396. package/dist/index93.js +3 -3
  397. package/dist/index95.js +2 -2
  398. package/dist/index97.js +5 -5
  399. package/dist/utilities/functions/parseSize.d.ts +1 -1
  400. package/package.json +5 -3
  401. package/dist/components/CommonInputInnerContainer.vue.d.ts +0 -81
  402. package/dist/components/CommonInputOuterContainer.vue.d.ts +0 -41
  403. package/dist/components/FlatListBox.vue.d.ts +0 -119
  404. package/dist/components/GroupedListBox.vue.d.ts +0 -153
  405. package/dist/components/ListBox.vue.d.ts +0 -170
  406. package/dist/components/OptionsContainer.vue.d.ts +0 -172
  407. package/dist/index251.js +0 -7
  408. package/dist/index253.js +0 -137
  409. package/dist/index261.js +0 -5
  410. package/dist/index275.js +0 -375
  411. package/dist/index302.js +0 -35
  412. package/dist/index358.js +0 -230
  413. /package/dist/{index293.js → index259.js} +0 -0
  414. /package/dist/{index282.js → index276.js} +0 -0
@@ -0,0 +1,538 @@
1
+ # GroupedListBox
2
+
3
+ ## Template & Script
4
+
5
+ ```vue
6
+ <template>
7
+ <span
8
+ class="bb-listbox bb-listbox--grouped"
9
+ :class="{
10
+ 'bb-listbox--compact': compact,
11
+ 'bb-listbox--loading': loading,
12
+ 'bb-listbox--multiple': multiple,
13
+ 'bb-listbox--no-data': !hasOptions,
14
+ 'bb-listbox--open': open,
15
+ }"
16
+ :style="{
17
+ '--transition-duration': `${transitionDuration}ms`,
18
+ '--overlay-min-height': `${height}px`,
19
+ '--option-height': `${resolvedOptionHeight}px`,
20
+ '--group-header-height': `${resolvedHeaderHeight}px`,
21
+ }"
22
+ @click.stop="handleClick"
23
+ >
24
+ <span class="bb-listbox__outer-container scrollbar-border">
25
+ <span ref="inner" class="bb-listbox__inner-container" tabindex="-1">
26
+ <slot name="options:prepend"></slot>
27
+ <span v-if="loading && !hasOptions" class="bb-listbox__loading">
28
+ <slot :name="'loading'">{{
29
+ loadingText || t('common.loadingText').value
30
+ }}</slot>
31
+ </span>
32
+ <span v-else-if="!hasOptions" class="bb-listbox__no-data">
33
+ <slot :name="'no-data'">{{
34
+ noDataText || t('common.noDataText').value
35
+ }}</slot>
36
+ </span>
37
+ <span
38
+ v-else
39
+ role="listbox"
40
+ ref="listbox"
41
+ :style="{ height: `${totalSize}px` }"
42
+ :aria-activedescendant="activeDescendantId"
43
+ :aria-multiselectable="multiple ? true : undefined"
44
+ tabindex="-1"
45
+ >
46
+ <span
47
+ v-for="row in virtualRows"
48
+ :key="groupMetaIndexedByIndex[row.index].id"
49
+ :style="{ transform: `translateY(${row.start}px)` }"
50
+ role="group"
51
+ :aria-labelledby="groupMetaIndexedByIndex[row.index].headerId"
52
+ :aria-disabled="
53
+ groupMetaIndexedByIndex[row.index].allOptionsAreDisabled
54
+ "
55
+ class="bb-listbox__group"
56
+ >
57
+ <span
58
+ class="bb-listbox__group-header"
59
+ role="presentation"
60
+ :id="groupMetaIndexedByIndex[row.index].headerId"
61
+ >
62
+ <slot
63
+ name="group"
64
+ :text="groupMetaIndexedByIndex[row.index].label"
65
+ :item="groupMetaIndexedByIndex[row.index].data"
66
+ :index="row.index"
67
+ :length="groupMetaIndexedByIndex[row.index].length"
68
+ :disabled="
69
+ groupMetaIndexedByIndex[row.index].allOptionsAreDisabled
70
+ "
71
+ >
72
+ <span class="bb-listbox__group-header-label">{{
73
+ groupMetaIndexedByIndex[row.index].label
74
+ }}</span>
75
+ </slot>
76
+ </span>
77
+
78
+ <span
79
+ v-for="option in groupMetaIndexedByIndex[row.index].options"
80
+ :key="option.valueHash"
81
+ :aria-selected="
82
+ optionsMetaIndexedById[option.valueHash].selected
83
+ ? true
84
+ : undefined
85
+ "
86
+ :aria-setsize="groupMetaIndexedByIndex[row.index].length"
87
+ :aria-posinset="
88
+ optionsMetaIndexedById[option.valueHash].indexInGroup + 1
89
+ "
90
+ :id="getOptionId(option.valueHash)"
91
+ :class="{
92
+ 'bb-listbox__option autocomplete-option': true,
93
+ 'autocomplete-option--focused':
94
+ focusedIndex ===
95
+ optionsMetaIndexedById[option.valueHash].globalIndex,
96
+ 'autocomplete-option--selected':
97
+ optionsMetaIndexedById[option.valueHash].selected,
98
+ 'autocomplete-option--disabled':
99
+ optionsMetaIndexedById[option.valueHash].disabled,
100
+ }"
101
+ :data-index="optionsMetaIndexedById[option.valueHash].globalIndex"
102
+ role="option"
103
+ >
104
+ <slot
105
+ :disabled="!!optionsMetaIndexedById[option.valueHash].disabled"
106
+ :focused="
107
+ focusedIndex ===
108
+ optionsMetaIndexedById[option.valueHash].globalIndex
109
+ "
110
+ :index="optionsMetaIndexedById[option.valueHash].globalIndex"
111
+ :item="optionsMetaIndexedById[option.valueHash].item"
112
+ name="option"
113
+ :selected="!!optionsMetaIndexedById[option.valueHash].selected"
114
+ :text="optionsMetaIndexedById[option.valueHash].text"
115
+ :value="optionsMetaIndexedById[option.valueHash].value"
116
+ >
117
+ <svg
118
+ class="autocomplete-option__checkbox"
119
+ role="presentation"
120
+ viewBox="276.411 158.834 114.971 114.97"
121
+ >
122
+ <path
123
+ d="M 297.574 224.786 L 318.309 243.134 L 371.568 189.232"
124
+ fill="none"
125
+ stroke-linecap="round"
126
+ stroke-width="14px"
127
+ ></path>
128
+ </svg>
129
+
130
+ <span class="autocomplete-option__label">{{
131
+ optionsMetaIndexedById[option.valueHash].text
132
+ }}</span>
133
+ </slot>
134
+ </span>
135
+ </span>
136
+ </span>
137
+ <slot name="options:append"></slot>
138
+ </span>
139
+ </span>
140
+ </span>
141
+ </template>
142
+
143
+ <script setup lang="ts" generic="Item = any">
144
+ import { isNil } from '@/utilities/functions/isNil';
145
+ import { computed, ref, useTemplateRef, watch } from 'vue';
146
+ import { useVirtualizer } from '@tanstack/vue-virtual';
147
+ import type { GroupedOptions, Option } from '@/types/Option';
148
+ import type {
149
+ GroupedListBoxProps,
150
+ GroupedListBoxEvents,
151
+ GroupedListBoxSlots,
152
+ } from './types';
153
+ export type { GroupedListBoxProps, GroupedListBoxEvents, GroupedListBoxSlots };
154
+ import { useLocale } from '@/composables/useLocale';
155
+ import { useListboxFocus } from '@/composables/useListboxFocus';
156
+ import { indexBy } from '@/utilities/functions/indexBy';
157
+
158
+ type GroupMeta = {
159
+ allOptionsAreDisabled: boolean;
160
+ data: any;
161
+ headerId: string;
162
+ height: number;
163
+ id: string | symbol;
164
+ index: number;
165
+ label: string;
166
+ length: number;
167
+ offset: number;
168
+ options: Option[];
169
+ };
170
+
171
+ const props = withDefaults(defineProps<GroupedListBoxProps>(), {
172
+ transitionDuration: 250,
173
+ });
174
+
175
+ const emit = defineEmits<GroupedListBoxEvents>();
176
+
177
+ defineSlots<GroupedListBoxSlots<Item>>();
178
+
179
+ const { t } = useLocale();
180
+
181
+ const innerRef = useTemplateRef('inner');
182
+ const listboxRef = useTemplateRef('listbox');
183
+
184
+ const resolvedOptionHeight = computed(() => {
185
+ if (props.optionHeight) return props.optionHeight;
186
+ if (props.compact) return 32;
187
+ return 40;
188
+ });
189
+
190
+ const resolvedHeaderHeight = computed(() => {
191
+ if (props.headerHeight) return props.headerHeight;
192
+ if (props.compact) return 24;
193
+ return 32;
194
+ });
195
+
196
+ const groupMeta = computed(() => {
197
+ let offsetAccumulator = 0;
198
+ return props.groups.map((group, index) => {
199
+ const id = group.id;
200
+
201
+ const offset = offsetAccumulator;
202
+ const length = group.options.length;
203
+ const height =
204
+ resolvedHeaderHeight.value + length * resolvedOptionHeight.value;
205
+ const headerId = `group-header-${group.id}`;
206
+ const label =
207
+ typeof group.data === 'string' ? group.data : JSON.stringify(group.data);
208
+ const allOptionsAreDisabled = group.options.every((o) => o.disabled);
209
+ const data = group.data;
210
+ const options = group.options;
211
+
212
+ offsetAccumulator += length;
213
+ return {
214
+ offset,
215
+ length,
216
+ height,
217
+ id,
218
+ headerId,
219
+ label,
220
+ index,
221
+ allOptionsAreDisabled,
222
+ data,
223
+ options,
224
+ };
225
+ });
226
+ });
227
+
228
+ const groupMetaIndexedByIndex = computed(() =>
229
+ indexBy(groupMeta.value, 'index')
230
+ );
231
+
232
+ const optionsMeta = computed(() => {
233
+ return props.groups.flatMap((g, groupIndex) =>
234
+ g.options.map((o, indexInGroup) => {
235
+ const id = o.valueHash;
236
+ const globalIndex =
237
+ groupMetaIndexedByIndex.value[groupIndex].offset + indexInGroup;
238
+ const groupId = g.id;
239
+ const selected = !!o.selected;
240
+ const disabled = !!o.disabled;
241
+
242
+ const item = o.item;
243
+ const text = o.text;
244
+ const value = o.value;
245
+ const focused = globalIndex === focusedIndex.value;
246
+ return {
247
+ id,
248
+ globalIndex,
249
+ groupIndex,
250
+ groupId,
251
+ indexInGroup,
252
+ selected,
253
+ disabled,
254
+ item: item,
255
+ text: text,
256
+ value: value,
257
+ valueHash: o.valueHash,
258
+ focused,
259
+ };
260
+ })
261
+ );
262
+ });
263
+ const optionsMetaIndexedById = computed(() => indexBy(optionsMeta.value, 'id'));
264
+ const optionsMetaIndexedByIndex = computed(() =>
265
+ indexBy(optionsMeta.value, 'globalIndex')
266
+ );
267
+ const getOptionId = (hash: Option['valueHash']) => `listbox-option-${hash}`;
268
+ const activeDescendantId = computed(() => {
269
+ if (isNil(focusedIndex.value)) return undefined;
270
+ const focusedOption = optionsMetaIndexedByIndex.value[focusedIndex.value];
271
+ if (!focusedOption) return undefined;
272
+ return getOptionId(focusedOption.valueHash);
273
+ });
274
+
275
+ const hasOptions = computed(() => optionsMeta.value.length > 0);
276
+
277
+ const groupHeight = (groupIndex: number) =>
278
+ resolvedHeaderHeight.value +
279
+ props.groups[groupIndex].options.length * resolvedOptionHeight.value;
280
+
281
+ const rowVirtualizer = useVirtualizer({
282
+ get count() {
283
+ return props.groups.length;
284
+ },
285
+ getScrollElement: () => innerRef.value ?? null,
286
+ estimateSize: (i) => groupHeight(i),
287
+ overscan: 2,
288
+ });
289
+
290
+ const virtualRows = computed(() => rowVirtualizer.value.getVirtualItems());
291
+ const totalSize = computed(() => rowVirtualizer.value.getTotalSize());
292
+
293
+ const {
294
+ focusedIndex,
295
+ focusNext,
296
+ focusPrevious,
297
+ focusFirst,
298
+ focusLast,
299
+ focusFirstSelected,
300
+ focusLastSelected,
301
+ focusByHash,
302
+ blur,
303
+ getHighlighted,
304
+ } = useListboxFocus(
305
+ computed(() => optionsMeta.value),
306
+ { disabled: () => !props.open }
307
+ );
308
+
309
+ const scrollToFocused = () => {
310
+ if (!innerRef.value || isNil(focusedIndex.value)) return;
311
+ const el = innerRef.value.querySelector<HTMLElement>(
312
+ `[data-index="${focusedIndex.value}"]`
313
+ );
314
+ if (el) {
315
+ el.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
316
+ }
317
+ };
318
+
319
+ watch(focusedIndex, () => {
320
+ scrollToFocused();
321
+ emit('focused:change', activeDescendantId.value);
322
+ });
323
+
324
+ const confirmOption = () => {
325
+ if (isNil(focusedIndex.value) || !props.open) return;
326
+ const optionMeta = optionsMetaIndexedByIndex.value[focusedIndex.value];
327
+ if (!optionMeta || optionMeta.disabled) return;
328
+ const option: Option = {
329
+ text: optionMeta.text,
330
+ value: optionMeta.value,
331
+ item: optionMeta.item,
332
+ valueHash: optionMeta.valueHash,
333
+ selected: optionMeta.selected,
334
+ disabled: optionMeta.disabled,
335
+ };
336
+ if (optionMeta.selected) {
337
+ emit('option:unselected', option);
338
+ } else {
339
+ emit('option:selected', option);
340
+ }
341
+ };
342
+
343
+ const height = ref(0);
344
+ const getScrollHeight = () => {
345
+ if (innerRef.value) {
346
+ height.value = innerRef.value.scrollHeight;
347
+ }
348
+ };
349
+
350
+ const handleClick = (event: MouseEvent) => {
351
+ event.preventDefault();
352
+ if (
353
+ innerRef.value &&
354
+ event.target instanceof HTMLElement &&
355
+ listboxRef.value
356
+ ) {
357
+ let node: HTMLElement = event.target;
358
+ let index = node.dataset['index'];
359
+ while (isNil(index) && node.parentElement) {
360
+ node = node.parentElement;
361
+ index = node.dataset['index'];
362
+ }
363
+ if (index) {
364
+ const option = optionsMetaIndexedByIndex.value[+index];
365
+ if (option && !option.disabled) {
366
+ focusedIndex.value = +index;
367
+ confirmOption();
368
+ }
369
+ }
370
+ }
371
+ };
372
+
373
+ watch(() => props.open, getScrollHeight, { flush: 'post' });
374
+
375
+ watch(
376
+ () => props.groups,
377
+ (value, previous) => {
378
+ const currentHash = value
379
+ .flatMap((g) => g.options.map((o) => o.valueHash))
380
+ .join(',');
381
+
382
+ const previousHash = previous
383
+ .flatMap((g) => g.options.map((o) => o.valueHash))
384
+ .join(',');
385
+ if (currentHash !== previousHash) {
386
+ rowVirtualizer.value.measure();
387
+ getScrollHeight();
388
+ blur();
389
+ }
390
+ },
391
+ { flush: 'post' }
392
+ );
393
+
394
+ defineExpose({
395
+ focusNext,
396
+ focusPrevious,
397
+ focusFirst,
398
+ focusFirstSelected,
399
+ focusLast,
400
+ focusLastSelected,
401
+ blur,
402
+ confirmOption,
403
+ focusByHash,
404
+ getHighlighted,
405
+ getActiveDescendantId: () => activeDescendantId.value,
406
+ });
407
+ </script>
408
+
409
+ <style lang="postcss"></style>
410
+ ```
411
+
412
+ ## Types
413
+
414
+ ```ts
415
+ import type { GroupedOptions, Option } from '@/types/Option';
416
+
417
+ export type GroupedListBoxProps = {
418
+ /**
419
+ * Sets the listbox in a compact state.
420
+ */
421
+ compact?: boolean;
422
+ /**
423
+ * List of option groups to display.
424
+ */
425
+ groups: GroupedOptions[];
426
+ /**
427
+ * Height of group headers (px). Defaults to 24px (compact) or 32px.
428
+ */
429
+ headerHeight?: number;
430
+ /**
431
+ * Shows the listbox in a loading state.
432
+ */
433
+ loading?: boolean;
434
+ /**
435
+ * Text shown while options are loading.
436
+ */
437
+ loadingText?: string;
438
+ /**
439
+ * Allows multiple options to be selected simultaneously.
440
+ */
441
+ multiple?: boolean;
442
+ /**
443
+ * Text shown when no options are available.
444
+ */
445
+ noDataText?: string;
446
+ /**
447
+ * Whether the listbox is open (visible).
448
+ */
449
+ open?: boolean;
450
+ /**
451
+ * Fixed height (in px) for each option row. Defaults to 40px (32px in compact mode).
452
+ */
453
+ optionHeight?: number;
454
+ /**
455
+ * Duration of open/close transition in milliseconds.
456
+ *
457
+ * @defaultValue `250`
458
+ */
459
+ transitionDuration?: number;
460
+ };
461
+
462
+ export type GroupedListBoxEvents = {
463
+ /**
464
+ * Emitted when an option is selected by the user.
465
+ * @param option - The selected option.
466
+ */
467
+ (e: 'option:selected', option: Option): void;
468
+ /**
469
+ * Emitted when a previously selected option is deselected.
470
+ * @param option - The deselected option.
471
+ */
472
+ (e: 'option:unselected', option: Option): void;
473
+ /**
474
+ * Emitted when the keyboard-focused option changes.
475
+ * @param id - The accessible id of the focused option, or `undefined` when focus is cleared.
476
+ */
477
+ (e: 'focused:change', id: string | undefined): void;
478
+ };
479
+
480
+ /** Props exposed by the `option` slot. */
481
+ export type GroupedListBoxOptionSlotProps<Item = any> = {
482
+ /** Whether this option is disabled. */
483
+ disabled: boolean;
484
+ /** Whether this option currently has keyboard focus. */
485
+ focused: boolean;
486
+ /** Absolute zero-based index of this option in the full list. */
487
+ index: number;
488
+ /** The raw item from the source list. */
489
+ item: Item;
490
+ /** Whether this option is currently selected. */
491
+ selected: boolean;
492
+ /** The resolved display text for this option. */
493
+ text: string;
494
+ /** The resolved value for this option. */
495
+ value: any;
496
+ };
497
+
498
+ /** Props exposed by the `group` slot. */
499
+ export type GroupedListBoxGroupSlotProps<Item = any> = {
500
+ /** The display label for this group. */
501
+ text: string;
502
+ /** The raw group data item. */
503
+ item: Item;
504
+ /** Zero-based index of this group's first option in the full list. */
505
+ index: number;
506
+ /** Number of options in this group. */
507
+ length: number;
508
+ /** Whether all options in this group are disabled. */
509
+ disabled: boolean;
510
+ };
511
+
512
+ export type GroupedListBoxSlots<Item = any> = {
513
+ /**
514
+ * Content prepended inside the options list, before the first group.
515
+ */
516
+ 'options:prepend'?: (props: object) => any;
517
+ /**
518
+ * Content shown while items are loading (replaces the default loading text).
519
+ */
520
+ loading?: (props: object) => any;
521
+ /**
522
+ * Content shown when no options are available (replaces the default "no data" text).
523
+ */
524
+ 'no-data'?: (props: object) => any;
525
+ /**
526
+ * Replaces the default rendering of each option row within a group.
527
+ */
528
+ option?: (props: GroupedListBoxOptionSlotProps<Item>) => any;
529
+ /**
530
+ * Replaces the default group header rendered above each group of options.
531
+ */
532
+ group?: (props: GroupedListBoxGroupSlotProps<Item>) => any;
533
+ /**
534
+ * Content appended inside the options list, after the last group.
535
+ */
536
+ 'options:append'?: (props: object) => any;
537
+ };
538
+ ```