bitboss-ui 3.0.0-beta.5 → 3.0.0-beta.50
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 +388 -99
- package/bin/bitboss-ui-mcp.mjs +2684 -124
- package/bin/bitboss-ui.mjs +1034 -80
- package/dist/ai/BbAccordion.md +202 -58
- package/dist/ai/BbAlert.md +150 -32
- package/dist/ai/BbAsterisk.md +65 -4
- package/dist/ai/BbAvatar.md +202 -56
- package/dist/ai/BbBadge.md +256 -50
- package/dist/ai/BbBadgeButton.md +77 -21
- package/dist/ai/BbBaseButton.md +132 -51
- package/dist/ai/BbBaseCheckboxIcon.md +118 -26
- package/dist/ai/BbBaseRadioIcon.md +115 -26
- package/dist/ai/BbBaseSwitchIcon.md +123 -28
- package/dist/ai/BbBreadcrumbs.md +280 -104
- package/dist/ai/BbButton.md +445 -111
- package/dist/ai/BbCalendar.md +686 -0
- package/dist/ai/BbCheckbox.md +258 -82
- package/dist/ai/BbCheckboxGroup.md +597 -83
- package/dist/ai/BbCollapsible.md +158 -39
- package/dist/ai/BbColorInput.md +327 -82
- package/dist/ai/BbColorPalette.md +273 -67
- package/dist/ai/BbConfirm.md +228 -51
- package/dist/ai/BbConfirmPortal.md +2 -2
- package/dist/ai/BbDatePicker.md +275 -40
- package/dist/ai/BbDatePickerInput.md +357 -111
- package/dist/ai/BbDialog.md +510 -108
- package/dist/ai/BbDropdown.md +1335 -206
- package/dist/ai/BbDropdownButton.md +290 -107
- package/dist/ai/BbDropdownGroup.md +6 -6
- package/dist/ai/BbDropzone.md +380 -72
- package/dist/ai/BbForm.md +1261 -46
- package/dist/ai/BbHoverCard.md +527 -0
- package/dist/ai/BbHoverCardPortal.md +29 -0
- package/dist/ai/BbIcon.md +125 -40
- package/dist/ai/BbIndicator.md +79 -12
- package/dist/ai/BbNumberInput.md +345 -100
- package/dist/ai/BbOffCanvas.md +403 -96
- package/dist/ai/BbPagination.md +204 -34
- package/dist/ai/BbPopover.md +360 -64
- package/dist/ai/BbPopoverPortal.md +29 -0
- package/dist/ai/BbProgress.md +182 -90
- package/dist/ai/BbPtScope.md +136 -0
- package/dist/ai/BbRadio.md +242 -43
- package/dist/ai/BbRadioGroup.md +550 -111
- package/dist/ai/BbRating.md +256 -62
- package/dist/ai/BbSelect.md +1121 -289
- package/dist/ai/BbSelectPopover.md +676 -192
- package/dist/ai/BbSlider.md +285 -80
- package/dist/ai/BbSmoothHeight.md +144 -37
- package/dist/ai/BbSpinner.md +179 -81
- package/dist/ai/BbSwitch.md +276 -63
- package/dist/ai/BbSwitchGroup.md +421 -87
- package/dist/ai/BbTable.md +1941 -296
- package/dist/ai/BbTabs.md +992 -231
- package/dist/ai/BbTabsList.md +81 -7
- package/dist/ai/BbTabsPanels.md +77 -0
- package/dist/ai/BbTabsRoot.md +18 -16
- package/dist/ai/BbTag.md +271 -80
- package/dist/ai/BbTextInput.md +535 -105
- package/dist/ai/BbTextarea.md +414 -138
- package/dist/ai/BbTimePicker.md +166 -27
- package/dist/ai/BbTimePickerInput.md +290 -49
- package/dist/ai/BbToast.md +287 -40
- package/dist/ai/BbToastPortal.md +3 -3
- package/dist/ai/BbTooltip.md +231 -46
- package/dist/ai/BbTree.md +272 -94
- package/dist/ai/ChipsBox.md +46 -2
- package/dist/ai/ClearableButton.md +12 -0
- package/dist/ai/CommaBox.md +2 -1
- package/dist/ai/CommonField.md +75 -0
- package/dist/ai/CommonFieldInput.md +91 -0
- package/dist/ai/CommonPopover.md +17 -12
- package/dist/ai/CommonTimeSelector.md +63 -0
- package/dist/ai/ErrorIcon.md +20 -0
- package/dist/ai/FlatListBox.md +42 -11
- package/dist/ai/GroupedListBox.md +43 -12
- package/dist/ai/ListBox.md +47 -11
- package/dist/ai/OptionsContainer.md +17 -10
- package/dist/ai/WarningIcon.md +20 -0
- package/dist/ai/changelog.json +5750 -141
- package/dist/ai/components.json +475 -16272
- package/dist/ai/composables/useBbConfig.md +72 -11
- package/dist/ai/composables/useBbDropdownContext.md +168 -0
- package/dist/ai/composables/useBbFormContext.md +51 -24
- package/dist/ai/composables/useBbFormField.md +149 -0
- package/dist/ai/composables/useBbTableContext.md +41 -19
- package/dist/ai/composables/useBbTabsContext.md +14 -14
- package/dist/ai/composables/useConfirm.md +16 -8
- package/dist/ai/composables/useCountdown.md +1 -1
- package/dist/ai/composables/useId.md +10 -10
- package/dist/ai/composables/useMobile.md +17 -10
- package/dist/ai/composables/useToast.md +25 -19
- package/dist/ai/design-tokens.json +967 -0
- package/dist/ai/design-tokens.manifest.yaml +175 -0
- package/dist/ai/guides/agent-contract.md +182 -23
- package/dist/ai/guides/ai-router.md +87 -43
- package/dist/ai/guides/app-layout.md +8 -4
- package/dist/ai/guides/coherence-playbook.md +25 -21
- package/dist/ai/guides/component-picker.md +60 -46
- package/dist/ai/guides/design-language.md +280 -99
- package/dist/ai/guides/design-tokens.md +600 -117
- package/dist/ai/guides/fetch-items-playbook.md +127 -81
- package/dist/ai/guides/icons-policy.md +75 -45
- package/dist/ai/guides/inertia-helpers.md +201 -82
- package/dist/ai/guides/inline-edit-playbook.md +13 -6
- package/dist/ai/guides/installation-and-plugin-setup.md +912 -91
- package/dist/ai/guides/migration/components/bb-accordion.md +37 -0
- package/dist/ai/guides/migration/components/bb-alert.md +2 -2
- package/dist/ai/guides/migration/components/bb-avatar.md +13 -14
- package/dist/ai/guides/migration/components/bb-badge.md +5 -5
- package/dist/ai/guides/migration/components/bb-breadcrumbs.md +13 -10
- package/dist/ai/guides/migration/components/bb-button.md +80 -20
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +116 -29
- package/dist/ai/guides/migration/components/bb-checkbox.md +53 -10
- package/dist/ai/guides/migration/components/bb-chip.md +6 -6
- package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
- package/dist/ai/guides/migration/components/bb-color-input.md +5 -5
- package/dist/ai/guides/migration/components/bb-color-palette.md +16 -9
- package/dist/ai/guides/migration/components/bb-date-picker-input.md +51 -38
- package/dist/ai/guides/migration/components/bb-dialog.md +69 -36
- package/dist/ai/guides/migration/components/bb-dropdown-button.md +15 -8
- package/dist/ai/guides/migration/components/bb-dropdown.md +33 -9
- package/dist/ai/guides/migration/components/bb-dropzone.md +8 -0
- package/dist/ai/guides/migration/components/bb-icon.md +7 -7
- package/dist/ai/guides/migration/components/bb-intersection.md +1 -1
- package/dist/ai/guides/migration/components/bb-offcanvas.md +29 -31
- package/dist/ai/guides/migration/components/bb-pagination.md +10 -0
- package/dist/ai/guides/migration/components/bb-popover.md +19 -11
- package/dist/ai/guides/migration/components/bb-radio-group.md +15 -0
- package/dist/ai/guides/migration/components/bb-rating.md +61 -24
- package/dist/ai/guides/migration/components/bb-select-popover.md +20 -2
- package/dist/ai/guides/migration/components/bb-select.md +39 -8
- package/dist/ai/guides/migration/components/bb-slider.md +19 -6
- package/dist/ai/guides/migration/components/bb-switch-group.md +15 -0
- package/dist/ai/guides/migration/components/bb-table.md +586 -33
- package/dist/ai/guides/migration/components/bb-tabs.md +94 -43
- package/dist/ai/guides/migration/components/bb-tag.md +9 -7
- package/dist/ai/guides/migration/components/bb-text-input.md +12 -12
- package/dist/ai/guides/migration/components/bb-toast.md +2 -2
- package/dist/ai/guides/migration/components/bb-tooltip.md +19 -1
- package/dist/ai/guides/migration/components/bb-tree.md +11 -9
- package/dist/ai/guides/migration/components/use-confirm.md +9 -1
- package/dist/ai/guides/migration/v2-to-v3.md +1203 -277
- package/dist/ai/guides/migration/v3-beta-css-classes.md +753 -0
- package/dist/ai/guides/migration/v3-beta-tooling.md +208 -0
- package/dist/ai/guides/options-items-playbook.md +177 -22
- package/dist/ai/guides/page-shell.md +13 -7
- package/dist/ai/guides/passthrough.md +968 -0
- package/dist/ai/guides/preset-components.md +387 -0
- package/dist/ai/guides/ssr-prefill.md +150 -0
- package/dist/ai/guides/typescript-generic-components.md +87 -0
- package/dist/ai/guides/validated-forms.md +460 -55
- package/dist/ai/guides/validation-libraries.md +174 -0
- package/dist/ai/guides/validation-providers.md +127 -0
- 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 +61 -57
- package/dist/ai/manifest/components/BbAccordion.json +42 -0
- package/dist/ai/manifest/components/BbAccordion.tree.json +26 -0
- package/dist/ai/manifest/components/BbAlert.json +56 -0
- package/dist/ai/manifest/components/BbAlert.tree.json +80 -0
- package/dist/ai/manifest/components/BbAsterisk.json +26 -0
- package/dist/ai/manifest/components/BbAsterisk.tree.json +13 -0
- package/dist/ai/manifest/components/BbAvatar.json +38 -0
- package/dist/ai/manifest/components/BbAvatar.tree.json +39 -0
- package/dist/ai/manifest/components/BbBadge.json +50 -0
- package/dist/ai/manifest/components/BbBadge.tree.json +86 -0
- package/dist/ai/manifest/components/BbBadgeButton.json +67 -0
- package/dist/ai/manifest/components/BbBadgeButton.tree.json +32 -0
- package/dist/ai/manifest/components/BbBaseButton.json +69 -0
- package/dist/ai/manifest/components/BbBaseButton.tree.json +25 -0
- package/dist/ai/manifest/components/BbBaseCheckboxIcon.json +46 -0
- package/dist/ai/manifest/components/BbBaseCheckboxIcon.tree.json +41 -0
- package/dist/ai/manifest/components/BbBaseRadioIcon.json +44 -0
- package/dist/ai/manifest/components/BbBaseRadioIcon.tree.json +36 -0
- package/dist/ai/manifest/components/BbBaseSwitchIcon.json +46 -0
- package/dist/ai/manifest/components/BbBaseSwitchIcon.tree.json +44 -0
- package/dist/ai/manifest/components/BbBreadcrumbs.json +56 -0
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +45 -0
- package/dist/ai/manifest/components/BbButton.json +102 -0
- package/dist/ai/manifest/components/BbButton.tree.json +206 -0
- package/dist/ai/manifest/components/BbCalendar.json +86 -0
- package/dist/ai/manifest/components/BbCalendar.tree.json +99 -0
- package/dist/ai/manifest/components/BbCheckbox.json +99 -0
- package/dist/ai/manifest/components/BbCheckbox.tree.json +22 -0
- package/dist/ai/manifest/components/BbCheckboxGroup.json +133 -0
- package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +61 -0
- package/dist/ai/manifest/components/BbCollapsible.json +32 -0
- package/dist/ai/manifest/components/BbCollapsible.tree.json +17 -0
- package/dist/ai/manifest/components/BbColorInput.json +133 -0
- package/dist/ai/manifest/components/BbColorInput.tree.json +37 -0
- package/dist/ai/manifest/components/BbColorPalette.json +73 -0
- package/dist/ai/manifest/components/BbColorPalette.tree.json +55 -0
- package/dist/ai/manifest/components/BbConfirm.json +34 -0
- package/dist/ai/manifest/components/BbConfirm.tree.json +30 -0
- package/dist/ai/manifest/components/BbConfirmPortal.json +21 -0
- package/dist/ai/manifest/components/BbDatePicker.json +108 -0
- package/dist/ai/manifest/components/BbDatePicker.tree.json +54 -0
- package/dist/ai/manifest/components/BbDatePickerInput.json +167 -0
- package/dist/ai/manifest/components/BbDatePickerInput.tree.json +50 -0
- package/dist/ai/manifest/components/BbDialog.json +76 -0
- package/dist/ai/manifest/components/BbDialog.tree.json +74 -0
- package/dist/ai/manifest/components/BbDropdown.json +102 -0
- package/dist/ai/manifest/components/BbDropdown.tree.json +122 -0
- package/dist/ai/manifest/components/BbDropdownButton.json +107 -0
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +28 -0
- package/dist/ai/manifest/components/BbDropdownGroup.json +25 -0
- package/dist/ai/manifest/components/BbDropzone.json +68 -0
- package/dist/ai/manifest/components/BbDropzone.tree.json +36 -0
- package/dist/ai/manifest/components/BbForm.json +42 -0
- package/dist/ai/manifest/components/BbHoverCard.json +63 -0
- package/dist/ai/manifest/components/BbHoverCard.tree.json +31 -0
- package/dist/ai/manifest/components/BbHoverCardPortal.json +21 -0
- package/dist/ai/manifest/components/BbIcon.json +33 -0
- package/dist/ai/manifest/components/BbIcon.tree.json +19 -0
- package/dist/ai/manifest/components/BbIndicator.json +39 -0
- package/dist/ai/manifest/components/BbIndicator.tree.json +67 -0
- package/dist/ai/manifest/components/BbNumberInput.json +128 -0
- package/dist/ai/manifest/components/BbNumberInput.tree.json +28 -0
- package/dist/ai/manifest/components/BbOffCanvas.json +72 -0
- package/dist/ai/manifest/components/BbOffCanvas.tree.json +115 -0
- package/dist/ai/manifest/components/BbPagination.json +61 -0
- package/dist/ai/manifest/components/BbPagination.tree.json +69 -0
- package/dist/ai/manifest/components/BbPopover.json +82 -0
- package/dist/ai/manifest/components/BbPopover.tree.json +36 -0
- package/dist/ai/manifest/components/BbPopoverPortal.json +21 -0
- package/dist/ai/manifest/components/BbProgress.json +31 -0
- package/dist/ai/manifest/components/BbProgress.tree.json +26 -0
- package/dist/ai/manifest/components/BbPtScope.json +21 -0
- package/dist/ai/manifest/components/BbRadio.json +88 -0
- package/dist/ai/manifest/components/BbRadio.tree.json +22 -0
- package/dist/ai/manifest/components/BbRadioGroup.json +132 -0
- package/dist/ai/manifest/components/BbRadioGroup.tree.json +61 -0
- package/dist/ai/manifest/components/BbRating.json +100 -0
- package/dist/ai/manifest/components/BbRating.tree.json +55 -0
- package/dist/ai/manifest/components/BbSelect.json +174 -0
- package/dist/ai/manifest/components/BbSelect.tree.json +53 -0
- package/dist/ai/manifest/components/BbSelectPopover.json +124 -0
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +112 -0
- package/dist/ai/manifest/components/BbSlider.json +109 -0
- package/dist/ai/manifest/components/BbSlider.tree.json +89 -0
- package/dist/ai/manifest/components/BbSmoothHeight.json +31 -0
- package/dist/ai/manifest/components/BbSmoothHeight.tree.json +16 -0
- package/dist/ai/manifest/components/BbSpinner.json +31 -0
- package/dist/ai/manifest/components/BbSpinner.tree.json +31 -0
- package/dist/ai/manifest/components/BbSwitch.json +99 -0
- package/dist/ai/manifest/components/BbSwitch.tree.json +22 -0
- package/dist/ai/manifest/components/BbSwitchGroup.json +133 -0
- package/dist/ai/manifest/components/BbSwitchGroup.tree.json +61 -0
- package/dist/ai/manifest/components/BbTable.json +163 -0
- package/dist/ai/manifest/components/BbTable.tree.json +214 -0
- package/dist/ai/manifest/components/BbTabs.json +86 -0
- package/dist/ai/manifest/components/BbTabs.tree.json +88 -0
- package/dist/ai/manifest/components/BbTabsList.json +48 -0
- package/dist/ai/manifest/components/BbTabsList.tree.json +94 -0
- package/dist/ai/manifest/components/BbTabsPanels.json +32 -0
- package/dist/ai/manifest/components/BbTabsPanels.tree.json +69 -0
- package/dist/ai/manifest/components/BbTabsRoot.json +63 -0
- package/dist/ai/manifest/components/BbTag.json +130 -0
- package/dist/ai/manifest/components/BbTag.tree.json +40 -0
- package/dist/ai/manifest/components/BbTextInput.json +129 -0
- package/dist/ai/manifest/components/BbTextInput.tree.json +27 -0
- package/dist/ai/manifest/components/BbTextarea.json +124 -0
- package/dist/ai/manifest/components/BbTextarea.tree.json +37 -0
- package/dist/ai/manifest/components/BbTimePicker.json +76 -0
- package/dist/ai/manifest/components/BbTimePicker.tree.json +37 -0
- package/dist/ai/manifest/components/BbTimePickerInput.json +133 -0
- package/dist/ai/manifest/components/BbTimePickerInput.tree.json +44 -0
- package/dist/ai/manifest/components/BbToast.json +43 -0
- package/dist/ai/manifest/components/BbToast.tree.json +91 -0
- package/dist/ai/manifest/components/BbToastPortal.json +18 -0
- package/dist/ai/manifest/components/BbTooltip.json +60 -0
- package/dist/ai/manifest/components/BbTooltip.tree.json +41 -0
- package/dist/ai/manifest/components/BbTree.json +51 -0
- package/dist/ai/manifest/components/BbTree.tree.json +31 -0
- package/dist/ai/manifest/components/ChipsBox.json +32 -0
- package/dist/ai/manifest/components/ChipsBox.tree.json +11 -0
- package/dist/ai/manifest/components/ClearableButton.json +19 -0
- package/dist/ai/manifest/components/ClearableButton.tree.json +19 -0
- package/dist/ai/manifest/components/CommaBox.json +30 -0
- package/dist/ai/manifest/components/CommonField.json +56 -0
- package/dist/ai/manifest/components/CommonField.tree.json +110 -0
- package/dist/ai/manifest/components/CommonFieldInput.json +47 -0
- package/dist/ai/manifest/components/CommonFieldInput.tree.json +95 -0
- package/dist/ai/manifest/components/CommonPopover.json +44 -0
- package/dist/ai/manifest/components/CommonPopover.tree.json +26 -0
- package/dist/ai/manifest/components/CommonTimeSelector.json +31 -0
- package/dist/ai/manifest/components/CommonTimeSelector.tree.json +43 -0
- package/dist/ai/manifest/components/ErrorIcon.json +17 -0
- package/dist/ai/manifest/components/ErrorIcon.tree.json +22 -0
- package/dist/ai/manifest/components/FlatListBox.json +43 -0
- package/dist/ai/manifest/components/FlatListBox.tree.json +16 -0
- package/dist/ai/manifest/components/GroupedListBox.json +45 -0
- package/dist/ai/manifest/components/GroupedListBox.tree.json +16 -0
- package/dist/ai/manifest/components/GuidesComponent.json +17 -0
- package/dist/ai/manifest/components/ListBox.json +43 -0
- package/dist/ai/manifest/components/ListBox.tree.json +9 -0
- package/dist/ai/manifest/components/OptionsContainer.json +45 -0
- package/dist/ai/manifest/components/WarningIcon.json +17 -0
- package/dist/ai/manifest/components/WarningIcon.tree.json +22 -0
- package/dist/ai/manifest/index.json +121 -0
- package/dist/ai/manifest/meta.json +456 -0
- package/dist/ai/manifest/types.advanced.json +66 -0
- package/dist/ai/manifest/types.api.json +52 -0
- package/dist/ai/manifest/types.wrapper.json +119 -0
- package/dist/ai/recipes/inertia/approvals-inbox.md +206 -139
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +218 -143
- package/dist/ai/recipes/inertia/layout-scaffold.md +93 -58
- package/dist/ai/recipes/inertia/onboarding.md +114 -87
- package/dist/ai/recipes/inertia/ownership-atlas.md +322 -322
- package/dist/ai/recipes/inertia/record-form.md +407 -218
- package/dist/ai/recipes/inertia/records-workspace.md +600 -219
- package/dist/ai/recipes/inertia/settings-workspace.md +3098 -0
- package/dist/ai/recipes/inertia/upload-center.md +189 -177
- package/dist/ai/recipes/inertia/wizard-form.md +233 -100
- package/dist/ai/recipes/nuxt/approvals-inbox.md +272 -158
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +298 -166
- package/dist/ai/recipes/nuxt/layout-scaffold.md +94 -59
- package/dist/ai/recipes/nuxt/onboarding.md +178 -117
- package/dist/ai/recipes/nuxt/ownership-atlas.md +1406 -0
- package/dist/ai/recipes/nuxt/record-form.md +506 -223
- package/dist/ai/recipes/nuxt/records-workspace.md +653 -206
- package/dist/ai/recipes/nuxt/settings-workspace.md +3189 -0
- package/dist/ai/recipes/nuxt/upload-center.md +282 -190
- package/dist/ai/recipes/nuxt/wizard-form.md +251 -102
- package/dist/ai/recipes/vue/approvals-inbox.md +248 -146
- package/dist/ai/recipes/vue/inline-edit-workspace.md +278 -157
- package/dist/ai/recipes/vue/layout-scaffold.md +93 -58
- package/dist/ai/recipes/vue/onboarding.md +112 -83
- package/dist/ai/recipes/vue/ownership-atlas.md +1360 -0
- package/dist/ai/recipes/vue/record-form.md +251 -130
- package/dist/ai/recipes/vue/records-workspace.md +609 -191
- package/dist/ai/recipes/vue/settings-workspace.md +3130 -0
- package/dist/ai/recipes/vue/upload-center.md +229 -176
- package/dist/ai/recipes/vue/wizard-form.md +190 -85
- package/dist/ai/source/BbAccordion.md +130 -32
- package/dist/ai/source/BbAlert.md +211 -64
- package/dist/ai/source/BbAsterisk.md +54 -4
- package/dist/ai/source/BbAvatar.md +73 -16
- package/dist/ai/source/BbBadge.md +305 -99
- package/dist/ai/source/BbBadgeButton.md +259 -81
- package/dist/ai/source/BbBaseButton.md +109 -13
- package/dist/ai/source/BbBaseCheckboxIcon.md +153 -36
- package/dist/ai/source/BbBaseRadioIcon.md +124 -18
- package/dist/ai/source/BbBaseSwitchIcon.md +146 -33
- package/dist/ai/source/BbBreadcrumbs.md +437 -95
- package/dist/ai/source/BbButton.md +695 -188
- package/dist/ai/source/BbCalendar.md +1884 -0
- package/dist/ai/source/BbCheckbox.md +509 -68
- package/dist/ai/source/BbCheckboxGroup.md +1132 -98
- package/dist/ai/source/BbCollapsible.md +99 -10
- package/dist/ai/source/BbColorInput.md +645 -68
- package/dist/ai/source/BbColorPalette.md +1337 -70
- package/dist/ai/source/BbConfirm.md +167 -8
- package/dist/ai/source/BbConfirmPortal.md +109 -9
- package/dist/ai/source/BbDatePicker.md +532 -383
- package/dist/ai/source/BbDatePickerInput.md +2166 -123
- package/dist/ai/source/BbDialog.md +557 -70
- package/dist/ai/source/BbDropdown.md +1320 -331
- package/dist/ai/source/BbDropdownButton.md +438 -93
- package/dist/ai/source/BbDropdownGroup.md +1023 -203
- package/dist/ai/source/BbDropzone.md +219 -38
- package/dist/ai/source/BbForm.md +1006 -18
- package/dist/ai/source/BbHoverCard.md +975 -0
- package/dist/ai/source/BbHoverCardPortal.md +314 -0
- package/dist/ai/source/BbIcon.md +139 -53
- package/dist/ai/source/BbIndicator.md +121 -60
- package/dist/ai/source/BbNumberInput.md +1571 -91
- package/dist/ai/source/BbOffCanvas.md +1057 -274
- package/dist/ai/source/BbPagination.md +231 -35
- package/dist/ai/source/BbPopover.md +491 -115
- package/dist/ai/source/BbPopoverPortal.md +387 -0
- package/dist/ai/source/BbProgress.md +156 -30
- package/dist/ai/source/BbPtScope.md +54 -0
- package/dist/ai/source/BbRadio.md +407 -58
- package/dist/ai/source/BbRadioGroup.md +1078 -112
- package/dist/ai/source/BbRating.md +775 -86
- package/dist/ai/source/BbSelect.md +1187 -104
- package/dist/ai/source/BbSelectPopover.md +1209 -205
- package/dist/ai/source/BbSlider.md +1422 -103
- package/dist/ai/source/BbSmoothHeight.md +59 -4
- package/dist/ai/source/BbSpinner.md +62 -6
- package/dist/ai/source/BbSwitch.md +322 -60
- package/dist/ai/source/BbSwitchGroup.md +834 -84
- package/dist/ai/source/BbTable.md +7684 -1945
- package/dist/ai/source/BbTabs.md +409 -124
- package/dist/ai/source/BbTabsList.md +538 -159
- package/dist/ai/source/BbTabsPanels.md +647 -0
- package/dist/ai/source/BbTabsRoot.md +360 -113
- package/dist/ai/source/BbTag.md +866 -89
- package/dist/ai/source/BbTextInput.md +615 -73
- package/dist/ai/source/BbTextarea.md +631 -70
- package/dist/ai/source/BbTimePicker.md +396 -70
- package/dist/ai/source/BbTimePickerInput.md +1353 -107
- package/dist/ai/source/BbToast.md +259 -80
- package/dist/ai/source/BbToastPortal.md +219 -72
- package/dist/ai/source/BbTooltip.md +303 -42
- package/dist/ai/source/BbTree.md +109 -14
- package/dist/ai/source/ChipsBox.md +25 -5
- package/dist/ai/source/CommaBox.md +21 -6
- package/dist/ai/source/CommonField.md +1707 -0
- package/dist/ai/source/CommonFieldInput.md +880 -0
- package/dist/ai/source/CommonPopover.md +141 -34
- package/dist/ai/source/CommonTimeSelector.md +744 -0
- package/dist/ai/source/ErrorIcon.md +2 -2
- package/dist/ai/source/FlatListBox.md +218 -18
- package/dist/ai/source/GroupedListBox.md +266 -45
- package/dist/ai/source/GuidesComponent.md +14 -7
- package/dist/ai/source/ListBox.md +57 -8
- package/dist/ai/source/OptionsContainer.md +346 -61
- package/dist/ai/source/WarningIcon.md +2 -2
- package/dist/assets/css/reset.css_inline.js +1 -1
- package/dist/assets/svgs/star.svg_raw.js +4 -0
- package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +59 -38
- package/dist/components/BbAccordion/types.d.ts +43 -3
- package/dist/components/BbAccordion/types.js +11 -0
- package/dist/components/BbAlert/BbAlert.vue.d.ts +1 -3
- package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +46 -30
- package/dist/components/BbAlert/types.d.ts +37 -3
- package/dist/components/BbAlert/types.js +13 -0
- package/dist/components/BbAsterisk/BbAsterisk.vue.d.ts +3 -1
- package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +23 -8
- package/dist/components/BbAsterisk/types.d.ts +18 -0
- package/dist/components/BbAsterisk/types.js +7 -0
- package/dist/components/BbAvatar/BbAvatar.vue.d.ts +2 -4
- package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +57 -44
- package/dist/components/BbAvatar/types.d.ts +23 -0
- package/dist/components/BbAvatar/types.js +7 -0
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +24 -18
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +96 -53
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +32 -11
- package/dist/components/BbBadge/badgeButtonContext.d.ts +25 -8
- package/dist/components/BbBadge/types.d.ts +46 -3
- package/dist/components/BbBadge/types.js +13 -0
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +109 -96
- package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +11 -11
- package/dist/components/BbBaseButton/types.d.ts +33 -3
- package/dist/components/BbBaseButton/types.js +9 -2
- package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +50 -18
- package/dist/components/BbBaseCheckboxIcon/types.d.ts +31 -2
- package/dist/components/BbBaseCheckboxIcon/types.js +8 -0
- package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +45 -15
- package/dist/components/BbBaseRadioIcon/types.d.ts +31 -2
- package/dist/components/BbBaseRadioIcon/types.js +8 -0
- package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +48 -16
- package/dist/components/BbBaseSwitchIcon/types.d.ts +31 -2
- package/dist/components/BbBaseSwitchIcon/types.js +8 -0
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +197 -140
- package/dist/components/BbBreadcrumbs/types.d.ts +62 -12
- package/dist/components/BbBreadcrumbs/types.js +12 -0
- package/dist/components/BbButton/BbButton.vue.d.ts +5 -0
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +145 -101
- package/dist/components/BbButton/toggleRoving.d.ts +6 -0
- package/dist/components/BbButton/toggleRoving.js +45 -0
- package/dist/components/BbButton/types.d.ts +122 -3
- package/dist/components/BbButton/types.js +16 -0
- package/dist/components/BbCalendar/BbCalendar.vue.d.ts +33 -0
- package/dist/components/BbCalendar/BbCalendar.vue.js +6 -0
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +614 -0
- package/dist/components/BbCalendar/CalendarMonthPanel.vue.js +5 -0
- package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +124 -0
- package/dist/components/BbCalendar/CalendarYearPanel.vue.js +5 -0
- package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +129 -0
- package/dist/components/BbCalendar/calendarHost.d.ts +29 -0
- package/dist/components/BbCalendar/calendarHost.js +10 -0
- package/dist/components/BbCalendar/types.d.ts +231 -0
- package/dist/components/BbCalendar/types.js +29 -0
- package/dist/components/{BbBaseDatePicker/useDatePickerContext.d.ts → BbCalendar/useCalendarContext.d.ts} +10 -7
- package/dist/components/BbCalendar/useCalendarContext.js +11 -0
- package/dist/components/BbCalendar/useCalendarGrid.d.ts +211 -0
- package/dist/components/BbCalendar/useCalendarGrid.js +282 -0
- package/dist/components/BbCalendar/useDayGrid.d.ts +82 -0
- package/dist/components/BbCalendar/useDayGrid.js +246 -0
- package/dist/components/BbCalendar/useDayjsLocale.d.ts +64 -0
- package/dist/components/BbCalendar/useDayjsLocale.js +35 -0
- package/dist/components/BbCalendar/useToday.d.ts +23 -0
- package/dist/components/BbCalendar/useToday.js +21 -0
- package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +7 -7
- package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +224 -72
- package/dist/components/BbCheckbox/types.d.ts +192 -13
- package/dist/components/BbCheckbox/types.js +8 -0
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +15 -3
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +350 -106
- package/dist/components/BbCheckboxGroup/types.d.ts +256 -23
- package/dist/components/BbCheckboxGroup/types.js +10 -0
- package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +2 -1
- package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +41 -19
- package/dist/components/BbCollapsible/types.d.ts +46 -2
- package/dist/components/BbCollapsible/types.js +7 -0
- package/dist/components/BbColorInput/BbColorInput.vue.d.ts +17 -7
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +339 -87
- package/dist/components/BbColorInput/types.d.ts +242 -12
- package/dist/components/BbColorInput/types.js +24 -0
- package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +10 -2
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +530 -108
- package/dist/components/BbColorPalette/types.d.ts +88 -11
- package/dist/components/BbColorPalette/types.js +12 -0
- package/dist/components/BbConfirm/BbConfirm.vue.d.ts +2 -1
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +125 -76
- package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +3 -5
- package/dist/components/BbConfirm/types.d.ts +64 -0
- package/dist/components/BbConfirm/types.js +17 -0
- package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +15 -10
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +324 -224
- package/dist/components/BbDatePicker/types.d.ts +114 -18
- package/dist/components/BbDatePicker/types.js +33 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +16 -4
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +1225 -88
- package/dist/components/BbDatePickerInput/dateFieldLayout.d.ts +23 -0
- package/dist/components/BbDatePickerInput/dateFieldLayout.js +38 -0
- package/dist/components/BbDatePickerInput/types.d.ts +241 -21
- package/dist/components/BbDatePickerInput/types.js +39 -0
- package/dist/components/BbDialog/BbDialog.vue.d.ts +3 -3
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +230 -133
- package/dist/components/BbDialog/types.d.ts +98 -4
- package/dist/components/BbDialog/types.js +16 -0
- package/dist/components/BbDialog/useDialogStack.d.ts +12 -0
- package/dist/components/BbDialog/useDialogStack.js +9 -2
- package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +2 -0
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +132 -107
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +10 -2
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +448 -328
- package/dist/components/BbDropdown/BbDropdownGroup.vue.d.ts +16 -5
- package/dist/components/BbDropdown/BbDropdownGroup.vue_vue_type_script_setup_true_lang.js +48 -19
- package/dist/components/BbDropdown/BbDropdownList.vue.d.ts +8 -2
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +396 -340
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +152 -122
- 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 +70 -32
- package/dist/components/BbDropdown/types.d.ts +437 -102
- package/dist/components/BbDropdown/types.js +21 -2
- package/dist/components/BbDropdown/useDropdownContext.d.ts +12 -4
- package/dist/components/BbDropdown/useDropdownGroupRegistry.d.ts +62 -0
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +18 -3
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +193 -43
- package/dist/components/BbDropdownButton/types.d.ts +139 -10
- package/dist/components/BbDropdownButton/types.js +35 -0
- package/dist/components/BbDropzone/BbDropzone.vue.d.ts +2 -2
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +211 -143
- package/dist/components/BbDropzone/types.d.ts +54 -5
- package/dist/components/BbDropzone/types.js +17 -0
- package/dist/components/BbForm/BbForm.vue.d.ts +121 -0
- package/dist/{validated → components/BbForm}/BbForm.vue.js +1 -1
- package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +360 -0
- package/dist/components/BbForm/BbFormCustomField.d.ts +14 -0
- package/dist/components/BbForm/BbFormCustomField.js +49 -0
- package/dist/components/BbForm/bindFormField.d.ts +43 -0
- package/dist/components/BbForm/bindFormField.js +88 -0
- package/dist/components/BbForm/formFields.d.ts +77 -0
- package/dist/components/BbForm/formFields.js +11 -0
- package/dist/components/BbForm/formSchema.d.ts +56 -0
- package/dist/components/BbForm/formSchema.js +196 -0
- package/dist/components/BbForm/standardSchema.d.ts +59 -0
- package/dist/components/BbHoverCard/BbHoverCard.vue.d.ts +43 -0
- package/dist/components/{BbBaseRadio/BbBaseRadio.vue.js → BbHoverCard/BbHoverCard.vue.js} +2 -2
- package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +300 -0
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +23 -0
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue.js +5 -0
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue_vue_type_script_setup_true_lang.js +13 -0
- package/dist/components/BbHoverCard/hoverCardFocus.d.ts +29 -0
- package/dist/components/BbHoverCard/hoverCardFocus.js +29 -0
- package/dist/components/BbHoverCard/types.d.ts +188 -0
- package/dist/components/BbHoverCard/types.js +13 -0
- package/dist/components/BbIcon/BbIcon.vue.d.ts +1 -3
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +59 -48
- package/dist/components/BbIcon/iconCache.d.ts +63 -0
- package/dist/components/BbIcon/iconCache.js +35 -0
- package/dist/components/BbIcon/types.d.ts +22 -2
- package/dist/components/BbIcon/types.js +7 -0
- package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +34 -21
- package/dist/components/BbIndicator/types.d.ts +24 -0
- package/dist/components/BbIndicator/types.js +7 -0
- package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +11 -8
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +667 -87
- package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
- package/dist/components/BbNumberInput/numberDisplay.js +499 -0
- package/dist/components/BbNumberInput/types.d.ts +268 -19
- package/dist/components/BbNumberInput/types.js +8 -0
- 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/BbOffCanvas/BbOffCanvas.vue.d.ts +4 -6
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +311 -204
- package/dist/components/BbOffCanvas/hostCloseLabel.d.ts +3 -0
- package/dist/components/BbOffCanvas/hostCloseLabel.js +8 -0
- package/dist/components/BbOffCanvas/types.d.ts +85 -7
- package/dist/components/BbOffCanvas/types.js +15 -0
- package/dist/components/BbPagination/BbPagination.vue.d.ts +2 -2
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +146 -110
- package/dist/components/BbPagination/types.d.ts +38 -0
- package/dist/components/BbPagination/types.js +13 -0
- package/dist/components/BbPopover/BbPopover.vue.d.ts +5 -4
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +285 -193
- package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +23 -0
- package/dist/components/BbPopover/BbPopoverPortal.vue.js +5 -0
- package/dist/components/BbPopover/BbPopoverPortal.vue_vue_type_script_setup_true_lang.js +13 -0
- package/dist/components/BbPopover/types.d.ts +77 -6
- package/dist/components/BbPopover/types.js +14 -0
- package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +38 -17
- package/dist/components/BbProgress/types.d.ts +41 -0
- package/dist/components/BbProgress/types.js +7 -0
- package/dist/components/BbPtScope/BbPtScope.vue.d.ts +12 -0
- package/dist/components/BbPtScope/BbPtScope.vue.js +5 -0
- package/dist/components/BbPtScope/BbPtScope.vue_vue_type_script_setup_true_lang.js +13 -0
- package/dist/components/BbPtScope/types.d.ts +15 -0
- package/dist/components/BbRadio/BbRadio.vue.d.ts +7 -7
- package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +178 -59
- package/dist/components/BbRadio/types.d.ts +164 -13
- package/dist/components/BbRadio/types.js +8 -0
- package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +14 -2
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +333 -108
- package/dist/components/BbRadioGroup/types.d.ts +258 -25
- package/dist/components/BbRadioGroup/types.js +10 -0
- package/dist/components/BbRating/BbRating.vue.d.ts +10 -8
- package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +269 -78
- package/dist/components/BbRating/types.d.ts +188 -13
- package/dist/components/BbRating/types.js +21 -0
- package/dist/components/BbSelect/BbSelect.vue.d.ts +17 -3
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +565 -108
- package/dist/components/BbSelect/types.d.ts +302 -23
- package/dist/components/BbSelect/types.js +41 -0
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +15 -1
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +587 -362
- package/dist/components/BbSelectPopover/sheetChipAttrs.d.ts +18 -0
- package/dist/components/BbSelectPopover/sheetChipAttrs.js +5 -0
- package/dist/components/BbSelectPopover/types.d.ts +177 -15
- package/dist/components/BbSelectPopover/types.js +24 -0
- package/dist/components/BbSlider/BbSlider.vue.d.ts +13 -8
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +477 -97
- package/dist/components/BbSlider/types.d.ts +214 -17
- package/dist/components/BbSlider/types.js +26 -0
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +60 -48
- package/dist/components/BbSmoothHeight/types.d.ts +19 -0
- package/dist/components/BbSmoothHeight/types.js +7 -0
- package/dist/components/BbSpinner/BbSpinner.vue.d.ts +1 -3
- package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +27 -14
- package/dist/components/BbSpinner/types.d.ts +22 -1
- package/dist/components/BbSpinner/types.js +7 -0
- package/dist/components/BbSwitch/BbSwitch.vue.d.ts +7 -7
- package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +230 -78
- package/dist/components/BbSwitch/types.d.ts +25 -10
- package/dist/components/BbSwitch/types.js +5 -0
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +14 -2
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +350 -106
- package/dist/components/BbSwitchGroup/types.d.ts +36 -8
- package/dist/components/BbSwitchGroup/types.js +5 -0
- package/dist/components/BbTable/BbTable.vue.d.ts +31 -50
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +2217 -685
- package/dist/components/BbTable/BbTableDataRow.d.ts +198 -0
- package/dist/components/BbTable/BbTableDataRow.js +151 -0
- package/dist/components/BbTable/BbTableEdgeRow.d.ts +110 -0
- package/dist/components/BbTable/BbTableEdgeRow.js +65 -0
- package/dist/components/BbTable/BbTableExpandRow.d.ts +84 -0
- package/dist/components/BbTable/BbTableExpandRow.js +62 -0
- package/dist/components/BbTable/BbTableSelectToggle.d.ts +128 -0
- package/dist/components/BbTable/BbTableSelectToggle.js +131 -0
- package/dist/components/BbTable/gridWidgets.d.ts +30 -0
- package/dist/components/BbTable/gridWidgets.js +14 -0
- package/dist/components/BbTable/types.d.ts +571 -151
- package/dist/components/BbTable/types.js +33 -0
- package/dist/components/BbTable/utils.d.ts +145 -4
- package/dist/components/BbTable/utils.js +161 -37
- package/dist/components/BbTabs/BbTabs.vue.d.ts +3 -1
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +66 -26
- package/dist/components/BbTabs/BbTabsList.vue.d.ts +3 -10
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +143 -81
- package/dist/components/BbTabs/BbTabsPanels.vue.d.ts +12 -0
- package/dist/components/{BbBaseSwitch/BbBaseSwitch.vue.js → BbTabs/BbTabsPanels.vue.js} +2 -2
- package/dist/components/BbTabs/BbTabsPanels.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/BbTabs/BbTabsRoot.vue.d.ts +3 -1
- package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +6 -1
- package/dist/components/BbTabs/types.d.ts +221 -39
- package/dist/components/BbTabs/types.js +34 -0
- package/dist/components/BbTag/BbTag.vue.d.ts +13 -10
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +404 -93
- package/dist/components/BbTag/types.d.ts +153 -15
- package/dist/components/BbTag/types.js +22 -0
- package/dist/components/BbTextInput/BbTextInput.vue.d.ts +31 -37
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +312 -107
- package/dist/components/BbTextInput/types.d.ts +204 -14
- package/dist/components/BbTextInput/types.js +12 -0
- package/dist/components/BbTextarea/BbTextarea.vue.d.ts +31 -37
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +342 -114
- package/dist/components/BbTextarea/types.d.ts +194 -15
- package/dist/components/BbTextarea/types.js +12 -0
- package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +12 -4
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +199 -122
- package/dist/components/BbTimePicker/types.d.ts +94 -7
- package/dist/components/BbTimePicker/types.js +18 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +14 -4
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +779 -86
- package/dist/components/BbTimePickerInput/types.d.ts +183 -22
- package/dist/components/BbTimePickerInput/types.js +25 -0
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +63 -25
- package/dist/components/BbToast/BbToastMessage.vue.d.ts +4 -1
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +79 -76
- package/dist/components/BbToast/BbToastPortal.vue.d.ts +1 -0
- package/dist/components/BbToast/BbToastRegion.vue.d.ts +4 -1
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +72 -64
- package/dist/components/BbToast/types.d.ts +54 -1
- package/dist/components/BbToast/types.js +28 -0
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +127 -92
- package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
- package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
- package/dist/components/BbTooltip/types.d.ts +50 -5
- package/dist/components/BbTooltip/types.js +7 -0
- package/dist/components/BbTree/BbTree.vue.d.ts +15 -3
- package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +57 -29
- package/dist/components/BbTree/BbTreeLevel.vue.d.ts +1 -1
- package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +24 -20
- package/dist/components/BbTree/context.d.ts +9 -1
- package/dist/components/BbTree/types.d.ts +40 -5
- package/dist/components/BbTree/types.js +7 -0
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +46 -44
- package/dist/components/ChipsBox/types.d.ts +7 -0
- package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +11 -7
- package/dist/components/CommaBox/types.d.ts +7 -0
- package/dist/components/{BbBaseInputContainer/BbBaseInputContainer.vue.d.ts → CommonField/CommonField.vue.d.ts} +5 -5
- package/dist/components/{BbTabs/BbTabsPanes.vue.js → CommonField/CommonField.vue.js} +2 -2
- package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +231 -0
- package/dist/components/CommonField/messageHeightMatrix.d.ts +2 -0
- package/dist/components/{BbBaseInputContainer → CommonField}/types.d.ts +78 -16
- package/dist/components/{CommonInputWrapper/CommonInputWrapper.vue.d.ts → CommonFieldInput/CommonFieldInput.vue.d.ts} +5 -4
- package/dist/components/{BbBaseRadioGroup/BbBaseRadioGroup.vue.js → CommonFieldInput/CommonFieldInput.vue.js} +2 -2
- package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +121 -0
- package/dist/components/CommonFieldInput/boxBorderMatrix.d.ts +10 -0
- package/dist/components/{CommonInputWrapper → CommonFieldInput}/types.d.ts +27 -8
- package/dist/components/CommonPopover/CommonPopover.vue.d.ts +11 -2
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +80 -65
- package/dist/components/CommonPopover/types.d.ts +29 -9
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue.d.ts +49 -0
- package/dist/components/{BbBaseColorPalette/BbBaseColorPalette.vue.js → CommonTimeSelector/CommonTimeSelector.vue.js} +2 -2
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +241 -0
- package/dist/components/CommonTimeSelector/types.d.ts +6 -0
- package/dist/components/CommonTimeSelector/useMeridiem.d.ts +19 -0
- package/dist/components/CommonTimeSelector/useMeridiem.js +41 -0
- package/dist/components/FlatListBox/FlatListBox.vue.d.ts +5 -1
- package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +176 -98
- package/dist/components/FlatListBox/types.d.ts +33 -2
- package/dist/components/GroupedListBox/GroupedListBox.vue.d.ts +5 -1
- package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +237 -146
- package/dist/components/GroupedListBox/types.d.ts +33 -2
- package/dist/components/ListBox/ListBox.vue.d.ts +5 -1
- package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +100 -69
- package/dist/components/ListBox/types.d.ts +33 -2
- package/dist/components/OptionsContainer/OptionsContainer.vue.d.ts +1 -1
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +117 -37
- package/dist/components/OptionsContainer/types.d.ts +79 -10
- package/dist/components/Transitions/ScaleFade.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/Transitions/Slide.vue.js +1 -1
- package/dist/composables/formSubmitLock.d.ts +8 -0
- package/dist/composables/formSubmitLock.js +4 -0
- package/dist/composables/ssrMarker.d.ts +15 -0
- package/dist/composables/ssrMarker.js +19 -0
- package/dist/composables/useBaseOptions.d.ts +18 -1
- package/dist/composables/useBaseOptions.js +83 -37
- package/dist/composables/useBbConfig.d.ts +27 -6
- package/dist/composables/useBbConfig.js +8 -2
- package/dist/composables/useBbDropdownContext.d.ts +13 -8
- package/dist/composables/useBbFormContext.d.ts +142 -8
- package/dist/composables/useBbFormContext.js +62 -30
- package/dist/composables/useBbFormField.d.ts +60 -0
- package/dist/composables/useBbFormField.js +57 -0
- package/dist/composables/useBbTableContext.d.ts +45 -1
- package/dist/composables/useBbTableContext.js +93 -87
- package/dist/composables/useBbTabsContext.d.ts +24 -18
- package/dist/composables/useBbTabsContext.js +154 -112
- package/dist/composables/useCharacterCounter.d.ts +33 -0
- package/dist/composables/useCharacterCounter.js +29 -0
- package/dist/composables/useClosingInert.d.ts +4 -4
- package/dist/composables/useCoarsePointer.js +7 -10
- package/dist/composables/useCoherence.js +1 -1
- package/dist/composables/useConfig.d.ts +59 -0
- package/dist/composables/useConfig.js +15 -0
- package/dist/composables/useConfirm.d.ts +39 -7
- package/dist/composables/useConfirm.js +50 -41
- package/dist/composables/useEscapeStackEntry.d.ts +13 -0
- package/dist/composables/useEscapeStackEntry.js +16 -0
- package/dist/composables/useFormBinding.d.ts +135 -0
- package/dist/composables/useFormBinding.js +46 -0
- package/dist/composables/useHydrated.d.ts +30 -0
- package/dist/composables/useHydrated.js +31 -7
- package/dist/composables/useId.d.ts +4 -3
- package/dist/composables/useId.js +1 -7
- 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/useItemsGetter.d.ts +73 -2
- package/dist/composables/useItemsGetter.js +81 -21
- package/dist/composables/useKeyboardInset.d.ts +28 -0
- package/dist/composables/useKeyboardInset.js +32 -0
- package/dist/composables/useLocale.js +13 -9
- package/dist/composables/useMobile.js +7 -10
- package/dist/composables/useOverlayYield.d.ts +23 -0
- package/dist/composables/useOverlayYield.js +20 -0
- package/dist/composables/usePassthrough.d.ts +228 -0
- package/dist/composables/usePassthrough.js +247 -0
- package/dist/composables/usePrefill.d.ts +26 -5
- package/dist/composables/usePrefill.js +36 -19
- package/dist/composables/useSafeAreaInternal.js +1 -1
- package/dist/composables/useSegmentedFields.d.ts +2 -2
- package/dist/composables/useSegmentedFields.js +4 -4
- package/dist/composables/useServerPrefetch.d.ts +28 -0
- package/dist/composables/useServerPrefetch.js +9 -0
- package/dist/composables/useSsrState.d.ts +28 -0
- package/dist/composables/useSsrState.js +13 -0
- package/dist/composables/useTableWidthContext.d.ts +24 -4
- package/dist/composables/useTableWidthContext.js +31 -28
- package/dist/composables/useToast.d.ts +18 -1
- package/dist/composables/useToast.js +31 -18
- package/dist/composables/useToggleInput.d.ts +44 -0
- package/dist/composables/useToggleInput.js +39 -0
- package/dist/composables/useViewportWidth.d.ts +5 -25
- package/dist/composables/useViewportWidth.js +14 -7
- package/dist/deprecation/ai-deprecations.json.d.ts +2259 -263
- package/dist/deprecation/ai-deprecations.json.js +1 -1
- package/dist/deprecation/removedProps.js +9 -4
- package/dist/directives/bbDropdown.d.ts +15 -4
- package/dist/directives/bbDropdown.js +42 -10
- package/dist/directives/bbHoverCard.d.ts +59 -0
- package/dist/directives/bbHoverCard.js +33 -0
- package/dist/directives/bbPopover.d.ts +60 -0
- package/dist/directives/bbPopover.js +40 -0
- package/dist/directives/bbTooltip.d.ts +8 -0
- package/dist/directives/createPopoverDirective.d.ts +86 -0
- package/dist/directives/createPopoverDirective.js +111 -33
- package/dist/directives/directivePortal.d.ts +75 -0
- package/dist/directives/directivePortal.js +37 -0
- package/dist/directives/renderingInstance.d.ts +2 -0
- package/dist/directives/renderingInstance.js +25 -0
- package/dist/i18n/index.d.ts +14 -25
- package/dist/i18n/locales/cs.json +28 -18
- package/dist/i18n/locales/da.json +31 -21
- package/dist/i18n/locales/de-CH.json +137 -0
- package/dist/i18n/locales/de.json +30 -20
- package/dist/i18n/locales/el.json +28 -18
- package/dist/i18n/locales/en-GB.json +137 -0
- package/dist/i18n/locales/en.json +25 -15
- package/dist/i18n/locales/es-MX.json +137 -0
- package/dist/i18n/locales/es.json +34 -24
- package/dist/i18n/locales/fi.json +26 -16
- package/dist/i18n/locales/fr.json +36 -26
- package/dist/i18n/locales/hu.json +26 -16
- package/dist/i18n/locales/it.json +29 -19
- package/dist/i18n/locales/ja.json +31 -21
- package/dist/i18n/locales/ko.json +28 -18
- package/dist/i18n/locales/nb.json +31 -21
- package/dist/i18n/locales/nl.json +39 -29
- package/dist/i18n/locales/pl.json +27 -17
- package/dist/i18n/locales/{pt.json → pt-BR.json} +36 -26
- package/dist/i18n/locales/pt-PT.json +137 -0
- package/dist/i18n/locales/ro.json +40 -30
- package/dist/i18n/locales/ru.json +27 -17
- package/dist/i18n/locales/sv.json +34 -24
- package/dist/i18n/locales/tr.json +32 -22
- package/dist/i18n/locales/uk.json +27 -17
- package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +28 -18
- 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/icon-scan.d.ts +276 -0
- package/dist/icon-scan.js +485 -0
- package/dist/icons-whitelist.d.ts +5 -4
- package/dist/index.d.ts +61 -23
- package/dist/index.js +84 -72
- package/dist/llms-full.txt +98740 -60296
- package/dist/llms-medium.txt +1617 -393
- package/dist/llms.txt +40 -23
- package/dist/locale-blueprint.json +33 -17
- package/dist/nuxt-auto-imports.d.ts +76 -0
- package/dist/nuxt-auto-imports.js +32 -0
- package/dist/nuxt-module.d.ts +30 -15
- package/dist/nuxt.js +35 -9
- package/dist/passthrough-deduper.js +5 -0
- package/dist/plugin.d.ts +10 -1
- package/dist/plugin.js +33 -19
- package/dist/project-dts.d.ts +92 -0
- package/dist/project-dts.js +173 -0
- package/dist/reset.css +1 -1
- package/dist/runtime/nuxt-plugin.js +36 -21
- package/dist/styles.css +3 -2
- package/dist/types/AlertVariant.d.ts +10 -1
- package/dist/types/BadgeVariant.d.ts +16 -5
- package/dist/types/ButtonVariant.d.ts +12 -1
- package/dist/types/ColumnName.d.ts +30 -3
- package/dist/types/CommonProps.d.ts +15 -5
- package/dist/types/Config.d.ts +112 -1
- package/dist/types/ConfirmVariant.d.ts +8 -1
- package/dist/types/DropdownItemVariant.d.ts +8 -1
- package/dist/types/FieldLayout.d.ts +39 -0
- package/dist/types/FieldLayout.js +8 -0
- package/dist/types/IndicatorVariant.d.ts +11 -1
- package/dist/types/InputVariant.d.ts +30 -0
- package/dist/types/ItemProps.d.ts +50 -0
- package/dist/types/ItemsProvider.d.ts +94 -0
- package/dist/types/Option.d.ts +6 -0
- package/dist/types/PtScope.d.ts +15 -0
- package/dist/types/RegistryKey.d.ts +10 -0
- package/dist/types/TabsVariant.d.ts +25 -0
- package/dist/types/ToastVariant.d.ts +12 -2
- package/dist/types/TooltipVariant.d.ts +8 -1
- package/dist/types/passthrough.d.ts +378 -0
- package/dist/types/passthrough.js +78 -0
- package/dist/types/ptComponentMap.d.ts +63 -0
- package/dist/utilities/functions/animationsSettled.d.ts +7 -0
- package/dist/utilities/functions/animationsSettled.js +6 -0
- package/dist/utilities/functions/elementLabel.d.ts +8 -0
- package/dist/utilities/functions/elementLabel.js +6 -0
- package/dist/utilities/functions/hasVnodeListener.d.ts +16 -0
- package/dist/utilities/functions/hasVnodeListener.js +12 -0
- package/dist/utilities/functions/isImeComposing.d.ts +7 -0
- package/dist/utilities/functions/isImeComposing.js +4 -0
- package/dist/utilities/functions/itemProps.d.ts +46 -0
- package/dist/utilities/functions/itemProps.js +47 -0
- package/dist/utilities/functions/parseSize.d.ts +2 -1
- package/dist/utilities/functions/readableValue.d.ts +6 -0
- package/dist/utilities/functions/readableValue.js +4 -0
- package/dist/utilities/functions/settlesVisible.d.ts +20 -0
- package/dist/utilities/functions/settlesVisible.js +18 -0
- package/dist/utilities/functions/slotKey.d.ts +13 -8
- package/dist/utilities/functions/slotKey.js +78 -2
- package/dist/utilities/functions/snapToStep.js +2 -1
- package/dist/utilities/functions/throttle.d.ts +1 -4
- package/dist/utilities/functions/throttle.js +1 -4
- package/dist/utilities/functions/toggleInput.d.ts +114 -0
- package/dist/utilities/functions/toggleInput.js +61 -0
- package/dist/utilities/functions/warnRemovedAttrs.d.ts +39 -1
- package/dist/utilities/functions/warnRemovedAttrs.js +85 -14
- package/dist/utilities/misc/listboxMetrics.d.ts +9 -3
- package/dist/utilities/misc/listboxMetrics.js +5 -2
- package/dist/utilities/misc/ssrStateInjectionKey.d.ts +47 -0
- package/dist/utilities/misc/ssrStateInjectionKey.js +4 -0
- package/dist/utilities/misc/ssrValue.d.ts +20 -0
- package/dist/utilities/misc/ssrValue.js +7 -0
- package/dist/utils/cssLayers.d.ts +91 -0
- package/dist/utils/cssLayers.js +43 -0
- package/dist/utils/injectLibraryStyles.d.ts +3 -1
- package/dist/utils/injectLibraryStyles.js +24 -23
- package/dist/utils/overlayEscapeStack.d.ts +39 -1
- package/dist/utils/overlayEscapeStack.js +19 -8
- package/dist/utils/passthrough.d.ts +67 -0
- package/dist/utils/passthrough.js +100 -0
- package/dist/utils/passthroughDeduper.d.ts +2 -0
- package/dist/utils/ptScope.d.ts +8 -0
- package/dist/utils/ptScope.js +4 -0
- package/dist/utils/versionCheck.d.ts +19 -0
- package/dist/utils/versionCheck.js +18 -0
- package/dist/vite-plugin.d.ts +324 -71
- package/dist/vite.js +577 -385
- package/llms.txt +41 -24
- package/package.json +74 -38
- package/scripts/README.md +35 -33
- package/scripts/lib/agent-manifest.mjs +510 -0
- package/scripts/lib/check-fix.mjs +129 -0
- package/scripts/lib/component-attr-targets.ts +123 -0
- package/scripts/lib/component-tree.ts +648 -0
- package/scripts/lib/css-class-check.mjs +329 -0
- package/scripts/lib/css-class-surface.mjs +292 -0
- package/scripts/lib/css-color-resolve.mjs +296 -0
- package/scripts/lib/css-local-check.mjs +432 -0
- package/scripts/lib/design-token-manifest.mjs +506 -0
- package/scripts/lib/doc-sections.mjs +250 -0
- package/scripts/lib/ensure-manifest.mjs +106 -10
- package/scripts/lib/eslint-disable.mjs +167 -0
- package/scripts/lib/eslint-plugin.d.ts +84 -1
- package/scripts/lib/eslint-plugin.mjs +2190 -33
- package/scripts/lib/example-checks.mjs +337 -0
- package/scripts/lib/form-v-model.mjs +190 -0
- package/scripts/lib/guide-claims.mjs +452 -0
- package/scripts/lib/hand-imported-styles.mjs +362 -0
- package/scripts/lib/hand-roll-hints.mjs +50 -6
- package/scripts/lib/helper-canon.mjs +176 -0
- package/scripts/lib/helpers-add.mjs +1303 -0
- package/scripts/lib/html-attributes.mjs +353 -0
- package/scripts/lib/items-provider-context.mjs +842 -0
- package/scripts/lib/linked-target.mjs +30 -0
- package/scripts/lib/local-components.mjs +206 -0
- package/scripts/lib/locale-check.mjs +182 -0
- package/scripts/lib/manifest-pointers.mjs +71 -0
- package/scripts/lib/mcp-config.mjs +93 -58
- package/scripts/lib/migrate-fix.mjs +62 -3
- package/scripts/lib/portal-names.mjs +458 -0
- package/scripts/lib/project-variant-dts.mjs +144 -0
- package/scripts/lib/public-type-exports.mjs +273 -0
- package/scripts/lib/reactive-v-model.mjs +221 -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 +147 -0
- package/scripts/lib/slot-renames.mjs +45 -0
- package/scripts/lib/squashed-slot-words.mjs +133 -0
- package/scripts/lib/text-null-value.mjs +260 -0
- package/scripts/lib/toolchain-check.mjs +217 -0
- package/scripts/lib/unimported-components.mjs +263 -0
- package/scripts/lib/validate-bb-markup.mjs +2932 -100
- package/scripts/lib/wrapper-props.mjs +188 -0
- package/dist/ai/BbBaseCheckbox.md +0 -49
- package/dist/ai/BbBaseCheckboxGroup.md +0 -64
- package/dist/ai/BbBaseColorInput.md +0 -65
- package/dist/ai/BbBaseColorPalette.md +0 -39
- package/dist/ai/BbBaseDatePicker.md +0 -43
- package/dist/ai/BbBaseDatePickerInput.md +0 -73
- package/dist/ai/BbBaseInputContainer.md +0 -48
- package/dist/ai/BbBaseNumberInput.md +0 -71
- package/dist/ai/BbBaseRadio.md +0 -46
- package/dist/ai/BbBaseRadioGroup.md +0 -64
- package/dist/ai/BbBaseRating.md +0 -52
- package/dist/ai/BbBaseSelect.md +0 -88
- package/dist/ai/BbBaseSlider.md +0 -56
- package/dist/ai/BbBaseSwitch.md +0 -49
- package/dist/ai/BbBaseSwitchGroup.md +0 -64
- package/dist/ai/BbBaseTag.md +0 -68
- package/dist/ai/BbBaseTextInput.md +0 -75
- package/dist/ai/BbBaseTextarea.md +0 -62
- package/dist/ai/BbBaseTimePickerInput.md +0 -62
- package/dist/ai/BbTabsPanes.md +0 -27
- package/dist/ai/CommonInputWrapper.md +0 -42
- package/dist/ai/recipes/inertia/command-palette.md +0 -311
- package/dist/ai/recipes/nuxt/command-palette.md +0 -300
- package/dist/ai/recipes/vue/command-palette.md +0 -297
- package/dist/ai/source/BbBaseCheckbox.md +0 -461
- package/dist/ai/source/BbBaseCheckboxGroup.md +0 -554
- package/dist/ai/source/BbBaseColorInput.md +0 -431
- package/dist/ai/source/BbBaseColorPalette.md +0 -942
- package/dist/ai/source/BbBaseDatePicker.md +0 -1448
- package/dist/ai/source/BbBaseDatePickerInput.md +0 -1940
- package/dist/ai/source/BbBaseInputContainer.md +0 -1211
- package/dist/ai/source/BbBaseNumberInput.md +0 -617
- package/dist/ai/source/BbBaseRadio.md +0 -381
- package/dist/ai/source/BbBaseRadioGroup.md +0 -539
- package/dist/ai/source/BbBaseRating.md +0 -607
- package/dist/ai/source/BbBaseSelect.md +0 -945
- package/dist/ai/source/BbBaseSlider.md +0 -1144
- package/dist/ai/source/BbBaseSwitch.md +0 -246
- package/dist/ai/source/BbBaseSwitchGroup.md +0 -302
- package/dist/ai/source/BbBaseTag.md +0 -694
- package/dist/ai/source/BbBaseTextInput.md +0 -511
- package/dist/ai/source/BbBaseTextarea.md +0 -504
- package/dist/ai/source/BbBaseTimePickerInput.md +0 -1037
- package/dist/ai/source/BbTabsPanes.md +0 -377
- package/dist/ai/source/CommonInputWrapper.md +0 -584
- package/dist/alert-variants.d.ts +0 -19
- package/dist/assets/svgs/sort.svg_raw.js +0 -4
- package/dist/badge-variants.d.ts +0 -19
- package/dist/button-variants.d.ts +0 -21
- package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +0 -3
- package/dist/components/BbBadge/BadgeAppendIcon.vue.js +0 -5
- package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +0 -22
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.d.ts +0 -40
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.js +0 -6
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +0 -145
- package/dist/components/BbBaseCheckbox/types.d.ts +0 -224
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.d.ts +0 -19
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.js +0 -6
- package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +0 -190
- package/dist/components/BbBaseCheckboxGroup/types.d.ts +0 -257
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.d.ts +0 -43
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.js +0 -6
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +0 -184
- package/dist/components/BbBaseColorInput/types.d.ts +0 -219
- package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.d.ts +0 -13
- package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue_vue_type_script_setup_true_lang.js +0 -395
- package/dist/components/BbBaseColorPalette/types.d.ts +0 -40
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.d.ts +0 -20
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.js +0 -6
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +0 -407
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +0 -47
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.js +0 -5
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +0 -318
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.js +0 -5
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +0 -115
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.js +0 -5
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue_vue_type_script_setup_true_lang.js +0 -116
- package/dist/components/BbBaseDatePicker/types.d.ts +0 -108
- package/dist/components/BbBaseDatePicker/useDatePickerContext.js +0 -11
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +0 -31
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.js +0 -6
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +0 -737
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.d.ts +0 -30
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.js +0 -6
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue_vue_type_script_setup_true_lang.js +0 -204
- package/dist/components/BbBaseDatePickerInput/types.d.ts +0 -325
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.js +0 -6
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +0 -190
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.d.ts +0 -52
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.js +0 -6
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +0 -215
- package/dist/components/BbBaseNumberInput/types.d.ts +0 -211
- package/dist/components/BbBaseRadio/BbBaseRadio.vue.d.ts +0 -33
- package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +0 -113
- package/dist/components/BbBaseRadio/types.d.ts +0 -179
- package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.d.ts +0 -19
- package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +0 -179
- package/dist/components/BbBaseRadioGroup/types.d.ts +0 -223
- package/dist/components/BbBaseRating/BbBaseRating.vue.d.ts +0 -38
- package/dist/components/BbBaseRating/BbBaseRating.vue.js +0 -6
- package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +0 -192
- package/dist/components/BbBaseRating/types.d.ts +0 -176
- package/dist/components/BbBaseSelect/BbBaseSelect.vue.d.ts +0 -19
- package/dist/components/BbBaseSelect/BbBaseSelect.vue.js +0 -6
- package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +0 -311
- package/dist/components/BbBaseSelect/types.d.ts +0 -297
- package/dist/components/BbBaseSlider/BbBaseSlider.vue.d.ts +0 -35
- package/dist/components/BbBaseSlider/BbBaseSlider.vue.js +0 -6
- package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +0 -340
- package/dist/components/BbBaseSlider/types.d.ts +0 -200
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.d.ts +0 -35
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +0 -146
- package/dist/components/BbBaseSwitch/types.d.ts +0 -10
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.d.ts +0 -19
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.js +0 -6
- package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +0 -190
- package/dist/components/BbBaseSwitchGroup/types.d.ts +0 -8
- package/dist/components/BbBaseTag/BbBaseTag.vue.d.ts +0 -50
- package/dist/components/BbBaseTag/BbBaseTag.vue.js +0 -6
- package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +0 -266
- package/dist/components/BbBaseTag/types.d.ts +0 -160
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.d.ts +0 -45
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.js +0 -6
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +0 -200
- package/dist/components/BbBaseTextInput/types.d.ts +0 -209
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.d.ts +0 -39
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.js +0 -6
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +0 -187
- package/dist/components/BbBaseTextarea/types.d.ts +0 -170
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +0 -27
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.js +0 -6
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +0 -519
- package/dist/components/BbBaseTimePickerInput/types.d.ts +0 -151
- package/dist/components/BbTabs/BbTabsPanes.vue.d.ts +0 -16
- package/dist/components/BbTabs/BbTabsPanes.vue_vue_type_script_setup_true_lang.js +0 -35
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.js +0 -6
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +0 -107
- package/dist/confirm-variants.d.ts +0 -17
- package/dist/dropdown-item-variants.d.ts +0 -17
- package/dist/i18n/index.js +0 -27
- package/dist/indicator-variants.d.ts +0 -20
- package/dist/locale-registry.d.ts +0 -37
- package/dist/toast-variants.d.ts +0 -20
- package/dist/tooltip-variants.d.ts +0 -17
- package/dist/types/InputDirection.d.ts +0 -15
- package/dist/validated/BbCheckbox.vue.d.ts +0 -29
- package/dist/validated/BbCheckbox.vue.js +0 -5
- package/dist/validated/BbCheckbox.vue_vue_type_script_setup_true_lang.js +0 -75
- package/dist/validated/BbCheckboxGroup.vue.d.ts +0 -34
- package/dist/validated/BbCheckboxGroup.vue.js +0 -5
- package/dist/validated/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +0 -82
- package/dist/validated/BbColorInput.vue.d.ts +0 -37
- package/dist/validated/BbColorInput.vue.js +0 -5
- package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +0 -75
- package/dist/validated/BbDatePickerInput.vue.d.ts +0 -41
- package/dist/validated/BbDatePickerInput.vue.js +0 -5
- package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +0 -90
- package/dist/validated/BbDropzone.vue.d.ts +0 -24
- package/dist/validated/BbDropzone.vue.js +0 -5
- package/dist/validated/BbDropzone.vue_vue_type_script_setup_true_lang.js +0 -45
- package/dist/validated/BbForm.vue.d.ts +0 -28
- package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +0 -42
- package/dist/validated/BbNumberInput.vue.d.ts +0 -36
- package/dist/validated/BbNumberInput.vue.js +0 -5
- package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +0 -72
- package/dist/validated/BbRadioGroup.vue.d.ts +0 -34
- package/dist/validated/BbRadioGroup.vue.js +0 -5
- package/dist/validated/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +0 -78
- package/dist/validated/BbRating.vue.d.ts +0 -30
- package/dist/validated/BbRating.vue.js +0 -5
- package/dist/validated/BbRating.vue_vue_type_script_setup_true_lang.js +0 -63
- package/dist/validated/BbSelect.vue.d.ts +0 -46
- package/dist/validated/BbSelect.vue.js +0 -5
- package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +0 -109
- package/dist/validated/BbSlider.vue.d.ts +0 -36
- package/dist/validated/BbSlider.vue.js +0 -5
- package/dist/validated/BbSlider.vue_vue_type_script_setup_true_lang.js +0 -69
- package/dist/validated/BbSwitch.vue.d.ts +0 -29
- package/dist/validated/BbSwitch.vue.js +0 -5
- package/dist/validated/BbSwitch.vue_vue_type_script_setup_true_lang.js +0 -75
- package/dist/validated/BbSwitchGroup.vue.d.ts +0 -34
- package/dist/validated/BbSwitchGroup.vue.js +0 -5
- package/dist/validated/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +0 -82
- package/dist/validated/BbTag.vue.d.ts +0 -36
- package/dist/validated/BbTag.vue.js +0 -5
- package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +0 -72
- package/dist/validated/BbTextInput.vue.d.ts +0 -36
- package/dist/validated/BbTextInput.vue.js +0 -5
- package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +0 -72
- package/dist/validated/BbTextarea.vue.d.ts +0 -36
- package/dist/validated/BbTextarea.vue.js +0 -5
- package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +0 -70
- package/dist/validated/BbTimePickerInput.vue.d.ts +0 -37
- package/dist/validated/BbTimePickerInput.vue.js +0 -5
- package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +0 -81
- package/dist/validated/index.d.ts +0 -43
- package/dist/validated/useValidatedField.d.ts +0 -93
- package/dist/validated/useValidatedField.js +0 -51
- package/dist/validated.js +0 -21
- /package/dist/components/{BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.d.ts → BbCalendar/CalendarMonthPanel.vue.d.ts} +0 -0
- /package/dist/components/{BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.d.ts → BbCalendar/CalendarYearPanel.vue.d.ts} +0 -0
- /package/dist/{components/BbBaseDatePicker/typeahead.d.ts → composables/useTypeahead.d.ts} +0 -0
- /package/dist/{components/BbBaseDatePicker/typeahead.js → composables/useTypeahead.js} +0 -0
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `redundant-item-accessor` (Q60.24, owner 2026-10-07): with no `item-text`
|
|
3
|
+
* an option reads its own `label`, else its own `text`; with no `item-value`
|
|
4
|
+
* its own `value`. An accessor that names exactly that field restates the
|
|
5
|
+
* default and is cruft: `item-text="label"`, `item-text="text"`,
|
|
6
|
+
* `item-value="value"` (static or `:item-text="'label'"`, kebab or camel) on
|
|
7
|
+
* the option surfaces, and `itemText: 'label'` / `'text'` /
|
|
8
|
+
* `itemValue: 'value'` in a BbDropdown group.
|
|
9
|
+
*
|
|
10
|
+
* Reported only when removing it cannot change what renders:
|
|
11
|
+
* - `item-text="label"` / `item-value="value"`: when the items are not
|
|
12
|
+
* visible in the file (the field is assumed present), or when every visible
|
|
13
|
+
* item is an object literal spelling that field. A primitive item or an
|
|
14
|
+
* object without the field reads differently through the default.
|
|
15
|
+
* - `item-text="text"`: only when every visible item spells `text` and none
|
|
16
|
+
* spells `label` or spreads (`label` would win over `text`); never on items
|
|
17
|
+
* the file cannot see.
|
|
18
|
+
* - A dropdown group stays a mapped group after the removal: its `items` is a
|
|
19
|
+
* function, or it keeps `itemProps`, `max` or another mapper. A group whose
|
|
20
|
+
* only mapper is the redundant one would turn into a hand-written group.
|
|
21
|
+
*
|
|
22
|
+
* The ESLint twin is `bitboss-ui/no-redundant-item-accessor`
|
|
23
|
+
* (eslint-plugin.mjs): both read the findings below; each carries the range
|
|
24
|
+
* the autofix deletes.
|
|
25
|
+
*/
|
|
26
|
+
import { babelParse, parse } from 'vue/compiler-sfc';
|
|
27
|
+
import { libraryAliases, localBbImports } from './local-components.mjs';
|
|
28
|
+
|
|
29
|
+
const NODE_ELEMENT = 1;
|
|
30
|
+
const PROP_ATTRIBUTE = 6;
|
|
31
|
+
const PROP_DIRECTIVE = 7;
|
|
32
|
+
|
|
33
|
+
/** The components whose options read the default chain. */
|
|
34
|
+
export const ACCESSOR_SURFACES = new Set([
|
|
35
|
+
'BbSelect',
|
|
36
|
+
'BbSelectPopover',
|
|
37
|
+
'BbRadioGroup',
|
|
38
|
+
'BbCheckboxGroup',
|
|
39
|
+
'BbSwitchGroup',
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
/** Hosts whose `items` hold BbDropdown groups. */
|
|
43
|
+
const DROPDOWN_HOSTS = new Set(['BbDropdown', 'BbDropdownButton']);
|
|
44
|
+
|
|
45
|
+
/** accessor → the field values that restate its default. */
|
|
46
|
+
const DEFAULT_FIELDS = { itemText: ['label', 'text'], itemValue: ['value'] };
|
|
47
|
+
|
|
48
|
+
export const REDUNDANT_ACCESSOR_MESSAGES = {
|
|
49
|
+
attr: (attr, field) =>
|
|
50
|
+
`\`${attr}\` restates the default: ${
|
|
51
|
+
field === 'value'
|
|
52
|
+
? "an option's value is its own `value`"
|
|
53
|
+
: 'an option reads its own `label`, else its own `text`'
|
|
54
|
+
}. Remove it.`,
|
|
55
|
+
group: (prop, field) =>
|
|
56
|
+
`\`${prop}: '${field}'\` restates the group's default: ${
|
|
57
|
+
field === 'value'
|
|
58
|
+
? "a row's value is its own `value`"
|
|
59
|
+
: 'a row reads its own `label`, else its own `text`'
|
|
60
|
+
}. Remove it.`,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export const REDUNDANT_ACCESSOR_HINT =
|
|
64
|
+
'`{ label, value }` and `{ text, value }` items work as they are; an accessor is only for another shape';
|
|
65
|
+
|
|
66
|
+
const pascal = (tag) =>
|
|
67
|
+
tag.includes('-')
|
|
68
|
+
? tag.replace(/(?:^|-)([a-z0-9])/g, (_, c) => c.toUpperCase())
|
|
69
|
+
: tag;
|
|
70
|
+
|
|
71
|
+
const camel = (name) => name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
72
|
+
|
|
73
|
+
const unwrap = (node) => {
|
|
74
|
+
let current = node;
|
|
75
|
+
while (
|
|
76
|
+
current &&
|
|
77
|
+
[
|
|
78
|
+
'TSAsExpression',
|
|
79
|
+
'TSSatisfiesExpression',
|
|
80
|
+
'TSNonNullExpression',
|
|
81
|
+
'TSTypeAssertion',
|
|
82
|
+
'ParenthesizedExpression',
|
|
83
|
+
].includes(current.type)
|
|
84
|
+
)
|
|
85
|
+
current = current.expression;
|
|
86
|
+
return current;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const keyName = (property) =>
|
|
90
|
+
(property.type === 'ObjectProperty' || property.type === 'ObjectMethod') &&
|
|
91
|
+
!property.computed
|
|
92
|
+
? property.key.type === 'Identifier'
|
|
93
|
+
? property.key.name
|
|
94
|
+
: property.key.type === 'StringLiteral'
|
|
95
|
+
? property.key.value
|
|
96
|
+
: undefined
|
|
97
|
+
: undefined;
|
|
98
|
+
|
|
99
|
+
const propertyOf = (object, key) =>
|
|
100
|
+
object.properties.find((p) => keyName(p) === key);
|
|
101
|
+
|
|
102
|
+
/** A string literal (`'label'`, `"label"`, `` `label` ``) → its value. */
|
|
103
|
+
const stringValue = (node) => {
|
|
104
|
+
const value = unwrap(node);
|
|
105
|
+
if (value?.type === 'StringLiteral') return value.value;
|
|
106
|
+
if (
|
|
107
|
+
value?.type === 'TemplateLiteral' &&
|
|
108
|
+
value.expressions.length === 0 &&
|
|
109
|
+
value.quasis.length === 1
|
|
110
|
+
)
|
|
111
|
+
return value.quasis[0].value.cooked;
|
|
112
|
+
return undefined;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* The visible items of an array: `null` when the array cannot be judged
|
|
117
|
+
* (not in the file, or mutated), else one entry per element —
|
|
118
|
+
* `{ keys, spread }` for an object literal, `null` for anything else.
|
|
119
|
+
*/
|
|
120
|
+
const shapeOf = (arrayNode) =>
|
|
121
|
+
arrayNode
|
|
122
|
+
? arrayNode.elements.map((raw) => {
|
|
123
|
+
const element = unwrap(raw);
|
|
124
|
+
if (element?.type !== 'ObjectExpression') return null;
|
|
125
|
+
return {
|
|
126
|
+
keys: new Set(element.properties.map(keyName).filter(Boolean)),
|
|
127
|
+
spread: element.properties.some((p) => p.type === 'SpreadElement'),
|
|
128
|
+
};
|
|
129
|
+
})
|
|
130
|
+
: null;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Whether `accessor = field` restates the default for items of this shape.
|
|
134
|
+
* @param {'itemText' | 'itemValue'} accessor
|
|
135
|
+
* @param {string} field
|
|
136
|
+
* @param {null | Array<null | { keys: Set<string>, spread: boolean }>} shape
|
|
137
|
+
*/
|
|
138
|
+
export function restatesDefault(accessor, field, shape) {
|
|
139
|
+
if (!DEFAULT_FIELDS[accessor]?.includes(field)) return false;
|
|
140
|
+
if (accessor === 'itemText' && field === 'text') {
|
|
141
|
+
if (!shape) return false;
|
|
142
|
+
return shape.every(
|
|
143
|
+
(item) =>
|
|
144
|
+
item && !item.spread && !item.keys.has('label') && item.keys.has('text')
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
if (!shape) return true;
|
|
148
|
+
return shape.every((item) => item && item.keys.has(field));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/** Resolves an `items` expression to an ArrayExpression, or null. */
|
|
152
|
+
const arrayOf = (node, arrays) => {
|
|
153
|
+
const value = unwrap(node);
|
|
154
|
+
if (value?.type === 'ArrayExpression') return value;
|
|
155
|
+
if (value?.type === 'Identifier' && !arrays?.mutated?.has(value.name))
|
|
156
|
+
return arrays?.get(value.name) ?? null;
|
|
157
|
+
return null;
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
/** The range to delete with an attribute: it and the whitespace before it. */
|
|
161
|
+
const attrRemoval = (code, start, end) => {
|
|
162
|
+
let from = start;
|
|
163
|
+
while (from > 0 && /\s/.test(code[from - 1])) from--;
|
|
164
|
+
return [from, end];
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/** The range to delete with an object property: it and one comma. */
|
|
168
|
+
const propertyRemoval = (code, start, end) => {
|
|
169
|
+
let to = end;
|
|
170
|
+
while (to < code.length && /[ \t]/.test(code[to])) to++;
|
|
171
|
+
if (code[to] === ',') {
|
|
172
|
+
to++;
|
|
173
|
+
// Alone on its line: take the whole line.
|
|
174
|
+
let lineStart = start;
|
|
175
|
+
while (lineStart > 0 && /[ \t]/.test(code[lineStart - 1])) lineStart--;
|
|
176
|
+
let after = to;
|
|
177
|
+
while (after < code.length && /[ \t]/.test(code[after])) after++;
|
|
178
|
+
if (
|
|
179
|
+
(lineStart === 0 || code[lineStart - 1] === '\n') &&
|
|
180
|
+
code[after] === '\n'
|
|
181
|
+
)
|
|
182
|
+
return [lineStart, after + 1];
|
|
183
|
+
while (to < code.length && /[ \t]/.test(code[to])) to++;
|
|
184
|
+
return [start, to];
|
|
185
|
+
}
|
|
186
|
+
// The last property: take the comma before it.
|
|
187
|
+
let from = start;
|
|
188
|
+
while (from > 0 && /\s/.test(code[from - 1])) from--;
|
|
189
|
+
if (code[from - 1] === ',') from--;
|
|
190
|
+
return [from, end];
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
const parseExpression = (content) => {
|
|
194
|
+
try {
|
|
195
|
+
const program = babelParse(`(${content})`, {
|
|
196
|
+
sourceType: 'module',
|
|
197
|
+
plugins: ['typescript'],
|
|
198
|
+
}).program;
|
|
199
|
+
return program.body[0]?.expression ?? null;
|
|
200
|
+
} catch {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* @param {string} code a whole SFC (ranges are offsets into it) or a snippet
|
|
207
|
+
* @param {{ templateAst?: any, arrays?: Map<string, any> & { mutated?: Set<string> }, library?: Parameters<typeof localBbImports>[1] }} [options]
|
|
208
|
+
* `arrays`: the file's script-setup array consts (`scriptSetupArrayConsts`)
|
|
209
|
+
* `library`: what counts as the library besides `bitboss-ui` (`isLibrarySource`)
|
|
210
|
+
* @returns {Array<{ component: string, attr: string, kind: 'redundant-item-accessor', line: number, message: string, hint: string, severity: 'warning', range?: [number, number], edit?: { range: [number, number], text: string } }>}
|
|
211
|
+
* `edit` is the autofix as a text replacement (a deletion is `text: ''`), so a
|
|
212
|
+
* later finding can rewrite instead of delete without touching the rule
|
|
213
|
+
*/
|
|
214
|
+
export function redundantItemAccessorFindings(code, options = {}) {
|
|
215
|
+
if (!/item-?(text|value)|itemText|itemValue/i.test(code)) return [];
|
|
216
|
+
let descriptor = null;
|
|
217
|
+
try {
|
|
218
|
+
({ descriptor } = parse(code, { sourceMap: false }));
|
|
219
|
+
} catch {
|
|
220
|
+
descriptor = null;
|
|
221
|
+
}
|
|
222
|
+
const ast = options.templateAst ?? descriptor?.template?.ast;
|
|
223
|
+
if (!ast) return [];
|
|
224
|
+
// Offsets are only trusted on the file's own template AST.
|
|
225
|
+
const ranged =
|
|
226
|
+
!options.templateAst || options.templateAst === descriptor?.template?.ast;
|
|
227
|
+
const arrays = options.arrays;
|
|
228
|
+
const aliases = libraryAliases(code);
|
|
229
|
+
const own = localBbImports(code, options.library);
|
|
230
|
+
const scriptOffset = descriptor?.scriptSetup?.loc.start.offset ?? 0;
|
|
231
|
+
const scriptLine = descriptor?.scriptSetup?.loc.start.line ?? 1;
|
|
232
|
+
const findings = [];
|
|
233
|
+
|
|
234
|
+
const itemsShape = (element) => {
|
|
235
|
+
for (const prop of element.props ?? []) {
|
|
236
|
+
if (prop.type !== PROP_DIRECTIVE || prop.name !== 'bind') continue;
|
|
237
|
+
if (!prop.arg?.isStatic || prop.arg.content !== 'items') continue;
|
|
238
|
+
const expression = parseExpression(prop.exp?.content ?? '');
|
|
239
|
+
return shapeOf(arrayOf(expression, arrays));
|
|
240
|
+
}
|
|
241
|
+
return null;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
const checkSurface = (element, component) => {
|
|
245
|
+
let shape;
|
|
246
|
+
for (const prop of element.props ?? []) {
|
|
247
|
+
let name;
|
|
248
|
+
let field;
|
|
249
|
+
if (prop.type === PROP_ATTRIBUTE) {
|
|
250
|
+
name = camel(prop.name);
|
|
251
|
+
field = prop.value?.content;
|
|
252
|
+
} else if (
|
|
253
|
+
prop.type === PROP_DIRECTIVE &&
|
|
254
|
+
prop.name === 'bind' &&
|
|
255
|
+
prop.arg?.isStatic
|
|
256
|
+
) {
|
|
257
|
+
name = camel(prop.arg.content);
|
|
258
|
+
if (!(name in DEFAULT_FIELDS)) continue;
|
|
259
|
+
field = stringValue(parseExpression(prop.exp?.content ?? ''));
|
|
260
|
+
}
|
|
261
|
+
if (!(name in DEFAULT_FIELDS) || field === undefined) continue;
|
|
262
|
+
shape ??= itemsShape(element);
|
|
263
|
+
if (!restatesDefault(name, field, shape)) continue;
|
|
264
|
+
const attr = code.slice(prop.loc.start.offset, prop.loc.end.offset);
|
|
265
|
+
findings.push({
|
|
266
|
+
component,
|
|
267
|
+
attr: prop.type === PROP_ATTRIBUTE ? prop.name : `:${prop.arg.content}`,
|
|
268
|
+
kind: 'redundant-item-accessor',
|
|
269
|
+
line: prop.loc.start.line,
|
|
270
|
+
message: REDUNDANT_ACCESSOR_MESSAGES.attr(
|
|
271
|
+
ranged ? attr : `${prop.name}="${field}"`,
|
|
272
|
+
field
|
|
273
|
+
),
|
|
274
|
+
hint: REDUNDANT_ACCESSOR_HINT,
|
|
275
|
+
severity: 'warning',
|
|
276
|
+
...(ranged
|
|
277
|
+
? {
|
|
278
|
+
range: [prop.loc.start.offset, prop.loc.end.offset],
|
|
279
|
+
edit: {
|
|
280
|
+
range: attrRemoval(
|
|
281
|
+
code,
|
|
282
|
+
prop.loc.start.offset,
|
|
283
|
+
prop.loc.end.offset
|
|
284
|
+
),
|
|
285
|
+
text: '',
|
|
286
|
+
},
|
|
287
|
+
}
|
|
288
|
+
: {}),
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
/** Groups inside a host's `items` array (script-side or inline). */
|
|
294
|
+
const checkGroups = (array, component, base) => {
|
|
295
|
+
for (const raw of array.elements) {
|
|
296
|
+
const entry = unwrap(raw);
|
|
297
|
+
if (entry?.type !== 'ObjectExpression') continue;
|
|
298
|
+
const itemsProp = propertyOf(entry, 'items');
|
|
299
|
+
const itemsValue =
|
|
300
|
+
itemsProp?.type === 'ObjectMethod'
|
|
301
|
+
? itemsProp
|
|
302
|
+
: unwrap(itemsProp?.value);
|
|
303
|
+
const isFunction =
|
|
304
|
+
itemsValue?.type === 'ObjectMethod' ||
|
|
305
|
+
itemsValue?.type === 'ArrowFunctionExpression' ||
|
|
306
|
+
itemsValue?.type === 'FunctionExpression';
|
|
307
|
+
const childArray = isFunction ? null : arrayOf(itemsValue, arrays);
|
|
308
|
+
const shape = isFunction ? null : shapeOf(childArray);
|
|
309
|
+
const mappers = ['itemText', 'itemValue']
|
|
310
|
+
.map((name) => ({ name, property: propertyOf(entry, name) }))
|
|
311
|
+
.filter((m) => m.property);
|
|
312
|
+
const redundant = mappers.filter(({ name, property }) => {
|
|
313
|
+
if (property.type !== 'ObjectProperty') return false;
|
|
314
|
+
const field = stringValue(property.value);
|
|
315
|
+
return field !== undefined && restatesDefault(name, field, shape);
|
|
316
|
+
});
|
|
317
|
+
const staysMapped =
|
|
318
|
+
isFunction ||
|
|
319
|
+
!!propertyOf(entry, 'itemProps') ||
|
|
320
|
+
!!propertyOf(entry, 'max') ||
|
|
321
|
+
mappers.length > redundant.length;
|
|
322
|
+
// An `items` identifier the file cannot see may be a function, or not.
|
|
323
|
+
if (redundant.length && staysMapped) {
|
|
324
|
+
for (const { name, property } of redundant) {
|
|
325
|
+
const field = stringValue(property.value);
|
|
326
|
+
findings.push({
|
|
327
|
+
component,
|
|
328
|
+
attr: name,
|
|
329
|
+
kind: 'redundant-item-accessor',
|
|
330
|
+
line: base.line + property.loc.start.line - 1,
|
|
331
|
+
message: REDUNDANT_ACCESSOR_MESSAGES.group(name, field),
|
|
332
|
+
hint: REDUNDANT_ACCESSOR_HINT,
|
|
333
|
+
severity: 'warning',
|
|
334
|
+
...(base.offset !== null
|
|
335
|
+
? {
|
|
336
|
+
range: [
|
|
337
|
+
base.offset + property.start,
|
|
338
|
+
base.offset + property.end,
|
|
339
|
+
],
|
|
340
|
+
edit: {
|
|
341
|
+
range: propertyRemoval(
|
|
342
|
+
code,
|
|
343
|
+
base.offset + property.start,
|
|
344
|
+
base.offset + property.end
|
|
345
|
+
),
|
|
346
|
+
text: '',
|
|
347
|
+
},
|
|
348
|
+
}
|
|
349
|
+
: {}),
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (childArray) checkGroups(childArray, component, base);
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
const seenArrays = new Set();
|
|
358
|
+
const checkHost = (element, component) => {
|
|
359
|
+
for (const prop of element.props ?? []) {
|
|
360
|
+
if (prop.type !== PROP_DIRECTIVE || prop.name !== 'bind') continue;
|
|
361
|
+
if (!prop.arg?.isStatic || prop.arg.content !== 'items') continue;
|
|
362
|
+
const content = prop.exp?.content ?? '';
|
|
363
|
+
const expression = parseExpression(content);
|
|
364
|
+
const value = unwrap(expression);
|
|
365
|
+
if (value?.type === 'Identifier') {
|
|
366
|
+
const array = arrayOf(value, arrays);
|
|
367
|
+
// A script const bound by two hosts is reported once.
|
|
368
|
+
if (!array || seenArrays.has(array)) continue;
|
|
369
|
+
seenArrays.add(array);
|
|
370
|
+
checkGroups(array, component, {
|
|
371
|
+
offset: ranged && descriptor?.scriptSetup ? scriptOffset : null,
|
|
372
|
+
line: scriptLine,
|
|
373
|
+
});
|
|
374
|
+
} else if (value?.type === 'ArrayExpression') {
|
|
375
|
+
// `(` was prepended to the expression before parsing.
|
|
376
|
+
const start = prop.exp.loc.start.offset - 1;
|
|
377
|
+
checkGroups(value, component, {
|
|
378
|
+
offset: ranged ? start : null,
|
|
379
|
+
line: prop.exp.loc.start.line,
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
const walk = (node) => {
|
|
386
|
+
if (!node || typeof node !== 'object') return;
|
|
387
|
+
if (node.type === NODE_ELEMENT && !own.has(node.tag)) {
|
|
388
|
+
const written = pascal(node.tag);
|
|
389
|
+
const component =
|
|
390
|
+
aliases.get(node.tag) ?? aliases.get(written) ?? written;
|
|
391
|
+
if (ACCESSOR_SURFACES.has(component)) checkSurface(node, component);
|
|
392
|
+
if (DROPDOWN_HOSTS.has(component)) checkHost(node, component);
|
|
393
|
+
}
|
|
394
|
+
for (const child of node.children ?? []) walk(child);
|
|
395
|
+
};
|
|
396
|
+
walk(ast);
|
|
397
|
+
return findings;
|
|
398
|
+
}
|