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
@@ -158,6 +158,7 @@
158
158
  <template #loading><slot name="loading" :query="query" /></template>
159
159
  <template #empty
160
160
  ><slot
161
+ :close="close"
161
162
  :error="itemsError"
162
163
  :focus="focusPopoverContent"
163
164
  name="empty"
@@ -184,7 +185,13 @@
184
185
  () => offCanvasProps?.pt
185
186
  )
186
187
  "
187
- v-bind="mergeProps(offcanvasBindings, sheetEvents, withoutClass($attrs))"
188
+ v-bind="
189
+ mergeProps(
190
+ offcanvasBindings,
191
+ sheetEvents,
192
+ asSheetAttrs(withoutClass($attrs))
193
+ )
194
+ "
188
195
  >
189
196
  <template v-if="$slots.header" #header="{ titleId: sheetTitleId }">
190
197
  <!-- The sheet's own `titleId`: its dialog is labelled by it. -->
@@ -244,6 +251,7 @@
244
251
  content. Positioning is unaffected — the wrapper is `position: fixed`. -->
245
252
  <CommonPopover
246
253
  v-else
254
+ ref="popoverSurface"
247
255
  v-model="shown"
248
256
  :anchor="positionAnchorEl"
249
257
  :aria-hidden="panelSettledClosed || undefined"
@@ -256,6 +264,7 @@
256
264
  'bb-select-popover--loading': computedLoading,
257
265
  'bb-select-popover--reloading': isReloading,
258
266
  'bb-select-popover--clearable-active': hasClearableValue,
267
+ 'bb-select-popover--compact': compact,
259
268
  }"
260
269
  :disable-flip="disableFlip"
261
270
  hide-arrow
@@ -293,6 +302,8 @@
293
302
  lang="ts"
294
303
  generic="Item = any, Known extends BbSelectKnownItems | undefined = undefined"
295
304
  >
305
+ import { asSheetAttrs } from '../BbOffCanvas/sheetAttrs';
306
+ import type { FallthroughAttrs } from '@/types/fallthrough';
296
307
  import type { Option as BaseOption, GroupedOptions } from '@/types/Option';
297
308
  import {
298
309
  computed,
@@ -400,38 +411,50 @@ import { removedPropsFor } from '@/deprecation/removedProps';
400
411
  import { warnRemovedAttrs } from '@/utilities/functions/warnRemovedAttrs';
401
412
  import { hasVnodeListener } from '@/utilities/functions/hasVnodeListener';
402
413
 
403
- const props = withDefaults(defineProps<BbSelectPopoverProps<Item, Known>>(), {
404
- // `undefined` (declared, not omitted) keeps `adaptive` three-state: it disables
405
- // Vue's absent→`false` Boolean cast so `props.adaptive ?? config.adaptive` can
406
- // reach the config default, while keeping the Boolean type so the valueless
407
- // `adaptive` shorthand still resolves to `true`.
408
- adaptive: undefined,
409
- anchor: null,
410
- // Same three-state trap as `adaptive`: without this, Vue's absent→`false`
411
- // Boolean cast made `props.ariaInvalid ?? !!props.hasErrors` short-circuit on
412
- // `false`, so the documented hasErrors fallback never fired and an errored
413
- // searchbox never announced `aria-invalid`.
414
- ariaInvalid: undefined,
415
- autocomplete: 'off',
416
- depsDebounceTime: 0,
417
- dependencies: () => [],
418
- // Three-state like `adaptive`: `undefined` keeps an absent `disable-writing`
419
- // distinguishable from an explicit `false`, so it can mean `'auto'`
420
- // (`resolvedDisableWriting`), while the valueless shorthand still casts to
421
- // `true`.
422
- disableWriting: undefined,
423
- filterBy: () => [],
424
- max: Infinity,
425
- modelValueDebounceTime: 0,
426
- offset: 4,
427
- padding: 10,
428
- placement: 'bottom',
429
- prefill: 'interaction',
430
- queryDebounceTime: 500,
431
- selectable: true,
432
- transitionDuration: transitions.medium,
433
- width: '200',
434
- });
414
+ // The element(s) the fall-through attributes reach, as typed below.
415
+ // @attrTargets span dialog
416
+ const props = withDefaults(
417
+ defineProps<
418
+ BbSelectPopoverProps<Item, Known> &
419
+ /* @vue-ignore */ FallthroughAttrs<
420
+ 'span' | 'dialog',
421
+ BbSelectPopoverProps<Item, Known>,
422
+ BbSelectPopoverEvents
423
+ >
424
+ >(),
425
+ {
426
+ // `undefined` (declared, not omitted) keeps `adaptive` three-state: it disables
427
+ // Vue's absent→`false` Boolean cast so `props.adaptive ?? config.adaptive` can
428
+ // reach the config default, while keeping the Boolean type so the valueless
429
+ // `adaptive` shorthand still resolves to `true`.
430
+ adaptive: undefined,
431
+ anchor: null,
432
+ // Same three-state trap as `adaptive`: without this, Vue's absent→`false`
433
+ // Boolean cast made `props.ariaInvalid ?? !!props.hasErrors` short-circuit on
434
+ // `false`, so the documented hasErrors fallback never fired and an errored
435
+ // searchbox never announced `aria-invalid`.
436
+ ariaInvalid: undefined,
437
+ autocomplete: 'off',
438
+ depsDebounceTime: 0,
439
+ dependencies: () => [],
440
+ // Three-state like `adaptive`: `undefined` keeps an absent `disable-writing`
441
+ // distinguishable from an explicit `false`, so it can mean `'auto'`
442
+ // (`resolvedDisableWriting`), while the valueless shorthand still casts to
443
+ // `true`.
444
+ disableWriting: undefined,
445
+ filterBy: () => [],
446
+ max: Infinity,
447
+ modelValueDebounceTime: 0,
448
+ offset: 4,
449
+ padding: 10,
450
+ placement: 'bottom',
451
+ prefill: 'interaction',
452
+ queryDebounceTime: 500,
453
+ selectable: true,
454
+ transitionDuration: transitions.medium,
455
+ width: '200',
456
+ }
457
+ );
435
458
 
436
459
  const emit = defineEmits<BbSelectPopoverEvents>();
437
460
 
@@ -486,6 +509,7 @@ const activatorEl = ref<DomHost>();
486
509
  const optionsContainer = ref<any | null>(null);
487
510
  const searchInput = ref<HTMLInputElement | null>(null);
488
511
  const popoverFocusProxy = ref<HTMLButtonElement | null>(null);
512
+ const popoverSurface = ref<{ $el: Element } | null>(null);
489
513
  const activeDescendantId = ref<string>();
490
514
 
491
515
  const positionAnchorEl = computed<DomHost | undefined>(() => {
@@ -1351,14 +1375,14 @@ const outsideRowFor = (valueHash: string): Item | undefined =>
1351
1375
  * its index, so membership costs no pass over the rows.
1352
1376
  */
1353
1377
  const optionInputs = {
1354
- disabled: toRef(props, 'disabled'),
1378
+ disabled: toRef(() => props.disabled),
1355
1379
  itemText: props.itemText,
1356
- itemProps: toRef(props, 'itemProps'),
1380
+ itemProps: toRef(() => props.itemProps),
1357
1381
  itemValue: props.itemValue,
1358
1382
  optionDefaults: true,
1359
1383
  // A ref, not the setup-time number: a runtime `:max` change must re-gate rows.
1360
- max: toRef(props, 'max'),
1361
- selectable: toRef(props, 'selectable'),
1384
+ max: toRef(() => props.max),
1385
+ selectable: toRef(() => props.selectable),
1362
1386
  selectedIndexedByHash: modelValueIndexedByHash,
1363
1387
  };
1364
1388
  const fetchedProjection = useBaseOptions({
@@ -1622,11 +1646,12 @@ const pruneSticky = () => {
1622
1646
  };
1623
1647
  /**
1624
1648
  * Whether an unpick keeps its row where it is: only on the open-ordered list
1625
- * (or a masked one, which shows its pins). Under a search the row leaves the
1626
- * selected tail as on v3, and clearing the search orders like a fresh open,
1627
- * which lists no unselected row (R7, newcode-r7-1).
1649
+ * (a masked one opens on an empty query too, so it qualifies). Under a search
1650
+ * the row leaves the selected tail as on v3, and clearing the search orders
1651
+ * like a fresh open, which lists no unselected row (R7, newcode-r7-1) — also
1652
+ * when the query was typed over the mask (Q75.6 a).
1628
1653
  */
1629
- const unpickKeepsPlace = () => listMasked.value || !query.value;
1654
+ const unpickKeepsPlace = () => !query.value;
1630
1655
  /** B3: removals from outside the list that the user made (a field chip, the clear button). */
1631
1656
  const markUserUnpicked = (values: unknown[]) => {
1632
1657
  if (!shown.value || !unpickKeepsPlace()) return;
@@ -1787,7 +1812,7 @@ watch(
1787
1812
  * it. Searches and failures never reach the prune.
1788
1813
  */
1789
1814
  const { coherent } = useCoherence({
1790
- modelValue: toRef(props, 'modelValue'),
1815
+ modelValue: toRef(() => props.modelValue),
1791
1816
  multiple: props.multiple,
1792
1817
  iteratee: (value) => !!optionsIndexedByHash.value[hash(value)],
1793
1818
  });
@@ -1803,7 +1828,7 @@ const fetchedValueHashes = computed(
1803
1828
 
1804
1829
  const { coherent: fetchedCoherent, coherentValue: fetchedCoherentValue } =
1805
1830
  useCoherence({
1806
- modelValue: toRef(props, 'modelValue'),
1831
+ modelValue: toRef(() => props.modelValue),
1807
1832
  multiple: props.multiple,
1808
1833
  iteratee: (value) => {
1809
1834
  const valueHash = hash(value);
@@ -2804,6 +2829,13 @@ const close = async () => {
2804
2829
  // transition finishes; the flyout's document listeners were never attached.
2805
2830
  if (useOffcanvas.value) return;
2806
2831
 
2832
+ // The closed panel turns `aria-hidden` (Q75.5 d): a close that did not come
2833
+ // from the activator (the slot's `toggle` from app code, the activator
2834
+ // scrolling away) must not leave focus inside it (Q75.6 c).
2835
+ if (popoverSurface.value?.$el.contains(document.activeElement)) {
2836
+ activatorEl.value?.focus({ preventScroll: true });
2837
+ }
2838
+
2807
2839
  pause();
2808
2840
  removeEscapeEntry(escapeKey);
2809
2841
  document.removeEventListener('click', onOutsideInteraction, {
@@ -2915,9 +2947,22 @@ const onSearchClear = () => {
2915
2947
  * popover and the adaptive sheet, so a consumer's slot markup works unchanged
2916
2948
  * across surfaces.
2917
2949
  */
2950
+ /**
2951
+ * Q83.2: the list shows its empty state (no row, the load settled): no
2952
+ * items, none matching the query, or a failed load with nothing listed.
2953
+ */
2954
+ const listEmpty = computed(
2955
+ () =>
2956
+ !computedLoading.value &&
2957
+ (props.groupBy
2958
+ ? groupedOptions.value.every((group) => !group.options.length)
2959
+ : !filteredOptions.value.length)
2960
+ );
2961
+
2918
2962
  const panelSlotProps = computed(() => ({
2919
2963
  close,
2920
2964
  clear: onClear,
2965
+ empty: listEmpty.value,
2921
2966
  focus: focusPopoverContent,
2922
2967
  query: query.value,
2923
2968
  selectedOptions: publicSelectedOptions.value,
@@ -3193,11 +3238,12 @@ onDeactivated(() => {
3193
3238
 
3194
3239
  ```ts
3195
3240
  import type { BbSelectItemProps } from '@/types/ItemProps';
3196
- import type { HTMLAttributes, InputHTMLAttributes } from 'vue';
3241
+ import type { HTMLAttributes } from 'vue';
3197
3242
  import type {
3243
+ PtCompoundProps,
3198
3244
  PtNoInfer,
3199
3245
  PtItemCtx,
3200
- PtItemMap,
3246
+ PtScopedItemMap,
3201
3247
  PtItemResult,
3202
3248
  PtValue,
3203
3249
  } from '@/types/passthrough';
@@ -3338,6 +3384,14 @@ export type BbSelectPopoverOptionPtPart =
3338
3384
  * @state open - Component-wide: the options surface is showing.
3339
3385
  */
3340
3386
  export type BbSelectPopoverPtState = 'open' | 'selected' | 'disabled';
3387
+ /**
3388
+ * Every `part` / `part:state` key of `BbSelectPopover` — only the pairs that
3389
+ * land: `open` everywhere, an option's `selected` / `disabled` on its parts.
3390
+ */
3391
+ export type BbSelectPopoverPtKey =
3392
+ | BbSelectPopoverPtPart
3393
+ | `${BbSelectPopoverPtPart}:open`
3394
+ | `${BbSelectPopoverOptionPtPart}:${'selected' | 'disabled'}`;
3341
3395
  /** The runtime lists the resolver is wired with — kept next to the types so the two cannot drift. */
3342
3396
  export const BB_SELECT_POPOVER_PT = {
3343
3397
  parts: [
@@ -3355,9 +3409,22 @@ export const BB_SELECT_POPOVER_PT = {
3355
3409
  'footer',
3356
3410
  ],
3357
3411
  states: ['selected', 'disabled', 'open'],
3412
+ /** On every part: what the resolver's `active` map turns on. */
3413
+ wide: ['open'],
3414
+ /** Per node: what one option knows. */
3415
+ node: {
3416
+ option: ['selected', 'disabled'],
3417
+ itemText: ['selected', 'disabled'],
3418
+ itemIcon: ['selected', 'disabled'],
3419
+ itemDescription: ['selected', 'disabled'],
3420
+ },
3358
3421
  } as const satisfies {
3359
3422
  parts: readonly BbSelectPopoverPtPart[];
3360
3423
  states: readonly BbSelectPopoverPtState[];
3424
+ wide: readonly BbSelectPopoverPtState[];
3425
+ node: Partial<
3426
+ Record<BbSelectPopoverPtPart, readonly BbSelectPopoverPtState[]>
3427
+ >;
3361
3428
  };
3362
3429
 
3363
3430
  // Spelled INLINE with this component's own unions (Vue's SFC type resolver
@@ -3372,329 +3439,332 @@ export type BbSelectPopoverProps<
3372
3439
  > = {
3373
3440
  [K in
3374
3441
  | `pt:${BbSelectPopoverSurfacePtPart}`
3375
- | `pt:${BbSelectPopoverPtPart}:${BbSelectPopoverPtState}`]?: PtValue;
3376
- } & {
3377
- // The option parts also take a per-item function, typed on the popover's
3378
- // item — a literal function type, not `PtItemFn` (T23).
3379
- [K in `pt:${BbSelectPopoverOptionPtPart}`]?:
3380
- | PtValue
3381
- | ((
3382
- ctx: PtItemCtx<
3383
- PtNoInfer<Item>,
3384
- BbSelectPopoverPtState,
3385
- never,
3386
- BbSelectSlotRow<PtNoInfer<Item>, PtNoInfer<Known>>
3387
- >
3388
- ) => PtItemResult);
3389
- } & {
3390
- /* eslint-enable @typescript-eslint/consistent-indexed-object-style */
3391
- /**
3392
- * Passthrough, object form: the same keys as the `pt:*` attributes
3393
- * without the prefix. See the `pt:<part>` row.
3394
- */
3395
- pt?: PtItemMap<
3396
- BbSelectPopoverPtPart,
3397
- BbSelectPopoverOptionPtPart,
3398
- BbSelectPopoverPtState,
3399
- PtNoInfer<Item>,
3400
- never,
3401
- BbSelectSlotRow<PtNoInfer<Item>, PtNoInfer<Known>>
3402
- >;
3403
- /**
3404
- * External activator element or component ref.
3405
- * When provided, the activator slot is not rendered and event listeners
3406
- * are attached programmatically to the referenced element.
3407
- */
3408
- activator?: HTMLElement | Record<string, any> | null;
3409
- /**
3410
- * On mobile, the panel opens as a bottom sheet instead of a floating
3411
- * popover, with the same search and list. Unset, the global
3412
- * `config.adaptive` applies.
3413
- *
3414
- * @defaultValue `config.adaptive` (`true`)
3415
- */
3416
- adaptive?: boolean;
3417
- /**
3418
- * Props for the phone sheet (the `BbOffCanvas` that `adaptive` renders on
3419
- * mobile), spread over its defaults. A `pt` inside it styles only the sheet
3420
- * (passthrough guide § Inside the sheet).
3421
- */
3422
- offCanvasProps?: Partial<BbOffCanvasProps>;
3423
- /**
3424
- * Override the element used for popover positioning and width measurement.
3425
- * Useful when the focusable activator is narrower than its visual container
3426
- * (e.g. a button inside a wrapper). Falls back to `activatorEl` when omitted.
3427
- *
3428
- * @defaultValue `null`
3429
- */
3430
- anchor?: HTMLElement | Record<string, any> | null;
3431
- /**
3432
- * Hides the panel's search field: `true` everywhere, `'mobile'` /
3433
- * `'desktop'` on that platform only. `'auto'` hides it, per open, for an
3434
- * array `items` shorter than the plugin's `autoDisableWritingThreshold`
3435
- * (6); never for a provider or with an `option:add` listener.
3436
- *
3437
- * @defaultValue `'auto'`
3438
- */
3439
- disableWriting?: boolean | 'mobile' | 'desktop' | 'auto';
3440
- /**
3441
- * Space-separated IDREF(s) that describe this field for assistive technologies.
3442
- * Accepts either a string or array of ids.
3443
- */
3444
- ariaDescribedby?: string | string[];
3445
- /**
3446
- * Explicit invalid state for accessibility semantics.
3447
- * Falls back to `hasErrors` when not provided.
3448
- */
3449
- ariaInvalid?: boolean;
3450
- /**
3451
- * Browser autocomplete hint for the popover search input.
3452
- *
3453
- * @defaultValue `'off'`
3454
- */
3455
- autocomplete?: InputHTMLAttributes['autocomplete'];
3456
- /**
3457
- * Constrains the popover to a specific boundary element: it stays inside
3458
- * it alongside its trigger (sideways for a popover above or below); away
3459
- * from the trigger it may pass the edge, and it flips at the viewport only.
3460
- */
3461
- boundary?: HTMLElement | Record<string, any> | string | null;
3462
- /**
3463
- * Apply the compact density variant.
3464
- */
3465
- compact?: boolean;
3466
- /**
3467
- * Additional dependencies that trigger item reloading when changed.
3468
- *
3469
- * @defaultValue `[]`
3470
- */
3471
- dependencies?: unknown[];
3472
- /**
3473
- * Debounce delay (ms) for dependency-triggered reloads.
3474
- *
3475
- * @defaultValue `0`
3476
- */
3477
- depsDebounceTime?: number;
3478
- /**
3479
- * Shows a clear button in the search field, in the lens' place while there
3480
- * is a query or a selection; it resets both. None without a search field.
3481
- * Leave it off when the activator already clears (as BbSelect's does).
3482
- */
3483
- clearable?: boolean;
3484
- /**
3485
- * Disables the component.
3486
- */
3487
- disabled?: boolean;
3488
- /**
3489
- * Drops the picks the items no longer contain (single: `null`). Checked
3490
- * after every applied, successful load whose `reason` is not `'search'`
3491
- * (an empty one included), against the FETCHED rows only (a `stash` does
3492
- * not count); a search or failed load never prunes.
3493
- */
3494
- enforceCoherence?: boolean;
3495
- /**
3496
- * What typing filters on: empty = the display text and description; item
3497
- * paths = those fields (`['name', 'email']`); `false` = no filtering.
3498
- * Use `false` when the provider matched the query on the server, or its
3499
- * email/accent matches show as "No results".
3500
- *
3501
- * @defaultValue `[]`
3502
- */
3503
- filterBy?: string[] | false;
3504
- /**
3505
- * Disables the automatic flip to the opposite side when the popover
3506
- * would overflow (flipping is on by default).
3507
- *
3508
- * @defaultValue `false`
3509
- */
3510
- disableFlip?: boolean;
3511
- /** Path to item property for grouping options. */
3512
- groupBy?: string | ((item: Item) => string | number | symbol);
3513
- /**
3514
- * Marks the component as being in error state.
3515
- */
3516
- hasErrors?: boolean;
3517
- /**
3518
- * Marks the component as being in a warning state. Visually mirrors
3519
- * `hasErrors` but uses `--bb-warn` chrome; errors take priority when both
3520
- * are set.
3521
- */
3522
- hasWarnings?: boolean;
3523
- /**
3524
- * Height of group headers in the listbox (px). Defaults to 32px (24px
3525
- * compact; 36px / 32px on mobile viewports). Only applies when `groupBy`
3526
- * is set. An explicit value wins on every viewport.
3527
- */
3528
- headerHeight?: number;
3529
- /**
3530
- * Seeds the ids the popover sets: its listbox is `<id>_listbox` (the
3531
- * activator's `aria-controls`) and each option's id derives from it.
3532
- * Generated when omitted.
3533
- */
3534
- id?: HTMLAttributes['id'];
3535
- /**
3536
- * Height of the options in the listbox (px). Defaults to 28px (24px
3537
- * compact; 44px / 36px on mobile viewports). An explicit value wins on
3538
- * every viewport.
3539
- *
3540
- * @defaultValue `28`
3541
- */
3542
- itemHeight?: number;
3543
- /**
3544
- * The options: an array, or a sync or async provider given a
3545
- * `BbSelectPopoverItemsContext` (`query`, `reason`, `modelValue`,
3546
- * `signal`). Branch on `reason !== 'search'` to resolve the
3547
- * selection by id. A provider fails by THROWING, never by returning `[]`.
3548
- *
3549
- * @defaultValue `[]`
3550
- */
3551
- items:
3552
- | Item[]
3553
- | ((context: BbSelectPopoverItemsContext) => Item[] | Promise<Item[]>);
3554
- /**
3555
- * Path to item property for display text or function to extract it.
3556
- *
3557
- * Unset: own `label`, else `text` (`{ label, value }` needs no accessor).
3558
- *
3559
- * @defaultValue own `label`, else `text`, else `JSON.stringify(item)`
3560
- */
3561
- itemText?: ItemAccessor<Item, string>;
3562
- /**
3563
- * ADDITIONAL row fields, never the text or value: `description` (a muted
3564
- * line under the label), `prepend:icon`, `append:icon`. An object of paths
3565
- * or getters per field, or a function of the item. Nothing is read
3566
- * implicitly; none shows in the trigger or the chips.
3567
- */
3568
- itemProps?: BbSelectItemProps<Item>;
3569
- /**
3570
- * Path to item property for value or function to extract it.
3571
- *
3572
- * Unset: own `value`, even `null`.
3573
- *
3574
- * @defaultValue own `value`, else the whole item
3575
- */
3576
- itemValue?: ItemAccessor<Item>;
3577
- /**
3578
- * `{ value, label }` rows naming the value the app already holds, whatever
3579
- * the options' shape: the activator's `text` with no request until the
3580
- * first open (`prefill: true` still loads). Not options: accessors never
3581
- * run on them; slots get one as `item`, `known: true`, until the list
3582
- * brings its own.
3583
- */
3584
- knownItems?: [Known] extends [undefined] ? BbSelectKnownItems : Known;
3585
- /**
3586
- * Display the loading state styles.
3587
- */
3588
- loading?: boolean;
3589
- /**
3590
- * Message shown while items are being loaded.
3591
- */
3592
- loadingText?: string;
3593
- /**
3594
- * Maximum number of selectable items (limits selection when `multiple` is true).
3595
- *
3596
- * @defaultValue `Infinity`
3597
- */
3598
- max?: number;
3599
- /**
3600
- * v-model value. Single value for single select, array for multiple select.
3601
- */
3602
- modelValue: any;
3603
- /**
3604
- * Debounce delay (ms) for modelValue change handling.
3605
- *
3606
- * @defaultValue `0`
3607
- */
3608
- modelValueDebounceTime?: number;
3609
- /**
3610
- * Enable multiple item selection. When true, modelValue must be an array.
3611
- */
3612
- multiple?: boolean;
3613
- /**
3614
- * Message displayed when no items are available.
3615
- */
3616
- emptyText?: string;
3617
- /**
3618
- * Message displayed in the empty state while the latest load FAILED (the
3619
- * provider threw): the twin of `emptyText` for that case.
3620
- *
3621
- * @defaultValue the localized `common.failedText` ("Couldn't load items")
3622
- */
3623
- failedText?: string;
3624
- /**
3625
- * Distance (px) between the activator and the popover.
3626
- *
3627
- * @defaultValue `4`
3628
- */
3629
- offset?: number;
3630
- /**
3631
- * Minimum page padding used by floating shift middleware.
3632
- *
3633
- * @defaultValue `10`
3634
- */
3635
- padding?: number;
3636
- /**
3637
- * Floating placement of the popover.
3638
- *
3639
- * @defaultValue `'bottom'`
3640
- */
3641
- placement?: Placement;
3642
- /**
3643
- * When the options first load: `'interaction'` on first open, `true` on
3644
- * mount (and in SSR), `false` once the user types (on open with
3645
- * `disable-writing` or a non-empty model). An array `items` always
3646
- * resolves on mount; else a seeded model's text waits for the first open.
3647
- *
3648
- * @defaultValue `'interaction'`
3649
- */
3650
- prefill?: boolean | 'interaction';
3651
- /**
3652
- * Debounce delay (ms) before triggering search queries after user input stops.
3653
- *
3654
- * @defaultValue `500`
3655
- */
3656
- queryDebounceTime?: number;
3657
- /**
3658
- * Prevents opening the popover while keeping the activator accessible.
3659
- */
3660
- readonly?: boolean;
3661
- /**
3662
- * Accessible label used by the search input rendered inside the popover.
3663
- * Falls back to the localized `select.searchLabel` key when omitted.
3664
- *
3665
- * @defaultValue `t('select.searchLabel')` (`'Search options'`)
3666
- */
3667
- searchInputAriaLabel?: string;
3668
- /**
3669
- * Defines whether options are selectable.
3670
- * Can be a global boolean that affects all options or a function
3671
- * that accepts an item and returns a boolean that only affects that item.
3672
- * Non-selectable options are rendered disabled.
3673
- *
3674
- * @defaultValue `true`
3675
- */
3676
- selectable?: boolean | ((item: Item) => boolean);
3677
- /**
3678
- * Keeps picked options named across searches: a pick stays resolvable when
3679
- * a later search or a failed load no longer returns it. It follows the
3680
- * model, and does not keep a pick valid: `enforce-coherence` still prunes
3681
- * it.
3682
- */
3683
- stash?: boolean;
3684
- /**
3685
- * Transition duration (ms) for popover show/hide animations.
3686
- *
3687
- * @defaultValue `250`
3688
- */
3689
- transitionDuration?: number;
3690
- /**
3691
- * Width of the popover in pixels, percentage, or `'auto'`. A bare number is
3692
- * read as pixels — the default is the string `'200'`, not the number `200`.
3693
- *
3694
- * @defaultValue `'200'`
3695
- */
3696
- width?: number | string;
3697
- };
3442
+ | `pt:${BbSelectPopoverPtPart}:open`
3443
+ | `pt:${BbSelectPopoverOptionPtPart}:${'selected' | 'disabled'}`]?: PtValue;
3444
+ } & /* @vue-ignore */ PtCompoundProps<typeof BB_SELECT_POPOVER_PT> & {
3445
+ // The option parts also take a per-item function, typed on the popover's
3446
+ // item — a literal function type, not `PtItemFn` (T23).
3447
+ [K in `pt:${BbSelectPopoverOptionPtPart}`]?:
3448
+ | PtValue
3449
+ | ((
3450
+ ctx: PtItemCtx<
3451
+ PtNoInfer<Item>,
3452
+ BbSelectPopoverPtState,
3453
+ never,
3454
+ BbSelectSlotRow<PtNoInfer<Item>, PtNoInfer<Known>>
3455
+ >
3456
+ ) => PtItemResult);
3457
+ } & {
3458
+ /* eslint-enable @typescript-eslint/consistent-indexed-object-style */
3459
+ /**
3460
+ * Passthrough, object form: the same keys as the `pt:*` attributes
3461
+ * without the prefix. See the `pt:<part>` row.
3462
+ */
3463
+ pt?: PtScopedItemMap<
3464
+ BbSelectPopoverPtKey,
3465
+ BbSelectPopoverOptionPtPart,
3466
+ BbSelectPopoverPtState,
3467
+ PtNoInfer<Item>,
3468
+ never,
3469
+ BbSelectSlotRow<PtNoInfer<Item>, PtNoInfer<Known>>
3470
+ >;
3471
+ /**
3472
+ * External activator element or component ref.
3473
+ * When provided, the activator slot is not rendered and event listeners
3474
+ * are attached programmatically to the referenced element.
3475
+ */
3476
+ activator?: HTMLElement | Record<string, any> | null;
3477
+ /**
3478
+ * On mobile, the panel opens as a bottom sheet instead of a floating
3479
+ * popover, with the same search and list. Unset, the global
3480
+ * `config.adaptive` applies.
3481
+ *
3482
+ * @defaultValue `config.adaptive` (`true`)
3483
+ */
3484
+ adaptive?: boolean;
3485
+ /**
3486
+ * Props for the phone sheet (the `BbOffCanvas` that `adaptive` renders on
3487
+ * mobile), spread over its defaults. A `pt` inside it styles only the sheet
3488
+ * (passthrough guide § Inside the sheet).
3489
+ */
3490
+ offCanvasProps?: Partial<BbOffCanvasProps>;
3491
+ /**
3492
+ * Override the element used for popover positioning and width measurement.
3493
+ * Useful when the focusable activator is narrower than its visual container
3494
+ * (e.g. a button inside a wrapper). Falls back to `activatorEl` when omitted.
3495
+ *
3496
+ * @defaultValue `null`
3497
+ */
3498
+ anchor?: HTMLElement | Record<string, any> | null;
3499
+ /**
3500
+ * Hides the panel's search field: `true` everywhere, `'mobile'` /
3501
+ * `'desktop'` on that platform only. `'auto'` hides it, per open, for an
3502
+ * array `items` shorter than the plugin's `autoDisableWritingThreshold`
3503
+ * (6); never for a provider or with an `option:add` listener.
3504
+ *
3505
+ * @defaultValue `'auto'`
3506
+ */
3507
+ disableWriting?: boolean | 'mobile' | 'desktop' | 'auto';
3508
+ /**
3509
+ * Space-separated IDREF(s) that describe this field for assistive technologies.
3510
+ * Accepts either a string or array of ids.
3511
+ */
3512
+ ariaDescribedby?: string | string[];
3513
+ /**
3514
+ * Explicit invalid state for accessibility semantics.
3515
+ * Falls back to `hasErrors` when not provided.
3516
+ */
3517
+ ariaInvalid?: boolean;
3518
+ /**
3519
+ * Browser autocomplete hint for the popover search input.
3520
+ *
3521
+ * @defaultValue `'off'`
3522
+ */
3523
+ // Not Vue's InputHTMLAttributes['autocomplete']: since Vue 3.5.27 that is a
3524
+ // ~10k-member union, and our props overflow TS on it (TS2590).
3525
+ autocomplete?: string;
3526
+ /**
3527
+ * Constrains the popover to a specific boundary element: it stays inside
3528
+ * it alongside its trigger (sideways for a popover above or below); away
3529
+ * from the trigger it may pass the edge, and it flips at the viewport only.
3530
+ */
3531
+ boundary?: HTMLElement | Record<string, any> | string | null;
3532
+ /**
3533
+ * Apply the compact density variant.
3534
+ */
3535
+ compact?: boolean;
3536
+ /**
3537
+ * Additional dependencies that trigger item reloading when changed.
3538
+ *
3539
+ * @defaultValue `[]`
3540
+ */
3541
+ dependencies?: unknown[];
3542
+ /**
3543
+ * Debounce delay (ms) for dependency-triggered reloads.
3544
+ *
3545
+ * @defaultValue `0`
3546
+ */
3547
+ depsDebounceTime?: number;
3548
+ /**
3549
+ * Shows a clear button in the search field, in the lens' place while there
3550
+ * is a query or a selection; it resets both. None without a search field.
3551
+ * Leave it off when the activator already clears (as BbSelect's does).
3552
+ */
3553
+ clearable?: boolean;
3554
+ /**
3555
+ * Disables the component.
3556
+ */
3557
+ disabled?: boolean;
3558
+ /**
3559
+ * Drops the picks the items no longer contain (single: `null`). Checked
3560
+ * after every applied, successful load whose `reason` is not `'search'`
3561
+ * (an empty one included), against the FETCHED rows only (a `stash` does
3562
+ * not count); a search or failed load never prunes.
3563
+ */
3564
+ enforceCoherence?: boolean;
3565
+ /**
3566
+ * What typing filters on: empty = the display text and description; item
3567
+ * paths = those fields (`['name', 'email']`); `false` = no filtering.
3568
+ * Use `false` when the provider matched the query on the server, or its
3569
+ * email/accent matches show as "No results".
3570
+ *
3571
+ * @defaultValue `[]`
3572
+ */
3573
+ filterBy?: string[] | false;
3574
+ /**
3575
+ * Disables the automatic flip to the opposite side when the popover
3576
+ * would overflow (flipping is on by default).
3577
+ *
3578
+ * @defaultValue `false`
3579
+ */
3580
+ disableFlip?: boolean;
3581
+ /** Path to item property for grouping options. */
3582
+ groupBy?: string | ((item: Item) => string | number | symbol);
3583
+ /**
3584
+ * Marks the component as being in error state.
3585
+ */
3586
+ hasErrors?: boolean;
3587
+ /**
3588
+ * Marks the component as being in a warning state. Visually mirrors
3589
+ * `hasErrors` but uses `--bb-warn` chrome; errors take priority when both
3590
+ * are set.
3591
+ */
3592
+ hasWarnings?: boolean;
3593
+ /**
3594
+ * Height of group headers in the listbox (px). Defaults to 32px (24px
3595
+ * compact; 36px / 32px on mobile viewports). Only applies when `groupBy`
3596
+ * is set. An explicit value wins on every viewport.
3597
+ */
3598
+ headerHeight?: number;
3599
+ /**
3600
+ * Seeds the ids the popover sets: its listbox is `<id>_listbox` (the
3601
+ * activator's `aria-controls`) and each option's id derives from it.
3602
+ * Generated when omitted.
3603
+ */
3604
+ id?: HTMLAttributes['id'];
3605
+ /**
3606
+ * Height of the options in the listbox (px). Defaults to 28px (24px
3607
+ * compact; 44px / 36px on mobile viewports). An explicit value wins on
3608
+ * every viewport.
3609
+ *
3610
+ * @defaultValue `28`
3611
+ */
3612
+ itemHeight?: number;
3613
+ /**
3614
+ * The options: an array, or a sync or async provider given a
3615
+ * `BbSelectPopoverItemsContext` (`query`, `reason`, `modelValue`,
3616
+ * `signal`). Branch on `reason !== 'search'` to resolve the
3617
+ * selection by id. A provider fails by THROWING, never by returning `[]`.
3618
+ *
3619
+ * @defaultValue `[]`
3620
+ */
3621
+ items:
3622
+ | Item[]
3623
+ | ((context: BbSelectPopoverItemsContext) => Item[] | Promise<Item[]>);
3624
+ /**
3625
+ * Path to item property for display text or function to extract it.
3626
+ *
3627
+ * Unset: own `label`, else `text` (`{ label, value }` needs no accessor).
3628
+ *
3629
+ * @defaultValue own `label`, else `text`, else `JSON.stringify(item)`
3630
+ */
3631
+ itemText?: ItemAccessor<Item, string>;
3632
+ /**
3633
+ * ADDITIONAL row fields, never the text or value: `description` (a muted
3634
+ * line under the label), `prepend:icon`, `append:icon`. An object of paths
3635
+ * or getters per field, or a function of the item. Nothing is read
3636
+ * implicitly; none shows in the trigger or the chips.
3637
+ */
3638
+ itemProps?: BbSelectItemProps<Item>;
3639
+ /**
3640
+ * Path to item property for value or function to extract it.
3641
+ *
3642
+ * Unset: own `value`, even `null`.
3643
+ *
3644
+ * @defaultValue own `value`, else the whole item
3645
+ */
3646
+ itemValue?: ItemAccessor<Item>;
3647
+ /**
3648
+ * `{ value, label }` rows naming the value the app already holds, whatever
3649
+ * the options' shape: the activator's `text` with no request until the
3650
+ * first open (`prefill: true` still loads). Not options: accessors never
3651
+ * run on them; slots get one as `item`, `known: true`, until the list
3652
+ * brings its own.
3653
+ */
3654
+ knownItems?: [Known] extends [undefined] ? BbSelectKnownItems : Known;
3655
+ /**
3656
+ * Display the loading state styles.
3657
+ */
3658
+ loading?: boolean;
3659
+ /**
3660
+ * Message shown while items are being loaded.
3661
+ */
3662
+ loadingText?: string;
3663
+ /**
3664
+ * Maximum number of selectable items (limits selection when `multiple` is true).
3665
+ *
3666
+ * @defaultValue `Infinity`
3667
+ */
3668
+ max?: number;
3669
+ /**
3670
+ * v-model value. Single value for single select, array for multiple select.
3671
+ */
3672
+ modelValue: any;
3673
+ /**
3674
+ * Debounce delay (ms) for modelValue change handling.
3675
+ *
3676
+ * @defaultValue `0`
3677
+ */
3678
+ modelValueDebounceTime?: number;
3679
+ /**
3680
+ * Enable multiple item selection. When true, modelValue must be an array.
3681
+ */
3682
+ multiple?: boolean;
3683
+ /**
3684
+ * Message displayed when no items are available.
3685
+ */
3686
+ emptyText?: string;
3687
+ /**
3688
+ * Message displayed in the empty state while the latest load FAILED (the
3689
+ * provider threw): the twin of `emptyText` for that case.
3690
+ *
3691
+ * @defaultValue the localized `common.failedText` ("Couldn't load items")
3692
+ */
3693
+ failedText?: string;
3694
+ /**
3695
+ * Distance (px) between the activator and the popover.
3696
+ *
3697
+ * @defaultValue `4`
3698
+ */
3699
+ offset?: number;
3700
+ /**
3701
+ * Minimum page padding used by floating shift middleware.
3702
+ *
3703
+ * @defaultValue `10`
3704
+ */
3705
+ padding?: number;
3706
+ /**
3707
+ * Floating placement of the popover.
3708
+ *
3709
+ * @defaultValue `'bottom'`
3710
+ */
3711
+ placement?: Placement;
3712
+ /**
3713
+ * When the options first load: `'interaction'` on first open, `true` on
3714
+ * mount (and in SSR), `false` once the user types (on open with
3715
+ * `disable-writing` or a non-empty model). An array `items` always
3716
+ * resolves on mount; else a seeded model's text waits for the first open.
3717
+ *
3718
+ * @defaultValue `'interaction'`
3719
+ */
3720
+ prefill?: boolean | 'interaction';
3721
+ /**
3722
+ * Debounce delay (ms) before triggering search queries after user input stops.
3723
+ *
3724
+ * @defaultValue `500`
3725
+ */
3726
+ queryDebounceTime?: number;
3727
+ /**
3728
+ * Prevents opening the popover while keeping the activator accessible.
3729
+ */
3730
+ readonly?: boolean;
3731
+ /**
3732
+ * Accessible label used by the search input rendered inside the popover.
3733
+ * Falls back to the localized `select.searchLabel` key when omitted.
3734
+ *
3735
+ * @defaultValue `t('select.searchLabel')` (`'Search options'`)
3736
+ */
3737
+ searchInputAriaLabel?: string;
3738
+ /**
3739
+ * Defines whether options are selectable.
3740
+ * Can be a global boolean that affects all options or a function
3741
+ * that accepts an item and returns a boolean that only affects that item.
3742
+ * Non-selectable options are rendered disabled.
3743
+ *
3744
+ * @defaultValue `true`
3745
+ */
3746
+ selectable?: boolean | ((item: Item) => boolean);
3747
+ /**
3748
+ * Keeps picked options named across searches: a pick stays resolvable when
3749
+ * a later search or a failed load no longer returns it. It follows the
3750
+ * model, and does not keep a pick valid: `enforce-coherence` still prunes
3751
+ * it.
3752
+ */
3753
+ stash?: boolean;
3754
+ /**
3755
+ * Transition duration (ms) for popover show/hide animations.
3756
+ *
3757
+ * @defaultValue `250`
3758
+ */
3759
+ transitionDuration?: number;
3760
+ /**
3761
+ * Width of the popover in pixels, percentage, or `'auto'`. A bare number is
3762
+ * read as pixels — the default is the string `'200'`, not the number `200`.
3763
+ *
3764
+ * @defaultValue `'200'`
3765
+ */
3766
+ width?: number | string;
3767
+ };
3698
3768
 
3699
3769
  export type BbSelectPopoverEvents = {
3700
3770
  /** Emitted as soon as the options surface starts to open (the popover, or the sheet on a phone). */
@@ -3821,6 +3891,12 @@ export type BbSelectPopoverPanelSlotProps = {
3821
3891
  close: () => Promise<void>;
3822
3892
  /** Clears the current selection. */
3823
3893
  clear: () => void;
3894
+ /**
3895
+ * True while the list shows its empty state: no items, none matching the
3896
+ * query, or a failed load with nothing listed (never while loading). It
3897
+ * follows the `#empty` slot, so a footer can switch to "Create …".
3898
+ */
3899
+ empty: boolean;
3824
3900
  /** Focuses the search input (or the options when writing is disabled). */
3825
3901
  focus: () => void;
3826
3902
  /** The current search query string. */
@@ -3867,9 +3943,15 @@ export type BbSelectPopoverSlots<
3867
3943
  /**
3868
3944
  * Content shown when no options match the query or the list is empty.
3869
3945
  * `error` is what the latest failed load threw, untouched (`null` when
3870
- * none).
3946
+ * none). `close()` closes the panel, for an action that does not move
3947
+ * focus out of it.
3871
3948
  */
3872
- empty?: (props: { query: string; focus: () => void; error: unknown }) => any;
3949
+ empty?: (props: {
3950
+ query: string;
3951
+ focus: () => void;
3952
+ close: () => Promise<void>;
3953
+ error: unknown;
3954
+ }) => any;
3873
3955
  /**
3874
3956
  * Replaces the default rendering of each option row in the dropdown. With
3875
3957
  * `known-items` bound, a row the list has not brought yet is the known
@@ -3924,6 +4006,14 @@ export type BbSelectPopoverSlots<
3924
4006
  padding: 0.5rem 0.75rem;
3925
4007
  }
3926
4008
 
4009
+ /* `compact` steps them down with the rows (28px → 24px): 4px less, split. */
4010
+ &.bb-select-popover--compact {
4011
+ .bb-select-popover__header,
4012
+ .bb-select-popover__footer {
4013
+ padding-block: 0.375rem;
4014
+ }
4015
+ }
4016
+
3927
4017
  .bb-select-popover__search-icon,
3928
4018
  .bb-select-popover__search-error-icon,
3929
4019
  .bb-select-popover__search-warning-icon,
@@ -4479,7 +4569,8 @@ export type BbSelectPopoverSlots<
4479
4569
  .bb-select-popover__search-container {
4480
4570
  background-color: var(--bb-muted);
4481
4571
  border-bottom: 0;
4482
- border-radius: var(--bb-radius);
4572
+ /* Clamped like the bubble: half a control height at most. */
4573
+ border-radius: min(var(--bb-radius), calc(var(--bb-input-h) / 2));
4483
4574
  margin-bottom: 0.25rem;
4484
4575
  padding: 0.625rem 0.75rem;
4485
4576
  transition: background-color var(--bb-transition-fast) ease;