bitboss-ui 3.0.0-beta.47 → 3.0.0-beta.49
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 +24 -7
- package/bin/bitboss-ui-mcp.mjs +15 -3
- package/bin/bitboss-ui.mjs +167 -14
- package/dist/ai/BbAccordion.md +1 -1
- package/dist/ai/BbAvatar.md +1 -1
- package/dist/ai/BbBreadcrumbs.md +65 -65
- package/dist/ai/BbButton.md +28 -8
- package/dist/ai/BbCheckbox.md +0 -2
- package/dist/ai/BbCheckboxGroup.md +13 -20
- package/dist/ai/BbCollapsible.md +1 -1
- package/dist/ai/BbColorPalette.md +1 -1
- package/dist/ai/BbConfirm.md +8 -0
- package/dist/ai/BbConfirmPortal.md +1 -1
- package/dist/ai/BbDatePickerInput.md +4 -2
- package/dist/ai/BbDialog.md +1 -8
- package/dist/ai/BbDropdown.md +231 -220
- package/dist/ai/BbDropdownButton.md +65 -65
- package/dist/ai/BbDropdownGroup.md +2 -2
- package/dist/ai/BbDropzone.md +10 -10
- package/dist/ai/BbForm.md +43 -52
- package/dist/ai/BbHoverCard.md +19 -7
- package/dist/ai/BbHoverCardPortal.md +1 -1
- package/dist/ai/BbNumberInput.md +88 -21
- package/dist/ai/BbPopover.md +47 -40
- package/dist/ai/BbPopoverPortal.md +1 -1
- package/dist/ai/BbProgress.md +48 -22
- package/dist/ai/BbRadioGroup.md +13 -19
- package/dist/ai/BbSelect.md +16 -36
- package/dist/ai/BbSelectPopover.md +14 -30
- package/dist/ai/BbSmoothHeight.md +0 -2
- package/dist/ai/BbSwitchGroup.md +13 -20
- package/dist/ai/BbTable.md +11 -10
- package/dist/ai/BbTabs.md +107 -106
- package/dist/ai/BbTabsList.md +2 -2
- package/dist/ai/BbTabsPanels.md +1 -1
- package/dist/ai/BbTabsRoot.md +3 -3
- package/dist/ai/BbTooltip.md +29 -13
- package/dist/ai/BbTree.md +14 -11
- package/dist/ai/CommonPopover.md +1 -1
- package/dist/ai/changelog.json +297 -6
- package/dist/ai/components.json +50 -45
- package/dist/ai/composables/useBbDropdownContext.md +16 -16
- package/dist/ai/composables/useBbFormField.md +5 -1
- package/dist/ai/composables/useBbTabsContext.md +14 -14
- package/dist/ai/guides/agent-contract.md +27 -27
- package/dist/ai/guides/ai-router.md +1 -1
- package/dist/ai/guides/component-picker.md +3 -3
- package/dist/ai/guides/fetch-items-playbook.md +1 -1
- package/dist/ai/guides/icons-policy.md +10 -10
- package/dist/ai/guides/inertia-helpers.md +120 -67
- package/dist/ai/guides/installation-and-plugin-setup.md +45 -15
- package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
- package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
- package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
- package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
- package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
- package/dist/ai/guides/migration/components/bb-select.md +10 -2
- package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
- package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
- package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
- package/dist/ai/guides/migration/v2-to-v3.md +143 -28
- package/dist/ai/guides/migration/v3-beta-css-classes.md +29 -27
- package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
- package/dist/ai/guides/options-items-playbook.md +30 -24
- package/dist/ai/guides/passthrough.md +4 -4
- package/dist/ai/guides/preset-components.md +18 -3
- package/dist/ai/guides/typescript-generic-components.md +1 -1
- package/dist/ai/guides/validated-forms.md +11 -22
- package/dist/ai/guides/validation-providers.md +4 -3
- package/dist/ai/helpers/inertia/manifest.json +636 -0
- package/dist/ai/helpers/inertia/types.ts +15 -0
- package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
- package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
- package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
- package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
- package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
- package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
- package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
- package/dist/ai/helpers/inertia/useLoading.ts +20 -0
- package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
- package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
- package/dist/ai/helpers/inertia/useProp.ts +63 -0
- package/dist/ai/helpers/inertia/useQuery.ts +19 -0
- package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
- package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
- package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
- package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
- package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
- package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
- package/dist/ai/helpers/inertia/useUntil.ts +33 -0
- package/dist/ai/helpers/inertia/utils.ts +24 -0
- package/dist/ai/index.md +6 -6
- package/dist/ai/manifest/components/BbAccordion.json +1 -1
- package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
- package/dist/ai/manifest/components/BbButton.json +2 -1
- package/dist/ai/manifest/components/BbButton.tree.json +1 -1
- package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
- package/dist/ai/manifest/components/BbCollapsible.json +1 -1
- package/dist/ai/manifest/components/BbColorPalette.json +1 -1
- package/dist/ai/manifest/components/BbConfirmPortal.json +5 -2
- package/dist/ai/manifest/components/BbDropdown.json +23 -20
- package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
- package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
- package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
- package/dist/ai/manifest/components/BbForm.json +1 -0
- package/dist/ai/manifest/components/BbHoverCard.json +1 -1
- package/dist/ai/manifest/components/BbHoverCardPortal.json +2 -2
- package/dist/ai/manifest/components/BbNumberInput.json +6 -1
- package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
- package/dist/ai/manifest/components/BbPopover.json +2 -1
- package/dist/ai/manifest/components/BbPopoverPortal.json +2 -2
- package/dist/ai/manifest/components/BbProgress.json +6 -6
- package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
- package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
- package/dist/ai/manifest/components/BbSelect.json +2 -2
- package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
- package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
- package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
- package/dist/ai/manifest/components/BbTabs.json +8 -7
- package/dist/ai/manifest/components/BbTabsList.json +3 -3
- package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
- package/dist/ai/manifest/components/BbTabsRoot.json +6 -5
- package/dist/ai/manifest/components/BbTag.tree.json +1 -1
- package/dist/ai/manifest/components/BbTooltip.json +2 -2
- package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
- package/dist/ai/manifest/components/CommonPopover.json +1 -1
- package/dist/ai/manifest/index.json +2 -2
- package/dist/ai/manifest/meta.json +5 -0
- package/dist/ai/manifest/types.advanced.json +10 -9
- package/dist/ai/manifest/types.api.json +8 -5
- package/dist/ai/manifest/types.wrapper.json +1 -0
- package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
- package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
- package/dist/ai/recipes/inertia/onboarding.md +6 -10
- package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
- package/dist/ai/recipes/inertia/record-form.md +11 -11
- package/dist/ai/recipes/inertia/records-workspace.md +38 -41
- package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
- package/dist/ai/recipes/inertia/upload-center.md +31 -39
- package/dist/ai/recipes/inertia/wizard-form.md +10 -19
- package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
- package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
- package/dist/ai/recipes/nuxt/onboarding.md +2 -6
- package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
- package/dist/ai/recipes/nuxt/record-form.md +5 -5
- package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
- package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
- package/dist/ai/recipes/nuxt/upload-center.md +22 -29
- package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
- package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
- package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
- package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
- package/dist/ai/recipes/vue/onboarding.md +2 -6
- package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
- package/dist/ai/recipes/vue/record-form.md +5 -5
- package/dist/ai/recipes/vue/records-workspace.md +29 -31
- package/dist/ai/recipes/vue/settings-workspace.md +22 -34
- package/dist/ai/recipes/vue/upload-center.md +22 -29
- package/dist/ai/recipes/vue/wizard-form.md +3 -11
- package/dist/ai/source/BbAccordion.md +1 -1
- package/dist/ai/source/BbAlert.md +3 -3
- package/dist/ai/source/BbBadge.md +14 -10
- package/dist/ai/source/BbBadgeButton.md +17 -12
- package/dist/ai/source/BbBaseButton.md +1 -1
- package/dist/ai/source/BbBaseRadioIcon.md +1 -0
- package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
- package/dist/ai/source/BbBreadcrumbs.md +63 -42
- package/dist/ai/source/BbButton.md +84 -38
- package/dist/ai/source/BbCalendar.md +17 -16
- package/dist/ai/source/BbCheckbox.md +3 -2
- package/dist/ai/source/BbCheckboxGroup.md +11 -4
- package/dist/ai/source/BbCollapsible.md +2 -1
- package/dist/ai/source/BbColorInput.md +10 -9
- package/dist/ai/source/BbColorPalette.md +2 -1
- package/dist/ai/source/BbConfirm.md +18 -1
- package/dist/ai/source/BbConfirmPortal.md +20 -6
- package/dist/ai/source/BbDatePicker.md +2 -2
- package/dist/ai/source/BbDatePickerInput.md +47 -20
- package/dist/ai/source/BbDialog.md +5 -5
- package/dist/ai/source/BbDropdown.md +231 -158
- package/dist/ai/source/BbDropdownButton.md +19 -12
- package/dist/ai/source/BbDropdownGroup.md +127 -93
- package/dist/ai/source/BbForm.md +25 -1
- package/dist/ai/source/BbHoverCard.md +30 -3
- package/dist/ai/source/BbHoverCardPortal.md +18 -3
- package/dist/ai/source/BbIndicator.md +4 -0
- package/dist/ai/source/BbNumberInput.md +855 -19
- package/dist/ai/source/BbOffCanvas.md +27 -11
- package/dist/ai/source/BbPagination.md +3 -3
- package/dist/ai/source/BbPopover.md +185 -12
- package/dist/ai/source/BbPopoverPortal.md +30 -3
- package/dist/ai/source/BbProgress.md +82 -18
- package/dist/ai/source/BbRadioGroup.md +12 -5
- package/dist/ai/source/BbRating.md +11 -9
- package/dist/ai/source/BbSelect.md +16 -10
- package/dist/ai/source/BbSelectPopover.md +29 -23
- package/dist/ai/source/BbSlider.md +12 -6
- package/dist/ai/source/BbSwitch.md +3 -2
- package/dist/ai/source/BbSwitchGroup.md +5 -2
- package/dist/ai/source/BbTable.md +102 -18
- package/dist/ai/source/BbTabs.md +30 -24
- package/dist/ai/source/BbTabsList.md +29 -23
- package/dist/ai/source/BbTabsPanels.md +29 -23
- package/dist/ai/source/BbTabsRoot.md +28 -22
- package/dist/ai/source/BbTag.md +10 -9
- package/dist/ai/source/BbTextInput.md +5 -4
- package/dist/ai/source/BbTextarea.md +6 -5
- package/dist/ai/source/BbTimePicker.md +1 -1
- package/dist/ai/source/BbTimePickerInput.md +46 -9
- package/dist/ai/source/BbToast.md +10 -7
- package/dist/ai/source/BbToastPortal.md +10 -7
- package/dist/ai/source/BbTooltip.md +88 -11
- package/dist/ai/source/BbTree.md +21 -3
- package/dist/ai/source/CommonField.md +6 -4
- package/dist/ai/source/CommonFieldInput.md +15 -10
- package/dist/ai/source/CommonPopover.md +8 -1
- package/dist/ai/source/CommonTimeSelector.md +5 -4
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
- package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +88 -70
- package/dist/components/BbButton/toggleRoving.d.ts +6 -0
- package/dist/components/BbButton/toggleRoving.js +45 -0
- package/dist/components/BbButton/types.d.ts +12 -4
- package/dist/components/BbButton/types.js +5 -1
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
- package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
- package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
- package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
- package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
- package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
- package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
- package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
- package/dist/components/BbCollapsible/types.d.ts +2 -1
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
- package/dist/components/BbColorPalette/types.d.ts +2 -1
- package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +2 -5
- package/dist/components/BbConfirm/types.d.ts +15 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
- package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
- package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
- package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
- package/dist/components/BbDropdown/normalizeGroups.js +60 -46
- package/dist/components/BbDropdown/types.d.ts +120 -88
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
- package/dist/components/BbDropdownButton/types.d.ts +2 -2
- package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
- package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
- package/dist/components/BbForm/BbFormCustomField.js +1 -1
- package/dist/components/BbForm/bindFormField.js +2 -1
- package/dist/components/BbForm/formFields.d.ts +5 -0
- package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +145 -142
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
- package/dist/components/BbHoverCard/types.d.ts +14 -1
- package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
- package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
- package/dist/components/BbNumberInput/numberDisplay.js +499 -0
- package/dist/components/BbNumberInput/types.d.ts +54 -1
- package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
- package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
- package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
- package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
- package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -162
- package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
- package/dist/components/BbPopover/types.d.ts +26 -1
- package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
- package/dist/components/BbProgress/types.d.ts +23 -7
- package/dist/components/BbProgress/types.js +1 -1
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
- package/dist/components/BbRadioGroup/types.d.ts +6 -2
- package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
- package/dist/components/BbSelect/types.d.ts +6 -2
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/components/BbSelectPopover/types.d.ts +6 -2
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
- package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbTabs/types.d.ts +28 -22
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +99 -86
- package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
- package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
- package/dist/components/BbTooltip/types.d.ts +10 -3
- package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
- package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
- package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
- package/dist/components/CommonPopover/types.d.ts +2 -1
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/composables/formSubmitLock.d.ts +6 -0
- package/dist/composables/formSubmitLock.js +4 -0
- package/dist/composables/useBaseOptions.d.ts +7 -1
- package/dist/composables/useBaseOptions.js +32 -32
- package/dist/composables/useBbDropdownContext.d.ts +8 -8
- package/dist/composables/useBbFormField.d.ts +9 -0
- package/dist/composables/useBbFormField.js +5 -3
- package/dist/composables/useBbTabsContext.d.ts +10 -10
- package/dist/composables/useBbTabsContext.js +18 -18
- package/dist/composables/useFormBinding.d.ts +11 -0
- package/dist/composables/useFormBinding.js +15 -13
- package/dist/composables/useItemText.d.ts +5 -1
- package/dist/composables/useItemText.js +8 -3
- package/dist/composables/useItemValue.d.ts +5 -1
- package/dist/composables/useItemValue.js +8 -3
- package/dist/composables/useLocale.js +10 -9
- package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
- package/dist/deprecation/ai-deprecations.json.js +1 -1
- package/dist/deprecation/removedProps.js +1 -1
- package/dist/directives/bbDropdown.js +1 -1
- package/dist/directives/directivePortal.d.ts +13 -7
- package/dist/directives/directivePortal.js +1 -4
- package/dist/i18n/index.d.ts +7 -12
- package/dist/i18n/locales/cs.json +11 -14
- package/dist/i18n/locales/da.json +13 -16
- package/dist/i18n/locales/de-CH.json +137 -0
- package/dist/i18n/locales/de.json +14 -17
- package/dist/i18n/locales/el.json +10 -13
- package/dist/i18n/locales/en-GB.json +137 -0
- package/dist/i18n/locales/en.json +8 -11
- package/dist/i18n/locales/es-MX.json +137 -0
- package/dist/i18n/locales/es.json +16 -19
- package/dist/i18n/locales/fi.json +8 -11
- package/dist/i18n/locales/fr.json +23 -26
- package/dist/i18n/locales/hu.json +8 -11
- package/dist/i18n/locales/it.json +12 -15
- package/dist/i18n/locales/ja.json +13 -16
- package/dist/i18n/locales/ko.json +10 -13
- package/dist/i18n/locales/nb.json +13 -16
- package/dist/i18n/locales/nl.json +21 -24
- package/dist/i18n/locales/pl.json +10 -13
- package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
- package/dist/i18n/locales/pt-PT.json +137 -0
- package/dist/i18n/locales/ro.json +22 -25
- package/dist/i18n/locales/ru.json +11 -14
- package/dist/i18n/locales/sv.json +16 -19
- package/dist/i18n/locales/tr.json +14 -17
- package/dist/i18n/locales/uk.json +11 -14
- package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
- package/dist/i18n/locales/zh-HK.json +137 -0
- package/dist/i18n/locales/zh-TW.json +137 -0
- package/dist/i18n/regionHints.d.ts +16 -0
- package/dist/i18n/regionHints.js +49 -0
- package/dist/i18n/regions.d.ts +286 -0
- package/dist/i18n/regions.js +265 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/llms-full.txt +1914 -1714
- package/dist/llms-medium.txt +76 -46
- package/dist/llms.txt +7 -7
- package/dist/locale-blueprint.json +16 -13
- package/dist/styles.css +2 -2
- package/dist/types/passthrough.d.ts +1 -1
- package/dist/types/ptComponentMap.d.ts +2 -2
- package/dist/utilities/functions/slotKey.d.ts +2 -2
- package/dist/utils/versionCheck.js +1 -1
- package/dist/vite-plugin.d.ts +22 -19
- package/dist/vite.js +309 -297
- package/llms.txt +7 -7
- package/package.json +5 -3
- package/scripts/lib/agent-manifest.mjs +2 -1
- package/scripts/lib/eslint-disable.mjs +17 -4
- package/scripts/lib/eslint-plugin.d.ts +9 -1
- package/scripts/lib/eslint-plugin.mjs +256 -6
- package/scripts/lib/helper-canon.mjs +176 -0
- package/scripts/lib/helpers-add.mjs +1303 -0
- package/scripts/lib/local-components.mjs +33 -4
- package/scripts/lib/locale-check.mjs +165 -0
- package/scripts/lib/portal-names.mjs +458 -0
- package/scripts/lib/redundant-item-accessor.mjs +398 -0
- package/scripts/lib/renamed-item-field.mjs +343 -0
- package/scripts/lib/slot-key.mjs +2 -2
- package/scripts/lib/slot-renames.mjs +1 -1
- package/scripts/lib/unimported-components.mjs +5 -2
- package/scripts/lib/validate-bb-markup.mjs +123 -56
- package/dist/i18n/index.js +0 -27
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
<template></template>
|
|
9
9
|
<script setup lang="ts">
|
|
10
10
|
import { useSlots, watchEffect } from 'vue';
|
|
11
|
+
import type { BbConfirmPortalSlotProps } from './types';
|
|
11
12
|
import {
|
|
12
13
|
confirmState,
|
|
13
14
|
registerNamedPortal,
|
|
@@ -19,11 +20,7 @@ const props = defineProps<{
|
|
|
19
20
|
name: string;
|
|
20
21
|
}>();
|
|
21
22
|
defineSlots<{
|
|
22
|
-
default?: (props:
|
|
23
|
-
yes: () => void;
|
|
24
|
-
no: () => void;
|
|
25
|
-
props: Record<string, unknown>;
|
|
26
|
-
}) => any;
|
|
23
|
+
default?: (props: BbConfirmPortalSlotProps) => any;
|
|
27
24
|
}>();
|
|
28
25
|
|
|
29
26
|
const slots = useSlots();
|
|
@@ -128,6 +125,23 @@ export type BbConfirmProps = {
|
|
|
128
125
|
*/
|
|
129
126
|
size?: keyof DialogSizes;
|
|
130
127
|
};
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The default slot scope of `<BbConfirmPortal>`: the ONE place this family's
|
|
131
|
+
* portal slot is typed (Q63.8), so tooling that infers `props` from the call
|
|
132
|
+
* sites hooks a single type: `P`, the type of `props`, is the seam it will
|
|
133
|
+
* feed (through a type-only prop on the portal component). Until then `P` is
|
|
134
|
+
* `any`, so `props.person.name` type-checks with no cast.
|
|
135
|
+
*/
|
|
136
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- the default is the point (Q63.8)
|
|
137
|
+
export type BbConfirmPortalSlotProps<P = any> = {
|
|
138
|
+
/** The `portalProps` the `confirm()` passed. */
|
|
139
|
+
props: P;
|
|
140
|
+
/** Resolves the confirm with `true`. */
|
|
141
|
+
yes: () => void;
|
|
142
|
+
/** Resolves the confirm with `false`. */
|
|
143
|
+
no: () => void;
|
|
144
|
+
};
|
|
131
145
|
```
|
|
132
146
|
|
|
133
147
|
## Styles
|
|
@@ -152,7 +166,7 @@ export type BbConfirmProps = {
|
|
|
152
166
|
display: flex;
|
|
153
167
|
justify-content: flex-end;
|
|
154
168
|
> :not(:last-child) {
|
|
155
|
-
margin-
|
|
169
|
+
margin-inline-end: 12px;
|
|
156
170
|
}
|
|
157
171
|
}
|
|
158
172
|
}
|
|
@@ -938,7 +938,7 @@ export type BbDatePickerSlots = {
|
|
|
938
938
|
.bb-calendar--datetime {
|
|
939
939
|
display: flex;
|
|
940
940
|
flex-direction: column;
|
|
941
|
-
padding-
|
|
941
|
+
padding-inline-end: 0;
|
|
942
942
|
}
|
|
943
943
|
|
|
944
944
|
/* The time rail in the sheet: one touch scale for the whole panel. The
|
|
@@ -955,7 +955,7 @@ export type BbDatePickerSlots = {
|
|
|
955
955
|
--time-row-h: var(--sheet-cell, 40px);
|
|
956
956
|
--time-col-w: var(--sheet-cell, 40px);
|
|
957
957
|
|
|
958
|
-
border-
|
|
958
|
+
border-inline-start: 0;
|
|
959
959
|
border-top: var(--bb-border-w) solid var(--bb-border);
|
|
960
960
|
height: 252px;
|
|
961
961
|
margin: 12px 0 0;
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
:loading="loading"
|
|
29
29
|
:name="name"
|
|
30
30
|
:passthrough="passthrough"
|
|
31
|
-
:readonly="
|
|
31
|
+
:readonly="fieldReadonly"
|
|
32
32
|
:reverse="reverse"
|
|
33
33
|
:show-asterisk="showAsterisk"
|
|
34
34
|
:show-hint="showHint"
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
:loading="loading"
|
|
65
65
|
:passthrough="passthrough"
|
|
66
66
|
:prepend:icon="props['prepend:icon']"
|
|
67
|
-
:readonly="
|
|
67
|
+
:readonly="fieldReadonly"
|
|
68
68
|
:variant="variant"
|
|
69
69
|
@click="onFieldTap"
|
|
70
70
|
@click:clear="onClickClear"
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
:off-canvas-props="offCanvasProps"
|
|
180
180
|
:pt="passthrough.forward(PICKER_PARTS, BB_DATE_PICKER_PT.states)"
|
|
181
181
|
:range="range"
|
|
182
|
-
:readonly="
|
|
182
|
+
:readonly="fieldReadonly"
|
|
183
183
|
:seconds="seconds"
|
|
184
184
|
:selectable="selectable"
|
|
185
185
|
:step="step"
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
<!-- eslint-disable vue/attributes-order -- the picker's activator props first, `pt:activator` LAST (PASSTHROUGH.md T17) -->
|
|
199
199
|
<button
|
|
200
200
|
class="bb-segmented-field__activator"
|
|
201
|
-
:disabled="disabled ||
|
|
201
|
+
:disabled="disabled || fieldReadonly"
|
|
202
202
|
type="button"
|
|
203
203
|
v-bind="mergeProps(activatorProps, passthrough.activator)"
|
|
204
204
|
>
|
|
@@ -290,7 +290,11 @@ import { isNotEmpty } from '@/utilities/functions/isNotEmpty';
|
|
|
290
290
|
import { normalizeDateBound } from '@/utilities/functions/normalizeDateBound';
|
|
291
291
|
import { warnRemovedAttrs } from '@/utilities/functions/warnRemovedAttrs';
|
|
292
292
|
import calendarIcon from '@/assets/svgs/calendar.svg?raw';
|
|
293
|
-
import {
|
|
293
|
+
import {
|
|
294
|
+
formatDateOf,
|
|
295
|
+
timeFieldsOf,
|
|
296
|
+
useDayjsLocale,
|
|
297
|
+
} from '../BbCalendar/useDayjsLocale';
|
|
294
298
|
import BbDatePicker from '../BbDatePicker/BbDatePicker.vue';
|
|
295
299
|
import {
|
|
296
300
|
BB_DATE_PICKER_PT,
|
|
@@ -336,6 +340,7 @@ const {
|
|
|
336
340
|
required: fieldRequired,
|
|
337
341
|
ariaRequired: fieldAriaRequired,
|
|
338
342
|
model: fieldModel,
|
|
343
|
+
readonly: fieldReadonly,
|
|
339
344
|
} = useFormBinding(declaredProps, declaredEmit, {
|
|
340
345
|
componentName: 'BbDatePickerInput',
|
|
341
346
|
identifierFallback: () => declaredProps.label,
|
|
@@ -510,6 +515,13 @@ const onFieldTap = (event: MouseEvent) => {
|
|
|
510
515
|
return;
|
|
511
516
|
openPicker();
|
|
512
517
|
};
|
|
518
|
+
/** A key that would change a segment's value (step, clear, type). */
|
|
519
|
+
const changesSegment = (event: KeyboardEvent) =>
|
|
520
|
+
event.key === 'ArrowUp' ||
|
|
521
|
+
event.key === 'ArrowDown' ||
|
|
522
|
+
event.key === 'Backspace' ||
|
|
523
|
+
event.key === 'Delete' ||
|
|
524
|
+
(event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey);
|
|
513
525
|
const onSegmentKeydown = (
|
|
514
526
|
descriptor: FieldDescriptor,
|
|
515
527
|
event: KeyboardEvent
|
|
@@ -519,6 +531,12 @@ const onSegmentKeydown = (
|
|
|
519
531
|
openPicker();
|
|
520
532
|
return;
|
|
521
533
|
}
|
|
534
|
+
// Q60.17: a read-only field (its `readonly`, or its form saving) refuses
|
|
535
|
+
// the keys that change a segment; moving between segments still works.
|
|
536
|
+
if (props.readonly && changesSegment(event)) {
|
|
537
|
+
event.preventDefault();
|
|
538
|
+
return;
|
|
539
|
+
}
|
|
522
540
|
onFieldKeydown(descriptor, event);
|
|
523
541
|
};
|
|
524
542
|
|
|
@@ -849,17 +867,29 @@ const onTimeSelect = ({ unit, value }: { unit: TimeUnit; value: string }) => {
|
|
|
849
867
|
combineFieldsToModelValue({ finalize: false });
|
|
850
868
|
};
|
|
851
869
|
|
|
852
|
-
/**
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
870
|
+
/**
|
|
871
|
+
* How the calendar button speaks a value: date, plus time with
|
|
872
|
+
* `type="datetime"`, in the locale's own long form (Intl / CLDR, see
|
|
873
|
+
* `formatDateOf`) — "7. října 2026", "2026年10月7日", "7 de octubre de 2026".
|
|
874
|
+
* A month has no day to read out, a year neither.
|
|
875
|
+
*/
|
|
876
|
+
const spokenDateOptions = computed((): Intl.DateTimeFormatOptions => {
|
|
877
|
+
if (props.type === 'year') return { year: 'numeric' };
|
|
878
|
+
if (props.type === 'month') return { year: 'numeric', month: 'long' };
|
|
879
|
+
return { year: 'numeric', month: 'long', day: 'numeric' };
|
|
861
880
|
});
|
|
862
881
|
|
|
882
|
+
const spokenValue = (value: Dayjs) => {
|
|
883
|
+
const date = formatDateOf(value, config.locale, spokenDateOptions.value);
|
|
884
|
+
if (!isDateTime.value) return date;
|
|
885
|
+
const time = formatDateOf(
|
|
886
|
+
value,
|
|
887
|
+
config.locale,
|
|
888
|
+
timeFieldsOf(!!props.ampm, !!props.seconds)
|
|
889
|
+
);
|
|
890
|
+
return `${date} ${time}`;
|
|
891
|
+
};
|
|
892
|
+
|
|
863
893
|
/**
|
|
864
894
|
* Q56.10 (owner, 2026-09-28): the trigger's name reads exactly what the field
|
|
865
895
|
* displays — the segments, time included — not `modelValue`, which under
|
|
@@ -890,16 +920,13 @@ const accessibleButtonLabel = computed(() => {
|
|
|
890
920
|
if (!start || !end) return t('datePickerInput.emptyRange').value;
|
|
891
921
|
return t(
|
|
892
922
|
'datePickerInput.changeSelectionRange',
|
|
893
|
-
start
|
|
894
|
-
end
|
|
923
|
+
spokenValue(start),
|
|
924
|
+
spokenValue(end)
|
|
895
925
|
).value;
|
|
896
926
|
}
|
|
897
927
|
const shown = displayedValue('start');
|
|
898
928
|
if (!shown) return t('datePickerInput.emptySelection').value;
|
|
899
|
-
return t(
|
|
900
|
-
'datePickerInput.changeSelection',
|
|
901
|
-
shown.format(spokenValueFormat.value)
|
|
902
|
-
).value;
|
|
929
|
+
return t('datePickerInput.changeSelection', spokenValue(shown)).value;
|
|
903
930
|
});
|
|
904
931
|
|
|
905
932
|
const isDateDisabled = (date: Dayjs) => {
|
|
@@ -1205,7 +1205,7 @@ export type { BbDialogSlots as BaseDialogSlots };
|
|
|
1205
1205
|
* the space here instead — only when there is actually a control to
|
|
1206
1206
|
* clear, so `hideClose` keeps the full width. */
|
|
1207
1207
|
&:has(~ .bb-close-button) {
|
|
1208
|
-
padding-
|
|
1208
|
+
padding-inline-end: calc(var(--close-size) + 4px);
|
|
1209
1209
|
}
|
|
1210
1210
|
}
|
|
1211
1211
|
|
|
@@ -1217,8 +1217,8 @@ export type { BbDialogSlots as BaseDialogSlots };
|
|
|
1217
1217
|
> .bb-close-button {
|
|
1218
1218
|
--size: var(--close-size);
|
|
1219
1219
|
--p: 7px;
|
|
1220
|
+
inset-inline-end: calc(var(--px) - var(--p));
|
|
1220
1221
|
position: absolute;
|
|
1221
|
-
right: calc(var(--px) - var(--p));
|
|
1222
1222
|
top: calc(var(--py) - var(--p));
|
|
1223
1223
|
}
|
|
1224
1224
|
|
|
@@ -1241,7 +1241,7 @@ export type { BbDialogSlots as BaseDialogSlots };
|
|
|
1241
1241
|
does. The × sits at the top-right, and a one-line title is short
|
|
1242
1242
|
enough that the description's first line can still run under it. */
|
|
1243
1243
|
&:has(~ .bb-close-button) {
|
|
1244
|
-
padding-
|
|
1244
|
+
padding-inline-end: calc(var(--close-size) + 4px);
|
|
1245
1245
|
}
|
|
1246
1246
|
}
|
|
1247
1247
|
}
|
|
@@ -1268,8 +1268,8 @@ export type { BbDialogSlots as BaseDialogSlots };
|
|
|
1268
1268
|
> .bb-close-button {
|
|
1269
1269
|
--size: 28px;
|
|
1270
1270
|
--p: 7px;
|
|
1271
|
+
inset-inline-end: calc(var(--px) - var(--p));
|
|
1271
1272
|
position: absolute;
|
|
1272
|
-
right: calc(var(--px) - var(--p));
|
|
1273
1273
|
top: calc(var(--py) - var(--p));
|
|
1274
1274
|
}
|
|
1275
1275
|
}
|
|
@@ -1345,6 +1345,6 @@ export type { BbDialogSlots as BaseDialogSlots };
|
|
|
1345
1345
|
|
|
1346
1346
|
body:has(.bb-dialog--visible) {
|
|
1347
1347
|
overflow: hidden;
|
|
1348
|
-
padding-
|
|
1348
|
+
padding-inline-end: var(--scrollbar-width);
|
|
1349
1349
|
}
|
|
1350
1350
|
```
|