bitboss-ui 3.0.0-beta.35 → 3.0.0-beta.36
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 +1 -1
- package/bin/bitboss-ui-mcp.mjs +12 -1
- package/dist/ai/BbAccordion.md +6 -6
- package/dist/ai/BbAlert.md +6 -1
- package/dist/ai/BbAvatar.md +1 -0
- package/dist/ai/BbBadge.md +15 -15
- package/dist/ai/BbBadgeButton.md +2 -2
- package/dist/ai/BbBreadcrumbs.md +11 -4
- package/dist/ai/BbButton.md +24 -21
- package/dist/ai/BbCalendar.md +23 -15
- package/dist/ai/BbCheckbox.md +13 -14
- package/dist/ai/BbCheckboxGroup.md +23 -16
- package/dist/ai/BbColorInput.md +22 -23
- package/dist/ai/BbColorPalette.md +6 -6
- package/dist/ai/BbConfirm.md +3 -3
- package/dist/ai/BbConfirmPortal.md +1 -1
- package/dist/ai/BbDatePicker.md +27 -24
- package/dist/ai/BbDatePickerInput.md +23 -34
- package/dist/ai/BbDialog.md +7 -7
- package/dist/ai/BbDropdown.md +17 -13
- package/dist/ai/BbDropdownButton.md +26 -15
- package/dist/ai/BbDropdownGroup.md +5 -5
- package/dist/ai/BbDropzone.md +6 -6
- package/dist/ai/BbForm.md +1 -1
- package/dist/ai/BbNumberInput.md +19 -20
- package/dist/ai/BbOffCanvas.md +8 -8
- package/dist/ai/BbPagination.md +2 -2
- package/dist/ai/BbPopover.md +7 -7
- package/dist/ai/BbRadio.md +13 -14
- package/dist/ai/BbRadioGroup.md +23 -16
- package/dist/ai/BbRating.md +18 -21
- package/dist/ai/BbSelect.md +57 -35
- package/dist/ai/BbSelectPopover.md +29 -29
- package/dist/ai/BbSlider.md +12 -13
- package/dist/ai/BbSwitch.md +14 -15
- package/dist/ai/BbSwitchGroup.md +23 -16
- package/dist/ai/BbTable.md +217 -58
- package/dist/ai/BbTabs.md +168 -88
- package/dist/ai/BbTabsList.md +28 -9
- package/dist/ai/{BbTabsPanes.md → BbTabsPanels.md} +28 -10
- package/dist/ai/BbTabsRoot.md +9 -27
- package/dist/ai/BbTag.md +52 -51
- package/dist/ai/BbTextInput.md +22 -21
- package/dist/ai/BbTextarea.md +23 -22
- package/dist/ai/BbTimePicker.md +18 -13
- package/dist/ai/BbTimePickerInput.md +24 -21
- package/dist/ai/BbToast.md +128 -31
- package/dist/ai/BbToastPortal.md +18 -18
- package/dist/ai/BbTooltip.md +2 -2
- package/dist/ai/BbTree.md +6 -6
- package/dist/ai/ChipsBox.md +20 -20
- package/dist/ai/CommaBox.md +2 -2
- package/dist/ai/CommonFieldInput.md +2 -2
- package/dist/ai/CommonPopover.md +5 -5
- package/dist/ai/CommonTimeSelector.md +8 -6
- package/dist/ai/FlatListBox.md +4 -4
- package/dist/ai/GroupedListBox.md +4 -4
- package/dist/ai/ListBox.md +8 -8
- package/dist/ai/OptionsContainer.md +1 -1
- package/dist/ai/changelog.json +102 -10
- package/dist/ai/components.json +3424 -1212
- package/dist/ai/composables/useBbTableContext.md +7 -3
- package/dist/ai/composables/useToast.md +1 -1
- package/dist/ai/guides/design-language.md +33 -33
- package/dist/ai/guides/design-tokens.md +19 -19
- package/dist/ai/guides/icons-policy.md +5 -7
- package/dist/ai/guides/installation-and-plugin-setup.md +34 -1
- package/dist/ai/guides/migration/components/bb-badge.md +5 -5
- package/dist/ai/guides/migration/components/bb-checkbox-group.md +17 -18
- package/dist/ai/guides/migration/components/bb-chip.md +6 -6
- package/dist/ai/guides/migration/components/bb-date-picker-input.md +5 -5
- package/dist/ai/guides/migration/components/bb-dialog.md +4 -4
- package/dist/ai/guides/migration/components/bb-rating.md +11 -10
- package/dist/ai/guides/migration/components/bb-select.md +1 -1
- package/dist/ai/guides/migration/components/bb-table.md +27 -27
- package/dist/ai/guides/migration/components/bb-tabs.md +27 -21
- package/dist/ai/guides/migration/components/bb-tag.md +9 -8
- package/dist/ai/guides/migration/components/bb-toast.md +1 -1
- package/dist/ai/guides/migration/components/bb-tree.md +1 -1
- package/dist/ai/guides/migration/components/use-confirm.md +1 -1
- package/dist/ai/guides/migration/v2-to-v3.md +134 -94
- package/dist/ai/guides/migration/v3-beta-css-classes.md +723 -0
- package/dist/ai/guides/options-items-playbook.md +5 -0
- package/dist/ai/guides/passthrough.md +91 -62
- package/dist/ai/index.md +5 -4
- package/dist/ai/source/BbAccordion.md +2 -1
- package/dist/ai/source/BbAvatar.md +6 -0
- package/dist/ai/source/BbBadge.md +16 -16
- package/dist/ai/source/BbBadgeButton.md +14 -14
- package/dist/ai/source/BbBreadcrumbs.md +51 -5
- package/dist/ai/source/BbButton.md +81 -7
- package/dist/ai/source/BbCalendar.md +98 -45
- package/dist/ai/source/BbCheckbox.md +2 -1
- package/dist/ai/source/BbCheckboxGroup.md +122 -94
- package/dist/ai/source/BbCollapsible.md +6 -0
- package/dist/ai/source/BbColorInput.md +14 -2
- package/dist/ai/source/BbColorPalette.md +10 -12
- package/dist/ai/source/BbConfirm.md +5 -2
- package/dist/ai/source/BbConfirmPortal.md +6 -3
- package/dist/ai/source/BbDatePicker.md +33 -14
- package/dist/ai/source/BbDatePickerInput.md +23 -27
- package/dist/ai/source/BbDialog.md +21 -4
- package/dist/ai/source/BbDropdown.md +20 -11
- package/dist/ai/source/BbDropdownButton.md +32 -5
- package/dist/ai/source/BbDropdownGroup.md +15 -9
- package/dist/ai/source/BbDropzone.md +7 -6
- package/dist/ai/source/BbIndicator.md +5 -5
- package/dist/ai/source/BbNumberInput.md +8 -1
- package/dist/ai/source/BbOffCanvas.md +35 -18
- package/dist/ai/source/BbPagination.md +16 -8
- package/dist/ai/source/BbPopover.md +6 -2
- package/dist/ai/source/BbRadio.md +2 -1
- package/dist/ai/source/BbRadioGroup.md +105 -92
- package/dist/ai/source/BbRating.md +17 -12
- package/dist/ai/source/BbSelect.md +97 -23
- package/dist/ai/source/BbSelectPopover.md +38 -37
- package/dist/ai/source/BbSlider.md +2 -1
- package/dist/ai/source/BbSwitchGroup.md +104 -92
- package/dist/ai/source/BbTable.md +315 -159
- package/dist/ai/source/BbTabs.md +193 -41
- package/dist/ai/source/BbTabsList.md +212 -54
- package/dist/ai/source/{BbTabsPanes.md → BbTabsPanels.md} +189 -50
- package/dist/ai/source/BbTabsRoot.md +148 -31
- package/dist/ai/source/BbTag.md +84 -23
- package/dist/ai/source/BbTextInput.md +13 -1
- package/dist/ai/source/BbTextarea.md +10 -2
- package/dist/ai/source/BbTimePicker.md +52 -13
- package/dist/ai/source/BbTimePickerInput.md +45 -10
- package/dist/ai/source/BbToast.md +113 -48
- package/dist/ai/source/BbToastPortal.md +117 -49
- package/dist/ai/source/BbTooltip.md +2 -2
- package/dist/ai/source/BbTree.md +4 -4
- package/dist/ai/source/ChipsBox.md +17 -7
- package/dist/ai/source/CommaBox.md +16 -9
- package/dist/ai/source/CommonField.md +7 -4
- package/dist/ai/source/CommonFieldInput.md +2 -0
- package/dist/ai/source/CommonTimeSelector.md +107 -25
- package/dist/ai/source/FlatListBox.md +6 -5
- package/dist/ai/source/GroupedListBox.md +6 -5
- package/dist/ai/source/OptionsContainer.md +12 -10
- package/dist/components/BbAccordion/types.d.ts +2 -1
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +107 -98
- package/dist/components/BbButton/BbButton.vue.d.ts +5 -0
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbButton/types.d.ts +64 -0
- package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +203 -172
- package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbCalendar/types.d.ts +18 -8
- package/dist/components/BbCalendar/types.js +3 -2
- package/dist/components/BbCalendar/useCalendarGrid.js +14 -14
- package/dist/components/BbCalendar/useDayGrid.js +1 -1
- package/dist/components/BbCheckbox/types.d.ts +2 -1
- package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +103 -103
- package/dist/components/BbCheckboxGroup/types.d.ts +2 -1
- package/dist/components/BbColorInput/BbColorInput.vue.d.ts +2 -2
- package/dist/components/BbColorInput/types.d.ts +14 -2
- package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -2
- package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbColorPalette/types.d.ts +2 -2
- package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +1 -0
- package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +2 -2
- package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +52 -36
- package/dist/components/BbDatePicker/types.d.ts +13 -5
- package/dist/components/BbDatePicker/types.js +3 -2
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +2 -2
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +348 -340
- package/dist/components/BbDatePickerInput/types.d.ts +10 -3
- package/dist/components/BbDatePickerInput/types.js +3 -2
- package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -1
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +131 -122
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbDropdown/BbDropdown.vue.d.ts +4 -4
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +177 -176
- package/dist/components/BbDropdown/BbDropdownGroup.vue.d.ts +4 -0
- package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +102 -102
- package/dist/components/BbDropdown/types.d.ts +3 -1
- package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +4 -4
- package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +34 -23
- package/dist/components/BbDropdownButton/types.d.ts +13 -2
- package/dist/components/BbDropdownButton/types.js +2 -0
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbDropzone/types.d.ts +2 -1
- package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbNumberInput/types.d.ts +8 -1
- package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +186 -178
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +65 -57
- package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -1
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbPopover/types.d.ts +2 -1
- package/dist/components/BbRadio/types.d.ts +2 -1
- package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +68 -68
- package/dist/components/BbRadioGroup/types.d.ts +2 -1
- package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/components/BbRating/types.d.ts +5 -2
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +41 -22
- package/dist/components/BbSelect/types.d.ts +42 -11
- package/dist/components/BbSelect/types.js +17 -5
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +306 -306
- package/dist/components/BbSlider/types.d.ts +2 -1
- package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +102 -102
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +892 -771
- package/dist/components/BbTable/BbTableDataRow.d.ts +3 -3
- package/dist/components/BbTable/BbTableDataRow.js +17 -7
- package/dist/components/BbTable/BbTableSelectToggle.d.ts +17 -0
- package/dist/components/BbTable/BbTableSelectToggle.js +8 -0
- package/dist/components/BbTable/types.d.ts +52 -10
- package/dist/components/BbTable/types.js +14 -1
- package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +44 -23
- package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +101 -64
- package/dist/components/BbTabs/BbTabsPanels.vue.d.ts +12 -0
- package/dist/components/BbTabs/BbTabsPanels.vue.js +6 -0
- package/dist/components/BbTabs/BbTabsPanels.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +0 -10
- package/dist/components/BbTabs/types.d.ts +115 -28
- package/dist/components/BbTabs/types.js +24 -1
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +17 -8
- package/dist/components/BbTag/types.d.ts +47 -14
- package/dist/components/BbTag/types.js +19 -5
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/BbTextInput/types.d.ts +8 -1
- package/dist/components/BbTextarea/types.d.ts +10 -2
- package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +2 -2
- package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +28 -4
- package/dist/components/BbTimePicker/types.d.ts +28 -7
- package/dist/components/BbTimePicker/types.js +7 -1
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +2 -2
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +25 -3
- package/dist/components/BbTimePickerInput/types.d.ts +28 -5
- package/dist/components/BbTimePickerInput/types.js +2 -0
- package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +12 -0
- package/dist/components/BbToast/BbToastMessage.vue.d.ts +3 -3
- package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +72 -70
- package/dist/components/BbToast/BbToastPortal.vue.d.ts +1 -0
- package/dist/components/BbToast/BbToastRegion.vue.d.ts +2 -2
- package/dist/components/BbToast/types.d.ts +35 -10
- package/dist/components/BbToast/types.js +16 -1
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +41 -41
- package/dist/components/ChipsBox/types.d.ts +4 -3
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/CommaBox/types.d.ts +4 -3
- package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +5 -1
- package/dist/components/CommonPopover/CommonPopover.vue.d.ts +1 -1
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue.d.ts +19 -3
- package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +114 -89
- package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +105 -104
- package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +6 -5
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +5 -3
- package/dist/components/OptionsContainer/types.d.ts +2 -2
- package/dist/composables/useBbTableContext.d.ts +33 -1
- package/dist/composables/useBbTableContext.js +83 -81
- package/dist/composables/useBbTabsContext.d.ts +10 -18
- package/dist/composables/useBbTabsContext.js +123 -133
- package/dist/composables/useCoarsePointer.js +7 -10
- package/dist/composables/useHydrated.d.ts +18 -0
- package/dist/composables/useHydrated.js +13 -7
- package/dist/composables/useMobile.js +8 -11
- package/dist/composables/usePassthrough.d.ts +22 -1
- package/dist/composables/usePassthrough.js +76 -63
- package/dist/composables/useViewportWidth.d.ts +5 -39
- package/dist/composables/useViewportWidth.js +13 -7
- package/dist/deprecation/ai-deprecations.json.d.ts +22 -0
- package/dist/deprecation/ai-deprecations.json.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +29 -29
- package/dist/llms-full.txt +2464 -1190
- package/dist/llms-medium.txt +70 -37
- package/dist/llms.txt +2 -1
- package/dist/nuxt-auto-imports.js +1 -1
- package/dist/nuxt-module.d.ts +7 -0
- package/dist/nuxt.js +26 -17
- package/dist/plugin.js +24 -17
- package/dist/runtime/nuxt-plugin.js +26 -22
- package/dist/styles.css +2 -2
- package/dist/types/ToastVariant.d.ts +1 -1
- package/dist/types/passthrough.d.ts +1 -1
- package/dist/types/ptComponentMap.d.ts +13 -11
- package/dist/utils/versionCheck.js +1 -1
- package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +32 -16
- package/dist/validated/BbSelect.vue.d.ts +36 -18
- package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +27 -9
- package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +16 -7
- package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +18 -0
- package/llms.txt +2 -1
- package/package.json +13 -6
- package/scripts/lib/component-attr-targets.ts +6 -0
- package/scripts/lib/validate-bb-markup.mjs +120 -5
- package/dist/components/BbTabs/BbTabsPanes.vue.d.ts +0 -16
- package/dist/components/BbTabs/BbTabsPanes.vue.js +0 -6
- package/dist/components/BbTabs/BbTabsPanes.vue_vue_type_script_setup_true_lang.js +0 -36
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ Product-ready components with labels, hints, errors, and consistent styling:
|
|
|
78
78
|
|
|
79
79
|
- **Forms & actions:** `BbTextInput`, `BbTextarea`, `BbNumberInput`, `BbSelect`, `BbSelectPopover`, `BbCheckbox`, `BbCheckboxGroup`, `BbRadio`, `BbRadioGroup`, `BbSwitch`, `BbSwitchGroup`, `BbSlider`, `BbRating`, `BbColorInput`, `BbColorPalette`, `BbDatePicker`, `BbDatePickerInput`, `BbTimePicker`, `BbTimePickerInput`, `BbButton`, `BbBadge`, `BbBadgeButton`, `BbIndicator`, `BbTag`, `BbDropdown`, `BbDropdownGroup`, `BbDropdownButton`, `BbAsterisk`
|
|
80
80
|
- **Feedback:** `BbAlert`, `BbProgress`, `BbSpinner`, `BbToast`, `BbToastPortal`, `BbTooltip`
|
|
81
|
-
- **Layout & navigation:** `BbAccordion`, `BbCollapsible`, `BbTabs` (+ `BbTabsRoot`, `BbTabsList`, `
|
|
81
|
+
- **Layout & navigation:** `BbAccordion`, `BbCollapsible`, `BbTabs` (+ `BbTabsRoot`, `BbTabsList`, `BbTabsPanels`), `BbBreadcrumbs`, `BbPagination`, `BbSmoothHeight`
|
|
82
82
|
- **Overlays & panels:** `BbDialog`, `BbConfirm`, `BbConfirmPortal`, `BbOffCanvas`, `BbPopover`
|
|
83
83
|
- **Data:** `BbTable`, `BbTree`
|
|
84
84
|
- **Media & files:** `BbAvatar`, `BbDropzone`, `BbIcon`
|
package/bin/bitboss-ui-mcp.mjs
CHANGED
|
@@ -316,6 +316,8 @@ function searchComponents({ query, limit, includeReferenceOnly } = {}) {
|
|
|
316
316
|
...(type.deprecated ? { deprecated: true } : {}),
|
|
317
317
|
...(type.replacedBy ? { replacedBy: type.replacedBy } : {}),
|
|
318
318
|
usedBy: type.usedBy ?? [],
|
|
319
|
+
// The short answer only; get_component(name) has the definition.
|
|
320
|
+
...(type.values ? { values: type.values } : {}),
|
|
319
321
|
import: `import type { ${type.replacedBy ?? type.name} } from 'bitboss-ui';`,
|
|
320
322
|
}));
|
|
321
323
|
|
|
@@ -425,9 +427,16 @@ function getComponent({ name, maxChars } = {}) {
|
|
|
425
427
|
...(type.replacedBy ? { replacedBy: type.replacedBy } : {}),
|
|
426
428
|
component: type.component,
|
|
427
429
|
usedBy: type.usedBy ?? [],
|
|
430
|
+
// What it is (Q50.2): the declaration, the accepted values when
|
|
431
|
+
// finite (open when `extensibleVia` names a registry), and the
|
|
432
|
+
// resolved fields when the declaration leans on a private type.
|
|
433
|
+
...(type.definition ? { definition: type.definition } : {}),
|
|
434
|
+
...(type.values ? { values: type.values } : {}),
|
|
435
|
+
...(type.extensibleVia ? { extensibleVia: type.extensibleVia } : {}),
|
|
436
|
+
...(type.fields ? { fields: type.fields } : {}),
|
|
428
437
|
import: `import type { ${type.replacedBy ?? name} } from 'bitboss-ui';`,
|
|
429
438
|
hint: use
|
|
430
|
-
? `A type, not a component: it types ${possessive(use.component)} \`${use.name}\` ${use.surface}.
|
|
439
|
+
? `A type, not a component: it types ${possessive(use.component)} \`${use.name}\` ${use.surface}. \`definition\` above is the type itself; call get_component('${use.component}') to see it in use.`
|
|
431
440
|
: 'A type, not a component — import it for the value you pass, never write it as a tag.',
|
|
432
441
|
};
|
|
433
442
|
}
|
|
@@ -467,6 +476,8 @@ function getComponent({ name, maxChars } = {}) {
|
|
|
467
476
|
name: type.name,
|
|
468
477
|
usage: type.usage,
|
|
469
478
|
usedBy: (type.usedBy ?? []).filter((use) => use.component === entry.name),
|
|
479
|
+
...(type.values ? { values: type.values } : {}),
|
|
480
|
+
...(type.extensibleVia ? { extensibleVia: type.extensibleVia } : {}),
|
|
470
481
|
import: `import type { ${type.name} } from 'bitboss-ui';`,
|
|
471
482
|
}));
|
|
472
483
|
|
package/dist/ai/BbAccordion.md
CHANGED
|
@@ -234,13 +234,13 @@ const endpoints = ref<Endpoint[]>([
|
|
|
234
234
|
Non-scoped so variant classes on the child badge receive the accents. -->
|
|
235
235
|
<style>
|
|
236
236
|
.bb-badge.bb-badge--soft-blue {
|
|
237
|
-
--accent:
|
|
237
|
+
--accent: var(--bb-info);
|
|
238
238
|
}
|
|
239
239
|
.bb-badge.bb-badge--soft-green {
|
|
240
|
-
--accent:
|
|
240
|
+
--accent: var(--bb-success);
|
|
241
241
|
}
|
|
242
242
|
.bb-badge.bb-badge--soft-red {
|
|
243
|
-
--accent:
|
|
243
|
+
--accent: var(--bb-danger);
|
|
244
244
|
}
|
|
245
245
|
.bb-badge.bb-badge--soft-blue,
|
|
246
246
|
.bb-badge.bb-badge--soft-green,
|
|
@@ -619,7 +619,7 @@ grammar, the merge rules and the global map are in the
|
|
|
619
619
|
| --- | --- | --- | --- | --- |
|
|
620
620
|
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `header`, `panel`, `root`. States: `open`. What each one is: _Passthrough parts and states_ below. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
|
|
621
621
|
| `eager` | `boolean \| undefined` | `false` | | Prevents rendering content before it's made visible. |
|
|
622
|
-
| `id` | `string \| undefined` | | | The
|
|
622
|
+
| `id` | `string \| undefined` | | | The root's `id`; the header button's id (`<id>_header`) derives from it. Generated when omitted. |
|
|
623
623
|
| `modelValue` | `boolean \| undefined` | `false` | | Used by v-model to trigger opening / closing the collapsible. An accordion with no `v-model` starts closed. |
|
|
624
624
|
| `transitionDuration` | `number \| undefined` | `250` | | How long the transition has to last in milliseconds |
|
|
625
625
|
|
|
@@ -641,7 +641,7 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
641
641
|
|
|
642
642
|
## Events
|
|
643
643
|
|
|
644
|
-
- `update:modelValue` — `(
|
|
644
|
+
- `update:modelValue` — `(value: boolean): void` — Emitted with the new value whenever `v-model` changes.
|
|
645
645
|
|
|
646
646
|
## Slots
|
|
647
647
|
|
|
@@ -664,4 +664,4 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
664
664
|
## See Also
|
|
665
665
|
|
|
666
666
|
- [BbCollapsible](./BbCollapsible.md) — Toggles visibility of collapsible content blocks.
|
|
667
|
-
- [BbTabs](./BbTabs.md) — Switches between tabbed content views (shadcn-like strip; the co-located BbTabsRoot / BbTabsList /
|
|
667
|
+
- [BbTabs](./BbTabs.md) — Switches between tabbed content views (shadcn-like strip; the co-located BbTabsRoot / BbTabsList / BbTabsPanels exports enable split layouts).
|
package/dist/ai/BbAlert.md
CHANGED
|
@@ -53,6 +53,11 @@ the user should attend to; `destructive` reports a failure or dangerous state.
|
|
|
53
53
|
An alert reads far better with a matching leading `icon`, so treat variant and
|
|
54
54
|
icon as a pair.
|
|
55
55
|
|
|
56
|
+
There is no `success` or `info` alert, on purpose (the built-in ramps stay
|
|
57
|
+
closed): a confirmation is usually a toast, and a neutral note is `outline`
|
|
58
|
+
with an icon. When an app needs one anyway, register it with the plugin's
|
|
59
|
+
`alertVariants` option and colour it from `--bb-success` / `--bb-info`.
|
|
60
|
+
|
|
56
61
|
**Semantic variants, each with a fitting icon**
|
|
57
62
|
|
|
58
63
|
```vue
|
|
@@ -475,7 +480,7 @@ full grammar, the merge rules and the global map are in the
|
|
|
475
480
|
|
|
476
481
|
## Events
|
|
477
482
|
|
|
478
|
-
- `update:modelValue` — `(
|
|
483
|
+
- `update:modelValue` — `(value: boolean): void` — Emitted with the new value whenever `v-model` changes.
|
|
479
484
|
|
|
480
485
|
## Slots
|
|
481
486
|
|
package/dist/ai/BbAvatar.md
CHANGED
|
@@ -648,6 +648,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
648
648
|
| `--bg` | `.bb-avatar` | `var(--bb-primary)` | fallback surface (an image covers it) |
|
|
649
649
|
| `--fg` | `.bb-avatar` | `var(--bb-primary-fg)` | Initials; the built-in icon is an 80/20 mix of this toward --bg |
|
|
650
650
|
| `--default-icon-size` | `.bb-avatar` | `clamp(14px, calc(var(--size) * 0.7), 48px)` | Built-in fallback icon: 70% of the avatar, floored at 14px and capped at 48px. `--size` is the avatar's own box, set inline from the `size` prop. |
|
|
651
|
+
| `--fs` | `.bb-avatar` | `max(8px, calc(var(--size) * 0.4))` | Initials: 40% of the avatar, floored at 8px |
|
|
651
652
|
| `--elev` | `.bb-avatar` | `var(--bb-elev-sm)` | The theme's resting lift on small chrome (Q44.15), declared here so an ancestor's `--elev` cannot reach in; `--elev: none` flattens one. |
|
|
652
653
|
| `--size` | `.bb-avatar__default-icon` | `var(--default-icon-size)` | |
|
|
653
654
|
|
package/dist/ai/BbBadge.md
CHANGED
|
@@ -161,19 +161,19 @@ const invoices: InvoiceRow[] = [
|
|
|
161
161
|
Non-scoped so variant classes on the child badge receive the accents. -->
|
|
162
162
|
<style>
|
|
163
163
|
.bb-badge.bb-badge--soft-gray {
|
|
164
|
-
--accent:
|
|
164
|
+
--accent: var(--bb-text-muted);
|
|
165
165
|
}
|
|
166
166
|
.bb-badge.bb-badge--soft-blue {
|
|
167
|
-
--accent:
|
|
167
|
+
--accent: var(--bb-info);
|
|
168
168
|
}
|
|
169
169
|
.bb-badge.bb-badge--soft-green {
|
|
170
|
-
--accent:
|
|
170
|
+
--accent: var(--bb-success);
|
|
171
171
|
}
|
|
172
172
|
.bb-badge.bb-badge--soft-amber {
|
|
173
|
-
--accent:
|
|
173
|
+
--accent: var(--bb-warn);
|
|
174
174
|
}
|
|
175
175
|
.bb-badge.bb-badge--soft-red {
|
|
176
|
-
--accent:
|
|
176
|
+
--accent: var(--bb-danger);
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
.bb-badge.bb-badge--soft-gray,
|
|
@@ -650,12 +650,12 @@ and the clear control be independent controls:
|
|
|
650
650
|
<!-- <button>/<a> in button mode -->
|
|
651
651
|
<svg class="bb-badge__prepend-icon" />
|
|
652
652
|
<!-- or __icon / BbSpinner -->
|
|
653
|
-
<span class="bb-
|
|
653
|
+
<span class="bb-badge__text">label</span>
|
|
654
654
|
</span>
|
|
655
655
|
<span class="bb-badge__trailing">
|
|
656
656
|
<!-- only when needed -->
|
|
657
657
|
<svg class="bb-badge__append-icon" />
|
|
658
|
-
<button class="bb-badge__clear
|
|
658
|
+
<button class="bb-badge__clear">…</button>
|
|
659
659
|
</span>
|
|
660
660
|
</span>
|
|
661
661
|
```
|
|
@@ -669,7 +669,7 @@ Focus is always ringed on the **whole pill** (never on the inner control), for
|
|
|
669
669
|
the body and the clear button alike; the clear button additionally lights its
|
|
670
670
|
glyph. The class hooks above are the supported styling surface —
|
|
671
671
|
`.bb-badge__body` and `.bb-badge__trailing` are new, so avoid direct-child
|
|
672
|
-
selectors like `.bb-badge > .bb-
|
|
672
|
+
selectors like `.bb-badge > .bb-badge__text`, which no longer match.
|
|
673
673
|
|
|
674
674
|
### Restyling with passthrough
|
|
675
675
|
|
|
@@ -767,13 +767,13 @@ const endpoints: Endpoint[] = [
|
|
|
767
767
|
Non-scoped so variant classes on the child badge receive the accents. -->
|
|
768
768
|
<style>
|
|
769
769
|
.bb-badge.bb-badge--soft-blue {
|
|
770
|
-
--accent:
|
|
770
|
+
--accent: var(--bb-info);
|
|
771
771
|
}
|
|
772
772
|
.bb-badge.bb-badge--soft-green {
|
|
773
|
-
--accent:
|
|
773
|
+
--accent: var(--bb-success);
|
|
774
774
|
}
|
|
775
775
|
.bb-badge.bb-badge--soft-red {
|
|
776
|
-
--accent:
|
|
776
|
+
--accent: var(--bb-danger);
|
|
777
777
|
}
|
|
778
778
|
.bb-badge.bb-badge--soft-blue,
|
|
779
779
|
.bb-badge.bb-badge--soft-green,
|
|
@@ -874,7 +874,7 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
874
874
|
|
|
875
875
|
## Events
|
|
876
876
|
|
|
877
|
-
- `click:clear` — `(event:
|
|
877
|
+
- `click:clear` — `(event: MouseEvent): void` — Emitted when the clear button is pressed (only rendered when `clearable`).
|
|
878
878
|
|
|
879
879
|
## Slots
|
|
880
880
|
|
|
@@ -892,11 +892,11 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
892
892
|
| `--border-color` | `.bb-badge` | `transparent` | |
|
|
893
893
|
| `--ring-color` | `.bb-badge` | `var(--bb-primary-ring)` | focus ring colour, per variant |
|
|
894
894
|
| `--ring-size` | `.bb-badge` | `var(--bb-ring-size)` | focus ring width |
|
|
895
|
-
| `--min-size-md` | `.bb-badge` | `calc(var(--bb-control-h) -
|
|
895
|
+
| `--min-size-md` | `.bb-badge` | `calc(var(--bb-control-h) - 14px)` | 18px at the default |
|
|
896
896
|
| `--min-size` | `.bb-badge` | `var(--min-size-md)` | pill min height and min width |
|
|
897
897
|
| `--elev` | `.bb-badge` | `var(--bb-elev-sm)` | Resting lift. Invisible while `--bb-elev` is its default transparent layer. A chip is small enough that a theme wanting a different lift here than on a button sets `--elev` on this class. |
|
|
898
898
|
| `--r` | `.bb-badge` | `calc(var(--bb-radius) * 0.5)` | Pill corners; the body and trailing wrappers round their outer edges to match |
|
|
899
|
-
| `--fs` | `.bb-badge` | `calc(var(--bb-fs) -
|
|
899
|
+
| `--fs` | `.bb-badge` | `calc(var(--bb-fs) - 2px)` | 12px at the default (Q49.25) |
|
|
900
900
|
| `--icon-size` | `.bb-badge` | `12px` | leading/append icons (passed to BbIcon as --size) |
|
|
901
901
|
| `--gap` | `.bb-badge` | `3px` | space between label, icons and the trailing side |
|
|
902
902
|
| `--px` | `.bb-badge` | `6px` | base side padding; the modifiers below scale it per side |
|
|
@@ -914,7 +914,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
914
914
|
- **CSS custom properties** listed on a node are declared on THAT node's root and read by elements inside it. Set one on that node's root or on the element inside it that reads it — the pt part that lands there is how you reach it (`pt:box="[--border-color:…]"` on a text input) — never on `BbBadge`'s root, where the node's own declaration masks it (design-tokens guide, _Overriding one from a consumer app_, rule 0).
|
|
915
915
|
- Listed nodes are the ones `BbBadge`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
|
|
916
916
|
|
|
917
|
-
- `BbBadge` _(this component)_ — its own template binds: `spinner` → `BbSpinner`, `icon` → `BbIcon`, `clear` → `button.bb-badge__clear
|
|
917
|
+
- `BbBadge` _(this component)_ — its own template binds: `spinner` → `BbSpinner`, `icon` → `BbIcon`, `clear` → `button.bb-badge__clear`
|
|
918
918
|
- Also mounts `BbIcon`, `BbSpinner`, `BadgeBodyContent`
|
|
919
919
|
|
|
920
920
|
## See Also
|
package/dist/ai/BbBadgeButton.md
CHANGED
|
@@ -88,11 +88,11 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
88
88
|
| `--border-color` | `.bb-badge` | `transparent` | |
|
|
89
89
|
| `--ring-color` | `.bb-badge` | `var(--bb-primary-ring)` | focus ring colour, per variant |
|
|
90
90
|
| `--ring-size` | `.bb-badge` | `var(--bb-ring-size)` | focus ring width |
|
|
91
|
-
| `--min-size-md` | `.bb-badge` | `calc(var(--bb-control-h) -
|
|
91
|
+
| `--min-size-md` | `.bb-badge` | `calc(var(--bb-control-h) - 14px)` | 18px at the default |
|
|
92
92
|
| `--min-size` | `.bb-badge` | `var(--min-size-md)` | pill min height and min width |
|
|
93
93
|
| `--elev` | `.bb-badge` | `var(--bb-elev-sm)` | Resting lift. Invisible while `--bb-elev` is its default transparent layer. A chip is small enough that a theme wanting a different lift here than on a button sets `--elev` on this class. |
|
|
94
94
|
| `--r` | `.bb-badge` | `calc(var(--bb-radius) * 0.5)` | Pill corners; the body and trailing wrappers round their outer edges to match |
|
|
95
|
-
| `--fs` | `.bb-badge` | `calc(var(--bb-fs) -
|
|
95
|
+
| `--fs` | `.bb-badge` | `calc(var(--bb-fs) - 2px)` | 12px at the default (Q49.25) |
|
|
96
96
|
| `--icon-size` | `.bb-badge` | `12px` | leading/append icons (passed to BbIcon as --size) |
|
|
97
97
|
| `--gap` | `.bb-badge` | `3px` | space between label, icons and the trailing side |
|
|
98
98
|
| `--px` | `.bb-badge` | `6px` | base side padding; the modifiers below scale it per side |
|
package/dist/ai/BbBreadcrumbs.md
CHANGED
|
@@ -157,6 +157,13 @@ visible. Hidden crumbs keep their full navigation target inside the menu, so
|
|
|
157
157
|
nothing becomes unreachable. Just pass the full `items` array and let the
|
|
158
158
|
component measure — narrow the frame below to watch it collapse.
|
|
159
159
|
|
|
160
|
+
**The current page never folds.** When not even it fits beside the `…`, every
|
|
161
|
+
other crumb goes into the menu and the current page stays, its label truncated
|
|
162
|
+
with an ellipsis (the full text in a tooltip and to assistive tech). That is the
|
|
163
|
+
floor: in a very narrow toolbar the trail reads `… / Quarterly rev…`. If that is
|
|
164
|
+
too little, give the trail its own full-width row, or shorten the last label
|
|
165
|
+
(`text` is yours).
|
|
166
|
+
|
|
160
167
|
**Overflow folds into an ellipsis menu**
|
|
161
168
|
|
|
162
169
|
```vue
|
|
@@ -722,13 +729,13 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
722
729
|
|
|
723
730
|
- `BbBreadcrumbs` _(this component)_ — its own template binds: `item` → `li.bb-breadcrumbs__item`, `icon` → `BbIcon`, `text` → `span.bb-breadcrumbs__text`
|
|
724
731
|
- `BbBaseButton` _(public — [contract](./BbBaseButton.md))_ — its own pt parts (`BbBaseButton`): `root` → `RouterComponent`, `root` → `a`, `root` → `component`; also mounts `RouterComponent`
|
|
725
|
-
- `BbDropdown` _(public — [contract](./BbDropdown.md))_ — its own pt parts (`BbDropdown`): `panel` → `CommonPopover`, `root` → `CommonPopover`, `header` → `div.bb-dropdown__header`, `list` → `span.bb-
|
|
732
|
+
- `BbDropdown` _(public — [contract](./BbDropdown.md))_ — its own pt parts (`BbDropdown`): `panel` → `CommonPopover`, `root` → `CommonPopover`, `header` → `div.bb-dropdown__header`, `list` → `span.bb-dropdown__list`, `footer` → `div.bb-dropdown__footer`; documented CSS variables: `--menu-inset`; also mounts `CommonPopover`, `DropdownPipelineResolver`
|
|
726
733
|
- `BbDropdownList` _(internal — not importable, reach it through `BbDropdown`)_ — also mounts `BbBaseButton`, `BbIcon`, `CommonPopover`, `BbDropdownList`
|
|
727
|
-
- `BbBadge` _(public — [contract](./BbBadge.md))_ — its own pt parts (`BbBadge`): `spinner` → `BbSpinner`, `icon` → `BbIcon`, `clear` → `button.bb-badge__clear
|
|
734
|
+
- `BbBadge` _(public — [contract](./BbBadge.md))_ — its own pt parts (`BbBadge`): `spinner` → `BbSpinner`, `icon` → `BbIcon`, `clear` → `button.bb-badge__clear`; documented CSS variables: `--bg`, `--fg`, `--bw`, `--ring-color`, `--ring-size`, `--min-size-md`, `--min-size`, `--elev`, `--r`, `--fs`, `--icon-size`, `--gap`, `--px`, `--clear-size`, `--pad-left`; also mounts `BbIcon`, `BbSpinner`, `BadgeBodyContent`
|
|
728
735
|
- `AdaptiveDropdown` _(internal — not importable, reach it through `BbDropdown`)_ — hands `BbOffCanvas` the pt map `{ header: 'header', footer: 'footer', panel: 'root', sheet: 'root' }` (ours → theirs); also mounts `BbSmoothHeight`, `BbDropdownList`
|
|
729
|
-
- `BbOffCanvas` _(public — [contract](./BbOffCanvas.md))_ — its own pt parts (`BbOffCanvas`): `header` → `div.bb-offcanvas__header`, `title` → `span.bb-offcanvas__title`, `description` → `p.bb-offcanvas__description`, `close` → `CloseButton`, `content` → `div.bb-
|
|
736
|
+
- `BbOffCanvas` _(public — [contract](./BbOffCanvas.md))_ — its own pt parts (`BbOffCanvas`): `header` → `div.bb-offcanvas__header`, `title` → `span.bb-offcanvas__title`, `description` → `p.bb-offcanvas__description`, `close` → `CloseButton`, `content` → `div.bb-offcanvas__content`, `footer` → `div.bb-offcanvas__footer`; documented CSS variables: `--stack-x`, `--stack-fill`, `--stack-transition-duration`, `--px`, `--handle-w`, `--handle-h`, `--handle-bg`, `--safe-top`, `--close-size`
|
|
730
737
|
- `CloseButton` _(internal — not importable, reach it through `BbOffCanvas`)_ — documented CSS variables: `--size`, `--p`
|
|
731
|
-
- `BbButton` _(public — [contract](./BbButton.md))_ — its own pt parts (`BbButton`): `root` → `BbBaseButton`, `spinner` → `BbSpinner`, `icon` → `BbIcon`, `text` → `span.bb-
|
|
738
|
+
- `BbButton` _(public — [contract](./BbButton.md))_ — its own pt parts (`BbButton`): `root` → `BbBaseButton`, `spinner` → `BbSpinner`, `icon` → `BbIcon`, `text` → `span.bb-button__text`; documented CSS variables: `--h-xs`, `--h`, `--icon-size`, `--px`, `--fs`, `--r`, `--gap`, `--bg`, `--bg-hover`, `--bg-pressed`, `--fg`, `--border-color`, `--ring-color`, `--ring-size`, `--bw`, `--fg-hover`, `--border-hover`, `--fg-pressed`, `--border-pressed`, `--bg-disabled`, `--fg-disabled`, `--border-disabled`, `--opacity-disabled`, `--elev-tier`, `--elev`; also mounts `BbIcon`, `BbBaseButton`, `BbSpinner`
|
|
732
739
|
- Also mounts `BbIcon`
|
|
733
740
|
|
|
734
741
|
## See Also
|
package/dist/ai/BbButton.md
CHANGED
|
@@ -56,8 +56,11 @@ Start with the built-in ladder: `primary`, `secondary`, `outline`, `ghost`,
|
|
|
56
56
|
everything else is `secondary`, `outline` or `ghost`. Reserve `destructive` for
|
|
57
57
|
irreversible actions (and gate them behind `useConfirm`). `link` is navigation
|
|
58
58
|
disguised as text — pair it with `href`/`to`, not with heavy actions.
|
|
59
|
-
`variant="none"`
|
|
60
|
-
|
|
59
|
+
`variant="none"` is a blank starting point: the button keeps its structure,
|
|
60
|
+
behaviour and accessibility but takes no look, so your own classes don't have
|
|
61
|
+
to fight a built-in one. You then own hover, focus and disabled. It is fine for
|
|
62
|
+
a one-off; keep the inline styling short, and when the same look shows up
|
|
63
|
+
again, register it as a real variant instead.
|
|
61
64
|
|
|
62
65
|
**`link` changes color, not layout.** It keeps the button box: the size scale's
|
|
63
66
|
height and horizontal padding still apply, so it occupies button space and never
|
|
@@ -994,7 +997,7 @@ Gotchas (real behavior, verified against source):
|
|
|
994
997
|
|
|
995
998
|
- A `v-model` bound to an undefined value is not a toggle yet — the first click
|
|
996
999
|
won't set it. Seed the model.
|
|
997
|
-
- Every default-slot child lands inside one `.bb-
|
|
1000
|
+
- Every default-slot child lands inside one `.bb-button__text` span, so
|
|
998
1001
|
sibling elements sit inline with no gap and the button's own flex layout
|
|
999
1002
|
cannot space them — `class="justify-between"` on the button reaches the
|
|
1000
1003
|
content span, not its children, and `Label` + `142` renders as `Label142`.
|
|
@@ -1058,7 +1061,7 @@ Anti-patterns:
|
|
|
1058
1061
|
| `cacheFor` | `string \| number \| (string \| number)[] \| undefined` | | | Inertia: how long a prefetched response stays fresh before it is re-fetched. A single duration, or `[staleAfter, expiresAfter]`. Typed platform-agnostically (matching BbButton) so the library's types never require `@inertiajs/vue3` to be in… |
|
|
1059
1062
|
| `cacheTags` | `string \| string[] \| undefined` | | | Inertia: tags to file this visit's prefetch cache under, so a later request can invalidate the whole tagged group. |
|
|
1060
1063
|
| `component` | `string \| undefined` | | | Inertia: the page component this visit resolves to. Rarely set by hand — the server normally decides it. |
|
|
1061
|
-
| `data` | `object \| undefined` | | |
|
|
1064
|
+
| `data` | `object \| undefined` | | | Request payload forwarded to Inertia when navigating via `href` in an Inertia-enabled app. Ignored when not using Inertia. |
|
|
1062
1065
|
| `disableAutoLoading` | `boolean \| undefined` | `false` | | Disables the automatic loading state that tracks async click handlers (enabled by default). |
|
|
1063
1066
|
| `disabled` | `boolean \| undefined` | `false` | | Disables the component: native `disabled` (or `aria-disabled` on a link), muted paint. Beside `loading`, loading wins the look (spinner and variant colours) and this only adds the native blocking — redundant but harmless. |
|
|
1064
1067
|
| `download` | `string \| boolean \| undefined` | | | Marks an `href` link as a download: renders a plain `<a download>` doing a native navigation (never an Inertia/router visit), so file downloads work. Pass a string for the suggested filename. A native-anchor signal alongside `target` and `e… |
|
|
@@ -1067,32 +1070,32 @@ Anti-patterns:
|
|
|
1067
1070
|
| `external` | `boolean \| undefined` | `false` | | Forces an `href` link to render as a plain `<a>` (native navigation), bypassing Inertia/router interception — same intent as Nuxt's `external`. A native-anchor signal alongside `target` and `download`. |
|
|
1068
1071
|
| `falseValue` | `any` | `false` | | Value emitted when the toggle is deactivated. |
|
|
1069
1072
|
| `group` | `boolean \| undefined` | `false` | | Identifies the button as part of a button group. |
|
|
1070
|
-
| `headers` | `object \| undefined` | | |
|
|
1073
|
+
| `headers` | `object \| undefined` | | | Additional HTTP headers forwarded to Inertia when navigating via `href` in an Inertia-enabled app. |
|
|
1071
1074
|
| `href` | `string \| undefined` | | | Returns the hyperlink's URL. Can be set, to change the URL. |
|
|
1072
1075
|
| `icon` | `string \| undefined` | | | Used when only an icon with no text should be displayed. |
|
|
1073
1076
|
| `instant` | `boolean \| undefined` | `false` | | Inertia: navigate optimistically on click and reconcile when the response lands, instead of waiting for the round trip. |
|
|
1074
1077
|
| `interactiveWhileLoading` | `boolean \| undefined` | `false` | | Keeps the button clickable while it is loading. Buttons are disabled while loading by default; this escape hatch exists for toggles that must stay interactive (e.g. the dropdown-button caret). |
|
|
1075
1078
|
| `loading` | `boolean \| undefined` | `false` | | Triggers a loading indicator. A loading button is soft-disabled on its own (`aria-disabled`, out of the tab order, clicks and navigation blocked) and keeps its variant colours; with `disabled` set too, loading still wins the look. |
|
|
1076
|
-
| `method` | `"get" \| "post" \| "put" \| "patch" \| "delete" \| undefined` | | |
|
|
1077
|
-
| `modelValue` | `any` | | |
|
|
1078
|
-
| `onBefore` | `(() => void) \| undefined` | | |
|
|
1079
|
-
| `onCancel` | `(() => void) \| undefined` | | |
|
|
1080
|
-
| `onCancelToken` | `((cancelToken: unknown) => void) \| undefined` | | |
|
|
1079
|
+
| `method` | `"get" \| "post" \| "put" \| "patch" \| "delete" \| undefined` | | | HTTP method used for Inertia navigation when `href` is provided in an Inertia-enabled app. Ignored otherwise. |
|
|
1080
|
+
| `modelValue` | `any` | | | Makes the button a toggle: clicking flips the model between `trueValue` and `falseValue`, and the button reports `aria-pressed`. Leave it unbound for a plain button. |
|
|
1081
|
+
| `onBefore` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia right before the request is sent. |
|
|
1082
|
+
| `onCancel` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia when a request is cancelled. |
|
|
1083
|
+
| `onCancelToken` | `((cancelToken: unknown) => void) \| undefined` | | | Receives the Inertia cancel token source when a request is initiated. Can be used to cancel the request. Typed platform-agnostically (matching BbButton) so the library's types never require `@inertiajs/vue3` to be installed. |
|
|
1081
1084
|
| `onError` | `((errors: Record<string, string>) => void) \| undefined` | | | Lifecycle hook invoked by Inertia when the server responds with VALIDATION errors — the ordinary 422 path. This is the only failure callback Inertia's `Link` accepts. `onHttpException` (server answered 5xx) and `onNetworkError` (the request… |
|
|
1082
|
-
| `onFinish` | `(() => void) \| undefined` | | |
|
|
1083
|
-
| `only` | `string[] \| undefined` | | |
|
|
1085
|
+
| `onFinish` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia after the request has finished (regardless of success or error). |
|
|
1086
|
+
| `only` | `string[] \| undefined` | | | Limits the properties that are preserved in Inertia partial reloads. |
|
|
1084
1087
|
| `onPrefetched` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia when a prefetch for this link has completed and is cached. |
|
|
1085
1088
|
| `onPrefetching` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia when a prefetch for this link starts. |
|
|
1086
|
-
| `onProgress` | `((progress: { percentage: number \| undefined; }) => void) \| undefined` | | |
|
|
1087
|
-
| `onStart` | `(() => void) \| undefined` | | |
|
|
1088
|
-
| `onSuccess` | `(() => void) \| undefined` | | |
|
|
1089
|
+
| `onProgress` | `((progress: { percentage: number \| undefined; }) => void) \| undefined` | | | Progress callback invoked by Inertia with the upload/download percentage when available. |
|
|
1090
|
+
| `onStart` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia when a request starts. |
|
|
1091
|
+
| `onSuccess` | `(() => void) \| undefined` | | | Lifecycle hook invoked by Inertia when a request succeeds. |
|
|
1089
1092
|
| `pageProps` | `Record<string, unknown> \| ((currentProps: Record<string, unknown>, sharedProps: Record<string, unknown>) => Record<string, unknown>) \| null \| undefined` | | | Inertia: props to merge into the next page optimistically, before the server responds. Either an object or a function of the current props. Typed platform-agnostically (matching BbButton) so the library's types never require `@inertiajs/vue… |
|
|
1090
1093
|
| `prefetch` | `string \| boolean \| string[] \| undefined` | | | Inertia: fetch and cache this link's page ahead of the click. `true` uses the default trigger; a string or list of strings picks them (`'mount'`, `'hover'`, `'click'`). |
|
|
1091
1094
|
| `prepend:icon` | `string \| undefined` | | | Icon to be added on the left of the text. |
|
|
1092
|
-
| `preserveScroll` | `boolean \| ((props: Record<string, unknown>) => boolean) \| undefined` |
|
|
1093
|
-
| `preserveState` | `boolean \| ((props: Record<string, unknown>) => boolean) \| null \| undefined` |
|
|
1095
|
+
| `preserveScroll` | `boolean \| ((props: Record<string, unknown>) => boolean) \| undefined` | `false` | | Controls whether Inertia should preserve the current scroll position after navigation. Can be a boolean or a predicate receiving the visit props. |
|
|
1096
|
+
| `preserveState` | `boolean \| ((props: Record<string, unknown>) => boolean) \| null \| undefined` | `false` | | Controls whether Inertia should preserve the current state after navigation. Can be a boolean or a predicate receiving the visit props. |
|
|
1094
1097
|
| `preserveUrl` | `boolean \| undefined` | `false` | | Inertia: keep the current URL in the address bar even though the page content changes. |
|
|
1095
|
-
| `queryStringArrayFormat` | `"brackets" \| "indices" \| undefined` |
|
|
1098
|
+
| `queryStringArrayFormat` | `"brackets" \| "indices" \| undefined` | `'brackets'` | | Format to use when serializing array values into the query string for Inertia requests. |
|
|
1096
1099
|
| `replace` | `boolean \| undefined` | `false` | | Calls `router.replace` instead of `router.push`. |
|
|
1097
1100
|
| `size` | `Responsive<Sizes> \| undefined` | `"md"` | | Sets the size of the button. A single value applies at every breakpoint; a per-breakpoint map (e.g. `{ default: 'sm', lg: 'md' }`) switches responsively. Purely CSS-driven — no runtime breakpoint watching. |
|
|
1098
1101
|
| `tag` | `ButtonTag \| undefined` | `'button'` | | Element to render for the plain (non-link, non-router) button: `'button'` (default), `'div'`/`'span'` when nesting inside another button or link, or `'label'` for a file-upload trigger. Ignored when `href`/`to` make the button render as a l… |
|
|
@@ -1101,7 +1104,7 @@ Anti-patterns:
|
|
|
1101
1104
|
| `to` | `string \| wt \| bt \| undefined` | | | Route Location the link should navigate to when clicked on. |
|
|
1102
1105
|
| `trueValue` | `any` | `true` | | Value emitted when the toggle is activated. |
|
|
1103
1106
|
| `type` | `"button" \| "submit" \| "reset" \| undefined` | | | Gets the classification and default behavior of the button. |
|
|
1104
|
-
| `variant` | `ButtonVariantType \| undefined` | `"primary"` | | Visual variant of the button. Controls colors and surface style while keeping spacing and sizing unchanged. |
|
|
1107
|
+
| `variant` | `ButtonVariantType \| undefined` | `"primary"` | | Visual variant of the button. Controls colors and surface style while keeping spacing and sizing unchanged. `'none'` is a blank starting point: the button keeps its structure and behaviour but takes no look, so your own classes don't fight … |
|
|
1105
1108
|
| `viewTransition` | `boolean \| undefined` | `false` | | Inertia: run the page swap inside a View Transition, where the browser supports one. |
|
|
1106
1109
|
|
|
1107
1110
|
## Passthrough parts and states
|
|
@@ -1124,7 +1127,7 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
1124
1127
|
|
|
1125
1128
|
## Events
|
|
1126
1129
|
|
|
1127
|
-
- `update:modelValue` — `(
|
|
1130
|
+
- `update:modelValue` — `(value: any): void` — Emitted with the new value whenever `v-model` changes.
|
|
1128
1131
|
|
|
1129
1132
|
## Slots
|
|
1130
1133
|
|
|
@@ -1206,7 +1209,7 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
1206
1209
|
- **CSS custom properties** listed on a node are declared on THAT node's root and read by elements inside it. Set one on that node's root or on the element inside it that reads it — the pt part that lands there is how you reach it (`pt:box="[--border-color:…]"` on a text input) — never on `BbButton`'s root, where the node's own declaration masks it (design-tokens guide, _Overriding one from a consumer app_, rule 0).
|
|
1207
1210
|
- Listed nodes are the ones `BbButton`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
|
|
1208
1211
|
|
|
1209
|
-
- `BbButton` _(this component)_ — its own template binds: `root` → `BbBaseButton`, `spinner` → `BbSpinner`, `icon` → `BbIcon`, `text` → `span.bb-
|
|
1212
|
+
- `BbButton` _(this component)_ — its own template binds: `root` → `BbBaseButton`, `spinner` → `BbSpinner`, `icon` → `BbIcon`, `text` → `span.bb-button__text`
|
|
1210
1213
|
- `BbBaseButton` _(public — [contract](./BbBaseButton.md))_ — its own pt parts (`BbBaseButton`): `root` → `RouterComponent`, `root` → `a`, `root` → `component`; also mounts `RouterComponent`
|
|
1211
1214
|
- Also mounts `BbIcon`, `BbSpinner`
|
|
1212
1215
|
|
package/dist/ai/BbCalendar.md
CHANGED
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
| `pt:arrow` | the root of `BbBaseButton` | `BbBaseButton` ([contract](./BbBaseButton.md)) |
|
|
18
18
|
| `pt:month` | the root of `BbBaseButton` | `BbBaseButton` ([contract](./BbBaseButton.md)) |
|
|
19
19
|
| `pt:year` | the root of `BbBaseButton` | `BbBaseButton` ([contract](./BbBaseButton.md)) |
|
|
20
|
+
| `pt:header` | `div.bb-time-selector__header` | `CommonTimeSelector` _(internal)_ |
|
|
21
|
+
| `pt:cellColumnHeader` | `div.bb-time-selector__cell-column-header` | `CommonTimeSelector` _(internal)_ |
|
|
22
|
+
| `pt:item` | the root of `BbBaseButton` | `BbBaseButton` ([contract](./BbBaseButton.md)) |
|
|
20
23
|
|
|
21
24
|
## Usage & Guidelines
|
|
22
25
|
|
|
@@ -470,7 +473,7 @@ and attributes — optionally only while a state is on. Parts: `root` (the
|
|
|
470
473
|
calendar's box, where a consumer `class` lands too; it carries the sizing
|
|
471
474
|
tokens, so `pt:root="[--px:2px]"` tightens the padding and the grid width
|
|
472
475
|
follows), `header` (the navigation bar), `arrow` (the previous / next
|
|
473
|
-
buttons), `month` and `year` (the heading buttons), `
|
|
476
|
+
buttons), `month` and `year` (the heading buttons), `cellColumnHeader` (each
|
|
474
477
|
weekday letter), `day` (one whole day cell) and `dayButton` (the button
|
|
475
478
|
inside it), `monthItem` and `yearItem` (one button of the month / year
|
|
476
479
|
panel).
|
|
@@ -485,7 +488,11 @@ open. The cells resolve per node — on `day` and `dayButton`: `selected`,
|
|
|
485
488
|
|
|
486
489
|
`day` is the whole cell and `dayButton` the rounded mark inside it: a
|
|
487
490
|
background on `pt:day` paints the full cell square, so restyle the mark on
|
|
488
|
-
`pt:day-button`.
|
|
491
|
+
`pt:day-button`. With `type="datetime"` the time rail takes the same words
|
|
492
|
+
as `BbTimePicker`: `item` is one entry (`selected`, and `disabled` outside the
|
|
493
|
+
bound's time on the day `min` / `max` falls on), and `header` /
|
|
494
|
+
`cellColumnHeader` land on its readout and column letters too — one
|
|
495
|
+
`pt:header` styles the navigation bar and the readout together.
|
|
489
496
|
|
|
490
497
|
```vue
|
|
491
498
|
<BbCalendar
|
|
@@ -522,14 +529,14 @@ the page is `BbDatePicker`.
|
|
|
522
529
|
|
|
523
530
|
| Prop | Type | Default | Required | Description |
|
|
524
531
|
| --- | --- | --- | --- | --- |
|
|
525
|
-
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `arrow`, `
|
|
532
|
+
| `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `arrow`, `cellColumnHeader`, `day`, `dayButton`, `header`, `item`, `month`, `monthItem`, `root`, `year`, `yearItem`. States: `active`, `disabled`, `highlighted`, `inRange`, `outside`, `rangeEnd`, `rangeStart`, `selected`, `today`. What each one is: _Passthrough parts and states_ below. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
|
|
526
533
|
| `activeSegment` | `BbCalendarSegment \| undefined` | | | Which end the time rail edits in range + `type="datetime"` (`v-model:active-segment`). Standalone use manages this internally; an embedding host (the date input) drives it from its focused field. Ignored outside range + datetime. |
|
|
527
534
|
| `ampm` | `boolean \| undefined` | `false` | | 12-hour display with an AM/PM column (requires `type="datetime"`); emits stay 24h. |
|
|
528
535
|
| `disabled` | `boolean \| undefined` | `false` | | Disables every cell, the navigation and the time rail. |
|
|
529
536
|
| `firstDayOfWeek` | `0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| undefined` | `1` | | First day of the week (0 = Sunday … 6 = Saturday). |
|
|
530
537
|
| `floating` | `boolean \| undefined` | `false` | | Emit plain calendar strings instead of zoned ISO instants. Implied (and forced) by `type="month"` and `type="year"`. |
|
|
531
|
-
| `max` | `string \| undefined` | | | Maximum selectable value, in this `type`'s shape. A finer bound is accepted and ceiled to the unit, with a warning. |
|
|
532
|
-
| `min` | `string \| undefined` | | | Minimum selectable value, in this `type`'s shape — `YYYY-MM-DD` (`YYYY-MM-DDTHH:mm` with `datetime`, `YYYY-MM` with `month`, `YYYY` with `year`). A finer bound is accepted and floored to the unit, with a warning. |
|
|
538
|
+
| `max` | `string \| undefined` | | | Maximum selectable value, in this `type`'s shape. A finer bound is accepted and ceiled to the unit, with a warning. With `datetime`, on its own day the time rail disables the times after it. |
|
|
539
|
+
| `min` | `string \| undefined` | | | Minimum selectable value, in this `type`'s shape — `YYYY-MM-DD` (`YYYY-MM-DDTHH:mm` with `datetime`, `YYYY-MM` with `month`, `YYYY` with `year`). A finer bound is accepted and floored to the unit, with a warning. With `datetime`, the grid d… |
|
|
533
540
|
| `modelValue` | `string \| string[] \| null` | | yes | v-model value. `null` for empty, a single string for single selection, or a two-element `[start, end]` array when `range` is true (a sorted array under `multiple`). The string shape follows `type`: `YYYY-MM-DD` when `floating` (`YYYY-MM` fo… |
|
|
534
541
|
| `multiple` | `boolean \| undefined` | `false` | | Enables multi-selection: every pick toggles a value in or out of a sorted array. Works in whatever `type` selects — days, months or years — and requires an array `modelValue` (use `[]` for empty, never `null`). Mutually exclusive with `rang… |
|
|
535
542
|
| `range` | `boolean \| undefined` | `false` | | Enables range selection (`[start, end]`). |
|
|
@@ -552,11 +559,12 @@ the page is `BbDatePicker`.
|
|
|
552
559
|
| `arrow` | The previous / next buttons — a broadcast. |
|
|
553
560
|
| `month` | The month heading button; it opens the month panel. |
|
|
554
561
|
| `year` | The year heading button; it opens the year panel. |
|
|
555
|
-
| `
|
|
562
|
+
| `cellColumnHeader` | Each weekday letter above the grid — a broadcast. |
|
|
556
563
|
| `day` | One whole day cell — a broadcast resolved per day. A background here paints the full cell square; restyle the round mark on `dayButton`. |
|
|
557
564
|
| `dayButton` | The button inside a day cell — the mark that shows selection. A broadcast resolved per day. |
|
|
558
565
|
| `monthItem` | One month button of the month panel (the home grid of `type="month"`) — a broadcast resolved per month. |
|
|
559
566
|
| `yearItem` | One year button of the year list — a broadcast resolved per year. |
|
|
567
|
+
| `item` | One entry of the time rail's columns (hour, minute, second, AM / PM) with `type="datetime"` — a broadcast resolved per entry, as on `BbTimePicker`. With the rail, `header` also lands on its readout and `cellColumnHeader` on its column letters (`HH`, `MM`). |
|
|
560
568
|
|
|
561
569
|
States are listed in precedence order: when two are on at once and their entries conflict, the later one wins.
|
|
562
570
|
|
|
@@ -565,20 +573,20 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
565
573
|
| `outside` | Per node, on `day` / `dayButton`: a day of the previous or next month, shown to fill the grid. |
|
|
566
574
|
| `today` | Per node, on `day` / `dayButton`: today. |
|
|
567
575
|
| `inRange` | Per node, on the cells (`day`, `dayButton`, `monthItem`, `yearItem`): inside a committed range, between its ends. |
|
|
568
|
-
| `selected` | Per node, on the cells: a chosen day, month or year. |
|
|
576
|
+
| `selected` | Per node, on the cells: a chosen day, month or year; on `item`, the picked time's entry in each column. |
|
|
569
577
|
| `rangeStart` | Per node, on the cells: a committed range's first day, month or year. |
|
|
570
578
|
| `rangeEnd` | Per node, on the cells: a committed range's last day, month or year. |
|
|
571
|
-
| `disabled` | Component-wide while the calendar is `disabled`. Also per node: on the cells, one outside `min` / `max` or refused by `selectable`; on `arrow`, at a bound or while the month / year panel is open. |
|
|
579
|
+
| `disabled` | Component-wide while the calendar is `disabled`. Also per node: on the cells, one outside `min` / `max` or refused by `selectable`; on `arrow`, at a bound or while the month / year panel is open; on `item`, a time entry outside the bound's time on the day `min` / `max` falls on. |
|
|
572
580
|
| `active` | Per node, on `month` / `year`: its panel is open. |
|
|
573
581
|
| `highlighted` | Per node, on the cells: the keyboard cursor. |
|
|
574
582
|
|
|
575
583
|
## Events
|
|
576
584
|
|
|
577
|
-
- `grid-pick` — `(
|
|
578
|
-
- `time-pick` — `(
|
|
579
|
-
- `update:activeSegment` — `(
|
|
580
|
-
- `update:modelValue` — `(
|
|
581
|
-
- `update:time` — `(
|
|
585
|
+
- `grid-pick` — `(value: string \| string[] \| null): void` — Relay of the raw grid pick, before this component combines it with the time. An embedding host binds this to run its own value engine (the date picker closes on it once the selection is complete); clean consumers ignore it and use `update:m…
|
|
586
|
+
- `time-pick` — `(payload: { unit: TimeUnit; value: string; }): void` — Relay of the raw time-rail pick. An embedding host binds this to run its own value engine; clean consumers ignore it and use `update:time`.
|
|
587
|
+
- `update:activeSegment` — `(value: BbCalendarSegment): void` — The active range end changed (range + `type="datetime"` only).
|
|
588
|
+
- `update:modelValue` — `(value: string \| string[] \| null): void` — Emitted when the selected value changes (single / range / multiple / null).
|
|
589
|
+
- `update:time` — `(value: string \| string[] \| null): void` — Companion time model, alongside every change while `type="datetime"`.
|
|
582
590
|
|
|
583
591
|
## Slots
|
|
584
592
|
|
|
@@ -611,9 +619,9 @@ Set these on the element, or on a class you put on it, to retune this component
|
|
|
611
619
|
- **CSS custom properties** listed on a node are declared on THAT node's root and read by elements inside it. Set one on that node's root or on the element inside it that reads it — the pt part that lands there is how you reach it (`pt:box="[--border-color:…]"` on a text input) — never on `BbCalendar`'s root, where the node's own declaration masks it (design-tokens guide, _Overriding one from a consumer app_, rule 0).
|
|
612
620
|
- Listed nodes are the ones `BbCalendar`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
|
|
613
621
|
|
|
614
|
-
- `BbCalendar` _(this component)_ — its own template binds: `header` → `div.bb-
|
|
622
|
+
- `BbCalendar` _(this component)_ — its own template binds: `header` → `div.bb-calendar__header`, `arrow` → `BbBaseButton`, `month` → `BbBaseButton`, `year` → `BbBaseButton`, `day` → `div.bb-calendar__day`, `dayButton` → `button.bb-calendar__day-button`
|
|
615
623
|
- `BbBaseButton` _(public — [contract](./BbBaseButton.md))_ — its own pt parts (`BbBaseButton`): `root` → `RouterComponent`, `root` → `a`, `root` → `component`; also mounts `RouterComponent`
|
|
616
|
-
- `CommonTimeSelector` _(internal — not importable, reach it through `BbCalendar`)_ — documented CSS variables: `--time-mark`; also mounts `BbBaseButton`
|
|
624
|
+
- `CommonTimeSelector` _(internal — not importable, reach it through `BbCalendar`)_ — `BbCalendar`'s pt parts land here: `header` → `div.bb-time-selector__header`, `cellColumnHeader` → `div.bb-time-selector__cell-column-header`, `item` → `BbBaseButton`; documented CSS variables: `--time-mark`; also mounts `BbBaseButton`
|
|
617
625
|
- Also mounts `ScaleFade`, `Slide`, `CalendarMonthPanel`, `CalendarYearPanel`
|
|
618
626
|
|
|
619
627
|
## See Also
|
package/dist/ai/BbCheckbox.md
CHANGED
|
@@ -18,9 +18,8 @@
|
|
|
18
18
|
| `pt:root` | `div.bb-field` | `CommonField` _(internal)_ |
|
|
19
19
|
| `pt:label` | `component` | `CommonField` _(internal)_ |
|
|
20
20
|
| `pt:description` | `span.bb-field__description` | `CommonField` _(internal)_ |
|
|
21
|
-
| `pt:hint` | `span.bb-field__hint
|
|
22
|
-
| `pt:message` | `div.bb-
|
|
23
|
-
| `pt:message` | `div.bb-field__warnings` | `CommonField` _(internal)_ |
|
|
21
|
+
| `pt:hint` | `span.bb-field__hint` | `CommonField` _(internal)_ |
|
|
22
|
+
| `pt:message` | `div.bb-field__message` | `CommonField` _(internal)_ |
|
|
24
23
|
|
|
25
24
|
**CSS variables you can set through those parts** — declared deeper in the tree, so set one on the part that reads it (`pt:<part>="[--name:value]"`), never on `BbCheckbox`'s root:
|
|
26
25
|
|
|
@@ -684,7 +683,7 @@ map are in the [passthrough guide](./guides/passthrough.md).
|
|
|
684
683
|
| `hasWarnings` | `boolean \| undefined` | `false` | | Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority. |
|
|
685
684
|
| `hideLabel` | `boolean \| undefined` | `false` | | Visually hides the label of the input while maintaining accessibility. |
|
|
686
685
|
| `hint` | `string \| undefined` | | | Text box to be displayed near the input, usually to indicate instructions. |
|
|
687
|
-
| `id` | `string \| undefined` | | | The
|
|
686
|
+
| `id` | `string \| undefined` | | | The `id` of the native control; the label's `for` and the description and message ids derive from it. Generated when omitted. |
|
|
688
687
|
| `indeterminate` | `boolean \| undefined` | `false` | | Sets the input in an indeterminate state. |
|
|
689
688
|
| `inputPosition` | `"left" \| "center" \| "right" \| undefined` | `"left"` | | Sets the alignment of the input. Since inputs are inline block they can be aligned just as text can. |
|
|
690
689
|
| `label` | `string` | | yes | Text content of the label of the element. |
|
|
@@ -728,15 +727,15 @@ States are listed in precedence order: when two are on at once and their entries
|
|
|
728
727
|
|
|
729
728
|
## Events
|
|
730
729
|
|
|
731
|
-
- `blur` — `(event:
|
|
732
|
-
- `change` — `(event:
|
|
733
|
-
- `click` — `(event:
|
|
734
|
-
- `focus` — `(event:
|
|
735
|
-
- `input` — `(event:
|
|
736
|
-
- `keydown` — `(event:
|
|
737
|
-
- `mousedown` — `(event:
|
|
738
|
-
- `mouseup` — `(event:
|
|
739
|
-
- `update:modelValue` — `(
|
|
730
|
+
- `blur` — `(event: FocusEvent): void` — Emitted when the native input loses focus. Forwards the original DOM `FocusEvent`.
|
|
731
|
+
- `change` — `(event: Event): void` — Emitted when the checkbox checked state changes. Forwards the original DOM `Event` from the input.
|
|
732
|
+
- `click` — `(event: MouseEvent): void` — Emitted when the input receives a click interaction. Forwards the original DOM `MouseEvent`.
|
|
733
|
+
- `focus` — `(event: FocusEvent): void` — Emitted when the native input gains focus. Forwards the original DOM `FocusEvent`.
|
|
734
|
+
- `input` — `(event: Event): void` — Emitted on native input events from the checkbox input. Forwards the original DOM `Event`.
|
|
735
|
+
- `keydown` — `(event: KeyboardEvent): void` — Emitted for keyboard interaction on the input. Forwards the original DOM `KeyboardEvent`.
|
|
736
|
+
- `mousedown` — `(event: MouseEvent): void` — Emitted when a pointing device button is pressed over the input. Forwards the original DOM `MouseEvent`.
|
|
737
|
+
- `mouseup` — `(event: MouseEvent): void` — Emitted when a pointing device button is released over the input. Forwards the original DOM `MouseEvent`.
|
|
738
|
+
- `update:modelValue` — `(value: any): void` — Emitted on checked-state changes with the effective model value: - `trueValue` when checked - `falseValue` when unchecked
|
|
740
739
|
|
|
741
740
|
## Slots
|
|
742
741
|
|
|
@@ -764,7 +763,7 @@ Importing this component from `bitboss-ui/validated` instead of `bitboss-ui` bin
|
|
|
764
763
|
- Listed nodes are the ones `BbCheckbox`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
|
|
765
764
|
|
|
766
765
|
- `BbCheckbox` _(this component)_ — its own template binds: `icon` → `BbBaseCheckboxIcon`
|
|
767
|
-
- `CommonField` _(internal — not importable, reach it through `BbCheckbox`)_ — `BbCheckbox`'s pt parts land here: `root` → `div.bb-field`, `label` → `component`, `description` → `span.bb-field__description`, `hint` → `span.bb-field__hint
|
|
766
|
+
- `CommonField` _(internal — not importable, reach it through `BbCheckbox`)_ — `BbCheckbox`'s pt parts land here: `root` → `div.bb-field`, `label` → `component`, `description` → `span.bb-field__description`, `hint` → `span.bb-field__hint`, `message` → `div.bb-field__message`
|
|
768
767
|
- Also mounts `BbBaseCheckboxIcon`
|
|
769
768
|
|
|
770
769
|
## See Also
|