bitboss-ui 2.1.113 → 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 (423) 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 +16 -9
  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 -324
  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/index122.js +1 -0
  226. package/dist/index124.js +4 -4
  227. package/dist/index126.js +13 -13
  228. package/dist/index132.js +22 -19
  229. package/dist/index134.js +1 -1
  230. package/dist/index136.js +5 -5
  231. package/dist/index138.js +1 -1
  232. package/dist/index14.js +1 -1
  233. package/dist/index140.js +18 -17
  234. package/dist/index144.js +1 -1
  235. package/dist/index146.js +2 -2
  236. package/dist/index149.js +2 -2
  237. package/dist/index16.js +3 -3
  238. package/dist/index18.js +3 -3
  239. package/dist/index20.js +70 -59
  240. package/dist/index22.js +14 -14
  241. package/dist/index221.js +138 -2
  242. package/dist/index222.js +2 -138
  243. package/dist/index224.js +5 -34
  244. package/dist/index225.js +7 -32
  245. package/dist/index226.js +32 -26
  246. package/dist/index227.js +7 -0
  247. package/dist/index228.js +5 -5
  248. package/dist/index229.js +5 -8
  249. package/dist/index230.js +5 -7
  250. package/dist/index231.js +3 -2
  251. package/dist/index232.js +2 -9
  252. package/dist/index233.js +6 -13
  253. package/dist/index234.js +8 -3
  254. package/dist/index235.js +268 -2
  255. package/dist/index236.js +52 -11
  256. package/dist/index237.js +50 -6
  257. package/dist/index238.js +32 -3
  258. package/dist/index239.js +60 -3
  259. package/dist/index24.js +10 -10
  260. package/dist/index240.js +13 -2
  261. package/dist/index241.js +187 -17
  262. package/dist/index242.js +3 -12
  263. package/dist/index243.js +2 -51
  264. package/dist/index244.js +2 -18
  265. package/dist/index245.js +2 -12
  266. package/dist/index246.js +12 -16
  267. package/dist/index247.js +11 -28
  268. package/dist/index248.js +48 -15
  269. package/dist/index249.js +17 -4
  270. package/dist/index250.js +2 -2
  271. package/dist/index252.js +2 -2
  272. package/dist/index254.js +3 -135
  273. package/dist/index255.js +4 -0
  274. package/dist/index256.js +4 -107
  275. package/dist/index257.js +19 -12
  276. package/dist/index258.js +6 -2
  277. package/dist/index259.js +16 -7
  278. package/dist/index26.js +3 -3
  279. package/dist/index260.js +86 -7
  280. package/dist/index262.js +32 -0
  281. package/dist/index263.js +18 -5
  282. package/dist/index264.js +12 -5
  283. package/dist/index265.js +18 -5
  284. package/dist/index266.js +2 -5
  285. package/dist/index267.js +7 -5
  286. package/dist/index268.js +7 -5
  287. package/dist/index269.js +3 -67
  288. package/dist/index270.js +4 -33
  289. package/dist/index271.js +5 -2
  290. package/dist/index272.js +5 -2
  291. package/dist/index273.js +5 -3
  292. package/dist/index274.js +135 -4
  293. package/dist/index276.js +9 -6
  294. package/dist/index277.js +7 -11
  295. package/dist/index278.js +23 -5
  296. package/dist/index279.js +3 -5
  297. package/dist/index28.js +57 -55
  298. package/dist/index280.js +21 -266
  299. package/dist/index281.js +364 -43
  300. package/dist/index283.js +32 -31
  301. package/dist/index284.js +3 -60
  302. package/dist/index285.js +25 -4
  303. package/dist/index286.js +3 -20
  304. package/dist/index287.js +18 -5
  305. package/dist/index288.js +12 -373
  306. package/dist/index289.js +109 -0
  307. package/dist/index290.js +11 -6
  308. package/dist/index291.js +66 -15
  309. package/dist/index292.js +32 -10
  310. package/dist/index294.js +5 -8
  311. package/dist/index295.js +9 -20
  312. package/dist/index296.js +2 -8
  313. package/dist/index297.js +9 -23
  314. package/dist/index298.js +52 -24
  315. package/dist/index299.js +5 -188
  316. package/dist/index30.js +3 -3
  317. package/dist/index300.js +21 -3
  318. package/dist/index301.js +28 -3
  319. package/dist/index303.js +9 -0
  320. package/dist/index304.js +2 -7
  321. package/dist/index305.js +280 -3
  322. package/dist/index306.js +2 -2
  323. package/dist/index307.js +16 -5
  324. package/dist/index308.js +2 -7
  325. package/dist/index309.js +16 -3
  326. package/dist/index310.js +2 -3
  327. package/dist/index311.js +27 -3
  328. package/dist/index312.js +2 -2
  329. package/dist/index313.js +2 -28
  330. package/dist/index314.js +2 -17
  331. package/dist/index315.js +2 -4
  332. package/dist/index316.js +1 -1
  333. package/dist/index317.js +28 -3
  334. package/dist/index318.js +2 -280
  335. package/dist/index319.js +7 -2
  336. package/dist/index32.js +2 -2
  337. package/dist/index320.js +719 -125
  338. package/dist/index321.js +366 -2
  339. package/dist/index322.js +56 -14
  340. package/dist/index323.js +4 -2
  341. package/dist/index324.js +3 -16
  342. package/dist/index325.js +17 -2
  343. package/dist/index326.js +3 -16
  344. package/dist/index327.js +3 -2
  345. package/dist/index328.js +3 -19
  346. package/dist/index329.js +3 -2
  347. package/dist/index330.js +120 -22
  348. package/dist/index331.js +2 -2
  349. package/dist/index332.js +15 -2
  350. package/dist/index333.js +2 -2
  351. package/dist/index334.js +19 -2
  352. package/dist/index335.js +2 -2
  353. package/dist/index336.js +5 -2
  354. package/dist/index337.js +5 -3
  355. package/dist/index338.js +2 -4
  356. package/dist/index339.js +4 -719
  357. package/dist/index34.js +8 -8
  358. package/dist/index340.js +2 -366
  359. package/dist/index341.js +3 -57
  360. package/dist/index342.js +3 -6
  361. package/dist/index343.js +6 -5
  362. package/dist/index344.js +6 -34
  363. package/dist/index345.js +17 -127
  364. package/dist/index346.js +7 -396
  365. package/dist/index347.js +14 -199
  366. package/dist/index348.js +5 -259
  367. package/dist/index349.js +6 -227
  368. package/dist/index352.js +35 -2
  369. package/dist/index353.js +129 -2
  370. package/dist/index354.js +378 -114
  371. package/dist/index355.js +92 -6
  372. package/dist/index356.js +226 -17
  373. package/dist/index357.js +22 -9
  374. package/dist/index359.js +7 -5
  375. package/dist/index36.js +4 -4
  376. package/dist/index360.js +200 -7
  377. package/dist/index361.js +255 -18
  378. package/dist/index362.js +136 -0
  379. package/dist/index363.js +2 -93
  380. package/dist/index364.js +2 -441
  381. package/dist/index365.js +427 -114
  382. package/dist/index366.js +127 -46
  383. package/dist/index367.js +44 -67
  384. package/dist/index368.js +66 -516
  385. package/dist/index369.js +515 -45
  386. package/dist/index370.js +52 -0
  387. package/dist/index38.js +133 -131
  388. package/dist/index40.js +8 -8
  389. package/dist/index42.js +2 -2
  390. package/dist/index44.js +16 -15
  391. package/dist/index46.js +4 -4
  392. package/dist/index50.js +28 -25
  393. package/dist/index54.js +1 -1
  394. package/dist/index56.js +1 -1
  395. package/dist/index58.js +2 -2
  396. package/dist/index60.js +2 -2
  397. package/dist/index62.js +5 -5
  398. package/dist/index66.js +3 -1
  399. package/dist/index68.js +1 -1
  400. package/dist/index74.js +4 -4
  401. package/dist/index82.js +6 -6
  402. package/dist/index84.js +1 -1
  403. package/dist/index86.js +2 -2
  404. package/dist/index88.js +3 -3
  405. package/dist/index90.js +1 -1
  406. package/dist/index93.js +3 -3
  407. package/dist/index95.js +2 -2
  408. package/dist/index97.js +5 -5
  409. package/dist/index99.js +1 -1
  410. package/dist/utilities/functions/parseSize.d.ts +1 -1
  411. package/package.json +5 -3
  412. package/dist/components/CommonInputInnerContainer.vue.d.ts +0 -81
  413. package/dist/components/CommonInputOuterContainer.vue.d.ts +0 -41
  414. package/dist/components/FlatListBox.vue.d.ts +0 -119
  415. package/dist/components/GroupedListBox.vue.d.ts +0 -153
  416. package/dist/components/ListBox.vue.d.ts +0 -170
  417. package/dist/components/OptionsContainer.vue.d.ts +0 -172
  418. package/dist/index261.js +0 -88
  419. package/dist/index275.js +0 -25
  420. package/dist/index282.js +0 -54
  421. package/dist/index293.js +0 -5
  422. package/dist/index302.js +0 -55
  423. package/dist/index358.js +0 -17
@@ -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
+ ```