bitboss-ui 3.0.0-beta.53 → 3.0.0-beta.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -43
- package/bin/bitboss-ui-mcp.mjs +4 -3
- package/bin/bitboss-ui.mjs +130 -23
- package/dist/ai/BbAccordion.md +119 -178
- package/dist/ai/BbAlert.md +44 -14
- package/dist/ai/BbAsterisk.md +10 -8
- package/dist/ai/BbAvatar.md +14 -29
- package/dist/ai/BbBadge.md +36 -21
- package/dist/ai/BbBaseButton.md +45 -21
- package/dist/ai/BbBaseCheckboxIcon.md +4 -4
- package/dist/ai/BbBreadcrumbs.md +1 -1
- package/dist/ai/BbButton.md +60 -49
- package/dist/ai/BbCalendar.md +29 -13
- package/dist/ai/BbCheckbox.md +28 -9
- package/dist/ai/BbCheckboxGroup.md +19 -8
- package/dist/ai/BbCollapsible.md +5 -4
- package/dist/ai/BbColorInput.md +9 -7
- package/dist/ai/BbConfirm.md +85 -113
- package/dist/ai/BbConfirmPortal.md +3 -3
- package/dist/ai/BbDatePicker.md +33 -26
- package/dist/ai/BbDatePickerInput.md +20 -11
- package/dist/ai/BbDialog.md +594 -327
- package/dist/ai/BbDropdown.md +14 -6
- package/dist/ai/BbDropdownButton.md +3 -3
- package/dist/ai/BbDropzone.md +88 -44
- package/dist/ai/BbForm.md +38 -21
- package/dist/ai/BbHost.md +159 -0
- package/dist/ai/BbHoverCard.md +12 -12
- package/dist/ai/BbHoverCardPortal.md +4 -4
- package/dist/ai/BbIndicator.md +41 -14
- package/dist/ai/BbNumberInput.md +8 -6
- package/dist/ai/BbOffCanvas.md +225 -164
- package/dist/ai/BbPagination.md +5 -4
- package/dist/ai/BbPopover.md +23 -17
- package/dist/ai/BbPopoverPortal.md +4 -4
- package/dist/ai/BbProgress.md +3 -3
- package/dist/ai/BbPtScope.md +5 -5
- package/dist/ai/BbRadio.md +7 -5
- package/dist/ai/BbRadioGroup.md +24 -8
- package/dist/ai/BbRating.md +13 -7
- package/dist/ai/BbSelect.md +67 -35
- package/dist/ai/BbSelectPopover.md +46 -22
- package/dist/ai/BbSlider.md +35 -12
- package/dist/ai/BbSpinner.md +4 -2
- package/dist/ai/BbSwitch.md +9 -7
- package/dist/ai/BbSwitchGroup.md +14 -13
- package/dist/ai/BbTable.md +13 -8
- package/dist/ai/BbTabs.md +43 -33
- package/dist/ai/BbTag.md +3 -3
- package/dist/ai/BbTextInput.md +30 -4
- package/dist/ai/BbTextarea.md +15 -7
- package/dist/ai/BbTimePicker.md +28 -13
- package/dist/ai/BbTimePickerInput.md +4 -4
- package/dist/ai/BbToast.md +109 -205
- package/dist/ai/BbToastPortal.md +3 -3
- package/dist/ai/BbTooltip.md +14 -13
- package/dist/ai/BbTree.md +33 -39
- package/dist/ai/CommonField.md +4 -4
- package/dist/ai/changelog.json +348 -42
- package/dist/ai/components.json +87 -66
- package/dist/ai/composables/useBbDialogContext.md +144 -0
- package/dist/ai/composables/useBbFormContext.md +7 -6
- package/dist/ai/composables/useBbOffCanvasContext.md +64 -0
- package/dist/ai/composables/useConfirm.md +25 -25
- package/dist/ai/composables/useMobile.md +2 -3
- package/dist/ai/composables/useToast.md +24 -24
- package/dist/ai/guides/agent-contract.md +9 -9
- package/dist/ai/guides/app-layout.md +4 -4
- package/dist/ai/guides/component-picker.md +2 -2
- package/dist/ai/guides/design-language.md +2 -6
- package/dist/ai/guides/design-tokens.md +7 -5
- package/dist/ai/guides/eslint-rules.md +67 -0
- package/dist/ai/guides/fetch-items-playbook.md +4 -0
- package/dist/ai/guides/inertia-helpers.md +188 -130
- package/dist/ai/guides/installation-and-plugin-setup.md +99 -97
- package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
- package/dist/ai/guides/migration/components/bb-dialog.md +12 -12
- package/dist/ai/guides/migration/components/bb-dropzone.md +8 -8
- package/dist/ai/guides/migration/components/bb-host.md +41 -0
- package/dist/ai/guides/migration/components/bb-offcanvas.md +9 -9
- package/dist/ai/guides/migration/components/bb-select-popover.md +2 -2
- package/dist/ai/guides/migration/components/bb-select.md +15 -15
- package/dist/ai/guides/migration/components/bb-toast.md +23 -17
- package/dist/ai/guides/migration/components/bb-tree.md +8 -8
- package/dist/ai/guides/migration/components/use-confirm.md +1 -1
- package/dist/ai/guides/migration/from-async-validator.md +2 -2
- package/dist/ai/guides/migration/v2-to-v3.md +184 -21
- package/dist/ai/guides/migration/v3-beta-css-classes.md +11 -0
- package/dist/ai/guides/migration/v3-beta-tooling.md +18 -2
- package/dist/ai/guides/options-items-playbook.md +8 -1
- package/dist/ai/guides/page-shell.md +11 -0
- package/dist/ai/guides/passthrough.md +24 -33
- package/dist/ai/guides/preset-components.md +32 -5
- package/dist/ai/guides/validated-forms.md +50 -27
- package/dist/ai/helpers/definePreset.json +26 -0
- package/dist/ai/helpers/definePreset.ts +234 -0
- package/dist/ai/helpers/inertia/manifest.json +21 -13
- package/dist/ai/helpers/inertia/types.ts +18 -7
- package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +13 -8
- package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +39 -18
- package/dist/ai/helpers/inertia/useQueryObject.ts +68 -33
- package/dist/ai/index.md +18 -13
- package/dist/ai/manifest/components/BbAccordion.json +6 -2
- package/dist/ai/manifest/components/BbAccordion.tree.json +13 -3
- package/dist/ai/manifest/components/BbAlert.json +4 -3
- package/dist/ai/manifest/components/BbAlert.tree.json +3 -3
- package/dist/ai/manifest/components/BbBaseButton.json +1 -1
- package/dist/ai/manifest/components/BbBaseCheckboxIcon.tree.json +4 -4
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
- package/dist/ai/manifest/components/BbButton.json +1 -1
- package/dist/ai/manifest/components/BbCalendar.json +2 -2
- package/dist/ai/manifest/components/BbCheckbox.json +3 -2
- package/dist/ai/manifest/components/BbCheckbox.tree.json +3 -2
- package/dist/ai/manifest/components/BbCheckboxGroup.json +3 -2
- package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +4 -1
- package/dist/ai/manifest/components/BbCollapsible.json +1 -1
- package/dist/ai/manifest/components/BbColorInput.json +4 -3
- package/dist/ai/manifest/components/BbColorInput.tree.json +1 -1
- package/dist/ai/manifest/components/BbColorPalette.json +1 -1
- package/dist/ai/manifest/components/BbColorPalette.tree.json +1 -1
- package/dist/ai/manifest/components/BbConfirm.json +3 -4
- package/dist/ai/manifest/components/BbConfirm.tree.json +1 -1
- package/dist/ai/manifest/components/BbConfirmPortal.json +3 -3
- package/dist/ai/manifest/components/BbDatePicker.json +4 -4
- package/dist/ai/manifest/components/BbDatePicker.tree.json +1 -1
- package/dist/ai/manifest/components/BbDatePickerInput.json +6 -5
- package/dist/ai/manifest/components/BbDatePickerInput.tree.json +1 -1
- package/dist/ai/manifest/components/BbDialog.json +8 -7
- package/dist/ai/manifest/components/BbDialog.tree.json +4 -2
- package/dist/ai/manifest/components/BbDropdown.json +2 -2
- package/dist/ai/manifest/components/BbDropdown.tree.json +1 -1
- package/dist/ai/manifest/components/BbDropdownButton.json +2 -2
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
- package/dist/ai/manifest/components/BbDropzone.json +1 -1
- package/dist/ai/manifest/components/BbHost.json +14 -0
- package/dist/ai/manifest/components/BbHost.tree.json +9 -0
- package/dist/ai/manifest/components/BbHoverCardPortal.json +3 -3
- package/dist/ai/manifest/components/BbNumberInput.json +4 -3
- package/dist/ai/manifest/components/BbOffCanvas.json +8 -7
- package/dist/ai/manifest/components/BbOffCanvas.tree.json +3 -1
- package/dist/ai/manifest/components/BbPopover.json +1 -1
- package/dist/ai/manifest/components/BbPopover.tree.json +1 -1
- package/dist/ai/manifest/components/BbPopoverPortal.json +3 -3
- package/dist/ai/manifest/components/BbProgress.json +1 -1
- package/dist/ai/manifest/components/BbRadio.json +4 -3
- package/dist/ai/manifest/components/BbRadio.tree.json +2 -1
- package/dist/ai/manifest/components/BbRadioGroup.json +3 -2
- package/dist/ai/manifest/components/BbRadioGroup.tree.json +3 -0
- package/dist/ai/manifest/components/BbRating.json +3 -2
- package/dist/ai/manifest/components/BbRating.tree.json +2 -0
- package/dist/ai/manifest/components/BbSelect.json +5 -4
- package/dist/ai/manifest/components/BbSelect.tree.json +1 -1
- package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
- package/dist/ai/manifest/components/BbSlider.json +5 -4
- package/dist/ai/manifest/components/BbSwitch.json +5 -4
- package/dist/ai/manifest/components/BbSwitch.tree.json +2 -1
- package/dist/ai/manifest/components/BbSwitchGroup.json +11 -10
- package/dist/ai/manifest/components/BbSwitchGroup.tree.json +3 -0
- package/dist/ai/manifest/components/BbTable.json +1 -1
- package/dist/ai/manifest/components/BbTable.tree.json +1 -1
- package/dist/ai/manifest/components/BbTabs.tree.json +1 -0
- package/dist/ai/manifest/components/BbTag.json +3 -2
- package/dist/ai/manifest/components/BbTextInput.json +4 -3
- package/dist/ai/manifest/components/BbTextarea.json +4 -3
- package/dist/ai/manifest/components/BbTimePicker.json +2 -2
- package/dist/ai/manifest/components/BbTimePicker.tree.json +1 -1
- package/dist/ai/manifest/components/BbTimePickerInput.json +5 -4
- package/dist/ai/manifest/components/BbTimePickerInput.tree.json +1 -1
- package/dist/ai/manifest/components/BbToast.json +4 -8
- package/dist/ai/manifest/components/BbToast.removed.json +1 -1
- package/dist/ai/manifest/components/BbToastPortal.json +6 -3
- package/dist/ai/manifest/components/BbTree.json +1 -1
- package/dist/ai/manifest/components/CommonField.json +5 -4
- package/dist/ai/manifest/components/CommonField.tree.json +76 -1
- package/dist/ai/manifest/index.json +9 -10
- package/dist/ai/manifest/meta.json +28 -4
- package/dist/ai/manifest/types.advanced.json +15 -7
- package/dist/ai/manifest/types.api.json +7 -7
- package/dist/ai/manifest/types.wrapper.json +2 -3
- package/dist/ai/recipes/inertia/approvals-inbox.md +174 -157
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +13 -14
- package/dist/ai/recipes/inertia/onboarding.md +15 -18
- package/dist/ai/recipes/inertia/ownership-atlas.md +67 -30
- package/dist/ai/recipes/inertia/record-form.md +8 -8
- package/dist/ai/recipes/inertia/records-workspace.md +122 -97
- package/dist/ai/recipes/inertia/settings-workspace.md +89 -96
- package/dist/ai/recipes/inertia/upload-center.md +30 -24
- package/dist/ai/recipes/inertia/wizard-form.md +9 -7
- package/dist/ai/recipes/nuxt/approvals-inbox.md +174 -156
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +11 -13
- package/dist/ai/recipes/nuxt/onboarding.md +15 -18
- package/dist/ai/recipes/nuxt/ownership-atlas.md +63 -26
- package/dist/ai/recipes/nuxt/record-form.md +8 -9
- package/dist/ai/recipes/nuxt/records-workspace.md +112 -96
- package/dist/ai/recipes/nuxt/settings-workspace.md +91 -101
- package/dist/ai/recipes/nuxt/upload-center.md +25 -23
- package/dist/ai/recipes/nuxt/wizard-form.md +9 -7
- package/dist/ai/recipes/vue/approvals-inbox.md +175 -158
- package/dist/ai/recipes/vue/inline-edit-workspace.md +10 -12
- package/dist/ai/recipes/vue/onboarding.md +15 -20
- package/dist/ai/recipes/vue/ownership-atlas.md +63 -26
- package/dist/ai/recipes/vue/record-form.md +8 -9
- package/dist/ai/recipes/vue/records-workspace.md +112 -96
- package/dist/ai/recipes/vue/settings-workspace.md +91 -101
- package/dist/ai/recipes/vue/upload-center.md +25 -23
- package/dist/ai/recipes/vue/wizard-form.md +9 -9
- package/dist/ai/source/BbAccordion.md +79 -9
- package/dist/ai/source/BbAlert.md +34 -12
- package/dist/ai/source/BbBaseButton.md +15 -2
- package/dist/ai/source/BbBaseCheckboxIcon.md +4 -0
- package/dist/ai/source/BbButton.md +8 -4
- package/dist/ai/source/BbCalendar.md +10 -5
- package/dist/ai/source/BbCheckbox.md +24 -7
- package/dist/ai/source/BbCheckboxGroup.md +23 -5
- package/dist/ai/source/BbCollapsible.md +6 -7
- package/dist/ai/source/BbColorInput.md +6 -5
- package/dist/ai/source/BbColorPalette.md +0 -1
- package/dist/ai/source/BbConfirm.md +16 -28
- package/dist/ai/source/BbConfirmPortal.md +7 -14
- package/dist/ai/source/BbDatePicker.md +66 -2
- package/dist/ai/source/BbDatePickerInput.md +16 -15
- package/dist/ai/source/BbDialog.md +188 -36
- package/dist/ai/source/BbDropdown.md +5 -5
- package/dist/ai/source/BbDropdownGroup.md +5 -4
- package/dist/ai/source/BbDropzone.md +26 -9
- package/dist/ai/source/BbForm.md +7 -1
- package/dist/ai/source/BbHost.md +97 -0
- package/dist/ai/source/BbHoverCard.md +5 -5
- package/dist/ai/source/BbHoverCardPortal.md +7 -7
- package/dist/ai/source/BbNumberInput.md +7 -6
- package/dist/ai/source/BbOffCanvas.md +183 -37
- package/dist/ai/source/BbPopover.md +5 -6
- package/dist/ai/source/BbPopoverPortal.md +7 -7
- package/dist/ai/source/BbProgress.md +1 -1
- package/dist/ai/source/BbRadio.md +23 -6
- package/dist/ai/source/BbRadioGroup.md +22 -5
- package/dist/ai/source/BbRating.md +19 -5
- package/dist/ai/source/BbSelect.md +18 -10
- package/dist/ai/source/BbSelectPopover.md +10 -7
- package/dist/ai/source/BbSlider.md +40 -7
- package/dist/ai/source/BbSwitch.md +20 -3
- package/dist/ai/source/BbSwitchGroup.md +18 -1
- package/dist/ai/source/BbTable.md +5 -3
- package/dist/ai/source/BbTabs.md +33 -3
- package/dist/ai/source/BbTabsList.md +16 -3
- package/dist/ai/source/BbTabsPanels.md +6 -0
- package/dist/ai/source/BbTabsRoot.md +6 -0
- package/dist/ai/source/BbTag.md +6 -5
- package/dist/ai/source/BbTextInput.md +7 -6
- package/dist/ai/source/BbTextarea.md +7 -6
- package/dist/ai/source/BbTimePicker.md +23 -2
- package/dist/ai/source/BbTimePickerInput.md +11 -19
- package/dist/ai/source/BbToast.md +58 -27
- package/dist/ai/source/BbToastPortal.md +25 -14
- package/dist/ai/source/BbTree.md +21 -12
- package/dist/ai/source/CommonField.md +393 -45
- package/dist/ai/source/CommonPopover.md +4 -0
- package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +47 -33
- package/dist/components/BbAccordion/types.d.ts +21 -6
- package/dist/components/BbAccordion/types.js +2 -0
- package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +39 -37
- package/dist/components/BbAlert/types.d.ts +11 -4
- package/dist/components/BbBaseButton/types.d.ts +3 -2
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +40 -40
- package/dist/components/BbButton/types.d.ts +3 -2
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/BbCalendar/types.d.ts +6 -1
- package/dist/components/BbCalendar/useDayjsLocale.d.ts +8 -0
- package/dist/components/BbCalendar/useDayjsLocale.js +14 -2
- package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +1 -1
- package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +44 -43
- package/dist/components/BbCheckbox/types.d.ts +6 -5
- package/dist/components/BbCheckboxGroup/types.d.ts +6 -5
- package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbCollapsible/types.d.ts +4 -4
- package/dist/components/BbColorInput/types.d.ts +6 -5
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +0 -1
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +46 -48
- package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +1 -1
- package/dist/components/BbConfirm/BbConfirmPortal.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbConfirm/types.d.ts +5 -12
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +118 -103
- package/dist/components/BbDatePicker/types.d.ts +8 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +312 -319
- package/dist/components/BbDatePickerInput/types.d.ts +14 -10
- package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -0
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +193 -151
- package/dist/components/BbDialog/types.d.ts +59 -11
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +0 -1
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +13 -13
- package/dist/components/BbDropdown/types.d.ts +5 -4
- package/dist/components/BbDropzone/BbDropzone.vue.d.ts +2 -2
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +142 -139
- package/dist/components/BbDropzone/types.d.ts +7 -2
- package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +170 -170
- package/dist/components/BbForm/bindFormField.d.ts +2 -3
- package/dist/components/BbHost/BbHost.vue.d.ts +4 -0
- package/dist/components/BbHost/BbHost.vue.js +5 -0
- package/dist/components/BbHost/BbHost.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/BbHost/BbHostOpening.d.ts +27 -0
- package/dist/components/BbHost/BbHostOpening.js +43 -0
- package/dist/components/BbHost/types.d.ts +7 -0
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
- package/dist/components/BbHoverCard/types.d.ts +5 -5
- package/dist/components/BbNumberInput/types.d.ts +7 -6
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -0
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +249 -222
- package/dist/components/BbOffCanvas/types.d.ts +69 -18
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +0 -1
- package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
- package/dist/components/BbPopover/types.d.ts +5 -5
- package/dist/components/BbProgress/types.d.ts +1 -1
- package/dist/components/BbRadio/BbRadio.vue.d.ts +1 -1
- package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +65 -64
- package/dist/components/BbRadio/types.d.ts +6 -5
- package/dist/components/BbRadioGroup/types.d.ts +6 -5
- package/dist/components/BbRating/types.d.ts +6 -5
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +13 -10
- package/dist/components/BbSelect/types.d.ts +11 -9
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +7 -5
- package/dist/components/BbSelectPopover/types.d.ts +5 -4
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +154 -146
- package/dist/components/BbSlider/types.d.ts +13 -5
- package/dist/components/BbSwitch/BbSwitch.vue.d.ts +1 -1
- package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +83 -82
- package/dist/components/BbSwitch/types.d.ts +2 -1
- package/dist/components/BbSwitchGroup/types.d.ts +2 -1
- package/dist/components/BbTable/types.d.ts +5 -3
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +33 -30
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +54 -50
- package/dist/components/BbTabs/tablistName.d.ts +4 -0
- package/dist/components/BbTabs/tablistName.js +13 -0
- package/dist/components/BbTag/types.d.ts +6 -5
- package/dist/components/BbTextInput/types.d.ts +7 -6
- package/dist/components/BbTextarea/types.d.ts +7 -6
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +90 -86
- package/dist/components/BbTimePicker/types.d.ts +6 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +145 -151
- package/dist/components/BbTimePickerInput/types.d.ts +8 -7
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +41 -34
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +79 -78
- package/dist/components/BbToast/BbToastPortal.vue.d.ts +5 -5
- package/dist/components/BbToast/BbToastPortal.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbToast/BbToastRegion.vue.d.ts +2 -0
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +66 -66
- package/dist/components/BbToast/types.d.ts +17 -8
- package/dist/components/BbTree/BbTree.vue.d.ts +1 -1
- package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbTree/types.d.ts +6 -6
- package/dist/components/CommonField/CommonField.vue.d.ts +2 -1
- package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +146 -99
- package/dist/components/CommonField/types.d.ts +18 -12
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +32 -29
- package/dist/composables/formSubmitLock.d.ts +35 -0
- package/dist/composables/formSubmitLock.js +17 -2
- package/dist/composables/hostOpenings.d.ts +82 -0
- package/dist/composables/hostOpenings.js +70 -0
- package/dist/composables/hostRegistry.d.ts +39 -0
- package/dist/composables/hostRegistry.js +21 -0
- package/dist/composables/overlayRegistry.d.ts +160 -0
- package/dist/composables/overlayRegistry.js +230 -0
- package/dist/composables/useBbDialogContext.d.ts +86 -0
- package/dist/composables/useBbDialogContext.js +53 -0
- package/dist/composables/useBbOffCanvasContext.d.ts +23 -0
- package/dist/composables/useBbOffCanvasContext.js +8 -0
- package/dist/composables/useConfig.js +4 -0
- package/dist/composables/useConfirm.d.ts +44 -21
- package/dist/composables/useConfirm.js +4 -4
- package/dist/composables/useOnDemandOpener.d.ts +35 -0
- package/dist/composables/useOnDemandOpener.js +30 -0
- package/dist/composables/useRefusedCloseAnnouncement.d.ts +13 -0
- package/dist/composables/useRefusedCloseAnnouncement.js +15 -0
- package/dist/composables/useToast.d.ts +5 -6
- package/dist/composables/useToast.js +4 -3
- package/dist/deprecation/ai-deprecations.json.d.ts +3 -10
- package/dist/deprecation/ai-deprecations.json.js +1 -1
- package/dist/directives/bbDate.d.ts +40 -9
- package/dist/directives/bbDialog.d.ts +60 -0
- package/dist/directives/bbDialog.js +7 -0
- package/dist/directives/bbHoverCard.d.ts +3 -3
- package/dist/directives/bbHoverCard.js +1 -1
- package/dist/directives/bbOffCanvas.d.ts +46 -0
- package/dist/directives/bbOffCanvas.js +7 -0
- package/dist/directives/bbPopover.d.ts +3 -3
- package/dist/directives/bbPopover.js +1 -1
- package/dist/directives/bbTime.d.ts +23 -6
- package/dist/directives/directivePortal.d.ts +11 -11
- package/dist/directives/directivePortal.js +1 -1
- package/dist/directives/overlayTrigger.d.ts +28 -0
- package/dist/directives/overlayTrigger.js +93 -0
- package/dist/i18n/locales/cs.json +2 -1
- package/dist/i18n/locales/da.json +2 -1
- package/dist/i18n/locales/de-CH.json +2 -1
- package/dist/i18n/locales/de.json +2 -1
- package/dist/i18n/locales/el.json +2 -1
- package/dist/i18n/locales/en-GB.json +2 -1
- package/dist/i18n/locales/en.json +2 -1
- package/dist/i18n/locales/es-MX.json +2 -1
- package/dist/i18n/locales/es.json +2 -1
- package/dist/i18n/locales/fi.json +2 -1
- package/dist/i18n/locales/fr.json +2 -1
- package/dist/i18n/locales/hu.json +2 -1
- package/dist/i18n/locales/it.json +2 -1
- package/dist/i18n/locales/ja.json +2 -1
- package/dist/i18n/locales/ko.json +2 -1
- package/dist/i18n/locales/nb.json +2 -1
- package/dist/i18n/locales/nl.json +2 -1
- package/dist/i18n/locales/pl.json +2 -1
- package/dist/i18n/locales/pt-BR.json +2 -1
- package/dist/i18n/locales/pt-PT.json +2 -1
- package/dist/i18n/locales/ro.json +2 -1
- package/dist/i18n/locales/ru.json +2 -1
- package/dist/i18n/locales/sv.json +2 -1
- package/dist/i18n/locales/tr.json +2 -1
- package/dist/i18n/locales/uk.json +2 -1
- package/dist/i18n/locales/zh-CN.json +2 -1
- package/dist/i18n/locales/zh-HK.json +2 -1
- package/dist/i18n/locales/zh-TW.json +2 -1
- package/dist/icon-scan.d.ts +21 -0
- package/dist/icon-scan.js +29 -26
- package/dist/index.d.ts +13 -4
- package/dist/index.js +60 -57
- package/dist/llms-full.txt +4978 -3435
- package/dist/llms-medium.txt +119 -122
- package/dist/llms.txt +11 -7
- package/dist/locale-blueprint.json +2 -1
- package/dist/nuxt-auto-imports.js +3 -1
- package/dist/nuxt-module.d.ts +7 -4
- package/dist/nuxt.js +23 -20
- package/dist/plugin.js +27 -24
- package/dist/project-dts.d.ts +15 -2
- package/dist/project-dts.js +16 -10
- package/dist/runtime/nuxt-plugin.js +19 -17
- package/dist/styles.css +2 -2
- package/dist/types/Config.d.ts +33 -7
- package/dist/types/ptComponentMap.d.ts +1 -1
- package/dist/utilities/functions/responsiveDefault.d.ts +7 -0
- package/dist/utilities/functions/responsiveDefault.js +11 -0
- package/dist/utils/copyData.d.ts +10 -0
- package/dist/utils/copyData.js +29 -0
- package/dist/utils/cssLayers.d.ts +10 -0
- package/dist/utils/cssLayers.js +23 -18
- package/dist/utils/versionCheck.js +1 -1
- package/dist/vite-plugin.d.ts +29 -14
- package/dist/vite.js +247 -242
- package/llms.txt +11 -7
- package/package.json +1 -1
- package/scripts/lib/agent-manifest.mjs +22 -3
- package/scripts/lib/css-class-check.mjs +33 -2
- package/scripts/lib/define-preset-copy.mjs +123 -0
- package/scripts/lib/eslint-disable.mjs +3 -2
- package/scripts/lib/eslint-plugin.d.ts +2 -2
- package/scripts/lib/eslint-plugin.mjs +73 -93
- package/scripts/lib/portal-names.mjs +198 -28
- package/scripts/lib/project-variant-dts.mjs +53 -1
- package/scripts/lib/rule-registry.mjs +379 -0
- package/scripts/lib/swap-noun.mjs +33 -0
- package/scripts/lib/unimported-components.mjs +3 -1
- package/scripts/lib/validate-bb-markup.mjs +82 -76
- package/scripts/lib/required-in-form.mjs +0 -240
|
@@ -26,7 +26,12 @@ Sibling recipes: [Vue](../vue/upload-center.md) ·
|
|
|
26
26
|
those files before anything below, and do not hand-roll replacements —
|
|
27
27
|
the peek stack, the close semantics and the sidebar's out-of-flow
|
|
28
28
|
behaviour are all load-bearing here.
|
|
29
|
-
- `<
|
|
29
|
+
- `<BbHost />` mounted once in `app.vue` — never in a page.
|
|
30
|
+
- Each toast and alert variant's icon set once in the build config; the
|
|
31
|
+
code below passes no `icon` for them:
|
|
32
|
+
`toastVariants: { success: { icon: 'lucide:circle-check' }, destructive: { icon: 'lucide:circle-x' } }`
|
|
33
|
+
and `alertVariants: { warning: { icon: 'lucide:triangle-alert' }, destructive: { icon: 'lucide:circle-x' } }`
|
|
34
|
+
([BbToast § Variant icons](../../BbToast.md#variant-icons)).
|
|
30
35
|
- [App Layout](../../guides/app-layout.md), [Page Shell](../../guides/page-shell.md)
|
|
31
36
|
and [Floating Bottom Panel](../../guides/floating-bottom-panel.md) copied
|
|
32
37
|
into `app/components/` and `app/composables/` per their guides — every recipe page assumes
|
|
@@ -533,7 +538,6 @@ export function provideUploadCenter(): UploadCenterContext {
|
|
|
533
538
|
toast({
|
|
534
539
|
title: `Could not save ${receipt.filename}. Changes were reverted.`,
|
|
535
540
|
variant: 'destructive',
|
|
536
|
-
icon: 'lucide:circle-x',
|
|
537
541
|
});
|
|
538
542
|
}
|
|
539
543
|
};
|
|
@@ -544,7 +548,6 @@ export function provideUploadCenter(): UploadCenterContext {
|
|
|
544
548
|
toast({
|
|
545
549
|
title: `${receipt.merchant ?? receipt.filename} submitted for approval.`,
|
|
546
550
|
variant: 'success',
|
|
547
|
-
icon: 'lucide:circle-check',
|
|
548
551
|
});
|
|
549
552
|
};
|
|
550
553
|
|
|
@@ -557,7 +560,6 @@ export function provideUploadCenter(): UploadCenterContext {
|
|
|
557
560
|
toast({
|
|
558
561
|
title: `${submitted} receipts submitted for approval.`,
|
|
559
562
|
variant: 'success',
|
|
560
|
-
icon: 'lucide:circle-check',
|
|
561
563
|
});
|
|
562
564
|
};
|
|
563
565
|
|
|
@@ -575,7 +577,6 @@ export function provideUploadCenter(): UploadCenterContext {
|
|
|
575
577
|
toast({
|
|
576
578
|
title: `${receipt.filename} removed.`,
|
|
577
579
|
variant: 'success',
|
|
578
|
-
icon: 'lucide:circle-check',
|
|
579
580
|
});
|
|
580
581
|
return true;
|
|
581
582
|
};
|
|
@@ -617,7 +618,6 @@ export function provideUploadCenter(): UploadCenterContext {
|
|
|
617
618
|
toast({
|
|
618
619
|
title: `${count} receipts filed under ${category?.name ?? 'the selected category'}.`,
|
|
619
620
|
variant: 'success',
|
|
620
|
-
icon: 'lucide:circle-check',
|
|
621
621
|
});
|
|
622
622
|
};
|
|
623
623
|
|
|
@@ -640,7 +640,6 @@ export function provideUploadCenter(): UploadCenterContext {
|
|
|
640
640
|
toast({
|
|
641
641
|
title: `${count} receipts removed.`,
|
|
642
642
|
variant: 'success',
|
|
643
|
-
icon: 'lucide:circle-check',
|
|
644
643
|
});
|
|
645
644
|
};
|
|
646
645
|
|
|
@@ -963,11 +962,12 @@ const submitLabel = computed(() =>
|
|
|
963
962
|
<BbDropzone
|
|
964
963
|
v-model="pending"
|
|
965
964
|
:accept="ACCEPT"
|
|
966
|
-
:errors="
|
|
965
|
+
:errors="dropErrors"
|
|
967
966
|
:max-files="20"
|
|
968
967
|
:max-size="MAX_SIZE"
|
|
969
968
|
multiple
|
|
970
969
|
@error="onError"
|
|
970
|
+
@update:model-value="dropErrors = []"
|
|
971
971
|
>
|
|
972
972
|
<template #default="{ dragging, focused, open }">
|
|
973
973
|
<div
|
|
@@ -1029,26 +1029,27 @@ const ctx = useUploadCenter();
|
|
|
1029
1029
|
const pending = ref<File[]>([]);
|
|
1030
1030
|
watch(pending, (files) => {
|
|
1031
1031
|
if (files.length === 0) return;
|
|
1032
|
-
dropError.value = undefined;
|
|
1033
1032
|
ctx.enqueueFiles(files);
|
|
1034
1033
|
pending.value = [];
|
|
1035
1034
|
});
|
|
1036
1035
|
|
|
1037
1036
|
// The errors display is a round-trip: map each typed reject to a sentence
|
|
1038
1037
|
// and feed it back through the `errors` prop (rendered in the built-in
|
|
1039
|
-
// aria-live region and referenced from the input's aria-describedby).
|
|
1040
|
-
//
|
|
1041
|
-
|
|
1042
|
-
const
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1038
|
+
// aria-live region and referenced from the input's aria-describedby). A drop
|
|
1039
|
+
// updates the model first (the last drop's lines clear there), then emits ONE
|
|
1040
|
+
// `error` with every file it rejected: one line each.
|
|
1041
|
+
const dropErrors = ref<string[]>([]);
|
|
1042
|
+
const describe = (error: DropZoneError) => {
|
|
1043
|
+
if (error.type === 'maxSize')
|
|
1044
|
+
return `${error.filename} is ${error.formattedSize} — receipts are capped at ${error.formattedMaxSize}.`;
|
|
1045
|
+
if (error.type === 'accept')
|
|
1046
|
+
return `${error.filename} is not a JPG, PNG, HEIC or PDF.`;
|
|
1047
|
+
if (error.type === 'uniqueness')
|
|
1048
|
+
return `${error.filename} is already in this drop.`;
|
|
1049
|
+
return `${error.filename} was not added — add at most ${error.maxFiles} at a time.`;
|
|
1050
|
+
};
|
|
1051
|
+
const onError = (rejections: DropZoneError[]) => {
|
|
1052
|
+
dropErrors.value = rejections.map(describe);
|
|
1052
1053
|
};
|
|
1053
1054
|
</script>
|
|
1054
1055
|
```
|
|
@@ -1093,6 +1094,7 @@ const onError = (error: DropZoneError) => {
|
|
|
1093
1094
|
<BbSelectPopover
|
|
1094
1095
|
v-model="ctx.filters.merchant"
|
|
1095
1096
|
clearable
|
|
1097
|
+
:filter-by="false"
|
|
1096
1098
|
:items="ctx.searchMerchants"
|
|
1097
1099
|
width="240px"
|
|
1098
1100
|
>
|
|
@@ -1808,8 +1810,8 @@ const longDate = (value: string) =>
|
|
|
1808
1810
|
>
|
|
1809
1811
|
<BbIcon class="text-(--bb-text-muted)" icon="lucide:store" size="18" />
|
|
1810
1812
|
</div>
|
|
1813
|
+
<!-- The sidebar title already names the merchant. -->
|
|
1811
1814
|
<div class="flex flex-col">
|
|
1812
|
-
<h2 class="text-base font-semibold">{{ merchant.name }}</h2>
|
|
1813
1815
|
<p class="text-xs text-(--bb-text-muted)">
|
|
1814
1816
|
{{ merchant.defaultCategoryName }} · this year
|
|
1815
1817
|
</p>
|
|
@@ -26,7 +26,12 @@ Sibling recipes: [Vue](../vue/wizard-form.md) ·
|
|
|
26
26
|
those files before anything below, and do not hand-roll replacements —
|
|
27
27
|
the peek stack, the close semantics and the sidebar's out-of-flow
|
|
28
28
|
behaviour are all load-bearing here.
|
|
29
|
-
- `<
|
|
29
|
+
- `<BbHost />` mounted once in `app.vue` — never in a page.
|
|
30
|
+
- Each toast and alert variant's icon set once in the build config; the
|
|
31
|
+
code below passes no `icon` for them:
|
|
32
|
+
`toastVariants: { success: { icon: 'lucide:circle-check' }, destructive: { icon: 'lucide:circle-x' } }`
|
|
33
|
+
and `alertVariants: { warning: { icon: 'lucide:triangle-alert' }, destructive: { icon: 'lucide:circle-x' } }`
|
|
34
|
+
([BbToast § Variant icons](../../BbToast.md#variant-icons)).
|
|
30
35
|
- [App Layout](../../guides/app-layout.md) and
|
|
31
36
|
[Page Shell](../../guides/page-shell.md) copied into
|
|
32
37
|
`app/components/` and `app/composables/` per their guides — the page renders inside this
|
|
@@ -575,7 +580,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
|
|
|
575
580
|
toast({
|
|
576
581
|
title: 'Draft saved.',
|
|
577
582
|
variant: 'success',
|
|
578
|
-
icon: 'lucide:circle-check',
|
|
579
583
|
});
|
|
580
584
|
} catch (error) {
|
|
581
585
|
applyServerErrors(error);
|
|
@@ -594,7 +598,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
|
|
|
594
598
|
toast({
|
|
595
599
|
title: 'Test email sent to your address.',
|
|
596
600
|
variant: 'success',
|
|
597
|
-
icon: 'lucide:circle-check',
|
|
598
601
|
});
|
|
599
602
|
};
|
|
600
603
|
|
|
@@ -622,7 +625,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
|
|
|
622
625
|
? 'Campaign is on its way.'
|
|
623
626
|
: 'Campaign scheduled.',
|
|
624
627
|
variant: 'success',
|
|
625
|
-
icon: 'lucide:circle-check',
|
|
626
628
|
});
|
|
627
629
|
await navigateTo(`/campaigns/${campaignId}`);
|
|
628
630
|
} catch (error) {
|
|
@@ -646,7 +648,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
|
|
|
646
648
|
toast({
|
|
647
649
|
title: 'Draft discarded.',
|
|
648
650
|
variant: 'success',
|
|
649
|
-
icon: 'lucide:circle-check',
|
|
650
651
|
});
|
|
651
652
|
await navigateTo('/campaigns');
|
|
652
653
|
};
|
|
@@ -736,7 +737,6 @@ export function useCampaignWizard(): CampaignWizardContext {
|
|
|
736
737
|
<BbAlert
|
|
737
738
|
v-if="summaryIssues.length"
|
|
738
739
|
hide-close
|
|
739
|
-
icon="lucide:circle-x"
|
|
740
740
|
:title="`Fix ${summaryIssues.length} ${summaryIssues.length === 1 ? 'issue' : 'issues'} to continue`"
|
|
741
741
|
variant="destructive"
|
|
742
742
|
>
|
|
@@ -912,6 +912,7 @@ const status = (key: StepKey) => ctx.stepStatus(key);
|
|
|
912
912
|
<BbSelect
|
|
913
913
|
v-model="ctx.draft.segmentId"
|
|
914
914
|
:errors="segmentErrors"
|
|
915
|
+
:filter-by="false"
|
|
915
916
|
item-text="name"
|
|
916
917
|
item-value="id"
|
|
917
918
|
:items="searchSegments"
|
|
@@ -1397,8 +1398,9 @@ const isReview = computed(() => ctx.step.value === 'review');
|
|
|
1397
1398
|
<!-- components/CampaignWizard/SegmentPeek.vue -->
|
|
1398
1399
|
<template>
|
|
1399
1400
|
<div v-if="segment" class="flex flex-col gap-4 text-sm">
|
|
1401
|
+
<!-- The sidebar title already names the segment; the peek opens on its
|
|
1402
|
+
facts, never a second name. -->
|
|
1400
1403
|
<header class="flex flex-col gap-0.5">
|
|
1401
|
-
<h2 class="text-base font-semibold">{{ segment.name }}</h2>
|
|
1402
1404
|
<p class="text-xs text-(--bb-text-muted)">
|
|
1403
1405
|
{{ number.format(segment.contactCount) }} contacts · last synced
|
|
1404
1406
|
{{ longDate(segment.lastSyncedAt) }}
|