bitboss-ui 2.1.135 → 3.0.0-alpha.1
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/LICENSE +21 -0
- package/README.md +244 -21
- package/bin/bitboss-ui-mcp.mjs +557 -0
- package/bin/bitboss-ui.mjs +626 -0
- package/dist/ai/BbAccordion.md +522 -113
- package/dist/ai/BbAlert.md +377 -197
- package/dist/ai/BbAsterisk.md +46 -0
- package/dist/ai/BbAvatar.md +454 -178
- package/dist/ai/BbBadge.md +695 -225
- package/dist/ai/BbBadgeButton.md +54 -0
- package/dist/ai/BbBaseButton.md +489 -0
- package/dist/ai/BbBaseCheckbox.md +49 -0
- package/dist/ai/BbBaseCheckboxGroup.md +64 -0
- package/dist/ai/BbBaseCheckboxIcon.md +174 -0
- package/dist/ai/BbBaseColorInput.md +64 -0
- package/dist/ai/BbBaseColorPalette.md +39 -0
- package/dist/ai/BbBaseDatePicker.md +42 -0
- package/dist/ai/BbBaseDatePickerInput.md +73 -0
- package/dist/ai/BbBaseInputContainer.md +48 -0
- package/dist/ai/BbBaseNumberInput.md +71 -0
- package/dist/ai/BbBaseRadio.md +46 -0
- package/dist/ai/BbBaseRadioGroup.md +63 -0
- package/dist/ai/BbBaseRadioIcon.md +187 -0
- package/dist/ai/BbBaseRating.md +51 -0
- package/dist/ai/BbBaseSelect.md +88 -0
- package/dist/ai/BbBaseSlider.md +56 -0
- package/dist/ai/BbBaseSwitch.md +49 -0
- package/dist/ai/BbBaseSwitchGroup.md +64 -0
- package/dist/ai/BbBaseSwitchIcon.md +184 -0
- package/dist/ai/BbBaseTag.md +68 -0
- package/dist/ai/BbBaseTextInput.md +75 -0
- package/dist/ai/BbBaseTextarea.md +62 -0
- package/dist/ai/BbBaseTimePickerInput.md +62 -0
- package/dist/ai/BbBreadcrumbs.md +542 -503
- package/dist/ai/BbButton.md +767 -636
- package/dist/ai/BbCheckbox.md +572 -254
- package/dist/ai/BbCheckboxGroup.md +561 -361
- package/dist/ai/BbCollapsible.md +419 -103
- package/dist/ai/BbColorInput.md +529 -323
- package/dist/ai/BbColorPalette.md +565 -330
- package/dist/ai/BbConfirm.md +612 -136
- package/dist/ai/BbConfirmPortal.md +28 -0
- package/dist/ai/BbDatePicker.md +244 -0
- package/dist/ai/BbDatePickerInput.md +706 -388
- package/dist/ai/BbDialog.md +770 -99
- package/dist/ai/BbDropdown.md +1054 -763
- package/dist/ai/BbDropdownButton.md +511 -615
- package/dist/ai/BbDropdownGroup.md +34 -0
- package/dist/ai/BbDropzone.md +1148 -436
- package/dist/ai/BbForm.md +239 -0
- package/dist/ai/BbIcon.md +379 -212
- package/dist/ai/BbIndicator.md +283 -0
- package/dist/ai/BbNumberInput.md +713 -355
- package/dist/ai/BbOffCanvas.md +875 -498
- package/dist/ai/BbPagination.md +483 -535
- package/dist/ai/BbPopover.md +583 -546
- package/dist/ai/BbProgress.md +456 -69
- package/dist/ai/BbRadio.md +343 -229
- package/dist/ai/BbRadioGroup.md +426 -353
- package/dist/ai/BbRating.md +361 -226
- package/dist/ai/BbSelect.md +1380 -536
- package/dist/ai/BbSelectPopover.md +1240 -1579
- package/dist/ai/BbSlider.md +478 -257
- package/dist/ai/BbSmoothHeight.md +472 -139
- package/dist/ai/BbSpinner.md +718 -131
- package/dist/ai/BbSwitch.md +549 -119
- package/dist/ai/BbSwitchGroup.md +503 -214
- package/dist/ai/BbTable.md +1956 -2358
- package/dist/ai/BbTabs.md +1113 -0
- package/dist/ai/BbTabsList.md +29 -0
- package/dist/ai/BbTabsPanes.md +27 -0
- package/dist/ai/BbTabsRoot.md +57 -0
- package/dist/ai/BbTag.md +393 -292
- package/dist/ai/BbTextInput.md +852 -333
- package/dist/ai/BbTextarea.md +836 -255
- package/dist/ai/BbTimePicker.md +231 -0
- package/dist/ai/BbTimePickerInput.md +196 -0
- package/dist/ai/BbToast.md +624 -196
- package/dist/ai/BbToastPortal.md +28 -0
- package/dist/ai/BbTooltip.md +443 -346
- package/dist/ai/BbTree.md +984 -235
- package/dist/ai/ChipsBox.md +27 -199
- package/dist/ai/ClearableButton.md +21 -55
- package/dist/ai/CommaBox.md +25 -200
- package/dist/ai/CommonInputWrapper.md +42 -0
- package/dist/ai/CommonPopover.md +30 -510
- package/dist/ai/ErrorIcon.md +19 -56
- package/dist/ai/FlatListBox.md +35 -379
- package/dist/ai/GroupedListBox.md +37 -535
- package/dist/ai/GuidesComponent.md +21 -0
- package/dist/ai/ListBox.md +38 -231
- package/dist/ai/OptionsContainer.md +34 -253
- package/dist/ai/WarningIcon.md +21 -0
- package/dist/ai/components.json +15883 -0
- package/dist/ai/composables/useBbConfig.md +80 -0
- package/dist/ai/composables/useBbFormContext.md +110 -0
- package/dist/ai/composables/useBbTableContext.md +164 -0
- package/dist/ai/composables/useBbTabsContext.md +118 -0
- package/dist/ai/composables/useBroadcastChannelInstance.md +97 -0
- package/dist/ai/composables/useConfirm.md +306 -0
- package/dist/ai/composables/useCountdown.md +84 -0
- package/dist/ai/composables/useId.md +60 -0
- package/dist/ai/composables/useMobile.md +85 -0
- package/dist/ai/composables/useToast.md +230 -0
- package/dist/ai/guides/agent-contract.md +108 -0
- package/dist/ai/guides/ai-router.md +111 -0
- package/dist/ai/guides/app-layout.md +295 -0
- package/dist/ai/guides/coherence-playbook.md +136 -0
- package/dist/ai/guides/component-picker.md +195 -0
- package/dist/ai/guides/design-language.md +461 -0
- package/dist/ai/guides/design-tokens.md +424 -0
- package/dist/ai/guides/fetch-items-playbook.md +161 -0
- package/dist/ai/guides/floating-bottom-panel.md +191 -0
- package/dist/ai/guides/icons-policy.md +257 -0
- package/dist/ai/guides/inertia-helpers.md +1394 -0
- package/dist/ai/guides/inline-edit-playbook.md +258 -0
- package/dist/ai/guides/installation-and-plugin-setup.md +377 -0
- package/dist/ai/guides/migration/components/bb-alert.md +37 -0
- package/dist/ai/guides/migration/components/bb-avatar.md +24 -0
- package/dist/ai/guides/migration/components/bb-badge.md +110 -0
- package/dist/ai/guides/migration/components/bb-breadcrumbs.md +26 -0
- package/dist/ai/guides/migration/components/bb-button.md +55 -0
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +54 -0
- package/dist/ai/guides/migration/components/bb-checkbox.md +45 -0
- package/dist/ai/guides/migration/components/bb-chip.md +35 -0
- package/dist/ai/guides/migration/components/bb-collapsible.md +26 -0
- package/dist/ai/guides/migration/components/bb-color-input.md +23 -0
- package/dist/ai/guides/migration/components/bb-color-palette.md +31 -0
- package/dist/ai/guides/migration/components/bb-date-picker-input.md +84 -0
- package/dist/ai/guides/migration/components/bb-dialog.md +46 -0
- package/dist/ai/guides/migration/components/bb-dropdown-button.md +31 -0
- package/dist/ai/guides/migration/components/bb-dropdown.md +36 -0
- package/dist/ai/guides/migration/components/bb-dropzone.md +27 -0
- package/dist/ai/guides/migration/components/bb-icon.md +27 -0
- package/dist/ai/guides/migration/components/bb-off-canvas.md +25 -0
- package/dist/ai/guides/migration/components/bb-offcanvas.md +54 -0
- package/dist/ai/guides/migration/components/bb-pagination.md +24 -0
- package/dist/ai/guides/migration/components/bb-popover.md +52 -0
- package/dist/ai/guides/migration/components/bb-rating.md +24 -0
- package/dist/ai/guides/migration/components/bb-select-popover.md +58 -0
- package/dist/ai/guides/migration/components/bb-select.md +68 -0
- package/dist/ai/guides/migration/components/bb-slider.md +25 -0
- package/dist/ai/guides/migration/components/bb-smooth-height.md +45 -0
- package/dist/ai/guides/migration/components/bb-spinner.md +23 -0
- package/dist/ai/guides/migration/components/bb-table.md +66 -0
- package/dist/ai/guides/migration/components/bb-tabs.md +47 -0
- package/dist/ai/guides/migration/components/bb-tag.md +29 -0
- package/dist/ai/guides/migration/components/bb-text-input.md +37 -0
- package/dist/ai/guides/migration/components/bb-toast.md +47 -0
- package/dist/ai/guides/migration/components/bb-tooltip.md +34 -0
- package/dist/ai/guides/migration/components/bb-tree.md +77 -0
- package/dist/ai/guides/migration/components/use-confirm.md +46 -0
- package/dist/ai/guides/migration/v2-to-v3.md +649 -0
- package/dist/ai/guides/options-items-playbook.md +222 -0
- package/dist/ai/guides/page-shell.md +314 -0
- package/dist/ai/guides/validated-forms.md +177 -0
- package/dist/ai/index.md +156 -32
- package/dist/ai/recipes/inertia/approvals-inbox.md +1598 -0
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +1733 -0
- package/dist/ai/recipes/inertia/onboarding.md +1765 -0
- package/dist/ai/recipes/inertia/ownership-atlas.md +1281 -0
- package/dist/ai/recipes/inertia/record-form.md +1442 -0
- package/dist/ai/recipes/inertia/records-workspace.md +1328 -0
- package/dist/ai/recipes/inertia/upload-center.md +1926 -0
- package/dist/ai/recipes/inertia/wizard-form.md +1477 -0
- package/dist/ai/recipes/nuxt/approvals-inbox.md +1561 -0
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +1690 -0
- package/dist/ai/recipes/nuxt/onboarding.md +1698 -0
- package/dist/ai/recipes/nuxt/record-form.md +1456 -0
- package/dist/ai/recipes/nuxt/records-workspace.md +1314 -0
- package/dist/ai/recipes/nuxt/upload-center.md +1847 -0
- package/dist/ai/recipes/nuxt/wizard-form.md +1486 -0
- package/dist/ai/recipes/vue/approvals-inbox.md +1479 -0
- package/dist/ai/recipes/vue/inline-edit-workspace.md +1581 -0
- package/dist/ai/recipes/vue/onboarding.md +1653 -0
- package/dist/ai/recipes/vue/record-form.md +1540 -0
- package/dist/ai/recipes/vue/records-workspace.md +1230 -0
- package/dist/ai/recipes/vue/upload-center.md +1806 -0
- package/dist/ai/recipes/vue/wizard-form.md +1418 -0
- package/dist/ai/source/BbAccordion.md +122 -0
- package/dist/ai/source/BbAlert.md +396 -0
- package/dist/ai/source/BbAsterisk.md +32 -0
- package/dist/ai/source/BbAvatar.md +256 -0
- package/dist/ai/source/BbBadge.md +560 -0
- package/dist/ai/source/BbBadgeButton.md +490 -0
- package/dist/ai/source/BbBaseButton.md +682 -0
- package/dist/ai/source/BbBaseCheckbox.md +459 -0
- package/dist/ai/source/BbBaseCheckboxGroup.md +554 -0
- package/dist/ai/source/BbBaseCheckboxIcon.md +201 -0
- package/dist/ai/source/BbBaseColorInput.md +413 -0
- package/dist/ai/source/BbBaseColorPalette.md +934 -0
- package/dist/ai/source/BbBaseDatePicker.md +1001 -0
- package/dist/ai/source/BbBaseDatePickerInput.md +1781 -0
- package/dist/ai/source/BbBaseInputContainer.md +1148 -0
- package/dist/ai/source/BbBaseNumberInput.md +615 -0
- package/dist/ai/source/BbBaseRadio.md +377 -0
- package/dist/ai/source/BbBaseRadioGroup.md +499 -0
- package/dist/ai/source/BbBaseRadioIcon.md +153 -0
- package/dist/ai/source/BbBaseRating.md +573 -0
- package/dist/ai/source/BbBaseSelect.md +895 -0
- package/dist/ai/source/BbBaseSlider.md +1085 -0
- package/dist/ai/source/BbBaseSwitch.md +246 -0
- package/dist/ai/source/BbBaseSwitchGroup.md +302 -0
- package/dist/ai/source/BbBaseSwitchIcon.md +206 -0
- package/dist/ai/source/BbBaseTag.md +688 -0
- package/dist/ai/source/BbBaseTextInput.md +511 -0
- package/dist/ai/source/BbBaseTextarea.md +480 -0
- package/dist/ai/source/BbBaseTimePickerInput.md +1013 -0
- package/dist/ai/source/BbBreadcrumbs.md +811 -0
- package/dist/ai/source/BbButton.md +990 -0
- package/dist/ai/source/BbCheckbox.md +319 -0
- package/dist/ai/source/BbCheckboxGroup.md +412 -0
- package/dist/ai/source/BbCollapsible.md +133 -0
- package/dist/ai/source/BbColorInput.md +315 -0
- package/dist/ai/source/BbColorPalette.md +361 -0
- package/dist/ai/source/BbConfirm.md +173 -0
- package/dist/ai/source/BbConfirmPortal.md +74 -0
- package/dist/ai/source/BbDatePicker.md +725 -0
- package/dist/ai/source/BbDatePickerInput.md +518 -0
- package/dist/ai/source/BbDialog.md +812 -0
- package/dist/ai/source/BbDropdown.md +2369 -0
- package/dist/ai/source/BbDropdownButton.md +313 -0
- package/dist/ai/source/BbDropdownGroup.md +1249 -0
- package/dist/ai/source/BbDropzone.md +749 -0
- package/dist/ai/source/BbForm.md +100 -0
- package/dist/ai/source/BbIcon.md +212 -0
- package/dist/ai/source/BbIndicator.md +298 -0
- package/dist/ai/source/BbNumberInput.md +365 -0
- package/dist/ai/source/BbOffCanvas.md +1260 -0
- package/dist/ai/source/BbPagination.md +829 -0
- package/dist/ai/source/BbPopover.md +853 -0
- package/dist/ai/source/BbProgress.md +140 -0
- package/dist/ai/source/BbRadio.md +294 -0
- package/dist/ai/source/BbRadioGroup.md +401 -0
- package/dist/ai/source/BbRating.md +362 -0
- package/dist/ai/source/BbSelect.md +681 -0
- package/dist/ai/source/BbSelectPopover.md +2209 -0
- package/dist/ai/source/BbSlider.md +371 -0
- package/dist/ai/source/BbSmoothHeight.md +261 -0
- package/dist/ai/source/BbSpinner.md +127 -0
- package/dist/ai/source/BbSwitch.md +175 -0
- package/dist/ai/source/BbSwitchGroup.md +240 -0
- package/dist/ai/source/BbTable.md +3348 -0
- package/dist/ai/source/BbTabs.md +403 -0
- package/dist/ai/source/BbTabsList.md +578 -0
- package/dist/ai/source/BbTabsPanes.md +368 -0
- package/dist/ai/source/BbTabsRoot.md +372 -0
- package/dist/ai/source/BbTag.md +383 -0
- package/dist/ai/source/BbTextInput.md +345 -0
- package/dist/ai/source/BbTextarea.md +330 -0
- package/dist/ai/source/BbTimePicker.md +591 -0
- package/dist/ai/source/BbTimePickerInput.md +367 -0
- package/dist/ai/source/BbToast.md +524 -0
- package/dist/ai/source/BbToastPortal.md +482 -0
- package/dist/ai/source/BbTooltip.md +508 -0
- package/dist/ai/source/BbTree.md +319 -0
- package/dist/ai/source/ChipsBox.md +201 -0
- package/dist/ai/source/ClearableButton.md +70 -0
- package/dist/ai/source/CommaBox.md +202 -0
- package/dist/ai/source/CommonInputWrapper.md +554 -0
- package/dist/ai/source/CommonPopover.md +606 -0
- package/dist/ai/source/ErrorIcon.md +43 -0
- package/dist/ai/source/FlatListBox.md +396 -0
- package/dist/ai/source/GroupedListBox.md +540 -0
- package/dist/ai/source/GuidesComponent.md +383 -0
- package/dist/ai/source/ListBox.md +238 -0
- package/dist/ai/source/OptionsContainer.md +191 -0
- package/dist/ai/source/WarningIcon.md +47 -0
- package/dist/alert-variants.d.ts +12 -0
- package/dist/assets/css/reset.css_inline.js +4 -0
- package/dist/assets/svgs/alert.svg_raw.js +4 -0
- package/dist/assets/svgs/calendar.svg_raw.js +4 -0
- package/dist/assets/svgs/check_stroke.svg_raw.js +4 -0
- package/dist/assets/svgs/chevron_down.svg_raw.js +4 -0
- package/dist/assets/svgs/chevron_right.svg_raw.js +4 -0
- package/dist/assets/svgs/clear.svg_raw.js +4 -0
- package/dist/assets/svgs/clock.svg_raw.js +4 -0
- package/dist/assets/svgs/error.svg_raw.js +4 -0
- package/dist/assets/svgs/search.svg_raw.js +4 -0
- package/dist/assets/svgs/sort.svg_raw.js +4 -0
- package/dist/assets/svgs/spinner.svg_raw.js +4 -0
- package/dist/assets/svgs/user.svg_raw.js +4 -0
- package/dist/badge-variants.d.ts +18 -0
- package/dist/button-variants.d.ts +15 -0
- package/dist/components/BbAccordion/BbAccordion.vue.d.ts +9 -3
- package/dist/components/BbAccordion/BbAccordion.vue.js +6 -0
- package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/BbAccordion/types.d.ts +10 -7
- package/dist/components/BbAlert/BbAlert.vue.d.ts +12 -3
- package/dist/components/BbAlert/BbAlert.vue.js +6 -0
- package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/components/BbAlert/types.d.ts +51 -12
- package/dist/components/BbAsterisk/BbAsterisk.vue.d.ts +3 -0
- package/dist/components/BbAsterisk/BbAsterisk.vue.js +6 -0
- package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +13 -0
- package/dist/components/BbAvatar/BbAvatar.vue.d.ts +5 -0
- package/dist/components/BbAvatar/BbAvatar.vue.js +6 -0
- package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/components/BbAvatar/types.d.ts +4 -5
- package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +3 -0
- package/dist/components/BbBadge/BadgeAppendIcon.vue.js +5 -0
- package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/components/BbBadge/BadgeBodyContent.vue.d.ts +15 -0
- package/dist/components/BbBadge/BadgeBodyContent.vue.js +5 -0
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/BbBadge/BbBadge.vue.d.ts +8 -1
- package/dist/components/BbBadge/BbBadge.vue.js +6 -0
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/BbBadge/BbBadgeButton.vue.d.ts +12 -0
- package/dist/components/BbBadge/BbBadgeButton.vue.js +5 -0
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/components/BbBadge/badgeButtonContext.d.ts +27 -0
- package/dist/components/BbBadge/badgeButtonContext.js +5 -0
- package/dist/components/BbBadge/types.d.ts +61 -16
- package/dist/components/BbBaseButton/BbBaseButton.vue.d.ts +13 -0
- package/dist/components/BbBaseButton/BbBaseButton.vue.js +6 -0
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +171 -0
- package/dist/components/BbBaseButton/RouterComponent.vue.js +5 -0
- package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/BbBaseButton/types.d.ts +191 -0
- package/dist/components/BbBaseButton/types.js +33 -0
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.d.ts +40 -0
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.js +6 -0
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +145 -0
- package/dist/components/BbBaseCheckbox/types.d.ts +222 -0
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.d.ts +19 -0
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.js +6 -0
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +190 -0
- package/dist/components/BbBaseCheckboxGroup/types.d.ts +257 -0
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.d.ts +4 -0
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js +6 -0
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/BbBaseCheckboxIcon/types.d.ts +47 -0
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.d.ts +42 -0
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.js +6 -0
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +178 -0
- package/dist/components/BbBaseColorInput/types.d.ts +207 -0
- package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.d.ts +13 -0
- package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.js +6 -0
- package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue_vue_type_script_setup_true_lang.js +395 -0
- package/dist/components/BbBaseColorPalette/types.d.ts +40 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.js +6 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +300 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +44 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.js +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +310 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.d.ts +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.js +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.d.ts +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.js +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/components/BbBaseDatePicker/typeahead.d.ts +112 -0
- package/dist/components/BbBaseDatePicker/typeahead.js +37 -0
- package/dist/components/BbBaseDatePicker/types.d.ts +97 -0
- package/dist/components/BbBaseDatePicker/useDatePickerContext.d.ts +58 -0
- package/dist/components/BbBaseDatePicker/useDatePickerContext.js +11 -0
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +30 -0
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.js +6 -0
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +713 -0
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.d.ts +30 -0
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.js +6 -0
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue_vue_type_script_setup_true_lang.js +204 -0
- package/dist/components/BbBaseDatePickerInput/types.d.ts +309 -0
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.d.ts +17 -0
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.js +6 -0
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +184 -0
- package/dist/components/BbBaseInputContainer/types.d.ts +185 -0
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.d.ts +52 -0
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.js +6 -0
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +211 -0
- package/dist/components/BbBaseNumberInput/types.d.ts +211 -0
- package/dist/components/BbBaseRadio/BbBaseRadio.vue.d.ts +33 -0
- package/dist/components/BbBaseRadio/BbBaseRadio.vue.js +6 -0
- package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/components/BbBaseRadio/types.d.ts +179 -0
- package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.d.ts +19 -0
- package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.js +6 -0
- package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +172 -0
- package/dist/components/BbBaseRadioGroup/types.d.ts +215 -0
- package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.d.ts +4 -0
- package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.js +6 -0
- package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/BbBaseRadioIcon/types.d.ts +41 -0
- package/dist/components/BbBaseRating/BbBaseRating.vue.d.ts +38 -0
- package/dist/components/BbBaseRating/BbBaseRating.vue.js +6 -0
- package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +184 -0
- package/dist/components/BbBaseRating/types.d.ts +168 -0
- package/dist/components/BbBaseSelect/BbBaseSelect.vue.d.ts +19 -0
- package/dist/components/BbBaseSelect/BbBaseSelect.vue.js +6 -0
- package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +307 -0
- package/dist/components/BbBaseSelect/types.d.ts +294 -0
- package/dist/components/BbBaseSlider/BbBaseSlider.vue.d.ts +35 -0
- package/dist/components/BbBaseSlider/BbBaseSlider.vue.js +6 -0
- package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +324 -0
- package/dist/components/BbBaseSlider/types.d.ts +200 -0
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.d.ts +35 -0
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.js +6 -0
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +146 -0
- package/dist/components/BbBaseSwitch/types.d.ts +10 -0
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.d.ts +19 -0
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.js +6 -0
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +190 -0
- package/dist/components/BbBaseSwitchGroup/types.d.ts +8 -0
- package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.d.ts +4 -0
- package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.js +6 -0
- package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/BbBaseSwitchIcon/types.d.ts +48 -0
- package/dist/components/BbBaseTag/BbBaseTag.vue.d.ts +50 -0
- package/dist/components/BbBaseTag/BbBaseTag.vue.js +6 -0
- package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +266 -0
- package/dist/components/BbBaseTag/types.d.ts +160 -0
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.d.ts +45 -0
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.js +6 -0
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +200 -0
- package/dist/components/BbBaseTextInput/types.d.ts +209 -0
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.d.ts +39 -0
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.js +6 -0
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +175 -0
- package/dist/components/BbBaseTextarea/types.d.ts +170 -0
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +27 -0
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.js +6 -0
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +517 -0
- package/dist/components/BbBaseTimePickerInput/types.d.ts +151 -0
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +0 -1
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.js +6 -0
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +224 -0
- package/dist/components/BbBreadcrumbs/estimateBreadcrumbItemWidth.js +47 -0
- package/dist/components/BbBreadcrumbs/types.d.ts +33 -22
- package/dist/components/BbButton/BbButton.vue.d.ts +6 -5
- package/dist/components/BbButton/BbButton.vue.js +6 -0
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +177 -0
- package/dist/components/BbButton/types.d.ts +48 -47
- package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +4 -3
- package/dist/components/BbCheckbox/BbCheckbox.vue.js +6 -0
- package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +146 -0
- package/dist/components/BbCheckbox/types.d.ts +24 -10
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +2 -13
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.js +6 -0
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +190 -0
- package/dist/components/BbCheckboxGroup/types.d.ts +44 -23
- package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +2 -1
- package/dist/components/BbCollapsible/BbCollapsible.vue.js +6 -0
- package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/BbCollapsible/types.d.ts +10 -9
- package/dist/components/BbColorInput/BbColorInput.vue.d.ts +10 -1
- package/dist/components/BbColorInput/BbColorInput.vue.js +6 -0
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +177 -0
- package/dist/components/BbColorInput/types.d.ts +37 -11
- package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +5 -8
- package/dist/components/BbColorPalette/BbColorPalette.vue.js +5 -0
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/components/BbColorPalette/types.d.ts +66 -53
- package/dist/components/BbConfirm/BbConfirm.vue.js +6 -0
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +5 -6
- package/dist/components/BbConfirm/BbConfirmPortal.vue.js +5 -0
- package/dist/components/BbConfirm/BbConfirmPortal.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +37 -0
- package/dist/components/BbDatePicker/BbDatePicker.vue.js +6 -0
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +319 -0
- package/dist/components/BbDatePicker/types.d.ts +155 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +3 -1
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.js +6 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +179 -0
- package/dist/components/BbDatePickerInput/types.d.ts +127 -16
- package/dist/components/BbDialog/BbDialog.vue.d.ts +8 -6
- package/dist/components/BbDialog/BbDialog.vue.js +6 -0
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +214 -0
- package/dist/components/BbDialog/types.d.ts +146 -1
- package/dist/components/BbDialog/useDialogStack.d.ts +5 -0
- package/dist/components/BbDialog/useDialogStack.js +20 -0
- package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +18 -0
- package/dist/components/BbDropdown/AdaptiveDropdown.vue.js +6 -0
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +116 -0
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +14 -7
- package/dist/components/BbDropdown/BbDropdown.vue.js +6 -0
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +560 -0
- package/dist/components/BbDropdown/BbDropdownGroup.vue.d.ts +44 -0
- package/dist/components/BbDropdown/BbDropdownGroup.vue.js +5 -0
- package/dist/components/BbDropdown/BbDropdownGroup.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/BbDropdown/BbDropdownList.vue.d.ts +27 -0
- package/dist/components/BbDropdown/BbDropdownList.vue.js +6 -0
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +464 -0
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue.d.ts +16 -0
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue.js +5 -0
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +168 -0
- package/dist/components/BbDropdown/normalizeGroups.d.ts +18 -0
- package/dist/components/BbDropdown/normalizeGroups.js +46 -0
- package/dist/components/BbDropdown/types.d.ts +457 -45
- package/dist/components/BbDropdown/types.js +4 -0
- package/dist/components/BbDropdown/useDropdownContext.d.ts +89 -0
- package/dist/components/BbDropdown/useDropdownContext.js +9 -0
- package/dist/components/BbDropdown/useDropdownGroupRegistry.d.ts +108 -0
- package/dist/components/BbDropdown/useDropdownGroupRegistry.js +5 -0
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +3 -3
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.js +6 -0
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +119 -0
- package/dist/components/BbDropdownButton/types.d.ts +45 -52
- package/dist/components/BbDropzone/BbDropzone.vue.d.ts +5 -4
- package/dist/components/BbDropzone/BbDropzone.vue.js +6 -0
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +284 -0
- package/dist/components/BbDropzone/types.d.ts +55 -7
- package/dist/components/BbIcon/BbIcon.vue.d.ts +3 -2
- package/dist/components/BbIcon/BbIcon.vue.js +6 -0
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/components/BbIcon/types.d.ts +6 -19
- package/dist/components/BbIndicator/BbIndicator.vue.d.ts +14 -0
- package/dist/components/BbIndicator/BbIndicator.vue.js +6 -0
- package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/components/BbIndicator/types.d.ts +49 -0
- package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +12 -6
- package/dist/components/BbNumberInput/BbNumberInput.vue.js +6 -0
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +194 -0
- package/dist/components/BbNumberInput/types.d.ts +31 -4
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +10 -10
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.js +6 -0
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +284 -0
- package/dist/components/BbOffCanvas/types.d.ts +71 -39
- package/dist/components/BbOffCanvas/useOffCanvasStack.d.ts +25 -0
- package/dist/components/BbOffCanvas/useOffCanvasStack.js +68 -0
- package/dist/components/BbPagination/BbPagination.vue.d.ts +3 -4
- package/dist/components/BbPagination/BbPagination.vue.js +6 -0
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +244 -0
- package/dist/components/BbPagination/paginationFit.d.ts +38 -0
- package/dist/components/BbPagination/paginationFit.js +13 -0
- package/dist/components/BbPagination/types.d.ts +51 -16
- package/dist/components/BbPopover/BbPopover.vue.d.ts +10 -15
- package/dist/components/BbPopover/BbPopover.vue.js +6 -0
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +310 -0
- package/dist/components/BbPopover/escapeStack.d.ts +6 -0
- package/dist/components/BbPopover/escapeStack.js +10 -0
- package/dist/components/BbPopover/types.d.ts +84 -31
- package/dist/components/BbProgress/BbProgress.vue.d.ts +1 -0
- package/dist/components/BbProgress/BbProgress.vue.js +6 -0
- package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/BbProgress/types.d.ts +15 -1
- package/dist/components/BbRadio/BbRadio.vue.d.ts +5 -3
- package/dist/components/BbRadio/BbRadio.vue.js +6 -0
- package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +133 -0
- package/dist/components/BbRadio/types.d.ts +23 -9
- package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +4 -14
- package/dist/components/BbRadioGroup/BbRadioGroup.vue.js +6 -0
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +184 -0
- package/dist/components/BbRadioGroup/types.d.ts +41 -22
- package/dist/components/BbRating/BbRating.vue.d.ts +4 -1
- package/dist/components/BbRating/BbRating.vue.js +6 -0
- package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +150 -0
- package/dist/components/BbRating/types.d.ts +37 -10
- package/dist/components/BbSelect/BbSelect.vue.d.ts +2 -11
- package/dist/components/BbSelect/BbSelect.vue.js +6 -0
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +241 -0
- package/dist/components/BbSelect/types.d.ts +105 -59
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +1 -10
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.js +6 -0
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +637 -0
- package/dist/components/BbSelectPopover/types.d.ts +189 -102
- package/dist/components/BbSlider/BbSlider.vue.d.ts +3 -6
- package/dist/components/BbSlider/BbSlider.vue.js +6 -0
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +166 -0
- package/dist/components/BbSlider/types.d.ts +37 -13
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +3 -1
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.js +6 -0
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +79 -0
- package/dist/components/BbSmoothHeight/types.d.ts +13 -2
- package/dist/components/BbSpinner/BbSpinner.vue.d.ts +1 -1
- package/dist/components/BbSpinner/BbSpinner.vue.js +6 -0
- package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/BbSpinner/types.d.ts +10 -3
- package/dist/components/BbSwitch/BbSwitch.vue.d.ts +5 -3
- package/dist/components/BbSwitch/BbSwitch.vue.js +6 -0
- package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +142 -0
- package/dist/components/BbSwitch/types.d.ts +3 -1
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +4 -14
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.js +6 -0
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +190 -0
- package/dist/components/BbSwitchGroup/types.d.ts +3 -22
- package/dist/components/BbTable/BbTable.vue.d.ts +53 -31
- package/dist/components/BbTable/BbTable.vue.js +6 -0
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +889 -0
- package/dist/components/BbTable/types.d.ts +176 -37
- package/dist/components/BbTable/utils.d.ts +9 -1
- package/dist/components/BbTable/utils.js +53 -0
- package/dist/components/BbTabs/BbTabs.vue.d.ts +20 -0
- package/dist/components/BbTabs/BbTabs.vue.js +6 -0
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/BbTabs/BbTabsList.vue.d.ts +19 -0
- package/dist/components/BbTabs/BbTabsList.vue.js +6 -0
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/components/BbTabs/BbTabsPanes.vue.d.ts +16 -0
- package/dist/components/BbTabs/BbTabsPanes.vue.js +6 -0
- package/dist/components/BbTabs/BbTabsPanes.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/BbTabs/BbTabsRoot.vue.d.ts +20 -0
- package/dist/components/BbTabs/BbTabsRoot.vue.js +5 -0
- package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/BbTabs/types.d.ts +264 -0
- package/dist/components/BbTag/BbTag.vue.d.ts +19 -6
- package/dist/components/BbTag/BbTag.vue.js +6 -0
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +187 -0
- package/dist/components/BbTag/types.d.ts +48 -17
- package/dist/components/BbTextInput/BbTextInput.vue.d.ts +10 -1
- package/dist/components/BbTextInput/BbTextInput.vue.js +6 -0
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +195 -0
- package/dist/components/BbTextInput/types.d.ts +24 -4
- package/dist/components/BbTextarea/BbTextarea.vue.d.ts +10 -1
- package/dist/components/BbTextarea/BbTextarea.vue.js +6 -0
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +178 -0
- package/dist/components/BbTextarea/types.d.ts +26 -2
- package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +33 -0
- package/dist/components/BbTimePicker/BbTimePicker.vue.js +6 -0
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +244 -0
- package/dist/components/BbTimePicker/types.d.ts +129 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +25 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.js +6 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +157 -0
- package/dist/components/BbTimePickerInput/types.d.ts +165 -0
- package/dist/components/BbToast/BbToast.vue.d.ts +2 -3
- package/dist/components/BbToast/BbToast.vue.js +6 -0
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/BbToast/BbToastMessage.vue.d.ts +17 -8
- package/dist/components/BbToast/BbToastMessage.vue.js +5 -0
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +170 -0
- package/dist/components/BbToast/BbToastPortal.vue.d.ts +30 -0
- package/dist/components/BbToast/BbToastPortal.vue.js +5 -0
- package/dist/components/BbToast/BbToastPortal.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/BbToast/BbToastRegion.vue.d.ts +8 -0
- package/dist/components/BbToast/BbToastRegion.vue.js +5 -0
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/components/BbToast/types.d.ts +69 -5
- package/dist/components/BbTooltip/BbTooltip.vue.d.ts +4 -3
- package/dist/components/BbTooltip/BbTooltip.vue.js +6 -0
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +160 -0
- package/dist/components/BbTooltip/types.d.ts +61 -11
- package/dist/components/BbTree/BbTree.vue.d.ts +26 -13
- package/dist/components/BbTree/BbTree.vue.js +6 -0
- package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/BbTree/BbTreeLevel.vue.d.ts +19 -0
- package/dist/components/BbTree/BbTreeLevel.vue.js +5 -0
- package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +94 -0
- package/dist/components/BbTree/context.d.ts +17 -0
- package/dist/components/BbTree/context.js +4 -0
- package/dist/components/BbTree/types.d.ts +93 -42
- package/dist/components/ChipsBox/ChipsBox.vue.d.ts +2 -1
- package/dist/components/ChipsBox/ChipsBox.vue.js +5 -0
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +98 -0
- package/dist/components/ChipsBox/types.d.ts +12 -5
- package/dist/components/ClearableButton/ClearableButton.vue.d.ts +2 -1
- package/dist/components/ClearableButton/ClearableButton.vue.js +6 -0
- package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/ClearableButton/types.d.ts +7 -1
- package/dist/components/CloseIcon/CloseButton.vue.d.ts +5 -0
- package/dist/components/CloseIcon/CloseButton.vue.js +7 -0
- package/dist/components/CloseIcon/CloseButton.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/components/CloseIcon/types.d.ts +2 -0
- package/dist/components/CommaBox/CommaBox.vue.d.ts +2 -1
- package/dist/components/CommaBox/CommaBox.vue.js +6 -0
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/components/CommaBox/types.d.ts +6 -7
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.d.ts +19 -0
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.js +6 -0
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/components/CommonInputWrapper/types.d.ts +96 -0
- package/dist/components/CommonPopover/CommonPopover.vue.d.ts +3 -3
- package/dist/components/CommonPopover/CommonPopover.vue.js +6 -0
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +160 -0
- package/dist/components/CommonPopover/types.d.ts +61 -16
- package/dist/components/ErrorIcon/ErrorIcon.vue.d.ts +2 -0
- package/dist/components/ErrorIcon/ErrorIcon.vue.js +6 -0
- package/dist/components/ErrorIcon/ErrorIcon.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/components/FlatListBox/FlatListBox.vue.d.ts +2 -5
- package/dist/components/FlatListBox/FlatListBox.vue.js +5 -0
- package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +167 -0
- package/dist/components/FlatListBox/types.d.ts +1 -1
- package/dist/components/GroupedListBox/GroupedListBox.vue.d.ts +2 -5
- package/dist/components/GroupedListBox/GroupedListBox.vue.js +5 -0
- package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +218 -0
- package/dist/components/ListBox/ListBox.vue.d.ts +3 -6
- package/dist/components/ListBox/ListBox.vue.js +5 -0
- package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +112 -0
- package/dist/components/ListBox/types.d.ts +1 -1
- package/dist/components/OptionsContainer/OptionsContainer.vue.d.ts +1 -0
- package/dist/components/OptionsContainer/OptionsContainer.vue.js +5 -0
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/components/OptionsContainer/types.d.ts +14 -24
- package/dist/components/Transitions/ScaleFade.vue.js +5 -0
- package/dist/components/Transitions/ScaleFade.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/Transitions/Slide.vue.js +7 -0
- package/dist/components/Transitions/Slide.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/WarningIcon/WarningIcon.vue.d.ts +5 -0
- package/dist/components/WarningIcon/WarningIcon.vue.js +6 -0
- package/dist/components/WarningIcon/WarningIcon.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/components/WarningIcon/types.d.ts +3 -0
- package/dist/composables/__testResets.d.ts +1 -0
- package/dist/composables/useActiveInactiveState.d.ts +4 -0
- package/dist/composables/useActiveInactiveState.js +21 -0
- package/dist/composables/useBaseOptions.d.ts +3 -3
- package/dist/composables/useBaseOptions.js +31 -0
- package/dist/composables/useBbConfig.d.ts +8 -37
- package/dist/composables/useBbConfig.js +5 -0
- package/dist/composables/useBbDropdownContext.d.ts +89 -0
- package/dist/composables/useBbDropdownContext.js +46 -0
- package/dist/composables/useBbFormContext.d.ts +90 -0
- package/dist/composables/useBbFormContext.js +69 -0
- package/dist/composables/useBbTableContext.d.ts +195 -0
- package/dist/composables/useBbTableContext.js +208 -0
- package/dist/composables/useBbTabsContext.d.ts +111 -0
- package/dist/composables/useBbTabsContext.js +219 -0
- package/dist/composables/useBreakpoint.d.ts +13 -0
- package/dist/composables/useBreakpoint.js +39 -0
- package/dist/composables/useBroadcastChannelInstance.d.ts +1 -3
- package/dist/composables/useBroadcastChannelInstance.js +39 -0
- package/dist/composables/useCancelableFunction.js +37 -0
- package/dist/composables/useCoherence.js +16 -0
- package/dist/composables/useConfirm.d.ts +257 -67
- package/dist/composables/useConfirm.js +122 -0
- package/dist/composables/useCountdown.js +42 -0
- package/dist/composables/useHashedWatcher.d.ts +17 -0
- package/dist/composables/useHashedWatcher.js +14 -0
- package/dist/composables/useId.d.ts +3 -2
- package/dist/composables/useIndexById.js +16 -0
- package/dist/composables/useInertiaPage.d.ts +10 -0
- package/dist/composables/useInertiaPage.js +8 -0
- package/dist/composables/useItemText.js +17 -0
- package/dist/composables/useItemValue.js +9 -0
- package/dist/composables/useItemsGetter.d.ts +1 -1
- package/dist/composables/useItemsGetter.js +30 -0
- package/dist/composables/useListboxFocus.js +66 -0
- package/dist/composables/useLocale.d.ts +1 -1
- package/dist/composables/useLocale.js +11 -0
- package/dist/composables/useLogger.d.ts +1 -1
- package/dist/composables/useLogger.js +10 -0
- package/dist/composables/useMinimalQueue.d.ts +1 -1
- package/dist/composables/useMobile.js +7 -0
- package/dist/composables/useOnFalsy.d.ts +2 -0
- package/dist/composables/useOnFalsy.js +9 -0
- package/dist/composables/useOnTruthy.d.ts +7 -0
- package/dist/composables/useOnTruthy.js +9 -0
- package/dist/composables/usePrefill.d.ts +2 -1
- package/dist/composables/usePrefill.js +24 -0
- package/dist/composables/useQuery.d.ts +15 -3
- package/dist/composables/useQuery.js +42 -0
- package/dist/composables/useRoute.js +11 -0
- package/dist/composables/useRouter.js +8 -0
- package/dist/composables/useSafeArea.d.ts +51 -0
- package/dist/composables/useSafeArea.js +16 -0
- package/dist/composables/useSegmentedFields.d.ts +103 -0
- package/dist/composables/useSegmentedFields.js +152 -0
- package/dist/composables/useTableWidthContext.d.ts +5 -0
- package/dist/composables/useTableWidthContext.js +42 -0
- package/dist/composables/useToast.d.ts +17 -73
- package/dist/composables/useToast.js +49 -0
- package/dist/composables/useTopLayer.d.ts +9 -0
- package/dist/composables/useTopLayer.js +7 -0
- package/dist/composables/useUntil.js +13 -0
- package/dist/composables/useViewportWidth.d.ts +17 -0
- package/dist/composables/useViewportWidth.js +6 -0
- package/dist/confirm-variants.d.ts +10 -0
- package/dist/deprecation/ai-deprecations.json.d.ts +784 -0
- package/dist/deprecation/ai-deprecations.json.js +4 -0
- package/dist/deprecation/removedProps.d.ts +3 -0
- package/dist/deprecation/removedProps.js +13 -0
- package/dist/directives/bbColor.d.ts +65 -0
- package/dist/directives/bbColor.js +24 -0
- package/dist/directives/bbDate.d.ts +66 -0
- package/dist/directives/bbDate.js +24 -0
- package/dist/directives/bbDropdown.d.ts +15 -11
- package/dist/directives/bbDropdown.js +23 -0
- package/dist/directives/bbTime.d.ts +64 -0
- package/dist/directives/bbTime.js +24 -0
- package/dist/directives/bbTooltip.d.ts +16 -11
- package/dist/directives/bbTooltip.js +24 -0
- package/dist/dropdown-item-variants.d.ts +10 -0
- package/dist/i18n/index.d.ts +51 -3
- package/dist/i18n/index.js +27 -0
- package/dist/i18n/locales/cs.json +115 -0
- package/dist/i18n/locales/da.json +115 -0
- package/dist/i18n/locales/de.json +115 -0
- package/dist/i18n/locales/el.json +115 -0
- package/dist/i18n/locales/en.json +115 -0
- package/dist/i18n/locales/es.json +115 -0
- package/dist/i18n/locales/fi.json +115 -0
- package/dist/i18n/locales/fr.json +115 -0
- package/dist/i18n/locales/hu.json +115 -0
- package/dist/i18n/locales/it.json +115 -0
- package/dist/i18n/locales/ja.json +115 -0
- package/dist/i18n/locales/ko.json +115 -0
- package/dist/i18n/locales/nb.json +115 -0
- package/dist/i18n/locales/nl.json +115 -0
- package/dist/i18n/locales/pl.json +115 -0
- package/dist/i18n/locales/pt.json +115 -0
- package/dist/i18n/locales/ro.json +115 -0
- package/dist/i18n/locales/ru.json +115 -0
- package/dist/i18n/locales/sv.json +115 -0
- package/dist/i18n/locales/tr.json +115 -0
- package/dist/i18n/locales/uk.json +115 -0
- package/dist/i18n/locales/zh-cn.json +115 -0
- package/dist/icons-whitelist.d.ts +8 -0
- package/dist/index.d.ts +94 -79
- package/dist/index.js +76 -82
- package/dist/indicator-variants.d.ts +13 -0
- package/dist/llms-full.txt +77073 -0
- package/dist/llms-medium.txt +1334 -0
- package/dist/llms.txt +103 -0
- package/dist/locale-blueprint.json +141 -0
- package/dist/nuxt-module.d.ts +3 -0
- package/dist/nuxt.js +19 -0
- package/dist/plugin.d.ts +4 -0
- package/dist/plugin.js +22 -0
- package/dist/reset.css +1 -0
- package/dist/reset.d.ts +0 -0
- package/dist/runtime/nuxt-plugin.d.ts +2 -0
- package/dist/runtime/nuxt-plugin.js +24 -0
- package/dist/styles.css +2 -0
- package/dist/styles.d.ts +0 -0
- package/dist/toast-variants.d.ts +13 -0
- package/dist/tooltip-variants.d.ts +10 -0
- package/dist/types/ActionButton.d.ts +32 -0
- package/dist/types/AlertVariant.d.ts +16 -0
- package/dist/types/BadgeVariant.d.ts +16 -0
- package/dist/types/ButtonVariant.d.ts +17 -0
- package/dist/types/Classes.d.ts +1 -1
- package/dist/types/ColumnName.d.ts +1 -1
- package/dist/types/CommonProps.d.ts +66 -279
- package/dist/types/Config.d.ts +84 -0
- package/dist/types/ConfirmVariant.d.ts +15 -0
- package/dist/types/DropdownItemVariant.d.ts +18 -0
- package/dist/types/Icon.d.ts +5 -7
- package/dist/types/IndicatorVariant.d.ts +16 -0
- package/dist/types/InputDirection.d.ts +15 -0
- package/dist/types/ItemAccessor.d.ts +21 -0
- package/dist/types/Placement.d.ts +6 -0
- package/dist/types/ResponsiveSize.d.ts +20 -0
- package/dist/types/SizeScale.d.ts +8 -0
- package/dist/types/ToastVariant.d.ts +17 -0
- package/dist/types/TooltipVariant.d.ts +18 -0
- package/dist/utilities/functions/bytesToUnit.d.ts +2 -0
- package/dist/utilities/functions/bytesToUnit.js +18 -0
- package/dist/utilities/functions/clampPrecision.js +10 -0
- package/dist/utilities/functions/convertDateValue.d.ts +23 -10
- package/dist/utilities/functions/convertDateValue.js +12 -0
- package/dist/utilities/functions/deburr.js +5 -0
- package/dist/utilities/functions/empty.js +5 -0
- package/dist/utilities/functions/flattenTree.d.ts +1 -1
- package/dist/utilities/functions/hash.js +5 -0
- package/dist/utilities/functions/isDateDisabled.d.ts +1 -0
- package/dist/utilities/functions/isDateDisabled.js +20 -0
- package/dist/utilities/functions/isEqual.js +5 -0
- package/dist/utilities/functions/isNotEmpty.js +5 -0
- package/dist/utilities/functions/matchAnyKey.d.ts +1 -1
- package/dist/utilities/functions/matchAnyKey.js +15 -0
- package/dist/utilities/functions/parseSize.d.ts +1 -1
- package/dist/utilities/functions/parseSize.js +15 -0
- package/dist/utilities/functions/percentage.js +11 -0
- package/dist/utilities/functions/pipe.d.ts +1 -1
- package/dist/utilities/functions/reject.d.ts +25 -0
- package/dist/utilities/functions/reject.js +28 -0
- package/dist/utilities/functions/resolveEnumProp.d.ts +19 -0
- package/dist/utilities/functions/resolveEnumProp.js +5 -0
- package/dist/utilities/functions/slotKey.d.ts +13 -0
- package/dist/utilities/functions/slotKey.js +4 -0
- package/dist/utilities/functions/sort.d.ts +2 -2
- package/dist/utilities/functions/sort.js +19 -0
- package/dist/utilities/functions/throttle.js +5 -0
- package/dist/utilities/functions/waitFor.d.ts +9 -2
- package/dist/utilities/functions/waitFor.js +14 -0
- package/dist/utilities/functions/warnRemovedAttrs.d.ts +11 -0
- package/dist/utilities/functions/warnRemovedAttrs.js +20 -0
- package/dist/utilities/functions/when.js +5 -0
- package/dist/utilities/misc/iconsInjectionKey.d.ts +15 -0
- package/dist/utilities/misc/iconsInjectionKey.js +4 -0
- package/dist/utilities/misc/transitions.d.ts +5 -0
- package/dist/utilities/misc/transitions.js +8 -0
- package/dist/utils/injectLibraryStyles.d.ts +6 -0
- package/dist/utils/injectLibraryStyles.js +38 -0
- package/dist/validated/BbCheckbox.vue.d.ts +29 -0
- package/dist/validated/BbCheckbox.vue.js +5 -0
- package/dist/validated/BbCheckbox.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/validated/BbCheckboxGroup.vue.d.ts +34 -0
- package/dist/validated/BbCheckboxGroup.vue.js +5 -0
- package/dist/validated/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/validated/BbColorInput.vue.d.ts +36 -0
- package/dist/validated/BbColorInput.vue.js +5 -0
- package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/validated/BbDatePickerInput.vue.d.ts +40 -0
- package/dist/validated/BbDatePickerInput.vue.js +5 -0
- package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +87 -0
- package/dist/validated/BbDropzone.vue.d.ts +24 -0
- package/dist/validated/BbDropzone.vue.js +5 -0
- package/dist/validated/BbDropzone.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/validated/BbForm.vue.d.ts +28 -0
- package/dist/validated/BbForm.vue.js +5 -0
- package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/validated/BbNumberInput.vue.d.ts +36 -0
- package/dist/validated/BbNumberInput.vue.js +5 -0
- package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/validated/BbRadioGroup.vue.d.ts +34 -0
- package/dist/validated/BbRadioGroup.vue.js +5 -0
- package/dist/validated/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/validated/BbRating.vue.d.ts +30 -0
- package/dist/validated/BbRating.vue.js +5 -0
- package/dist/validated/BbRating.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/validated/BbSelect.vue.d.ts +46 -0
- package/dist/validated/BbSelect.vue.js +5 -0
- package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/validated/BbSlider.vue.d.ts +36 -0
- package/dist/validated/BbSlider.vue.js +5 -0
- package/dist/validated/BbSlider.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/validated/BbSwitch.vue.d.ts +29 -0
- package/dist/validated/BbSwitch.vue.js +5 -0
- package/dist/validated/BbSwitch.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/validated/BbSwitchGroup.vue.d.ts +34 -0
- package/dist/validated/BbSwitchGroup.vue.js +5 -0
- package/dist/validated/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/validated/BbTag.vue.d.ts +36 -0
- package/dist/validated/BbTag.vue.js +5 -0
- package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/validated/BbTextInput.vue.d.ts +36 -0
- package/dist/validated/BbTextInput.vue.js +5 -0
- package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/validated/BbTextarea.vue.d.ts +36 -0
- package/dist/validated/BbTextarea.vue.js +5 -0
- package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/validated/BbTimePickerInput.vue.d.ts +36 -0
- package/dist/validated/BbTimePickerInput.vue.js +5 -0
- package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/validated/index.d.ts +29 -0
- package/dist/validated/useValidatedField.d.ts +52 -0
- package/dist/validated/useValidatedField.js +51 -0
- package/dist/validated.js +21 -0
- package/dist/vite-plugin.d.ts +217 -0
- package/dist/vite.js +530 -0
- package/llms.txt +105 -0
- package/package.json +162 -60
- package/scripts/lib/__fixtures__/validated-manifest.json +65 -0
- package/scripts/lib/ensure-manifest.mjs +39 -0
- package/scripts/lib/eslint-plugin-autofix.node.test.mjs +109 -0
- package/scripts/lib/eslint-plugin.mjs +285 -0
- package/scripts/lib/eslint-plugin.node.test.mjs +161 -0
- package/scripts/lib/html-attributes.mjs +191 -0
- package/scripts/lib/mcp-config.mjs +126 -0
- package/scripts/lib/migrate-fix.mjs +115 -0
- package/scripts/lib/validate-bb-markup.mjs +421 -0
- package/dist/ai/BaseButton.md +0 -449
- package/dist/ai/BaseCheckbox.md +0 -512
- package/dist/ai/BaseCheckboxGroup.md +0 -597
- package/dist/ai/BaseColorInput.md +0 -461
- package/dist/ai/BaseDatePicker.md +0 -739
- package/dist/ai/BaseDatePickerInput.md +0 -1517
- package/dist/ai/BaseDialog.md +0 -610
- package/dist/ai/BaseInputContainer.md +0 -570
- package/dist/ai/BaseNumberInput.md +0 -509
- package/dist/ai/BaseRadio.md +0 -405
- package/dist/ai/BaseRadioGroup.md +0 -535
- package/dist/ai/BaseRating.md +0 -489
- package/dist/ai/BaseSelect.md +0 -1742
- package/dist/ai/BaseSlider.md +0 -871
- package/dist/ai/BaseSwitch.md +0 -322
- package/dist/ai/BaseSwitchGroup.md +0 -298
- package/dist/ai/BaseTag.md +0 -623
- package/dist/ai/BaseTextInput.md +0 -392
- package/dist/ai/BaseTextarea.md +0 -398
- package/dist/ai/BbChip.md +0 -147
- package/dist/ai/BbIntersection.md +0 -120
- package/dist/ai/BbRatio.md +0 -61
- package/dist/ai/BbRows.md +0 -307
- package/dist/ai/BbTab.md +0 -950
- package/dist/ai/CommonInputInnerContainer.md +0 -414
- package/dist/ai/CommonInputOuterContainer.md +0 -55
- package/dist/components/BaseButton/BaseButton.vue.d.ts +0 -14
- package/dist/components/BaseButton/types.d.ts +0 -159
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +0 -39
- package/dist/components/BaseCheckbox/types.d.ts +0 -213
- package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +0 -30
- package/dist/components/BaseCheckboxGroup/types.d.ts +0 -282
- package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +0 -35
- package/dist/components/BaseColorInput/ColorPalette.vue.d.ts +0 -13
- package/dist/components/BaseColorInput/types.d.ts +0 -233
- package/dist/components/BaseDatePicker/BaseDatePickerHeader.vue.d.ts +0 -15
- package/dist/components/BaseDatePicker/BaseDatePickerInputDaySelector.vue.d.ts +0 -58
- package/dist/components/BaseDatePicker/BaseDatePickerMonthSelector.vue.d.ts +0 -12
- package/dist/components/BaseDatePicker/BaseDatePickerYearSelector.vue.d.ts +0 -12
- package/dist/components/BaseDatePicker/types.d.ts +0 -100
- package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +0 -26
- package/dist/components/BaseDatePickerInput/types.d.ts +0 -206
- package/dist/components/BaseDialog/BaseDialog.vue.d.ts +0 -37
- package/dist/components/BaseDialog/types.d.ts +0 -180
- package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +0 -18
- package/dist/components/BaseInputContainer/types.d.ts +0 -126
- package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +0 -46
- package/dist/components/BaseNumberInput/types.d.ts +0 -191
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +0 -31
- package/dist/components/BaseRadio/types.d.ts +0 -173
- package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +0 -30
- package/dist/components/BaseRadioGroup/types.d.ts +0 -240
- package/dist/components/BaseRating/BaseRating.vue.d.ts +0 -35
- package/dist/components/BaseRating/types.d.ts +0 -144
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +0 -28
- package/dist/components/BaseSelect/types.d.ts +0 -470
- package/dist/components/BaseSlider/BaseSlider.vue.d.ts +0 -38
- package/dist/components/BaseSlider/types.d.ts +0 -201
- package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +0 -34
- package/dist/components/BaseSwitch/types.d.ts +0 -25
- package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +0 -30
- package/dist/components/BaseSwitchGroup/types.d.ts +0 -8
- package/dist/components/BaseTag/BaseTag.vue.d.ts +0 -37
- package/dist/components/BaseTag/types.d.ts +0 -136
- package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +0 -33
- package/dist/components/BaseTextInput/types.d.ts +0 -166
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +0 -31
- package/dist/components/BaseTextarea/types.d.ts +0 -151
- package/dist/components/BbChip/BbChip.vue.d.ts +0 -17
- package/dist/components/BbChip/types.d.ts +0 -23
- package/dist/components/BbIntersection/BbIntersection.vue.d.ts +0 -23
- package/dist/components/BbIntersection/types.d.ts +0 -36
- package/dist/components/BbRatio/BbRatio.vue.d.ts +0 -14
- package/dist/components/BbRatio/types.d.ts +0 -15
- package/dist/components/BbRows/BbRows.vue.d.ts +0 -62
- package/dist/components/BbRows/types.d.ts +0 -21
- package/dist/components/BbTab/BbTab.vue.d.ts +0 -27
- package/dist/components/BbTab/types.d.ts +0 -186
- package/dist/components/CommonInputInnerContainer/CommonInputInnerContainer.vue.d.ts +0 -15
- package/dist/components/CommonInputInnerContainer/types.d.ts +0 -47
- package/dist/components/CommonInputOuterContainer/CommonInputOuterContainer.vue.d.ts +0 -11
- package/dist/components/CommonInputOuterContainer/types.d.ts +0 -16
- package/dist/composables/useModalsState.d.ts +0 -5
- package/dist/composables/useQueue.d.ts +0 -58
- package/dist/composables/useWizard.d.ts +0 -85
- package/dist/i18n/en.d.ts +0 -67
- package/dist/i18n/it.d.ts +0 -67
- package/dist/index.css +0 -2
- package/dist/index100.js +0 -6
- package/dist/index101.js +0 -300
- package/dist/index102.js +0 -16
- package/dist/index103.js +0 -16
- package/dist/index104.js +0 -27
- package/dist/index109.js +0 -19
- package/dist/index11.js +0 -42
- package/dist/index110.js +0 -12
- package/dist/index111.js +0 -19
- package/dist/index112.js +0 -25
- package/dist/index114.js +0 -7
- package/dist/index115.js +0 -241
- package/dist/index116.js +0 -5
- package/dist/index117.js +0 -42
- package/dist/index118.js +0 -5
- package/dist/index119.js +0 -53
- package/dist/index120.js +0 -5
- package/dist/index121.js +0 -32
- package/dist/index122.js +0 -5
- package/dist/index124.js +0 -52
- package/dist/index125.js +0 -5
- package/dist/index126.js +0 -223
- package/dist/index128.js +0 -6
- package/dist/index129.js +0 -162
- package/dist/index13.js +0 -92
- package/dist/index130.js +0 -25
- package/dist/index131.js +0 -51
- package/dist/index132.js +0 -5
- package/dist/index133.js +0 -607
- package/dist/index135.js +0 -6
- package/dist/index136.js +0 -14
- package/dist/index137.js +0 -153
- package/dist/index139.js +0 -6
- package/dist/index14.js +0 -306
- package/dist/index140.js +0 -224
- package/dist/index141.js +0 -5
- package/dist/index143.js +0 -128
- package/dist/index145.js +0 -6
- package/dist/index146.js +0 -8
- package/dist/index147.js +0 -182
- package/dist/index149.js +0 -6
- package/dist/index15.js +0 -10
- package/dist/index151.js +0 -4
- package/dist/index152.js +0 -95
- package/dist/index154.js +0 -6
- package/dist/index155.js +0 -168
- package/dist/index157.js +0 -6
- package/dist/index158.js +0 -145
- package/dist/index16.js +0 -59
- package/dist/index160.js +0 -6
- package/dist/index161.js +0 -53
- package/dist/index163.js +0 -6
- package/dist/index164.js +0 -16
- package/dist/index166.js +0 -35
- package/dist/index168.js +0 -6
- package/dist/index169.js +0 -89
- package/dist/index171.js +0 -6
- package/dist/index172.js +0 -82
- package/dist/index174.js +0 -6
- package/dist/index175.js +0 -38
- package/dist/index176.js +0 -461
- package/dist/index177.js +0 -28
- package/dist/index178.js +0 -66
- package/dist/index18.js +0 -35
- package/dist/index180.js +0 -162
- package/dist/index181.js +0 -5
- package/dist/index182.js +0 -217
- package/dist/index183.js +0 -5
- package/dist/index184.js +0 -112
- package/dist/index185.js +0 -5
- package/dist/index186.js +0 -459
- package/dist/index188.js +0 -6
- package/dist/index19.js +0 -4
- package/dist/index192.js +0 -268
- package/dist/index194.js +0 -6
- package/dist/index195.js +0 -124
- package/dist/index197.js +0 -6
- package/dist/index198.js +0 -174
- package/dist/index2.js +0 -20
- package/dist/index20.js +0 -9
- package/dist/index200.js +0 -6
- package/dist/index201.js +0 -224
- package/dist/index203.js +0 -6
- package/dist/index204.js +0 -135
- package/dist/index206.js +0 -6
- package/dist/index207.js +0 -5
- package/dist/index208.js +0 -170
- package/dist/index21.js +0 -35
- package/dist/index210.js +0 -6
- package/dist/index211.js +0 -37
- package/dist/index213.js +0 -6
- package/dist/index214.js +0 -63
- package/dist/index216.js +0 -6
- package/dist/index217.js +0 -74
- package/dist/index219.js +0 -6
- package/dist/index22.js +0 -6
- package/dist/index220.js +0 -65
- package/dist/index222.js +0 -6
- package/dist/index223.js +0 -67
- package/dist/index225.js +0 -6
- package/dist/index226.js +0 -41
- package/dist/index228.js +0 -6
- package/dist/index229.js +0 -10
- package/dist/index23.js +0 -7
- package/dist/index230.js +0 -22
- package/dist/index232.js +0 -8
- package/dist/index233.js +0 -297
- package/dist/index235.js +0 -6
- package/dist/index236.js +0 -47
- package/dist/index237.js +0 -165
- package/dist/index239.js +0 -6
- package/dist/index24.js +0 -9
- package/dist/index241.js +0 -159
- package/dist/index243.js +0 -6
- package/dist/index244.js +0 -134
- package/dist/index246.js +0 -6
- package/dist/index247.js +0 -167
- package/dist/index249.js +0 -6
- package/dist/index25.js +0 -24
- package/dist/index250.js +0 -147
- package/dist/index252.js +0 -6
- package/dist/index253.js +0 -35
- package/dist/index255.js +0 -6
- package/dist/index256.js +0 -65
- package/dist/index258.js +0 -6
- package/dist/index259.js +0 -19
- package/dist/index260.js +0 -5
- package/dist/index261.js +0 -160
- package/dist/index263.js +0 -6
- package/dist/index264.js +0 -60
- package/dist/index266.js +0 -6
- package/dist/index267.js +0 -134
- package/dist/index269.js +0 -6
- package/dist/index27.js +0 -4
- package/dist/index271.js +0 -206
- package/dist/index273.js +0 -6
- package/dist/index274.js +0 -85
- package/dist/index275.js +0 -5
- package/dist/index276.js +0 -55
- package/dist/index277.js +0 -5
- package/dist/index278.js +0 -164
- package/dist/index28.js +0 -8
- package/dist/index280.js +0 -6
- package/dist/index281.js +0 -145
- package/dist/index283.js +0 -6
- package/dist/index284.js +0 -11
- package/dist/index285.js +0 -200
- package/dist/index287.js +0 -6
- package/dist/index288.js +0 -241
- package/dist/index29.js +0 -7
- package/dist/index290.js +0 -6
- package/dist/index291.js +0 -21
- package/dist/index293.js +0 -6
- package/dist/index294.js +0 -125
- package/dist/index296.js +0 -6
- package/dist/index297.js +0 -161
- package/dist/index299.js +0 -6
- package/dist/index30.js +0 -118
- package/dist/index300.js +0 -127
- package/dist/index302.js +0 -6
- package/dist/index303.js +0 -20
- package/dist/index305.js +0 -6
- package/dist/index306.js +0 -116
- package/dist/index307.js +0 -5
- package/dist/index308.js +0 -507
- package/dist/index31.js +0 -10
- package/dist/index310.js +0 -6
- package/dist/index311.js +0 -196
- package/dist/index313.js +0 -6
- package/dist/index314.js +0 -142
- package/dist/index316.js +0 -6
- package/dist/index317.js +0 -134
- package/dist/index319.js +0 -6
- package/dist/index32.js +0 -28
- package/dist/index320.js +0 -162
- package/dist/index322.js +0 -6
- package/dist/index323.js +0 -319
- package/dist/index325.js +0 -6
- package/dist/index326.js +0 -40
- package/dist/index327.js +0 -43
- package/dist/index328.js +0 -665
- package/dist/index33.js +0 -5
- package/dist/index330.js +0 -6
- package/dist/index331.js +0 -155
- package/dist/index333.js +0 -6
- package/dist/index334.js +0 -142
- package/dist/index336.js +0 -6
- package/dist/index337.js +0 -155
- package/dist/index339.js +0 -6
- package/dist/index34.js +0 -112
- package/dist/index340.js +0 -58
- package/dist/index341.js +0 -5
- package/dist/index342.js +0 -20
- package/dist/index344.js +0 -6
- package/dist/index345.js +0 -142
- package/dist/index347.js +0 -6
- package/dist/index349.js +0 -109
- package/dist/index351.js +0 -6
- package/dist/index353.js +0 -24
- package/dist/index354.js +0 -23
- package/dist/index355.js +0 -839
- package/dist/index356.js +0 -474
- package/dist/index357.js +0 -52
- package/dist/index358.js +0 -7
- package/dist/index36.js +0 -6
- package/dist/index38.js +0 -63
- package/dist/index39.js +0 -63
- package/dist/index40.js +0 -9
- package/dist/index42.js +0 -8
- package/dist/index43.js +0 -179
- package/dist/index44.js +0 -21
- package/dist/index46.js +0 -385
- package/dist/index48.js +0 -6
- package/dist/index49.js +0 -33
- package/dist/index5.js +0 -34
- package/dist/index50.js +0 -12
- package/dist/index51.js +0 -8
- package/dist/index52.js +0 -106
- package/dist/index53.js +0 -330
- package/dist/index54.js +0 -97
- package/dist/index55.js +0 -328
- package/dist/index56.js +0 -28
- package/dist/index57.js +0 -102
- package/dist/index58.js +0 -157
- package/dist/index6.js +0 -38
- package/dist/index60.js +0 -6
- package/dist/index61.js +0 -131
- package/dist/index62.js +0 -5
- package/dist/index65.js +0 -35
- package/dist/index66.js +0 -26
- package/dist/index68.js +0 -6
- package/dist/index69.js +0 -54
- package/dist/index7.js +0 -58
- package/dist/index71.js +0 -6
- package/dist/index72.js +0 -14
- package/dist/index74.js +0 -6
- package/dist/index75.js +0 -159
- package/dist/index77.js +0 -6
- package/dist/index78.js +0 -4
- package/dist/index79.js +0 -4
- package/dist/index80.js +0 -54
- package/dist/index81.js +0 -5
- package/dist/index82.js +0 -5
- package/dist/index83.js +0 -141
- package/dist/index85.js +0 -6
- package/dist/index86.js +0 -65
- package/dist/index88.js +0 -6
- package/dist/index89.js +0 -30
- package/dist/index9.js +0 -11
- package/dist/index90.js +0 -19
- package/dist/index91.js +0 -17
- package/dist/index92.js +0 -9
- package/dist/index93.js +0 -34
- package/dist/index95.js +0 -16
- package/dist/index96.js +0 -10
- package/dist/index97.js +0 -18
- package/dist/index98.js +0 -189
- package/dist/types/VoidHtmlElements.d.ts +0 -1
- package/dist/utilities/functions/add.d.ts +0 -1
- package/dist/utilities/functions/booleanishToBoolean.d.ts +0 -6
- package/dist/utilities/functions/capitalize.d.ts +0 -4
- package/dist/utilities/functions/cloneDeep.d.ts +0 -1
- package/dist/utilities/functions/debounce.d.ts +0 -1
- package/dist/utilities/functions/drop.d.ts +0 -1
- package/dist/utilities/functions/exceedsPrecision.d.ts +0 -1
- package/dist/utilities/functions/findRight.d.ts +0 -4
- package/dist/utilities/functions/findRightIndex.d.ts +0 -4
- package/dist/utilities/functions/flow.d.ts +0 -1
- package/dist/utilities/functions/getHueFromRGB.d.ts +0 -9
- package/dist/utilities/functions/groupBy.d.ts +0 -6
- package/dist/utilities/functions/gt.d.ts +0 -7
- package/dist/utilities/functions/hexToRGB.d.ts +0 -7
- package/dist/utilities/functions/hslToHex.d.ts +0 -1
- package/dist/utilities/functions/includes.d.ts +0 -1
- package/dist/utilities/functions/initial.d.ts +0 -1
- package/dist/utilities/functions/isCssColor.d.ts +0 -5
- package/dist/utilities/functions/lt.d.ts +0 -7
- package/dist/utilities/functions/makeUrl.d.ts +0 -1
- package/dist/utilities/functions/mapKeys.d.ts +0 -5
- package/dist/utilities/functions/mapValues.d.ts +0 -1
- package/dist/utilities/functions/matchesPropertyInsensitive.d.ts +0 -1
- package/dist/utilities/functions/max.d.ts +0 -2
- package/dist/utilities/functions/mean.d.ts +0 -4
- package/dist/utilities/functions/merge.d.ts +0 -11
- package/dist/utilities/functions/millisecondsTo.d.ts +0 -1
- package/dist/utilities/functions/negate.d.ts +0 -4
- package/dist/utilities/functions/normalizeItemGroups.d.ts +0 -13
- package/dist/utilities/functions/omit.d.ts +0 -2
- package/dist/utilities/functions/overEvery.d.ts +0 -4
- package/dist/utilities/functions/pick.d.ts +0 -1
- package/dist/utilities/functions/replace.d.ts +0 -1
- package/dist/utilities/functions/replaceInTree.d.ts +0 -4
- package/dist/utilities/functions/retry.d.ts +0 -5
- package/dist/utilities/functions/roundToTheNearest.d.ts +0 -8
- package/dist/utilities/functions/set.d.ts +0 -15
- package/dist/utilities/functions/stub.d.ts +0 -6
- package/dist/utilities/functions/transposePercent.d.ts +0 -9
- package/dist/utilities/functions/tryTo.d.ts +0 -2
- package/dist/utilities/functions/uniqBy.d.ts +0 -1
- /package/dist/{index64.js → _virtual/_plugin-vue_export-helper.js} +0 -0
- /package/dist/components/{BaseButton → BbBaseButton}/RouterComponent.vue.d.ts +0 -0
- /package/dist/components/{BaseDatePicker/BaseDatePicker.vue.d.ts → BbBaseDatePicker/BbBaseDatePicker.vue.d.ts} +0 -0
- /package/dist/{index165.js → composables/useArray.js} +0 -0
- /package/dist/{index17.js → composables/useFrameworkDetection.js} +0 -0
- /package/dist/{index12.js → composables/useId.js} +0 -0
- /package/dist/{index352.js → directives/createPopoverDirective.js} +0 -0
- /package/dist/{index107.js → utilities/functions/chunk.js} +0 -0
- /package/dist/{index8.js → utilities/functions/clamp.js} +0 -0
- /package/dist/{index150.js → utilities/functions/curry.js} +0 -0
- /package/dist/{index45.js → utilities/functions/extractDomContainer.js} +0 -0
- /package/dist/{index270.js → utilities/functions/findInTree.js} +0 -0
- /package/dist/{index348.js → utilities/functions/flattenTree.js} +0 -0
- /package/dist/{index41.js → utilities/functions/get.js} +0 -0
- /package/dist/{index189.js → utilities/functions/head.js} +0 -0
- /package/dist/{index108.js → utilities/functions/identity.js} +0 -0
- /package/dist/{index179.js → utilities/functions/indexBy.js} +0 -0
- /package/dist/{index37.js → utilities/functions/isHex.js} +0 -0
- /package/dist/{index94.js → utilities/functions/isNil.js} +0 -0
- /package/dist/{index26.js → utilities/functions/isNotNil.js} +0 -0
- /package/dist/{index105.js → utilities/functions/last.js} +0 -0
- /package/dist/{index142.js → utilities/functions/noop.js} +0 -0
- /package/dist/{index231.js → utilities/functions/parseWidthString.js} +0 -0
- /package/dist/{index240.js → utilities/functions/pickBy.js} +0 -0
- /package/dist/{index123.js → utilities/functions/range.js} +0 -0
- /package/dist/{index190.js → utilities/functions/snapToStep.js} +0 -0
- /package/dist/{index191.js → utilities/functions/transpose.js} +0 -0
- /package/dist/{index106.js → utilities/functions/validateDateFormat.js} +0 -0
- /package/dist/{index10.js → utilities/functions/wait.js} +0 -0
package/dist/ai/BbDialog.md
CHANGED
|
@@ -1,129 +1,800 @@
|
|
|
1
1
|
# BbDialog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Agent Contract
|
|
4
|
+
|
|
5
|
+
- Safety level: **Consumer API**
|
|
6
|
+
- Group: **Overlay**
|
|
7
|
+
- Description: Presents modal dialogs for focused user interactions.
|
|
8
|
+
- Usage rule: Prefer this component for consumer-facing implementations.
|
|
9
|
+
- Implementation source (only when the contract below is not enough): [source/BbDialog.md](./source/BbDialog.md)
|
|
10
|
+
|
|
11
|
+
## Usage & Guidelines
|
|
12
|
+
|
|
13
|
+
### When to use
|
|
14
|
+
|
|
15
|
+
Reach for `BbDialog` when the user must **complete one focused task** without
|
|
16
|
+
losing the context behind it: an edit form, a create step, a blocking
|
|
17
|
+
announcement. It renders on top of the page with a backdrop and takes focus,
|
|
18
|
+
so everything else is inert until it closes.
|
|
19
|
+
|
|
20
|
+
Pick a sibling instead when the shape fits it better:
|
|
21
|
+
|
|
22
|
+
- Supplementary content that sits _beside_ the page (filters, a detail panel,
|
|
23
|
+
settings) → `BbOffCanvas`.
|
|
24
|
+
- A plain yes/no — especially a destructive confirm → `BbConfirm` with
|
|
25
|
+
`useConfirm`, not a hand-built dialog.
|
|
26
|
+
- A small anchored menu or bit of interactive content → `BbPopover`.
|
|
27
|
+
|
|
28
|
+
`BbDialog` and `BbOffCanvas` share most of their API (v-model, `title`, the
|
|
29
|
+
`default`/`footer` slots, `persistent`, `focus-target`, `eager`, `stack`,
|
|
30
|
+
`transition-duration`), so moving a surface between them is mostly a tag swap.
|
|
31
|
+
|
|
32
|
+
### Open and close with v-model
|
|
33
|
+
|
|
34
|
+
`v-model` owns visibility — there is no imperative `open()`. Bind a boolean and
|
|
35
|
+
flip it. The dialog dismisses itself on the header close button, the `Escape`
|
|
36
|
+
key, and a backdrop click; the `default` slot also receives a `close` callback
|
|
37
|
+
for buttons inside the body. Footer buttons simply set the model back to
|
|
38
|
+
`false`.
|
|
39
|
+
|
|
40
|
+
**A create-record dialog**
|
|
4
41
|
|
|
5
42
|
```vue
|
|
6
43
|
<template>
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<
|
|
44
|
+
<div
|
|
45
|
+
class="flex w-full max-w-sm flex-col gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
46
|
+
>
|
|
47
|
+
<div>
|
|
48
|
+
<p class="m-0 text-sm font-medium">Issue labels</p>
|
|
49
|
+
<p class="m-0 text-xs text-gray-500">
|
|
50
|
+
12 labels · used across Northwind issues
|
|
51
|
+
</p>
|
|
52
|
+
</div>
|
|
53
|
+
<div>
|
|
54
|
+
<BbButton
|
|
55
|
+
prepend:icon="lucide:plus"
|
|
56
|
+
variant="primary"
|
|
57
|
+
@click="open = true"
|
|
58
|
+
>
|
|
59
|
+
New label
|
|
60
|
+
</BbButton>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<BbDialog v-model="open" title="Create label" @show="reset">
|
|
64
|
+
<div class="grid gap-3">
|
|
65
|
+
<BbTextInput
|
|
66
|
+
v-model="name"
|
|
67
|
+
compact
|
|
68
|
+
label="Label name"
|
|
69
|
+
placeholder="e.g. Priority"
|
|
70
|
+
/>
|
|
71
|
+
<p class="m-0 text-xs text-gray-500">
|
|
72
|
+
Names are unique per workspace and show up in filters.
|
|
73
|
+
</p>
|
|
74
|
+
</div>
|
|
75
|
+
<template #footer>
|
|
76
|
+
<div class="flex justify-end gap-2">
|
|
77
|
+
<BbButton variant="ghost" @click="open = false">Cancel</BbButton>
|
|
78
|
+
<BbButton :disabled="!name.trim()" variant="primary" @click="create">
|
|
79
|
+
Create
|
|
80
|
+
</BbButton>
|
|
81
|
+
</div>
|
|
13
82
|
</template>
|
|
14
|
-
|
|
15
|
-
|
|
83
|
+
</BbDialog>
|
|
84
|
+
</template>
|
|
85
|
+
|
|
86
|
+
<script setup lang="ts">
|
|
87
|
+
import { ref } from 'vue';
|
|
88
|
+
import { BbButton, BbDialog, BbTextInput } from 'bitboss-ui';
|
|
89
|
+
|
|
90
|
+
const open = ref(false);
|
|
91
|
+
const name = ref('');
|
|
92
|
+
|
|
93
|
+
// Re-seed on `@show`, not on close — a dismissed dialog may be reopened.
|
|
94
|
+
const reset = () => {
|
|
95
|
+
name.value = '';
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const create = () => {
|
|
99
|
+
// Persist the new label here, then close.
|
|
100
|
+
open.value = false;
|
|
101
|
+
};
|
|
102
|
+
</script>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Header, footer and body
|
|
106
|
+
|
|
107
|
+
A `title` prop renders the standard header (title text + close button) and wires
|
|
108
|
+
`aria-labelledby` for you. Put form fields in the `default` slot and actions in
|
|
109
|
+
the `footer` slot — keep exactly one primary action there and align the group to
|
|
110
|
+
the end. The body area scrolls internally when content overflows; header and
|
|
111
|
+
footer stay pinned. This edit-record dialog re-seeds a typed draft from the
|
|
112
|
+
record on `@show` — so a canceled edit never leaks into the next session — and
|
|
113
|
+
copies it back on save.
|
|
114
|
+
|
|
115
|
+
**Edit-record dialog with a footer action**
|
|
116
|
+
|
|
117
|
+
```vue
|
|
118
|
+
<template>
|
|
119
|
+
<div
|
|
120
|
+
class="flex w-full max-w-sm items-center justify-between gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
121
|
+
>
|
|
122
|
+
<div class="min-w-0">
|
|
123
|
+
<p class="m-0 truncate text-sm font-medium">{{ contact.name }}</p>
|
|
124
|
+
<p class="m-0 truncate text-xs text-gray-500">{{ contact.email }}</p>
|
|
125
|
+
</div>
|
|
126
|
+
<BbButton
|
|
127
|
+
prepend:icon="lucide:pencil"
|
|
128
|
+
variant="outline"
|
|
129
|
+
@click="open = true"
|
|
130
|
+
>
|
|
131
|
+
Edit contact
|
|
132
|
+
</BbButton>
|
|
133
|
+
</div>
|
|
134
|
+
<BbDialog v-model="open" size="md" title="Edit contact" @show="seedDraft">
|
|
135
|
+
<div class="grid gap-3">
|
|
136
|
+
<BbTextInput v-model="draft.name" compact label="Full name" />
|
|
137
|
+
<BbTextInput v-model="draft.email" compact label="Email" type="email" />
|
|
138
|
+
<BbSwitch v-model="draft.subscribed" label="Subscribed to updates" />
|
|
139
|
+
</div>
|
|
140
|
+
<template #footer>
|
|
141
|
+
<div class="flex justify-end gap-2">
|
|
142
|
+
<BbButton variant="ghost" @click="open = false">Cancel</BbButton>
|
|
143
|
+
<BbButton variant="primary" @click="save">Save changes</BbButton>
|
|
144
|
+
</div>
|
|
16
145
|
</template>
|
|
17
|
-
|
|
18
|
-
|
|
146
|
+
</BbDialog>
|
|
147
|
+
</template>
|
|
148
|
+
|
|
149
|
+
<script setup lang="ts">
|
|
150
|
+
import { reactive, ref } from 'vue';
|
|
151
|
+
import { BbButton, BbDialog, BbSwitch, BbTextInput } from 'bitboss-ui';
|
|
152
|
+
|
|
153
|
+
type Contact = {
|
|
154
|
+
name: string;
|
|
155
|
+
email: string;
|
|
156
|
+
subscribed: boolean;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
// The record being edited — in a real app this comes from your store/API.
|
|
160
|
+
const contact = reactive<Contact>({
|
|
161
|
+
name: 'Ada Lovelace',
|
|
162
|
+
email: 'ada@analytical.co',
|
|
163
|
+
subscribed: true,
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
const open = ref(false);
|
|
167
|
+
const draft = reactive<Contact>({ ...contact });
|
|
168
|
+
|
|
169
|
+
// Re-seed on every open: a canceled edit must not leak into the next session.
|
|
170
|
+
const seedDraft = () => {
|
|
171
|
+
Object.assign(draft, contact);
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const save = () => {
|
|
175
|
+
// Persist here, then dismiss.
|
|
176
|
+
Object.assign(contact, draft);
|
|
177
|
+
open.value = false;
|
|
178
|
+
};
|
|
179
|
+
</script>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Use the `title` slot to restyle just the title text — it stays wired to
|
|
183
|
+
`aria-labelledby` and receives the `title` prop as `text`. Omitting `title`
|
|
184
|
+
removes the whole header (the close button then floats over the body corner
|
|
185
|
+
unless `hide-close`), and you own the accessible name.
|
|
186
|
+
|
|
187
|
+
Prefer `title` (or the `title` slot) for the standard header. The `header` slot
|
|
188
|
+
replaces the entire header on both surfaces — you own the close control and must
|
|
189
|
+
wire `titleId` for `aria-labelledby`. Give your root element `flex-1` so it fills
|
|
190
|
+
the header row.
|
|
191
|
+
|
|
192
|
+
### Forms in a dialog
|
|
193
|
+
|
|
194
|
+
The most common dialog is a small form: validate in place, keep the primary
|
|
195
|
+
action disabled until the input is usable, and close only on success. Cancel
|
|
196
|
+
must always work — never gate it on validity. This companion disables **Send
|
|
197
|
+
invite** until the email is plausible, and resets the draft on `@show` so a
|
|
198
|
+
dismissed invite doesn't resurface half-typed:
|
|
199
|
+
|
|
200
|
+
**Invite a teammate**
|
|
201
|
+
|
|
202
|
+
```vue
|
|
203
|
+
<template>
|
|
204
|
+
<div
|
|
205
|
+
class="flex w-full max-w-sm flex-col gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
206
|
+
>
|
|
207
|
+
<div>
|
|
208
|
+
<p class="m-0 text-sm font-medium">Team · Northwind Labs</p>
|
|
209
|
+
<p class="m-0 text-xs text-gray-500">4 members · 1 pending invite</p>
|
|
210
|
+
</div>
|
|
211
|
+
<div>
|
|
212
|
+
<BbButton
|
|
213
|
+
prepend:icon="lucide:user-plus"
|
|
214
|
+
variant="primary"
|
|
215
|
+
@click="open = true"
|
|
216
|
+
>
|
|
217
|
+
Invite teammate
|
|
218
|
+
</BbButton>
|
|
219
|
+
</div>
|
|
220
|
+
</div>
|
|
221
|
+
<BbDialog v-model="open" title="Invite a teammate" @show="reset">
|
|
222
|
+
<div class="grid gap-3">
|
|
223
|
+
<BbTextInput
|
|
224
|
+
v-model="email"
|
|
225
|
+
compact
|
|
226
|
+
label="Email address"
|
|
227
|
+
placeholder="teammate@company.com"
|
|
228
|
+
type="email"
|
|
229
|
+
/>
|
|
230
|
+
<BbSelect
|
|
231
|
+
v-model="role"
|
|
232
|
+
compact
|
|
233
|
+
item-text="label"
|
|
234
|
+
item-value="value"
|
|
235
|
+
:items="roles"
|
|
236
|
+
label="Role"
|
|
237
|
+
/>
|
|
238
|
+
<p class="m-0 text-xs text-gray-500">
|
|
239
|
+
They'll get an email with a link that expires in 7 days.
|
|
240
|
+
</p>
|
|
241
|
+
</div>
|
|
242
|
+
<template #footer>
|
|
243
|
+
<div class="flex justify-end gap-2">
|
|
244
|
+
<!-- Cancel is never gated on validity. -->
|
|
245
|
+
<BbButton variant="ghost" @click="open = false">Cancel</BbButton>
|
|
246
|
+
<BbButton
|
|
247
|
+
:disabled="!canSend"
|
|
248
|
+
prepend:icon="lucide:send"
|
|
249
|
+
variant="primary"
|
|
250
|
+
@click="send"
|
|
251
|
+
>
|
|
252
|
+
Send invite
|
|
253
|
+
</BbButton>
|
|
254
|
+
</div>
|
|
19
255
|
</template>
|
|
20
|
-
|
|
21
|
-
|
|
256
|
+
</BbDialog>
|
|
257
|
+
</template>
|
|
258
|
+
|
|
259
|
+
<script setup lang="ts">
|
|
260
|
+
import { computed, ref } from 'vue';
|
|
261
|
+
import { BbButton, BbDialog, BbSelect, BbTextInput } from 'bitboss-ui';
|
|
262
|
+
|
|
263
|
+
const roles = [
|
|
264
|
+
{ label: 'Member', value: 'member' },
|
|
265
|
+
{ label: 'Admin', value: 'admin' },
|
|
266
|
+
{ label: 'Viewer', value: 'viewer' },
|
|
267
|
+
];
|
|
268
|
+
|
|
269
|
+
const open = ref(false);
|
|
270
|
+
const email = ref('');
|
|
271
|
+
const role = ref('member');
|
|
272
|
+
|
|
273
|
+
// Re-seed on `@show`, not on close — a dismissed dialog may be reopened.
|
|
274
|
+
const reset = () => {
|
|
275
|
+
email.value = '';
|
|
276
|
+
role.value = 'member';
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
// Primary action stays disabled until the email is plausible.
|
|
280
|
+
const canSend = computed(() => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email.value));
|
|
281
|
+
|
|
282
|
+
const send = () => {
|
|
283
|
+
// Send the invite here, then close only on success.
|
|
284
|
+
open.value = false;
|
|
285
|
+
};
|
|
286
|
+
</script>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Two rules keep dialog forms honest:
|
|
290
|
+
|
|
291
|
+
- Reset or re-seed the draft when the dialog opens (`@show` is the hook), not
|
|
292
|
+
when it closes — a dismissed dialog may be reopened with stale state.
|
|
293
|
+
- On success, do the work first, then set the model to `false`; the close
|
|
294
|
+
transition runs while your toast/refresh happens.
|
|
295
|
+
|
|
296
|
+
### Lifecycle events and lazy content
|
|
297
|
+
|
|
298
|
+
Four events bracket the transitions — `show` fires as the model turns `true`,
|
|
299
|
+
`shown` after the native `showModal()` call and initial focus, `hide` as the
|
|
300
|
+
model turns `false`, and `hidden` after the close transition completes. Use
|
|
301
|
+
`@show` to (re)seed form state, `@hidden` to tear down expensive content.
|
|
302
|
+
|
|
303
|
+
Body content is **lazy**: nothing inside the dialog renders until the first
|
|
304
|
+
open. Set `eager` to render it immediately (e.g. so a chart can pre-measure, or
|
|
305
|
+
tests can query content before opening). `transition-duration` (ms, default
|
|
306
|
+
`250`) times both the open/close animation and when `hidden` fires — reopening
|
|
307
|
+
during the close transition keeps the dialog open instead of snapping shut.
|
|
308
|
+
|
|
309
|
+
### Size
|
|
310
|
+
|
|
311
|
+
`size` runs the shared `xs`–`2xl` scale and controls the dialog's **max width**
|
|
312
|
+
(height always hugs content). The presets map to `config.dialogDefaultSizes`
|
|
313
|
+
(384px for the default `sm`, up to 672px for `2xl`, overridable in the plugin
|
|
314
|
+
options); a number is pixels and a string passes through as a CSS width. Give it
|
|
315
|
+
a per-breakpoint map to widen responsively — narrow on phones, roomier on
|
|
316
|
+
desktop — without media queries of your own. A bare size is resolved once; only
|
|
317
|
+
the map form reacts to live resizes.
|
|
318
|
+
|
|
319
|
+
**Responsive width**
|
|
320
|
+
|
|
321
|
+
```vue
|
|
322
|
+
<div>
|
|
323
|
+
<BbButton variant="outline" @click="state.open = true">
|
|
324
|
+
Release notes
|
|
325
|
+
</BbButton>
|
|
326
|
+
<BbDialog
|
|
327
|
+
v-model="state.open"
|
|
328
|
+
:size="{ default: 'sm', lg: 'xl' }"
|
|
329
|
+
title="What's new"
|
|
330
|
+
>
|
|
331
|
+
<p class="m-0 text-sm">
|
|
332
|
+
<strong>sm</strong> on phones, <strong>xl</strong> from the
|
|
333
|
+
<code>lg</code> breakpoint up — resize to see it switch.
|
|
334
|
+
</p>
|
|
335
|
+
</BbDialog>
|
|
336
|
+
</div>
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
`fullscreen` overrides the scale and fills the viewport (minus the standard page
|
|
340
|
+
padding — it is intentionally not edge-to-edge). Pass `fullscreen="mobile"` to
|
|
341
|
+
go fullscreen only below the mobile breakpoint while keeping the sized modal on
|
|
342
|
+
desktop.
|
|
343
|
+
|
|
344
|
+
### Controlling dismissal
|
|
345
|
+
|
|
346
|
+
Every dismissal path is governed by two props:
|
|
347
|
+
|
|
348
|
+
- `persistent` — backdrop click and `Escape` no longer close; the dialog plays a
|
|
349
|
+
short "deny" nudge instead. Your own buttons (and the model) still work. Use
|
|
350
|
+
it when the user must make an explicit choice.
|
|
351
|
+
- `disabled` — same guard, different intent: the surface is busy (a save in
|
|
352
|
+
flight). Combine with disabling your footer actions.
|
|
353
|
+
|
|
354
|
+
Constraint: the header **close button bypasses both** — it always closes,
|
|
355
|
+
regardless of `persistent`/`disabled`. When a dialog truly must be resolved from
|
|
356
|
+
the footer, pair `persistent` with `hide-close`, and keep a visible Cancel so
|
|
357
|
+
users are never trapped.
|
|
358
|
+
|
|
359
|
+
Backdrop clicks are drag-protected: a text selection that starts inside the
|
|
360
|
+
dialog and releases over the backdrop does not close it — only a genuine click
|
|
361
|
+
that starts and ends on the backdrop (≤4px travel) does.
|
|
362
|
+
|
|
363
|
+
`focus-target` (a CSS selector resolved inside the dialog) moves initial focus
|
|
364
|
+
to a specific element; otherwise the browser gives it to the first tabbable
|
|
365
|
+
element.
|
|
366
|
+
|
|
367
|
+
**Persistent — must be resolved with a button**
|
|
368
|
+
|
|
369
|
+
```vue
|
|
370
|
+
<template>
|
|
371
|
+
<div
|
|
372
|
+
class="flex w-full max-w-sm flex-col gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
373
|
+
>
|
|
374
|
+
<div>
|
|
375
|
+
<p class="m-0 text-sm font-medium">Finish setting up</p>
|
|
376
|
+
<p class="m-0 text-xs text-gray-500">
|
|
377
|
+
Add your company so invoices and invites look right.
|
|
378
|
+
</p>
|
|
379
|
+
</div>
|
|
380
|
+
<div>
|
|
381
|
+
<BbButton variant="outline" @click="open = true">Finish setup</BbButton>
|
|
382
|
+
</div>
|
|
383
|
+
</div>
|
|
384
|
+
<BbDialog
|
|
385
|
+
v-model="open"
|
|
386
|
+
focus-target="input"
|
|
387
|
+
hide-close
|
|
388
|
+
persistent
|
|
389
|
+
title="Complete your profile"
|
|
390
|
+
@show="reset"
|
|
391
|
+
>
|
|
392
|
+
<div class="grid gap-3">
|
|
393
|
+
<BbTextInput
|
|
394
|
+
v-model="displayName"
|
|
395
|
+
compact
|
|
396
|
+
label="Display name"
|
|
397
|
+
placeholder="Ada Lovelace"
|
|
398
|
+
/>
|
|
399
|
+
<BbTextInput
|
|
400
|
+
v-model="company"
|
|
401
|
+
compact
|
|
402
|
+
label="Company"
|
|
403
|
+
placeholder="Acme Inc."
|
|
404
|
+
/>
|
|
405
|
+
</div>
|
|
406
|
+
<template #footer>
|
|
407
|
+
<div class="flex justify-end gap-2">
|
|
408
|
+
<!-- Keep a visible way out — never trap the user. -->
|
|
409
|
+
<BbButton variant="ghost" @click="open = false">Skip</BbButton>
|
|
410
|
+
<BbButton :disabled="!company.trim()" variant="primary" @click="save">
|
|
411
|
+
Save
|
|
412
|
+
</BbButton>
|
|
413
|
+
</div>
|
|
22
414
|
</template>
|
|
23
|
-
|
|
24
|
-
|
|
415
|
+
</BbDialog>
|
|
416
|
+
</template>
|
|
417
|
+
|
|
418
|
+
<script setup lang="ts">
|
|
419
|
+
import { ref } from 'vue';
|
|
420
|
+
import { BbButton, BbDialog, BbTextInput } from 'bitboss-ui';
|
|
421
|
+
|
|
422
|
+
const open = ref(false);
|
|
423
|
+
const displayName = ref('');
|
|
424
|
+
const company = ref('');
|
|
425
|
+
|
|
426
|
+
// Re-seed on `@show` so a dismissed step reopens clean.
|
|
427
|
+
const reset = () => {
|
|
428
|
+
displayName.value = '';
|
|
429
|
+
company.value = '';
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
const save = () => {
|
|
433
|
+
// Persist the profile here, then close.
|
|
434
|
+
open.value = false;
|
|
435
|
+
};
|
|
436
|
+
</script>
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
The busy case in practice: while a save is in flight, `disabled` denies
|
|
440
|
+
backdrop and `Escape`, but it does **not** touch the dialog's content — pair
|
|
441
|
+
it with `:disabled` on your inputs and Cancel. Return the promise from the
|
|
442
|
+
primary button's `@click` and `BbButton` shows its loading state
|
|
443
|
+
automatically; close only once the work resolves:
|
|
444
|
+
|
|
445
|
+
**Async save — dismissal denied while in flight**
|
|
446
|
+
|
|
447
|
+
```vue
|
|
448
|
+
<template>
|
|
449
|
+
<div
|
|
450
|
+
class="flex w-full max-w-sm items-center justify-between gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
451
|
+
>
|
|
452
|
+
<div class="min-w-0">
|
|
453
|
+
<p class="m-0 truncate text-sm font-medium">{{ projectName }}</p>
|
|
454
|
+
<p class="m-0 text-xs text-gray-500">Project · private</p>
|
|
455
|
+
</div>
|
|
456
|
+
<BbButton
|
|
457
|
+
prepend:icon="lucide:pencil"
|
|
458
|
+
variant="outline"
|
|
459
|
+
@click="open = true"
|
|
460
|
+
>
|
|
461
|
+
Rename project
|
|
462
|
+
</BbButton>
|
|
463
|
+
</div>
|
|
464
|
+
<BbDialog
|
|
465
|
+
v-model="open"
|
|
466
|
+
:disabled="saving"
|
|
467
|
+
title="Rename project"
|
|
468
|
+
@show="seed"
|
|
469
|
+
>
|
|
470
|
+
<div class="grid gap-3">
|
|
471
|
+
<BbTextInput
|
|
472
|
+
v-model="draft"
|
|
473
|
+
compact
|
|
474
|
+
:disabled="saving"
|
|
475
|
+
label="Project name"
|
|
476
|
+
placeholder="acme-storefront"
|
|
477
|
+
/>
|
|
478
|
+
</div>
|
|
479
|
+
<template #footer>
|
|
480
|
+
<div class="flex justify-end gap-2">
|
|
481
|
+
<!-- Disable your own actions too — `disabled` only guards dismissal. -->
|
|
482
|
+
<BbButton :disabled="saving" variant="ghost" @click="open = false">
|
|
483
|
+
Cancel
|
|
484
|
+
</BbButton>
|
|
485
|
+
<!-- Returning the promise lets BbButton run its own loading state. -->
|
|
486
|
+
<BbButton :disabled="!draft.trim()" variant="primary" @click="save">
|
|
487
|
+
Rename
|
|
488
|
+
</BbButton>
|
|
489
|
+
</div>
|
|
25
490
|
</template>
|
|
26
|
-
</
|
|
491
|
+
</BbDialog>
|
|
27
492
|
</template>
|
|
28
493
|
|
|
29
494
|
<script setup lang="ts">
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
BaseDialogProps,
|
|
33
|
-
BaseDialogEvents,
|
|
34
|
-
BaseDialogSlots,
|
|
35
|
-
} from '../BaseDialog/types';
|
|
36
|
-
|
|
37
|
-
const props = withDefaults(defineProps<BaseDialogProps>(), {
|
|
38
|
-
showClose: true,
|
|
39
|
-
});
|
|
495
|
+
import { ref } from 'vue';
|
|
496
|
+
import { BbButton, BbDialog, BbTextInput } from 'bitboss-ui';
|
|
40
497
|
|
|
41
|
-
|
|
498
|
+
// The record being renamed — in a real app this comes from your store/API.
|
|
499
|
+
const projectName = ref('acme-storefront');
|
|
42
500
|
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
show: () => emit('show'),
|
|
47
|
-
shown: () => emit('shown'),
|
|
48
|
-
} as const;
|
|
501
|
+
const open = ref(false);
|
|
502
|
+
const draft = ref('');
|
|
503
|
+
const saving = ref(false);
|
|
49
504
|
|
|
50
|
-
|
|
505
|
+
// Re-seed on `@show` so a dismissed rename never resurfaces half-typed.
|
|
506
|
+
const seed = () => {
|
|
507
|
+
draft.value = projectName.value;
|
|
508
|
+
saving.value = false;
|
|
509
|
+
};
|
|
51
510
|
|
|
52
|
-
const
|
|
511
|
+
const save = async () => {
|
|
512
|
+
saving.value = true;
|
|
513
|
+
try {
|
|
514
|
+
// Simulated request — replace with your API call.
|
|
515
|
+
await new Promise((resolve) => setTimeout(resolve, 600));
|
|
516
|
+
projectName.value = draft.value.trim();
|
|
517
|
+
// Work first, then close: the transition runs while your UI refreshes.
|
|
518
|
+
open.value = false;
|
|
519
|
+
} finally {
|
|
520
|
+
saving.value = false;
|
|
521
|
+
}
|
|
522
|
+
};
|
|
53
523
|
</script>
|
|
54
|
-
<style lang="postcss">
|
|
55
|
-
@import './index.css';
|
|
56
|
-
</style>
|
|
57
524
|
```
|
|
58
525
|
|
|
59
|
-
|
|
526
|
+
### Stacked dialogs (drill-in flows)
|
|
527
|
+
|
|
528
|
+
Dialogs sharing a `stack` name **replace** one another: only the most recently
|
|
529
|
+
opened member is visible, the ones beneath are hidden until it closes — the
|
|
530
|
+
stack reads as a single surface whose content swaps as you drill in. Dialogs
|
|
531
|
+
with different names (or none) are independent and simply layer by open order.
|
|
532
|
+
Use a stack for a two-step flow that should not read as two boxes piling up.
|
|
533
|
+
|
|
534
|
+
**Drill into advanced options**
|
|
535
|
+
|
|
536
|
+
```vue
|
|
537
|
+
<template>
|
|
538
|
+
<div
|
|
539
|
+
class="flex w-full max-w-sm flex-col gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
540
|
+
>
|
|
541
|
+
<div>
|
|
542
|
+
<p class="m-0 text-sm font-medium">Workspace settings</p>
|
|
543
|
+
<p class="m-0 text-xs text-gray-500">Storage, backups, retention</p>
|
|
544
|
+
</div>
|
|
545
|
+
<div>
|
|
546
|
+
<BbButton variant="outline" @click="first = true">
|
|
547
|
+
Storage settings
|
|
548
|
+
</BbButton>
|
|
549
|
+
</div>
|
|
550
|
+
</div>
|
|
551
|
+
<BbDialog v-model="first" stack="settings" title="Storage">
|
|
552
|
+
<div class="grid gap-3">
|
|
553
|
+
<BbSwitch v-model="autoBackup" label="Automatic backups" />
|
|
554
|
+
<p class="m-0 text-xs text-gray-500">
|
|
555
|
+
Nightly snapshots keep the last 30 days of changes.
|
|
556
|
+
</p>
|
|
557
|
+
<BbButton
|
|
558
|
+
append:icon="lucide:chevron-right"
|
|
559
|
+
variant="outline"
|
|
560
|
+
@click="second = true"
|
|
561
|
+
>
|
|
562
|
+
Advanced retention…
|
|
563
|
+
</BbButton>
|
|
564
|
+
</div>
|
|
565
|
+
</BbDialog>
|
|
566
|
+
<BbDialog v-model="second" stack="settings" title="Advanced retention">
|
|
567
|
+
<div class="grid gap-3">
|
|
568
|
+
<BbSwitch v-model="keepForever" label="Keep monthly snapshots" />
|
|
569
|
+
<p class="m-0 text-xs text-gray-500">
|
|
570
|
+
Monthly snapshots stay available for 12 months after creation.
|
|
571
|
+
</p>
|
|
572
|
+
</div>
|
|
573
|
+
<template #footer>
|
|
574
|
+
<div class="flex justify-end">
|
|
575
|
+
<BbButton variant="primary" @click="second = false">Done</BbButton>
|
|
576
|
+
</div>
|
|
577
|
+
</template>
|
|
578
|
+
</BbDialog>
|
|
579
|
+
</template>
|
|
580
|
+
|
|
581
|
+
<script setup lang="ts">
|
|
582
|
+
import { ref } from 'vue';
|
|
583
|
+
import { BbButton, BbDialog, BbSwitch } from 'bitboss-ui';
|
|
584
|
+
|
|
585
|
+
// Two dialogs sharing a `stack` name swap in place as you drill in.
|
|
586
|
+
const first = ref(false);
|
|
587
|
+
const second = ref(false);
|
|
60
588
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
BaseDialogEvents as BbDialogEvents,
|
|
65
|
-
BaseDialogSlots as BbDialogSlots,
|
|
66
|
-
Sizes,
|
|
67
|
-
} from '../BaseDialog/types';
|
|
589
|
+
const autoBackup = ref(true);
|
|
590
|
+
const keepForever = ref(false);
|
|
591
|
+
</script>
|
|
68
592
|
```
|
|
69
593
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
```css
|
|
73
|
-
.bb-base-dialog {
|
|
74
|
-
&--transition-fade {
|
|
75
|
-
&.bb-base-dialog__overlay {
|
|
76
|
-
}
|
|
77
|
-
&.bb-base-dialog--opening {
|
|
78
|
-
&.bb-base-dialog__overlay {
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
&.bb-base-dialog--open {
|
|
82
|
-
&.bb-base-dialog__overlay {
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
&.bb-base-dialog--closing {
|
|
86
|
-
&.bb-base-dialog__overlay {
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
&.bb-base-dialog--closed {
|
|
90
|
-
&.bb-base-dialog__overlay {
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
594
|
+
### Top layer: what's above, what's inert
|
|
94
595
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
}
|
|
596
|
+
The dialog is a native `<dialog>` opened with `showModal()`. That has concrete
|
|
597
|
+
consequences an agent should design around:
|
|
99
598
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
599
|
+
- It renders in the browser **top layer** — above every `z-index`, sticky
|
|
600
|
+
header, or transformed ancestor. There is nothing to z-index-manage.
|
|
601
|
+
- The element stays where you declared it in the DOM (no teleport), so scoped
|
|
602
|
+
styles and provide/inject work normally; in tests, query the panel via
|
|
603
|
+
`document.body` (e.g. `.bb-dialog--open`) after `attachTo: document.body`.
|
|
604
|
+
- Everything outside the dialog is **inert** while it is open: no hover, click,
|
|
605
|
+
or tab reaches the page behind.
|
|
606
|
+
- Later top-layer surfaces paint above earlier ones: a `BbPopover`, `BbSelect`,
|
|
607
|
+
`BbTooltip` or nested `BbDialog`/`BbConfirm` opened from inside a dialog
|
|
608
|
+
appears above it and works — no special wiring. `BbToast` regions re-home
|
|
609
|
+
themselves into the open modal so toasts fired from a dialog stay clickable.
|
|
103
610
|
|
|
104
|
-
|
|
105
|
-
|
|
611
|
+
Nested overlays are fine in moderation (a select, a confirm on top of a form
|
|
612
|
+
dialog). A second full dialog on top of another usually means the flow wants a
|
|
613
|
+
`stack` (above) or a page of its own.
|
|
106
614
|
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
}
|
|
615
|
+
### Navigating from a dialog
|
|
110
616
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
617
|
+
When a dialog's action leads somewhere, let the button navigate — never wire a
|
|
618
|
+
click handler to `router.push` or `window.location`. `BbButton` accepts `href`
|
|
619
|
+
(or an Inertia visit) and `to` (a vue-router target), so the action stays a real
|
|
620
|
+
link.
|
|
115
621
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
622
|
+
**Upgrade prompt whose primary action navigates**
|
|
623
|
+
|
|
624
|
+
```vue
|
|
625
|
+
<template>
|
|
626
|
+
<div
|
|
627
|
+
class="flex w-full max-w-sm flex-col gap-3 rounded-[var(--bb-radius)] border p-4"
|
|
628
|
+
>
|
|
629
|
+
<div>
|
|
630
|
+
<p class="m-0 text-sm font-medium">Projects</p>
|
|
631
|
+
<p class="m-0 text-xs text-gray-500">
|
|
632
|
+
Free plan · {{ used }} of {{ limit }} used
|
|
633
|
+
</p>
|
|
634
|
+
</div>
|
|
635
|
+
<div>
|
|
636
|
+
<BbButton
|
|
637
|
+
prepend:icon="lucide:plus"
|
|
638
|
+
variant="outline"
|
|
639
|
+
@click="open = true"
|
|
640
|
+
>
|
|
641
|
+
New project
|
|
642
|
+
</BbButton>
|
|
643
|
+
</div>
|
|
644
|
+
</div>
|
|
645
|
+
<BbDialog v-model="open" title="Project limit reached">
|
|
646
|
+
<div class="grid gap-3">
|
|
647
|
+
<p class="m-0 text-sm">
|
|
648
|
+
The <strong>Free</strong> plan includes {{ limit }} projects and you're
|
|
649
|
+
using all of them. Upgrade to <strong>Pro</strong> for unlimited
|
|
650
|
+
projects and priority support.
|
|
651
|
+
</p>
|
|
652
|
+
<p class="m-0 text-xs text-gray-500">
|
|
653
|
+
Billing starts when you confirm — you can cancel anytime.
|
|
654
|
+
</p>
|
|
655
|
+
</div>
|
|
656
|
+
<template #footer>
|
|
657
|
+
<div class="flex justify-end gap-2">
|
|
658
|
+
<BbButton variant="ghost" @click="open = false">Maybe later</BbButton>
|
|
659
|
+
<!-- A navigating action is a real link — never `@click` + router.push. -->
|
|
660
|
+
<BbButton
|
|
661
|
+
append:icon="lucide:arrow-right"
|
|
662
|
+
href="#settings-billing"
|
|
663
|
+
variant="primary"
|
|
664
|
+
>
|
|
665
|
+
Upgrade to Pro
|
|
666
|
+
</BbButton>
|
|
667
|
+
</div>
|
|
668
|
+
</template>
|
|
669
|
+
</BbDialog>
|
|
670
|
+
</template>
|
|
671
|
+
|
|
672
|
+
<script setup lang="ts">
|
|
673
|
+
import { ref } from 'vue';
|
|
674
|
+
import { BbButton, BbDialog } from 'bitboss-ui';
|
|
675
|
+
|
|
676
|
+
const used = 3;
|
|
677
|
+
const limit = 3;
|
|
678
|
+
const open = ref(false);
|
|
679
|
+
</script>
|
|
129
680
|
```
|
|
681
|
+
|
|
682
|
+
On Nuxt or Inertia the same button carries a platform-native navigation:
|
|
683
|
+
|
|
684
|
+
```vue
|
|
685
|
+
<!-- Inertia: href becomes an Inertia visit -->
|
|
686
|
+
<BbButton href="/settings/billing" method="get">Upgrade to Pro</BbButton>
|
|
687
|
+
|
|
688
|
+
<!-- Nuxt / vue-router: navigate with `to` -->
|
|
689
|
+
<BbButton :to="{ name: 'settings-billing' }">Upgrade to Pro</BbButton>
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
Because a modal dialog is client-side UI, SSR (Nuxt) renders it closed and
|
|
693
|
+
empty; content appears on first open (or immediately with `eager`).
|
|
694
|
+
|
|
695
|
+
### Adaptive: a bottom sheet on mobile
|
|
696
|
+
|
|
697
|
+
By default (`config.adaptive`, `true` out of the box) a dialog opened on a small
|
|
698
|
+
viewport (below `config.mobileMaxWidth`, 768px) renders as a `BbOffCanvas`
|
|
699
|
+
bottom sheet instead of a centered modal — better ergonomics for thumbs. The
|
|
700
|
+
surface is **latched when the dialog opens** and stays fixed for that session,
|
|
701
|
+
so a mid-flow resize never swaps modal ↔ sheet.
|
|
702
|
+
|
|
703
|
+
- The sheet defaults to a bottom, draggable, content-sized drawer
|
|
704
|
+
(`direction: 'bottom'`, `draggable: true`, `size: 'auto'`); the dialog's
|
|
705
|
+
`size` is intentionally **not** forwarded (width and drawer extent mean
|
|
706
|
+
different things).
|
|
707
|
+
- `title`, `persistent`, `disabled`, `hide-close`, `focus-target`, `eager`,
|
|
708
|
+
`fullscreen`, `stack` and `transition-duration` carry over; the four
|
|
709
|
+
lifecycle events fire the same either way.
|
|
710
|
+
- `off-canvas-props` merges last over the sheet's props — use it to change
|
|
711
|
+
direction, size, `stack-gap`, or disable dragging on the mobile surface only.
|
|
712
|
+
- `:adaptive="false"` keeps the centered dialog everywhere; a bare `adaptive`
|
|
713
|
+
forces the sheet behavior on regardless of the global config.
|
|
714
|
+
|
|
715
|
+
Leave `adaptive` unset unless the project asks otherwise — the tri-state
|
|
716
|
+
default falls back to `config.adaptive`.
|
|
717
|
+
|
|
718
|
+
### Works well with
|
|
719
|
+
|
|
720
|
+
- `BbConfirm` + `useConfirm` — a destructive action inside your dialog should
|
|
721
|
+
raise a confirm on top, not a second hand-built dialog.
|
|
722
|
+
- `BbToast` + `useToast` — fire the success toast right before closing; it
|
|
723
|
+
stays interactive above the modal.
|
|
724
|
+
- `BbSelect`, `BbDatePicker`-style poppers inside the body: they open in the
|
|
725
|
+
top layer above the dialog with no extra wiring.
|
|
726
|
+
- `BbOffCanvas` — the same content as a side panel when it is supplementary
|
|
727
|
+
rather than blocking; the shared API keeps the swap cheap.
|
|
728
|
+
|
|
729
|
+
### Gotchas & anti-patterns
|
|
730
|
+
|
|
731
|
+
- **Don't rely on the close (x) button respecting `persistent`** — it doesn't;
|
|
732
|
+
hide it (`hide-close`) when the dialog must be resolved explicitly.
|
|
733
|
+
- **Don't build a yes/no dialog** — that's `BbConfirm` with `useConfirm`.
|
|
734
|
+
- **Don't wire `@click` + `router.push`** for a navigating action — pass
|
|
735
|
+
`href`/`to` to the button.
|
|
736
|
+
- **Don't toggle `v-model` from `@hide`/`@hidden` handlers** to "cancel" a
|
|
737
|
+
close — use `persistent` instead; the close paths already guard correctly.
|
|
738
|
+
- **Don't leave the `header` slot without a close control** — it replaces the
|
|
739
|
+
default ×, so you must render your own wired to `close`.
|
|
740
|
+
- **Don't query dialog content before it has opened** unless you set `eager` —
|
|
741
|
+
the body renders lazily.
|
|
742
|
+
- A dialog is not a router surface: if the task grows tabs, lists and
|
|
743
|
+
sub-navigation, it wants a page (or an `BbOffCanvas` detail panel), not a
|
|
744
|
+
bigger modal.
|
|
745
|
+
|
|
746
|
+
### Accessibility
|
|
747
|
+
|
|
748
|
+
- Prefer passing `title` — it labels the dialog via `aria-labelledby`. If you
|
|
749
|
+
omit it (no header) you own the accessible name: label a heading in the body
|
|
750
|
+
and wire it yourself.
|
|
751
|
+
- The dialog is a true modal (`showModal()`): the browser contains focus within
|
|
752
|
+
it, the page behind is inert, and focus returns to the trigger when it
|
|
753
|
+
closes. `focus-target` only chooses where focus **starts**.
|
|
754
|
+
- The header close button carries a localized `aria-label` out of the box
|
|
755
|
+
(`config.locale`).
|
|
756
|
+
- Don't lean on `persistent` to trap users. Keep a visible way out (a Cancel or
|
|
757
|
+
Close button) even when backdrop/`Escape` dismissal is disabled.
|
|
758
|
+
|
|
759
|
+
## v-model
|
|
760
|
+
|
|
761
|
+
- `v-model` — type: `boolean \| undefined`
|
|
762
|
+
|
|
763
|
+
## Props
|
|
764
|
+
|
|
765
|
+
| Prop | Type | Default | Required | Description |
|
|
766
|
+
| --- | --- | --- | --- | --- |
|
|
767
|
+
| `adaptive` | `boolean \| undefined` | `undefined` | | Adapt the surface to the viewport: render as a `BbOffCanvas` drawer on mobile instead of a centered dialog. The surface is resolved when the dialog opens and stays fixed for that session: resizing across the mobile breakpoint while open nev… |
|
|
768
|
+
| `disabled` | `boolean \| undefined` | | | Disable EVERY user-initiated dismissal: backdrop click, Escape AND the header close (×) button (denied attempts play the deny nudge). Use it while an operation is in flight (e.g. a save) so the dialog cannot be dismissed mid-work. Compare `… |
|
|
769
|
+
| `eager` | `boolean \| undefined` | | | Render dialog content immediately instead of waiting for the first open. |
|
|
770
|
+
| `focusTarget` | `string \| undefined` | | | CSS selector of the element to focus after opening. Defaults to the first tabbable element. |
|
|
771
|
+
| `fullscreen` | `boolean \| "mobile" \| undefined` | | | Display the dialog fullscreen. Use `'mobile'` to restrict fullscreen to small devices. |
|
|
772
|
+
| `hideClose` | `boolean \| undefined` | | | Hide the default close (×) button. The button is shown by default; set this to remove it (e.g. for a `persistent` dialog you don't want dismissible — the × otherwise still closes a persistent dialog). |
|
|
773
|
+
| `modelValue` | `boolean \| undefined` | `false` | | |
|
|
774
|
+
| `offCanvasProps` | `Partial<BbOffCanvasProps> \| undefined` | | | Overrides merged over the offcanvas (mobile) surface's props. The drawer defaults to a bottom, draggable, content-sized sheet (`direction: 'bottom'`, `draggable: true`, `size: 'auto'`); use this to override those, set other drawer-only opti… |
|
|
775
|
+
| `persistent` | `boolean \| undefined` | | | Prevent closing via outside clicks or Escape key. The header close (×) button STILL closes a persistent dialog — that is the documented escape hatch; combine with `hideClose` to remove it, or use `disabled` to block every dismissal. Program… |
|
|
776
|
+
| `size` | `Responsive<NonNullable<number \| ({ size?: any; } & string) \| keyof Sizes \| undefined>> \| undefined` | `"sm"` | | Controls the maximum width of the dialog. Accepts named presets from `'xs'` to `'2xl'`, a custom CSS width string, or a numeric pixel value — or a per-breakpoint map (e.g. `{ default: 'sm', lg: 'lg' }`) to switch width responsively. |
|
|
777
|
+
| `stack` | `string \| undefined` | | | Name of the stack this dialog belongs to. Dialogs sharing the same `stack` value replace one another: only the most recently opened stays visible while the others in the stack are hidden beneath it. Dialogs in different stacks — or with no … |
|
|
778
|
+
| `title` | `string \| undefined` | | | Title text announced to assistive technologies. If omitted, no header is rendered (unless a `header` slot is supplied) and accessibility must be handled manually. |
|
|
779
|
+
| `transitionDuration` | `number \| undefined` | `transitions.medium` | | Controls the duration of the open and close animations. |
|
|
780
|
+
|
|
781
|
+
## Events
|
|
782
|
+
|
|
783
|
+
- `hidden` — `(event: "hidden"): void`
|
|
784
|
+
- `hide` — `(event: "hide"): void`
|
|
785
|
+
- `show` — `(event: "show"): void`
|
|
786
|
+
- `shown` — `(event: "shown"): void`
|
|
787
|
+
- `update:modelValue` — `(event: "update:modelValue", value: boolean): void`
|
|
788
|
+
|
|
789
|
+
## Slots
|
|
790
|
+
|
|
791
|
+
- `default` — scope: `BbDialogDefaultSlotProps` — Primary body content of the dialog, rendered in the scrollable body area.
|
|
792
|
+
- `footer` — scope: `object` — Content rendered in the dialog footer, below the body area. Typically used for action buttons.
|
|
793
|
+
- `header` — scope: `BbDialogHeaderSlotProps` — Replaces the entire dialog header section (title + close button) on both surfaces — the desktop `<dialog>` and the mobile off-canvas. Because it replaces the default close (✕), the slot owns closing: render your own control wired to the `cl…
|
|
794
|
+
- `title` — scope: `BbDialogTitleSlotProps` — Replaces the default title text inside the header. Remains linked to the dialog through `aria-labelledby`.
|
|
795
|
+
|
|
796
|
+
## See Also
|
|
797
|
+
|
|
798
|
+
- [BbOffCanvas](./BbOffCanvas.md) — Shows side-panel overlay content outside normal layout flow.
|
|
799
|
+
- [BbConfirm](./BbConfirm.md) — Prompts users to confirm or cancel critical actions (includes co-located BbConfirmPortal export).
|
|
800
|
+
- [BbPopover](./BbPopover.md) — Anchors floating content to reference elements.
|