bitboss-ui 3.0.0-beta.36 → 3.0.0-beta.37

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.
Files changed (163) hide show
  1. package/README.md +30 -11
  2. package/bin/bitboss-ui-mcp.mjs +788 -74
  3. package/bin/bitboss-ui.mjs +6 -3
  4. package/dist/ai/BbAccordion.md +2 -2
  5. package/dist/ai/BbAlert.md +6 -6
  6. package/dist/ai/BbAvatar.md +8 -6
  7. package/dist/ai/BbBadge.md +6 -6
  8. package/dist/ai/BbBadgeButton.md +8 -8
  9. package/dist/ai/BbBaseButton.md +7 -7
  10. package/dist/ai/BbBaseCheckboxIcon.md +1 -1
  11. package/dist/ai/BbBaseRadioIcon.md +1 -1
  12. package/dist/ai/BbBaseSwitchIcon.md +2 -2
  13. package/dist/ai/BbBreadcrumbs.md +6 -6
  14. package/dist/ai/BbButton.md +8 -8
  15. package/dist/ai/BbCalendar.md +8 -8
  16. package/dist/ai/BbCheckbox.md +8 -8
  17. package/dist/ai/BbCheckboxGroup.md +13 -13
  18. package/dist/ai/BbCollapsible.md +2 -2
  19. package/dist/ai/BbColorInput.md +17 -17
  20. package/dist/ai/BbColorPalette.md +4 -4
  21. package/dist/ai/BbConfirm.md +3 -3
  22. package/dist/ai/BbDatePicker.md +9 -9
  23. package/dist/ai/BbDatePickerInput.md +29 -30
  24. package/dist/ai/BbDialog.md +15 -15
  25. package/dist/ai/BbDropdown.md +15 -15
  26. package/dist/ai/BbDropdownButton.md +14 -14
  27. package/dist/ai/BbDropdownGroup.md +0 -9
  28. package/dist/ai/BbDropzone.md +6 -6
  29. package/dist/ai/BbForm.md +5 -3
  30. package/dist/ai/BbIcon.md +2 -2
  31. package/dist/ai/BbIndicator.md +2 -2
  32. package/dist/ai/BbNumberInput.md +20 -20
  33. package/dist/ai/BbOffCanvas.md +11 -11
  34. package/dist/ai/BbPagination.md +6 -6
  35. package/dist/ai/BbPopover.md +8 -8
  36. package/dist/ai/BbProgress.md +2 -2
  37. package/dist/ai/BbPtScope.md +1 -1
  38. package/dist/ai/BbRadio.md +8 -8
  39. package/dist/ai/BbRadioGroup.md +13 -13
  40. package/dist/ai/BbRating.md +9 -9
  41. package/dist/ai/BbSelect.md +25 -25
  42. package/dist/ai/BbSelectPopover.md +15 -15
  43. package/dist/ai/BbSlider.md +17 -17
  44. package/dist/ai/BbSmoothHeight.md +1 -1
  45. package/dist/ai/BbSpinner.md +6 -6
  46. package/dist/ai/BbSwitch.md +9 -9
  47. package/dist/ai/BbSwitchGroup.md +14 -14
  48. package/dist/ai/BbTable.md +53 -52
  49. package/dist/ai/BbTabs.md +6 -6
  50. package/dist/ai/BbTabsList.md +4 -4
  51. package/dist/ai/BbTabsRoot.md +3 -35
  52. package/dist/ai/BbTag.md +16 -16
  53. package/dist/ai/BbTextInput.md +13 -13
  54. package/dist/ai/BbTextarea.md +13 -13
  55. package/dist/ai/BbTimePicker.md +6 -6
  56. package/dist/ai/BbTimePickerInput.md +17 -17
  57. package/dist/ai/BbToast.md +1 -1
  58. package/dist/ai/BbToastPortal.md +1 -28
  59. package/dist/ai/BbTooltip.md +7 -7
  60. package/dist/ai/BbTree.md +1 -1
  61. package/dist/ai/ChipsBox.md +2 -2
  62. package/dist/ai/CommonField.md +11 -11
  63. package/dist/ai/CommonFieldInput.md +6 -6
  64. package/dist/ai/CommonPopover.md +7 -7
  65. package/dist/ai/CommonTimeSelector.md +1 -1
  66. package/dist/ai/FlatListBox.md +4 -2
  67. package/dist/ai/GroupedListBox.md +5 -3
  68. package/dist/ai/ListBox.md +5 -3
  69. package/dist/ai/OptionsContainer.md +4 -4
  70. package/dist/ai/changelog.json +52 -12
  71. package/dist/ai/components.json +1357 -314
  72. package/dist/ai/composables/useBbTableContext.md +1 -0
  73. package/dist/ai/composables/useConfirm.md +2 -0
  74. package/dist/ai/composables/useMobile.md +4 -4
  75. package/dist/ai/composables/useToast.md +18 -17
  76. package/dist/ai/guides/ai-router.md +2 -2
  77. package/dist/ai/guides/app-layout.md +5 -3
  78. package/dist/ai/guides/coherence-playbook.md +8 -8
  79. package/dist/ai/guides/component-picker.md +1 -1
  80. package/dist/ai/guides/design-tokens.md +15 -0
  81. package/dist/ai/guides/fetch-items-playbook.md +21 -15
  82. package/dist/ai/guides/icons-policy.md +5 -5
  83. package/dist/ai/guides/inline-edit-playbook.md +6 -4
  84. package/dist/ai/guides/installation-and-plugin-setup.md +1 -1
  85. package/dist/ai/guides/migration/components/bb-checkbox-group.md +14 -13
  86. package/dist/ai/guides/migration/components/bb-date-picker-input.md +4 -5
  87. package/dist/ai/guides/migration/components/bb-dropdown.md +2 -1
  88. package/dist/ai/guides/migration/components/bb-rating.md +1 -1
  89. package/dist/ai/guides/migration/components/bb-slider.md +7 -0
  90. package/dist/ai/guides/migration/components/bb-table.md +1 -1
  91. package/dist/ai/guides/migration/v2-to-v3.md +24 -19
  92. package/dist/ai/guides/options-items-playbook.md +6 -6
  93. package/dist/ai/guides/passthrough.md +6 -5
  94. package/dist/ai/guides/ssr-prefill.md +3 -1
  95. package/dist/ai/recipes/inertia/inline-edit-workspace.md +10 -10
  96. package/dist/ai/recipes/inertia/record-form.md +5 -5
  97. package/dist/ai/recipes/inertia/records-workspace.md +4 -4
  98. package/dist/ai/recipes/inertia/upload-center.md +28 -28
  99. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +32 -32
  100. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  101. package/dist/ai/recipes/nuxt/records-workspace.md +4 -4
  102. package/dist/ai/recipes/nuxt/upload-center.md +27 -27
  103. package/dist/ai/recipes/vue/approvals-inbox.md +2 -2
  104. package/dist/ai/recipes/vue/inline-edit-workspace.md +33 -33
  105. package/dist/ai/recipes/vue/record-form.md +21 -21
  106. package/dist/ai/recipes/vue/records-workspace.md +4 -4
  107. package/dist/ai/recipes/vue/upload-center.md +27 -27
  108. package/dist/ai/source/BbAccordion.md +1 -1
  109. package/dist/ai/source/BbColorPalette.md +8 -0
  110. package/dist/ai/source/BbDatePicker.md +8 -0
  111. package/dist/ai/source/BbIcon.md +8 -4
  112. package/dist/ai/source/BbNumberInput.md +7 -1
  113. package/dist/ai/source/BbPopover.md +31 -5
  114. package/dist/ai/source/BbSelectPopover.md +10 -0
  115. package/dist/ai/source/BbSlider.md +15 -1
  116. package/dist/ai/source/BbTable.md +35 -11
  117. package/dist/ai/source/BbTag.md +41 -21
  118. package/dist/ai/source/BbTimePicker.md +8 -0
  119. package/dist/ai/source/BbTimePickerInput.md +8 -0
  120. package/dist/ai/source/BbTree.md +2 -0
  121. package/dist/ai/source/FlatListBox.md +9 -0
  122. package/dist/ai/source/GroupedListBox.md +9 -0
  123. package/dist/ai/source/ListBox.md +11 -0
  124. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +164 -163
  125. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +60 -59
  126. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +3 -3
  127. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +4 -1
  128. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +154 -144
  129. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +243 -239
  130. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +183 -181
  131. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +721 -719
  132. package/dist/components/BbTable/BbTableDataRow.d.ts +2 -1
  133. package/dist/components/BbTable/BbTableDataRow.js +1 -1
  134. package/dist/components/BbTable/BbTableExpandRow.js +1 -1
  135. package/dist/components/BbTable/types.d.ts +4 -4
  136. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +151 -143
  137. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +131 -130
  138. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +193 -192
  139. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +35 -33
  140. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +1 -1
  141. package/dist/components/BbTree/context.d.ts +5 -0
  142. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +6 -0
  143. package/dist/components/FlatListBox/types.d.ts +7 -0
  144. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +6 -0
  145. package/dist/components/GroupedListBox/types.d.ts +7 -0
  146. package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +10 -0
  147. package/dist/components/ListBox/types.d.ts +7 -0
  148. package/dist/composables/useEscapeStackEntry.d.ts +13 -0
  149. package/dist/composables/useEscapeStackEntry.js +16 -0
  150. package/dist/deprecation/ai-deprecations.json.d.ts +1 -1
  151. package/dist/deprecation/ai-deprecations.json.js +1 -1
  152. package/dist/llms-full.txt +2225 -2238
  153. package/dist/llms-medium.txt +144 -144
  154. package/dist/llms.txt +2 -2
  155. package/dist/styles.css +1 -1
  156. package/dist/utils/versionCheck.js +1 -1
  157. package/dist/vite-plugin.d.ts +1 -1
  158. package/llms.txt +2 -2
  159. package/package.json +5 -5
  160. package/scripts/lib/doc-sections.mjs +181 -0
  161. package/scripts/lib/eslint-plugin.d.ts +1 -0
  162. package/scripts/lib/eslint-plugin.mjs +7 -1
  163. package/scripts/lib/validate-bb-markup.mjs +224 -31
package/README.md CHANGED
@@ -12,7 +12,7 @@ Published artifacts are **`dist/`** (ESM JavaScript, `.d.ts`, the two stylesheet
12
12
 
13
13
  - **Global stylesheet** — import `bitboss-ui/styles.css` once. It bundles design tokens, base rules, and styles for all exported components (built from the library’s PostCSS/Tailwind pipeline).
14
14
  - **Optional reset** — `bitboss-ui/reset.css`, only if your app has no reset of its own. Import it _before_ `styles.css` (or let the build plugin inject it with `resetCss: true`). A reset is a **prerequisite** of the components, not a nicety: their sizes are written for `border-box`, and native controls and fieldsets are expected to arrive without their browser chrome. Use this one, or your own — Tailwind's Preflight covers it, which is why `resetCss` defaults to off. The component test suite runs against this file.
15
- - **Cascade layers (opt-in)** — on Tailwind v4 the library must sit in your layer order or its unlayered rules outrank every utility you put on a component. `cssLayers: TAILWIND_V4_LAYERS` in the build plugin (both exported from `bitboss-ui/vite`) places it after Preflight and before the utilities. Details in `ai/guides/installation-and-plugin-setup.md` § Cascade layers.
15
+ - **Cascade layers (opt-in)** — on Tailwind v4 the library must sit in your layer order or its unlayered rules outrank every utility you put on a component. `cssLayers: TAILWIND_V4_LAYERS` in the build plugin (both exported from `bitboss-ui/vite`) places it after Preflight and before the utilities. Details in `dist/ai/guides/installation-and-plugin-setup.md` § Cascade layers.
16
16
 
17
17
  ### TypeScript: use `vue-tsc` 3
18
18
 
@@ -30,11 +30,11 @@ gate looks like it is working. A real consumer shipped
30
30
  `<BbRadioGroup label="…">` (the prop is `legend`) through six release slices on
31
31
  `vue-tsc@^2.2.12` with a green `--noEmit`.
32
32
 
33
- Full detail: `ai/guides/installation-and-plugin-setup.md`.
33
+ Full detail: `dist/ai/guides/installation-and-plugin-setup.md`.
34
34
 
35
35
  ### TypeScript: icons
36
36
 
37
- - **`IconType`**, **`IconRegistry`** — types used by icon-aware components; extend `IconRegistry` in your app to register project-specific icons.
37
+ - **`IconType`** — the type of every icon prop: a plain `prefix:name` string (`lucide:save`, or `local:<name>` for an SVG in `iconDir`). There is no registry to extend; the build plugin ships what your code names (see Icons below).
38
38
 
39
39
  ### Composables
40
40
 
@@ -76,12 +76,14 @@ presentational glyphs **`BbBaseCheckboxIcon`**, **`BbBaseRadioIcon`**,
76
76
 
77
77
  Product-ready components with labels, hints, errors, and consistent styling:
78
78
 
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`
79
+ - **Forms & actions:** `BbTextInput`, `BbTextarea`, `BbNumberInput`, `BbSelect`, `BbSelectPopover`, `BbCheckbox`, `BbCheckboxGroup`, `BbRadio`, `BbRadioGroup`, `BbSwitch`, `BbSwitchGroup`, `BbSlider`, `BbRating`, `BbColorInput`, `BbColorPalette`, `BbCalendar`, `BbDatePicker`, `BbDatePickerInput`, `BbTimePicker`, `BbTimePickerInput`, `BbButton`, `BbBadge`, `BbBadgeButton`, `BbIndicator`, `BbTag`, `BbDropdown`, `BbDropdownGroup`, `BbDropdownButton`, `BbAsterisk`
80
80
  - **Feedback:** `BbAlert`, `BbProgress`, `BbSpinner`, `BbToast`, `BbToastPortal`, `BbTooltip`
81
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`
85
+ - **Validated forms** (`bitboss-ui/validated`, needs `vee-validate`): `BbForm`, `useBbFormContext`, and validated twins of 16 form controls (same names, plus `rules` / `vid`; not yet `BbRadio` or the pickers without an input).
86
+ - **Passthrough scopes:** `BbPtScope` + `definePt` — a named `pt` map applied to one area of the app.
85
87
 
86
88
  ### Passthrough (`pt`)
87
89
 
@@ -91,7 +93,7 @@ or, in the object form, a style and attributes — typed and linted in the
91
93
  attribute form, on top of any variant. Classes append to ours, attributes win, listeners run after the
92
94
  component's own handler. A build-time `pt` map in the Vite / Nuxt plugin seeds
93
95
  every instance. Grammar, merge rules and the per-component vocabulary:
94
- [`ai/guides/passthrough.md`](ai/guides/passthrough.md).
96
+ [`passthrough.md`](https://llms-bitboss-ui.bitboss.it/dist/ai/guides/passthrough.md) (installed: `dist/ai/guides/passthrough.md`).
95
97
 
96
98
  ```vue
97
99
  <BbButton
@@ -122,10 +124,10 @@ v3 prerelease; pin an exact version (`bitboss-ui@3.0.0-beta.32`) for stable
122
124
  links. Sizes grow with the catalogue — treat them as the current order of
123
125
  magnitude, not a contract.
124
126
 
125
- - [Core knowledge base](https://llms-bitboss-ui.bitboss.it/dist/llms-medium.txt) (~190 KB) — **start here if you can only fetch one file.** Hard rules, setup, component picker, design language, and the full component catalogue.
126
- - [Index](https://llms-bitboss-ui.bitboss.it/llms.txt) (~22 KB) — link index into every document.
127
+ - [Core knowledge base](https://llms-bitboss-ui.bitboss.it/dist/llms-medium.txt) (about 200 KB) — **start here if you can only fetch one file.** Hard rules, setup, component picker, design language, and the full component catalogue.
128
+ - [Index](https://llms-bitboss-ui.bitboss.it/llms.txt) (about 20 KB) — link index into every document.
127
129
  - [components.json](https://llms-bitboss-ui.bitboss.it/dist/ai/components.json) — machine-readable API surface, for programmatic validation.
128
- - [Complete knowledge base](https://llms-bitboss-ui.bitboss.it/dist/llms-full.txt) (~4.3 MB) — everything concatenated. Bulk ingestion only; too large to prompt with.
130
+ - [Complete knowledge base](https://llms-bitboss-ui.bitboss.it/dist/llms-full.txt) (about 5 MB) — everything concatenated. Bulk ingestion only; too large to prompt with.
129
131
 
130
132
  Already installed? Prefer the local copy under `node_modules/bitboss-ui/dist/ai/`,
131
133
  run `npx bitboss-ui ai-init` to write agent pointers, and
@@ -213,8 +215,8 @@ gitignored, hidden, binary, `node_modules`/`vendor`/`storage`/`outDir` and
213
215
  This holds in dev exactly as in prod: dev registers the same set and re-scans a
214
216
  file on every save. A name that does not resolve renders a built-in placeholder
215
217
  (`data-bb-icon-missing="<name>"`) and logs one error with the fix; it never
216
- throws. Details: `ai/guides/icons-policy.md` and
217
- `ai/guides/installation-and-plugin-setup.md` § Icons.
218
+ throws. Details: `dist/ai/guides/icons-policy.md` and
219
+ `dist/ai/guides/installation-and-plugin-setup.md` § Icons.
218
220
 
219
221
  ### Nuxt module
220
222
 
@@ -307,6 +309,23 @@ bitbossUi({ iconDir: './assets/icons', mcp: true });
307
309
 
308
310
  Restart your agent harness once after either path so it picks up the new server.
309
311
 
312
+ The server's tools: `search_docs` (the section that answers a "how do I…"
313
+ question, across every guide and component), `search_components` (empty query
314
+ = the catalogue), `get_component` (compact: every prop, event, slot and pt
315
+ part, plus guide sections on request; also answers for type names and for v2 /
316
+ beta names that were renamed), `get_guide`, `get_composable`, `list_recipes` /
317
+ `get_recipe`, `list_tokens`, `list_changes` and `validate`.
318
+
319
+ ### CLI commands
320
+
321
+ | Command | What it does |
322
+ | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
323
+ | `npx bitboss-ui ai-init [--update] [--no-mcp]` | Writes the agent pointer files and registers the MCP server (installs its optional peers). |
324
+ | `npx bitboss-ui check [paths…] [--fix] [--json]` | Validates `Bb*` markup in `.vue` / `.md` files against the installed version; `--fix` applies the v2 → v3 renames first. |
325
+ | `npx bitboss-ui changelog --since <version> [--until <version>] [--json]` | Lists the **breaking** changes between the version you are on and the installed one — what breaks if you bump. |
326
+ | `npx bitboss-ui mcp` | Starts the MCP server on stdio (harnesses launch it for you after `ai-init`). |
327
+ | `npx bitboss-ui --help` | Every command and flag. |
328
+
310
329
  ### ESLint plugin
311
330
 
312
331
  `bitboss-ui/eslint-plugin` flags unknown props, unknown `v-model`s, and
@@ -595,7 +614,7 @@ To make a report actionable, include:
595
614
 
596
615
  v3 ships as a prerelease (`npm i bitboss-ui@beta`). Expect breaking changes
597
616
  between prereleases; each one is recorded in the migration guides under
598
- [`ai/guides/migration/`](ai/guides/migration/).
617
+ [`migration/v2-to-v3.md`](https://llms-bitboss-ui.bitboss.it/dist/ai/guides/migration/v2-to-v3.md) (installed: `dist/ai/guides/migration/`).
599
618
 
600
619
  ---
601
620