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
|
@@ -158,6 +158,7 @@
|
|
|
158
158
|
<template #loading><slot name="loading" :query="query" /></template>
|
|
159
159
|
<template #empty
|
|
160
160
|
><slot
|
|
161
|
+
:close="close"
|
|
161
162
|
:error="itemsError"
|
|
162
163
|
:focus="focusPopoverContent"
|
|
163
164
|
name="empty"
|
|
@@ -184,7 +185,13 @@
|
|
|
184
185
|
() => offCanvasProps?.pt
|
|
185
186
|
)
|
|
186
187
|
"
|
|
187
|
-
v-bind="
|
|
188
|
+
v-bind="
|
|
189
|
+
mergeProps(
|
|
190
|
+
offcanvasBindings,
|
|
191
|
+
sheetEvents,
|
|
192
|
+
asSheetAttrs(withoutClass($attrs))
|
|
193
|
+
)
|
|
194
|
+
"
|
|
188
195
|
>
|
|
189
196
|
<template v-if="$slots.header" #header="{ titleId: sheetTitleId }">
|
|
190
197
|
<!-- The sheet's own `titleId`: its dialog is labelled by it. -->
|
|
@@ -244,6 +251,7 @@
|
|
|
244
251
|
content. Positioning is unaffected — the wrapper is `position: fixed`. -->
|
|
245
252
|
<CommonPopover
|
|
246
253
|
v-else
|
|
254
|
+
ref="popoverSurface"
|
|
247
255
|
v-model="shown"
|
|
248
256
|
:anchor="positionAnchorEl"
|
|
249
257
|
:aria-hidden="panelSettledClosed || undefined"
|
|
@@ -256,6 +264,7 @@
|
|
|
256
264
|
'bb-select-popover--loading': computedLoading,
|
|
257
265
|
'bb-select-popover--reloading': isReloading,
|
|
258
266
|
'bb-select-popover--clearable-active': hasClearableValue,
|
|
267
|
+
'bb-select-popover--compact': compact,
|
|
259
268
|
}"
|
|
260
269
|
:disable-flip="disableFlip"
|
|
261
270
|
hide-arrow
|
|
@@ -293,6 +302,8 @@
|
|
|
293
302
|
lang="ts"
|
|
294
303
|
generic="Item = any, Known extends BbSelectKnownItems | undefined = undefined"
|
|
295
304
|
>
|
|
305
|
+
import { asSheetAttrs } from '../BbOffCanvas/sheetAttrs';
|
|
306
|
+
import type { FallthroughAttrs } from '@/types/fallthrough';
|
|
296
307
|
import type { Option as BaseOption, GroupedOptions } from '@/types/Option';
|
|
297
308
|
import {
|
|
298
309
|
computed,
|
|
@@ -400,38 +411,50 @@ import { removedPropsFor } from '@/deprecation/removedProps';
|
|
|
400
411
|
import { warnRemovedAttrs } from '@/utilities/functions/warnRemovedAttrs';
|
|
401
412
|
import { hasVnodeListener } from '@/utilities/functions/hasVnodeListener';
|
|
402
413
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
414
|
+
// The element(s) the fall-through attributes reach, as typed below.
|
|
415
|
+
// @attrTargets span dialog
|
|
416
|
+
const props = withDefaults(
|
|
417
|
+
defineProps<
|
|
418
|
+
BbSelectPopoverProps<Item, Known> &
|
|
419
|
+
/* @vue-ignore */ FallthroughAttrs<
|
|
420
|
+
'span' | 'dialog',
|
|
421
|
+
BbSelectPopoverProps<Item, Known>,
|
|
422
|
+
BbSelectPopoverEvents
|
|
423
|
+
>
|
|
424
|
+
>(),
|
|
425
|
+
{
|
|
426
|
+
// `undefined` (declared, not omitted) keeps `adaptive` three-state: it disables
|
|
427
|
+
// Vue's absent→`false` Boolean cast so `props.adaptive ?? config.adaptive` can
|
|
428
|
+
// reach the config default, while keeping the Boolean type so the valueless
|
|
429
|
+
// `adaptive` shorthand still resolves to `true`.
|
|
430
|
+
adaptive: undefined,
|
|
431
|
+
anchor: null,
|
|
432
|
+
// Same three-state trap as `adaptive`: without this, Vue's absent→`false`
|
|
433
|
+
// Boolean cast made `props.ariaInvalid ?? !!props.hasErrors` short-circuit on
|
|
434
|
+
// `false`, so the documented hasErrors fallback never fired and an errored
|
|
435
|
+
// searchbox never announced `aria-invalid`.
|
|
436
|
+
ariaInvalid: undefined,
|
|
437
|
+
autocomplete: 'off',
|
|
438
|
+
depsDebounceTime: 0,
|
|
439
|
+
dependencies: () => [],
|
|
440
|
+
// Three-state like `adaptive`: `undefined` keeps an absent `disable-writing`
|
|
441
|
+
// distinguishable from an explicit `false`, so it can mean `'auto'`
|
|
442
|
+
// (`resolvedDisableWriting`), while the valueless shorthand still casts to
|
|
443
|
+
// `true`.
|
|
444
|
+
disableWriting: undefined,
|
|
445
|
+
filterBy: () => [],
|
|
446
|
+
max: Infinity,
|
|
447
|
+
modelValueDebounceTime: 0,
|
|
448
|
+
offset: 4,
|
|
449
|
+
padding: 10,
|
|
450
|
+
placement: 'bottom',
|
|
451
|
+
prefill: 'interaction',
|
|
452
|
+
queryDebounceTime: 500,
|
|
453
|
+
selectable: true,
|
|
454
|
+
transitionDuration: transitions.medium,
|
|
455
|
+
width: '200',
|
|
456
|
+
}
|
|
457
|
+
);
|
|
435
458
|
|
|
436
459
|
const emit = defineEmits<BbSelectPopoverEvents>();
|
|
437
460
|
|
|
@@ -486,6 +509,7 @@ const activatorEl = ref<DomHost>();
|
|
|
486
509
|
const optionsContainer = ref<any | null>(null);
|
|
487
510
|
const searchInput = ref<HTMLInputElement | null>(null);
|
|
488
511
|
const popoverFocusProxy = ref<HTMLButtonElement | null>(null);
|
|
512
|
+
const popoverSurface = ref<{ $el: Element } | null>(null);
|
|
489
513
|
const activeDescendantId = ref<string>();
|
|
490
514
|
|
|
491
515
|
const positionAnchorEl = computed<DomHost | undefined>(() => {
|
|
@@ -1351,14 +1375,14 @@ const outsideRowFor = (valueHash: string): Item | undefined =>
|
|
|
1351
1375
|
* its index, so membership costs no pass over the rows.
|
|
1352
1376
|
*/
|
|
1353
1377
|
const optionInputs = {
|
|
1354
|
-
disabled: toRef(props
|
|
1378
|
+
disabled: toRef(() => props.disabled),
|
|
1355
1379
|
itemText: props.itemText,
|
|
1356
|
-
itemProps: toRef(props
|
|
1380
|
+
itemProps: toRef(() => props.itemProps),
|
|
1357
1381
|
itemValue: props.itemValue,
|
|
1358
1382
|
optionDefaults: true,
|
|
1359
1383
|
// A ref, not the setup-time number: a runtime `:max` change must re-gate rows.
|
|
1360
|
-
max: toRef(props
|
|
1361
|
-
selectable: toRef(props
|
|
1384
|
+
max: toRef(() => props.max),
|
|
1385
|
+
selectable: toRef(() => props.selectable),
|
|
1362
1386
|
selectedIndexedByHash: modelValueIndexedByHash,
|
|
1363
1387
|
};
|
|
1364
1388
|
const fetchedProjection = useBaseOptions({
|
|
@@ -1622,11 +1646,12 @@ const pruneSticky = () => {
|
|
|
1622
1646
|
};
|
|
1623
1647
|
/**
|
|
1624
1648
|
* Whether an unpick keeps its row where it is: only on the open-ordered list
|
|
1625
|
-
* (
|
|
1626
|
-
* selected tail as on v3, and clearing the search orders
|
|
1627
|
-
* which lists no unselected row (R7, newcode-r7-1)
|
|
1649
|
+
* (a masked one opens on an empty query too, so it qualifies). Under a search
|
|
1650
|
+
* the row leaves the selected tail as on v3, and clearing the search orders
|
|
1651
|
+
* like a fresh open, which lists no unselected row (R7, newcode-r7-1) — also
|
|
1652
|
+
* when the query was typed over the mask (Q75.6 a).
|
|
1628
1653
|
*/
|
|
1629
|
-
const unpickKeepsPlace = () =>
|
|
1654
|
+
const unpickKeepsPlace = () => !query.value;
|
|
1630
1655
|
/** B3: removals from outside the list that the user made (a field chip, the clear button). */
|
|
1631
1656
|
const markUserUnpicked = (values: unknown[]) => {
|
|
1632
1657
|
if (!shown.value || !unpickKeepsPlace()) return;
|
|
@@ -1787,7 +1812,7 @@ watch(
|
|
|
1787
1812
|
* it. Searches and failures never reach the prune.
|
|
1788
1813
|
*/
|
|
1789
1814
|
const { coherent } = useCoherence({
|
|
1790
|
-
modelValue: toRef(props
|
|
1815
|
+
modelValue: toRef(() => props.modelValue),
|
|
1791
1816
|
multiple: props.multiple,
|
|
1792
1817
|
iteratee: (value) => !!optionsIndexedByHash.value[hash(value)],
|
|
1793
1818
|
});
|
|
@@ -1803,7 +1828,7 @@ const fetchedValueHashes = computed(
|
|
|
1803
1828
|
|
|
1804
1829
|
const { coherent: fetchedCoherent, coherentValue: fetchedCoherentValue } =
|
|
1805
1830
|
useCoherence({
|
|
1806
|
-
modelValue: toRef(props
|
|
1831
|
+
modelValue: toRef(() => props.modelValue),
|
|
1807
1832
|
multiple: props.multiple,
|
|
1808
1833
|
iteratee: (value) => {
|
|
1809
1834
|
const valueHash = hash(value);
|
|
@@ -2804,6 +2829,13 @@ const close = async () => {
|
|
|
2804
2829
|
// transition finishes; the flyout's document listeners were never attached.
|
|
2805
2830
|
if (useOffcanvas.value) return;
|
|
2806
2831
|
|
|
2832
|
+
// The closed panel turns `aria-hidden` (Q75.5 d): a close that did not come
|
|
2833
|
+
// from the activator (the slot's `toggle` from app code, the activator
|
|
2834
|
+
// scrolling away) must not leave focus inside it (Q75.6 c).
|
|
2835
|
+
if (popoverSurface.value?.$el.contains(document.activeElement)) {
|
|
2836
|
+
activatorEl.value?.focus({ preventScroll: true });
|
|
2837
|
+
}
|
|
2838
|
+
|
|
2807
2839
|
pause();
|
|
2808
2840
|
removeEscapeEntry(escapeKey);
|
|
2809
2841
|
document.removeEventListener('click', onOutsideInteraction, {
|
|
@@ -2915,9 +2947,22 @@ const onSearchClear = () => {
|
|
|
2915
2947
|
* popover and the adaptive sheet, so a consumer's slot markup works unchanged
|
|
2916
2948
|
* across surfaces.
|
|
2917
2949
|
*/
|
|
2950
|
+
/**
|
|
2951
|
+
* Q83.2: the list shows its empty state (no row, the load settled): no
|
|
2952
|
+
* items, none matching the query, or a failed load with nothing listed.
|
|
2953
|
+
*/
|
|
2954
|
+
const listEmpty = computed(
|
|
2955
|
+
() =>
|
|
2956
|
+
!computedLoading.value &&
|
|
2957
|
+
(props.groupBy
|
|
2958
|
+
? groupedOptions.value.every((group) => !group.options.length)
|
|
2959
|
+
: !filteredOptions.value.length)
|
|
2960
|
+
);
|
|
2961
|
+
|
|
2918
2962
|
const panelSlotProps = computed(() => ({
|
|
2919
2963
|
close,
|
|
2920
2964
|
clear: onClear,
|
|
2965
|
+
empty: listEmpty.value,
|
|
2921
2966
|
focus: focusPopoverContent,
|
|
2922
2967
|
query: query.value,
|
|
2923
2968
|
selectedOptions: publicSelectedOptions.value,
|
|
@@ -3193,11 +3238,12 @@ onDeactivated(() => {
|
|
|
3193
3238
|
|
|
3194
3239
|
```ts
|
|
3195
3240
|
import type { BbSelectItemProps } from '@/types/ItemProps';
|
|
3196
|
-
import type { HTMLAttributes
|
|
3241
|
+
import type { HTMLAttributes } from 'vue';
|
|
3197
3242
|
import type {
|
|
3243
|
+
PtCompoundProps,
|
|
3198
3244
|
PtNoInfer,
|
|
3199
3245
|
PtItemCtx,
|
|
3200
|
-
|
|
3246
|
+
PtScopedItemMap,
|
|
3201
3247
|
PtItemResult,
|
|
3202
3248
|
PtValue,
|
|
3203
3249
|
} from '@/types/passthrough';
|
|
@@ -3338,6 +3384,14 @@ export type BbSelectPopoverOptionPtPart =
|
|
|
3338
3384
|
* @state open - Component-wide: the options surface is showing.
|
|
3339
3385
|
*/
|
|
3340
3386
|
export type BbSelectPopoverPtState = 'open' | 'selected' | 'disabled';
|
|
3387
|
+
/**
|
|
3388
|
+
* Every `part` / `part:state` key of `BbSelectPopover` — only the pairs that
|
|
3389
|
+
* land: `open` everywhere, an option's `selected` / `disabled` on its parts.
|
|
3390
|
+
*/
|
|
3391
|
+
export type BbSelectPopoverPtKey =
|
|
3392
|
+
| BbSelectPopoverPtPart
|
|
3393
|
+
| `${BbSelectPopoverPtPart}:open`
|
|
3394
|
+
| `${BbSelectPopoverOptionPtPart}:${'selected' | 'disabled'}`;
|
|
3341
3395
|
/** The runtime lists the resolver is wired with — kept next to the types so the two cannot drift. */
|
|
3342
3396
|
export const BB_SELECT_POPOVER_PT = {
|
|
3343
3397
|
parts: [
|
|
@@ -3355,9 +3409,22 @@ export const BB_SELECT_POPOVER_PT = {
|
|
|
3355
3409
|
'footer',
|
|
3356
3410
|
],
|
|
3357
3411
|
states: ['selected', 'disabled', 'open'],
|
|
3412
|
+
/** On every part: what the resolver's `active` map turns on. */
|
|
3413
|
+
wide: ['open'],
|
|
3414
|
+
/** Per node: what one option knows. */
|
|
3415
|
+
node: {
|
|
3416
|
+
option: ['selected', 'disabled'],
|
|
3417
|
+
itemText: ['selected', 'disabled'],
|
|
3418
|
+
itemIcon: ['selected', 'disabled'],
|
|
3419
|
+
itemDescription: ['selected', 'disabled'],
|
|
3420
|
+
},
|
|
3358
3421
|
} as const satisfies {
|
|
3359
3422
|
parts: readonly BbSelectPopoverPtPart[];
|
|
3360
3423
|
states: readonly BbSelectPopoverPtState[];
|
|
3424
|
+
wide: readonly BbSelectPopoverPtState[];
|
|
3425
|
+
node: Partial<
|
|
3426
|
+
Record<BbSelectPopoverPtPart, readonly BbSelectPopoverPtState[]>
|
|
3427
|
+
>;
|
|
3361
3428
|
};
|
|
3362
3429
|
|
|
3363
3430
|
// Spelled INLINE with this component's own unions (Vue's SFC type resolver
|
|
@@ -3372,329 +3439,332 @@ export type BbSelectPopoverProps<
|
|
|
3372
3439
|
> = {
|
|
3373
3440
|
[K in
|
|
3374
3441
|
| `pt:${BbSelectPopoverSurfacePtPart}`
|
|
3375
|
-
| `pt:${BbSelectPopoverPtPart}
|
|
3376
|
-
}
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3442
|
+
| `pt:${BbSelectPopoverPtPart}:open`
|
|
3443
|
+
| `pt:${BbSelectPopoverOptionPtPart}:${'selected' | 'disabled'}`]?: PtValue;
|
|
3444
|
+
} & /* @vue-ignore */ PtCompoundProps<typeof BB_SELECT_POPOVER_PT> & {
|
|
3445
|
+
// The option parts also take a per-item function, typed on the popover's
|
|
3446
|
+
// item — a literal function type, not `PtItemFn` (T23).
|
|
3447
|
+
[K in `pt:${BbSelectPopoverOptionPtPart}`]?:
|
|
3448
|
+
| PtValue
|
|
3449
|
+
| ((
|
|
3450
|
+
ctx: PtItemCtx<
|
|
3451
|
+
PtNoInfer<Item>,
|
|
3452
|
+
BbSelectPopoverPtState,
|
|
3453
|
+
never,
|
|
3454
|
+
BbSelectSlotRow<PtNoInfer<Item>, PtNoInfer<Known>>
|
|
3455
|
+
>
|
|
3456
|
+
) => PtItemResult);
|
|
3457
|
+
} & {
|
|
3458
|
+
/* eslint-enable @typescript-eslint/consistent-indexed-object-style */
|
|
3459
|
+
/**
|
|
3460
|
+
* Passthrough, object form: the same keys as the `pt:*` attributes
|
|
3461
|
+
* without the prefix. See the `pt:<part>` row.
|
|
3462
|
+
*/
|
|
3463
|
+
pt?: PtScopedItemMap<
|
|
3464
|
+
BbSelectPopoverPtKey,
|
|
3465
|
+
BbSelectPopoverOptionPtPart,
|
|
3466
|
+
BbSelectPopoverPtState,
|
|
3467
|
+
PtNoInfer<Item>,
|
|
3468
|
+
never,
|
|
3469
|
+
BbSelectSlotRow<PtNoInfer<Item>, PtNoInfer<Known>>
|
|
3470
|
+
>;
|
|
3471
|
+
/**
|
|
3472
|
+
* External activator element or component ref.
|
|
3473
|
+
* When provided, the activator slot is not rendered and event listeners
|
|
3474
|
+
* are attached programmatically to the referenced element.
|
|
3475
|
+
*/
|
|
3476
|
+
activator?: HTMLElement | Record<string, any> | null;
|
|
3477
|
+
/**
|
|
3478
|
+
* On mobile, the panel opens as a bottom sheet instead of a floating
|
|
3479
|
+
* popover, with the same search and list. Unset, the global
|
|
3480
|
+
* `config.adaptive` applies.
|
|
3481
|
+
*
|
|
3482
|
+
* @defaultValue `config.adaptive` (`true`)
|
|
3483
|
+
*/
|
|
3484
|
+
adaptive?: boolean;
|
|
3485
|
+
/**
|
|
3486
|
+
* Props for the phone sheet (the `BbOffCanvas` that `adaptive` renders on
|
|
3487
|
+
* mobile), spread over its defaults. A `pt` inside it styles only the sheet
|
|
3488
|
+
* (passthrough guide § Inside the sheet).
|
|
3489
|
+
*/
|
|
3490
|
+
offCanvasProps?: Partial<BbOffCanvasProps>;
|
|
3491
|
+
/**
|
|
3492
|
+
* Override the element used for popover positioning and width measurement.
|
|
3493
|
+
* Useful when the focusable activator is narrower than its visual container
|
|
3494
|
+
* (e.g. a button inside a wrapper). Falls back to `activatorEl` when omitted.
|
|
3495
|
+
*
|
|
3496
|
+
* @defaultValue `null`
|
|
3497
|
+
*/
|
|
3498
|
+
anchor?: HTMLElement | Record<string, any> | null;
|
|
3499
|
+
/**
|
|
3500
|
+
* Hides the panel's search field: `true` everywhere, `'mobile'` /
|
|
3501
|
+
* `'desktop'` on that platform only. `'auto'` hides it, per open, for an
|
|
3502
|
+
* array `items` shorter than the plugin's `autoDisableWritingThreshold`
|
|
3503
|
+
* (6); never for a provider or with an `option:add` listener.
|
|
3504
|
+
*
|
|
3505
|
+
* @defaultValue `'auto'`
|
|
3506
|
+
*/
|
|
3507
|
+
disableWriting?: boolean | 'mobile' | 'desktop' | 'auto';
|
|
3508
|
+
/**
|
|
3509
|
+
* Space-separated IDREF(s) that describe this field for assistive technologies.
|
|
3510
|
+
* Accepts either a string or array of ids.
|
|
3511
|
+
*/
|
|
3512
|
+
ariaDescribedby?: string | string[];
|
|
3513
|
+
/**
|
|
3514
|
+
* Explicit invalid state for accessibility semantics.
|
|
3515
|
+
* Falls back to `hasErrors` when not provided.
|
|
3516
|
+
*/
|
|
3517
|
+
ariaInvalid?: boolean;
|
|
3518
|
+
/**
|
|
3519
|
+
* Browser autocomplete hint for the popover search input.
|
|
3520
|
+
*
|
|
3521
|
+
* @defaultValue `'off'`
|
|
3522
|
+
*/
|
|
3523
|
+
// Not Vue's InputHTMLAttributes['autocomplete']: since Vue 3.5.27 that is a
|
|
3524
|
+
// ~10k-member union, and our props overflow TS on it (TS2590).
|
|
3525
|
+
autocomplete?: string;
|
|
3526
|
+
/**
|
|
3527
|
+
* Constrains the popover to a specific boundary element: it stays inside
|
|
3528
|
+
* it alongside its trigger (sideways for a popover above or below); away
|
|
3529
|
+
* from the trigger it may pass the edge, and it flips at the viewport only.
|
|
3530
|
+
*/
|
|
3531
|
+
boundary?: HTMLElement | Record<string, any> | string | null;
|
|
3532
|
+
/**
|
|
3533
|
+
* Apply the compact density variant.
|
|
3534
|
+
*/
|
|
3535
|
+
compact?: boolean;
|
|
3536
|
+
/**
|
|
3537
|
+
* Additional dependencies that trigger item reloading when changed.
|
|
3538
|
+
*
|
|
3539
|
+
* @defaultValue `[]`
|
|
3540
|
+
*/
|
|
3541
|
+
dependencies?: unknown[];
|
|
3542
|
+
/**
|
|
3543
|
+
* Debounce delay (ms) for dependency-triggered reloads.
|
|
3544
|
+
*
|
|
3545
|
+
* @defaultValue `0`
|
|
3546
|
+
*/
|
|
3547
|
+
depsDebounceTime?: number;
|
|
3548
|
+
/**
|
|
3549
|
+
* Shows a clear button in the search field, in the lens' place while there
|
|
3550
|
+
* is a query or a selection; it resets both. None without a search field.
|
|
3551
|
+
* Leave it off when the activator already clears (as BbSelect's does).
|
|
3552
|
+
*/
|
|
3553
|
+
clearable?: boolean;
|
|
3554
|
+
/**
|
|
3555
|
+
* Disables the component.
|
|
3556
|
+
*/
|
|
3557
|
+
disabled?: boolean;
|
|
3558
|
+
/**
|
|
3559
|
+
* Drops the picks the items no longer contain (single: `null`). Checked
|
|
3560
|
+
* after every applied, successful load whose `reason` is not `'search'`
|
|
3561
|
+
* (an empty one included), against the FETCHED rows only (a `stash` does
|
|
3562
|
+
* not count); a search or failed load never prunes.
|
|
3563
|
+
*/
|
|
3564
|
+
enforceCoherence?: boolean;
|
|
3565
|
+
/**
|
|
3566
|
+
* What typing filters on: empty = the display text and description; item
|
|
3567
|
+
* paths = those fields (`['name', 'email']`); `false` = no filtering.
|
|
3568
|
+
* Use `false` when the provider matched the query on the server, or its
|
|
3569
|
+
* email/accent matches show as "No results".
|
|
3570
|
+
*
|
|
3571
|
+
* @defaultValue `[]`
|
|
3572
|
+
*/
|
|
3573
|
+
filterBy?: string[] | false;
|
|
3574
|
+
/**
|
|
3575
|
+
* Disables the automatic flip to the opposite side when the popover
|
|
3576
|
+
* would overflow (flipping is on by default).
|
|
3577
|
+
*
|
|
3578
|
+
* @defaultValue `false`
|
|
3579
|
+
*/
|
|
3580
|
+
disableFlip?: boolean;
|
|
3581
|
+
/** Path to item property for grouping options. */
|
|
3582
|
+
groupBy?: string | ((item: Item) => string | number | symbol);
|
|
3583
|
+
/**
|
|
3584
|
+
* Marks the component as being in error state.
|
|
3585
|
+
*/
|
|
3586
|
+
hasErrors?: boolean;
|
|
3587
|
+
/**
|
|
3588
|
+
* Marks the component as being in a warning state. Visually mirrors
|
|
3589
|
+
* `hasErrors` but uses `--bb-warn` chrome; errors take priority when both
|
|
3590
|
+
* are set.
|
|
3591
|
+
*/
|
|
3592
|
+
hasWarnings?: boolean;
|
|
3593
|
+
/**
|
|
3594
|
+
* Height of group headers in the listbox (px). Defaults to 32px (24px
|
|
3595
|
+
* compact; 36px / 32px on mobile viewports). Only applies when `groupBy`
|
|
3596
|
+
* is set. An explicit value wins on every viewport.
|
|
3597
|
+
*/
|
|
3598
|
+
headerHeight?: number;
|
|
3599
|
+
/**
|
|
3600
|
+
* Seeds the ids the popover sets: its listbox is `<id>_listbox` (the
|
|
3601
|
+
* activator's `aria-controls`) and each option's id derives from it.
|
|
3602
|
+
* Generated when omitted.
|
|
3603
|
+
*/
|
|
3604
|
+
id?: HTMLAttributes['id'];
|
|
3605
|
+
/**
|
|
3606
|
+
* Height of the options in the listbox (px). Defaults to 28px (24px
|
|
3607
|
+
* compact; 44px / 36px on mobile viewports). An explicit value wins on
|
|
3608
|
+
* every viewport.
|
|
3609
|
+
*
|
|
3610
|
+
* @defaultValue `28`
|
|
3611
|
+
*/
|
|
3612
|
+
itemHeight?: number;
|
|
3613
|
+
/**
|
|
3614
|
+
* The options: an array, or a sync or async provider given a
|
|
3615
|
+
* `BbSelectPopoverItemsContext` (`query`, `reason`, `modelValue`,
|
|
3616
|
+
* `signal`). Branch on `reason !== 'search'` to resolve the
|
|
3617
|
+
* selection by id. A provider fails by THROWING, never by returning `[]`.
|
|
3618
|
+
*
|
|
3619
|
+
* @defaultValue `[]`
|
|
3620
|
+
*/
|
|
3621
|
+
items:
|
|
3622
|
+
| Item[]
|
|
3623
|
+
| ((context: BbSelectPopoverItemsContext) => Item[] | Promise<Item[]>);
|
|
3624
|
+
/**
|
|
3625
|
+
* Path to item property for display text or function to extract it.
|
|
3626
|
+
*
|
|
3627
|
+
* Unset: own `label`, else `text` (`{ label, value }` needs no accessor).
|
|
3628
|
+
*
|
|
3629
|
+
* @defaultValue own `label`, else `text`, else `JSON.stringify(item)`
|
|
3630
|
+
*/
|
|
3631
|
+
itemText?: ItemAccessor<Item, string>;
|
|
3632
|
+
/**
|
|
3633
|
+
* ADDITIONAL row fields, never the text or value: `description` (a muted
|
|
3634
|
+
* line under the label), `prepend:icon`, `append:icon`. An object of paths
|
|
3635
|
+
* or getters per field, or a function of the item. Nothing is read
|
|
3636
|
+
* implicitly; none shows in the trigger or the chips.
|
|
3637
|
+
*/
|
|
3638
|
+
itemProps?: BbSelectItemProps<Item>;
|
|
3639
|
+
/**
|
|
3640
|
+
* Path to item property for value or function to extract it.
|
|
3641
|
+
*
|
|
3642
|
+
* Unset: own `value`, even `null`.
|
|
3643
|
+
*
|
|
3644
|
+
* @defaultValue own `value`, else the whole item
|
|
3645
|
+
*/
|
|
3646
|
+
itemValue?: ItemAccessor<Item>;
|
|
3647
|
+
/**
|
|
3648
|
+
* `{ value, label }` rows naming the value the app already holds, whatever
|
|
3649
|
+
* the options' shape: the activator's `text` with no request until the
|
|
3650
|
+
* first open (`prefill: true` still loads). Not options: accessors never
|
|
3651
|
+
* run on them; slots get one as `item`, `known: true`, until the list
|
|
3652
|
+
* brings its own.
|
|
3653
|
+
*/
|
|
3654
|
+
knownItems?: [Known] extends [undefined] ? BbSelectKnownItems : Known;
|
|
3655
|
+
/**
|
|
3656
|
+
* Display the loading state styles.
|
|
3657
|
+
*/
|
|
3658
|
+
loading?: boolean;
|
|
3659
|
+
/**
|
|
3660
|
+
* Message shown while items are being loaded.
|
|
3661
|
+
*/
|
|
3662
|
+
loadingText?: string;
|
|
3663
|
+
/**
|
|
3664
|
+
* Maximum number of selectable items (limits selection when `multiple` is true).
|
|
3665
|
+
*
|
|
3666
|
+
* @defaultValue `Infinity`
|
|
3667
|
+
*/
|
|
3668
|
+
max?: number;
|
|
3669
|
+
/**
|
|
3670
|
+
* v-model value. Single value for single select, array for multiple select.
|
|
3671
|
+
*/
|
|
3672
|
+
modelValue: any;
|
|
3673
|
+
/**
|
|
3674
|
+
* Debounce delay (ms) for modelValue change handling.
|
|
3675
|
+
*
|
|
3676
|
+
* @defaultValue `0`
|
|
3677
|
+
*/
|
|
3678
|
+
modelValueDebounceTime?: number;
|
|
3679
|
+
/**
|
|
3680
|
+
* Enable multiple item selection. When true, modelValue must be an array.
|
|
3681
|
+
*/
|
|
3682
|
+
multiple?: boolean;
|
|
3683
|
+
/**
|
|
3684
|
+
* Message displayed when no items are available.
|
|
3685
|
+
*/
|
|
3686
|
+
emptyText?: string;
|
|
3687
|
+
/**
|
|
3688
|
+
* Message displayed in the empty state while the latest load FAILED (the
|
|
3689
|
+
* provider threw): the twin of `emptyText` for that case.
|
|
3690
|
+
*
|
|
3691
|
+
* @defaultValue the localized `common.failedText` ("Couldn't load items")
|
|
3692
|
+
*/
|
|
3693
|
+
failedText?: string;
|
|
3694
|
+
/**
|
|
3695
|
+
* Distance (px) between the activator and the popover.
|
|
3696
|
+
*
|
|
3697
|
+
* @defaultValue `4`
|
|
3698
|
+
*/
|
|
3699
|
+
offset?: number;
|
|
3700
|
+
/**
|
|
3701
|
+
* Minimum page padding used by floating shift middleware.
|
|
3702
|
+
*
|
|
3703
|
+
* @defaultValue `10`
|
|
3704
|
+
*/
|
|
3705
|
+
padding?: number;
|
|
3706
|
+
/**
|
|
3707
|
+
* Floating placement of the popover.
|
|
3708
|
+
*
|
|
3709
|
+
* @defaultValue `'bottom'`
|
|
3710
|
+
*/
|
|
3711
|
+
placement?: Placement;
|
|
3712
|
+
/**
|
|
3713
|
+
* When the options first load: `'interaction'` on first open, `true` on
|
|
3714
|
+
* mount (and in SSR), `false` once the user types (on open with
|
|
3715
|
+
* `disable-writing` or a non-empty model). An array `items` always
|
|
3716
|
+
* resolves on mount; else a seeded model's text waits for the first open.
|
|
3717
|
+
*
|
|
3718
|
+
* @defaultValue `'interaction'`
|
|
3719
|
+
*/
|
|
3720
|
+
prefill?: boolean | 'interaction';
|
|
3721
|
+
/**
|
|
3722
|
+
* Debounce delay (ms) before triggering search queries after user input stops.
|
|
3723
|
+
*
|
|
3724
|
+
* @defaultValue `500`
|
|
3725
|
+
*/
|
|
3726
|
+
queryDebounceTime?: number;
|
|
3727
|
+
/**
|
|
3728
|
+
* Prevents opening the popover while keeping the activator accessible.
|
|
3729
|
+
*/
|
|
3730
|
+
readonly?: boolean;
|
|
3731
|
+
/**
|
|
3732
|
+
* Accessible label used by the search input rendered inside the popover.
|
|
3733
|
+
* Falls back to the localized `select.searchLabel` key when omitted.
|
|
3734
|
+
*
|
|
3735
|
+
* @defaultValue `t('select.searchLabel')` (`'Search options'`)
|
|
3736
|
+
*/
|
|
3737
|
+
searchInputAriaLabel?: string;
|
|
3738
|
+
/**
|
|
3739
|
+
* Defines whether options are selectable.
|
|
3740
|
+
* Can be a global boolean that affects all options or a function
|
|
3741
|
+
* that accepts an item and returns a boolean that only affects that item.
|
|
3742
|
+
* Non-selectable options are rendered disabled.
|
|
3743
|
+
*
|
|
3744
|
+
* @defaultValue `true`
|
|
3745
|
+
*/
|
|
3746
|
+
selectable?: boolean | ((item: Item) => boolean);
|
|
3747
|
+
/**
|
|
3748
|
+
* Keeps picked options named across searches: a pick stays resolvable when
|
|
3749
|
+
* a later search or a failed load no longer returns it. It follows the
|
|
3750
|
+
* model, and does not keep a pick valid: `enforce-coherence` still prunes
|
|
3751
|
+
* it.
|
|
3752
|
+
*/
|
|
3753
|
+
stash?: boolean;
|
|
3754
|
+
/**
|
|
3755
|
+
* Transition duration (ms) for popover show/hide animations.
|
|
3756
|
+
*
|
|
3757
|
+
* @defaultValue `250`
|
|
3758
|
+
*/
|
|
3759
|
+
transitionDuration?: number;
|
|
3760
|
+
/**
|
|
3761
|
+
* Width of the popover in pixels, percentage, or `'auto'`. A bare number is
|
|
3762
|
+
* read as pixels — the default is the string `'200'`, not the number `200`.
|
|
3763
|
+
*
|
|
3764
|
+
* @defaultValue `'200'`
|
|
3765
|
+
*/
|
|
3766
|
+
width?: number | string;
|
|
3767
|
+
};
|
|
3698
3768
|
|
|
3699
3769
|
export type BbSelectPopoverEvents = {
|
|
3700
3770
|
/** Emitted as soon as the options surface starts to open (the popover, or the sheet on a phone). */
|
|
@@ -3821,6 +3891,12 @@ export type BbSelectPopoverPanelSlotProps = {
|
|
|
3821
3891
|
close: () => Promise<void>;
|
|
3822
3892
|
/** Clears the current selection. */
|
|
3823
3893
|
clear: () => void;
|
|
3894
|
+
/**
|
|
3895
|
+
* True while the list shows its empty state: no items, none matching the
|
|
3896
|
+
* query, or a failed load with nothing listed (never while loading). It
|
|
3897
|
+
* follows the `#empty` slot, so a footer can switch to "Create …".
|
|
3898
|
+
*/
|
|
3899
|
+
empty: boolean;
|
|
3824
3900
|
/** Focuses the search input (or the options when writing is disabled). */
|
|
3825
3901
|
focus: () => void;
|
|
3826
3902
|
/** The current search query string. */
|
|
@@ -3867,9 +3943,15 @@ export type BbSelectPopoverSlots<
|
|
|
3867
3943
|
/**
|
|
3868
3944
|
* Content shown when no options match the query or the list is empty.
|
|
3869
3945
|
* `error` is what the latest failed load threw, untouched (`null` when
|
|
3870
|
-
* none).
|
|
3946
|
+
* none). `close()` closes the panel, for an action that does not move
|
|
3947
|
+
* focus out of it.
|
|
3871
3948
|
*/
|
|
3872
|
-
empty?: (props: {
|
|
3949
|
+
empty?: (props: {
|
|
3950
|
+
query: string;
|
|
3951
|
+
focus: () => void;
|
|
3952
|
+
close: () => Promise<void>;
|
|
3953
|
+
error: unknown;
|
|
3954
|
+
}) => any;
|
|
3873
3955
|
/**
|
|
3874
3956
|
* Replaces the default rendering of each option row in the dropdown. With
|
|
3875
3957
|
* `known-items` bound, a row the list has not brought yet is the known
|
|
@@ -3924,6 +4006,14 @@ export type BbSelectPopoverSlots<
|
|
|
3924
4006
|
padding: 0.5rem 0.75rem;
|
|
3925
4007
|
}
|
|
3926
4008
|
|
|
4009
|
+
/* `compact` steps them down with the rows (28px → 24px): 4px less, split. */
|
|
4010
|
+
&.bb-select-popover--compact {
|
|
4011
|
+
.bb-select-popover__header,
|
|
4012
|
+
.bb-select-popover__footer {
|
|
4013
|
+
padding-block: 0.375rem;
|
|
4014
|
+
}
|
|
4015
|
+
}
|
|
4016
|
+
|
|
3927
4017
|
.bb-select-popover__search-icon,
|
|
3928
4018
|
.bb-select-popover__search-error-icon,
|
|
3929
4019
|
.bb-select-popover__search-warning-icon,
|
|
@@ -4479,7 +4569,8 @@ export type BbSelectPopoverSlots<
|
|
|
4479
4569
|
.bb-select-popover__search-container {
|
|
4480
4570
|
background-color: var(--bb-muted);
|
|
4481
4571
|
border-bottom: 0;
|
|
4482
|
-
|
|
4572
|
+
/* Clamped like the bubble: half a control height at most. */
|
|
4573
|
+
border-radius: min(var(--bb-radius), calc(var(--bb-input-h) / 2));
|
|
4483
4574
|
margin-bottom: 0.25rem;
|
|
4484
4575
|
padding: 0.625rem 0.75rem;
|
|
4485
4576
|
transition: background-color var(--bb-transition-fast) ease;
|