bitboss-ui 3.0.0-beta.2 → 3.0.0-beta.21

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 (350) hide show
  1. package/README.md +72 -33
  2. package/dist/ai/BbAccordion.md +3 -3
  3. package/dist/ai/BbAlert.md +9 -5
  4. package/dist/ai/BbAsterisk.md +17 -0
  5. package/dist/ai/BbAvatar.md +12 -3
  6. package/dist/ai/BbBadge.md +15 -10
  7. package/dist/ai/BbBadgeButton.md +16 -16
  8. package/dist/ai/BbBaseButton.md +16 -16
  9. package/dist/ai/BbBaseCheckbox.md +8 -8
  10. package/dist/ai/BbBaseCheckboxGroup.md +13 -13
  11. package/dist/ai/BbBaseCheckboxIcon.md +26 -9
  12. package/dist/ai/BbBaseColorInput.md +11 -11
  13. package/dist/ai/BbBaseDatePicker.md +6 -6
  14. package/dist/ai/BbBaseDatePickerInput.md +15 -15
  15. package/dist/ai/BbBaseInputContainer.md +12 -12
  16. package/dist/ai/BbBaseNumberInput.md +8 -8
  17. package/dist/ai/BbBaseRadio.md +5 -5
  18. package/dist/ai/BbBaseRadioGroup.md +7 -7
  19. package/dist/ai/BbBaseRadioIcon.md +25 -9
  20. package/dist/ai/BbBaseRating.md +5 -5
  21. package/dist/ai/BbBaseSelect.md +22 -21
  22. package/dist/ai/BbBaseSlider.md +9 -9
  23. package/dist/ai/BbBaseSwitch.md +8 -8
  24. package/dist/ai/BbBaseSwitchGroup.md +13 -13
  25. package/dist/ai/BbBaseSwitchIcon.md +28 -10
  26. package/dist/ai/BbBaseTag.md +10 -10
  27. package/dist/ai/BbBaseTextInput.md +9 -9
  28. package/dist/ai/BbBaseTextarea.md +9 -9
  29. package/dist/ai/BbBaseTimePickerInput.md +13 -13
  30. package/dist/ai/BbBreadcrumbs.md +2 -2
  31. package/dist/ai/BbButton.md +15 -15
  32. package/dist/ai/BbCheckbox.md +18 -17
  33. package/dist/ai/BbCheckboxGroup.md +15 -14
  34. package/dist/ai/BbCollapsible.md +11 -9
  35. package/dist/ai/BbColorInput.md +15 -15
  36. package/dist/ai/BbColorPalette.md +12 -6
  37. package/dist/ai/BbConfirm.md +12 -5
  38. package/dist/ai/BbDatePicker.md +13 -13
  39. package/dist/ai/BbDatePickerInput.md +20 -20
  40. package/dist/ai/BbDialog.md +78 -12
  41. package/dist/ai/BbDropdown.md +132 -22
  42. package/dist/ai/BbDropdownButton.md +12 -12
  43. package/dist/ai/BbDropdownGroup.md +1 -1
  44. package/dist/ai/BbDropzone.md +4 -4
  45. package/dist/ai/BbForm.md +49 -14
  46. package/dist/ai/BbIcon.md +6 -0
  47. package/dist/ai/BbIndicator.md +5 -5
  48. package/dist/ai/BbNumberInput.md +11 -11
  49. package/dist/ai/BbOffCanvas.md +90 -20
  50. package/dist/ai/BbPagination.md +3 -3
  51. package/dist/ai/BbPopover.md +32 -17
  52. package/dist/ai/BbProgress.md +7 -4
  53. package/dist/ai/BbRadio.md +16 -15
  54. package/dist/ai/BbRadioGroup.md +20 -17
  55. package/dist/ai/BbRating.md +11 -11
  56. package/dist/ai/BbSelect.md +138 -37
  57. package/dist/ai/BbSelectPopover.md +40 -41
  58. package/dist/ai/BbSlider.md +37 -22
  59. package/dist/ai/BbSmoothHeight.md +1 -1
  60. package/dist/ai/BbSwitch.md +25 -10
  61. package/dist/ai/BbSwitchGroup.md +17 -14
  62. package/dist/ai/BbTable.md +920 -109
  63. package/dist/ai/BbTabs.md +28 -14
  64. package/dist/ai/BbTabsList.md +1 -1
  65. package/dist/ai/BbTabsPanes.md +1 -1
  66. package/dist/ai/BbTabsRoot.md +10 -10
  67. package/dist/ai/BbTag.md +14 -14
  68. package/dist/ai/BbTextInput.md +16 -15
  69. package/dist/ai/BbTextarea.md +13 -13
  70. package/dist/ai/BbTimePicker.md +10 -10
  71. package/dist/ai/BbTimePickerInput.md +17 -17
  72. package/dist/ai/BbToast.md +1 -1
  73. package/dist/ai/BbToastPortal.md +1 -1
  74. package/dist/ai/BbTooltip.md +12 -10
  75. package/dist/ai/BbTree.md +1 -1
  76. package/dist/ai/ChipsBox.md +1 -1
  77. package/dist/ai/CommonInputWrapper.md +10 -10
  78. package/dist/ai/CommonPopover.md +6 -6
  79. package/dist/ai/FlatListBox.md +5 -5
  80. package/dist/ai/GroupedListBox.md +5 -5
  81. package/dist/ai/ListBox.md +4 -4
  82. package/dist/ai/OptionsContainer.md +4 -4
  83. package/dist/ai/changelog.json +128 -2
  84. package/dist/ai/components.json +917 -100
  85. package/dist/ai/composables/useBbConfig.md +72 -11
  86. package/dist/ai/composables/useConfirm.md +5 -3
  87. package/dist/ai/guides/ai-router.md +9 -4
  88. package/dist/ai/guides/component-picker.md +18 -18
  89. package/dist/ai/guides/design-language.md +14 -14
  90. package/dist/ai/guides/design-tokens.md +25 -18
  91. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  92. package/dist/ai/guides/icons-policy.md +11 -5
  93. package/dist/ai/guides/installation-and-plugin-setup.md +85 -23
  94. package/dist/ai/guides/migration/components/bb-checkbox-group.md +30 -0
  95. package/dist/ai/guides/migration/components/bb-checkbox.md +37 -3
  96. package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
  97. package/dist/ai/guides/migration/components/bb-dialog.md +62 -34
  98. package/dist/ai/guides/migration/components/bb-offcanvas.md +29 -13
  99. package/dist/ai/guides/migration/components/bb-rating.md +8 -2
  100. package/dist/ai/guides/migration/components/bb-select.md +5 -2
  101. package/dist/ai/guides/migration/components/bb-table.md +560 -28
  102. package/dist/ai/guides/migration/components/bb-text-input.md +6 -6
  103. package/dist/ai/guides/migration/v2-to-v3.md +260 -89
  104. package/dist/ai/guides/ssr-prefill.md +120 -0
  105. package/dist/ai/index.md +10 -9
  106. package/dist/ai/recipes/inertia/approvals-inbox.md +0 -1
  107. package/dist/ai/recipes/inertia/inline-edit-workspace.md +0 -1
  108. package/dist/ai/recipes/inertia/layout-scaffold.md +5 -1
  109. package/dist/ai/recipes/inertia/ownership-atlas.md +49 -29
  110. package/dist/ai/recipes/inertia/record-form.md +0 -1
  111. package/dist/ai/recipes/inertia/records-workspace.md +26 -8
  112. package/dist/ai/recipes/inertia/upload-center.md +0 -1
  113. package/dist/ai/recipes/nuxt/approvals-inbox.md +0 -1
  114. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +0 -1
  115. package/dist/ai/recipes/nuxt/layout-scaffold.md +5 -1
  116. package/dist/ai/recipes/nuxt/record-form.md +0 -1
  117. package/dist/ai/recipes/nuxt/records-workspace.md +26 -8
  118. package/dist/ai/recipes/nuxt/upload-center.md +0 -1
  119. package/dist/ai/recipes/vue/approvals-inbox.md +0 -1
  120. package/dist/ai/recipes/vue/inline-edit-workspace.md +0 -1
  121. package/dist/ai/recipes/vue/layout-scaffold.md +5 -1
  122. package/dist/ai/recipes/vue/records-workspace.md +26 -8
  123. package/dist/ai/recipes/vue/upload-center.md +0 -1
  124. package/dist/ai/source/BbAlert.md +60 -2
  125. package/dist/ai/source/BbAvatar.md +3 -3
  126. package/dist/ai/source/BbBadge.md +60 -15
  127. package/dist/ai/source/BbBadgeButton.md +8 -2
  128. package/dist/ai/source/BbBaseButton.md +3 -1
  129. package/dist/ai/source/BbBaseCheckboxGroup.md +6 -2
  130. package/dist/ai/source/BbBaseDatePicker.md +3 -1
  131. package/dist/ai/source/BbBaseDatePickerInput.md +5 -1
  132. package/dist/ai/source/BbBaseInputContainer.md +52 -1
  133. package/dist/ai/source/BbBaseRadioGroup.md +4 -0
  134. package/dist/ai/source/BbBaseRating.md +3 -1
  135. package/dist/ai/source/BbBaseSelect.md +71 -16
  136. package/dist/ai/source/BbBaseSwitchGroup.md +4 -0
  137. package/dist/ai/source/BbBaseTimePickerInput.md +5 -1
  138. package/dist/ai/source/BbBreadcrumbs.md +31 -0
  139. package/dist/ai/source/BbButton.md +51 -24
  140. package/dist/ai/source/BbCheckbox.md +15 -1
  141. package/dist/ai/source/BbCheckboxGroup.md +2 -1
  142. package/dist/ai/source/BbCollapsible.md +7 -1
  143. package/dist/ai/source/BbColorInput.md +3 -4
  144. package/dist/ai/source/BbColorPalette.md +3 -4
  145. package/dist/ai/source/BbDatePicker.md +5 -1
  146. package/dist/ai/source/BbDatePickerInput.md +5 -1
  147. package/dist/ai/source/BbDialog.md +175 -19
  148. package/dist/ai/source/BbDropdown.md +376 -69
  149. package/dist/ai/source/BbDropdownGroup.md +330 -59
  150. package/dist/ai/source/BbForm.md +93 -5
  151. package/dist/ai/source/BbIcon.md +46 -36
  152. package/dist/ai/source/BbNumberInput.md +3 -4
  153. package/dist/ai/source/BbOffCanvas.md +474 -194
  154. package/dist/ai/source/BbPopover.md +24 -17
  155. package/dist/ai/source/BbProgress.md +2 -2
  156. package/dist/ai/source/BbRadio.md +15 -1
  157. package/dist/ai/source/BbRadioGroup.md +3 -1
  158. package/dist/ai/source/BbSelect.md +50 -2
  159. package/dist/ai/source/BbSelectPopover.md +171 -23
  160. package/dist/ai/source/BbSlider.md +3 -4
  161. package/dist/ai/source/BbSwitch.md +15 -1
  162. package/dist/ai/source/BbSwitchGroup.md +8 -5
  163. package/dist/ai/source/BbTable.md +5092 -1446
  164. package/dist/ai/source/BbTabs.md +6 -7
  165. package/dist/ai/source/BbTabsList.md +6 -7
  166. package/dist/ai/source/BbTabsPanes.md +6 -7
  167. package/dist/ai/source/BbTabsRoot.md +6 -7
  168. package/dist/ai/source/BbTag.md +3 -4
  169. package/dist/ai/source/BbTextInput.md +3 -4
  170. package/dist/ai/source/BbTextarea.md +3 -4
  171. package/dist/ai/source/BbTimePicker.md +4 -1
  172. package/dist/ai/source/BbTimePickerInput.md +5 -1
  173. package/dist/ai/source/BbToast.md +3 -1
  174. package/dist/ai/source/BbTooltip.md +5 -1
  175. package/dist/ai/source/CommonInputWrapper.md +4 -0
  176. package/dist/ai/source/CommonPopover.md +6 -0
  177. package/dist/ai/source/FlatListBox.md +11 -5
  178. package/dist/ai/source/GroupedListBox.md +7 -5
  179. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +4 -4
  180. package/dist/components/BbAlert/types.d.ts +10 -1
  181. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +1 -1
  182. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +33 -33
  183. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +22 -16
  184. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +36 -15
  185. package/dist/components/BbBadge/badgeButtonContext.d.ts +21 -8
  186. package/dist/components/BbBadge/types.d.ts +8 -2
  187. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +47 -47
  188. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +14 -14
  189. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +30 -28
  190. package/dist/components/BbBaseCheckboxGroup/types.d.ts +2 -2
  191. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +167 -167
  192. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +9 -9
  193. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +78 -78
  194. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +64 -64
  195. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +1 -1
  196. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +138 -138
  197. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +2 -2
  198. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +24 -22
  199. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +40 -40
  200. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +74 -65
  201. package/dist/components/BbBaseSelect/types.d.ts +22 -0
  202. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +5 -5
  203. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +30 -28
  204. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +1 -1
  205. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +104 -104
  206. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +35 -35
  207. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +85 -81
  208. package/dist/components/BbCheckboxGroup/types.d.ts +2 -1
  209. package/dist/components/BbCollapsible/types.d.ts +7 -1
  210. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +1 -1
  211. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +18 -18
  212. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -2
  213. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +50 -50
  214. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +17 -17
  215. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +1 -1
  216. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +100 -100
  217. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +21 -21
  218. package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -1
  219. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +133 -107
  220. package/dist/components/BbDialog/types.d.ts +29 -2
  221. package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +2 -0
  222. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +99 -100
  223. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +2 -2
  224. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +208 -201
  225. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +225 -208
  226. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +21 -21
  227. package/dist/components/BbDropdown/types.d.ts +20 -5
  228. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +5 -5
  229. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +46 -46
  230. package/dist/components/BbIcon/iconCache.d.ts +33 -0
  231. package/dist/components/BbIcon/iconCache.js +17 -0
  232. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +1 -1
  233. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +15 -15
  234. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
  235. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +254 -208
  236. package/dist/components/BbOffCanvas/types.d.ts +30 -5
  237. package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
  238. package/dist/components/BbPopover/BbPopover.vue.d.ts +2 -2
  239. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +149 -146
  240. package/dist/components/BbPopover/types.d.ts +3 -2
  241. package/dist/components/BbRadioGroup/types.d.ts +3 -1
  242. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +27 -23
  243. package/dist/components/BbSelect/types.d.ts +32 -0
  244. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +221 -213
  245. package/dist/components/BbSlider/BbSlider.vue.d.ts +1 -1
  246. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +20 -20
  247. package/dist/components/BbTable/BbTable.vue.d.ts +10 -4
  248. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1433 -600
  249. package/dist/components/BbTable/BbTableDataRow.d.ts +162 -0
  250. package/dist/components/BbTable/BbTableDataRow.js +136 -0
  251. package/dist/components/BbTable/BbTableExpandRow.d.ts +73 -0
  252. package/dist/components/BbTable/BbTableExpandRow.js +52 -0
  253. package/dist/components/BbTable/types.d.ts +324 -111
  254. package/dist/components/BbTable/utils.d.ts +92 -4
  255. package/dist/components/BbTable/utils.js +71 -36
  256. package/dist/components/BbTabs/types.d.ts +0 -8
  257. package/dist/components/BbTag/BbTag.vue.d.ts +1 -1
  258. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +18 -18
  259. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +1 -1
  260. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +18 -18
  261. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +1 -1
  262. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +54 -54
  263. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +1 -1
  264. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +80 -80
  265. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +61 -61
  266. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +17 -17
  267. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +13 -13
  268. package/dist/components/BbTooltip/types.d.ts +5 -1
  269. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +17 -17
  270. package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +5 -5
  271. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  272. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +83 -83
  273. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +56 -56
  274. package/dist/composables/useBaseOptions.js +30 -20
  275. package/dist/composables/useBbConfig.d.ts +27 -6
  276. package/dist/composables/useBbConfig.js +8 -2
  277. package/dist/composables/useConfig.d.ts +59 -0
  278. package/dist/composables/useConfig.js +9 -0
  279. package/dist/composables/useItemsGetter.d.ts +11 -0
  280. package/dist/composables/useItemsGetter.js +44 -18
  281. package/dist/composables/useLocale.js +10 -7
  282. package/dist/composables/useMobile.js +5 -5
  283. package/dist/composables/usePrefill.d.ts +21 -2
  284. package/dist/composables/usePrefill.js +25 -19
  285. package/dist/composables/useSsrState.d.ts +20 -0
  286. package/dist/composables/useSsrState.js +13 -0
  287. package/dist/composables/useTableWidthContext.d.ts +24 -4
  288. package/dist/composables/useTableWidthContext.js +31 -28
  289. package/dist/composables/useToast.js +5 -5
  290. package/dist/deprecation/ai-deprecations.json.d.ts +121 -11
  291. package/dist/deprecation/ai-deprecations.json.js +1 -1
  292. package/dist/directives/bbDropdown.d.ts +15 -4
  293. package/dist/directives/bbDropdown.js +31 -9
  294. package/dist/directives/createPopoverDirective.d.ts +62 -0
  295. package/dist/directives/createPopoverDirective.js +63 -23
  296. package/dist/i18n/locales/cs.json +4 -1
  297. package/dist/i18n/locales/da.json +4 -1
  298. package/dist/i18n/locales/de.json +4 -1
  299. package/dist/i18n/locales/el.json +4 -1
  300. package/dist/i18n/locales/en.json +4 -1
  301. package/dist/i18n/locales/es.json +4 -1
  302. package/dist/i18n/locales/fi.json +4 -1
  303. package/dist/i18n/locales/fr.json +4 -1
  304. package/dist/i18n/locales/hu.json +4 -1
  305. package/dist/i18n/locales/it.json +4 -1
  306. package/dist/i18n/locales/ja.json +4 -1
  307. package/dist/i18n/locales/ko.json +4 -1
  308. package/dist/i18n/locales/nb.json +4 -1
  309. package/dist/i18n/locales/nl.json +4 -1
  310. package/dist/i18n/locales/pl.json +4 -1
  311. package/dist/i18n/locales/pt.json +4 -1
  312. package/dist/i18n/locales/ro.json +4 -1
  313. package/dist/i18n/locales/ru.json +4 -1
  314. package/dist/i18n/locales/sv.json +4 -1
  315. package/dist/i18n/locales/tr.json +4 -1
  316. package/dist/i18n/locales/uk.json +4 -1
  317. package/dist/i18n/locales/zh-cn.json +4 -1
  318. package/dist/index.d.ts +7 -2
  319. package/dist/index.js +69 -67
  320. package/dist/llms-full.txt +3997 -1458
  321. package/dist/llms-medium.txt +140 -73
  322. package/dist/llms.txt +7 -6
  323. package/dist/locale-blueprint.json +4 -1
  324. package/dist/nuxt-auto-imports.d.ts +100 -0
  325. package/dist/nuxt-auto-imports.js +55 -0
  326. package/dist/nuxt-module.d.ts +22 -1
  327. package/dist/nuxt.js +22 -8
  328. package/dist/plugin.d.ts +10 -1
  329. package/dist/plugin.js +20 -19
  330. package/dist/runtime/nuxt-plugin.js +28 -21
  331. package/dist/styles.css +1 -1
  332. package/dist/utilities/misc/listboxMetrics.d.ts +3 -3
  333. package/dist/utilities/misc/listboxMetrics.js +2 -2
  334. package/dist/utilities/misc/ssrStateInjectionKey.d.ts +42 -0
  335. package/dist/utilities/misc/ssrStateInjectionKey.js +4 -0
  336. package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +45 -27
  337. package/dist/validated/BbSelect.vue.d.ts +2 -0
  338. package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +1 -0
  339. package/dist/validated/useValidatedField.js +25 -23
  340. package/dist/vite.js +7 -3
  341. package/llms.txt +8 -7
  342. package/package.json +2 -2
  343. package/scripts/lib/eslint-plugin.d.ts +19 -1
  344. package/scripts/lib/eslint-plugin.mjs +155 -14
  345. package/scripts/lib/html-attributes.mjs +91 -0
  346. package/scripts/lib/validate-bb-markup.mjs +59 -11
  347. package/dist/assets/svgs/sort.svg_raw.js +0 -4
  348. package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +0 -3
  349. package/dist/components/BbBadge/BadgeAppendIcon.vue.js +0 -5
  350. package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +0 -22
@@ -1,7 +1,7 @@
1
1
  import { BbPopoverProps, BbPopoverEvents, BbPopoverSlots, PopoverTrigger } from './types';
2
- export type { BbPopoverProps, BbPopoverEvents, BbPopoverSlots, PopoverTrigger };
3
2
  type __VLS_Props = BbPopoverProps;
4
3
  type __VLS_Slots = BbPopoverSlots;
4
+ export type { BbPopoverProps, BbPopoverEvents, BbPopoverSlots, PopoverTrigger };
5
5
  type __VLS_ModelProps = {
6
6
  /**
7
7
  * Used by v-model to open / close the popover. A popover with no `v-model`
@@ -26,11 +26,11 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
26
26
  onShown?: (() => any) | undefined;
27
27
  onHidden?: (() => any) | undefined;
28
28
  }>, {
29
+ adaptive: boolean;
29
30
  placement: import('../..').Placement | "cursor";
30
31
  offset: number;
31
32
  padding: number;
32
33
  transitionDuration: number;
33
- adaptive: boolean;
34
34
  trigger: PopoverTrigger | PopoverTrigger[];
35
35
  scrollable: boolean;
36
36
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -1,29 +1,29 @@
1
- import { useId as e } from "../../composables/useId.js";
2
- import { useUntil as t } from "../../composables/useUntil.js";
3
- import { removedPropsFor as n } from "../../deprecation/removedProps.js";
4
- import { warnRemovedAttrs as r } from "../../utilities/functions/warnRemovedAttrs.js";
5
- import { extractDomContainer as i } from "../../utilities/functions/extractDomContainer.js";
6
- import { transitions as a } from "../../utilities/misc/transitions.js";
1
+ import { useConfig as e } from "../../composables/useConfig.js";
2
+ import { useId as t } from "../../composables/useId.js";
3
+ import { useUntil as n } from "../../composables/useUntil.js";
4
+ import { removedPropsFor as r } from "../../deprecation/removedProps.js";
5
+ import { warnRemovedAttrs as i } from "../../utilities/functions/warnRemovedAttrs.js";
6
+ import { extractDomContainer as a } from "../../utilities/functions/extractDomContainer.js";
7
+ import { transitions as o } from "../../utilities/misc/transitions.js";
7
8
  import ee from "../CommonPopover/CommonPopover.vue.js";
8
- import { parseWidthString as o } from "../../utilities/functions/parseWidthString.js";
9
- import { isTopEscapeEntry as te, pushEscapeEntry as ne, removeEscapeEntry as re } from "../../utils/overlayEscapeStack.js";
10
- import { useMobile as ie } from "../../composables/useMobile.js";
11
- import { useClosingInert as ae } from "../../composables/useClosingInert.js";
12
- import oe from "../BbOffCanvas/BbOffCanvas.vue.js";
13
- import { config as se } from "virtual:bitboss-ui/config";
14
- import { Fragment as ce, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as le, defineComponent as f, mergeModels as p, mergeProps as m, nextTick as ue, normalizeClass as de, normalizeProps as fe, normalizeStyle as pe, onBeforeUnmount as me, onMounted as he, openBlock as h, ref as g, renderSlot as _, unref as v, useModel as ge, useTemplateRef as _e, watch as y, withCtx as b } from "vue";
15
- import { useElementSize as ve, useIntersectionObserver as ye } from "@vueuse/core";
9
+ import { parseWidthString as te } from "../../utilities/functions/parseWidthString.js";
10
+ import { isTopEscapeEntry as ne, pushEscapeEntry as re, removeEscapeEntry as ie } from "../../utils/overlayEscapeStack.js";
11
+ import { useMobile as ae } from "../../composables/useMobile.js";
12
+ import { useClosingInert as oe } from "../../composables/useClosingInert.js";
13
+ import se from "../BbOffCanvas/BbOffCanvas.vue.js";
14
+ import { Fragment as ce, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as le, createSlots as ue, defineComponent as d, mergeModels as f, mergeProps as p, nextTick as de, normalizeClass as fe, normalizeProps as pe, normalizeStyle as me, onBeforeUnmount as he, onMounted as ge, openBlock as m, ref as h, renderSlot as g, unref as _, useModel as _e, useTemplateRef as ve, watch as v, withCtx as y } from "vue";
15
+ import { useElementSize as ye, useIntersectionObserver as be } from "@vueuse/core";
16
16
  //#region src/components/BbPopover/BbPopover.vue?vue&type=script&setup=true&lang.ts
17
- var be = ["inert"], xe = {
17
+ var xe = ["inert"], Se = {
18
18
  key: 0,
19
19
  class: "bb-popover__header"
20
- }, Se = { class: "bb-popover__content scrollbar-border" }, Ce = {
20
+ }, Ce = { class: "bb-popover__content scrollbar-border" }, we = {
21
21
  key: 1,
22
22
  class: "bb-popover__footer"
23
- }, we = 500, Te = 10, x = /*@__PURE__*/ f({
23
+ }, Te = 500, Ee = 10, b = /*@__PURE__*/ d({
24
24
  inheritAttrs: !1,
25
25
  __name: "BbPopover",
26
- props: /*@__PURE__*/ p({
26
+ props: /*@__PURE__*/ f({
27
27
  activator: {},
28
28
  adaptive: {
29
29
  type: Boolean,
@@ -42,7 +42,7 @@ var be = ["inert"], xe = {
42
42
  type: Boolean,
43
43
  default: !1
44
44
  },
45
- transitionDuration: { default: a.medium },
45
+ transitionDuration: { default: o.medium },
46
46
  trigger: { default: "click" },
47
47
  width: {}
48
48
  }, {
@@ -52,39 +52,39 @@ var be = ["inert"], xe = {
52
52
  },
53
53
  modelModifiers: {}
54
54
  }),
55
- emits: /*@__PURE__*/ p([
55
+ emits: /*@__PURE__*/ f([
56
56
  "show",
57
57
  "hide",
58
58
  "shown",
59
59
  "hidden"
60
60
  ], ["update:modelValue"]),
61
- setup(a, { emit: f }) {
62
- let p = ge(a, "modelValue"), x = a, S = f;
63
- process.env.NODE_ENV !== "production" && r("BbPopover", n("BbPopover"));
64
- let { id: Ee } = e(), C = x.id ?? Ee.value, w = `bbp_${C}`, T = g(), E = _e("popoverRef"), D = s(() => i(E.value)), O = t(p), k = s(() => x.activator != null), { isMobile: A } = ie(), j = () => (x.adaptive ?? se.adaptive) && A.value ? "canvas" : "popover", M = g(j()), N = s(() => M.value === "canvas");
65
- y([
66
- () => x.adaptive,
67
- A,
68
- p
61
+ setup(o, { emit: d }) {
62
+ let f = _e(o, "modelValue"), b = o, x = d, De = e();
63
+ process.env.NODE_ENV !== "production" && i("BbPopover", r("BbPopover"));
64
+ let { id: Oe } = t(), S = b.id ?? Oe.value, C = `bbp_${S}`, w = h(), T = ve("popoverRef"), E = s(() => a(T.value)), D = n(f), O = s(() => b.activator != null), { isMobile: k } = ae(), A = () => (b.adaptive ?? De.adaptive) && k.value ? "canvas" : "popover", j = h(A()), M = s(() => j.value === "canvas");
65
+ v([
66
+ () => b.adaptive,
67
+ k,
68
+ f
69
69
  ], () => {
70
- p.value || (M.value = j());
70
+ f.value || (j.value = A());
71
71
  });
72
- let De = s(() => ({
72
+ let ke = s(() => ({
73
73
  side: "bottom",
74
74
  size: "auto",
75
75
  draggable: !0,
76
- eager: x.eager,
77
- disabled: x.disabled,
78
- focusTarget: x.focusTarget,
79
- transitionDuration: x.transitionDuration,
80
- ...x.offCanvasProps,
81
- ...O.value && !x.offCanvasProps?.title ? { "aria-labelledby": C } : {}
82
- })), Oe = () => {
83
- T.value?.focus(), S("hidden");
84
- }, P = s(() => {
85
- let e = x.trigger;
76
+ eager: b.eager,
77
+ disabled: b.disabled,
78
+ focusTarget: b.focusTarget,
79
+ transitionDuration: b.transitionDuration,
80
+ ...b.offCanvasProps,
81
+ ...D.value && !b.offCanvasProps?.title ? { "aria-labelledby": S } : {}
82
+ })), Ae = () => {
83
+ w.value?.focus(), x("hidden");
84
+ }, N = s(() => {
85
+ let e = b.trigger;
86
86
  return new Set(Array.isArray(e) ? e : [e]);
87
- }), F = (e, t) => ({ getBoundingClientRect: () => ({
87
+ }), P = (e, t) => ({ getBoundingClientRect: () => ({
88
88
  x: e,
89
89
  y: t,
90
90
  width: 0,
@@ -96,19 +96,19 @@ var be = ["inert"], xe = {
96
96
  toJSON() {
97
97
  return this;
98
98
  }
99
- }) }), I = g(null), ke = s(() => x.placement === "cursor" && I.value ? I.value : T.value), L, R = null, z = !1, B = () => {
100
- clearTimeout(L), R = null;
101
- }, V = (e) => {
102
- T.value = i(e) ?? void 0;
103
- }, Ae = s(() => {
104
- let e = P.value;
99
+ }) }), F = h(null), je = s(() => b.placement === "cursor" && F.value ? F.value : w.value), I, L = null, R = !1, z = () => {
100
+ clearTimeout(I), L = null;
101
+ }, B = (e) => {
102
+ w.value = a(e) ?? void 0;
103
+ }, Me = s(() => {
104
+ let e = N.value;
105
105
  return {
106
- "aria-expanded": O.value ? p.value : void 0,
107
- "aria-controls": O.value ? w : void 0,
106
+ "aria-expanded": D.value ? f.value : void 0,
107
+ "aria-controls": D.value ? C : void 0,
108
108
  "aria-haspopup": "dialog",
109
- id: C,
110
- disabled: !!x.disabled,
111
- ref: V,
109
+ id: S,
110
+ disabled: !!b.disabled,
111
+ ref: B,
112
112
  ...e.has("click") ? { onClick: J } : {},
113
113
  ...e.has("contextMenu") ? {
114
114
  onContextmenu: Y,
@@ -119,143 +119,146 @@ var be = ["inert"], xe = {
119
119
  } : {}
120
120
  };
121
121
  });
122
- y(() => x.activator, (e) => {
123
- e && V(e);
124
- }, { immediate: !0 }), y([T, P], ([e, t], n, r) => {
125
- if (!e || !k.value) return;
122
+ v(() => b.activator, (e) => {
123
+ e && B(e);
124
+ }, { immediate: !0 }), v([w, N], ([e, t], n, r) => {
125
+ if (!e || !O.value) return;
126
126
  let i = [];
127
127
  t.has("click") && (e.addEventListener("click", J), i.push(() => e.removeEventListener("click", J))), t.has("contextMenu") && (e.addEventListener("contextmenu", Y), e.addEventListener("pointerdown", X), e.addEventListener("pointermove", Z), e.addEventListener("pointerup", Q), e.addEventListener("pointercancel", Q), i.push(() => {
128
- e.removeEventListener("contextmenu", Y), e.removeEventListener("pointerdown", X), e.removeEventListener("pointermove", Z), e.removeEventListener("pointerup", Q), e.removeEventListener("pointercancel", Q), B();
128
+ e.removeEventListener("contextmenu", Y), e.removeEventListener("pointerdown", X), e.removeEventListener("pointermove", Z), e.removeEventListener("pointerup", Q), e.removeEventListener("pointercancel", Q), z();
129
129
  })), e.setAttribute("aria-haspopup", "dialog"), r(() => {
130
130
  i.forEach((e) => e()), e.removeAttribute("aria-expanded"), e.removeAttribute("aria-controls"), e.removeAttribute("aria-haspopup");
131
131
  });
132
- }, { immediate: !0 }), y([
133
- T,
134
- p,
135
- O
132
+ }, { immediate: !0 }), v([
133
+ w,
134
+ f,
135
+ D
136
136
  ], ([e, t, n]) => {
137
- !e || !k.value || !n || (e.setAttribute("id", C), e.setAttribute("aria-expanded", String(t)), e.setAttribute("aria-controls", w));
138
- }, { immediate: !0 }), ye(T, ([{ intersectionRatio: e }]) => {
139
- e !== 1 && p.value && !N.value && $();
137
+ !e || !O.value || !n || (e.setAttribute("id", S), e.setAttribute("aria-expanded", String(t)), e.setAttribute("aria-controls", C));
138
+ }, { immediate: !0 }), be(w, ([{ intersectionRatio: e }]) => {
139
+ e !== 1 && f.value && !M.value && $();
140
140
  }, { threshold: [0, 1] });
141
- let H = (e) => {
141
+ let V = (e) => {
142
142
  let t = e.target;
143
143
  if (!(t instanceof Node)) return;
144
- let n = D.value?.contains(t), r = T.value?.contains(t);
144
+ let n = E.value?.contains(t), r = w.value?.contains(t);
145
145
  !n && !r && $();
146
- }, U = Symbol("bb-popover"), W = (e) => {
147
- e.key === "Escape" && te(U) && (e.preventDefault(), e.stopImmediatePropagation(), $());
148
- }, je = () => {
149
- ne(U), document.addEventListener("click", H, { passive: !0 }), document.addEventListener("contextmenu", H, { passive: !0 }), document.addEventListener("keydown", W, { capture: !0 });
150
- }, G = () => {
151
- re(U), document.removeEventListener("click", H), document.removeEventListener("contextmenu", H), document.removeEventListener("keydown", W, { capture: !0 });
152
- }, K = !1, Me = async () => {
153
- if (N.value) return;
154
- K = !0, S("show"), je(), await ue();
155
- let e = x.focusTarget ?? "[tabindex]:not([tabindex=\"-1\"]), button, a, input, select, textarea", t = D.value?.querySelector(e);
156
- t instanceof HTMLElement && t.focus(), S("shown");
146
+ }, H = Symbol("bb-popover"), U = (e) => {
147
+ e.key === "Escape" && ne(H) && (e.preventDefault(), e.stopImmediatePropagation(), $());
157
148
  }, Ne = () => {
158
- K && (K = !1, S("hide"), G(), T.value && T.value.focus(), S("hidden"));
159
- }, Pe = ae(p, () => x.transitionDuration);
160
- y(p, (e) => {
161
- e ? (M.value = j(), Me()) : Ne();
149
+ re(H), document.addEventListener("click", V, { passive: !0 }), document.addEventListener("contextmenu", V, { passive: !0 }), document.addEventListener("keydown", U, { capture: !0 });
150
+ }, W = () => {
151
+ ie(H), document.removeEventListener("click", V), document.removeEventListener("contextmenu", V), document.removeEventListener("keydown", U, { capture: !0 });
152
+ }, G = !1, K = async () => {
153
+ if (M.value) return;
154
+ G = !0, x("show"), Ne(), await de();
155
+ let e = b.focusTarget ?? "[tabindex]:not([tabindex=\"-1\"]), button, a, input, select, textarea", t = E.value?.querySelector(e);
156
+ t instanceof HTMLElement && t.focus(), x("shown");
157
+ }, Pe = () => {
158
+ G && (G = !1, x("hide"), W(), w.value && w.value.focus(), x("hidden"));
159
+ }, Fe = oe(f, () => b.transitionDuration);
160
+ v(f, (e) => {
161
+ e ? (j.value = A(), K()) : Pe();
162
+ }), ge(() => {
163
+ f.value && K();
162
164
  }), he(() => {
163
- p.value && Me();
164
- }), me(() => {
165
- B(), G();
165
+ z(), W();
166
166
  });
167
167
  let q = () => {
168
- x.disabled || (p.value = !0);
168
+ b.disabled || (f.value = !0);
169
169
  }, J = (e) => {
170
- if (p.value) {
170
+ if (f.value) {
171
171
  $();
172
172
  return;
173
173
  }
174
- if (z) {
175
- z = !1, e.preventDefault(), e.stopPropagation();
174
+ if (R) {
175
+ R = !1, e.preventDefault(), e.stopPropagation();
176
176
  return;
177
177
  }
178
- e.stopImmediatePropagation(), x.placement === "cursor" && (I.value = F(e.clientX, e.clientY)), q();
178
+ e.stopImmediatePropagation(), b.placement === "cursor" && (F.value = P(e.clientX, e.clientY)), q();
179
179
  }, Y = (e) => {
180
- x.disabled || (e.preventDefault(), e.stopPropagation(), !(x.placement === "cursor" && (I.value = F(e.clientX, e.clientY), p.value)) && (p.value ? $() : q()));
180
+ b.disabled || (e.preventDefault(), e.stopPropagation(), !(b.placement === "cursor" && (F.value = P(e.clientX, e.clientY), f.value)) && (f.value ? $() : q()));
181
181
  }, X = (e) => {
182
- x.disabled || e.pointerType === "mouse" || (z = !1, R = {
182
+ b.disabled || e.pointerType === "mouse" || (R = !1, L = {
183
183
  x: e.clientX,
184
184
  y: e.clientY
185
- }, L = setTimeout(() => {
186
- z = !0, x.placement === "cursor" && R && (I.value = F(R.x, R.y)), R = null, q();
187
- }, we));
185
+ }, I = setTimeout(() => {
186
+ R = !0, b.placement === "cursor" && L && (F.value = P(L.x, L.y)), L = null, q();
187
+ }, Te));
188
188
  }, Z = (e) => {
189
- if (!R) return;
190
- let t = e.clientX - R.x, n = e.clientY - R.y;
191
- Math.sqrt(t * t + n * n) > Te && B();
189
+ if (!L) return;
190
+ let t = e.clientX - L.x, n = e.clientY - L.y;
191
+ Math.sqrt(t * t + n * n) > Ee && z();
192
192
  }, Q = () => {
193
- B();
193
+ z();
194
194
  }, $ = () => {
195
- p.value = !1;
196
- }, Fe = s(() => {
197
- if (!x.width) return !1;
198
- let { unit: e } = o(x.width);
195
+ f.value = !1;
196
+ }, Ie = s(() => {
197
+ if (!b.width) return !1;
198
+ let { unit: e } = te(b.width);
199
199
  return e === "%";
200
- }), { width: Ie } = ve(s(() => Fe.value ? T.value : void 0), {
200
+ }), { width: Le } = ye(s(() => Ie.value ? w.value : void 0), {
201
201
  width: 0,
202
202
  height: 0
203
- }, { box: "border-box" }), Le = s(() => {
204
- if (!x.width) return;
205
- let { value: e, unit: t } = o(x.width);
206
- return t === "%" && T.value ? `${Ie.value * (e / 100)}px` : `${e}px`;
203
+ }, { box: "border-box" }), Re = s(() => {
204
+ if (!b.width) return;
205
+ let { value: e, unit: t } = te(b.width);
206
+ return t === "%" && w.value ? `${Le.value * (e / 100)}px` : `${e}px`;
207
207
  });
208
- return (e, t) => (h(), u(ce, null, [k.value ? l("", !0) : _(e.$slots, "activator", fe(m({ key: 0 }, {
209
- props: Ae.value,
208
+ return (e, t) => (m(), u(ce, null, [O.value ? l("", !0) : g(e.$slots, "activator", pe(p({ key: 0 }, {
209
+ props: Me.value,
210
210
  disabled: !!e.disabled,
211
- isOpen: p.value,
211
+ isOpen: f.value,
212
212
  placement: e.placement
213
- }))), N.value ? (h(), c(oe, m({
213
+ }))), M.value ? (m(), c(se, p({
214
214
  key: 1,
215
- id: w,
216
- modelValue: p.value,
217
- "onUpdate:modelValue": t[0] ||= (e) => p.value = e,
215
+ id: C,
216
+ modelValue: f.value,
217
+ "onUpdate:modelValue": t[0] ||= (e) => f.value = e,
218
218
  class: "bb-popover-offcanvas"
219
- }, De.value, {
220
- onHidden: Oe,
221
- onHide: t[1] ||= (e) => S("hide"),
222
- onShow: t[2] ||= (e) => S("show"),
223
- onShown: t[3] ||= (e) => S("shown")
224
- }), le({
225
- default: b(() => [_(e.$slots, "default", {
219
+ }, {
220
+ ...e.$attrs,
221
+ ...ke.value
222
+ }, {
223
+ onHidden: Ae,
224
+ onHide: t[1] ||= (e) => x("hide"),
225
+ onShow: t[2] ||= (e) => x("show"),
226
+ onShown: t[3] ||= (e) => x("shown")
227
+ }), ue({
228
+ default: y(() => [g(e.$slots, "default", {
226
229
  close: $,
227
230
  disabled: !!e.disabled,
228
- open: p.value,
231
+ open: f.value,
229
232
  placement: e.placement
230
233
  })]),
231
234
  _: 2
232
235
  }, [e.$slots.header ? {
233
236
  name: "header",
234
- fn: b(() => [_(e.$slots, "header", {
237
+ fn: y(() => [g(e.$slots, "header", {
235
238
  close: $,
236
239
  disabled: !!e.disabled,
237
- open: p.value,
240
+ open: f.value,
238
241
  placement: e.placement
239
242
  })]),
240
243
  key: "0"
241
244
  } : void 0, e.$slots.footer ? {
242
245
  name: "footer",
243
- fn: b(() => [_(e.$slots, "footer", {
246
+ fn: y(() => [g(e.$slots, "footer", {
244
247
  close: $,
245
248
  disabled: !!e.disabled,
246
- open: p.value,
249
+ open: f.value,
247
250
  placement: e.placement
248
251
  })]),
249
252
  key: "1"
250
- } : void 0]), 1040, ["modelValue"])) : (h(), c(ee, m({
253
+ } : void 0]), 1040, ["modelValue"])) : (m(), c(ee, p({
251
254
  key: 2,
252
- id: w,
255
+ id: C,
253
256
  ref_key: "popoverRef",
254
- ref: E,
255
- modelValue: p.value,
256
- "onUpdate:modelValue": t[4] ||= (e) => p.value = e,
257
- anchor: ke.value,
258
- "aria-labelledby": v(O) ? v(C) : void 0,
257
+ ref: T,
258
+ modelValue: f.value,
259
+ "onUpdate:modelValue": t[4] ||= (e) => f.value = e,
260
+ anchor: je.value,
261
+ "aria-labelledby": _(D) ? _(S) : void 0,
259
262
  boundary: e.boundary,
260
263
  class: "bb-popover",
261
264
  dialog: "",
@@ -264,33 +267,33 @@ var be = ["inert"], xe = {
264
267
  offset: e.offset,
265
268
  padding: e.padding,
266
269
  placement: e.placement === "cursor" ? "bottom-start" : e.placement,
267
- style: { width: Le.value },
270
+ style: { width: Re.value },
268
271
  "transition-duration": e.transitionDuration
269
272
  }, e.$attrs), {
270
- default: b(({ availableHeight: t }) => [d("span", {
271
- class: de(["bb-popover__panel", { "bb-popover__panel--scrollable": e.scrollable }]),
272
- inert: v(Pe),
273
- style: pe({ "--max-h": e.scrollable && t != null ? `${t}px` : void 0 })
273
+ default: y(({ availableHeight: t }) => [le("div", {
274
+ class: fe(["bb-popover__panel", { "bb-popover__panel--scrollable": e.scrollable }]),
275
+ inert: _(Fe),
276
+ style: me({ "--max-h": e.scrollable && t != null ? `${t}px` : void 0 })
274
277
  }, [
275
- e.$slots.header ? (h(), u("span", xe, [_(e.$slots, "header", {
278
+ e.$slots.header ? (m(), u("div", Se, [g(e.$slots, "header", {
276
279
  close: $,
277
280
  disabled: !!e.disabled,
278
- open: p.value,
281
+ open: f.value,
279
282
  placement: e.placement
280
283
  })])) : l("", !0),
281
- d("span", Se, [_(e.$slots, "default", {
284
+ le("div", Ce, [g(e.$slots, "default", {
282
285
  close: $,
283
286
  disabled: !!e.disabled,
284
- open: p.value,
287
+ open: f.value,
285
288
  placement: e.placement
286
289
  })]),
287
- e.$slots.footer ? (h(), u("span", Ce, [_(e.$slots, "footer", {
290
+ e.$slots.footer ? (m(), u("div", we, [g(e.$slots, "footer", {
288
291
  close: $,
289
292
  disabled: !!e.disabled,
290
- open: p.value,
293
+ open: f.value,
291
294
  placement: e.placement
292
295
  })])) : l("", !0)
293
- ], 14, be)]),
296
+ ], 14, xe)]),
294
297
  _: 3
295
298
  }, 16, [
296
299
  "modelValue",
@@ -307,4 +310,4 @@ var be = ["inert"], xe = {
307
310
  }
308
311
  });
309
312
  //#endregion
310
- export { x as default };
313
+ export { b as default };
@@ -55,7 +55,7 @@ export type BbPopoverProps = {
55
55
  /**
56
56
  * Overrides forwarded to the underlying `BbOffCanvas` when `adaptive` renders
57
57
  * the sheet on mobile. Merged over the adaptive defaults
58
- * (`direction: 'bottom'`, `size: 'auto'`, `draggable: true`). Ignored when
58
+ * (`side: 'bottom'`, `size: 'auto'`, `draggable: true`). Ignored when
59
59
  * `adaptive` is `false`.
60
60
  */
61
61
  offCanvasProps?: Partial<BbOffCanvasProps>;
@@ -67,7 +67,8 @@ export type BbPopoverProps = {
67
67
  padding?: number;
68
68
  /**
69
69
  * Position of the popover relative to the activator.
70
- * Use `'cursor'` to anchor at the mouse/touch coordinates (hides arrow).
70
+ * Use `'cursor'` to anchor at the mouse/touch coordinates.
71
+ * (BbPopover never draws an arrow — arrows are tooltip-only in v3.)
71
72
  *
72
73
  * @defaultValue `'bottom'`
73
74
  */
@@ -68,7 +68,9 @@ export type BbRadioGroupProps<T> = {
68
68
  */
69
69
  hasWarning?: boolean;
70
70
  /**
71
- * Visually hides the label of the input while maintaining accessibility.
71
+ * Visually hides each option's label text (the text rendered next to every
72
+ * input) while keeping it accessible to screen readers.
73
+ * Does not affect the fieldset legend — use `hideLegend` for that.
72
74
  */
73
75
  hideLabel?: boolean;
74
76
  /**
@@ -1,10 +1,10 @@
1
- import { removedPropsFor as e } from "../../deprecation/removedProps.js";
2
- import { warnRemovedAttrs as t } from "../../utilities/functions/warnRemovedAttrs.js";
3
- import { useMobile as n } from "../../composables/useMobile.js";
4
- import r from "../BbBaseInputContainer/BbBaseInputContainer.vue.js";
5
- import { isNotEmpty as i } from "../../utilities/functions/isNotEmpty.js";
6
- import a from "../BbBaseSelect/BbBaseSelect.vue.js";
7
- import { config as o } from "virtual:bitboss-ui/config";
1
+ import { useConfig as e } from "../../composables/useConfig.js";
2
+ import { removedPropsFor as t } from "../../deprecation/removedProps.js";
3
+ import { warnRemovedAttrs as n } from "../../utilities/functions/warnRemovedAttrs.js";
4
+ import { useMobile as r } from "../../composables/useMobile.js";
5
+ import i from "../BbBaseInputContainer/BbBaseInputContainer.vue.js";
6
+ import { isNotEmpty as a } from "../../utilities/functions/isNotEmpty.js";
7
+ import o from "../BbBaseSelect/BbBaseSelect.vue.js";
8
8
  import { computed as s, createBlock as c, createSlots as l, createVNode as u, defineComponent as d, guardReactiveProps as f, mergeProps as p, normalizeProps as m, openBlock as h, ref as g, renderSlot as _, unref as v, withCtx as y } from "vue";
9
9
  //#region src/components/BbSelect/BbSelect.vue?vue&type=script&setup=true&lang.ts
10
10
  var b = /*@__PURE__*/ d({
@@ -85,55 +85,58 @@ var b = /*@__PURE__*/ d({
85
85
  "option:add"
86
86
  ],
87
87
  setup(d, { emit: b }) {
88
- let x = d, S = b;
89
- process.env.NODE_ENV !== "production" && t("BbSelect", e("BbSelect"));
90
- let C = g(!1), { isMobile: w } = n(), T = s(() => x.persistentHint || C.value), E = s(() => !!x.clearable && i(x.modelValue)), D = s(() => i(x.modelValue)), O = s(() => x.labelMode ?? o.defaultInputLabelMode), k = {
88
+ let x = d, S = b, C = e();
89
+ process.env.NODE_ENV !== "production" && n("BbSelect", t("BbSelect"));
90
+ let w = g(!1), { isMobile: T } = r(), E = s(() => x.persistentHint || w.value), D = s(() => !!x.clearable && a(x.modelValue)), O = s(() => a(x.modelValue)), k = s(() => x.labelMode ?? C.defaultInputLabelMode), A = s(() => ({
91
+ title: x.label,
92
+ ...x.offCanvasProps
93
+ })), j = {
91
94
  onBlur: (e) => {
92
- C.value = !1, S("blur", e);
95
+ w.value = !1, S("blur", e);
93
96
  },
94
97
  onChange: (e) => S("change", e),
95
98
  onClick: (e) => S("click", e),
96
99
  "onOption:add": (e) => S("option:add", e),
97
100
  onFocus: (e) => {
98
- C.value = !0, S("focus", e);
101
+ w.value = !0, S("focus", e);
99
102
  },
100
103
  onActive: () => {
101
- C.value = !0, S("active");
104
+ w.value = !0, S("active");
102
105
  },
103
106
  onInactive: () => {
104
- C.value = !1, S("inactive");
107
+ w.value = !1, S("inactive");
105
108
  },
106
109
  onInput: (e) => S("input", e),
107
110
  "onUpdate:modelValue": (e) => S("update:modelValue", e)
108
111
  };
109
- return (e, t) => (h(), c(r, {
112
+ return (e, t) => (h(), c(i, {
110
113
  id: e.id,
111
114
  class: "bb-select",
112
- clearable: E.value,
115
+ clearable: D.value,
113
116
  compact: e.compact,
114
117
  description: e.description,
115
118
  direction: e.direction,
116
119
  disabled: e.disabled,
117
120
  errors: e.errors,
118
121
  "has-errors": e.hasErrors,
119
- "has-value": D.value,
122
+ "has-value": O.value,
120
123
  "has-warning": e.hasWarning,
121
124
  "hide-label": e.hideLabel,
122
125
  hint: e.hint,
123
126
  label: e.label,
124
- "label-mode": O.value,
127
+ "label-mode": k.value,
125
128
  "label-position": e.labelPosition,
126
129
  loading: e.loading,
127
- mobile: v(w),
130
+ mobile: v(T),
128
131
  "model-value": e.modelValue,
129
132
  name: e.name,
130
133
  readonly: e.readonly,
131
134
  reverse: e.reverse,
132
- "show-hint": T.value,
135
+ "show-hint": E.value,
133
136
  warnings: e.warnings
134
137
  }, {
135
138
  label: y((t) => [_(e.$slots, "label", m(f(t)))]),
136
- input: y(({ id: t, hasErrors: n, hasWarning: r, ariaDescribedby: i }) => [u(a, p({
139
+ input: y(({ id: t, hasErrors: n, hasWarning: r, ariaDescribedby: i }) => [u(o, p({
137
140
  id: t,
138
141
  adaptive: e.adaptive,
139
142
  "append:icon": x["append:icon"],
@@ -166,7 +169,7 @@ var b = /*@__PURE__*/ d({
166
169
  multiple: e.multiple,
167
170
  name: e.name,
168
171
  "no-data-text": e.noDataText,
169
- "off-canvas-props": e.offCanvasProps,
172
+ "off-canvas-props": A.value,
170
173
  placeholder: e.placeholder,
171
174
  prefill: e.prefill,
172
175
  "prepend:icon": x["prepend:icon"],
@@ -177,7 +180,7 @@ var b = /*@__PURE__*/ d({
177
180
  "selected-labels-fn": e.selectedLabelsFn,
178
181
  stash: e.stash,
179
182
  "transition-duration": e.transitionDuration
180
- }, k), l({
183
+ }, j), l({
181
184
  "append-outer": y((t) => [_(e.$slots, "append-outer", m(f(t)))]),
182
185
  append: y((t) => [_(e.$slots, "append", m(f(t)))]),
183
186
  prepend: y((t) => [_(e.$slots, "prepend", m(f(t)))]),
@@ -186,6 +189,7 @@ var b = /*@__PURE__*/ d({
186
189
  "no-data": y((t) => [_(e.$slots, "no-data", m(f(t)))]),
187
190
  option: y((t) => [_(e.$slots, "option", m(f(t)))]),
188
191
  group: y((t) => [_(e.$slots, "group", m(f(t)))]),
192
+ chip: y((t) => [_(e.$slots, "chip", m(f(t)))]),
189
193
  _: 2
190
194
  }, [
191
195
  e.$slots.header ? {