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
@@ -110,8 +110,8 @@ const selected = ref<string[]>(['email']);
110
110
 
111
111
  ### Styling
112
112
 
113
- The glyph owns its own tokens, so restyle it by overriding CSS custom properties
114
- on the element (or an ancestor — they inherit):
113
+ The glyph owns its own tokens, so restyle it by overriding CSS custom
114
+ properties on it:
115
115
 
116
116
  - `--size` — box edge length (default `16px`)
117
117
  - `--r` — corner radius (default `4px`)
@@ -119,6 +119,23 @@ on the element (or an ancestor — they inherit):
119
119
  - `--check-color` — checkmark stroke (default `--bb-primary-fg`)
120
120
  - `--ring-color` — focus ring color
121
121
 
122
+ **On the element itself, not an ancestor.** Each of these is declared on the
123
+ glyph's own class, and a declaration on the element always beats one inherited
124
+ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
125
+ (verified: the glyph stays 16px). Target the glyph class, or pass a `style` /
126
+ `class` that lands on it:
127
+
128
+ ```css
129
+ /* works */
130
+ .bb-base-checkbox-icon {
131
+ --size: 20px;
132
+ }
133
+ /* does nothing */
134
+ .my-form {
135
+ --size: 20px;
136
+ }
137
+ ```
138
+
122
139
  **Bigger, rounder, recolored**
123
140
 
124
141
  ```vue
@@ -152,13 +169,13 @@ on the element (or an ancestor — they inherit):
152
169
 
153
170
  | Prop | Type | Default | Required | Description |
154
171
  | --- | --- | --- | --- | --- |
155
- | `checked` | `boolean \| undefined` | | | Renders the checked state (fills the box and draws the checkmark). |
156
- | `disabled` | `boolean \| undefined` | | | Disables the glyph (muted fill, not-allowed cursor). Purely visual. |
157
- | `focusVisible` | `boolean \| undefined` | | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
158
- | `hasErrors` | `boolean \| undefined` | | | Puts the glyph into the error state (danger border and ring color). |
159
- | `hasWarning` | `boolean \| undefined` | | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
160
- | `indeterminate` | `boolean \| undefined` | | | Renders the indeterminate state (filled box with a dash instead of the checkmark). Takes visual precedence over `checked`. |
161
- | `readonly` | `boolean \| undefined` | | | Renders the read-only affordance (default cursor instead of pointer). |
172
+ | `checked` | `boolean \| undefined` | `false` | | Renders the checked state (fills the box and draws the checkmark). |
173
+ | `disabled` | `boolean \| undefined` | `false` | | Disables the glyph (muted fill, not-allowed cursor). Purely visual. |
174
+ | `focusVisible` | `boolean \| undefined` | `false` | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
175
+ | `hasErrors` | `boolean \| undefined` | `false` | | Puts the glyph into the error state (danger border and ring color). |
176
+ | `hasWarning` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
177
+ | `indeterminate` | `boolean \| undefined` | `false` | | Renders the indeterminate state (filled box with a dash instead of the checkmark). Takes visual precedence over `checked`. |
178
+ | `readonly` | `boolean \| undefined` | `false` | | Renders the read-only affordance (default cursor instead of pointer). |
162
179
 
163
180
  ## Events
164
181
 
@@ -16,28 +16,28 @@
16
16
 
17
17
  | Prop | Type | Default | Required | Description |
18
18
  | --- | --- | --- | --- | --- |
19
- | `adaptive` | `boolean \| undefined` | `undefined` | | When `true`, the palette opens as a bottom off-canvas sheet on mobile viewports instead of a floating popover. Forwarded to `BbColorPalette`, which resolves the fallback. When unset, falls back to the global `config.adaptive`. |
19
+ | `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | When `true`, the palette opens as a bottom off-canvas sheet on mobile viewports instead of a floating popover. Forwarded to `BbColorPalette`, which resolves the fallback. When unset, falls back to the global `config.adaptive`. |
20
20
  | `alpha` | `boolean \| undefined` | `false` | | Enable the alpha channel. When true the picker shows an opacity slider and emits / accepts `#RRGGBBAA` hex8 values. |
21
21
  | `append:icon` | `string \| undefined` | | | Name of the icon to render at the right hand side of the input. |
22
22
  | `ariaDescribedby` | `string \| undefined` | | | Id(s) of element(s) describing this input for assistive tech (space-separated). Typically includes the container hint id if used within a BaseInputContainer. |
23
23
  | `autocomplete` | `string \| undefined` | `"off"` | | Autocomplete hint for the browser. |
24
24
  | `autofocus` | `Booleanish \| undefined` | | | Focus the input on mount. |
25
- | `clearable` | `boolean \| undefined` | | | Show a clear button when the input has a value. |
26
- | `compact` | `boolean \| undefined` | | | Display the component in a compact layout. |
27
- | `disabled` | `boolean \| undefined` | | | Disable all interactions. |
28
- | `eyeDropper` | `boolean \| undefined` | | | Show an eyedropper button to sample any color on screen. Uses the native EyeDropper API — hidden automatically on unsupported browsers. |
29
- | `hasErrors` | `boolean \| undefined` | | | Visually mark the component as invalid (also sets aria-invalid on the input). |
30
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
25
+ | `clearable` | `boolean \| undefined` | `false` | | Show a clear button when the input has a value. |
26
+ | `compact` | `boolean \| undefined` | `false` | | Display the component in a compact layout. |
27
+ | `disabled` | `boolean \| undefined` | `false` | | Disable all interactions. |
28
+ | `eyeDropper` | `boolean \| undefined` | `false` | | Show an eyedropper button to sample any color on screen. Uses the native EyeDropper API — hidden automatically on unsupported browsers. |
29
+ | `hasErrors` | `boolean \| undefined` | `false` | | Visually mark the component as invalid (also sets aria-invalid on the input). |
30
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
31
31
  | `id` | `string \| undefined` | | | The id attribute for the input element. Defaults to a generated `bb_<unique>` id when omitted. |
32
- | `loading` | `boolean \| undefined` | | | Display the loading state. |
32
+ | `loading` | `boolean \| undefined` | `false` | | Display the loading state. |
33
33
  | `modelValue` | `string \| null` | | yes | v-model value: `#RRGGBB` hex string or `null` when empty. Example: `#1A2B3C` |
34
34
  | `name` | `string \| undefined` | | | Name attribute of the input. |
35
35
  | `placeholder` | `string \| undefined` | | | Placeholder text when there is no value. |
36
36
  | `prepend:icon` | `string \| undefined` | | | Name of the icon to render at the start of the input. |
37
- | `readonly` | `boolean \| undefined` | | | Make the input read-only. |
38
- | `required` | `boolean \| undefined` | | | Mark the input as required. |
37
+ | `readonly` | `boolean \| undefined` | `false` | | Make the input read-only. |
38
+ | `required` | `boolean \| undefined` | `false` | | Mark the input as required. |
39
39
  | `swatches` | `boolean \| string[][] \| undefined` | | | Controls swatches display in the picker: - `true` — show the built-in Material-palette swatches - `string[][]` — show custom swatches (each inner array = a column of shades) - `false` / omitted — no swatches section |
40
- | `transitionDuration` | `number \| undefined` | | | Transition duration (ms) of the palette popover. Forwarded to `BbColorPalette`, which supplies the default. |
40
+ | `transitionDuration` | `number \| undefined` | `250` | | Transition duration (ms) of the palette popover. Forwarded to `BbColorPalette`, which supplies the default. |
41
41
 
42
42
  ## Events
43
43
 
@@ -16,19 +16,19 @@
16
16
 
17
17
  | Prop | Type | Default | Required | Description |
18
18
  | --- | --- | --- | --- | --- |
19
- | `disabled` | `boolean \| undefined` | | | Disables the component. |
19
+ | `disabled` | `boolean \| undefined` | `false` | | Disables the component. |
20
20
  | `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | `1` | | Defines the first day of the week with `0` meaning Sunday and `6` meaning Saturday. |
21
- | `floating` | `boolean \| undefined` | | | If true the value is a plain calendar string (`YYYY-MM-DD`, or the shape `type` dictates) instead of the default ISO instant. |
21
+ | `floating` | `boolean \| undefined` | `false` | | If true the value is a plain calendar string (`YYYY-MM-DD`, or the shape `type` dictates) instead of the default ISO instant. |
22
22
  | `id` | `string \| undefined` | | | The identifier of the component. |
23
23
  | `max` | `string \| undefined` | | | Maximum selectable date. |
24
24
  | `min` | `string \| undefined` | | | Minimum selectable date. |
25
25
  | `modelValue` | `string \| string[] \| null` | | yes | Used by v-model. Can be null, a single string, or an array of strings based on whether a range or single date is needed. |
26
- | `multiple` | `boolean \| undefined` | | | Allows the selection of multiple items. |
27
- | `range` | `boolean \| undefined` | | | Selects a range of dates between two dates. It selects all of the days between start and end. |
28
- | `readonly` | `boolean \| undefined` | | | Sets the input in a readonly state. |
26
+ | `multiple` | `boolean \| undefined` | `false` | | Allows the selection of multiple items. |
27
+ | `range` | `boolean \| undefined` | `false` | | Selects a range of dates between two dates. It selects all of the days between start and end. |
28
+ | `readonly` | `boolean \| undefined` | `false` | | Sets the input in a readonly state. |
29
29
  | `selectable` | `((date: string) => boolean) \| undefined` | | | Function that accepts a date string and returns a boolean. Returning `false` means the date cannot be selected. The string is shaped by `type`: `YYYY-MM` under `month`, `YYYY` under `year`. |
30
30
  | `type` | `DatePickerType \| undefined` | `"date"` | | What the grid selects: a day (`date`/`datetime`), a month, or a year. The coarse types make the month/year panel terminal instead of a navigation step, and emit `YYYY-MM` / `YYYY`. |
31
- | `utc` | `boolean \| undefined` | | | Emits values as UTC ISO strings (`...Z`) instead of ISO strings carrying the local offset (`...+01:00`). Emission-only: incoming values are parsed identically either way, so the prop can be added or removed without touching stored values. I… |
31
+ | `utc` | `boolean \| undefined` | `false` | | Emits values as UTC ISO strings (`...Z`) instead of ISO strings carrying the local offset (`...+01:00`). Emission-only: incoming values are parsed identically either way, so the prop can be added or removed without touching stored values. I… |
32
32
 
33
33
  ## Events
34
34
 
@@ -17,23 +17,23 @@
17
17
 
18
18
  | Prop | Type | Default | Required | Description |
19
19
  | --- | --- | --- | --- | --- |
20
- | `adaptive` | `boolean \| undefined` | `undefined` | | On mobile the calendar opens inside a bottom off-canvas sheet instead of a floating popover, mirroring the adaptive behaviour of `BbPopover`/`BbSelectPopover`. When unset, falls back to the global `config.adaptive`. |
21
- | `ampm` | `boolean \| undefined` | | | 12-hour display with an AM/PM segment (requires `type="datetime"`). Purely a field-composition concern: `modelValue` and the `time` model stay 24-hour regardless. Type `A`/`P` (or ArrowUp/Down) to set the meridiem. |
20
+ | `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | On mobile the calendar opens inside a bottom off-canvas sheet instead of a floating popover, mirroring the adaptive behaviour of `BbPopover`/`BbSelectPopover`. When unset, falls back to the global `config.adaptive`. |
21
+ | `ampm` | `boolean \| undefined` | `false` | | 12-hour display with an AM/PM segment (requires `type="datetime"`). Purely a field-composition concern: `modelValue` and the `time` model stay 24-hour regardless. Type `A`/`P` (or ArrowUp/Down) to set the meridiem. |
22
22
  | `append:icon` | `string \| undefined` | | | Name of the icon to render at the right hand side of the input. |
23
23
  | `ariaDescribedby` | `string \| undefined` | | | Additional description id(s) announced by assistive technologies. Usually provided by an outer input container to link hint/error text. |
24
24
  | `autocomplete` | `string \| undefined` | `"off"` | | Browser autocomplete hint for the input. |
25
25
  | `autofocus` | `Booleanish \| undefined` | | | Focus the first text field automatically when the component mounts. |
26
- | `clearable` | `boolean \| undefined` | | | Displays a clear button whenever a value is present and the control is interactive. |
27
- | `compact` | `boolean \| undefined` | | | Applies the compact density styles to the control. |
26
+ | `clearable` | `boolean \| undefined` | `false` | | Displays a clear button whenever a value is present and the control is interactive. |
27
+ | `compact` | `boolean \| undefined` | `false` | | Applies the compact density styles to the control. |
28
28
  | `disableCalendar` | `boolean \| "mobile" \| "desktop" \| undefined` | `false` | | Disables the calendar: hides the trigger button and prevents the popover from opening. Use `'desktop'` to disable it on desktop only (keyboard-first there, calendar-first on mobile — complementing `disableWriting: 'mobile'`) or `'mobile'` t… |
29
- | `disabled` | `boolean \| undefined` | | | Disables the input, calendar trigger, and popover. |
29
+ | `disabled` | `boolean \| undefined` | `false` | | Disables the input, calendar trigger, and popover. |
30
30
  | `disableWriting` | `boolean \| "mobile" \| "desktop" \| undefined` | `false` | | Controls whether manual typing is disabled inside the text fields. Use `'mobile'` to disable typing only on mobile, `'desktop'` to disable typing only on desktop. Applies to both single and range modes. |
31
31
  | `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | | | Sets the first day of the week for the calendar (0 = Sunday, 6 = Saturday). |
32
- | `floating` | `boolean \| undefined` | | | Emit dates formatted as `YYYY-MM-DD` instead of ISO strings. |
33
- | `hasErrors` | `boolean \| undefined` | | | Marks the control as invalid, applying error styles and setting `aria-invalid`. |
34
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
32
+ | `floating` | `boolean \| undefined` | `false` | | Emit dates formatted as `YYYY-MM-DD` instead of ISO strings. |
33
+ | `hasErrors` | `boolean \| undefined` | `false` | | Marks the control as invalid, applying error styles and setting `aria-invalid`. |
34
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
35
35
  | `id` | `string \| undefined` | | | Explicit id for the input element. Falls back to an auto-generated `bdpi-<uid>` value. |
36
- | `loading` | `boolean \| undefined` | | | Shows loading visuals on the input. |
36
+ | `loading` | `boolean \| undefined` | `false` | | Shows loading visuals on the input. |
37
37
  | `max` | `string \| undefined` | | | Maximum selectable date in `YYYY-MM-DD` format — or, with `type="datetime"`, `YYYY-MM-DDTHH:mm` to tighten the boundary day to a minute. Values outside both patterns throw during setup to surface configuration mistakes. |
38
38
  | `min` | `string \| undefined` | | | Minimum selectable date in `YYYY-MM-DD` format — or, with `type="datetime"`, `YYYY-MM-DDTHH:mm` to tighten the boundary day to a minute. Values outside both patterns throw during setup to surface configuration mistakes. |
39
39
  | `modelValue` | `string \| string[] \| null` | | yes | v-model value. Use `null` for empty, a single string for single selection, or a two-element string array (`[start, end]`) when `range` is true. |
@@ -41,16 +41,16 @@
41
41
  | `offCanvasProps` | `Partial<BbOffCanvasProps> \| undefined` | | | Extra props forwarded to the `BbOffCanvas` sheet when `adaptive` is active on mobile (e.g. `title`, `size`, `persistent`). |
42
42
  | `placeholder` | `string \| undefined` | | | Placeholder text displayed when no value is present. Defaults to the localized format hint (`baseDatePickerInput.dateFormatSingle` / `dateFormatRange` — e.g. `MM/DD/YYYY` for `en`, `GG/MM/AAAA` for `it`). |
43
43
  | `prepend:icon` | `string \| undefined` | | | Icon name rendered before the input field. |
44
- | `range` | `boolean \| undefined` | | | Enables range selection. When active, v-model expects a two-element array `[start, end]`. Users can still type into the start and end segments unless `disableWriting` disables typing. |
45
- | `readonly` | `boolean \| undefined` | | | Makes the text fields read-only and prevents opening the calendar. |
46
- | `required` | `boolean \| undefined` | | | Marks the inputs as required to the browser. |
47
- | `seconds` | `boolean \| undefined` | | | Adds the seconds segment (requires `type="datetime"`). Without it, an incoming value carrying seconds displays truncated and is left untouched until the user commits an edit, at which point seconds zero out. |
44
+ | `range` | `boolean \| undefined` | `false` | | Enables range selection. When active, v-model expects a two-element array `[start, end]`. Users can still type into the start and end segments unless `disableWriting` disables typing. |
45
+ | `readonly` | `boolean \| undefined` | `false` | | Makes the text fields read-only and prevents opening the calendar. |
46
+ | `required` | `boolean \| undefined` | `false` | | Marks the inputs as required to the browser. |
47
+ | `seconds` | `boolean \| undefined` | `false` | | Adds the seconds segment (requires `type="datetime"`). Without it, an incoming value carrying seconds displays truncated and is left untouched until the user commits an edit, at which point seconds zero out. |
48
48
  | `selectable` | `((date: string) => boolean) \| undefined` | | | Predicate invoked for each candidate date. Return `false` to disable selection for that value. |
49
- | `step` | `number \| undefined` | | | Minute granularity for the calendar's minute column and arrow stepping (requires `type="datetime"`). Constrains what the component produces, never what it accepts: a typed off-grid value (e.g. `10:07` with `step: 15`) is emitted verbatim, a… |
49
+ | `step` | `number \| undefined` | `1` | | Minute granularity for the calendar's minute column and arrow stepping (requires `type="datetime"`). Constrains what the component produces, never what it accepts: a typed off-grid value (e.g. `10:07` with `step: 15`) is emitted verbatim, a… |
50
50
  | `time` | `string \| string[] \| null \| undefined` | | | Companion model for the time part (`v-model:time`), always 24-hour `HH:mm` / `HH:mm:ss` regardless of display. With `floating` it is the only carrier of the time; otherwise it mirrors the time inside `modelValue` (same digits) and writing i… |
51
51
  | `transitionDuration` | `number \| undefined` | | | Transition duration, in milliseconds, for the popover appearance. |
52
52
  | `type` | `DatePickerType \| undefined` | `"date"` | | What the field edits, and therefore its segments and emitted shape. - `date` (default) — `DD/MM/YYYY`. - `datetime` — adds the time segments and the calendar's time rail. - `month` — `MM/YYYY`, emitting `YYYY-MM`. - `year` — `YYYY`, emittin… |
53
- | `utc` | `boolean \| undefined` | | | Emits values as UTC ISO strings (`...Z`) instead of ISO strings carrying the local offset (`...+01:00`). Emission-only: incoming values are parsed identically either way, so the prop can be added or removed without touching stored values. F… |
53
+ | `utc` | `boolean \| undefined` | `false` | | Emits values as UTC ISO strings (`...Z`) instead of ISO strings carrying the local offset (`...+01:00`). Emission-only: incoming values are parsed identically either way, so the prop can be added or removed without touching stored values. F… |
54
54
 
55
55
  ## Events
56
56
 
@@ -12,29 +12,29 @@
12
12
 
13
13
  | Prop | Type | Default | Required | Description |
14
14
  | --- | --- | --- | --- | --- |
15
- | `clearable` | `boolean \| undefined` | | | Whether the inner control exposes a clear action. |
16
- | `compact` | `boolean \| undefined` | | | Apply the compact density variant to the container. |
15
+ | `clearable` | `boolean \| undefined` | `false` | | Whether the inner control exposes a clear action. |
16
+ | `compact` | `boolean \| undefined` | `false` | | Apply the compact density variant to the container. |
17
17
  | `description` | `string \| undefined` | | | Always-visible descriptive text rendered below the label and above the input, in muted foreground color. When present, its id is exposed to the input slot via `ariaDescribedby`, after any error/warning ids and before the hint id. In `floati… |
18
18
  | `direction` | `InputDirection \| undefined` | `"vertical"` | | Controls label/input layout. Accepts `'vertical'`, `'horizontal'`, `'auto'`, or a two-token ratio pattern such as `"xx xxxxx"` that sizes the label/input columns by token length. An unrecognized value warns and falls back to `'auto'`. |
19
- | `disabled` | `boolean \| undefined` | | | Whether the inner control is disabled. |
19
+ | `disabled` | `boolean \| undefined` | `false` | | Whether the inner control is disabled. |
20
20
  | `errors` | `string \| string[] \| undefined` | | | Messages displayed beneath the input. Accepts a string or array; values are rendered one per line. They render in an `aria-live="polite"` region (announced when they appear) and, while the list is non-empty, their container id is also expos… |
21
- | `hasErrors` | `boolean \| undefined` | | | Forces the error state independently of `errors`, useful to pre-style the container. |
22
- | `hasValue` | `boolean \| undefined` | | | Whether the inner control currently contains a value. |
23
- | `hasWarning` | `boolean \| undefined` | | | Forces the warning state independently of `warnings`. Same chrome as errors but with `--bb-warn`; errors take priority when both are set. |
24
- | `hideLabel` | `boolean \| undefined` | | | Hide the visual label while keeping it available to assistive technology. |
21
+ | `hasErrors` | `boolean \| undefined` | `false` | | Forces the error state independently of `errors`, useful to pre-style the container. |
22
+ | `hasValue` | `boolean \| undefined` | `false` | | Whether the inner control currently contains a value. |
23
+ | `hasWarning` | `boolean \| undefined` | `false` | | Forces the warning state independently of `warnings`. Same chrome as errors but with `--bb-warn`; errors take priority when both are set. |
24
+ | `hideLabel` | `boolean \| undefined` | `false` | | Hide the visual label while keeping it available to assistive technology. |
25
25
  | `hint` | `string \| undefined` | | | Hint text rendered below the input. While shown, its id is exposed to the input slot via `ariaDescribedby` — last in the list, after any error/warning ids and the description id. |
26
26
  | `id` | `string \| undefined` | | | Explicit id for the container and associated input. Falls back to an auto-generated id when omitted. |
27
- | `inputPosition` | `"left" \| "center" \| "right" \| undefined` | | | Horizontal alignment of the input column when direction is horizontal or custom. Unset, it follows the layout: `'right'` in a horizontal/ratio split (beside the left-hand label), `'left'` otherwise — and `direction` is `'vertical'` by defau… |
27
+ | `inputPosition` | `"left" \| "center" \| "right" \| undefined` | `'left'` | | Horizontal alignment of the input column when direction is horizontal or custom. Unset, it follows the layout: `'right'` in a horizontal/ratio split (beside the left-hand label), `'left'` otherwise — and `direction` is `'vertical'` by defau… |
28
28
  | `label` | `string` | | yes | Visible label text for the field. Also used to derive a fallback name. |
29
29
  | `labelMode` | `"floating" \| "outside" \| "inside" \| undefined` | | | Label rendering mode. |
30
30
  | `labelPosition` | `"left" \| "center" \| "right" \| undefined` | `"left"` | | Horizontal alignment for the label column. |
31
31
  | `labelTag` | `LabelTag \| undefined` | `"label"` | | Element used for the label: `label` (default), `legend` inside a `fieldset` container, or `span` when the text must not steal the click because the control already carries its own label. |
32
- | `loading` | `boolean \| undefined` | | | Whether the inner control is in a loading state. |
33
- | `mobile` | `boolean \| undefined` | | | Whether the inner control is in mobile viewport mode. |
32
+ | `loading` | `boolean \| undefined` | `false` | | Whether the inner control is in a loading state. |
33
+ | `mobile` | `boolean \| undefined` | `false` | | Whether the inner control is in mobile viewport mode. |
34
34
  | `name` | `string \| undefined` | | | Explicit name attribute forwarded to the input. When omitted, a slug derived from `label` is used. |
35
- | `readonly` | `boolean \| undefined` | | | Whether the inner control is readonly. |
35
+ | `readonly` | `boolean \| undefined` | `false` | | Whether the inner control is readonly. |
36
36
  | `reverse` | `boolean \| undefined` | `false` | | Swap the label and input columns. |
37
- | `showHint` | `boolean \| undefined` | | | Keep the hint permanently visible, regardless of focus. |
37
+ | `showHint` | `boolean \| undefined` | `false` | | Keep the hint permanently visible, regardless of focus. |
38
38
  | `tag` | `ContainerTag \| undefined` | `"span"` | | Element used for the inner wrapper: `span` (default) to remain inline, `div` for a block wrapper, `fieldset` for grouped controls (pair it with `labelTag="legend"`), or `label` to make the whole wrapper activate the control. |
39
39
  | `warnings` | `string \| string[] \| undefined` | | | Warning messages displayed beneath the input, in their own `aria-live` region. Accepts a string or array; values are rendered one per line, in `--bb-text-warn` amber (the text-contrast half of the warning pair — the chrome stays on `--bb-wa… |
40
40
 
@@ -20,13 +20,13 @@
20
20
  | `ariaDescribedby` | `string \| undefined` | | | Id(s) of descriptive elements announced by screen readers. |
21
21
  | `autocomplete` | `string \| undefined` | `"off"` | | Browser autocomplete hint for the field. |
22
22
  | `autofocus` | `Booleanish \| undefined` | | | Focus the input automatically after mount. |
23
- | `clearable` | `boolean \| undefined` | | | Show a clear button whenever a value is present and the control is interactive. |
24
- | `compact` | `boolean \| undefined` | | | Apply the compact density variant. |
25
- | `disabled` | `boolean \| undefined` | | | Disable manual input and the exposed increase/decrease helpers. |
26
- | `hasErrors` | `boolean \| undefined` | | | Force the error state; also toggles `aria-invalid`. |
27
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
23
+ | `clearable` | `boolean \| undefined` | `false` | | Show a clear button whenever a value is present and the control is interactive. |
24
+ | `compact` | `boolean \| undefined` | `false` | | Apply the compact density variant. |
25
+ | `disabled` | `boolean \| undefined` | `false` | | Disable manual input and the exposed increase/decrease helpers. |
26
+ | `hasErrors` | `boolean \| undefined` | `false` | | Force the error state; also toggles `aria-invalid`. |
27
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
28
28
  | `id` | `string \| undefined` | | | Explicit id forwarded to the native input. |
29
- | `loading` | `boolean \| undefined` | | | Display the loading state styles. |
29
+ | `loading` | `boolean \| undefined` | `false` | | Display the loading state styles. |
30
30
  | `max` | `number \| undefined` | `Number.MAX_SAFE_INTEGER` | | Upper bound for clamping user input and helper increments. |
31
31
  | `maxPrecision` | `number \| undefined` | `8` | | Maximum number of decimal digits retained after processing. |
32
32
  | `min` | `number \| undefined` | `Number.MIN_SAFE_INTEGER` | | Lower bound for clamping user input and helper decrements. |
@@ -34,8 +34,8 @@
34
34
  | `name` | `string \| undefined` | | | Name attribute forwarded to the native input. |
35
35
  | `placeholder` | `string \| undefined` | | | Placeholder text when no value is present. |
36
36
  | `prepend:icon` | `string \| undefined` | | | Name of the icon to render at the left hand side of the input. |
37
- | `readonly` | `boolean \| undefined` | | | Make the input read-only while keeping its value visible. |
38
- | `required` | `boolean \| undefined` | | | Mark the input as required for form validation. |
37
+ | `readonly` | `boolean \| undefined` | `false` | | Make the input read-only while keeping its value visible. |
38
+ | `required` | `boolean \| undefined` | `false` | | Mark the input as required for form validation. |
39
39
  | `step` | `number \| undefined` | `1` | | Increment used by the `increase`/`decrease` helpers. Manual typing is never forced to this step. |
40
40
 
41
41
  ## Events
@@ -19,14 +19,14 @@
19
19
  | `ariaDescribedby` | `string \| undefined` | | | Id(s) of descriptive elements associated with the radio. |
20
20
  | `autofocus` | `Booleanish \| undefined` | | | Focus the control automatically after mount. |
21
21
  | `checked` | `boolean \| undefined` | `undefined` | | Force the radio into a checked state regardless of `modelValue`. |
22
- | `disabled` | `boolean \| undefined` | | | Disable the radio. When combined with `readonly`, the control is also disabled to mimic native behaviour. |
23
- | `hasErrors` | `boolean \| undefined` | | | Apply the error styling class. |
24
- | `hasWarning` | `boolean \| undefined` | | | Apply the warning styling class. Errors take priority when both are set. |
22
+ | `disabled` | `boolean \| undefined` | `false` | | Disable the radio. When combined with `readonly`, the control is also disabled to mimic native behaviour. |
23
+ | `hasErrors` | `boolean \| undefined` | `false` | | Apply the error styling class. |
24
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply the warning styling class. Errors take priority when both are set. |
25
25
  | `id` | `string \| undefined` | | | Explicit id for the underlying input element. |
26
26
  | `modelValue` | `any` | | | Current v-model value used to determine checked state. |
27
27
  | `name` | `string \| undefined` | | yes | Shared group name for the radio input (required to join options). |
28
- | `readonly` | `boolean \| undefined` | | | Treat the radio as read-only. Implemented by disabling the input while preserving styling hooks. |
29
- | `required` | `boolean \| undefined` | | | Mark the radio as required within its group. |
28
+ | `readonly` | `boolean \| undefined` | `false` | | Treat the radio as read-only. Implemented by disabling the input while preserving styling hooks. |
29
+ | `required` | `boolean \| undefined` | `false` | | Mark the radio as required within its group. |
30
30
  | `value` | `any` | | yes | Value emitted when the radio becomes checked. Accepts any serializable value. |
31
31
 
32
32
  ## Events
@@ -22,11 +22,11 @@
22
22
  | `dependencies` | `unknown[] \| undefined` | | | Additional dependencies that trigger item reloading when changed. |
23
23
  | `depsDebounceTime` | `number \| undefined` | `0` | | Debounce delay (ms) for dependency-triggered reloads. |
24
24
  | `direction` | `"horizontal" \| "vertical" \| undefined` | `"horizontal"` | | Direction of the layout of the inputs inside the fieldset. |
25
- | `disabled` | `boolean \| undefined` | | | Disable all radios in the group. |
26
- | `enforceCoherence` | `boolean \| undefined` | | | Reset modelValue to `null` if it no longer matches available items (enforces coherence). |
27
- | `hasErrors` | `boolean \| undefined` | | | Apply error styling to the group. |
28
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling to the group. Errors take priority when both are set. |
29
- | `hideLabel` | `boolean \| undefined` | | | Hide the visual label while keeping it accessible. |
25
+ | `disabled` | `boolean \| undefined` | `false` | | Disable all radios in the group. |
26
+ | `enforceCoherence` | `boolean \| undefined` | `false` | | Reset modelValue to `null` if it no longer matches available items (enforces coherence). |
27
+ | `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the group. |
28
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling to the group. Errors take priority when both are set. |
29
+ | `hideLabel` | `boolean \| undefined` | `false` | | Hide the visual label while keeping it accessible. |
30
30
  | `id` | `string \| undefined` | | | Explicit id for the fieldset. Used to generate ids for individual radios. |
31
31
  | `items` | `T[] \| ((prefill: boolean, modelValue?: any) => T[] \| Promise<T[]>)` | `[]` | yes | Array of items or function to load them asynchronously. |
32
32
  | `itemText` | `(T extends object ? NestedKeyOf<T> \| ((item: T) => string) : ((item: T) => string) \| undefined) \| undefined` | | | Path to item property for display text or function to extract it. |
@@ -36,8 +36,8 @@
36
36
  | `modelValueDebounceTime` | `number \| undefined` | `0` | | Debounce delay (ms) for modelValue change handling. |
37
37
  | `name` | `string \| undefined` | | yes | Shared name for all radios in the group (required for grouping). |
38
38
  | `noDataText` | `string \| undefined` | | | Message displayed when no items are available. |
39
- | `readonly` | `boolean \| undefined` | | | Make all radios read-only. |
40
- | `required` | `boolean \| undefined` | | | Mark at least one radio as required. |
39
+ | `readonly` | `boolean \| undefined` | `false` | | Make all radios read-only. |
40
+ | `required` | `boolean \| undefined` | `false` | | Mark at least one radio as required. |
41
41
  | `selectable` | `boolean \| ((item: T) => boolean) \| undefined` | `true` | | Defines whether options are selectable. Can be a global boolean that affects all options or a function that accepts an item and returns a boolean that only affects that item. Non-selectable options are rendered disabled. |
42
42
 
43
43
  ## Events
@@ -130,14 +130,30 @@ const selected = ref('team');
130
130
 
131
131
  ### Styling
132
132
 
133
- Restyle by overriding the glyph's CSS custom properties on the element (or an
134
- ancestor — they inherit):
133
+ Restyle by overriding the glyph's CSS custom properties on it:
135
134
 
136
135
  - `--size` — ring diameter (default `16px`)
137
- - `--space` — gap between ring and dot when checked (default `6px`)
136
+ - `--space` — gap between ring and dot when checked (default `2px`)
138
137
  - `--color` — dot color (default `--bb-primary`)
139
138
  - `--ring-color` — focus ring color
140
139
 
140
+ **On the element itself, not an ancestor.** Each of these is declared on the
141
+ glyph's own class, and a declaration on the element always beats one inherited
142
+ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
143
+ (verified: the glyph stays at its 16px default). Target the glyph class, or pass a `style` /
144
+ `class` that lands on it:
145
+
146
+ ```css
147
+ /* works */
148
+ .bb-base-radio-icon {
149
+ --size: 20px;
150
+ }
151
+ /* does nothing */
152
+ .my-form {
153
+ --size: 20px;
154
+ }
155
+ ```
156
+
141
157
  **Bigger and recolored**
142
158
 
143
159
  ```vue
@@ -168,12 +184,12 @@ ancestor — they inherit):
168
184
 
169
185
  | Prop | Type | Default | Required | Description |
170
186
  | --- | --- | --- | --- | --- |
171
- | `checked` | `boolean \| undefined` | | | Renders the checked state (grows the inner dot). |
172
- | `disabled` | `boolean \| undefined` | | | Disables the glyph (muted fill, not-allowed cursor). Purely visual. |
173
- | `focusVisible` | `boolean \| undefined` | | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
174
- | `hasErrors` | `boolean \| undefined` | | | Puts the glyph into the error state (danger border and ring color). |
175
- | `hasWarning` | `boolean \| undefined` | | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
176
- | `readonly` | `boolean \| undefined` | | | Renders the read-only affordance (default cursor instead of pointer). |
187
+ | `checked` | `boolean \| undefined` | `false` | | Renders the checked state (grows the inner dot). |
188
+ | `disabled` | `boolean \| undefined` | `false` | | Disables the glyph (muted fill, not-allowed cursor). Purely visual. |
189
+ | `focusVisible` | `boolean \| undefined` | `false` | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
190
+ | `hasErrors` | `boolean \| undefined` | `false` | | Puts the glyph into the error state (danger border and ring color). |
191
+ | `hasWarning` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
192
+ | `readonly` | `boolean \| undefined` | `false` | | Renders the read-only affordance (default cursor instead of pointer). |
177
193
 
178
194
  ## Events
179
195
 
@@ -20,14 +20,14 @@
20
20
  | `ariaLabelledby` | `string \| undefined` | | | Id(s) of the element(s) that NAME this rating group. Supplying one is what promotes the inner container to `role="radiogroup"` (Q4.5): an unnamed `radiogroup` announces as a bare "radio group" and is no better than the role-less `<span>` it… |
21
21
  | `autofocus` | `Booleanish \| undefined` | | | Sets autofocus on page load. |
22
22
  | `clearable` | `boolean \| undefined` | `false` | | Allows clearing the selected rating by clicking the current value. |
23
- | `disabled` | `boolean \| undefined` | | | Disable all interactions with the rating. |
24
- | `hasErrors` | `boolean \| undefined` | | | Apply error styling to the rating. |
25
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
23
+ | `disabled` | `boolean \| undefined` | `false` | | Disable all interactions with the rating. |
24
+ | `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the rating. |
25
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
26
26
  | `id` | `string \| undefined` | | | Explicit id for the rating container. Used to generate ids for individual stars. |
27
27
  | `modelValue` | `number \| null` | | yes | v-model value: the selected rating (1 to `stars`) or `null` for no selection. |
28
28
  | `name` | `string` | | yes | Shared name attribute for all star radio inputs (required for grouping). |
29
- | `readonly` | `boolean \| undefined` | | | Make the rating read-only while keeping it visible. |
30
- | `required` | `boolean \| undefined` | | | Mark the rating as required. |
29
+ | `readonly` | `boolean \| undefined` | `false` | | Make the rating read-only while keeping it visible. |
30
+ | `required` | `boolean \| undefined` | `false` | | Mark the rating as required. |
31
31
  | `size` | `number \| ({ size?: any; } & string) \| keyof Sizes \| undefined` | | | Rating icon size. Accepts preset keys or any custom CSS length unit (e.g. `56ch`, `2rem`, `48px`) — applied verbatim, percentages included. |
32
32
  | `stars` | `number \| undefined` | `5` | | Maximum number of stars to render and maximum selectable rating value. |
33
33
 
@@ -16,49 +16,49 @@
16
16
 
17
17
  | Prop | Type | Default | Required | Description |
18
18
  | --- | --- | --- | --- | --- |
19
- | `adaptive` | `boolean \| undefined` | `undefined` | | When `true`, the options panel opens as a bottom off-canvas sheet on mobile viewports instead of a floating popover; on desktop it stays a popover. When unset, falls back to the global `config.adaptive`. |
19
+ | `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | When `true`, the options panel opens as a bottom off-canvas sheet on mobile viewports instead of a floating popover; on desktop it stays a popover. When unset, falls back to the global `config.adaptive`. |
20
20
  | `append:icon` | `string \| undefined` | | | Name of the icon to render at the right hand side of the control. |
21
21
  | `ariaDescribedby` | `string \| string[] \| undefined` | | | Id(s) of elements describing this select for assistive technologies. |
22
- | `autocomplete` | `string \| undefined` | | | Browser autocomplete hint forwarded to the search input inside the dropdown. |
22
+ | `autocomplete` | `string \| undefined` | `'off'` | | Browser autocomplete hint forwarded to the search input inside the dropdown. |
23
23
  | `autofocus` | `Booleanish \| undefined` | | | Focuses the activator button on page load. |
24
- | `clearable` | `boolean \| undefined` | | | Show a clear button whenever a value is present and the control is interactive. |
25
- | `comma` | `boolean \| undefined` | | | Display selected values as a comma-separated string instead of individual chips. |
26
- | `compact` | `boolean \| undefined` | | | Apply the compact density variant. |
27
- | `dependencies` | `any[] \| undefined` | | | Additional dependencies that trigger item reloading when changed. |
28
- | `depsDebounceTime` | `number \| undefined` | | | Debounce delay (ms) for dependency-triggered reloads. |
29
- | `disabled` | `boolean \| undefined` | | | Disables the component. |
30
- | `disableWriting` | `boolean \| "mobile" \| "desktop" \| undefined` | | | Controls whether the search input is shown inside the dropdown panel. Use `'mobile'` to hide it only on mobile, `'desktop'` to hide it only on desktop. |
31
- | `enforceCoherence` | `boolean \| undefined` | | | Reset modelValue to `null` or empty array if it no longer matches available items. |
32
- | `filterBy` | `string[] \| undefined` | | | Property paths used to filter options when the user types in the search input. When empty (default) options are matched against their display text. When non-empty the provided paths are searched instead of the display text. To disable filte… |
24
+ | `clearable` | `boolean \| undefined` | `false` | | Show a clear button whenever a value is present and the control is interactive. |
25
+ | `comma` | `boolean \| undefined` | `false` | | Display selected values as a comma-separated string instead of individual chips. |
26
+ | `compact` | `boolean \| undefined` | `false` | | Apply the compact density variant. |
27
+ | `dependencies` | `any[] \| undefined` | `[]` | | Additional dependencies that trigger item reloading when changed. |
28
+ | `depsDebounceTime` | `number \| undefined` | `0` | | Debounce delay (ms) for dependency-triggered reloads. |
29
+ | `disabled` | `boolean \| undefined` | `false` | | Disables the component. |
30
+ | `disableWriting` | `boolean \| "mobile" \| "desktop" \| undefined` | `false` | | Controls whether the search input is shown inside the dropdown panel. Use `'mobile'` to hide it only on mobile, `'desktop'` to hide it only on desktop. |
31
+ | `enforceCoherence` | `boolean \| undefined` | `false` | | Reset modelValue to `null` or empty array if it no longer matches available items. |
32
+ | `filterBy` | `string[] \| undefined` | `[]` | | Property paths used to filter options when the user types in the search input. When empty (default) options are matched against their display text. When non-empty the provided paths are searched instead of the display text. To disable filte… |
33
33
  | `groupBy` | `string \| ((item: Item) => string \| number \| symbol) \| undefined` | | | Path or function used to group options. |
34
- | `hasErrors` | `boolean \| undefined` | | | Apply error styling to the select. |
35
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
34
+ | `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the select. |
35
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
36
36
  | `headerHeight` | `number \| undefined` | | | Height of group headers in the listbox (px). |
37
37
  | `id` | `string \| undefined` | | | Explicit id for the control element. Also used to generate listbox and search input ids. |
38
38
  | `itemHeight` | `number \| undefined` | | | Height of options in the listbox (px). |
39
39
  | `items` | `Item[] \| ((query: string, prefill: boolean, modelValue: any) => Promise<Item[]>) \| ((query: string, prefill: boolean, modelValue: any) => Item[])` | | yes | Array of items or async loader function. Loader functions receive `(query, prefill, modelValue)`; `modelValue` is the raw v-model: an array in `multiple` mode, the raw model value (possibly `null`) in single mode. |
40
40
  | `itemText` | `string \| ((item: Item) => string) \| undefined` | | | Path or function to extract display text from an item. |
41
41
  | `itemValue` | `string \| ((item: Item) => string) \| undefined` | | | Path or function to extract a value from an item. |
42
- | `loading` | `boolean \| undefined` | | | Display the loading state. |
42
+ | `loading` | `boolean \| undefined` | `false` | | Display the loading state. |
43
43
  | `loadingText` | `string \| undefined` | | | Message shown while items are loading. |
44
- | `max` | `number \| undefined` | | | Maximum number of selectable items. |
44
+ | `max` | `number \| undefined` | `Infinity` | | Maximum number of selectable items. |
45
45
  | `maxSelectedLabels` | `number \| undefined` | `Infinity` | | Maximum number of labels shown before collapsing to a count summary. When set, this takes precedence over width-based overflow detection. |
46
46
  | `modelValue` | `any` | | yes | v-model value. Array when `multiple` is true. |
47
47
  | `modelValueDebounceTime` | `number \| undefined` | `0` | | Debounce delay (ms) for modelValue change handling. |
48
- | `multiple` | `boolean \| undefined` | | | Enable multiple item selection. Requires modelValue to be an array. |
48
+ | `multiple` | `boolean \| undefined` | `false` | | Enable multiple item selection. Requires modelValue to be an array. |
49
49
  | `name` | `string \| undefined` | | | Name attribute forwarded to hidden inputs for form submission. |
50
50
  | `noDataText` | `string \| undefined` | | | Message displayed when no options match. |
51
51
  | `offCanvasProps` | `Partial<BbOffCanvasProps> \| undefined` | | | Extra props forwarded to the `BbOffCanvas` sheet when `adaptive` is active on mobile. |
52
52
  | `placeholder` | `string \| undefined` | | | Placeholder text shown when no value is selected. |
53
53
  | `prefill` | `boolean \| "interaction" \| undefined` | `"interaction"` | | Controls when items are pre-loaded. `'interaction'` loads on first user interaction, `true` loads immediately, `false` is *search-first*: with a provider, nothing loads until the user types (opening alone does not), and the panel shows a "s… |
54
54
  | `prepend:icon` | `string \| undefined` | | | Name of the icon to render at the left hand side of the control. |
55
- | `queryDebounceTime` | `number \| undefined` | | | Debounce delay (ms) before triggering search queries after user input. |
56
- | `readonly` | `boolean \| undefined` | | | Make the control read-only while keeping the dropdown accessible. |
57
- | `required` | `boolean \| undefined` | | | Marks the field as required for form validation. A visually-hidden sentinel input is used so native browser constraint validation fires. |
55
+ | `queryDebounceTime` | `number \| undefined` | `500` | | Debounce delay (ms) before triggering search queries after user input. |
56
+ | `readonly` | `boolean \| undefined` | `false` | | Make the control read-only while keeping the dropdown accessible. |
57
+ | `required` | `boolean \| undefined` | `false` | | Marks the field as required for form validation. A visually-hidden sentinel input is used so native browser constraint validation fires. |
58
58
  | `selectable` | `boolean \| ((item: Item) => boolean) \| undefined` | `true` | | Defines whether options are selectable. Can be a global boolean that affects all options or a function that accepts an item and returns a boolean that only affects that item. Non-selectable options are rendered disabled. |
59
59
  | `selectedLabelsFn` | `((count: number) => string) \| undefined` | | | Function to generate a summary label when selected items exceed `maxSelectedLabels` or overflow the control width. |
60
- | `stash` | `boolean \| undefined` | | | Accumulate selected items across searches. |
61
- | `transitionDuration` | `number \| undefined` | | | Transition duration (ms) for dropdown animations. Forwarded to `BbSelectPopover`, which supplies the default. |
60
+ | `stash` | `boolean \| undefined` | `false` | | Accumulate selected items across searches. |
61
+ | `transitionDuration` | `number \| undefined` | `250` | | Transition duration (ms) for dropdown animations. Forwarded to `BbSelectPopover`, which supplies the default. |
62
62
 
63
63
  ## Events
64
64
 
@@ -76,6 +76,7 @@
76
76
 
77
77
  - `append` — scope: `BaseSelectActivatorSlotProps`
78
78
  - `append-outer` — scope: `BaseSelectOuterSlotProps`
79
+ - `chip` — scope: `BaseSelectChipSlotProps<Item>` — Replaces the default badge rendered for each selection in `multiple` mode.
79
80
  - `footer` — scope: `BaseSelectPanelSlotProps` — Content pinned to the bottom of the panel, below the options list.
80
81
  - `group` — scope: `BaseSelectGroupSlotProps<Item>`
81
82
  - `header` — scope: `BaseSelectPanelSlotProps` — Content pinned to the top of the panel, above the search field.
@@ -18,22 +18,22 @@
18
18
  | --- | --- | --- | --- | --- |
19
19
  | `ariaDescribedby` | `string \| undefined` | | | Id(s) of elements describing this slider for assistive technologies. |
20
20
  | `autofocus` | `Booleanish \| undefined` | | | Focus the slider on mount. |
21
- | `compact` | `boolean \| undefined` | | | Apply the compact density variant. |
22
- | `disabled` | `boolean \| undefined` | | | Disable all interactions with the slider. |
23
- | `disableThumbTranslate` | `boolean \| undefined` | | | Disables the proportional thumb translation that keeps thumbs centered on the track (enabled by default). Set it when displaying ticks for better alignment. |
24
- | `hasErrors` | `boolean \| undefined` | | | Apply error styling to the slider. |
25
- | `hasWarning` | `boolean \| undefined` | | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
21
+ | `compact` | `boolean \| undefined` | `false` | | Apply the compact density variant. |
22
+ | `disabled` | `boolean \| undefined` | `false` | | Disable all interactions with the slider. |
23
+ | `disableThumbTranslate` | `boolean \| undefined` | `false` | | Disables the proportional thumb translation that keeps thumbs centered on the track (enabled by default). Set it when displaying ticks for better alignment. |
24
+ | `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the slider. |
25
+ | `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
26
26
  | `id` | `string \| undefined` | | | Explicit id for the slider container. Used to generate ids for thumbs. |
27
27
  | `max` | `number \| undefined` | `100` | | Upper bound for slider values. |
28
28
  | `maxPrecision` | `number \| undefined` | `2` | | Maximum decimal places to retain in emitted values. |
29
29
  | `min` | `number \| undefined` | `0` | | Lower bound for slider values. |
30
30
  | `modelValue` | `number \| number[] \| null` | `0` | yes | v-model value. Single number for single slider, two-element array for range. |
31
31
  | `name` | `string \| undefined` | | | Defines the name of the input. |
32
- | `range` | `boolean \| undefined` | | | Enable range selection with two thumbs. When true, modelValue must be an array. |
33
- | `readonly` | `boolean \| undefined` | | | Make the slider read-only while keeping it visible. |
34
- | `required` | `boolean \| undefined` | | | Mark the slider as required. |
32
+ | `range` | `boolean \| undefined` | `false` | | Enable range selection with two thumbs. When true, modelValue must be an array. |
33
+ | `readonly` | `boolean \| undefined` | `false` | | Make the slider read-only while keeping it visible. |
34
+ | `required` | `boolean \| undefined` | `false` | | Mark the slider as required. |
35
35
  | `step` | `number \| undefined` | `1` | | Granularity step for value changes via keyboard or pointer interaction. |
36
- | `ticks` | `boolean \| undefined` | | | Show tick marks at each step interval. |
36
+ | `ticks` | `boolean \| undefined` | `false` | | Show tick marks at each step interval. |
37
37
 
38
38
  ## Events
39
39
 
@@ -17,19 +17,19 @@
17
17
  | Prop | Type | Default | Required | Description |
18
18
  | --- | --- | --- | --- | --- |
19
19
  | `ariaDescribedby` | `string \| undefined` | | | ID of the element that describes this checkbox for assistive technologies. Forwarded to the input as `aria-describedby`. |
20
- | `autofocus` | `Booleanish \| undefined` | | | Automatically focuses the checkbox when the page/component loads. Use sparingly to avoid usability issues. |
20
+ | `autofocus` | `Booleanish \| undefined` | `false` | | Automatically focuses the checkbox when the page/component loads. Use sparingly to avoid usability issues. |
21
21
  | `checked` | `boolean \| undefined` | `undefined` | | Forces the checkbox checked state (controlled prop). When omitted, the checked state is derived from `modelValue === trueValue`. Deliberately `undefined` rather than `false`, so "unset" stays distinguishable from an explicit `:checked="fals… |
22
- | `disabled` | `boolean \| undefined` | | | Disables user interaction. Also applied when `readonly` is set, since native checkboxes do not support `readonly`. |
22
+ | `disabled` | `boolean \| undefined` | `false` | | Disables user interaction. Also applied when `readonly` is set, since native checkboxes do not support `readonly`. |
23
23
  | `falseValue` | `any` | `false` | | Value submitted/emitted when the checkbox is unchecked. Accepts any serializable value. Serialized to a string for form submission. |
24
- | `hasErrors` | `boolean \| undefined` | | | Puts the component into an error state (adds error styling class `bb-base-checkbox--errors`). |
25
- | `hasWarning` | `boolean \| undefined` | | | Puts the component into a warning state (adds `bb-base-checkbox--warnings`). Errors take priority when both are set. |
24
+ | `hasErrors` | `boolean \| undefined` | `false` | | Puts the component into an error state (adds error styling class `bb-base-checkbox--errors`). |
25
+ | `hasWarning` | `boolean \| undefined` | `false` | | Puts the component into a warning state (adds `bb-base-checkbox--warnings`). Errors take priority when both are set. |
26
26
  | `id` | `string \| undefined` | | | Identifier forwarded to the input. |
27
- | `indeterminate` | `boolean \| undefined` | | | Renders the checkbox in the indeterminate state (neither checked nor unchecked). Note: the native `indeterminate` state resets on user click; this component re-applies it to keep UI and prop aligned. |
27
+ | `indeterminate` | `boolean \| undefined` | `false` | | Renders the checkbox in the indeterminate state (neither checked nor unchecked). Note: the native `indeterminate` state resets on user click; this component re-applies it to keep UI and prop aligned. |
28
28
  | `modelValue` | `any` | | | Bound value for `v-model`. When it equals `trueValue` the checkbox is considered checked, otherwise unchecked. |
29
29
  | `name` | `string \| undefined` | | | Name attribute of the input, used during form submission. |
30
- | `readonly` | `boolean \| undefined` | | | Puts the input in a read-only state. Since checkboxes do not support native `readonly`, the input is disabled while styled as read-only. |
31
- | `required` | `boolean \| undefined` | | | Marks the input as required for form validation. |
32
- | `submitWhenFalse` | `boolean \| undefined` | | | When unchecked, submits a hidden input with `falseValue` so that a value is still posted with the form. When checked, the visible input submits `trueValue` as usual. |
30
+ | `readonly` | `boolean \| undefined` | `false` | | Puts the input in a read-only state. Since checkboxes do not support native `readonly`, the input is disabled while styled as read-only. |
31
+ | `required` | `boolean \| undefined` | `false` | | Marks the input as required for form validation. |
32
+ | `submitWhenFalse` | `boolean \| undefined` | `false` | | When unchecked, submits a hidden input with `falseValue` so that a value is still posted with the form. When checked, the visible input submits `trueValue` as usual. |
33
33
  | `trueValue` | `any` | `true` | | Value submitted/emitted when the checkbox is checked. Accepts any serializable value. Serialized to a string for form submission. |
34
34
 
35
35
  ## Events