bitboss-ui 3.0.0-beta.65 → 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 +79 -16
- package/bin/bitboss-ui-mcp.mjs +48 -17
- package/bin/bitboss-ui.mjs +73 -12
- package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
- package/dist/ai/BbAccordion.md +4 -3
- package/dist/ai/BbAlert.md +2 -2
- package/dist/ai/BbAvatar.md +1 -1
- package/dist/ai/BbBadge.md +2 -1
- package/dist/ai/BbBadgeButton.md +6 -5
- package/dist/ai/BbBaseButton.md +26 -21
- package/dist/ai/BbBaseCheckboxIcon.md +1 -0
- package/dist/ai/BbBaseRadioIcon.md +1 -0
- package/dist/ai/BbBaseSwitchIcon.md +1 -0
- package/dist/ai/BbBreadcrumbs.md +9 -1
- package/dist/ai/BbButton.md +74 -22
- package/dist/ai/BbCalendar.md +156 -23
- package/dist/ai/BbCheckbox.md +5 -1
- package/dist/ai/BbCheckboxGroup.md +45 -9
- package/dist/ai/BbColorInput.md +5 -3
- package/dist/ai/BbColorPalette.md +7 -3
- package/dist/ai/BbConfirm.md +38 -81
- package/dist/ai/BbConfirmPortal.md +1 -1
- package/dist/ai/BbDatePicker.md +70 -22
- package/dist/ai/BbDatePickerInput.md +121 -27
- package/dist/ai/BbDialog.md +69 -61
- package/dist/ai/BbDropdown.md +30 -29
- package/dist/ai/BbDropdownButton.md +9 -13
- package/dist/ai/BbDropzone.md +2 -3
- package/dist/ai/BbForm.md +70 -46
- package/dist/ai/BbHost.md +29 -41
- package/dist/ai/BbIcon.md +3 -0
- package/dist/ai/BbNumberInput.md +17 -13
- package/dist/ai/BbOffCanvas.md +21 -14
- package/dist/ai/BbPagination.md +18 -18
- package/dist/ai/BbPopover.md +8 -3
- package/dist/ai/BbPtScope.md +5 -5
- package/dist/ai/BbRadio.md +5 -1
- package/dist/ai/BbRadioGroup.md +45 -8
- package/dist/ai/BbRating.md +5 -4
- package/dist/ai/BbSelect.md +150 -24
- package/dist/ai/BbSelectPopover.md +19 -16
- package/dist/ai/BbSlider.md +6 -4
- package/dist/ai/BbSwitch.md +5 -1
- package/dist/ai/BbTable.md +69 -44
- package/dist/ai/BbTabs.md +128 -64
- package/dist/ai/BbTabsList.md +5 -3
- package/dist/ai/BbTabsPanels.md +3 -1
- package/dist/ai/BbTabsRoot.md +4 -4
- package/dist/ai/BbTag.md +3 -3
- package/dist/ai/BbTextInput.md +23 -9
- package/dist/ai/BbTextarea.md +3 -3
- package/dist/ai/BbTimePicker.md +8 -6
- package/dist/ai/BbTimePickerInput.md +9 -12
- package/dist/ai/BbToast.md +33 -87
- package/dist/ai/BbToastPortal.md +1 -1
- 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 +2 -1
- package/dist/ai/FlatListBox.md +2 -2
- package/dist/ai/GroupedListBox.md +2 -2
- package/dist/ai/ListBox.md +2 -2
- package/dist/ai/OptionsContainer.md +2 -2
- package/dist/ai/changelog.json +595 -525
- package/dist/ai/components.json +92 -88
- package/dist/ai/composables/useBbConfig.md +2 -2
- package/dist/ai/composables/{useBbDialogContext.md → useBbDialog.md} +18 -18
- package/dist/ai/composables/{useBbDropdownContext.md → useBbDropdown.md} +31 -31
- package/dist/ai/composables/{useBbFormContext.md → useBbForm.md} +11 -11
- package/dist/ai/composables/useBbFormField.md +2 -2
- package/dist/ai/composables/{useBbOffCanvasContext.md → useBbOffCanvas.md} +13 -13
- package/dist/ai/composables/{useBbTableContext.md → useBbTable.md} +20 -20
- package/dist/ai/composables/{useBbTabsContext.md → useBbTabs.md} +12 -12
- package/dist/ai/composables/useConfirm.md +42 -54
- package/dist/ai/composables/useToast.md +9 -26
- package/dist/ai/guides/agent-contract.md +57 -43
- package/dist/ai/guides/ai-router.md +1 -1
- package/dist/ai/guides/app-layout.md +32 -23
- package/dist/ai/guides/coherence-playbook.md +4 -2
- package/dist/ai/guides/component-picker.md +37 -33
- package/dist/ai/guides/design-language.md +51 -14
- package/dist/ai/guides/design-tokens.md +99 -44
- package/dist/ai/guides/eslint-rules.md +8 -4
- package/dist/ai/guides/fetch-items-playbook.md +4 -3
- package/dist/ai/guides/floating-bottom-panel.md +1 -1
- package/dist/ai/guides/icons-policy.md +1 -1
- package/dist/ai/guides/inertia-helpers.md +661 -210
- package/dist/ai/guides/inline-edit-playbook.md +1 -1
- package/dist/ai/guides/installation-and-plugin-setup.md +22 -19
- package/dist/ai/guides/migration/adoption-checklist.md +44 -2
- package/dist/ai/guides/migration/components/bb-dialog.md +13 -13
- package/dist/ai/guides/migration/components/bb-dropdown.md +16 -16
- package/dist/ai/guides/migration/components/bb-host.md +15 -14
- package/dist/ai/guides/migration/components/bb-offcanvas.md +10 -10
- package/dist/ai/guides/migration/components/bb-pagination.md +9 -9
- package/dist/ai/guides/migration/components/bb-select.md +2 -3
- package/dist/ai/guides/migration/components/bb-table.md +15 -15
- package/dist/ai/guides/migration/components/bb-tabs.md +1 -1
- package/dist/ai/guides/migration/from-async-validator.md +9 -9
- package/dist/ai/guides/migration/v2-to-v3.md +206 -13
- package/dist/ai/guides/migration/v3-beta-tooling.md +3 -3
- package/dist/ai/guides/options-items-playbook.md +2 -2
- package/dist/ai/guides/page-shell.md +15 -3
- package/dist/ai/guides/passthrough.md +60 -15
- package/dist/ai/guides/preset-components.md +102 -43
- package/dist/ai/guides/typescript-generic-components.md +21 -5
- package/dist/ai/guides/validated-forms.md +23 -14
- package/dist/ai/guides/validation-libraries.md +11 -13
- package/dist/ai/guides/validation-providers.md +3 -3
- package/dist/ai/helpers/definePreset.json +11 -4
- package/dist/ai/helpers/definePreset.ts +98 -41
- package/dist/ai/helpers/inertia/manifest.json +235 -77
- package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +24 -12
- package/dist/ai/helpers/inertia/usePromiseForm.ts +38 -151
- package/dist/ai/helpers/inertia/usePromiseRouter.ts +295 -0
- package/dist/ai/helpers/inertia/useQueryObject.ts +36 -5
- package/dist/ai/helpers/inertia/useRouteQuery.ts +28 -9
- package/dist/ai/helpers/inertia/utils.ts +53 -10
- package/dist/ai/index.md +15 -15
- package/dist/ai/manifest/common.json +5 -2
- package/dist/ai/manifest/components/BbAccordion.tree.json +3 -1
- package/dist/ai/manifest/components/BbAlert.json +1 -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 +4 -2
- package/dist/ai/manifest/components/BbBadgeButton.json +11 -6
- package/dist/ai/manifest/components/BbBadgeButton.tree.json +2 -1
- package/dist/ai/manifest/components/BbBaseButton.json +11 -6
- package/dist/ai/manifest/components/BbBaseCheckboxIcon.json +1 -1
- package/dist/ai/manifest/components/BbBaseCheckboxIcon.tree.json +3 -1
- package/dist/ai/manifest/components/BbBaseRadioIcon.json +1 -1
- package/dist/ai/manifest/components/BbBaseRadioIcon.tree.json +3 -1
- package/dist/ai/manifest/components/BbBaseSwitchIcon.json +1 -1
- package/dist/ai/manifest/components/BbBaseSwitchIcon.tree.json +3 -1
- package/dist/ai/manifest/components/BbBreadcrumbs.json +3 -3
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +7 -3
- package/dist/ai/manifest/components/BbButton.json +10 -5
- package/dist/ai/manifest/components/BbButton.tree.json +10 -3
- package/dist/ai/manifest/components/BbCalendar.json +29 -26
- package/dist/ai/manifest/components/BbCalendar.tree.json +25 -2
- package/dist/ai/manifest/components/BbCheckbox.json +2 -2
- package/dist/ai/manifest/components/BbCheckbox.tree.json +5 -2
- package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
- package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +62 -3
- package/dist/ai/manifest/components/BbCollapsible.json +4 -1
- package/dist/ai/manifest/components/BbColorInput.json +18 -17
- package/dist/ai/manifest/components/BbColorInput.tree.json +5 -3
- package/dist/ai/manifest/components/BbColorPalette.json +4 -1
- package/dist/ai/manifest/components/BbColorPalette.tree.json +7 -2
- package/dist/ai/manifest/components/BbConfirm.json +2 -1
- package/dist/ai/manifest/components/BbConfirm.tree.json +2 -2
- package/dist/ai/manifest/components/BbDatePicker.json +33 -27
- package/dist/ai/manifest/components/BbDatePicker.tree.json +3 -4
- package/dist/ai/manifest/components/BbDatePickerInput.json +38 -35
- package/dist/ai/manifest/components/BbDatePickerInput.tree.json +7 -4
- package/dist/ai/manifest/components/BbDialog.json +4 -4
- package/dist/ai/manifest/components/BbDialog.tree.json +6 -3
- package/dist/ai/manifest/components/BbDropdown.json +11 -11
- package/dist/ai/manifest/components/BbDropdown.tree.json +3 -3
- package/dist/ai/manifest/components/BbDropdownButton.json +13 -8
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +2 -3
- package/dist/ai/manifest/components/BbDropzone.json +5 -2
- package/dist/ai/manifest/components/BbForm.json +2 -2
- package/dist/ai/manifest/components/BbHost.json +1 -1
- package/dist/ai/manifest/components/BbHost.tree.json +1 -1
- package/dist/ai/manifest/components/BbHoverCard.json +1 -1
- package/dist/ai/manifest/components/BbNumberInput.json +8 -8
- package/dist/ai/manifest/components/BbNumberInput.tree.json +1 -1
- package/dist/ai/manifest/components/BbOffCanvas.json +4 -4
- package/dist/ai/manifest/components/BbOffCanvas.tree.json +9 -4
- package/dist/ai/manifest/components/BbPagination.json +5 -5
- package/dist/ai/manifest/components/BbPagination.tree.json +3 -2
- package/dist/ai/manifest/components/BbPopover.json +1 -1
- package/dist/ai/manifest/components/BbPopover.tree.json +1 -1
- package/dist/ai/manifest/components/BbProgress.json +4 -1
- package/dist/ai/manifest/components/BbRadio.json +2 -2
- package/dist/ai/manifest/components/BbRadio.tree.json +5 -2
- package/dist/ai/manifest/components/BbRadioGroup.json +6 -6
- package/dist/ai/manifest/components/BbRadioGroup.tree.json +62 -3
- package/dist/ai/manifest/components/BbRating.json +7 -7
- package/dist/ai/manifest/components/BbRating.tree.json +5 -3
- package/dist/ai/manifest/components/BbSelect.json +25 -25
- package/dist/ai/manifest/components/BbSelect.tree.json +3 -3
- package/dist/ai/manifest/components/BbSelectPopover.json +16 -12
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +3 -2
- package/dist/ai/manifest/components/BbSlider.json +14 -14
- package/dist/ai/manifest/components/BbSlider.tree.json +3 -0
- package/dist/ai/manifest/components/BbSmoothHeight.json +4 -1
- package/dist/ai/manifest/components/BbSwitch.json +2 -2
- package/dist/ai/manifest/components/BbSwitch.tree.json +5 -2
- package/dist/ai/manifest/components/BbSwitchGroup.json +1 -1
- package/dist/ai/manifest/components/BbSwitchGroup.tree.json +1 -1
- package/dist/ai/manifest/components/BbTable.json +28 -24
- package/dist/ai/manifest/components/BbTable.tree.json +6 -1
- package/dist/ai/manifest/components/BbTabs.json +13 -16
- package/dist/ai/manifest/components/BbTabs.tree.json +4 -1
- package/dist/ai/manifest/components/BbTabsList.json +6 -9
- package/dist/ai/manifest/components/BbTabsList.tree.json +4 -1
- package/dist/ai/manifest/components/BbTabsPanels.json +3 -3
- package/dist/ai/manifest/components/BbTabsPanels.tree.json +4 -1
- package/dist/ai/manifest/components/BbTabsRoot.json +5 -5
- package/dist/ai/manifest/components/BbTag.json +2 -2
- package/dist/ai/manifest/components/BbTag.tree.json +2 -2
- package/dist/ai/manifest/components/BbTextInput.json +4 -4
- package/dist/ai/manifest/components/BbTextInput.tree.json +3 -3
- package/dist/ai/manifest/components/BbTextarea.json +3 -3
- package/dist/ai/manifest/components/BbTextarea.tree.json +1 -1
- package/dist/ai/manifest/components/BbTimePicker.json +10 -7
- package/dist/ai/manifest/components/BbTimePicker.tree.json +5 -3
- package/dist/ai/manifest/components/BbTimePickerInput.json +19 -19
- package/dist/ai/manifest/components/BbTimePickerInput.tree.json +5 -3
- package/dist/ai/manifest/components/BbToast.json +1 -1
- package/dist/ai/manifest/components/BbToast.tree.json +3 -1
- package/dist/ai/manifest/components/BbTooltip.json +3 -0
- 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/ChipsBox.tree.json +1 -1
- package/dist/ai/manifest/components/CommonField.json +2 -2
- package/dist/ai/manifest/components/CommonField.tree.json +1 -0
- package/dist/ai/manifest/components/CommonFieldInput.tree.json +4 -2
- package/dist/ai/manifest/components/CommonPopover.tree.json +3 -0
- package/dist/ai/manifest/components/CommonTimeSelector.tree.json +1 -0
- package/dist/ai/manifest/components/FlatListBox.json +2 -2
- package/dist/ai/manifest/components/GroupedListBox.json +2 -2
- package/dist/ai/manifest/components/ListBox.json +2 -2
- package/dist/ai/manifest/components/OptionsContainer.json +3 -3
- package/dist/ai/manifest/index.json +3 -3
- package/dist/ai/manifest/meta.json +31 -16
- package/dist/ai/manifest/types.advanced.json +17 -13
- package/dist/ai/manifest/types.api.json +2 -2
- package/dist/ai/recipes/inertia/approvals-inbox.md +86 -115
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +112 -120
- package/dist/ai/recipes/inertia/layout-scaffold.md +15 -4
- package/dist/ai/recipes/inertia/onboarding.md +76 -58
- package/dist/ai/recipes/inertia/ownership-atlas.md +74 -105
- package/dist/ai/recipes/inertia/record-form.md +18 -7
- package/dist/ai/recipes/inertia/records-workspace.md +106 -127
- package/dist/ai/recipes/inertia/settings-workspace.md +131 -73
- package/dist/ai/recipes/inertia/upload-center.md +97 -121
- package/dist/ai/recipes/inertia/wizard-form.md +25 -15
- package/dist/ai/recipes/nuxt/approvals-inbox.md +67 -48
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +73 -58
- package/dist/ai/recipes/nuxt/layout-scaffold.md +15 -4
- package/dist/ai/recipes/nuxt/onboarding.md +27 -10
- package/dist/ai/recipes/nuxt/ownership-atlas.md +40 -22
- package/dist/ai/recipes/nuxt/record-form.md +20 -7
- package/dist/ai/recipes/nuxt/records-workspace.md +120 -96
- package/dist/ai/recipes/nuxt/settings-workspace.md +36 -23
- package/dist/ai/recipes/nuxt/upload-center.md +63 -37
- package/dist/ai/recipes/nuxt/wizard-form.md +28 -16
- package/dist/ai/recipes/vue/approvals-inbox.md +74 -46
- package/dist/ai/recipes/vue/inline-edit-workspace.md +83 -56
- package/dist/ai/recipes/vue/layout-scaffold.md +15 -4
- package/dist/ai/recipes/vue/onboarding.md +27 -10
- package/dist/ai/recipes/vue/ownership-atlas.md +40 -22
- package/dist/ai/recipes/vue/record-form.md +20 -7
- package/dist/ai/recipes/vue/records-workspace.md +132 -95
- package/dist/ai/recipes/vue/settings-workspace.md +36 -23
- package/dist/ai/recipes/vue/upload-center.md +73 -37
- package/dist/ai/recipes/vue/wizard-form.md +28 -16
- package/dist/ai/source/BbAccordion.md +36 -6
- package/dist/ai/source/BbAlert.md +11 -5
- package/dist/ai/source/BbAsterisk.md +4 -1
- package/dist/ai/source/BbAvatar.md +12 -6
- package/dist/ai/source/BbBadge.md +72 -21
- package/dist/ai/source/BbBadgeButton.md +71 -18
- package/dist/ai/source/BbBaseButton.md +321 -276
- package/dist/ai/source/BbBaseCheckboxIcon.md +92 -64
- package/dist/ai/source/BbBaseRadioIcon.md +81 -54
- package/dist/ai/source/BbBaseSwitchIcon.md +87 -59
- package/dist/ai/source/BbBreadcrumbs.md +94 -56
- package/dist/ai/source/BbButton.md +180 -31
- package/dist/ai/source/BbCalendar.md +1069 -408
- package/dist/ai/source/BbCheckbox.md +233 -178
- package/dist/ai/source/BbCheckboxGroup.md +36 -21
- package/dist/ai/source/BbCollapsible.md +15 -6
- package/dist/ai/source/BbColorInput.md +142 -38
- package/dist/ai/source/BbColorPalette.md +242 -144
- package/dist/ai/source/BbConfirm.md +25 -7
- package/dist/ai/source/BbConfirmPortal.md +17 -7
- package/dist/ai/source/BbDatePicker.md +302 -178
- package/dist/ai/source/BbDatePickerInput.md +394 -65
- package/dist/ai/source/BbDialog.md +204 -174
- package/dist/ai/source/BbDropdown.md +92 -42
- package/dist/ai/source/BbDropdownButton.md +79 -30
- package/dist/ai/source/BbDropdownGroup.md +53 -15
- package/dist/ai/source/BbDropzone.md +138 -93
- package/dist/ai/source/BbForm.md +18 -7
- package/dist/ai/source/BbHost.md +25 -12
- package/dist/ai/source/BbHoverCard.md +20 -9
- package/dist/ai/source/BbIcon.md +9 -3
- package/dist/ai/source/BbIndicator.md +11 -4
- package/dist/ai/source/BbNumberInput.md +83 -28
- package/dist/ai/source/BbOffCanvas.md +227 -171
- package/dist/ai/source/BbPagination.md +151 -111
- package/dist/ai/source/BbPopover.md +28 -16
- package/dist/ai/source/BbProgress.md +13 -5
- package/dist/ai/source/BbRadio.md +220 -169
- package/dist/ai/source/BbRadioGroup.md +32 -19
- package/dist/ai/source/BbRating.md +208 -154
- package/dist/ai/source/BbSelect.md +133 -35
- package/dist/ai/source/BbSelectPopover.md +462 -371
- package/dist/ai/source/BbSlider.md +308 -217
- package/dist/ai/source/BbSmoothHeight.md +16 -7
- package/dist/ai/source/BbSpinner.md +9 -3
- package/dist/ai/source/BbSwitch.md +95 -17
- package/dist/ai/source/BbSwitchGroup.md +38 -23
- package/dist/ai/source/BbTable.md +641 -423
- package/dist/ai/source/BbTabs.md +120 -62
- package/dist/ai/source/BbTabsList.md +171 -72
- package/dist/ai/source/BbTabsPanels.md +127 -53
- package/dist/ai/source/BbTabsRoot.md +97 -46
- package/dist/ai/source/BbTag.md +58 -24
- package/dist/ai/source/BbTextInput.md +65 -14
- package/dist/ai/source/BbTextarea.md +54 -8
- package/dist/ai/source/BbTimePicker.md +195 -122
- package/dist/ai/source/BbTimePickerInput.md +127 -23
- package/dist/ai/source/BbToast.md +46 -21
- package/dist/ai/source/BbToastPortal.md +47 -22
- package/dist/ai/source/BbTooltip.md +18 -10
- package/dist/ai/source/BbTree.md +26 -6
- package/dist/ai/source/ClearableButton.md +5 -1
- package/dist/ai/source/CommonField.md +67 -11
- package/dist/ai/source/CommonFieldInput.md +61 -27
- package/dist/ai/source/CommonPopover.md +24 -6
- package/dist/ai/source/CommonTimeSelector.md +24 -3
- package/dist/ai/source/ErrorIcon.md +4 -0
- package/dist/ai/source/FlatListBox.md +1 -1
- package/dist/ai/source/GroupedListBox.md +1 -1
- package/dist/ai/source/ListBox.md +10 -2
- package/dist/ai/source/OptionsContainer.md +6 -2
- package/dist/ai/source/WarningIcon.md +4 -0
- 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.d.ts +2 -1
- 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.d.ts +2 -1
- 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.d.ts +3 -1
- 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.d.ts +3 -1
- package/dist/components/BbAvatar/BbAvatar.vue.js +1 -2
- package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +23 -24
- 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.d.ts +5 -3
- 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.d.ts +3 -1
- package/dist/components/BbBadge/BbBadgeButton.vue.js +1 -2
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +6 -11
- 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.d.ts +3 -1
- package/dist/components/BbBaseButton/BbBaseButton.vue.js +1 -2
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +89 -90
- 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 +11 -6
- package/dist/components/BbBaseButton/types.js +6 -2
- package/dist/components/BbBaseButton/useLinkState.d.ts +2 -0
- package/dist/components/BbBaseButton/useLinkState.js +24 -24
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.d.ts +3 -1
- 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.d.ts +3 -1
- 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.d.ts +3 -1
- 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.d.ts +3 -1
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.js +1 -2
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +158 -169
- 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.d.ts +2 -1
- package/dist/components/BbButton/BbButton.vue.js +1 -2
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +96 -97
- package/dist/components/BbButton/toggleRoving.js +2 -3
- package/dist/components/BbButton/types.d.ts +11 -6
- package/dist/components/BbButton/types.js +8 -2
- package/dist/components/BbCalendar/BbCalendar.vue.d.ts +127 -30
- package/dist/components/BbCalendar/BbCalendar.vue.js +1 -2
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +434 -420
- 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 +110 -37
- package/dist/components/BbCalendar/types.js +54 -3
- package/dist/components/BbCalendar/useCalendarContext.js +1 -2
- package/dist/components/BbCalendar/useCalendarGrid.d.ts +133 -0
- package/dist/components/BbCalendar/useCalendarGrid.js +201 -204
- package/dist/components/BbCalendar/useDayGrid.d.ts +33 -11
- package/dist/components/BbCalendar/useDayGrid.js +169 -162
- 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.d.ts +4 -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 +345 -2
- 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.d.ts +3 -1
- package/dist/components/BbCollapsible/BbCollapsible.vue.js +1 -2
- package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/components/BbCollapsible/types.js +1 -2
- package/dist/components/BbColorInput/BbColorInput.vue.d.ts +8 -5
- 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 +28 -11
- package/dist/components/BbColorInput/types.js +18 -9
- package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +7 -5
- package/dist/components/BbColorPalette/BbColorPalette.vue.js +1 -2
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +212 -219
- 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 +111 -100
- 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 +162 -41
- package/dist/components/BbDatePicker/BbDatePicker.vue.js +1 -2
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +167 -219
- package/dist/components/BbDatePicker/types.d.ts +69 -25
- package/dist/components/BbDatePicker/types.js +6 -3
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +395 -37
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.js +1 -2
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +485 -597
- package/dist/components/BbDatePickerInput/dateFieldLayout.js +1 -2
- package/dist/components/BbDatePickerInput/types.d.ts +92 -22
- package/dist/components/BbDatePickerInput/types.js +67 -7
- package/dist/components/BbDialog/BbDialog.vue.d.ts +7 -6
- package/dist/components/BbDialog/BbDialog.vue.js +1 -2
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +233 -238
- package/dist/components/BbDialog/types.d.ts +12 -10
- package/dist/components/BbDialog/types.js +3 -3
- package/dist/components/BbDialog/useDialogStack.d.ts +2 -0
- package/dist/components/BbDialog/useDialogStack.js +7 -4
- package/dist/components/BbDropdown/AdaptiveDropdown.vue.js +1 -2
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +58 -59
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +8 -6
- package/dist/components/BbDropdown/BbDropdown.vue.js +1 -2
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +306 -340
- 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 +340 -357
- 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 +11 -12
- package/dist/components/BbDropdown/types.d.ts +25 -9
- package/dist/components/BbDropdown/types.js +28 -2
- package/dist/components/BbDropdown/useDropdownContext.js +2 -3
- package/dist/components/BbDropdown/useDropdownGroupRegistry.d.ts +1 -1
- package/dist/components/BbDropdown/useDropdownGroupRegistry.js +1 -2
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +6 -4
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.js +1 -2
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +65 -68
- package/dist/components/BbDropdownButton/types.d.ts +16 -5
- package/dist/components/BbDropdownButton/types.js +17 -12
- package/dist/components/BbDropzone/BbDropzone.vue.d.ts +65 -22
- 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 +19 -5
- package/dist/components/BbDropzone/types.js +8 -2
- package/dist/components/BbForm/BbForm.vue.d.ts +52 -4
- 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 +20 -25
- package/dist/components/BbHost/BbHostOpening.js +12 -14
- package/dist/components/BbHoverCard/BbHoverCard.vue.d.ts +5 -4
- package/dist/components/BbHoverCard/BbHoverCard.vue.js +1 -2
- package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +160 -165
- 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.d.ts +3 -1
- 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.d.ts +3 -1
- 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.d.ts +6 -3
- 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 +29 -6
- package/dist/components/BbNumberInput/types.js +11 -10
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +6 -5
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.js +1 -2
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +347 -373
- package/dist/components/BbOffCanvas/hostCloseLabel.js +1 -2
- package/dist/components/BbOffCanvas/sheetAttrs.d.ts +9 -0
- package/dist/components/BbOffCanvas/sheetAttrs.js +9 -0
- package/dist/components/BbOffCanvas/sheetSnap.js +3 -8
- package/dist/components/BbOffCanvas/types.d.ts +12 -10
- package/dist/components/BbOffCanvas/types.js +3 -3
- package/dist/components/BbOffCanvas/useOffCanvasStack.d.ts +2 -0
- package/dist/components/BbOffCanvas/useOffCanvasStack.js +8 -5
- package/dist/components/BbPagination/BbPagination.vue.d.ts +2 -1
- 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 +17 -9
- package/dist/components/BbPagination/types.js +4 -3
- package/dist/components/BbPopover/BbPopover.vue.d.ts +5 -4
- package/dist/components/BbPopover/BbPopover.vue.js +1 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +139 -157
- 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.d.ts +6 -1
- 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.d.ts +4 -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 +299 -1
- 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.d.ts +4 -2
- 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 +553 -4
- 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 +41 -7
- package/dist/components/BbSelect/types.js +17 -2
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +103 -3
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.js +1 -2
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +571 -630
- package/dist/components/BbSelectPopover/knownItems.js +1 -2
- package/dist/components/BbSelectPopover/sheetChipAttrs.js +1 -2
- package/dist/components/BbSelectPopover/types.d.ts +29 -7
- package/dist/components/BbSelectPopover/types.js +9 -3
- package/dist/components/BbSlider/BbSlider.vue.d.ts +136 -33
- 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 +32 -7
- package/dist/components/BbSlider/types.js +10 -3
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +3 -1
- 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.d.ts +3 -1
- 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.d.ts +4 -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 +145 -1
- 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 +5 -2
- package/dist/components/BbTable/BbTable.vue.js +1 -2
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1143 -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 +54 -9
- package/dist/components/BbTable/types.js +45 -3
- package/dist/components/BbTable/useRowReorder.js +179 -203
- package/dist/components/BbTable/utils.d.ts +9 -2
- package/dist/components/BbTable/utils.js +66 -72
- package/dist/components/BbTabs/BbTabs.vue.d.ts +103 -2
- package/dist/components/BbTabs/BbTabs.vue.js +1 -2
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +26 -30
- package/dist/components/BbTabs/BbTabsList.vue.d.ts +11 -1
- package/dist/components/BbTabs/BbTabsList.vue.js +1 -2
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +112 -107
- package/dist/components/BbTabs/BbTabsPanels.vue.d.ts +9 -1
- package/dist/components/BbTabs/BbTabsPanels.vue.js +1 -2
- package/dist/components/BbTabs/BbTabsPanels.vue_vue_type_script_setup_true_lang.js +22 -22
- 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 +71 -33
- package/dist/components/BbTabs/types.js +11 -3
- package/dist/components/BbTag/BbTag.vue.d.ts +5 -2
- 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 +22 -12
- package/dist/components/BbTag/types.js +19 -9
- package/dist/components/BbTextInput/BbTextInput.vue.d.ts +209 -2
- 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 +17 -5
- package/dist/components/BbTextInput/types.js +22 -12
- package/dist/components/BbTextarea/BbTextarea.vue.d.ts +207 -2
- 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 +17 -5
- package/dist/components/BbTextarea/types.js +22 -12
- package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +84 -38
- package/dist/components/BbTimePicker/BbTimePicker.vue.js +1 -2
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +166 -171
- package/dist/components/BbTimePicker/types.d.ts +31 -7
- package/dist/components/BbTimePicker/types.js +4 -3
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +272 -33
- 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 +45 -9
- 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 +27 -28
- package/dist/components/BbToast/types.d.ts +17 -5
- package/dist/components/BbToast/types.js +12 -13
- package/dist/components/BbTooltip/BbTooltip.vue.d.ts +3 -2
- package/dist/components/BbTooltip/BbTooltip.vue.js +1 -2
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +69 -70
- 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.d.ts +3 -1
- 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.d.ts +3 -1
- package/dist/components/CloseIcon/CloseButton.vue.js +2 -3
- 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.d.ts +3 -1
- 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.d.ts +5 -3
- 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.d.ts +5 -4
- package/dist/components/CommonPopover/CommonPopover.vue.js +1 -2
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +90 -89
- 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.d.ts +3 -1
- 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 +87 -94
- 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 +55 -62
- package/dist/components/GroupedListBox/types.d.ts +1 -1
- package/dist/components/ListBox/ListBox.vue.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.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 +23 -27
- 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.d.ts +1 -1
- 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.d.ts +3 -1
- 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.d.ts +22 -0
- package/dist/composables/autoHost.js +19 -0
- package/dist/composables/formSubmitLock.js +1 -2
- package/dist/composables/hostOpenings.d.ts +3 -3
- package/dist/composables/hostOpenings.js +7 -12
- package/dist/composables/hostRegistry.d.ts +10 -2
- package/dist/composables/hostRegistry.js +6 -5
- package/dist/composables/overlayRegistry.d.ts +1 -1
- package/dist/composables/overlayRegistry.js +4 -5
- 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/{useBbDialogContext.d.ts → useBbDialog.d.ts} +9 -9
- package/dist/composables/{useBbDialogContext.js → useBbDialog.js} +19 -23
- package/dist/composables/{useBbDropdownContext.d.ts → useBbDropdown.d.ts} +14 -14
- package/dist/composables/{useBbDropdownContext.js → useBbDropdown.js} +4 -5
- package/dist/composables/{useBbFormContext.d.ts → useBbForm.d.ts} +8 -8
- package/dist/composables/{useBbFormContext.js → useBbForm.js} +8 -12
- package/dist/composables/useBbFormField.js +1 -2
- package/dist/composables/useBbOffCanvas.d.ts +23 -0
- package/dist/composables/useBbOffCanvas.js +7 -0
- package/dist/composables/{useBbTableContext.d.ts → useBbTable.d.ts} +29 -29
- package/dist/composables/{useBbTableContext.js → useBbTable.js} +3 -4
- package/dist/composables/{useBbTabsContext.d.ts → useBbTabs.d.ts} +19 -3
- package/dist/composables/useBbTabs.js +254 -0
- 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 +28 -31
- package/dist/composables/useConfirm.js +8 -9
- 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.d.ts +4 -4
- 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.d.ts +4 -5
- package/dist/composables/useToast.js +4 -5
- 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.d.ts +1 -1
- 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.d.ts +1 -1
- 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 +20 -21
- 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.d.ts +15 -15
- package/dist/index.js +88 -88
- package/dist/llms-full.txt +4886 -2972
- package/dist/llms-medium.txt +170 -112
- package/dist/llms.txt +12 -12
- package/dist/locale-blueprint.json +8 -1
- package/dist/nuxt-auto-imports.js +7 -8
- package/dist/nuxt.js +21 -22
- package/dist/passthrough-deduper.js +1 -2
- package/dist/plugin.js +24 -23
- package/dist/project-dts.js +1 -2
- package/dist/runtime/nuxt-plugin.js +39 -38
- 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/ShapeErased.d.ts +15 -0
- package/dist/types/TabsVariant.js +1 -2
- package/dist/types/ToastVariant.js +1 -2
- package/dist/types/TooltipVariant.js +1 -2
- package/dist/types/fallthrough.d.ts +134 -0
- 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 +11 -5
- package/dist/utilities/functions/normalizeDateBound.js +6 -5
- 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/llms.txt +12 -12
- package/package.json +14 -10
- package/scripts/lib/adoption-checklist.json +3 -2
- package/scripts/lib/check-queue.mjs +102 -0
- package/scripts/lib/consumer-install.mjs +64 -0
- package/scripts/lib/css-class-surface.mjs +39 -3
- package/scripts/lib/css-comment-text.mjs +16 -0
- package/scripts/lib/eslint-disable.mjs +9 -1
- package/scripts/lib/eslint-plugin.d.ts +7 -1
- package/scripts/lib/eslint-plugin.mjs +286 -7
- package/scripts/lib/form-v-model.mjs +2 -2
- package/scripts/lib/helper-canon.mjs +34 -2
- package/scripts/lib/helpers-add.mjs +80 -13
- package/scripts/lib/hidden-label-placeholder.mjs +151 -0
- package/scripts/lib/html-attributes.mjs +82 -0
- package/scripts/lib/idiom-scan.mjs +175 -2
- package/scripts/lib/mcp-config.mjs +1 -1
- package/scripts/lib/pack.mjs +55 -0
- package/scripts/lib/portal-names.mjs +3 -3
- package/scripts/lib/prefer-v-bb-dialog.mjs +1 -1
- package/scripts/lib/quiet-gate.mjs +385 -0
- package/scripts/lib/reactive-v-model.mjs +11 -5
- package/scripts/lib/tab-links.mjs +209 -0
- package/scripts/lib/token-color-mix.mjs +114 -0
- package/scripts/lib/toolchain-check.mjs +34 -3
- package/scripts/lib/unstyled-variants.mjs +57 -0
- package/scripts/lib/validate-bb-markup.mjs +149 -4
- package/dist/composables/useBbOffCanvasContext.d.ts +0 -23
- package/dist/composables/useBbOffCanvasContext.js +0 -8
- package/dist/composables/useBbTabsContext.js +0 -252
package/dist/ai/BbBaseButton.md
CHANGED
|
@@ -56,8 +56,10 @@ in this priority order:
|
|
|
56
56
|
`NuxtLink` (Nuxt), or the Inertia `Link` — resolved for you from the active
|
|
57
57
|
framework.
|
|
58
58
|
2. **Anchor `<a>`** — when `href` is set but the above doesn't apply: external or
|
|
59
|
-
cross-origin URLs,
|
|
60
|
-
as an anchor for correct link
|
|
59
|
+
cross-origin URLs, a fragment (`href="#actions"`), any `href` with a
|
|
60
|
+
`target`, or a disabled `to` link (kept as an anchor for correct link
|
|
61
|
+
semantics). Those need no `external`: it is for a same-origin route the
|
|
62
|
+
router must not take.
|
|
61
63
|
3. **Native `<button>`** — the default when there is no `href`/`to`. Polymorphic
|
|
62
64
|
via `tag` (below), but a real `<button>` unless you say otherwise.
|
|
63
65
|
|
|
@@ -73,21 +75,21 @@ primitive brings no look of its own):
|
|
|
73
75
|
<div class="flex flex-wrap items-center gap-2 text-sm">
|
|
74
76
|
<!-- No href/to → a native <button>. -->
|
|
75
77
|
<BbBaseButton
|
|
76
|
-
class="rounded-(--bb-radius) bg-(--bb-primary) px-3 py-1.5 text-(--bb-primary-fg) focus-visible:
|
|
78
|
+
class="rounded-(--bb-radius) bg-(--bb-primary) px-3 py-1.5 text-(--bb-primary-fg) focus-visible:outline-(--bb-ring)"
|
|
77
79
|
@click="pinged = true"
|
|
78
80
|
>
|
|
79
81
|
Native button
|
|
80
82
|
</BbBaseButton>
|
|
81
83
|
<!-- Same-origin href → an <a>. -->
|
|
82
84
|
<BbBaseButton
|
|
83
|
-
class="rounded-(--bb-radius) px-3 py-1.5 text-(--bb-primary) underline focus-visible:
|
|
85
|
+
class="rounded-(--bb-radius) px-3 py-1.5 text-(--bb-primary) underline focus-visible:outline-(--bb-ring)"
|
|
84
86
|
href="#docs"
|
|
85
87
|
>
|
|
86
88
|
Anchor link
|
|
87
89
|
</BbBaseButton>
|
|
88
90
|
<!-- href + target → a plain <a target="_blank"> with rel secured. -->
|
|
89
91
|
<BbBaseButton
|
|
90
|
-
class="rounded-(--bb-radius) px-3 py-1.5 underline focus-visible:
|
|
92
|
+
class="rounded-(--bb-radius) px-3 py-1.5 underline focus-visible:outline-(--bb-ring)"
|
|
91
93
|
href="https://example.com"
|
|
92
94
|
target="_blank"
|
|
93
95
|
>
|
|
@@ -117,19 +119,21 @@ scaffold, `cursor` and transitions), `bb-base-button--block` and
|
|
|
117
119
|
library button, tab, row and menu item draws on, and each of those paints its
|
|
118
120
|
own focus; a native outline would sit on top of all of them. So a bare
|
|
119
121
|
`BbBaseButton` shows **no keyboard focus until you style it**. Every class you
|
|
120
|
-
give it needs a `:focus-visible` style too
|
|
121
|
-
|
|
122
|
+
give it needs a `:focus-visible` style too. The base already draws a 2px
|
|
123
|
+
transparent outline (the ring scaffold), so the library's own ring is one
|
|
124
|
+
utility that colours it:
|
|
122
125
|
|
|
123
126
|
```vue
|
|
124
127
|
<BbBaseButton
|
|
125
|
-
class="rounded-(--bb-radius) px-3 py-1.5 focus-visible:
|
|
128
|
+
class="rounded-(--bb-radius) px-3 py-1.5 focus-visible:outline-(--bb-ring)"
|
|
126
129
|
>
|
|
127
130
|
Save
|
|
128
131
|
</BbBaseButton>
|
|
129
132
|
```
|
|
130
133
|
|
|
131
|
-
The ring
|
|
132
|
-
scaffold)
|
|
134
|
+
The ring fades in through the base's `outline-color` transition (that is the
|
|
135
|
+
scaffold), as the library's own rings do: an outline, never a `box-shadow`, so
|
|
136
|
+
a shadow you set on the element never takes the ring with it. There is **no padding, background, border, or
|
|
133
137
|
variant appearance** — that is the whole point. It sets **no text color**, so a
|
|
134
138
|
`text-*` utility on the element just works with no specificity fight; the text
|
|
135
139
|
inherits from its container (in anchor mode, the browser's blue-and-underlined
|
|
@@ -146,7 +150,7 @@ the right base for a clickable card or a bespoke nav item:
|
|
|
146
150
|
<!-- Styled entirely by utility classes — neutral hover chrome. -->
|
|
147
151
|
<BbBaseButton
|
|
148
152
|
href="#b"
|
|
149
|
-
class="rounded-(--bb-radius) border border-(--bb-border) px-3 py-1 font-medium hover:bg-(--bb-hover) focus-visible:
|
|
153
|
+
class="rounded-(--bb-radius) border border-(--bb-border) px-3 py-1 font-medium hover:bg-(--bb-hover) focus-visible:outline-(--bb-ring)"
|
|
150
154
|
>
|
|
151
155
|
Branded pill
|
|
152
156
|
</BbBaseButton>
|
|
@@ -172,7 +176,7 @@ stay outside the link:
|
|
|
172
176
|
<article
|
|
173
177
|
v-for="project in projects"
|
|
174
178
|
:key="project.name"
|
|
175
|
-
class="relative flex flex-col items-start gap-1.5 rounded-(--bb-radius) border border-(--bb-border) bg-(--bb-panel) p-3 hover:bg-(--bb-surface-hover) has-focus-visible:
|
|
179
|
+
class="relative flex flex-col items-start gap-1.5 rounded-(--bb-radius) border border-(--bb-border) bg-(--bb-panel) p-3 hover:bg-(--bb-surface-hover) has-focus-visible:outline-2 has-focus-visible:outline-(--bb-ring)"
|
|
176
180
|
>
|
|
177
181
|
<span class="flex w-full items-center justify-between gap-2">
|
|
178
182
|
<span
|
|
@@ -236,9 +240,9 @@ const projects: Project[] = [
|
|
|
236
240
|
- **Optional links:** render the overlay only when there is a destination
|
|
237
241
|
(`v-if="href"`); the card needs no other change — no `tag` switching.
|
|
238
242
|
- **Focus:** the overlay is invisible, so show focus on the card
|
|
239
|
-
(`has-focus-visible:
|
|
240
|
-
from the overlay (`outline-none
|
|
241
|
-
|
|
243
|
+
(`has-focus-visible:outline-2 has-focus-visible:outline-(--bb-ring)`) and
|
|
244
|
+
drop it from the overlay (`outline-none`, so the scaffold's transparent
|
|
245
|
+
outline never paints).
|
|
242
246
|
|
|
243
247
|
### Label
|
|
244
248
|
|
|
@@ -450,7 +454,7 @@ When it renders as a native button you can retune the element:
|
|
|
450
454
|
</p>
|
|
451
455
|
<BbBaseButton
|
|
452
456
|
block
|
|
453
|
-
class="rounded-(--bb-radius) bg-(--bb-primary) px-3 py-1.5 text-sm text-(--bb-primary-fg) focus-visible:
|
|
457
|
+
class="rounded-(--bb-radius) bg-(--bb-primary) px-3 py-1.5 text-sm text-(--bb-primary-fg) focus-visible:outline-(--bb-ring)"
|
|
454
458
|
type="submit"
|
|
455
459
|
>
|
|
456
460
|
Create workspace
|
|
@@ -520,7 +524,8 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
520
524
|
- `tag="div"`/`tag="span"` throws away native button semantics — only do it when a
|
|
521
525
|
`<button>` is genuinely invalid, and restore keyboard/focus behavior yourself.
|
|
522
526
|
- Style the focus state: the base removes the browser's ring and provides only
|
|
523
|
-
a _scaffold_ (
|
|
527
|
+
a _scaffold_ (a transparent 2px outline and its colour transition), so a
|
|
528
|
+
class without a
|
|
524
529
|
`:focus-visible` style ships an invisible keyboard focus. See "It removes the
|
|
525
530
|
browser's focus ring" above.
|
|
526
531
|
|
|
@@ -544,7 +549,7 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
544
549
|
| --- | --- | --- | --- | --- |
|
|
545
550
|
| `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: `root`. States: `activeLink`, `disabled`, `exactActiveLink`. 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 `BbBaseButtonProps['pt']` (`PtValue` is not exported): § Typing `pt` in `<script>`. |
|
|
546
551
|
| `activeClass` | `string \| undefined` | `'router-link-active'` | | CSS class applied when the component renders as a link and the target of the link is the current route or the url matches partially. Ported for Inertia compatibility. |
|
|
547
|
-
| `ariaCurrentValue` | `"
|
|
552
|
+
| `ariaCurrentValue` | `"time" \| "true" \| "false" \| "page" \| "step" \| "location" \| "date" \| undefined` | `'page'` | | Value forwarded to the `aria-current` attribute when the component renders as a router link and the target route is an exact match. Use to communicate the current location to assistive technologies. |
|
|
548
553
|
| `async` | `boolean \| undefined` | `false` | | Inertia: runs the visit without blocking — the page stays interactive and several async visits can be in flight at once. |
|
|
549
554
|
| `block` | `boolean \| undefined` | `false` | | Makes the component take the full available width (block-level layout) and centres its label; an anchor becomes `display: block` so the width applies. Adds the `bb-base-button--block` modifier class. |
|
|
550
555
|
| `cacheFor` | `string \| number \| (string \| number)[] \| undefined` | | | Inertia: how long a prefetched response stays fresh before it is re-fetched. A single duration, or `[staleAfter, expiresAfter]`. Typed platform-agnostically (matching BbButton) so the library's types never require `@inertiajs/vue3` to be installed. |
|
|
@@ -557,7 +562,7 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
557
562
|
| `except` | `string[] \| undefined` | | | Inertia: the inverse of `only` — properties to EXCLUDE from a partial reload. Pass one or the other, not both. |
|
|
558
563
|
| `external` | `boolean \| undefined` | `false` | | Forces an `href` link to render as a plain `<a>` (native navigation), bypassing Inertia/router interception, as Nuxt's `NuxtLink` `external` does. For links outside the SPA; a native-anchor signal alongside `target` and `download`. |
|
|
559
564
|
| `headers` | `object \| undefined` | | | Additional HTTP headers forwarded to Inertia when navigating via `href` in an Inertia-enabled app. |
|
|
560
|
-
| `href` | `string \| undefined` | | |
|
|
565
|
+
| `href` | `string \| { url: string; method: "get" \| "post" \| "put" \| "patch" \| "delete"; } \| undefined` | | | The link target: renders an anchor (an Inertia `<Link>` under Inertia). Also takes Inertia's `{ url, method }`, a Wayfinder route: Inertia visits with its method; elsewhere the link is its `url`. |
|
|
561
566
|
| `instant` | `boolean \| undefined` | `false` | | Inertia: navigate optimistically on click and reconcile when the response lands, instead of waiting for the round trip. |
|
|
562
567
|
| `method` | `"get" \| "post" \| "put" \| "patch" \| "delete" \| undefined` | | | HTTP method used for Inertia navigation when `href` is provided in an Inertia-enabled app. Ignored otherwise: an Inertia POST visit is `href="/orders/5/archive" method="post"`, never `to` (a `to` link is a Vue Router link and sends no method). |
|
|
563
568
|
| `onBefore` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia right before the request is sent. |
|
|
@@ -582,8 +587,8 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
582
587
|
| `tag` | `'button'` \| `'div'` \| `'span'` \| `'label'` | `'button'` | | Element of the plain (non-link) button: `'button'` (default), `'div'` / `'span'` (a clickable box inside a button or link) or `'label'` (a file-upload trigger). Ignored with `href` / `to`. Off `button`, native `type` / `disabled` drop (disabled stays a class). |
|
|
583
588
|
| `target` | `string \| undefined` | | | Target browsing context for anchor/Inertia links (e.g. `_self`, `_blank`). Ignored when rendering as a native button. |
|
|
584
589
|
| `text` | `string \| undefined` | | | Fallback text content rendered when no default slot is provided. |
|
|
585
|
-
| `to` | `string \|
|
|
586
|
-
| `type` | `"button" \| "
|
|
590
|
+
| `to` | `string \| et \| X \| undefined` | | | Route location to navigate to. When provided (and not disabled), the component renders as a Vue Router link. |
|
|
591
|
+
| `type` | `"button" \| "reset" \| "submit" \| undefined` | `"button"` | | Native `type` attribute used when rendering as a button (e.g. `button`, `submit`, `reset`). |
|
|
587
592
|
| `viewTransition` | `boolean \| undefined` | `false` | | Inertia: run the page swap inside a View Transition, where the browser supports one. |
|
|
588
593
|
|
|
589
594
|
## Passthrough parts and states
|
|
@@ -294,6 +294,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
294
294
|
| `--elev` | `var(--bb-elev-sm)` | Resting lift; a no-op until a theme pins `--bb-elev`. |
|
|
295
295
|
| `--bg` | `var(--bb-panel)` | The glyph plate. DECLARED here, not consumed bare, because this glyph renders inside surfaces that declare `--bg` themselves — a table row or header cell, a dialog, an off-canvas sheet. Without the declaration it would inherit that surface's fill, which happens to match at the shipped default and would diverge the moment anyone writes `.my-table { --bg: … }`. Identical to the raw tokens it replaces at every theme. |
|
|
296
296
|
| `--border-color` | `var(--bb-border)` | Resting border colour of the glyph; re-pointed by error and warning states. |
|
|
297
|
+
| `--ring-t` | `var(--bb-transition-medium)` | |
|
|
297
298
|
|
|
298
299
|
## See Also
|
|
299
300
|
|
|
@@ -306,6 +306,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
306
306
|
| `--elev` | `var(--bb-elev-sm)` | Same resting lift as the checkbox glyph — see BbBaseCheckboxIcon. |
|
|
307
307
|
| `--bg` | `var(--bb-panel)` | The glyph plate. DECLARED here, not consumed bare, because this glyph renders inside surfaces that declare `--bg` themselves — a table row or header cell, a dialog, an off-canvas sheet. Without the declaration it would inherit that surface's fill, which happens to match at the shipped default and would diverge the moment anyone writes `.my-table { --bg: … }`. Identical to the raw tokens it replaces at every theme. |
|
|
308
308
|
| `--border-color` | `var(--bb-border)` | |
|
|
309
|
+
| `--ring-t` | `var(--bb-transition-medium)` | |
|
|
309
310
|
|
|
310
311
|
## See Also
|
|
311
312
|
|
|
@@ -307,6 +307,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
307
307
|
| `--thumb` | `min(16px, calc(var(--h) - 2 * var(--bw)))` | Capped by the track's inner height, so a thick-hairline theme shrinks the thumb instead of overflowing it. Unclamped, a 6px plate hairline leaves a 12px inner track carrying a 16px thumb; `--inset` then goes negative and the thumb paints over its own border. `16px` at every hairline the library ships, so no shipped pixel moves. Do NOT floor `--inset` at 0 instead: that keeps the oversized thumb and pushes it out of the bottom of the track (measured +1px protrusion at a 6px hairline), and it uncancels `--bw` from `--travel`, which is a constant 14px by construction. |
|
|
308
308
|
| `--inset` | `calc((var(--h) - 2 * var(--bw) - var(--thumb)) / 2)` | Equal gap around the thumb — centres it vertically by construction, and is reused as the resting left/right inset. |
|
|
309
309
|
| `--travel` | `calc(var(--w) - 2 * var(--bw) - var(--thumb) - 2 * var(--inset))` | How far the thumb slides between off and on (inset ↔ inset). |
|
|
310
|
+
| `--ring-t` | `var(--bb-transition-medium)` | |
|
|
310
311
|
|
|
311
312
|
## See Also
|
|
312
313
|
|
package/dist/ai/BbBreadcrumbs.md
CHANGED
|
@@ -717,7 +717,7 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
717
717
|
| State | When it is on |
|
|
718
718
|
| --- | --- |
|
|
719
719
|
| `disabled` | Per node: a crumb that is disabled on its own; component-wide while the whole component is `disabled`. |
|
|
720
|
-
| `active` | Per node, on each crumb's `item` / `text`: the current page — the last crumb, when it has no target (`href` / `to` / `onClick`). |
|
|
720
|
+
| `active` | Per node, on each crumb's `item` / `text` / `icon`: the current page — the last crumb, when it has no target (`href` / `to` / `onClick`). |
|
|
721
721
|
|
|
722
722
|
## Events
|
|
723
723
|
|
|
@@ -735,6 +735,14 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
735
735
|
- `#<value>:prepend` (named from data) — scope: `BbBreadcrumbsItemSlotProps` — The glyph before one crumb's label; beats `item:prepend`, which beats its `prepend:icon`.
|
|
736
736
|
- `#<value>:append` (named from data) — scope: `BbBreadcrumbsItemSlotProps` — The glyph after one crumb's label; beats `item:append`, which beats its `append:icon`.
|
|
737
737
|
|
|
738
|
+
## CSS custom properties
|
|
739
|
+
|
|
740
|
+
Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals — a **Set on** of `pt:<part>` means the local lives on that part's element, so set it through that entry (`pt:box="[--border-color:var(--color-green-500)]"`); the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
|
|
741
|
+
|
|
742
|
+
| Property | Default | What it is |
|
|
743
|
+
| --- | --- | --- |
|
|
744
|
+
| `--ring-t` | `var(--bb-transition-medium)` | |
|
|
745
|
+
|
|
738
746
|
## Component tree
|
|
739
747
|
|
|
740
748
|
`BbBreadcrumbs` is not one component: rendering it mounts every component below, and each one is live inside it. **Read this before styling, theming or debugging `BbBreadcrumbs`, and before concluding a part, a token or a behaviour does not exist** — it may live on a component further down. How to read it:
|
package/dist/ai/BbButton.md
CHANGED
|
@@ -104,6 +104,10 @@ bitbossUi({ buttonVariants: ['upgrade'] });
|
|
|
104
104
|
export default defineNuxtConfig({ bitboss: { buttonVariants: ['upgrade'] } });
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
+
Retint through these locals, never colour utilities on the button
|
|
108
|
+
(`bg-* text-* border-*`): a utility paints one colour over every state, so
|
|
109
|
+
hover, pressed, disabled and focus all look the same.
|
|
110
|
+
|
|
107
111
|
The library ships **no CSS for registered variants**: style
|
|
108
112
|
`.bb-button--upgrade` yourself by re-pointing the same locals the built-ins
|
|
109
113
|
use. The root paints rest, hover, press and focus from these, so you never
|
|
@@ -160,7 +164,11 @@ primary has no room left, as the default black in light and white in dark
|
|
|
160
164
|
do: hover is always visible and never sinks into the surface. Pressed takes
|
|
161
165
|
the same move with a larger 1.6:1 step, so it is always the strongest state
|
|
162
166
|
and never equals rest, and a pressed toggle keeps its pressed fill under
|
|
163
|
-
keyboard focus, with the focus ring still showing.
|
|
167
|
+
keyboard focus, with the focus ring still showing. Any BbButton carrying
|
|
168
|
+
`aria-expanded="true"` (menus, popovers, collapsible triggers, row
|
|
169
|
+
expanders) takes the pressed paint while open, since focus has usually moved
|
|
170
|
+
into what it opened; a BbButton without the attribute never does. The
|
|
171
|
+
built-in primary
|
|
164
172
|
moves its frame with the hover and pressed fills and,
|
|
165
173
|
where `contrast-color()` exists, picks each state's label for its own fill
|
|
166
174
|
(a white label on a mid blue can turn dark on the lighter dark-scheme
|
|
@@ -278,6 +286,10 @@ no wrapper of your own (`<BbButton>Synced <span class="dot" /></BbButton>`).
|
|
|
278
286
|
A plain text label is untouched. Wrap rich text in one element
|
|
279
287
|
(`<span>Save <b>all</b></span>`) to keep it one sentence; unwrapped, the `<b>`
|
|
280
288
|
is a child of its own and sits the gap away.
|
|
289
|
+
The label stays on one line: a button with too little room (a full toolbar, a
|
|
290
|
+
narrow card) shrinks and ends its label in "…", the icons kept whole. Several
|
|
291
|
+
children are clipped at the end, not ellipsed, so put a count or a shortcut
|
|
292
|
+
that must stay visible in `append:icon` or next to the button.
|
|
281
293
|
`type` defaults to `'button'`, so a `BbButton` inside a form never submits by
|
|
282
294
|
accident; set `type="submit"` for the one that should, and let the form's
|
|
283
295
|
`@submit` handler own the logic:
|
|
@@ -321,6 +333,17 @@ fields — and being the default, you simply omit the `size` prop. Use
|
|
|
321
333
|
bulk-action bars) and `lg`+ only for a rare hero action. `block` stretches
|
|
322
334
|
the button to its container's width (e.g. mobile CTAs, dialog footers).
|
|
323
335
|
|
|
336
|
+
Which button sits flush with which field (measured in the default theme; fields
|
|
337
|
+
and choice strips have no `size`, only `compact`):
|
|
338
|
+
|
|
339
|
+
| Beside | Height | Flush button |
|
|
340
|
+
| ----------------------------------------------------------------------- | ------ | ------------------ |
|
|
341
|
+
| A field (text, number, select, date…) or a `pill` / `line` choice strip | 32px | `lg` |
|
|
342
|
+
| The same, `compact` | 28px | `md` (the default) |
|
|
343
|
+
|
|
344
|
+
A strip to match a smaller button is retuned with its own locals (`--list-h`,
|
|
345
|
+
`--fs`, `--p`, …: BbRadioGroup § Segmented control).
|
|
346
|
+
|
|
324
347
|
**Stretch ≠ `block`.** A flex-column parent (`flex flex-col`) stretches its
|
|
325
348
|
children on the cross axis by default, so a bare `BbButton` dropped into one
|
|
326
349
|
looks exactly as wide as a `block` button even though `block` was never set —
|
|
@@ -661,7 +684,7 @@ Escape hatches, when the default isn't right:
|
|
|
661
684
|
own: promise tracking (e.g. the handler opens a dialog and you don't want a
|
|
662
685
|
spinner flash) and a `type="submit"` button's spin while its `BbForm` saves.
|
|
663
686
|
Only an explicit `loading` shows the spinner then. A click that awaits a
|
|
664
|
-
dialog (`await
|
|
687
|
+
dialog (`await useBbDialog(id).show()`, `await confirm()`) spins
|
|
665
688
|
until the dialog settles, like any async click: that is where this prop
|
|
666
689
|
goes.
|
|
667
690
|
- `interactive-while-loading` — keeps the button clickable while it shows the
|
|
@@ -916,6 +939,35 @@ never arrived — offline, DNS, connection reset), are **`router.visit()` /
|
|
|
916
939
|
does nothing. Reach for a form or an explicit visit when you need to tell those
|
|
917
940
|
apart — see the Inertia helpers guide.
|
|
918
941
|
|
|
942
|
+
**A spinner for a write that is not a form submit** (resend an invite): an
|
|
943
|
+
`href` + `method` visit shows no loading state, and
|
|
944
|
+
`@click="router.post(url)"` returns nothing to wait on. Return the visit as a
|
|
945
|
+
promise from `@click` instead, and the button spins until the server answers,
|
|
946
|
+
with no `loading` flag of your own: the Inertia helpers' `usePromiseRouter`
|
|
947
|
+
(`usePromiseForm` for a form; Inertia helpers guide § usePromiseRouter):
|
|
948
|
+
|
|
949
|
+
```ts
|
|
950
|
+
const visits = usePromiseRouter();
|
|
951
|
+
const { toast } = useToast();
|
|
952
|
+
// Catch the rejection: the error bag itself, or an Error (a 500, offline).
|
|
953
|
+
const resend = () =>
|
|
954
|
+
visits
|
|
955
|
+
.post(`/users/${id}/invite`)
|
|
956
|
+
.catch(() =>
|
|
957
|
+
toast({ title: 'Not sent. Try again.', variant: 'destructive' })
|
|
958
|
+
);
|
|
959
|
+
// <BbButton @click="resend">Resend invite</BbButton>
|
|
960
|
+
```
|
|
961
|
+
|
|
962
|
+
**Laravel Wayfinder routes go in as they are.** `href` also takes Inertia's
|
|
963
|
+
`{ url, method }`, what a Wayfinder route returns (the default in Laravel's
|
|
964
|
+
starter kits), so there is no `.url` to split off and no wrapper:
|
|
965
|
+
`<BbButton :href="destroy(user)">Delete</BbButton>` visits with `delete`. The
|
|
966
|
+
pair's `method` wins over a `method` prop, as on Inertia's `<Link>`. The same
|
|
967
|
+
holds for a breadcrumb item's or a dropdown row's `href`. Outside Inertia (a
|
|
968
|
+
plain `<a>`, Nuxt) the link is the pair's `url`, and a method other than
|
|
969
|
+
`get` is ignored, as the `method` prop is: a plain link cannot post.
|
|
970
|
+
|
|
919
971
|
Every prop Inertia's own `<Link>` accepts is forwarded, and
|
|
920
972
|
`npm run check:inertia-props` fails the build both when Inertia adds one we
|
|
921
973
|
don't forward and when we declare a callback `<Link>` never accepted. The list
|
|
@@ -951,8 +1003,8 @@ object form, a style and attributes — optionally only while a state is on.
|
|
|
951
1003
|
Parts: `root` (the button), `icon` (every content icon the button renders:
|
|
952
1004
|
`icon`, `prepend:icon`, `append:icon` — a broadcast), `spinner`, `text` (the
|
|
953
1005
|
label span). Typography inherits from `root`, so reach for `text` only when a
|
|
954
|
-
class must apply to the label ALONE —
|
|
955
|
-
|
|
1006
|
+
class must apply to the label ALONE — a mono font, say (it already ends a long
|
|
1007
|
+
label in "…" without clipping the icons beside it). That span also carries the margin the label slides by
|
|
956
1008
|
while the spinner is in, so a margin of your own fights the slide. States:
|
|
957
1009
|
`loading`, `disabled`, `pressed` (a `v-model` toggle that is on), and on a
|
|
958
1010
|
link `activeLink` / `exactActiveLink` (it points at the current page: see
|
|
@@ -1034,9 +1086,9 @@ utility wins. What works in every build:
|
|
|
1034
1086
|
|
|
1035
1087
|
- `BbDropdownButton` — escalate to it when a primary action grows close
|
|
1036
1088
|
alternates; it shares this component's `variant`/`size`/loading language.
|
|
1037
|
-
- `useConfirm` — gate every `destructive` button behind a confirm:
|
|
1038
|
-
|
|
1039
|
-
|
|
1089
|
+
- `useConfirm` — gate every `destructive` button behind a confirm:
|
|
1090
|
+
`await confirm(...)` in the handler and act only on a yes (the plugin's
|
|
1091
|
+
`<BbHost />` renders it, nothing to mount). The dialog's own buttons are `BbButton` configs (see the
|
|
1040
1092
|
composable doc), so the confirm speaks the same `variant`/icon language:
|
|
1041
1093
|
|
|
1042
1094
|
**Destructive action gated behind useConfirm**
|
|
@@ -1074,18 +1126,11 @@ utility wins. What works in every build:
|
|
|
1074
1126
|
<p v-if="keys.length === 0" class="text-xs text-(--bb-text-muted)">
|
|
1075
1127
|
No active keys.
|
|
1076
1128
|
</p>
|
|
1077
|
-
|
|
1078
|
-
<!--
|
|
1079
|
-
Standalone example: it mounts its own host because it has no app root.
|
|
1080
|
-
A real app mounts exactly one <BbHost /> at the app root, and pages
|
|
1081
|
-
mount none. See ai/guides/agent-contract.md § Global Host Rule.
|
|
1082
|
-
-->
|
|
1083
|
-
<BbHost />
|
|
1084
1129
|
</div>
|
|
1085
1130
|
</template>
|
|
1086
1131
|
<script setup lang="ts">
|
|
1087
1132
|
import { ref } from 'vue';
|
|
1088
|
-
import { BbButton,
|
|
1133
|
+
import { BbButton, useConfirm } from 'bitboss-ui';
|
|
1089
1134
|
|
|
1090
1135
|
type ApiKey = { id: string; label: string; masked: string; created: string };
|
|
1091
1136
|
|
|
@@ -1189,6 +1234,12 @@ Anti-patterns:
|
|
|
1189
1234
|
|
|
1190
1235
|
### Accessibility
|
|
1191
1236
|
|
|
1237
|
+
- On a touch screen (`pointer: coarse`) an invisible hit area takes a button
|
|
1238
|
+
to 44×44 without moving anything you see. It stops short of a neighbour: the
|
|
1239
|
+
full 44px with no element beside the button, 4px a side when one sits next
|
|
1240
|
+
to it (keep 8px between touch controls and the areas meet in the gap), none
|
|
1241
|
+
across a `group`'s shared edge, a table cell's padding in a table, and none
|
|
1242
|
+
on `variant="link"`. A mouse gets the visual box only.
|
|
1192
1243
|
- Icon-only buttons still need an accessible name, but it works like any other
|
|
1193
1244
|
button: put it in the default slot (or `text`) and it renders visually hidden (`bb-sr-only`) when
|
|
1194
1245
|
`icon` is set — not removed. Use `aria-label` only to override that name, not
|
|
@@ -1220,7 +1271,7 @@ Anti-patterns:
|
|
|
1220
1271
|
| `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: `icon`, `root`, `spinner`, `text`. States: `activeLink`, `destructive`, `disabled`, `exactActiveLink`, `ghost`, `link`, `loading`, `outline`, `pressed`, `primary`, `secondary`. 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 `BbButtonProps['pt']` (`PtValue` is not exported): § Typing `pt` in `<script>`. |
|
|
1221
1272
|
| `activeClass` | `string \| undefined` | | | Class to apply when the link is active. |
|
|
1222
1273
|
| `append:icon` | `string \| undefined` | | | Icon to be added on the right of the text. |
|
|
1223
|
-
| `ariaCurrentValue` | `"
|
|
1274
|
+
| `ariaCurrentValue` | `"time" \| "true" \| "false" \| "page" \| "step" \| "location" \| "date" \| undefined` | `'page'` | | Value passed to the attribute `aria-current` when the link is exact active. |
|
|
1224
1275
|
| `async` | `boolean \| undefined` | `false` | | Inertia: runs the visit without blocking — the page stays interactive and several async visits can be in flight at once. |
|
|
1225
1276
|
| `block` | `boolean \| undefined` | `false` | | Displays the component as full width. |
|
|
1226
1277
|
| `cacheFor` | `string \| number \| (string \| number)[] \| undefined` | | | Inertia: how long a prefetched response stays fresh before it is re-fetched. A single duration, or `[staleAfter, expiresAfter]`. Typed platform-agnostically (matching BbButton) so the library's types never require `@inertiajs/vue3` to be installed. |
|
|
@@ -1236,7 +1287,7 @@ Anti-patterns:
|
|
|
1236
1287
|
| `falseValue` | `any` | `false` | | Value emitted when the toggle is deactivated. |
|
|
1237
1288
|
| `group` | `boolean \| undefined` | `false` | | Identifies the button as part of a button group: adjacent `group` buttons fuse into one segment (shared borders and radius). Adjacent `group` toggles (each with a `v-model`) are also one Tab stop, with ArrowLeft / ArrowRight / Home / End moving between them. |
|
|
1238
1289
|
| `headers` | `object \| undefined` | | | Additional HTTP headers forwarded to Inertia when navigating via `href` in an Inertia-enabled app. |
|
|
1239
|
-
| `href` | `string \| undefined` | | |
|
|
1290
|
+
| `href` | `string \| { url: string; method: "get" \| "post" \| "put" \| "patch" \| "delete"; } \| undefined` | | | The link target: renders an anchor (an Inertia `<Link>` under Inertia). Also takes Inertia's `{ url, method }`, a Wayfinder route: Inertia visits with its method; elsewhere the link is its `url`. |
|
|
1240
1291
|
| `icon` | `string \| undefined` | | | Used when only an icon with no text should be displayed. |
|
|
1241
1292
|
| `instant` | `boolean \| undefined` | `false` | | Inertia: navigate optimistically on click and reconcile when the response lands, instead of waiting for the round trip. |
|
|
1242
1293
|
| `interactiveWhileLoading` | `boolean \| undefined` | `false` | | Keeps the button clickable while it is loading. Buttons are disabled while loading by default; this escape hatch exists for toggles that must stay interactive (e.g. the dropdown-button caret). |
|
|
@@ -1266,9 +1317,9 @@ Anti-patterns:
|
|
|
1266
1317
|
| `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. |
|
|
1267
1318
|
| `target` | `string \| undefined` | | | Sets or retrieves the window or frame at which to target content. |
|
|
1268
1319
|
| `text` | `string \| undefined` | | | Text content of the component. |
|
|
1269
|
-
| `to` | `string \|
|
|
1320
|
+
| `to` | `string \| et \| X \| undefined` | | | Route Location the link should navigate to when clicked on. |
|
|
1270
1321
|
| `trueValue` | `any` | `true` | | Value emitted when the toggle is activated. |
|
|
1271
|
-
| `type` | `"button" \| "
|
|
1322
|
+
| `type` | `"button" \| "reset" \| "submit" \| undefined` | | | Gets the classification and default behavior of the button. |
|
|
1272
1323
|
| `variant` | `'outline'` \| `'primary'` \| `'destructive'` \| `'secondary'` \| `'none'` \| `'ghost'` \| `'link'` | `"primary"` | | Visual variant of the button: colours and surface only, never spacing or size. `'none'` takes no look (you own hover, focus and disabled); register a real one with the plugin's `buttonVariants` and style `.bb-button--<name>` (no CSS ships for it). |
|
|
1273
1324
|
| `viewTransition` | `boolean \| undefined` | `false` | | Inertia: run the page swap inside a View Transition, where the browser supports one. |
|
|
1274
1325
|
|
|
@@ -1364,7 +1415,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
1364
1415
|
| `--gap` | `var(--gap-md)` | between icon and label |
|
|
1365
1416
|
| `--bg` | `transparent` | the plate |
|
|
1366
1417
|
| `--bg-hover` | `var(--bg)` | also the focus-visible fill; no change by default |
|
|
1367
|
-
| `--bg-pressed` | `var(--bg)` | fill while
|
|
1418
|
+
| `--bg-pressed` | `var(--bg)` | fill while pressed, or open (aria-expanded) |
|
|
1368
1419
|
| `--fg` | `initial` | label and icons (icons paint currentColor) |
|
|
1369
1420
|
| `--border-color` | `transparent` | the frame; its width is --bw |
|
|
1370
1421
|
| `--ring-color` | `transparent` | focus ring colour, per variant |
|
|
@@ -1372,12 +1423,13 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
1372
1423
|
| `--bw` | `var(--bb-border-w)` | border width |
|
|
1373
1424
|
| `--fg-hover` | `var(--fg)` | label and icons on hover (and focus-visible) |
|
|
1374
1425
|
| `--border-hover` | `var(--border-color)` | the frame on hover (and focus-visible) |
|
|
1375
|
-
| `--fg-pressed` | `var(--fg)` | label and icons while
|
|
1376
|
-
| `--border-pressed` | `var(--border-color)` | the frame while
|
|
1426
|
+
| `--fg-pressed` | `var(--fg)` | label and icons while pressed or open |
|
|
1427
|
+
| `--border-pressed` | `var(--border-color)` | the frame while pressed or open |
|
|
1377
1428
|
| `--bg-disabled` | `var(--bb-muted)` | the plate while disabled (not loading) |
|
|
1378
1429
|
| `--fg-disabled` | `color-mix(in oklab, var(--bb-text) 45%, var(--bb-panel))` | label and icons while disabled |
|
|
1379
1430
|
| `--border-disabled` | `var(--bb-muted)` | the frame while disabled |
|
|
1380
1431
|
| `--opacity-disabled` | `1` | whole-button opacity while disabled — `.5` with the three above set to the resting tokens gives "fade instead of grey" |
|
|
1432
|
+
| `--ring-t` | `var(--bb-transition-medium)` | |
|
|
1381
1433
|
| `--elev-tier` | `var(--bb-elev)` | the shadow a plate variant may take |
|
|
1382
1434
|
| `--elev` | `0 0 0 0 transparent` | the shadow painted; flat variants keep this |
|
|
1383
1435
|
|