bitboss-ui 3.0.0-beta.63 → 3.0.0-beta.65
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 +25 -20
- package/bin/bitboss-ui.mjs +73 -7
- package/dist/ai/BbAlert.md +10 -1
- package/dist/ai/BbBadge.md +35 -3
- package/dist/ai/BbBadgeButton.md +4 -2
- package/dist/ai/BbBaseButton.md +9 -3
- package/dist/ai/BbBreadcrumbs.md +2 -2
- package/dist/ai/BbButton.md +113 -8
- package/dist/ai/BbCheckbox.md +1 -1
- package/dist/ai/BbCheckboxGroup.md +94 -6
- package/dist/ai/BbColorInput.md +4 -1
- package/dist/ai/BbColorPalette.md +2 -1
- package/dist/ai/BbConfirm.md +7 -3
- package/dist/ai/BbDatePicker.md +2 -1
- package/dist/ai/BbDatePickerInput.md +4 -1
- package/dist/ai/BbDialog.md +12 -11
- package/dist/ai/BbDropdown.md +189 -38
- package/dist/ai/BbDropdownButton.md +27 -7
- package/dist/ai/BbForm.md +55 -22
- package/dist/ai/BbHost.md +2 -2
- package/dist/ai/BbHoverCard.md +7 -3
- package/dist/ai/BbIcon.md +12 -6
- package/dist/ai/BbIndicator.md +11 -1
- package/dist/ai/BbNumberInput.md +4 -1
- package/dist/ai/BbOffCanvas.md +37 -3
- package/dist/ai/BbPopover.md +2 -1
- package/dist/ai/BbRadio.md +1 -1
- package/dist/ai/BbRadioGroup.md +102 -10
- package/dist/ai/BbSelect.md +52 -17
- package/dist/ai/BbSelectPopover.md +93 -26
- package/dist/ai/BbSwitch.md +1 -1
- package/dist/ai/BbSwitchGroup.md +30 -3
- package/dist/ai/BbTable.md +17 -10
- package/dist/ai/BbTabs.md +8 -3
- package/dist/ai/BbTabsList.md +4 -1
- package/dist/ai/BbTag.md +5 -2
- package/dist/ai/BbTextInput.md +4 -1
- package/dist/ai/BbTextarea.md +4 -1
- package/dist/ai/BbTimePicker.md +2 -1
- package/dist/ai/BbTimePickerInput.md +4 -1
- package/dist/ai/BbToast.md +9 -3
- package/dist/ai/BbTooltip.md +71 -9
- package/dist/ai/ChipsBox.md +1 -1
- package/dist/ai/CommonField.md +1 -1
- package/dist/ai/OptionsContainer.md +42 -0
- package/dist/ai/changelog.json +494 -6
- package/dist/ai/components.json +50 -48
- package/dist/ai/composables/useBbConfig.md +8 -1
- package/dist/ai/composables/useConfirm.md +39 -1
- package/dist/ai/design-tokens.json +6 -6
- package/dist/ai/guides/agent-contract.md +2 -2
- package/dist/ai/guides/ai-router.md +24 -23
- package/dist/ai/guides/app-layout.md +5 -0
- package/dist/ai/guides/component-picker.md +9 -2
- package/dist/ai/guides/design-language.md +24 -24
- package/dist/ai/guides/design-tokens.md +15 -8
- package/dist/ai/guides/icons-policy.md +9 -2
- package/dist/ai/guides/inertia-helpers.md +1183 -301
- package/dist/ai/guides/installation-and-plugin-setup.md +12 -2
- package/dist/ai/guides/migration/adoption-checklist.md +235 -0
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -15
- package/dist/ai/guides/migration/components/bb-dialog.md +9 -9
- package/dist/ai/guides/migration/components/bb-dropdown.md +7 -2
- package/dist/ai/guides/migration/components/bb-popover.md +4 -2
- package/dist/ai/guides/migration/components/bb-select.md +19 -0
- package/dist/ai/guides/migration/components/bb-table.md +1 -0
- package/dist/ai/guides/migration/components/bb-toast.md +4 -0
- package/dist/ai/guides/migration/components/bb-tooltip.md +15 -12
- package/dist/ai/guides/migration/components/use-confirm.md +25 -2
- package/dist/ai/guides/migration/v2-to-v3.md +211 -9
- package/dist/ai/guides/migration/v3-beta-css-classes.md +7 -3
- package/dist/ai/guides/options-items-playbook.md +2 -1
- package/dist/ai/guides/passthrough.md +149 -85
- package/dist/ai/guides/preset-components.md +140 -15
- package/dist/ai/helpers/definePreset.json +7 -0
- package/dist/ai/helpers/definePreset.ts +123 -11
- package/dist/ai/helpers/inertia/manifest.json +151 -62
- package/dist/ai/helpers/inertia/messages.ts +33 -0
- package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +120 -20
- package/dist/ai/helpers/inertia/useHasChanged.ts +34 -16
- package/dist/ai/helpers/inertia/useLazyProp.ts +102 -36
- package/dist/ai/helpers/inertia/useLazyPropGetter.ts +3 -1
- package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +154 -34
- package/dist/ai/helpers/inertia/usePromiseForm.ts +121 -14
- package/dist/ai/helpers/inertia/useQuery.ts +133 -11
- package/dist/ai/helpers/inertia/useQueryObject.ts +74 -67
- package/dist/ai/helpers/inertia/useResourceContext.ts +60 -14
- package/dist/ai/helpers/inertia/useRouteQuery.ts +38 -27
- package/dist/ai/helpers/inertia/useScreenSizes.ts +9 -7
- package/dist/ai/helpers/inertia/useTableContext.ts +5 -2
- package/dist/ai/helpers/inertia/utils.ts +14 -0
- package/dist/ai/index.md +1 -0
- package/dist/ai/manifest/common.json +0 -1
- package/dist/ai/manifest/components/BbAlert.json +7 -2
- package/dist/ai/manifest/components/BbBadge.json +13 -4
- package/dist/ai/manifest/components/BbBadge.tree.json +2 -0
- package/dist/ai/manifest/components/BbBadgeButton.json +4 -2
- package/dist/ai/manifest/components/BbBaseButton.json +4 -2
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
- package/dist/ai/manifest/components/BbButton.json +14 -3
- package/dist/ai/manifest/components/BbButton.tree.json +5 -1
- package/dist/ai/manifest/components/BbCheckboxGroup.json +13 -8
- package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +11 -1
- package/dist/ai/manifest/components/BbColorInput.json +18 -15
- package/dist/ai/manifest/components/BbColorPalette.json +1 -1
- package/dist/ai/manifest/components/BbConfirm.json +4 -2
- package/dist/ai/manifest/components/BbConfirm.tree.json +1 -1
- package/dist/ai/manifest/components/BbDatePicker.json +1 -1
- package/dist/ai/manifest/components/BbDatePickerInput.json +17 -14
- package/dist/ai/manifest/components/BbDialog.tree.json +2 -1
- package/dist/ai/manifest/components/BbDropdown.json +24 -19
- package/dist/ai/manifest/components/BbDropdown.tree.json +9 -2
- package/dist/ai/manifest/components/BbDropdownButton.json +33 -20
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +2 -2
- package/dist/ai/manifest/components/BbForm.json +2 -2
- package/dist/ai/manifest/components/BbHost.tree.json +1 -1
- package/dist/ai/manifest/components/BbHoverCard.json +1 -1
- package/dist/ai/manifest/components/BbIndicator.json +8 -2
- package/dist/ai/manifest/components/BbNumberInput.json +5 -2
- package/dist/ai/manifest/components/BbOffCanvas.json +2 -2
- package/dist/ai/manifest/components/BbOffCanvas.tree.json +1 -1
- package/dist/ai/manifest/components/BbPopover.json +1 -1
- package/dist/ai/manifest/components/BbRadioGroup.json +17 -12
- package/dist/ai/manifest/components/BbRadioGroup.tree.json +8 -1
- package/dist/ai/manifest/components/BbSelect.json +21 -18
- package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
- package/dist/ai/manifest/components/BbSelectPopover.json +10 -10
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +3 -2
- package/dist/ai/manifest/components/BbSwitchGroup.json +1 -1
- package/dist/ai/manifest/components/BbSwitchGroup.tree.json +3 -1
- package/dist/ai/manifest/components/BbTable.tree.json +14 -1
- package/dist/ai/manifest/components/BbTabs.json +9 -6
- package/dist/ai/manifest/components/BbTabs.tree.json +1 -1
- package/dist/ai/manifest/components/BbTabsList.json +6 -3
- package/dist/ai/manifest/components/BbTag.json +19 -16
- package/dist/ai/manifest/components/BbTag.tree.json +1 -1
- package/dist/ai/manifest/components/BbTextInput.json +6 -3
- package/dist/ai/manifest/components/BbTextarea.json +6 -3
- package/dist/ai/manifest/components/BbTimePicker.json +1 -1
- package/dist/ai/manifest/components/BbTimePickerInput.json +10 -7
- package/dist/ai/manifest/components/BbToast.json +7 -2
- package/dist/ai/manifest/components/BbToast.tree.json +4 -2
- package/dist/ai/manifest/components/BbTooltip.json +6 -5
- package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
- package/dist/ai/manifest/components/CommonField.json +1 -1
- package/dist/ai/manifest/components/OptionsContainer.json +3 -1
- package/dist/ai/manifest/components/OptionsContainer.tree.json +38 -0
- package/dist/ai/manifest/index.json +3 -3
- package/dist/ai/manifest/meta.json +5 -3
- package/dist/ai/manifest/types.advanced.json +5 -2
- package/dist/ai/manifest/types.api.json +9 -7
- package/dist/ai/recipes/inertia/approvals-inbox.md +1 -1
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +1 -1
- package/dist/ai/recipes/inertia/layout-scaffold.md +19 -6
- package/dist/ai/recipes/inertia/ownership-atlas.md +1 -1
- package/dist/ai/recipes/inertia/records-workspace.md +50 -14
- package/dist/ai/recipes/inertia/upload-center.md +1 -1
- package/dist/ai/recipes/nuxt/layout-scaffold.md +19 -6
- package/dist/ai/recipes/nuxt/records-workspace.md +42 -12
- package/dist/ai/recipes/vue/layout-scaffold.md +19 -6
- package/dist/ai/recipes/vue/records-workspace.md +42 -12
- package/dist/ai/source/BbAlert.md +94 -76
- package/dist/ai/source/BbBadge.md +174 -72
- package/dist/ai/source/BbBadgeButton.md +130 -65
- package/dist/ai/source/BbBaseButton.md +46 -124
- package/dist/ai/source/BbBaseCheckboxIcon.md +38 -0
- package/dist/ai/source/BbBaseRadioIcon.md +18 -0
- package/dist/ai/source/BbBaseSwitchIcon.md +51 -0
- package/dist/ai/source/BbButton.md +153 -36
- package/dist/ai/source/BbCheckboxGroup.md +142 -18
- package/dist/ai/source/BbColorInput.md +240 -204
- package/dist/ai/source/BbColorPalette.md +7 -4
- package/dist/ai/source/BbConfirm.md +34 -11
- package/dist/ai/source/BbConfirmPortal.md +24 -9
- package/dist/ai/source/BbDatePicker.md +11 -7
- package/dist/ai/source/BbDatePickerInput.md +306 -269
- package/dist/ai/source/BbDialog.md +49 -14
- package/dist/ai/source/BbDropdown.md +314 -197
- package/dist/ai/source/BbDropdownButton.md +197 -31
- package/dist/ai/source/BbDropdownGroup.md +274 -176
- package/dist/ai/source/BbForm.md +50 -6
- package/dist/ai/source/BbHoverCard.md +12 -5
- package/dist/ai/source/BbIcon.md +4 -3
- package/dist/ai/source/BbIndicator.md +73 -52
- package/dist/ai/source/BbNumberInput.md +293 -257
- package/dist/ai/source/BbOffCanvas.md +55 -29
- package/dist/ai/source/BbPopover.md +14 -10
- package/dist/ai/source/BbRadioGroup.md +413 -297
- package/dist/ai/source/BbSelect.md +549 -435
- package/dist/ai/source/BbSelectPopover.md +153 -34
- package/dist/ai/source/BbSwitchGroup.md +70 -10
- package/dist/ai/source/BbTable.md +369 -37
- package/dist/ai/source/BbTabs.md +115 -39
- package/dist/ai/source/BbTabsList.md +106 -38
- package/dist/ai/source/BbTabsPanels.md +96 -36
- package/dist/ai/source/BbTabsRoot.md +96 -36
- package/dist/ai/source/BbTag.md +267 -233
- package/dist/ai/source/BbTextInput.md +261 -225
- package/dist/ai/source/BbTextarea.md +251 -215
- package/dist/ai/source/BbTimePicker.md +11 -7
- package/dist/ai/source/BbTimePickerInput.md +257 -220
- package/dist/ai/source/BbToast.md +73 -32
- package/dist/ai/source/BbToastPortal.md +65 -30
- package/dist/ai/source/BbTooltip.md +148 -113
- package/dist/ai/source/CommonPopover.md +6 -1
- package/dist/ai/source/FlatListBox.md +19 -9
- package/dist/ai/source/GroupedListBox.md +19 -9
- package/dist/ai/source/OptionsContainer.md +25 -9
- package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +61 -36
- package/dist/components/BbAlert/types.d.ts +9 -5
- package/dist/components/BbAlert/types.js +8 -3
- package/dist/components/BbBadge/BadgeBodyContent.vue.d.ts +3 -3
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +26 -17
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +103 -50
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +20 -15
- package/dist/components/BbBadge/badgeButtonContext.d.ts +12 -1
- package/dist/components/BbBadge/types.d.ts +45 -15
- package/dist/components/BbBadge/types.js +12 -3
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +89 -126
- package/dist/components/BbBaseButton/types.d.ts +23 -4
- package/dist/components/BbBaseButton/types.js +7 -1
- package/dist/components/BbBaseButton/useLinkState.d.ts +41 -0
- package/dist/components/BbBaseButton/useLinkState.js +70 -0
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +130 -74
- package/dist/components/BbButton/types.d.ts +50 -13
- package/dist/components/BbButton/types.js +10 -3
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +148 -95
- package/dist/components/BbCheckboxGroup/types.d.ts +34 -11
- package/dist/components/BbCheckboxGroup/types.js +9 -4
- package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +1 -1
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +134 -93
- package/dist/components/BbColorInput/types.d.ts +11 -4
- package/dist/components/BbColorInput/types.js +9 -3
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +82 -59
- package/dist/components/BbConfirm/types.d.ts +9 -4
- package/dist/components/BbConfirm/types.js +8 -3
- package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +1 -1
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +68 -67
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +1 -1
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +259 -215
- package/dist/components/BbDatePickerInput/types.d.ts +12 -5
- package/dist/components/BbDatePickerInput/types.js +9 -3
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +223 -219
- package/dist/components/BbDialog/useDialogStack.d.ts +1 -1
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +104 -89
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +1 -0
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +323 -285
- package/dist/components/BbDropdown/BbDropdownList.vue.d.ts +1 -0
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +411 -319
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +100 -98
- package/dist/components/BbDropdown/DropdownRow.vue.d.ts +4 -3
- package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +49 -28
- package/dist/components/BbDropdown/normalizeGroups.d.ts +6 -0
- package/dist/components/BbDropdown/normalizeGroups.js +21 -15
- package/dist/components/BbDropdown/types.d.ts +59 -12
- package/dist/components/BbDropdown/types.js +16 -3
- package/dist/components/BbDropdown/useDropdownContext.d.ts +6 -0
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +2 -1
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +179 -68
- package/dist/components/BbDropdownButton/types.d.ts +44 -16
- package/dist/components/BbDropdownButton/types.js +28 -3
- package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +111 -89
- package/dist/components/BbForm/formSchema.d.ts +13 -0
- package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +100 -100
- package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +40 -25
- package/dist/components/BbIndicator/types.d.ts +9 -5
- package/dist/components/BbIndicator/types.js +8 -3
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +243 -202
- package/dist/components/BbNumberInput/types.d.ts +12 -5
- package/dist/components/BbNumberInput/types.js +9 -3
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +401 -399
- package/dist/components/BbOffCanvas/types.d.ts +6 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +81 -80
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +158 -105
- package/dist/components/BbRadioGroup/types.d.ts +21 -7
- package/dist/components/BbRadioGroup/types.js +9 -4
- package/dist/components/BbSelect/BbSelect.vue.d.ts +4 -3
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +181 -137
- package/dist/components/BbSelect/types.d.ts +36 -22
- package/dist/components/BbSelect/types.js +22 -3
- package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +4 -4
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +600 -577
- package/dist/components/BbSelectPopover/knownItems.d.ts +5 -0
- package/dist/components/BbSelectPopover/types.d.ts +46 -12
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbSwitchGroup/types.d.ts +14 -4
- package/dist/components/BbSwitchGroup/types.js +8 -3
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1102 -995
- package/dist/components/BbTable/estimatedFloors.golden.d.ts +25 -0
- package/dist/components/BbTable/measuredFloors.d.ts +46 -0
- package/dist/components/BbTable/measuredFloors.js +322 -0
- package/dist/components/BbTable/measuredFloorsTestKit.d.ts +27 -0
- package/dist/components/BbTable/textRuler.d.ts +71 -0
- package/dist/components/BbTable/textRuler.js +121 -0
- package/dist/components/BbTable/utils.d.ts +113 -6
- package/dist/components/BbTable/utils.js +118 -65
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +53 -35
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +62 -45
- package/dist/components/BbTabs/types.d.ts +26 -11
- package/dist/components/BbTabs/types.js +23 -8
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +205 -164
- package/dist/components/BbTag/types.d.ts +11 -4
- package/dist/components/BbTag/types.js +9 -3
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +98 -57
- package/dist/components/BbTextInput/types.d.ts +12 -5
- package/dist/components/BbTextInput/types.js +9 -3
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +137 -96
- package/dist/components/BbTextarea/types.d.ts +12 -5
- package/dist/components/BbTextarea/types.js +9 -3
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +105 -104
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +241 -197
- package/dist/components/BbTimePickerInput/types.d.ts +12 -5
- package/dist/components/BbTimePickerInput/types.js +9 -3
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +74 -32
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +47 -47
- package/dist/components/BbToast/types.d.ts +10 -5
- package/dist/components/BbToast/types.js +18 -3
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +85 -71
- package/dist/components/BbTooltip/types.d.ts +13 -8
- package/dist/components/BbTooltip/types.js +8 -3
- package/dist/components/CommonField/CommonField.vue.d.ts +1 -1
- package/dist/components/CommonPopover/CommonPopover.vue.d.ts +1 -1
- package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +69 -69
- package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +53 -50
- package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +146 -143
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +7 -2
- package/dist/components/OptionsContainer/types.d.ts +14 -3
- package/dist/composables/useBbConfig.d.ts +1 -0
- package/dist/composables/useBbConfig.js +11 -7
- package/dist/composables/useBbFormContext.d.ts +4 -3
- package/dist/composables/useBbTabsContext.js +99 -85
- package/dist/composables/useChoiceIndicator.d.ts +58 -0
- package/dist/composables/useChoiceIndicator.js +197 -0
- package/dist/composables/useConfirm.d.ts +4 -4
- package/dist/composables/usePassthrough.d.ts +54 -1
- package/dist/composables/usePassthrough.js +100 -71
- package/dist/directives/bbTooltip.d.ts +12 -6
- package/dist/directives/createPopoverDirective.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/llms-full.txt +3467 -801
- package/dist/llms-medium.txt +71 -53
- package/dist/llms.txt +2 -1
- package/dist/passthrough-deduper.js +6 -3
- package/dist/project-dts.d.ts +24 -0
- package/dist/project-dts.js +43 -17
- package/dist/styles.css +2 -2
- package/dist/types/AlertVariant.d.ts +14 -0
- package/dist/types/AlertVariant.js +9 -0
- package/dist/types/BadgeVariant.d.ts +14 -0
- package/dist/types/BadgeVariant.js +9 -0
- package/dist/types/ButtonVariant.d.ts +16 -0
- package/dist/types/ButtonVariant.js +11 -0
- package/dist/types/CheckboxVariant.d.ts +38 -0
- package/dist/types/CheckboxVariant.js +4 -0
- package/dist/types/CommonProps.d.ts +4 -3
- package/dist/types/Config.d.ts +7 -0
- package/dist/types/ConfirmVariant.d.ts +12 -0
- package/dist/types/ConfirmVariant.js +4 -0
- package/dist/types/DropdownItemVariant.d.ts +12 -0
- package/dist/types/DropdownItemVariant.js +4 -0
- package/dist/types/IndicatorVariant.d.ts +15 -0
- package/dist/types/IndicatorVariant.js +10 -0
- package/dist/types/InputVariant.d.ts +13 -0
- package/dist/types/InputVariant.js +8 -0
- package/dist/types/RadioVariant.d.ts +38 -0
- package/dist/types/RadioVariant.js +4 -0
- package/dist/types/TabsVariant.d.ts +13 -0
- package/dist/types/TabsVariant.js +8 -0
- package/dist/types/ToastVariant.d.ts +15 -0
- package/dist/types/ToastVariant.js +10 -0
- package/dist/types/TooltipVariant.d.ts +12 -0
- package/dist/types/TooltipVariant.js +4 -0
- package/dist/types/passthrough.d.ts +83 -15
- package/dist/types/passthrough.js +2 -2
- package/dist/types/ptComponentMap.d.ts +35 -23
- package/dist/utilities/functions/extractDomContainer.d.ts +20 -1
- package/dist/utilities/functions/extractDomContainer.js +8 -3
- package/dist/utils/focusVisibility.d.ts +6 -0
- package/dist/utils/focusVisibility.js +4 -1
- package/dist/utils/passthroughDeduper.d.ts +14 -0
- package/dist/utils/versionCheck.js +1 -1
- package/dist/vite-plugin.d.ts +64 -7
- package/dist/vite.js +385 -259
- package/llms.txt +2 -1
- package/package.json +5 -4
- package/scripts/lib/adoption-checklist.json +312 -0
- package/scripts/lib/eslint-plugin.d.ts +13 -0
- package/scripts/lib/eslint-plugin.mjs +75 -11
- package/scripts/lib/helpers-add.mjs +26 -2
- package/scripts/lib/idiom-scan.mjs +65 -0
- package/scripts/lib/mcp-config.mjs +203 -9
- package/scripts/lib/migrate-fix.mjs +42 -1
- package/scripts/lib/project-variant-dts.mjs +18 -0
- package/scripts/lib/validate-bb-markup.mjs +99 -2
|
@@ -175,6 +175,7 @@ import {
|
|
|
175
175
|
formControlPtActive,
|
|
176
176
|
TEXT_CONTROL_NATIVE_ATTRS,
|
|
177
177
|
usePassthrough,
|
|
178
|
+
variantPt,
|
|
178
179
|
} from '@/composables/usePassthrough';
|
|
179
180
|
import { clamp } from '@/utilities/functions/clamp';
|
|
180
181
|
import { clampPrecision } from '@/utilities/functions/clampPrecision';
|
|
@@ -213,7 +214,11 @@ import {
|
|
|
213
214
|
type BbNumberInputSlots,
|
|
214
215
|
} from './types';
|
|
215
216
|
|
|
216
|
-
defineOptions({
|
|
217
|
+
defineOptions({
|
|
218
|
+
// An app's own variants as declared `pt:<part>:<name>` props (Q76.7).
|
|
219
|
+
mixins: [variantPt(BB_NUMBER_INPUT_PT)],
|
|
220
|
+
inheritAttrs: false,
|
|
221
|
+
});
|
|
217
222
|
// `min` / `max` / `step` drive the clamp and step math and `aria-valuemin` /
|
|
218
223
|
// `aria-valuemax` (the SAFE_INTEGER sentinels stay silent), so they are
|
|
219
224
|
// defaulted here, before anything reads them. `maxPrecision` / `minPrecision`
|
|
@@ -278,6 +283,11 @@ const passthrough = usePassthrough({
|
|
|
278
283
|
parts: BB_NUMBER_INPUT_PT.parts,
|
|
279
284
|
states: BB_NUMBER_INPUT_PT.states,
|
|
280
285
|
active: formControlPtActive(props, () => hasValue.value),
|
|
286
|
+
variant: {
|
|
287
|
+
...BB_NUMBER_INPUT_PT.variant,
|
|
288
|
+
// CommonFieldInput's default.
|
|
289
|
+
current: () => props.variant ?? 'outline',
|
|
290
|
+
},
|
|
281
291
|
});
|
|
282
292
|
|
|
283
293
|
const input = ref<HTMLInputElement | null>(null);
|
|
@@ -1327,7 +1337,12 @@ watch([symbols, shownMinPrecision, maxPrecision, legacy, affix], () => {
|
|
|
1327
1337
|
|
|
1328
1338
|
```ts
|
|
1329
1339
|
import type { Responsive } from '@/types/ResponsiveSize';
|
|
1330
|
-
import
|
|
1340
|
+
import {
|
|
1341
|
+
INPUT_VARIANTS,
|
|
1342
|
+
type InputVariantBuiltIn,
|
|
1343
|
+
type InputVariantRegistry,
|
|
1344
|
+
type InputVariantType,
|
|
1345
|
+
} from '@/types/InputVariant';
|
|
1331
1346
|
import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
1332
1347
|
import type { FieldCrossAlign, FieldLayout } from '@/types/FieldLayout';
|
|
1333
1348
|
import type { IconType } from '@/types/Icon';
|
|
@@ -1338,6 +1353,7 @@ import {
|
|
|
1338
1353
|
type PtMap,
|
|
1339
1354
|
type PtValue,
|
|
1340
1355
|
type TextControlPtPart,
|
|
1356
|
+
type PtVariantAttrs,
|
|
1341
1357
|
} from '@/types/passthrough';
|
|
1342
1358
|
import type { FormFieldProps } from '@/composables/useFormBinding';
|
|
1343
1359
|
import type { CommonFieldAsteriskSlotProps } from '../CommonField/types';
|
|
@@ -1358,7 +1374,19 @@ export type BbNumberInputPtState = FormControlPtState;
|
|
|
1358
1374
|
export const BB_NUMBER_INPUT_PT = {
|
|
1359
1375
|
parts: TEXT_CONTROL_PT_PARTS,
|
|
1360
1376
|
states: FORM_CONTROL_PT_STATES,
|
|
1377
|
+
// The input `variant` is a state on the field's parts (Q76.7), below
|
|
1378
|
+
// the real states; a picker's panel and rows are not the field's.
|
|
1379
|
+
variant: {
|
|
1380
|
+
names: INPUT_VARIANTS,
|
|
1381
|
+
option: 'inputVariants',
|
|
1382
|
+
parts: TEXT_CONTROL_PT_PARTS,
|
|
1383
|
+
},
|
|
1361
1384
|
} as const satisfies {
|
|
1385
|
+
variant: {
|
|
1386
|
+
names: readonly InputVariantBuiltIn[];
|
|
1387
|
+
option: string;
|
|
1388
|
+
parts: readonly TextControlPtPart[];
|
|
1389
|
+
};
|
|
1362
1390
|
parts: readonly BbNumberInputPtPart[];
|
|
1363
1391
|
states: readonly BbNumberInputPtState[];
|
|
1364
1392
|
};
|
|
@@ -1431,261 +1459,269 @@ export type BbNumberUnit = BbNumberSimpleUnit | `${string}-per-${string}`;
|
|
|
1431
1459
|
export type BbNumberInputProps = {
|
|
1432
1460
|
[K in
|
|
1433
1461
|
| `pt:${BbNumberInputPtPart}`
|
|
1434
|
-
| `pt:${BbNumberInputPtPart}:${BbNumberInputPtState}`
|
|
1435
|
-
}
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1462
|
+
| `pt:${BbNumberInputPtPart}:${BbNumberInputPtState}`
|
|
1463
|
+
| `pt:${TextControlPtPart}:${InputVariantBuiltIn}`]?: PtValue;
|
|
1464
|
+
} & /* @vue-ignore */ PtVariantAttrs<
|
|
1465
|
+
TextControlPtPart,
|
|
1466
|
+
keyof InputVariantRegistry
|
|
1467
|
+
> & {
|
|
1468
|
+
/**
|
|
1469
|
+
* Passthrough, object form: `{ box: '…', 'box:errors': '…' }` — the same
|
|
1470
|
+
* keys as the `pt:*` attributes without the prefix. See the `pt:<part>` row.
|
|
1471
|
+
*/
|
|
1472
|
+
/* eslint-disable @typescript-eslint/consistent-indexed-object-style -- mapped, never Record (T23) */
|
|
1473
|
+
pt?: PtMap<BbNumberInputPtPart, BbNumberInputPtState> & {
|
|
1474
|
+
[K in `${TextControlPtPart}:${InputVariantBuiltIn | keyof InputVariantRegistry}`]?: PtValue;
|
|
1475
|
+
};
|
|
1476
|
+
/* eslint-enable @typescript-eslint/consistent-indexed-object-style */
|
|
1477
|
+
/**
|
|
1478
|
+
* Name of the icon to be added at the end of the input.
|
|
1479
|
+
*/
|
|
1480
|
+
|
|
1481
|
+
'append:icon'?: IconType;
|
|
1482
|
+
/**
|
|
1483
|
+
* Guides the browser as to the type of information expected in the field.
|
|
1484
|
+
*
|
|
1485
|
+
* @defaultValue `'off'`
|
|
1486
|
+
*/
|
|
1487
|
+
autocomplete?: InputHTMLAttributes['autocomplete'];
|
|
1488
|
+
|
|
1489
|
+
/**
|
|
1490
|
+
* Focuses the field when it mounts (a dialog already open included), unless the user is typing in another field.
|
|
1491
|
+
*/
|
|
1492
|
+
autofocus?: InputHTMLAttributes['autofocus'];
|
|
1493
|
+
|
|
1494
|
+
/**
|
|
1495
|
+
* Displays a clear button when the input has a value and is being interacted with.
|
|
1496
|
+
*/
|
|
1497
|
+
clearable?: boolean;
|
|
1498
|
+
|
|
1499
|
+
/**
|
|
1500
|
+
* Compact density: the field uses the `-compact` twins of `--bb-input-h`,
|
|
1501
|
+
* `--bb-input-py` and `--bb-label-spacing-y`, so a `--bb-input-h` set on
|
|
1502
|
+
* the component is ignored while it is on. Size a compact field with
|
|
1503
|
+
* `--bb-input-h-compact` (and `--bb-input-py-compact`).
|
|
1504
|
+
*/
|
|
1505
|
+
compact?: boolean;
|
|
1506
|
+
|
|
1507
|
+
/**
|
|
1508
|
+
* An ISO 4217 code (`'EUR'`): the amount shows the locale's way, symbol
|
|
1509
|
+
* inside the text (`1.234,56 €`), leaving `#prefix` / `#suffix` free; the
|
|
1510
|
+
* model is the number. Decimals default to the currency's; `minPrecision` /
|
|
1511
|
+
* `maxPrecision` win. Not with `unit`.
|
|
1512
|
+
*/
|
|
1513
|
+
currency?: string;
|
|
1514
|
+
|
|
1515
|
+
/**
|
|
1516
|
+
* The field box's look, with `BbButton`'s names and tokens. Colours only,
|
|
1517
|
+
* so a form never reflows; `'ghost'` has no border in any state, `'none'`
|
|
1518
|
+
* no look at all (you own hover, focus and the states). Register more with
|
|
1519
|
+
* the plugin's `inputVariants`.
|
|
1520
|
+
*
|
|
1521
|
+
* @defaultValue `'outline'`
|
|
1522
|
+
*/
|
|
1523
|
+
variant?: InputVariantType;
|
|
1524
|
+
|
|
1525
|
+
/**
|
|
1526
|
+
* Text between the label and the input. Unlike the hint it is always
|
|
1527
|
+
* visible; it joins the input's `aria-describedby` after any `errors` /
|
|
1528
|
+
* `warnings`, before the `hint`.
|
|
1529
|
+
*/
|
|
1530
|
+
description?: string;
|
|
1531
|
+
|
|
1532
|
+
/**
|
|
1533
|
+
* How label and input sit together: `'vertical'`, `'horizontal'` (50/50),
|
|
1534
|
+
* `'auto'`, `'label-fill'`, `'input-fill'`, a ratio like `'xx xxxxx'`, or a
|
|
1535
|
+
* per-breakpoint map (`{ default: 'vertical', md: 'xx xxxxx' }`).
|
|
1536
|
+
*/
|
|
1537
|
+
layout?: Responsive<FieldLayout>;
|
|
1538
|
+
|
|
1539
|
+
/**
|
|
1540
|
+
* Vertical position of the label block in a side-by-side row; not
|
|
1541
|
+
* `labelPosition`, the horizontal one. Omitted, the label's first line
|
|
1542
|
+
* meets the control's.
|
|
1543
|
+
*/
|
|
1544
|
+
labelAlign?: FieldCrossAlign;
|
|
1545
|
+
|
|
1546
|
+
/**
|
|
1547
|
+
* Vertical position of the control in a side-by-side row; not
|
|
1548
|
+
* `inputPosition`, the horizontal one. Omitted, the control's first line
|
|
1549
|
+
* meets the label's.
|
|
1550
|
+
*/
|
|
1551
|
+
inputAlign?: FieldCrossAlign;
|
|
1552
|
+
|
|
1553
|
+
/**
|
|
1554
|
+
* Disables the component.
|
|
1555
|
+
*/
|
|
1556
|
+
disabled?: boolean;
|
|
1557
|
+
|
|
1558
|
+
/**
|
|
1559
|
+
* Error messages under the field, a string or array, in an
|
|
1560
|
+
* `aria-live="polite"` region and first in the control's
|
|
1561
|
+
* `aria-describedby`, so they are re-read when it regains focus.
|
|
1562
|
+
*/
|
|
1563
|
+
errors?: string | string[];
|
|
1564
|
+
|
|
1565
|
+
/**
|
|
1566
|
+
* Define if the component should be in an error state.
|
|
1567
|
+
* It usually attaches a CSS class for styling purposes.
|
|
1568
|
+
*/
|
|
1569
|
+
hasErrors?: boolean;
|
|
1570
|
+
|
|
1571
|
+
/**
|
|
1572
|
+
* Warning messages under the field, a string or array: amber, in their own
|
|
1573
|
+
* `aria-live` region and in the control's `aria-describedby` after the
|
|
1574
|
+
* errors. Non-empty turns on the warning state; errors win when both are
|
|
1575
|
+
* set.
|
|
1576
|
+
*/
|
|
1577
|
+
warnings?: string | string[];
|
|
1578
|
+
|
|
1579
|
+
/**
|
|
1580
|
+
* Define if the component should be in a warning state.
|
|
1581
|
+
* Same chrome as errors with `--bb-warn`; errors take priority.
|
|
1582
|
+
*/
|
|
1583
|
+
hasWarnings?: boolean;
|
|
1584
|
+
|
|
1585
|
+
/**
|
|
1586
|
+
* Visually hides the label of the input while maintaining accessibility.
|
|
1587
|
+
*/
|
|
1588
|
+
hideLabel?: boolean;
|
|
1589
|
+
|
|
1590
|
+
/**
|
|
1591
|
+
* Text box to be displayed near the input, usually to indicate instructions.
|
|
1592
|
+
*/
|
|
1593
|
+
hint?: string;
|
|
1594
|
+
|
|
1595
|
+
/**
|
|
1596
|
+
* The `id` of the native control; the label's `for` and the description
|
|
1597
|
+
* and message ids derive from it. Generated when omitted.
|
|
1598
|
+
*/
|
|
1599
|
+
id?: HTMLAttributes['id'];
|
|
1600
|
+
|
|
1601
|
+
/**
|
|
1602
|
+
* Text content of the label of the element.
|
|
1603
|
+
*/
|
|
1604
|
+
label: string;
|
|
1605
|
+
|
|
1606
|
+
/**
|
|
1607
|
+
* Sets the text alignment of the label.
|
|
1608
|
+
*/
|
|
1609
|
+
labelPosition?: 'left' | 'center' | 'right';
|
|
1610
|
+
|
|
1611
|
+
/**
|
|
1612
|
+
* Label rendering mode.
|
|
1613
|
+
*/
|
|
1614
|
+
labelMode?: 'outside' | 'floating' | 'inside';
|
|
1615
|
+
|
|
1616
|
+
/**
|
|
1617
|
+
* Sets the component in a loading state, usually triggering some visual styles.
|
|
1618
|
+
*/
|
|
1619
|
+
loading?: boolean;
|
|
1620
|
+
|
|
1621
|
+
/**
|
|
1622
|
+
* Maximum value cap.
|
|
1623
|
+
*
|
|
1624
|
+
* @defaultValue `Number.MAX_SAFE_INTEGER`
|
|
1625
|
+
*/
|
|
1626
|
+
max?: number;
|
|
1627
|
+
|
|
1628
|
+
/**
|
|
1629
|
+
* Maximum precision of the number: fraction digits past it are refused as
|
|
1630
|
+
* typed (never rounded). With `currency`, the currency's own digits (`2`
|
|
1631
|
+
* for EUR, `0` for JPY, `3` for KWD), or `minPrecision` when that is larger.
|
|
1632
|
+
*
|
|
1633
|
+
* @defaultValue `8`
|
|
1634
|
+
*/
|
|
1635
|
+
maxPrecision?: number;
|
|
1636
|
+
|
|
1637
|
+
/**
|
|
1638
|
+
* Fraction digits always shown (`2`: `1` shows `1,00`), also while typing,
|
|
1639
|
+
* where the padding zeros are placeholders; the model stays the number.
|
|
1640
|
+
* Above `maxPrecision` it gives way. Applies with `disableFormatting` too.
|
|
1641
|
+
* With `currency`: the currency's own digits.
|
|
1642
|
+
*
|
|
1643
|
+
* @defaultValue `0`
|
|
1644
|
+
*/
|
|
1645
|
+
minPrecision?: number;
|
|
1646
|
+
|
|
1647
|
+
/**
|
|
1648
|
+
* Shows the number as typed (period decimal, no grouping), with `name` on
|
|
1649
|
+
* the visible input. Without it the field formats the locale's way while
|
|
1650
|
+
* typing (`10.005,6`) and posts the raw value (`10005.6`) through a hidden
|
|
1651
|
+
* input carrying `name`.
|
|
1652
|
+
*
|
|
1653
|
+
* @defaultValue `false`
|
|
1654
|
+
*/
|
|
1655
|
+
disableFormatting?: boolean;
|
|
1656
|
+
|
|
1657
|
+
/**
|
|
1658
|
+
* Minimum value cap. Applied on blur and on Enter (before a surrounding
|
|
1659
|
+
* form submits), not while typing, so a value above a `min` greater than 1
|
|
1660
|
+
* can be typed digit by digit.
|
|
1661
|
+
*
|
|
1662
|
+
* @defaultValue `Number.MIN_SAFE_INTEGER`
|
|
1663
|
+
*/
|
|
1664
|
+
min?: number;
|
|
1665
|
+
|
|
1666
|
+
/**
|
|
1667
|
+
* Used by v-model.
|
|
1668
|
+
*
|
|
1669
|
+
* @defaultValue `null`
|
|
1670
|
+
*/
|
|
1671
|
+
modelValue?: number | string | null;
|
|
1672
|
+
|
|
1673
|
+
/**
|
|
1674
|
+
* Defines the name of the input.
|
|
1675
|
+
*/
|
|
1676
|
+
name?: InputHTMLAttributes['name'];
|
|
1677
|
+
|
|
1678
|
+
/**
|
|
1679
|
+
* Keeps the hint displayed.
|
|
1680
|
+
*/
|
|
1681
|
+
persistentHint?: boolean;
|
|
1682
|
+
|
|
1683
|
+
/**
|
|
1684
|
+
* Text shown while the field is empty.
|
|
1685
|
+
*/
|
|
1686
|
+
placeholder?: InputHTMLAttributes['placeholder'];
|
|
1687
|
+
|
|
1688
|
+
/**
|
|
1689
|
+
* Name of the icon to be added at the start of the input.
|
|
1690
|
+
*/
|
|
1691
|
+
|
|
1692
|
+
'prepend:icon'?: IconType;
|
|
1693
|
+
|
|
1694
|
+
/**
|
|
1695
|
+
* Sets the input in a readonly state.
|
|
1696
|
+
*/
|
|
1697
|
+
readonly?: boolean;
|
|
1698
|
+
|
|
1699
|
+
/**
|
|
1700
|
+
* Marks the input required (asterisk, aria-required, native validation in a plain form). Inside a BbForm it is not enforced; use rules="required" or the schema.
|
|
1701
|
+
*/
|
|
1702
|
+
required?: boolean;
|
|
1703
|
+
|
|
1704
|
+
/**
|
|
1705
|
+
* Reverses the layout. Applicable in every direction the order of the label and the input is swapped.
|
|
1706
|
+
*/
|
|
1707
|
+
reverse?: boolean;
|
|
1708
|
+
|
|
1709
|
+
/**
|
|
1710
|
+
* Incremental unit used by ArrowUp / ArrowDown and by the `increase` and `decrease` functions the slots receive.
|
|
1711
|
+
* It is NOT applied to manual input as a step of 5 would prevent the user from inserting a value like `115` because of rounding down.
|
|
1712
|
+
*
|
|
1713
|
+
* @defaultValue `1`
|
|
1714
|
+
*/
|
|
1715
|
+
step?: number;
|
|
1716
|
+
|
|
1717
|
+
/**
|
|
1718
|
+
* A unit `Intl.NumberFormat` knows (`'kilogram'`, `'celsius'`,
|
|
1719
|
+
* `'percent'`), shown the locale's way inside the text (`20 kg`). The model
|
|
1720
|
+
* is the number you see: `percent` showing `15 %` holds `15`. Not with
|
|
1721
|
+
* `currency` (which wins).
|
|
1722
|
+
*/
|
|
1723
|
+
unit?: BbNumberUnit;
|
|
1724
|
+
} & FormFieldProps<number | string | null>;
|
|
1689
1725
|
|
|
1690
1726
|
export type BbNumberInputEvents = {
|
|
1691
1727
|
/**
|