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/BbDropzone.md
CHANGED
|
@@ -1179,8 +1179,7 @@ onBeforeUnmount(() => controller?.abort());
|
|
|
1179
1179
|
</style>
|
|
1180
1180
|
```
|
|
1181
1181
|
|
|
1182
|
-
`useToast`
|
|
1183
|
-
toasts are enqueued but never shown. This demo fakes the transfer with a timer;
|
|
1182
|
+
`useToast` renders in the plugin's `<BbHost />`; nothing to mount. This demo fakes the transfer with a timer;
|
|
1184
1183
|
the wiring is identical against real `XHR`/`fetch` progress events. **Abort and
|
|
1185
1184
|
retry live in your request layer, not in `BbDropzone`** — the component has no
|
|
1186
1185
|
cancel/retry API. Use an `AbortController` for cancellation and re-issue the
|
|
@@ -1672,7 +1671,7 @@ button, grows with every file added, and changes mid-drag. So:
|
|
|
1672
1671
|
| `maxFiles` | `number \| undefined` | | | Maximum number of acceptable files. |
|
|
1673
1672
|
| `maxSize` | `number \| undefined` | | | Max size of the files in bytes. |
|
|
1674
1673
|
| `modelValue` | `File \| File[] \| null \| undefined` | | | Used by v-model. |
|
|
1675
|
-
| `multiple` | `boolean
|
|
1674
|
+
| `multiple` | `boolean` | `false` | | Allows the selection of multiple items. |
|
|
1676
1675
|
| `name` | `string \| undefined` | | | Defines the name of the input. |
|
|
1677
1676
|
| `readonly` | `boolean \| undefined` | `false` | | Shows the files; the user cannot change them: drop, the file picker and the `open()` slot prop do nothing, yet the input stays focusable and a `name`d zone still submits its files (unlike `disabled`). Your slot renders the list: hide your remove buttons with the slot's `readonly`. |
|
|
1678
1677
|
| `rules` | `RuleExpression<File \| File[] \| null>` | | | vee-validate rules for this field. Only inside a `BbForm`. |
|
package/dist/ai/BbForm.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Safety level: **Consumer API**
|
|
6
6
|
- Group: **Inputs**
|
|
7
|
-
- Description: Form host for the form controls inside it: owns the vee-validate form (useForm), validates every field on submit, and emits `submit` with the collected values only when the form is valid. `schema` takes any Standard Schema (Zod, Valibot, ArkType, Yup) as it is; a failed submit focuses the first invalid field on screen and emits `invalid`. Server errors (a 422): `setErrors(errors)` from the slot or `
|
|
7
|
+
- Description: Form host for the form controls inside it: owns the vee-validate form (useForm), validates every field on submit, and emits `submit` with the collected values only when the form is valid. `schema` takes any Standard Schema (Zod, Valibot, ArkType, Yup) as it is; a failed submit focuses the first invalid field on screen and emits `invalid`. Server errors (a 422): `setErrors(errors)` from the slot or `useBbForm(id)` puts each on its field.
|
|
8
8
|
- Usage rule: Prefer this component for consumer-facing implementations.
|
|
9
9
|
- Implementation source (only when the contract below is not enough): [source/BbForm.md](./source/BbForm.md)
|
|
10
10
|
|
|
@@ -83,7 +83,7 @@ submitted, counts toward `dirty`, is reset and is validated if it has rules.
|
|
|
83
83
|
Describe the whole form once, in the schema library you already use, and hand
|
|
84
84
|
it to the `schema` prop. There is no adapter to import and no extra package
|
|
85
85
|
to install: any [Standard Schema](https://standardschema.dev) works, which
|
|
86
|
-
covers Zod
|
|
86
|
+
covers Zod 4, Valibot 1, ArkType 2 and Yup 1.7+.
|
|
87
87
|
|
|
88
88
|
**Sign-up form with a Zod schema**
|
|
89
89
|
|
|
@@ -134,7 +134,7 @@ import {
|
|
|
134
134
|
BbCheckbox,
|
|
135
135
|
BbForm,
|
|
136
136
|
BbTextInput,
|
|
137
|
-
|
|
137
|
+
useBbForm,
|
|
138
138
|
} from 'bitboss-ui';
|
|
139
139
|
|
|
140
140
|
const fields = z.object({
|
|
@@ -158,7 +158,7 @@ const signup = fields.refine((form) => form.password === form.confirm, {
|
|
|
158
158
|
.success,
|
|
159
159
|
});
|
|
160
160
|
|
|
161
|
-
const form =
|
|
161
|
+
const form = useBbForm('signup');
|
|
162
162
|
const created = ref<z.output<typeof signup> | null>(null);
|
|
163
163
|
|
|
164
164
|
// Typed from the schema: `values` is its OUTPUT, transforms applied.
|
|
@@ -179,7 +179,10 @@ What you get from the one prop:
|
|
|
179
179
|
|
|
180
180
|
- **Each message lands on its field.** A field's `name` is its path in the
|
|
181
181
|
schema: `name="email"`, `name="address.city"` or `name="address[city]"`,
|
|
182
|
-
`name="lines[0][qty]"` (brackets read as dots
|
|
182
|
+
`name="lines[0][qty]"` (brackets read as dots; a dot always nests, so a data
|
|
183
|
+
key that contains one, a permission name like `users.create`, cannot be a
|
|
184
|
+
field name: hold such keys as values, one `BbCheckboxGroup` per group whose
|
|
185
|
+
item `value` is the name, `name="permissions.0"`). A field with no `name` is
|
|
183
186
|
named after its label, `Full name` → `fullname`, so schema-driven forms set
|
|
184
187
|
`name` on every field. A cross-field rule
|
|
185
188
|
reaches the right field through its `path` (`path: ['confirm']` above);
|
|
@@ -399,14 +402,14 @@ value. Give it a `name` (its path) and read the value where you need it:
|
|
|
399
402
|
|
|
400
403
|
- **`@submit`** gets every value (the schema's output, with a `schema`).
|
|
401
404
|
- **The default slot's `values`**, for chrome inside the form.
|
|
402
|
-
- **`
|
|
405
|
+
- **`useBbForm(id).values`**, from anywhere else on the page.
|
|
403
406
|
|
|
404
407
|
```vue
|
|
405
408
|
<script setup lang="ts">
|
|
406
409
|
import { computed } from 'vue';
|
|
407
|
-
import { BbButton, BbForm, BbTextInput,
|
|
410
|
+
import { BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
|
|
408
411
|
|
|
409
|
-
const form =
|
|
412
|
+
const form = useBbForm('invite');
|
|
410
413
|
const who = computed(() => form.values.value.email ?? 'nobody yet');
|
|
411
414
|
|
|
412
415
|
const send = async (values: Record<string, unknown>) => {
|
|
@@ -430,7 +433,7 @@ it on some fields and not others: each bound ref is a two-way window into that
|
|
|
430
433
|
one value, and `resetForm()` puts it back too.
|
|
431
434
|
|
|
432
435
|
Only `@submit` (with a `schema`) and a bound `v-model` ref are typed. The
|
|
433
|
-
slot's `values` is untyped and `
|
|
436
|
+
slot's `values` is untyped and `useBbForm(id).values` holds `unknown`
|
|
434
437
|
entries, so narrow what you read there
|
|
435
438
|
(`form.values.value.role as Invite['role'] | undefined`).
|
|
436
439
|
|
|
@@ -487,10 +490,13 @@ async function save(submitted: Record<string, unknown>) {
|
|
|
487
490
|
leaves for good takes its key with it; with it, the key stays.
|
|
488
491
|
- **No event.** The form emits nothing when it writes: the object IS the
|
|
489
492
|
state. Watch it with `{ deep: true }` (its contents change, not its
|
|
490
|
-
reference), or read `
|
|
493
|
+
reference), or read `useBbForm(id).values`. A deep watch also runs
|
|
491
494
|
when your own code sets a key, which the form cannot tell apart.
|
|
492
495
|
- **Replace it to rebind.** Give the prop another object (`values.value =
|
|
493
496
|
loaded` on a `ref`, a new object from the parent) and the fields follow it.
|
|
497
|
+
The values the form STARTED with stay its baseline: a record that arrives
|
|
498
|
+
after mount reads as unsaved until you call
|
|
499
|
+
[`snapshot(loaded)`](#loading-an-edit-form).
|
|
494
500
|
- **A prop works too.** `<BbForm :model="props.user">` fills the parent's
|
|
495
501
|
object in place, with no readonly warning; a writable `computed` does not
|
|
496
502
|
(the form writes into what the getter returns and never calls the setter).
|
|
@@ -1051,10 +1057,10 @@ re-renders, so the watcher's timing does not matter:
|
|
|
1051
1057
|
```vue
|
|
1052
1058
|
<script setup lang="ts">
|
|
1053
1059
|
import { ref, watch } from 'vue';
|
|
1054
|
-
import { BbCheckbox, BbForm, BbTextInput,
|
|
1060
|
+
import { BbCheckbox, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
|
|
1055
1061
|
|
|
1056
1062
|
const signup = ref({ business: false });
|
|
1057
|
-
const form =
|
|
1063
|
+
const form = useBbForm('signup');
|
|
1058
1064
|
|
|
1059
1065
|
watch(
|
|
1060
1066
|
() => signup.value.business,
|
|
@@ -1139,7 +1145,7 @@ While it runs:
|
|
|
1139
1145
|
A submit button outside the form that points at it (a dialog footer's
|
|
1140
1146
|
`form="…"`) follows the same rule, with no `:loading` to bind
|
|
1141
1147
|
(`disable-auto-loading` opts out). A submit from code
|
|
1142
|
-
(`
|
|
1148
|
+
(`useBbForm(id).submit()`) spins no submit button: the button whose
|
|
1143
1149
|
click calls it spins on its own, since its click returns the promise.
|
|
1144
1150
|
- **A `BbDialog` / `BbOffCanvas` around the form refuses every user close**
|
|
1145
1151
|
(the ✕, Cancel's `close()`, `Escape`, the backdrop, a swipe) until the save
|
|
@@ -1155,7 +1161,7 @@ While it runs:
|
|
|
1155
1161
|
button (the HTML rule: there is no other way to choose it). So the primary
|
|
1156
1162
|
action is the form's only `type="submit"` button, and a secondary action
|
|
1157
1163
|
("Save & new") is a plain button whose click calls `submit()`.
|
|
1158
|
-
`
|
|
1164
|
+
`useBbForm(id).submit()` resolves `true` once the save went through and
|
|
1159
1165
|
`false` when the form is invalid or the save failed, so the secondary action
|
|
1160
1166
|
continues only after a save:
|
|
1161
1167
|
|
|
@@ -1181,11 +1187,11 @@ continues only after a save:
|
|
|
1181
1187
|
<script setup lang="ts">
|
|
1182
1188
|
import { ref } from 'vue';
|
|
1183
1189
|
import { z } from 'zod';
|
|
1184
|
-
import { BbButton, BbForm, BbTextInput,
|
|
1190
|
+
import { BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
|
|
1185
1191
|
|
|
1186
1192
|
const schema = z.object({ title: z.string().min(1, 'Name the task') });
|
|
1187
1193
|
const saved = ref<string[]>([]);
|
|
1188
|
-
const form =
|
|
1194
|
+
const form = useBbForm('new-task');
|
|
1189
1195
|
|
|
1190
1196
|
// Your API call.
|
|
1191
1197
|
const save = async (values: Record<string, unknown>) => {
|
|
@@ -1218,7 +1224,7 @@ element, so tell them apart by an attribute you put on it:
|
|
|
1218
1224
|
A synchronous handler never locks. A handler that throws or rejects still ends
|
|
1219
1225
|
the save (nothing spins forever), and the error goes to
|
|
1220
1226
|
`app.config.errorHandler`, where Vue sends any other event-handler failure.
|
|
1221
|
-
`isSubmitting` (slot) and `submitting` (`
|
|
1227
|
+
`isSubmitting` (slot) and `submitting` (`useBbForm`) follow the same
|
|
1222
1228
|
save, for anything else you show meanwhile.
|
|
1223
1229
|
|
|
1224
1230
|
To keep the fields editable during the save, set `disable-submit-lock` on the
|
|
@@ -1237,7 +1243,7 @@ those instead (`snapshot(saved)`: merged over the current ones, arrays
|
|
|
1237
1243
|
replace). `reset()` then goes back to this new baseline.
|
|
1238
1244
|
|
|
1239
1245
|
```ts
|
|
1240
|
-
const form =
|
|
1246
|
+
const form = useBbForm('profile');
|
|
1241
1247
|
|
|
1242
1248
|
async function save(values: Record<string, unknown>) {
|
|
1243
1249
|
const saved = await api.updateProfile(values);
|
|
@@ -1245,6 +1251,30 @@ async function save(values: Record<string, unknown>) {
|
|
|
1245
1251
|
}
|
|
1246
1252
|
```
|
|
1247
1253
|
|
|
1254
|
+
### Loading an edit form
|
|
1255
|
+
|
|
1256
|
+
An edit page usually mounts the form before the record arrives. Filling
|
|
1257
|
+
`:model` then updates the fields, but `dirty` still compares against the
|
|
1258
|
+
empty values the form started with: the page warns "unsaved changes" before
|
|
1259
|
+
anyone typed, and `reset()` empties the form. Call `snapshot(loaded)` once the
|
|
1260
|
+
record is in, and the loaded record becomes the clean state:
|
|
1261
|
+
|
|
1262
|
+
```ts
|
|
1263
|
+
const values = reactive<Partial<Course>>({});
|
|
1264
|
+
const form = useBbForm('course');
|
|
1265
|
+
|
|
1266
|
+
onMounted(async () => {
|
|
1267
|
+
const loaded = await api.getCourse(id);
|
|
1268
|
+
Object.assign(values, loaded);
|
|
1269
|
+
form.snapshot(loaded); // loaded = clean; reset() returns here
|
|
1270
|
+
});
|
|
1271
|
+
```
|
|
1272
|
+
|
|
1273
|
+
The form never re-takes its baseline on its own when `:model` changes: a
|
|
1274
|
+
record loading and a field your code sets look the same from inside. Or skip
|
|
1275
|
+
the step by rendering the form only once the record is there
|
|
1276
|
+
(`<BbForm v-if="loaded" :model="loaded">`).
|
|
1277
|
+
|
|
1248
1278
|
### Saving a draft
|
|
1249
1279
|
|
|
1250
1280
|
A draft saves what the user has typed so far, valid or not, so it does not go
|
|
@@ -1255,9 +1285,9 @@ longer reads as unsaved:
|
|
|
1255
1285
|
|
|
1256
1286
|
```vue
|
|
1257
1287
|
<script setup lang="ts">
|
|
1258
|
-
import { BbButton, BbForm, BbTextInput,
|
|
1288
|
+
import { BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
|
|
1259
1289
|
|
|
1260
|
-
const form =
|
|
1290
|
+
const form = useBbForm('article');
|
|
1261
1291
|
|
|
1262
1292
|
async function saveDraft() {
|
|
1263
1293
|
await fetch('/api/articles/draft', {
|
|
@@ -1302,13 +1332,13 @@ first (`JSON.parse(JSON.stringify(form.values.value))`).
|
|
|
1302
1332
|
### `resetForm()` clears the fields, and your model
|
|
1303
1333
|
|
|
1304
1334
|
`resetForm()` is the slot's name; from outside the form the same reset is
|
|
1305
|
-
`
|
|
1335
|
+
`useBbForm(id).reset()` (the handle has no `resetForm`). Resetting publishes the new value back through each field's
|
|
1306
1336
|
`update:modelValue` (and writes it into the object bound with `:model`), so
|
|
1307
1337
|
the control, the form's own state and whatever ref you bound all agree
|
|
1308
1338
|
afterwards.
|
|
1309
1339
|
The same holds for vee-validate's `resetField` and `setFieldValue`.
|
|
1310
1340
|
|
|
1311
|
-
> Fixed in 3.0.0-beta.15
|
|
1341
|
+
> Fixed in 3.0.0-beta.15. Before that the value pipe only ran one way:
|
|
1312
1342
|
> a reset moved the form's internal value but never told your model, so the
|
|
1313
1343
|
> form reported itself pristine while the user's text was still on screen.
|
|
1314
1344
|
|
|
@@ -1338,7 +1368,7 @@ The form state is one answer to "what is wrong, and where":
|
|
|
1338
1368
|
validationLabel, errors, dirty, touched }`. `fields[path].errors` is one
|
|
1339
1369
|
field's full list, the same array as `errors[path]`.
|
|
1340
1370
|
|
|
1341
|
-
All of them are on `
|
|
1371
|
+
All of them are on `useBbForm(id)` and in the default slot, with
|
|
1342
1372
|
`setErrors(map)` and `removeField(path)`.
|
|
1343
1373
|
|
|
1344
1374
|
#### The page's errors object (`field-errors`)
|
|
@@ -1476,15 +1506,9 @@ It returns nothing: read the state afterwards.
|
|
|
1476
1506
|
|
|
1477
1507
|
```vue
|
|
1478
1508
|
<script setup lang="ts">
|
|
1479
|
-
import {
|
|
1480
|
-
BbAlert,
|
|
1481
|
-
BbButton,
|
|
1482
|
-
BbForm,
|
|
1483
|
-
BbTextInput,
|
|
1484
|
-
useBbFormContext,
|
|
1485
|
-
} from 'bitboss-ui';
|
|
1509
|
+
import { BbAlert, BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
|
|
1486
1510
|
|
|
1487
|
-
const form =
|
|
1511
|
+
const form = useBbForm('signup');
|
|
1488
1512
|
|
|
1489
1513
|
const save = async (values: Record<string, unknown>) => {
|
|
1490
1514
|
const response = await fetch('/api/signup', {
|
|
@@ -1561,9 +1585,9 @@ a wizard can count errors per step:
|
|
|
1561
1585
|
```vue
|
|
1562
1586
|
<script setup lang="ts">
|
|
1563
1587
|
import { computed } from 'vue';
|
|
1564
|
-
import { BbBadge,
|
|
1588
|
+
import { BbBadge, useBbForm } from 'bitboss-ui';
|
|
1565
1589
|
|
|
1566
|
-
const form =
|
|
1590
|
+
const form = useBbForm('checkout');
|
|
1567
1591
|
const STEPS = [
|
|
1568
1592
|
{ title: 'Account', paths: ['email', 'password'] },
|
|
1569
1593
|
{ title: 'Shipping', paths: ['address.street', 'address.city'] },
|
|
@@ -1656,7 +1680,7 @@ the page, in their order.
|
|
|
1656
1680
|
|
|
1657
1681
|
**Rows from an array the form is not bound to** (each field with its own
|
|
1658
1682
|
`v-model="line.qty"`) work too, with one extra call in a form with
|
|
1659
|
-
`keep-values-on-unmount`: `
|
|
1683
|
+
`keep-values-on-unmount`: `useBbForm(id).removeField(`lines.${i}`)`
|
|
1660
1684
|
beside the `splice`. Such a form keeps a field's value when it unmounts on
|
|
1661
1685
|
purpose (a wizard step), so it cannot tell a deleted row from one on another
|
|
1662
1686
|
step. Call it in the same tick as your `splice` or later; it removes each row
|
|
@@ -1704,8 +1728,8 @@ worse.
|
|
|
1704
1728
|
|
|
1705
1729
|
When the submit action lives outside the form — a dialog footer, a page toolbar,
|
|
1706
1730
|
a leave guard — give the form an **explicit `id`** and read it with
|
|
1707
|
-
`
|
|
1708
|
-
`
|
|
1731
|
+
`useBbForm(id)`. Same pattern as `useBbTable` /
|
|
1732
|
+
`useBbDropdown`: no template ref, no shared subtree, no props threaded
|
|
1709
1733
|
through the layout.
|
|
1710
1734
|
|
|
1711
1735
|
The `id` is also the `<form>`'s own (it follows a BbForm; a plain `<form>`
|
|
@@ -1722,13 +1746,13 @@ import {
|
|
|
1722
1746
|
BbDialog,
|
|
1723
1747
|
BbForm,
|
|
1724
1748
|
BbTextInput,
|
|
1725
|
-
|
|
1726
|
-
|
|
1749
|
+
useBbDialog,
|
|
1750
|
+
useBbForm,
|
|
1727
1751
|
} from 'bitboss-ui';
|
|
1728
1752
|
|
|
1729
1753
|
// The dialog opens by id (`v-bb-dialog="'invite-dialog'"` on its button).
|
|
1730
|
-
const dialog =
|
|
1731
|
-
const invite =
|
|
1754
|
+
const dialog = useBbDialog('invite-dialog');
|
|
1755
|
+
const invite = useBbForm('invite-teammate');
|
|
1732
1756
|
|
|
1733
1757
|
const sendInvite = async (values: Record<string, unknown>) => {
|
|
1734
1758
|
await api.invites.create(values);
|
|
@@ -1796,8 +1820,8 @@ out.
|
|
|
1796
1820
|
`BbForm` exposes exactly one thing — `$el`, the native `<form>` — and nothing
|
|
1797
1821
|
else, so a template ref gives you no `form.value.submitForm()` / `.isValid` /
|
|
1798
1822
|
`.validate()` / `.reset()`. That is deliberate, not an oversight: state and
|
|
1799
|
-
actions live on `
|
|
1800
|
-
instance-shaped API to keep in step with it. Use the
|
|
1823
|
+
actions live on `useBbForm(id)`, so there is no second,
|
|
1824
|
+
instance-shaped API to keep in step with it. Use the handle for all four.
|
|
1801
1825
|
|
|
1802
1826
|
The native form element is still right there, though — `$el` is public-instance
|
|
1803
1827
|
API and unaffected:
|
|
@@ -1819,7 +1843,7 @@ still fires only when every field passes. (`form.submit()`, the other native
|
|
|
1819
1843
|
method, bypasses event handlers entirely and would skip validation _and_ reload
|
|
1820
1844
|
the page. Never use it here.)
|
|
1821
1845
|
|
|
1822
|
-
Prefer `
|
|
1846
|
+
Prefer `useBbForm(id).submit()` anyway: it says what you mean, needs no
|
|
1823
1847
|
cast, and does not depend on the root element staying a `<form>`.
|
|
1824
1848
|
|
|
1825
1849
|
### Required markers
|
|
@@ -1832,8 +1856,8 @@ renders a red asterisk beside its label ([`BbAsterisk`](./BbAsterisk.md) does th
|
|
|
1832
1856
|
With a `schema`, the schema decides, with every Standard Schema
|
|
1833
1857
|
library above: a field gets the asterisk when its key is required in the
|
|
1834
1858
|
schema (not optional, no default, not nullable, and its parent object required
|
|
1835
|
-
too). Zod 4, ArkType and Joi are read through their JSON Schema;
|
|
1836
|
-
|
|
1859
|
+
too). Zod 4, ArkType and Joi are read through their JSON Schema; Yup, Valibot
|
|
1860
|
+
and Effect through their own schema shape — nothing to wrap, no
|
|
1837
1861
|
`required` to add. The
|
|
1838
1862
|
marker follows a per-step schema as it changes, and a field the schema (or a
|
|
1839
1863
|
`required` rule) requires gets `aria-required="true"`, so assistive tech hears
|
|
@@ -1858,7 +1882,7 @@ marker stays consistent with the rules.
|
|
|
1858
1882
|
| --- | --- | --- | --- | --- |
|
|
1859
1883
|
| `disableSubmitLock` | `boolean \| undefined` | `false` | | Keeps the fields editable while a `@submit` promise is pending (by default every joined field is read-only until it settles; a `@submit` that returns nothing never locks). Submit buttons spin either way. |
|
|
1860
1884
|
| `fieldErrors` | `Record<string, unknown> \| null \| undefined` | | | Server validation errors by field path (Inertia's `form.errors`, a Laravel 422 body), shown on their fields while they are in the object. They never block a submit; a key no field has is in `unmatchedErrors`. A one-off message: `setErrors`. |
|
|
1861
|
-
| `id` | `string \| undefined` | | | Lets anything outside the form read and drive it through `
|
|
1885
|
+
| `id` | `string \| undefined` | | | Lets anything outside the form read and drive it through `useBbForm(id)` (a dialog footer, a toolbar, a leave guard). It is also the `<form>`'s id, so `<button form="id" type="submit">` outside it submits it. |
|
|
1862
1886
|
| `keepValuesOnUnmount` | `boolean \| Ref<boolean, boolean> \| undefined` | | | Keep a field's value (and its place in `@submit`) when it unmounts — the `v-if` wizard step you left, a collapsed section. Off, an unmounted field drops out of the values. |
|
|
1863
1887
|
| `model` | `Record<string, any> \| undefined` | | | The object the fields edit in place (`reactive()`, a `ref`, Pinia state, Inertia `useForm()`): bind it one way, `:model`, never `v-model`. A field without its own `v-model` reads and writes the value at its `name` path. Nothing is written on mount. |
|
|
1864
1888
|
| `schema` | `MaybeRef<S \| undefined>` | | | One Standard Schema for the form (Zod, Valibot, ArkType, Yup, Joi, Effect), passed as is. An issue lands on the field whose `name` is its path; `@submit` gets the typed output. Set it at mount (a `computed` may change it); per-field `rules` are then ignored. |
|
package/dist/ai/BbHost.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Safety level: **Consumer API**
|
|
6
6
|
- Group: **Overlay**
|
|
7
|
-
- Description: Renders confirm() and toast(); one,
|
|
7
|
+
- Description: Renders confirm() and toast(); the plugin renders one, place one per scoped area.
|
|
8
8
|
- Usage rule: Prefer this component for consumer-facing implementations.
|
|
9
9
|
- Implementation source (only when the contract below is not enough): [source/BbHost.md](./source/BbHost.md)
|
|
10
10
|
|
|
@@ -15,38 +15,21 @@
|
|
|
15
15
|
`<BbHost />` renders everything the library opens from code: every
|
|
16
16
|
`confirm()` ([useConfirm](./composables/useConfirm.md)), every `toast()`
|
|
17
17
|
([useToast](./composables/useToast.md)) and every on-demand dialog
|
|
18
|
-
(`
|
|
19
|
-
[BbDialog § On-demand dialogs](./BbDialog.md#on-demand-dialogs-open-a-component)).
|
|
20
|
-
beside the router outlet. A page that calls `confirm()` or `toast()` mounts
|
|
21
|
-
nothing.
|
|
22
|
-
|
|
23
|
-
```vue
|
|
24
|
-
<!-- App.vue -->
|
|
25
|
-
<template>
|
|
26
|
-
<RouterView />
|
|
27
|
-
<BbHost />
|
|
28
|
-
</template>
|
|
29
|
-
|
|
30
|
-
<script setup lang="ts">
|
|
31
|
-
import { RouterView } from 'vue-router';
|
|
32
|
-
import { BbHost } from 'bitboss-ui';
|
|
33
|
-
</script>
|
|
34
|
-
```
|
|
18
|
+
(`useBbDialog(Component).show()`, `v-bb-dialog="{ component }"`; see
|
|
19
|
+
[BbDialog § On-demand dialogs](./BbDialog.md#on-demand-dialogs-open-a-component)).
|
|
35
20
|
|
|
36
|
-
|
|
37
|
-
|
|
21
|
+
**You don't mount it.** The plugin (`app.use(bitbossUiPlugin)`, the Nuxt
|
|
22
|
+
module) renders one beside your app when the app mounts, under Vue, Nuxt and
|
|
23
|
+
Inertia alike. A page that calls `confirm()` or `toast()` mounts nothing.
|
|
38
24
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
```
|
|
25
|
+
Place a `<BbHost />` yourself only when an area of the app needs its own
|
|
26
|
+
look (§ Areas with their own look). A placed host takes over from the
|
|
27
|
+
plugin's while it is mounted, and hands back when it unmounts.
|
|
28
|
+
|
|
29
|
+
The plugin's host sits right after the app's mount element (a
|
|
30
|
+
`<div data-bb-host>` with `display: contents`) and sees the app's
|
|
31
|
+
`app.provide`s, as a host beside the router outlet would; it does not see
|
|
32
|
+
what `App.vue` provides, nor a `<BbPtScope>` around the app's template.
|
|
50
33
|
|
|
51
34
|
It replaces `<BbConfirm />` and `<BbToast />`, which are no longer exported.
|
|
52
35
|
`<BbConfirmPortal>` and `<BbToastPortal>` are unchanged.
|
|
@@ -70,10 +53,15 @@ The same keys go in the build plugin (`bitbossUi({ confirm, toastPosition })`).
|
|
|
70
53
|
|
|
71
54
|
### One host
|
|
72
55
|
|
|
73
|
-
- **A
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
56
|
+
- **A placed `<BbHost />`** takes over from the plugin's while it is
|
|
57
|
+
mounted, without a warning, and hands back when it unmounts.
|
|
58
|
+
- **A second placed `<BbHost />`** mounted at the same time renders nothing,
|
|
59
|
+
and a dev warning says so. It takes over when the first one unmounts, so a
|
|
60
|
+
host in a layout that swaps keeps working.
|
|
61
|
+
- **Two Vue apps on one page** (islands) each get the plugin's host, and
|
|
62
|
+
`confirm()` / `toast()` messages render once, in the first app's host (a
|
|
63
|
+
placed host anywhere wins). On-demand dialogs render in their own app.
|
|
64
|
+
- **No host** (the plugin isn't installed and none is placed): a `confirm()` resolves `false` after one second, with a dev
|
|
77
65
|
warning, and never hangs; an on-demand dialog settles `'unmounted'` the
|
|
78
66
|
same way. Toasts stay queued and show once a host mounts.
|
|
79
67
|
- **The one-second grace** covers a host that unmounts and remounts across a
|
|
@@ -89,12 +77,12 @@ The same keys go in the build plugin (`bitbossUi({ confirm, toastPosition })`).
|
|
|
89
77
|
|
|
90
78
|
A confirm takes the passthrough scope and tokens of the component that called
|
|
91
79
|
`useConfirm()`, wherever the host sits: nothing to set up. Toasts take the
|
|
92
|
-
scope and tokens of the place the HOST sits
|
|
93
|
-
that each wrap their
|
|
94
|
-
([passthrough guide](./guides/passthrough.md) § Named
|
|
95
|
-
each area's look,
|
|
96
|
-
|
|
97
|
-
|
|
80
|
+
scope and tokens of the place the HOST sits, which for the plugin's host is
|
|
81
|
+
the app's own level. When the app is split into areas that each wrap their
|
|
82
|
+
pages in `<BbPtScope>` ([passthrough guide](./guides/passthrough.md) § Named
|
|
83
|
+
scopes) and toasts need each area's look, place one `<BbHost />` inside each
|
|
84
|
+
area's layout, within its scope. While an area's host is mounted it renders;
|
|
85
|
+
a page outside every area falls back to the plugin's host. See
|
|
98
86
|
[Agent Contract § Global Host Rule](./guides/agent-contract.md).
|
|
99
87
|
|
|
100
88
|
### On-demand dialogs
|
package/dist/ai/BbIcon.md
CHANGED
|
@@ -437,6 +437,9 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
437
437
|
before it runs.
|
|
438
438
|
- Inventing icon names or assuming a provider set is installed without checking
|
|
439
439
|
`package.json`.
|
|
440
|
+
- Writing an SVG attribute camelCase (`strokeWidth`): it lands as a dead
|
|
441
|
+
`strokeWidth` attribute. Write SVG attributes dashed, `stroke-width="2"`;
|
|
442
|
+
`vue-tsc` accepts both spellings, the browser only the dashed one.
|
|
440
443
|
|
|
441
444
|
### Accessibility
|
|
442
445
|
|
package/dist/ai/BbNumberInput.md
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
| `--border-focus` | `pt:box` | `CommonFieldInput` | frame while focused, or --active |
|
|
42
42
|
| `--ring-size` | `pt:box` | `CommonFieldInput` | ring width; 0 is a variant declining the ring |
|
|
43
43
|
| `--ring-color` | `pt:box` | `CommonFieldInput` | ring colour; state owns it, not variants |
|
|
44
|
-
| `--elev` | `pt:box` | `CommonFieldInput` | Resting lift,
|
|
44
|
+
| `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, alone in `box-shadow`: the ring is the box's outline, so a theme's `--elev: none` never takes the ring with it. |
|
|
45
45
|
| `--frost` | `pt:box` | `CommonFieldInput` | Plate frost — a full `backdrop-filter` value (see --bb-surface-filter). Routed through a local rather than read from the token directly, so a chrome-less variant can decline it: frosting a ghost field gives it the plate it is contractually not supposed to have. |
|
|
46
46
|
| `--inside-label-clearance` | `pt:box`, `pt:prefix`, `pt:suffix` | `CommonFieldInput` | Height and top padding added above the text for a label rendered inside the box. Zero here; the `--inside-label` rules at the bottom of this file raise it to one label line, or two with a description. |
|
|
47
47
|
| `--w` | `pt:icon` | `BbIcon` | `--w` is set inline by BbIcon from the size prop. The `initial` default seals it: without it an ancestor's `--w` (e.g. a dropdown's width bridge) would inherit in and size the icon. The `--size` indirection stays so higher-specificity rules (e.g. `.bb-badge .bb-icon`) can re-point it. |
|
|
@@ -302,8 +302,9 @@ const temperature = ref<number | null>(21);
|
|
|
302
302
|
- the **`increase()` / `decrease()`** scope functions.
|
|
303
303
|
|
|
304
304
|
Those functions are handed to the `prepend` / `append` / `prefix` / `suffix`
|
|
305
|
-
slots as scope props,
|
|
306
|
-
|
|
305
|
+
slots as scope props, with **`increaseDisabled` / `decreaseDisabled`** (true at
|
|
306
|
+
`max` / `min` and while `disabled` or `readonly`), so you build a plus/minus
|
|
307
|
+
stepper without wiring any state yourself. For a stepper rendered _outside_ the field, drive `v-model` directly
|
|
307
308
|
(`model += step`) rather than reaching for a template ref. Stepping respects
|
|
308
309
|
`min`/`max`/`maxPrecision` and is a no-op while `disabled` or `readonly`.
|
|
309
310
|
|
|
@@ -329,18 +330,20 @@ stays free while the buttons move in fixed increments.
|
|
|
329
330
|
:min="1"
|
|
330
331
|
name="quantity"
|
|
331
332
|
>
|
|
332
|
-
<template #prepend="{ decrease }">
|
|
333
|
+
<template #prepend="{ decrease, decreaseDisabled }">
|
|
333
334
|
<BbButton
|
|
334
335
|
aria-label="Decrease quantity"
|
|
336
|
+
:disabled="decreaseDisabled"
|
|
335
337
|
icon="lucide:minus"
|
|
336
338
|
size="xs"
|
|
337
339
|
variant="ghost"
|
|
338
340
|
@click="decrease"
|
|
339
341
|
/>
|
|
340
342
|
</template>
|
|
341
|
-
<template #append="{ increase }">
|
|
343
|
+
<template #append="{ increase, increaseDisabled }">
|
|
342
344
|
<BbButton
|
|
343
345
|
aria-label="Increase quantity"
|
|
346
|
+
:disabled="increaseDisabled"
|
|
344
347
|
icon="lucide:plus"
|
|
345
348
|
size="xs"
|
|
346
349
|
variant="ghost"
|
|
@@ -444,7 +447,8 @@ icon (`hasWarnings`) shares the error icon's slot — shown when `hasWarnings` i
|
|
|
444
447
|
and there is no error.
|
|
445
448
|
|
|
446
449
|
Every content slot (`prefix`, `suffix`, `prepend`, `append`, `prepend:outer`,
|
|
447
|
-
`append:outer`) receives `{ increase, decrease
|
|
450
|
+
`append:outer`) receives `{ increase, decrease, increaseDisabled, decreaseDisabled }`
|
|
451
|
+
scope, so stepper buttons can
|
|
448
452
|
live anywhere in the ring. Put interactive controls in the _outer_ slots or use
|
|
449
453
|
the scoped callbacks; plain `prefix`/`suffix` text is decoration only.
|
|
450
454
|
|
|
@@ -872,7 +876,7 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
|
|
|
872
876
|
| `formless` | `boolean \| undefined` | `false` | | Keep this control out of the enclosing `BbForm` entirely: not submitted, not dirty, not reset, not validated. For a control that is not form data (a filter, a "show advanced" switch). |
|
|
873
877
|
| `hasErrors` | `boolean \| undefined` | `false` | | Define if the component should be in an error state. It usually attaches a CSS class for styling purposes. |
|
|
874
878
|
| `hasWarnings` | `boolean \| undefined` | `false` | | Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority. |
|
|
875
|
-
| `hideLabel` | `boolean \| undefined` | `false` | | Visually hides the label of the input while maintaining accessibility. |
|
|
879
|
+
| `hideLabel` | `boolean \| undefined` | `false` | | Visually hides the label of the input while maintaining accessibility. Pair it with a `placeholder`: an empty field otherwise shows nothing saying what it is for. |
|
|
876
880
|
| `hint` | `string \| undefined` | | | Text box to be displayed near the input, usually to indicate instructions. |
|
|
877
881
|
| `id` | `string \| undefined` | | | The `id` of the native control; the label's `for` and the description and message ids derive from it. Generated when omitted. |
|
|
878
882
|
| `inputAlign` | `'top'` \| `'center'` \| `'bottom'` | | | Vertical position of the control in a side-by-side row; not `inputPosition`, the horizontal one. Omitted, the control's first line meets the label's. |
|
|
@@ -955,14 +959,14 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
955
959
|
|
|
956
960
|
## Slots
|
|
957
961
|
|
|
958
|
-
- `append` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered after the number input, at the end of the inner container. Typically used to place increment/decrement buttons next to the input.
|
|
959
|
-
- `append:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered after the entire input control, outside the input chrome.
|
|
962
|
+
- `append` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered after the number input, at the end of the inner container. Typically used to place increment/decrement buttons next to the input.
|
|
963
|
+
- `append:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered after the entire input control, outside the input chrome.
|
|
960
964
|
- `description` — scope: `BbNumberInputDescriptionSlotProps` `{ text: string; hasErrors: boolean; hasWarnings: boolean }` — Replaces the description text. Provided alone (no `description` prop) it still renders the description region and wires it into `aria-describedby`.
|
|
961
965
|
- `label` — scope: `BbNumberInputLabelSlotProps` `{ showAsterisk?: boolean; text: string; hasErrors: boolean; hasWarnings: boolean }` — Replaces the default label text rendered above the number input.
|
|
962
|
-
- `prefix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Inline content rendered at the start of the input field area, before the typed number.
|
|
963
|
-
- `prepend` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered before the number input, at the start of the inner container.
|
|
964
|
-
- `prepend:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered before the entire input control, outside the input chrome.
|
|
965
|
-
- `suffix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Inline content rendered at the end of the input field area, after the typed number.
|
|
966
|
+
- `prefix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Inline content rendered at the start of the input field area, before the typed number.
|
|
967
|
+
- `prepend` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered before the number input, at the start of the inner container.
|
|
968
|
+
- `prepend:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered before the entire input control, outside the input chrome.
|
|
969
|
+
- `suffix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Inline content rendered at the end of the input field area, after the typed number.
|
|
966
970
|
|
|
967
971
|
## CSS custom properties
|
|
968
972
|
|