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.
- package/README.md +72 -33
- package/dist/ai/BbAccordion.md +3 -3
- package/dist/ai/BbAlert.md +9 -5
- package/dist/ai/BbAsterisk.md +17 -0
- package/dist/ai/BbAvatar.md +12 -3
- package/dist/ai/BbBadge.md +15 -10
- package/dist/ai/BbBadgeButton.md +16 -16
- package/dist/ai/BbBaseButton.md +16 -16
- package/dist/ai/BbBaseCheckbox.md +8 -8
- package/dist/ai/BbBaseCheckboxGroup.md +13 -13
- package/dist/ai/BbBaseCheckboxIcon.md +26 -9
- package/dist/ai/BbBaseColorInput.md +11 -11
- package/dist/ai/BbBaseDatePicker.md +6 -6
- package/dist/ai/BbBaseDatePickerInput.md +15 -15
- package/dist/ai/BbBaseInputContainer.md +12 -12
- package/dist/ai/BbBaseNumberInput.md +8 -8
- package/dist/ai/BbBaseRadio.md +5 -5
- package/dist/ai/BbBaseRadioGroup.md +7 -7
- package/dist/ai/BbBaseRadioIcon.md +25 -9
- package/dist/ai/BbBaseRating.md +5 -5
- package/dist/ai/BbBaseSelect.md +22 -21
- package/dist/ai/BbBaseSlider.md +9 -9
- package/dist/ai/BbBaseSwitch.md +8 -8
- package/dist/ai/BbBaseSwitchGroup.md +13 -13
- package/dist/ai/BbBaseSwitchIcon.md +28 -10
- package/dist/ai/BbBaseTag.md +10 -10
- package/dist/ai/BbBaseTextInput.md +9 -9
- package/dist/ai/BbBaseTextarea.md +9 -9
- package/dist/ai/BbBaseTimePickerInput.md +13 -13
- package/dist/ai/BbBreadcrumbs.md +2 -2
- package/dist/ai/BbButton.md +15 -15
- package/dist/ai/BbCheckbox.md +18 -17
- package/dist/ai/BbCheckboxGroup.md +15 -14
- package/dist/ai/BbCollapsible.md +11 -9
- package/dist/ai/BbColorInput.md +15 -15
- package/dist/ai/BbColorPalette.md +12 -6
- package/dist/ai/BbConfirm.md +12 -5
- package/dist/ai/BbDatePicker.md +13 -13
- package/dist/ai/BbDatePickerInput.md +20 -20
- package/dist/ai/BbDialog.md +78 -12
- package/dist/ai/BbDropdown.md +132 -22
- package/dist/ai/BbDropdownButton.md +12 -12
- package/dist/ai/BbDropdownGroup.md +1 -1
- package/dist/ai/BbDropzone.md +4 -4
- package/dist/ai/BbForm.md +49 -14
- package/dist/ai/BbIcon.md +6 -0
- package/dist/ai/BbIndicator.md +5 -5
- package/dist/ai/BbNumberInput.md +11 -11
- package/dist/ai/BbOffCanvas.md +90 -20
- package/dist/ai/BbPagination.md +3 -3
- package/dist/ai/BbPopover.md +32 -17
- package/dist/ai/BbProgress.md +7 -4
- package/dist/ai/BbRadio.md +16 -15
- package/dist/ai/BbRadioGroup.md +20 -17
- package/dist/ai/BbRating.md +11 -11
- package/dist/ai/BbSelect.md +138 -37
- package/dist/ai/BbSelectPopover.md +40 -41
- package/dist/ai/BbSlider.md +37 -22
- package/dist/ai/BbSmoothHeight.md +1 -1
- package/dist/ai/BbSwitch.md +25 -10
- package/dist/ai/BbSwitchGroup.md +17 -14
- package/dist/ai/BbTable.md +920 -109
- package/dist/ai/BbTabs.md +28 -14
- package/dist/ai/BbTabsList.md +1 -1
- package/dist/ai/BbTabsPanes.md +1 -1
- package/dist/ai/BbTabsRoot.md +10 -10
- package/dist/ai/BbTag.md +14 -14
- package/dist/ai/BbTextInput.md +16 -15
- package/dist/ai/BbTextarea.md +13 -13
- package/dist/ai/BbTimePicker.md +10 -10
- package/dist/ai/BbTimePickerInput.md +17 -17
- package/dist/ai/BbToast.md +1 -1
- package/dist/ai/BbToastPortal.md +1 -1
- package/dist/ai/BbTooltip.md +12 -10
- package/dist/ai/BbTree.md +1 -1
- package/dist/ai/ChipsBox.md +1 -1
- package/dist/ai/CommonInputWrapper.md +10 -10
- package/dist/ai/CommonPopover.md +6 -6
- package/dist/ai/FlatListBox.md +5 -5
- package/dist/ai/GroupedListBox.md +5 -5
- package/dist/ai/ListBox.md +4 -4
- package/dist/ai/OptionsContainer.md +4 -4
- package/dist/ai/changelog.json +128 -2
- package/dist/ai/components.json +917 -100
- package/dist/ai/composables/useBbConfig.md +72 -11
- package/dist/ai/composables/useConfirm.md +5 -3
- package/dist/ai/guides/ai-router.md +9 -4
- package/dist/ai/guides/component-picker.md +18 -18
- package/dist/ai/guides/design-language.md +14 -14
- package/dist/ai/guides/design-tokens.md +25 -18
- package/dist/ai/guides/fetch-items-playbook.md +1 -1
- package/dist/ai/guides/icons-policy.md +11 -5
- package/dist/ai/guides/installation-and-plugin-setup.md +85 -23
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +30 -0
- package/dist/ai/guides/migration/components/bb-checkbox.md +37 -3
- package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
- package/dist/ai/guides/migration/components/bb-dialog.md +62 -34
- package/dist/ai/guides/migration/components/bb-offcanvas.md +29 -13
- package/dist/ai/guides/migration/components/bb-rating.md +8 -2
- package/dist/ai/guides/migration/components/bb-select.md +5 -2
- package/dist/ai/guides/migration/components/bb-table.md +560 -28
- package/dist/ai/guides/migration/components/bb-text-input.md +6 -6
- package/dist/ai/guides/migration/v2-to-v3.md +260 -89
- package/dist/ai/guides/ssr-prefill.md +120 -0
- package/dist/ai/index.md +10 -9
- package/dist/ai/recipes/inertia/approvals-inbox.md +0 -1
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +0 -1
- package/dist/ai/recipes/inertia/layout-scaffold.md +5 -1
- package/dist/ai/recipes/inertia/ownership-atlas.md +49 -29
- package/dist/ai/recipes/inertia/record-form.md +0 -1
- package/dist/ai/recipes/inertia/records-workspace.md +26 -8
- package/dist/ai/recipes/inertia/upload-center.md +0 -1
- package/dist/ai/recipes/nuxt/approvals-inbox.md +0 -1
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +0 -1
- package/dist/ai/recipes/nuxt/layout-scaffold.md +5 -1
- package/dist/ai/recipes/nuxt/record-form.md +0 -1
- package/dist/ai/recipes/nuxt/records-workspace.md +26 -8
- package/dist/ai/recipes/nuxt/upload-center.md +0 -1
- package/dist/ai/recipes/vue/approvals-inbox.md +0 -1
- package/dist/ai/recipes/vue/inline-edit-workspace.md +0 -1
- package/dist/ai/recipes/vue/layout-scaffold.md +5 -1
- package/dist/ai/recipes/vue/records-workspace.md +26 -8
- package/dist/ai/recipes/vue/upload-center.md +0 -1
- package/dist/ai/source/BbAlert.md +60 -2
- package/dist/ai/source/BbAvatar.md +3 -3
- package/dist/ai/source/BbBadge.md +60 -15
- package/dist/ai/source/BbBadgeButton.md +8 -2
- package/dist/ai/source/BbBaseButton.md +3 -1
- package/dist/ai/source/BbBaseCheckboxGroup.md +6 -2
- package/dist/ai/source/BbBaseDatePicker.md +3 -1
- package/dist/ai/source/BbBaseDatePickerInput.md +5 -1
- package/dist/ai/source/BbBaseInputContainer.md +52 -1
- package/dist/ai/source/BbBaseRadioGroup.md +4 -0
- package/dist/ai/source/BbBaseRating.md +3 -1
- package/dist/ai/source/BbBaseSelect.md +71 -16
- package/dist/ai/source/BbBaseSwitchGroup.md +4 -0
- package/dist/ai/source/BbBaseTimePickerInput.md +5 -1
- package/dist/ai/source/BbBreadcrumbs.md +31 -0
- package/dist/ai/source/BbButton.md +51 -24
- package/dist/ai/source/BbCheckbox.md +15 -1
- package/dist/ai/source/BbCheckboxGroup.md +2 -1
- package/dist/ai/source/BbCollapsible.md +7 -1
- package/dist/ai/source/BbColorInput.md +3 -4
- package/dist/ai/source/BbColorPalette.md +3 -4
- package/dist/ai/source/BbDatePicker.md +5 -1
- package/dist/ai/source/BbDatePickerInput.md +5 -1
- package/dist/ai/source/BbDialog.md +175 -19
- package/dist/ai/source/BbDropdown.md +376 -69
- package/dist/ai/source/BbDropdownGroup.md +330 -59
- package/dist/ai/source/BbForm.md +93 -5
- package/dist/ai/source/BbIcon.md +46 -36
- package/dist/ai/source/BbNumberInput.md +3 -4
- package/dist/ai/source/BbOffCanvas.md +474 -194
- package/dist/ai/source/BbPopover.md +24 -17
- package/dist/ai/source/BbProgress.md +2 -2
- package/dist/ai/source/BbRadio.md +15 -1
- package/dist/ai/source/BbRadioGroup.md +3 -1
- package/dist/ai/source/BbSelect.md +50 -2
- package/dist/ai/source/BbSelectPopover.md +171 -23
- package/dist/ai/source/BbSlider.md +3 -4
- package/dist/ai/source/BbSwitch.md +15 -1
- package/dist/ai/source/BbSwitchGroup.md +8 -5
- package/dist/ai/source/BbTable.md +5092 -1446
- package/dist/ai/source/BbTabs.md +6 -7
- package/dist/ai/source/BbTabsList.md +6 -7
- package/dist/ai/source/BbTabsPanes.md +6 -7
- package/dist/ai/source/BbTabsRoot.md +6 -7
- package/dist/ai/source/BbTag.md +3 -4
- package/dist/ai/source/BbTextInput.md +3 -4
- package/dist/ai/source/BbTextarea.md +3 -4
- package/dist/ai/source/BbTimePicker.md +4 -1
- package/dist/ai/source/BbTimePickerInput.md +5 -1
- package/dist/ai/source/BbToast.md +3 -1
- package/dist/ai/source/BbTooltip.md +5 -1
- package/dist/ai/source/CommonInputWrapper.md +4 -0
- package/dist/ai/source/CommonPopover.md +6 -0
- package/dist/ai/source/FlatListBox.md +11 -5
- package/dist/ai/source/GroupedListBox.md +7 -5
- package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/BbAlert/types.d.ts +10 -1
- package/dist/components/BbAvatar/BbAvatar.vue.d.ts +1 -1
- package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +33 -33
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +22 -16
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +36 -15
- package/dist/components/BbBadge/badgeButtonContext.d.ts +21 -8
- package/dist/components/BbBadge/types.d.ts +8 -2
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +47 -47
- package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +14 -14
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +30 -28
- package/dist/components/BbBaseCheckboxGroup/types.d.ts +2 -2
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +167 -167
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +9 -9
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +78 -78
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +64 -64
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +1 -1
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +138 -138
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +24 -22
- package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +40 -40
- package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +74 -65
- package/dist/components/BbBaseSelect/types.d.ts +22 -0
- package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +30 -28
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +1 -1
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +104 -104
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +35 -35
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +85 -81
- package/dist/components/BbCheckboxGroup/types.d.ts +2 -1
- package/dist/components/BbCollapsible/types.d.ts +7 -1
- package/dist/components/BbColorInput/BbColorInput.vue.d.ts +1 -1
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +18 -18
- package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -2
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +50 -50
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +17 -17
- package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +1 -1
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +100 -100
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +21 -21
- package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -1
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +133 -107
- package/dist/components/BbDialog/types.d.ts +29 -2
- package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +2 -0
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +99 -100
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +2 -2
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +208 -201
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +225 -208
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +21 -21
- package/dist/components/BbDropdown/types.d.ts +20 -5
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +46 -46
- package/dist/components/BbIcon/iconCache.d.ts +33 -0
- package/dist/components/BbIcon/iconCache.js +17 -0
- package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +1 -1
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +15 -15
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +254 -208
- package/dist/components/BbOffCanvas/types.d.ts +30 -5
- package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
- package/dist/components/BbPopover/BbPopover.vue.d.ts +2 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +149 -146
- package/dist/components/BbPopover/types.d.ts +3 -2
- package/dist/components/BbRadioGroup/types.d.ts +3 -1
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +27 -23
- package/dist/components/BbSelect/types.d.ts +32 -0
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +221 -213
- package/dist/components/BbSlider/BbSlider.vue.d.ts +1 -1
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +20 -20
- package/dist/components/BbTable/BbTable.vue.d.ts +10 -4
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1433 -600
- package/dist/components/BbTable/BbTableDataRow.d.ts +162 -0
- package/dist/components/BbTable/BbTableDataRow.js +136 -0
- package/dist/components/BbTable/BbTableExpandRow.d.ts +73 -0
- package/dist/components/BbTable/BbTableExpandRow.js +52 -0
- package/dist/components/BbTable/types.d.ts +324 -111
- package/dist/components/BbTable/utils.d.ts +92 -4
- package/dist/components/BbTable/utils.js +71 -36
- package/dist/components/BbTabs/types.d.ts +0 -8
- package/dist/components/BbTag/BbTag.vue.d.ts +1 -1
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +18 -18
- package/dist/components/BbTextInput/BbTextInput.vue.d.ts +1 -1
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +18 -18
- package/dist/components/BbTextarea/BbTextarea.vue.d.ts +1 -1
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +54 -54
- package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +1 -1
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +80 -80
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +61 -61
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +17 -17
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +13 -13
- package/dist/components/BbTooltip/types.d.ts +5 -1
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +17 -17
- package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +83 -83
- package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +56 -56
- package/dist/composables/useBaseOptions.js +30 -20
- package/dist/composables/useBbConfig.d.ts +27 -6
- package/dist/composables/useBbConfig.js +8 -2
- package/dist/composables/useConfig.d.ts +59 -0
- package/dist/composables/useConfig.js +9 -0
- package/dist/composables/useItemsGetter.d.ts +11 -0
- package/dist/composables/useItemsGetter.js +44 -18
- package/dist/composables/useLocale.js +10 -7
- package/dist/composables/useMobile.js +5 -5
- package/dist/composables/usePrefill.d.ts +21 -2
- package/dist/composables/usePrefill.js +25 -19
- package/dist/composables/useSsrState.d.ts +20 -0
- package/dist/composables/useSsrState.js +13 -0
- package/dist/composables/useTableWidthContext.d.ts +24 -4
- package/dist/composables/useTableWidthContext.js +31 -28
- package/dist/composables/useToast.js +5 -5
- package/dist/deprecation/ai-deprecations.json.d.ts +121 -11
- package/dist/deprecation/ai-deprecations.json.js +1 -1
- package/dist/directives/bbDropdown.d.ts +15 -4
- package/dist/directives/bbDropdown.js +31 -9
- package/dist/directives/createPopoverDirective.d.ts +62 -0
- package/dist/directives/createPopoverDirective.js +63 -23
- package/dist/i18n/locales/cs.json +4 -1
- package/dist/i18n/locales/da.json +4 -1
- package/dist/i18n/locales/de.json +4 -1
- package/dist/i18n/locales/el.json +4 -1
- package/dist/i18n/locales/en.json +4 -1
- package/dist/i18n/locales/es.json +4 -1
- package/dist/i18n/locales/fi.json +4 -1
- package/dist/i18n/locales/fr.json +4 -1
- package/dist/i18n/locales/hu.json +4 -1
- package/dist/i18n/locales/it.json +4 -1
- package/dist/i18n/locales/ja.json +4 -1
- package/dist/i18n/locales/ko.json +4 -1
- package/dist/i18n/locales/nb.json +4 -1
- package/dist/i18n/locales/nl.json +4 -1
- package/dist/i18n/locales/pl.json +4 -1
- package/dist/i18n/locales/pt.json +4 -1
- package/dist/i18n/locales/ro.json +4 -1
- package/dist/i18n/locales/ru.json +4 -1
- package/dist/i18n/locales/sv.json +4 -1
- package/dist/i18n/locales/tr.json +4 -1
- package/dist/i18n/locales/uk.json +4 -1
- package/dist/i18n/locales/zh-cn.json +4 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +69 -67
- package/dist/llms-full.txt +3997 -1458
- package/dist/llms-medium.txt +140 -73
- package/dist/llms.txt +7 -6
- package/dist/locale-blueprint.json +4 -1
- package/dist/nuxt-auto-imports.d.ts +100 -0
- package/dist/nuxt-auto-imports.js +55 -0
- package/dist/nuxt-module.d.ts +22 -1
- package/dist/nuxt.js +22 -8
- package/dist/plugin.d.ts +10 -1
- package/dist/plugin.js +20 -19
- package/dist/runtime/nuxt-plugin.js +28 -21
- package/dist/styles.css +1 -1
- package/dist/utilities/misc/listboxMetrics.d.ts +3 -3
- package/dist/utilities/misc/listboxMetrics.js +2 -2
- package/dist/utilities/misc/ssrStateInjectionKey.d.ts +42 -0
- package/dist/utilities/misc/ssrStateInjectionKey.js +4 -0
- package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +45 -27
- package/dist/validated/BbSelect.vue.d.ts +2 -0
- package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/useValidatedField.js +25 -23
- package/dist/vite.js +7 -3
- package/llms.txt +8 -7
- package/package.json +2 -2
- package/scripts/lib/eslint-plugin.d.ts +19 -1
- package/scripts/lib/eslint-plugin.mjs +155 -14
- package/scripts/lib/html-attributes.mjs +91 -0
- package/scripts/lib/validate-bb-markup.mjs +59 -11
- package/dist/assets/svgs/sort.svg_raw.js +0 -4
- package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +0 -3
- package/dist/components/BbBadge/BadgeAppendIcon.vue.js +0 -5
- package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +0 -22
|
@@ -17,34 +17,34 @@
|
|
|
17
17
|
| Prop | Type | Default | Required | Description |
|
|
18
18
|
| --- | --- | --- | --- | --- |
|
|
19
19
|
| `ariaDescribedby` | `string \| undefined` | | | ID of the element that describes the entire checkbox group for assistive technologies. Forwarded to each generated input as `aria-describedby`. |
|
|
20
|
-
| `autofocus` | `Booleanish \| undefined` |
|
|
21
|
-
| `dependencies` | `unknown[] \| undefined` |
|
|
20
|
+
| `autofocus` | `Booleanish \| undefined` | `false` | | Automatically focuses the first checkbox on mount when true. Applied only to the first option. |
|
|
21
|
+
| `dependencies` | `unknown[] \| undefined` | `[]` | | List of reactive values which, when changed, trigger items re-fetching. Useful to reload options based on external inputs. |
|
|
22
22
|
| `depsDebounceTime` | `number \| undefined` | `0` | | Debounce delay (ms) applied when reacting to `dependencies` changes. |
|
|
23
23
|
| `direction` | `"horizontal" \| "vertical" \| undefined` | `"horizontal"` | | Direction of the group layout. - `horizontal`: options flow in rows - `vertical`: options stack in a column |
|
|
24
|
-
| `disabled` | `boolean \| undefined` |
|
|
25
|
-
| `enforceCoherence` | `boolean \| undefined` |
|
|
26
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
27
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
28
|
-
| `hideLabel` | `boolean \| undefined` |
|
|
24
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables interaction for the whole group. |
|
|
25
|
+
| `enforceCoherence` | `boolean \| undefined` | `false` | | Enforces that `modelValue` contains only values present in `items`. Incoherent values are removed and `update:modelValue` is emitted with a coherent array. Please check out {@link https://ui-components.bitboss.it/it/guides/coherence the doc… |
|
|
26
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Puts the component into an error state adds the error styling class. |
|
|
27
|
+
| `hasWarning` | `boolean \| undefined` | `false` | | Puts the component into a warning state. Errors take priority when both are set. |
|
|
28
|
+
| `hideLabel` | `boolean \| undefined` | `false` | | Visually hides each option's label text (the text rendered next to every input) while keeping it accessible to screen readers. |
|
|
29
29
|
| `id` | `string \| undefined` | | | Identifier of the group. Used to derive per-option IDs for accessible labeling. |
|
|
30
30
|
| `items` | `T[] \| ((prefill: boolean, modelValue?: any) => T[] \| Promise<T[]>)` | `[]` | yes | Items provider. Can be: - An array of items - A sync/async function `(prefill, modelValue) => items` When a function is provided, it is invoked on prefill and when dependencies change to load options dynamically. |
|
|
31
|
-
| `itemText` | `(T extends object ? string \| ((item: T) => string) : (item: T) => string) \| undefined` |
|
|
32
|
-
| `itemValue` | `(T extends object ? string \| ((item: T) => string) : (item: T) => any) \| undefined` |
|
|
33
|
-
| `loadingText` | `string \| undefined` |
|
|
31
|
+
| `itemText` | `(T extends object ? string \| ((item: T) => string) : (item: T) => string) \| undefined` | `JSON.stringify(item)` | | Defines how to derive the display text from an item. Accepts a nested key path into the item or a function `(item) => string`. |
|
|
32
|
+
| `itemValue` | `(T extends object ? string \| ((item: T) => string) : (item: T) => any) \| undefined` | `JSON.stringify(item)` | | Defines how to derive the value from an item. Accepts a nested key path into the item or a function `(item) => any`. |
|
|
33
|
+
| `loadingText` | `string \| undefined` | `'Loading...'` | | Text displayed while items are loading. |
|
|
34
34
|
| `max` | `number \| undefined` | `Infinity` | | Maximum number of selectable items. |
|
|
35
35
|
| `modelValue` | `any` | | yes | Selected values for the group. Used with `v-model`. Single value when `multiple` is false, array when `multiple` is true. |
|
|
36
36
|
| `modelValueDebounceTime` | `number \| undefined` | `0` | | Debounce delay (ms) applied when reacting to `modelValue` changes. |
|
|
37
37
|
| `multiple` | `boolean \| undefined` | `true` | | Enables multi-selection behavior. When `true`, `modelValue` must be an array and emitted updates are arrays. When `false`, `modelValue` must be a single value (or `null`) and emitted updates are single values. |
|
|
38
38
|
| `name` | `string \| undefined` | | | Name attribute applied to each input for form submission. |
|
|
39
|
-
| `noDataText` | `string \| undefined` |
|
|
40
|
-
| `readonly` | `boolean \| undefined` |
|
|
39
|
+
| `noDataText` | `string \| undefined` | `'No data to display'` | | Text displayed when there are no items to show. |
|
|
40
|
+
| `readonly` | `boolean \| undefined` | `false` | | Makes all checkboxes read-only. Since checkboxes do not support native `readonly`, inputs are disabled while styled as read-only. |
|
|
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
|
|
44
44
|
|
|
45
45
|
- `active` — `(e: "active"): void` — Emitted when the group becomes active (focus/click enters it).
|
|
46
46
|
- `blur` — `(e: "blur", event: FocusEvent): void` — Emitted when one of the generated checkbox inputs loses focus. Forwards the original DOM `FocusEvent`.
|
|
47
|
-
- `change` — `(e: "change", event: Event): void` — Emitted when
|
|
47
|
+
- `change` — `(e: "change", event: Event): void` — Emitted when an option is toggled. Forwards the original DOM `Event` from the checkbox input.
|
|
48
48
|
- `click` — `(e: "click", event: MouseEvent): void` — Emitted when one of the generated checkbox inputs is clicked. Forwards the original DOM `MouseEvent`.
|
|
49
49
|
- `focus` — `(e: "focus", event: FocusEvent): void` — Emitted when one of the generated checkbox inputs receives focus. Forwards the original DOM `FocusEvent`.
|
|
50
50
|
- `inactive` — `(e: "inactive"): void` — Emitted when focus/click moves outside the group after it was active. Useful for validation-on-blur flows at group level.
|
|
@@ -120,15 +120,33 @@ const state = reactive<Record<string, boolean>>({
|
|
|
120
120
|
|
|
121
121
|
### Styling
|
|
122
122
|
|
|
123
|
-
Restyle by overriding the glyph's CSS custom properties on
|
|
124
|
-
ancestor — they inherit):
|
|
123
|
+
Restyle by overriding the glyph's CSS custom properties on it:
|
|
125
124
|
|
|
126
125
|
- `--w` / `--h` — track width / height (default `32px` / `18px`)
|
|
127
126
|
- `--thumb` — thumb diameter (default `16px`)
|
|
128
127
|
- `--color` — track fill when checked (default `--bb-primary`)
|
|
129
|
-
- `--bg-color` — track fill when off (default `--bb-
|
|
128
|
+
- `--bg-color` — track fill when off (default `--bb-track`)
|
|
130
129
|
- `--radius` — track/thumb rounding (default `999px`)
|
|
131
130
|
|
|
131
|
+
**On the element itself, not an ancestor.** Each of these is declared on the
|
|
132
|
+
glyph's own class, and a declaration on the element always beats one inherited
|
|
133
|
+
from an ancestor — so `--w` set on a wrapper `div` is simply ignored
|
|
134
|
+
(verified: the glyph keeps its shipped size). Target the glyph class, or pass a `style` /
|
|
135
|
+
`class` that lands on it:
|
|
136
|
+
|
|
137
|
+
```css
|
|
138
|
+
/* works */
|
|
139
|
+
.bb-base-switch-icon {
|
|
140
|
+
--w: 40px;
|
|
141
|
+
--h: 22px;
|
|
142
|
+
--thumb: 18px;
|
|
143
|
+
}
|
|
144
|
+
/* does nothing */
|
|
145
|
+
.my-form {
|
|
146
|
+
--w: 40px;
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
132
150
|
**Larger and recolored**
|
|
133
151
|
|
|
134
152
|
```vue
|
|
@@ -162,13 +180,13 @@ ancestor — they inherit):
|
|
|
162
180
|
|
|
163
181
|
| Prop | Type | Default | Required | Description |
|
|
164
182
|
| --- | --- | --- | --- | --- |
|
|
165
|
-
| `checked` | `boolean \| undefined` |
|
|
166
|
-
| `disabled` | `boolean \| undefined` |
|
|
167
|
-
| `focusVisible` | `boolean \| undefined` |
|
|
168
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
169
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
170
|
-
| `indeterminate` | `boolean \| undefined` |
|
|
171
|
-
| `readonly` | `boolean \| undefined` |
|
|
183
|
+
| `checked` | `boolean \| undefined` | `false` | | Renders the checked state (fills the track and slides the thumb to the end). |
|
|
184
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables the glyph (muted track, not-allowed cursor). Purely visual. |
|
|
185
|
+
| `focusVisible` | `boolean \| undefined` | `false` | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
|
|
186
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Puts the glyph into the error state (danger border and ring color). |
|
|
187
|
+
| `hasWarning` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
|
|
188
|
+
| `indeterminate` | `boolean \| undefined` | `false` | | Renders the indeterminate state (filled track with the thumb parked at the midpoint of its travel). Takes visual precedence over `checked`. |
|
|
189
|
+
| `readonly` | `boolean \| undefined` | `false` | | Renders the read-only affordance. Reserved for parity with the other glyphs; currently has no distinct visual. |
|
|
172
190
|
|
|
173
191
|
## Events
|
|
174
192
|
|
package/dist/ai/BbBaseTag.md
CHANGED
|
@@ -20,23 +20,23 @@
|
|
|
20
20
|
| `ariaDescribedby` | `string \| undefined` | | | Id(s) of elements describing this tag input for assistive technologies. |
|
|
21
21
|
| `autocomplete` | `string \| undefined` | `"off"` | | Browser autocomplete hint for the input field. |
|
|
22
22
|
| `autofocus` | `Booleanish \| undefined` | | | Focus the input automatically on mount. |
|
|
23
|
-
| `caseSensitive` | `boolean \| undefined` |
|
|
24
|
-
| `clearable` | `boolean \| undefined` |
|
|
25
|
-
| `comma` | `boolean \| undefined` |
|
|
26
|
-
| `compact` | `boolean \| undefined` |
|
|
27
|
-
| `disabled` | `boolean \| undefined` |
|
|
23
|
+
| `caseSensitive` | `boolean \| undefined` | `false` | | Compare tags case-sensitively when rejecting duplicates, so `Vue` and `vue` can both exist. By default matching folds case, because two chips differing only in case read as duplicates to a user. Either way the tag is stored with the casing … |
|
|
24
|
+
| `clearable` | `boolean \| undefined` | `false` | | Show a clear button whenever tags are present and the control is interactive. |
|
|
25
|
+
| `comma` | `boolean \| undefined` | `false` | | Display selected tags as a comma-separated string instead of individual chips. When enabled, tags cannot be deselected by clicking individual chips. |
|
|
26
|
+
| `compact` | `boolean \| undefined` | `false` | | Apply the compact density variant. |
|
|
27
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disable all interactions with the tag input. |
|
|
28
28
|
| `divider` | `string \| string[] \| undefined` | `"Enter"` | | Keyboard key that triggers tag creation from current input value. Accepts a single key or an array of keys (e.g. `['Enter', ',']`) — any of them commits the current text. |
|
|
29
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
30
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
29
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the tag 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` | | | Explicit id for the input element. |
|
|
32
|
-
| `loading` | `boolean \| undefined` |
|
|
32
|
+
| `loading` | `boolean \| undefined` | `false` | | Display the loading state styles. |
|
|
33
33
|
| `max` | `number \| undefined` | | | Maximum number of tags that can be created. |
|
|
34
34
|
| `modelValue` | `string[]` | | yes | v-model value for selected tags. |
|
|
35
35
|
| `name` | `string \| undefined` | | | Name attribute forwarded to the input element. |
|
|
36
36
|
| `placeholder` | `string \| undefined` | | | Placeholder text when no tags are present. |
|
|
37
37
|
| `prepend:icon` | `string \| undefined` | | | Name of the icon to render at the left hand side of the input. |
|
|
38
|
-
| `readonly` | `boolean \| undefined` |
|
|
39
|
-
| `required` | `boolean \| undefined` |
|
|
38
|
+
| `readonly` | `boolean \| undefined` | `false` | | Make the input read-only while keeping tags visible. |
|
|
39
|
+
| `required` | `boolean \| undefined` | `false` | | Mark the input as required for form validation. |
|
|
40
40
|
|
|
41
41
|
## Events
|
|
42
42
|
|
|
@@ -20,16 +20,16 @@
|
|
|
20
20
|
| `ariaDescribedby` | `string \| undefined` | | | Id(s) of elements describing this input for assistive technologies. |
|
|
21
21
|
| `autocomplete` | `string \| undefined` | | | Browser autocomplete hint for the input field. |
|
|
22
22
|
| `autofocus` | `Booleanish \| undefined` | | | Focus the input automatically on mount. |
|
|
23
|
-
| `clearable` | `boolean \| undefined` |
|
|
24
|
-
| `compact` | `boolean \| undefined` |
|
|
25
|
-
| `disabled` | `boolean \| undefined` |
|
|
26
|
-
| `emitMasked` | `boolean \| undefined` |
|
|
27
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
28
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
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 all interactions with the input. |
|
|
26
|
+
| `emitMasked` | `boolean \| undefined` | `false` | | When using a mask, emit the formatted (masked) value instead of the raw input. |
|
|
27
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the input and set `aria-invalid`. |
|
|
28
|
+
| `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
|
|
29
29
|
| `id` | `string \| undefined` | | | Explicit id for the input element. |
|
|
30
30
|
| `inputMode` | `"text" \| "search" \| "email" \| "url" \| "tel" \| "none" \| "numeric" \| "decimal" \| undefined` | | | Input mode hint for mobile keyboards. |
|
|
31
31
|
| `labelMode` | `"floating" \| "outside" \| "inside" \| undefined` | | | Label rendering mode, forwarded by wrapper components. |
|
|
32
|
-
| `loading` | `boolean \| undefined` |
|
|
32
|
+
| `loading` | `boolean \| undefined` | `false` | | Display the loading state styles. |
|
|
33
33
|
| `mask` | `MaskInputOptions \| undefined` | | | Input mask configuration. When provided, enables formatted input with validation. |
|
|
34
34
|
| `max` | `string \| undefined` | | | Maximum value for numeric and date inputs. |
|
|
35
35
|
| `maxlength` | `number \| undefined` | | | Maximum number of characters the input will accept. |
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
| `name` | `string \| undefined` | | | Name attribute forwarded to the input element. |
|
|
39
39
|
| `placeholder` | `string \| undefined` | | | Placeholder text when no value is present. |
|
|
40
40
|
| `prepend:icon` | `string \| undefined` | | | Name of the icon to render at the left hand side of the input. |
|
|
41
|
-
| `readonly` | `boolean \| undefined` |
|
|
42
|
-
| `required` | `boolean \| undefined` |
|
|
41
|
+
| `readonly` | `boolean \| undefined` | `false` | | Make the input read-only while keeping it visible. |
|
|
42
|
+
| `required` | `boolean \| undefined` | `false` | | Mark the input as required for form validation. |
|
|
43
43
|
| `step` | `string \| undefined` | | | Stepping interval for numeric and date inputs. |
|
|
44
44
|
| `type` | `"text" \| "search" \| "email" \| "url" \| "tel" \| "password" \| undefined` | `"text"` | | HTML input type attribute. Restricted to the textual input types this component supports — use `BbNumberInput` for numbers and `BbDatePickerInput` for dates. |
|
|
45
45
|
|
|
@@ -20,20 +20,20 @@
|
|
|
20
20
|
| `ariaDescribedby` | `string \| undefined` | | | Id(s) of elements describing this textarea for assistive technologies. |
|
|
21
21
|
| `autocomplete` | `string \| undefined` | | | Browser autocomplete hint for the textarea. |
|
|
22
22
|
| `autofocus` | `Booleanish \| undefined` | | | Focus the textarea automatically on mount. |
|
|
23
|
-
| `autoGrow` | `boolean \| undefined` |
|
|
24
|
-
| `clearable` | `boolean \| undefined` |
|
|
25
|
-
| `compact` | `boolean \| undefined` |
|
|
26
|
-
| `disabled` | `boolean \| undefined` |
|
|
27
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
28
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
23
|
+
| `autoGrow` | `boolean \| undefined` | `false` | | Automatically expand the textarea height to fit its content. Composes with `rows`: when both are set, `rows` acts as the minimum-height floor the field grows past but never shrinks below. |
|
|
24
|
+
| `clearable` | `boolean \| undefined` | `false` | | Show a clear button whenever text is present and the control is interactive. |
|
|
25
|
+
| `compact` | `boolean \| undefined` | `false` | | Apply the compact density variant. |
|
|
26
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disable all interactions with the textarea. |
|
|
27
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Apply error styling to the textarea. |
|
|
28
|
+
| `hasWarning` | `boolean \| undefined` | `false` | | Apply warning styling (same chrome as errors, `--bb-warn` color). Suppressed when `hasErrors` is also set. |
|
|
29
29
|
| `id` | `string \| undefined` | | | Explicit id for the textarea element. |
|
|
30
|
-
| `loading` | `boolean \| undefined` |
|
|
30
|
+
| `loading` | `boolean \| undefined` | `false` | | Display the loading state styles. |
|
|
31
31
|
| `modelValue` | `string \| null` | | yes | v-model value: the text content, or `null` when empty. |
|
|
32
32
|
| `name` | `string \| undefined` | | | Name attribute forwarded to the textarea element. |
|
|
33
33
|
| `placeholder` | `string \| undefined` | | | Placeholder text when no value is present. |
|
|
34
34
|
| `prepend:icon` | `string \| undefined` | | | Name of the icon to render at the left hand side of the textarea. |
|
|
35
|
-
| `readonly` | `boolean \| undefined` |
|
|
36
|
-
| `required` | `boolean \| undefined` |
|
|
35
|
+
| `readonly` | `boolean \| undefined` | `false` | | Make the textarea read-only while keeping it visible. |
|
|
36
|
+
| `required` | `boolean \| undefined` | `false` | | Mark the textarea as required for form validation. |
|
|
37
37
|
| `rows` | `string \| number \| undefined` | | | Number of visible rows. Without `autoGrow` this is the fixed height; with `autoGrow` it becomes the minimum-height floor the field grows past but never shrinks below. |
|
|
38
38
|
|
|
39
39
|
## Events
|
|
@@ -16,20 +16,20 @@
|
|
|
16
16
|
|
|
17
17
|
| Prop | Type | Default | Required | Description |
|
|
18
18
|
| --- | --- | --- | --- | --- |
|
|
19
|
-
| `adaptive` | `boolean \| undefined` | `
|
|
20
|
-
| `ampm` | `boolean \| undefined` |
|
|
19
|
+
| `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | On mobile the time columns open inside a bottom off-canvas sheet instead of a floating popover. When unset, falls back to the global `config.adaptive`. |
|
|
20
|
+
| `ampm` | `boolean \| undefined` | `false` | | 12-hour display with an AM/PM segment. Purely a field-composition concern: the model stays 24-hour. Type `A`/`P` (or ArrowUp/Down) to set the meridiem. |
|
|
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` | | | Additional description id(s) announced by assistive technologies. |
|
|
23
23
|
| `autocomplete` | `string \| undefined` | `"off"` | | Browser autocomplete hint for the input. |
|
|
24
24
|
| `autofocus` | `Booleanish \| undefined` | | | Focus the first text field automatically when the component mounts. |
|
|
25
|
-
| `clearable` | `boolean \| undefined` |
|
|
26
|
-
| `compact` | `boolean \| undefined` |
|
|
27
|
-
| `disabled` | `boolean \| undefined` |
|
|
25
|
+
| `clearable` | `boolean \| undefined` | `false` | | Displays a clear button whenever a value is present and the control is interactive. |
|
|
26
|
+
| `compact` | `boolean \| undefined` | `false` | | Applies the compact density styles to the control. |
|
|
27
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables the input, clock trigger, and popover. |
|
|
28
28
|
| `disableWriting` | `boolean \| "mobile" \| "desktop" \| undefined` | `false` | | Controls whether manual typing is disabled inside the text fields. Use `'mobile'` / `'desktop'` to disable typing on one platform only. |
|
|
29
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
30
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
29
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Marks the control as invalid, applying error styles and `aria-invalid`. |
|
|
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` | | | Explicit id for the input element. Falls back to an auto-generated value. |
|
|
32
|
-
| `loading` | `boolean \| undefined` |
|
|
32
|
+
| `loading` | `boolean \| undefined` | `false` | | Shows loading visuals on the input. |
|
|
33
33
|
| `max` | `string \| undefined` | | | Maximum selectable time in `HH:mm` format. Values outside the pattern throw during setup to surface configuration mistakes. |
|
|
34
34
|
| `min` | `string \| undefined` | | | Minimum selectable time in `HH:mm` format. Values outside the pattern throw during setup to surface configuration mistakes. |
|
|
35
35
|
| `modelValue` | `string \| string[] \| null` | | yes | v-model value: `null` for empty, a 24-hour `HH:mm` (or `HH:mm:ss` with `seconds`) string, or a two-element array when `range` is true. |
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
| `offCanvasProps` | `Partial<BbOffCanvasProps> \| undefined` | | | Extra props forwarded to the `BbOffCanvas` sheet when `adaptive` is active on mobile (e.g. `title`, `size`, `persistent`). |
|
|
38
38
|
| `placeholder` | `string \| undefined` | | | Placeholder shown when empty; defaults to the localized format hint. |
|
|
39
39
|
| `prepend:icon` | `string \| undefined` | | | Icon name rendered before the input field. |
|
|
40
|
-
| `range` | `boolean \| undefined` |
|
|
41
|
-
| `readonly` | `boolean \| undefined` |
|
|
42
|
-
| `required` | `boolean \| undefined` |
|
|
43
|
-
| `seconds` | `boolean \| undefined` |
|
|
44
|
-
| `step` | `number \| undefined` |
|
|
40
|
+
| `range` | `boolean \| undefined` | `false` | | Range selection: v-model expects a two-element array `[start, end]`. An inverted pair swaps on finalize with an `end_before_start` error. |
|
|
41
|
+
| `readonly` | `boolean \| undefined` | `false` | | Makes the text fields read-only and prevents opening the popover. |
|
|
42
|
+
| `required` | `boolean \| undefined` | `false` | | Marks the inputs as required to the browser. |
|
|
43
|
+
| `seconds` | `boolean \| undefined` | `false` | | Adds the seconds segment. Without it an incoming value carrying seconds displays truncated and zeroes out on the next user commit. |
|
|
44
|
+
| `step` | `number \| undefined` | `1` | | Minute granularity for the minute column and its arrow stepping. Constrains what the columns produce, never what typing accepts. |
|
|
45
45
|
| `transitionDuration` | `number \| undefined` | | | Transition duration, in milliseconds, for the popover appearance. |
|
|
46
46
|
|
|
47
47
|
## Events
|
package/dist/ai/BbBreadcrumbs.md
CHANGED
|
@@ -558,7 +558,7 @@ overflow calculation runs after hydration once real widths exist.
|
|
|
558
558
|
|
|
559
559
|
| Prop | Type | Default | Required | Description |
|
|
560
560
|
| --- | --- | --- | --- | --- |
|
|
561
|
-
| `disabled` | `boolean \| undefined` |
|
|
561
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables the component |
|
|
562
562
|
| `dividerWidth` | `number \| undefined` | `16` | | Width of the divider in pixels. |
|
|
563
563
|
| `ellipsisWidth` | `number \| undefined` | | | Explicit width used by the estimator for the ellipsis activator. |
|
|
564
564
|
| `estimationBias` | `number \| undefined` | `1.12` | | Multiplier applied to each estimated item width. A higher value will result in more over-estimation. |
|
|
@@ -582,4 +582,4 @@ overflow calculation runs after hydration once real widths exist.
|
|
|
582
582
|
## See Also
|
|
583
583
|
|
|
584
584
|
- [BbBaseButton](./BbBaseButton.md) — Unstyled button/link primitive: element resolution (button/anchor/router link) and the full navigation engine, with no visual chrome. Use for any clickable or navigable surface that is not a variant-first BbButton — cards, list rows, custom links.
|
|
585
|
-
- [BbDropdown](./BbDropdown.md) — Displays contextual action menus and menu content.
|
|
585
|
+
- [BbDropdown](./BbDropdown.md) — Displays contextual action menus and menu content (includes the co-located BbDropdownGroup export, which is how a selectable group is bound).
|
package/dist/ai/BbButton.md
CHANGED
|
@@ -881,27 +881,27 @@ Anti-patterns:
|
|
|
881
881
|
| --- | --- | --- | --- | --- |
|
|
882
882
|
| `activeClass` | `string \| undefined` | | | Class to apply when the link is active. |
|
|
883
883
|
| `append:icon` | `string \| undefined` | | | Icon to be added on the right of the text. |
|
|
884
|
-
| `ariaCurrentValue` | `"page" \| "step" \| "location" \| "date" \| "time" \| "true" \| "false" \| undefined` |
|
|
885
|
-
| `async` | `boolean \| undefined` |
|
|
886
|
-
| `block` | `boolean \| undefined` |
|
|
884
|
+
| `ariaCurrentValue` | `"page" \| "step" \| "location" \| "date" \| "time" \| "true" \| "false" \| undefined` | `'page'` | | Value passed to the attribute `aria-current` when the link is exact active. |
|
|
885
|
+
| `async` | `boolean \| undefined` | `false` | | Inertia: runs the visit without blocking — the page stays interactive and several async visits can be in flight at once. |
|
|
886
|
+
| `block` | `boolean \| undefined` | `false` | | Displays the component as full width. |
|
|
887
887
|
| `cacheFor` | `string \| number \| (string \| number)[] \| undefined` | | | Inertia: how long a prefetched response stays fresh before it is re-fetched. A single duration, or `[staleAfter, expiresAfter]`. Typed platform-agnostically (matching BbButton) so the library's types never require `@inertiajs/vue3` to be in… |
|
|
888
888
|
| `cacheTags` | `string \| string[] \| undefined` | | | Inertia: tags to file this visit's prefetch cache under, so a later request can invalidate the whole tagged group. |
|
|
889
889
|
| `component` | `string \| undefined` | | | Inertia: the page component this visit resolves to. Rarely set by hand — the server normally decides it. |
|
|
890
890
|
| `data` | `object \| undefined` | | | |
|
|
891
|
-
| `disableAutoLoading` | `boolean \| undefined` |
|
|
892
|
-
| `disabled` | `boolean \| undefined` |
|
|
891
|
+
| `disableAutoLoading` | `boolean \| undefined` | `false` | | Disables the automatic loading state that tracks async click handlers (enabled by default). |
|
|
892
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables the component. |
|
|
893
893
|
| `download` | `string \| boolean \| undefined` | | | Marks an `href` link as a download: renders a plain `<a download>` doing a native navigation (never an Inertia/router visit), so file downloads work. Pass a string for the suggested filename. A native-anchor signal alongside `target` and `e… |
|
|
894
894
|
| `exactActiveClass` | `string \| undefined` | | | Class to apply when the link is exact active. |
|
|
895
895
|
| `except` | `string[] \| undefined` | | | Inertia: the inverse of `only` — properties to EXCLUDE from a partial reload. Pass one or the other, not both. |
|
|
896
|
-
| `external` | `boolean \| undefined` |
|
|
896
|
+
| `external` | `boolean \| undefined` | `false` | | Forces an `href` link to render as a plain `<a>` (native navigation), bypassing Inertia/router interception — same intent as Nuxt's `external`. A native-anchor signal alongside `target` and `download`. |
|
|
897
897
|
| `falseValue` | `any` | `false` | | Value emitted when the toggle is deactivated. |
|
|
898
|
-
| `group` | `boolean \| undefined` |
|
|
898
|
+
| `group` | `boolean \| undefined` | `false` | | Identifies the button as part of a button group. |
|
|
899
899
|
| `headers` | `object \| undefined` | | | |
|
|
900
900
|
| `href` | `string \| undefined` | | | Returns the hyperlink's URL. Can be set, to change the URL. |
|
|
901
901
|
| `icon` | `string \| undefined` | | | Used when only an icon with no text should be displayed. |
|
|
902
|
-
| `instant` | `boolean \| undefined` |
|
|
903
|
-
| `interactiveWhileLoading` | `boolean \| undefined` |
|
|
904
|
-
| `loading` | `boolean \| undefined` |
|
|
902
|
+
| `instant` | `boolean \| undefined` | `false` | | Inertia: navigate optimistically on click and reconcile when the response lands, instead of waiting for the round trip. |
|
|
903
|
+
| `interactiveWhileLoading` | `boolean \| undefined` | `false` | | Keeps the button clickable while it is loading. Buttons are disabled while loading by default; this escape hatch exists for toggles that must stay interactive (e.g. the dropdown-button caret). |
|
|
904
|
+
| `loading` | `boolean \| undefined` | `false` | | Triggers a loading indicator. |
|
|
905
905
|
| `method` | `"get" \| "post" \| "put" \| "patch" \| "delete" \| undefined` | | | |
|
|
906
906
|
| `modelValue` | `any` | | | |
|
|
907
907
|
| `onBefore` | `(() => void) \| undefined` | | | |
|
|
@@ -920,18 +920,18 @@ Anti-patterns:
|
|
|
920
920
|
| `prepend:icon` | `string \| undefined` | | | Icon to be added on the left of the text. |
|
|
921
921
|
| `preserveScroll` | `boolean \| ((props: Record<string, unknown>) => boolean) \| undefined` | | | |
|
|
922
922
|
| `preserveState` | `boolean \| ((props: Record<string, unknown>) => boolean) \| null \| undefined` | | | |
|
|
923
|
-
| `preserveUrl` | `boolean \| undefined` |
|
|
923
|
+
| `preserveUrl` | `boolean \| undefined` | `false` | | Inertia: keep the current URL in the address bar even though the page content changes. |
|
|
924
924
|
| `queryStringArrayFormat` | `"brackets" \| "indices" \| undefined` | | | |
|
|
925
|
-
| `replace` | `boolean \| undefined` |
|
|
925
|
+
| `replace` | `boolean \| undefined` | `false` | | Calls `router.replace` instead of `router.push`. |
|
|
926
926
|
| `size` | `Responsive<Sizes> \| undefined` | `"md"` | | Sets the size of the button. A single value applies at every breakpoint; a per-breakpoint map (e.g. `{ default: 'sm', lg: 'md' }`) switches responsively. Purely CSS-driven — no runtime breakpoint watching. |
|
|
927
|
-
| `tag` | `ButtonTag \| undefined` |
|
|
927
|
+
| `tag` | `ButtonTag \| undefined` | `'button'` | | Element to render for the plain (non-link, non-router) button: `'button'` (default), `'div'`/`'span'` when nesting inside another button or link, or `'label'` for a file-upload trigger. Ignored when `href`/`to` make the button render as a l… |
|
|
928
928
|
| `target` | `string \| undefined` | | | Sets or retrieves the window or frame at which to target content. |
|
|
929
929
|
| `text` | `string \| undefined` | | | Text content of the component. |
|
|
930
930
|
| `to` | `string \| wt \| bt \| undefined` | | | Route Location the link should navigate to when clicked on. |
|
|
931
931
|
| `trueValue` | `any` | `true` | | Value emitted when the toggle is activated. |
|
|
932
932
|
| `type` | `"button" \| "submit" \| "reset" \| undefined` | | | Gets the classification and default behavior of the button. |
|
|
933
933
|
| `variant` | `ButtonVariantType \| undefined` | `"primary"` | | Visual variant of the button. Controls colors and surface style while keeping spacing and sizing unchanged. |
|
|
934
|
-
| `viewTransition` | `boolean \| undefined` |
|
|
934
|
+
| `viewTransition` | `boolean \| undefined` | `false` | | Inertia: run the page swap inside a View Transition, where the browser supports one. |
|
|
935
935
|
|
|
936
936
|
## Events
|
|
937
937
|
|
|
@@ -945,5 +945,5 @@ Anti-patterns:
|
|
|
945
945
|
|
|
946
946
|
- [BbBaseButton](./BbBaseButton.md) — Unstyled button/link primitive: element resolution (button/anchor/router link) and the full navigation engine, with no visual chrome. Use for any clickable or navigable surface that is not a variant-first BbButton — cards, list rows, custom links.
|
|
947
947
|
- [BbDropdownButton](./BbDropdownButton.md) — A button with primary action and all other actions collected in a dropdown.
|
|
948
|
-
- [BbDropdown](./BbDropdown.md) — Displays contextual action menus and menu content.
|
|
948
|
+
- [BbDropdown](./BbDropdown.md) — Displays contextual action menus and menu content (includes the co-located BbDropdownGroup export, which is how a selectable group is bound).
|
|
949
949
|
- [BbConfirm](./BbConfirm.md) — Prompts users to confirm or cancel critical actions (includes co-located BbConfirmPortal export).
|
package/dist/ai/BbCheckbox.md
CHANGED
|
@@ -476,11 +476,12 @@ const toggleAll = (checked: boolean) => {
|
|
|
476
476
|
two-token pattern like `"x xxxxxxx"` splits proportionally by token length —
|
|
477
477
|
the first token sizes the **visually first** element, the second the other.
|
|
478
478
|
- The box renders **before** the label by default — the conventional checkbox
|
|
479
|
-
arrangement. Setting `reverse` swaps the label in front of the box.
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
479
|
+
arrangement. Setting `reverse` swaps the label in front of the box. It is an
|
|
480
|
+
ordinary opt-in boolean: unset and `:reverse="false"` both give box-first,
|
|
481
|
+
`reverse` gives label-first. (There _is_ an internal negation in the source,
|
|
482
|
+
but it exists to cancel `BbBaseInputContainer`'s own polarity, so it is
|
|
483
|
+
invisible from outside. Earlier revisions of this guide described that
|
|
484
|
+
negation as a consumer-facing quirk — it is not.)
|
|
484
485
|
- `input-position` / `label-position` (`'left' | 'center' | 'right'`) align box
|
|
485
486
|
and label text inside their columns — useful with percentage directions.
|
|
486
487
|
- `hide-label` keeps the label for screen readers but hides it visually — only
|
|
@@ -522,8 +523,8 @@ input on mount — use sparingly.
|
|
|
522
523
|
use `disabled` (see the readonly-vs-disabled section).
|
|
523
524
|
- Unchecked boxes post nothing in classic forms; use `submit-when-false` when
|
|
524
525
|
the backend expects an explicit "no".
|
|
525
|
-
- `reverse`
|
|
526
|
-
`:reverse="false"`
|
|
526
|
+
- `reverse` is an opt-in, not a toggle you turn off: unset already means
|
|
527
|
+
box-first. Setting `:reverse="false"` is legal but says nothing.
|
|
527
528
|
- `checked` + `v-model` together fight each other; pick one source of truth.
|
|
528
529
|
|
|
529
530
|
### Accessibility
|
|
@@ -555,25 +556,25 @@ input on mount — use sparingly.
|
|
|
555
556
|
| `checked` | `boolean \| undefined` | `undefined` | | Defines the input as checked. |
|
|
556
557
|
| `description` | `string \| undefined` | | | Descriptive text displayed below the label and above the input. Unlike the hint it is always visible, and it is linked to the input via `aria-describedby` (after any `errors` / `warnings`, before the `hint`). |
|
|
557
558
|
| `direction` | `InputDirection \| undefined` | `"auto"` | | Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`. |
|
|
558
|
-
| `disabled` | `boolean \| undefined` |
|
|
559
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables the component. |
|
|
559
560
|
| `errors` | `string \| string[] \| undefined` | | | Can be a string or an array of string containing the messages to display. They render in an `aria-live="polite"` region (announced when they appear) and, while the list is non-empty, are referenced FIRST from the control's `aria-describedby… |
|
|
560
561
|
| `falseValue` | `any` | | | Value of the input when unchecked. It handles any kind of serializable object. |
|
|
561
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
562
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
563
|
-
| `hideLabel` | `boolean \| undefined` |
|
|
562
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Define if the component should be in an error state. It usually attaches a CSS class for styling purposes. |
|
|
563
|
+
| `hasWarning` | `boolean \| undefined` | `false` | | Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority. |
|
|
564
|
+
| `hideLabel` | `boolean \| undefined` | `false` | | Visually hides the label of the input while maintaining accessibility. |
|
|
564
565
|
| `hint` | `string \| undefined` | | | Text box to be displayed near the input, usually to indicate instructions. |
|
|
565
566
|
| `id` | `string \| undefined` | | | The identifier of the component. |
|
|
566
|
-
| `indeterminate` | `boolean \| undefined` |
|
|
567
|
+
| `indeterminate` | `boolean \| undefined` | `false` | | Sets the input in an indeterminate state. |
|
|
567
568
|
| `inputPosition` | `"left" \| "center" \| "right" \| undefined` | `"left"` | | Sets the alignment of the input. Since inputs are inline block they can be aligned just as text can. |
|
|
568
569
|
| `label` | `string` | | yes | Text content of the label of the element. |
|
|
569
570
|
| `labelPosition` | `"left" \| "center" \| "right" \| undefined` | | | Sets the text alignment of the label. |
|
|
570
571
|
| `modelValue` | `any` | | | Used by v-model. Can be any serializable type. |
|
|
571
572
|
| `name` | `string \| undefined` | | | Defines the name of the input. |
|
|
572
|
-
| `persistentHint` | `boolean \| undefined` |
|
|
573
|
-
| `readonly` | `boolean \| undefined` |
|
|
574
|
-
| `required` | `boolean \| undefined` |
|
|
575
|
-
| `reverse` | `boolean \| undefined` |
|
|
576
|
-
| `submitWhenFalse` | `boolean \| undefined` |
|
|
573
|
+
| `persistentHint` | `boolean \| undefined` | `false` | | Keeps the hint displayed. |
|
|
574
|
+
| `readonly` | `boolean \| undefined` | `false` | | Sets the input in a readonly state. |
|
|
575
|
+
| `required` | `boolean \| undefined` | `false` | | Sets the input as required. |
|
|
576
|
+
| `reverse` | `boolean \| undefined` | `false` | | Reverses the layout: in every direction the order of the label and the input is swapped from the standard arrangement. |
|
|
577
|
+
| `submitWhenFalse` | `boolean \| undefined` | `false` | | Will submit "falseValue" if the input is not checked. Otherwise "trueValue" will be submitted. |
|
|
577
578
|
| `trueValue` | `any` | | | Value of the input when checked. It handles any kind of serializable object. |
|
|
578
579
|
| `warnings` | `string \| string[] \| undefined` | | | Warning messages to display beneath the field, in their own `aria-live` region and amber (`--bb-text-warn`). A string or array; a non-empty list implies the warning state. Errors suppress warnings when both are set. While displayed they are… |
|
|
579
580
|
|
|
@@ -449,7 +449,7 @@ enforcement can empty the array but never throws.
|
|
|
449
449
|
Per-option, `#label` replaces an option's text (receives `{ item, text, checked }`)
|
|
450
450
|
and `#icon` replaces the **entire box visual** for that option (you then own its
|
|
451
451
|
checked/focus/error styling). `#legend` replaces the fieldset legend
|
|
452
|
-
(`{ text, hasErrors }`). `#prepend` / `#append` inject content inside the options
|
|
452
|
+
(`{ text, hasErrors, hasWarning }`; the validated wrapper adds `showAsterisk`). `#prepend` / `#append` inject content inside the options
|
|
453
453
|
container, before the first / after the last box.
|
|
454
454
|
|
|
455
455
|
### Events and focus
|
|
@@ -457,7 +457,8 @@ container, before the first / after the last box.
|
|
|
457
457
|
`update:modelValue` (the `v-model` channel) carries the full array — it is the
|
|
458
458
|
only source of selection truth. The native `blur`, `change`, `click`, `focus`,
|
|
459
459
|
`input`, `keydown`, `mousedown`, `mouseup` events are re-emitted with their raw
|
|
460
|
-
payloads, plus
|
|
460
|
+
payloads, plus the pair `active` (focus enters the group — it is what drives
|
|
461
|
+
the hint's show/hide internally) and `inactive` (focus leaves); listen to those
|
|
461
462
|
for analytics or side effects, never to compute selection yourself. `autofocus`
|
|
462
463
|
focuses the first option on mount — use sparingly.
|
|
463
464
|
|
|
@@ -517,18 +518,18 @@ focuses the first option on mount — use sparingly.
|
|
|
517
518
|
| Prop | Type | Default | Required | Description |
|
|
518
519
|
| --- | --- | --- | --- | --- |
|
|
519
520
|
| `autofocus` | `Booleanish \| undefined` | | | Sets autofocus on page load. |
|
|
520
|
-
| `compact` | `boolean \| undefined` |
|
|
521
|
+
| `compact` | `boolean \| undefined` | `false` | | Displays the component in a compact version. |
|
|
521
522
|
| `dependencies` | `unknown[] \| undefined` | | | Defines an array of dependencies that will trigger actions in the component upon change. |
|
|
522
523
|
| `depsDebounceTime` | `number \| undefined` | | | Timeout used to debounce response to changes to dependencies. |
|
|
523
524
|
| `description` | `string \| undefined` | | | Descriptive text displayed below the label and above the input. Unlike the hint it is always visible, and it is linked to the input via `aria-describedby` (after any `errors` / `warnings`, before the `hint`). |
|
|
524
525
|
| `direction` | `InputDirection \| undefined` | | | Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`. |
|
|
525
|
-
| `disabled` | `boolean \| undefined` |
|
|
526
|
-
| `enforceCoherence` | `boolean \| undefined` |
|
|
526
|
+
| `disabled` | `boolean \| undefined` | `false` | | Disables the component. |
|
|
527
|
+
| `enforceCoherence` | `boolean \| undefined` | `false` | | If coherence is enforced the input cannot have a modelValue that is incoherent with its current items. e.g. You cannot set v-model to a user that is not present in the items passed. modelValue will be reset upon incoherence. |
|
|
527
528
|
| `errors` | `string \| string[] \| undefined` | | | Can be a string or an array of string containing the messages to display. They render in an `aria-live="polite"` region (announced when they appear) and, while the list is non-empty, are referenced FIRST from the control's `aria-describedby… |
|
|
528
|
-
| `hasErrors` | `boolean \| undefined` |
|
|
529
|
-
| `hasWarning` | `boolean \| undefined` |
|
|
530
|
-
| `hideLabel` | `boolean \| undefined` |
|
|
531
|
-
| `hideLegend` | `boolean \| undefined` |
|
|
529
|
+
| `hasErrors` | `boolean \| undefined` | `false` | | Define if the component should be in an error state. It usually attaches a CSS class for styling purposes. |
|
|
530
|
+
| `hasWarning` | `boolean \| undefined` | `false` | | Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority. |
|
|
531
|
+
| `hideLabel` | `boolean \| undefined` | `false` | | Visually hides each option's label text (the text rendered next to every input) while keeping it accessible to screen readers. Does not affect the fieldset legend — use `hideLegend` for that. |
|
|
532
|
+
| `hideLegend` | `boolean \| undefined` | `false` | | Visually hides the legend of the fieldset while maintaining accessibility. |
|
|
532
533
|
| `hint` | `string \| undefined` | | | Text box to be displayed near the input, usually to indicate instructions. |
|
|
533
534
|
| `id` | `string \| undefined` | | | The identifier of the component. |
|
|
534
535
|
| `inputDirection` | `"horizontal" \| "vertical" \| undefined` | | | Defines the direction of the inputs in the fieldset. |
|
|
@@ -537,7 +538,7 @@ focuses the first option on mount — use sparingly.
|
|
|
537
538
|
| `itemText` | `ItemAccessor<T, string> \| undefined` | | | Defines a path that returns a property of the object to use as text or a function that returns a string. |
|
|
538
539
|
| `itemValue` | `ItemAccessor<T> \| undefined` | | | Defines a path that returns a property of the object to use as value or a function that returns any value. |
|
|
539
540
|
| `legend` | `string` | | yes | Text content of the legend. |
|
|
540
|
-
| `legendMode` | `"outside" \| "inside" \| undefined` | | | Legend rendering mode. `'outside'` renders the legend above the fieldset in the normal flow; `'inside'` overlays the legend inside the fieldset border. Floating mode is not supported for
|
|
541
|
+
| `legendMode` | `"outside" \| "inside" \| undefined` | | | Legend rendering mode. `'outside'` renders the legend above the fieldset in the normal flow; `'inside'` overlays the legend inside the fieldset border. Floating mode is not supported for option groups (checkbox, radio or switch) — there is … |
|
|
541
542
|
| `legendPosition` | `"left" \| "center" \| "right" \| undefined` | | | Sets the text alignment of the label. |
|
|
542
543
|
| `loadingText` | `string \| undefined` | | | String displayed while items are being loaded. |
|
|
543
544
|
| `max` | `number \| undefined` | | | Maximum number of selected items. |
|
|
@@ -546,9 +547,9 @@ focuses the first option on mount — use sparingly.
|
|
|
546
547
|
| `multiple` | `boolean \| undefined` | `true` | | Enables multi-selection behavior. When true, `modelValue` must be an array. When false, `modelValue` should be a single value. |
|
|
547
548
|
| `name` | `string \| undefined` | | | Defines the name of the input. |
|
|
548
549
|
| `noDataText` | `string \| undefined` | | | String displayed when there are no items to display. |
|
|
549
|
-
| `persistentHint` | `boolean \| undefined` |
|
|
550
|
-
| `readonly` | `boolean \| undefined` |
|
|
551
|
-
| `reverse` | `boolean \| undefined` |
|
|
550
|
+
| `persistentHint` | `boolean \| undefined` | `false` | | Keeps the hint displayed. |
|
|
551
|
+
| `readonly` | `boolean \| undefined` | `false` | | Sets the input in a readonly state. |
|
|
552
|
+
| `reverse` | `boolean \| undefined` | `false` | | Reverses the layout. Applicable in every direction the order of the label and the input is swapped. |
|
|
552
553
|
| `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. |
|
|
553
554
|
| `warnings` | `string \| string[] \| undefined` | | | Warning messages to display beneath the field, in their own `aria-live` region and amber (`--bb-text-warn`). A string or array; a non-empty list implies the warning state. Errors suppress warnings when both are set. While displayed they are… |
|
|
554
555
|
|
|
@@ -556,7 +557,7 @@ focuses the first option on mount — use sparingly.
|
|
|
556
557
|
|
|
557
558
|
- `active` — `(e: "active"): void` — Emitted when the group becomes active (focus/click enters it).
|
|
558
559
|
- `blur` — `(e: "blur", event: FocusEvent): void` — Emitted when one of the generated checkbox inputs loses focus. Forwards the original DOM `FocusEvent`.
|
|
559
|
-
- `change` — `(e: "change", event: Event): void` — Emitted when
|
|
560
|
+
- `change` — `(e: "change", event: Event): void` — Emitted when an option is toggled. Forwards the original DOM `Event` from the checkbox input.
|
|
560
561
|
- `click` — `(e: "click", event: MouseEvent): void` — Emitted when one of the generated checkbox inputs is clicked. Forwards the original DOM `MouseEvent`.
|
|
561
562
|
- `focus` — `(e: "focus", event: FocusEvent): void` — Emitted when one of the generated checkbox inputs receives focus. Forwards the original DOM `FocusEvent`.
|
|
562
563
|
- `inactive` — `(e: "inactive"): void` — Emitted when focus/click moves outside the group after it was active. Useful for validation-on-blur flows at group level.
|
package/dist/ai/BbCollapsible.md
CHANGED
|
@@ -27,7 +27,7 @@ Pick the neighbour that fits instead when you can:
|
|
|
27
27
|
async panels, wizard steps) → **`BbSmoothHeight`** (`./BbSmoothHeight.md`) —
|
|
28
28
|
it has no hidden state, it only animates height.
|
|
29
29
|
|
|
30
|
-
The whole API: `modelValue` (
|
|
30
|
+
The whole API: `modelValue` (boolean, defaults `false`), `eager`, `transition-duration`,
|
|
31
31
|
and one default slot. There are no events — see "You own the state" below.
|
|
32
32
|
|
|
33
33
|
### Advanced options in a form
|
|
@@ -124,13 +124,14 @@ const includeDrafts = ref(false);
|
|
|
124
124
|
|
|
125
125
|
### You own the state (one-way model)
|
|
126
126
|
|
|
127
|
-
`modelValue` is a **
|
|
127
|
+
`modelValue` is a **one-way** prop and the component never writes it back:
|
|
128
128
|
`BbCollapsible` emits no events and has nothing to emit — it cannot close or
|
|
129
129
|
open itself. `v-model` works purely as a prop binding; every change comes from
|
|
130
130
|
your trigger. Two consequences:
|
|
131
131
|
|
|
132
|
-
- Initialize the boolean explicitly (`const open = ref(false)`)
|
|
133
|
-
is
|
|
132
|
+
- Initialize the boolean explicitly (`const open = ref(false)`). Omitting the
|
|
133
|
+
binding is legal — it defaults to `false`, i.e. closed, and **nothing warns**
|
|
134
|
+
— so a forgotten `v-model` looks like a collapsible that will not open.
|
|
134
135
|
- Don't listen for `update:modelValue` on it; put side effects on the trigger
|
|
135
136
|
that flips the state.
|
|
136
137
|
|
|
@@ -405,8 +406,9 @@ const active = ref<DetailTab | null>('specs');
|
|
|
405
406
|
`BbAccordion`, which wires all of it.
|
|
406
407
|
- **Don't use it as a pure height animator** — if nothing is ever hidden,
|
|
407
408
|
`BbSmoothHeight` is the right tool.
|
|
408
|
-
- **Initialize the model** —
|
|
409
|
-
|
|
409
|
+
- **Initialize the model** — an omitted or `undefined` binding silently
|
|
410
|
+
behaves as closed and does **not** warn, so a missing `v-model` presents as
|
|
411
|
+
"the collapsible is broken" rather than as a mistake.
|
|
410
412
|
|
|
411
413
|
### Accessibility
|
|
412
414
|
|
|
@@ -422,9 +424,9 @@ const active = ref<DetailTab | null>('specs');
|
|
|
422
424
|
|
|
423
425
|
| Prop | Type | Default | Required | Description |
|
|
424
426
|
| --- | --- | --- | --- | --- |
|
|
425
|
-
| `eager` | `boolean \| undefined` |
|
|
426
|
-
| `modelValue` | `boolean` | `false` |
|
|
427
|
-
| `transitionDuration` | `number \| undefined` | `
|
|
427
|
+
| `eager` | `boolean \| undefined` | `false` | | Prevents rendering content before it's made visible. |
|
|
428
|
+
| `modelValue` | `boolean \| undefined` | `false` | | Used by v-model to trigger opening / closing the collapsible. Optional, matching the runtime: `withDefaults` supplies `false`, so an omitted binding renders closed and Vue never warns. It was typed required while carrying that default, whic… |
|
|
429
|
+
| `transitionDuration` | `number \| undefined` | `250` | | How long the transition has to last in milliseconds |
|
|
428
430
|
|
|
429
431
|
## Events
|
|
430
432
|
|