bitboss-ui 3.0.0-beta.65 → 3.0.0-beta.67

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 (1019) hide show
  1. package/README.md +79 -16
  2. package/bin/bitboss-ui-mcp.mjs +48 -17
  3. package/bin/bitboss-ui.mjs +73 -12
  4. package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
  5. package/dist/ai/BbAccordion.md +4 -3
  6. package/dist/ai/BbAlert.md +2 -2
  7. package/dist/ai/BbAvatar.md +1 -1
  8. package/dist/ai/BbBadge.md +2 -1
  9. package/dist/ai/BbBadgeButton.md +6 -5
  10. package/dist/ai/BbBaseButton.md +26 -21
  11. package/dist/ai/BbBaseCheckboxIcon.md +1 -0
  12. package/dist/ai/BbBaseRadioIcon.md +1 -0
  13. package/dist/ai/BbBaseSwitchIcon.md +1 -0
  14. package/dist/ai/BbBreadcrumbs.md +9 -1
  15. package/dist/ai/BbButton.md +74 -22
  16. package/dist/ai/BbCalendar.md +156 -23
  17. package/dist/ai/BbCheckbox.md +5 -1
  18. package/dist/ai/BbCheckboxGroup.md +45 -9
  19. package/dist/ai/BbColorInput.md +5 -3
  20. package/dist/ai/BbColorPalette.md +7 -3
  21. package/dist/ai/BbConfirm.md +38 -81
  22. package/dist/ai/BbConfirmPortal.md +1 -1
  23. package/dist/ai/BbDatePicker.md +70 -22
  24. package/dist/ai/BbDatePickerInput.md +121 -27
  25. package/dist/ai/BbDialog.md +69 -61
  26. package/dist/ai/BbDropdown.md +30 -29
  27. package/dist/ai/BbDropdownButton.md +9 -13
  28. package/dist/ai/BbDropzone.md +2 -3
  29. package/dist/ai/BbForm.md +70 -46
  30. package/dist/ai/BbHost.md +29 -41
  31. package/dist/ai/BbIcon.md +3 -0
  32. package/dist/ai/BbNumberInput.md +17 -13
  33. package/dist/ai/BbOffCanvas.md +21 -14
  34. package/dist/ai/BbPagination.md +18 -18
  35. package/dist/ai/BbPopover.md +8 -3
  36. package/dist/ai/BbPtScope.md +5 -5
  37. package/dist/ai/BbRadio.md +5 -1
  38. package/dist/ai/BbRadioGroup.md +45 -8
  39. package/dist/ai/BbRating.md +5 -4
  40. package/dist/ai/BbSelect.md +150 -24
  41. package/dist/ai/BbSelectPopover.md +19 -16
  42. package/dist/ai/BbSlider.md +6 -4
  43. package/dist/ai/BbSwitch.md +5 -1
  44. package/dist/ai/BbTable.md +69 -44
  45. package/dist/ai/BbTabs.md +128 -64
  46. package/dist/ai/BbTabsList.md +5 -3
  47. package/dist/ai/BbTabsPanels.md +3 -1
  48. package/dist/ai/BbTabsRoot.md +4 -4
  49. package/dist/ai/BbTag.md +3 -3
  50. package/dist/ai/BbTextInput.md +23 -9
  51. package/dist/ai/BbTextarea.md +3 -3
  52. package/dist/ai/BbTimePicker.md +8 -6
  53. package/dist/ai/BbTimePickerInput.md +9 -12
  54. package/dist/ai/BbToast.md +33 -87
  55. package/dist/ai/BbToastPortal.md +1 -1
  56. package/dist/ai/BbTooltip.md +2 -2
  57. package/dist/ai/BbTree.md +2 -2
  58. package/dist/ai/ChipsBox.md +1 -1
  59. package/dist/ai/CommonField.md +2 -2
  60. package/dist/ai/CommonFieldInput.md +2 -1
  61. package/dist/ai/FlatListBox.md +2 -2
  62. package/dist/ai/GroupedListBox.md +2 -2
  63. package/dist/ai/ListBox.md +2 -2
  64. package/dist/ai/OptionsContainer.md +2 -2
  65. package/dist/ai/changelog.json +595 -525
  66. package/dist/ai/components.json +92 -88
  67. package/dist/ai/composables/useBbConfig.md +2 -2
  68. package/dist/ai/composables/{useBbDialogContext.md → useBbDialog.md} +18 -18
  69. package/dist/ai/composables/{useBbDropdownContext.md → useBbDropdown.md} +31 -31
  70. package/dist/ai/composables/{useBbFormContext.md → useBbForm.md} +11 -11
  71. package/dist/ai/composables/useBbFormField.md +2 -2
  72. package/dist/ai/composables/{useBbOffCanvasContext.md → useBbOffCanvas.md} +13 -13
  73. package/dist/ai/composables/{useBbTableContext.md → useBbTable.md} +20 -20
  74. package/dist/ai/composables/{useBbTabsContext.md → useBbTabs.md} +12 -12
  75. package/dist/ai/composables/useConfirm.md +42 -54
  76. package/dist/ai/composables/useToast.md +9 -26
  77. package/dist/ai/guides/agent-contract.md +57 -43
  78. package/dist/ai/guides/ai-router.md +1 -1
  79. package/dist/ai/guides/app-layout.md +32 -23
  80. package/dist/ai/guides/coherence-playbook.md +4 -2
  81. package/dist/ai/guides/component-picker.md +37 -33
  82. package/dist/ai/guides/design-language.md +51 -14
  83. package/dist/ai/guides/design-tokens.md +99 -44
  84. package/dist/ai/guides/eslint-rules.md +8 -4
  85. package/dist/ai/guides/fetch-items-playbook.md +4 -3
  86. package/dist/ai/guides/floating-bottom-panel.md +1 -1
  87. package/dist/ai/guides/icons-policy.md +1 -1
  88. package/dist/ai/guides/inertia-helpers.md +661 -210
  89. package/dist/ai/guides/inline-edit-playbook.md +1 -1
  90. package/dist/ai/guides/installation-and-plugin-setup.md +22 -19
  91. package/dist/ai/guides/migration/adoption-checklist.md +44 -2
  92. package/dist/ai/guides/migration/components/bb-dialog.md +13 -13
  93. package/dist/ai/guides/migration/components/bb-dropdown.md +16 -16
  94. package/dist/ai/guides/migration/components/bb-host.md +15 -14
  95. package/dist/ai/guides/migration/components/bb-offcanvas.md +10 -10
  96. package/dist/ai/guides/migration/components/bb-pagination.md +9 -9
  97. package/dist/ai/guides/migration/components/bb-select.md +2 -3
  98. package/dist/ai/guides/migration/components/bb-table.md +15 -15
  99. package/dist/ai/guides/migration/components/bb-tabs.md +1 -1
  100. package/dist/ai/guides/migration/from-async-validator.md +9 -9
  101. package/dist/ai/guides/migration/v2-to-v3.md +206 -13
  102. package/dist/ai/guides/migration/v3-beta-tooling.md +3 -3
  103. package/dist/ai/guides/options-items-playbook.md +2 -2
  104. package/dist/ai/guides/page-shell.md +15 -3
  105. package/dist/ai/guides/passthrough.md +60 -15
  106. package/dist/ai/guides/preset-components.md +102 -43
  107. package/dist/ai/guides/typescript-generic-components.md +21 -5
  108. package/dist/ai/guides/validated-forms.md +23 -14
  109. package/dist/ai/guides/validation-libraries.md +11 -13
  110. package/dist/ai/guides/validation-providers.md +3 -3
  111. package/dist/ai/helpers/definePreset.json +11 -4
  112. package/dist/ai/helpers/definePreset.ts +98 -41
  113. package/dist/ai/helpers/inertia/manifest.json +235 -77
  114. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +24 -12
  115. package/dist/ai/helpers/inertia/usePromiseForm.ts +38 -151
  116. package/dist/ai/helpers/inertia/usePromiseRouter.ts +295 -0
  117. package/dist/ai/helpers/inertia/useQueryObject.ts +36 -5
  118. package/dist/ai/helpers/inertia/useRouteQuery.ts +28 -9
  119. package/dist/ai/helpers/inertia/utils.ts +53 -10
  120. package/dist/ai/index.md +15 -15
  121. package/dist/ai/manifest/common.json +5 -2
  122. package/dist/ai/manifest/components/BbAccordion.tree.json +3 -1
  123. package/dist/ai/manifest/components/BbAlert.json +1 -1
  124. package/dist/ai/manifest/components/BbAvatar.tree.json +1 -1
  125. package/dist/ai/manifest/components/BbBadge.json +2 -2
  126. package/dist/ai/manifest/components/BbBadge.tree.json +4 -2
  127. package/dist/ai/manifest/components/BbBadgeButton.json +11 -6
  128. package/dist/ai/manifest/components/BbBadgeButton.tree.json +2 -1
  129. package/dist/ai/manifest/components/BbBaseButton.json +11 -6
  130. package/dist/ai/manifest/components/BbBaseCheckboxIcon.json +1 -1
  131. package/dist/ai/manifest/components/BbBaseCheckboxIcon.tree.json +3 -1
  132. package/dist/ai/manifest/components/BbBaseRadioIcon.json +1 -1
  133. package/dist/ai/manifest/components/BbBaseRadioIcon.tree.json +3 -1
  134. package/dist/ai/manifest/components/BbBaseSwitchIcon.json +1 -1
  135. package/dist/ai/manifest/components/BbBaseSwitchIcon.tree.json +3 -1
  136. package/dist/ai/manifest/components/BbBreadcrumbs.json +3 -3
  137. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +7 -3
  138. package/dist/ai/manifest/components/BbButton.json +10 -5
  139. package/dist/ai/manifest/components/BbButton.tree.json +10 -3
  140. package/dist/ai/manifest/components/BbCalendar.json +29 -26
  141. package/dist/ai/manifest/components/BbCalendar.tree.json +25 -2
  142. package/dist/ai/manifest/components/BbCheckbox.json +2 -2
  143. package/dist/ai/manifest/components/BbCheckbox.tree.json +5 -2
  144. package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
  145. package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +62 -3
  146. package/dist/ai/manifest/components/BbCollapsible.json +4 -1
  147. package/dist/ai/manifest/components/BbColorInput.json +18 -17
  148. package/dist/ai/manifest/components/BbColorInput.tree.json +5 -3
  149. package/dist/ai/manifest/components/BbColorPalette.json +4 -1
  150. package/dist/ai/manifest/components/BbColorPalette.tree.json +7 -2
  151. package/dist/ai/manifest/components/BbConfirm.json +2 -1
  152. package/dist/ai/manifest/components/BbConfirm.tree.json +2 -2
  153. package/dist/ai/manifest/components/BbDatePicker.json +33 -27
  154. package/dist/ai/manifest/components/BbDatePicker.tree.json +3 -4
  155. package/dist/ai/manifest/components/BbDatePickerInput.json +38 -35
  156. package/dist/ai/manifest/components/BbDatePickerInput.tree.json +7 -4
  157. package/dist/ai/manifest/components/BbDialog.json +4 -4
  158. package/dist/ai/manifest/components/BbDialog.tree.json +6 -3
  159. package/dist/ai/manifest/components/BbDropdown.json +11 -11
  160. package/dist/ai/manifest/components/BbDropdown.tree.json +3 -3
  161. package/dist/ai/manifest/components/BbDropdownButton.json +13 -8
  162. package/dist/ai/manifest/components/BbDropdownButton.tree.json +2 -3
  163. package/dist/ai/manifest/components/BbDropzone.json +5 -2
  164. package/dist/ai/manifest/components/BbForm.json +2 -2
  165. package/dist/ai/manifest/components/BbHost.json +1 -1
  166. package/dist/ai/manifest/components/BbHost.tree.json +1 -1
  167. package/dist/ai/manifest/components/BbHoverCard.json +1 -1
  168. package/dist/ai/manifest/components/BbNumberInput.json +8 -8
  169. package/dist/ai/manifest/components/BbNumberInput.tree.json +1 -1
  170. package/dist/ai/manifest/components/BbOffCanvas.json +4 -4
  171. package/dist/ai/manifest/components/BbOffCanvas.tree.json +9 -4
  172. package/dist/ai/manifest/components/BbPagination.json +5 -5
  173. package/dist/ai/manifest/components/BbPagination.tree.json +3 -2
  174. package/dist/ai/manifest/components/BbPopover.json +1 -1
  175. package/dist/ai/manifest/components/BbPopover.tree.json +1 -1
  176. package/dist/ai/manifest/components/BbProgress.json +4 -1
  177. package/dist/ai/manifest/components/BbRadio.json +2 -2
  178. package/dist/ai/manifest/components/BbRadio.tree.json +5 -2
  179. package/dist/ai/manifest/components/BbRadioGroup.json +6 -6
  180. package/dist/ai/manifest/components/BbRadioGroup.tree.json +62 -3
  181. package/dist/ai/manifest/components/BbRating.json +7 -7
  182. package/dist/ai/manifest/components/BbRating.tree.json +5 -3
  183. package/dist/ai/manifest/components/BbSelect.json +25 -25
  184. package/dist/ai/manifest/components/BbSelect.tree.json +3 -3
  185. package/dist/ai/manifest/components/BbSelectPopover.json +16 -12
  186. package/dist/ai/manifest/components/BbSelectPopover.tree.json +3 -2
  187. package/dist/ai/manifest/components/BbSlider.json +14 -14
  188. package/dist/ai/manifest/components/BbSlider.tree.json +3 -0
  189. package/dist/ai/manifest/components/BbSmoothHeight.json +4 -1
  190. package/dist/ai/manifest/components/BbSwitch.json +2 -2
  191. package/dist/ai/manifest/components/BbSwitch.tree.json +5 -2
  192. package/dist/ai/manifest/components/BbSwitchGroup.json +1 -1
  193. package/dist/ai/manifest/components/BbSwitchGroup.tree.json +1 -1
  194. package/dist/ai/manifest/components/BbTable.json +28 -24
  195. package/dist/ai/manifest/components/BbTable.tree.json +6 -1
  196. package/dist/ai/manifest/components/BbTabs.json +13 -16
  197. package/dist/ai/manifest/components/BbTabs.tree.json +4 -1
  198. package/dist/ai/manifest/components/BbTabsList.json +6 -9
  199. package/dist/ai/manifest/components/BbTabsList.tree.json +4 -1
  200. package/dist/ai/manifest/components/BbTabsPanels.json +3 -3
  201. package/dist/ai/manifest/components/BbTabsPanels.tree.json +4 -1
  202. package/dist/ai/manifest/components/BbTabsRoot.json +5 -5
  203. package/dist/ai/manifest/components/BbTag.json +2 -2
  204. package/dist/ai/manifest/components/BbTag.tree.json +2 -2
  205. package/dist/ai/manifest/components/BbTextInput.json +4 -4
  206. package/dist/ai/manifest/components/BbTextInput.tree.json +3 -3
  207. package/dist/ai/manifest/components/BbTextarea.json +3 -3
  208. package/dist/ai/manifest/components/BbTextarea.tree.json +1 -1
  209. package/dist/ai/manifest/components/BbTimePicker.json +10 -7
  210. package/dist/ai/manifest/components/BbTimePicker.tree.json +5 -3
  211. package/dist/ai/manifest/components/BbTimePickerInput.json +19 -19
  212. package/dist/ai/manifest/components/BbTimePickerInput.tree.json +5 -3
  213. package/dist/ai/manifest/components/BbToast.json +1 -1
  214. package/dist/ai/manifest/components/BbToast.tree.json +3 -1
  215. package/dist/ai/manifest/components/BbTooltip.json +3 -0
  216. package/dist/ai/manifest/components/BbTooltip.tree.json +2 -2
  217. package/dist/ai/manifest/components/BbTree.json +3 -3
  218. package/dist/ai/manifest/components/BbTree.tree.json +1 -1
  219. package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
  220. package/dist/ai/manifest/components/CommonField.json +2 -2
  221. package/dist/ai/manifest/components/CommonField.tree.json +1 -0
  222. package/dist/ai/manifest/components/CommonFieldInput.tree.json +4 -2
  223. package/dist/ai/manifest/components/CommonPopover.tree.json +3 -0
  224. package/dist/ai/manifest/components/CommonTimeSelector.tree.json +1 -0
  225. package/dist/ai/manifest/components/FlatListBox.json +2 -2
  226. package/dist/ai/manifest/components/GroupedListBox.json +2 -2
  227. package/dist/ai/manifest/components/ListBox.json +2 -2
  228. package/dist/ai/manifest/components/OptionsContainer.json +3 -3
  229. package/dist/ai/manifest/index.json +3 -3
  230. package/dist/ai/manifest/meta.json +31 -16
  231. package/dist/ai/manifest/types.advanced.json +17 -13
  232. package/dist/ai/manifest/types.api.json +2 -2
  233. package/dist/ai/recipes/inertia/approvals-inbox.md +86 -115
  234. package/dist/ai/recipes/inertia/inline-edit-workspace.md +112 -120
  235. package/dist/ai/recipes/inertia/layout-scaffold.md +15 -4
  236. package/dist/ai/recipes/inertia/onboarding.md +76 -58
  237. package/dist/ai/recipes/inertia/ownership-atlas.md +74 -105
  238. package/dist/ai/recipes/inertia/record-form.md +18 -7
  239. package/dist/ai/recipes/inertia/records-workspace.md +106 -127
  240. package/dist/ai/recipes/inertia/settings-workspace.md +131 -73
  241. package/dist/ai/recipes/inertia/upload-center.md +97 -121
  242. package/dist/ai/recipes/inertia/wizard-form.md +25 -15
  243. package/dist/ai/recipes/nuxt/approvals-inbox.md +67 -48
  244. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +73 -58
  245. package/dist/ai/recipes/nuxt/layout-scaffold.md +15 -4
  246. package/dist/ai/recipes/nuxt/onboarding.md +27 -10
  247. package/dist/ai/recipes/nuxt/ownership-atlas.md +40 -22
  248. package/dist/ai/recipes/nuxt/record-form.md +20 -7
  249. package/dist/ai/recipes/nuxt/records-workspace.md +120 -96
  250. package/dist/ai/recipes/nuxt/settings-workspace.md +36 -23
  251. package/dist/ai/recipes/nuxt/upload-center.md +63 -37
  252. package/dist/ai/recipes/nuxt/wizard-form.md +28 -16
  253. package/dist/ai/recipes/vue/approvals-inbox.md +74 -46
  254. package/dist/ai/recipes/vue/inline-edit-workspace.md +83 -56
  255. package/dist/ai/recipes/vue/layout-scaffold.md +15 -4
  256. package/dist/ai/recipes/vue/onboarding.md +27 -10
  257. package/dist/ai/recipes/vue/ownership-atlas.md +40 -22
  258. package/dist/ai/recipes/vue/record-form.md +20 -7
  259. package/dist/ai/recipes/vue/records-workspace.md +132 -95
  260. package/dist/ai/recipes/vue/settings-workspace.md +36 -23
  261. package/dist/ai/recipes/vue/upload-center.md +73 -37
  262. package/dist/ai/recipes/vue/wizard-form.md +28 -16
  263. package/dist/ai/source/BbAccordion.md +36 -6
  264. package/dist/ai/source/BbAlert.md +11 -5
  265. package/dist/ai/source/BbAsterisk.md +4 -1
  266. package/dist/ai/source/BbAvatar.md +12 -6
  267. package/dist/ai/source/BbBadge.md +72 -21
  268. package/dist/ai/source/BbBadgeButton.md +71 -18
  269. package/dist/ai/source/BbBaseButton.md +321 -276
  270. package/dist/ai/source/BbBaseCheckboxIcon.md +92 -64
  271. package/dist/ai/source/BbBaseRadioIcon.md +81 -54
  272. package/dist/ai/source/BbBaseSwitchIcon.md +87 -59
  273. package/dist/ai/source/BbBreadcrumbs.md +94 -56
  274. package/dist/ai/source/BbButton.md +180 -31
  275. package/dist/ai/source/BbCalendar.md +1069 -408
  276. package/dist/ai/source/BbCheckbox.md +233 -178
  277. package/dist/ai/source/BbCheckboxGroup.md +36 -21
  278. package/dist/ai/source/BbCollapsible.md +15 -6
  279. package/dist/ai/source/BbColorInput.md +142 -38
  280. package/dist/ai/source/BbColorPalette.md +242 -144
  281. package/dist/ai/source/BbConfirm.md +25 -7
  282. package/dist/ai/source/BbConfirmPortal.md +17 -7
  283. package/dist/ai/source/BbDatePicker.md +302 -178
  284. package/dist/ai/source/BbDatePickerInput.md +394 -65
  285. package/dist/ai/source/BbDialog.md +204 -174
  286. package/dist/ai/source/BbDropdown.md +92 -42
  287. package/dist/ai/source/BbDropdownButton.md +79 -30
  288. package/dist/ai/source/BbDropdownGroup.md +53 -15
  289. package/dist/ai/source/BbDropzone.md +138 -93
  290. package/dist/ai/source/BbForm.md +18 -7
  291. package/dist/ai/source/BbHost.md +25 -12
  292. package/dist/ai/source/BbHoverCard.md +20 -9
  293. package/dist/ai/source/BbIcon.md +9 -3
  294. package/dist/ai/source/BbIndicator.md +11 -4
  295. package/dist/ai/source/BbNumberInput.md +83 -28
  296. package/dist/ai/source/BbOffCanvas.md +227 -171
  297. package/dist/ai/source/BbPagination.md +151 -111
  298. package/dist/ai/source/BbPopover.md +28 -16
  299. package/dist/ai/source/BbProgress.md +13 -5
  300. package/dist/ai/source/BbRadio.md +220 -169
  301. package/dist/ai/source/BbRadioGroup.md +32 -19
  302. package/dist/ai/source/BbRating.md +208 -154
  303. package/dist/ai/source/BbSelect.md +133 -35
  304. package/dist/ai/source/BbSelectPopover.md +462 -371
  305. package/dist/ai/source/BbSlider.md +308 -217
  306. package/dist/ai/source/BbSmoothHeight.md +16 -7
  307. package/dist/ai/source/BbSpinner.md +9 -3
  308. package/dist/ai/source/BbSwitch.md +95 -17
  309. package/dist/ai/source/BbSwitchGroup.md +38 -23
  310. package/dist/ai/source/BbTable.md +641 -423
  311. package/dist/ai/source/BbTabs.md +120 -62
  312. package/dist/ai/source/BbTabsList.md +171 -72
  313. package/dist/ai/source/BbTabsPanels.md +127 -53
  314. package/dist/ai/source/BbTabsRoot.md +97 -46
  315. package/dist/ai/source/BbTag.md +58 -24
  316. package/dist/ai/source/BbTextInput.md +65 -14
  317. package/dist/ai/source/BbTextarea.md +54 -8
  318. package/dist/ai/source/BbTimePicker.md +195 -122
  319. package/dist/ai/source/BbTimePickerInput.md +127 -23
  320. package/dist/ai/source/BbToast.md +46 -21
  321. package/dist/ai/source/BbToastPortal.md +47 -22
  322. package/dist/ai/source/BbTooltip.md +18 -10
  323. package/dist/ai/source/BbTree.md +26 -6
  324. package/dist/ai/source/ClearableButton.md +5 -1
  325. package/dist/ai/source/CommonField.md +67 -11
  326. package/dist/ai/source/CommonFieldInput.md +61 -27
  327. package/dist/ai/source/CommonPopover.md +24 -6
  328. package/dist/ai/source/CommonTimeSelector.md +24 -3
  329. package/dist/ai/source/ErrorIcon.md +4 -0
  330. package/dist/ai/source/FlatListBox.md +1 -1
  331. package/dist/ai/source/GroupedListBox.md +1 -1
  332. package/dist/ai/source/ListBox.md +10 -2
  333. package/dist/ai/source/OptionsContainer.md +6 -2
  334. package/dist/ai/source/WarningIcon.md +4 -0
  335. package/dist/assets/css/reset.css_inline.js +1 -2
  336. package/dist/assets/svgs/alert.svg_raw.js +1 -2
  337. package/dist/assets/svgs/calendar.svg_raw.js +1 -2
  338. package/dist/assets/svgs/check_stroke.svg_raw.js +1 -2
  339. package/dist/assets/svgs/chevron_down.svg_raw.js +1 -2
  340. package/dist/assets/svgs/chevron_right.svg_raw.js +1 -2
  341. package/dist/assets/svgs/clear.svg_raw.js +1 -2
  342. package/dist/assets/svgs/clock.svg_raw.js +1 -2
  343. package/dist/assets/svgs/error.svg_raw.js +1 -2
  344. package/dist/assets/svgs/search.svg_raw.js +1 -2
  345. package/dist/assets/svgs/spinner.svg_raw.js +1 -2
  346. package/dist/assets/svgs/star.svg_raw.js +1 -2
  347. package/dist/assets/svgs/user.svg_raw.js +1 -2
  348. package/dist/components/BbAccordion/BbAccordion.vue.d.ts +2 -1
  349. package/dist/components/BbAccordion/BbAccordion.vue.js +1 -2
  350. package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +21 -22
  351. package/dist/components/BbAccordion/types.js +1 -2
  352. package/dist/components/BbAlert/BbAlert.vue.d.ts +2 -1
  353. package/dist/components/BbAlert/BbAlert.vue.js +1 -2
  354. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +28 -29
  355. package/dist/components/BbAlert/types.js +1 -2
  356. package/dist/components/BbAsterisk/BbAsterisk.vue.d.ts +3 -1
  357. package/dist/components/BbAsterisk/BbAsterisk.vue.js +1 -2
  358. package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +1 -2
  359. package/dist/components/BbAsterisk/types.js +1 -2
  360. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +3 -1
  361. package/dist/components/BbAvatar/BbAvatar.vue.js +1 -2
  362. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +23 -24
  363. package/dist/components/BbAvatar/types.js +1 -2
  364. package/dist/components/BbBadge/BadgeBodyContent.vue.js +1 -2
  365. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +13 -14
  366. package/dist/components/BbBadge/BbBadge.vue.d.ts +5 -3
  367. package/dist/components/BbBadge/BbBadge.vue.js +1 -2
  368. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +31 -33
  369. package/dist/components/BbBadge/BbBadgeButton.vue.d.ts +3 -1
  370. package/dist/components/BbBadge/BbBadgeButton.vue.js +1 -2
  371. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +6 -11
  372. package/dist/components/BbBadge/badgeButtonContext.js +1 -2
  373. package/dist/components/BbBadge/types.d.ts +20 -4
  374. package/dist/components/BbBadge/types.js +7 -2
  375. package/dist/components/BbBaseButton/BbBaseButton.vue.d.ts +3 -1
  376. package/dist/components/BbBaseButton/BbBaseButton.vue.js +1 -2
  377. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +89 -90
  378. package/dist/components/BbBaseButton/RouterComponent.vue.js +1 -2
  379. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +8 -9
  380. package/dist/components/BbBaseButton/types.d.ts +11 -6
  381. package/dist/components/BbBaseButton/types.js +6 -2
  382. package/dist/components/BbBaseButton/useLinkState.d.ts +2 -0
  383. package/dist/components/BbBaseButton/useLinkState.js +24 -24
  384. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.d.ts +3 -1
  385. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js +1 -2
  386. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +16 -17
  387. package/dist/components/BbBaseCheckboxIcon/types.d.ts +4 -2
  388. package/dist/components/BbBaseCheckboxIcon/types.js +3 -3
  389. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.d.ts +3 -1
  390. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue.js +1 -2
  391. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +13 -14
  392. package/dist/components/BbBaseRadioIcon/types.d.ts +4 -2
  393. package/dist/components/BbBaseRadioIcon/types.js +3 -3
  394. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.d.ts +3 -1
  395. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue.js +1 -2
  396. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +15 -16
  397. package/dist/components/BbBaseSwitchIcon/types.d.ts +4 -2
  398. package/dist/components/BbBaseSwitchIcon/types.js +3 -3
  399. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +3 -1
  400. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.js +1 -2
  401. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +158 -169
  402. package/dist/components/BbBreadcrumbs/estimateBreadcrumbItemWidth.js +1 -2
  403. package/dist/components/BbBreadcrumbs/types.d.ts +19 -5
  404. package/dist/components/BbBreadcrumbs/types.js +8 -3
  405. package/dist/components/BbButton/BbButton.vue.d.ts +2 -1
  406. package/dist/components/BbButton/BbButton.vue.js +1 -2
  407. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +96 -97
  408. package/dist/components/BbButton/toggleRoving.js +2 -3
  409. package/dist/components/BbButton/types.d.ts +11 -6
  410. package/dist/components/BbButton/types.js +8 -2
  411. package/dist/components/BbCalendar/BbCalendar.vue.d.ts +127 -30
  412. package/dist/components/BbCalendar/BbCalendar.vue.js +1 -2
  413. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +434 -420
  414. package/dist/components/BbCalendar/CalendarMonthPanel.vue.js +1 -2
  415. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -17
  416. package/dist/components/BbCalendar/CalendarYearPanel.vue.js +1 -2
  417. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +55 -57
  418. package/dist/components/BbCalendar/calendarHost.js +1 -2
  419. package/dist/components/BbCalendar/types.d.ts +110 -37
  420. package/dist/components/BbCalendar/types.js +54 -3
  421. package/dist/components/BbCalendar/useCalendarContext.js +1 -2
  422. package/dist/components/BbCalendar/useCalendarGrid.d.ts +133 -0
  423. package/dist/components/BbCalendar/useCalendarGrid.js +201 -204
  424. package/dist/components/BbCalendar/useDayGrid.d.ts +33 -11
  425. package/dist/components/BbCalendar/useDayGrid.js +169 -162
  426. package/dist/components/BbCalendar/useDayjsLocale.d.ts +6 -0
  427. package/dist/components/BbCalendar/useDayjsLocale.js +10 -4
  428. package/dist/components/BbCalendar/useToday.js +1 -2
  429. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +4 -2
  430. package/dist/components/BbCheckbox/BbCheckbox.vue.js +1 -2
  431. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +109 -116
  432. package/dist/components/BbCheckbox/types.d.ts +4 -2
  433. package/dist/components/BbCheckbox/types.js +3 -3
  434. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +345 -2
  435. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.js +1 -2
  436. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +126 -132
  437. package/dist/components/BbCheckboxGroup/types.d.ts +12 -6
  438. package/dist/components/BbCheckboxGroup/types.js +8 -9
  439. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +3 -1
  440. package/dist/components/BbCollapsible/BbCollapsible.vue.js +1 -2
  441. package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +9 -10
  442. package/dist/components/BbCollapsible/types.js +1 -2
  443. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +8 -5
  444. package/dist/components/BbColorInput/BbColorInput.vue.js +1 -2
  445. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +171 -151
  446. package/dist/components/BbColorInput/types.d.ts +28 -11
  447. package/dist/components/BbColorInput/types.js +18 -9
  448. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +7 -5
  449. package/dist/components/BbColorPalette/BbColorPalette.vue.js +1 -2
  450. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +212 -219
  451. package/dist/components/BbColorPalette/types.d.ts +12 -4
  452. package/dist/components/BbColorPalette/types.js +4 -3
  453. package/dist/components/BbConfirm/BbConfirm.vue.js +1 -2
  454. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +111 -100
  455. package/dist/components/BbConfirm/BbConfirmHost.js +9 -10
  456. package/dist/components/BbConfirm/BbConfirmPortal.vue.js +1 -2
  457. package/dist/components/BbConfirm/BbConfirmPortal.vue_vue_type_script_setup_true_lang.js +2 -3
  458. package/dist/components/BbConfirm/confirmEntry.js +1 -2
  459. package/dist/components/BbConfirm/types.d.ts +8 -4
  460. package/dist/components/BbConfirm/types.js +3 -3
  461. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +162 -41
  462. package/dist/components/BbDatePicker/BbDatePicker.vue.js +1 -2
  463. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +167 -219
  464. package/dist/components/BbDatePicker/types.d.ts +69 -25
  465. package/dist/components/BbDatePicker/types.js +6 -3
  466. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +395 -37
  467. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.js +1 -2
  468. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +485 -597
  469. package/dist/components/BbDatePickerInput/dateFieldLayout.js +1 -2
  470. package/dist/components/BbDatePickerInput/types.d.ts +92 -22
  471. package/dist/components/BbDatePickerInput/types.js +67 -7
  472. package/dist/components/BbDialog/BbDialog.vue.d.ts +7 -6
  473. package/dist/components/BbDialog/BbDialog.vue.js +1 -2
  474. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +233 -238
  475. package/dist/components/BbDialog/types.d.ts +12 -10
  476. package/dist/components/BbDialog/types.js +3 -3
  477. package/dist/components/BbDialog/useDialogStack.d.ts +2 -0
  478. package/dist/components/BbDialog/useDialogStack.js +7 -4
  479. package/dist/components/BbDropdown/AdaptiveDropdown.vue.js +1 -2
  480. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +58 -59
  481. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +8 -6
  482. package/dist/components/BbDropdown/BbDropdown.vue.js +1 -2
  483. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +306 -340
  484. package/dist/components/BbDropdown/BbDropdownGroup.vue.js +1 -2
  485. package/dist/components/BbDropdown/BbDropdownGroup.vue_vue_type_script_setup_true_lang.js +19 -22
  486. package/dist/components/BbDropdown/BbDropdownList.vue.js +1 -2
  487. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +340 -357
  488. package/dist/components/BbDropdown/DropdownPipelineResolver.vue.js +1 -2
  489. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +127 -127
  490. package/dist/components/BbDropdown/DropdownRow.vue.js +1 -2
  491. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +21 -22
  492. package/dist/components/BbDropdown/normalizeGroups.js +11 -12
  493. package/dist/components/BbDropdown/types.d.ts +25 -9
  494. package/dist/components/BbDropdown/types.js +28 -2
  495. package/dist/components/BbDropdown/useDropdownContext.js +2 -3
  496. package/dist/components/BbDropdown/useDropdownGroupRegistry.d.ts +1 -1
  497. package/dist/components/BbDropdown/useDropdownGroupRegistry.js +1 -2
  498. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +6 -4
  499. package/dist/components/BbDropdownButton/BbDropdownButton.vue.js +1 -2
  500. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +65 -68
  501. package/dist/components/BbDropdownButton/types.d.ts +16 -5
  502. package/dist/components/BbDropdownButton/types.js +17 -12
  503. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +65 -22
  504. package/dist/components/BbDropzone/BbDropzone.vue.js +1 -2
  505. package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +141 -150
  506. package/dist/components/BbDropzone/types.d.ts +19 -5
  507. package/dist/components/BbDropzone/types.js +8 -2
  508. package/dist/components/BbForm/BbForm.vue.d.ts +52 -4
  509. package/dist/components/BbForm/BbForm.vue.js +1 -2
  510. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +154 -159
  511. package/dist/components/BbForm/BbFormCustomField.js +2 -3
  512. package/dist/components/BbForm/bindFormField.js +2 -3
  513. package/dist/components/BbForm/formFields.js +1 -2
  514. package/dist/components/BbForm/formSchema.js +15 -53
  515. package/dist/components/BbHost/BbHost.vue.js +1 -2
  516. package/dist/components/BbHost/BbHost.vue_vue_type_script_setup_true_lang.js +20 -25
  517. package/dist/components/BbHost/BbHostOpening.js +12 -14
  518. package/dist/components/BbHoverCard/BbHoverCard.vue.d.ts +5 -4
  519. package/dist/components/BbHoverCard/BbHoverCard.vue.js +1 -2
  520. package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +160 -165
  521. package/dist/components/BbHoverCard/BbHoverCardPortal.vue.js +1 -2
  522. package/dist/components/BbHoverCard/BbHoverCardPortal.vue_vue_type_script_setup_true_lang.js +1 -2
  523. package/dist/components/BbHoverCard/hoverCardFocus.js +1 -2
  524. package/dist/components/BbHoverCard/types.js +1 -2
  525. package/dist/components/BbIcon/BbIcon.vue.d.ts +3 -1
  526. package/dist/components/BbIcon/BbIcon.vue.js +1 -2
  527. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +24 -25
  528. package/dist/components/BbIcon/iconCache.js +1 -2
  529. package/dist/components/BbIcon/types.js +1 -2
  530. package/dist/components/BbIndicator/BbIndicator.vue.d.ts +3 -1
  531. package/dist/components/BbIndicator/BbIndicator.vue.js +1 -2
  532. package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +9 -10
  533. package/dist/components/BbIndicator/types.js +1 -2
  534. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +6 -3
  535. package/dist/components/BbNumberInput/BbNumberInput.vue.js +1 -2
  536. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +336 -369
  537. package/dist/components/BbNumberInput/numberDisplay.js +1 -2
  538. package/dist/components/BbNumberInput/platform.js +1 -2
  539. package/dist/components/BbNumberInput/types.d.ts +29 -6
  540. package/dist/components/BbNumberInput/types.js +11 -10
  541. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +6 -5
  542. package/dist/components/BbOffCanvas/BbOffCanvas.vue.js +1 -2
  543. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +347 -373
  544. package/dist/components/BbOffCanvas/hostCloseLabel.js +1 -2
  545. package/dist/components/BbOffCanvas/sheetAttrs.d.ts +9 -0
  546. package/dist/components/BbOffCanvas/sheetAttrs.js +9 -0
  547. package/dist/components/BbOffCanvas/sheetSnap.js +3 -8
  548. package/dist/components/BbOffCanvas/types.d.ts +12 -10
  549. package/dist/components/BbOffCanvas/types.js +3 -3
  550. package/dist/components/BbOffCanvas/useOffCanvasStack.d.ts +2 -0
  551. package/dist/components/BbOffCanvas/useOffCanvasStack.js +8 -5
  552. package/dist/components/BbPagination/BbPagination.vue.d.ts +2 -1
  553. package/dist/components/BbPagination/BbPagination.vue.js +1 -2
  554. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +84 -85
  555. package/dist/components/BbPagination/paginationFit.js +0 -1
  556. package/dist/components/BbPagination/types.d.ts +17 -9
  557. package/dist/components/BbPagination/types.js +4 -3
  558. package/dist/components/BbPopover/BbPopover.vue.d.ts +5 -4
  559. package/dist/components/BbPopover/BbPopover.vue.js +1 -2
  560. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +139 -157
  561. package/dist/components/BbPopover/BbPopoverPortal.vue.js +1 -2
  562. package/dist/components/BbPopover/BbPopoverPortal.vue_vue_type_script_setup_true_lang.js +1 -2
  563. package/dist/components/BbPopover/types.js +1 -2
  564. package/dist/components/BbProgress/BbProgress.vue.d.ts +6 -1
  565. package/dist/components/BbProgress/BbProgress.vue.js +1 -2
  566. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +16 -17
  567. package/dist/components/BbProgress/types.js +1 -2
  568. package/dist/components/BbPtScope/BbPtScope.vue.js +1 -2
  569. package/dist/components/BbPtScope/BbPtScope.vue_vue_type_script_setup_true_lang.js +1 -2
  570. package/dist/components/BbRadio/BbRadio.vue.d.ts +4 -2
  571. package/dist/components/BbRadio/BbRadio.vue.js +1 -2
  572. package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +46 -50
  573. package/dist/components/BbRadio/types.d.ts +4 -2
  574. package/dist/components/BbRadio/types.js +3 -3
  575. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +299 -1
  576. package/dist/components/BbRadioGroup/BbRadioGroup.vue.js +1 -2
  577. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +178 -184
  578. package/dist/components/BbRadioGroup/types.d.ts +12 -6
  579. package/dist/components/BbRadioGroup/types.js +8 -9
  580. package/dist/components/BbRating/BbRating.vue.d.ts +4 -2
  581. package/dist/components/BbRating/BbRating.vue.js +1 -2
  582. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +143 -155
  583. package/dist/components/BbRating/types.d.ts +15 -5
  584. package/dist/components/BbRating/types.js +10 -3
  585. package/dist/components/BbSelect/BbSelect.vue.d.ts +553 -4
  586. package/dist/components/BbSelect/BbSelect.vue.js +1 -2
  587. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +173 -205
  588. package/dist/components/BbSelect/types.d.ts +41 -7
  589. package/dist/components/BbSelect/types.js +17 -2
  590. package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +103 -3
  591. package/dist/components/BbSelectPopover/BbSelectPopover.vue.js +1 -2
  592. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +571 -630
  593. package/dist/components/BbSelectPopover/knownItems.js +1 -2
  594. package/dist/components/BbSelectPopover/sheetChipAttrs.js +1 -2
  595. package/dist/components/BbSelectPopover/types.d.ts +29 -7
  596. package/dist/components/BbSelectPopover/types.js +9 -3
  597. package/dist/components/BbSlider/BbSlider.vue.d.ts +136 -33
  598. package/dist/components/BbSlider/BbSlider.vue.js +1 -2
  599. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +213 -235
  600. package/dist/components/BbSlider/types.d.ts +32 -7
  601. package/dist/components/BbSlider/types.js +10 -3
  602. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +3 -1
  603. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.js +1 -2
  604. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +14 -21
  605. package/dist/components/BbSmoothHeight/types.js +1 -2
  606. package/dist/components/BbSpinner/BbSpinner.vue.d.ts +3 -1
  607. package/dist/components/BbSpinner/BbSpinner.vue.js +1 -2
  608. package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +14 -15
  609. package/dist/components/BbSpinner/types.js +1 -2
  610. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +4 -2
  611. package/dist/components/BbSwitch/BbSwitch.vue.js +1 -2
  612. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +110 -117
  613. package/dist/components/BbSwitch/types.d.ts +21 -2
  614. package/dist/components/BbSwitch/types.js +8 -5
  615. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +145 -1
  616. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.js +1 -2
  617. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +155 -160
  618. package/dist/components/BbSwitchGroup/types.d.ts +11 -4
  619. package/dist/components/BbSwitchGroup/types.js +4 -5
  620. package/dist/components/BbTable/BbTable.vue.d.ts +5 -2
  621. package/dist/components/BbTable/BbTable.vue.js +1 -2
  622. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1143 -1301
  623. package/dist/components/BbTable/BbTableDataRow.js +1 -2
  624. package/dist/components/BbTable/BbTableEdgeRow.js +1 -2
  625. package/dist/components/BbTable/BbTableExpandRow.js +1 -2
  626. package/dist/components/BbTable/BbTableSelectToggle.js +17 -18
  627. package/dist/components/BbTable/gridWidgets.js +2 -7
  628. package/dist/components/BbTable/measuredFloors.js +67 -65
  629. package/dist/components/BbTable/textRuler.d.ts +3 -1
  630. package/dist/components/BbTable/textRuler.js +40 -39
  631. package/dist/components/BbTable/types.d.ts +54 -9
  632. package/dist/components/BbTable/types.js +45 -3
  633. package/dist/components/BbTable/useRowReorder.js +179 -203
  634. package/dist/components/BbTable/utils.d.ts +9 -2
  635. package/dist/components/BbTable/utils.js +66 -72
  636. package/dist/components/BbTabs/BbTabs.vue.d.ts +103 -2
  637. package/dist/components/BbTabs/BbTabs.vue.js +1 -2
  638. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +26 -30
  639. package/dist/components/BbTabs/BbTabsList.vue.d.ts +11 -1
  640. package/dist/components/BbTabs/BbTabsList.vue.js +1 -2
  641. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +112 -107
  642. package/dist/components/BbTabs/BbTabsPanels.vue.d.ts +9 -1
  643. package/dist/components/BbTabs/BbTabsPanels.vue.js +1 -2
  644. package/dist/components/BbTabs/BbTabsPanels.vue_vue_type_script_setup_true_lang.js +22 -22
  645. package/dist/components/BbTabs/BbTabsRoot.vue.js +1 -2
  646. package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +6 -7
  647. package/dist/components/BbTabs/tablistName.js +1 -2
  648. package/dist/components/BbTabs/types.d.ts +71 -33
  649. package/dist/components/BbTabs/types.js +11 -3
  650. package/dist/components/BbTag/BbTag.vue.d.ts +5 -2
  651. package/dist/components/BbTag/BbTag.vue.js +1 -2
  652. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +218 -243
  653. package/dist/components/BbTag/types.d.ts +22 -12
  654. package/dist/components/BbTag/types.js +19 -9
  655. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +209 -2
  656. package/dist/components/BbTextInput/BbTextInput.vue.js +1 -2
  657. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +136 -142
  658. package/dist/components/BbTextInput/types.d.ts +17 -5
  659. package/dist/components/BbTextInput/types.js +22 -12
  660. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +207 -2
  661. package/dist/components/BbTextarea/BbTextarea.vue.js +1 -2
  662. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +142 -144
  663. package/dist/components/BbTextarea/types.d.ts +17 -5
  664. package/dist/components/BbTextarea/types.js +22 -12
  665. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +84 -38
  666. package/dist/components/BbTimePicker/BbTimePicker.vue.js +1 -2
  667. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +166 -171
  668. package/dist/components/BbTimePicker/types.d.ts +31 -7
  669. package/dist/components/BbTimePicker/types.js +4 -3
  670. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +272 -33
  671. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.js +1 -2
  672. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +295 -327
  673. package/dist/components/BbTimePickerInput/types.d.ts +45 -9
  674. package/dist/components/BbTimePickerInput/types.js +17 -7
  675. package/dist/components/BbToast/BbToast.vue.js +1 -2
  676. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +12 -17
  677. package/dist/components/BbToast/BbToastMessage.vue.js +1 -2
  678. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +72 -74
  679. package/dist/components/BbToast/BbToastPortal.vue.js +1 -2
  680. package/dist/components/BbToast/BbToastPortal.vue_vue_type_script_setup_true_lang.js +2 -3
  681. package/dist/components/BbToast/BbToastRegion.vue.js +1 -2
  682. package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +27 -28
  683. package/dist/components/BbToast/types.d.ts +17 -5
  684. package/dist/components/BbToast/types.js +12 -13
  685. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +3 -2
  686. package/dist/components/BbTooltip/BbTooltip.vue.js +1 -2
  687. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +69 -70
  688. package/dist/components/BbTooltip/tooltipWarmup.js +0 -1
  689. package/dist/components/BbTooltip/types.js +1 -2
  690. package/dist/components/BbTree/BbTree.vue.d.ts +2 -3
  691. package/dist/components/BbTree/BbTree.vue.js +1 -2
  692. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +28 -27
  693. package/dist/components/BbTree/BbTreeLevel.vue.js +1 -2
  694. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +12 -20
  695. package/dist/components/BbTree/context.js +1 -2
  696. package/dist/components/BbTree/types.d.ts +13 -3
  697. package/dist/components/BbTree/types.js +4 -3
  698. package/dist/components/ChipsBox/ChipsBox.vue.js +1 -2
  699. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +24 -26
  700. package/dist/components/ClearableButton/ClearableButton.vue.d.ts +3 -1
  701. package/dist/components/ClearableButton/ClearableButton.vue.js +1 -2
  702. package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +1 -2
  703. package/dist/components/CloseIcon/CloseButton.vue.d.ts +3 -1
  704. package/dist/components/CloseIcon/CloseButton.vue.js +2 -3
  705. package/dist/components/CloseIcon/CloseButton.vue_vue_type_script_setup_true_lang.js +3 -4
  706. package/dist/components/CommaBox/CommaBox.vue.js +1 -2
  707. package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +20 -22
  708. package/dist/components/CommonField/CommonField.vue.d.ts +3 -1
  709. package/dist/components/CommonField/CommonField.vue.js +1 -2
  710. package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +78 -73
  711. package/dist/components/CommonField/types.d.ts +2 -2
  712. package/dist/components/CommonFieldInput/CommonFieldInput.vue.d.ts +5 -3
  713. package/dist/components/CommonFieldInput/CommonFieldInput.vue.js +1 -2
  714. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +20 -21
  715. package/dist/components/CommonPopover/CommonPopover.vue.d.ts +5 -4
  716. package/dist/components/CommonPopover/CommonPopover.vue.js +1 -2
  717. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +90 -89
  718. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue.js +1 -2
  719. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +29 -38
  720. package/dist/components/CommonTimeSelector/useMeridiem.js +1 -2
  721. package/dist/components/ErrorIcon/ErrorIcon.vue.d.ts +3 -1
  722. package/dist/components/ErrorIcon/ErrorIcon.vue.js +1 -2
  723. package/dist/components/ErrorIcon/ErrorIcon.vue_vue_type_script_setup_true_lang.js +1 -2
  724. package/dist/components/FlatListBox/FlatListBox.vue.js +1 -2
  725. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +87 -94
  726. package/dist/components/FlatListBox/types.d.ts +1 -1
  727. package/dist/components/GroupedListBox/GroupedListBox.vue.js +1 -2
  728. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +55 -62
  729. package/dist/components/GroupedListBox/types.d.ts +1 -1
  730. package/dist/components/ListBox/ListBox.vue.d.ts +1 -1
  731. package/dist/components/ListBox/ListBox.vue.js +1 -2
  732. package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +21 -22
  733. package/dist/components/ListBox/types.d.ts +1 -1
  734. package/dist/components/OptionsContainer/OptionsContainer.vue.d.ts +1 -1
  735. package/dist/components/OptionsContainer/OptionsContainer.vue.js +1 -2
  736. package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +23 -27
  737. package/dist/components/OptionsContainer/types.d.ts +1 -1
  738. package/dist/components/Transitions/ScaleFade.vue.js +1 -2
  739. package/dist/components/Transitions/ScaleFade.vue_vue_type_script_setup_true_lang.js +1 -2
  740. package/dist/components/Transitions/Slide.vue.d.ts +1 -1
  741. package/dist/components/Transitions/Slide.vue.js +4 -5
  742. package/dist/components/Transitions/Slide.vue_vue_type_script_setup_true_lang.js +4 -5
  743. package/dist/components/WarningIcon/WarningIcon.vue.d.ts +3 -1
  744. package/dist/components/WarningIcon/WarningIcon.vue.js +1 -2
  745. package/dist/components/WarningIcon/WarningIcon.vue_vue_type_script_setup_true_lang.js +1 -2
  746. package/dist/composables/autoHost.d.ts +22 -0
  747. package/dist/composables/autoHost.js +19 -0
  748. package/dist/composables/formSubmitLock.js +1 -2
  749. package/dist/composables/hostOpenings.d.ts +3 -3
  750. package/dist/composables/hostOpenings.js +7 -12
  751. package/dist/composables/hostRegistry.d.ts +10 -2
  752. package/dist/composables/hostRegistry.js +6 -5
  753. package/dist/composables/overlayRegistry.d.ts +1 -1
  754. package/dist/composables/overlayRegistry.js +4 -5
  755. package/dist/composables/ssrMarker.js +1 -2
  756. package/dist/composables/useActiveInactiveState.js +1 -2
  757. package/dist/composables/useArray.js +1 -2
  758. package/dist/composables/useBaseOptions.js +19 -20
  759. package/dist/composables/useBbConfig.js +1 -2
  760. package/dist/composables/{useBbDialogContext.d.ts → useBbDialog.d.ts} +9 -9
  761. package/dist/composables/{useBbDialogContext.js → useBbDialog.js} +19 -23
  762. package/dist/composables/{useBbDropdownContext.d.ts → useBbDropdown.d.ts} +14 -14
  763. package/dist/composables/{useBbDropdownContext.js → useBbDropdown.js} +4 -5
  764. package/dist/composables/{useBbFormContext.d.ts → useBbForm.d.ts} +8 -8
  765. package/dist/composables/{useBbFormContext.js → useBbForm.js} +8 -12
  766. package/dist/composables/useBbFormField.js +1 -2
  767. package/dist/composables/useBbOffCanvas.d.ts +23 -0
  768. package/dist/composables/useBbOffCanvas.js +7 -0
  769. package/dist/composables/{useBbTableContext.d.ts → useBbTable.d.ts} +29 -29
  770. package/dist/composables/{useBbTableContext.js → useBbTable.js} +3 -4
  771. package/dist/composables/{useBbTabsContext.d.ts → useBbTabs.d.ts} +19 -3
  772. package/dist/composables/useBbTabs.js +254 -0
  773. package/dist/composables/useBodyScrollLock.js +1 -2
  774. package/dist/composables/useBreakpoint.js +1 -2
  775. package/dist/composables/useCancelableFunction.js +1 -2
  776. package/dist/composables/useCharacterCounter.js +2 -3
  777. package/dist/composables/useChoiceIndicator.js +4 -9
  778. package/dist/composables/useClosingInert.js +3 -8
  779. package/dist/composables/useCoarsePointer.js +1 -2
  780. package/dist/composables/useCoherence.js +1 -2
  781. package/dist/composables/useConfig.js +1 -2
  782. package/dist/composables/useConfirm.d.ts +28 -31
  783. package/dist/composables/useConfirm.js +8 -9
  784. package/dist/composables/useCountdown.js +6 -7
  785. package/dist/composables/useEscapeStackEntry.js +1 -2
  786. package/dist/composables/useFormBinding.js +6 -9
  787. package/dist/composables/useFrameworkDetection.js +1 -2
  788. package/dist/composables/useHashedWatcher.js +1 -2
  789. package/dist/composables/useHydrated.js +1 -2
  790. package/dist/composables/useId.js +1 -2
  791. package/dist/composables/useImeDismissBlur.js +2 -7
  792. package/dist/composables/useIndexById.js +1 -2
  793. package/dist/composables/useInertiaPage.js +1 -2
  794. package/dist/composables/useItemText.js +3 -3
  795. package/dist/composables/useItemValue.js +1 -2
  796. package/dist/composables/useItemsGetter.js +12 -19
  797. package/dist/composables/useKeyboardInset.js +0 -1
  798. package/dist/composables/useListboxFocus.js +1 -2
  799. package/dist/composables/useLocale.js +7 -8
  800. package/dist/composables/useLogger.js +1 -2
  801. package/dist/composables/useMobile.js +1 -2
  802. package/dist/composables/useOnDemandOpener.d.ts +4 -4
  803. package/dist/composables/useOnDemandOpener.js +12 -13
  804. package/dist/composables/useOnFalsy.js +1 -2
  805. package/dist/composables/useOnTruthy.js +1 -2
  806. package/dist/composables/useOverlayNavigation.js +6 -11
  807. package/dist/composables/useOverlayYield.js +1 -2
  808. package/dist/composables/usePassthrough.js +207 -123
  809. package/dist/composables/usePrefill.js +11 -16
  810. package/dist/composables/useQuery.js +9 -22
  811. package/dist/composables/useRefusedCloseAnnouncement.js +1 -2
  812. package/dist/composables/useRoute.js +1 -2
  813. package/dist/composables/useRouter.js +1 -2
  814. package/dist/composables/useSafeArea.js +10 -11
  815. package/dist/composables/useSafeAreaInternal.js +4 -5
  816. package/dist/composables/useSegmentedFields.js +5 -17
  817. package/dist/composables/useServerPrefetch.js +1 -2
  818. package/dist/composables/useSheetSurface.js +1 -2
  819. package/dist/composables/useSsrState.js +1 -2
  820. package/dist/composables/useTableWidthContext.js +2 -3
  821. package/dist/composables/useToast.d.ts +4 -5
  822. package/dist/composables/useToast.js +4 -5
  823. package/dist/composables/useToggleInput.js +1 -2
  824. package/dist/composables/useTopLayer.js +1 -2
  825. package/dist/composables/useTypeahead.js +0 -1
  826. package/dist/composables/useUntil.js +1 -2
  827. package/dist/composables/useUrlQueryParam.d.ts +1 -1
  828. package/dist/composables/useUrlQueryParam.js +1 -2
  829. package/dist/composables/useViewportWidth.js +2 -3
  830. package/dist/deprecation/ai-deprecations.json.js +1 -2
  831. package/dist/deprecation/removedProps.js +1 -2
  832. package/dist/directives/bbColor.js +7 -8
  833. package/dist/directives/bbDate.js +7 -8
  834. package/dist/directives/bbDialog.d.ts +1 -1
  835. package/dist/directives/bbDialog.js +1 -2
  836. package/dist/directives/bbDropdown.js +14 -15
  837. package/dist/directives/bbHoverCard.js +8 -9
  838. package/dist/directives/bbOffCanvas.d.ts +1 -1
  839. package/dist/directives/bbOffCanvas.js +1 -2
  840. package/dist/directives/bbPopover.js +12 -13
  841. package/dist/directives/bbTime.js +7 -8
  842. package/dist/directives/bbTooltip.js +1 -2
  843. package/dist/directives/createPopoverDirective.js +6 -17
  844. package/dist/directives/directivePortal.js +1 -2
  845. package/dist/directives/overlayTrigger.js +20 -21
  846. package/dist/directives/renderingInstance.js +4 -8
  847. package/dist/i18n/locales/cs.json +8 -1
  848. package/dist/i18n/locales/da.json +8 -1
  849. package/dist/i18n/locales/de-CH.json +8 -1
  850. package/dist/i18n/locales/de.json +8 -1
  851. package/dist/i18n/locales/el.json +8 -1
  852. package/dist/i18n/locales/en-GB.json +8 -1
  853. package/dist/i18n/locales/en.json +8 -1
  854. package/dist/i18n/locales/es-MX.json +8 -1
  855. package/dist/i18n/locales/es.json +8 -1
  856. package/dist/i18n/locales/fi.json +8 -1
  857. package/dist/i18n/locales/fr.json +8 -1
  858. package/dist/i18n/locales/hu.json +8 -1
  859. package/dist/i18n/locales/it.json +8 -1
  860. package/dist/i18n/locales/ja.json +8 -1
  861. package/dist/i18n/locales/ko.json +8 -1
  862. package/dist/i18n/locales/nb.json +8 -1
  863. package/dist/i18n/locales/nl.json +8 -1
  864. package/dist/i18n/locales/pl.json +8 -1
  865. package/dist/i18n/locales/pt-BR.json +8 -1
  866. package/dist/i18n/locales/pt-PT.json +8 -1
  867. package/dist/i18n/locales/ro.json +8 -1
  868. package/dist/i18n/locales/ru.json +8 -1
  869. package/dist/i18n/locales/sv.json +8 -1
  870. package/dist/i18n/locales/tr.json +8 -1
  871. package/dist/i18n/locales/uk.json +8 -1
  872. package/dist/i18n/locales/zh-CN.json +8 -1
  873. package/dist/i18n/locales/zh-HK.json +8 -1
  874. package/dist/i18n/locales/zh-TW.json +8 -1
  875. package/dist/i18n/regionHints.js +1 -2
  876. package/dist/i18n/regions.js +1 -2
  877. package/dist/icon-scan.js +6 -11
  878. package/dist/index.d.ts +15 -15
  879. package/dist/index.js +88 -88
  880. package/dist/llms-full.txt +4886 -2972
  881. package/dist/llms-medium.txt +170 -112
  882. package/dist/llms.txt +12 -12
  883. package/dist/locale-blueprint.json +8 -1
  884. package/dist/nuxt-auto-imports.js +7 -8
  885. package/dist/nuxt.js +21 -22
  886. package/dist/passthrough-deduper.js +1 -2
  887. package/dist/plugin.js +24 -23
  888. package/dist/project-dts.js +1 -2
  889. package/dist/runtime/nuxt-plugin.js +39 -38
  890. package/dist/styles.css +2 -2
  891. package/dist/types/AlertVariant.js +1 -2
  892. package/dist/types/BadgeVariant.js +1 -2
  893. package/dist/types/ButtonVariant.js +1 -2
  894. package/dist/types/CheckboxVariant.js +1 -2
  895. package/dist/types/ConfirmVariant.js +1 -2
  896. package/dist/types/DatePickerType.d.ts +10 -5
  897. package/dist/types/DatePickerType.js +3 -4
  898. package/dist/types/DropdownItemVariant.js +1 -2
  899. package/dist/types/FieldLayout.js +1 -2
  900. package/dist/types/IndicatorVariant.js +1 -2
  901. package/dist/types/InputVariant.js +1 -2
  902. package/dist/types/RadioVariant.js +1 -2
  903. package/dist/types/ShapeErased.d.ts +15 -0
  904. package/dist/types/TabsVariant.js +1 -2
  905. package/dist/types/ToastVariant.js +1 -2
  906. package/dist/types/TooltipVariant.js +1 -2
  907. package/dist/types/fallthrough.d.ts +134 -0
  908. package/dist/types/passthrough.d.ts +112 -2
  909. package/dist/types/passthrough.js +19 -13
  910. package/dist/types/ptComponentMap.d.ts +31 -31
  911. package/dist/utilities/functions/animationsSettled.js +1 -2
  912. package/dist/utilities/functions/bytesToUnit.js +1 -2
  913. package/dist/utilities/functions/chunk.js +1 -2
  914. package/dist/utilities/functions/clamp.js +1 -2
  915. package/dist/utilities/functions/clampPrecision.js +1 -2
  916. package/dist/utilities/functions/convertDateValue.d.ts +5 -2
  917. package/dist/utilities/functions/convertDateValue.js +19 -13
  918. package/dist/utilities/functions/curry.js +1 -2
  919. package/dist/utilities/functions/deburr.js +1 -2
  920. package/dist/utilities/functions/elementLabel.js +1 -2
  921. package/dist/utilities/functions/empty.js +1 -2
  922. package/dist/utilities/functions/extractDomContainer.js +1 -2
  923. package/dist/utilities/functions/findInTree.js +1 -2
  924. package/dist/utilities/functions/flattenTree.js +1 -2
  925. package/dist/utilities/functions/get.js +1 -2
  926. package/dist/utilities/functions/hasVnodeListener.js +1 -2
  927. package/dist/utilities/functions/hash.js +1 -2
  928. package/dist/utilities/functions/head.js +1 -2
  929. package/dist/utilities/functions/identity.js +1 -2
  930. package/dist/utilities/functions/indexBy.js +1 -2
  931. package/dist/utilities/functions/isDateDisabled.js +23 -19
  932. package/dist/utilities/functions/isEqual.js +1 -2
  933. package/dist/utilities/functions/isHex.js +1 -2
  934. package/dist/utilities/functions/isImeComposing.js +1 -2
  935. package/dist/utilities/functions/isNil.js +1 -2
  936. package/dist/utilities/functions/isNotEmpty.js +1 -2
  937. package/dist/utilities/functions/isNotNil.js +1 -2
  938. package/dist/utilities/functions/isTextEntry.js +1 -2
  939. package/dist/utilities/functions/isoWeek.d.ts +36 -0
  940. package/dist/utilities/functions/isoWeek.js +21 -0
  941. package/dist/utilities/functions/itemProps.js +1 -2
  942. package/dist/utilities/functions/last.js +1 -2
  943. package/dist/utilities/functions/matchAnyKey.js +1 -2
  944. package/dist/utilities/functions/noop.js +1 -2
  945. package/dist/utilities/functions/normalizeDateBound.d.ts +11 -5
  946. package/dist/utilities/functions/normalizeDateBound.js +6 -5
  947. package/dist/utilities/functions/parsePaginationNumber.js +1 -2
  948. package/dist/utilities/functions/parseSize.js +1 -2
  949. package/dist/utilities/functions/parseWidthString.js +1 -2
  950. package/dist/utilities/functions/percentage.js +1 -2
  951. package/dist/utilities/functions/pickBy.js +1 -2
  952. package/dist/utilities/functions/range.js +1 -2
  953. package/dist/utilities/functions/readableValue.js +1 -2
  954. package/dist/utilities/functions/reject.js +1 -2
  955. package/dist/utilities/functions/resolveEnumProp.js +1 -2
  956. package/dist/utilities/functions/responsiveDefault.js +1 -2
  957. package/dist/utilities/functions/settlesVisible.js +1 -2
  958. package/dist/utilities/functions/slotKey.js +1 -2
  959. package/dist/utilities/functions/snapToStep.js +1 -2
  960. package/dist/utilities/functions/sort.js +1 -2
  961. package/dist/utilities/functions/throttle.js +1 -2
  962. package/dist/utilities/functions/toggleInput.js +1 -2
  963. package/dist/utilities/functions/transpose.js +1 -2
  964. package/dist/utilities/functions/validateDateFormat.js +1 -2
  965. package/dist/utilities/functions/wait.js +1 -2
  966. package/dist/utilities/functions/waitFor.js +2 -7
  967. package/dist/utilities/functions/warnRemovedAttrs.js +2 -5
  968. package/dist/utilities/functions/when.js +1 -2
  969. package/dist/utilities/misc/autofocus.js +1 -2
  970. package/dist/utilities/misc/iconsInjectionKey.js +1 -2
  971. package/dist/utilities/misc/listboxMetrics.js +1 -2
  972. package/dist/utilities/misc/maskaDataOptions.d.ts +12 -0
  973. package/dist/utilities/misc/maskaDataOptions.js +36 -0
  974. package/dist/utilities/misc/pageText.d.ts +16 -0
  975. package/dist/utilities/misc/pageText.js +10 -0
  976. package/dist/utilities/misc/ssrStateInjectionKey.js +1 -2
  977. package/dist/utilities/misc/ssrValue.js +1 -2
  978. package/dist/utilities/misc/transitions.js +1 -2
  979. package/dist/utils/copyData.js +1 -2
  980. package/dist/utils/cssLayers.js +1 -2
  981. package/dist/utils/focusVisibility.js +1 -2
  982. package/dist/utils/injectLibraryStyles.js +3 -12
  983. package/dist/utils/overlayEscapeStack.js +1 -2
  984. package/dist/utils/overlaySurfaceIsolation.js +1 -2
  985. package/dist/utils/passthrough.js +2 -3
  986. package/dist/utils/ptScope.js +1 -2
  987. package/dist/utils/versionCheck.js +2 -3
  988. package/dist/vite-plugin.d.ts +1 -1
  989. package/dist/vite.js +364 -437
  990. package/llms.txt +12 -12
  991. package/package.json +14 -10
  992. package/scripts/lib/adoption-checklist.json +3 -2
  993. package/scripts/lib/check-queue.mjs +102 -0
  994. package/scripts/lib/consumer-install.mjs +64 -0
  995. package/scripts/lib/css-class-surface.mjs +39 -3
  996. package/scripts/lib/css-comment-text.mjs +16 -0
  997. package/scripts/lib/eslint-disable.mjs +9 -1
  998. package/scripts/lib/eslint-plugin.d.ts +7 -1
  999. package/scripts/lib/eslint-plugin.mjs +286 -7
  1000. package/scripts/lib/form-v-model.mjs +2 -2
  1001. package/scripts/lib/helper-canon.mjs +34 -2
  1002. package/scripts/lib/helpers-add.mjs +80 -13
  1003. package/scripts/lib/hidden-label-placeholder.mjs +151 -0
  1004. package/scripts/lib/html-attributes.mjs +82 -0
  1005. package/scripts/lib/idiom-scan.mjs +175 -2
  1006. package/scripts/lib/mcp-config.mjs +1 -1
  1007. package/scripts/lib/pack.mjs +55 -0
  1008. package/scripts/lib/portal-names.mjs +3 -3
  1009. package/scripts/lib/prefer-v-bb-dialog.mjs +1 -1
  1010. package/scripts/lib/quiet-gate.mjs +385 -0
  1011. package/scripts/lib/reactive-v-model.mjs +11 -5
  1012. package/scripts/lib/tab-links.mjs +209 -0
  1013. package/scripts/lib/token-color-mix.mjs +114 -0
  1014. package/scripts/lib/toolchain-check.mjs +34 -3
  1015. package/scripts/lib/unstyled-variants.mjs +57 -0
  1016. package/scripts/lib/validate-bb-markup.mjs +149 -4
  1017. package/dist/composables/useBbOffCanvasContext.d.ts +0 -23
  1018. package/dist/composables/useBbOffCanvasContext.js +0 -8
  1019. package/dist/composables/useBbTabsContext.js +0 -252
@@ -1179,8 +1179,7 @@ onBeforeUnmount(() => controller?.abort());
1179
1179
  </style>
1180
1180
  ```
1181
1181
 
1182
- `useToast` needs `<BbHost />` mounted once in your app layout — without it,
1183
- toasts are enqueued but never shown. This demo fakes the transfer with a timer;
1182
+ `useToast` renders in the plugin's `<BbHost />`; nothing to mount. This demo fakes the transfer with a timer;
1184
1183
  the wiring is identical against real `XHR`/`fetch` progress events. **Abort and
1185
1184
  retry live in your request layer, not in `BbDropzone`** — the component has no
1186
1185
  cancel/retry API. Use an `AbortController` for cancellation and re-issue the
@@ -1672,7 +1671,7 @@ button, grows with every file added, and changes mid-drag. So:
1672
1671
  | `maxFiles` | `number \| undefined` | | | Maximum number of acceptable files. |
1673
1672
  | `maxSize` | `number \| undefined` | | | Max size of the files in bytes. |
1674
1673
  | `modelValue` | `File \| File[] \| null \| undefined` | | | Used by v-model. |
1675
- | `multiple` | `boolean \| undefined` | `false` | | Allows the selection of multiple items. |
1674
+ | `multiple` | `boolean` | `false` | | Allows the selection of multiple items. |
1676
1675
  | `name` | `string \| undefined` | | | Defines the name of the input. |
1677
1676
  | `readonly` | `boolean \| undefined` | `false` | | Shows the files; the user cannot change them: drop, the file picker and the `open()` slot prop do nothing, yet the input stays focusable and a `name`d zone still submits its files (unlike `disabled`). Your slot renders the list: hide your remove buttons with the slot's `readonly`. |
1678
1677
  | `rules` | `RuleExpression<File \| File[] \| null>` | | | vee-validate rules for this field. Only inside a `BbForm`. |
package/dist/ai/BbForm.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Safety level: **Consumer API**
6
6
  - Group: **Inputs**
7
- - Description: Form host for the form controls inside it: owns the vee-validate form (useForm), validates every field on submit, and emits `submit` with the collected values only when the form is valid. `schema` takes any Standard Schema (Zod, Valibot, ArkType, Yup) as it is; a failed submit focuses the first invalid field on screen and emits `invalid`. Server errors (a 422): `setErrors(errors)` from the slot or `useBbFormContext(id)` puts each on its field.
7
+ - Description: Form host for the form controls inside it: owns the vee-validate form (useForm), validates every field on submit, and emits `submit` with the collected values only when the form is valid. `schema` takes any Standard Schema (Zod, Valibot, ArkType, Yup) as it is; a failed submit focuses the first invalid field on screen and emits `invalid`. Server errors (a 422): `setErrors(errors)` from the slot or `useBbForm(id)` puts each on its field.
8
8
  - Usage rule: Prefer this component for consumer-facing implementations.
9
9
  - Implementation source (only when the contract below is not enough): [source/BbForm.md](./source/BbForm.md)
10
10
 
@@ -83,7 +83,7 @@ submitted, counts toward `dirty`, is reset and is validated if it has rules.
83
83
  Describe the whole form once, in the schema library you already use, and hand
84
84
  it to the `schema` prop. There is no adapter to import and no extra package
85
85
  to install: any [Standard Schema](https://standardschema.dev) works, which
86
- covers Zod 3.24+ and 4, Valibot 1, ArkType 2 and Yup 1.7+.
86
+ covers Zod 4, Valibot 1, ArkType 2 and Yup 1.7+.
87
87
 
88
88
  **Sign-up form with a Zod schema**
89
89
 
@@ -134,7 +134,7 @@ import {
134
134
  BbCheckbox,
135
135
  BbForm,
136
136
  BbTextInput,
137
- useBbFormContext,
137
+ useBbForm,
138
138
  } from 'bitboss-ui';
139
139
 
140
140
  const fields = z.object({
@@ -158,7 +158,7 @@ const signup = fields.refine((form) => form.password === form.confirm, {
158
158
  .success,
159
159
  });
160
160
 
161
- const form = useBbFormContext('signup');
161
+ const form = useBbForm('signup');
162
162
  const created = ref<z.output<typeof signup> | null>(null);
163
163
 
164
164
  // Typed from the schema: `values` is its OUTPUT, transforms applied.
@@ -179,7 +179,10 @@ What you get from the one prop:
179
179
 
180
180
  - **Each message lands on its field.** A field's `name` is its path in the
181
181
  schema: `name="email"`, `name="address.city"` or `name="address[city]"`,
182
- `name="lines[0][qty]"` (brackets read as dots). A field with no `name` is
182
+ `name="lines[0][qty]"` (brackets read as dots; a dot always nests, so a data
183
+ key that contains one, a permission name like `users.create`, cannot be a
184
+ field name: hold such keys as values, one `BbCheckboxGroup` per group whose
185
+ item `value` is the name, `name="permissions.0"`). A field with no `name` is
183
186
  named after its label, `Full name` → `fullname`, so schema-driven forms set
184
187
  `name` on every field. A cross-field rule
185
188
  reaches the right field through its `path` (`path: ['confirm']` above);
@@ -399,14 +402,14 @@ value. Give it a `name` (its path) and read the value where you need it:
399
402
 
400
403
  - **`@submit`** gets every value (the schema's output, with a `schema`).
401
404
  - **The default slot's `values`**, for chrome inside the form.
402
- - **`useBbFormContext(id).values`**, from anywhere else on the page.
405
+ - **`useBbForm(id).values`**, from anywhere else on the page.
403
406
 
404
407
  ```vue
405
408
  <script setup lang="ts">
406
409
  import { computed } from 'vue';
407
- import { BbButton, BbForm, BbTextInput, useBbFormContext } from 'bitboss-ui';
410
+ import { BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
408
411
 
409
- const form = useBbFormContext('invite');
412
+ const form = useBbForm('invite');
410
413
  const who = computed(() => form.values.value.email ?? 'nobody yet');
411
414
 
412
415
  const send = async (values: Record<string, unknown>) => {
@@ -430,7 +433,7 @@ it on some fields and not others: each bound ref is a two-way window into that
430
433
  one value, and `resetForm()` puts it back too.
431
434
 
432
435
  Only `@submit` (with a `schema`) and a bound `v-model` ref are typed. The
433
- slot's `values` is untyped and `useBbFormContext(id).values` holds `unknown`
436
+ slot's `values` is untyped and `useBbForm(id).values` holds `unknown`
434
437
  entries, so narrow what you read there
435
438
  (`form.values.value.role as Invite['role'] | undefined`).
436
439
 
@@ -487,10 +490,13 @@ async function save(submitted: Record<string, unknown>) {
487
490
  leaves for good takes its key with it; with it, the key stays.
488
491
  - **No event.** The form emits nothing when it writes: the object IS the
489
492
  state. Watch it with `{ deep: true }` (its contents change, not its
490
- reference), or read `useBbFormContext(id).values`. A deep watch also runs
493
+ reference), or read `useBbForm(id).values`. A deep watch also runs
491
494
  when your own code sets a key, which the form cannot tell apart.
492
495
  - **Replace it to rebind.** Give the prop another object (`values.value =
493
496
  loaded` on a `ref`, a new object from the parent) and the fields follow it.
497
+ The values the form STARTED with stay its baseline: a record that arrives
498
+ after mount reads as unsaved until you call
499
+ [`snapshot(loaded)`](#loading-an-edit-form).
494
500
  - **A prop works too.** `<BbForm :model="props.user">` fills the parent's
495
501
  object in place, with no readonly warning; a writable `computed` does not
496
502
  (the form writes into what the getter returns and never calls the setter).
@@ -1051,10 +1057,10 @@ re-renders, so the watcher's timing does not matter:
1051
1057
  ```vue
1052
1058
  <script setup lang="ts">
1053
1059
  import { ref, watch } from 'vue';
1054
- import { BbCheckbox, BbForm, BbTextInput, useBbFormContext } from 'bitboss-ui';
1060
+ import { BbCheckbox, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
1055
1061
 
1056
1062
  const signup = ref({ business: false });
1057
- const form = useBbFormContext('signup');
1063
+ const form = useBbForm('signup');
1058
1064
 
1059
1065
  watch(
1060
1066
  () => signup.value.business,
@@ -1139,7 +1145,7 @@ While it runs:
1139
1145
  A submit button outside the form that points at it (a dialog footer's
1140
1146
  `form="…"`) follows the same rule, with no `:loading` to bind
1141
1147
  (`disable-auto-loading` opts out). A submit from code
1142
- (`useBbFormContext(id).submit()`) spins no submit button: the button whose
1148
+ (`useBbForm(id).submit()`) spins no submit button: the button whose
1143
1149
  click calls it spins on its own, since its click returns the promise.
1144
1150
  - **A `BbDialog` / `BbOffCanvas` around the form refuses every user close**
1145
1151
  (the ✕, Cancel's `close()`, `Escape`, the backdrop, a swipe) until the save
@@ -1155,7 +1161,7 @@ While it runs:
1155
1161
  button (the HTML rule: there is no other way to choose it). So the primary
1156
1162
  action is the form's only `type="submit"` button, and a secondary action
1157
1163
  ("Save & new") is a plain button whose click calls `submit()`.
1158
- `useBbFormContext(id).submit()` resolves `true` once the save went through and
1164
+ `useBbForm(id).submit()` resolves `true` once the save went through and
1159
1165
  `false` when the form is invalid or the save failed, so the secondary action
1160
1166
  continues only after a save:
1161
1167
 
@@ -1181,11 +1187,11 @@ continues only after a save:
1181
1187
  <script setup lang="ts">
1182
1188
  import { ref } from 'vue';
1183
1189
  import { z } from 'zod';
1184
- import { BbButton, BbForm, BbTextInput, useBbFormContext } from 'bitboss-ui';
1190
+ import { BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
1185
1191
 
1186
1192
  const schema = z.object({ title: z.string().min(1, 'Name the task') });
1187
1193
  const saved = ref<string[]>([]);
1188
- const form = useBbFormContext('new-task');
1194
+ const form = useBbForm('new-task');
1189
1195
 
1190
1196
  // Your API call.
1191
1197
  const save = async (values: Record<string, unknown>) => {
@@ -1218,7 +1224,7 @@ element, so tell them apart by an attribute you put on it:
1218
1224
  A synchronous handler never locks. A handler that throws or rejects still ends
1219
1225
  the save (nothing spins forever), and the error goes to
1220
1226
  `app.config.errorHandler`, where Vue sends any other event-handler failure.
1221
- `isSubmitting` (slot) and `submitting` (`useBbFormContext`) follow the same
1227
+ `isSubmitting` (slot) and `submitting` (`useBbForm`) follow the same
1222
1228
  save, for anything else you show meanwhile.
1223
1229
 
1224
1230
  To keep the fields editable during the save, set `disable-submit-lock` on the
@@ -1237,7 +1243,7 @@ those instead (`snapshot(saved)`: merged over the current ones, arrays
1237
1243
  replace). `reset()` then goes back to this new baseline.
1238
1244
 
1239
1245
  ```ts
1240
- const form = useBbFormContext('profile');
1246
+ const form = useBbForm('profile');
1241
1247
 
1242
1248
  async function save(values: Record<string, unknown>) {
1243
1249
  const saved = await api.updateProfile(values);
@@ -1245,6 +1251,30 @@ async function save(values: Record<string, unknown>) {
1245
1251
  }
1246
1252
  ```
1247
1253
 
1254
+ ### Loading an edit form
1255
+
1256
+ An edit page usually mounts the form before the record arrives. Filling
1257
+ `:model` then updates the fields, but `dirty` still compares against the
1258
+ empty values the form started with: the page warns "unsaved changes" before
1259
+ anyone typed, and `reset()` empties the form. Call `snapshot(loaded)` once the
1260
+ record is in, and the loaded record becomes the clean state:
1261
+
1262
+ ```ts
1263
+ const values = reactive<Partial<Course>>({});
1264
+ const form = useBbForm('course');
1265
+
1266
+ onMounted(async () => {
1267
+ const loaded = await api.getCourse(id);
1268
+ Object.assign(values, loaded);
1269
+ form.snapshot(loaded); // loaded = clean; reset() returns here
1270
+ });
1271
+ ```
1272
+
1273
+ The form never re-takes its baseline on its own when `:model` changes: a
1274
+ record loading and a field your code sets look the same from inside. Or skip
1275
+ the step by rendering the form only once the record is there
1276
+ (`<BbForm v-if="loaded" :model="loaded">`).
1277
+
1248
1278
  ### Saving a draft
1249
1279
 
1250
1280
  A draft saves what the user has typed so far, valid or not, so it does not go
@@ -1255,9 +1285,9 @@ longer reads as unsaved:
1255
1285
 
1256
1286
  ```vue
1257
1287
  <script setup lang="ts">
1258
- import { BbButton, BbForm, BbTextInput, useBbFormContext } from 'bitboss-ui';
1288
+ import { BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
1259
1289
 
1260
- const form = useBbFormContext('article');
1290
+ const form = useBbForm('article');
1261
1291
 
1262
1292
  async function saveDraft() {
1263
1293
  await fetch('/api/articles/draft', {
@@ -1302,13 +1332,13 @@ first (`JSON.parse(JSON.stringify(form.values.value))`).
1302
1332
  ### `resetForm()` clears the fields, and your model
1303
1333
 
1304
1334
  `resetForm()` is the slot's name; from outside the form the same reset is
1305
- `useBbFormContext(id).reset()` (the handle has no `resetForm`). Resetting publishes the new value back through each field's
1335
+ `useBbForm(id).reset()` (the handle has no `resetForm`). Resetting publishes the new value back through each field's
1306
1336
  `update:modelValue` (and writes it into the object bound with `:model`), so
1307
1337
  the control, the form's own state and whatever ref you bound all agree
1308
1338
  afterwards.
1309
1339
  The same holds for vee-validate's `resetField` and `setFieldValue`.
1310
1340
 
1311
- > Fixed in 3.0.0-beta.15 (Q18.4). Before that the value pipe only ran one way:
1341
+ > Fixed in 3.0.0-beta.15. Before that the value pipe only ran one way:
1312
1342
  > a reset moved the form's internal value but never told your model, so the
1313
1343
  > form reported itself pristine while the user's text was still on screen.
1314
1344
 
@@ -1338,7 +1368,7 @@ The form state is one answer to "what is wrong, and where":
1338
1368
  validationLabel, errors, dirty, touched }`. `fields[path].errors` is one
1339
1369
  field's full list, the same array as `errors[path]`.
1340
1370
 
1341
- All of them are on `useBbFormContext(id)` and in the default slot, with
1371
+ All of them are on `useBbForm(id)` and in the default slot, with
1342
1372
  `setErrors(map)` and `removeField(path)`.
1343
1373
 
1344
1374
  #### The page's errors object (`field-errors`)
@@ -1476,15 +1506,9 @@ It returns nothing: read the state afterwards.
1476
1506
 
1477
1507
  ```vue
1478
1508
  <script setup lang="ts">
1479
- import {
1480
- BbAlert,
1481
- BbButton,
1482
- BbForm,
1483
- BbTextInput,
1484
- useBbFormContext,
1485
- } from 'bitboss-ui';
1509
+ import { BbAlert, BbButton, BbForm, BbTextInput, useBbForm } from 'bitboss-ui';
1486
1510
 
1487
- const form = useBbFormContext('signup');
1511
+ const form = useBbForm('signup');
1488
1512
 
1489
1513
  const save = async (values: Record<string, unknown>) => {
1490
1514
  const response = await fetch('/api/signup', {
@@ -1561,9 +1585,9 @@ a wizard can count errors per step:
1561
1585
  ```vue
1562
1586
  <script setup lang="ts">
1563
1587
  import { computed } from 'vue';
1564
- import { BbBadge, useBbFormContext } from 'bitboss-ui';
1588
+ import { BbBadge, useBbForm } from 'bitboss-ui';
1565
1589
 
1566
- const form = useBbFormContext('checkout');
1590
+ const form = useBbForm('checkout');
1567
1591
  const STEPS = [
1568
1592
  { title: 'Account', paths: ['email', 'password'] },
1569
1593
  { title: 'Shipping', paths: ['address.street', 'address.city'] },
@@ -1656,7 +1680,7 @@ the page, in their order.
1656
1680
 
1657
1681
  **Rows from an array the form is not bound to** (each field with its own
1658
1682
  `v-model="line.qty"`) work too, with one extra call in a form with
1659
- `keep-values-on-unmount`: `useBbFormContext(id).removeField(`lines.${i}`)`
1683
+ `keep-values-on-unmount`: `useBbForm(id).removeField(`lines.${i}`)`
1660
1684
  beside the `splice`. Such a form keeps a field's value when it unmounts on
1661
1685
  purpose (a wizard step), so it cannot tell a deleted row from one on another
1662
1686
  step. Call it in the same tick as your `splice` or later; it removes each row
@@ -1704,8 +1728,8 @@ worse.
1704
1728
 
1705
1729
  When the submit action lives outside the form — a dialog footer, a page toolbar,
1706
1730
  a leave guard — give the form an **explicit `id`** and read it with
1707
- `useBbFormContext(id)`. Same pattern as `useBbTableContext` /
1708
- `useBbDropdownContext`: no template ref, no shared subtree, no props threaded
1731
+ `useBbForm(id)`. Same pattern as `useBbTable` /
1732
+ `useBbDropdown`: no template ref, no shared subtree, no props threaded
1709
1733
  through the layout.
1710
1734
 
1711
1735
  The `id` is also the `<form>`'s own (it follows a BbForm; a plain `<form>`
@@ -1722,13 +1746,13 @@ import {
1722
1746
  BbDialog,
1723
1747
  BbForm,
1724
1748
  BbTextInput,
1725
- useBbDialogContext,
1726
- useBbFormContext,
1749
+ useBbDialog,
1750
+ useBbForm,
1727
1751
  } from 'bitboss-ui';
1728
1752
 
1729
1753
  // The dialog opens by id (`v-bb-dialog="'invite-dialog'"` on its button).
1730
- const dialog = useBbDialogContext('invite-dialog');
1731
- const invite = useBbFormContext('invite-teammate');
1754
+ const dialog = useBbDialog('invite-dialog');
1755
+ const invite = useBbForm('invite-teammate');
1732
1756
 
1733
1757
  const sendInvite = async (values: Record<string, unknown>) => {
1734
1758
  await api.invites.create(values);
@@ -1796,8 +1820,8 @@ out.
1796
1820
  `BbForm` exposes exactly one thing — `$el`, the native `<form>` — and nothing
1797
1821
  else, so a template ref gives you no `form.value.submitForm()` / `.isValid` /
1798
1822
  `.validate()` / `.reset()`. That is deliberate, not an oversight: state and
1799
- actions live on `useBbFormContext(id)`, so there is no second,
1800
- instance-shaped API to keep in step with it. Use the context for all four.
1823
+ actions live on `useBbForm(id)`, so there is no second,
1824
+ instance-shaped API to keep in step with it. Use the handle for all four.
1801
1825
 
1802
1826
  The native form element is still right there, though — `$el` is public-instance
1803
1827
  API and unaffected:
@@ -1819,7 +1843,7 @@ still fires only when every field passes. (`form.submit()`, the other native
1819
1843
  method, bypasses event handlers entirely and would skip validation _and_ reload
1820
1844
  the page. Never use it here.)
1821
1845
 
1822
- Prefer `useBbFormContext(id).submit()` anyway: it says what you mean, needs no
1846
+ Prefer `useBbForm(id).submit()` anyway: it says what you mean, needs no
1823
1847
  cast, and does not depend on the root element staying a `<form>`.
1824
1848
 
1825
1849
  ### Required markers
@@ -1832,8 +1856,8 @@ renders a red asterisk beside its label ([`BbAsterisk`](./BbAsterisk.md) does th
1832
1856
  With a `schema`, the schema decides, with every Standard Schema
1833
1857
  library above: a field gets the asterisk when its key is required in the
1834
1858
  schema (not optional, no default, not nullable, and its parent object required
1835
- too). Zod 4, ArkType and Joi are read through their JSON Schema; Zod 3, Yup,
1836
- Valibot and Effect through their own schema shape — nothing to wrap, no
1859
+ too). Zod 4, ArkType and Joi are read through their JSON Schema; Yup, Valibot
1860
+ and Effect through their own schema shape — nothing to wrap, no
1837
1861
  `required` to add. The
1838
1862
  marker follows a per-step schema as it changes, and a field the schema (or a
1839
1863
  `required` rule) requires gets `aria-required="true"`, so assistive tech hears
@@ -1858,7 +1882,7 @@ marker stays consistent with the rules.
1858
1882
  | --- | --- | --- | --- | --- |
1859
1883
  | `disableSubmitLock` | `boolean \| undefined` | `false` | | Keeps the fields editable while a `@submit` promise is pending (by default every joined field is read-only until it settles; a `@submit` that returns nothing never locks). Submit buttons spin either way. |
1860
1884
  | `fieldErrors` | `Record<string, unknown> \| null \| undefined` | | | Server validation errors by field path (Inertia's `form.errors`, a Laravel 422 body), shown on their fields while they are in the object. They never block a submit; a key no field has is in `unmatchedErrors`. A one-off message: `setErrors`. |
1861
- | `id` | `string \| undefined` | | | Lets anything outside the form read and drive it through `useBbFormContext(id)` (a dialog footer, a toolbar, a leave guard). It is also the `<form>`'s id, so `<button form="id" type="submit">` outside it submits it. |
1885
+ | `id` | `string \| undefined` | | | Lets anything outside the form read and drive it through `useBbForm(id)` (a dialog footer, a toolbar, a leave guard). It is also the `<form>`'s id, so `<button form="id" type="submit">` outside it submits it. |
1862
1886
  | `keepValuesOnUnmount` | `boolean \| Ref<boolean, boolean> \| undefined` | | | Keep a field's value (and its place in `@submit`) when it unmounts — the `v-if` wizard step you left, a collapsed section. Off, an unmounted field drops out of the values. |
1863
1887
  | `model` | `Record<string, any> \| undefined` | | | The object the fields edit in place (`reactive()`, a `ref`, Pinia state, Inertia `useForm()`): bind it one way, `:model`, never `v-model`. A field without its own `v-model` reads and writes the value at its `name` path. Nothing is written on mount. |
1864
1888
  | `schema` | `MaybeRef<S \| undefined>` | | | One Standard Schema for the form (Zod, Valibot, ArkType, Yup, Joi, Effect), passed as is. An issue lands on the field whose `name` is its path; `@submit` gets the typed output. Set it at mount (a `computed` may change it); per-field `rules` are then ignored. |
package/dist/ai/BbHost.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Safety level: **Consumer API**
6
6
  - Group: **Overlay**
7
- - Description: Renders confirm() and toast(); one, at the app root.
7
+ - Description: Renders confirm() and toast(); the plugin renders one, place one per scoped area.
8
8
  - Usage rule: Prefer this component for consumer-facing implementations.
9
9
  - Implementation source (only when the contract below is not enough): [source/BbHost.md](./source/BbHost.md)
10
10
 
@@ -15,38 +15,21 @@
15
15
  `<BbHost />` renders everything the library opens from code: every
16
16
  `confirm()` ([useConfirm](./composables/useConfirm.md)), every `toast()`
17
17
  ([useToast](./composables/useToast.md)) and every on-demand dialog
18
- (`useBbDialogContext(Component).show()`, `v-bb-dialog="{ component }"`; see
19
- [BbDialog § On-demand dialogs](./BbDialog.md#on-demand-dialogs-open-a-component)). Mount it **once, at the app root**,
20
- beside the router outlet. A page that calls `confirm()` or `toast()` mounts
21
- nothing.
22
-
23
- ```vue
24
- <!-- App.vue -->
25
- <template>
26
- <RouterView />
27
- <BbHost />
28
- </template>
29
-
30
- <script setup lang="ts">
31
- import { RouterView } from 'vue-router';
32
- import { BbHost } from 'bitboss-ui';
33
- </script>
34
- ```
18
+ (`useBbDialog(Component).show()`, `v-bb-dialog="{ component }"`; see
19
+ [BbDialog § On-demand dialogs](./BbDialog.md#on-demand-dialogs-open-a-component)).
35
20
 
36
- On Nuxt it goes in `app.vue`, beside `<NuxtPage />`. On Inertia it goes in the
37
- `createInertiaApp` render root, beside the page:
21
+ **You don't mount it.** The plugin (`app.use(bitbossUiPlugin)`, the Nuxt
22
+ module) renders one beside your app when the app mounts, under Vue, Nuxt and
23
+ Inertia alike. A page that calls `confirm()` or `toast()` mounts nothing.
38
24
 
39
- ```ts
40
- createInertiaApp({
41
- // …
42
- setup({ el, App, props, plugin }) {
43
- createApp({ render: () => [h(App, props), h(BbHost)] })
44
- .use(plugin)
45
- .use(bitbossUiPlugin)
46
- .mount(el);
47
- },
48
- });
49
- ```
25
+ Place a `<BbHost />` yourself only when an area of the app needs its own
26
+ look (§ Areas with their own look). A placed host takes over from the
27
+ plugin's while it is mounted, and hands back when it unmounts.
28
+
29
+ The plugin's host sits right after the app's mount element (a
30
+ `<div data-bb-host>` with `display: contents`) and sees the app's
31
+ `app.provide`s, as a host beside the router outlet would; it does not see
32
+ what `App.vue` provides, nor a `<BbPtScope>` around the app's template.
50
33
 
51
34
  It replaces `<BbConfirm />` and `<BbToast />`, which are no longer exported.
52
35
  `<BbConfirmPortal>` and `<BbToastPortal>` are unchanged.
@@ -70,10 +53,15 @@ The same keys go in the build plugin (`bitbossUi({ confirm, toastPosition })`).
70
53
 
71
54
  ### One host
72
55
 
73
- - **A second `<BbHost />`** mounted at the same time renders nothing, and a
74
- dev warning says so. It takes over when the first one unmounts, so a host in
75
- a layout that swaps keeps working.
76
- - **No host**: a `confirm()` resolves `false` after one second, with a dev
56
+ - **A placed `<BbHost />`** takes over from the plugin's while it is
57
+ mounted, without a warning, and hands back when it unmounts.
58
+ - **A second placed `<BbHost />`** mounted at the same time renders nothing,
59
+ and a dev warning says so. It takes over when the first one unmounts, so a
60
+ host in a layout that swaps keeps working.
61
+ - **Two Vue apps on one page** (islands) each get the plugin's host, and
62
+ `confirm()` / `toast()` messages render once, in the first app's host (a
63
+ placed host anywhere wins). On-demand dialogs render in their own app.
64
+ - **No host** (the plugin isn't installed and none is placed): a `confirm()` resolves `false` after one second, with a dev
77
65
  warning, and never hangs; an on-demand dialog settles `'unmounted'` the
78
66
  same way. Toasts stay queued and show once a host mounts.
79
67
  - **The one-second grace** covers a host that unmounts and remounts across a
@@ -89,12 +77,12 @@ The same keys go in the build plugin (`bitbossUi({ confirm, toastPosition })`).
89
77
 
90
78
  A confirm takes the passthrough scope and tokens of the component that called
91
79
  `useConfirm()`, wherever the host sits: nothing to set up. Toasts take the
92
- scope and tokens of the place the HOST sits. When the app is split into areas
93
- that each wrap their pages in `<BbPtScope>`
94
- ([passthrough guide](./guides/passthrough.md) § Named scopes) and toasts need
95
- each area's look, mount one `<BbHost />` inside each area's layout, within its
96
- scope, and none at the app root. That holds only if **every** page renders inside exactly one of those
97
- layouts, so there is still one host at a time. See
80
+ scope and tokens of the place the HOST sits, which for the plugin's host is
81
+ the app's own level. When the app is split into areas that each wrap their
82
+ pages in `<BbPtScope>` ([passthrough guide](./guides/passthrough.md) § Named
83
+ scopes) and toasts need each area's look, place one `<BbHost />` inside each
84
+ area's layout, within its scope. While an area's host is mounted it renders;
85
+ a page outside every area falls back to the plugin's host. See
98
86
  [Agent Contract § Global Host Rule](./guides/agent-contract.md).
99
87
 
100
88
  ### On-demand dialogs
package/dist/ai/BbIcon.md CHANGED
@@ -437,6 +437,9 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
437
437
  before it runs.
438
438
  - Inventing icon names or assuming a provider set is installed without checking
439
439
  `package.json`.
440
+ - Writing an SVG attribute camelCase (`strokeWidth`): it lands as a dead
441
+ `strokeWidth` attribute. Write SVG attributes dashed, `stroke-width="2"`;
442
+ `vue-tsc` accepts both spellings, the browser only the dashed one.
440
443
 
441
444
  ### Accessibility
442
445
 
@@ -41,7 +41,7 @@
41
41
  | `--border-focus` | `pt:box` | `CommonFieldInput` | frame while focused, or --active |
42
42
  | `--ring-size` | `pt:box` | `CommonFieldInput` | ring width; 0 is a variant declining the ring |
43
43
  | `--ring-color` | `pt:box` | `CommonFieldInput` | ring colour; state owns it, not variants |
44
- | `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, composed UNDER the ring at every box-shadow site below. `0 0 0 0 transparent` and not `none`, so the shadow list keeps a constant length and stays interpolable whatever a variant assigns — the same reason `--bb-elev` itself ships that value. |
44
+ | `--elev` | `pt:box` | `CommonFieldInput` | Resting lift, alone in `box-shadow`: the ring is the box's outline, so a theme's `--elev: none` never takes the ring with it. |
45
45
  | `--frost` | `pt:box` | `CommonFieldInput` | Plate frost — a full `backdrop-filter` value (see --bb-surface-filter). Routed through a local rather than read from the token directly, so a chrome-less variant can decline it: frosting a ghost field gives it the plate it is contractually not supposed to have. |
46
46
  | `--inside-label-clearance` | `pt:box`, `pt:prefix`, `pt:suffix` | `CommonFieldInput` | Height and top padding added above the text for a label rendered inside the box. Zero here; the `--inside-label` rules at the bottom of this file raise it to one label line, or two with a description. |
47
47
  | `--w` | `pt:icon` | `BbIcon` | `--w` is set inline by BbIcon from the size prop. The `initial` default seals it: without it an ancestor's `--w` (e.g. a dropdown's width bridge) would inherit in and size the icon. The `--size` indirection stays so higher-specificity rules (e.g. `.bb-badge .bb-icon`) can re-point it. |
@@ -302,8 +302,9 @@ const temperature = ref<number | null>(21);
302
302
  - the **`increase()` / `decrease()`** scope functions.
303
303
 
304
304
  Those functions are handed to the `prepend` / `append` / `prefix` / `suffix`
305
- slots as scope props, so you build a plus/minus stepper without wiring any state
306
- yourself. For a stepper rendered _outside_ the field, drive `v-model` directly
305
+ slots as scope props, with **`increaseDisabled` / `decreaseDisabled`** (true at
306
+ `max` / `min` and while `disabled` or `readonly`), so you build a plus/minus
307
+ stepper without wiring any state yourself. For a stepper rendered _outside_ the field, drive `v-model` directly
307
308
  (`model += step`) rather than reaching for a template ref. Stepping respects
308
309
  `min`/`max`/`maxPrecision` and is a no-op while `disabled` or `readonly`.
309
310
 
@@ -329,18 +330,20 @@ stays free while the buttons move in fixed increments.
329
330
  :min="1"
330
331
  name="quantity"
331
332
  >
332
- <template #prepend="{ decrease }">
333
+ <template #prepend="{ decrease, decreaseDisabled }">
333
334
  <BbButton
334
335
  aria-label="Decrease quantity"
336
+ :disabled="decreaseDisabled"
335
337
  icon="lucide:minus"
336
338
  size="xs"
337
339
  variant="ghost"
338
340
  @click="decrease"
339
341
  />
340
342
  </template>
341
- <template #append="{ increase }">
343
+ <template #append="{ increase, increaseDisabled }">
342
344
  <BbButton
343
345
  aria-label="Increase quantity"
346
+ :disabled="increaseDisabled"
344
347
  icon="lucide:plus"
345
348
  size="xs"
346
349
  variant="ghost"
@@ -444,7 +447,8 @@ icon (`hasWarnings`) shares the error icon's slot — shown when `hasWarnings` i
444
447
  and there is no error.
445
448
 
446
449
  Every content slot (`prefix`, `suffix`, `prepend`, `append`, `prepend:outer`,
447
- `append:outer`) receives `{ increase, decrease }` scope, so stepper buttons can
450
+ `append:outer`) receives `{ increase, decrease, increaseDisabled, decreaseDisabled }`
451
+ scope, so stepper buttons can
448
452
  live anywhere in the ring. Put interactive controls in the _outer_ slots or use
449
453
  the scoped callbacks; plain `prefix`/`suffix` text is decoration only.
450
454
 
@@ -872,7 +876,7 @@ A `pt` value written in `<script>` (a constant, a preset, a wrapper's
872
876
  | `formless` | `boolean \| undefined` | `false` | | Keep this control out of the enclosing `BbForm` entirely: not submitted, not dirty, not reset, not validated. For a control that is not form data (a filter, a "show advanced" switch). |
873
877
  | `hasErrors` | `boolean \| undefined` | `false` | | Define if the component should be in an error state. It usually attaches a CSS class for styling purposes. |
874
878
  | `hasWarnings` | `boolean \| undefined` | `false` | | Define if the component should be in a warning state. Same chrome as errors with `--bb-warn`; errors take priority. |
875
- | `hideLabel` | `boolean \| undefined` | `false` | | Visually hides the label of the input while maintaining accessibility. |
879
+ | `hideLabel` | `boolean \| undefined` | `false` | | Visually hides the label of the input while maintaining accessibility. Pair it with a `placeholder`: an empty field otherwise shows nothing saying what it is for. |
876
880
  | `hint` | `string \| undefined` | | | Text box to be displayed near the input, usually to indicate instructions. |
877
881
  | `id` | `string \| undefined` | | | The `id` of the native control; the label's `for` and the description and message ids derive from it. Generated when omitted. |
878
882
  | `inputAlign` | `'top'` \| `'center'` \| `'bottom'` | | | Vertical position of the control in a side-by-side row; not `inputPosition`, the horizontal one. Omitted, the control's first line meets the label's. |
@@ -955,14 +959,14 @@ States are listed in precedence order: when two are on at once and their entries
955
959
 
956
960
  ## Slots
957
961
 
958
- - `append` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered after the number input, at the end of the inner container. Typically used to place increment/decrement buttons next to the input.
959
- - `append:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered after the entire input control, outside the input chrome.
962
+ - `append` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered after the number input, at the end of the inner container. Typically used to place increment/decrement buttons next to the input.
963
+ - `append:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered after the entire input control, outside the input chrome.
960
964
  - `description` — scope: `BbNumberInputDescriptionSlotProps` `{ text: string; hasErrors: boolean; hasWarnings: boolean }` — Replaces the description text. Provided alone (no `description` prop) it still renders the description region and wires it into `aria-describedby`.
961
965
  - `label` — scope: `BbNumberInputLabelSlotProps` `{ showAsterisk?: boolean; text: string; hasErrors: boolean; hasWarnings: boolean }` — Replaces the default label text rendered above the number input.
962
- - `prefix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Inline content rendered at the start of the input field area, before the typed number.
963
- - `prepend` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered before the number input, at the start of the inner container.
964
- - `prepend:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Content rendered before the entire input control, outside the input chrome.
965
- - `suffix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void }` — Inline content rendered at the end of the input field area, after the typed number.
966
+ - `prefix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Inline content rendered at the start of the input field area, before the typed number.
967
+ - `prepend` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered before the number input, at the start of the inner container.
968
+ - `prepend:outer` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Content rendered before the entire input control, outside the input chrome.
969
+ - `suffix` — scope: `BbNumberInputStepSlotProps` `{ increase: () => void; decrease: () => void; increaseDisabled: boolean; decreaseDisabled: boolean }` — Inline content rendered at the end of the input field area, after the typed number.
966
970
 
967
971
  ## CSS custom properties
968
972