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,217 @@
|
|
|
1
|
+
import { Affix } from './oracle';
|
|
2
|
+
/**
|
|
3
|
+
* CDP (IME composition, media emulation) exists on Chromium only; tests that
|
|
4
|
+
* need it skip on Firefox / WebKit with `it.skipIf(!isChromium)`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const isChromium: boolean;
|
|
7
|
+
type Send = <T = unknown>(method: string, params?: Record<string, unknown>) => Promise<T>;
|
|
8
|
+
/** vitest's CDPSession type is empty; the session speaks plain CDP. */
|
|
9
|
+
export declare const send: Send;
|
|
10
|
+
export type FieldState = {
|
|
11
|
+
/** What the visible input shows. */
|
|
12
|
+
display: string;
|
|
13
|
+
/** Caret / selection in the visible input. */
|
|
14
|
+
caret: [number, number];
|
|
15
|
+
/** The last `update:modelValue` payload (`undefined`: none yet). */
|
|
16
|
+
model: unknown;
|
|
17
|
+
/** Every `update:modelValue` payload so far, in order. */
|
|
18
|
+
emits: unknown[];
|
|
19
|
+
/** The value a native POST carries (the named input's value), if any. */
|
|
20
|
+
posted: string | null;
|
|
21
|
+
/** What the step was, for the trace. */
|
|
22
|
+
step: string;
|
|
23
|
+
};
|
|
24
|
+
export type Field = {
|
|
25
|
+
el: HTMLInputElement;
|
|
26
|
+
host: HTMLElement;
|
|
27
|
+
emits: unknown[];
|
|
28
|
+
/** Writes the model from the outside (a parent `v-model` write). */
|
|
29
|
+
setModel: (value: number | null) => Promise<void>;
|
|
30
|
+
state: (step?: string) => FieldState;
|
|
31
|
+
unmount: () => void;
|
|
32
|
+
/** Every event the input received, for the trace (type + inputType / key). */
|
|
33
|
+
events: string[];
|
|
34
|
+
/** What it was mounted with (the shell helpers read the affix from it). */
|
|
35
|
+
locale: string;
|
|
36
|
+
props: Record<string, unknown>;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Mounts a BbNumberInput in `locale` (a built-in locale key), inside a
|
|
40
|
+
* `<form>` so the posted value and form restore can be read. Extra props go
|
|
41
|
+
* straight to the component (`disableFormatting`, `minPrecision`, `max`, …).
|
|
42
|
+
*/
|
|
43
|
+
export declare const mountNumber: ({ locale, modelValue, name, props, }?: {
|
|
44
|
+
locale?: string;
|
|
45
|
+
modelValue?: number | null;
|
|
46
|
+
name?: string;
|
|
47
|
+
props?: Record<string, unknown>;
|
|
48
|
+
}) => Promise<Field>;
|
|
49
|
+
/** Lets the component's own `nextTick` / rAF work settle. */
|
|
50
|
+
export declare const settle: () => Promise<void>;
|
|
51
|
+
/** Puts the caret (or a selection) in the visible input. */
|
|
52
|
+
export declare const select: (f: Field, start: number, end?: number) => Promise<FieldState>;
|
|
53
|
+
/** Real keystrokes, one at a time; the trace has a state after each key. */
|
|
54
|
+
export declare const typeKeys: (f: Field, text: string) => Promise<FieldState[]>;
|
|
55
|
+
/** One named key, real (`Backspace`, `Delete`, `ArrowLeft`, `Enter`, `Home`). */
|
|
56
|
+
export declare const press: (f: Field, key: string) => Promise<FieldState>;
|
|
57
|
+
/** Real Undo / Redo shortcuts (the browser's own stack). */
|
|
58
|
+
export declare const undo: (f: Field) => Promise<FieldState>;
|
|
59
|
+
export declare const redo: (f: Field) => Promise<FieldState>;
|
|
60
|
+
/**
|
|
61
|
+
* Real clipboard round trip: the text goes onto the SYSTEM clipboard through
|
|
62
|
+
* a scratch textarea and a real Copy, then a real Paste into the field (at
|
|
63
|
+
* its current caret / selection). What the component reads is exactly what a
|
|
64
|
+
* user's paste delivers.
|
|
65
|
+
*/
|
|
66
|
+
export declare const pasteReal: (f: Field, text: string) => Promise<FieldState>;
|
|
67
|
+
/**
|
|
68
|
+
* Runs a real copy / cut / paste with the clipboard to itself: files and
|
|
69
|
+
* engines run side by side and share it (src/dev/clipboardLockCommand.ts).
|
|
70
|
+
*/
|
|
71
|
+
export declare const withClipboard: <T>(run: () => Promise<T>) => Promise<T>;
|
|
72
|
+
/**
|
|
73
|
+
* A synthetic `paste` with the given `text/plain` (and optional
|
|
74
|
+
* `text/html`), for shapes the system clipboard would normalise (it may turn
|
|
75
|
+
* U+202F into a space on some platforms). Cancelable, as a real one is. If
|
|
76
|
+
* nobody cancels it, nothing is inserted (a synthetic paste has no default
|
|
77
|
+
* action): that alone is a finding for an engine that relies on the default.
|
|
78
|
+
*/
|
|
79
|
+
export declare const pasteEvent: (f: Field, text: string, html?: string) => Promise<FieldState>;
|
|
80
|
+
/** A synthetic text drop onto the field (dragstart/dragover elided). */
|
|
81
|
+
export declare const drop: (f: Field, text: string) => Promise<FieldState>;
|
|
82
|
+
/**
|
|
83
|
+
* Real IME composition through CDP: each entry of `steps` is the
|
|
84
|
+
* composition string as the IME shows it (`imeSetComposition`), then
|
|
85
|
+
* `commit` is inserted (`insertText` ends the composition), the way a
|
|
86
|
+
* Japanese / Chinese / Korean IME produces full-width digits.
|
|
87
|
+
*/
|
|
88
|
+
export declare const imeCompose: (f: Field, steps: string[], commit: string) => Promise<FieldState[]>;
|
|
89
|
+
/**
|
|
90
|
+
* Android (Gboard and most soft keyboards): `keydown` arrives as
|
|
91
|
+
* `key: "Unidentified"`, keyCode 229, and the edit comes through
|
|
92
|
+
* `beforeinput` / `input`. Ordinary digit taps send a CANCELABLE
|
|
93
|
+
* `insertText` beforeinput (the default here); suggestions and composing
|
|
94
|
+
* keyboards send non-cancelable `insertCompositionText`. When nobody
|
|
95
|
+
* cancels the beforeinput, the text is applied at the caret the way the
|
|
96
|
+
* browser would, then `input` fires — a faithful stand-in, since headless
|
|
97
|
+
* Chromium cannot emit a 229 keydown itself.
|
|
98
|
+
*/
|
|
99
|
+
export declare const android229: (f: Field, text: string, { inputType, cancelable, }?: {
|
|
100
|
+
inputType?: string;
|
|
101
|
+
cancelable?: boolean;
|
|
102
|
+
}) => Promise<FieldState>;
|
|
103
|
+
/**
|
|
104
|
+
* A keyboard suggestion replacing the whole word (Android autocorrect):
|
|
105
|
+
* non-cancelable `insertReplacementText`, `data` null, the value swapped.
|
|
106
|
+
*/
|
|
107
|
+
export declare const androidReplaceAll: (f: Field, next: string) => Promise<FieldState>;
|
|
108
|
+
/**
|
|
109
|
+
* Form restore (back / forward, bfcache, session restore): the browser
|
|
110
|
+
* writes the painted text back into the input with NO input event, then
|
|
111
|
+
* fires `pageshow` (`persisted: true` for bfcache). Chrome and Firefox do
|
|
112
|
+
* this even with `autocomplete="off"` (WHATWG html#9019). `focus: true`
|
|
113
|
+
* also focuses the field afterwards, the other reconcile point.
|
|
114
|
+
*/
|
|
115
|
+
export declare const restore: (f: Field, text: string, { persisted, focus }?: {
|
|
116
|
+
persisted?: boolean | undefined;
|
|
117
|
+
focus?: boolean | undefined;
|
|
118
|
+
}) => Promise<FieldState>;
|
|
119
|
+
/**
|
|
120
|
+
* Autofill. Chrome's autofill writes the value and fires `input` (no
|
|
121
|
+
* `inputType`) and `change`; some password managers write silently.
|
|
122
|
+
* `mode: 'events'` is Chrome's shape, `'silent'` the managers'.
|
|
123
|
+
*/
|
|
124
|
+
export declare const autofill: (f: Field, text: string, { mode }?: {
|
|
125
|
+
mode?: "silent" | "events" | undefined;
|
|
126
|
+
}) => Promise<FieldState>;
|
|
127
|
+
/** Real blur: focus moves to a sibling button the harness adds. */
|
|
128
|
+
export declare const blur: (f: Field) => Promise<FieldState>;
|
|
129
|
+
/** Native submit: the FormData the browser would POST for the field. */
|
|
130
|
+
export declare const formData: (f: Field) => FormData;
|
|
131
|
+
/** Emulate `prefers-reduced-motion`, a narrow viewport or a locale's fonts: undo with `resetEmulation`. */
|
|
132
|
+
export declare const emulateMedia: (features: Array<{
|
|
133
|
+
name: string;
|
|
134
|
+
value: string;
|
|
135
|
+
}>) => Promise<unknown>;
|
|
136
|
+
export declare const resetEmulation: () => Promise<unknown>;
|
|
137
|
+
/** Select all with the platform's real shortcut (Ctrl+A on macOS moves to the line start instead). */
|
|
138
|
+
export declare const selectAll: (f: Field) => Promise<FieldState>;
|
|
139
|
+
/**
|
|
140
|
+
* The line-start / line-end keys as the platform has them: `Home` / `End`,
|
|
141
|
+
* and on macOS also Cmd+Left / Cmd+Right (a mac Home key scrolls, it does
|
|
142
|
+
* not move the caret). `which: 'both'` presses both, a state after each.
|
|
143
|
+
*/
|
|
144
|
+
export declare const lineEdge: (f: Field, edge: "start" | "end", which?: "home-end" | "platform") => Promise<FieldState>;
|
|
145
|
+
/**
|
|
146
|
+
* The x of display offset `offset` inside the input, relative to its border
|
|
147
|
+
* box, measured on a hidden mirror with the input's computed text styles (so
|
|
148
|
+
* proportional fonts, NBSP / U+202F widths and `text-align` all count) minus
|
|
149
|
+
* the input's own horizontal scroll. `offset` = a caret boundary; `onChar` =
|
|
150
|
+
* the middle of the character AT `offset` instead.
|
|
151
|
+
*/
|
|
152
|
+
export declare const offsetX: (f: Field, offset: number, onChar?: boolean) => number;
|
|
153
|
+
/**
|
|
154
|
+
* A REAL click (pointer down / up, the browser places the caret) at display
|
|
155
|
+
* offset `offset`: on the caret boundary before that character, or with
|
|
156
|
+
* `{ onChar: true }` on the middle of the character itself (a click ON `$`,
|
|
157
|
+
* on the NBSP, on `€`). `shift: true` extends the current selection to that
|
|
158
|
+
* point, the way a Shift+click (or the end of a drag) does.
|
|
159
|
+
*/
|
|
160
|
+
export declare const clickAt: (f: Field, offset: number, { onChar, shift }?: {
|
|
161
|
+
onChar?: boolean | undefined;
|
|
162
|
+
shift?: boolean | undefined;
|
|
163
|
+
}) => Promise<FieldState>;
|
|
164
|
+
/** A double click on the character at `offset` (word selection). */
|
|
165
|
+
export declare const doubleClickAt: (f: Field, offset: number) => Promise<FieldState>;
|
|
166
|
+
/**
|
|
167
|
+
* The display split into the field's SHELL (prefix / suffix: symbol, unit,
|
|
168
|
+
* literals, bidi, the painted minus) and the numeric HOLE, against the shell
|
|
169
|
+
* the spec says this value should wear (oracle `shellOf`, from this engine's
|
|
170
|
+
* own `Intl`, plural form and sign of `value` included). `value` defaults to
|
|
171
|
+
* the last model; `fractionDigits` to the digits the hole shows. `ok: false`
|
|
172
|
+
* means the display does not wear the expected shell. For a field with no
|
|
173
|
+
* affix the whole display is the hole.
|
|
174
|
+
*/
|
|
175
|
+
export declare const readShell: (f: Field, { value, fractionDigits }?: {
|
|
176
|
+
value?: number;
|
|
177
|
+
fractionDigits?: number;
|
|
178
|
+
}) => {
|
|
179
|
+
shell: import('./oracle').Shell | null;
|
|
180
|
+
ok: boolean;
|
|
181
|
+
prefix: string;
|
|
182
|
+
hole: string;
|
|
183
|
+
suffix: string;
|
|
184
|
+
};
|
|
185
|
+
/** The affix props the field was mounted with (`currency` wins), or `null`. */
|
|
186
|
+
export declare const affixOf: (f: Field) => Affix | null;
|
|
187
|
+
/**
|
|
188
|
+
* The accessibility facts a lane checks: `aria-valuetext` (set only at rest),
|
|
189
|
+
* `aria-valuenow`, the role, focus, and the spoken NAME the at-rest text
|
|
190
|
+
* should contain for an affixed field (oracle `spokenNameOf`).
|
|
191
|
+
*/
|
|
192
|
+
export declare const aria: (f: Field) => {
|
|
193
|
+
role: string | null;
|
|
194
|
+
valuetext: string | null;
|
|
195
|
+
valuenow: string | null;
|
|
196
|
+
focused: boolean;
|
|
197
|
+
spokenName: string | null;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* A synthetic drop at display `offset` (the point is put on that caret
|
|
201
|
+
* boundary, so the engine reads it from `caretPositionFromPoint`); the end
|
|
202
|
+
* of the field when `offset` is past it. Returns the event too, to check it
|
|
203
|
+
* was cancelled.
|
|
204
|
+
*/
|
|
205
|
+
export declare const dropAt: (f: Field, offset: number, text: string) => Promise<{
|
|
206
|
+
event: DragEvent;
|
|
207
|
+
state: FieldState;
|
|
208
|
+
}>;
|
|
209
|
+
/**
|
|
210
|
+
* A REAL mouse drag from display offset `from` to `to` (each on the middle
|
|
211
|
+
* of that character with `onChar`, else on the caret boundary), through
|
|
212
|
+
* the `pointerDrag` command (vitest.warroom.config.ts). Playwright only.
|
|
213
|
+
*/
|
|
214
|
+
export declare const dragSelect: (f: Field, from: number, to: number, { onChar }?: {
|
|
215
|
+
onChar?: boolean | undefined;
|
|
216
|
+
}) => Promise<FieldState>;
|
|
217
|
+
export {};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in locale key → Intl tag (the table `intlLocaleOf` reads: `en` is
|
|
3
|
+
* en-US, `nl` nl-NL). Anything else is used as a tag as-is, so engine-level
|
|
4
|
+
* rows can name tags no dictionary ships (`lt`, `ar-EG`, `hi-IN`).
|
|
5
|
+
*/
|
|
6
|
+
export declare const intlTag: (locale: string) => string;
|
|
7
|
+
export type LocaleShape = {
|
|
8
|
+
group: string;
|
|
9
|
+
decimal: string;
|
|
10
|
+
/** Integer group sizes from the right: [primary, secondary]. */
|
|
11
|
+
primary: number;
|
|
12
|
+
secondary: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const shapeOf: (locale: string) => LocaleShape;
|
|
15
|
+
/**
|
|
16
|
+
* Character-level normalisation every path shares (§ 2.13, GROK 4 / 7):
|
|
17
|
+
* NFKC, script digits to ASCII, minus look-alikes to `-`, bidi marks gone.
|
|
18
|
+
*/
|
|
19
|
+
export declare const normaliseChars: (text: string) => string;
|
|
20
|
+
/**
|
|
21
|
+
* ASSUME_TRIM: a clipboard copied from a spreadsheet cell carries a trailing
|
|
22
|
+
* newline / tab, from a PDF surrounding spaces. The legality check runs on the
|
|
23
|
+
* text trimmed of ASCII whitespace at both ends (otherwise `1.234\n` from a de
|
|
24
|
+
* spreadsheet would read 1.234 through Q51.2).
|
|
25
|
+
*/
|
|
26
|
+
export declare const ASSUME_TRIM = true;
|
|
27
|
+
/**
|
|
28
|
+
* Is `text` a number formatted the locale's way? Group marks only at legal
|
|
29
|
+
* positions (lakh sizes included), one decimal mark, an optional leading `-`.
|
|
30
|
+
* ASSUME_POSITIONS: legality is about POSITIONS only — `1.234` is legal in
|
|
31
|
+
* `it` although `useGrouping: "auto"` would print `1234` there.
|
|
32
|
+
*/
|
|
33
|
+
export declare const isLocaleShaped: (text: string, locale: string) => boolean;
|
|
34
|
+
/** Strict locale read: group marks out, the decimal mark becomes `.`. */
|
|
35
|
+
export declare const strictParse: (text: string, locale: string) => number | null;
|
|
36
|
+
/**
|
|
37
|
+
* Q51.2 on a fragment — today's `replaceCommaWithPeriod` +
|
|
38
|
+
* `removeUnwantedSymbols` + `defaultPad`, after the shared char normalisation.
|
|
39
|
+
*/
|
|
40
|
+
export declare const q51Parse: (text: string) => number | null;
|
|
41
|
+
export type PastePath = 'strict' | 'q51.2' | 'scientific';
|
|
42
|
+
/**
|
|
43
|
+
* Owner round 5 (BRIEF.md § Owner answers, round 5), all yes:
|
|
44
|
+
* CURRENCY_STRIP — one currency sign (`\p{Sc}`) or percent / per-mille sign
|
|
45
|
+
* at either end goes before the legality check (`$1,000` → 1000);
|
|
46
|
+
* PARENS_NEGATIVE — `(1,234.56)` is −1234.56; SCIENTIFIC — `1.2E+05` is
|
|
47
|
+
* 120000. ASSUME_TRIM, ASSUME_POSITIONS and LENGTH_CAP were ruled as encoded.
|
|
48
|
+
* Letters that name a currency (`Ft`, `kr.`, `CHF`) are not signs: only a
|
|
49
|
+
* currency field's own shell strips them (`pasteIntoAffixed`).
|
|
50
|
+
*/
|
|
51
|
+
export declare const CURRENCY_STRIP = true;
|
|
52
|
+
export declare const PARENS_NEGATIVE = true;
|
|
53
|
+
export declare const SCIENTIFIC = true;
|
|
54
|
+
/** What a paste into an EMPTY field of `locale` should leave in the model. */
|
|
55
|
+
export declare const pasteInto: (clipboard: string, locale: string) => {
|
|
56
|
+
value: number | null;
|
|
57
|
+
path: PastePath;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* The field's affix props. `currency` wins when both are set (GROK-CURRENCY
|
|
61
|
+
* "Maintainer"); `unit` is an `Intl` unit (`percent` is a unit here, NOT
|
|
62
|
+
* `style: 'percent'`: the model is the number shown).
|
|
63
|
+
*/
|
|
64
|
+
export type Affix = {
|
|
65
|
+
currency?: string;
|
|
66
|
+
unit?: string;
|
|
67
|
+
};
|
|
68
|
+
/** The `Intl` options a field's affix stands for (`null`: no affix). */
|
|
69
|
+
export declare const affixOptions: (affix: Affix, spoken?: boolean) => Intl.NumberFormatOptions | null;
|
|
70
|
+
export type Shell = {
|
|
71
|
+
prefix: string;
|
|
72
|
+
suffix: string;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* The shell a field shows around `value` (GROK-CURRENCY § 5 + INGEST): the
|
|
76
|
+
* parts before and after the hole, the `minusSign` part painted as ASCII `-`,
|
|
77
|
+
* literals and bidi marks kept as `Intl` gives them. The value decides it, not
|
|
78
|
+
* only the sign: unit plurals (`el` κιλό / κιλά, `en-GB` hr / hrs) follow the
|
|
79
|
+
* number as shown, so `fractionDigits` is the count of fraction digits the
|
|
80
|
+
* display paints. `null` for no affix, or a code `Intl` refuses (`RangeError`:
|
|
81
|
+
* the field paints a plain number).
|
|
82
|
+
*/
|
|
83
|
+
export declare const shellOf: (locale: string, affix: Affix, value: number, fractionDigits?: number) => Shell | null;
|
|
84
|
+
/** The part types of a shell, for assertions that hold across ICU builds. */
|
|
85
|
+
export declare const shellTypesOf: (locale: string, affix: Affix, value: number) => {
|
|
86
|
+
prefix: string[];
|
|
87
|
+
suffix: string[];
|
|
88
|
+
} | null;
|
|
89
|
+
/** A display split into shell and hole; `ok: false` when the shell is not the expected one. */
|
|
90
|
+
export declare const splitDisplay: (display: string, shell: Shell | null) => {
|
|
91
|
+
ok: boolean;
|
|
92
|
+
prefix: string;
|
|
93
|
+
hole: string;
|
|
94
|
+
suffix: string;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* The currency's own fraction digits (`resolvedOptions()`, never a table):
|
|
98
|
+
* JPY 0, EUR 2, KWD 3, CLF 4. `null` for a refused code. A unit has none.
|
|
99
|
+
*/
|
|
100
|
+
export declare const currencyDigitsOf: (locale: string, currency: string) => {
|
|
101
|
+
min: number;
|
|
102
|
+
max: number;
|
|
103
|
+
} | null;
|
|
104
|
+
/**
|
|
105
|
+
* The at-rest `aria-valuetext` of an affixed field: the spoken NAME form
|
|
106
|
+
* (`currencyDisplay: 'name'`, `unitDisplay: 'long'`) of the value with the
|
|
107
|
+
* fraction digits the display paints. Assert `toContain` the name part, not
|
|
108
|
+
* equality, unless the test pins one engine.
|
|
109
|
+
*/
|
|
110
|
+
export declare const spokenNameOf: (locale: string, affix: Affix, value: number) => string | null;
|
|
111
|
+
/**
|
|
112
|
+
* Every shell the field can paint, both signs, every plural form, comparable
|
|
113
|
+
* text, longest first (so `US$` is tried before `$`).
|
|
114
|
+
*/
|
|
115
|
+
export declare const shellsOf: (locale: string, affix: Affix) => {
|
|
116
|
+
prefix: string;
|
|
117
|
+
suffix: string;
|
|
118
|
+
negative: boolean;
|
|
119
|
+
}[];
|
|
120
|
+
/**
|
|
121
|
+
* Paste into an EMPTY currency / unit field (GROK-CURRENCY § 2 Paste + § 5
|
|
122
|
+
* Read-back): strip THIS field's shells first (both signs, every plural form,
|
|
123
|
+
* space-like literals equal, both yen glyphs), then the round-5 sign strip,
|
|
124
|
+
* then strict-or-Q51.2. A shell is removed as a whole token (`kr.` never eats
|
|
125
|
+
* the da group dot). A negative shell's minus survives the strip.
|
|
126
|
+
*/
|
|
127
|
+
export declare const pasteIntoAffixed: (clipboard: string, locale: string, affix: Affix) => {
|
|
128
|
+
value: number | null;
|
|
129
|
+
path: PastePath;
|
|
130
|
+
shell: boolean;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* FOREIGN_UNIT (coordinator 2026-10-07): in a currency / unit field, a
|
|
134
|
+
* foreign symbol made of letters at either end goes like a foreign currency
|
|
135
|
+
* sign, with no conversion: `1,234 lb` into kilogram reads 1234, `12,50 CHF`
|
|
136
|
+
* into EUR 12.5, `US$12` into EUR 12. A plain field keeps the round-5 rule
|
|
137
|
+
* (only `\p{Sc}` / `%` signs strip). The token starts with a letter or `°`
|
|
138
|
+
* and may hold letters, marks, `.`, `/`, `²`, `³` (`km/h`, `m²`, `kr.`).
|
|
139
|
+
*/
|
|
140
|
+
export declare const FOREIGN_UNIT = true;
|
|
141
|
+
/**
|
|
142
|
+
* A field with 0 fraction digits (`maxPrecision` 0, JPY / KRW by default):
|
|
143
|
+
* lane `currency` DECISION 19:32 — a typed decimal mark stays in raw (`12,`
|
|
144
|
+
* shows), the digits after it are refused, blur drops the mark: typed `12,5`
|
|
145
|
+
* is 12, never 125. A paste truncates (`12,5` → 12): `maxPrecision` never
|
|
146
|
+
* rounds (ZERO_DIGIT_PASTE, coordinator 2026-10-07: truncate, over
|
|
147
|
+
* GROK-CURRENCY-INGEST item 3's 13).
|
|
148
|
+
*/
|
|
149
|
+
export declare const ZERO_DIGIT_PASTE: "truncate" | "round";
|
|
150
|
+
export declare const capFraction: (value: number | null, maxPrecision: number) => number | null;
|
|
@@ -3,9 +3,9 @@ import { usePassthrough as t } from "../../composables/usePassthrough.js";
|
|
|
3
3
|
import { useBbTableContext as n, useBbTableContextHasHost as r, useBbTableContextPageIsSet as i } from "../../composables/useBbTableContext.js";
|
|
4
4
|
import { removedPropsFor as ee } from "../../deprecation/removedProps.js";
|
|
5
5
|
import { warnRemovedAttrs as a } from "../../utilities/functions/warnRemovedAttrs.js";
|
|
6
|
-
import {
|
|
7
|
-
import s from "
|
|
8
|
-
import
|
|
6
|
+
import { useLocale as o } from "../../composables/useLocale.js";
|
|
7
|
+
import { useFrameworkDetection as s } from "../../composables/useFrameworkDetection.js";
|
|
8
|
+
import c from "../BbBaseButton/BbBaseButton.vue.js";
|
|
9
9
|
import { useRoute as te } from "../../composables/useRoute.js";
|
|
10
10
|
import { parseCount as l, parsePositiveInteger as u } from "../../utilities/functions/parsePaginationNumber.js";
|
|
11
11
|
import { BB_PAGINATION_PT as d } from "./types.js";
|
|
@@ -55,7 +55,7 @@ var se = ["aria-label"], ce = { class: "bb-pagination__page-label bb-sr-only" },
|
|
|
55
55
|
active: { disabled: () => !!P.disabled }
|
|
56
56
|
});
|
|
57
57
|
process.env.NODE_ENV !== "production" && a("BbPagination", ee("BbPagination"));
|
|
58
|
-
let { t: I } =
|
|
58
|
+
let { t: I } = o(), L = te(), R = re(), { isInertia: z } = s(), B = n(() => P.tableId), V = i(() => P.tableId);
|
|
59
59
|
r(() => P.tableId), e();
|
|
60
60
|
let H = m(() => {
|
|
61
61
|
let e = l(P.totalItems);
|
|
@@ -229,7 +229,7 @@ var se = ["aria-label"], ce = { class: "bb-pagination__page-label bb-sr-only" },
|
|
|
229
229
|
ref: q,
|
|
230
230
|
class: "bb-pagination__pages"
|
|
231
231
|
}, [
|
|
232
|
-
g("li", null, [_(D(
|
|
232
|
+
g("li", null, [_(D(c), S(y(pe.value)), {
|
|
233
233
|
default: j(() => [T(e.$slots, "previous", {}, () => [g("span", ce, E(D(I)("pagination.previous").value), 1), (C(), h("svg", x({
|
|
234
234
|
class: "bb-pagination__icon",
|
|
235
235
|
viewBox: "0 0 24 24",
|
|
@@ -245,7 +245,7 @@ var se = ["aria-label"], ce = { class: "bb-pagination__page-label bb-sr-only" },
|
|
|
245
245
|
"aria-hidden": "true",
|
|
246
246
|
class: "bb-pagination__ellipsis bb-pagination__page bb-pagination__page--ellipsis",
|
|
247
247
|
ref_for: !0
|
|
248
|
-
}, D(F).ellipsis), [T(e.$slots, "ellipsis", {}, () => [g("span", le, E(P.ellipsis), 1)])], 16)) : (C(), ne(D(
|
|
248
|
+
}, D(F).ellipsis), [T(e.$slots, "ellipsis", {}, () => [g("span", le, E(P.ellipsis), 1)])], 16)) : (C(), ne(D(c), x({
|
|
249
249
|
key: 1,
|
|
250
250
|
ref_for: !0
|
|
251
251
|
}, me(t)), {
|
|
@@ -256,7 +256,7 @@ var se = ["aria-label"], ce = { class: "bb-pagination__page-label bb-sr-only" },
|
|
|
256
256
|
}, () => [g("span", M, E(t.page), 1)])]),
|
|
257
257
|
_: 2
|
|
258
258
|
}, 1040))]))), 128)),
|
|
259
|
-
g("li", null, [_(D(
|
|
259
|
+
g("li", null, [_(D(c), S(y(he.value)), {
|
|
260
260
|
default: j(() => [T(e.$slots, "next", {}, () => [g("span", N, E(D(I)("pagination.next").value), 1), (C(), h("svg", x({
|
|
261
261
|
class: "bb-pagination__icon",
|
|
262
262
|
viewBox: "0 0 24 24",
|
|
@@ -33,6 +33,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
|
|
|
33
33
|
transitionDuration: number;
|
|
34
34
|
trigger: PopoverTrigger | PopoverTrigger[];
|
|
35
35
|
scrollable: boolean;
|
|
36
|
+
modal: boolean;
|
|
36
37
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
37
38
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
39
|
declare const _default: typeof __VLS_export;
|