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
|
@@ -158,9 +158,20 @@ export declare const mergeRowClasses: <Item>(global: RowClasses<Item> | undefine
|
|
|
158
158
|
export declare const mergeCellClasses: (base: Classes, global?: ColumnClasses, column?: ColumnClasses, content?: any, key?: string, item?: any) => Classes;
|
|
159
159
|
/** Estimated width of `text` on one line, in em. */
|
|
160
160
|
export declare const textEm: (text: string) => number;
|
|
161
|
+
/** The per-character table runs up to 8% short of Arial on short values
|
|
162
|
+
* (measured on the corpus): a unit is reserved with that margin. It is the
|
|
163
|
+
* ESTIMATE's margin: after mount the real widths raise a reservation past it
|
|
164
|
+
* (`profileValues`' `measure`), never below it. */
|
|
165
|
+
export declare const UNIT_MARGIN = 1.08;
|
|
166
|
+
/** The estimate reads only some of `count` rows (`sampleForEstimate`). */
|
|
167
|
+
export declare const estimateSamples: (count: number) => boolean;
|
|
161
168
|
export declare const sampleForEstimate: <T>(rows: readonly T[]) => readonly T[];
|
|
162
169
|
/** What a column's values say, apart from its label and padding: figured
|
|
163
|
-
* once per set of values, so a resize re-runs only `estimateFromProfile`.
|
|
170
|
+
* once per set of values, so a resize re-runs only `estimateFromProfile`.
|
|
171
|
+
* `units`, `coreUnits`, `token`, `proseUnits` and `proseWord` are
|
|
172
|
+
* RESERVATIONS: the estimate with its margin, raised to the measured width
|
|
173
|
+
* where one is known. The rest is estimate only (comfort widths, and the
|
|
174
|
+
* pre-corpus floor `squeeze` is what rendered before, by definition). */
|
|
164
175
|
export type ColumnProfile = {
|
|
165
176
|
p75: number;
|
|
166
177
|
p90: number;
|
|
@@ -172,12 +183,79 @@ export type ColumnProfile = {
|
|
|
172
183
|
token: number;
|
|
173
184
|
/** The widest unit of a prose column's short values. */
|
|
174
185
|
proseUnits: number;
|
|
186
|
+
/** The longest word a prose column holds (up to 8em, no margin). */
|
|
187
|
+
proseWord: number;
|
|
175
188
|
/** Share of long spaced values, figures excluded, and as Q9.1b counted. */
|
|
176
189
|
spaced: number;
|
|
177
190
|
spacedLegacy: number;
|
|
191
|
+
/** Most values are long and spaced: the column wraps by design. */
|
|
192
|
+
prose: boolean;
|
|
193
|
+
/** A short column's 95th-percentile unit, past which a value is a rare
|
|
194
|
+
* outlier (`Infinity`: fewer than 20 values, or prose). */
|
|
195
|
+
usual: number;
|
|
196
|
+
};
|
|
197
|
+
/** A value's real widths, in em of the body text (`--bb-fs`), measured once
|
|
198
|
+
* the table has rendered: the whole value on one line, and its widest
|
|
199
|
+
* space-separated run. */
|
|
200
|
+
export type MeasuredText = {
|
|
201
|
+
whole?: number;
|
|
202
|
+
word?: number;
|
|
203
|
+
};
|
|
204
|
+
/** Looks up a value's measured widths (`undefined`: not measured). */
|
|
205
|
+
export type MeasureLookup = (text: string) => MeasuredText | undefined;
|
|
206
|
+
/** The whole px a measured width reserves: at least 0.05px above the real
|
|
207
|
+
* width, which a box of exactly that width wraps in some engine at some
|
|
208
|
+
* zoom (and `Math.floor` of it wraps in every engine). */
|
|
209
|
+
export declare const reservePx: (px: number) => number;
|
|
210
|
+
/**
|
|
211
|
+
* The header spacer's px for a fitted floor (`--floor`): the text share of
|
|
212
|
+
* `floorEm` (the padding `padEm` apart), rounded DOWN so the floors still sum
|
|
213
|
+
* under the room. The epsilon keeps a floor that IS a reserved whole px at
|
|
214
|
+
* it: `(n / em + pad) - pad` comes back a hair under `n / em` for about one
|
|
215
|
+
* n in three, and flooring that would drop a held value's px.
|
|
216
|
+
*/
|
|
217
|
+
export declare const floorTextPx: (floorEm: number, padEm: number, em: number) => number;
|
|
218
|
+
/** A text's runs between the spaces a line breaks at (a no-break space
|
|
219
|
+
* joins: `1.234,56\u00a0€` is one run), as measured and looked up. */
|
|
220
|
+
export declare const breakRuns: (text: string) => string[];
|
|
221
|
+
/**
|
|
222
|
+
* Profile a column's display values; `null` when none has text.
|
|
223
|
+
*
|
|
224
|
+
* `measure` gives the real widths the browser measured (in em of the body
|
|
225
|
+
* text, already rounded up, see `reservePx`). Each reservation is the larger
|
|
226
|
+
* of the estimate with its margin and the measured width of the part the
|
|
227
|
+
* value is held by (`cellRole`): the whole value for `line`/`token`, its
|
|
228
|
+
* longest run for `word`. RAISE ONLY: a font narrower than the estimate
|
|
229
|
+
* keeps the estimate, so without `measure` (the server, the first render)
|
|
230
|
+
* the numbers are exactly the estimate's.
|
|
231
|
+
*/
|
|
232
|
+
export declare const profileValues: (values: readonly string[], measure?: MeasureLookup) => ColumnProfile | null;
|
|
233
|
+
/**
|
|
234
|
+
* The internal classes a body cell of an estimated column carries: how the
|
|
235
|
+
* fit holds its value (`--line`: whole, with spaces; `--token`: whole, one
|
|
236
|
+
* run; `--word`: by its longest word), and `--outlier` for a short column's
|
|
237
|
+
* rare outlier. From the estimate only, so the server writes the same
|
|
238
|
+
* classes; the table root's hold level (`fitFloors`' `hold`) turns them on.
|
|
239
|
+
* Not public API, like `--fluid`.
|
|
240
|
+
*/
|
|
241
|
+
export declare const cellRole: (text: string, profile: {
|
|
242
|
+
prose: boolean;
|
|
243
|
+
usual: number;
|
|
244
|
+
}) => string[];
|
|
245
|
+
/**
|
|
246
|
+
* The texts worth measuring in a column: every value that could be the
|
|
247
|
+
* widest of a reservation (within 1.5x of the estimated widest), whole for a
|
|
248
|
+
* value held whole, by its space-separated runs otherwise (`runs` also feed
|
|
249
|
+
* `token`, the longest unbreakable run). Same-shape values (every date of a
|
|
250
|
+
* column) are all candidates: the estimate cannot rank them, the font can.
|
|
251
|
+
*
|
|
252
|
+
* `prose` is the column profile's (`profileValues`, over every value, the
|
|
253
|
+
* call `cellRole` follows); by default it is figured the same way here.
|
|
254
|
+
*/
|
|
255
|
+
export declare const measureCandidates: (values: readonly string[], prose?: boolean) => {
|
|
256
|
+
whole: string[];
|
|
257
|
+
runs: string[];
|
|
178
258
|
};
|
|
179
|
-
/** Profile a column's display values; `null` when none has text. */
|
|
180
|
-
export declare const profileValues: (values: readonly string[]) => ColumnProfile | null;
|
|
181
259
|
/** One column's estimate, in em of the body text, cell padding included. */
|
|
182
260
|
export type TrackEstimate = {
|
|
183
261
|
/** Short values: the width they fit on one line (capped). */
|
|
@@ -229,16 +307,36 @@ export declare function estimateTrack(values: string[], label: string, padEm?: n
|
|
|
229
307
|
},
|
|
230
308
|
/** The padding the pre-corpus floor was figured with (`squeeze`). */
|
|
231
309
|
legacyPadEm?: number): TrackEstimate;
|
|
232
|
-
/**
|
|
310
|
+
/** A heading measured in the header's own type, in em of the body text:
|
|
311
|
+
* `one` on one line, `two` the wider line of its most balanced split. */
|
|
312
|
+
export type MeasuredLabel = {
|
|
313
|
+
one: number;
|
|
314
|
+
two: number;
|
|
315
|
+
};
|
|
316
|
+
/** `estimateTrack` from a column's `profileValues`. `labelMeasured` raises
|
|
317
|
+
* the label's widths to the measured ones (never lowers them). */
|
|
233
318
|
export declare function estimateFromProfile(p: ColumnProfile | null, label: string, padEm?: number, headerExtraEm?: number, labelType?: {
|
|
234
319
|
scale: number;
|
|
235
320
|
spacingEm: number;
|
|
236
|
-
}, legacyPadEm?: number): TrackEstimate;
|
|
321
|
+
}, legacyPadEm?: number, labelMeasured?: MeasuredLabel): TrackEstimate;
|
|
322
|
+
/**
|
|
323
|
+
* How much of what the estimate holds the fit's floors still cover, so the
|
|
324
|
+
* table root may promise it (index.css: held cells floor their own track):
|
|
325
|
+
* - `units`: every held value whole (`--line`/`--token`), every `--word` by
|
|
326
|
+
* its word;
|
|
327
|
+
* - `core`: the same without the rare outliers (`--outlier`);
|
|
328
|
+
* - `words`: a single-run value whole (`--token`), the rest by its words;
|
|
329
|
+
* - `none`: nothing (the floors went below the longest runs).
|
|
330
|
+
*/
|
|
331
|
+
export type HoldLevel = 'units' | 'core' | 'words' | 'none';
|
|
237
332
|
/** `fitFloors`' answer: each column's floor, and the columns whose heading
|
|
238
|
-
* is given two lines to keep the table from scrolling.
|
|
333
|
+
* is given two lines to keep the table from scrolling. `stage` is the stage
|
|
334
|
+
* the fit stopped at (6 split as 6a/6b/6c in `hold`). */
|
|
239
335
|
export type FittedFloors = {
|
|
240
336
|
floors: Record<string, number>;
|
|
241
337
|
wrapLabels: Set<string>;
|
|
338
|
+
stage: 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
339
|
+
hold: HoldLevel;
|
|
242
340
|
};
|
|
243
341
|
/**
|
|
244
342
|
* Fit the estimated columns into the room left for them (same unit as the
|
|
@@ -257,5 +355,14 @@ export type FittedFloors = {
|
|
|
257
355
|
* 7. Even that does not fit: the table scrolls anyway, so nothing is
|
|
258
356
|
* squeezed for it — short values at `hard`, prose at its floor, headings
|
|
259
357
|
* on one line.
|
|
358
|
+
*
|
|
359
|
+
* `hold` says what the floors still cover, for the table root to promise:
|
|
360
|
+
* `units` at every stage but 6 (each floor is at least `hard` or `wrapped`,
|
|
361
|
+
* which reserve every held value), `core` at 6 while the outliers alone give
|
|
362
|
+
* way, `words` while the floors stay above every column's longest run
|
|
363
|
+
* (`token`: a single-run value is whole there), `none` past that. A held
|
|
364
|
+
* cell floors its own track (index.css), so its reservation must never
|
|
365
|
+
* exceed its column's floor at that level, or a table that fitted would
|
|
366
|
+
* start to scroll; estimatedFloors.node.test.ts checks exactly that.
|
|
260
367
|
*/
|
|
261
368
|
export declare function fitFloors(estimates: Record<string, TrackEstimate>, available: number): FittedFloors;
|
|
@@ -180,116 +180,169 @@ var n = /^-?\d*\.?\d+px$/, r = (e) => {
|
|
|
180
180
|
}
|
|
181
181
|
let r = Math.min(10, Math.max(t, e.p90));
|
|
182
182
|
return Math.max(t, Math.min(r, 6)) + n;
|
|
183
|
-
}, B = 1e3, V = 1e3, H = (e) => {
|
|
184
|
-
if (e.length
|
|
183
|
+
}, B = 1e3, V = 1e3, H = (e) => e > 2e3, U = (e) => {
|
|
184
|
+
if (!H(e.length)) return e;
|
|
185
185
|
let t = e.slice(0, B), n = (e.length - B) / V;
|
|
186
186
|
for (let r = 0; r < V; r++) t.push(e[B + Math.floor(r * n)]);
|
|
187
187
|
return t;
|
|
188
|
-
},
|
|
189
|
-
let
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
},
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
188
|
+
}, W = (e) => Math.ceil(e + .05), G = (e, t, n) => Math.floor(Math.max(0, e - t) * n + 1e-4), K = 8, q = 20, J = /[ \t\n]/, Y = (e) => e.split(/[ \t\n]+/).filter(Boolean), X = (e, t, n) => (n ? t.width <= E : t.unit > 0 && t.unit >= t.width - 1e-9) ? J.test(e) ? "line" : "token" : n ? t.word > 0 && t.word <= K ? "word" : null : t.word > 0 && t.word <= t.unit ? "word" : null, Z = (e, t) => {
|
|
189
|
+
let n = 0, r = 0;
|
|
190
|
+
return e.forEach((e, i) => {
|
|
191
|
+
e.length <= 24 || !/\s/.test(e) || (r++, t[i].figures || n++);
|
|
192
|
+
}), {
|
|
193
|
+
spaced: n / e.length,
|
|
194
|
+
spacedLegacy: r / e.length
|
|
195
|
+
};
|
|
196
|
+
}, Q = (e, t) => {
|
|
197
|
+
let n = e.map((e) => e.trim()).filter(Boolean);
|
|
198
|
+
if (!n.length) return null;
|
|
199
|
+
let r = n.map(I), i = r.map((e) => e.width).sort((e, t) => e - t), a = r.map((e) => e.unit).sort((e, t) => e - t), o = C(a, .95), s = Z(n, r), c = s.spaced >= .5, l = a.length >= q, u = 0, d = 0, f = 0, p = 0, m = 0, h = 0;
|
|
200
|
+
return n.forEach((e, n) => {
|
|
201
|
+
let i = r[n];
|
|
202
|
+
i.word > h && (h = i.word);
|
|
203
|
+
let a = t?.(e), s = a?.word ?? (J.test(e) ? void 0 : a?.whole);
|
|
204
|
+
if (i.unit > 0) {
|
|
205
|
+
let e = i.unit >= i.width - 1e-9, t = Math.max(i.unit * k, (e ? a?.whole : s) ?? 0);
|
|
206
|
+
t > u && (u = t), (!l || i.unit <= o) && t > d && (d = t), i.width <= E && t > p && (p = t);
|
|
207
|
+
}
|
|
208
|
+
if (i.word <= O) {
|
|
209
|
+
let e = Math.max(i.word * k, s ?? 0);
|
|
210
|
+
e > f && (f = e);
|
|
211
|
+
}
|
|
212
|
+
i.word <= K && s && s > m && (m = s);
|
|
213
|
+
}), {
|
|
214
|
+
p75: C(i, .75),
|
|
215
|
+
p90: C(i, .9),
|
|
216
|
+
longestWord: h,
|
|
217
|
+
units: u,
|
|
218
|
+
coreUnits: d,
|
|
219
|
+
token: f,
|
|
220
|
+
proseUnits: p,
|
|
221
|
+
proseWord: Math.max(m, Math.min(K, h)),
|
|
222
|
+
...s,
|
|
223
|
+
prose: c,
|
|
224
|
+
usual: l && !c ? o : Infinity
|
|
225
|
+
};
|
|
226
|
+
}, ee = (e, t) => {
|
|
227
|
+
let n = e.trim();
|
|
228
|
+
if (!n) return [];
|
|
229
|
+
let r = I(n), i = X(n, r, t.prose);
|
|
230
|
+
if (!i) return [];
|
|
231
|
+
let a = `bb-table__cell--${i}`;
|
|
232
|
+
return r.unit > t.usual ? [a, "bb-table__cell--outlier"] : [a];
|
|
233
|
+
}, $ = 1.5, te = (e, t) => {
|
|
234
|
+
let n = e.map((e) => e.trim()).filter(Boolean), r = [...new Set(n)], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
|
|
235
|
+
if (!r.length) return {
|
|
236
|
+
whole: [],
|
|
237
|
+
runs: []
|
|
238
|
+
};
|
|
239
|
+
let o = r.map(I);
|
|
240
|
+
t ??= Z(n, n.map(I)).spaced >= .5;
|
|
241
|
+
let s = 0, c = 0, l = 0;
|
|
242
|
+
o.forEach((e) => {
|
|
243
|
+
e.unit > s && (s = e.unit), e.word <= O && e.word > c && (c = e.word), e.word <= K && e.word > l && (l = e.word);
|
|
244
|
+
});
|
|
245
|
+
let u = (e, t) => {
|
|
246
|
+
if (!J.test(e)) return void a.add(e);
|
|
247
|
+
for (let n of Y(e)) S(n) * $ >= t.word && a.add(n);
|
|
248
|
+
};
|
|
249
|
+
return r.forEach((e, n) => {
|
|
250
|
+
let r = o[n], a = X(e, r, t);
|
|
251
|
+
if (!a) {
|
|
252
|
+
r.word <= O && r.word * $ >= c && u(e, r);
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
(r.unit * $ >= s || r.word * $ >= c || t && r.word * $ >= l) && (a === "word" ? u(e, r) : (i.add(e), a === "line" && u(e, r)));
|
|
198
256
|
}), {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
longestWord: U(n.map((e) => e.word)),
|
|
202
|
-
units: i.at(-1),
|
|
203
|
-
coreUnits: i.length >= 20 ? U(i.filter((e) => e <= a)) : i.at(-1),
|
|
204
|
-
token: U(n.map((e) => e.word <= O ? e.word : 0)),
|
|
205
|
-
proseUnits: U(n.map((e) => e.width <= E ? e.unit : 0)),
|
|
206
|
-
spaced: o / t.length,
|
|
207
|
-
spacedLegacy: s / t.length
|
|
257
|
+
whole: [...i],
|
|
258
|
+
runs: [...a]
|
|
208
259
|
};
|
|
209
260
|
};
|
|
210
|
-
function
|
|
261
|
+
function ne(e, t, n = 1.5, r = 0, i = {
|
|
211
262
|
scale: 1,
|
|
212
263
|
spacingEm: 0
|
|
213
|
-
}, a = n) {
|
|
214
|
-
let
|
|
264
|
+
}, a = n, o) {
|
|
265
|
+
let s = (e, t) => (t * 1.08 + i.spacingEm * [...e].length) * i.scale + r, c = Math.max(s(t, S(t)), o ? o.one + r : 0), l = w(t).length > 1 && S(t) > L ? Math.max(s(t, R(t)), o ? o.two + r : 0) : c;
|
|
215
266
|
if (!e) return {
|
|
216
|
-
min:
|
|
217
|
-
target:
|
|
218
|
-
hard:
|
|
219
|
-
wrapped:
|
|
220
|
-
squeeze:
|
|
221
|
-
label:
|
|
222
|
-
labelWrap:
|
|
267
|
+
min: c + n,
|
|
268
|
+
target: c + n,
|
|
269
|
+
hard: c + n,
|
|
270
|
+
wrapped: l + n,
|
|
271
|
+
squeeze: c + a,
|
|
272
|
+
label: c + n,
|
|
273
|
+
labelWrap: l + n,
|
|
223
274
|
token: n,
|
|
224
|
-
core:
|
|
275
|
+
core: l + n,
|
|
225
276
|
kind: "short"
|
|
226
277
|
};
|
|
227
|
-
let
|
|
228
|
-
if (e.
|
|
229
|
-
let t = Math.min(30, Math.max(10, e.p75 / 3)), r = Math.min(16, Math.max(10,
|
|
278
|
+
let u = z(e, c, a), d = e.units, f = e.token + n;
|
|
279
|
+
if (e.prose) {
|
|
280
|
+
let t = Math.min(30, Math.max(10, e.p75 / 3)), r = Math.min(16, Math.max(10, c, e.longestWord)), i = e.proseUnits, a = e.proseWord, o = Math.max(c, a, i), s = Math.max(l, a, i), d = Math.max(t, r, o);
|
|
230
281
|
return {
|
|
231
282
|
min: r + n,
|
|
232
|
-
target:
|
|
283
|
+
target: d + n,
|
|
233
284
|
hard: o + n,
|
|
234
|
-
wrapped:
|
|
235
|
-
squeeze:
|
|
236
|
-
label:
|
|
237
|
-
labelWrap:
|
|
238
|
-
token: Math.min(
|
|
239
|
-
core:
|
|
285
|
+
wrapped: s + n,
|
|
286
|
+
squeeze: u,
|
|
287
|
+
label: c + n,
|
|
288
|
+
labelWrap: l + n,
|
|
289
|
+
token: Math.min(f, o + n),
|
|
290
|
+
core: s + n,
|
|
240
291
|
kind: "prose"
|
|
241
292
|
};
|
|
242
293
|
}
|
|
243
|
-
let
|
|
294
|
+
let p = e.p90, m = Math.max(Math.min(10, p), c, d), h = Math.min(22, Math.max(m, p)), g = Math.max(d, Math.min(10, p, 6)), _ = Math.max(l, e.coreUnits, Math.min(10, p, 6)) + n;
|
|
244
295
|
return {
|
|
245
|
-
min:
|
|
246
|
-
target:
|
|
247
|
-
hard: Math.max(
|
|
248
|
-
wrapped: Math.max(
|
|
249
|
-
squeeze:
|
|
250
|
-
label:
|
|
251
|
-
labelWrap:
|
|
252
|
-
token: Math.min(
|
|
253
|
-
core:
|
|
296
|
+
min: m + n,
|
|
297
|
+
target: h + n,
|
|
298
|
+
hard: Math.max(c, g) + n,
|
|
299
|
+
wrapped: Math.max(l, g) + n,
|
|
300
|
+
squeeze: u,
|
|
301
|
+
label: c + n,
|
|
302
|
+
labelWrap: l + n,
|
|
303
|
+
token: Math.min(f, Math.max(l, g) + n),
|
|
304
|
+
core: _,
|
|
254
305
|
kind: "short"
|
|
255
306
|
};
|
|
256
307
|
}
|
|
257
|
-
function
|
|
258
|
-
let n = Object.keys(e), r = (t) => e[t], i = (e) => r(e).kind === "prose", a = n.filter((e) => !i(e)), o = n.filter(i), s = (e) => i(e) ? r(e).target : r(e).min, c = (e) => Math.max(r(e).hard, r(e).target / 2), l = (e) => Math.max(r(e).wrapped, r(e).target / 2), u = (e, t) => e.reduce((e, n) => e + t(n), 0), d = {}, f = /* @__PURE__ */ new Set(), p = () => ({
|
|
308
|
+
function re(e, t) {
|
|
309
|
+
let n = Object.keys(e), r = (t) => e[t], i = (e) => r(e).kind === "prose", a = n.filter((e) => !i(e)), o = n.filter(i), s = (e) => i(e) ? r(e).target : r(e).min, c = (e) => Math.max(r(e).hard, r(e).target / 2), l = (e) => Math.max(r(e).wrapped, r(e).target / 2), u = (e, t) => e.reduce((e, n) => e + t(n), 0), d = {}, f = /* @__PURE__ */ new Set(), p = (e, t = "units") => ({
|
|
259
310
|
floors: d,
|
|
260
|
-
wrapLabels: f
|
|
311
|
+
wrapLabels: f,
|
|
312
|
+
stage: e,
|
|
313
|
+
hold: t
|
|
261
314
|
}), m = (e, t, n, r) => {
|
|
262
315
|
let i = u(e, n), a = u(e, r), o = i === a ? 1 : Math.max(0, Math.min(1, (t - a) / (i - a)));
|
|
263
316
|
for (let t of e) d[t] = r(t) + (n(t) - r(t)) * o;
|
|
264
317
|
}, h = (e) => r(e).hard;
|
|
265
318
|
if (!(t > 0) || u(n, s) <= t) {
|
|
266
319
|
for (let e of n) d[e] = s(e);
|
|
267
|
-
return p();
|
|
320
|
+
return p(1);
|
|
268
321
|
}
|
|
269
322
|
if (u(a, h) + u(o, s) <= t) {
|
|
270
323
|
for (let e of o) d[e] = s(e);
|
|
271
|
-
return m(a, t - u(o, s), s, h), p();
|
|
324
|
+
return m(a, t - u(o, s), s, h), p(2);
|
|
272
325
|
}
|
|
273
326
|
if (u(a, h) + u(o, c) <= t) {
|
|
274
327
|
for (let e of a) d[e] = h(e);
|
|
275
|
-
return m(o, t - u(a, h), s, c), p();
|
|
328
|
+
return m(o, t - u(a, h), s, c), p(3);
|
|
276
329
|
}
|
|
277
330
|
let g = (e) => i(e) ? l(e) : r(e).wrapped, _ = (e) => i(e) ? c(e) : h(e), v = () => {
|
|
278
331
|
for (let e of n) d[e] < r(e).label - 1e-9 && r(e).labelWrap < r(e).label && f.add(e);
|
|
279
332
|
};
|
|
280
|
-
if (u(n, g) <= t) return m(n, t, _, g), v(), p();
|
|
333
|
+
if (u(n, g) <= t) return m(n, t, _, g), v(), p(4);
|
|
281
334
|
if (u(a, g) + u(o, (e) => r(e).wrapped) <= t) {
|
|
282
335
|
for (let e of a) d[e] = g(e);
|
|
283
|
-
return m(o, t - u(a, g), g, (e) => r(e).wrapped), v(), p();
|
|
336
|
+
return m(o, t - u(a, g), g, (e) => r(e).wrapped), v(), p(5);
|
|
284
337
|
}
|
|
285
338
|
let y = (e) => Math.max(Math.min(r(e).wrapped, r(e).squeeze), r(e).labelWrap);
|
|
286
339
|
if (u(n, (e) => Math.max(r(e).squeeze, r(e).labelWrap)) <= t + .1 * n.length) {
|
|
287
|
-
if (u(n, (e) => r(e).core) <= t) return m(n, t, (e) => r(e).wrapped, (e) => r(e).core), v(), p();
|
|
288
|
-
let e = (e) => Math.max(y(e), Math.min(r(e).wrapped, r(e).token));
|
|
289
|
-
return
|
|
340
|
+
if (u(n, (e) => r(e).core) <= t) return m(n, t, (e) => r(e).wrapped, (e) => r(e).core), v(), p(6, "core");
|
|
341
|
+
let e = (e) => Math.max(y(e), Math.min(r(e).wrapped, r(e).token)), i = u(n, e) <= t;
|
|
342
|
+
return i ? m(n, t, (e) => r(e).wrapped, e) : m(n, t, e, y), v(), p(6, i ? "words" : "none");
|
|
290
343
|
}
|
|
291
344
|
for (let e of n) d[e] = _(e);
|
|
292
|
-
return p();
|
|
345
|
+
return p(7);
|
|
293
346
|
}
|
|
294
347
|
//#endregion
|
|
295
|
-
export { a as applyFixedTableColumns, m as cellsLabelText, p as columnKeyToSlotName, o as completeColumnOrder,
|
|
348
|
+
export { k as UNIT_MARGIN, a as applyFixedTableColumns, Y as breakRuns, ee as cellRole, m as cellsLabelText, p as columnKeyToSlotName, o as completeColumnOrder, ne as estimateFromProfile, H as estimateSamples, re as fitFloors, G as floorTextPx, l as lockColumnOrder, te as measureCandidates, v as mergeCellClasses, g as mergeHeaderClasses, _ as mergeRowClasses, c as moveColumnKey, s as orderColumns, Q as profileValues, r as readResolvedTracks, u as reorderRange, W as reservePx, h as rowNameText, d as sameColumnOrder, U as sampleForEstimate, S as textEm };
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { removedPropsFor as
|
|
3
|
-
import { slotKey as
|
|
4
|
-
import { warnRemovedAttrs as
|
|
5
|
-
import { createTabsContext as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import u from "./
|
|
9
|
-
import
|
|
10
|
-
import
|
|
1
|
+
import { registeredVariantNames as e, usePassthrough as t, variantPt as n } from "../../composables/usePassthrough.js";
|
|
2
|
+
import { removedPropsFor as r } from "../../deprecation/removedProps.js";
|
|
3
|
+
import { slotKey as i } from "../../utilities/functions/slotKey.js";
|
|
4
|
+
import { warnRemovedAttrs as a } from "../../utilities/functions/warnRemovedAttrs.js";
|
|
5
|
+
import { createTabsContext as o } from "../../composables/useBbTabsContext.js";
|
|
6
|
+
import { TABS_VARIANTS as s } from "../../types/TabsVariant.js";
|
|
7
|
+
import { omitName as c, pickName as l } from "./tablistName.js";
|
|
8
|
+
import { BB_TABS_LIST_HOST_PARTS as u, BB_TABS_LIST_PT as d, BB_TABS_PANELS_HOST_PARTS as f, BB_TABS_PT as p } from "./types.js";
|
|
9
|
+
import m from "./BbTabsList.vue.js";
|
|
10
|
+
import h from "./BbTabsPanels.vue.js";
|
|
11
|
+
import { createElementBlock as g, createSlots as _, createVNode as v, defineComponent as y, guardReactiveProps as b, mergeProps as x, normalizeProps as S, openBlock as C, renderList as w, renderSlot as T, unref as E, useAttrs as D, useSlots as O, withCtx as k } from "vue";
|
|
11
12
|
//#region src/components/BbTabs/BbTabs.vue?vue&type=script&setup=true&lang.ts
|
|
12
|
-
var
|
|
13
|
+
var A = ["id"], j = /*@__PURE__*/ y({
|
|
14
|
+
mixins: [n(p)],
|
|
13
15
|
inheritAttrs: !1,
|
|
14
16
|
__name: "BbTabs",
|
|
15
17
|
props: {
|
|
@@ -33,6 +35,18 @@ var E = ["id"], D = /*@__PURE__*/ h({
|
|
|
33
35
|
"pt:panels:disabled": {},
|
|
34
36
|
"pt:panel:active": {},
|
|
35
37
|
"pt:panel:disabled": {},
|
|
38
|
+
"pt:wrapper:pill": {},
|
|
39
|
+
"pt:wrapper:line": {},
|
|
40
|
+
"pt:wrapper:none": {},
|
|
41
|
+
"pt:list:pill": {},
|
|
42
|
+
"pt:list:line": {},
|
|
43
|
+
"pt:list:none": {},
|
|
44
|
+
"pt:item:pill": {},
|
|
45
|
+
"pt:item:line": {},
|
|
46
|
+
"pt:item:none": {},
|
|
47
|
+
"pt:indicator:pill": {},
|
|
48
|
+
"pt:indicator:line": {},
|
|
49
|
+
"pt:indicator:none": {},
|
|
36
50
|
"pt:item": {},
|
|
37
51
|
pt: {},
|
|
38
52
|
headers: {},
|
|
@@ -71,37 +85,41 @@ var E = ["id"], D = /*@__PURE__*/ h({
|
|
|
71
85
|
variant: { default: "pill" }
|
|
72
86
|
},
|
|
73
87
|
emits: ["update:modelValue"],
|
|
74
|
-
setup(
|
|
75
|
-
let
|
|
76
|
-
process.env.NODE_ENV !== "production" &&
|
|
77
|
-
slotKeys: () => (
|
|
88
|
+
setup(n, { emit: y }) {
|
|
89
|
+
let j = n, M = y;
|
|
90
|
+
process.env.NODE_ENV !== "production" && a("BbTabs", r("BbTabs"), {
|
|
91
|
+
slotKeys: () => (j.items ?? []).map((e) => e.value),
|
|
78
92
|
family: "BbTabs"
|
|
79
93
|
});
|
|
80
|
-
let
|
|
94
|
+
let N = O(), P = () => (j.items ?? []).some((e) => !!N[i(e.value)]), { id: F, direction: I, block: L, compact: R, disabled: z } = o(j, M), B = D(), V = t({
|
|
81
95
|
component: "BbTabs",
|
|
82
|
-
attrs:
|
|
83
|
-
props:
|
|
84
|
-
parts:
|
|
85
|
-
states:
|
|
86
|
-
active: { disabled: () => !!
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
96
|
+
attrs: B,
|
|
97
|
+
props: j,
|
|
98
|
+
parts: p.parts,
|
|
99
|
+
states: p.states,
|
|
100
|
+
active: { disabled: () => !!j.disabled },
|
|
101
|
+
variant: {
|
|
102
|
+
...p.variant,
|
|
103
|
+
current: () => j.variant
|
|
104
|
+
}
|
|
105
|
+
}), H = [...d.states, ...e(s, "tabsVariants")], U = () => c(V.rootAttrs), W = (e) => Object.fromEntries(Object.entries(e).map(([e, t]) => [t, e])), G = W(u), K = W(f);
|
|
106
|
+
return (e, t) => (C(), g("div", x({
|
|
107
|
+
id: E(F),
|
|
90
108
|
class: ["bb-tabs", {
|
|
91
|
-
[`bb-tabs--${
|
|
92
|
-
"bb-tabs--block":
|
|
93
|
-
"bb-tabs--compact":
|
|
94
|
-
"bb-tabs--disabled":
|
|
95
|
-
"bb-tabs--no-panels": !
|
|
109
|
+
[`bb-tabs--${E(I)}`]: !0,
|
|
110
|
+
"bb-tabs--block": E(L),
|
|
111
|
+
"bb-tabs--compact": E(R),
|
|
112
|
+
"bb-tabs--disabled": E(z),
|
|
113
|
+
"bb-tabs--no-panels": !P()
|
|
96
114
|
}]
|
|
97
|
-
},
|
|
115
|
+
}, U()), [v(m, x(E(l)(E(B)), { pt: E(V).forwardInstance(E(G), H) }), _({ _: 2 }, [w(E(N), (t, n) => ({
|
|
98
116
|
name: n,
|
|
99
|
-
fn:
|
|
100
|
-
}))]), 1040, ["pt"]),
|
|
117
|
+
fn: k((t) => [T(e.$slots, n, S(b(t)))])
|
|
118
|
+
}))]), 1040, ["pt"]), v(h, { pt: E(V).forwardInstance(E(K)) }, _({ _: 2 }, [w(E(N), (t, n) => ({
|
|
101
119
|
name: n,
|
|
102
|
-
fn:
|
|
103
|
-
}))]), 1032, ["pt"])], 16,
|
|
120
|
+
fn: k((t) => [T(e.$slots, n, S(b(t)))])
|
|
121
|
+
}))]), 1032, ["pt"])], 16, A));
|
|
104
122
|
}
|
|
105
123
|
});
|
|
106
124
|
//#endregion
|
|
107
|
-
export {
|
|
125
|
+
export { j as default };
|