bitboss-ui 3.0.0-beta.66 → 3.0.0-beta.67
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 +3 -2
- package/bin/bitboss-ui-mcp.mjs +40 -9
- package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
- package/dist/ai/BbAlert.md +1 -1
- package/dist/ai/BbAvatar.md +1 -1
- package/dist/ai/BbBadge.md +1 -1
- package/dist/ai/BbBadgeButton.md +2 -2
- package/dist/ai/BbBaseButton.md +1 -1
- package/dist/ai/BbBreadcrumbs.md +1 -1
- package/dist/ai/BbButton.md +7 -1
- package/dist/ai/BbCalendar.md +101 -21
- package/dist/ai/BbCheckbox.md +4 -0
- package/dist/ai/BbCheckboxGroup.md +1 -1
- package/dist/ai/BbColorInput.md +3 -2
- package/dist/ai/BbConfirm.md +2 -1
- package/dist/ai/BbDatePicker.md +30 -18
- package/dist/ai/BbDatePickerInput.md +84 -22
- package/dist/ai/BbDialog.md +6 -3
- package/dist/ai/BbDropdown.md +5 -5
- package/dist/ai/BbDropdownButton.md +4 -1
- package/dist/ai/BbForm.md +4 -4
- package/dist/ai/BbNumberInput.md +16 -12
- package/dist/ai/BbOffCanvas.md +5 -5
- package/dist/ai/BbPagination.md +1 -1
- package/dist/ai/BbRadio.md +4 -0
- package/dist/ai/BbRadioGroup.md +1 -1
- package/dist/ai/BbRating.md +4 -4
- package/dist/ai/BbSelect.md +5 -4
- package/dist/ai/BbSelectPopover.md +3 -4
- package/dist/ai/BbSlider.md +1 -1
- package/dist/ai/BbSwitch.md +4 -0
- package/dist/ai/BbTable.md +19 -6
- package/dist/ai/BbTabs.md +1 -1
- package/dist/ai/BbTabsList.md +1 -1
- package/dist/ai/BbTag.md +2 -2
- package/dist/ai/BbTextInput.md +4 -4
- package/dist/ai/BbTextarea.md +1 -1
- package/dist/ai/BbTimePicker.md +3 -2
- package/dist/ai/BbTimePickerInput.md +7 -10
- package/dist/ai/BbTooltip.md +2 -2
- package/dist/ai/BbTree.md +2 -2
- package/dist/ai/ChipsBox.md +1 -1
- package/dist/ai/CommonField.md +2 -2
- package/dist/ai/CommonFieldInput.md +1 -1
- package/dist/ai/FlatListBox.md +1 -1
- package/dist/ai/GroupedListBox.md +1 -1
- package/dist/ai/ListBox.md +1 -1
- package/dist/ai/OptionsContainer.md +1 -1
- package/dist/ai/changelog.json +245 -537
- package/dist/ai/components.json +57 -57
- package/dist/ai/composables/useBbConfig.md +2 -2
- package/dist/ai/guides/component-picker.md +3 -2
- package/dist/ai/guides/design-language.md +25 -2
- package/dist/ai/guides/design-tokens.md +27 -13
- package/dist/ai/guides/eslint-rules.md +1 -1
- package/dist/ai/guides/fetch-items-playbook.md +1 -0
- package/dist/ai/guides/icons-policy.md +1 -1
- package/dist/ai/guides/inline-edit-playbook.md +1 -1
- package/dist/ai/guides/installation-and-plugin-setup.md +16 -16
- package/dist/ai/guides/migration/components/bb-select.md +1 -2
- package/dist/ai/guides/migration/components/bb-table.md +3 -3
- package/dist/ai/guides/migration/v2-to-v3.md +49 -1
- package/dist/ai/guides/migration/v3-beta-tooling.md +3 -3
- package/dist/ai/guides/passthrough.md +51 -10
- package/dist/ai/guides/validated-forms.md +3 -3
- package/dist/ai/guides/validation-libraries.md +11 -13
- package/dist/ai/helpers/inertia/manifest.json +2 -2
- package/dist/ai/manifest/common.json +3 -1
- package/dist/ai/manifest/components/BbAvatar.tree.json +1 -1
- package/dist/ai/manifest/components/BbBadge.json +2 -2
- package/dist/ai/manifest/components/BbBadge.tree.json +1 -1
- package/dist/ai/manifest/components/BbBadgeButton.json +2 -2
- package/dist/ai/manifest/components/BbBadgeButton.tree.json +1 -1
- package/dist/ai/manifest/components/BbBaseButton.json +2 -2
- package/dist/ai/manifest/components/BbBaseCheckboxIcon.json +1 -1
- package/dist/ai/manifest/components/BbBaseRadioIcon.json +1 -1
- package/dist/ai/manifest/components/BbBaseSwitchIcon.json +1 -1
- package/dist/ai/manifest/components/BbBreadcrumbs.json +3 -3
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
- package/dist/ai/manifest/components/BbButton.json +2 -2
- package/dist/ai/manifest/components/BbButton.tree.json +5 -0
- package/dist/ai/manifest/components/BbCalendar.json +27 -25
- package/dist/ai/manifest/components/BbCalendar.tree.json +16 -2
- package/dist/ai/manifest/components/BbCheckbox.json +1 -1
- package/dist/ai/manifest/components/BbCheckbox.tree.json +4 -1
- package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
- package/dist/ai/manifest/components/BbColorInput.json +18 -17
- package/dist/ai/manifest/components/BbColorPalette.json +1 -1
- package/dist/ai/manifest/components/BbConfirm.json +2 -1
- package/dist/ai/manifest/components/BbConfirm.tree.json +1 -1
- package/dist/ai/manifest/components/BbDatePicker.json +28 -26
- package/dist/ai/manifest/components/BbDatePicker.tree.json +1 -1
- package/dist/ai/manifest/components/BbDatePickerInput.json +36 -34
- package/dist/ai/manifest/components/BbDatePickerInput.tree.json +3 -2
- package/dist/ai/manifest/components/BbDialog.json +3 -3
- package/dist/ai/manifest/components/BbDialog.tree.json +4 -1
- package/dist/ai/manifest/components/BbDropdown.json +9 -9
- package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
- package/dist/ai/manifest/components/BbDropdownButton.json +3 -3
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +2 -2
- package/dist/ai/manifest/components/BbDropzone.json +1 -1
- package/dist/ai/manifest/components/BbHost.tree.json +1 -1
- package/dist/ai/manifest/components/BbNumberInput.json +8 -8
- package/dist/ai/manifest/components/BbOffCanvas.json +3 -3
- package/dist/ai/manifest/components/BbOffCanvas.tree.json +6 -3
- package/dist/ai/manifest/components/BbPagination.json +1 -1
- package/dist/ai/manifest/components/BbPagination.tree.json +1 -1
- package/dist/ai/manifest/components/BbRadio.json +1 -1
- package/dist/ai/manifest/components/BbRadio.tree.json +4 -1
- package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
- package/dist/ai/manifest/components/BbRating.json +7 -7
- package/dist/ai/manifest/components/BbRating.tree.json +2 -2
- package/dist/ai/manifest/components/BbSelect.json +21 -21
- package/dist/ai/manifest/components/BbSelectPopover.json +9 -9
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -0
- package/dist/ai/manifest/components/BbSlider.json +11 -11
- package/dist/ai/manifest/components/BbSwitch.json +1 -1
- package/dist/ai/manifest/components/BbSwitch.tree.json +4 -1
- package/dist/ai/manifest/components/BbSwitchGroup.json +1 -1
- package/dist/ai/manifest/components/BbTable.json +22 -22
- package/dist/ai/manifest/components/BbTable.tree.json +3 -1
- package/dist/ai/manifest/components/BbTabs.json +6 -6
- package/dist/ai/manifest/components/BbTabsList.json +4 -4
- package/dist/ai/manifest/components/BbTabsPanels.json +2 -2
- package/dist/ai/manifest/components/BbTag.json +2 -2
- package/dist/ai/manifest/components/BbTextInput.json +4 -4
- package/dist/ai/manifest/components/BbTextInput.tree.json +2 -2
- package/dist/ai/manifest/components/BbTextarea.json +2 -2
- package/dist/ai/manifest/components/BbTimePicker.json +6 -6
- package/dist/ai/manifest/components/BbTimePickerInput.json +18 -18
- package/dist/ai/manifest/components/BbToast.json +1 -1
- package/dist/ai/manifest/components/BbToast.tree.json +1 -1
- package/dist/ai/manifest/components/BbTooltip.tree.json +2 -2
- package/dist/ai/manifest/components/BbTree.json +3 -3
- package/dist/ai/manifest/components/BbTree.tree.json +1 -1
- package/dist/ai/manifest/components/CommonField.json +2 -2
- package/dist/ai/manifest/components/CommonFieldInput.tree.json +1 -1
- package/dist/ai/manifest/components/CommonPopover.tree.json +3 -0
- package/dist/ai/manifest/components/FlatListBox.json +1 -1
- package/dist/ai/manifest/components/GroupedListBox.json +1 -1
- package/dist/ai/manifest/components/ListBox.json +1 -1
- package/dist/ai/manifest/components/OptionsContainer.json +1 -1
- package/dist/ai/manifest/index.json +2 -2
- package/dist/ai/manifest/types.advanced.json +2 -2
- package/dist/ai/manifest/types.api.json +1 -1
- package/dist/ai/source/BbAvatar.md +1 -1
- package/dist/ai/source/BbBadge.md +30 -10
- package/dist/ai/source/BbBadgeButton.md +30 -10
- package/dist/ai/source/BbBaseButton.md +270 -267
- package/dist/ai/source/BbBaseCheckboxIcon.md +55 -51
- package/dist/ai/source/BbBaseRadioIcon.md +49 -45
- package/dist/ai/source/BbBaseSwitchIcon.md +56 -52
- package/dist/ai/source/BbBreadcrumbs.md +62 -47
- package/dist/ai/source/BbButton.md +89 -4
- package/dist/ai/source/BbCalendar.md +508 -118
- package/dist/ai/source/BbCheckbox.md +215 -171
- package/dist/ai/source/BbCheckboxGroup.md +20 -16
- package/dist/ai/source/BbColorInput.md +74 -18
- package/dist/ai/source/BbColorPalette.md +135 -121
- package/dist/ai/source/BbConfirm.md +25 -7
- package/dist/ai/source/BbConfirmPortal.md +16 -6
- package/dist/ai/source/BbDatePicker.md +204 -161
- package/dist/ai/source/BbDatePickerInput.md +289 -23
- package/dist/ai/source/BbDialog.md +145 -131
- package/dist/ai/source/BbDropdown.md +48 -10
- package/dist/ai/source/BbDropdownButton.md +56 -13
- package/dist/ai/source/BbDropdownGroup.md +48 -10
- package/dist/ai/source/BbDropzone.md +86 -78
- package/dist/ai/source/BbNumberInput.md +60 -22
- package/dist/ai/source/BbOffCanvas.md +155 -140
- package/dist/ai/source/BbPagination.md +97 -85
- package/dist/ai/source/BbRadio.md +204 -160
- package/dist/ai/source/BbRadioGroup.md +17 -15
- package/dist/ai/source/BbRating.md +157 -144
- package/dist/ai/source/BbSelect.md +77 -8
- package/dist/ai/source/BbSelectPopover.md +381 -336
- package/dist/ai/source/BbSlider.md +200 -187
- package/dist/ai/source/BbSwitch.md +79 -8
- package/dist/ai/source/BbSwitchGroup.md +20 -16
- package/dist/ai/source/BbTable.md +470 -386
- package/dist/ai/source/BbTabs.md +62 -22
- package/dist/ai/source/BbTabsList.md +62 -22
- package/dist/ai/source/BbTabsPanels.md +62 -22
- package/dist/ai/source/BbTabsRoot.md +62 -22
- package/dist/ai/source/BbTag.md +41 -21
- package/dist/ai/source/BbTextInput.md +45 -11
- package/dist/ai/source/BbTextarea.md +39 -7
- package/dist/ai/source/BbTimePicker.md +116 -103
- package/dist/ai/source/BbTimePickerInput.md +64 -8
- package/dist/ai/source/BbToast.md +26 -18
- package/dist/ai/source/BbToastPortal.md +26 -18
- package/dist/ai/source/BbTooltip.md +2 -2
- package/dist/ai/source/BbTree.md +16 -3
- package/dist/ai/source/CommonField.md +2 -2
- package/dist/ai/source/CommonFieldInput.md +2 -2
- package/dist/ai/source/CommonPopover.md +7 -0
- package/dist/ai/source/CommonTimeSelector.md +3 -1
- package/dist/ai/source/FlatListBox.md +1 -1
- package/dist/ai/source/GroupedListBox.md +1 -1
- package/dist/ai/source/ListBox.md +1 -1
- package/dist/ai/source/OptionsContainer.md +1 -1
- package/dist/assets/css/reset.css_inline.js +1 -2
- package/dist/assets/svgs/alert.svg_raw.js +1 -2
- package/dist/assets/svgs/calendar.svg_raw.js +1 -2
- package/dist/assets/svgs/check_stroke.svg_raw.js +1 -2
- package/dist/assets/svgs/chevron_down.svg_raw.js +1 -2
- package/dist/assets/svgs/chevron_right.svg_raw.js +1 -2
- package/dist/assets/svgs/clear.svg_raw.js +1 -2
- package/dist/assets/svgs/clock.svg_raw.js +1 -2
- package/dist/assets/svgs/error.svg_raw.js +1 -2
- package/dist/assets/svgs/search.svg_raw.js +1 -2
- package/dist/assets/svgs/spinner.svg_raw.js +1 -2
- package/dist/assets/svgs/star.svg_raw.js +1 -2
- package/dist/assets/svgs/user.svg_raw.js +1 -2
- package/dist/components/BbAccordion/BbAccordion.vue.js +1 -2
- package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +21 -22
- package/dist/components/BbAccordion/types.js +1 -2
- package/dist/components/BbAlert/BbAlert.vue.js +1 -2
- package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +28 -29
- package/dist/components/BbAlert/types.js +1 -2
- package/dist/components/BbAsterisk/BbAsterisk.vue.js +1 -2
- package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/BbAsterisk/types.js +1 -2
- package/dist/components/BbAvatar/BbAvatar.vue.js +1 -2
- package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +20 -21
- package/dist/components/BbAvatar/types.js +1 -2
- package/dist/components/BbBadge/BadgeBodyContent.vue.js +1 -2
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/components/BbBadge/BbBadge.vue.js +1 -2
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +31 -33
- package/dist/components/BbBadge/BbBadgeButton.vue.js +1 -2
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +11 -16
- package/dist/components/BbBadge/badgeButtonContext.js +1 -2
- package/dist/components/BbBadge/types.d.ts +20 -4
- package/dist/components/BbBadge/types.js +7 -2
- package/dist/components/BbBaseButton/BbBaseButton.vue.js +1 -2
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +12 -13
- package/dist/components/BbBaseButton/RouterComponent.vue.js +1 -2
- package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/components/BbBaseButton/types.d.ts +4 -2
- package/dist/components/BbBaseButton/types.js +6 -2
- package/dist/components/BbBaseButton/useLinkState.js +5 -6
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js +1 -2
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/components/BbBaseCheckboxIcon/types.d.ts +4 -2
- package/dist/components/BbBaseCheckboxIcon/types.js +3 -3
- package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.js +1 -2
- package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/components/BbBaseRadioIcon/types.d.ts +4 -2
- package/dist/components/BbBaseRadioIcon/types.js +3 -3
- package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.js +1 -2
- package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +15 -16
- package/dist/components/BbBaseSwitchIcon/types.d.ts +4 -2
- package/dist/components/BbBaseSwitchIcon/types.js +3 -3
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.js +1 -2
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +156 -167
- package/dist/components/BbBreadcrumbs/estimateBreadcrumbItemWidth.js +1 -2
- package/dist/components/BbBreadcrumbs/types.d.ts +19 -5
- package/dist/components/BbBreadcrumbs/types.js +8 -3
- package/dist/components/BbButton/BbButton.vue.js +1 -2
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +41 -42
- package/dist/components/BbButton/toggleRoving.js +2 -3
- package/dist/components/BbButton/types.d.ts +4 -2
- package/dist/components/BbButton/types.js +8 -2
- package/dist/components/BbCalendar/BbCalendar.vue.d.ts +41 -71
- package/dist/components/BbCalendar/BbCalendar.vue.js +1 -2
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +261 -280
- package/dist/components/BbCalendar/CalendarMonthPanel.vue.js +1 -2
- package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -17
- package/dist/components/BbCalendar/CalendarYearPanel.vue.js +1 -2
- package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +55 -57
- package/dist/components/BbCalendar/calendarHost.js +1 -2
- package/dist/components/BbCalendar/types.d.ts +75 -30
- package/dist/components/BbCalendar/types.js +54 -3
- package/dist/components/BbCalendar/useCalendarContext.js +1 -2
- package/dist/components/BbCalendar/useCalendarGrid.js +180 -193
- package/dist/components/BbCalendar/useDayGrid.d.ts +17 -0
- package/dist/components/BbCalendar/useDayGrid.js +159 -155
- package/dist/components/BbCalendar/useDayjsLocale.d.ts +6 -0
- package/dist/components/BbCalendar/useDayjsLocale.js +10 -4
- package/dist/components/BbCalendar/useToday.js +1 -2
- package/dist/components/BbCheckbox/BbCheckbox.vue.js +1 -2
- package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +109 -116
- package/dist/components/BbCheckbox/types.d.ts +4 -2
- package/dist/components/BbCheckbox/types.js +3 -3
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +21 -3
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.js +1 -2
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +126 -132
- package/dist/components/BbCheckboxGroup/types.d.ts +12 -6
- package/dist/components/BbCheckboxGroup/types.js +8 -9
- package/dist/components/BbCollapsible/BbCollapsible.vue.js +1 -2
- package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +12 -13
- package/dist/components/BbCollapsible/types.js +1 -2
- package/dist/components/BbColorInput/BbColorInput.vue.js +1 -2
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +171 -151
- package/dist/components/BbColorInput/types.d.ts +26 -11
- package/dist/components/BbColorInput/types.js +18 -9
- package/dist/components/BbColorPalette/BbColorPalette.vue.js +1 -2
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +218 -226
- package/dist/components/BbColorPalette/types.d.ts +12 -4
- package/dist/components/BbColorPalette/types.js +4 -3
- package/dist/components/BbConfirm/BbConfirm.vue.js +1 -2
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +108 -97
- package/dist/components/BbConfirm/BbConfirmHost.js +9 -10
- package/dist/components/BbConfirm/BbConfirmPortal.vue.js +1 -2
- package/dist/components/BbConfirm/BbConfirmPortal.vue_vue_type_script_setup_true_lang.js +2 -3
- package/dist/components/BbConfirm/confirmEntry.js +1 -2
- package/dist/components/BbConfirm/types.d.ts +8 -4
- package/dist/components/BbConfirm/types.js +3 -3
- package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +44 -88
- package/dist/components/BbDatePicker/BbDatePicker.vue.js +1 -2
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +172 -230
- package/dist/components/BbDatePicker/types.d.ts +44 -19
- package/dist/components/BbDatePicker/types.js +6 -3
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +70 -194
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.js +1 -2
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +481 -596
- package/dist/components/BbDatePickerInput/dateFieldLayout.js +1 -2
- package/dist/components/BbDatePickerInput/types.d.ts +62 -14
- package/dist/components/BbDatePickerInput/types.js +67 -7
- package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -1
- package/dist/components/BbDialog/BbDialog.vue.js +1 -2
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +221 -224
- package/dist/components/BbDialog/types.d.ts +5 -3
- package/dist/components/BbDialog/types.js +3 -3
- package/dist/components/BbDialog/useDialogStack.js +1 -2
- package/dist/components/BbDropdown/AdaptiveDropdown.vue.js +1 -2
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +56 -57
- package/dist/components/BbDropdown/BbDropdown.vue.js +1 -2
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +259 -294
- package/dist/components/BbDropdown/BbDropdownGroup.vue.js +1 -2
- package/dist/components/BbDropdown/BbDropdownGroup.vue_vue_type_script_setup_true_lang.js +19 -22
- package/dist/components/BbDropdown/BbDropdownList.vue.js +1 -2
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +337 -354
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue.js +1 -2
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +127 -127
- package/dist/components/BbDropdown/DropdownRow.vue.js +1 -2
- package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +21 -22
- package/dist/components/BbDropdown/normalizeGroups.js +20 -21
- package/dist/components/BbDropdown/types.d.ts +20 -4
- package/dist/components/BbDropdown/types.js +28 -2
- package/dist/components/BbDropdown/useDropdownContext.js +1 -2
- package/dist/components/BbDropdown/useDropdownGroupRegistry.js +1 -2
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.js +1 -2
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +61 -62
- package/dist/components/BbDropdownButton/types.d.ts +16 -5
- package/dist/components/BbDropdownButton/types.js +13 -8
- package/dist/components/BbDropzone/BbDropzone.vue.d.ts +9 -1
- package/dist/components/BbDropzone/BbDropzone.vue.js +1 -2
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +141 -150
- package/dist/components/BbDropzone/types.d.ts +4 -2
- package/dist/components/BbDropzone/types.js +8 -2
- package/dist/components/BbForm/BbForm.vue.js +1 -2
- package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +154 -159
- package/dist/components/BbForm/BbFormCustomField.js +2 -3
- package/dist/components/BbForm/bindFormField.js +2 -3
- package/dist/components/BbForm/formFields.js +1 -2
- package/dist/components/BbForm/formSchema.js +15 -53
- package/dist/components/BbHost/BbHost.vue.js +1 -2
- package/dist/components/BbHost/BbHost.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/BbHost/BbHostOpening.js +12 -14
- package/dist/components/BbHoverCard/BbHoverCard.vue.js +1 -2
- package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +147 -152
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue.js +1 -2
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/BbHoverCard/hoverCardFocus.js +1 -2
- package/dist/components/BbHoverCard/types.js +1 -2
- package/dist/components/BbIcon/BbIcon.vue.js +1 -2
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +24 -25
- package/dist/components/BbIcon/iconCache.js +1 -2
- package/dist/components/BbIcon/types.js +1 -2
- package/dist/components/BbIndicator/BbIndicator.vue.js +1 -2
- package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/components/BbIndicator/types.js +1 -2
- package/dist/components/BbNumberInput/BbNumberInput.vue.js +1 -2
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +336 -369
- package/dist/components/BbNumberInput/numberDisplay.js +1 -2
- package/dist/components/BbNumberInput/platform.js +1 -2
- package/dist/components/BbNumberInput/types.d.ts +27 -6
- package/dist/components/BbNumberInput/types.js +11 -10
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.js +1 -2
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +388 -411
- package/dist/components/BbOffCanvas/hostCloseLabel.js +1 -2
- package/dist/components/BbOffCanvas/sheetAttrs.js +1 -2
- package/dist/components/BbOffCanvas/sheetSnap.js +3 -8
- package/dist/components/BbOffCanvas/types.d.ts +5 -3
- package/dist/components/BbOffCanvas/types.js +3 -3
- package/dist/components/BbOffCanvas/useOffCanvasStack.js +1 -2
- package/dist/components/BbPagination/BbPagination.vue.js +1 -2
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +84 -85
- package/dist/components/BbPagination/paginationFit.js +0 -1
- package/dist/components/BbPagination/types.d.ts +12 -4
- package/dist/components/BbPagination/types.js +4 -3
- package/dist/components/BbPopover/BbPopover.vue.js +1 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +141 -160
- package/dist/components/BbPopover/BbPopoverPortal.vue.js +1 -2
- package/dist/components/BbPopover/BbPopoverPortal.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/BbPopover/types.js +1 -2
- package/dist/components/BbProgress/BbProgress.vue.js +1 -2
- package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/components/BbProgress/types.js +1 -2
- package/dist/components/BbPtScope/BbPtScope.vue.js +1 -2
- package/dist/components/BbPtScope/BbPtScope.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/BbRadio/BbRadio.vue.js +1 -2
- package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +46 -50
- package/dist/components/BbRadio/types.d.ts +4 -2
- package/dist/components/BbRadio/types.js +3 -3
- package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +20 -2
- package/dist/components/BbRadioGroup/BbRadioGroup.vue.js +1 -2
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +178 -184
- package/dist/components/BbRadioGroup/types.d.ts +12 -6
- package/dist/components/BbRadioGroup/types.js +8 -9
- package/dist/components/BbRating/BbRating.vue.js +1 -2
- package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +143 -155
- package/dist/components/BbRating/types.d.ts +15 -5
- package/dist/components/BbRating/types.js +10 -3
- package/dist/components/BbSelect/BbSelect.vue.d.ts +51 -73
- package/dist/components/BbSelect/BbSelect.vue.js +1 -2
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +173 -205
- package/dist/components/BbSelect/types.d.ts +29 -5
- package/dist/components/BbSelect/types.js +17 -2
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +21 -23
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.js +1 -2
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +536 -598
- package/dist/components/BbSelectPopover/knownItems.js +1 -2
- package/dist/components/BbSelectPopover/sheetChipAttrs.js +1 -2
- package/dist/components/BbSelectPopover/types.d.ts +20 -6
- package/dist/components/BbSelectPopover/types.js +9 -3
- package/dist/components/BbSlider/BbSlider.vue.d.ts +18 -17
- package/dist/components/BbSlider/BbSlider.vue.js +1 -2
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +213 -235
- package/dist/components/BbSlider/types.d.ts +14 -4
- package/dist/components/BbSlider/types.js +10 -3
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.js +1 -2
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +14 -21
- package/dist/components/BbSmoothHeight/types.js +1 -2
- package/dist/components/BbSpinner/BbSpinner.vue.js +1 -2
- package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +14 -15
- package/dist/components/BbSpinner/types.js +1 -2
- package/dist/components/BbSwitch/BbSwitch.vue.js +1 -2
- package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +110 -117
- package/dist/components/BbSwitch/types.d.ts +21 -2
- package/dist/components/BbSwitch/types.js +8 -5
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +16 -2
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.js +1 -2
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +155 -160
- package/dist/components/BbSwitchGroup/types.d.ts +11 -4
- package/dist/components/BbSwitchGroup/types.js +4 -5
- package/dist/components/BbTable/BbTable.vue.d.ts +1 -1
- package/dist/components/BbTable/BbTable.vue.js +1 -2
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1128 -1301
- package/dist/components/BbTable/BbTableDataRow.js +1 -2
- package/dist/components/BbTable/BbTableEdgeRow.js +1 -2
- package/dist/components/BbTable/BbTableExpandRow.js +1 -2
- package/dist/components/BbTable/BbTableSelectToggle.js +17 -18
- package/dist/components/BbTable/gridWidgets.js +2 -7
- package/dist/components/BbTable/measuredFloors.js +67 -65
- package/dist/components/BbTable/textRuler.d.ts +3 -1
- package/dist/components/BbTable/textRuler.js +40 -39
- package/dist/components/BbTable/types.d.ts +40 -8
- package/dist/components/BbTable/types.js +45 -3
- package/dist/components/BbTable/useRowReorder.js +179 -203
- package/dist/components/BbTable/utils.d.ts +7 -1
- package/dist/components/BbTable/utils.js +35 -40
- package/dist/components/BbTabs/BbTabs.vue.d.ts +23 -16
- package/dist/components/BbTabs/BbTabs.vue.js +1 -2
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +24 -30
- package/dist/components/BbTabs/BbTabsList.vue.js +1 -2
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +19 -24
- package/dist/components/BbTabs/BbTabsPanels.vue.js +1 -2
- package/dist/components/BbTabs/BbTabsPanels.vue_vue_type_script_setup_true_lang.js +4 -7
- package/dist/components/BbTabs/BbTabsRoot.vue.js +1 -2
- package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +6 -7
- package/dist/components/BbTabs/tablistName.js +1 -2
- package/dist/components/BbTabs/types.d.ts +37 -10
- package/dist/components/BbTabs/types.js +11 -3
- package/dist/components/BbTag/BbTag.vue.js +1 -2
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +218 -243
- package/dist/components/BbTag/types.d.ts +20 -12
- package/dist/components/BbTag/types.js +19 -9
- package/dist/components/BbTextInput/BbTextInput.vue.d.ts +22 -8
- package/dist/components/BbTextInput/BbTextInput.vue.js +1 -2
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +136 -142
- package/dist/components/BbTextInput/types.d.ts +15 -5
- package/dist/components/BbTextInput/types.js +22 -12
- package/dist/components/BbTextarea/BbTextarea.vue.d.ts +22 -8
- package/dist/components/BbTextarea/BbTextarea.vue.js +1 -2
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +142 -144
- package/dist/components/BbTextarea/types.d.ts +15 -5
- package/dist/components/BbTextarea/types.js +22 -12
- package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +15 -9
- package/dist/components/BbTimePicker/BbTimePicker.vue.js +1 -2
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +108 -114
- package/dist/components/BbTimePicker/types.d.ts +14 -4
- package/dist/components/BbTimePicker/types.js +4 -3
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +31 -31
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.js +1 -2
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +295 -327
- package/dist/components/BbTimePickerInput/types.d.ts +26 -5
- package/dist/components/BbTimePickerInput/types.js +17 -7
- package/dist/components/BbToast/BbToast.vue.js +1 -2
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +12 -17
- package/dist/components/BbToast/BbToastMessage.vue.js +1 -2
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +72 -74
- package/dist/components/BbToast/BbToastPortal.vue.js +1 -2
- package/dist/components/BbToast/BbToastPortal.vue_vue_type_script_setup_true_lang.js +2 -3
- package/dist/components/BbToast/BbToastRegion.vue.js +1 -2
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +31 -32
- package/dist/components/BbToast/types.d.ts +17 -5
- package/dist/components/BbToast/types.js +12 -13
- package/dist/components/BbTooltip/BbTooltip.vue.js +1 -2
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +120 -121
- package/dist/components/BbTooltip/tooltipWarmup.js +0 -1
- package/dist/components/BbTooltip/types.js +1 -2
- package/dist/components/BbTree/BbTree.vue.d.ts +2 -3
- package/dist/components/BbTree/BbTree.vue.js +1 -2
- package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +28 -27
- package/dist/components/BbTree/BbTreeLevel.vue.js +1 -2
- package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +12 -20
- package/dist/components/BbTree/context.js +1 -2
- package/dist/components/BbTree/types.d.ts +13 -3
- package/dist/components/BbTree/types.js +4 -3
- package/dist/components/ChipsBox/ChipsBox.vue.js +1 -2
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +24 -26
- package/dist/components/ClearableButton/ClearableButton.vue.js +1 -2
- package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/CloseIcon/CloseButton.vue.js +1 -2
- package/dist/components/CloseIcon/CloseButton.vue_vue_type_script_setup_true_lang.js +3 -4
- package/dist/components/CommaBox/CommaBox.vue.js +1 -2
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +20 -22
- package/dist/components/CommonField/CommonField.vue.js +1 -2
- package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +78 -73
- package/dist/components/CommonField/types.d.ts +2 -2
- package/dist/components/CommonFieldInput/CommonFieldInput.vue.js +1 -2
- package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +20 -21
- package/dist/components/CommonPopover/CommonPopover.vue.js +1 -2
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +92 -91
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue.js +1 -2
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +29 -38
- package/dist/components/CommonTimeSelector/useMeridiem.js +1 -2
- package/dist/components/ErrorIcon/ErrorIcon.vue.js +1 -2
- package/dist/components/ErrorIcon/ErrorIcon.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/FlatListBox/FlatListBox.vue.js +1 -2
- package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +149 -156
- package/dist/components/FlatListBox/types.d.ts +1 -1
- package/dist/components/GroupedListBox/GroupedListBox.vue.js +1 -2
- package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +104 -111
- package/dist/components/GroupedListBox/types.d.ts +1 -1
- package/dist/components/ListBox/ListBox.vue.js +1 -2
- package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +21 -22
- package/dist/components/ListBox/types.d.ts +1 -1
- package/dist/components/OptionsContainer/OptionsContainer.vue.js +1 -2
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +19 -23
- package/dist/components/OptionsContainer/types.d.ts +1 -1
- package/dist/components/Transitions/ScaleFade.vue.js +1 -2
- package/dist/components/Transitions/ScaleFade.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/Transitions/Slide.vue.js +4 -5
- package/dist/components/Transitions/Slide.vue_vue_type_script_setup_true_lang.js +4 -5
- package/dist/components/WarningIcon/WarningIcon.vue.js +1 -2
- package/dist/components/WarningIcon/WarningIcon.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/composables/autoHost.js +1 -2
- package/dist/composables/formSubmitLock.js +1 -2
- package/dist/composables/hostOpenings.js +6 -11
- package/dist/composables/hostRegistry.js +1 -2
- package/dist/composables/overlayRegistry.js +2 -3
- package/dist/composables/ssrMarker.js +1 -2
- package/dist/composables/useActiveInactiveState.js +1 -2
- package/dist/composables/useArray.js +1 -2
- package/dist/composables/useBaseOptions.js +19 -20
- package/dist/composables/useBbConfig.js +1 -2
- package/dist/composables/useBbDialog.js +18 -22
- package/dist/composables/useBbDropdown.js +3 -4
- package/dist/composables/useBbForm.js +6 -10
- package/dist/composables/useBbFormField.js +1 -2
- package/dist/composables/useBbOffCanvas.js +4 -5
- package/dist/composables/useBbTable.js +2 -3
- package/dist/composables/useBbTabs.js +51 -63
- package/dist/composables/useBodyScrollLock.js +1 -2
- package/dist/composables/useBreakpoint.js +1 -2
- package/dist/composables/useCancelableFunction.js +1 -2
- package/dist/composables/useCharacterCounter.js +2 -3
- package/dist/composables/useChoiceIndicator.js +4 -9
- package/dist/composables/useClosingInert.js +3 -8
- package/dist/composables/useCoarsePointer.js +1 -2
- package/dist/composables/useCoherence.js +1 -2
- package/dist/composables/useConfig.js +1 -2
- package/dist/composables/useConfirm.d.ts +22 -24
- package/dist/composables/useConfirm.js +7 -8
- package/dist/composables/useCountdown.js +6 -7
- package/dist/composables/useEscapeStackEntry.js +1 -2
- package/dist/composables/useFormBinding.js +6 -9
- package/dist/composables/useFrameworkDetection.js +1 -2
- package/dist/composables/useHashedWatcher.js +1 -2
- package/dist/composables/useHydrated.js +1 -2
- package/dist/composables/useId.js +1 -2
- package/dist/composables/useImeDismissBlur.js +2 -7
- package/dist/composables/useIndexById.js +1 -2
- package/dist/composables/useInertiaPage.js +1 -2
- package/dist/composables/useItemText.js +3 -3
- package/dist/composables/useItemValue.js +1 -2
- package/dist/composables/useItemsGetter.js +12 -19
- package/dist/composables/useKeyboardInset.js +0 -1
- package/dist/composables/useListboxFocus.js +1 -2
- package/dist/composables/useLocale.js +7 -8
- package/dist/composables/useLogger.js +1 -2
- package/dist/composables/useMobile.js +1 -2
- package/dist/composables/useOnDemandOpener.js +12 -13
- package/dist/composables/useOnFalsy.js +1 -2
- package/dist/composables/useOnTruthy.js +1 -2
- package/dist/composables/useOverlayNavigation.js +6 -11
- package/dist/composables/useOverlayYield.js +1 -2
- package/dist/composables/usePassthrough.js +207 -123
- package/dist/composables/usePrefill.js +11 -16
- package/dist/composables/useQuery.js +9 -22
- package/dist/composables/useRefusedCloseAnnouncement.js +1 -2
- package/dist/composables/useRoute.js +1 -2
- package/dist/composables/useRouter.js +1 -2
- package/dist/composables/useSafeArea.js +10 -11
- package/dist/composables/useSafeAreaInternal.js +4 -5
- package/dist/composables/useSegmentedFields.js +5 -17
- package/dist/composables/useServerPrefetch.js +1 -2
- package/dist/composables/useSheetSurface.js +1 -2
- package/dist/composables/useSsrState.js +1 -2
- package/dist/composables/useTableWidthContext.js +2 -3
- package/dist/composables/useToast.js +3 -4
- package/dist/composables/useToggleInput.js +1 -2
- package/dist/composables/useTopLayer.js +1 -2
- package/dist/composables/useTypeahead.js +0 -1
- package/dist/composables/useUntil.js +1 -2
- package/dist/composables/useUrlQueryParam.d.ts +1 -1
- package/dist/composables/useUrlQueryParam.js +1 -2
- package/dist/composables/useViewportWidth.js +2 -3
- package/dist/deprecation/ai-deprecations.json.js +1 -2
- package/dist/deprecation/removedProps.js +1 -2
- package/dist/directives/bbColor.js +7 -8
- package/dist/directives/bbDate.js +7 -8
- package/dist/directives/bbDialog.js +1 -2
- package/dist/directives/bbDropdown.js +14 -15
- package/dist/directives/bbHoverCard.js +8 -9
- package/dist/directives/bbOffCanvas.js +1 -2
- package/dist/directives/bbPopover.js +12 -13
- package/dist/directives/bbTime.js +7 -8
- package/dist/directives/bbTooltip.js +1 -2
- package/dist/directives/createPopoverDirective.js +6 -17
- package/dist/directives/directivePortal.js +1 -2
- package/dist/directives/overlayTrigger.js +24 -25
- package/dist/directives/renderingInstance.js +4 -8
- package/dist/i18n/locales/cs.json +8 -1
- package/dist/i18n/locales/da.json +8 -1
- package/dist/i18n/locales/de-CH.json +8 -1
- package/dist/i18n/locales/de.json +8 -1
- package/dist/i18n/locales/el.json +8 -1
- package/dist/i18n/locales/en-GB.json +8 -1
- package/dist/i18n/locales/en.json +8 -1
- package/dist/i18n/locales/es-MX.json +8 -1
- package/dist/i18n/locales/es.json +8 -1
- package/dist/i18n/locales/fi.json +8 -1
- package/dist/i18n/locales/fr.json +8 -1
- package/dist/i18n/locales/hu.json +8 -1
- package/dist/i18n/locales/it.json +8 -1
- package/dist/i18n/locales/ja.json +8 -1
- package/dist/i18n/locales/ko.json +8 -1
- package/dist/i18n/locales/nb.json +8 -1
- package/dist/i18n/locales/nl.json +8 -1
- package/dist/i18n/locales/pl.json +8 -1
- package/dist/i18n/locales/pt-BR.json +8 -1
- package/dist/i18n/locales/pt-PT.json +8 -1
- package/dist/i18n/locales/ro.json +8 -1
- package/dist/i18n/locales/ru.json +8 -1
- package/dist/i18n/locales/sv.json +8 -1
- package/dist/i18n/locales/tr.json +8 -1
- package/dist/i18n/locales/uk.json +8 -1
- package/dist/i18n/locales/zh-CN.json +8 -1
- package/dist/i18n/locales/zh-HK.json +8 -1
- package/dist/i18n/locales/zh-TW.json +8 -1
- package/dist/i18n/regionHints.js +1 -2
- package/dist/i18n/regions.js +1 -2
- package/dist/icon-scan.js +6 -11
- package/dist/index.js +87 -87
- package/dist/llms-full.txt +550 -230
- package/dist/llms-medium.txt +44 -20
- package/dist/locale-blueprint.json +8 -1
- package/dist/nuxt-auto-imports.js +1 -2
- package/dist/nuxt.js +21 -22
- package/dist/passthrough-deduper.js +1 -2
- package/dist/plugin.js +15 -16
- package/dist/project-dts.js +1 -2
- package/dist/runtime/nuxt-plugin.js +25 -26
- package/dist/styles.css +2 -2
- package/dist/types/AlertVariant.js +1 -2
- package/dist/types/BadgeVariant.js +1 -2
- package/dist/types/ButtonVariant.js +1 -2
- package/dist/types/CheckboxVariant.js +1 -2
- package/dist/types/ConfirmVariant.js +1 -2
- package/dist/types/DatePickerType.d.ts +10 -5
- package/dist/types/DatePickerType.js +3 -4
- package/dist/types/DropdownItemVariant.js +1 -2
- package/dist/types/FieldLayout.js +1 -2
- package/dist/types/IndicatorVariant.js +1 -2
- package/dist/types/InputVariant.js +1 -2
- package/dist/types/RadioVariant.js +1 -2
- package/dist/types/TabsVariant.js +1 -2
- package/dist/types/ToastVariant.js +1 -2
- package/dist/types/TooltipVariant.js +1 -2
- package/dist/types/passthrough.d.ts +112 -2
- package/dist/types/passthrough.js +19 -13
- package/dist/types/ptComponentMap.d.ts +31 -31
- package/dist/utilities/functions/animationsSettled.js +1 -2
- package/dist/utilities/functions/bytesToUnit.js +1 -2
- package/dist/utilities/functions/chunk.js +1 -2
- package/dist/utilities/functions/clamp.js +1 -2
- package/dist/utilities/functions/clampPrecision.js +1 -2
- package/dist/utilities/functions/convertDateValue.d.ts +5 -2
- package/dist/utilities/functions/convertDateValue.js +19 -13
- package/dist/utilities/functions/curry.js +1 -2
- package/dist/utilities/functions/deburr.js +1 -2
- package/dist/utilities/functions/elementLabel.js +1 -2
- package/dist/utilities/functions/empty.js +1 -2
- package/dist/utilities/functions/extractDomContainer.js +1 -2
- package/dist/utilities/functions/findInTree.js +1 -2
- package/dist/utilities/functions/flattenTree.js +1 -2
- package/dist/utilities/functions/get.js +1 -2
- package/dist/utilities/functions/hasVnodeListener.js +1 -2
- package/dist/utilities/functions/hash.js +1 -2
- package/dist/utilities/functions/head.js +1 -2
- package/dist/utilities/functions/identity.js +1 -2
- package/dist/utilities/functions/indexBy.js +1 -2
- package/dist/utilities/functions/isDateDisabled.js +23 -19
- package/dist/utilities/functions/isEqual.js +1 -2
- package/dist/utilities/functions/isHex.js +1 -2
- package/dist/utilities/functions/isImeComposing.js +1 -2
- package/dist/utilities/functions/isNil.js +1 -2
- package/dist/utilities/functions/isNotEmpty.js +1 -2
- package/dist/utilities/functions/isNotNil.js +1 -2
- package/dist/utilities/functions/isTextEntry.js +1 -2
- package/dist/utilities/functions/isoWeek.d.ts +36 -0
- package/dist/utilities/functions/isoWeek.js +21 -0
- package/dist/utilities/functions/itemProps.js +1 -2
- package/dist/utilities/functions/last.js +1 -2
- package/dist/utilities/functions/matchAnyKey.js +1 -2
- package/dist/utilities/functions/noop.js +1 -2
- package/dist/utilities/functions/normalizeDateBound.d.ts +4 -0
- package/dist/utilities/functions/normalizeDateBound.js +11 -10
- package/dist/utilities/functions/parsePaginationNumber.js +1 -2
- package/dist/utilities/functions/parseSize.js +1 -2
- package/dist/utilities/functions/parseWidthString.js +1 -2
- package/dist/utilities/functions/percentage.js +1 -2
- package/dist/utilities/functions/pickBy.js +1 -2
- package/dist/utilities/functions/range.js +1 -2
- package/dist/utilities/functions/readableValue.js +1 -2
- package/dist/utilities/functions/reject.js +1 -2
- package/dist/utilities/functions/resolveEnumProp.js +1 -2
- package/dist/utilities/functions/responsiveDefault.js +1 -2
- package/dist/utilities/functions/settlesVisible.js +1 -2
- package/dist/utilities/functions/slotKey.js +1 -2
- package/dist/utilities/functions/snapToStep.js +1 -2
- package/dist/utilities/functions/sort.js +1 -2
- package/dist/utilities/functions/throttle.js +1 -2
- package/dist/utilities/functions/toggleInput.js +1 -2
- package/dist/utilities/functions/transpose.js +1 -2
- package/dist/utilities/functions/validateDateFormat.js +1 -2
- package/dist/utilities/functions/wait.js +1 -2
- package/dist/utilities/functions/waitFor.js +2 -7
- package/dist/utilities/functions/warnRemovedAttrs.js +2 -5
- package/dist/utilities/functions/when.js +1 -2
- package/dist/utilities/misc/autofocus.js +1 -2
- package/dist/utilities/misc/iconsInjectionKey.js +1 -2
- package/dist/utilities/misc/listboxMetrics.js +1 -2
- package/dist/utilities/misc/maskaDataOptions.d.ts +12 -0
- package/dist/utilities/misc/maskaDataOptions.js +36 -0
- package/dist/utilities/misc/pageText.d.ts +16 -0
- package/dist/utilities/misc/pageText.js +10 -0
- package/dist/utilities/misc/ssrStateInjectionKey.js +1 -2
- package/dist/utilities/misc/ssrValue.js +1 -2
- package/dist/utilities/misc/transitions.js +1 -2
- package/dist/utils/copyData.js +1 -2
- package/dist/utils/cssLayers.js +1 -2
- package/dist/utils/focusVisibility.js +1 -2
- package/dist/utils/injectLibraryStyles.js +3 -12
- package/dist/utils/overlayEscapeStack.js +1 -2
- package/dist/utils/overlaySurfaceIsolation.js +1 -2
- package/dist/utils/passthrough.js +2 -3
- package/dist/utils/ptScope.js +1 -2
- package/dist/utils/versionCheck.js +2 -3
- package/dist/vite-plugin.d.ts +1 -1
- package/dist/vite.js +364 -437
- package/package.json +14 -10
- package/scripts/lib/adoption-checklist.json +1 -1
- package/scripts/lib/check-queue.mjs +102 -0
- package/scripts/lib/consumer-install.mjs +64 -0
- package/scripts/lib/css-comment-text.mjs +16 -0
- package/scripts/lib/eslint-plugin.mjs +9 -7
- package/scripts/lib/hidden-label-placeholder.mjs +19 -6
- package/scripts/lib/mcp-config.mjs +1 -1
- package/scripts/lib/pack.mjs +55 -0
- package/scripts/lib/quiet-gate.mjs +385 -0
- package/scripts/lib/reactive-v-model.mjs +11 -5
- package/scripts/lib/validate-bb-markup.mjs +77 -3
package/dist/ai/BbDatePicker.md
CHANGED
|
@@ -136,10 +136,11 @@ It mirrors `<input type="…">`, so the names should already be familiar:
|
|
|
136
136
|
| ------------------ | -------------------- | --------------------- | ------------- |
|
|
137
137
|
| `date` _(default)_ | the day grid | `2026-08-14` | ISO instant |
|
|
138
138
|
| `datetime` | day grid + time rail | `2026-08-14` + `time` | ISO instant |
|
|
139
|
+
| `week` | day grid, week rows | `2026-W44` | — |
|
|
139
140
|
| `month` | the 12-month grid | `2026-08` | — |
|
|
140
141
|
| `year` | the year list | `2026` | — |
|
|
141
142
|
|
|
142
|
-
`month` and `year` are **calendar labels, not instants**. A month has no
|
|
143
|
+
`week`, `month` and `year` are **calendar labels, not instants**. A month has no
|
|
143
144
|
timezone, and pinning one to an instant is how you lose it: the start of August
|
|
144
145
|
in Rome is the 31st of July in UTC, so a value stored that way reads back as the
|
|
145
146
|
wrong month. They force `floating`, ignore `utc`, and warn if you pass it.
|
|
@@ -163,6 +164,12 @@ selectable — it cannot silently delete the month you named.
|
|
|
163
164
|
The month grid pages by year and the year list by decade; arrows, Home/End and
|
|
164
165
|
PageUp/PageDown all keep working, one unit up.
|
|
165
166
|
|
|
167
|
+
`type="week"` keeps the day grid and its keyboard, adds a week-number column
|
|
168
|
+
(Monday first, always), and makes any day pick its ISO week: the value is
|
|
169
|
+
`2026-W44`, the activator slot's `text` reads "Week 44, 2026", and `min` /
|
|
170
|
+
`max` (a week or a date) enable a week only when all seven days are inside.
|
|
171
|
+
See [BbCalendar § Weeks](./BbCalendar.md#weeks).
|
|
172
|
+
|
|
166
173
|
### Multi-selection
|
|
167
174
|
|
|
168
175
|
`multiple` turns every pick into a toggle: the value is a **sorted array** and
|
|
@@ -357,7 +364,8 @@ desktop, the sheet itself on a phone — it also carries the sizing tokens, so
|
|
|
357
364
|
bottom sheet on a phone only, applied after `panel`), `header` (the
|
|
358
365
|
navigation bar), `arrow` (the previous / next buttons), `month` and `year`
|
|
359
366
|
(the heading buttons), `cellColumnHeader` (each weekday letter), `day` (one whole
|
|
360
|
-
day cell) and `dayButton` (the button inside it), `
|
|
367
|
+
day cell) and `dayButton` (the button inside it), `week` (one row with
|
|
368
|
+
`type="week"`) and `weekNumber` (its ISO week number), `monthItem` and
|
|
361
369
|
`yearItem` (one button of the month / year panel).
|
|
362
370
|
|
|
363
371
|
States: `open` follows the surface; `arrow` is `disabled` at a `min` / `max`
|
|
@@ -365,7 +373,9 @@ bound; `month` and `year` are `active` while their panel is open. The cells
|
|
|
365
373
|
resolve per node — on `day` and `dayButton`: `selected`, `disabled`, `today`,
|
|
366
374
|
`outside` (a day of the previous or next month), `rangeStart` / `rangeEnd` /
|
|
367
375
|
`inRange` (a committed range) and `highlighted` (the keyboard cursor). The
|
|
368
|
-
panel items carry the same set without `today` and `outside
|
|
376
|
+
panel items carry the same set without `today` and `outside`; the week rows
|
|
377
|
+
(`week`, `weekNumber`) carry `selected`, `rangeStart`, `rangeEnd` and
|
|
378
|
+
`inRange`, per row.
|
|
369
379
|
|
|
370
380
|
`day` is the whole cell and `dayButton` the rounded mark inside it: a
|
|
371
381
|
background on `pt:day` paints the full cell square, so restyle the mark on
|
|
@@ -453,7 +463,7 @@ and digit typeahead; the time rail exposes labelled columns. Always pass a
|
|
|
453
463
|
|
|
454
464
|
| Prop | Type | Default | Required | Description |
|
|
455
465
|
| --- | --- | --- | --- | --- |
|
|
456
|
-
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `arrow`, `cellColumnHeader`, `day`, `dayButton`, `header`, `item`, `month`, `monthItem`, `panel`, `root`, `sheet`, `year`, `yearItem`. States: `
|
|
466
|
+
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `arrow`, `cellColumnHeader`, `day`, `dayButton`, `header`, `item`, `month`, `monthItem`, `panel`, `root`, `sheet`, `week`, `weekNumber`, `year`, `yearItem`. States: `disabled`, `open`, `highlighted`, `inRange`, `outside`, `rangeEnd`, `rangeStart`, `selected`, `today`, `active`. What each one is: _Passthrough parts and states_ below. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. In `<script>` a `pt` value is typed `BbDatePickerProps['pt']` (`PtValue` is not exported): § Typing `pt` in `<script>`. |
|
|
457
467
|
| `activator` | `ElementOrComponentRef \| undefined` | | | External activator element or component ref. When provided, the `activator` slot is not rendered and click + ARIA are attached programmatically to the referenced element — mirroring the `BbColorPalette` activator API. |
|
|
458
468
|
| `activeSegment` | `'start'` \| `'end'` | | | Which end the time rail edits in range + `type="datetime"` (`v-model:active-segment`). Standalone use manages this internally; an embedding host (the date input) drives it from its focused field. Ignored outside range + datetime. |
|
|
459
469
|
| `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | On mobile, open in a bottom off-canvas sheet instead of a floating popover. When unset, falls back to the global `config.adaptive`. |
|
|
@@ -463,13 +473,13 @@ and digit typeahead; the time rail exposes labelled columns. Always pass a
|
|
|
463
473
|
| `disabled` | `boolean \| undefined` | `false` | | Disables the activator and the calendar. |
|
|
464
474
|
| `disableFlip` | `boolean \| undefined` | `false` | | Disable the automatic flip to the opposite side on overflow. |
|
|
465
475
|
| `eager` | `boolean \| undefined` | `false` | | Render popover content before it is first shown. |
|
|
466
|
-
| `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | `the locale's week start` | | First day of the week (0 = Sunday … 6 = Saturday). Omitted, the active locale's week start: Monday for `it`, `de`, `fr`, `en-gb`…, Sunday for bare `en` (US) and `pt` (Brazil). |
|
|
467
|
-
| `floating` | `boolean \| undefined` | `false` | | Emit plain calendar strings instead of zoned ISO instants. Implied (and forced) by `type="month"` and `type="year"`. |
|
|
476
|
+
| `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | `the locale's week start` | | First day of the week (0 = Sunday … 6 = Saturday). Omitted, the active locale's week start: Monday for `it`, `de`, `fr`, `en-gb`…, Sunday for bare `en` (US) and `pt` (Brazil). Ignored under `type="week"`: ISO weeks run Monday to Sunday, so a week grid always starts on Monday. |
|
|
477
|
+
| `floating` | `boolean \| undefined` | `false` | | Emit plain calendar strings instead of zoned ISO instants. Implied (and forced) by `type="week"`, `type="month"` and `type="year"`. |
|
|
468
478
|
| `label` | `string \| undefined` | | | Accessible label. The activator is named by it followed by the activator's own text ("Due date 12 Sep"), through `aria-labelledby`. |
|
|
469
|
-
| `max` | `string \| undefined` | | | Maximum selectable value, in this `type`'s shape. A finer bound is accepted and ceiled to the unit, with a warning. |
|
|
470
|
-
| `min` | `string \| undefined` | | | Minimum selectable value, in this `type`'s shape — `YYYY-MM-DD` (`YYYY-MM-DDTHH:mm` with `datetime`, `YYYY-MM` with `month`, `YYYY` with `year`). A finer bound is accepted and floored to the unit, with a warning. |
|
|
471
|
-
| `modelValue` | `string \| string[] \| null` | | yes | v-model: `null` when empty, a string, a `[start, end]` pair with `range`, or a sorted array with `multiple`. The string is `YYYY-MM-DD` when `floating` (`YYYY-MM` / `YYYY` for `month` / `year`), otherwise a zoned ISO instant (carrying the time under `datetime`). |
|
|
472
|
-
| `multiple` | `boolean` | `false` | | Multi-selection: each pick toggles a value in a sorted array (days, months or years), and the panel stays open until dismissed. Needs an array `modelValue` (`[]` when empty, never `null`). Throws with `range` or `type="datetime"`. |
|
|
479
|
+
| `max` | `string \| undefined` | | | Maximum selectable value, in this `type`'s shape. A finer bound is accepted and ceiled to the unit, with a warning (`week`: as `min`). |
|
|
480
|
+
| `min` | `string \| undefined` | | | Minimum selectable value, in this `type`'s shape — `YYYY-MM-DD` (`YYYY-MM-DDTHH:mm` with `datetime`, `YYYY-MM` with `month`, `YYYY` with `year`; a week or a date with `week`, whole weeks only). A finer bound is accepted and floored to the unit, with a warning. |
|
|
481
|
+
| `modelValue` | `string \| string[] \| null` | | yes | v-model: `null` when empty, a string, a `[start, end]` pair with `range`, or a sorted array with `multiple`. The string is `YYYY-MM-DD` when `floating` (`YYYY-Www` / `YYYY-MM` / `YYYY` for `week` / `month` / `year`), otherwise a zoned ISO instant (carrying the time under `datetime`). |
|
|
482
|
+
| `multiple` | `boolean` | `false` | | Multi-selection: each pick toggles a value in a sorted array (days, weeks, months or years), and the panel stays open until dismissed. Needs an array `modelValue` (`[]` when empty, never `null`). Throws with `range` or `type="datetime"`. |
|
|
473
483
|
| `numberOfMonths` | `number \| undefined` | `1` | | How many months the popover shows side by side (day grids only); the phone sheet always shows one. Too narrow for them all, the months wrap. |
|
|
474
484
|
| `offCanvasProps` | `Partial<BbOffCanvasProps> \| undefined` | | | Props for the phone sheet (the `BbOffCanvas` that `adaptive` renders on mobile), spread over its defaults. A `pt` inside it styles only the sheet (passthrough guide § Inside the sheet). The sheet hides its ✕; `{ hideClose: false }` brings it back. |
|
|
475
485
|
| `offset` | `number \| undefined` | `4` | | Space the popover keeps from the activator. |
|
|
@@ -478,12 +488,12 @@ and digit typeahead; the time rail exposes labelled columns. Always pass a
|
|
|
478
488
|
| `range` | `boolean` | `false` | | Enables range selection (`[start, end]`). |
|
|
479
489
|
| `readonly` | `boolean \| undefined` | `false` | | Prevents opening while keeping the activator visible. |
|
|
480
490
|
| `seconds` | `boolean \| undefined` | `false` | | Adds the seconds column (requires `type="datetime"`). |
|
|
481
|
-
| `selectable` | `((date: string) => boolean) \| undefined` | | | Predicate invoked per candidate; return `false` to disable it. Receives the value in this `type`'s shape — `YYYY-MM` under `month`, `YYYY` under `year`. |
|
|
491
|
+
| `selectable` | `((date: string) => boolean) \| undefined` | | | Predicate invoked per candidate; return `false` to disable it. Receives the value in this `type`'s shape — `YYYY-Www` under `week` (so a week is enabled or disabled whole), `YYYY-MM` under `month`, `YYYY` under `year`. |
|
|
482
492
|
| `step` | `number \| undefined` | `1` | | Minute-column granularity and arrow stepping (requires `type="datetime"`). |
|
|
483
493
|
| `time` | `string \| string[] \| null \| undefined` | | | Companion time model (`v-model:time`), 24-hour `HH:mm` / `HH:mm:ss`. With `floating` it is the only carrier of the time; otherwise it mirrors the time inside `modelValue`. Requires `type="datetime"`. |
|
|
484
494
|
| `transitionDuration` | `number \| undefined` | `250` | | Popover/sheet transition duration in milliseconds. |
|
|
485
|
-
| `type` | `'date'` \| `'month'` \| `'year'` \| `'datetime'` | `"date"` | | What the picker selects and emits: `date` (a day), `datetime` (a day plus a time rail), `month` (`YYYY-MM`) or `year` (`YYYY`). `month` / `year` force `floating`, ignore `utc`, and leave the time props inert. |
|
|
486
|
-
| `utc` | `boolean \| undefined` | `false` | | Emit UTC (`...Z`) instead of the local offset. Ignored with `floating`, and therefore with `type="month"`/`type="year"`. |
|
|
495
|
+
| `type` | `'date'` \| `'month'` \| `'year'` \| `'week'` \| `'datetime'` | `"date"` | | What the picker selects and emits: `date` (a day), `datetime` (a day plus a time rail), `week` (an ISO week, `YYYY-Www`: any day of a row picks its week), `month` (`YYYY-MM`) or `year` (`YYYY`). `week` / `month` / `year` force `floating`, ignore `utc`, and leave the time props inert. |
|
|
496
|
+
| `utc` | `boolean \| undefined` | `false` | | Emit UTC (`...Z`) instead of the local offset. Ignored with `floating`, and therefore with `type="week"`/`type="month"`/`type="year"`. |
|
|
487
497
|
|
|
488
498
|
## Passthrough parts and states
|
|
489
499
|
|
|
@@ -497,6 +507,8 @@ and digit typeahead; the time rail exposes labelled columns. Always pass a
|
|
|
497
507
|
| `month` | The month heading button; it opens the month panel. |
|
|
498
508
|
| `year` | The year heading button; it opens the year panel. |
|
|
499
509
|
| `cellColumnHeader` | Each weekday letter above the grid — a broadcast. |
|
|
510
|
+
| `week` | One row of seven days with `type="week"` — the band a picked week paints and the hover outline. A broadcast resolved per row. |
|
|
511
|
+
| `weekNumber` | The ISO week number heading each row with `type="week"` — a broadcast resolved per row. |
|
|
500
512
|
| `day` | One whole day cell — a broadcast resolved per day. A background here paints the full cell square; restyle the round mark on `dayButton`. |
|
|
501
513
|
| `dayButton` | The button inside a day cell — the mark that shows selection. A broadcast resolved per day. |
|
|
502
514
|
| `monthItem` | One month button of the month panel (the home grid of `type="month"`) — a broadcast resolved per month. |
|
|
@@ -511,10 +523,10 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
511
523
|
| --- | --- |
|
|
512
524
|
| `outside` | Per node, on `day` / `dayButton`: a day of the previous or next month, shown to fill the grid. |
|
|
513
525
|
| `today` | Per node, on `day` / `dayButton`: today. |
|
|
514
|
-
| `inRange` | Per node, on the cells (`day`, `dayButton`, `monthItem`, `yearItem`): inside a committed range, between its ends. |
|
|
515
|
-
| `selected` | Per node, on the cells: a chosen day, month or year; on `item`, the picked time's entry in each column. |
|
|
516
|
-
| `rangeStart` | Per node, on the cells: a committed range's first day, month or year. |
|
|
517
|
-
| `rangeEnd` | Per node, on the cells: a committed range's last day, month or year. |
|
|
526
|
+
| `inRange` | Per node, on the cells (`day`, `dayButton`, `monthItem`, `yearItem`) and the week rows (`week`, `weekNumber`): inside a committed range, between its ends. |
|
|
527
|
+
| `selected` | Per node, on the cells: a chosen day, month or year; on `week` / `weekNumber`, a chosen week (a range's ends too, as on its days); on `item`, the picked time's entry in each column. |
|
|
528
|
+
| `rangeStart` | Per node, on the cells and the week rows: a committed range's first day, week, month or year. |
|
|
529
|
+
| `rangeEnd` | Per node, on the cells and the week rows: a committed range's last day, week, month or year. |
|
|
518
530
|
| `disabled` | Component-wide while the picker is `disabled`. Also per node: on the cells, one outside `min` / `max` or refused by `selectable`; on `arrow`, at a bound or while the month / year panel is open. |
|
|
519
531
|
| `active` | Per node, on `month` / `year`: its panel is open. |
|
|
520
532
|
| `open` | Component-wide: the calendar is showing. |
|
|
@@ -574,7 +586,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
574
586
|
- Listed nodes are the ones `BbDatePicker`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is `manifest/components/BbDatePicker.tree.json`.
|
|
575
587
|
|
|
576
588
|
- `BbDatePicker` _(this component)_ — its own template binds: `panel` → `div`; hands `BbCalendar` the pt map ` passthrough.forward(DATE_PICKER_CALENDAR_PARTS, BB_CALENDAR_PT.states) ` (ours → theirs); hands `BbOffCanvas` the pt map `{ panel: 'root', sheet: 'root' }` (ours → theirs)
|
|
577
|
-
- `BbCalendar` _(public — [contract](./BbCalendar.md))_ — its own pt parts (`BbCalendar`): `header` → `div.bb-calendar__header`, `arrow` → `BbBaseButton`, `month` → `BbBaseButton`, `year` → `BbBaseButton`, `day` → `div.bb-calendar__day`, `dayButton` → `button.bb-calendar__day-button`; documented CSS variables: `--cell`, `--unit-row`; also mounts `ScaleFade`, `Slide`, `CalendarMonthPanel`, `CalendarYearPanel`
|
|
589
|
+
- `BbCalendar` _(public — [contract](./BbCalendar.md))_ — its own pt parts (`BbCalendar`): `header` → `div.bb-calendar__header`, `arrow` → `BbBaseButton`, `month` → `BbBaseButton`, `year` → `BbBaseButton`, `week` → `div.bb-calendar__week`, `weekNumber` → `div.bb-calendar__week-number`, `day` → `div.bb-calendar__day`, `dayButton` → `button.bb-calendar__day-button`; documented CSS variables: `--cell`, `--unit-row`, `--wk`; also mounts `ScaleFade`, `Slide`, `CalendarMonthPanel`, `CalendarYearPanel`
|
|
578
590
|
- `BbBaseButton` _(public — [contract](./BbBaseButton.md))_ — its own pt parts (`BbBaseButton`): `root` → `RouterComponent`, `root` → `a`, `root` → `component`; also mounts `RouterComponent`
|
|
579
591
|
- `CommonTimeSelector` _(internal — not importable, reach it through `BbCalendar`)_ — its own pt parts (`BbCalendar`): `header` → `div.bb-time-selector__header`, `cellColumnHeader` → `div.bb-time-selector__cell-column-header`, `item` → `BbBaseButton`; documented CSS variables: `--time-mark`; also mounts `BbBaseButton`
|
|
580
592
|
- `BbOffCanvas` _(public — [contract](./BbOffCanvas.md))_ — its own pt parts (`BbOffCanvas`): `header` → `div.bb-offcanvas__header`, `title` → `span.bb-offcanvas__title`, `description` → `p.bb-offcanvas__description`, `close` → `CloseButton`, `content` → `div.bb-offcanvas__content`, `footer` → `div.bb-offcanvas__footer`; documented CSS variables: `--stack-x`, `--snap-y`, `--stack-fill`, `--stack-transition-duration`, `--px`, `--handle-w`, `--handle-h`, `--handle-bg`, `--safe-top`, `--close-size`
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
| `--border-focus` | `pt:box` | `CommonFieldInput` | frame while focused, or --active |
|
|
41
41
|
| `--ring-size` | `pt:box` | `CommonFieldInput` | ring width; 0 is a variant declining the ring |
|
|
42
42
|
| `--ring-color` | `pt:box` | `CommonFieldInput` | ring colour; state owns it, not variants |
|
|
43
|
-
| `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, alone in `box-shadow`: the ring is the box's outline
|
|
43
|
+
| `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, alone in `box-shadow`: the ring is the box's outline, so a theme's `--elev: none` never takes the ring with it. |
|
|
44
44
|
| `--frost` | `pt:box` | `CommonFieldInput` | Plate frost — a full `backdrop-filter` value (see --bb-surface-filter). Routed through a local rather than read from the token directly, so a chrome-less variant can decline it: frosting a ghost field gives it the plate it is contractually not supposed to have. |
|
|
45
45
|
| `--inside-label-clearance` | `pt:box`, `pt:prefix`, `pt:suffix` | `CommonFieldInput` | Height and top padding added above the text for a label rendered inside the box. Zero here; the `--inside-label` rules at the bottom of this file raise it to one label line, or two with a description. |
|
|
46
46
|
| `--w` | `pt:icon` | `BbIcon` | `--w` is set inline by BbIcon from the size prop. The `initial` default seals it: without it an ancestor's `--w` (e.g. a dropdown's width bridge) would inherit in and size the icon. The `--size` indirection stays so higher-specificity rules (e.g. `.bb-badge .bb-icon`) can re-point it. |
|
|
@@ -412,17 +412,18 @@ const setPreset = (days: number) => {
|
|
|
412
412
|
</script>
|
|
413
413
|
```
|
|
414
414
|
|
|
415
|
-
### `type` — day, month, year, or day + time
|
|
415
|
+
### `type` — day, week, month, year, or day + time
|
|
416
416
|
|
|
417
417
|
`type` decides which segments the field renders and what it emits. It mirrors
|
|
418
418
|
`<input type="…">`:
|
|
419
419
|
|
|
420
|
-
| `type` | segments | emits | range emits
|
|
421
|
-
| ------------------ | -------------- | --------------------- |
|
|
422
|
-
| `date` _(default)_ | `DD/MM/YYYY` | ISO / `YYYY-MM-DD` | `[start, end]`
|
|
423
|
-
| `datetime` | + `HH:mm(:ss)` | ISO carrying the time | `[start, end]`
|
|
424
|
-
| `
|
|
425
|
-
| `
|
|
420
|
+
| `type` | segments | emits | range emits |
|
|
421
|
+
| ------------------ | -------------- | --------------------- | -------------------------- |
|
|
422
|
+
| `date` _(default)_ | `DD/MM/YYYY` | ISO / `YYYY-MM-DD` | `[start, end]` |
|
|
423
|
+
| `datetime` | + `HH:mm(:ss)` | ISO carrying the time | `[start, end]` |
|
|
424
|
+
| `week` | `W44 2026` | `2026-W44` | `['2026-W41', '2026-W43']` |
|
|
425
|
+
| `month` | `MM/YYYY` | `2026-08` | `['2026-01', '2026-03']` |
|
|
426
|
+
| `year` | `YYYY` | `2026` | `['2026', '2028']` |
|
|
426
427
|
|
|
427
428
|
```vue
|
|
428
429
|
<BbDatePickerInput v-model="period" label="Reporting period" type="month" />
|
|
@@ -435,7 +436,7 @@ promising `DD/MM/YYYY` to a two-segment field would be worse than no hint at
|
|
|
435
436
|
all. The calendar button opens the matching terminal grid, so typing and
|
|
436
437
|
picking always produce the same shape.
|
|
437
438
|
|
|
438
|
-
`month` and `year` are **calendar labels, not instants**: they force `floating`,
|
|
439
|
+
`week`, `month` and `year` are **calendar labels, not instants**: they force `floating`,
|
|
439
440
|
ignore `utc`, and make the time props inert. This is deliberate rather than
|
|
440
441
|
squeamish — the start of August in Rome is the 31st of July in UTC, so a month
|
|
441
442
|
stored as an instant reads back as the wrong month for half the world.
|
|
@@ -446,6 +447,60 @@ a DEV warning, so `min="2026-03-15"` under `type="month"` leaves the whole of
|
|
|
446
447
|
March selectable instead of quietly deleting it. `selectable` receives the same
|
|
447
448
|
shape it emits.
|
|
448
449
|
|
|
450
|
+
#### Weeks
|
|
451
|
+
|
|
452
|
+
`type="week"` types and emits an ISO 8601 week. The field shows a literal `W`,
|
|
453
|
+
a week segment and a year segment (`W44 2026`, in every locale), and the
|
|
454
|
+
calendar picks the whole week of any day you click, with a week-number column
|
|
455
|
+
and Monday-first rows. The year segment is the **ISO week-year**: the week of
|
|
456
|
+
29 December 2025 is `W01 2026`. A typed `W53` in a year with 52 weeks snaps
|
|
457
|
+
to `W52` when the field is read, as 31 February snaps to the 28th.
|
|
458
|
+
|
|
459
|
+
`min` / `max` take a week (`max="2026-W52"`) or a date, and a week counts only
|
|
460
|
+
when all seven days are inside: `min="2026-10-28"` (a Wednesday) leaves that
|
|
461
|
+
week out, and a typed week below it moves to the first whole week inside, with
|
|
462
|
+
the usual `error` event. The trigger's accessible name reads the week and its
|
|
463
|
+
dates ("week 44, October 26 – November 1, 2026"); the dates are never shown.
|
|
464
|
+
The calendar side — the week rows, the hover outline, ranges of weeks — is
|
|
465
|
+
[BbCalendar § Weeks](./BbCalendar.md#weeks), and `pt:week` /
|
|
466
|
+
`pt:week-number` restyle its rows from this field.
|
|
467
|
+
|
|
468
|
+
**A delivery week and a sprint of weeks**
|
|
469
|
+
|
|
470
|
+
```vue
|
|
471
|
+
<template>
|
|
472
|
+
<div class="grid max-w-xs gap-4">
|
|
473
|
+
<BbDatePickerInput
|
|
474
|
+
v-model="delivery"
|
|
475
|
+
description="Orders ship on the Monday of the week you pick."
|
|
476
|
+
label="Delivery week"
|
|
477
|
+
min="2026-10-28"
|
|
478
|
+
type="week"
|
|
479
|
+
/>
|
|
480
|
+
<BbDatePickerInput
|
|
481
|
+
v-model="sprint"
|
|
482
|
+
label="Sprint"
|
|
483
|
+
max="2026-W52"
|
|
484
|
+
range
|
|
485
|
+
type="week"
|
|
486
|
+
/>
|
|
487
|
+
</div>
|
|
488
|
+
</template>
|
|
489
|
+
|
|
490
|
+
<script setup lang="ts">
|
|
491
|
+
import { ref } from 'vue';
|
|
492
|
+
import { BbDatePickerInput } from 'bitboss-ui';
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* `type="week"`: the value is the ISO week, `YYYY-Www`. Any day of a calendar
|
|
496
|
+
* row picks its week; the field types it as `W44 2026`. `min` on a Wednesday
|
|
497
|
+
* leaves that week out, because a week counts only when all seven days fit.
|
|
498
|
+
*/
|
|
499
|
+
const delivery = ref<string | null>('2026-W45');
|
|
500
|
+
const sprint = ref<string[]>(['2026-W45', '2026-W46']);
|
|
501
|
+
</script>
|
|
502
|
+
```
|
|
503
|
+
|
|
449
504
|
### Time selection
|
|
450
505
|
|
|
451
506
|
Set `type="datetime"` and the field grows 24-hour `HH:mm` segments after the date
|
|
@@ -764,12 +819,17 @@ table cell (`<BbDatePickerInput compact hide-label variant="ghost" />`) — no
|
|
|
764
819
|
register through the plugin's `inputVariants` option. The full ladder is in
|
|
765
820
|
the `BbTextInput` guide.
|
|
766
821
|
|
|
822
|
+
The calendar panel renders inside the field, so it reads the field's
|
|
823
|
+
`--bb-radius`, capped at half a control height: a pill field
|
|
824
|
+
(`style="--bb-radius: 999px"`) gets a rounded panel, never a clipped one, and a
|
|
825
|
+
`0px` app stays square.
|
|
826
|
+
|
|
767
827
|
### Restyling with passthrough
|
|
768
828
|
|
|
769
829
|
`pt` reaches a named part of the control with a class list — or, in the
|
|
770
830
|
object form, a style and attributes — optionally only while a state is on.
|
|
771
|
-
Parts: `root` (the container), `label`, `description`, `message` (the errors / warnings region — one node each, only one ever shows), `hint` (the helper line — shown on focus, or always with `persistent-hint`), `box` (the bordered field box), `input` (the native control), `icon` (`prepend:icon` + `append:icon` — a broadcast; the state glyphs are chrome), `spinner` (the spinner shown while `loading`), `prefix`, `suffix`, `clear` (the ✕ that empties the field). Plus `panel` (the calendar surface you see — the popover's painted bubble on desktop, the sheet itself on a phone; it carries the sizing tokens, so `pt:panel="[--px:2px]"` tightens it), `sheet` (the bottom sheet on a phone only) and the calendar's own parts, forwarded to it: `header`, `arrow`, `month`, `year`, `cellColumnHeader`, `day` (the whole cell), `dayButton` (the mark inside it), `monthItem` and `yearItem` — the `BbDatePicker` guide describes each node. `input` is every segment field; the calendar trigger is `activator`.
|
|
772
|
-
States: `errors`, `warnings` (never beside errors), `loading`, `disabled`, `readonly`, `hasValue` (written `pt:box:has-value`). Plus `open` (the calendar is showing), and the calendar's per-node states: `selected`, `disabled`, `today`, `outside`, `rangeStart` / `rangeEnd` / `inRange` and `highlighted` on the cells, `active` on `month` / `year`. A name outside that list is a type error and an
|
|
831
|
+
Parts: `root` (the container), `label`, `description`, `message` (the errors / warnings region — one node each, only one ever shows), `hint` (the helper line — shown on focus, or always with `persistent-hint`), `box` (the bordered field box), `input` (the native control), `icon` (`prepend:icon` + `append:icon` — a broadcast; the state glyphs are chrome), `spinner` (the spinner shown while `loading`), `prefix`, `suffix`, `clear` (the ✕ that empties the field). Plus `panel` (the calendar surface you see — the popover's painted bubble on desktop, the sheet itself on a phone; it carries the sizing tokens, so `pt:panel="[--px:2px]"` tightens it), `sheet` (the bottom sheet on a phone only) and the calendar's own parts, forwarded to it: `header`, `arrow`, `month`, `year`, `cellColumnHeader`, `day` (the whole cell), `dayButton` (the mark inside it), `week` (one row with `type="week"`), `weekNumber` (its ISO week number), `monthItem` and `yearItem` — the `BbDatePicker` guide describes each node. `input` is every segment field; the calendar trigger is `activator`.
|
|
832
|
+
States: `errors`, `warnings` (never beside errors), `loading`, `disabled`, `readonly`, `hasValue` (written `pt:box:has-value`). Plus `open` (the calendar is showing), and the calendar's per-node states: `selected`, `disabled`, `today`, `outside`, `rangeStart` / `rangeEnd` / `inRange` and `highlighted` on the cells, `selected` / `rangeStart` / `rangeEnd` / `inRange` on the week rows (`pt:week:selected`, `pt:week-number`), `active` on `month` / `year`. A name outside that list is a type error and an
|
|
773
833
|
ESLint error.
|
|
774
834
|
|
|
775
835
|
The invoice due-date field above, restyled through those parts: a muted
|
|
@@ -909,7 +969,7 @@ label>')` matches nothing; query each segment by its own label instead. See
|
|
|
909
969
|
|
|
910
970
|
| Prop | Type | Default | Required | Description |
|
|
911
971
|
| --- | --- | --- | --- | --- |
|
|
912
|
-
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `activator`, `arrow`, `box`, `cellColumnHeader`, `clear`, `day`, `dayButton`, `description`, `header`, `hint`, `icon`, `input`, `item`, `label`, `message`, `month`, `monthItem`, `panel`, `prefix`, `root`, `sheet`, `spinner`, `suffix`, `year`, `yearItem`. States: `
|
|
972
|
+
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `activator`, `arrow`, `box`, `cellColumnHeader`, `clear`, `day`, `dayButton`, `description`, `header`, `hint`, `icon`, `input`, `item`, `label`, `message`, `month`, `monthItem`, `panel`, `prefix`, `root`, `sheet`, `spinner`, `suffix`, `week`, `weekNumber`, `year`, `yearItem`. States: `disabled`, `errors`, `ghost`, `hasValue`, `loading`, `open`, `outline`, `readonly`, `secondary`, `warnings`, `highlighted`, `inRange`, `outside`, `rangeEnd`, `rangeStart`, `selected`, `today`, `active`. What each one is: _Passthrough parts and states_ below. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. In `<script>` a `pt` value is typed `BbDatePickerInputProps['pt']` (`PtValue` is not exported): § Typing `pt` in `<script>`. |
|
|
913
973
|
| `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | On mobile the calendar opens inside a bottom off-canvas sheet instead of a floating popover, mirroring the adaptive behaviour of `BbPopover`/`BbSelect`. When unset, falls back to the global `config.adaptive`. |
|
|
914
974
|
| `ampm` | `boolean \| undefined` | `false` | | 12-hour display with an AM/PM segment (requires `type="datetime"`). Purely a field-composition concern: `modelValue` and the `time` model stay 24-hour regardless. Type `A`/`P` (or ArrowUp/Down) to set the meridiem. |
|
|
915
975
|
| `append:icon` | `string \| undefined` | | | Name of the icon to be added at the end of the input. |
|
|
@@ -922,7 +982,7 @@ label>')` matches nothing; query each segment by its own label instead. See
|
|
|
922
982
|
| `disabled` | `boolean \| undefined` | `false` | | Disables the component. |
|
|
923
983
|
| `disableWriting` | `boolean \| "mobile" \| "desktop" \| undefined` | `false` | | Disables typing into the input. Use `'mobile'` to disable typing only on mobile, `'desktop'` to disable typing only on desktop. |
|
|
924
984
|
| `errors` | `string \| string[] \| undefined` | | | Error messages under the field, a string or array, in an `aria-live="polite"` region and first in the control's `aria-describedby`, so they are re-read when it regains focus. |
|
|
925
|
-
| `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | `the locale's week start` | | First day of the week (0 = Sunday … 6 = Saturday). Omitted, the active locale's week start: Monday for `it`, `de`, `fr`, `en-gb`…, Sunday for bare `en` (US) and `pt` (Brazil). |
|
|
985
|
+
| `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | `the locale's week start` | | First day of the week (0 = Sunday … 6 = Saturday). Omitted, the active locale's week start: Monday for `it`, `de`, `fr`, `en-gb`…, Sunday for bare `en` (US) and `pt` (Brazil). Ignored under `type="week"`: ISO weeks run Monday to Sunday, so a week grid always starts on Monday. |
|
|
926
986
|
| `floating` | `boolean \| undefined` | `false` | | If true the date will have a format YYYY-MM-DD instead of the default ISO string. |
|
|
927
987
|
| `formless` | `boolean \| undefined` | `false` | | Keep this control out of the enclosing `BbForm` entirely: not submitted, not dirty, not reset, not validated. For a control that is not form data (a filter, a "show advanced" switch). |
|
|
928
988
|
| `hasErrors` | `boolean \| undefined` | `false` | | Define if the component should be in an error state. It usually attaches a CSS class for styling purposes. |
|
|
@@ -937,8 +997,8 @@ label>')` matches nothing; query each segment by its own label instead. See
|
|
|
937
997
|
| `labelPosition` | `"left" \| "center" \| "right" \| undefined` | | | Sets the text alignment of the label. |
|
|
938
998
|
| `layout` | `Responsive<FieldLayout> \| undefined` | | | How label and input sit together: `'vertical'`, `'horizontal'` (50/50), `'auto'`, `'label-fill'`, `'input-fill'`, a ratio like `'xx xxxxx'`, or a per-breakpoint map (`{ default: 'vertical', md: 'xx xxxxx' }`). |
|
|
939
999
|
| `loading` | `boolean \| undefined` | `false` | | Sets the component in a loading state, usually triggering some visual styles. |
|
|
940
|
-
| `max` | `string \| undefined` | | | Maximum selectable date in `YYYY-MM-DD` format — or, with `type="datetime"`, `YYYY-MM-DDTHH:mm` to tighten the boundary day to a minute. Values outside both patterns throw during setup to surface configuration mistakes. |
|
|
941
|
-
| `min` | `string \| undefined` | | | Minimum selectable date in `YYYY-MM-DD` format — or, with `type="datetime"`, `YYYY-MM-DDTHH:mm` to tighten the boundary day to a minute. Values outside both patterns throw during setup to surface configuration mistakes. |
|
|
1000
|
+
| `max` | `string \| undefined` | | | Maximum selectable date in `YYYY-MM-DD` format — or, with `type="datetime"`, `YYYY-MM-DDTHH:mm` to tighten the boundary day to a minute. Values outside both patterns throw during setup to surface configuration mistakes. `type="week"`: a week (`YYYY-Www`) or a date, whole weeks only. |
|
|
1001
|
+
| `min` | `string \| undefined` | | | Minimum selectable date in `YYYY-MM-DD` format — or, with `type="datetime"`, `YYYY-MM-DDTHH:mm` to tighten the boundary day to a minute. Values outside both patterns throw during setup to surface configuration mistakes. `type="week"`: a week (`YYYY-Www`) or a date, whole weeks only. |
|
|
942
1002
|
| `modelValue` | `string \| string[] \| null \| undefined` | | | Used by v-model. Can be null, a single string, or an array of strings based on whether a range or single date is needed. |
|
|
943
1003
|
| `name` | `string \| undefined` | | | Defines the name of the input. |
|
|
944
1004
|
| `numberOfMonths` | `number \| undefined` | `1` | | How many months the calendar popover shows side by side (day grids only); the phone sheet always shows one. Too narrow for them all, the months wrap. |
|
|
@@ -952,11 +1012,11 @@ label>')` matches nothing; query each segment by its own label instead. See
|
|
|
952
1012
|
| `reverse` | `boolean \| undefined` | `false` | | Reverses the layout. Applicable in every direction the order of the label and the input is swapped. |
|
|
953
1013
|
| `rules` | `RuleExpression<string \| string[] \| null>` | | | vee-validate rules for this field. Only inside a `BbForm`. |
|
|
954
1014
|
| `seconds` | `boolean \| undefined` | `false` | | Adds the seconds segment (requires `type="datetime"`). Without it, an incoming value carrying seconds displays truncated and is left untouched until the user commits an edit, at which point seconds zero out. |
|
|
955
|
-
| `selectable` | `((date: string) => boolean) \| undefined` | | | Function that accepts a `string` object and returns a boolean. `false` meaning the date cannot be selected. |
|
|
1015
|
+
| `selectable` | `((date: string) => boolean) \| undefined` | | | Function that accepts a `string` object and returns a boolean. `false` meaning the date cannot be selected. Under `type="week"` it receives the week value (`2026-W44`). |
|
|
956
1016
|
| `step` | `number \| undefined` | `1` | | Minute granularity for the calendar's minute column and arrow stepping (requires `type="datetime"`). Constrains what the component produces, never what it accepts: a typed off-grid value (e.g. `10:07` with `step: 15`) is emitted verbatim, and no column row highlights for it. |
|
|
957
1017
|
| `time` | `string \| string[] \| null \| undefined` | | | `v-model:time`: the time part, always 24-hour `HH:mm` / `HH:mm:ss`. With `floating` it is the only carrier of the time; otherwise it mirrors `modelValue`'s, and writing it rewrites that. Requires `type="datetime"`. |
|
|
958
1018
|
| `transitionDuration` | `number \| undefined` | | | Transition duration, in milliseconds, for the popover appearance. |
|
|
959
|
-
| `type` | `'date'` \| `'month'` \| `'year'` \| `'datetime'` | `"date"` | | What the field edits,
|
|
1019
|
+
| `type` | `'date'` \| `'month'` \| `'year'` \| `'week'` \| `'datetime'` | `"date"` | | What the field edits, so its segments and emitted shape: `date` (`DD/MM/YYYY`), `datetime` (adds the time segments and rail), `week` (`W44 2026`, emits `2026-W44`), `month` (`MM/YYYY`, emits `YYYY-MM`) or `year` (`YYYY`). The last three force `floating` and ignore `utc` and the time props. |
|
|
960
1020
|
| `utc` | `boolean \| undefined` | `false` | | Emits UTC ISO strings (`…Z`) instead of the local offset (`…+01:00`). Emission only: incoming values parse the same either way, and the field always displays local time. Ignored with `floating`. |
|
|
961
1021
|
| `validationLabel` | `string \| undefined` | | | The field's name in validation messages (`{field}`): "Email is not valid". Defaults to the `label` (or `legend`), then "This field"; never the `name`. Set it when the label is hidden or reads badly in a sentence (icon-only, a question). `BbForm` only. |
|
|
962
1022
|
| `validationMode` | `'aggressive'` \| `'balanced'` \| `'lazy'` \| `'submit-only'` \| `'submit-live'` | | | When the field validates: `aggressive` (each change), `balanced` (on leave, then live while in error), `lazy` (on leave), `submit-only`, `submit-live`. Unset: the `BbForm`'s `validation-mode`, then `formControls.validationMode` (`'balanced'`). `BbForm` only. |
|
|
@@ -989,6 +1049,8 @@ label>')` matches nothing; query each segment by its own label instead. See
|
|
|
989
1049
|
| `month` | The month heading button; it opens the month panel. |
|
|
990
1050
|
| `year` | The year heading button; it opens the year panel. |
|
|
991
1051
|
| `cellColumnHeader` | Each weekday letter above the grid — a broadcast. |
|
|
1052
|
+
| `week` | One row of seven days with `type="week"` — the band a picked week paints and the hover outline. A broadcast resolved per row. |
|
|
1053
|
+
| `weekNumber` | The ISO week number heading each row with `type="week"` — a broadcast resolved per row. |
|
|
992
1054
|
| `day` | One whole day cell — a broadcast resolved per day. A background here paints the full cell square; restyle the round mark on `dayButton`. |
|
|
993
1055
|
| `dayButton` | The button inside a day cell — the mark that shows selection. A broadcast resolved per day. |
|
|
994
1056
|
| `monthItem` | One month button of the month panel (the home grid of `type="month"`) — a broadcast resolved per month. |
|
|
@@ -1002,10 +1064,10 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
1002
1064
|
| `hasValue` | Component-wide: the control holds a value, by its own rule (`0` counts on `BbNumberInput`, `''` on `BbColorInput`). |
|
|
1003
1065
|
| `outside` | Per node, on `day` / `dayButton`: a day of the previous or next month, shown to fill the grid. |
|
|
1004
1066
|
| `today` | Per node, on `day` / `dayButton`: today. |
|
|
1005
|
-
| `inRange` | Per node, on the cells (`day`, `dayButton`, `monthItem`, `yearItem`): inside a committed range, between its ends. |
|
|
1006
|
-
| `selected` | Per node, on the cells: a chosen day, month or year; on `item`, the picked time's entry in each column. |
|
|
1007
|
-
| `rangeStart` | Per node, on the cells: a committed range's first day, month or year. |
|
|
1008
|
-
| `rangeEnd` | Per node, on the cells: a committed range's last day, month or year. |
|
|
1067
|
+
| `inRange` | Per node, on the cells (`day`, `dayButton`, `monthItem`, `yearItem`) and the week rows (`week`, `weekNumber`): inside a committed range, between its ends. |
|
|
1068
|
+
| `selected` | Per node, on the cells: a chosen day, month or year; on `week` / `weekNumber`, a chosen week (a range's ends too, as on its days); on `item`, the picked time's entry in each column. |
|
|
1069
|
+
| `rangeStart` | Per node, on the cells and the week rows: a committed range's first day, week, month or year. |
|
|
1070
|
+
| `rangeEnd` | Per node, on the cells and the week rows: a committed range's last day, week, month or year. |
|
|
1009
1071
|
| `readonly` | Component-wide: the control is `readonly` — shown, focusable, not editable. |
|
|
1010
1072
|
| `disabled` | Component-wide while the input is `disabled`. Also per node, on the calendar's cells: one outside `min` / `max` or refused by `selectable`; on `arrow`, at a bound or while the month / year panel is open. |
|
|
1011
1073
|
| `warnings` | Component-wide: the control is in its warning state (`warnings` / `has-warnings`) and not in an error state — errors win, so the two are never on together. |
|
|
@@ -1065,7 +1127,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
1065
1127
|
|
|
1066
1128
|
- `BbDatePickerInput` _(this component)_ — its own template binds: `controlAttrs` → `input.bb-segmented-field__input`, `input` → `input.bb-segmented-field__input`, `activator` → `button.bb-segmented-field__activator`, `suffix` → `span.bb-field-input__suffix`; hands `BbDatePicker` the pt map `passthrough.forward(PICKER_PARTS, BB_DATE_PICKER_PT.states)` (ours → theirs)
|
|
1067
1129
|
- `BbDatePicker` _(public — [contract](./BbDatePicker.md))_ — its own pt parts (`BbDatePicker`): `panel` → `div`; hands `BbCalendar` the pt map ` passthrough.forward(DATE_PICKER_CALENDAR_PARTS, BB_CALENDAR_PT.states) ` (ours → theirs); hands `BbOffCanvas` the pt map `{ panel: 'root', sheet: 'root' }` (ours → theirs); documented CSS variables: `--cell`, `--unit-row`; also mounts `CommonPopover`
|
|
1068
|
-
- `BbCalendar` _(public — [contract](./BbCalendar.md))_ — its own pt parts (`BbCalendar`): `header` → `div.bb-calendar__header`, `arrow` → `BbBaseButton`, `month` → `BbBaseButton`, `year` → `BbBaseButton`, `day` → `div.bb-calendar__day`, `dayButton` → `button.bb-calendar__day-button`; documented CSS variables: `--cell`, `--unit-row`; also mounts `ScaleFade`, `Slide`, `CalendarMonthPanel`, `CalendarYearPanel`
|
|
1130
|
+
- `BbCalendar` _(public — [contract](./BbCalendar.md))_ — its own pt parts (`BbCalendar`): `header` → `div.bb-calendar__header`, `arrow` → `BbBaseButton`, `month` → `BbBaseButton`, `year` → `BbBaseButton`, `week` → `div.bb-calendar__week`, `weekNumber` → `div.bb-calendar__week-number`, `day` → `div.bb-calendar__day`, `dayButton` → `button.bb-calendar__day-button`; documented CSS variables: `--cell`, `--unit-row`, `--wk`; also mounts `ScaleFade`, `Slide`, `CalendarMonthPanel`, `CalendarYearPanel`
|
|
1069
1131
|
- `BbBaseButton` _(public — [contract](./BbBaseButton.md))_ — its own pt parts (`BbBaseButton`): `root` → `RouterComponent`, `root` → `a`, `root` → `component`; also mounts `RouterComponent`
|
|
1070
1132
|
- `CommonTimeSelector` _(internal — not importable, reach it through `BbCalendar`)_ — its own pt parts (`BbCalendar`): `header` → `div.bb-time-selector__header`, `cellColumnHeader` → `div.bb-time-selector__cell-column-header`, `item` → `BbBaseButton`; documented CSS variables: `--time-mark`; also mounts `BbBaseButton`
|
|
1071
1133
|
- `BbOffCanvas` _(public — [contract](./BbOffCanvas.md))_ — its own pt parts (`BbOffCanvas`): `header` → `div.bb-offcanvas__header`, `title` → `span.bb-offcanvas__title`, `description` → `p.bb-offcanvas__description`, `close` → `CloseButton`, `content` → `div.bb-offcanvas__content`, `footer` → `div.bb-offcanvas__footer`; documented CSS variables: `--stack-x`, `--snap-y`, `--stack-fill`, `--stack-transition-duration`, `--px`, `--handle-w`, `--handle-h`, `--handle-bg`, `--safe-top`, `--close-size`
|
package/dist/ai/BbDialog.md
CHANGED
|
@@ -575,6 +575,9 @@ const save = (saved: Member) => {
|
|
|
575
575
|
writes it, so a module constant is safe.
|
|
576
576
|
- An edit-only dialog, always opened with a row, needs no `default-data` and no
|
|
577
577
|
guard: its body exists only while an opening holds data.
|
|
578
|
+
- **`data` is typed by your annotation, not by `default-data`.** Write the slot
|
|
579
|
+
type on the template: `<template #default="{ data }: { data: Member }">`, and
|
|
580
|
+
`vue-tsc` catches `data.nmae`.
|
|
578
581
|
|
|
579
582
|
**Whose surroundings the dialog takes.** The directive sits on the trigger in
|
|
580
583
|
the template, so the dialog it opens follows the trigger's surroundings: a
|
|
@@ -1797,7 +1800,7 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
1797
1800
|
| `queryKey` | `string \| undefined` | `"dialog"` | | The query key `navigation` writes. |
|
|
1798
1801
|
| `replace` | `boolean \| undefined` | `false` | | With `navigation`, replaces the history entry instead of pushing one, so Back leaves the page instead of closing the dialog. |
|
|
1799
1802
|
| `size` | `Responsive<NonNullable<number \| CssSize \| keyof BbDialogSizes \| undefined>> \| undefined` | `"sm"` | | Controls the maximum width of the dialog. Accepts named presets from `'xs'` to `'2xl'`, a custom CSS width string, or a numeric pixel value — or a per-breakpoint map (e.g. `{ default: 'sm', lg: 'lg' }`) to switch width responsively. |
|
|
1800
|
-
| `snap` | `BbSnapPoint \| undefined` | | | The phone sheet's snap stop
|
|
1803
|
+
| `snap` | `BbSnapPoint \| undefined` | | | The phone sheet's snap stop, one of the `snapPoints` entries. The desktop dialog ignores it. |
|
|
1801
1804
|
| `snapPoints` | `BbSnapPoint[] \| undefined` | | | Heights the phone sheet rests at, smallest first: a screen fraction (`0.5`; `1` = as tall as it gets) or pixels (`'240px'`). The first is the opening height; `v-model:snap` reads and sets the stop. Sheet only: the centred dialog ignores it. |
|
|
1802
1805
|
| `stack` | `string \| undefined` | | | Name of this dialog's stack. Dialogs with the same `stack` replace one another: only the latest opened shows, the rest of the stack hide beneath it. Dialogs in different stacks, or with no `stack`, never affect each other and stay fully visible. |
|
|
1803
1806
|
| `title` | `string \| undefined` | | | Title text announced to assistive technologies. If omitted, no header is rendered (unless a `header` slot is supplied) and accessibility must be handled manually. |
|
|
@@ -1828,7 +1831,7 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
1828
1831
|
## Events
|
|
1829
1832
|
|
|
1830
1833
|
- `hidden` — `(): void` — Emitted after the close transition completes and the dialog is fully dismissed.
|
|
1831
|
-
- `hide` — `(result: BbDialogResult): void` — Emitted as soon as the dialog starts to close (model becomes false), with the opening's result: the same object its promise settles with, `{ completed: true, value }` or `{ completed: false, reason }
|
|
1834
|
+
- `hide` — `(result: BbDialogResult): void` — Emitted as soon as the dialog starts to close (model becomes false), with the opening's result: the same object its promise settles with, `{ completed: true, value }` or `{ completed: false, reason }`.
|
|
1832
1835
|
- `show` — `(): void` — Emitted as soon as the dialog starts to open (model becomes true).
|
|
1833
1836
|
- `shown` — `(): void` — Emitted once the open transition has run (symmetric with `hidden`): the dialog is settled, so code that measures or anchors to its content sees the final layout. Not emitted for a dialog closed before it finished opening.
|
|
1834
1837
|
- `update:modelValue` — `(value: boolean): void` — Emitted with the new value whenever `v-model` changes.
|
|
@@ -1854,7 +1857,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
1854
1857
|
| `--transition-timing-function` | `.bb-dialog` | `var(--bb-ease)` | |
|
|
1855
1858
|
| `--bg` | `.bb-dialog` | `var(--bb-panel)` | |
|
|
1856
1859
|
| `--fg` | `.bb-dialog` | `var(--bb-text)` | |
|
|
1857
|
-
| `--close-size` | `.bb-dialog__header` | `28px` | Shared by the close control and by the space the title reserves for it,
|
|
1860
|
+
| `--close-size` | `.bb-dialog__header` | `28px` | Shared by the close control and by the space the title reserves for it, so the two can never drift apart. |
|
|
1858
1861
|
| `--gap` | `.bb-dialog__footer` | `8px` | |
|
|
1859
1862
|
|
|
1860
1863
|
## Component tree
|
package/dist/ai/BbDropdown.md
CHANGED
|
@@ -1363,7 +1363,7 @@ const items: BbDropdownItem[] = [
|
|
|
1363
1363
|
];
|
|
1364
1364
|
|
|
1365
1365
|
/** Status glyph per workspace row — color inherits via currentColor. */
|
|
1366
|
-
// `value` is optional on a row
|
|
1366
|
+
// `value` is optional on a row, so a slot reading it may see none.
|
|
1367
1367
|
const envIcon = (key?: string): IconType => {
|
|
1368
1368
|
if (key === 'production') return 'lucide:circle-check';
|
|
1369
1369
|
if (key === 'staging') return 'lucide:circle-dashed';
|
|
@@ -1808,8 +1808,8 @@ long lists.
|
|
|
1808
1808
|
|
|
1809
1809
|
`compact` walks the same ladder `BbSelect` does, so a dense toolbar can hold a
|
|
1810
1810
|
select and a menu that agree: flyout rows go 28px → 24px, sheet rows 44px →
|
|
1811
|
-
36px
|
|
1812
|
-
select.
|
|
1811
|
+
36px, and the flyout's `header` / `footer` pad 6px instead of 8px. The label
|
|
1812
|
+
does not shrink — density here is height, exactly as it is for a select.
|
|
1813
1813
|
|
|
1814
1814
|
The sheet stops at 36px and never follows the flyout down to 24px. A menu row is
|
|
1815
1815
|
a touch target whose mis-tap fires the neighbouring **command**, where a
|
|
@@ -2325,7 +2325,7 @@ it, and at the top level closes the sheet.
|
|
|
2325
2325
|
|
|
2326
2326
|
| Prop | Type | Default | Required | Description |
|
|
2327
2327
|
| --- | --- | --- | --- | --- |
|
|
2328
|
-
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `footer`, `header`, `input`, `item`, `itemDescription`, `itemIcon`, `itemText`, `list`, `panel`, `root`, `sheet`. States: `
|
|
2328
|
+
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `footer`, `header`, `input`, `item`, `itemDescription`, `itemIcon`, `itemText`, `list`, `panel`, `root`, `sheet`. States: `open`, `activeLink`, `default`, `destructive`, `disabled`, `exactActiveLink`, `selected`. What each one is: _Passthrough parts and states_ below. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. In `<script>` a `pt` value is typed `BbDropdownProps['pt']` (`PtValue` is not exported): § Typing `pt` in `<script>`. |
|
|
2329
2329
|
| `activator` | `Record<string, any> \| HTMLElement \| null \| undefined` | | | An external activator element or component ref: the activator slot is not rendered, and the listeners and ARIA (`aria-haspopup` / `aria-expanded` / `aria-controls`) are attached to it; don't add your own. |
|
|
2330
2330
|
| `adaptive` | `boolean \| undefined` | ``config.adaptive` (`true`)` | | On mobile (below `config.mobileMaxWidth`), renders the menu as a bottom sheet that drills into submenus one level at a time instead of hover flyouts; slots and selection are unchanged. Unset: the global `config.adaptive`. |
|
|
2331
2331
|
| `anchor` | `Record<string, any> \| HTMLElement \| null \| undefined` | `the activator element` | | The element the panel positions against when it should differ from the activator (a wrapper the activator is part of); an HTMLElement or component ref. It also drives a percentage `width`. Ignored with `placement="cursor"`. |
|
|
@@ -2415,7 +2415,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
2415
2415
|
| Property | Set on | Default | What it is |
|
|
2416
2416
|
| --- | --- | --- | --- |
|
|
2417
2417
|
| `--bg` | `.bb-dropdown__group-search` | `var(--bb-panel)` | |
|
|
2418
|
-
| `--menu-inset` | `.bb-dropdown` | `4px` | Inset between the menu's outer chrome and its first item — owned here and
|
|
2418
|
+
| `--menu-inset` | `.bb-dropdown` | `4px` | Inset between the menu's outer chrome and its first item — owned here and consumed by both `.bb-dropdown__list`'s padding and the submenu lead-in below, so the two can never drift apart. |
|
|
2419
2419
|
|
|
2420
2420
|
## Component tree
|
|
2421
2421
|
|
|
@@ -622,6 +622,9 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
622
622
|
|
|
623
623
|
### Accessibility
|
|
624
624
|
|
|
625
|
+
- On a touch screen the toggle's invisible hit area reaches 44×44 outward
|
|
626
|
+
(never across into the main button) when the split button has no element
|
|
627
|
+
beside it; beside another control it follows BbButton's 4px rule.
|
|
625
628
|
- The chevron toggle carries its own localized `aria-label` (from the
|
|
626
629
|
`locale` config) and reflects open state via `aria-expanded` — no extra
|
|
627
630
|
wiring needed.
|
|
@@ -694,7 +697,7 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
694
697
|
| `tag` | `'button'` \| `'div'` \| `'span'` \| `'label'` | `'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 link. |
|
|
695
698
|
| `target` | `string \| undefined` | | | Sets or retrieves the window or frame at which to target content. |
|
|
696
699
|
| `text` | `string \| undefined` | | | Text content of the component. |
|
|
697
|
-
| `to` | `string \|
|
|
700
|
+
| `to` | `string \| et \| X \| undefined` | | | Route Location the link should navigate to when clicked on. |
|
|
698
701
|
| `toggle:icon` | `string \| undefined` | | | Replaces the chevron shown inside the dropdown toggle button. A constrained alternative to a slot: only the toggle's icon changes, so the button keeps its semantics. Named after the part it sits in (the `toggle`), the way `prepend:icon` / `append:icon` name theirs. |
|
|
699
702
|
| `transitionDuration` | `number \| undefined` | `150` | | How long the transition has to last in milliseconds. Menus use the fast transition (150) rather than the medium one (250) the other popovers default to: a menu is opened to pick one command and is gone again, so it answers faster than a panel the user reads or edits in. |
|
|
700
703
|
| `type` | `"button" \| "reset" \| "submit" \| undefined` | | | Gets the classification and default behavior of the button. |
|
package/dist/ai/BbForm.md
CHANGED
|
@@ -83,7 +83,7 @@ submitted, counts toward `dirty`, is reset and is validated if it has rules.
|
|
|
83
83
|
Describe the whole form once, in the schema library you already use, and hand
|
|
84
84
|
it to the `schema` prop. There is no adapter to import and no extra package
|
|
85
85
|
to install: any [Standard Schema](https://standardschema.dev) works, which
|
|
86
|
-
covers Zod
|
|
86
|
+
covers Zod 4, Valibot 1, ArkType 2 and Yup 1.7+.
|
|
87
87
|
|
|
88
88
|
**Sign-up form with a Zod schema**
|
|
89
89
|
|
|
@@ -1338,7 +1338,7 @@ the control, the form's own state and whatever ref you bound all agree
|
|
|
1338
1338
|
afterwards.
|
|
1339
1339
|
The same holds for vee-validate's `resetField` and `setFieldValue`.
|
|
1340
1340
|
|
|
1341
|
-
> Fixed in 3.0.0-beta.15
|
|
1341
|
+
> Fixed in 3.0.0-beta.15. Before that the value pipe only ran one way:
|
|
1342
1342
|
> a reset moved the form's internal value but never told your model, so the
|
|
1343
1343
|
> form reported itself pristine while the user's text was still on screen.
|
|
1344
1344
|
|
|
@@ -1856,8 +1856,8 @@ renders a red asterisk beside its label ([`BbAsterisk`](./BbAsterisk.md) does th
|
|
|
1856
1856
|
With a `schema`, the schema decides, with every Standard Schema
|
|
1857
1857
|
library above: a field gets the asterisk when its key is required in the
|
|
1858
1858
|
schema (not optional, no default, not nullable, and its parent object required
|
|
1859
|
-
too). Zod 4, ArkType and Joi are read through their JSON Schema;
|
|
1860
|
-
|
|
1859
|
+
too). Zod 4, ArkType and Joi are read through their JSON Schema; Yup, Valibot
|
|
1860
|
+
and Effect through their own schema shape — nothing to wrap, no
|
|
1861
1861
|
`required` to add. The
|
|
1862
1862
|
marker follows a per-step schema as it changes, and a field the schema (or a
|
|
1863
1863
|
`required` rule) requires gets `aria-required="true"`, so assistive tech hears
|
package/dist/ai/BbNumberInput.md
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
| `--border-focus` | `pt:box` | `CommonFieldInput` | frame while focused, or --active |
|
|
42
42
|
| `--ring-size` | `pt:box` | `CommonFieldInput` | ring width; 0 is a variant declining the ring |
|
|
43
43
|
| `--ring-color` | `pt:box` | `CommonFieldInput` | ring colour; state owns it, not variants |
|
|
44
|
-
| `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, alone in `box-shadow`: the ring is the box's outline
|
|
44
|
+
| `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, alone in `box-shadow`: the ring is the box's outline, so a theme's `--elev: none` never takes the ring with it. |
|
|
45
45
|
| `--frost` | `pt:box` | `CommonFieldInput` | Plate frost — a full `backdrop-filter` value (see --bb-surface-filter). Routed through a local rather than read from the token directly, so a chrome-less variant can decline it: frosting a ghost field gives it the plate it is contractually not supposed to have. |
|
|
46
46
|
| `--inside-label-clearance` | `pt:box`, `pt:prefix`, `pt:suffix` | `CommonFieldInput` | Height and top padding added above the text for a label rendered inside the box. Zero here; the `--inside-label` rules at the bottom of this file raise it to one label line, or two with a description. |
|
|
47
47
|
| `--w` | `pt:icon` | `BbIcon` | `--w` is set inline by BbIcon from the size prop. The `initial` default seals it: without it an ancestor's `--w` (e.g. a dropdown's width bridge) would inherit in and size the icon. The `--size` indirection stays so higher-specificity rules (e.g. `.bb-badge .bb-icon`) can re-point it. |
|
|
@@ -302,8 +302,9 @@ const temperature = ref<number | null>(21);
|
|
|
302
302
|
- the **`increase()` / `decrease()`** scope functions.
|
|
303
303
|
|
|
304
304
|
Those functions are handed to the `prepend` / `append` / `prefix` / `suffix`
|
|
305
|
-
slots as scope props,
|
|
306
|
-
|
|
305
|
+
slots as scope props, with **`increaseDisabled` / `decreaseDisabled`** (true at
|
|
306
|
+
`max` / `min` and while `disabled` or `readonly`), so you build a plus/minus
|
|
307
|
+
stepper without wiring any state yourself. For a stepper rendered _outside_ the field, drive `v-model` directly
|
|
307
308
|
(`model += step`) rather than reaching for a template ref. Stepping respects
|
|
308
309
|
`min`/`max`/`maxPrecision` and is a no-op while `disabled` or `readonly`.
|
|
309
310
|
|
|
@@ -329,18 +330,20 @@ stays free while the buttons move in fixed increments.
|
|
|
329
330
|
:min="1"
|
|
330
331
|
name="quantity"
|
|
331
332
|
>
|
|
332
|
-
<template #prepend="{ decrease }">
|
|
333
|
+
<template #prepend="{ decrease, decreaseDisabled }">
|
|
333
334
|
<BbButton
|
|
334
335
|
aria-label="Decrease quantity"
|
|
336
|
+
:disabled="decreaseDisabled"
|
|
335
337
|
icon="lucide:minus"
|
|
336
338
|
size="xs"
|
|
337
339
|
variant="ghost"
|
|
338
340
|
@click="decrease"
|
|
339
341
|
/>
|
|
340
342
|
</template>
|
|
341
|
-
<template #append="{ increase }">
|
|
343
|
+
<template #append="{ increase, increaseDisabled }">
|
|
342
344
|
<BbButton
|
|
343
345
|
aria-label="Increase quantity"
|
|
346
|
+
:disabled="increaseDisabled"
|
|
344
347
|
icon="lucide:plus"
|
|
345
348
|
size="xs"
|
|
346
349
|
variant="ghost"
|
|
@@ -444,7 +447,8 @@ icon (`hasWarnings`) shares the error icon's slot — shown when `hasWarnings` i
|
|
|
444
447
|
and there is no error.
|
|
445
448
|
|
|
446
449
|
Every content slot (`prefix`, `suffix`, `prepend`, `append`, `prepend:outer`,
|
|
447
|
-
`append:outer`) receives `{ increase, decrease
|
|
450
|
+
`append:outer`) receives `{ increase, decrease, increaseDisabled, decreaseDisabled }`
|
|
451
|
+
scope, so stepper buttons can
|
|
448
452
|
live anywhere in the ring. Put interactive controls in the _outer_ slots or use
|
|
449
453
|
the scoped callbacks; plain `prefix`/`suffix` text is decoration only.
|
|
450
454
|
|
|
@@ -955,14 +959,14 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
955
959
|
|
|
956
960
|
## Slots
|
|
957
961
|
|
|
958
|
-
- `append` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered after the number input, at the end of the inner container. Typically used to place increment/decrement buttons next to the input.
|
|
959
|
-
- `append:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered after the entire input control, outside the input chrome.
|
|
962
|
+
- `append` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered after the number input, at the end of the inner container. Typically used to place increment/decrement buttons next to the input.
|
|
963
|
+
- `append:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered after the entire input control, outside the input chrome.
|
|
960
964
|
- `description` — scope: `BbNumberInputDescriptionSlotProps` `{ text: string; hasErrors: boolean; hasWarnings: boolean }` — Replaces the description text. Provided alone (no `description` prop) it still renders the description region and wires it into `aria-describedby`.
|
|
961
965
|
- `label` — scope: `BbNumberInputLabelSlotProps` `{ showAsterisk?: boolean; text: string; hasErrors: boolean; hasWarnings: boolean }` — Replaces the default label text rendered above the number input.
|
|
962
|
-
- `prefix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Inline content rendered at the start of the input field area, before the typed number.
|
|
963
|
-
- `prepend` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered before the number input, at the start of the inner container.
|
|
964
|
-
- `prepend:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered before the entire input control, outside the input chrome.
|
|
965
|
-
- `suffix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Inline content rendered at the end of the input field area, after the typed number.
|
|
966
|
+
- `prefix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Inline content rendered at the start of the input field area, before the typed number.
|
|
967
|
+
- `prepend` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered before the number input, at the start of the inner container.
|
|
968
|
+
- `prepend:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered before the entire input control, outside the input chrome.
|
|
969
|
+
- `suffix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Inline content rendered at the end of the input field area, after the typed number.
|
|
966
970
|
|
|
967
971
|
## CSS custom properties
|
|
968
972
|
|