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,238 @@
1
+ # BbIcon
2
+
3
+ ## Template & Script
4
+
5
+ ```vue
6
+ <template>
7
+ <svg v-bind="iconAttributes" data-allow-mismatch v-html="content"></svg>
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import {
12
+ computed,
13
+ inject,
14
+ ref,
15
+ getCurrentInstance,
16
+ onServerPrefetch,
17
+ onBeforeMount,
18
+ watch,
19
+ } from 'vue';
20
+ import { isCssColor } from '@/utilities/functions/isCssColor';
21
+ import { get } from '@/utilities/functions/get';
22
+ import { useLogger } from '@/composables/useLogger';
23
+ import type { BbIconProps, Size } from './types';
24
+ export type { BbIconProps, Size };
25
+
26
+ const props = withDefaults(defineProps<BbIconProps>(), {
27
+ size: 'md',
28
+ });
29
+ const logger = useLogger();
30
+ let icons = ref<Record<string, () => Promise<string>>>();
31
+ const icon = ref<string | null>(null);
32
+ const content = computed(() => {
33
+ if (icon.value) {
34
+ return icon.value.replace(/<\/?svg[^>]*>/g, '');
35
+ }
36
+ return null;
37
+ });
38
+
39
+ // @ts-expect-error possibily undef
40
+ const isNuxt = !!get(getCurrentInstance(), ['proxy', '$nuxt']);
41
+
42
+ /**
43
+ * Loads the icon registry based on the current environment (Nuxt or Vue).
44
+ * In Nuxt, uses the injected $icons from the Nuxt context.
45
+ * In Vue, uses the injected 'icons' provider.
46
+ * Only loads icons once to prevent redundant operations.
47
+ * Throws an error if icons cannot be loaded in the current environment.
48
+ */
49
+ const loadIcons = () => {
50
+ if (isNuxt) {
51
+ // @ts-expect-error possibily undef
52
+ icons.value = get(getCurrentInstance(), ['proxy', '$nuxt', '$icons']);
53
+ if (!icons.value) {
54
+ logger.throw(
55
+ 'Failed to load Nuxt icons. Make sure the icon provider is properly configured.'
56
+ );
57
+ }
58
+ return;
59
+ }
60
+
61
+ icons.value = inject('icons');
62
+ if (!icons.value) {
63
+ logger.throw(
64
+ 'Failed to inject icons. Make sure the icon provider is properly configured in the Vue app.'
65
+ );
66
+ }
67
+ };
68
+
69
+ /**
70
+ * Retrieves and loads the SVG content for the specified icon type.
71
+ * Throws an error if icons haven't been loaded or if the icon type doesn't exist.
72
+ */
73
+ const getIcon = async () => {
74
+ if (!icons.value) {
75
+ logger.throw('Icons have not been loaded');
76
+ }
77
+
78
+ const iconLoader = icons.value![props.type];
79
+ if (!iconLoader) {
80
+ logger.throw(`Icon "${props.type}" does not exist.`);
81
+ }
82
+
83
+ icon.value = await iconLoader();
84
+ };
85
+
86
+ onServerPrefetch(async () => {
87
+ loadIcons();
88
+ await getIcon();
89
+ });
90
+
91
+ onBeforeMount(async () => {
92
+ if (!icons.value) {
93
+ loadIcons();
94
+ }
95
+ if (!icon.value) {
96
+ await getIcon();
97
+ }
98
+ });
99
+
100
+ watch(() => props.type, getIcon);
101
+
102
+ const sizeMap: Size = {
103
+ xs: 12,
104
+ sm: 16,
105
+ md: 24,
106
+ lg: 28,
107
+ xl: 36,
108
+ xxl: 40,
109
+ };
110
+
111
+ /**
112
+ * Computes the width of the icon in pixels based on the size prop.
113
+ * Supports predefined size keys, numeric values, or custom pixel strings.
114
+ */
115
+ const iconWidth = computed(() => {
116
+ if (typeof props.size === 'number') {
117
+ return `${props.size}px`;
118
+ }
119
+
120
+ if (typeof props.size === 'string') {
121
+ const mappedSize = sizeMap[props.size as keyof Size];
122
+ if (mappedSize !== undefined) {
123
+ return `${mappedSize}px`;
124
+ }
125
+ const parsed = parseInt(props.size, 10);
126
+ if (isNaN(parsed)) {
127
+ logger.throw(`Invalid size: "${props.size}"`);
128
+ }
129
+ return `${parsed}px`;
130
+ }
131
+
132
+ return '24px';
133
+ });
134
+
135
+ /**
136
+ * Computes the attributes object for the icon span element.
137
+ * Includes CSS classes, inline styles, and accessibility attributes.
138
+ */
139
+ const iconAttributes = computed(() => {
140
+ const classes: Record<string, boolean> = {
141
+ 'bb-icon': true,
142
+ };
143
+ const style: Record<string, string> = {
144
+ '--bb-icon-dimensions-w': iconWidth.value,
145
+ };
146
+
147
+ if (props.color) {
148
+ if (isCssColor(props.color)) {
149
+ style.color = props.color;
150
+ } else {
151
+ classes[`bb-icon--${props.color}`] = true;
152
+ }
153
+ }
154
+
155
+ const inheritedAttributes: Record<string, any> = {};
156
+ if (icon.value) {
157
+ const attrString = icon.value.split('>')[0].substring(5); // all attributes in the opening svg tag
158
+ const attrRegex = /([\w-]+)="([^"]*)"/g;
159
+ let match;
160
+ while ((match = attrRegex.exec(attrString)) !== null) {
161
+ inheritedAttributes[match[1]] = match[2];
162
+ }
163
+ }
164
+
165
+ const base: Record<string, any> = {
166
+ viewBox: '0 0 1 1',
167
+ ...inheritedAttributes,
168
+ class: classes,
169
+ style,
170
+ };
171
+
172
+ // Determine if the icon should be accessible to screen readers
173
+ const hasAccessibleLabel = props.label;
174
+
175
+ if (hasAccessibleLabel) {
176
+ // Icon has a meaningful label - make it accessible
177
+ base['role'] = 'img';
178
+ base['aria-label'] = props.label.trim();
179
+ // Add title as fallback for older screen readers and tooltip behavior
180
+ base['title'] = props.label.trim();
181
+ }
182
+
183
+ // Icons should never be focusable or keyboard navigable since they're not interactive
184
+ base['focusable'] = 'false';
185
+
186
+ return base;
187
+ });
188
+ </script>
189
+
190
+ <style lang="postcss">
191
+ @import './index.css';
192
+ </style>
193
+ ```
194
+
195
+ ## Types
196
+
197
+ ```ts
198
+ import type { Size as S } from '@/types/CommonProps';
199
+ import type { IconType } from '@/types/Icon';
200
+
201
+ export type Size = {
202
+ xs: number;
203
+ sm: number;
204
+ md: number;
205
+ lg: number;
206
+ xl: number;
207
+ xxl: number;
208
+ };
209
+
210
+ export interface BbIconProps extends S<Size> {
211
+ /**
212
+ * Define a color for the component.
213
+ *
214
+ * Either a custom color or a coded color in common HEX, RGB, etc... format.
215
+ */
216
+ color?: string;
217
+ /**
218
+ * Label of the icon for accessibility.
219
+ */
220
+ label?: string;
221
+ /**
222
+ * Name of the icon to use.
223
+ *
224
+ * @defaultValue `'md'`
225
+ */
226
+ type: IconType;
227
+ }
228
+ ```
229
+
230
+ ## Styles
231
+
232
+ ```css
233
+ .bb-icon {
234
+ --size: var(--bb-icon-dimensions-w);
235
+ width: var(--size);
236
+ pointer-events: none;
237
+ }
238
+ ```
@@ -0,0 +1,121 @@
1
+ # BbIntersection
2
+
3
+ ## Template & Script
4
+
5
+ ```vue
6
+ <template>
7
+ <component :is="tag" ref="infinitescrolltrigger" class="bb-intersection">
8
+ <slot :hidden="hidden" :percentage="percentage" :shown="shown"></slot>
9
+ </component>
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import { throttle } from '@/utilities/functions/throttle';
14
+ import { onBeforeUnmount, onMounted, ref } from 'vue';
15
+ import type {
16
+ BbIntersectionProps,
17
+ BbIntersectionEvents,
18
+ BbIntersectionSlots,
19
+ } from './types';
20
+ export type { BbIntersectionProps, BbIntersectionEvents, BbIntersectionSlots };
21
+
22
+ const props = withDefaults(defineProps<BbIntersectionProps>(), {
23
+ debounceTime: 0,
24
+ options: () => ({
25
+ root: null,
26
+ threshold: [0, 0.2, 0.4, 0.6, 0.8, 1],
27
+ }),
28
+ tag: 'div',
29
+ });
30
+
31
+ const emit = defineEmits<BbIntersectionEvents>();
32
+
33
+ defineSlots<BbIntersectionSlots>();
34
+
35
+ const observer = ref<IntersectionObserver | null>(null);
36
+ const infinitescrolltrigger = ref<Element | null>(null);
37
+ const shown = ref(false);
38
+ const hidden = ref(true);
39
+ const percentage = ref(0);
40
+
41
+ onMounted(() => {
42
+ observer.value = new IntersectionObserver((entries) => {
43
+ handleIntersect(entries[0]);
44
+ }, props.options);
45
+ if (infinitescrolltrigger.value) {
46
+ observer.value.observe(infinitescrolltrigger.value);
47
+ }
48
+ });
49
+ onBeforeUnmount(() => {
50
+ if (observer.value) observer.value.disconnect();
51
+ });
52
+
53
+ const handleIntersect = throttle((entry: IntersectionObserverEntry) => {
54
+ if (entry.isIntersecting) {
55
+ percentage.value = Math.trunc(entry.intersectionRatio * 100);
56
+ if (entry.intersectionRatio === 1) {
57
+ shown.value = true;
58
+ hidden.value = false;
59
+ emit('shown');
60
+ } else {
61
+ shown.value = false;
62
+ hidden.value = false;
63
+ emitIntersected(Math.trunc(entry.intersectionRatio * 100));
64
+ }
65
+ } else {
66
+ shown.value = false;
67
+ hidden.value = true;
68
+ emit('hidden');
69
+ }
70
+ });
71
+
72
+ const emitIntersected = throttle((percentage: number) => {
73
+ emit('intersected', percentage);
74
+ }, props.debounceTime);
75
+ </script>
76
+ ```
77
+
78
+ ## Types
79
+
80
+ ```ts
81
+ import type { NonVoidElementTag } from '@/types/CommonProps';
82
+
83
+ export type BbIntersectionProps = {
84
+ /**
85
+ * Time to wait before emitting intersection value.
86
+ *
87
+ * @defaultValue `0`
88
+ */
89
+ debounceTime?: number;
90
+ /**
91
+ * Options used to configure the IntersectionObserver.
92
+ */
93
+ options?: IntersectionObserverInit; // eslint-disable-line no-undef
94
+ } & NonVoidElementTag;
95
+
96
+ export type BbIntersectionEvents = {
97
+ /** Emitted when the element becomes fully visible in the viewport. */
98
+ (e: 'shown'): void;
99
+ /** Emitted when the element leaves the viewport entirely. */
100
+ (e: 'hidden'): void;
101
+ /** Emitted when the intersection ratio changes. Payload is the ratio as a percentage (0–100). */
102
+ (e: 'intersected', value: number): void;
103
+ };
104
+
105
+ /** Props exposed by the `default` slot. */
106
+ export type BbIntersectionDefaultSlotProps = {
107
+ /** Whether the component is currently fully out of the viewport. */
108
+ hidden: boolean;
109
+ /** The current intersection ratio as a percentage (0–100). */
110
+ percentage: number;
111
+ /** Whether the component is currently at least partially visible. */
112
+ shown: boolean;
113
+ };
114
+
115
+ export type BbIntersectionSlots = {
116
+ /**
117
+ * Content rendered inside the observed element. Receives live intersection state.
118
+ */
119
+ default?: (props: BbIntersectionDefaultSlotProps) => any;
120
+ };
121
+ ```
@@ -0,0 +1,372 @@
1
+ # BbNumberInput
2
+
3
+ ## Template & Script
4
+
5
+ ```vue
6
+ <template>
7
+ <BaseInputContainer
8
+ :id="id"
9
+ class="bb-number-input"
10
+ :compact="compact"
11
+ :direction="direction"
12
+ :errors="errors"
13
+ :has-errors="hasErrors"
14
+ :hide-label="hideLabel"
15
+ :hint="hint"
16
+ :label="label"
17
+ :label-position="labelPosition"
18
+ :model-value="modelValue"
19
+ :name="name"
20
+ :reverse="reverse"
21
+ :show-hint="showHint"
22
+ >
23
+ <template #label="data"><slot name="label" v-bind="data"></slot></template>
24
+ <template #input="{ id, hasErrors, ariaDescribedby }">
25
+ <BaseNumberInput
26
+ :id="id"
27
+ ref="bni"
28
+ :append:icon="props['append:icon']"
29
+ :aria-describedby="ariaDescribedby"
30
+ :autocomplete="autocomplete"
31
+ :autofocus="autofocus"
32
+ :clearable="clearable"
33
+ :compact="compact"
34
+ :disabled="disabled"
35
+ :has-errors="hasErrors"
36
+ :loading="loading"
37
+ :max="max"
38
+ :max-precision="maxPrecision"
39
+ :min="min"
40
+ :model-value="modelValue"
41
+ :name="name"
42
+ :placeholder="placeholder"
43
+ :prepend:icon="props['prepend:icon']"
44
+ :readonly="readonly"
45
+ :required="required"
46
+ :step="step"
47
+ v-bind="eventListeners"
48
+ >
49
+ <template #append-outer="data"
50
+ ><slot name="append-outer" v-bind="data"
51
+ /></template>
52
+ <template #append="data"><slot name="append" v-bind="data" /></template>
53
+ <template #prefix="data"><slot name="prefix" v-bind="data" /></template>
54
+ <template #prepend="data"
55
+ ><slot name="prepend" v-bind="data"
56
+ /></template>
57
+ <template #suffix="data"><slot name="suffix" v-bind="data" /></template>
58
+ <template #prepend-outer="data"
59
+ ><slot name="prepend-outer" v-bind="data"
60
+ /></template>
61
+ </BaseNumberInput>
62
+ </template>
63
+ </BaseInputContainer>
64
+ </template>
65
+
66
+ <script setup lang="ts">
67
+ import BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';
68
+ import BaseNumberInput from '../BaseNumberInput/BaseNumberInput.vue';
69
+ import type { BaseNumberInputEvents } from '../BaseNumberInput/types';
70
+ import { computed, ref } from 'vue';
71
+ import type {
72
+ BbNumberInputProps,
73
+ BbNumberInputEvents,
74
+ BbNumberInputSlots,
75
+ } from './types';
76
+ export type { BbNumberInputProps, BbNumberInputEvents, BbNumberInputSlots };
77
+
78
+ const props = withDefaults(defineProps<BbNumberInputProps>(), {});
79
+
80
+ const emit = defineEmits<BaseNumberInputEvents>();
81
+
82
+ defineSlots<BbNumberInputSlots>();
83
+
84
+ const bni = ref();
85
+
86
+ const active = ref(false);
87
+ const showHint = computed(() => props.persistentHint || active.value);
88
+
89
+ /**
90
+ * These events are just propagated
91
+ */
92
+ const eventListeners = {
93
+ onBlur: (event: FocusEvent) => {
94
+ active.value = false;
95
+ emit('blur', event);
96
+ },
97
+ onChange: (event: Event) => emit('change', event),
98
+ onClick: (event: MouseEvent) => emit('click', event),
99
+ onDecrease: (event: number) => emit('decrease', event),
100
+ onFocus: (event: FocusEvent) => {
101
+ active.value = true;
102
+ emit('focus', event);
103
+ },
104
+ onIncrease: (event: number) => emit('increase', event),
105
+ onInput: (event: Event) => emit('input', event),
106
+ onKeydown: (event: KeyboardEvent) => emit('keydown', event),
107
+ onMousedown: (event: MouseEvent) => emit('mousedown', event),
108
+ onMouseup: (event: MouseEvent) => emit('mouseup', event),
109
+ 'onUpdate:modelValue': (value: number | null) =>
110
+ emit('update:modelValue', value),
111
+ };
112
+
113
+ const decrease = () => {
114
+ bni.value?.decrease();
115
+ };
116
+
117
+ const increase = () => {
118
+ bni.value?.increase();
119
+ };
120
+
121
+ defineExpose({
122
+ increase,
123
+ decrease,
124
+ });
125
+ </script>
126
+
127
+ <style lang="postcss">
128
+ @import './index.css';
129
+ </style>
130
+ ```
131
+
132
+ ## Types
133
+
134
+ ```ts
135
+ import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
136
+ import type { IconType } from '@/types/Icon';
137
+ import type {
138
+ BaseNumberInputEvents,
139
+ BaseNumberInputSlots,
140
+ } from '../BaseNumberInput/types';
141
+
142
+ export type BbNumberInputProps = {
143
+ /**
144
+ * Name of the icon to be added at the end of the input.
145
+ */
146
+ // eslint-disable-next-line vue/prop-name-casing
147
+ 'append:icon'?: IconType;
148
+ /**
149
+ * Guides the browser as to the type of information expected in the field.
150
+ */
151
+ autocomplete?: InputHTMLAttributes['autocomplete'];
152
+
153
+ /**
154
+ * Sets autofocus on page load.
155
+ */
156
+ autofocus?: InputHTMLAttributes['autofocus'];
157
+
158
+ /**
159
+ * Displays a clear button when the input has a value and is being interacted with.
160
+ */
161
+ clearable?: boolean;
162
+
163
+ /**
164
+ * Sets the component in a compact state.
165
+ */
166
+ compact?: boolean;
167
+
168
+ /**
169
+ * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.
170
+ */
171
+ direction?: 'horizontal' | 'vertical' | 'auto' | string;
172
+
173
+ /**
174
+ * Disables the component.
175
+ */
176
+ disabled?: boolean;
177
+
178
+ /**
179
+ * Can be a string or an array of string containing the messages to display.
180
+ */
181
+ errors?: string | string[];
182
+
183
+ /**
184
+ * Define if the component should be in an error state.
185
+ * It usually attaches a CSS class for styling purposes.
186
+ */
187
+ hasErrors?: boolean;
188
+
189
+ /**
190
+ * Visually hides the label of the input while maintaining accessibility.
191
+ */
192
+ hideLabel?: boolean;
193
+
194
+ /**
195
+ * Text box to be displayed near the input, usually to indicate instructions.
196
+ */
197
+ hint?: string;
198
+
199
+ /**
200
+ * The identifier of the component.
201
+ */
202
+ id?: HTMLAttributes['id'];
203
+
204
+ /**
205
+ * Text content of the label of the element.
206
+ */
207
+ label: string;
208
+
209
+ /**
210
+ * Sets the text alignment of the label.
211
+ */
212
+ labelPosition?: 'left' | 'center' | 'right';
213
+
214
+ /**
215
+ * Sets the component in a loading state, usually triggering some visual styles.
216
+ */
217
+ loading?: boolean;
218
+
219
+ /**
220
+ * Maximum value cap.
221
+ */
222
+ max?: number;
223
+
224
+ /**
225
+ * Maximum precision of the number.
226
+ */
227
+ maxPrecision?: number;
228
+
229
+ /**
230
+ * Minimum value cap.
231
+ */
232
+ min?: number;
233
+
234
+ /**
235
+ * Used by v-model.
236
+ */
237
+ modelValue: number | string | null;
238
+
239
+ /**
240
+ * Defines the name of the input.
241
+ */
242
+ name?: InputHTMLAttributes['name'];
243
+
244
+ /**
245
+ * Keeps the hint displayed.
246
+ */
247
+ persistentHint?: boolean;
248
+
249
+ /**
250
+ * String displayed when there's no data.
251
+ */
252
+ placeholder?: InputHTMLAttributes['placeholder'];
253
+
254
+ /**
255
+ * Name of the icon to be added at the start of the input.
256
+ */
257
+ // eslint-disable-next-line vue/prop-name-casing
258
+ 'prepend:icon'?: IconType;
259
+
260
+ /**
261
+ * Sets the input in a readonly state.
262
+ */
263
+ readonly?: boolean;
264
+
265
+ /**
266
+ * Sets the input as required.
267
+ */
268
+ required?: boolean;
269
+
270
+ /**
271
+ * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.
272
+ */
273
+ reverse?: boolean;
274
+
275
+ /**
276
+ * Incremental unit used in the exposed `increase` and `decrease` functions.
277
+ * It is NOT applied to manual input as a step of 5 would prevent the user from inserting a value like `115` because of rounding down.
278
+ */
279
+ step?: number;
280
+ };
281
+
282
+ /** Re-export for consumers importing events type from BbNumberInput. */
283
+ export type { BaseNumberInputEvents as BbNumberInputEvents };
284
+
285
+ /** Props exposed by the `label` slot. */
286
+ export type BbNumberInputLabelSlotProps = {
287
+ /** The `label` prop value. */
288
+ text: string;
289
+ /** Whether the input is in an error state. */
290
+ hasErrors: boolean;
291
+ };
292
+
293
+ export type BbNumberInputSlots = BaseNumberInputSlots & {
294
+ /**
295
+ * Replaces the default label text rendered above the number input.
296
+ */
297
+ label?: (props: BbNumberInputLabelSlotProps) => any;
298
+ };
299
+ ```
300
+
301
+ ## Styles
302
+
303
+ ```css
304
+ .bb-number-input {
305
+ &.bb-base-input-outer-container--errors {
306
+ }
307
+ &.bb-base-input-outer-container--hint {
308
+ }
309
+ .bb-base-input-container {
310
+ &--vertical {
311
+ }
312
+ &--horizontal {
313
+ }
314
+
315
+ &__label {
316
+ &--left {
317
+ }
318
+ &--center {
319
+ }
320
+ &--right {
321
+ }
322
+ &--hidden {
323
+ }
324
+ }
325
+ &__input {
326
+ &--left {
327
+ }
328
+ &--center {
329
+ }
330
+ &--right {
331
+ }
332
+
333
+ .bb-base-number-input {
334
+ display: inline-flex;
335
+ &--disabled {
336
+ }
337
+ &--errors {
338
+ }
339
+ &--loading {
340
+ }
341
+ &--readonly {
342
+ }
343
+
344
+ .bb-common-input-inner-container {
345
+ > input {
346
+ }
347
+
348
+ &__prepend-icon,
349
+ &__append-icon {
350
+ }
351
+ .bb-spinner {
352
+ }
353
+ .bb-error-icon {
354
+ }
355
+ &__prefix,
356
+ &__suffix {
357
+ }
358
+ }
359
+ }
360
+ }
361
+
362
+ &__hint-container {
363
+ .bb-base-input-container__hint {
364
+ }
365
+ }
366
+ &__errors {
367
+ }
368
+ &__error {
369
+ }
370
+ }
371
+ }
372
+ ```