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,5 +1,18 @@
1
- import { ComputedRef } from 'vue';
2
1
  import { IconType } from '../../types/Icon';
2
+ /**
3
+ * A read-only view of one piece of the host's state.
4
+ *
5
+ * Deliberately NOT `ComputedRef`: the badge publishes seven of these and a
6
+ * table cell can hold several badges, so seven `computed()` effects per badge
7
+ * per row was pure ceremony — every one of them is a bare prop read with
8
+ * nothing to memoize. A getter is tracked exactly the same way when the
9
+ * consumer reads it inside its own render effect, and costs nothing to create.
10
+ * Shaped as `{ value }` so every call site reads `host.x.value`, as it did
11
+ * when these were refs.
12
+ */
13
+ export type HostValue<T> = {
14
+ readonly value: T;
15
+ };
3
16
  /**
4
17
  * State `BbBadge` publishes to its subtree. `BadgeBodyContent` renders the
5
18
  * badge's leading side from it — identically whether the body wrapper is the
@@ -8,20 +21,20 @@ import { IconType } from '../../types/Icon';
8
21
  */
9
22
  export type BadgeHostContext = {
10
23
  /** `icon`-mode glyph; when set the label renders visually hidden. */
11
- icon: ComputedRef<IconType | undefined>;
12
- prependIcon: ComputedRef<IconType | undefined>;
13
- appendIcon: ComputedRef<IconType | undefined>;
14
- loading: ComputedRef<boolean>;
24
+ icon: HostValue<IconType | undefined>;
25
+ prependIcon: HostValue<IconType | undefined>;
26
+ appendIcon: HostValue<IconType | undefined>;
27
+ loading: HostValue<boolean>;
15
28
  /** Whether the loading spinner takes the leading slot (BbButton convention). */
16
- spinnerLeads: ComputedRef<boolean>;
29
+ spinnerLeads: HostValue<boolean>;
17
30
  /** Whether it takes the trailing slot instead (a sole `append:icon`). */
18
- spinnerTrails: ComputedRef<boolean>;
31
+ spinnerTrails: HostValue<boolean>;
19
32
  /**
20
33
  * Whether the badge renders a clear control. It owns the trailing side, and
21
34
  * the append icon joins it there to share the hover swap — so the body keeps
22
35
  * the append icon only when the badge is *not* clearable.
23
36
  */
24
- clearable: ComputedRef<boolean>;
37
+ clearable: HostValue<boolean>;
25
38
  };
26
39
  export declare const provideBadgeHost: (context: BadgeHostContext) => void;
27
40
  export declare const useBadgeHost: () => BadgeHostContext | null;
@@ -34,8 +34,14 @@ export type BbBadgeProps = {
34
34
  */
35
35
  clearable?: boolean;
36
36
  /**
37
- * Accessible label for the clear button. Falls back to the localized
38
- * `badge.clearLabel` key.
37
+ * Accessible label for the clear button.
38
+ *
39
+ * Rarely needed: unset, the name is **composed** from the localized
40
+ * `badge.clearLabel` verb and the badge's own text — "Remove Italy", not a
41
+ * bare "Remove" — which is already the right name in almost every case.
42
+ * Composition is skipped when a `BbBadgeButton` owns the body (the verb
43
+ * then stands alone, so the two controls do not both announce the label).
44
+ * Set this only to override that composed name outright.
39
45
  */
40
46
  clearableLabel?: string;
41
47
  /**
@@ -1,8 +1,8 @@
1
- import { useFrameworkDetection as e } from "../../composables/useFrameworkDetection.js";
2
- import t from "./RouterComponent.vue.js";
3
- import { useHydrated as n } from "../../composables/useHydrated.js";
4
- import { useInertiaPage as r } from "../../composables/useInertiaPage.js";
5
- import { config as i } from "virtual:bitboss-ui/config";
1
+ import { useConfig as e } from "../../composables/useConfig.js";
2
+ import { useFrameworkDetection as t } from "../../composables/useFrameworkDetection.js";
3
+ import n from "./RouterComponent.vue.js";
4
+ import { useHydrated as r } from "../../composables/useHydrated.js";
5
+ import { useInertiaPage as i } from "../../composables/useInertiaPage.js";
6
6
  import { computed as a, createBlock as o, createElementBlock as s, createTextVNode as c, defineComponent as l, mergeProps as u, openBlock as d, renderSlot as f, resolveDynamicComponent as p, toDisplayString as m, withCtx as h } from "vue";
7
7
  //#region src/components/BbBaseButton/BbBaseButton.vue?vue&type=script&setup=true&lang.ts
8
8
  var g = "http://localhost", _ = /*@__PURE__*/ l({
@@ -60,7 +60,7 @@ var g = "http://localhost", _ = /*@__PURE__*/ l({
60
60
  viewTransition: { type: Boolean }
61
61
  },
62
62
  setup(l) {
63
- let _ = l, { isInertia: v, isNuxt: y } = e(), { isHydrated: b } = n(), { getPageUrl: x } = r(), S = typeof window < "u", C = S ? window.location.origin : null, w = (e, t) => {
63
+ let _ = l, v = e(), { isInertia: y, isNuxt: b } = t(), { isHydrated: x } = r(), { getPageUrl: S } = i(), C = typeof window < "u", w = C ? window.location.origin : null, T = (e, t) => {
64
64
  let n = e.trim();
65
65
  if (!n) return !1;
66
66
  if (n.startsWith("#") || n.startsWith("//")) return !0;
@@ -71,52 +71,52 @@ var g = "http://localhost", _ = /*@__PURE__*/ l({
71
71
  } catch {
72
72
  return !0;
73
73
  }
74
- }, T = (e) => e === "/" ? e : e.replace(/\/+$/, ""), E = a(() => {
75
- let e = x();
74
+ }, E = (e) => e === "/" ? e : e.replace(/\/+$/, ""), D = a(() => {
75
+ let e = S();
76
76
  if (e) try {
77
- return T(new URL(e, g).pathname);
77
+ return E(new URL(e, g).pathname);
78
78
  } catch {
79
79
  return;
80
80
  }
81
- }), D = a(() => !!(_.href && !w(_.href, C))), O = a(() => {
82
- if (!D.value || !_.href) return;
83
- let e = E.value ?? "/";
81
+ }), O = a(() => !!(_.href && !T(_.href, w))), k = a(() => {
82
+ if (!O.value || !_.href) return;
83
+ let e = D.value ?? "/";
84
84
  try {
85
- return T(new URL(_.href, `${g}${e}`).pathname);
85
+ return E(new URL(_.href, `${g}${e}`).pathname);
86
86
  } catch {
87
87
  return;
88
88
  }
89
- }), k = a(() => S && b.value ? T(window.location.pathname) : void 0), A = a(() => {
90
- if (!_.href || w(_.href, C)) return;
91
- let e = k.value ?? "/";
89
+ }), A = a(() => C && x.value ? E(window.location.pathname) : void 0), j = a(() => {
90
+ if (!_.href || T(_.href, w)) return;
91
+ let e = A.value ?? "/";
92
92
  try {
93
- return T(new URL(_.href, `${g}${e}`).pathname);
93
+ return E(new URL(_.href, `${g}${e}`).pathname);
94
94
  } catch {
95
95
  return;
96
96
  }
97
- }), j = a(() => v ? E.value : k.value), M = a(() => v ? O.value : A.value), N = a(() => {
97
+ }), M = a(() => y ? D.value : A.value), N = a(() => y ? k.value : j.value), P = a(() => {
98
98
  if (_.to) return !1;
99
- let e = j.value, t = M.value;
99
+ let e = M.value, t = N.value;
100
100
  return !e || !t ? !1 : t === e;
101
- }), P = a(() => {
101
+ }), F = a(() => {
102
102
  if (_.to) return !1;
103
- let e = j.value, t = M.value;
103
+ let e = M.value, t = N.value;
104
104
  return !e || !t ? !1 : t === "/" ? e.startsWith("/") : e === t || e.startsWith(`${t}/`);
105
- }), F = a(() => !!(_.href && v && D.value && !_.disabled && !_.target && !_.download && !_.external || _.to && !_.disabled)), I = a(() => !!(_.href || _.to && _.disabled)), L = a(() => _.activeClass ?? i.linkActiveClass), R = a(() => _.exactActiveClass ?? i.linkExactActiveClass), z = a(() => ({
105
+ }), I = a(() => !!(_.href && y && O.value && !_.disabled && !_.target && !_.download && !_.external || _.to && !_.disabled)), L = a(() => !!(_.href || _.to && _.disabled)), R = a(() => _.activeClass ?? v.linkActiveClass), z = a(() => _.exactActiveClass ?? v.linkExactActiveClass), B = a(() => ({
106
106
  "bb-base-button": !0,
107
107
  "bb-base-button--block": _.block,
108
108
  "bb-base-button--disabled": _.disabled,
109
- [L.value]: P.value,
110
- [R.value]: N.value
111
- })), B = a(() => {
109
+ [R.value]: F.value,
110
+ [z.value]: P.value
111
+ })), V = a(() => {
112
112
  let e = _.rel?.trim() ?? "";
113
113
  if (!_.target || _.target === "_self") return e || void 0;
114
114
  let t = new Set(e.split(/\s+/).filter(Boolean));
115
115
  return t.add("noopener"), t.add("noreferrer"), Array.from(t).join(" ");
116
- }), V = () => ({
116
+ }), H = () => ({
117
117
  disabled: _.disabled,
118
118
  type: _.type
119
- }), H = () => {
119
+ }), U = () => {
120
120
  if (_.disabled) return {
121
121
  "aria-disabled": !0,
122
122
  role: "link",
@@ -125,12 +125,12 @@ var g = "http://localhost", _ = /*@__PURE__*/ l({
125
125
  };
126
126
  let e = {
127
127
  href: _.href,
128
- rel: B.value,
128
+ rel: V.value,
129
129
  target: _.target,
130
130
  download: _.download === !0 ? "" : (_.download ?? void 0) || void 0
131
131
  };
132
- return N.value && (e["aria-current"] = _.ariaCurrentValue ?? "page"), e;
133
- }, U = () => ({
132
+ return P.value && (e["aria-current"] = _.ariaCurrentValue ?? "page"), e;
133
+ }, W = () => ({
134
134
  data: _.data,
135
135
  async: _.async,
136
136
  cacheFor: _.cacheFor,
@@ -159,32 +159,32 @@ var g = "http://localhost", _ = /*@__PURE__*/ l({
159
159
  preserveState: _.preserveState,
160
160
  queryStringArrayFormat: _.queryStringArrayFormat,
161
161
  replace: _.replace
162
- }), W = () => ({
163
- activeClass: L.value,
162
+ }), G = () => ({
163
+ activeClass: R.value,
164
164
  ariaCurrentValue: _.ariaCurrentValue,
165
- exactActiveClass: R.value,
166
- ...y ? { external: _.external } : {},
167
- rel: B.value,
165
+ exactActiveClass: z.value,
166
+ ...b ? { external: _.external } : {},
167
+ rel: V.value,
168
168
  replace: _.replace,
169
169
  target: _.target,
170
170
  to: _.to
171
- }), G = a(() => _.tag ?? "button"), K = a(() => G.value === "button" ? V() : {}), q = a(() => H()), J = a(() => W()), Y = a(() => v ? {
172
- ...q.value,
173
- ...U()
174
- } : J.value);
175
- return (e, n) => F.value ? (d(), o(t, u({
171
+ }), K = a(() => _.tag ?? "button"), q = a(() => K.value === "button" ? H() : {}), J = a(() => U()), Y = a(() => G()), X = a(() => y ? {
172
+ ...J.value,
173
+ ...W()
174
+ } : Y.value);
175
+ return (e, t) => I.value ? (d(), o(n, u({
176
176
  key: 0,
177
- class: z.value
178
- }, Y.value), {
177
+ class: B.value
178
+ }, X.value), {
179
179
  default: h(() => [f(e.$slots, "default", {}, () => [c(m(e.text), 1)])]),
180
180
  _: 3
181
- }, 16, ["class"])) : I.value ? (d(), s("a", u({
181
+ }, 16, ["class"])) : L.value ? (d(), s("a", u({
182
182
  key: 1,
183
- class: z.value
184
- }, q.value), [f(e.$slots, "default", {}, () => [c(m(e.text), 1)])], 16)) : (d(), o(p(G.value), u({
183
+ class: B.value
184
+ }, J.value), [f(e.$slots, "default", {}, () => [c(m(e.text), 1)])], 16)) : (d(), o(p(K.value), u({
185
185
  key: 2,
186
- class: z.value
187
- }, K.value), {
186
+ class: B.value
187
+ }, q.value), {
188
188
  default: h(() => [f(e.$slots, "default", {}, () => [c(m(e.text), 1)])]),
189
189
  _: 3
190
190
  }, 16, ["class"]));
@@ -1,25 +1,25 @@
1
- import { useLogger as e } from "../../composables/useLogger.js";
2
- import { useFrameworkDetection as t } from "../../composables/useFrameworkDetection.js";
3
- import { config as n } from "virtual:bitboss-ui/config";
1
+ import { useConfig as e } from "../../composables/useConfig.js";
2
+ import { useLogger as t } from "../../composables/useLogger.js";
3
+ import { useFrameworkDetection as n } from "../../composables/useFrameworkDetection.js";
4
4
  import { createBlock as r, defineComponent as i, getCurrentInstance as a, openBlock as o, renderSlot as s, resolveComponent as c, resolveDynamicComponent as l, unref as u, withCtx as d } from "vue";
5
5
  import { InertiaLink as f } from "virtual:bitboss-ui/link";
6
6
  //#region src/components/BbBaseButton/RouterComponent.vue?vue&type=script&setup=true&lang.ts
7
7
  var p = /*@__PURE__*/ i({
8
8
  __name: "RouterComponent",
9
9
  setup(i) {
10
- let { isInertia: p, isNuxt: m } = t(), h;
11
- if (p) {
12
- if (h = a()?.appContext.components?.[n.inertiaLinkName] ?? f, !h) {
13
- let { warn: t } = e();
14
- t(`Inertia link component "${n.inertiaLinkName}" could not be resolved, and "@inertiajs/vue3" is not installed in this app. Install it, register a link component globally under the name "${n.inertiaLinkName}", or set the bitboss-ui config key "inertiaLinkName" to the name you do register.`), h = n.inertiaLinkName;
10
+ let p = e(), { isInertia: m, isNuxt: h } = n(), g;
11
+ if (m) {
12
+ if (g = a()?.appContext.components?.[p.inertiaLinkName] ?? f, !g) {
13
+ let { warn: e } = t();
14
+ e(`Inertia link component "${p.inertiaLinkName}" could not be resolved, and "@inertiajs/vue3" is not installed in this app. Install it, register a link component globally under the name "${p.inertiaLinkName}", or set the bitboss-ui config key "inertiaLinkName" to the name you do register.`), g = p.inertiaLinkName;
15
15
  }
16
- } else if (m) {
17
- if (h = c(n.nuxtLinkName), typeof h == "string") {
18
- let { warn: t } = e();
19
- t(`Nuxt link component "${n.nuxtLinkName}" could not be resolved. Ensure you app registers a link component with the name "${n.nuxtLinkName}" or set bitboss-ui config key "nuxtLinkName" to the correct value globally.`);
16
+ } else if (h) {
17
+ if (g = c(p.nuxtLinkName), typeof g == "string") {
18
+ let { warn: e } = t();
19
+ e(`Nuxt link component "${p.nuxtLinkName}" could not be resolved. Ensure you app registers a link component with the name "${p.nuxtLinkName}" or set bitboss-ui config key "nuxtLinkName" to the correct value globally.`);
20
20
  }
21
- } else h = "router-link";
22
- return (e, t) => (o(), r(l(u(h)), null, {
21
+ } else g = "router-link";
22
+ return (e, t) => (o(), r(l(u(g)), null, {
23
23
  default: d(() => [s(e.$slots, "default")]),
24
24
  _: 3
25
25
  }));
@@ -1,6 +1,6 @@
1
1
  import { useLogger as e } from "../../composables/useLogger.js";
2
- import { useItemsGetter as t } from "../../composables/useItemsGetter.js";
3
- import { hash as n } from "../../utilities/functions/hash.js";
2
+ import { hash as t } from "../../utilities/functions/hash.js";
3
+ import { useItemsGetter as n } from "../../composables/useItemsGetter.js";
4
4
  import { useHashedWatcher as r } from "../../composables/useHashedWatcher.js";
5
5
  import i from "../BbBaseCheckbox/BbBaseCheckbox.vue.js";
6
6
  import a from "../OptionsContainer/OptionsContainer.vue.js";
@@ -69,54 +69,56 @@ var D = /*@__PURE__*/ g({
69
69
  });
70
70
  let j = T("container"), { active: M } = u(j);
71
71
  d(M, () => k("inactive")), f(M, () => k("active"));
72
- let { getter: N, items: P, loading: F } = t({ items: C(O, "items") }), I = () => {
73
- O.enforceCoherence && !W.value && k("update:modelValue", G.value);
74
- }, { hasPrefilled: L } = l({
72
+ let { getter: N, clientReproducible: P, hydratedFromSsr: F, items: I, loading: L } = n({ items: C(O, "items") }), R = () => {
73
+ O.enforceCoherence && !K.value && k("update:modelValue", q.value);
74
+ }, { hasPrefilled: z } = l({
75
+ alreadyLoaded: F,
76
+ clientReproducible: P,
75
77
  trigger: !0,
76
78
  currentValue: O.modelValue,
77
79
  multiple: O.multiple,
78
80
  fn: async (e) => {
79
- await N(e, O.modelValue), I();
81
+ await N(e, O.modelValue), R();
80
82
  }
81
- }), R = p(() => [].concat(O.modelValue)), { data: z } = o({ items: R }), { options: B } = s({
83
+ }), B = p(() => [].concat(O.modelValue)), { data: V } = o({ items: B }), { options: H } = s({
82
84
  disabled: C(O, "disabled"),
83
- items: P,
85
+ items: I,
84
86
  itemText: O.itemText,
85
87
  itemValue: O.itemValue,
86
88
  max: O.max,
87
89
  selectable: C(O, "selectable"),
88
- selectedIndexedByHash: z
89
- }), V = (e) => {
90
+ selectedIndexedByHash: V
91
+ }), U = (e) => {
90
92
  if (O.multiple) {
91
- k("update:modelValue", R.value.concat(e.value));
93
+ k("update:modelValue", B.value.concat(e.value));
92
94
  return;
93
95
  }
94
96
  k("update:modelValue", e.value);
95
- }, H = (e) => {
97
+ }, W = (e) => {
96
98
  if (!O.multiple) {
97
99
  k("update:modelValue", null);
98
100
  return;
99
101
  }
100
- let t = { ...z.value };
102
+ let t = { ...V.value };
101
103
  delete t[e.valueHash], k("update:modelValue", Object.values(t));
102
- }, { data: U } = o({
103
- items: B,
104
+ }, { data: G } = o({
105
+ items: H,
104
106
  key: "valueHash"
105
- }), { coherent: W, coherentValue: G } = c({
107
+ }), { coherent: K, coherentValue: q } = c({
106
108
  modelValue: C(O, "modelValue"),
107
109
  multiple: O.multiple,
108
- iteratee: (e) => !!U.value[n(e)]
109
- }), K = 0;
110
+ iteratee: (e) => !!G.value[t(e)]
111
+ }), J = 0;
110
112
  r(() => O.modelValue, async () => {
111
- K++, W.value || (await N(!0, O.modelValue), I()), K--;
113
+ J++, K.value || (await N(!0, O.modelValue), R()), J--;
112
114
  }, { debounce: O.modelValueDebounceTime }), r(() => [O.dependencies, O.items], async () => {
113
- L.value && (K++, await N(!0, O.modelValue), K === 1 && I(), K--);
115
+ z.value && (J++, await N(!0, O.modelValue), J === 1 && R(), J--);
114
116
  }, { debounce: O.depsDebounceTime });
115
- let q = (e) => {
117
+ let Y = (e) => {
116
118
  if (O.id) return [O.id, e.valueHash].filter(Boolean).join("-");
117
- }, J = (e, t) => {
118
- k("change", e), t.selected ? H(t) : V(t);
119
- }, Y = {
119
+ }, X = (e, t) => {
120
+ k("change", e), t.selected ? W(t) : U(t);
121
+ }, Z = {
120
122
  onBlur: (e) => k("blur", e),
121
123
  onClick: (e) => k("click", e),
122
124
  onFocus: (e) => k("focus", e),
@@ -133,17 +135,17 @@ var D = /*@__PURE__*/ g({
133
135
  "has-errors": e.hasErrors,
134
136
  "has-warning": e.hasWarning,
135
137
  "hide-label": e.hideLabel,
136
- loading: !!w(F),
138
+ loading: !!w(L),
137
139
  "loading-text": e.loadingText,
138
140
  "no-data-text": e.noDataText,
139
- options: w(B)
141
+ options: w(H)
140
142
  }, {
141
143
  prepend: E(() => [S(e.$slots, "prepend")]),
142
144
  loading: E(() => [S(e.$slots, "loading")]),
143
145
  "no-data": E(() => [S(e.$slots, "no-data")]),
144
146
  label: E((t) => [S(e.$slots, "label", y(_(t)))]),
145
147
  input: E(({ option: t, index: n }) => [h(i, v({
146
- id: q(t),
148
+ id: Y(t),
147
149
  "aria-describedby": e.ariaDescribedby,
148
150
  autofocus: e.autofocus && !n,
149
151
  checked: t.selected,
@@ -153,7 +155,7 @@ var D = /*@__PURE__*/ g({
153
155
  name: e.name,
154
156
  readonly: e.readonly,
155
157
  "true-value": t.value
156
- }, Y, { onChange: (e) => J(e, t) }), {
158
+ }, Z, { onChange: (e) => X(e, t) }), {
157
159
  icon: E((n) => [S(e.$slots, "icon", v({
158
160
  item: t.item,
159
161
  text: t.text
@@ -38,7 +38,7 @@ export type BaseCheckboxGroupProps<T = any> = {
38
38
  /**
39
39
  * Enforces that `modelValue` contains only values present in `items`.
40
40
  * Incoherent values are removed and `update:modelValue` is emitted with a
41
- * coherent array. Please check out {@link https://ui-components-docs.vercel.app/it/guides/coherence | the docs} for more information.
41
+ * coherent array. Please check out {@link https://ui-components.bitboss.it/it/guides/coherence | the docs} for more information.
42
42
  * @defaultValue `false`
43
43
  */
44
44
  enforceCoherence?: boolean;
@@ -148,7 +148,7 @@ export type BaseCheckboxGroupEvents = {
148
148
  */
149
149
  (e: 'blur', event: FocusEvent): void;
150
150
  /**
151
- * Emitted when a checkbox option is toggled.
151
+ * Emitted when an option is toggled.
152
152
  * Forwards the original DOM `Event` from the checkbox input.
153
153
  */
154
154
  (e: 'change', event: Event): void;