bitboss-ui 3.0.0-beta.21 → 3.0.0-beta.23
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 +55 -3
- package/bin/bitboss-ui-mcp.mjs +419 -9
- package/bin/bitboss-ui.mjs +293 -22
- package/dist/ai/BbAccordion.md +21 -23
- package/dist/ai/BbAlert.md +6 -12
- package/dist/ai/BbAvatar.md +60 -24
- package/dist/ai/BbBadge.md +12 -20
- package/dist/ai/BbBaseButton.md +14 -16
- package/dist/ai/BbBaseCheckboxIcon.md +6 -10
- package/dist/ai/BbBaseColorInput.md +1 -0
- package/dist/ai/BbBaseDatePickerInput.md +1 -0
- package/dist/ai/BbBaseNumberInput.md +1 -0
- package/dist/ai/BbBaseRadioIcon.md +6 -10
- package/dist/ai/BbBaseSelect.md +1 -0
- package/dist/ai/BbBaseSwitchIcon.md +5 -9
- package/dist/ai/BbBaseTag.md +1 -0
- package/dist/ai/BbBaseTextInput.md +2 -1
- package/dist/ai/BbBaseTextarea.md +1 -0
- package/dist/ai/BbBaseTimePickerInput.md +1 -0
- package/dist/ai/BbBreadcrumbs.md +23 -34
- package/dist/ai/BbButton.md +35 -47
- package/dist/ai/BbCheckbox.md +21 -37
- package/dist/ai/BbCheckboxGroup.md +13 -13
- package/dist/ai/BbCollapsible.md +14 -26
- package/dist/ai/BbColorInput.md +27 -23
- package/dist/ai/BbColorPalette.md +23 -35
- package/dist/ai/BbConfirm.md +17 -32
- package/dist/ai/BbDatePickerInput.md +29 -21
- package/dist/ai/BbDialog.md +159 -62
- package/dist/ai/BbDropdown.md +21 -25
- package/dist/ai/BbDropdownButton.md +13 -30
- package/dist/ai/BbDropzone.md +9 -11
- package/dist/ai/BbIcon.md +44 -33
- package/dist/ai/BbIndicator.md +2 -2
- package/dist/ai/BbNumberInput.md +32 -20
- package/dist/ai/BbOffCanvas.md +42 -42
- package/dist/ai/BbPagination.md +21 -23
- package/dist/ai/BbPopover.md +15 -17
- package/dist/ai/BbProgress.md +40 -51
- package/dist/ai/BbRadio.md +9 -9
- package/dist/ai/BbRadioGroup.md +7 -11
- package/dist/ai/BbRating.md +8 -12
- package/dist/ai/BbSelect.md +46 -36
- package/dist/ai/BbSelectPopover.md +19 -31
- package/dist/ai/BbSlider.md +15 -19
- package/dist/ai/BbSmoothHeight.md +16 -31
- package/dist/ai/BbSpinner.md +118 -74
- package/dist/ai/BbSwitch.md +25 -18
- package/dist/ai/BbSwitchGroup.md +9 -14
- package/dist/ai/BbTable.md +102 -55
- package/dist/ai/BbTabs.md +59 -82
- package/dist/ai/BbTag.md +26 -23
- package/dist/ai/BbTextInput.md +63 -27
- package/dist/ai/BbTextarea.md +42 -34
- package/dist/ai/BbTimePickerInput.md +14 -0
- package/dist/ai/BbToast.md +14 -34
- package/dist/ai/BbTooltip.md +22 -20
- package/dist/ai/BbTree.md +46 -72
- package/dist/ai/CommonInputWrapper.md +1 -0
- package/dist/ai/changelog.json +170 -62
- package/dist/ai/components.json +1678 -11
- package/dist/ai/composables/useConfirm.md +5 -2
- package/dist/ai/composables/useToast.md +4 -2
- package/dist/ai/guides/agent-contract.md +7 -4
- package/dist/ai/guides/ai-router.md +37 -22
- package/dist/ai/guides/component-picker.md +23 -18
- package/dist/ai/guides/design-language.md +151 -21
- package/dist/ai/guides/design-tokens.md +29 -4
- package/dist/ai/guides/icons-policy.md +46 -21
- package/dist/ai/guides/installation-and-plugin-setup.md +286 -17
- package/dist/ai/guides/migration/components/bb-rating.md +26 -1
- package/dist/ai/guides/migration/components/bb-tooltip.md +18 -0
- package/dist/ai/guides/migration/v2-to-v3.md +50 -23
- package/dist/ai/index.md +1 -1
- package/dist/ai/recipes/inertia/approvals-inbox.md +3 -3
- package/dist/ai/recipes/inertia/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/inertia/onboarding.md +2 -2
- package/dist/ai/recipes/inertia/ownership-atlas.md +6 -6
- package/dist/ai/recipes/inertia/record-form.md +5 -5
- package/dist/ai/recipes/inertia/records-workspace.md +4 -4
- package/dist/ai/recipes/inertia/upload-center.md +6 -6
- package/dist/ai/recipes/inertia/wizard-form.md +5 -5
- package/dist/ai/recipes/nuxt/approvals-inbox.md +3 -3
- package/dist/ai/recipes/nuxt/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/nuxt/onboarding.md +2 -2
- package/dist/ai/recipes/nuxt/record-form.md +5 -5
- package/dist/ai/recipes/nuxt/records-workspace.md +4 -4
- package/dist/ai/recipes/nuxt/upload-center.md +6 -6
- package/dist/ai/recipes/nuxt/wizard-form.md +5 -5
- package/dist/ai/recipes/vue/approvals-inbox.md +3 -3
- package/dist/ai/recipes/vue/inline-edit-workspace.md +2 -2
- package/dist/ai/recipes/vue/onboarding.md +2 -2
- package/dist/ai/recipes/vue/record-form.md +10 -10
- package/dist/ai/recipes/vue/records-workspace.md +4 -4
- package/dist/ai/recipes/vue/upload-center.md +6 -6
- package/dist/ai/recipes/vue/wizard-form.md +5 -5
- package/dist/ai/source/BbBadge.md +1 -1
- package/dist/ai/source/BbBaseCheckbox.md +1 -1
- package/dist/ai/source/BbBaseColorInput.md +7 -0
- package/dist/ai/source/BbBaseDatePicker.md +5 -5
- package/dist/ai/source/BbBaseDatePickerInput.md +9 -2
- package/dist/ai/source/BbBaseNumberInput.md +7 -0
- package/dist/ai/source/BbBaseRadio.md +1 -1
- package/dist/ai/source/BbBaseRating.md +5 -5
- package/dist/ai/source/BbBaseSelect.md +8 -1
- package/dist/ai/source/BbBaseSlider.md +5 -5
- package/dist/ai/source/BbBaseSwitch.md +1 -1
- package/dist/ai/source/BbBaseTag.md +7 -0
- package/dist/ai/source/BbBaseTextInput.md +7 -0
- package/dist/ai/source/BbBaseTextarea.md +7 -0
- package/dist/ai/source/BbBaseTimePickerInput.md +8 -1
- package/dist/ai/source/BbBreadcrumbs.md +20 -1
- package/dist/ai/source/BbButton.md +2 -2
- package/dist/ai/source/BbColorInput.md +14 -0
- package/dist/ai/source/BbDatePickerInput.md +14 -0
- package/dist/ai/source/BbDialog.md +39 -8
- package/dist/ai/source/BbDropdown.md +1 -1
- package/dist/ai/source/BbDropzone.md +5 -5
- package/dist/ai/source/BbIcon.md +23 -10
- package/dist/ai/source/BbNumberInput.md +14 -0
- package/dist/ai/source/BbOffCanvas.md +50 -28
- package/dist/ai/source/BbPagination.md +2 -2
- package/dist/ai/source/BbPopover.md +12 -1
- package/dist/ai/source/BbSelect.md +14 -0
- package/dist/ai/source/BbSelectPopover.md +45 -7
- package/dist/ai/source/BbSpinner.md +2 -2
- package/dist/ai/source/BbTable.md +11 -11
- package/dist/ai/source/BbTag.md +14 -0
- package/dist/ai/source/BbTextInput.md +14 -0
- package/dist/ai/source/BbTextarea.md +14 -0
- package/dist/ai/source/BbTimePickerInput.md +14 -0
- package/dist/ai/source/BbTooltip.md +57 -10
- package/dist/ai/source/ChipsBox.md +1 -1
- package/dist/ai/source/CommaBox.md +1 -1
- package/dist/ai/source/CommonInputWrapper.md +128 -33
- package/dist/ai/source/GuidesComponent.md +14 -7
- package/dist/ai/source/OptionsContainer.md +1 -1
- package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseColorInput/types.d.ts +5 -0
- package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbBaseDatePickerInput/types.d.ts +5 -0
- package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.d.ts +1 -1
- package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseNumberInput/types.d.ts +5 -0
- package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseSelect/types.d.ts +5 -0
- package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseTag/types.d.ts +5 -0
- package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseTextInput/types.d.ts +5 -0
- package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/BbBaseTextarea/types.d.ts +5 -0
- package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbBaseTimePickerInput/types.d.ts +5 -0
- package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +71 -71
- package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbColorInput/types.d.ts +12 -0
- package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/BbDatePickerInput/types.d.ts +12 -0
- package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +102 -97
- package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +58 -58
- package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +33 -35
- package/dist/components/BbIcon/iconCache.d.ts +30 -0
- package/dist/components/BbIcon/iconCache.js +21 -3
- package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbNumberInput/types.d.ts +12 -0
- package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +57 -56
- package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +138 -138
- package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/BbSelect/types.d.ts +12 -0
- package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +43 -43
- package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/BbSpinner/types.d.ts +1 -1
- package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/BbTable/BbTableDataRow.js +2 -2
- package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbTag/types.d.ts +12 -0
- package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbTextInput/types.d.ts +12 -0
- package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/BbTextarea/types.d.ts +12 -0
- package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/BbTimePickerInput/types.d.ts +12 -0
- package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +62 -62
- package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +81 -78
- package/dist/components/BbTooltip/types.d.ts +8 -1
- package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.d.ts +1 -0
- package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/components/CommonInputWrapper/types.d.ts +10 -0
- package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/composables/useConfirm.d.ts +22 -0
- package/dist/composables/useConfirm.js +43 -40
- package/dist/composables/useSafeAreaInternal.js +1 -1
- package/dist/composables/useToast.d.ts +16 -0
- package/dist/composables/useToast.js +20 -16
- package/dist/composables/useViewportWidth.d.ts +20 -6
- package/dist/composables/useViewportWidth.js +8 -7
- package/dist/icon-scan.d.ts +276 -0
- package/dist/icon-scan.js +485 -0
- package/dist/icons-whitelist.d.ts +5 -4
- package/dist/index.d.ts +2 -0
- package/dist/input-variants.d.ts +18 -0
- package/dist/llms-full.txt +2173 -1537
- package/dist/llms-medium.txt +504 -82
- package/dist/llms.txt +1 -1
- package/dist/nuxt-module.d.ts +1 -0
- package/dist/nuxt.js +10 -7
- package/dist/plugin.js +1 -0
- package/dist/runtime/nuxt-plugin.js +2 -1
- package/dist/styles.css +1 -1
- package/dist/types/Config.d.ts +18 -0
- package/dist/types/InputVariant.d.ts +22 -0
- package/dist/utils/cssLayers.d.ts +91 -0
- package/dist/utils/cssLayers.js +43 -0
- package/dist/utils/injectLibraryStyles.d.ts +3 -1
- package/dist/utils/injectLibraryStyles.js +24 -23
- package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/validated/index.d.ts +1 -0
- package/dist/vite-plugin.d.ts +89 -12
- package/dist/vite.js +331 -281
- package/llms.txt +1 -1
- package/package.json +7 -5
- package/scripts/lib/ensure-manifest.mjs +28 -5
- package/scripts/lib/eslint-plugin.d.ts +35 -0
- package/scripts/lib/eslint-plugin.mjs +299 -3
- package/scripts/lib/hand-roll-hints.mjs +50 -6
- package/scripts/lib/html-attributes.mjs +42 -0
- package/scripts/lib/mcp-config.mjs +38 -34
- package/scripts/lib/public-type-exports.mjs +246 -0
- package/scripts/lib/validate-bb-markup.mjs +205 -12
package/dist/ai/changelog.json
CHANGED
|
@@ -1,12 +1,47 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
2
|
+
"schemaVersion": 2,
|
|
3
3
|
"library": "bitboss-ui",
|
|
4
|
-
"version": "3.0.0-beta.
|
|
4
|
+
"version": "3.0.0-beta.23",
|
|
5
5
|
"upgrade": "v2-to-v3",
|
|
6
6
|
"guide": "ai/guides/migration/v2-to-v3.md",
|
|
7
|
+
"releases": [
|
|
8
|
+
"3.0.0-alpha.1",
|
|
9
|
+
"3.0.0-alpha.2",
|
|
10
|
+
"3.0.0-alpha.3",
|
|
11
|
+
"3.0.0-alpha.4",
|
|
12
|
+
"3.0.0-alpha.5",
|
|
13
|
+
"3.0.0-alpha.6",
|
|
14
|
+
"3.0.0-alpha.7",
|
|
15
|
+
"3.0.0-alpha.8",
|
|
16
|
+
"3.0.0-alpha.9",
|
|
17
|
+
"3.0.0-beta.0",
|
|
18
|
+
"3.0.0-beta.1",
|
|
19
|
+
"3.0.0-beta.2",
|
|
20
|
+
"3.0.0-beta.3",
|
|
21
|
+
"3.0.0-beta.4",
|
|
22
|
+
"3.0.0-beta.5",
|
|
23
|
+
"3.0.0-beta.6",
|
|
24
|
+
"3.0.0-beta.7",
|
|
25
|
+
"3.0.0-beta.8",
|
|
26
|
+
"3.0.0-beta.9",
|
|
27
|
+
"3.0.0-beta.10",
|
|
28
|
+
"3.0.0-beta.11",
|
|
29
|
+
"3.0.0-beta.12",
|
|
30
|
+
"3.0.0-beta.13",
|
|
31
|
+
"3.0.0-beta.15",
|
|
32
|
+
"3.0.0-beta.16",
|
|
33
|
+
"3.0.0-beta.17",
|
|
34
|
+
"3.0.0-beta.18",
|
|
35
|
+
"3.0.0-beta.19",
|
|
36
|
+
"3.0.0-beta.20",
|
|
37
|
+
"3.0.0-beta.21",
|
|
38
|
+
"3.0.0-beta.22",
|
|
39
|
+
"3.0.0-beta.23"
|
|
40
|
+
],
|
|
7
41
|
"summary": {
|
|
8
42
|
"renames": 9,
|
|
9
|
-
"behaviourBreaks":
|
|
43
|
+
"behaviourBreaks": 52,
|
|
44
|
+
"unreleased": 0
|
|
10
45
|
},
|
|
11
46
|
"breaking": [
|
|
12
47
|
{
|
|
@@ -17,7 +52,8 @@
|
|
|
17
52
|
"from": "querykey",
|
|
18
53
|
"to": "queryKey",
|
|
19
54
|
"since": "2026-07-15, unreleased",
|
|
20
|
-
"default": "'page'"
|
|
55
|
+
"default": "'page'",
|
|
56
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
21
57
|
},
|
|
22
58
|
{
|
|
23
59
|
"kind": "rename",
|
|
@@ -28,7 +64,8 @@
|
|
|
28
64
|
"from": "querykey",
|
|
29
65
|
"to": "queryKey",
|
|
30
66
|
"since": "2026-07-15, unreleased",
|
|
31
|
-
"default": "'tab'"
|
|
67
|
+
"default": "'tab'",
|
|
68
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
32
69
|
},
|
|
33
70
|
{
|
|
34
71
|
"kind": "rename",
|
|
@@ -38,7 +75,8 @@
|
|
|
38
75
|
"from": "direction",
|
|
39
76
|
"to": "side",
|
|
40
77
|
"since": "2026-07-19, unreleased",
|
|
41
|
-
"default": "'left'"
|
|
78
|
+
"default": "'left'",
|
|
79
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
42
80
|
},
|
|
43
81
|
{
|
|
44
82
|
"kind": "rename",
|
|
@@ -48,7 +86,8 @@
|
|
|
48
86
|
"from": "hidePopover",
|
|
49
87
|
"to": "disableCalendar",
|
|
50
88
|
"since": "2026-07-23, unreleased",
|
|
51
|
-
"default": "false"
|
|
89
|
+
"default": "false",
|
|
90
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
52
91
|
},
|
|
53
92
|
{
|
|
54
93
|
"kind": "rename",
|
|
@@ -59,7 +98,8 @@
|
|
|
59
98
|
"from": "datetime",
|
|
60
99
|
"to": "type",
|
|
61
100
|
"since": "2026-08-05, unreleased",
|
|
62
|
-
"default": "'date'"
|
|
101
|
+
"default": "'date'",
|
|
102
|
+
"firstReleasedIn": "3.0.0-alpha.5"
|
|
63
103
|
},
|
|
64
104
|
{
|
|
65
105
|
"kind": "rename",
|
|
@@ -70,7 +110,8 @@
|
|
|
70
110
|
"from": "enabledWhileLoading",
|
|
71
111
|
"to": "interactiveWhileLoading",
|
|
72
112
|
"since": "2026-07-24, unreleased",
|
|
73
|
-
"default": "false"
|
|
113
|
+
"default": "false",
|
|
114
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
74
115
|
},
|
|
75
116
|
{
|
|
76
117
|
"kind": "rename",
|
|
@@ -80,7 +121,8 @@
|
|
|
80
121
|
"from": "canvasProps",
|
|
81
122
|
"to": "offCanvasProps",
|
|
82
123
|
"since": "2026-07-19, unreleased",
|
|
83
|
-
"default": "{}"
|
|
124
|
+
"default": "{}",
|
|
125
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
84
126
|
},
|
|
85
127
|
{
|
|
86
128
|
"kind": "rename",
|
|
@@ -94,7 +136,8 @@
|
|
|
94
136
|
"from": "offcanvasProps",
|
|
95
137
|
"to": "offCanvasProps",
|
|
96
138
|
"since": "2026-07-19, unreleased",
|
|
97
|
-
"default": "{}"
|
|
139
|
+
"default": "{}",
|
|
140
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
98
141
|
},
|
|
99
142
|
{
|
|
100
143
|
"kind": "rename",
|
|
@@ -104,307 +147,372 @@
|
|
|
104
147
|
"from": "total",
|
|
105
148
|
"to": "totalItems",
|
|
106
149
|
"since": "2026-08-06, unreleased",
|
|
107
|
-
"default": "0"
|
|
150
|
+
"default": "0",
|
|
151
|
+
"firstReleasedIn": "3.0.0-alpha.5"
|
|
108
152
|
},
|
|
109
153
|
{
|
|
110
154
|
"kind": "behaviour",
|
|
111
155
|
"description": "Variant types locked to registries (8 components); IconRegistry export removed",
|
|
112
156
|
"ruling": "A#5",
|
|
113
|
-
"guide": "v2-to-v3.md §variants"
|
|
157
|
+
"guide": "v2-to-v3.md §variants",
|
|
158
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
114
159
|
},
|
|
115
160
|
{
|
|
116
161
|
"kind": "behaviour",
|
|
117
162
|
"description": "BbBase* input controls + CommonInputWrapper/CommonInputOuterContainer un-exported (reference-only); BbBaseButton + glyphs stay",
|
|
118
163
|
"ruling": "G3.3",
|
|
119
|
-
"guide": "v2-to-v3.md §5.1"
|
|
164
|
+
"guide": "v2-to-v3.md §5.1",
|
|
165
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
120
166
|
},
|
|
121
167
|
{
|
|
122
168
|
"kind": "behaviour",
|
|
123
169
|
"description": "hideArrow/showArrow/arrowPadding removed (BbPopover, BbSelectPopover, BbColorPalette, BbDropdown)",
|
|
124
170
|
"ruling": "B#10",
|
|
125
|
-
"guide": "components/bb-popover.md (+siblings)"
|
|
171
|
+
"guide": "components/bb-popover.md (+siblings)",
|
|
172
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
126
173
|
},
|
|
127
174
|
{
|
|
128
175
|
"kind": "behaviour",
|
|
129
176
|
"description": "BbTree ARIA tree roles removed; collapsed branches inert",
|
|
130
177
|
"ruling": "D#25",
|
|
131
|
-
"guide": "components/bb-tree.md"
|
|
178
|
+
"guide": "components/bb-tree.md",
|
|
179
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
132
180
|
},
|
|
133
181
|
{
|
|
134
182
|
"kind": "behaviour",
|
|
135
183
|
"description": "BbTag trims entries + case-folds duplicate matching (new case-sensitive)",
|
|
136
184
|
"ruling": "D#24 / F2.1b",
|
|
137
|
-
"guide": "components/bb-tag.md"
|
|
185
|
+
"guide": "components/bb-tag.md",
|
|
186
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
138
187
|
},
|
|
139
188
|
{
|
|
140
189
|
"kind": "behaviour",
|
|
141
190
|
"description": "BbBreadcrumbs item key narrowed string \\",
|
|
142
191
|
"ruling": "number → string",
|
|
143
|
-
"guide": "F2.1"
|
|
192
|
+
"guide": "F2.1",
|
|
193
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
144
194
|
},
|
|
145
195
|
{
|
|
146
196
|
"kind": "behaviour",
|
|
147
197
|
"description": "slotKey slot-name normalization (BbBreadcrumbs, BbTree, BbBaseDatePicker)",
|
|
148
198
|
"ruling": "A#7 / F2.2",
|
|
149
|
-
"guide": "per-component files"
|
|
199
|
+
"guide": "per-component files",
|
|
200
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
150
201
|
},
|
|
151
202
|
{
|
|
152
203
|
"kind": "behaviour",
|
|
153
204
|
"description": "BbTabs: label-<key> → label:<key>, pane slots + URL slug + DOM ids normalized",
|
|
154
205
|
"ruling": "A#7 / F2.2",
|
|
155
|
-
"guide": "components/bb-tabs.md"
|
|
206
|
+
"guide": "components/bb-tabs.md",
|
|
207
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
156
208
|
},
|
|
157
209
|
{
|
|
158
210
|
"kind": "behaviour",
|
|
159
211
|
"description": "enforce-coherence + seeded value prunes on mount",
|
|
160
212
|
"ruling": "E1",
|
|
161
|
-
"guide": "components/bb-select.md / bb-select-popover.md"
|
|
213
|
+
"guide": "components/bb-select.md / bb-select-popover.md",
|
|
214
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
162
215
|
},
|
|
163
216
|
{
|
|
164
217
|
"kind": "behaviour",
|
|
165
218
|
"description": "BbTable: #loading first-load-only; rows/header inert while loading",
|
|
166
219
|
"ruling": "E4",
|
|
167
|
-
"guide": "components/bb-table.md"
|
|
220
|
+
"guide": "components/bb-table.md",
|
|
221
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
168
222
|
},
|
|
169
223
|
{
|
|
170
224
|
"kind": "behaviour",
|
|
171
225
|
"description": "Single select: second click on the selected option no longer clears",
|
|
172
226
|
"ruling": "E5",
|
|
173
|
-
"guide": "components/bb-select.md / bb-select-popover.md"
|
|
227
|
+
"guide": "components/bb-select.md / bb-select-popover.md",
|
|
228
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
174
229
|
},
|
|
175
230
|
{
|
|
176
231
|
"kind": "behaviour",
|
|
177
232
|
"description": "prefill: false is search-first (was indistinguishable from 'interaction')",
|
|
178
233
|
"ruling": "E6",
|
|
179
|
-
"guide": "components/bb-select.md / bb-select-popover.md"
|
|
234
|
+
"guide": "components/bb-select.md / bb-select-popover.md",
|
|
235
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
180
236
|
},
|
|
181
237
|
{
|
|
182
238
|
"kind": "behaviour",
|
|
183
239
|
"description": "BbSwitchGroup multiple: false now honored — bare-value emit (was a silent no-op, always arrays)",
|
|
184
240
|
"ruling": "DECISIONS §G",
|
|
185
|
-
"guide": "components/bb-checkbox-group.md"
|
|
241
|
+
"guide": "components/bb-checkbox-group.md",
|
|
242
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
186
243
|
},
|
|
187
244
|
{
|
|
188
245
|
"kind": "behaviour",
|
|
189
246
|
"description": "BbSelect hidden inputs: empty selection posts no field (was name=null for single-empty)",
|
|
190
247
|
"ruling": "DECISIONS §G",
|
|
191
|
-
"guide": "components/bb-select.md"
|
|
248
|
+
"guide": "components/bb-select.md",
|
|
249
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
192
250
|
},
|
|
193
251
|
{
|
|
194
252
|
"kind": "behaviour",
|
|
195
253
|
"description": "BbPopover defineExpose (show/close/isOpen via template ref) removed → v-model",
|
|
196
254
|
"ruling": "F#/expose",
|
|
197
|
-
"guide": "components/bb-popover.md"
|
|
255
|
+
"guide": "components/bb-popover.md",
|
|
256
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
198
257
|
},
|
|
199
258
|
{
|
|
200
259
|
"kind": "behaviour",
|
|
201
260
|
"description": "BbTextInput defineExpose (focus/blur/select via template ref) removed → autofocus/native input",
|
|
202
261
|
"ruling": "F#/expose",
|
|
203
|
-
"guide": "components/bb-text-input.md"
|
|
262
|
+
"guide": "components/bb-text-input.md",
|
|
263
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
204
264
|
},
|
|
205
265
|
{
|
|
206
266
|
"kind": "behaviour",
|
|
207
267
|
"description": "BbNumberInput defineExpose (increase/decrease via template ref) removed → slot scope / v-model",
|
|
208
268
|
"ruling": "F#/expose",
|
|
209
|
-
"guide": "components/bb-text-input.md (sibling note)"
|
|
269
|
+
"guide": "components/bb-text-input.md (sibling note)",
|
|
270
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
210
271
|
},
|
|
211
272
|
{
|
|
212
273
|
"kind": "behaviour",
|
|
213
274
|
"description": "BbDropdown defineExpose (loading via template ref) removed → activator slot scope loading",
|
|
214
275
|
"ruling": "F#/expose",
|
|
215
|
-
"guide": "components/bb-dropdown.md"
|
|
276
|
+
"guide": "components/bb-dropdown.md",
|
|
277
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
216
278
|
},
|
|
217
279
|
{
|
|
218
280
|
"kind": "behaviour",
|
|
219
281
|
"description": "confirm(): a superseding call now resolves the previous promise false (was never settled — hung)",
|
|
220
282
|
"ruling": "DECISIONS §G",
|
|
221
|
-
"guide": "components/use-confirm.md"
|
|
283
|
+
"guide": "components/use-confirm.md",
|
|
284
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
222
285
|
},
|
|
223
286
|
{
|
|
224
287
|
"kind": "behaviour",
|
|
225
288
|
"description": "BbDropdown group heading text → label; new hideLabel keeps label without a heading (items keep text)",
|
|
226
289
|
"ruling": "F#/dropdown-label",
|
|
227
|
-
"guide": "components/bb-dropdown.md"
|
|
290
|
+
"guide": "components/bb-dropdown.md",
|
|
291
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
228
292
|
},
|
|
229
293
|
{
|
|
230
294
|
"kind": "behaviour",
|
|
231
295
|
"description": "tag props narrowed to per-family unions (BbButton/BbBaseButton, BbSmoothHeight, BbDropzone, BbBaseInputContainer tag+labelTag)",
|
|
232
296
|
"ruling": "F#/tag-unions",
|
|
233
|
-
"guide": "components/bb-button.md (+siblings)"
|
|
297
|
+
"guide": "components/bb-button.md (+siblings)",
|
|
298
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
234
299
|
},
|
|
235
300
|
{
|
|
236
301
|
"kind": "behaviour",
|
|
237
302
|
"description": "CommonPopover wrapper+bubble <span> → <div> (BbPopover/BbDropdown/submenus); BbTooltip + BbSelectPopover stay span",
|
|
238
303
|
"ruling": "F#/tag-unions",
|
|
239
|
-
"guide": "components/bb-popover.md, components/bb-dropdown.md"
|
|
304
|
+
"guide": "components/bb-popover.md, components/bb-dropdown.md",
|
|
305
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
240
306
|
},
|
|
241
307
|
{
|
|
242
308
|
"kind": "behaviour",
|
|
243
309
|
"description": "BbPopover panel PARTS <span> → <div> (__panel, __header, __content, __footer) — finishes the wrapper change one level in",
|
|
244
310
|
"ruling": "Q18.14",
|
|
245
|
-
"guide": "components/bb-popover.md"
|
|
311
|
+
"guide": "components/bb-popover.md",
|
|
312
|
+
"firstReleasedIn": "3.0.0-beta.17"
|
|
246
313
|
},
|
|
247
314
|
{
|
|
248
315
|
"kind": "behaviour",
|
|
249
316
|
"description": "BbSmoothHeight inner measuring element mirrors tag (was always <div>) — span now yields span-in-span",
|
|
250
317
|
"ruling": "F#/tag-unions",
|
|
251
|
-
"guide": "components/bb-smooth-height.md (new)"
|
|
318
|
+
"guide": "components/bb-smooth-height.md (new)",
|
|
319
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
252
320
|
},
|
|
253
321
|
{
|
|
254
322
|
"kind": "behaviour",
|
|
255
323
|
"description": "BbBadge DOM: label/icons now wrapped in .bb-badge__body + .bb-badge__trailing; only direct-child CSS selectors break",
|
|
256
324
|
"ruling": "F#/badge-sides",
|
|
257
|
-
"guide": "components/bb-badge.md"
|
|
325
|
+
"guide": "components/bb-badge.md",
|
|
326
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
258
327
|
},
|
|
259
328
|
{
|
|
260
329
|
"kind": "behaviour",
|
|
261
330
|
"description": "Checkbox/radio/switch **groups**: disabled and selectable: false now disable a SELECTED option too (it was interactive, so the selection could be cleared)",
|
|
262
331
|
"ruling": "Q18.1",
|
|
263
|
-
"guide": "components/bb-checkbox-group.md"
|
|
332
|
+
"guide": "components/bb-checkbox-group.md",
|
|
333
|
+
"firstReleasedIn": "3.0.0-beta.16"
|
|
264
334
|
},
|
|
265
335
|
{
|
|
266
336
|
"kind": "behaviour",
|
|
267
337
|
"description": "bitbossUiPlugin takes per-app config overrides (app.use(plugin, { locale })); setConfig from module scope now warns — it can only reach the build-time defaults",
|
|
268
338
|
"ruling": "Q18.2",
|
|
269
|
-
"guide": "v2-to-v3.md"
|
|
339
|
+
"guide": "v2-to-v3.md",
|
|
340
|
+
"firstReleasedIn": "3.0.0-beta.16"
|
|
270
341
|
},
|
|
271
342
|
{
|
|
272
343
|
"kind": "behaviour",
|
|
273
344
|
"description": "Segmented-field anatomy uses ONE neutral element family, bb-segmented-field__*, on BOTH the date and time inputs — __fields(--empty/--range), __placeholder, __field-sizer, __field (+ all segment modifiers), __separator(--range), __calendar-btn→__trigger-btn(--active), __calendar-icon→__trigger-icon. **Breaking for the DATE input**, whose element classes were previously bb-base-date-picker-input__*. Block names are unchanged (.bb-base-date-picker-input / .bb-base-time-picker-input are still the roots), so single-control rules stay expressible. Dropped: __calendar/__calendar--shown and __clock-btn (all styled nowhere)",
|
|
274
345
|
"ruling": "DECISIONS §I",
|
|
275
|
-
"guide": "components/bb-date-picker-input.md"
|
|
346
|
+
"guide": "components/bb-date-picker-input.md",
|
|
347
|
+
"firstReleasedIn": "3.0.0-alpha.6"
|
|
276
348
|
},
|
|
277
349
|
{
|
|
278
350
|
"kind": "behaviour",
|
|
279
351
|
"description": "bb-base-input-container__layout--hidden-label no longer rendered — it duplicated --reverse exactly and was styled nowhere",
|
|
280
352
|
"ruling": "DECISIONS §I",
|
|
281
|
-
"guide": "components/bb-text-input.md (family note)"
|
|
353
|
+
"guide": "components/bb-text-input.md (family note)",
|
|
354
|
+
"firstReleasedIn": "3.0.0-alpha.6"
|
|
282
355
|
},
|
|
283
356
|
{
|
|
284
357
|
"kind": "behaviour",
|
|
285
358
|
"description": "BbSpinner dot modifiers namespaced: .circle--N → .bb-spinner__circle--N",
|
|
286
359
|
"ruling": "DECISIONS §I",
|
|
287
|
-
"guide": "components/bb-spinner.md"
|
|
360
|
+
"guide": "components/bb-spinner.md",
|
|
361
|
+
"firstReleasedIn": "3.0.0-alpha.6"
|
|
288
362
|
},
|
|
289
363
|
{
|
|
290
364
|
"kind": "behaviour",
|
|
291
365
|
"description": "Listbox option rows drop their v2 autocomplete-option* class names; states and inner parts move onto bb-listbox__option* (--focused/--selected/--disabled, -label, -check)",
|
|
292
366
|
"ruling": "DECISIONS §I",
|
|
293
|
-
"guide": "components/bb-select.md (+ bb-select-popover.md pointer)"
|
|
367
|
+
"guide": "components/bb-select.md (+ bb-select-popover.md pointer)",
|
|
368
|
+
"firstReleasedIn": "3.0.0-alpha.6"
|
|
294
369
|
},
|
|
295
370
|
{
|
|
296
371
|
"kind": "behaviour",
|
|
297
372
|
"description": "BbTable #no-data fills the table's own full-width <td> (was: the slot replaced the empty-state <tr>)",
|
|
298
373
|
"ruling": "F#/no-data-shell",
|
|
299
|
-
"guide": "components/bb-table.md"
|
|
374
|
+
"guide": "components/bb-table.md",
|
|
375
|
+
"firstReleasedIn": "3.0.0-alpha.1"
|
|
300
376
|
},
|
|
301
377
|
{
|
|
302
378
|
"kind": "behaviour",
|
|
303
379
|
"description": "BbTable row events click:row / contextmenu:row / dblclick:row emit (event, item) with item the RAW record (was the internal row wrapper with the record at row.item) and no trailing selected boolean",
|
|
304
380
|
"ruling": "owner 2026-08-25, plans/BBTABLE-GRID.md",
|
|
305
|
-
"guide": "components/bb-table.md § Row events"
|
|
381
|
+
"guide": "components/bb-table.md § Row events",
|
|
382
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
306
383
|
},
|
|
307
384
|
{
|
|
308
385
|
"kind": "behaviour",
|
|
309
386
|
"description": "BbTable: hiding a column with thClass/tdClass + display: none (the v2/early-v3 narrow-screen recipe) no longer works — a hidden grid item keeps its track and shifts the following cells; set hidden: true on the column instead (filtering it out of columns was the beta.20 doctrine and lost the key from a partial order — DECISIONS § Column visibility, 2026-09-07)",
|
|
310
387
|
"ruling": "grid substrate, plans/BBTABLE-GRID.md",
|
|
311
|
-
"guide": "components/bb-table.md § Do not override; guide § Narrow screens"
|
|
388
|
+
"guide": "components/bb-table.md § Do not override; guide § Narrow screens",
|
|
389
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
312
390
|
},
|
|
313
391
|
{
|
|
314
392
|
"kind": "behaviour",
|
|
315
393
|
"description": "BbTable actions prop removed — the #actions slot creates the column (a prop without the slot rendered an empty column; now it renders nothing)",
|
|
316
394
|
"ruling": "DECISIONS § Column pins, 2026-09-07",
|
|
317
|
-
"guide": "components/bb-table.md § The #actions slot creates the actions column"
|
|
395
|
+
"guide": "components/bb-table.md § The #actions slot creates the actions column",
|
|
396
|
+
"firstReleasedIn": "3.0.0-beta.21"
|
|
318
397
|
},
|
|
319
398
|
{
|
|
320
399
|
"kind": "behaviour",
|
|
321
400
|
"description": "BbTable fixedColumns (rendered-slot indices) removed — fixed: 'left' \\",
|
|
322
401
|
"ruling": "'right' on the column definition + fixed-select / fixed-actions; pins follow the column through a reorder, sticky in place as before",
|
|
323
|
-
"guide": "DECISIONS § Column pins, 2026-09-07"
|
|
402
|
+
"guide": "DECISIONS § Column pins, 2026-09-07",
|
|
403
|
+
"firstReleasedIn": "3.0.0-beta.21"
|
|
324
404
|
},
|
|
325
405
|
{
|
|
326
406
|
"kind": "behaviour",
|
|
327
407
|
"description": "BbTable column snap takes the PARENT's column key ('select' / 'actions' by name, inclusive pairs, 'key.5' fractions) instead of a gridline index; --table-{id}-track-{index} became --table-{id}-track-{key} (slot-name spelling). Numeric snaps are ignored at runtime",
|
|
328
408
|
"ruling": "DECISIONS § Keyed snap, 2026-09-07",
|
|
329
|
-
"guide": "components/bb-table.md § snap names the parent column"
|
|
409
|
+
"guide": "components/bb-table.md § snap names the parent column",
|
|
410
|
+
"firstReleasedIn": "3.0.0-beta.21"
|
|
330
411
|
},
|
|
331
412
|
{
|
|
332
413
|
"kind": "behaviour",
|
|
333
414
|
"description": "BbTable highlight is opt-in: with highlighted unbound (or bound as undefined) clicking a row no longer applies bb-table-data__row--highlighted / aria-current — the table used to drive defineModel's local fallback, an unreadable state the app could not clear. Bind ref(null), not ref(); a context seed counts. click:row is unaffected",
|
|
334
415
|
"ruling": "owner 2026-08-27",
|
|
335
|
-
"guide": "components/bb-table.md § Highlight is opt-in"
|
|
416
|
+
"guide": "components/bb-table.md § Highlight is opt-in",
|
|
417
|
+
"firstReleasedIn": "3.0.0-beta.9"
|
|
336
418
|
},
|
|
337
419
|
{
|
|
338
420
|
"kind": "behaviour",
|
|
339
421
|
"description": "BbTable renders a CSS grid of divs with ARIA roles, not a <table>: every element selector under .bb-table (table/thead/tbody/tfoot/caption/tr/th/td/colgroup/col) matches nothing. Every .bb-table* class survives; .bb-table__table/__head/__body/__foot + [role=row]/[role=columnheader]/[role=cell] are the blessed translation (no data-* hooks, no shim classes)",
|
|
340
422
|
"ruling": "plans/BBTABLE-GRID.md § Migration & ecosystem",
|
|
341
|
-
"guide": "components/bb-table.md § Selector translation"
|
|
423
|
+
"guide": "components/bb-table.md § Selector translation",
|
|
424
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
342
425
|
},
|
|
343
426
|
{
|
|
344
427
|
"kind": "behaviour",
|
|
345
428
|
"description": "BbTable #thead / #tbody / #tfoot inner markup: role-complete <div role=\"row\"> holding <div role=\"columnheader\\",
|
|
346
429
|
"ruling": "cell\"> — never <tr>/<th>/<td>; #tfoot's columnCount now feeds grid-column: span N / 1 / -1 (+ aria-colspan), not colspan. A custom #thead over an empty table publishes no tracks",
|
|
347
|
-
"guide": "plans/BBTABLE-GRID.md § Non-negotiables (exception 1)"
|
|
430
|
+
"guide": "plans/BBTABLE-GRID.md § Non-negotiables (exception 1)",
|
|
431
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
348
432
|
},
|
|
349
433
|
{
|
|
350
434
|
"kind": "behaviour",
|
|
351
435
|
"description": "BbTable --fill custom property removed (not republished) — it fed the fixed-layout self-correction loop the grid does not have",
|
|
352
436
|
"ruling": "plans/BBTABLE-GRID.md § Tracks (RULED 2026-08-26)",
|
|
353
|
-
"guide": "components/bb-table.md § --fill and --natural-width are removed"
|
|
437
|
+
"guide": "components/bb-table.md § --fill and --natural-width are removed",
|
|
438
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
354
439
|
},
|
|
355
440
|
{
|
|
356
441
|
"kind": "behaviour",
|
|
357
442
|
"description": "BbTable --natural-width custom property removed (not republished) — republishing the resolved-track sum would publish the container width under a \"natural\" name",
|
|
358
443
|
"ruling": "plans/BBTABLE-GRID.md § Tracks (RULED 2026-08-26)",
|
|
359
|
-
"guide": "components/bb-table.md § --fill and --natural-width are removed"
|
|
444
|
+
"guide": "components/bb-table.md § --fill and --natural-width are removed",
|
|
445
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
360
446
|
},
|
|
361
447
|
{
|
|
362
448
|
"kind": "behaviour",
|
|
363
449
|
"description": "BbTable track-distribution drift: surplus split equally among auto columns (748/52 → 544/256), constrained wrapping grows tracks by equal increments (~22% narrower long column, taller rows), frozen+auto ≤ ~19px/column, all-frozen tables no longer inflate the select/actions columns, scroll-container cells no longer floor the column (max-width: 0 ellipsis trick breaks), % widths in an overflowing table resolve against min-content (30%: 181 → 303px), expand-row content never widens parent columns, orphan snap → auto. Overflow threshold, wrap floor, frozen px and fixed equal split are exact",
|
|
364
450
|
"ruling": "plans/BBTABLE-GRID.md § Tracks + § v2.1",
|
|
365
|
-
"guide": "components/bb-table.md § Column widths: what holds and what drifts"
|
|
451
|
+
"guide": "components/bb-table.md § Column widths: what holds and what drifts",
|
|
452
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
366
453
|
},
|
|
367
454
|
{
|
|
368
455
|
"kind": "behaviour",
|
|
369
456
|
"description": "BbTable copy-to-spreadsheet degrades: Chrome's selection serializer keys off computed display, so a selected grid pastes one value per line (was one cell per column). Accepted; sanctioned path = app-level \"copy as TSV from the items model\" recipe (queued, not shipped)",
|
|
370
457
|
"ruling": "plans/BBTABLE-GRID.md § Migration & ecosystem (7)",
|
|
371
|
-
"guide": "components/bb-table.md § Copy-to-spreadsheet degrades"
|
|
458
|
+
"guide": "components/bb-table.md § Copy-to-spreadsheet degrades",
|
|
459
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
372
460
|
},
|
|
373
461
|
{
|
|
374
462
|
"kind": "behaviour",
|
|
375
463
|
"description": "BbTable print header repetition lost — <thead> page-repetition has no grid equivalent; data rows get break-inside: avoid",
|
|
376
464
|
"ruling": "plans/BBTABLE-GRID.md § Migration & ecosystem (8)",
|
|
377
|
-
"guide": "components/bb-table.md § Print: header repetition is gone"
|
|
465
|
+
"guide": "components/bb-table.md § Print: header repetition is gone",
|
|
466
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
378
467
|
},
|
|
379
468
|
{
|
|
380
469
|
"kind": "behaviour",
|
|
381
470
|
"description": "BbTable: global element CSS (table/td resets, .prose table, stray td { padding }) silently stops reaching the table — immunity benefit AND a silent look change on pages that leaned on it",
|
|
382
471
|
"ruling": "plans/BBTABLE-GRID.md § Migration & ecosystem (9)",
|
|
383
|
-
"guide": "components/bb-table.md § Global element CSS no longer reaches the table"
|
|
472
|
+
"guide": "components/bb-table.md § Global element CSS no longer reaches the table",
|
|
473
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
384
474
|
},
|
|
385
475
|
{
|
|
386
476
|
"kind": "behaviour",
|
|
387
477
|
"description": "BbTable browser floor raised to subgrid engines (Chrome/Edge 117, Firefox 71, Safari 16), block align-content centring from Chrome 123 / Safari 17.4 / Firefox 125; no @supports fallback",
|
|
388
478
|
"ruling": "plans/BBTABLE-GRID.md § Non-negotiables + § CSS port rules",
|
|
389
|
-
"guide": "components/bb-table.md § Browser floor"
|
|
479
|
+
"guide": "components/bb-table.md § Browser floor",
|
|
480
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
390
481
|
},
|
|
391
482
|
{
|
|
392
483
|
"kind": "behaviour",
|
|
393
484
|
"description": "BbTable contain: inline-size (+ min-width: 0, grid-column: 1 / -1) on the expand / no-data / loading cells is load-bearing — overriding it lets full-span content resize the tracks (runaway loop with a nested inheriting table); joins gap: 0 on the root and nowrap on the actions cell in the do-not-override list",
|
|
394
485
|
"ruling": "plans/BBTABLE-GRID.md § Measurement & track publishing",
|
|
395
|
-
"guide": "components/bb-table.md § Do not override"
|
|
486
|
+
"guide": "components/bb-table.md § Do not override",
|
|
487
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
396
488
|
},
|
|
397
489
|
{
|
|
398
490
|
"kind": "behaviour",
|
|
399
491
|
"description": "BbTable caption reading-order micro-drift: .bb-table-caption is a div before the role=table root (named via aria-labelledby), no longer the table's first child",
|
|
400
492
|
"ruling": "plans/BBTABLE-GRID.md § Accessibility",
|
|
401
|
-
"guide": "components/bb-table.md § Small semantic and visual changes"
|
|
493
|
+
"guide": "components/bb-table.md § Small semantic and visual changes",
|
|
494
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
402
495
|
},
|
|
403
496
|
{
|
|
404
497
|
"kind": "behaviour",
|
|
405
498
|
"description": "BbTable busy bar now rides with the stuck header under fixed-headers (sticky moved to the .bb-table__head rowgroup; multi-row #thead heads stack instead of overlapping; aria-rowcount = totalItems + 1)",
|
|
406
499
|
"ruling": "plans/BBTABLE-GRID.md § Sticky + § v2.1",
|
|
407
|
-
"guide": "components/bb-table.md § Small semantic and visual changes"
|
|
500
|
+
"guide": "components/bb-table.md § Small semantic and visual changes",
|
|
501
|
+
"firstReleasedIn": "3.0.0-beta.6"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"kind": "behaviour",
|
|
505
|
+
"description": "BbTooltip width compiles to max-width, not width — the bubble wraps at the measure but still shrinks to short text (a 150px hint no longer sits in a 300px box). Unset bubbles gain a 40ch default cap (--max-w on .bb-tooltip) instead of running the viewport width. Values v2 mis-parsed now work: '20rem' was read as 20px, and 'auto'/calc()/min() threw during render. % is still measured against the activator. BbPopover / BbDropdown / BbSelectPopover width is untouched and still fixes",
|
|
506
|
+
"ruling": "owner 2026-09-09",
|
|
507
|
+
"guide": "components/bb-tooltip.md § width caps the bubble instead of fixing it",
|
|
508
|
+
"firstReleasedIn": "3.0.0-beta.22"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"kind": "behaviour",
|
|
512
|
+
"description": "Every component's visually-hidden helper class renamed .sr-only → .bb-sr-only (accessible names, status announcements, the clipped native inputs behind checkbox/radio/switch/rating/slider). Only a consumer selector reaching INTO a component for .sr-only breaks; a consumer's own Tailwind sr-only is untouched. Reason: the library must not share a class name with the consumer's utility layer — under cascade layers the consumer's utilities copy outranks ours, and a project redefining .sr-only would silently restyle our internals. Phase 0 of the cascade-layers work",
|
|
513
|
+
"ruling": "owner 2026-09-09 (Tailwind-name isolation)",
|
|
514
|
+
"guide": "v2-to-v3.md §5.6",
|
|
515
|
+
"firstReleasedIn": "3.0.0-beta.22"
|
|
408
516
|
}
|
|
409
517
|
]
|
|
410
518
|
}
|