bitboss-ui 2.1.135 → 3.0.0-alpha.1

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 (1358) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +244 -21
  3. package/bin/bitboss-ui-mcp.mjs +557 -0
  4. package/bin/bitboss-ui.mjs +626 -0
  5. package/dist/ai/BbAccordion.md +522 -113
  6. package/dist/ai/BbAlert.md +377 -197
  7. package/dist/ai/BbAsterisk.md +46 -0
  8. package/dist/ai/BbAvatar.md +454 -178
  9. package/dist/ai/BbBadge.md +695 -225
  10. package/dist/ai/BbBadgeButton.md +54 -0
  11. package/dist/ai/BbBaseButton.md +489 -0
  12. package/dist/ai/BbBaseCheckbox.md +49 -0
  13. package/dist/ai/BbBaseCheckboxGroup.md +64 -0
  14. package/dist/ai/BbBaseCheckboxIcon.md +174 -0
  15. package/dist/ai/BbBaseColorInput.md +64 -0
  16. package/dist/ai/BbBaseColorPalette.md +39 -0
  17. package/dist/ai/BbBaseDatePicker.md +42 -0
  18. package/dist/ai/BbBaseDatePickerInput.md +73 -0
  19. package/dist/ai/BbBaseInputContainer.md +48 -0
  20. package/dist/ai/BbBaseNumberInput.md +71 -0
  21. package/dist/ai/BbBaseRadio.md +46 -0
  22. package/dist/ai/BbBaseRadioGroup.md +63 -0
  23. package/dist/ai/BbBaseRadioIcon.md +187 -0
  24. package/dist/ai/BbBaseRating.md +51 -0
  25. package/dist/ai/BbBaseSelect.md +88 -0
  26. package/dist/ai/BbBaseSlider.md +56 -0
  27. package/dist/ai/BbBaseSwitch.md +49 -0
  28. package/dist/ai/BbBaseSwitchGroup.md +64 -0
  29. package/dist/ai/BbBaseSwitchIcon.md +184 -0
  30. package/dist/ai/BbBaseTag.md +68 -0
  31. package/dist/ai/BbBaseTextInput.md +75 -0
  32. package/dist/ai/BbBaseTextarea.md +62 -0
  33. package/dist/ai/BbBaseTimePickerInput.md +62 -0
  34. package/dist/ai/BbBreadcrumbs.md +542 -503
  35. package/dist/ai/BbButton.md +767 -636
  36. package/dist/ai/BbCheckbox.md +572 -254
  37. package/dist/ai/BbCheckboxGroup.md +561 -361
  38. package/dist/ai/BbCollapsible.md +419 -103
  39. package/dist/ai/BbColorInput.md +529 -323
  40. package/dist/ai/BbColorPalette.md +565 -330
  41. package/dist/ai/BbConfirm.md +612 -136
  42. package/dist/ai/BbConfirmPortal.md +28 -0
  43. package/dist/ai/BbDatePicker.md +244 -0
  44. package/dist/ai/BbDatePickerInput.md +706 -388
  45. package/dist/ai/BbDialog.md +770 -99
  46. package/dist/ai/BbDropdown.md +1054 -763
  47. package/dist/ai/BbDropdownButton.md +511 -615
  48. package/dist/ai/BbDropdownGroup.md +34 -0
  49. package/dist/ai/BbDropzone.md +1148 -436
  50. package/dist/ai/BbForm.md +239 -0
  51. package/dist/ai/BbIcon.md +379 -212
  52. package/dist/ai/BbIndicator.md +283 -0
  53. package/dist/ai/BbNumberInput.md +713 -355
  54. package/dist/ai/BbOffCanvas.md +875 -498
  55. package/dist/ai/BbPagination.md +483 -535
  56. package/dist/ai/BbPopover.md +583 -546
  57. package/dist/ai/BbProgress.md +456 -69
  58. package/dist/ai/BbRadio.md +343 -229
  59. package/dist/ai/BbRadioGroup.md +426 -353
  60. package/dist/ai/BbRating.md +361 -226
  61. package/dist/ai/BbSelect.md +1380 -536
  62. package/dist/ai/BbSelectPopover.md +1240 -1579
  63. package/dist/ai/BbSlider.md +478 -257
  64. package/dist/ai/BbSmoothHeight.md +472 -139
  65. package/dist/ai/BbSpinner.md +718 -131
  66. package/dist/ai/BbSwitch.md +549 -119
  67. package/dist/ai/BbSwitchGroup.md +503 -214
  68. package/dist/ai/BbTable.md +1956 -2358
  69. package/dist/ai/BbTabs.md +1113 -0
  70. package/dist/ai/BbTabsList.md +29 -0
  71. package/dist/ai/BbTabsPanes.md +27 -0
  72. package/dist/ai/BbTabsRoot.md +57 -0
  73. package/dist/ai/BbTag.md +393 -292
  74. package/dist/ai/BbTextInput.md +852 -333
  75. package/dist/ai/BbTextarea.md +836 -255
  76. package/dist/ai/BbTimePicker.md +231 -0
  77. package/dist/ai/BbTimePickerInput.md +196 -0
  78. package/dist/ai/BbToast.md +624 -196
  79. package/dist/ai/BbToastPortal.md +28 -0
  80. package/dist/ai/BbTooltip.md +443 -346
  81. package/dist/ai/BbTree.md +984 -235
  82. package/dist/ai/ChipsBox.md +27 -199
  83. package/dist/ai/ClearableButton.md +21 -55
  84. package/dist/ai/CommaBox.md +25 -200
  85. package/dist/ai/CommonInputWrapper.md +42 -0
  86. package/dist/ai/CommonPopover.md +30 -510
  87. package/dist/ai/ErrorIcon.md +19 -56
  88. package/dist/ai/FlatListBox.md +35 -379
  89. package/dist/ai/GroupedListBox.md +37 -535
  90. package/dist/ai/GuidesComponent.md +21 -0
  91. package/dist/ai/ListBox.md +38 -231
  92. package/dist/ai/OptionsContainer.md +34 -253
  93. package/dist/ai/WarningIcon.md +21 -0
  94. package/dist/ai/components.json +15883 -0
  95. package/dist/ai/composables/useBbConfig.md +80 -0
  96. package/dist/ai/composables/useBbFormContext.md +110 -0
  97. package/dist/ai/composables/useBbTableContext.md +164 -0
  98. package/dist/ai/composables/useBbTabsContext.md +118 -0
  99. package/dist/ai/composables/useBroadcastChannelInstance.md +97 -0
  100. package/dist/ai/composables/useConfirm.md +306 -0
  101. package/dist/ai/composables/useCountdown.md +84 -0
  102. package/dist/ai/composables/useId.md +60 -0
  103. package/dist/ai/composables/useMobile.md +85 -0
  104. package/dist/ai/composables/useToast.md +230 -0
  105. package/dist/ai/guides/agent-contract.md +108 -0
  106. package/dist/ai/guides/ai-router.md +111 -0
  107. package/dist/ai/guides/app-layout.md +295 -0
  108. package/dist/ai/guides/coherence-playbook.md +136 -0
  109. package/dist/ai/guides/component-picker.md +195 -0
  110. package/dist/ai/guides/design-language.md +461 -0
  111. package/dist/ai/guides/design-tokens.md +424 -0
  112. package/dist/ai/guides/fetch-items-playbook.md +161 -0
  113. package/dist/ai/guides/floating-bottom-panel.md +191 -0
  114. package/dist/ai/guides/icons-policy.md +257 -0
  115. package/dist/ai/guides/inertia-helpers.md +1394 -0
  116. package/dist/ai/guides/inline-edit-playbook.md +258 -0
  117. package/dist/ai/guides/installation-and-plugin-setup.md +377 -0
  118. package/dist/ai/guides/migration/components/bb-alert.md +37 -0
  119. package/dist/ai/guides/migration/components/bb-avatar.md +24 -0
  120. package/dist/ai/guides/migration/components/bb-badge.md +110 -0
  121. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +26 -0
  122. package/dist/ai/guides/migration/components/bb-button.md +55 -0
  123. package/dist/ai/guides/migration/components/bb-checkbox-group.md +54 -0
  124. package/dist/ai/guides/migration/components/bb-checkbox.md +45 -0
  125. package/dist/ai/guides/migration/components/bb-chip.md +35 -0
  126. package/dist/ai/guides/migration/components/bb-collapsible.md +26 -0
  127. package/dist/ai/guides/migration/components/bb-color-input.md +23 -0
  128. package/dist/ai/guides/migration/components/bb-color-palette.md +31 -0
  129. package/dist/ai/guides/migration/components/bb-date-picker-input.md +84 -0
  130. package/dist/ai/guides/migration/components/bb-dialog.md +46 -0
  131. package/dist/ai/guides/migration/components/bb-dropdown-button.md +31 -0
  132. package/dist/ai/guides/migration/components/bb-dropdown.md +36 -0
  133. package/dist/ai/guides/migration/components/bb-dropzone.md +27 -0
  134. package/dist/ai/guides/migration/components/bb-icon.md +27 -0
  135. package/dist/ai/guides/migration/components/bb-off-canvas.md +25 -0
  136. package/dist/ai/guides/migration/components/bb-offcanvas.md +54 -0
  137. package/dist/ai/guides/migration/components/bb-pagination.md +24 -0
  138. package/dist/ai/guides/migration/components/bb-popover.md +52 -0
  139. package/dist/ai/guides/migration/components/bb-rating.md +24 -0
  140. package/dist/ai/guides/migration/components/bb-select-popover.md +58 -0
  141. package/dist/ai/guides/migration/components/bb-select.md +68 -0
  142. package/dist/ai/guides/migration/components/bb-slider.md +25 -0
  143. package/dist/ai/guides/migration/components/bb-smooth-height.md +45 -0
  144. package/dist/ai/guides/migration/components/bb-spinner.md +23 -0
  145. package/dist/ai/guides/migration/components/bb-table.md +66 -0
  146. package/dist/ai/guides/migration/components/bb-tabs.md +47 -0
  147. package/dist/ai/guides/migration/components/bb-tag.md +29 -0
  148. package/dist/ai/guides/migration/components/bb-text-input.md +37 -0
  149. package/dist/ai/guides/migration/components/bb-toast.md +47 -0
  150. package/dist/ai/guides/migration/components/bb-tooltip.md +34 -0
  151. package/dist/ai/guides/migration/components/bb-tree.md +77 -0
  152. package/dist/ai/guides/migration/components/use-confirm.md +46 -0
  153. package/dist/ai/guides/migration/v2-to-v3.md +649 -0
  154. package/dist/ai/guides/options-items-playbook.md +222 -0
  155. package/dist/ai/guides/page-shell.md +314 -0
  156. package/dist/ai/guides/validated-forms.md +177 -0
  157. package/dist/ai/index.md +156 -32
  158. package/dist/ai/recipes/inertia/approvals-inbox.md +1598 -0
  159. package/dist/ai/recipes/inertia/inline-edit-workspace.md +1733 -0
  160. package/dist/ai/recipes/inertia/onboarding.md +1765 -0
  161. package/dist/ai/recipes/inertia/ownership-atlas.md +1281 -0
  162. package/dist/ai/recipes/inertia/record-form.md +1442 -0
  163. package/dist/ai/recipes/inertia/records-workspace.md +1328 -0
  164. package/dist/ai/recipes/inertia/upload-center.md +1926 -0
  165. package/dist/ai/recipes/inertia/wizard-form.md +1477 -0
  166. package/dist/ai/recipes/nuxt/approvals-inbox.md +1561 -0
  167. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +1690 -0
  168. package/dist/ai/recipes/nuxt/onboarding.md +1698 -0
  169. package/dist/ai/recipes/nuxt/record-form.md +1456 -0
  170. package/dist/ai/recipes/nuxt/records-workspace.md +1314 -0
  171. package/dist/ai/recipes/nuxt/upload-center.md +1847 -0
  172. package/dist/ai/recipes/nuxt/wizard-form.md +1486 -0
  173. package/dist/ai/recipes/vue/approvals-inbox.md +1479 -0
  174. package/dist/ai/recipes/vue/inline-edit-workspace.md +1581 -0
  175. package/dist/ai/recipes/vue/onboarding.md +1653 -0
  176. package/dist/ai/recipes/vue/record-form.md +1540 -0
  177. package/dist/ai/recipes/vue/records-workspace.md +1230 -0
  178. package/dist/ai/recipes/vue/upload-center.md +1806 -0
  179. package/dist/ai/recipes/vue/wizard-form.md +1418 -0
  180. package/dist/ai/source/BbAccordion.md +122 -0
  181. package/dist/ai/source/BbAlert.md +396 -0
  182. package/dist/ai/source/BbAsterisk.md +32 -0
  183. package/dist/ai/source/BbAvatar.md +256 -0
  184. package/dist/ai/source/BbBadge.md +560 -0
  185. package/dist/ai/source/BbBadgeButton.md +490 -0
  186. package/dist/ai/source/BbBaseButton.md +682 -0
  187. package/dist/ai/source/BbBaseCheckbox.md +459 -0
  188. package/dist/ai/source/BbBaseCheckboxGroup.md +554 -0
  189. package/dist/ai/source/BbBaseCheckboxIcon.md +201 -0
  190. package/dist/ai/source/BbBaseColorInput.md +413 -0
  191. package/dist/ai/source/BbBaseColorPalette.md +934 -0
  192. package/dist/ai/source/BbBaseDatePicker.md +1001 -0
  193. package/dist/ai/source/BbBaseDatePickerInput.md +1781 -0
  194. package/dist/ai/source/BbBaseInputContainer.md +1148 -0
  195. package/dist/ai/source/BbBaseNumberInput.md +615 -0
  196. package/dist/ai/source/BbBaseRadio.md +377 -0
  197. package/dist/ai/source/BbBaseRadioGroup.md +499 -0
  198. package/dist/ai/source/BbBaseRadioIcon.md +153 -0
  199. package/dist/ai/source/BbBaseRating.md +573 -0
  200. package/dist/ai/source/BbBaseSelect.md +895 -0
  201. package/dist/ai/source/BbBaseSlider.md +1085 -0
  202. package/dist/ai/source/BbBaseSwitch.md +246 -0
  203. package/dist/ai/source/BbBaseSwitchGroup.md +302 -0
  204. package/dist/ai/source/BbBaseSwitchIcon.md +206 -0
  205. package/dist/ai/source/BbBaseTag.md +688 -0
  206. package/dist/ai/source/BbBaseTextInput.md +511 -0
  207. package/dist/ai/source/BbBaseTextarea.md +480 -0
  208. package/dist/ai/source/BbBaseTimePickerInput.md +1013 -0
  209. package/dist/ai/source/BbBreadcrumbs.md +811 -0
  210. package/dist/ai/source/BbButton.md +990 -0
  211. package/dist/ai/source/BbCheckbox.md +319 -0
  212. package/dist/ai/source/BbCheckboxGroup.md +412 -0
  213. package/dist/ai/source/BbCollapsible.md +133 -0
  214. package/dist/ai/source/BbColorInput.md +315 -0
  215. package/dist/ai/source/BbColorPalette.md +361 -0
  216. package/dist/ai/source/BbConfirm.md +173 -0
  217. package/dist/ai/source/BbConfirmPortal.md +74 -0
  218. package/dist/ai/source/BbDatePicker.md +725 -0
  219. package/dist/ai/source/BbDatePickerInput.md +518 -0
  220. package/dist/ai/source/BbDialog.md +812 -0
  221. package/dist/ai/source/BbDropdown.md +2369 -0
  222. package/dist/ai/source/BbDropdownButton.md +313 -0
  223. package/dist/ai/source/BbDropdownGroup.md +1249 -0
  224. package/dist/ai/source/BbDropzone.md +749 -0
  225. package/dist/ai/source/BbForm.md +100 -0
  226. package/dist/ai/source/BbIcon.md +212 -0
  227. package/dist/ai/source/BbIndicator.md +298 -0
  228. package/dist/ai/source/BbNumberInput.md +365 -0
  229. package/dist/ai/source/BbOffCanvas.md +1260 -0
  230. package/dist/ai/source/BbPagination.md +829 -0
  231. package/dist/ai/source/BbPopover.md +853 -0
  232. package/dist/ai/source/BbProgress.md +140 -0
  233. package/dist/ai/source/BbRadio.md +294 -0
  234. package/dist/ai/source/BbRadioGroup.md +401 -0
  235. package/dist/ai/source/BbRating.md +362 -0
  236. package/dist/ai/source/BbSelect.md +681 -0
  237. package/dist/ai/source/BbSelectPopover.md +2209 -0
  238. package/dist/ai/source/BbSlider.md +371 -0
  239. package/dist/ai/source/BbSmoothHeight.md +261 -0
  240. package/dist/ai/source/BbSpinner.md +127 -0
  241. package/dist/ai/source/BbSwitch.md +175 -0
  242. package/dist/ai/source/BbSwitchGroup.md +240 -0
  243. package/dist/ai/source/BbTable.md +3348 -0
  244. package/dist/ai/source/BbTabs.md +403 -0
  245. package/dist/ai/source/BbTabsList.md +578 -0
  246. package/dist/ai/source/BbTabsPanes.md +368 -0
  247. package/dist/ai/source/BbTabsRoot.md +372 -0
  248. package/dist/ai/source/BbTag.md +383 -0
  249. package/dist/ai/source/BbTextInput.md +345 -0
  250. package/dist/ai/source/BbTextarea.md +330 -0
  251. package/dist/ai/source/BbTimePicker.md +591 -0
  252. package/dist/ai/source/BbTimePickerInput.md +367 -0
  253. package/dist/ai/source/BbToast.md +524 -0
  254. package/dist/ai/source/BbToastPortal.md +482 -0
  255. package/dist/ai/source/BbTooltip.md +508 -0
  256. package/dist/ai/source/BbTree.md +319 -0
  257. package/dist/ai/source/ChipsBox.md +201 -0
  258. package/dist/ai/source/ClearableButton.md +70 -0
  259. package/dist/ai/source/CommaBox.md +202 -0
  260. package/dist/ai/source/CommonInputWrapper.md +554 -0
  261. package/dist/ai/source/CommonPopover.md +606 -0
  262. package/dist/ai/source/ErrorIcon.md +43 -0
  263. package/dist/ai/source/FlatListBox.md +396 -0
  264. package/dist/ai/source/GroupedListBox.md +540 -0
  265. package/dist/ai/source/GuidesComponent.md +383 -0
  266. package/dist/ai/source/ListBox.md +238 -0
  267. package/dist/ai/source/OptionsContainer.md +191 -0
  268. package/dist/ai/source/WarningIcon.md +47 -0
  269. package/dist/alert-variants.d.ts +12 -0
  270. package/dist/assets/css/reset.css_inline.js +4 -0
  271. package/dist/assets/svgs/alert.svg_raw.js +4 -0
  272. package/dist/assets/svgs/calendar.svg_raw.js +4 -0
  273. package/dist/assets/svgs/check_stroke.svg_raw.js +4 -0
  274. package/dist/assets/svgs/chevron_down.svg_raw.js +4 -0
  275. package/dist/assets/svgs/chevron_right.svg_raw.js +4 -0
  276. package/dist/assets/svgs/clear.svg_raw.js +4 -0
  277. package/dist/assets/svgs/clock.svg_raw.js +4 -0
  278. package/dist/assets/svgs/error.svg_raw.js +4 -0
  279. package/dist/assets/svgs/search.svg_raw.js +4 -0
  280. package/dist/assets/svgs/sort.svg_raw.js +4 -0
  281. package/dist/assets/svgs/spinner.svg_raw.js +4 -0
  282. package/dist/assets/svgs/user.svg_raw.js +4 -0
  283. package/dist/badge-variants.d.ts +18 -0
  284. package/dist/button-variants.d.ts +15 -0
  285. package/dist/components/BbAccordion/BbAccordion.vue.d.ts +9 -3
  286. package/dist/components/BbAccordion/BbAccordion.vue.js +6 -0
  287. package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +66 -0
  288. package/dist/components/BbAccordion/types.d.ts +10 -7
  289. package/dist/components/BbAlert/BbAlert.vue.d.ts +12 -3
  290. package/dist/components/BbAlert/BbAlert.vue.js +6 -0
  291. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +65 -0
  292. package/dist/components/BbAlert/types.d.ts +51 -12
  293. package/dist/components/BbAsterisk/BbAsterisk.vue.d.ts +3 -0
  294. package/dist/components/BbAsterisk/BbAsterisk.vue.js +6 -0
  295. package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +13 -0
  296. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +5 -0
  297. package/dist/components/BbAvatar/BbAvatar.vue.js +6 -0
  298. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +78 -0
  299. package/dist/components/BbAvatar/types.d.ts +4 -5
  300. package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +3 -0
  301. package/dist/components/BbBadge/BadgeAppendIcon.vue.js +5 -0
  302. package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +22 -0
  303. package/dist/components/BbBadge/BadgeBodyContent.vue.d.ts +15 -0
  304. package/dist/components/BbBadge/BadgeBodyContent.vue.js +5 -0
  305. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +34 -0
  306. package/dist/components/BbBadge/BbBadge.vue.d.ts +8 -1
  307. package/dist/components/BbBadge/BbBadge.vue.js +6 -0
  308. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +83 -0
  309. package/dist/components/BbBadge/BbBadgeButton.vue.d.ts +12 -0
  310. package/dist/components/BbBadge/BbBadgeButton.vue.js +5 -0
  311. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +54 -0
  312. package/dist/components/BbBadge/badgeButtonContext.d.ts +27 -0
  313. package/dist/components/BbBadge/badgeButtonContext.js +5 -0
  314. package/dist/components/BbBadge/types.d.ts +61 -16
  315. package/dist/components/BbBaseButton/BbBaseButton.vue.d.ts +13 -0
  316. package/dist/components/BbBaseButton/BbBaseButton.vue.js +6 -0
  317. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +171 -0
  318. package/dist/components/BbBaseButton/RouterComponent.vue.js +5 -0
  319. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +28 -0
  320. package/dist/components/BbBaseButton/types.d.ts +191 -0
  321. package/dist/components/BbBaseButton/types.js +33 -0
  322. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.d.ts +40 -0
  323. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.js +6 -0
  324. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +145 -0
  325. package/dist/components/BbBaseCheckbox/types.d.ts +222 -0
  326. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.d.ts +19 -0
  327. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.js +6 -0
  328. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +190 -0
  329. package/dist/components/BbBaseCheckboxGroup/types.d.ts +257 -0
  330. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.d.ts +4 -0
  331. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js +6 -0
  332. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +43 -0
  333. package/dist/components/BbBaseCheckboxIcon/types.d.ts +47 -0
  334. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.d.ts +42 -0
  335. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.js +6 -0
  336. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +178 -0
  337. package/dist/components/BbBaseColorInput/types.d.ts +207 -0
  338. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.d.ts +13 -0
  339. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.js +6 -0
  340. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue_vue_type_script_setup_true_lang.js +395 -0
  341. package/dist/components/BbBaseColorPalette/types.d.ts +40 -0
  342. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.js +6 -0
  343. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +300 -0
  344. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +44 -0
  345. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.js +5 -0
  346. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +310 -0
  347. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.d.ts +5 -0
  348. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.js +5 -0
  349. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +63 -0
  350. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.d.ts +5 -0
  351. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.js +5 -0
  352. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue_vue_type_script_setup_true_lang.js +75 -0
  353. package/dist/components/BbBaseDatePicker/typeahead.d.ts +112 -0
  354. package/dist/components/BbBaseDatePicker/typeahead.js +37 -0
  355. package/dist/components/BbBaseDatePicker/types.d.ts +97 -0
  356. package/dist/components/BbBaseDatePicker/useDatePickerContext.d.ts +58 -0
  357. package/dist/components/BbBaseDatePicker/useDatePickerContext.js +11 -0
  358. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +30 -0
  359. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.js +6 -0
  360. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +713 -0
  361. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.d.ts +30 -0
  362. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.js +6 -0
  363. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue_vue_type_script_setup_true_lang.js +204 -0
  364. package/dist/components/BbBaseDatePickerInput/types.d.ts +309 -0
  365. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.d.ts +17 -0
  366. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.js +6 -0
  367. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +184 -0
  368. package/dist/components/BbBaseInputContainer/types.d.ts +185 -0
  369. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.d.ts +52 -0
  370. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.js +6 -0
  371. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +211 -0
  372. package/dist/components/BbBaseNumberInput/types.d.ts +211 -0
  373. package/dist/components/BbBaseRadio/BbBaseRadio.vue.d.ts +33 -0
  374. package/dist/components/BbBaseRadio/BbBaseRadio.vue.js +6 -0
  375. package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +114 -0
  376. package/dist/components/BbBaseRadio/types.d.ts +179 -0
  377. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.d.ts +19 -0
  378. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.js +6 -0
  379. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +172 -0
  380. package/dist/components/BbBaseRadioGroup/types.d.ts +215 -0
  381. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.d.ts +4 -0
  382. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.js +6 -0
  383. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +28 -0
  384. package/dist/components/BbBaseRadioIcon/types.d.ts +41 -0
  385. package/dist/components/BbBaseRating/BbBaseRating.vue.d.ts +38 -0
  386. package/dist/components/BbBaseRating/BbBaseRating.vue.js +6 -0
  387. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +184 -0
  388. package/dist/components/BbBaseRating/types.d.ts +168 -0
  389. package/dist/components/BbBaseSelect/BbBaseSelect.vue.d.ts +19 -0
  390. package/dist/components/BbBaseSelect/BbBaseSelect.vue.js +6 -0
  391. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +307 -0
  392. package/dist/components/BbBaseSelect/types.d.ts +294 -0
  393. package/dist/components/BbBaseSlider/BbBaseSlider.vue.d.ts +35 -0
  394. package/dist/components/BbBaseSlider/BbBaseSlider.vue.js +6 -0
  395. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +324 -0
  396. package/dist/components/BbBaseSlider/types.d.ts +200 -0
  397. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.d.ts +35 -0
  398. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.js +6 -0
  399. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +146 -0
  400. package/dist/components/BbBaseSwitch/types.d.ts +10 -0
  401. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.d.ts +19 -0
  402. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.js +6 -0
  403. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +190 -0
  404. package/dist/components/BbBaseSwitchGroup/types.d.ts +8 -0
  405. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.d.ts +4 -0
  406. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.js +6 -0
  407. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +30 -0
  408. package/dist/components/BbBaseSwitchIcon/types.d.ts +48 -0
  409. package/dist/components/BbBaseTag/BbBaseTag.vue.d.ts +50 -0
  410. package/dist/components/BbBaseTag/BbBaseTag.vue.js +6 -0
  411. package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +266 -0
  412. package/dist/components/BbBaseTag/types.d.ts +160 -0
  413. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.d.ts +45 -0
  414. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.js +6 -0
  415. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +200 -0
  416. package/dist/components/BbBaseTextInput/types.d.ts +209 -0
  417. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.d.ts +39 -0
  418. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.js +6 -0
  419. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +175 -0
  420. package/dist/components/BbBaseTextarea/types.d.ts +170 -0
  421. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +27 -0
  422. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.js +6 -0
  423. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +517 -0
  424. package/dist/components/BbBaseTimePickerInput/types.d.ts +151 -0
  425. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +0 -1
  426. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.js +6 -0
  427. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +224 -0
  428. package/dist/components/BbBreadcrumbs/estimateBreadcrumbItemWidth.js +47 -0
  429. package/dist/components/BbBreadcrumbs/types.d.ts +33 -22
  430. package/dist/components/BbButton/BbButton.vue.d.ts +6 -5
  431. package/dist/components/BbButton/BbButton.vue.js +6 -0
  432. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +177 -0
  433. package/dist/components/BbButton/types.d.ts +48 -47
  434. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +4 -3
  435. package/dist/components/BbCheckbox/BbCheckbox.vue.js +6 -0
  436. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +146 -0
  437. package/dist/components/BbCheckbox/types.d.ts +24 -10
  438. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +2 -13
  439. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.js +6 -0
  440. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +190 -0
  441. package/dist/components/BbCheckboxGroup/types.d.ts +44 -23
  442. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +2 -1
  443. package/dist/components/BbCollapsible/BbCollapsible.vue.js +6 -0
  444. package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +31 -0
  445. package/dist/components/BbCollapsible/types.d.ts +10 -9
  446. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +10 -1
  447. package/dist/components/BbColorInput/BbColorInput.vue.js +6 -0
  448. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +177 -0
  449. package/dist/components/BbColorInput/types.d.ts +37 -11
  450. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +5 -8
  451. package/dist/components/BbColorPalette/BbColorPalette.vue.js +5 -0
  452. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +125 -0
  453. package/dist/components/BbColorPalette/types.d.ts +66 -53
  454. package/dist/components/BbConfirm/BbConfirm.vue.js +6 -0
  455. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +130 -0
  456. package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +5 -6
  457. package/dist/components/BbConfirm/BbConfirmPortal.vue.js +5 -0
  458. package/dist/components/BbConfirm/BbConfirmPortal.vue_vue_type_script_setup_true_lang.js +19 -0
  459. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +37 -0
  460. package/dist/components/BbDatePicker/BbDatePicker.vue.js +6 -0
  461. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +319 -0
  462. package/dist/components/BbDatePicker/types.d.ts +155 -0
  463. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +3 -1
  464. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.js +6 -0
  465. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +179 -0
  466. package/dist/components/BbDatePickerInput/types.d.ts +127 -16
  467. package/dist/components/BbDialog/BbDialog.vue.d.ts +8 -6
  468. package/dist/components/BbDialog/BbDialog.vue.js +6 -0
  469. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +214 -0
  470. package/dist/components/BbDialog/types.d.ts +146 -1
  471. package/dist/components/BbDialog/useDialogStack.d.ts +5 -0
  472. package/dist/components/BbDialog/useDialogStack.js +20 -0
  473. package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +18 -0
  474. package/dist/components/BbDropdown/AdaptiveDropdown.vue.js +6 -0
  475. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +116 -0
  476. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +14 -7
  477. package/dist/components/BbDropdown/BbDropdown.vue.js +6 -0
  478. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +560 -0
  479. package/dist/components/BbDropdown/BbDropdownGroup.vue.d.ts +44 -0
  480. package/dist/components/BbDropdown/BbDropdownGroup.vue.js +5 -0
  481. package/dist/components/BbDropdown/BbDropdownGroup.vue_vue_type_script_setup_true_lang.js +36 -0
  482. package/dist/components/BbDropdown/BbDropdownList.vue.d.ts +27 -0
  483. package/dist/components/BbDropdown/BbDropdownList.vue.js +6 -0
  484. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +464 -0
  485. package/dist/components/BbDropdown/DropdownPipelineResolver.vue.d.ts +16 -0
  486. package/dist/components/BbDropdown/DropdownPipelineResolver.vue.js +5 -0
  487. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +168 -0
  488. package/dist/components/BbDropdown/normalizeGroups.d.ts +18 -0
  489. package/dist/components/BbDropdown/normalizeGroups.js +46 -0
  490. package/dist/components/BbDropdown/types.d.ts +457 -45
  491. package/dist/components/BbDropdown/types.js +4 -0
  492. package/dist/components/BbDropdown/useDropdownContext.d.ts +89 -0
  493. package/dist/components/BbDropdown/useDropdownContext.js +9 -0
  494. package/dist/components/BbDropdown/useDropdownGroupRegistry.d.ts +108 -0
  495. package/dist/components/BbDropdown/useDropdownGroupRegistry.js +5 -0
  496. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +3 -3
  497. package/dist/components/BbDropdownButton/BbDropdownButton.vue.js +6 -0
  498. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +119 -0
  499. package/dist/components/BbDropdownButton/types.d.ts +45 -52
  500. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +5 -4
  501. package/dist/components/BbDropzone/BbDropzone.vue.js +6 -0
  502. package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +284 -0
  503. package/dist/components/BbDropzone/types.d.ts +55 -7
  504. package/dist/components/BbIcon/BbIcon.vue.d.ts +3 -2
  505. package/dist/components/BbIcon/BbIcon.vue.js +6 -0
  506. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +65 -0
  507. package/dist/components/BbIcon/types.d.ts +6 -19
  508. package/dist/components/BbIndicator/BbIndicator.vue.d.ts +14 -0
  509. package/dist/components/BbIndicator/BbIndicator.vue.js +6 -0
  510. package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +56 -0
  511. package/dist/components/BbIndicator/types.d.ts +49 -0
  512. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +12 -6
  513. package/dist/components/BbNumberInput/BbNumberInput.vue.js +6 -0
  514. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +194 -0
  515. package/dist/components/BbNumberInput/types.d.ts +31 -4
  516. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +10 -10
  517. package/dist/components/BbOffCanvas/BbOffCanvas.vue.js +6 -0
  518. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +284 -0
  519. package/dist/components/BbOffCanvas/types.d.ts +71 -39
  520. package/dist/components/BbOffCanvas/useOffCanvasStack.d.ts +25 -0
  521. package/dist/components/BbOffCanvas/useOffCanvasStack.js +68 -0
  522. package/dist/components/BbPagination/BbPagination.vue.d.ts +3 -4
  523. package/dist/components/BbPagination/BbPagination.vue.js +6 -0
  524. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +244 -0
  525. package/dist/components/BbPagination/paginationFit.d.ts +38 -0
  526. package/dist/components/BbPagination/paginationFit.js +13 -0
  527. package/dist/components/BbPagination/types.d.ts +51 -16
  528. package/dist/components/BbPopover/BbPopover.vue.d.ts +10 -15
  529. package/dist/components/BbPopover/BbPopover.vue.js +6 -0
  530. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +310 -0
  531. package/dist/components/BbPopover/escapeStack.d.ts +6 -0
  532. package/dist/components/BbPopover/escapeStack.js +10 -0
  533. package/dist/components/BbPopover/types.d.ts +84 -31
  534. package/dist/components/BbProgress/BbProgress.vue.d.ts +1 -0
  535. package/dist/components/BbProgress/BbProgress.vue.js +6 -0
  536. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +36 -0
  537. package/dist/components/BbProgress/types.d.ts +15 -1
  538. package/dist/components/BbRadio/BbRadio.vue.d.ts +5 -3
  539. package/dist/components/BbRadio/BbRadio.vue.js +6 -0
  540. package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +133 -0
  541. package/dist/components/BbRadio/types.d.ts +23 -9
  542. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +4 -14
  543. package/dist/components/BbRadioGroup/BbRadioGroup.vue.js +6 -0
  544. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +184 -0
  545. package/dist/components/BbRadioGroup/types.d.ts +41 -22
  546. package/dist/components/BbRating/BbRating.vue.d.ts +4 -1
  547. package/dist/components/BbRating/BbRating.vue.js +6 -0
  548. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +150 -0
  549. package/dist/components/BbRating/types.d.ts +37 -10
  550. package/dist/components/BbSelect/BbSelect.vue.d.ts +2 -11
  551. package/dist/components/BbSelect/BbSelect.vue.js +6 -0
  552. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +241 -0
  553. package/dist/components/BbSelect/types.d.ts +105 -59
  554. package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +1 -10
  555. package/dist/components/BbSelectPopover/BbSelectPopover.vue.js +6 -0
  556. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +637 -0
  557. package/dist/components/BbSelectPopover/types.d.ts +189 -102
  558. package/dist/components/BbSlider/BbSlider.vue.d.ts +3 -6
  559. package/dist/components/BbSlider/BbSlider.vue.js +6 -0
  560. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +166 -0
  561. package/dist/components/BbSlider/types.d.ts +37 -13
  562. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +3 -1
  563. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.js +6 -0
  564. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +79 -0
  565. package/dist/components/BbSmoothHeight/types.d.ts +13 -2
  566. package/dist/components/BbSpinner/BbSpinner.vue.d.ts +1 -1
  567. package/dist/components/BbSpinner/BbSpinner.vue.js +6 -0
  568. package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +30 -0
  569. package/dist/components/BbSpinner/types.d.ts +10 -3
  570. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +5 -3
  571. package/dist/components/BbSwitch/BbSwitch.vue.js +6 -0
  572. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +142 -0
  573. package/dist/components/BbSwitch/types.d.ts +3 -1
  574. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +4 -14
  575. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.js +6 -0
  576. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +190 -0
  577. package/dist/components/BbSwitchGroup/types.d.ts +3 -22
  578. package/dist/components/BbTable/BbTable.vue.d.ts +53 -31
  579. package/dist/components/BbTable/BbTable.vue.js +6 -0
  580. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +889 -0
  581. package/dist/components/BbTable/types.d.ts +176 -37
  582. package/dist/components/BbTable/utils.d.ts +9 -1
  583. package/dist/components/BbTable/utils.js +53 -0
  584. package/dist/components/BbTabs/BbTabs.vue.d.ts +20 -0
  585. package/dist/components/BbTabs/BbTabs.vue.js +6 -0
  586. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +64 -0
  587. package/dist/components/BbTabs/BbTabsList.vue.d.ts +19 -0
  588. package/dist/components/BbTabs/BbTabsList.vue.js +6 -0
  589. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +123 -0
  590. package/dist/components/BbTabs/BbTabsPanes.vue.d.ts +16 -0
  591. package/dist/components/BbTabs/BbTabsPanes.vue.js +6 -0
  592. package/dist/components/BbTabs/BbTabsPanes.vue_vue_type_script_setup_true_lang.js +35 -0
  593. package/dist/components/BbTabs/BbTabsRoot.vue.d.ts +20 -0
  594. package/dist/components/BbTabs/BbTabsRoot.vue.js +5 -0
  595. package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +55 -0
  596. package/dist/components/BbTabs/types.d.ts +264 -0
  597. package/dist/components/BbTag/BbTag.vue.d.ts +19 -6
  598. package/dist/components/BbTag/BbTag.vue.js +6 -0
  599. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +187 -0
  600. package/dist/components/BbTag/types.d.ts +48 -17
  601. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +10 -1
  602. package/dist/components/BbTextInput/BbTextInput.vue.js +6 -0
  603. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +195 -0
  604. package/dist/components/BbTextInput/types.d.ts +24 -4
  605. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +10 -1
  606. package/dist/components/BbTextarea/BbTextarea.vue.js +6 -0
  607. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +178 -0
  608. package/dist/components/BbTextarea/types.d.ts +26 -2
  609. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +33 -0
  610. package/dist/components/BbTimePicker/BbTimePicker.vue.js +6 -0
  611. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +244 -0
  612. package/dist/components/BbTimePicker/types.d.ts +129 -0
  613. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +25 -0
  614. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.js +6 -0
  615. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +157 -0
  616. package/dist/components/BbTimePickerInput/types.d.ts +165 -0
  617. package/dist/components/BbToast/BbToast.vue.d.ts +2 -3
  618. package/dist/components/BbToast/BbToast.vue.js +6 -0
  619. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +35 -0
  620. package/dist/components/BbToast/BbToastMessage.vue.d.ts +17 -8
  621. package/dist/components/BbToast/BbToastMessage.vue.js +5 -0
  622. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +170 -0
  623. package/dist/components/BbToast/BbToastPortal.vue.d.ts +30 -0
  624. package/dist/components/BbToast/BbToastPortal.vue.js +5 -0
  625. package/dist/components/BbToast/BbToastPortal.vue_vue_type_script_setup_true_lang.js +19 -0
  626. package/dist/components/BbToast/BbToastRegion.vue.d.ts +8 -0
  627. package/dist/components/BbToast/BbToastRegion.vue.js +5 -0
  628. package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +100 -0
  629. package/dist/components/BbToast/types.d.ts +69 -5
  630. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +4 -3
  631. package/dist/components/BbTooltip/BbTooltip.vue.js +6 -0
  632. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +160 -0
  633. package/dist/components/BbTooltip/types.d.ts +61 -11
  634. package/dist/components/BbTree/BbTree.vue.d.ts +26 -13
  635. package/dist/components/BbTree/BbTree.vue.js +6 -0
  636. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +55 -0
  637. package/dist/components/BbTree/BbTreeLevel.vue.d.ts +19 -0
  638. package/dist/components/BbTree/BbTreeLevel.vue.js +5 -0
  639. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +94 -0
  640. package/dist/components/BbTree/context.d.ts +17 -0
  641. package/dist/components/BbTree/context.js +4 -0
  642. package/dist/components/BbTree/types.d.ts +93 -42
  643. package/dist/components/ChipsBox/ChipsBox.vue.d.ts +2 -1
  644. package/dist/components/ChipsBox/ChipsBox.vue.js +5 -0
  645. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +98 -0
  646. package/dist/components/ChipsBox/types.d.ts +12 -5
  647. package/dist/components/ClearableButton/ClearableButton.vue.d.ts +2 -1
  648. package/dist/components/ClearableButton/ClearableButton.vue.js +6 -0
  649. package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +19 -0
  650. package/dist/components/ClearableButton/types.d.ts +7 -1
  651. package/dist/components/CloseIcon/CloseButton.vue.d.ts +5 -0
  652. package/dist/components/CloseIcon/CloseButton.vue.js +7 -0
  653. package/dist/components/CloseIcon/CloseButton.vue_vue_type_script_setup_true_lang.js +23 -0
  654. package/dist/components/CloseIcon/types.d.ts +2 -0
  655. package/dist/components/CommaBox/CommaBox.vue.d.ts +2 -1
  656. package/dist/components/CommaBox/CommaBox.vue.js +6 -0
  657. package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +81 -0
  658. package/dist/components/CommaBox/types.d.ts +6 -7
  659. package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.d.ts +19 -0
  660. package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.js +6 -0
  661. package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +107 -0
  662. package/dist/components/CommonInputWrapper/types.d.ts +96 -0
  663. package/dist/components/CommonPopover/CommonPopover.vue.d.ts +3 -3
  664. package/dist/components/CommonPopover/CommonPopover.vue.js +6 -0
  665. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +160 -0
  666. package/dist/components/CommonPopover/types.d.ts +61 -16
  667. package/dist/components/ErrorIcon/ErrorIcon.vue.d.ts +2 -0
  668. package/dist/components/ErrorIcon/ErrorIcon.vue.js +6 -0
  669. package/dist/components/ErrorIcon/ErrorIcon.vue_vue_type_script_setup_true_lang.js +16 -0
  670. package/dist/components/FlatListBox/FlatListBox.vue.d.ts +2 -5
  671. package/dist/components/FlatListBox/FlatListBox.vue.js +5 -0
  672. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +167 -0
  673. package/dist/components/FlatListBox/types.d.ts +1 -1
  674. package/dist/components/GroupedListBox/GroupedListBox.vue.d.ts +2 -5
  675. package/dist/components/GroupedListBox/GroupedListBox.vue.js +5 -0
  676. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +218 -0
  677. package/dist/components/ListBox/ListBox.vue.d.ts +3 -6
  678. package/dist/components/ListBox/ListBox.vue.js +5 -0
  679. package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +112 -0
  680. package/dist/components/ListBox/types.d.ts +1 -1
  681. package/dist/components/OptionsContainer/OptionsContainer.vue.d.ts +1 -0
  682. package/dist/components/OptionsContainer/OptionsContainer.vue.js +5 -0
  683. package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +52 -0
  684. package/dist/components/OptionsContainer/types.d.ts +14 -24
  685. package/dist/components/Transitions/ScaleFade.vue.js +5 -0
  686. package/dist/components/Transitions/ScaleFade.vue_vue_type_script_setup_true_lang.js +47 -0
  687. package/dist/components/Transitions/Slide.vue.js +7 -0
  688. package/dist/components/Transitions/Slide.vue_vue_type_script_setup_true_lang.js +28 -0
  689. package/dist/components/WarningIcon/WarningIcon.vue.d.ts +5 -0
  690. package/dist/components/WarningIcon/WarningIcon.vue.js +6 -0
  691. package/dist/components/WarningIcon/WarningIcon.vue_vue_type_script_setup_true_lang.js +16 -0
  692. package/dist/components/WarningIcon/types.d.ts +3 -0
  693. package/dist/composables/__testResets.d.ts +1 -0
  694. package/dist/composables/useActiveInactiveState.d.ts +4 -0
  695. package/dist/composables/useActiveInactiveState.js +21 -0
  696. package/dist/composables/useBaseOptions.d.ts +3 -3
  697. package/dist/composables/useBaseOptions.js +31 -0
  698. package/dist/composables/useBbConfig.d.ts +8 -37
  699. package/dist/composables/useBbConfig.js +5 -0
  700. package/dist/composables/useBbDropdownContext.d.ts +89 -0
  701. package/dist/composables/useBbDropdownContext.js +46 -0
  702. package/dist/composables/useBbFormContext.d.ts +90 -0
  703. package/dist/composables/useBbFormContext.js +69 -0
  704. package/dist/composables/useBbTableContext.d.ts +195 -0
  705. package/dist/composables/useBbTableContext.js +208 -0
  706. package/dist/composables/useBbTabsContext.d.ts +111 -0
  707. package/dist/composables/useBbTabsContext.js +219 -0
  708. package/dist/composables/useBreakpoint.d.ts +13 -0
  709. package/dist/composables/useBreakpoint.js +39 -0
  710. package/dist/composables/useBroadcastChannelInstance.d.ts +1 -3
  711. package/dist/composables/useBroadcastChannelInstance.js +39 -0
  712. package/dist/composables/useCancelableFunction.js +37 -0
  713. package/dist/composables/useCoherence.js +16 -0
  714. package/dist/composables/useConfirm.d.ts +257 -67
  715. package/dist/composables/useConfirm.js +122 -0
  716. package/dist/composables/useCountdown.js +42 -0
  717. package/dist/composables/useHashedWatcher.d.ts +17 -0
  718. package/dist/composables/useHashedWatcher.js +14 -0
  719. package/dist/composables/useId.d.ts +3 -2
  720. package/dist/composables/useIndexById.js +16 -0
  721. package/dist/composables/useInertiaPage.d.ts +10 -0
  722. package/dist/composables/useInertiaPage.js +8 -0
  723. package/dist/composables/useItemText.js +17 -0
  724. package/dist/composables/useItemValue.js +9 -0
  725. package/dist/composables/useItemsGetter.d.ts +1 -1
  726. package/dist/composables/useItemsGetter.js +30 -0
  727. package/dist/composables/useListboxFocus.js +66 -0
  728. package/dist/composables/useLocale.d.ts +1 -1
  729. package/dist/composables/useLocale.js +11 -0
  730. package/dist/composables/useLogger.d.ts +1 -1
  731. package/dist/composables/useLogger.js +10 -0
  732. package/dist/composables/useMinimalQueue.d.ts +1 -1
  733. package/dist/composables/useMobile.js +7 -0
  734. package/dist/composables/useOnFalsy.d.ts +2 -0
  735. package/dist/composables/useOnFalsy.js +9 -0
  736. package/dist/composables/useOnTruthy.d.ts +7 -0
  737. package/dist/composables/useOnTruthy.js +9 -0
  738. package/dist/composables/usePrefill.d.ts +2 -1
  739. package/dist/composables/usePrefill.js +24 -0
  740. package/dist/composables/useQuery.d.ts +15 -3
  741. package/dist/composables/useQuery.js +42 -0
  742. package/dist/composables/useRoute.js +11 -0
  743. package/dist/composables/useRouter.js +8 -0
  744. package/dist/composables/useSafeArea.d.ts +51 -0
  745. package/dist/composables/useSafeArea.js +16 -0
  746. package/dist/composables/useSegmentedFields.d.ts +103 -0
  747. package/dist/composables/useSegmentedFields.js +152 -0
  748. package/dist/composables/useTableWidthContext.d.ts +5 -0
  749. package/dist/composables/useTableWidthContext.js +42 -0
  750. package/dist/composables/useToast.d.ts +17 -73
  751. package/dist/composables/useToast.js +49 -0
  752. package/dist/composables/useTopLayer.d.ts +9 -0
  753. package/dist/composables/useTopLayer.js +7 -0
  754. package/dist/composables/useUntil.js +13 -0
  755. package/dist/composables/useViewportWidth.d.ts +17 -0
  756. package/dist/composables/useViewportWidth.js +6 -0
  757. package/dist/confirm-variants.d.ts +10 -0
  758. package/dist/deprecation/ai-deprecations.json.d.ts +784 -0
  759. package/dist/deprecation/ai-deprecations.json.js +4 -0
  760. package/dist/deprecation/removedProps.d.ts +3 -0
  761. package/dist/deprecation/removedProps.js +13 -0
  762. package/dist/directives/bbColor.d.ts +65 -0
  763. package/dist/directives/bbColor.js +24 -0
  764. package/dist/directives/bbDate.d.ts +66 -0
  765. package/dist/directives/bbDate.js +24 -0
  766. package/dist/directives/bbDropdown.d.ts +15 -11
  767. package/dist/directives/bbDropdown.js +23 -0
  768. package/dist/directives/bbTime.d.ts +64 -0
  769. package/dist/directives/bbTime.js +24 -0
  770. package/dist/directives/bbTooltip.d.ts +16 -11
  771. package/dist/directives/bbTooltip.js +24 -0
  772. package/dist/dropdown-item-variants.d.ts +10 -0
  773. package/dist/i18n/index.d.ts +51 -3
  774. package/dist/i18n/index.js +27 -0
  775. package/dist/i18n/locales/cs.json +115 -0
  776. package/dist/i18n/locales/da.json +115 -0
  777. package/dist/i18n/locales/de.json +115 -0
  778. package/dist/i18n/locales/el.json +115 -0
  779. package/dist/i18n/locales/en.json +115 -0
  780. package/dist/i18n/locales/es.json +115 -0
  781. package/dist/i18n/locales/fi.json +115 -0
  782. package/dist/i18n/locales/fr.json +115 -0
  783. package/dist/i18n/locales/hu.json +115 -0
  784. package/dist/i18n/locales/it.json +115 -0
  785. package/dist/i18n/locales/ja.json +115 -0
  786. package/dist/i18n/locales/ko.json +115 -0
  787. package/dist/i18n/locales/nb.json +115 -0
  788. package/dist/i18n/locales/nl.json +115 -0
  789. package/dist/i18n/locales/pl.json +115 -0
  790. package/dist/i18n/locales/pt.json +115 -0
  791. package/dist/i18n/locales/ro.json +115 -0
  792. package/dist/i18n/locales/ru.json +115 -0
  793. package/dist/i18n/locales/sv.json +115 -0
  794. package/dist/i18n/locales/tr.json +115 -0
  795. package/dist/i18n/locales/uk.json +115 -0
  796. package/dist/i18n/locales/zh-cn.json +115 -0
  797. package/dist/icons-whitelist.d.ts +8 -0
  798. package/dist/index.d.ts +94 -79
  799. package/dist/index.js +76 -82
  800. package/dist/indicator-variants.d.ts +13 -0
  801. package/dist/llms-full.txt +77073 -0
  802. package/dist/llms-medium.txt +1334 -0
  803. package/dist/llms.txt +103 -0
  804. package/dist/locale-blueprint.json +141 -0
  805. package/dist/nuxt-module.d.ts +3 -0
  806. package/dist/nuxt.js +19 -0
  807. package/dist/plugin.d.ts +4 -0
  808. package/dist/plugin.js +22 -0
  809. package/dist/reset.css +1 -0
  810. package/dist/reset.d.ts +0 -0
  811. package/dist/runtime/nuxt-plugin.d.ts +2 -0
  812. package/dist/runtime/nuxt-plugin.js +24 -0
  813. package/dist/styles.css +2 -0
  814. package/dist/styles.d.ts +0 -0
  815. package/dist/toast-variants.d.ts +13 -0
  816. package/dist/tooltip-variants.d.ts +10 -0
  817. package/dist/types/ActionButton.d.ts +32 -0
  818. package/dist/types/AlertVariant.d.ts +16 -0
  819. package/dist/types/BadgeVariant.d.ts +16 -0
  820. package/dist/types/ButtonVariant.d.ts +17 -0
  821. package/dist/types/Classes.d.ts +1 -1
  822. package/dist/types/ColumnName.d.ts +1 -1
  823. package/dist/types/CommonProps.d.ts +66 -279
  824. package/dist/types/Config.d.ts +84 -0
  825. package/dist/types/ConfirmVariant.d.ts +15 -0
  826. package/dist/types/DropdownItemVariant.d.ts +18 -0
  827. package/dist/types/Icon.d.ts +5 -7
  828. package/dist/types/IndicatorVariant.d.ts +16 -0
  829. package/dist/types/InputDirection.d.ts +15 -0
  830. package/dist/types/ItemAccessor.d.ts +21 -0
  831. package/dist/types/Placement.d.ts +6 -0
  832. package/dist/types/ResponsiveSize.d.ts +20 -0
  833. package/dist/types/SizeScale.d.ts +8 -0
  834. package/dist/types/ToastVariant.d.ts +17 -0
  835. package/dist/types/TooltipVariant.d.ts +18 -0
  836. package/dist/utilities/functions/bytesToUnit.d.ts +2 -0
  837. package/dist/utilities/functions/bytesToUnit.js +18 -0
  838. package/dist/utilities/functions/clampPrecision.js +10 -0
  839. package/dist/utilities/functions/convertDateValue.d.ts +23 -10
  840. package/dist/utilities/functions/convertDateValue.js +12 -0
  841. package/dist/utilities/functions/deburr.js +5 -0
  842. package/dist/utilities/functions/empty.js +5 -0
  843. package/dist/utilities/functions/flattenTree.d.ts +1 -1
  844. package/dist/utilities/functions/hash.js +5 -0
  845. package/dist/utilities/functions/isDateDisabled.d.ts +1 -0
  846. package/dist/utilities/functions/isDateDisabled.js +20 -0
  847. package/dist/utilities/functions/isEqual.js +5 -0
  848. package/dist/utilities/functions/isNotEmpty.js +5 -0
  849. package/dist/utilities/functions/matchAnyKey.d.ts +1 -1
  850. package/dist/utilities/functions/matchAnyKey.js +15 -0
  851. package/dist/utilities/functions/parseSize.d.ts +1 -1
  852. package/dist/utilities/functions/parseSize.js +15 -0
  853. package/dist/utilities/functions/percentage.js +11 -0
  854. package/dist/utilities/functions/pipe.d.ts +1 -1
  855. package/dist/utilities/functions/reject.d.ts +25 -0
  856. package/dist/utilities/functions/reject.js +28 -0
  857. package/dist/utilities/functions/resolveEnumProp.d.ts +19 -0
  858. package/dist/utilities/functions/resolveEnumProp.js +5 -0
  859. package/dist/utilities/functions/slotKey.d.ts +13 -0
  860. package/dist/utilities/functions/slotKey.js +4 -0
  861. package/dist/utilities/functions/sort.d.ts +2 -2
  862. package/dist/utilities/functions/sort.js +19 -0
  863. package/dist/utilities/functions/throttle.js +5 -0
  864. package/dist/utilities/functions/waitFor.d.ts +9 -2
  865. package/dist/utilities/functions/waitFor.js +14 -0
  866. package/dist/utilities/functions/warnRemovedAttrs.d.ts +11 -0
  867. package/dist/utilities/functions/warnRemovedAttrs.js +20 -0
  868. package/dist/utilities/functions/when.js +5 -0
  869. package/dist/utilities/misc/iconsInjectionKey.d.ts +15 -0
  870. package/dist/utilities/misc/iconsInjectionKey.js +4 -0
  871. package/dist/utilities/misc/transitions.d.ts +5 -0
  872. package/dist/utilities/misc/transitions.js +8 -0
  873. package/dist/utils/injectLibraryStyles.d.ts +6 -0
  874. package/dist/utils/injectLibraryStyles.js +38 -0
  875. package/dist/validated/BbCheckbox.vue.d.ts +29 -0
  876. package/dist/validated/BbCheckbox.vue.js +5 -0
  877. package/dist/validated/BbCheckbox.vue_vue_type_script_setup_true_lang.js +75 -0
  878. package/dist/validated/BbCheckboxGroup.vue.d.ts +34 -0
  879. package/dist/validated/BbCheckboxGroup.vue.js +5 -0
  880. package/dist/validated/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +76 -0
  881. package/dist/validated/BbColorInput.vue.d.ts +36 -0
  882. package/dist/validated/BbColorInput.vue.js +5 -0
  883. package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +71 -0
  884. package/dist/validated/BbDatePickerInput.vue.d.ts +40 -0
  885. package/dist/validated/BbDatePickerInput.vue.js +5 -0
  886. package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +87 -0
  887. package/dist/validated/BbDropzone.vue.d.ts +24 -0
  888. package/dist/validated/BbDropzone.vue.js +5 -0
  889. package/dist/validated/BbDropzone.vue_vue_type_script_setup_true_lang.js +45 -0
  890. package/dist/validated/BbForm.vue.d.ts +28 -0
  891. package/dist/validated/BbForm.vue.js +5 -0
  892. package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +42 -0
  893. package/dist/validated/BbNumberInput.vue.d.ts +36 -0
  894. package/dist/validated/BbNumberInput.vue.js +5 -0
  895. package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +72 -0
  896. package/dist/validated/BbRadioGroup.vue.d.ts +34 -0
  897. package/dist/validated/BbRadioGroup.vue.js +5 -0
  898. package/dist/validated/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +75 -0
  899. package/dist/validated/BbRating.vue.d.ts +30 -0
  900. package/dist/validated/BbRating.vue.js +5 -0
  901. package/dist/validated/BbRating.vue_vue_type_script_setup_true_lang.js +63 -0
  902. package/dist/validated/BbSelect.vue.d.ts +46 -0
  903. package/dist/validated/BbSelect.vue.js +5 -0
  904. package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +100 -0
  905. package/dist/validated/BbSlider.vue.d.ts +36 -0
  906. package/dist/validated/BbSlider.vue.js +5 -0
  907. package/dist/validated/BbSlider.vue_vue_type_script_setup_true_lang.js +69 -0
  908. package/dist/validated/BbSwitch.vue.d.ts +29 -0
  909. package/dist/validated/BbSwitch.vue.js +5 -0
  910. package/dist/validated/BbSwitch.vue_vue_type_script_setup_true_lang.js +75 -0
  911. package/dist/validated/BbSwitchGroup.vue.d.ts +34 -0
  912. package/dist/validated/BbSwitchGroup.vue.js +5 -0
  913. package/dist/validated/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +76 -0
  914. package/dist/validated/BbTag.vue.d.ts +36 -0
  915. package/dist/validated/BbTag.vue.js +5 -0
  916. package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +72 -0
  917. package/dist/validated/BbTextInput.vue.d.ts +36 -0
  918. package/dist/validated/BbTextInput.vue.js +5 -0
  919. package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +72 -0
  920. package/dist/validated/BbTextarea.vue.d.ts +36 -0
  921. package/dist/validated/BbTextarea.vue.js +5 -0
  922. package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +70 -0
  923. package/dist/validated/BbTimePickerInput.vue.d.ts +36 -0
  924. package/dist/validated/BbTimePickerInput.vue.js +5 -0
  925. package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +78 -0
  926. package/dist/validated/index.d.ts +29 -0
  927. package/dist/validated/useValidatedField.d.ts +52 -0
  928. package/dist/validated/useValidatedField.js +51 -0
  929. package/dist/validated.js +21 -0
  930. package/dist/vite-plugin.d.ts +217 -0
  931. package/dist/vite.js +530 -0
  932. package/llms.txt +105 -0
  933. package/package.json +162 -60
  934. package/scripts/lib/__fixtures__/validated-manifest.json +65 -0
  935. package/scripts/lib/ensure-manifest.mjs +39 -0
  936. package/scripts/lib/eslint-plugin-autofix.node.test.mjs +109 -0
  937. package/scripts/lib/eslint-plugin.mjs +285 -0
  938. package/scripts/lib/eslint-plugin.node.test.mjs +161 -0
  939. package/scripts/lib/html-attributes.mjs +191 -0
  940. package/scripts/lib/mcp-config.mjs +126 -0
  941. package/scripts/lib/migrate-fix.mjs +115 -0
  942. package/scripts/lib/validate-bb-markup.mjs +421 -0
  943. package/dist/ai/BaseButton.md +0 -449
  944. package/dist/ai/BaseCheckbox.md +0 -512
  945. package/dist/ai/BaseCheckboxGroup.md +0 -597
  946. package/dist/ai/BaseColorInput.md +0 -461
  947. package/dist/ai/BaseDatePicker.md +0 -739
  948. package/dist/ai/BaseDatePickerInput.md +0 -1517
  949. package/dist/ai/BaseDialog.md +0 -610
  950. package/dist/ai/BaseInputContainer.md +0 -570
  951. package/dist/ai/BaseNumberInput.md +0 -509
  952. package/dist/ai/BaseRadio.md +0 -405
  953. package/dist/ai/BaseRadioGroup.md +0 -535
  954. package/dist/ai/BaseRating.md +0 -489
  955. package/dist/ai/BaseSelect.md +0 -1742
  956. package/dist/ai/BaseSlider.md +0 -871
  957. package/dist/ai/BaseSwitch.md +0 -322
  958. package/dist/ai/BaseSwitchGroup.md +0 -298
  959. package/dist/ai/BaseTag.md +0 -623
  960. package/dist/ai/BaseTextInput.md +0 -392
  961. package/dist/ai/BaseTextarea.md +0 -398
  962. package/dist/ai/BbChip.md +0 -147
  963. package/dist/ai/BbIntersection.md +0 -120
  964. package/dist/ai/BbRatio.md +0 -61
  965. package/dist/ai/BbRows.md +0 -307
  966. package/dist/ai/BbTab.md +0 -950
  967. package/dist/ai/CommonInputInnerContainer.md +0 -414
  968. package/dist/ai/CommonInputOuterContainer.md +0 -55
  969. package/dist/components/BaseButton/BaseButton.vue.d.ts +0 -14
  970. package/dist/components/BaseButton/types.d.ts +0 -159
  971. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +0 -39
  972. package/dist/components/BaseCheckbox/types.d.ts +0 -213
  973. package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +0 -30
  974. package/dist/components/BaseCheckboxGroup/types.d.ts +0 -282
  975. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +0 -35
  976. package/dist/components/BaseColorInput/ColorPalette.vue.d.ts +0 -13
  977. package/dist/components/BaseColorInput/types.d.ts +0 -233
  978. package/dist/components/BaseDatePicker/BaseDatePickerHeader.vue.d.ts +0 -15
  979. package/dist/components/BaseDatePicker/BaseDatePickerInputDaySelector.vue.d.ts +0 -58
  980. package/dist/components/BaseDatePicker/BaseDatePickerMonthSelector.vue.d.ts +0 -12
  981. package/dist/components/BaseDatePicker/BaseDatePickerYearSelector.vue.d.ts +0 -12
  982. package/dist/components/BaseDatePicker/types.d.ts +0 -100
  983. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +0 -26
  984. package/dist/components/BaseDatePickerInput/types.d.ts +0 -206
  985. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +0 -37
  986. package/dist/components/BaseDialog/types.d.ts +0 -180
  987. package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +0 -18
  988. package/dist/components/BaseInputContainer/types.d.ts +0 -126
  989. package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +0 -46
  990. package/dist/components/BaseNumberInput/types.d.ts +0 -191
  991. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +0 -31
  992. package/dist/components/BaseRadio/types.d.ts +0 -173
  993. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +0 -30
  994. package/dist/components/BaseRadioGroup/types.d.ts +0 -240
  995. package/dist/components/BaseRating/BaseRating.vue.d.ts +0 -35
  996. package/dist/components/BaseRating/types.d.ts +0 -144
  997. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +0 -28
  998. package/dist/components/BaseSelect/types.d.ts +0 -470
  999. package/dist/components/BaseSlider/BaseSlider.vue.d.ts +0 -38
  1000. package/dist/components/BaseSlider/types.d.ts +0 -201
  1001. package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +0 -34
  1002. package/dist/components/BaseSwitch/types.d.ts +0 -25
  1003. package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +0 -30
  1004. package/dist/components/BaseSwitchGroup/types.d.ts +0 -8
  1005. package/dist/components/BaseTag/BaseTag.vue.d.ts +0 -37
  1006. package/dist/components/BaseTag/types.d.ts +0 -136
  1007. package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +0 -33
  1008. package/dist/components/BaseTextInput/types.d.ts +0 -166
  1009. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +0 -31
  1010. package/dist/components/BaseTextarea/types.d.ts +0 -151
  1011. package/dist/components/BbChip/BbChip.vue.d.ts +0 -17
  1012. package/dist/components/BbChip/types.d.ts +0 -23
  1013. package/dist/components/BbIntersection/BbIntersection.vue.d.ts +0 -23
  1014. package/dist/components/BbIntersection/types.d.ts +0 -36
  1015. package/dist/components/BbRatio/BbRatio.vue.d.ts +0 -14
  1016. package/dist/components/BbRatio/types.d.ts +0 -15
  1017. package/dist/components/BbRows/BbRows.vue.d.ts +0 -62
  1018. package/dist/components/BbRows/types.d.ts +0 -21
  1019. package/dist/components/BbTab/BbTab.vue.d.ts +0 -27
  1020. package/dist/components/BbTab/types.d.ts +0 -186
  1021. package/dist/components/CommonInputInnerContainer/CommonInputInnerContainer.vue.d.ts +0 -15
  1022. package/dist/components/CommonInputInnerContainer/types.d.ts +0 -47
  1023. package/dist/components/CommonInputOuterContainer/CommonInputOuterContainer.vue.d.ts +0 -11
  1024. package/dist/components/CommonInputOuterContainer/types.d.ts +0 -16
  1025. package/dist/composables/useModalsState.d.ts +0 -5
  1026. package/dist/composables/useQueue.d.ts +0 -58
  1027. package/dist/composables/useWizard.d.ts +0 -85
  1028. package/dist/i18n/en.d.ts +0 -67
  1029. package/dist/i18n/it.d.ts +0 -67
  1030. package/dist/index.css +0 -2
  1031. package/dist/index100.js +0 -6
  1032. package/dist/index101.js +0 -300
  1033. package/dist/index102.js +0 -16
  1034. package/dist/index103.js +0 -16
  1035. package/dist/index104.js +0 -27
  1036. package/dist/index109.js +0 -19
  1037. package/dist/index11.js +0 -42
  1038. package/dist/index110.js +0 -12
  1039. package/dist/index111.js +0 -19
  1040. package/dist/index112.js +0 -25
  1041. package/dist/index114.js +0 -7
  1042. package/dist/index115.js +0 -241
  1043. package/dist/index116.js +0 -5
  1044. package/dist/index117.js +0 -42
  1045. package/dist/index118.js +0 -5
  1046. package/dist/index119.js +0 -53
  1047. package/dist/index120.js +0 -5
  1048. package/dist/index121.js +0 -32
  1049. package/dist/index122.js +0 -5
  1050. package/dist/index124.js +0 -52
  1051. package/dist/index125.js +0 -5
  1052. package/dist/index126.js +0 -223
  1053. package/dist/index128.js +0 -6
  1054. package/dist/index129.js +0 -162
  1055. package/dist/index13.js +0 -92
  1056. package/dist/index130.js +0 -25
  1057. package/dist/index131.js +0 -51
  1058. package/dist/index132.js +0 -5
  1059. package/dist/index133.js +0 -607
  1060. package/dist/index135.js +0 -6
  1061. package/dist/index136.js +0 -14
  1062. package/dist/index137.js +0 -153
  1063. package/dist/index139.js +0 -6
  1064. package/dist/index14.js +0 -306
  1065. package/dist/index140.js +0 -224
  1066. package/dist/index141.js +0 -5
  1067. package/dist/index143.js +0 -128
  1068. package/dist/index145.js +0 -6
  1069. package/dist/index146.js +0 -8
  1070. package/dist/index147.js +0 -182
  1071. package/dist/index149.js +0 -6
  1072. package/dist/index15.js +0 -10
  1073. package/dist/index151.js +0 -4
  1074. package/dist/index152.js +0 -95
  1075. package/dist/index154.js +0 -6
  1076. package/dist/index155.js +0 -168
  1077. package/dist/index157.js +0 -6
  1078. package/dist/index158.js +0 -145
  1079. package/dist/index16.js +0 -59
  1080. package/dist/index160.js +0 -6
  1081. package/dist/index161.js +0 -53
  1082. package/dist/index163.js +0 -6
  1083. package/dist/index164.js +0 -16
  1084. package/dist/index166.js +0 -35
  1085. package/dist/index168.js +0 -6
  1086. package/dist/index169.js +0 -89
  1087. package/dist/index171.js +0 -6
  1088. package/dist/index172.js +0 -82
  1089. package/dist/index174.js +0 -6
  1090. package/dist/index175.js +0 -38
  1091. package/dist/index176.js +0 -461
  1092. package/dist/index177.js +0 -28
  1093. package/dist/index178.js +0 -66
  1094. package/dist/index18.js +0 -35
  1095. package/dist/index180.js +0 -162
  1096. package/dist/index181.js +0 -5
  1097. package/dist/index182.js +0 -217
  1098. package/dist/index183.js +0 -5
  1099. package/dist/index184.js +0 -112
  1100. package/dist/index185.js +0 -5
  1101. package/dist/index186.js +0 -459
  1102. package/dist/index188.js +0 -6
  1103. package/dist/index19.js +0 -4
  1104. package/dist/index192.js +0 -268
  1105. package/dist/index194.js +0 -6
  1106. package/dist/index195.js +0 -124
  1107. package/dist/index197.js +0 -6
  1108. package/dist/index198.js +0 -174
  1109. package/dist/index2.js +0 -20
  1110. package/dist/index20.js +0 -9
  1111. package/dist/index200.js +0 -6
  1112. package/dist/index201.js +0 -224
  1113. package/dist/index203.js +0 -6
  1114. package/dist/index204.js +0 -135
  1115. package/dist/index206.js +0 -6
  1116. package/dist/index207.js +0 -5
  1117. package/dist/index208.js +0 -170
  1118. package/dist/index21.js +0 -35
  1119. package/dist/index210.js +0 -6
  1120. package/dist/index211.js +0 -37
  1121. package/dist/index213.js +0 -6
  1122. package/dist/index214.js +0 -63
  1123. package/dist/index216.js +0 -6
  1124. package/dist/index217.js +0 -74
  1125. package/dist/index219.js +0 -6
  1126. package/dist/index22.js +0 -6
  1127. package/dist/index220.js +0 -65
  1128. package/dist/index222.js +0 -6
  1129. package/dist/index223.js +0 -67
  1130. package/dist/index225.js +0 -6
  1131. package/dist/index226.js +0 -41
  1132. package/dist/index228.js +0 -6
  1133. package/dist/index229.js +0 -10
  1134. package/dist/index23.js +0 -7
  1135. package/dist/index230.js +0 -22
  1136. package/dist/index232.js +0 -8
  1137. package/dist/index233.js +0 -297
  1138. package/dist/index235.js +0 -6
  1139. package/dist/index236.js +0 -47
  1140. package/dist/index237.js +0 -165
  1141. package/dist/index239.js +0 -6
  1142. package/dist/index24.js +0 -9
  1143. package/dist/index241.js +0 -159
  1144. package/dist/index243.js +0 -6
  1145. package/dist/index244.js +0 -134
  1146. package/dist/index246.js +0 -6
  1147. package/dist/index247.js +0 -167
  1148. package/dist/index249.js +0 -6
  1149. package/dist/index25.js +0 -24
  1150. package/dist/index250.js +0 -147
  1151. package/dist/index252.js +0 -6
  1152. package/dist/index253.js +0 -35
  1153. package/dist/index255.js +0 -6
  1154. package/dist/index256.js +0 -65
  1155. package/dist/index258.js +0 -6
  1156. package/dist/index259.js +0 -19
  1157. package/dist/index260.js +0 -5
  1158. package/dist/index261.js +0 -160
  1159. package/dist/index263.js +0 -6
  1160. package/dist/index264.js +0 -60
  1161. package/dist/index266.js +0 -6
  1162. package/dist/index267.js +0 -134
  1163. package/dist/index269.js +0 -6
  1164. package/dist/index27.js +0 -4
  1165. package/dist/index271.js +0 -206
  1166. package/dist/index273.js +0 -6
  1167. package/dist/index274.js +0 -85
  1168. package/dist/index275.js +0 -5
  1169. package/dist/index276.js +0 -55
  1170. package/dist/index277.js +0 -5
  1171. package/dist/index278.js +0 -164
  1172. package/dist/index28.js +0 -8
  1173. package/dist/index280.js +0 -6
  1174. package/dist/index281.js +0 -145
  1175. package/dist/index283.js +0 -6
  1176. package/dist/index284.js +0 -11
  1177. package/dist/index285.js +0 -200
  1178. package/dist/index287.js +0 -6
  1179. package/dist/index288.js +0 -241
  1180. package/dist/index29.js +0 -7
  1181. package/dist/index290.js +0 -6
  1182. package/dist/index291.js +0 -21
  1183. package/dist/index293.js +0 -6
  1184. package/dist/index294.js +0 -125
  1185. package/dist/index296.js +0 -6
  1186. package/dist/index297.js +0 -161
  1187. package/dist/index299.js +0 -6
  1188. package/dist/index30.js +0 -118
  1189. package/dist/index300.js +0 -127
  1190. package/dist/index302.js +0 -6
  1191. package/dist/index303.js +0 -20
  1192. package/dist/index305.js +0 -6
  1193. package/dist/index306.js +0 -116
  1194. package/dist/index307.js +0 -5
  1195. package/dist/index308.js +0 -507
  1196. package/dist/index31.js +0 -10
  1197. package/dist/index310.js +0 -6
  1198. package/dist/index311.js +0 -196
  1199. package/dist/index313.js +0 -6
  1200. package/dist/index314.js +0 -142
  1201. package/dist/index316.js +0 -6
  1202. package/dist/index317.js +0 -134
  1203. package/dist/index319.js +0 -6
  1204. package/dist/index32.js +0 -28
  1205. package/dist/index320.js +0 -162
  1206. package/dist/index322.js +0 -6
  1207. package/dist/index323.js +0 -319
  1208. package/dist/index325.js +0 -6
  1209. package/dist/index326.js +0 -40
  1210. package/dist/index327.js +0 -43
  1211. package/dist/index328.js +0 -665
  1212. package/dist/index33.js +0 -5
  1213. package/dist/index330.js +0 -6
  1214. package/dist/index331.js +0 -155
  1215. package/dist/index333.js +0 -6
  1216. package/dist/index334.js +0 -142
  1217. package/dist/index336.js +0 -6
  1218. package/dist/index337.js +0 -155
  1219. package/dist/index339.js +0 -6
  1220. package/dist/index34.js +0 -112
  1221. package/dist/index340.js +0 -58
  1222. package/dist/index341.js +0 -5
  1223. package/dist/index342.js +0 -20
  1224. package/dist/index344.js +0 -6
  1225. package/dist/index345.js +0 -142
  1226. package/dist/index347.js +0 -6
  1227. package/dist/index349.js +0 -109
  1228. package/dist/index351.js +0 -6
  1229. package/dist/index353.js +0 -24
  1230. package/dist/index354.js +0 -23
  1231. package/dist/index355.js +0 -839
  1232. package/dist/index356.js +0 -474
  1233. package/dist/index357.js +0 -52
  1234. package/dist/index358.js +0 -7
  1235. package/dist/index36.js +0 -6
  1236. package/dist/index38.js +0 -63
  1237. package/dist/index39.js +0 -63
  1238. package/dist/index40.js +0 -9
  1239. package/dist/index42.js +0 -8
  1240. package/dist/index43.js +0 -179
  1241. package/dist/index44.js +0 -21
  1242. package/dist/index46.js +0 -385
  1243. package/dist/index48.js +0 -6
  1244. package/dist/index49.js +0 -33
  1245. package/dist/index5.js +0 -34
  1246. package/dist/index50.js +0 -12
  1247. package/dist/index51.js +0 -8
  1248. package/dist/index52.js +0 -106
  1249. package/dist/index53.js +0 -330
  1250. package/dist/index54.js +0 -97
  1251. package/dist/index55.js +0 -328
  1252. package/dist/index56.js +0 -28
  1253. package/dist/index57.js +0 -102
  1254. package/dist/index58.js +0 -157
  1255. package/dist/index6.js +0 -38
  1256. package/dist/index60.js +0 -6
  1257. package/dist/index61.js +0 -131
  1258. package/dist/index62.js +0 -5
  1259. package/dist/index65.js +0 -35
  1260. package/dist/index66.js +0 -26
  1261. package/dist/index68.js +0 -6
  1262. package/dist/index69.js +0 -54
  1263. package/dist/index7.js +0 -58
  1264. package/dist/index71.js +0 -6
  1265. package/dist/index72.js +0 -14
  1266. package/dist/index74.js +0 -6
  1267. package/dist/index75.js +0 -159
  1268. package/dist/index77.js +0 -6
  1269. package/dist/index78.js +0 -4
  1270. package/dist/index79.js +0 -4
  1271. package/dist/index80.js +0 -54
  1272. package/dist/index81.js +0 -5
  1273. package/dist/index82.js +0 -5
  1274. package/dist/index83.js +0 -141
  1275. package/dist/index85.js +0 -6
  1276. package/dist/index86.js +0 -65
  1277. package/dist/index88.js +0 -6
  1278. package/dist/index89.js +0 -30
  1279. package/dist/index9.js +0 -11
  1280. package/dist/index90.js +0 -19
  1281. package/dist/index91.js +0 -17
  1282. package/dist/index92.js +0 -9
  1283. package/dist/index93.js +0 -34
  1284. package/dist/index95.js +0 -16
  1285. package/dist/index96.js +0 -10
  1286. package/dist/index97.js +0 -18
  1287. package/dist/index98.js +0 -189
  1288. package/dist/types/VoidHtmlElements.d.ts +0 -1
  1289. package/dist/utilities/functions/add.d.ts +0 -1
  1290. package/dist/utilities/functions/booleanishToBoolean.d.ts +0 -6
  1291. package/dist/utilities/functions/capitalize.d.ts +0 -4
  1292. package/dist/utilities/functions/cloneDeep.d.ts +0 -1
  1293. package/dist/utilities/functions/debounce.d.ts +0 -1
  1294. package/dist/utilities/functions/drop.d.ts +0 -1
  1295. package/dist/utilities/functions/exceedsPrecision.d.ts +0 -1
  1296. package/dist/utilities/functions/findRight.d.ts +0 -4
  1297. package/dist/utilities/functions/findRightIndex.d.ts +0 -4
  1298. package/dist/utilities/functions/flow.d.ts +0 -1
  1299. package/dist/utilities/functions/getHueFromRGB.d.ts +0 -9
  1300. package/dist/utilities/functions/groupBy.d.ts +0 -6
  1301. package/dist/utilities/functions/gt.d.ts +0 -7
  1302. package/dist/utilities/functions/hexToRGB.d.ts +0 -7
  1303. package/dist/utilities/functions/hslToHex.d.ts +0 -1
  1304. package/dist/utilities/functions/includes.d.ts +0 -1
  1305. package/dist/utilities/functions/initial.d.ts +0 -1
  1306. package/dist/utilities/functions/isCssColor.d.ts +0 -5
  1307. package/dist/utilities/functions/lt.d.ts +0 -7
  1308. package/dist/utilities/functions/makeUrl.d.ts +0 -1
  1309. package/dist/utilities/functions/mapKeys.d.ts +0 -5
  1310. package/dist/utilities/functions/mapValues.d.ts +0 -1
  1311. package/dist/utilities/functions/matchesPropertyInsensitive.d.ts +0 -1
  1312. package/dist/utilities/functions/max.d.ts +0 -2
  1313. package/dist/utilities/functions/mean.d.ts +0 -4
  1314. package/dist/utilities/functions/merge.d.ts +0 -11
  1315. package/dist/utilities/functions/millisecondsTo.d.ts +0 -1
  1316. package/dist/utilities/functions/negate.d.ts +0 -4
  1317. package/dist/utilities/functions/normalizeItemGroups.d.ts +0 -13
  1318. package/dist/utilities/functions/omit.d.ts +0 -2
  1319. package/dist/utilities/functions/overEvery.d.ts +0 -4
  1320. package/dist/utilities/functions/pick.d.ts +0 -1
  1321. package/dist/utilities/functions/replace.d.ts +0 -1
  1322. package/dist/utilities/functions/replaceInTree.d.ts +0 -4
  1323. package/dist/utilities/functions/retry.d.ts +0 -5
  1324. package/dist/utilities/functions/roundToTheNearest.d.ts +0 -8
  1325. package/dist/utilities/functions/set.d.ts +0 -15
  1326. package/dist/utilities/functions/stub.d.ts +0 -6
  1327. package/dist/utilities/functions/transposePercent.d.ts +0 -9
  1328. package/dist/utilities/functions/tryTo.d.ts +0 -2
  1329. package/dist/utilities/functions/uniqBy.d.ts +0 -1
  1330. /package/dist/{index64.js → _virtual/_plugin-vue_export-helper.js} +0 -0
  1331. /package/dist/components/{BaseButton → BbBaseButton}/RouterComponent.vue.d.ts +0 -0
  1332. /package/dist/components/{BaseDatePicker/BaseDatePicker.vue.d.ts → BbBaseDatePicker/BbBaseDatePicker.vue.d.ts} +0 -0
  1333. /package/dist/{index165.js → composables/useArray.js} +0 -0
  1334. /package/dist/{index17.js → composables/useFrameworkDetection.js} +0 -0
  1335. /package/dist/{index12.js → composables/useId.js} +0 -0
  1336. /package/dist/{index352.js → directives/createPopoverDirective.js} +0 -0
  1337. /package/dist/{index107.js → utilities/functions/chunk.js} +0 -0
  1338. /package/dist/{index8.js → utilities/functions/clamp.js} +0 -0
  1339. /package/dist/{index150.js → utilities/functions/curry.js} +0 -0
  1340. /package/dist/{index45.js → utilities/functions/extractDomContainer.js} +0 -0
  1341. /package/dist/{index270.js → utilities/functions/findInTree.js} +0 -0
  1342. /package/dist/{index348.js → utilities/functions/flattenTree.js} +0 -0
  1343. /package/dist/{index41.js → utilities/functions/get.js} +0 -0
  1344. /package/dist/{index189.js → utilities/functions/head.js} +0 -0
  1345. /package/dist/{index108.js → utilities/functions/identity.js} +0 -0
  1346. /package/dist/{index179.js → utilities/functions/indexBy.js} +0 -0
  1347. /package/dist/{index37.js → utilities/functions/isHex.js} +0 -0
  1348. /package/dist/{index94.js → utilities/functions/isNil.js} +0 -0
  1349. /package/dist/{index26.js → utilities/functions/isNotNil.js} +0 -0
  1350. /package/dist/{index105.js → utilities/functions/last.js} +0 -0
  1351. /package/dist/{index142.js → utilities/functions/noop.js} +0 -0
  1352. /package/dist/{index231.js → utilities/functions/parseWidthString.js} +0 -0
  1353. /package/dist/{index240.js → utilities/functions/pickBy.js} +0 -0
  1354. /package/dist/{index123.js → utilities/functions/range.js} +0 -0
  1355. /package/dist/{index190.js → utilities/functions/snapToStep.js} +0 -0
  1356. /package/dist/{index191.js → utilities/functions/transpose.js} +0 -0
  1357. /package/dist/{index106.js → utilities/functions/validateDateFormat.js} +0 -0
  1358. /package/dist/{index10.js → utilities/functions/wait.js} +0 -0
@@ -1,592 +1,629 @@
1
1
  # BbPopover
2
2
 
3
- ## Template & Script
3
+ ## Agent Contract
4
+
5
+ - Safety level: **Consumer API**
6
+ - Group: **Overlay**
7
+ - Description: Anchors floating content to reference elements.
8
+ - Usage rule: Prefer this component for consumer-facing implementations.
9
+ - Implementation source (only when the contract below is not enough): [source/BbPopover.md](./source/BbPopover.md)
10
+
11
+ ## Usage & Guidelines
12
+
13
+ ### When to use
14
+
15
+ Reach for `BbPopover` when you need a **small floating panel with interactive
16
+ content** anchored to a trigger: a quick-settings form, a notifications list, a
17
+ mini picker, an inline detail card. It opens on click and stays open — the user
18
+ can click, type, and toggle inside it — dismissing only on an outside click or
19
+ `Escape`.
20
+
21
+ Pick a sibling when the shape is more specific:
22
+
23
+ - A one-line non-interactive hint on hover/focus → `BbTooltip`. Richer field
24
+ help with links or actions still belongs in a popover (see below).
25
+ - A standard list of actions (a menu) → `BbDropdown`.
26
+ - A searchable option list bound to a value → `BbSelect` / `BbSelectPopover`.
27
+ - A focused, page-blocking task → `BbDialog`; supplementary side content →
28
+ `BbOffCanvas`.
29
+
30
+ `BbPopover` is a lightweight floating panel, **not** a blocking modal: it does
31
+ not dim or lock the page, and an outside click dismisses it. If the surface must
32
+ own the user's attention until resolved, that is `BbDialog`.
33
+
34
+ ### Activator and content
35
+
36
+ Render your trigger in the `activator` slot and **spread its `props`** onto the
37
+ element — that is the whole contract. `props` carries the accessibility
38
+ attributes (`aria-expanded`, `aria-controls`, `aria-haspopup="dialog"`), the
39
+ element `id`, the `disabled` state, the positioning `ref`, and the open/close
40
+ handler for whichever `trigger` is active. Miss the spread and the popover has
41
+ no anchor and no way to open.
42
+
43
+ The `activator` slot scope also exposes `isOpen`, `placement` and `disabled` so
44
+ the trigger can react (rotate a chevron, swap a label). The `default` slot
45
+ receives `close` (plus `open`, `placement`, `disabled`) so controls inside can
46
+ dismiss the panel.
47
+
48
+ **Quick display settings**
4
49
 
5
50
  ```vue
6
51
  <template>
7
- <slot
8
- v-if="!hasExternalActivator"
9
- name="activator"
10
- v-bind="{
11
- props: activatorProps,
12
- disabled: !!disabled,
13
- isOpen,
14
- placement,
15
- }"
16
- />
17
-
18
- <CommonPopover
19
- :id="popoverId"
20
- ref="popoverRef"
21
- v-model="isOpen"
22
- :anchor="effectiveAnchor"
23
- :aria-labelledby="hasOpenedOnce ? activatorId : undefined"
24
- :arrow-padding="arrowPadding"
25
- :boundary="boundary"
26
- class="bb-popover"
27
- :class="`bb-popover--${theme}`"
28
- dialog
29
- :eager="eager"
30
- :offset="offset"
31
- :hide-arrow="placement === 'cursor'"
32
- :padding="padding"
33
- :placement="placement === 'cursor' ? 'bottom-start' : placement"
34
- :scrollable="scrollable"
35
- :style="{ width: parsedWidth }"
36
- :transition-duration="transitionDuration"
37
- v-bind="$attrs"
52
+ <div
53
+ class="flex max-w-sm items-center justify-between gap-3 rounded-[var(--bb-radius)] border p-3"
38
54
  >
39
- <span class="bb-popover__content" :inert="!isOpen">
40
- <BaseButton
41
- v-if="showClose"
42
- :aria-label="closeLabel || t('common.closeLabel').value"
43
- class="bb-popover__close"
44
- @click="close"
45
- >
46
- <svg
47
- aria-hidden="true"
48
- fill="none"
49
- viewBox="0 0 24 24"
50
- xmlns="http://www.w3.org/2000/svg"
55
+ <div class="min-w-0">
56
+ <p class="truncate text-sm font-medium">Invoices</p>
57
+ <p class="truncate text-xs text-gray-500">24 open · last synced 2m ago</p>
58
+ </div>
59
+ <BbPopover :width="240">
60
+ <template #activator="{ props }">
61
+ <BbButton
62
+ v-bind="props"
63
+ prepend:icon="lucide:sliders-horizontal"
64
+ variant="outline"
51
65
  >
52
- <path
53
- d="M23 23L1 1M23 1L1 23"
54
- stroke="currentColor"
55
- stroke-linecap="round"
56
- stroke-width="2"
66
+ Display
67
+ </BbButton>
68
+ </template>
69
+ <template #default>
70
+ <div class="grid gap-3">
71
+ <BbSwitch v-model="compact" label="Compact rows" />
72
+ <BbSwitch v-model="avatars" label="Show avatars" />
73
+ </div>
74
+ </template>
75
+ </BbPopover>
76
+ </div>
77
+ </template>
78
+
79
+ <script setup lang="ts">
80
+ import { ref } from 'vue';
81
+ import { BbButton, BbPopover, BbSwitch } from 'bitboss-ui';
82
+
83
+ const compact = ref(true);
84
+ const avatars = ref(false);
85
+ </script>
86
+ ```
87
+
88
+ ### A mini-form popover
89
+
90
+ The most common interactive popover is a small form that commits on save and
91
+ uses the slot's `close` to dismiss. Keep the primary action gated on validity,
92
+ keep Cancel always live, and close only after the write. This companion renames
93
+ a record and closes itself on save via the `close` callback.
94
+
95
+ **Rename in a popover**
96
+
97
+ ```vue
98
+ <template>
99
+ <div
100
+ class="flex max-w-sm items-center justify-between gap-2 rounded-[var(--bb-radius)] border p-3"
101
+ >
102
+ <div class="min-w-0">
103
+ <p class="truncate text-sm font-medium">{{ name }}</p>
104
+ <p class="truncate text-xs text-gray-500">Shared report · edited today</p>
105
+ </div>
106
+ <BbPopover :width="260">
107
+ <template #activator="{ props }">
108
+ <BbButton
109
+ v-bind="props"
110
+ aria-label="Rename"
111
+ icon="lucide:pencil"
112
+ size="sm"
113
+ variant="ghost"
114
+ />
115
+ </template>
116
+ <template #default="{ close }">
117
+ <form class="grid gap-3" @submit.prevent="() => save(close)">
118
+ <BbTextInput
119
+ v-model="draft"
120
+ compact
121
+ label="Name"
122
+ placeholder="Report name"
57
123
  />
58
- </svg>
59
- </BaseButton>
60
- <slot
61
- :close="close"
62
- :disabled="!!disabled"
63
- :open="isOpen"
64
- :placement="placement"
65
- />
66
- </span>
67
- </CommonPopover>
124
+ <div class="flex justify-end gap-2">
125
+ <BbButton type="button" variant="ghost" @click="close">
126
+ Cancel
127
+ </BbButton>
128
+ <BbButton :disabled="!draft.trim()" type="submit" variant="primary">
129
+ Save
130
+ </BbButton>
131
+ </div>
132
+ </form>
133
+ </template>
134
+ </BbPopover>
135
+ </div>
68
136
  </template>
69
137
 
70
138
  <script setup lang="ts">
71
- import { computed, nextTick, ref, useTemplateRef, watch } from 'vue';
72
- import { useId } from '@/composables/useId';
73
- import { useElementSize, useIntersectionObserver } from '@vueuse/core';
74
- import { useLocale } from '@/composables/useLocale';
75
- import { useUntil } from '@/composables/useUntil';
76
- import BaseButton from '../BaseButton/BaseButton.vue';
77
- import CommonPopover from '../CommonPopover/CommonPopover.vue';
78
- import { extractDomContainer } from '@/utilities/functions/extractDomContainer';
79
- import { parseWidthString } from '@/utilities/functions/parseWidthString';
80
- import type {
81
- BbPopoverProps,
82
- BbPopoverEvents,
83
- BbPopoverSlots,
84
- PopoverTrigger,
85
- } from './types';
86
-
87
- const props = withDefaults(defineProps<BbPopoverProps>(), {
88
- arrowPadding: 10,
89
- offset: 3,
90
- padding: 10,
91
- placement: 'bottom',
92
- restoreFocus: true,
93
- scrollable: false,
94
- showClose: true,
95
- theme: 'default',
96
- transitionDuration: 300,
97
- trigger: 'click',
98
- });
99
-
100
- const emit = defineEmits<BbPopoverEvents>();
101
-
102
- defineSlots<BbPopoverSlots>();
103
-
104
- defineOptions({ inheritAttrs: false });
105
-
106
- // --- Core state ---
107
-
108
- const { t } = useLocale();
109
- const { id } = useId();
110
- const activatorId = props.id ?? id.value;
111
- const popoverId = `bbp_${activatorId}`;
112
-
113
- const activatorEl = ref<HTMLElement>();
114
- const popoverRef = useTemplateRef('popoverRef');
115
- const popoverEl = computed(() => extractDomContainer(popoverRef.value));
116
-
117
- const isOpen = defineModel<boolean>({ default: false });
118
- const hasOpenedOnce = useUntil(isOpen);
119
- const hasExternalActivator = computed(() => props.activator != null);
120
-
121
- const triggers = computed(() => {
122
- const raw = props.trigger;
123
- return new Set(Array.isArray(raw) ? raw : [raw]);
124
- });
125
-
126
- const createVirtualElement = (x: number, y: number) => ({
127
- getBoundingClientRect: () => ({
128
- x,
129
- y,
130
- width: 0,
131
- height: 0,
132
- top: y,
133
- left: x,
134
- right: x,
135
- bottom: y,
136
- toJSON() {
137
- return this;
138
- },
139
- }),
140
- });
141
-
142
- const cursorAnchor = ref<ReturnType<typeof createVirtualElement> | null>(null);
143
-
144
- const effectiveAnchor = computed(() =>
145
- props.placement === 'cursor' && cursorAnchor.value
146
- ? cursorAnchor.value
147
- : activatorEl.value
148
- );
149
-
150
- // --- Long-press (mobile equivalent of contextMenu) ---
151
-
152
- const LONG_PRESS_DELAY = 500;
153
- const LONG_PRESS_MOVE_THRESHOLD = 10;
154
- let longPressTimer: ReturnType<typeof setTimeout> | undefined;
155
- let longPressOrigin: { x: number; y: number } | null = null;
156
- let longPressTriggered = false;
157
-
158
- const clearLongPress = () => {
159
- clearTimeout(longPressTimer);
160
- longPressOrigin = null;
139
+ import { ref } from 'vue';
140
+ import { BbButton, BbPopover, BbTextInput } from 'bitboss-ui';
141
+
142
+ const name = ref('Q3 report');
143
+ const draft = ref(name.value);
144
+
145
+ /** Commit the draft name, then dismiss via the slot `close`. */
146
+ const save = (close: () => void) => {
147
+ const next = draft.value.trim();
148
+ if (!next) return;
149
+ name.value = next;
150
+ close();
161
151
  };
152
+ </script>
153
+ ```
162
154
 
163
- // --- Activator management ---
155
+ ### An anchored profile card
164
156
 
165
- const setActivatorRef = (reference: unknown) => {
166
- activatorEl.value = extractDomContainer(reference) ?? undefined;
167
- };
157
+ The read-only counterpart is a **detail card** anchored to an identity — click a
158
+ member's name in a comment or an activity feed and see who they are without
159
+ leaving the page (the GitHub-hovercard pattern, click-triggered here because a
160
+ popover opens on click). `placement="bottom-start"` aligns the card's edge with
161
+ the name, and the panel is pure content: any navigation ("View profile") is an
162
+ `href`, never an `@click`.
168
163
 
169
- const activatorProps = computed(() => {
170
- const active = triggers.value;
171
- return {
172
- 'aria-expanded': hasOpenedOnce.value ? isOpen.value : undefined,
173
- 'aria-controls': hasOpenedOnce.value ? popoverId : undefined,
174
- 'aria-haspopup': 'dialog' as const,
175
- id: activatorId,
176
- disabled: !!props.disabled,
177
- ref: setActivatorRef,
178
- ...(active.has('click') ? { onClick: toggle } : {}),
179
- ...(active.has('contextMenu')
180
- ? {
181
- onContextmenu: onContextMenu,
182
- onPointerdown: onPointerDown,
183
- onPointermove: onPointerMove,
184
- onPointerup: onPointerUp,
185
- onPointercancel: onPointerUp,
186
- }
187
- : {}),
188
- };
189
- });
190
-
191
- // Sync external activator prop to internal ref
192
- watch(
193
- () => props.activator,
194
- (val) => {
195
- if (val) setActivatorRef(val);
196
- },
197
- { immediate: true }
198
- );
199
-
200
- // Attach trigger listeners for external activators
201
- watch(
202
- [activatorEl, triggers] as const,
203
- ([el, active], _, onCleanup) => {
204
- if (!el || !hasExternalActivator.value) return;
205
-
206
- const removers: (() => void)[] = [];
207
-
208
- if (active.has('click')) {
209
- el.addEventListener('click', toggle);
210
- removers.push(() => el.removeEventListener('click', toggle));
211
- }
212
-
213
- if (active.has('contextMenu')) {
214
- el.addEventListener('contextmenu', onContextMenu);
215
- el.addEventListener('pointerdown', onPointerDown);
216
- el.addEventListener('pointermove', onPointerMove);
217
- el.addEventListener('pointerup', onPointerUp);
218
- el.addEventListener('pointercancel', onPointerUp);
219
- removers.push(() => {
220
- el.removeEventListener('contextmenu', onContextMenu);
221
- el.removeEventListener('pointerdown', onPointerDown);
222
- el.removeEventListener('pointermove', onPointerMove);
223
- el.removeEventListener('pointerup', onPointerUp);
224
- el.removeEventListener('pointercancel', onPointerUp);
225
- clearLongPress();
226
- });
227
- }
228
-
229
- el.setAttribute('aria-haspopup', 'dialog');
230
-
231
- onCleanup(() => {
232
- removers.forEach((fn) => fn());
233
- el.removeAttribute('aria-expanded');
234
- el.removeAttribute('aria-controls');
235
- el.removeAttribute('aria-haspopup');
236
- });
237
- },
238
- { immediate: true }
239
- );
240
-
241
- // Sync aria-expanded for external activators
242
- watch(
243
- [activatorEl, isOpen, hasOpenedOnce] as const,
244
- ([el, open, opened]) => {
245
- if (!el || !hasExternalActivator.value || !opened) return;
246
- el.setAttribute('id', activatorId);
247
- el.setAttribute('aria-expanded', String(open));
248
- el.setAttribute('aria-controls', popoverId);
249
- },
250
- { immediate: true }
251
- );
252
-
253
- // Close when activator scrolls out of view
254
- useIntersectionObserver(
255
- activatorEl,
256
- ([{ intersectionRatio }]) => {
257
- if (intersectionRatio !== 1 && isOpen.value) close();
258
- },
259
- { threshold: [0, 1] }
260
- );
261
-
262
- // --- Open / Close logic ---
263
-
264
- const onDocumentClick = (event: MouseEvent) => {
265
- const target = event.target;
266
- if (!(target instanceof Node)) return;
267
-
268
- const isInsidePopover = popoverEl.value?.contains(target);
269
- const isInsideActivator = activatorEl.value?.contains(target);
270
-
271
- if (!isInsidePopover && !isInsideActivator) {
272
- close();
273
- }
274
- };
164
+ **Member profile card**
275
165
 
276
- const onKeydown = (event: KeyboardEvent) => {
277
- if (event.key === 'Escape') {
278
- event.preventDefault();
279
- close();
280
- }
281
- };
166
+ ```vue
167
+ <template>
168
+ <div
169
+ class="max-w-md rounded-[var(--bb-radius)] border p-3 text-sm text-gray-500"
170
+ >
171
+ Deploy of
172
+ <span class="font-medium text-[var(--bb-text)]">invoice-export</span>
173
+ approved by
174
+ <BbPopover placement="bottom-start" :width="280">
175
+ <template #activator="{ props }">
176
+ <BbBaseButton
177
+ v-bind="props"
178
+ class="font-medium text-inherit underline decoration-dotted underline-offset-2"
179
+ >
180
+ {{ member.name }}
181
+ </BbBaseButton>
182
+ </template>
183
+ <div class="grid gap-3">
184
+ <div class="flex items-center gap-2.5">
185
+ <BbAvatar :alt="member.name" size="xl">
186
+ <span>{{ member.initials }}</span>
187
+ </BbAvatar>
188
+ <div class="min-w-0">
189
+ <div class="truncate text-sm font-medium text-[var(--bb-text)]">
190
+ {{ member.name }}
191
+ </div>
192
+ <div class="truncate text-xs text-gray-500">{{ member.role }}</div>
193
+ </div>
194
+ </div>
195
+ <div class="grid gap-1 text-xs text-gray-500">
196
+ <div class="flex items-center gap-1.5">
197
+ <BbIcon icon="lucide:mail" size="xs" />
198
+ <span class="truncate">{{ member.email }}</span>
199
+ </div>
200
+ <div class="flex items-center gap-1.5">
201
+ <BbIcon icon="lucide:map-pin" size="xs" />
202
+ <span>{{ member.location }}</span>
203
+ </div>
204
+ </div>
205
+ <BbButton
206
+ class="w-full"
207
+ href="#profile-maria-bianchi"
208
+ prepend:icon="lucide:external-link"
209
+ variant="outline"
210
+ >
211
+ View profile
212
+ </BbButton>
213
+ </div>
214
+ </BbPopover>
215
+ 2 hours ago.
216
+ </div>
217
+ </template>
282
218
 
283
- const addGlobalListeners = () => {
284
- document.addEventListener('click', onDocumentClick, { passive: true });
285
- document.addEventListener('contextmenu', onDocumentClick, { passive: true });
286
- document.addEventListener('keydown', onKeydown);
219
+ <script setup lang="ts">
220
+ import {
221
+ BbAvatar,
222
+ BbBaseButton,
223
+ BbButton,
224
+ BbIcon,
225
+ BbPopover,
226
+ } from 'bitboss-ui';
227
+
228
+ const member = {
229
+ name: 'Maria Bianchi',
230
+ initials: 'MB',
231
+ role: 'Platform engineer · Infra',
232
+ email: 'maria.bianchi@acme.dev',
233
+ location: 'Milan, Italy (UTC+2)',
287
234
  };
235
+ </script>
236
+ ```
288
237
 
289
- const removeGlobalListeners = () => {
290
- document.removeEventListener('click', onDocumentClick);
291
- document.removeEventListener('contextmenu', onDocumentClick);
292
- document.removeEventListener('keydown', onKeydown);
293
- };
238
+ ### Inline field help
239
+
240
+ For a one-line non-interactive hint, prefer `BbTooltip`. Reach for a popover
241
+ when the explanation needs room — a short paragraph plus a docs link, related
242
+ actions, or anything the user might click. Pair an icon-only ghost activator
243
+ (`aria-label` required) with the field it explains; keep the panel narrow and
244
+ dismissible.
245
+
246
+ **Field help with a docs link**
294
247
 
295
- const openPopover = async () => {
296
- if (props.disabled) return;
248
+ ```vue
249
+ <template>
250
+ <div class="grid max-w-sm gap-3 rounded-[var(--bb-radius)] border p-3">
251
+ <div class="flex flex-col gap-0.5">
252
+ <p class="text-sm font-medium">Invoice retention</p>
253
+ <p class="text-xs text-gray-500">
254
+ How long paid invoices stay searchable in the workspace.
255
+ </p>
256
+ </div>
257
+ <div class="flex items-end gap-1.5">
258
+ <BbTextInput
259
+ v-model="days"
260
+ class="min-w-0 flex-1"
261
+ compact
262
+ label="Retention period"
263
+ >
264
+ <template #suffix>days</template>
265
+ </BbTextInput>
266
+ <BbPopover placement="top-end" :width="260">
267
+ <template #activator="{ props }">
268
+ <BbButton
269
+ v-bind="props"
270
+ aria-label="About retention period"
271
+ class="shrink-0"
272
+ icon="lucide:circle-question-mark"
273
+ variant="ghost"
274
+ />
275
+ </template>
276
+ <div class="grid gap-2 text-sm">
277
+ <p class="m-0 font-medium">Retention period</p>
278
+ <p class="m-0 text-xs text-gray-500">
279
+ Paid invoices older than this window are archived and drop out of
280
+ search. Drafts and unpaid invoices are never archived by retention.
281
+ </p>
282
+ <BbButton
283
+ class="justify-start"
284
+ href="#docs-retention"
285
+ prepend:icon="lucide:book-open"
286
+ size="sm"
287
+ variant="ghost"
288
+ >
289
+ Read the retention guide
290
+ </BbButton>
291
+ </div>
292
+ </BbPopover>
293
+ </div>
294
+ </div>
295
+ </template>
297
296
 
298
- isOpen.value = true;
299
- addGlobalListeners();
297
+ <script setup lang="ts">
298
+ import { ref } from 'vue';
299
+ import { BbButton, BbPopover, BbTextInput } from 'bitboss-ui';
300
300
 
301
- await nextTick();
301
+ const days = ref('90');
302
+ </script>
303
+ ```
302
304
 
303
- const focusSelector =
304
- props.focusTarget ??
305
- (props.showClose
306
- ? '.bb-popover__close'
307
- : '[tabindex]:not([tabindex="-1"]), button, a, input, select, textarea');
308
- const focusTarget = popoverEl.value?.querySelector(focusSelector);
305
+ ### Placement, offset and boundary
309
306
 
310
- if (focusTarget instanceof HTMLElement) {
311
- focusTarget.focus();
312
- }
307
+ `placement` positions the panel around the activator — the `top` / `right` /
308
+ `bottom` / `left` families, each with `-start` / `-end` alignment variants
309
+ (e.g. `bottom-start`). It defaults to `bottom`. The panel **auto-flips** to stay
310
+ in view near a viewport edge, so pick the placement that reads best in the
311
+ common case and let it correct itself.
313
312
 
314
- emit('shown');
315
- };
313
+ Fine-tune the geometry with:
316
314
 
317
- const toggle = async (event: MouseEvent) => {
318
- if (isOpen.value) {
319
- close();
320
- return;
321
- }
322
- if (longPressTriggered) {
323
- longPressTriggered = false;
324
- event.preventDefault();
325
- event.stopPropagation();
326
- return;
327
- }
328
- event.stopImmediatePropagation();
329
- if (props.placement === 'cursor') {
330
- cursorAnchor.value = createVirtualElement(event.clientX, event.clientY);
331
- }
332
- await openPopover();
333
- };
315
+ - `offset` gap (px) between the activator and the panel (default `3`).
316
+ - `padding` — minimum gap (px) the panel keeps from the page edge (default
317
+ `10`).
318
+ - `boundary` — an element, ref, or CSS selector that constrains the panel so it
319
+ never escapes a scrolling region or sidebar.
334
320
 
335
- const onContextMenu = (event: MouseEvent) => {
336
- if (props.disabled) return;
337
- event.preventDefault();
338
- event.stopPropagation();
339
- if (props.placement === 'cursor') {
340
- cursorAnchor.value = createVirtualElement(event.clientX, event.clientY);
341
- if (isOpen.value) return;
342
- }
343
- if (isOpen.value) close();
344
- else openPopover();
345
- };
321
+ `BbPopover` is a floating **panel**, not a speech bubble — it never renders an
322
+ arrow. Reach for `BbTooltip` when you want an arrow pointing back at the trigger
323
+ for a one-line, non-interactive hint.
346
324
 
347
- const onPointerDown = (event: PointerEvent) => {
348
- if (props.disabled || event.pointerType === 'mouse') return;
349
- longPressTriggered = false;
350
- longPressOrigin = { x: event.clientX, y: event.clientY };
351
- longPressTimer = setTimeout(() => {
352
- longPressTriggered = true;
353
- if (props.placement === 'cursor' && longPressOrigin) {
354
- cursorAnchor.value = createVirtualElement(
355
- longPressOrigin.x,
356
- longPressOrigin.y
357
- );
358
- }
359
- longPressOrigin = null;
360
- openPopover();
361
- }, LONG_PRESS_DELAY);
362
- };
325
+ **Placement around the trigger**
363
326
 
364
- const onPointerMove = (event: PointerEvent) => {
365
- if (!longPressOrigin) return;
366
- const dx = event.clientX - longPressOrigin.x;
367
- const dy = event.clientY - longPressOrigin.y;
368
- if (Math.sqrt(dx * dx + dy * dy) > LONG_PRESS_MOVE_THRESHOLD) {
369
- clearLongPress();
370
- }
371
- };
327
+ ```vue
328
+ <div class="flex flex-wrap gap-2">
329
+ <BbPopover
330
+ v-for="side in ['top', 'right', 'bottom', 'left']"
331
+ :key="side"
332
+ :placement="side"
333
+ :width="150"
334
+ >
335
+ <template #activator="{ props }">
336
+ <BbButton v-bind="props" variant="outline">{{ side }}</BbButton>
337
+ </template>
338
+ <div class="text-sm">Placed <strong>{{ side }}</strong></div>
339
+ </BbPopover>
340
+ </div>
341
+ ```
372
342
 
373
- const onPointerUp = () => {
374
- clearLongPress();
375
- };
343
+ ### Header, footer and scrollable content
344
+
345
+ Tall content (a notifications feed, a long list) should set `scrollable`: it
346
+ caps the panel to the available viewport height and scrolls the body internally.
347
+ Pin a title in the `header` slot and actions in the `footer` slot — both stay
348
+ put outside the scroll region, with their own padding and dividers, so you never
349
+ need `sticky` hacks. This companion left-aligns its rows with the `justify-start`
350
+ utility (BbButton centers labels by default).
376
351
 
377
- const close = () => {
378
- if (!isOpen.value) return;
352
+ **A notifications popover**
379
353
 
380
- isOpen.value = false;
381
- removeGlobalListeners();
354
+ ```vue
355
+ <template>
356
+ <div
357
+ class="flex max-w-sm items-center justify-between gap-3 rounded-[var(--bb-radius)] border p-3"
358
+ >
359
+ <div class="min-w-0">
360
+ <p class="truncate text-sm font-medium">Acme Studio</p>
361
+ <p class="truncate text-xs text-gray-500">Workspace · Billing</p>
362
+ </div>
363
+ <BbPopover scrollable :width="300">
364
+ <template #activator="{ props }">
365
+ <BbButton
366
+ v-bind="props"
367
+ aria-label="Notifications"
368
+ icon="lucide:bell"
369
+ size="sm"
370
+ variant="ghost"
371
+ />
372
+ </template>
373
+ <template #header>
374
+ <strong class="text-sm">Notifications</strong>
375
+ </template>
376
+ <template #default="{ close }">
377
+ <div class="grid gap-1">
378
+ <BbButton
379
+ v-for="item in items"
380
+ :key="item.id"
381
+ class="justify-start"
382
+ :href="`#notification-${item.id}`"
383
+ size="sm"
384
+ :variant="item.read ? 'ghost' : 'secondary'"
385
+ @click="close"
386
+ >
387
+ {{ item.title }}
388
+ </BbButton>
389
+ </div>
390
+ </template>
391
+ <template #footer>
392
+ <div class="flex justify-end">
393
+ <BbButton
394
+ prepend:icon="lucide:check"
395
+ size="sm"
396
+ variant="ghost"
397
+ @click="markAllRead"
398
+ >
399
+ Mark all as read
400
+ </BbButton>
401
+ </div>
402
+ </template>
403
+ </BbPopover>
404
+ </div>
405
+ </template>
382
406
 
383
- if (props.restoreFocus && activatorEl.value) {
384
- activatorEl.value.focus();
385
- }
407
+ <script setup lang="ts">
408
+ import { reactive } from 'vue';
409
+ import { BbButton, BbPopover } from 'bitboss-ui';
386
410
 
387
- emit('hidden');
411
+ type Notification = {
412
+ id: number;
413
+ title: string;
414
+ read: boolean;
388
415
  };
389
416
 
390
- // --- Width calculation ---
391
-
392
- const needsReactiveWidth = computed(() => {
393
- if (!props.width) return false;
394
- const { unit } = parseWidthString(props.width);
395
- return unit === '%';
396
- });
397
-
398
- const { width: activatorWidth } = useElementSize(
399
- computed(() => (needsReactiveWidth.value ? activatorEl.value : undefined)),
400
- { width: 0, height: 0 },
401
- { box: 'border-box' }
402
- );
403
-
404
- const parsedWidth = computed(() => {
405
- if (!props.width) return undefined;
406
-
407
- const { value, unit } = parseWidthString(props.width);
408
- if (unit === '%' && activatorEl.value) {
409
- return `${activatorWidth.value * (value / 100)}px`;
410
- }
411
- return `${value}px`;
412
- });
413
-
414
- // --- Public API ---
415
-
416
- defineExpose({
417
- /** Opens the popover programmatically */
418
- show: openPopover,
419
- /** Closes the popover programmatically */
420
- close,
421
- /** Whether the popover is currently open */
422
- isOpen: computed(() => isOpen.value),
423
- });
417
+ const items = reactive<Notification[]>([
418
+ { id: 1, title: 'Invoice #INV-2043 was paid', read: false },
419
+ { id: 2, title: 'Maria commented on “Q3 report”', read: false },
420
+ { id: 3, title: 'Your export is ready to download', read: true },
421
+ ]);
422
+
423
+ const markAllRead = () => {
424
+ items.forEach((item) => (item.read = true));
425
+ };
424
426
  </script>
427
+ ```
428
+
429
+ ### Triggers and cursor anchoring
425
430
 
426
- <style lang="postcss">
427
- @import './index.css';
428
- </style>
431
+ `trigger` chooses the interaction: `'click'` (default), `'contextMenu'`
432
+ (right-click on desktop, long-press on mobile), or an array to combine them.
433
+ Pair `contextMenu` with `placement="cursor"` to anchor the panel at the pointer
434
+ — a context surface for richer, interactive content. (For a plain list of
435
+ actions, reach for `BbDropdown` instead.)
436
+
437
+ **Right-click for a context panel**
438
+
439
+ ```vue
440
+ <div class="max-w-sm">
441
+ <BbPopover placement="cursor" trigger="contextMenu" :width="200">
442
+ <template #activator="{ props }">
443
+ <button
444
+ v-bind="props"
445
+ type="button"
446
+ class="grid h-24 w-full place-items-center rounded-[var(--bb-radius)] border border-dashed text-sm text-gray-500"
447
+ >
448
+ Right-click anywhere here
449
+ </button>
450
+ </template>
451
+ <template #default="{ close }">
452
+ <div class="grid gap-1">
453
+ <BbButton class="justify-start" size="sm" variant="ghost" @click="close">Preview</BbButton>
454
+ <BbButton class="justify-start" href="#rename" size="sm" variant="ghost" @click="close">Rename</BbButton>
455
+ </div>
456
+ </template>
457
+ </BbPopover>
458
+ </div>
429
459
  ```
430
460
 
431
- ## Types
432
-
433
- ```ts
434
- import type { CommonProps } from '@/types/CommonProps';
435
-
436
- export type PopoverTrigger = 'click' | 'contextMenu';
437
-
438
- export type BbPopoverProps = Pick<
439
- CommonProps,
440
- | 'arrowPadding'
441
- | 'closeLabel'
442
- | 'block'
443
- | 'disabled'
444
- | 'eager'
445
- | 'id'
446
- | 'offset'
447
- | 'padding'
448
- | 'showClose'
449
- | 'theme'
450
- | 'transitionDuration'
451
- > & {
452
- /**
453
- * Position of the popover relative to the activator.
454
- * Use `'cursor'` to anchor at the mouse/touch coordinates (hides arrow).
455
- *
456
- * @defaultValue `'bottom'`
457
- */
458
- placement?: CommonProps['placement'] | 'cursor';
459
- /**
460
- * External activator element or component ref.
461
- * When provided, the activator slot is not rendered and click events
462
- * are attached programmatically to the referenced element.
463
- */
464
- activator?: HTMLElement | Record<string, any> | null;
465
- /**
466
- * Constrains the popover within a bounding element.
467
- * When provided, the popover will not overflow this container's bounds (e.g. a sidebar).
468
- * Accepts an HTMLElement, a Vue component ref, or a CSS selector string.
469
- */
470
- boundary?: HTMLElement | Record<string, any> | string | null;
471
- /**
472
- * Selector for the element that receives focus after opening.
473
- * Defaults to the close button, or first focusable element if no close button.
474
- */
475
- focusTarget?: string;
476
- /**
477
- * Whether to restore focus to the activator when closed.
478
- *
479
- * @defaultValue `true`
480
- */
481
- restoreFocus?: boolean;
482
- /**
483
- * Theme class applied to the popover container.
484
- *
485
- * @deprecated Use a CSS class on the component instead.
486
- * @defaultValue `'default'`
487
- */
488
- theme?: string;
489
- /**
490
- * Interaction(s) that open the popover.
491
- * Accepts a single trigger or an array to combine them.
492
- * - `'click'` — left-click / tap (default)
493
- * - `'contextMenu'` — right-click on desktop, long-press on mobile
494
- *
495
- * @defaultValue `'click'`
496
- */
497
- trigger?: PopoverTrigger | PopoverTrigger[];
498
- /**
499
- * Caps the popover height to the available viewport space and enables internal scrolling.
500
- *
501
- * @defaultValue `false`
502
- */
503
- scrollable?: boolean;
504
- /**
505
- * Width of the popover. Accepts pixels or percentage (relative to activator width).
506
- */
507
- width?: number | string;
508
- };
461
+ ### External activator
509
462
 
510
- export type BbPopoverEvents = {
511
- /** Emitted after the popover is fully opened and focus has been moved inside. */
512
- (e: 'shown'): void;
513
- /** Emitted after the popover is closed and focus has been restored to the activator. */
514
- (e: 'hidden'): void;
515
- };
463
+ When the trigger already exists elsewhere (a toolbar button, a table cell), pass
464
+ it as the `activator` prop instead of using the slot the listeners and ARIA
465
+ are attached to that element directly, so you don't spread `props`. This needs a
466
+ template ref, so it is a **static** snippet (a live fence has no `<script>` to
467
+ declare the ref):
516
468
 
517
- /** Props exposed by the `activator` slot. */
518
- export type BbPopoverActivatorSlotProps = {
519
- /** Accessibility and positioning attributes to spread onto the activator element. */
520
- props: {
521
- 'aria-expanded'?: boolean;
522
- 'aria-controls'?: string;
523
- 'aria-haspopup': 'dialog';
524
- id: string;
525
- disabled: boolean;
526
- ref: (reference: unknown) => void;
527
- };
528
- /** Whether the popover is globally disabled. */
529
- disabled: boolean;
530
- /** Whether the popover is currently open. */
531
- isOpen: boolean;
532
- /** The current placement of the popover panel. */
533
- placement: BbPopoverProps['placement'];
534
- };
469
+ ```vue
470
+ <template>
471
+ <BbButton ref="triggerRef" icon="lucide:settings">Options</BbButton>
472
+ <BbPopover :activator="triggerRef">
473
+ <div class="grid gap-1">
474
+ <BbSwitch v-model="notify" label="Email me" />
475
+ </div>
476
+ </BbPopover>
477
+ </template>
535
478
 
536
- /** Props exposed by the `default` slot. */
537
- export type BbPopoverDefaultSlotProps = {
538
- /** Programmatically closes the popover. */
539
- close: () => void;
540
- /** Whether the popover is globally disabled. */
541
- disabled: boolean;
542
- /** Whether the popover is currently open. */
543
- open: boolean;
544
- /** The current placement of the popover panel. */
545
- placement: BbPopoverProps['placement'];
546
- };
479
+ <script setup lang="ts">
480
+ import { ref } from 'vue';
481
+ import { BbButton, BbPopover, BbSwitch } from 'bitboss-ui';
547
482
 
548
- export type BbPopoverSlots = {
549
- /**
550
- * The element that triggers the popover to open. Spread `props` onto your trigger element.
551
- */
552
- activator?: (props: BbPopoverActivatorSlotProps) => any;
553
- /**
554
- * The popover body content rendered inside the floating panel.
555
- */
556
- default?: (props: BbPopoverDefaultSlotProps) => any;
557
- };
483
+ const triggerRef = ref();
484
+ const notify = ref(true);
485
+ </script>
558
486
  ```
559
487
 
560
- ## Styles
561
-
562
- ```css
563
- .bb-popover {
564
- .bb-popover__content {
565
- color: var(--bb-text);
566
- display: block;
567
- padding: 8px;
568
- .bb-popover__close {
569
- border-radius: var(--bb-radius);
570
- float: right;
571
- isolation: isolate;
572
- /* margin-right pulls the button back by its own width (8px + 10px svg + 8px)
573
- so the float no longer contributes to the bubble's max-content width */
574
- margin: calc(var(--bb-ring-size) * -1) -4px 0px
575
- calc(var(--bb-ring-size) * -1 - 26px);
576
- outline: none;
577
- padding: 8px;
578
- position: sticky;
579
- top: 4px;
580
- z-index: 1;
581
-
582
- &:hover {
583
- color: var(--bb-primary);
584
- }
585
-
586
- svg {
587
- width: 10px;
588
- }
589
- }
590
- }
591
- }
592
- ```
488
+ The `activator` prop accepts an `HTMLElement` or a component ref; BbPopover
489
+ resolves the underlying element, wires `click` / `contextMenu` listeners, and
490
+ sets `aria-haspopup` / `aria-expanded` / `aria-controls` on it.
491
+
492
+ ### Width and sizing
493
+
494
+ `width` accepts pixels (`:width="240"`) or a percentage relative to the
495
+ activator's width — `width="100%"` matches the trigger exactly, handy for
496
+ select-like panels; only the `%` form tracks the activator on resize. With no
497
+ `width` the panel sizes to its content. `scrollable` (above) is what bounds the
498
+ height; without it a tall panel grows freely.
499
+
500
+ ### Lifecycle, focus and lazy content
501
+
502
+ - Four lifecycle events fire, matching `BbDialog`/`BbOffCanvas`: `show` as the
503
+ panel starts opening and `shown` after it has opened and focus has moved inside;
504
+ `hide` as it starts closing and `hidden` after it has closed and focus has
505
+ returned to the activator.
506
+ - Focus moves into the panel on open (first focusable element) and returns to
507
+ the activator on close; `focus-target` (a CSS selector) overrides where it
508
+ first lands.
509
+ - Content is **lazy** — the body renders on first open. Set `eager` to render it
510
+ up front (pre-measure a chart, let tests query it closed).
511
+ - `transition-duration` (ms) times the open/close animation.
512
+ - For imperative open/close, use `v-model`: write `true` to open and `false` to
513
+ close, and the popover writes it back on every dismiss (outside click, Escape,
514
+ backdrop) — the self-correcting two-way model `BbDialog`/`BbOffCanvas` use.
515
+ There is no template-ref `show()`/`close()` API; the boolean model is it.
516
+
517
+ ### Top layer: escaping overflow and z-index
518
+
519
+ The floating panel opens in the browser **top layer** (a native `<dialog>`), so
520
+ it paints above every `z-index`, sticky header, `overflow: hidden` clip, or
521
+ transformed ancestor — there is nothing to z-index-manage, and a popover inside
522
+ a scrolling card or table cell is not clipped by it. A popover, select, or
523
+ tooltip opened from **inside** a `BbDialog` / `BbOffCanvas` also layers correctly
524
+ above that surface with no extra wiring. In tests, query the panel via
525
+ `document.body` (the open panel carries both classes on one element —
526
+ `.bb-popover.bb-common-popover--open`) after `attachTo: document.body`.
527
+
528
+ The popover closes automatically if its activator scrolls out of view — it is
529
+ tethered to the trigger, not left floating over the page.
530
+
531
+ ### Adaptive: a bottom sheet on mobile
532
+
533
+ By default (`config.adaptive`, `true` out of the box) a popover opened on a small
534
+ viewport (below `config.mobileMaxWidth`, 768px) renders as a bottom-anchored,
535
+ draggable `BbOffCanvas` sheet instead of a floating panel — better ergonomics
536
+ for thumbs. The surface is **latched when the popover opens** and stays fixed for
537
+ that session, so a mid-session resize never swaps panel ↔ sheet.
538
+
539
+ - The `header`, `default`, and `footer` slots carry over to the sheet unchanged.
540
+ - `width` is **ignored** in sheet mode (a sheet sizes itself); tune the sheet
541
+ with `off-canvas-props` (merged over the defaults `direction: 'bottom'`,
542
+ `size: 'auto'`, `draggable: true`).
543
+ - `:adaptive="false"` keeps the floating panel everywhere; a bare `adaptive`
544
+ forces the sheet on regardless of the global config.
545
+
546
+ Leave `adaptive` unset unless the project asks otherwise — the tri-state default
547
+ falls back to `config.adaptive`.
548
+
549
+ ### Works well with
550
+
551
+ - `BbButton` — the natural activator; spread the slot `props` onto it.
552
+ - `BbSwitch`, `BbCheckbox`, `BbTextInput` — the interactive controls a popover
553
+ exists to hold; wire the `default` slot's `close` to commit-and-dismiss.
554
+ - `BbDialog` / `BbOffCanvas` — a popover opened from inside either layers above
555
+ it correctly; reach for those instead when the content is a full task.
556
+ - `BbDropdown` — when the panel is really just a menu of actions, use the
557
+ dropdown; a popover is for interactive content.
558
+
559
+ ### Gotchas & anti-patterns
560
+
561
+ - **Don't forget to spread `props`** onto the activator (or pass an `activator`
562
+ ref) — without it there is no anchor, no ARIA, and no open handler.
563
+ - **Don't put a blocking task in a popover** — it doesn't lock the page and
564
+ dismisses on outside click; use `BbDialog`.
565
+ - **Don't reach for a popover when you mean a menu** — a plain list of actions is
566
+ `BbDropdown`.
567
+ - **Don't set `width` and expect it on mobile** — the adaptive sheet ignores it;
568
+ size the sheet with `off-canvas-props`.
569
+ - **Don't query popover content before first open** unless `eager` — the body is
570
+ lazy.
571
+ - **Don't hand-roll cursor positioning** — `placement="cursor"` anchors at the
572
+ pointer for you.
573
+
574
+ ### Accessibility
575
+
576
+ - Always spread the `activator` slot's `props` onto your trigger (or pass an
577
+ `activator`); that is what publishes `aria-expanded` / `aria-controls` /
578
+ `aria-haspopup` and makes the trigger operable by keyboard.
579
+ - Focus moves into the panel on open and returns to the activator on close;
580
+ `focus-target` overrides where it lands first.
581
+ - The popover is a floating panel, not a modal — it does not trap focus or lock
582
+ the page behind it. For a blocking task, use `BbDialog`.
583
+ - Give an icon-only activator its own `aria-label`; the popover does not name it.
584
+
585
+ ## v-model
586
+
587
+ - `v-model` — type: `boolean \| undefined`
588
+
589
+ ## Props
590
+
591
+ | Prop | Type | Default | Required | Description |
592
+ | --- | --- | --- | --- | --- |
593
+ | `activator` | `ElementOrComponentRef \| undefined` | | | External activator element or component ref. When provided, the activator slot is not rendered and click events are attached programmatically to the referenced element. |
594
+ | `adaptive` | `boolean \| undefined` | `undefined` | | On mobile viewports (below `config.mobileMaxWidth`), render the popover as a bottom-anchored, auto-sized off-canvas sheet instead of a floating panel. The `header`, `default` and `footer` slots are forwarded to the sheet. The `width` prop i… |
595
+ | `boundary` | `ElementOrComponentRefOrSelector \| undefined` | | | Constrains the popover within a bounding element. When provided, the popover will not overflow this container's bounds (e.g. a sidebar). Accepts an HTMLElement, a Vue component ref, or a CSS selector string. |
596
+ | `disabled` | `boolean \| undefined` | | | Disables the component. |
597
+ | `eager` | `boolean \| undefined` | | | Prevents rendering content before it's made visible. |
598
+ | `focusTarget` | `string \| undefined` | | | Selector for the element that receives focus after opening. Defaults to the first focusable element inside the popover. |
599
+ | `id` | `string \| undefined` | | | The identifier of the component. |
600
+ | `modelValue` | `boolean \| undefined` | `false` | | |
601
+ | `offCanvasProps` | `Partial<BbOffCanvasProps> \| undefined` | | | Overrides forwarded to the underlying `BbOffCanvas` when `adaptive` renders the sheet on mobile. Merged over the adaptive defaults (`direction: 'bottom'`, `size: 'auto'`, `draggable: true`). Ignored when `adaptive` is `false`. |
602
+ | `offset` | `number \| undefined` | `3` | | Space the floating container will maintain from the activator. |
603
+ | `padding` | `number \| undefined` | `10` | | Minimum empty space to keep from the edge of the page. |
604
+ | `placement` | `Placement \| "cursor" \| undefined` | `"bottom"` | | Position of the popover relative to the activator. Use `'cursor'` to anchor at the mouse/touch coordinates (hides arrow). |
605
+ | `scrollable` | `boolean \| undefined` | `false` | | Caps the popover height to the available viewport space and enables internal scrolling. Useful for tall content like filter panels. Not recommended for atomic popovers (calendars, color pickers). |
606
+ | `transitionDuration` | `number \| undefined` | `transitions.medium` | | How long the transition has to last in milliseconds. |
607
+ | `trigger` | `PopoverTrigger \| PopoverTrigger[] \| undefined` | `"click"` | | Interaction(s) that open the popover. Accepts a single trigger or an array to combine them. - `'click'` — left-click / tap (default) - `'contextMenu'` — right-click on desktop, long-press on mobile |
608
+ | `width` | `string \| number \| undefined` | | | Width of the popover. Accepts pixels or percentage (relative to activator width). |
609
+
610
+ ## Events
611
+
612
+ - `hidden` — `(event: "hidden"): void`
613
+ - `hide` — `(event: "hide"): void`
614
+ - `show` — `(event: "show"): void`
615
+ - `shown` — `(event: "shown"): void`
616
+ - `update:modelValue` — `(event: "update:modelValue", value: boolean): void`
617
+
618
+ ## Slots
619
+
620
+ - `activator` — scope: `BbPopoverActivatorSlotProps` — The element that triggers the popover to open. Spread `props` onto your trigger element.
621
+ - `default` — scope: `BbPopoverDefaultSlotProps` — The popover body content rendered inside the floating panel.
622
+ - `footer` — scope: `BbPopoverDefaultSlotProps` — Content pinned to the bottom of the panel, outside the scroll region. Stays visible while the body scrolls (when `scrollable`) and carries its own padding and top divider, so footer actions need no negative-margin or `sticky` workarounds.
623
+ - `header` — scope: `BbPopoverDefaultSlotProps` — Content pinned to the top of the panel, outside the scroll region. Stays visible while the body scrolls (when `scrollable`) and carries its own padding and bottom divider, so a title or search field needs no negative-margin or `sticky` work…
624
+
625
+ ## See Also
626
+
627
+ - [BbTooltip](./BbTooltip.md) — Displays contextual helper text on interaction.
628
+ - [BbDialog](./BbDialog.md) — Presents modal dialogs for focused user interactions.
629
+ - [BbDropdown](./BbDropdown.md) — Displays contextual action menus and menu content.