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,624 @@
1
+ # BaseTag
2
+
3
+ ## Template & Script
4
+
5
+ ```vue
6
+ <template>
7
+ <CommonInputOuterContainer
8
+ ref="outerContainer"
9
+ :class="{
10
+ 'bb-base-tag': true,
11
+ 'bb-base-tag--active': active,
12
+ 'bb-base-tag--disabled': disabled,
13
+ 'bb-base-tag--loading': loading,
14
+ 'bb-base-tag--errors': hasErrors,
15
+ 'bb-base-tag--readonly': readonly,
16
+ 'bb-base-tag--compact': compact,
17
+ }"
18
+ @click="onOuterContainerClick"
19
+ >
20
+ <template #prepend-outer><slot name="prepend-outer"></slot></template>
21
+ <CommonInputInnerContainer
22
+ ref="innerContainer"
23
+ :append:icon="props['append:icon']"
24
+ :clearable="clearable && !isEmpty(modelValue)"
25
+ :prepend:icon="props['prepend:icon']"
26
+ :prevent-focus="true"
27
+ @click:clear="onClear"
28
+ >
29
+ <template #prepend><slot name="prepend" /></template>
30
+ <template #prefix><slot name="prefix" /></template>
31
+ <BbSmoothHeight tag="span">
32
+ <span class="bb-base-tag__input-container">
33
+ <template v-if="multiple">
34
+ <template v-if="comma">
35
+ <CommaBox ref="commaBox" :options="selectedOptions" />
36
+ </template>
37
+ <template v-else>
38
+ <ChipsBox
39
+ ref="chipsBox"
40
+ :options="selectedOptions"
41
+ @option:unselected="onOptionUnselected"
42
+ />
43
+ </template>
44
+ </template>
45
+
46
+ <input
47
+ :id="id"
48
+ ref="input"
49
+ v-bind="eventListeners"
50
+ v-model="query"
51
+ :aria-describedby="ariaDescribedby"
52
+ :autocomplete="autocomplete"
53
+ :autofocus="autofocus"
54
+ :class="'bb-base-tag__text-input'"
55
+ :disabled="disabled"
56
+ enterkeyhint="done"
57
+ :placeholder="placeholder"
58
+ :readonly="readonly"
59
+ :required="required && (!multiple || !modelValue.length)"
60
+ size="1"
61
+ :style="{ '--characters': query.length }"
62
+ type="text"
63
+ @focus.stop="onInputFocus"
64
+ @keydown.stop="onInputKeydown"
65
+ @keydown.stop.delete="onBackspace"
66
+ @keydown.stop.left="onArrowLeft"
67
+ @keydown.stop.prevent.esc="onEscape"
68
+ @keydown.stop.right="onArrowRight"
69
+ />
70
+ </span>
71
+ </BbSmoothHeight>
72
+ <template #append><slot name="append" /></template>
73
+ <template #suffix><slot name="suffix" /></template>
74
+ </CommonInputInnerContainer>
75
+
76
+ <template #append-outer><slot name="append-outer"></slot></template>
77
+ </CommonInputOuterContainer>
78
+ </template>
79
+
80
+ <script setup lang="ts">
81
+ import BbSmoothHeight from '../BbSmoothHeight/BbSmoothHeight.vue';
82
+ import { computed, ref, watch } from 'vue';
83
+ import { last } from '@/utilities/functions/last';
84
+ import { nextTick } from 'vue';
85
+ import { toRef } from 'vue';
86
+ import { useBaseOptions } from '@/composables/useBaseOptions';
87
+ import { useIndexById } from '@/composables/useIndexById';
88
+ import ChipsBox from '../ChipsBox/ChipsBox.vue';
89
+ import CommaBox from '../CommaBox/CommaBox.vue';
90
+ import CommonInputInnerContainer from '../CommonInputInnerContainer/CommonInputInnerContainer.vue';
91
+ import CommonInputOuterContainer from '../CommonInputOuterContainer/CommonInputOuterContainer.vue';
92
+ import type { Option as BaseOption } from '@/types/Option';
93
+ import { isEmpty } from '@/utilities/functions/empty';
94
+ import type { BaseTagProps, BaseTagEvents, BaseTagSlots } from './types';
95
+ export type { BaseTagProps, BaseTagEvents, BaseTagSlots };
96
+
97
+ const props = withDefaults(defineProps<BaseTagProps>(), {
98
+ autocomplete: 'off',
99
+ divider: 'Enter',
100
+ multiple: true,
101
+ });
102
+
103
+ const emit = defineEmits<BaseTagEvents>();
104
+
105
+ defineSlots<BaseTagSlots>();
106
+
107
+ if (props.multiple && !Array.isArray(props.modelValue)) {
108
+ throw new Error('Multiple is set to "true" but modelValue is not an array.');
109
+ }
110
+
111
+ const outerContainer = ref<InstanceType<
112
+ typeof CommonInputOuterContainer
113
+ > | null>(null);
114
+ const innerContainer = ref<InstanceType<
115
+ typeof CommonInputInnerContainer
116
+ > | null>(null);
117
+ const commaBox = ref<InstanceType<typeof CommaBox> | null>(null);
118
+ const chipsBox = ref<InstanceType<typeof ChipsBox> | null>(null);
119
+ const selectedBox = computed(() =>
120
+ props.comma ? commaBox.value : chipsBox.value
121
+ );
122
+
123
+ const input = ref<HTMLElement | null>(null);
124
+ const focusInput = () => {
125
+ if (input.value instanceof HTMLInputElement) {
126
+ input.value.focus();
127
+ }
128
+ };
129
+
130
+ const query = ref<string>('');
131
+ const selectedOptions = computed(() => {
132
+ return options.value.filter((o) => o.selected);
133
+ });
134
+
135
+ const { data: modelValueIndexedByHash, get: isItemSelected } = useIndexById({
136
+ items: toRef(props, 'modelValue'),
137
+ });
138
+
139
+ const { options } = useBaseOptions({
140
+ disabled: toRef(props, 'disabled'),
141
+ items: computed(() => [].concat(props.modelValue)),
142
+ itemText: undefined,
143
+ itemValue: undefined,
144
+ max: props.max,
145
+ selectable: true,
146
+ selectedIndexedByHash: modelValueIndexedByHash,
147
+ });
148
+
149
+ const alignQueryToState = () => {
150
+ if (props.multiple) {
151
+ query.value = '';
152
+ return;
153
+ }
154
+ let option: BaseOption | undefined;
155
+ if (selectedOptions.value) {
156
+ option = last(selectedOptions.value);
157
+ }
158
+ query.value = option?.text || '';
159
+ };
160
+
161
+ const onOptionUnselected = async (option: BaseOption) => {
162
+ if (props.multiple) {
163
+ const copy = { ...modelValueIndexedByHash.value };
164
+ delete copy[option.valueHash];
165
+ emit('update:modelValue', Object.values(copy));
166
+ } else {
167
+ emit('update:modelValue', null);
168
+ }
169
+ focusInput();
170
+ };
171
+
172
+ watch(
173
+ () => props.modelValue,
174
+ async () => {
175
+ alignQueryToState();
176
+ }
177
+ );
178
+
179
+ /**
180
+ * Applies a class when the user is inside this whole component.
181
+ * Also we cannot use the <input/> if we physically move focus to the options so
182
+ * we track it manually.
183
+ */
184
+ const active = ref(false);
185
+
186
+ const setActive = () => {
187
+ active.value = true;
188
+ };
189
+ const setInactive = () => {
190
+ active.value = false;
191
+ emit('inactive');
192
+ };
193
+
194
+ const canProcessKeyboardBindings = computed(() => {
195
+ if (props.readonly) return false;
196
+ if (props.disabled) return false;
197
+ if (!selectedBox.value && props.multiple) return false;
198
+ return true;
199
+ });
200
+
201
+ const onArrowLeft = (event: KeyboardEvent) => {
202
+ if (!canProcessKeyboardBindings.value) {
203
+ return;
204
+ }
205
+ if (!props.multiple || query.value) {
206
+ return;
207
+ }
208
+ event.preventDefault();
209
+ if (!selectedOptions.value.length) return;
210
+ selectedBox.value?.focusPrevious();
211
+ };
212
+ const onArrowRight = (event: KeyboardEvent) => {
213
+ if (!canProcessKeyboardBindings.value) {
214
+ return;
215
+ }
216
+ if (!props.multiple || query.value) {
217
+ return;
218
+ }
219
+ event.preventDefault();
220
+ if (!selectedOptions.value.length) return;
221
+ selectedBox.value?.focusNext();
222
+ };
223
+
224
+ const onBackspace = async () => {
225
+ if (
226
+ !canProcessKeyboardBindings.value ||
227
+ query.value ||
228
+ !selectedOptions.value.length
229
+ ) {
230
+ return;
231
+ }
232
+ if (selectedBox.value?.getHighlighted()) {
233
+ selectedBox.value.confirmOption();
234
+ }
235
+ await nextTick();
236
+ selectedBox.value?.focusPrevious();
237
+ };
238
+
239
+ const onEscape = () => {
240
+ selectedBox.value?.blur();
241
+ };
242
+
243
+ const onInputKeydown = async (event: KeyboardEvent) => {
244
+ emit('keydown', event);
245
+ if (props.readonly || props.disabled) {
246
+ event.preventDefault();
247
+ return;
248
+ }
249
+ // Reset focused chips on key input
250
+ if (/^[A-Za-z0-9]$/.test(event.key)) {
251
+ selectedBox.value?.blur();
252
+ }
253
+ if (
254
+ event.key === props.divider ||
255
+ (event.key === 'Unidentified' && query.value.includes(props.divider))
256
+ ) {
257
+ if (props.divider.length === 1 && query.value.includes(props.divider)) {
258
+ const found = query.value.split(props.divider)[0];
259
+ if (found) {
260
+ query.value = found;
261
+ } else {
262
+ query.value = '';
263
+ return;
264
+ }
265
+ }
266
+ if (!query.value) {
267
+ emit('keydown', event);
268
+ return;
269
+ }
270
+ event.preventDefault();
271
+ if (isItemSelected(query.value)) {
272
+ emit('duplicate', query.value);
273
+ query.value = '';
274
+ } else if (props.max && selectedOptions.value.length >= props.max) {
275
+ return;
276
+ } else {
277
+ if (props.multiple) {
278
+ emit('update:modelValue', props.modelValue.concat(query.value));
279
+ } else {
280
+ emit('update:modelValue', query.value);
281
+ }
282
+ }
283
+ }
284
+ };
285
+
286
+ const onInputFocus = (event: FocusEvent) => {
287
+ emit('focus', event);
288
+ setActive();
289
+ document.addEventListener('click', onOutsideInteraction);
290
+ document.addEventListener('focusin', onOutsideInteraction);
291
+ };
292
+
293
+ /**
294
+ * When clicking on the outside container seamlessly move focus to the input and open the panel
295
+ */
296
+ const onOuterContainerClick = (event: MouseEvent) => {
297
+ emit('click', event);
298
+ if (props.disabled || props.readonly) return;
299
+ if (input.value instanceof HTMLElement) {
300
+ input.value.focus();
301
+ }
302
+ };
303
+
304
+ /**
305
+ * On click outside of the container close the panel, remove active state.
306
+ * In multiple selection clear query after a timeout
307
+ */
308
+ const onOutsideInteraction = async (event: Event) => {
309
+ if (event.target instanceof Node) {
310
+ if (outerContainer.value) {
311
+ if (!outerContainer.value.$el.contains(event.target)) {
312
+ setInactive();
313
+ document.removeEventListener('click', onOutsideInteraction);
314
+ document.removeEventListener('focusin', onOutsideInteraction);
315
+ alignQueryToState();
316
+ return;
317
+ }
318
+ }
319
+ }
320
+ };
321
+ const eventListeners = {
322
+ onBlur: (event: FocusEvent) => emit('blur', event),
323
+ onChange: (event: Event) => emit('change', event),
324
+ onKeyup: (event: KeyboardEvent) => emit('keyup', event),
325
+ onInput: (event: Event) => emit('input', event),
326
+ };
327
+
328
+ const onClear = () => {
329
+ let value = null;
330
+ if (props.multiple) {
331
+ value = [];
332
+ }
333
+ emit('update:modelValue', value);
334
+ };
335
+ </script>
336
+ <style lang="postcss">
337
+ @import './index.css';
338
+ </style>
339
+ ```
340
+
341
+ ## Types
342
+
343
+ ```ts
344
+ import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
345
+ import type { IconType } from '@/types/Icon';
346
+
347
+ export type BaseTagProps = {
348
+ /**
349
+ * Name of the icon to render at the right hand side of the input.
350
+ */
351
+ // eslint-disable-next-line vue/prop-name-casing
352
+ 'append:icon'?: IconType;
353
+
354
+ /**
355
+ * Id(s) of elements describing this tag input for assistive technologies.
356
+ */
357
+ ariaDescribedby?: InputHTMLAttributes['aria-describedby'];
358
+
359
+ /**
360
+ * Browser autocomplete hint for the input field.
361
+ * @defaultValue `'off'`
362
+ */
363
+ autocomplete?: InputHTMLAttributes['autocomplete'];
364
+
365
+ /**
366
+ * Focus the input automatically on mount.
367
+ */
368
+ autofocus?: InputHTMLAttributes['autofocus'];
369
+
370
+ /**
371
+ * Display selected tags as a comma-separated string instead of individual chips.
372
+ * When enabled, tags cannot be deselected by clicking individual chips.
373
+ */
374
+ comma?: boolean;
375
+
376
+ /**
377
+ * Show a clear button whenever tags are present and the control is interactive.
378
+ */
379
+ clearable?: boolean;
380
+
381
+ /**
382
+ * Apply the compact density variant.
383
+ */
384
+ compact?: boolean;
385
+
386
+ /**
387
+ * Disable all interactions with the tag input.
388
+ */
389
+ disabled?: boolean;
390
+
391
+ /**
392
+ * Keyboard key that triggers tag creation from current input value.
393
+ * @defaultValue `'Enter'`
394
+ */
395
+ divider?: KeyboardEvent['key'];
396
+
397
+ /**
398
+ * Apply error styling to the tag input.
399
+ */
400
+ hasErrors?: boolean;
401
+
402
+ /**
403
+ * Explicit id for the input element.
404
+ */
405
+ id?: HTMLAttributes['id'];
406
+
407
+ /**
408
+ * Display the loading state styles.
409
+ */
410
+ loading?: boolean;
411
+
412
+ /**
413
+ * Maximum number of tags that can be created.
414
+ */
415
+ max?: number;
416
+
417
+ /**
418
+ * v-model value. Single value for single tag, array for multiple tags.
419
+ */
420
+ modelValue: any;
421
+
422
+ /**
423
+ * Enable multiple tag selection. When true, modelValue must be an array.
424
+ * @defaultValue `true`
425
+ */
426
+ multiple?: boolean;
427
+
428
+ /**
429
+ * Name attribute forwarded to the input element.
430
+ */
431
+ name?: InputHTMLAttributes['name'];
432
+
433
+ /**
434
+ * Placeholder text when no tags are present.
435
+ */
436
+ placeholder?: InputHTMLAttributes['placeholder'];
437
+
438
+ /**
439
+ * Name of the icon to render at the left hand side of the input.
440
+ */
441
+ // eslint-disable-next-line vue/prop-name-casing
442
+ 'prepend:icon'?: IconType;
443
+
444
+ /**
445
+ * Make the input read-only while keeping tags visible.
446
+ */
447
+ readonly?: boolean;
448
+
449
+ /**
450
+ * Mark the input as required for form validation.
451
+ */
452
+ required?: boolean;
453
+ };
454
+
455
+ export type BaseTagEvents = {
456
+ /** Emitted when the native input loses focus. Forwards the original DOM `FocusEvent`. */
457
+ (e: 'blur', event: FocusEvent): void;
458
+ /** Emitted when the native input fires a change event. Forwards the original DOM `Event`. */
459
+ (e: 'change', event: Event): void;
460
+ /** Emitted when the input receives a click interaction. Forwards the original DOM `MouseEvent`. */
461
+ (e: 'click', event: MouseEvent): void;
462
+ /** Emitted when an attempt is made to add a tag that already exists. */
463
+ (e: 'duplicate', string: string): void;
464
+ /** Emitted when the native input gains focus. Forwards the original DOM `FocusEvent`. */
465
+ (e: 'focus', event: FocusEvent): void;
466
+ /** Emitted when focus/click moves outside the tag input after it was active. */
467
+ (e: 'inactive'): void;
468
+ /** Emitted on native input events. Forwards the original DOM `Event`. */
469
+ (e: 'input', event: Event): void;
470
+ /** Emitted for keyboard interaction. Forwards the original DOM `KeyboardEvent`. */
471
+ (e: 'keydown', event: KeyboardEvent): void;
472
+ /** Emitted when a key is released. Forwards the original DOM `KeyboardEvent`. */
473
+ (e: 'keyup', event: KeyboardEvent): void;
474
+ /** Emitted when the tag array changes. */
475
+ (e: 'update:modelValue', value: any): void;
476
+ };
477
+
478
+ export type BaseTagSlots = {
479
+ /**
480
+ * Content rendered after the tag input, at the end of the inner container.
481
+ */
482
+ append?: (props: object) => any;
483
+ /**
484
+ * Content rendered after the entire tag input control, outside the input chrome.
485
+ */
486
+ 'append-outer'?: (props: object) => any;
487
+ /**
488
+ * Content rendered before the tag input, at the start of the inner container.
489
+ */
490
+ prepend?: (props: object) => any;
491
+ /**
492
+ * Content rendered before the entire tag input control, outside the input chrome.
493
+ */
494
+ 'prepend-outer'?: (props: object) => any;
495
+ /**
496
+ * Inline content rendered at the start of the input field area, before the typed text.
497
+ */
498
+ prefix?: (props: object) => any;
499
+ /**
500
+ * Inline content rendered at the end of the input field area, after the typed text.
501
+ */
502
+ suffix?: (props: object) => any;
503
+ };
504
+ ```
505
+
506
+ ## Styles
507
+
508
+ ```css
509
+ .bb-base-tag {
510
+ --bb-input-inner-h: max(
511
+ calc(var(--bb-leading) + var(--bb-input-py) * 2),
512
+ calc(var(--bb-input-h) - 2px),
513
+ var(--bb-input-icon)
514
+ );
515
+ --floating-py: calc((var(--bb-input-inner-h) - var(--bb-input-icon)) / 2);
516
+
517
+ &.bb-base-tag--active {
518
+ .bb-common-input-inner-container {
519
+ .bb-base-tag__text-input {
520
+ /* Approximate the length of the text as min width so the character doesn't go into a newline as often*/
521
+ min-width: min(100%, calc(var(--characters) * 12px));
522
+ }
523
+ }
524
+ }
525
+ &--loading {
526
+ /* Add styles for loading state if needed */
527
+ }
528
+ &--disabled {
529
+ /* Add styles for disabled state if needed */
530
+ }
531
+ &--errors {
532
+ /* Add styles for error state if needed */
533
+ }
534
+ &--readonly {
535
+ /* Add styles for readonly state if needed */
536
+ }
537
+ &--compact {
538
+ --floating-py: var(--bb-input-compact-floating-py);
539
+
540
+ .bb-chipsbox-item {
541
+ min-height: 20px;
542
+ }
543
+ }
544
+
545
+ &__inner-container {
546
+ /* Add styles for inner container if needed */
547
+ }
548
+
549
+ .bb-smooth-height {
550
+ align-self: center;
551
+ text-align: left;
552
+ width: 100%;
553
+ }
554
+
555
+ .bb-common-input-inner-container {
556
+ align-items: flex-start;
557
+
558
+ > :last-child {
559
+ order: 2;
560
+ }
561
+ > .bb-clearable-button {
562
+ margin-top: var(--floating-py);
563
+ }
564
+
565
+ .bb-spinner {
566
+ margin-top: var(--floating-py);
567
+ }
568
+
569
+ .bb-error-icon {
570
+ margin-top: var(--floating-py);
571
+ }
572
+
573
+ .bb-common-input-inner-container__prepend-icon,
574
+ .bb-common-input-inner-container__append-icon {
575
+ margin-top: var(--floating-py);
576
+ }
577
+
578
+ .bb-common-input-inner-container__prefix,
579
+ .bb-common-input-inner-container__suffix {
580
+ align-items: flex-start;
581
+ padding-top: var(--floating-py);
582
+ }
583
+ }
584
+
585
+ &__input-container {
586
+ display: inline-flex;
587
+ flex: 1;
588
+ flex-wrap: wrap;
589
+ gap: 0.25rem;
590
+ overflow: hidden;
591
+ padding-bottom: var(--bb-input-py);
592
+ padding-top: var(--bb-input-py);
593
+ width: 100%;
594
+
595
+ .bb-chipsbox-item {
596
+ position: relative;
597
+ z-index: 1;
598
+ }
599
+
600
+ .bb-base-tag__text-input {
601
+ flex-basis: 0px !important;
602
+ flex-grow: 1 !important;
603
+ flex-shrink: 10000 !important;
604
+ margin-bottom: 0px;
605
+ margin-top: 0px;
606
+ min-width: 0;
607
+ }
608
+ }
609
+
610
+ &__selected {
611
+ max-width: 100%;
612
+
613
+ &--comma {
614
+ &.bb-base-tag__selected--focused {
615
+ }
616
+ }
617
+
618
+ &--chip {
619
+ &.bb-base-tag__selected--focused {
620
+ }
621
+ }
622
+ }
623
+ }
624
+ ```