bitboss-ui 3.0.0-beta.53 → 3.0.0-beta.56

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 (462) hide show
  1. package/README.md +36 -43
  2. package/bin/bitboss-ui-mcp.mjs +4 -3
  3. package/bin/bitboss-ui.mjs +130 -23
  4. package/dist/ai/BbAccordion.md +119 -178
  5. package/dist/ai/BbAlert.md +44 -14
  6. package/dist/ai/BbAsterisk.md +10 -8
  7. package/dist/ai/BbAvatar.md +14 -29
  8. package/dist/ai/BbBadge.md +36 -21
  9. package/dist/ai/BbBaseButton.md +45 -21
  10. package/dist/ai/BbBaseCheckboxIcon.md +4 -4
  11. package/dist/ai/BbBreadcrumbs.md +1 -1
  12. package/dist/ai/BbButton.md +60 -49
  13. package/dist/ai/BbCalendar.md +29 -13
  14. package/dist/ai/BbCheckbox.md +28 -9
  15. package/dist/ai/BbCheckboxGroup.md +19 -8
  16. package/dist/ai/BbCollapsible.md +5 -4
  17. package/dist/ai/BbColorInput.md +9 -7
  18. package/dist/ai/BbConfirm.md +85 -113
  19. package/dist/ai/BbConfirmPortal.md +3 -3
  20. package/dist/ai/BbDatePicker.md +33 -26
  21. package/dist/ai/BbDatePickerInput.md +20 -11
  22. package/dist/ai/BbDialog.md +594 -327
  23. package/dist/ai/BbDropdown.md +14 -6
  24. package/dist/ai/BbDropdownButton.md +3 -3
  25. package/dist/ai/BbDropzone.md +88 -44
  26. package/dist/ai/BbForm.md +38 -21
  27. package/dist/ai/BbHost.md +159 -0
  28. package/dist/ai/BbHoverCard.md +12 -12
  29. package/dist/ai/BbHoverCardPortal.md +4 -4
  30. package/dist/ai/BbIndicator.md +41 -14
  31. package/dist/ai/BbNumberInput.md +8 -6
  32. package/dist/ai/BbOffCanvas.md +225 -164
  33. package/dist/ai/BbPagination.md +5 -4
  34. package/dist/ai/BbPopover.md +23 -17
  35. package/dist/ai/BbPopoverPortal.md +4 -4
  36. package/dist/ai/BbProgress.md +3 -3
  37. package/dist/ai/BbPtScope.md +5 -5
  38. package/dist/ai/BbRadio.md +7 -5
  39. package/dist/ai/BbRadioGroup.md +24 -8
  40. package/dist/ai/BbRating.md +13 -7
  41. package/dist/ai/BbSelect.md +67 -35
  42. package/dist/ai/BbSelectPopover.md +46 -22
  43. package/dist/ai/BbSlider.md +35 -12
  44. package/dist/ai/BbSpinner.md +4 -2
  45. package/dist/ai/BbSwitch.md +9 -7
  46. package/dist/ai/BbSwitchGroup.md +14 -13
  47. package/dist/ai/BbTable.md +13 -8
  48. package/dist/ai/BbTabs.md +43 -33
  49. package/dist/ai/BbTag.md +3 -3
  50. package/dist/ai/BbTextInput.md +30 -4
  51. package/dist/ai/BbTextarea.md +15 -7
  52. package/dist/ai/BbTimePicker.md +28 -13
  53. package/dist/ai/BbTimePickerInput.md +4 -4
  54. package/dist/ai/BbToast.md +109 -205
  55. package/dist/ai/BbToastPortal.md +3 -3
  56. package/dist/ai/BbTooltip.md +14 -13
  57. package/dist/ai/BbTree.md +33 -39
  58. package/dist/ai/CommonField.md +4 -4
  59. package/dist/ai/changelog.json +348 -42
  60. package/dist/ai/components.json +87 -66
  61. package/dist/ai/composables/useBbDialogContext.md +144 -0
  62. package/dist/ai/composables/useBbFormContext.md +7 -6
  63. package/dist/ai/composables/useBbOffCanvasContext.md +64 -0
  64. package/dist/ai/composables/useConfirm.md +25 -25
  65. package/dist/ai/composables/useMobile.md +2 -3
  66. package/dist/ai/composables/useToast.md +24 -24
  67. package/dist/ai/guides/agent-contract.md +9 -9
  68. package/dist/ai/guides/app-layout.md +4 -4
  69. package/dist/ai/guides/component-picker.md +2 -2
  70. package/dist/ai/guides/design-language.md +2 -6
  71. package/dist/ai/guides/design-tokens.md +7 -5
  72. package/dist/ai/guides/eslint-rules.md +67 -0
  73. package/dist/ai/guides/fetch-items-playbook.md +4 -0
  74. package/dist/ai/guides/inertia-helpers.md +188 -130
  75. package/dist/ai/guides/installation-and-plugin-setup.md +99 -97
  76. package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
  77. package/dist/ai/guides/migration/components/bb-dialog.md +12 -12
  78. package/dist/ai/guides/migration/components/bb-dropzone.md +8 -8
  79. package/dist/ai/guides/migration/components/bb-host.md +41 -0
  80. package/dist/ai/guides/migration/components/bb-offcanvas.md +9 -9
  81. package/dist/ai/guides/migration/components/bb-select-popover.md +2 -2
  82. package/dist/ai/guides/migration/components/bb-select.md +15 -15
  83. package/dist/ai/guides/migration/components/bb-toast.md +23 -17
  84. package/dist/ai/guides/migration/components/bb-tree.md +8 -8
  85. package/dist/ai/guides/migration/components/use-confirm.md +1 -1
  86. package/dist/ai/guides/migration/from-async-validator.md +2 -2
  87. package/dist/ai/guides/migration/v2-to-v3.md +184 -21
  88. package/dist/ai/guides/migration/v3-beta-css-classes.md +11 -0
  89. package/dist/ai/guides/migration/v3-beta-tooling.md +18 -2
  90. package/dist/ai/guides/options-items-playbook.md +8 -1
  91. package/dist/ai/guides/page-shell.md +11 -0
  92. package/dist/ai/guides/passthrough.md +24 -33
  93. package/dist/ai/guides/preset-components.md +32 -5
  94. package/dist/ai/guides/validated-forms.md +50 -27
  95. package/dist/ai/helpers/definePreset.json +26 -0
  96. package/dist/ai/helpers/definePreset.ts +234 -0
  97. package/dist/ai/helpers/inertia/manifest.json +21 -13
  98. package/dist/ai/helpers/inertia/types.ts +18 -7
  99. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +13 -8
  100. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +39 -18
  101. package/dist/ai/helpers/inertia/useQueryObject.ts +68 -33
  102. package/dist/ai/index.md +18 -13
  103. package/dist/ai/manifest/components/BbAccordion.json +6 -2
  104. package/dist/ai/manifest/components/BbAccordion.tree.json +13 -3
  105. package/dist/ai/manifest/components/BbAlert.json +4 -3
  106. package/dist/ai/manifest/components/BbAlert.tree.json +3 -3
  107. package/dist/ai/manifest/components/BbBaseButton.json +1 -1
  108. package/dist/ai/manifest/components/BbBaseCheckboxIcon.tree.json +4 -4
  109. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  110. package/dist/ai/manifest/components/BbButton.json +1 -1
  111. package/dist/ai/manifest/components/BbCalendar.json +2 -2
  112. package/dist/ai/manifest/components/BbCheckbox.json +3 -2
  113. package/dist/ai/manifest/components/BbCheckbox.tree.json +3 -2
  114. package/dist/ai/manifest/components/BbCheckboxGroup.json +3 -2
  115. package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +4 -1
  116. package/dist/ai/manifest/components/BbCollapsible.json +1 -1
  117. package/dist/ai/manifest/components/BbColorInput.json +4 -3
  118. package/dist/ai/manifest/components/BbColorInput.tree.json +1 -1
  119. package/dist/ai/manifest/components/BbColorPalette.json +1 -1
  120. package/dist/ai/manifest/components/BbColorPalette.tree.json +1 -1
  121. package/dist/ai/manifest/components/BbConfirm.json +3 -4
  122. package/dist/ai/manifest/components/BbConfirm.tree.json +1 -1
  123. package/dist/ai/manifest/components/BbConfirmPortal.json +3 -3
  124. package/dist/ai/manifest/components/BbDatePicker.json +4 -4
  125. package/dist/ai/manifest/components/BbDatePicker.tree.json +1 -1
  126. package/dist/ai/manifest/components/BbDatePickerInput.json +6 -5
  127. package/dist/ai/manifest/components/BbDatePickerInput.tree.json +1 -1
  128. package/dist/ai/manifest/components/BbDialog.json +8 -7
  129. package/dist/ai/manifest/components/BbDialog.tree.json +4 -2
  130. package/dist/ai/manifest/components/BbDropdown.json +2 -2
  131. package/dist/ai/manifest/components/BbDropdown.tree.json +1 -1
  132. package/dist/ai/manifest/components/BbDropdownButton.json +2 -2
  133. package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
  134. package/dist/ai/manifest/components/BbDropzone.json +1 -1
  135. package/dist/ai/manifest/components/BbHost.json +14 -0
  136. package/dist/ai/manifest/components/BbHost.tree.json +9 -0
  137. package/dist/ai/manifest/components/BbHoverCardPortal.json +3 -3
  138. package/dist/ai/manifest/components/BbNumberInput.json +4 -3
  139. package/dist/ai/manifest/components/BbOffCanvas.json +8 -7
  140. package/dist/ai/manifest/components/BbOffCanvas.tree.json +3 -1
  141. package/dist/ai/manifest/components/BbPopover.json +1 -1
  142. package/dist/ai/manifest/components/BbPopover.tree.json +1 -1
  143. package/dist/ai/manifest/components/BbPopoverPortal.json +3 -3
  144. package/dist/ai/manifest/components/BbProgress.json +1 -1
  145. package/dist/ai/manifest/components/BbRadio.json +4 -3
  146. package/dist/ai/manifest/components/BbRadio.tree.json +2 -1
  147. package/dist/ai/manifest/components/BbRadioGroup.json +3 -2
  148. package/dist/ai/manifest/components/BbRadioGroup.tree.json +3 -0
  149. package/dist/ai/manifest/components/BbRating.json +3 -2
  150. package/dist/ai/manifest/components/BbRating.tree.json +2 -0
  151. package/dist/ai/manifest/components/BbSelect.json +5 -4
  152. package/dist/ai/manifest/components/BbSelect.tree.json +1 -1
  153. package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
  154. package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
  155. package/dist/ai/manifest/components/BbSlider.json +5 -4
  156. package/dist/ai/manifest/components/BbSwitch.json +5 -4
  157. package/dist/ai/manifest/components/BbSwitch.tree.json +2 -1
  158. package/dist/ai/manifest/components/BbSwitchGroup.json +11 -10
  159. package/dist/ai/manifest/components/BbSwitchGroup.tree.json +3 -0
  160. package/dist/ai/manifest/components/BbTable.json +1 -1
  161. package/dist/ai/manifest/components/BbTable.tree.json +1 -1
  162. package/dist/ai/manifest/components/BbTabs.tree.json +1 -0
  163. package/dist/ai/manifest/components/BbTag.json +3 -2
  164. package/dist/ai/manifest/components/BbTextInput.json +4 -3
  165. package/dist/ai/manifest/components/BbTextarea.json +4 -3
  166. package/dist/ai/manifest/components/BbTimePicker.json +2 -2
  167. package/dist/ai/manifest/components/BbTimePicker.tree.json +1 -1
  168. package/dist/ai/manifest/components/BbTimePickerInput.json +5 -4
  169. package/dist/ai/manifest/components/BbTimePickerInput.tree.json +1 -1
  170. package/dist/ai/manifest/components/BbToast.json +4 -8
  171. package/dist/ai/manifest/components/BbToast.removed.json +1 -1
  172. package/dist/ai/manifest/components/BbToastPortal.json +6 -3
  173. package/dist/ai/manifest/components/BbTree.json +1 -1
  174. package/dist/ai/manifest/components/CommonField.json +5 -4
  175. package/dist/ai/manifest/components/CommonField.tree.json +76 -1
  176. package/dist/ai/manifest/index.json +9 -10
  177. package/dist/ai/manifest/meta.json +28 -4
  178. package/dist/ai/manifest/types.advanced.json +15 -7
  179. package/dist/ai/manifest/types.api.json +7 -7
  180. package/dist/ai/manifest/types.wrapper.json +2 -3
  181. package/dist/ai/recipes/inertia/approvals-inbox.md +174 -157
  182. package/dist/ai/recipes/inertia/inline-edit-workspace.md +13 -14
  183. package/dist/ai/recipes/inertia/onboarding.md +15 -18
  184. package/dist/ai/recipes/inertia/ownership-atlas.md +67 -30
  185. package/dist/ai/recipes/inertia/record-form.md +8 -8
  186. package/dist/ai/recipes/inertia/records-workspace.md +122 -97
  187. package/dist/ai/recipes/inertia/settings-workspace.md +89 -96
  188. package/dist/ai/recipes/inertia/upload-center.md +30 -24
  189. package/dist/ai/recipes/inertia/wizard-form.md +9 -7
  190. package/dist/ai/recipes/nuxt/approvals-inbox.md +174 -156
  191. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +11 -13
  192. package/dist/ai/recipes/nuxt/onboarding.md +15 -18
  193. package/dist/ai/recipes/nuxt/ownership-atlas.md +63 -26
  194. package/dist/ai/recipes/nuxt/record-form.md +8 -9
  195. package/dist/ai/recipes/nuxt/records-workspace.md +112 -96
  196. package/dist/ai/recipes/nuxt/settings-workspace.md +91 -101
  197. package/dist/ai/recipes/nuxt/upload-center.md +25 -23
  198. package/dist/ai/recipes/nuxt/wizard-form.md +9 -7
  199. package/dist/ai/recipes/vue/approvals-inbox.md +175 -158
  200. package/dist/ai/recipes/vue/inline-edit-workspace.md +10 -12
  201. package/dist/ai/recipes/vue/onboarding.md +15 -20
  202. package/dist/ai/recipes/vue/ownership-atlas.md +63 -26
  203. package/dist/ai/recipes/vue/record-form.md +8 -9
  204. package/dist/ai/recipes/vue/records-workspace.md +112 -96
  205. package/dist/ai/recipes/vue/settings-workspace.md +91 -101
  206. package/dist/ai/recipes/vue/upload-center.md +25 -23
  207. package/dist/ai/recipes/vue/wizard-form.md +9 -9
  208. package/dist/ai/source/BbAccordion.md +79 -9
  209. package/dist/ai/source/BbAlert.md +34 -12
  210. package/dist/ai/source/BbBaseButton.md +15 -2
  211. package/dist/ai/source/BbBaseCheckboxIcon.md +4 -0
  212. package/dist/ai/source/BbButton.md +8 -4
  213. package/dist/ai/source/BbCalendar.md +10 -5
  214. package/dist/ai/source/BbCheckbox.md +24 -7
  215. package/dist/ai/source/BbCheckboxGroup.md +23 -5
  216. package/dist/ai/source/BbCollapsible.md +6 -7
  217. package/dist/ai/source/BbColorInput.md +6 -5
  218. package/dist/ai/source/BbColorPalette.md +0 -1
  219. package/dist/ai/source/BbConfirm.md +16 -28
  220. package/dist/ai/source/BbConfirmPortal.md +7 -14
  221. package/dist/ai/source/BbDatePicker.md +66 -2
  222. package/dist/ai/source/BbDatePickerInput.md +16 -15
  223. package/dist/ai/source/BbDialog.md +188 -36
  224. package/dist/ai/source/BbDropdown.md +5 -5
  225. package/dist/ai/source/BbDropdownGroup.md +5 -4
  226. package/dist/ai/source/BbDropzone.md +26 -9
  227. package/dist/ai/source/BbForm.md +7 -1
  228. package/dist/ai/source/BbHost.md +97 -0
  229. package/dist/ai/source/BbHoverCard.md +5 -5
  230. package/dist/ai/source/BbHoverCardPortal.md +7 -7
  231. package/dist/ai/source/BbNumberInput.md +7 -6
  232. package/dist/ai/source/BbOffCanvas.md +183 -37
  233. package/dist/ai/source/BbPopover.md +5 -6
  234. package/dist/ai/source/BbPopoverPortal.md +7 -7
  235. package/dist/ai/source/BbProgress.md +1 -1
  236. package/dist/ai/source/BbRadio.md +23 -6
  237. package/dist/ai/source/BbRadioGroup.md +22 -5
  238. package/dist/ai/source/BbRating.md +19 -5
  239. package/dist/ai/source/BbSelect.md +18 -10
  240. package/dist/ai/source/BbSelectPopover.md +10 -7
  241. package/dist/ai/source/BbSlider.md +40 -7
  242. package/dist/ai/source/BbSwitch.md +20 -3
  243. package/dist/ai/source/BbSwitchGroup.md +18 -1
  244. package/dist/ai/source/BbTable.md +5 -3
  245. package/dist/ai/source/BbTabs.md +33 -3
  246. package/dist/ai/source/BbTabsList.md +16 -3
  247. package/dist/ai/source/BbTabsPanels.md +6 -0
  248. package/dist/ai/source/BbTabsRoot.md +6 -0
  249. package/dist/ai/source/BbTag.md +6 -5
  250. package/dist/ai/source/BbTextInput.md +7 -6
  251. package/dist/ai/source/BbTextarea.md +7 -6
  252. package/dist/ai/source/BbTimePicker.md +23 -2
  253. package/dist/ai/source/BbTimePickerInput.md +11 -19
  254. package/dist/ai/source/BbToast.md +58 -27
  255. package/dist/ai/source/BbToastPortal.md +25 -14
  256. package/dist/ai/source/BbTree.md +21 -12
  257. package/dist/ai/source/CommonField.md +393 -45
  258. package/dist/ai/source/CommonPopover.md +4 -0
  259. package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +47 -33
  260. package/dist/components/BbAccordion/types.d.ts +21 -6
  261. package/dist/components/BbAccordion/types.js +2 -0
  262. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +39 -37
  263. package/dist/components/BbAlert/types.d.ts +11 -4
  264. package/dist/components/BbBaseButton/types.d.ts +3 -2
  265. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +40 -40
  266. package/dist/components/BbButton/types.d.ts +3 -2
  267. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +4 -4
  268. package/dist/components/BbCalendar/types.d.ts +6 -1
  269. package/dist/components/BbCalendar/useDayjsLocale.d.ts +8 -0
  270. package/dist/components/BbCalendar/useDayjsLocale.js +14 -2
  271. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +1 -1
  272. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +44 -43
  273. package/dist/components/BbCheckbox/types.d.ts +6 -5
  274. package/dist/components/BbCheckboxGroup/types.d.ts +6 -5
  275. package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +1 -1
  276. package/dist/components/BbCollapsible/types.d.ts +4 -4
  277. package/dist/components/BbColorInput/types.d.ts +6 -5
  278. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +0 -1
  279. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +46 -48
  280. package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +1 -1
  281. package/dist/components/BbConfirm/BbConfirmPortal.vue_vue_type_script_setup_true_lang.js +1 -1
  282. package/dist/components/BbConfirm/types.d.ts +5 -12
  283. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +118 -103
  284. package/dist/components/BbDatePicker/types.d.ts +8 -0
  285. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +312 -319
  286. package/dist/components/BbDatePickerInput/types.d.ts +14 -10
  287. package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -0
  288. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +193 -151
  289. package/dist/components/BbDialog/types.d.ts +59 -11
  290. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +0 -1
  291. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +1 -1
  292. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +13 -13
  293. package/dist/components/BbDropdown/types.d.ts +5 -4
  294. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +2 -2
  295. package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +142 -139
  296. package/dist/components/BbDropzone/types.d.ts +7 -2
  297. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +170 -170
  298. package/dist/components/BbForm/bindFormField.d.ts +2 -3
  299. package/dist/components/BbHost/BbHost.vue.d.ts +4 -0
  300. package/dist/components/BbHost/BbHost.vue.js +5 -0
  301. package/dist/components/BbHost/BbHost.vue_vue_type_script_setup_true_lang.js +30 -0
  302. package/dist/components/BbHost/BbHostOpening.d.ts +27 -0
  303. package/dist/components/BbHost/BbHostOpening.js +43 -0
  304. package/dist/components/BbHost/types.d.ts +7 -0
  305. package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
  306. package/dist/components/BbHoverCard/types.d.ts +5 -5
  307. package/dist/components/BbNumberInput/types.d.ts +7 -6
  308. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -0
  309. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +249 -222
  310. package/dist/components/BbOffCanvas/types.d.ts +69 -18
  311. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +0 -1
  312. package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
  313. package/dist/components/BbPopover/types.d.ts +5 -5
  314. package/dist/components/BbProgress/types.d.ts +1 -1
  315. package/dist/components/BbRadio/BbRadio.vue.d.ts +1 -1
  316. package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +65 -64
  317. package/dist/components/BbRadio/types.d.ts +6 -5
  318. package/dist/components/BbRadioGroup/types.d.ts +6 -5
  319. package/dist/components/BbRating/types.d.ts +6 -5
  320. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +13 -10
  321. package/dist/components/BbSelect/types.d.ts +11 -9
  322. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +7 -5
  323. package/dist/components/BbSelectPopover/types.d.ts +5 -4
  324. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +154 -146
  325. package/dist/components/BbSlider/types.d.ts +13 -5
  326. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +1 -1
  327. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +83 -82
  328. package/dist/components/BbSwitch/types.d.ts +2 -1
  329. package/dist/components/BbSwitchGroup/types.d.ts +2 -1
  330. package/dist/components/BbTable/types.d.ts +5 -3
  331. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +33 -30
  332. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +54 -50
  333. package/dist/components/BbTabs/tablistName.d.ts +4 -0
  334. package/dist/components/BbTabs/tablistName.js +13 -0
  335. package/dist/components/BbTag/types.d.ts +6 -5
  336. package/dist/components/BbTextInput/types.d.ts +7 -6
  337. package/dist/components/BbTextarea/types.d.ts +7 -6
  338. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +90 -86
  339. package/dist/components/BbTimePicker/types.d.ts +6 -0
  340. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +145 -151
  341. package/dist/components/BbTimePickerInput/types.d.ts +8 -7
  342. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +41 -34
  343. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +79 -78
  344. package/dist/components/BbToast/BbToastPortal.vue.d.ts +5 -5
  345. package/dist/components/BbToast/BbToastPortal.vue_vue_type_script_setup_true_lang.js +1 -1
  346. package/dist/components/BbToast/BbToastRegion.vue.d.ts +2 -0
  347. package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +66 -66
  348. package/dist/components/BbToast/types.d.ts +17 -8
  349. package/dist/components/BbTree/BbTree.vue.d.ts +1 -1
  350. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +1 -1
  351. package/dist/components/BbTree/types.d.ts +6 -6
  352. package/dist/components/CommonField/CommonField.vue.d.ts +2 -1
  353. package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +146 -99
  354. package/dist/components/CommonField/types.d.ts +18 -12
  355. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +32 -29
  356. package/dist/composables/formSubmitLock.d.ts +35 -0
  357. package/dist/composables/formSubmitLock.js +17 -2
  358. package/dist/composables/hostOpenings.d.ts +82 -0
  359. package/dist/composables/hostOpenings.js +70 -0
  360. package/dist/composables/hostRegistry.d.ts +39 -0
  361. package/dist/composables/hostRegistry.js +21 -0
  362. package/dist/composables/overlayRegistry.d.ts +160 -0
  363. package/dist/composables/overlayRegistry.js +230 -0
  364. package/dist/composables/useBbDialogContext.d.ts +86 -0
  365. package/dist/composables/useBbDialogContext.js +53 -0
  366. package/dist/composables/useBbOffCanvasContext.d.ts +23 -0
  367. package/dist/composables/useBbOffCanvasContext.js +8 -0
  368. package/dist/composables/useConfig.js +4 -0
  369. package/dist/composables/useConfirm.d.ts +44 -21
  370. package/dist/composables/useConfirm.js +4 -4
  371. package/dist/composables/useOnDemandOpener.d.ts +35 -0
  372. package/dist/composables/useOnDemandOpener.js +30 -0
  373. package/dist/composables/useRefusedCloseAnnouncement.d.ts +13 -0
  374. package/dist/composables/useRefusedCloseAnnouncement.js +15 -0
  375. package/dist/composables/useToast.d.ts +5 -6
  376. package/dist/composables/useToast.js +4 -3
  377. package/dist/deprecation/ai-deprecations.json.d.ts +3 -10
  378. package/dist/deprecation/ai-deprecations.json.js +1 -1
  379. package/dist/directives/bbDate.d.ts +40 -9
  380. package/dist/directives/bbDialog.d.ts +60 -0
  381. package/dist/directives/bbDialog.js +7 -0
  382. package/dist/directives/bbHoverCard.d.ts +3 -3
  383. package/dist/directives/bbHoverCard.js +1 -1
  384. package/dist/directives/bbOffCanvas.d.ts +46 -0
  385. package/dist/directives/bbOffCanvas.js +7 -0
  386. package/dist/directives/bbPopover.d.ts +3 -3
  387. package/dist/directives/bbPopover.js +1 -1
  388. package/dist/directives/bbTime.d.ts +23 -6
  389. package/dist/directives/directivePortal.d.ts +11 -11
  390. package/dist/directives/directivePortal.js +1 -1
  391. package/dist/directives/overlayTrigger.d.ts +28 -0
  392. package/dist/directives/overlayTrigger.js +93 -0
  393. package/dist/i18n/locales/cs.json +2 -1
  394. package/dist/i18n/locales/da.json +2 -1
  395. package/dist/i18n/locales/de-CH.json +2 -1
  396. package/dist/i18n/locales/de.json +2 -1
  397. package/dist/i18n/locales/el.json +2 -1
  398. package/dist/i18n/locales/en-GB.json +2 -1
  399. package/dist/i18n/locales/en.json +2 -1
  400. package/dist/i18n/locales/es-MX.json +2 -1
  401. package/dist/i18n/locales/es.json +2 -1
  402. package/dist/i18n/locales/fi.json +2 -1
  403. package/dist/i18n/locales/fr.json +2 -1
  404. package/dist/i18n/locales/hu.json +2 -1
  405. package/dist/i18n/locales/it.json +2 -1
  406. package/dist/i18n/locales/ja.json +2 -1
  407. package/dist/i18n/locales/ko.json +2 -1
  408. package/dist/i18n/locales/nb.json +2 -1
  409. package/dist/i18n/locales/nl.json +2 -1
  410. package/dist/i18n/locales/pl.json +2 -1
  411. package/dist/i18n/locales/pt-BR.json +2 -1
  412. package/dist/i18n/locales/pt-PT.json +2 -1
  413. package/dist/i18n/locales/ro.json +2 -1
  414. package/dist/i18n/locales/ru.json +2 -1
  415. package/dist/i18n/locales/sv.json +2 -1
  416. package/dist/i18n/locales/tr.json +2 -1
  417. package/dist/i18n/locales/uk.json +2 -1
  418. package/dist/i18n/locales/zh-CN.json +2 -1
  419. package/dist/i18n/locales/zh-HK.json +2 -1
  420. package/dist/i18n/locales/zh-TW.json +2 -1
  421. package/dist/icon-scan.d.ts +21 -0
  422. package/dist/icon-scan.js +29 -26
  423. package/dist/index.d.ts +13 -4
  424. package/dist/index.js +60 -57
  425. package/dist/llms-full.txt +4978 -3435
  426. package/dist/llms-medium.txt +119 -122
  427. package/dist/llms.txt +11 -7
  428. package/dist/locale-blueprint.json +2 -1
  429. package/dist/nuxt-auto-imports.js +3 -1
  430. package/dist/nuxt-module.d.ts +7 -4
  431. package/dist/nuxt.js +23 -20
  432. package/dist/plugin.js +27 -24
  433. package/dist/project-dts.d.ts +15 -2
  434. package/dist/project-dts.js +16 -10
  435. package/dist/runtime/nuxt-plugin.js +19 -17
  436. package/dist/styles.css +2 -2
  437. package/dist/types/Config.d.ts +33 -7
  438. package/dist/types/ptComponentMap.d.ts +1 -1
  439. package/dist/utilities/functions/responsiveDefault.d.ts +7 -0
  440. package/dist/utilities/functions/responsiveDefault.js +11 -0
  441. package/dist/utils/copyData.d.ts +10 -0
  442. package/dist/utils/copyData.js +29 -0
  443. package/dist/utils/cssLayers.d.ts +10 -0
  444. package/dist/utils/cssLayers.js +23 -18
  445. package/dist/utils/versionCheck.js +1 -1
  446. package/dist/vite-plugin.d.ts +29 -14
  447. package/dist/vite.js +247 -242
  448. package/llms.txt +11 -7
  449. package/package.json +1 -1
  450. package/scripts/lib/agent-manifest.mjs +22 -3
  451. package/scripts/lib/css-class-check.mjs +33 -2
  452. package/scripts/lib/define-preset-copy.mjs +123 -0
  453. package/scripts/lib/eslint-disable.mjs +3 -2
  454. package/scripts/lib/eslint-plugin.d.ts +2 -2
  455. package/scripts/lib/eslint-plugin.mjs +73 -93
  456. package/scripts/lib/portal-names.mjs +198 -28
  457. package/scripts/lib/project-variant-dts.mjs +53 -1
  458. package/scripts/lib/rule-registry.mjs +379 -0
  459. package/scripts/lib/swap-noun.mjs +33 -0
  460. package/scripts/lib/unimported-components.mjs +3 -1
  461. package/scripts/lib/validate-bb-markup.mjs +82 -76
  462. package/scripts/lib/required-in-form.mjs +0 -240
@@ -26,7 +26,12 @@ Sibling recipes: [Vue](../vue/upload-center.md) ·
26
26
  those files before anything below, and do not hand-roll replacements —
27
27
  the peek stack, the close semantics and the sidebar's out-of-flow
28
28
  behaviour are all load-bearing here.
29
- - `<BbConfirm />` and `<BbToast />` mounted once in `app.vue` — never in a page.
29
+ - `<BbHost />` mounted once in `app.vue` — never in a page.
30
+ - Each toast and alert variant's icon set once in the build config; the
31
+ code below passes no `icon` for them:
32
+ `toastVariants: { success: { icon: 'lucide:circle-check' }, destructive: { icon: 'lucide:circle-x' } }`
33
+ and `alertVariants: { warning: { icon: 'lucide:triangle-alert' }, destructive: { icon: 'lucide:circle-x' } }`
34
+ ([BbToast § Variant icons](../../BbToast.md#variant-icons)).
30
35
  - [App Layout](../../guides/app-layout.md), [Page Shell](../../guides/page-shell.md)
31
36
  and [Floating Bottom Panel](../../guides/floating-bottom-panel.md) copied
32
37
  into `app/components/` and `app/composables/` per their guides — every recipe page assumes
@@ -533,7 +538,6 @@ export function provideUploadCenter(): UploadCenterContext {
533
538
  toast({
534
539
  title: `Could not save ${receipt.filename}. Changes were reverted.`,
535
540
  variant: 'destructive',
536
- icon: 'lucide:circle-x',
537
541
  });
538
542
  }
539
543
  };
@@ -544,7 +548,6 @@ export function provideUploadCenter(): UploadCenterContext {
544
548
  toast({
545
549
  title: `${receipt.merchant ?? receipt.filename} submitted for approval.`,
546
550
  variant: 'success',
547
- icon: 'lucide:circle-check',
548
551
  });
549
552
  };
550
553
 
@@ -557,7 +560,6 @@ export function provideUploadCenter(): UploadCenterContext {
557
560
  toast({
558
561
  title: `${submitted} receipts submitted for approval.`,
559
562
  variant: 'success',
560
- icon: 'lucide:circle-check',
561
563
  });
562
564
  };
563
565
 
@@ -575,7 +577,6 @@ export function provideUploadCenter(): UploadCenterContext {
575
577
  toast({
576
578
  title: `${receipt.filename} removed.`,
577
579
  variant: 'success',
578
- icon: 'lucide:circle-check',
579
580
  });
580
581
  return true;
581
582
  };
@@ -617,7 +618,6 @@ export function provideUploadCenter(): UploadCenterContext {
617
618
  toast({
618
619
  title: `${count} receipts filed under ${category?.name ?? 'the selected category'}.`,
619
620
  variant: 'success',
620
- icon: 'lucide:circle-check',
621
621
  });
622
622
  };
623
623
 
@@ -640,7 +640,6 @@ export function provideUploadCenter(): UploadCenterContext {
640
640
  toast({
641
641
  title: `${count} receipts removed.`,
642
642
  variant: 'success',
643
- icon: 'lucide:circle-check',
644
643
  });
645
644
  };
646
645
 
@@ -963,11 +962,12 @@ const submitLabel = computed(() =>
963
962
  <BbDropzone
964
963
  v-model="pending"
965
964
  :accept="ACCEPT"
966
- :errors="dropError"
965
+ :errors="dropErrors"
967
966
  :max-files="20"
968
967
  :max-size="MAX_SIZE"
969
968
  multiple
970
969
  @error="onError"
970
+ @update:model-value="dropErrors = []"
971
971
  >
972
972
  <template #default="{ dragging, focused, open }">
973
973
  <div
@@ -1029,26 +1029,27 @@ const ctx = useUploadCenter();
1029
1029
  const pending = ref<File[]>([]);
1030
1030
  watch(pending, (files) => {
1031
1031
  if (files.length === 0) return;
1032
- dropError.value = undefined;
1033
1032
  ctx.enqueueFiles(files);
1034
1033
  pending.value = [];
1035
1034
  });
1036
1035
 
1037
1036
  // The errors display is a round-trip: map each typed reject to a sentence
1038
1037
  // and feed it back through the `errors` prop (rendered in the built-in
1039
- // aria-live region and referenced from the input's aria-describedby). Batch drops emit one error per file; showing the last
1040
- // message keeps the surface calm.
1041
- const dropError = ref<string | undefined>();
1042
- const onError = (error: DropZoneError) => {
1043
- if (error.type === 'maxSize') {
1044
- dropError.value = `${error.filename} is ${error.formattedSize} — receipts are capped at ${error.formattedMaxSize}.`;
1045
- } else if (error.type === 'accept') {
1046
- dropError.value = `${error.filename} is not a JPG, PNG, HEIC or PDF.`;
1047
- } else if (error.type === 'uniqueness') {
1048
- dropError.value = `${error.filename} is already in this drop.`;
1049
- } else {
1050
- dropError.value = `That drop had ${error.totalFiles} files — add at most 20 at a time.`;
1051
- }
1038
+ // aria-live region and referenced from the input's aria-describedby). A drop
1039
+ // updates the model first (the last drop's lines clear there), then emits ONE
1040
+ // `error` with every file it rejected: one line each.
1041
+ const dropErrors = ref<string[]>([]);
1042
+ const describe = (error: DropZoneError) => {
1043
+ if (error.type === 'maxSize')
1044
+ return `${error.filename} is ${error.formattedSize} — receipts are capped at ${error.formattedMaxSize}.`;
1045
+ if (error.type === 'accept')
1046
+ return `${error.filename} is not a JPG, PNG, HEIC or PDF.`;
1047
+ if (error.type === 'uniqueness')
1048
+ return `${error.filename} is already in this drop.`;
1049
+ return `${error.filename} was not added — add at most ${error.maxFiles} at a time.`;
1050
+ };
1051
+ const onError = (rejections: DropZoneError[]) => {
1052
+ dropErrors.value = rejections.map(describe);
1052
1053
  };
1053
1054
  </script>
1054
1055
  ```
@@ -1093,6 +1094,7 @@ const onError = (error: DropZoneError) => {
1093
1094
  <BbSelectPopover
1094
1095
  v-model="ctx.filters.merchant"
1095
1096
  clearable
1097
+ :filter-by="false"
1096
1098
  :items="ctx.searchMerchants"
1097
1099
  width="240px"
1098
1100
  >
@@ -1808,8 +1810,8 @@ const longDate = (value: string) =>
1808
1810
  >
1809
1811
  <BbIcon class="text-(--bb-text-muted)" icon="lucide:store" size="18" />
1810
1812
  </div>
1813
+ <!-- The sidebar title already names the merchant. -->
1811
1814
  <div class="flex flex-col">
1812
- <h2 class="text-base font-semibold">{{ merchant.name }}</h2>
1813
1815
  <p class="text-xs text-(--bb-text-muted)">
1814
1816
  {{ merchant.defaultCategoryName }} · this year
1815
1817
  </p>
@@ -26,7 +26,12 @@ Sibling recipes: [Vue](../vue/wizard-form.md) ·
26
26
  those files before anything below, and do not hand-roll replacements —
27
27
  the peek stack, the close semantics and the sidebar's out-of-flow
28
28
  behaviour are all load-bearing here.
29
- - `<BbConfirm />` and `<BbToast />` mounted once in `app.vue` — never in a page.
29
+ - `<BbHost />` mounted once in `app.vue` — never in a page.
30
+ - Each toast and alert variant's icon set once in the build config; the
31
+ code below passes no `icon` for them:
32
+ `toastVariants: { success: { icon: 'lucide:circle-check' }, destructive: { icon: 'lucide:circle-x' } }`
33
+ and `alertVariants: { warning: { icon: 'lucide:triangle-alert' }, destructive: { icon: 'lucide:circle-x' } }`
34
+ ([BbToast § Variant icons](../../BbToast.md#variant-icons)).
30
35
  - [App Layout](../../guides/app-layout.md) and
31
36
  [Page Shell](../../guides/page-shell.md) copied into
32
37
  `app/components/` and `app/composables/` per their guides — the page renders inside this
@@ -575,7 +580,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
575
580
  toast({
576
581
  title: 'Draft saved.',
577
582
  variant: 'success',
578
- icon: 'lucide:circle-check',
579
583
  });
580
584
  } catch (error) {
581
585
  applyServerErrors(error);
@@ -594,7 +598,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
594
598
  toast({
595
599
  title: 'Test email sent to your address.',
596
600
  variant: 'success',
597
- icon: 'lucide:circle-check',
598
601
  });
599
602
  };
600
603
 
@@ -622,7 +625,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
622
625
  ? 'Campaign is on its way.'
623
626
  : 'Campaign scheduled.',
624
627
  variant: 'success',
625
- icon: 'lucide:circle-check',
626
628
  });
627
629
  await navigateTo(`/campaigns/${campaignId}`);
628
630
  } catch (error) {
@@ -646,7 +648,6 @@ export function provideCampaignWizard(): CampaignWizardContext {
646
648
  toast({
647
649
  title: 'Draft discarded.',
648
650
  variant: 'success',
649
- icon: 'lucide:circle-check',
650
651
  });
651
652
  await navigateTo('/campaigns');
652
653
  };
@@ -736,7 +737,6 @@ export function useCampaignWizard(): CampaignWizardContext {
736
737
  <BbAlert
737
738
  v-if="summaryIssues.length"
738
739
  hide-close
739
- icon="lucide:circle-x"
740
740
  :title="`Fix ${summaryIssues.length} ${summaryIssues.length === 1 ? 'issue' : 'issues'} to continue`"
741
741
  variant="destructive"
742
742
  >
@@ -912,6 +912,7 @@ const status = (key: StepKey) => ctx.stepStatus(key);
912
912
  <BbSelect
913
913
  v-model="ctx.draft.segmentId"
914
914
  :errors="segmentErrors"
915
+ :filter-by="false"
915
916
  item-text="name"
916
917
  item-value="id"
917
918
  :items="searchSegments"
@@ -1397,8 +1398,9 @@ const isReview = computed(() => ctx.step.value === 'review');
1397
1398
  <!-- components/CampaignWizard/SegmentPeek.vue -->
1398
1399
  <template>
1399
1400
  <div v-if="segment" class="flex flex-col gap-4 text-sm">
1401
+ <!-- The sidebar title already names the segment; the peek opens on its
1402
+ facts, never a second name. -->
1400
1403
  <header class="flex flex-col gap-0.5">
1401
- <h2 class="text-base font-semibold">{{ segment.name }}</h2>
1402
1404
  <p class="text-xs text-(--bb-text-muted)">
1403
1405
  {{ number.format(segment.contactCount) }} contacts · last synced
1404
1406
  {{ longDate(segment.lastSyncedAt) }}