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,504 @@
1
+ # BbDropzone
2
+
3
+ ## Template & Script
4
+
5
+ ```vue
6
+ <template>
7
+ <component :is="tag" :id="containerId" :class="classes">
8
+ <label
9
+ @dragenter.prevent="setDragging"
10
+ @dragleave.prevent="unsetDragging"
11
+ @dragover.prevent="onDragOver"
12
+ @drop.prevent="onDrop"
13
+ >
14
+ <input
15
+ :accept="acceptedMimeTypesString"
16
+ :autofocus="autofocus"
17
+ class="sr-only"
18
+ :disabled="disabled"
19
+ :multiple="multiple"
20
+ type="file"
21
+ @blur="onBlur"
22
+ @change="onChange"
23
+ @focus="onFocus"
24
+ />
25
+ <slot v-bind="slotAttributes"></slot>
26
+ </label>
27
+ <label class="bb-dropzone__submittable-label">
28
+ Server files
29
+ <input
30
+ :id="id"
31
+ ref="submittable"
32
+ class="bb-dropzone__submittable-input"
33
+ :disabled="disabled"
34
+ :multiple="multiple"
35
+ :name="name"
36
+ type="file"
37
+ />
38
+ </label>
39
+
40
+ <span class="bb-dropzone__errors">
41
+ <BbSmoothHeight tag="span">
42
+ <span
43
+ v-for="error in computedErrors"
44
+ :key="error"
45
+ class="bb-dropzone__error"
46
+ >{{ error }}</span
47
+ >
48
+ </BbSmoothHeight>
49
+ </span>
50
+ </component>
51
+ </template>
52
+
53
+ <script setup lang="ts">
54
+ import { computed, ref, watch } from 'vue';
55
+ import { findInTree } from '@/utilities/functions/findInTree';
56
+ import { useId } from '@/composables/useId';
57
+ import BbSmoothHeight from '../BbSmoothHeight/BbSmoothHeight.vue';
58
+ import type {
59
+ BbDropzoneProps,
60
+ BbDropzoneEvents,
61
+ BbDropzoneSlots,
62
+ DropZoneError,
63
+ } from './types';
64
+ export type {
65
+ BbDropzoneProps,
66
+ BbDropzoneEvents,
67
+ BbDropzoneSlots,
68
+ DropZoneError,
69
+ };
70
+
71
+ // This is the dynamic import for mime
72
+ let mime: any;
73
+
74
+ const props = withDefaults(defineProps<BbDropzoneProps>(), {
75
+ tag: 'div',
76
+ });
77
+
78
+ const emit = defineEmits<BbDropzoneEvents>();
79
+
80
+ defineSlots<BbDropzoneSlots>();
81
+
82
+ const submittable = ref<any | null>(null);
83
+
84
+ if (props.accept) {
85
+ if (!Array.isArray(props.accept)) {
86
+ throw new Error('Property accept is not an array');
87
+ }
88
+ }
89
+ if (props.multiple) {
90
+ if (!Array.isArray(props.modelValue)) {
91
+ throw new Error(
92
+ 'Component is set to multiple but modelValue is not an array'
93
+ );
94
+ }
95
+ }
96
+
97
+ const hasFocus = ref(false);
98
+ const onFocus = (event: FocusEvent) => {
99
+ hasFocus.value = true;
100
+ emit('focus', event);
101
+ };
102
+ const onBlur = (event: FocusEvent) => {
103
+ hasFocus.value = false;
104
+ emit('blur', event);
105
+ };
106
+
107
+ /** Allow dropzone to be submittable (this is flimsy and might break) */
108
+ watch(
109
+ () => props.modelValue,
110
+ () => {
111
+ let container = new DataTransfer();
112
+ if (Array.isArray(props.modelValue)) {
113
+ if (props.modelValue.length) {
114
+ props.modelValue.forEach((file) => container.items.add(file));
115
+ }
116
+ } else {
117
+ if (props.modelValue) container.items.add(props.modelValue);
118
+ }
119
+ if (submittable.value) {
120
+ if (container.items.length) {
121
+ submittable.value.files = container.files;
122
+ } else {
123
+ submittable.value.files = null;
124
+ }
125
+ }
126
+ }
127
+ );
128
+
129
+ const acceptedMimeTypes = ref<string[]>([]);
130
+ const acceptedMimeTypesString = computed(() =>
131
+ acceptedMimeTypes.value.join(',')
132
+ );
133
+ watch(
134
+ () => props.accept,
135
+ async () => {
136
+ if (props.accept) {
137
+ let accumulated = [];
138
+ for (let i = 0; i < props.accept.length; i++) {
139
+ const element = props.accept[i];
140
+ if (element.includes('/')) accumulated.push(element);
141
+ else {
142
+ if (!mime) {
143
+ const mod = await import('mime');
144
+ mime = mod.default;
145
+ }
146
+ const foundMime = mime.getType(element);
147
+ if (!foundMime) {
148
+ throw new Error(
149
+ `Could not detect the correct mime associated with ${element}`
150
+ );
151
+ }
152
+ accumulated.push(foundMime);
153
+ }
154
+ }
155
+ acceptedMimeTypes.value = accumulated;
156
+ }
157
+ },
158
+ { immediate: true }
159
+ );
160
+
161
+ /**
162
+ * Component state
163
+ */
164
+ const id = props.id || `${useId().id.value}`;
165
+ const containerId = `bb_dz_${id}`;
166
+
167
+ const dragging = ref(false);
168
+ // Add a timeout to prevent browser flickering
169
+ let draggingTimeout: ReturnType<typeof setTimeout>;
170
+
171
+ const classes = computed(() => {
172
+ return {
173
+ 'bb-dropzone': true,
174
+ 'bb-dropzone--errors': hasErrors.value,
175
+ 'bb-dropzone--dragging': dragging.value,
176
+ };
177
+ });
178
+ const slotAttributes = computed(() => {
179
+ return {
180
+ dragging: dragging.value,
181
+ focused: hasFocus.value,
182
+ id: id,
183
+ };
184
+ });
185
+
186
+ /**
187
+ * Component handlers
188
+ */
189
+ const onDrop = (event: DragEvent) => {
190
+ dragging.value = false;
191
+
192
+ if (event.dataTransfer) {
193
+ event.stopImmediatePropagation();
194
+ let files;
195
+ files = Array.from(event.dataTransfer.files);
196
+ files = parseFiles(files);
197
+ if (props.multiple) {
198
+ if (Array.isArray(props.modelValue)) {
199
+ emit('update:modelValue', [...props.modelValue, ...files]);
200
+ }
201
+ } else {
202
+ files = files[0];
203
+ emit('update:modelValue', files);
204
+ }
205
+ if (event.currentTarget instanceof HTMLLabelElement) {
206
+ const innerInput = event.currentTarget.querySelector('input[type=file]');
207
+ if (innerInput instanceof HTMLInputElement) {
208
+ innerInput.focus();
209
+ }
210
+ }
211
+ }
212
+ };
213
+ const onChange = (event: Event) => {
214
+ if (event.target instanceof HTMLInputElement) {
215
+ if (event.target.files) {
216
+ let files;
217
+ files = parseFiles(Array.from(event.target.files));
218
+ if (props.multiple) {
219
+ if (Array.isArray(props.modelValue)) {
220
+ emit('update:modelValue', [...props.modelValue, ...files]);
221
+ }
222
+ } else {
223
+ files = files[0];
224
+ emit('update:modelValue', files);
225
+ }
226
+ }
227
+ event.target.value = '';
228
+ event.target.files = null;
229
+ }
230
+ };
231
+
232
+ const parseFiles = (files: File[]) => {
233
+ return files.filter((file, index) => {
234
+ // Sizecheck
235
+ if (props.maxSize) {
236
+ let passing = file.size <= props.maxSize;
237
+ if (!passing) {
238
+ emit('error', createError.maxSize(file));
239
+ return false;
240
+ }
241
+ }
242
+ // Uniqueness check
243
+ let alreadyExists = false;
244
+ if (props.modelValue) {
245
+ if (Array.isArray(props.modelValue)) {
246
+ alreadyExists = props.modelValue.some((current) =>
247
+ compareFiles(current, file)
248
+ );
249
+ } else {
250
+ alreadyExists = compareFiles(props.modelValue, file);
251
+ }
252
+ }
253
+ if (alreadyExists) {
254
+ emit('error', createError.uniqueness(file));
255
+ return false;
256
+ }
257
+ // Mime type check
258
+ if (props.accept) {
259
+ const mimePassed = acceptedMimeTypes.value.some((mime) => {
260
+ let found = false;
261
+ if (mime.includes('*'))
262
+ found = found || mime.split('/')[0] === file.type.split('/')[0];
263
+ else found = found || mime === file.type;
264
+ return found;
265
+ });
266
+ if (!mimePassed) {
267
+ emit('error', createError.accept(file));
268
+ return false;
269
+ }
270
+ }
271
+ // Max files check
272
+ if (props.maxFiles) {
273
+ if (Array.isArray(props.modelValue)) {
274
+ if (props.modelValue.length + index + 1 > props.maxFiles) {
275
+ emit(
276
+ 'error',
277
+ createError.maxFiles(file, props.modelValue.length + index + 1)
278
+ );
279
+ return false;
280
+ }
281
+ }
282
+ }
283
+ return true;
284
+ });
285
+ };
286
+
287
+ const onDragOver = (event: Event) => {
288
+ // Find the closest dropzone in case of nested dropzones
289
+ const target = event.target;
290
+ if (target instanceof HTMLElement) {
291
+ const closestDropzone = findInTree([target], 'parentElement', (el) =>
292
+ el.classList.contains('bb-dropzone')
293
+ );
294
+ if (closestDropzone) {
295
+ /* When dragging over this dropzone set as dragging */
296
+ if (closestDropzone.id === containerId) {
297
+ setDragging();
298
+ /* When dragging over a nested dropzone do not highlight this dropzone */
299
+ } else {
300
+ unsetDragging();
301
+ }
302
+ }
303
+ }
304
+ };
305
+
306
+ const setDragging = () => {
307
+ clearTimeout(draggingTimeout);
308
+ dragging.value = true;
309
+ };
310
+
311
+ const unsetDragging = () => {
312
+ draggingTimeout = setTimeout(() => {
313
+ dragging.value = false;
314
+ }, 100);
315
+ };
316
+
317
+ const bytesToUnit = (bytes: number, decimals = 2) => {
318
+ if (!bytes) return '0 B';
319
+ const k = 1024;
320
+ const dm = decimals || 0;
321
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
322
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
323
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
324
+ };
325
+
326
+ /**
327
+ * Returns true if files are identical by the properties that are accessible
328
+ * @param file The file to check
329
+ * @param otherFile The file to check against
330
+ */
331
+ const compareFiles = (file: File, otherFile: File) => {
332
+ const properties: (keyof File)[] = ['name', 'size', 'lastModified', 'type'];
333
+ return !properties.some((key) => file[key] !== otherFile[key]);
334
+ };
335
+
336
+ /**
337
+ * Helper that creates errors based on component properties
338
+ */
339
+ const createError = {
340
+ maxSize: (file: File) => {
341
+ // Todo update to isNil
342
+ if (props.maxSize) {
343
+ return {
344
+ type: 'maxSize',
345
+ file: file,
346
+ formattedMaxSize: bytesToUnit(+props.maxSize),
347
+ formattedSize: bytesToUnit(file.size),
348
+ filename: file.name,
349
+ } as const;
350
+ } else
351
+ throw new Error(
352
+ 'Requested to create an error for maxSize without providing a maxSize.'
353
+ );
354
+ },
355
+ uniqueness: (file: File) => {
356
+ return {
357
+ type: 'uniqueness',
358
+ file: file,
359
+ filename: file.name,
360
+ } as const;
361
+ },
362
+ accept: (file: File) => {
363
+ return {
364
+ type: 'accept',
365
+ file: file,
366
+ acceptedMimeTypes: acceptedMimeTypes.value,
367
+ mimeType: file.type,
368
+ filename: file.name,
369
+ } as const;
370
+ },
371
+ maxFiles: (file: File, totalFiles: number) => {
372
+ return {
373
+ type: 'maxFiles',
374
+ file: file,
375
+ maxFiles: props.maxFiles,
376
+ totalFiles,
377
+ filename: file.name,
378
+ } as const;
379
+ },
380
+ };
381
+
382
+ const computedErrors = computed(() => {
383
+ return props.errors ? ([] as string[]).concat(props.errors) : [];
384
+ });
385
+
386
+ const hasErrors = computed(
387
+ () => Boolean(computedErrors.value.length) || props.hasErrors
388
+ );
389
+ </script>
390
+
391
+ <style lang="postcss">
392
+ @import './index.css';
393
+ </style>
394
+ ```
395
+
396
+ ## Types
397
+
398
+ ```ts
399
+ import type { CommonProps, NonVoidElementTag } from '@/types/CommonProps';
400
+
401
+ export type DropZoneError =
402
+ | {
403
+ type: 'maxSize';
404
+ file: File;
405
+ formattedMaxSize: string;
406
+ formattedSize: string;
407
+ filename: string;
408
+ }
409
+ | { type: 'uniqueness'; file: File; filename: string }
410
+ | {
411
+ type: 'accept';
412
+ file: File;
413
+ acceptedMimeTypes: string[];
414
+ mimeType: string;
415
+ filename: string;
416
+ }
417
+ | {
418
+ type: 'maxFiles';
419
+ file: File;
420
+ maxFiles: number | undefined;
421
+ totalFiles: number;
422
+ filename: string;
423
+ };
424
+
425
+ export type BbDropzoneProps = Pick<
426
+ CommonProps,
427
+ 'autofocus' | 'disabled' | 'errors' | 'hasErrors' | 'id' | 'multiple' | 'name'
428
+ > & {
429
+ /**
430
+ * Array of mime-types or extensions to filter selectable files.
431
+ */
432
+ accept?: string[];
433
+ /**
434
+ * Maximum number of acceptable files.
435
+ */
436
+ maxFiles?: number;
437
+ /**
438
+ * Max size of the files in bytes.
439
+ */
440
+ maxSize?: number;
441
+ /**
442
+ * Used by v-model.
443
+ */
444
+ modelValue: any;
445
+ } & NonVoidElementTag;
446
+
447
+ export type BbDropzoneEvents = {
448
+ /** Emitted when the file input loses focus. Forwards the original DOM `FocusEvent`. */
449
+ (e: 'blur', event: FocusEvent): void;
450
+ /** Emitted when a file validation error occurs (e.g. size, type, uniqueness, max count). */
451
+ (e: 'error', data: DropZoneError): void;
452
+ /** Emitted when the file input receives focus. Forwards the original DOM `FocusEvent`. */
453
+ (e: 'focus', event: FocusEvent): void;
454
+ /** Emitted when the selected files change. Payload is the new file or file array. */
455
+ (e: 'update:modelValue', data: any): void;
456
+ };
457
+
458
+ /** Props exposed by the `default` slot. */
459
+ export type BbDropzoneDefaultSlotProps = {
460
+ /** Whether a file is currently being dragged over the drop zone. */
461
+ dragging: boolean;
462
+ /** Whether the file input currently has keyboard focus. */
463
+ focused: boolean;
464
+ /** The `id` of the underlying file input, useful for custom label association. */
465
+ id: string;
466
+ };
467
+
468
+ export type BbDropzoneSlots = {
469
+ /**
470
+ * The drop zone area content. Renders inside the `<label>` that captures drag and file input events.
471
+ */
472
+ default?: (props: BbDropzoneDefaultSlotProps) => any;
473
+ };
474
+ ```
475
+
476
+ ## Styles
477
+
478
+ ```css
479
+ .bb-dropzone {
480
+ & > .bb-dropzone__submittable-label {
481
+ display: none;
482
+ }
483
+
484
+ & > label {
485
+ display: grid;
486
+ }
487
+
488
+ &.bb-dropzone--dragging {
489
+ }
490
+
491
+ &__errors {
492
+ color: var(--bb-danger);
493
+ display: grid;
494
+ font-size: 14px;
495
+ line-height: 18px;
496
+ width: 100%;
497
+ }
498
+
499
+ &__error {
500
+ display: inline-block;
501
+ width: 100%;
502
+ }
503
+ }
504
+ ```