bitboss-ui 3.0.0-beta.47 → 3.0.0-beta.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -7
- package/bin/bitboss-ui-mcp.mjs +15 -3
- package/bin/bitboss-ui.mjs +167 -14
- package/dist/ai/BbAccordion.md +1 -1
- package/dist/ai/BbAvatar.md +1 -1
- package/dist/ai/BbBreadcrumbs.md +65 -65
- package/dist/ai/BbButton.md +28 -8
- package/dist/ai/BbCheckbox.md +0 -2
- package/dist/ai/BbCheckboxGroup.md +13 -20
- package/dist/ai/BbCollapsible.md +1 -1
- package/dist/ai/BbColorPalette.md +1 -1
- package/dist/ai/BbConfirm.md +8 -0
- package/dist/ai/BbConfirmPortal.md +1 -1
- package/dist/ai/BbDatePickerInput.md +4 -2
- package/dist/ai/BbDialog.md +1 -8
- package/dist/ai/BbDropdown.md +231 -220
- package/dist/ai/BbDropdownButton.md +65 -65
- package/dist/ai/BbDropdownGroup.md +2 -2
- package/dist/ai/BbDropzone.md +10 -10
- package/dist/ai/BbForm.md +43 -52
- package/dist/ai/BbHoverCard.md +19 -7
- package/dist/ai/BbHoverCardPortal.md +1 -1
- package/dist/ai/BbNumberInput.md +88 -21
- package/dist/ai/BbPopover.md +47 -40
- package/dist/ai/BbPopoverPortal.md +1 -1
- package/dist/ai/BbProgress.md +48 -22
- package/dist/ai/BbRadioGroup.md +13 -19
- package/dist/ai/BbSelect.md +16 -36
- package/dist/ai/BbSelectPopover.md +14 -30
- package/dist/ai/BbSmoothHeight.md +0 -2
- package/dist/ai/BbSwitchGroup.md +13 -20
- package/dist/ai/BbTable.md +11 -10
- package/dist/ai/BbTabs.md +107 -106
- package/dist/ai/BbTabsList.md +2 -2
- package/dist/ai/BbTabsPanels.md +1 -1
- package/dist/ai/BbTabsRoot.md +3 -3
- package/dist/ai/BbTooltip.md +29 -13
- package/dist/ai/BbTree.md +14 -11
- package/dist/ai/CommonPopover.md +1 -1
- package/dist/ai/changelog.json +297 -6
- package/dist/ai/components.json +50 -45
- package/dist/ai/composables/useBbDropdownContext.md +16 -16
- package/dist/ai/composables/useBbFormField.md +5 -1
- package/dist/ai/composables/useBbTabsContext.md +14 -14
- package/dist/ai/guides/agent-contract.md +27 -27
- package/dist/ai/guides/ai-router.md +1 -1
- package/dist/ai/guides/component-picker.md +3 -3
- package/dist/ai/guides/fetch-items-playbook.md +1 -1
- package/dist/ai/guides/icons-policy.md +10 -10
- package/dist/ai/guides/inertia-helpers.md +120 -67
- package/dist/ai/guides/installation-and-plugin-setup.md +45 -15
- package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
- package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
- package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
- package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
- package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
- package/dist/ai/guides/migration/components/bb-select.md +10 -2
- package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
- package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
- package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
- package/dist/ai/guides/migration/v2-to-v3.md +143 -28
- package/dist/ai/guides/migration/v3-beta-css-classes.md +29 -27
- package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
- package/dist/ai/guides/options-items-playbook.md +30 -24
- package/dist/ai/guides/passthrough.md +4 -4
- package/dist/ai/guides/preset-components.md +18 -3
- package/dist/ai/guides/typescript-generic-components.md +1 -1
- package/dist/ai/guides/validated-forms.md +11 -22
- package/dist/ai/guides/validation-providers.md +4 -3
- package/dist/ai/helpers/inertia/manifest.json +636 -0
- package/dist/ai/helpers/inertia/types.ts +15 -0
- package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
- package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
- package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
- package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
- package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
- package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
- package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
- package/dist/ai/helpers/inertia/useLoading.ts +20 -0
- package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
- package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
- package/dist/ai/helpers/inertia/useProp.ts +63 -0
- package/dist/ai/helpers/inertia/useQuery.ts +19 -0
- package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
- package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
- package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
- package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
- package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
- package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
- package/dist/ai/helpers/inertia/useUntil.ts +33 -0
- package/dist/ai/helpers/inertia/utils.ts +24 -0
- package/dist/ai/index.md +6 -6
- package/dist/ai/manifest/components/BbAccordion.json +1 -1
- package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
- package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
- package/dist/ai/manifest/components/BbButton.json +2 -1
- package/dist/ai/manifest/components/BbButton.tree.json +1 -1
- package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
- package/dist/ai/manifest/components/BbCollapsible.json +1 -1
- package/dist/ai/manifest/components/BbColorPalette.json +1 -1
- package/dist/ai/manifest/components/BbConfirmPortal.json +5 -2
- package/dist/ai/manifest/components/BbDropdown.json +23 -20
- package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
- package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
- package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
- package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
- package/dist/ai/manifest/components/BbForm.json +1 -0
- package/dist/ai/manifest/components/BbHoverCard.json +1 -1
- package/dist/ai/manifest/components/BbHoverCardPortal.json +2 -2
- package/dist/ai/manifest/components/BbNumberInput.json +6 -1
- package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
- package/dist/ai/manifest/components/BbPopover.json +2 -1
- package/dist/ai/manifest/components/BbPopoverPortal.json +2 -2
- package/dist/ai/manifest/components/BbProgress.json +6 -6
- package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
- package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
- package/dist/ai/manifest/components/BbSelect.json +2 -2
- package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
- package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
- package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
- package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
- package/dist/ai/manifest/components/BbTabs.json +8 -7
- package/dist/ai/manifest/components/BbTabsList.json +3 -3
- package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
- package/dist/ai/manifest/components/BbTabsRoot.json +6 -5
- package/dist/ai/manifest/components/BbTag.tree.json +1 -1
- package/dist/ai/manifest/components/BbTooltip.json +2 -2
- package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
- package/dist/ai/manifest/components/CommonPopover.json +1 -1
- package/dist/ai/manifest/index.json +2 -2
- package/dist/ai/manifest/meta.json +5 -0
- package/dist/ai/manifest/types.advanced.json +10 -9
- package/dist/ai/manifest/types.api.json +8 -5
- package/dist/ai/manifest/types.wrapper.json +1 -0
- package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
- package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
- package/dist/ai/recipes/inertia/onboarding.md +6 -10
- package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
- package/dist/ai/recipes/inertia/record-form.md +11 -11
- package/dist/ai/recipes/inertia/records-workspace.md +38 -41
- package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
- package/dist/ai/recipes/inertia/upload-center.md +31 -39
- package/dist/ai/recipes/inertia/wizard-form.md +10 -19
- package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
- package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
- package/dist/ai/recipes/nuxt/onboarding.md +2 -6
- package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
- package/dist/ai/recipes/nuxt/record-form.md +5 -5
- package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
- package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
- package/dist/ai/recipes/nuxt/upload-center.md +22 -29
- package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
- package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
- package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
- package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
- package/dist/ai/recipes/vue/onboarding.md +2 -6
- package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
- package/dist/ai/recipes/vue/record-form.md +5 -5
- package/dist/ai/recipes/vue/records-workspace.md +29 -31
- package/dist/ai/recipes/vue/settings-workspace.md +22 -34
- package/dist/ai/recipes/vue/upload-center.md +22 -29
- package/dist/ai/recipes/vue/wizard-form.md +3 -11
- package/dist/ai/source/BbAccordion.md +1 -1
- package/dist/ai/source/BbAlert.md +3 -3
- package/dist/ai/source/BbBadge.md +14 -10
- package/dist/ai/source/BbBadgeButton.md +17 -12
- package/dist/ai/source/BbBaseButton.md +1 -1
- package/dist/ai/source/BbBaseRadioIcon.md +1 -0
- package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
- package/dist/ai/source/BbBreadcrumbs.md +63 -42
- package/dist/ai/source/BbButton.md +84 -38
- package/dist/ai/source/BbCalendar.md +17 -16
- package/dist/ai/source/BbCheckbox.md +3 -2
- package/dist/ai/source/BbCheckboxGroup.md +11 -4
- package/dist/ai/source/BbCollapsible.md +2 -1
- package/dist/ai/source/BbColorInput.md +10 -9
- package/dist/ai/source/BbColorPalette.md +2 -1
- package/dist/ai/source/BbConfirm.md +18 -1
- package/dist/ai/source/BbConfirmPortal.md +20 -6
- package/dist/ai/source/BbDatePicker.md +2 -2
- package/dist/ai/source/BbDatePickerInput.md +47 -20
- package/dist/ai/source/BbDialog.md +5 -5
- package/dist/ai/source/BbDropdown.md +231 -158
- package/dist/ai/source/BbDropdownButton.md +19 -12
- package/dist/ai/source/BbDropdownGroup.md +127 -93
- package/dist/ai/source/BbForm.md +25 -1
- package/dist/ai/source/BbHoverCard.md +30 -3
- package/dist/ai/source/BbHoverCardPortal.md +18 -3
- package/dist/ai/source/BbIndicator.md +4 -0
- package/dist/ai/source/BbNumberInput.md +855 -19
- package/dist/ai/source/BbOffCanvas.md +27 -11
- package/dist/ai/source/BbPagination.md +3 -3
- package/dist/ai/source/BbPopover.md +185 -12
- package/dist/ai/source/BbPopoverPortal.md +30 -3
- package/dist/ai/source/BbProgress.md +82 -18
- package/dist/ai/source/BbRadioGroup.md +12 -5
- package/dist/ai/source/BbRating.md +11 -9
- package/dist/ai/source/BbSelect.md +16 -10
- package/dist/ai/source/BbSelectPopover.md +29 -23
- package/dist/ai/source/BbSlider.md +12 -6
- package/dist/ai/source/BbSwitch.md +3 -2
- package/dist/ai/source/BbSwitchGroup.md +5 -2
- package/dist/ai/source/BbTable.md +102 -18
- package/dist/ai/source/BbTabs.md +30 -24
- package/dist/ai/source/BbTabsList.md +29 -23
- package/dist/ai/source/BbTabsPanels.md +29 -23
- package/dist/ai/source/BbTabsRoot.md +28 -22
- package/dist/ai/source/BbTag.md +10 -9
- package/dist/ai/source/BbTextInput.md +5 -4
- package/dist/ai/source/BbTextarea.md +6 -5
- package/dist/ai/source/BbTimePicker.md +1 -1
- package/dist/ai/source/BbTimePickerInput.md +46 -9
- package/dist/ai/source/BbToast.md +10 -7
- package/dist/ai/source/BbToastPortal.md +10 -7
- package/dist/ai/source/BbTooltip.md +88 -11
- package/dist/ai/source/BbTree.md +21 -3
- package/dist/ai/source/CommonField.md +6 -4
- package/dist/ai/source/CommonFieldInput.md +15 -10
- package/dist/ai/source/CommonPopover.md +8 -1
- package/dist/ai/source/CommonTimeSelector.md +5 -4
- package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
- package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +88 -70
- package/dist/components/BbButton/toggleRoving.d.ts +6 -0
- package/dist/components/BbButton/toggleRoving.js +45 -0
- package/dist/components/BbButton/types.d.ts +12 -4
- package/dist/components/BbButton/types.js +5 -1
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
- package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
- package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
- package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
- package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
- package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
- package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
- package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
- package/dist/components/BbCollapsible/types.d.ts +2 -1
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
- package/dist/components/BbColorPalette/types.d.ts +2 -1
- package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +2 -5
- package/dist/components/BbConfirm/types.d.ts +15 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
- package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
- package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
- package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
- package/dist/components/BbDropdown/normalizeGroups.js +60 -46
- package/dist/components/BbDropdown/types.d.ts +120 -88
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
- package/dist/components/BbDropdownButton/types.d.ts +2 -2
- package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
- package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
- package/dist/components/BbForm/BbFormCustomField.js +1 -1
- package/dist/components/BbForm/bindFormField.js +2 -1
- package/dist/components/BbForm/formFields.d.ts +5 -0
- package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +145 -142
- package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
- package/dist/components/BbHoverCard/types.d.ts +14 -1
- package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
- package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
- package/dist/components/BbNumberInput/numberDisplay.js +499 -0
- package/dist/components/BbNumberInput/types.d.ts +54 -1
- package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
- package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
- package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
- package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
- package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -162
- package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
- package/dist/components/BbPopover/types.d.ts +26 -1
- package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
- package/dist/components/BbProgress/types.d.ts +23 -7
- package/dist/components/BbProgress/types.js +1 -1
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
- package/dist/components/BbRadioGroup/types.d.ts +6 -2
- package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
- package/dist/components/BbSelect/types.d.ts +6 -2
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/components/BbSelectPopover/types.d.ts +6 -2
- package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
- package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbTabs/types.d.ts +28 -22
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +99 -86
- package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
- package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
- package/dist/components/BbTooltip/types.d.ts +10 -3
- package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
- package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
- package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
- package/dist/components/CommonPopover/types.d.ts +2 -1
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/composables/formSubmitLock.d.ts +6 -0
- package/dist/composables/formSubmitLock.js +4 -0
- package/dist/composables/useBaseOptions.d.ts +7 -1
- package/dist/composables/useBaseOptions.js +32 -32
- package/dist/composables/useBbDropdownContext.d.ts +8 -8
- package/dist/composables/useBbFormField.d.ts +9 -0
- package/dist/composables/useBbFormField.js +5 -3
- package/dist/composables/useBbTabsContext.d.ts +10 -10
- package/dist/composables/useBbTabsContext.js +18 -18
- package/dist/composables/useFormBinding.d.ts +11 -0
- package/dist/composables/useFormBinding.js +15 -13
- package/dist/composables/useItemText.d.ts +5 -1
- package/dist/composables/useItemText.js +8 -3
- package/dist/composables/useItemValue.d.ts +5 -1
- package/dist/composables/useItemValue.js +8 -3
- package/dist/composables/useLocale.js +10 -9
- package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
- package/dist/deprecation/ai-deprecations.json.js +1 -1
- package/dist/deprecation/removedProps.js +1 -1
- package/dist/directives/bbDropdown.js +1 -1
- package/dist/directives/directivePortal.d.ts +13 -7
- package/dist/directives/directivePortal.js +1 -4
- package/dist/i18n/index.d.ts +7 -12
- package/dist/i18n/locales/cs.json +11 -14
- package/dist/i18n/locales/da.json +13 -16
- package/dist/i18n/locales/de-CH.json +137 -0
- package/dist/i18n/locales/de.json +14 -17
- package/dist/i18n/locales/el.json +10 -13
- package/dist/i18n/locales/en-GB.json +137 -0
- package/dist/i18n/locales/en.json +8 -11
- package/dist/i18n/locales/es-MX.json +137 -0
- package/dist/i18n/locales/es.json +16 -19
- package/dist/i18n/locales/fi.json +8 -11
- package/dist/i18n/locales/fr.json +23 -26
- package/dist/i18n/locales/hu.json +8 -11
- package/dist/i18n/locales/it.json +12 -15
- package/dist/i18n/locales/ja.json +13 -16
- package/dist/i18n/locales/ko.json +10 -13
- package/dist/i18n/locales/nb.json +13 -16
- package/dist/i18n/locales/nl.json +21 -24
- package/dist/i18n/locales/pl.json +10 -13
- package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
- package/dist/i18n/locales/pt-PT.json +137 -0
- package/dist/i18n/locales/ro.json +22 -25
- package/dist/i18n/locales/ru.json +11 -14
- package/dist/i18n/locales/sv.json +16 -19
- package/dist/i18n/locales/tr.json +14 -17
- package/dist/i18n/locales/uk.json +11 -14
- package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
- package/dist/i18n/locales/zh-HK.json +137 -0
- package/dist/i18n/locales/zh-TW.json +137 -0
- package/dist/i18n/regionHints.d.ts +16 -0
- package/dist/i18n/regionHints.js +49 -0
- package/dist/i18n/regions.d.ts +286 -0
- package/dist/i18n/regions.js +265 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/llms-full.txt +1914 -1714
- package/dist/llms-medium.txt +76 -46
- package/dist/llms.txt +7 -7
- package/dist/locale-blueprint.json +16 -13
- package/dist/styles.css +2 -2
- package/dist/types/passthrough.d.ts +1 -1
- package/dist/types/ptComponentMap.d.ts +2 -2
- package/dist/utilities/functions/slotKey.d.ts +2 -2
- package/dist/utils/versionCheck.js +1 -1
- package/dist/vite-plugin.d.ts +22 -19
- package/dist/vite.js +309 -297
- package/llms.txt +7 -7
- package/package.json +5 -3
- package/scripts/lib/agent-manifest.mjs +2 -1
- package/scripts/lib/eslint-disable.mjs +17 -4
- package/scripts/lib/eslint-plugin.d.ts +9 -1
- package/scripts/lib/eslint-plugin.mjs +256 -6
- package/scripts/lib/helper-canon.mjs +176 -0
- package/scripts/lib/helpers-add.mjs +1303 -0
- package/scripts/lib/local-components.mjs +33 -4
- package/scripts/lib/locale-check.mjs +165 -0
- package/scripts/lib/portal-names.mjs +458 -0
- package/scripts/lib/redundant-item-accessor.mjs +398 -0
- package/scripts/lib/renamed-item-field.mjs +343 -0
- package/scripts/lib/slot-key.mjs +2 -2
- package/scripts/lib/slot-renames.mjs +1 -1
- package/scripts/lib/unimported-components.mjs +5 -2
- package/scripts/lib/validate-bb-markup.mjs +123 -56
- package/dist/i18n/index.js +0 -27
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Q60.25 (owner 2026-10-07): BbNumberInput shows its number the locale's way
|
|
3
|
+
* while the user types. This is the engine, pure and DOM-free: the component
|
|
4
|
+
* keeps a canonical `raw` string, edits only that, and paints `formatRaw(raw)`.
|
|
5
|
+
*
|
|
6
|
+
* - `raw` is `-?\d*(\.\d*)?`: period decimal, no grouping. It is the only
|
|
7
|
+
* thing edited; the caret lives in it and is projected onto the display.
|
|
8
|
+
* - Two parsers (plans/reviews/q60-25-number-display, GROK-INGEST 1–2): the
|
|
9
|
+
* KEYSTROKE reducer (`applyEdit`) sees one typed fragment and applies the
|
|
10
|
+
* owner's rule — any typed `,` or `.` starts the decimals, with Q51.2's
|
|
11
|
+
* key-by-key reclassify — and `readText` re-reads text that may be a
|
|
12
|
+
* painted number (paste, drop, undo, restore, autofill, an outside
|
|
13
|
+
* `el.value` write): a legal number in this locale is read strictly, the
|
|
14
|
+
* locale's way; anything else by Q51.2 on the whole fragment.
|
|
15
|
+
*/
|
|
16
|
+
/** The marks of one locale, read from `Intl` (CLDR). */
|
|
17
|
+
export interface NumberSymbols {
|
|
18
|
+
/** The BCP 47 tag the symbols come from. */
|
|
19
|
+
tag: string;
|
|
20
|
+
/** The decimal mark (`,` in it, `.` in en). */
|
|
21
|
+
decimal: string;
|
|
22
|
+
/** The grouping mark (`.` in it, U+202F in fr, U+2019 in de-CH); '' when none. */
|
|
23
|
+
group: string;
|
|
24
|
+
/** Digits in the last group (3) and in the groups before it (2 in hi-IN). */
|
|
25
|
+
primary: number;
|
|
26
|
+
secondary: number;
|
|
27
|
+
/** Groups an integer-digit string, or `null` for ungrouped symbols. */
|
|
28
|
+
groupInt: ((digits: string) => string) | null;
|
|
29
|
+
/**
|
|
30
|
+
* What a negative number starts with: `-`, or `LRM -` in the right-to-left
|
|
31
|
+
* locales (ar, he, fa, ur), whose minus would otherwise paint on the right
|
|
32
|
+
* of the digits in a `dir="rtl"` field (CURRENCY-SPEC § 2.12).
|
|
33
|
+
*/
|
|
34
|
+
minusPrefix: string;
|
|
35
|
+
}
|
|
36
|
+
/** Period decimal and no grouping: `disableFormatting` with a `minPrecision`. */
|
|
37
|
+
export declare const PLAIN_SYMBOLS: NumberSymbols;
|
|
38
|
+
/**
|
|
39
|
+
* The marks of a locale tag. `useGrouping` is the STRING `'auto'` (owner
|
|
40
|
+
* 2026-10-07: grouping follows each locale, so it shows `1000` and then
|
|
41
|
+
* `10.000`): `true` means `'always'` in current engines and the locale's rule
|
|
42
|
+
* in older ones. Digits are always `latn`. With a `currency`, the marks money
|
|
43
|
+
* is written with: CLDR gives de-AT (`€ 1.234,50`, a space otherwise) and
|
|
44
|
+
* fr-CH (`1 234.50 CHF`, a comma otherwise) their own.
|
|
45
|
+
*/
|
|
46
|
+
export declare const numberSymbolsOf: (tag: string, currency?: string) => NumberSymbols;
|
|
47
|
+
/** The fraction digits a currency is written with. */
|
|
48
|
+
export interface CurrencyDigits {
|
|
49
|
+
min: number;
|
|
50
|
+
max: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A currency's own fraction digits, from `Intl` (ISO 4217 via CLDR): 2 for EUR
|
|
54
|
+
* and USD, 0 for JPY, 3 for KWD. `null` for a code `Intl` refuses (`'EURO'`),
|
|
55
|
+
* so the field keeps its plain defaults.
|
|
56
|
+
*/
|
|
57
|
+
export declare const currencyDigitsOf: (currency: string, tag: string) => CurrencyDigits | null;
|
|
58
|
+
/**
|
|
59
|
+
* One character as the engine reads it: NFKC (full-width digits from a CJK
|
|
60
|
+
* IME become ASCII), any other decimal digit (Arabic-Indic, Devanagari, …)
|
|
61
|
+
* mapped to ASCII, and the minus look-alikes to `-`.
|
|
62
|
+
*/
|
|
63
|
+
export declare const normalizeChar: (ch: string) => string;
|
|
64
|
+
export interface DisplayOptions {
|
|
65
|
+
/** Fraction digits always shown, padded with placeholder zeros. */
|
|
66
|
+
minPrecision: number;
|
|
67
|
+
}
|
|
68
|
+
export interface Display {
|
|
69
|
+
text: string;
|
|
70
|
+
/** `positions[i]`: where `raw[i]` sits in `text`. */
|
|
71
|
+
positions: number[];
|
|
72
|
+
/**
|
|
73
|
+
* With a currency or unit: `[start, end)` of the numeric span in `text`
|
|
74
|
+
* (the digits, group marks, decimal and padding), the shell around it.
|
|
75
|
+
*/
|
|
76
|
+
hole?: [number, number];
|
|
77
|
+
/** With a currency or unit: the shell's text, to tell when it changes. */
|
|
78
|
+
shell?: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The display of a raw string: sign, the integer grouped by the locale (an
|
|
82
|
+
* integer part with a leading zero stays verbatim — `005` while the user edits
|
|
83
|
+
* it), the locale decimal, the fraction VERBATIM (Intl never sees it: no
|
|
84
|
+
* 3-digit rounding, and `10,` / `1,50` survive), then placeholder zeros up to
|
|
85
|
+
* `minPrecision`.
|
|
86
|
+
*/
|
|
87
|
+
export declare const formatRaw: (raw: string, symbols: NumberSymbols, options: DisplayOptions) => Display;
|
|
88
|
+
/**
|
|
89
|
+
* The display offset of a raw caret: right after `raw[k - 1]`. With a shell,
|
|
90
|
+
* the caret before the first digit is the hole's start (after a prefix, and
|
|
91
|
+
* after the minus wherever the locale paints it); `0` on a negative value is
|
|
92
|
+
* before the minus.
|
|
93
|
+
*/
|
|
94
|
+
export declare const displayIndexOf: (display: Display, k: number) => number;
|
|
95
|
+
/** The raw caret of a display offset: the raw characters before it. */
|
|
96
|
+
export declare const rawIndexOf: (display: Display, offset: number) => number;
|
|
97
|
+
/**
|
|
98
|
+
* Where a caret may rest: a display offset moved off the shell onto the
|
|
99
|
+
* nearest edge of the numeric span (never before a negative value's minus).
|
|
100
|
+
* Without a shell, the offset as it is.
|
|
101
|
+
*/
|
|
102
|
+
export declare const snapOffset: (display: Display, offset: number) => number;
|
|
103
|
+
/**
|
|
104
|
+
* A non-collapsed display range that holds no raw character and lies on the
|
|
105
|
+
* shell (`€` selected in `12,00 €`): a delete over it changes nothing
|
|
106
|
+
* (CURRENCY-SPEC § 2.4). Inside the number, an empty raw range is a group
|
|
107
|
+
* mark, and a delete there takes the digit beyond it, as always.
|
|
108
|
+
*/
|
|
109
|
+
export declare const isShellOnly: (display: Display, from: number, to: number) => boolean;
|
|
110
|
+
/** A field's currency or unit, already checked by `Intl`. */
|
|
111
|
+
export interface Affix {
|
|
112
|
+
tag: string;
|
|
113
|
+
kind: 'currency' | 'unit';
|
|
114
|
+
code: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The affix of a field: `currency` first (both set: currency wins), `null`
|
|
118
|
+
* when neither is set or `Intl` refuses the code (`'EURO'`, `'kilograms'`):
|
|
119
|
+
* the field then shows a plain number.
|
|
120
|
+
*/
|
|
121
|
+
export declare const affixOf: (tag: string, currency?: string, unit?: string) => Affix | null;
|
|
122
|
+
/**
|
|
123
|
+
* `formatRaw` inside the affix's shell. Empty stays empty (the placeholder
|
|
124
|
+
* shows) and a lone `-` paints bare until a digit comes; any other value gets
|
|
125
|
+
* the full shell, the minus in the locale's slot as ASCII `-`.
|
|
126
|
+
*/
|
|
127
|
+
export declare const formatAffixed: (raw: string, symbols: NumberSymbols, options: DisplayOptions, affix: Affix | null) => Display;
|
|
128
|
+
/**
|
|
129
|
+
* Text read back into a currency / unit field (a paste, an undo, a restore)
|
|
130
|
+
* without this field's shell: its symbol or unit removed as a whole token
|
|
131
|
+
* (`kr.` goes, a group dot stays), bidi marks and the spaces around it gone.
|
|
132
|
+
* The merged `readText` then reads the number.
|
|
133
|
+
*/
|
|
134
|
+
export declare const stripAffix: (text: string, affix: Affix | null) => string;
|
|
135
|
+
/**
|
|
136
|
+
* What a screen reader hears at rest: the amount spelled out
|
|
137
|
+
* (`1,234.56 euros`, `20 kilograms`), from the raw value at rest.
|
|
138
|
+
*/
|
|
139
|
+
export declare const spokenAffixed: (raw: string, minPrecision: number, affix: Affix) => string;
|
|
140
|
+
/**
|
|
141
|
+
* A number as raw: period decimal, no grouping, never an exponent (`1e21`,
|
|
142
|
+
* `1e-7` print in full), at most `maxPrecision` fraction digits, no `-0`.
|
|
143
|
+
*/
|
|
144
|
+
export declare const rawOfNumber: (value: number, maxPrecision: number) => string;
|
|
145
|
+
/**
|
|
146
|
+
* The number a raw string holds: `null` when empty, `undefined` while it holds
|
|
147
|
+
* no digit yet (`-`: the last valid value stands), else the number (`10.` is
|
|
148
|
+
* 10, `-0` is 0).
|
|
149
|
+
*/
|
|
150
|
+
export declare const valueOfRaw: (raw: string) => number | null | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* A legal formatted number in this locale, read the locale's way: group marks
|
|
153
|
+
* only where the locale puts them (lakh sizes included, any space for a
|
|
154
|
+
* space-grouping locale, any apostrophe for de-CH), the decimal mark as the
|
|
155
|
+
* decimal. Group positions only — not the minimum grouping digits, so it's
|
|
156
|
+
* `1.000` reads 1000 although it shows `1000`. `null` when the text is not one.
|
|
157
|
+
*/
|
|
158
|
+
export declare const parseLocaleText: (text: string, symbols: NumberSymbols) => string | null;
|
|
159
|
+
/**
|
|
160
|
+
* Q51.2, today's forgiving reading of a whole fragment: both `.` and `,`
|
|
161
|
+
* present — the LAST one is the decimal, the rest group; one kind repeated —
|
|
162
|
+
* it groups; a single one — the decimal. Space- and apostrophe-like marks and
|
|
163
|
+
* the Arabic group mark group; the Arabic decimal mark is a decimal. A minus
|
|
164
|
+
* counts only before the first digit.
|
|
165
|
+
*/
|
|
166
|
+
export declare const parseLooseText: (text: string) => string;
|
|
167
|
+
/**
|
|
168
|
+
* Text that may be a painted number — a paste, a drop, an undo, a restored
|
|
169
|
+
* or autofilled value, an outside `el.value` write: the number inside it
|
|
170
|
+
* (`numericCore`), then strict when it is a legal number in this locale,
|
|
171
|
+
* Q51.2 otherwise. A currency / unit field strips its shell first
|
|
172
|
+
* (`stripAffix`).
|
|
173
|
+
*/
|
|
174
|
+
export declare const readText: (text: string, symbols: NumberSymbols) => string;
|
|
175
|
+
export interface EditState {
|
|
176
|
+
raw: string;
|
|
177
|
+
/** The key (`,` or `.`) that made the current decimal; '' when none or unknown. */
|
|
178
|
+
decChar: string;
|
|
179
|
+
/** A key the user has shown to mean grouping; '' when none. */
|
|
180
|
+
groupChar: string;
|
|
181
|
+
}
|
|
182
|
+
export interface EditOptions {
|
|
183
|
+
maxPrecision: number;
|
|
184
|
+
minPrecision: number;
|
|
185
|
+
/** The live clamp; `min` waits for blur / Enter. */
|
|
186
|
+
max: number;
|
|
187
|
+
/**
|
|
188
|
+
* The key a decimal set from outside counts as (owner Q6: as if the user
|
|
189
|
+
* had typed what the field shows): the locale's mark when it is `,` or `.`.
|
|
190
|
+
*/
|
|
191
|
+
localeKey: string;
|
|
192
|
+
}
|
|
193
|
+
export type Edit = {
|
|
194
|
+
type: 'insert';
|
|
195
|
+
start: number;
|
|
196
|
+
end: number;
|
|
197
|
+
text: string;
|
|
198
|
+
} | {
|
|
199
|
+
type: 'paste';
|
|
200
|
+
start: number;
|
|
201
|
+
end: number;
|
|
202
|
+
raw: string;
|
|
203
|
+
} | {
|
|
204
|
+
type: 'deleteBackward';
|
|
205
|
+
start: number;
|
|
206
|
+
end: number;
|
|
207
|
+
} | {
|
|
208
|
+
type: 'deleteForward';
|
|
209
|
+
start: number;
|
|
210
|
+
end: number;
|
|
211
|
+
} | {
|
|
212
|
+
type: 'deleteToStart';
|
|
213
|
+
start: number;
|
|
214
|
+
end: number;
|
|
215
|
+
} | {
|
|
216
|
+
type: 'deleteToEnd';
|
|
217
|
+
start: number;
|
|
218
|
+
end: number;
|
|
219
|
+
};
|
|
220
|
+
export interface EditResult extends EditState {
|
|
221
|
+
caret: number;
|
|
222
|
+
/** The edit changed nothing (a rejected keystroke). */
|
|
223
|
+
rejected: boolean;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* One edit on the raw value. Selection ranges are raw indices. Deletes act on
|
|
227
|
+
* raw characters only — a group mark is never one, so Backspace after `1.|000`
|
|
228
|
+
* takes the `1`. With `minPrecision`, deleting a fraction digit inside the
|
|
229
|
+
* padded region turns it back into a `0` without shifting the rest, and the
|
|
230
|
+
* caret steps over the decimal mark instead of deleting it.
|
|
231
|
+
*/
|
|
232
|
+
export declare const applyEdit: (state: EditState, edit: Edit, options: EditOptions) => EditResult;
|
|
233
|
+
/**
|
|
234
|
+
* With `minPrecision` the display always shows the decimal mark (`12` paints
|
|
235
|
+
* `12,00`), so raw holds it too (`12.`): a value set from outside, a typed
|
|
236
|
+
* `12` and a typed `12,` are then one state, and every key, caret and delete
|
|
237
|
+
* treats the painted mark and placeholders alike (war-room 82a72d539).
|
|
238
|
+
*/
|
|
239
|
+
export declare const withPaddedMark: (raw: string, minPrecision: number) => string;
|
|
240
|
+
/**
|
|
241
|
+
* What the field shows at rest — on blur, and for a value set from outside:
|
|
242
|
+
* the number rebuilt from the model, so useless digits go (`1,50` → `1,5`,
|
|
243
|
+
* `10,` → `10`, `007` → `7`, `-0` → `0`), never rounded, trailing zeros kept
|
|
244
|
+
* down to `minPrecision`.
|
|
245
|
+
*/
|
|
246
|
+
export declare const rawAtRest: (value: number | null | undefined, maxPrecision: number) => string;
|
|
247
|
+
/**
|
|
248
|
+
* Which span a regroup write replaces: the minimal changed range, or from the
|
|
249
|
+
* first change to the end. Internal (not package API): the screen-reader pass
|
|
250
|
+
* picks one (`100` → `1.000` minimally inserts `.0`, which may be read as
|
|
251
|
+
* "point zero"), so it stays switchable and the war-room caret suite runs
|
|
252
|
+
* under both (GROK-INGEST 9).
|
|
253
|
+
*/
|
|
254
|
+
export declare const writeStrategy: {
|
|
255
|
+
span: 'minimal' | 'tail';
|
|
256
|
+
};
|