bitboss-ui 3.0.0-beta.47 → 3.0.0-beta.49

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 (398) hide show
  1. package/README.md +24 -7
  2. package/bin/bitboss-ui-mcp.mjs +15 -3
  3. package/bin/bitboss-ui.mjs +167 -14
  4. package/dist/ai/BbAccordion.md +1 -1
  5. package/dist/ai/BbAvatar.md +1 -1
  6. package/dist/ai/BbBreadcrumbs.md +65 -65
  7. package/dist/ai/BbButton.md +28 -8
  8. package/dist/ai/BbCheckbox.md +0 -2
  9. package/dist/ai/BbCheckboxGroup.md +13 -20
  10. package/dist/ai/BbCollapsible.md +1 -1
  11. package/dist/ai/BbColorPalette.md +1 -1
  12. package/dist/ai/BbConfirm.md +8 -0
  13. package/dist/ai/BbConfirmPortal.md +1 -1
  14. package/dist/ai/BbDatePickerInput.md +4 -2
  15. package/dist/ai/BbDialog.md +1 -8
  16. package/dist/ai/BbDropdown.md +231 -220
  17. package/dist/ai/BbDropdownButton.md +65 -65
  18. package/dist/ai/BbDropdownGroup.md +2 -2
  19. package/dist/ai/BbDropzone.md +10 -10
  20. package/dist/ai/BbForm.md +43 -52
  21. package/dist/ai/BbHoverCard.md +19 -7
  22. package/dist/ai/BbHoverCardPortal.md +1 -1
  23. package/dist/ai/BbNumberInput.md +88 -21
  24. package/dist/ai/BbPopover.md +47 -40
  25. package/dist/ai/BbPopoverPortal.md +1 -1
  26. package/dist/ai/BbProgress.md +48 -22
  27. package/dist/ai/BbRadioGroup.md +13 -19
  28. package/dist/ai/BbSelect.md +16 -36
  29. package/dist/ai/BbSelectPopover.md +14 -30
  30. package/dist/ai/BbSmoothHeight.md +0 -2
  31. package/dist/ai/BbSwitchGroup.md +13 -20
  32. package/dist/ai/BbTable.md +11 -10
  33. package/dist/ai/BbTabs.md +107 -106
  34. package/dist/ai/BbTabsList.md +2 -2
  35. package/dist/ai/BbTabsPanels.md +1 -1
  36. package/dist/ai/BbTabsRoot.md +3 -3
  37. package/dist/ai/BbTooltip.md +29 -13
  38. package/dist/ai/BbTree.md +14 -11
  39. package/dist/ai/CommonPopover.md +1 -1
  40. package/dist/ai/changelog.json +297 -6
  41. package/dist/ai/components.json +50 -45
  42. package/dist/ai/composables/useBbDropdownContext.md +16 -16
  43. package/dist/ai/composables/useBbFormField.md +5 -1
  44. package/dist/ai/composables/useBbTabsContext.md +14 -14
  45. package/dist/ai/guides/agent-contract.md +27 -27
  46. package/dist/ai/guides/ai-router.md +1 -1
  47. package/dist/ai/guides/component-picker.md +3 -3
  48. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  49. package/dist/ai/guides/icons-policy.md +10 -10
  50. package/dist/ai/guides/inertia-helpers.md +120 -67
  51. package/dist/ai/guides/installation-and-plugin-setup.md +45 -15
  52. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
  53. package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
  54. package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
  55. package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
  56. package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
  57. package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
  58. package/dist/ai/guides/migration/components/bb-select.md +10 -2
  59. package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
  60. package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
  61. package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
  62. package/dist/ai/guides/migration/v2-to-v3.md +143 -28
  63. package/dist/ai/guides/migration/v3-beta-css-classes.md +29 -27
  64. package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
  65. package/dist/ai/guides/options-items-playbook.md +30 -24
  66. package/dist/ai/guides/passthrough.md +4 -4
  67. package/dist/ai/guides/preset-components.md +18 -3
  68. package/dist/ai/guides/typescript-generic-components.md +1 -1
  69. package/dist/ai/guides/validated-forms.md +11 -22
  70. package/dist/ai/guides/validation-providers.md +4 -3
  71. package/dist/ai/helpers/inertia/manifest.json +636 -0
  72. package/dist/ai/helpers/inertia/types.ts +15 -0
  73. package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
  74. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
  75. package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
  76. package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
  77. package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
  78. package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
  79. package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
  80. package/dist/ai/helpers/inertia/useLoading.ts +20 -0
  81. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
  82. package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
  83. package/dist/ai/helpers/inertia/useProp.ts +63 -0
  84. package/dist/ai/helpers/inertia/useQuery.ts +19 -0
  85. package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
  86. package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
  87. package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
  88. package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
  89. package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
  90. package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
  91. package/dist/ai/helpers/inertia/useUntil.ts +33 -0
  92. package/dist/ai/helpers/inertia/utils.ts +24 -0
  93. package/dist/ai/index.md +6 -6
  94. package/dist/ai/manifest/components/BbAccordion.json +1 -1
  95. package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
  96. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  97. package/dist/ai/manifest/components/BbButton.json +2 -1
  98. package/dist/ai/manifest/components/BbButton.tree.json +1 -1
  99. package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
  100. package/dist/ai/manifest/components/BbCollapsible.json +1 -1
  101. package/dist/ai/manifest/components/BbColorPalette.json +1 -1
  102. package/dist/ai/manifest/components/BbConfirmPortal.json +5 -2
  103. package/dist/ai/manifest/components/BbDropdown.json +23 -20
  104. package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
  105. package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
  106. package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
  107. package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
  108. package/dist/ai/manifest/components/BbForm.json +1 -0
  109. package/dist/ai/manifest/components/BbHoverCard.json +1 -1
  110. package/dist/ai/manifest/components/BbHoverCardPortal.json +2 -2
  111. package/dist/ai/manifest/components/BbNumberInput.json +6 -1
  112. package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
  113. package/dist/ai/manifest/components/BbPopover.json +2 -1
  114. package/dist/ai/manifest/components/BbPopoverPortal.json +2 -2
  115. package/dist/ai/manifest/components/BbProgress.json +6 -6
  116. package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
  117. package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
  118. package/dist/ai/manifest/components/BbSelect.json +2 -2
  119. package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
  120. package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
  121. package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
  122. package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
  123. package/dist/ai/manifest/components/BbTabs.json +8 -7
  124. package/dist/ai/manifest/components/BbTabsList.json +3 -3
  125. package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
  126. package/dist/ai/manifest/components/BbTabsRoot.json +6 -5
  127. package/dist/ai/manifest/components/BbTag.tree.json +1 -1
  128. package/dist/ai/manifest/components/BbTooltip.json +2 -2
  129. package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
  130. package/dist/ai/manifest/components/CommonPopover.json +1 -1
  131. package/dist/ai/manifest/index.json +2 -2
  132. package/dist/ai/manifest/meta.json +5 -0
  133. package/dist/ai/manifest/types.advanced.json +10 -9
  134. package/dist/ai/manifest/types.api.json +8 -5
  135. package/dist/ai/manifest/types.wrapper.json +1 -0
  136. package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
  137. package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
  138. package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
  139. package/dist/ai/recipes/inertia/onboarding.md +6 -10
  140. package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
  141. package/dist/ai/recipes/inertia/record-form.md +11 -11
  142. package/dist/ai/recipes/inertia/records-workspace.md +38 -41
  143. package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
  144. package/dist/ai/recipes/inertia/upload-center.md +31 -39
  145. package/dist/ai/recipes/inertia/wizard-form.md +10 -19
  146. package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
  147. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
  148. package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
  149. package/dist/ai/recipes/nuxt/onboarding.md +2 -6
  150. package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
  151. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  152. package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
  153. package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
  154. package/dist/ai/recipes/nuxt/upload-center.md +22 -29
  155. package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
  156. package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
  157. package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
  158. package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
  159. package/dist/ai/recipes/vue/onboarding.md +2 -6
  160. package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
  161. package/dist/ai/recipes/vue/record-form.md +5 -5
  162. package/dist/ai/recipes/vue/records-workspace.md +29 -31
  163. package/dist/ai/recipes/vue/settings-workspace.md +22 -34
  164. package/dist/ai/recipes/vue/upload-center.md +22 -29
  165. package/dist/ai/recipes/vue/wizard-form.md +3 -11
  166. package/dist/ai/source/BbAccordion.md +1 -1
  167. package/dist/ai/source/BbAlert.md +3 -3
  168. package/dist/ai/source/BbBadge.md +14 -10
  169. package/dist/ai/source/BbBadgeButton.md +17 -12
  170. package/dist/ai/source/BbBaseButton.md +1 -1
  171. package/dist/ai/source/BbBaseRadioIcon.md +1 -0
  172. package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
  173. package/dist/ai/source/BbBreadcrumbs.md +63 -42
  174. package/dist/ai/source/BbButton.md +84 -38
  175. package/dist/ai/source/BbCalendar.md +17 -16
  176. package/dist/ai/source/BbCheckbox.md +3 -2
  177. package/dist/ai/source/BbCheckboxGroup.md +11 -4
  178. package/dist/ai/source/BbCollapsible.md +2 -1
  179. package/dist/ai/source/BbColorInput.md +10 -9
  180. package/dist/ai/source/BbColorPalette.md +2 -1
  181. package/dist/ai/source/BbConfirm.md +18 -1
  182. package/dist/ai/source/BbConfirmPortal.md +20 -6
  183. package/dist/ai/source/BbDatePicker.md +2 -2
  184. package/dist/ai/source/BbDatePickerInput.md +47 -20
  185. package/dist/ai/source/BbDialog.md +5 -5
  186. package/dist/ai/source/BbDropdown.md +231 -158
  187. package/dist/ai/source/BbDropdownButton.md +19 -12
  188. package/dist/ai/source/BbDropdownGroup.md +127 -93
  189. package/dist/ai/source/BbForm.md +25 -1
  190. package/dist/ai/source/BbHoverCard.md +30 -3
  191. package/dist/ai/source/BbHoverCardPortal.md +18 -3
  192. package/dist/ai/source/BbIndicator.md +4 -0
  193. package/dist/ai/source/BbNumberInput.md +855 -19
  194. package/dist/ai/source/BbOffCanvas.md +27 -11
  195. package/dist/ai/source/BbPagination.md +3 -3
  196. package/dist/ai/source/BbPopover.md +185 -12
  197. package/dist/ai/source/BbPopoverPortal.md +30 -3
  198. package/dist/ai/source/BbProgress.md +82 -18
  199. package/dist/ai/source/BbRadioGroup.md +12 -5
  200. package/dist/ai/source/BbRating.md +11 -9
  201. package/dist/ai/source/BbSelect.md +16 -10
  202. package/dist/ai/source/BbSelectPopover.md +29 -23
  203. package/dist/ai/source/BbSlider.md +12 -6
  204. package/dist/ai/source/BbSwitch.md +3 -2
  205. package/dist/ai/source/BbSwitchGroup.md +5 -2
  206. package/dist/ai/source/BbTable.md +102 -18
  207. package/dist/ai/source/BbTabs.md +30 -24
  208. package/dist/ai/source/BbTabsList.md +29 -23
  209. package/dist/ai/source/BbTabsPanels.md +29 -23
  210. package/dist/ai/source/BbTabsRoot.md +28 -22
  211. package/dist/ai/source/BbTag.md +10 -9
  212. package/dist/ai/source/BbTextInput.md +5 -4
  213. package/dist/ai/source/BbTextarea.md +6 -5
  214. package/dist/ai/source/BbTimePicker.md +1 -1
  215. package/dist/ai/source/BbTimePickerInput.md +46 -9
  216. package/dist/ai/source/BbToast.md +10 -7
  217. package/dist/ai/source/BbToastPortal.md +10 -7
  218. package/dist/ai/source/BbTooltip.md +88 -11
  219. package/dist/ai/source/BbTree.md +21 -3
  220. package/dist/ai/source/CommonField.md +6 -4
  221. package/dist/ai/source/CommonFieldInput.md +15 -10
  222. package/dist/ai/source/CommonPopover.md +8 -1
  223. package/dist/ai/source/CommonTimeSelector.md +5 -4
  224. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
  225. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
  226. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
  227. package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
  228. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +88 -70
  229. package/dist/components/BbButton/toggleRoving.d.ts +6 -0
  230. package/dist/components/BbButton/toggleRoving.js +45 -0
  231. package/dist/components/BbButton/types.d.ts +12 -4
  232. package/dist/components/BbButton/types.js +5 -1
  233. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
  234. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
  235. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
  236. package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
  237. package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
  238. package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
  239. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
  240. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
  241. package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
  242. package/dist/components/BbCollapsible/types.d.ts +2 -1
  243. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
  244. package/dist/components/BbColorPalette/types.d.ts +2 -1
  245. package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +2 -5
  246. package/dist/components/BbConfirm/types.d.ts +15 -0
  247. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
  248. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
  249. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
  250. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
  251. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
  252. package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
  253. package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
  254. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
  255. package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
  256. package/dist/components/BbDropdown/normalizeGroups.js +60 -46
  257. package/dist/components/BbDropdown/types.d.ts +120 -88
  258. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
  259. package/dist/components/BbDropdownButton/types.d.ts +2 -2
  260. package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
  261. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
  262. package/dist/components/BbForm/BbFormCustomField.js +1 -1
  263. package/dist/components/BbForm/bindFormField.js +2 -1
  264. package/dist/components/BbForm/formFields.d.ts +5 -0
  265. package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +145 -142
  266. package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
  267. package/dist/components/BbHoverCard/types.d.ts +14 -1
  268. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
  269. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
  270. package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
  271. package/dist/components/BbNumberInput/numberDisplay.js +499 -0
  272. package/dist/components/BbNumberInput/types.d.ts +54 -1
  273. package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
  274. package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
  275. package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
  276. package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
  277. package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
  278. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
  279. package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
  280. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -162
  281. package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
  282. package/dist/components/BbPopover/types.d.ts +26 -1
  283. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
  284. package/dist/components/BbProgress/types.d.ts +23 -7
  285. package/dist/components/BbProgress/types.js +1 -1
  286. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
  287. package/dist/components/BbRadioGroup/types.d.ts +6 -2
  288. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
  289. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
  290. package/dist/components/BbSelect/types.d.ts +6 -2
  291. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  292. package/dist/components/BbSelectPopover/types.d.ts +6 -2
  293. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
  294. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
  295. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
  296. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
  297. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
  298. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
  299. package/dist/components/BbTabs/types.d.ts +28 -22
  300. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
  301. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
  302. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
  303. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
  304. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +99 -86
  305. package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
  306. package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
  307. package/dist/components/BbTooltip/types.d.ts +10 -3
  308. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
  309. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
  310. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
  311. package/dist/components/CommonPopover/types.d.ts +2 -1
  312. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
  313. package/dist/composables/formSubmitLock.d.ts +6 -0
  314. package/dist/composables/formSubmitLock.js +4 -0
  315. package/dist/composables/useBaseOptions.d.ts +7 -1
  316. package/dist/composables/useBaseOptions.js +32 -32
  317. package/dist/composables/useBbDropdownContext.d.ts +8 -8
  318. package/dist/composables/useBbFormField.d.ts +9 -0
  319. package/dist/composables/useBbFormField.js +5 -3
  320. package/dist/composables/useBbTabsContext.d.ts +10 -10
  321. package/dist/composables/useBbTabsContext.js +18 -18
  322. package/dist/composables/useFormBinding.d.ts +11 -0
  323. package/dist/composables/useFormBinding.js +15 -13
  324. package/dist/composables/useItemText.d.ts +5 -1
  325. package/dist/composables/useItemText.js +8 -3
  326. package/dist/composables/useItemValue.d.ts +5 -1
  327. package/dist/composables/useItemValue.js +8 -3
  328. package/dist/composables/useLocale.js +10 -9
  329. package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
  330. package/dist/deprecation/ai-deprecations.json.js +1 -1
  331. package/dist/deprecation/removedProps.js +1 -1
  332. package/dist/directives/bbDropdown.js +1 -1
  333. package/dist/directives/directivePortal.d.ts +13 -7
  334. package/dist/directives/directivePortal.js +1 -4
  335. package/dist/i18n/index.d.ts +7 -12
  336. package/dist/i18n/locales/cs.json +11 -14
  337. package/dist/i18n/locales/da.json +13 -16
  338. package/dist/i18n/locales/de-CH.json +137 -0
  339. package/dist/i18n/locales/de.json +14 -17
  340. package/dist/i18n/locales/el.json +10 -13
  341. package/dist/i18n/locales/en-GB.json +137 -0
  342. package/dist/i18n/locales/en.json +8 -11
  343. package/dist/i18n/locales/es-MX.json +137 -0
  344. package/dist/i18n/locales/es.json +16 -19
  345. package/dist/i18n/locales/fi.json +8 -11
  346. package/dist/i18n/locales/fr.json +23 -26
  347. package/dist/i18n/locales/hu.json +8 -11
  348. package/dist/i18n/locales/it.json +12 -15
  349. package/dist/i18n/locales/ja.json +13 -16
  350. package/dist/i18n/locales/ko.json +10 -13
  351. package/dist/i18n/locales/nb.json +13 -16
  352. package/dist/i18n/locales/nl.json +21 -24
  353. package/dist/i18n/locales/pl.json +10 -13
  354. package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
  355. package/dist/i18n/locales/pt-PT.json +137 -0
  356. package/dist/i18n/locales/ro.json +22 -25
  357. package/dist/i18n/locales/ru.json +11 -14
  358. package/dist/i18n/locales/sv.json +16 -19
  359. package/dist/i18n/locales/tr.json +14 -17
  360. package/dist/i18n/locales/uk.json +11 -14
  361. package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
  362. package/dist/i18n/locales/zh-HK.json +137 -0
  363. package/dist/i18n/locales/zh-TW.json +137 -0
  364. package/dist/i18n/regionHints.d.ts +16 -0
  365. package/dist/i18n/regionHints.js +49 -0
  366. package/dist/i18n/regions.d.ts +286 -0
  367. package/dist/i18n/regions.js +265 -0
  368. package/dist/index.d.ts +4 -4
  369. package/dist/index.js +4 -4
  370. package/dist/llms-full.txt +1914 -1714
  371. package/dist/llms-medium.txt +76 -46
  372. package/dist/llms.txt +7 -7
  373. package/dist/locale-blueprint.json +16 -13
  374. package/dist/styles.css +2 -2
  375. package/dist/types/passthrough.d.ts +1 -1
  376. package/dist/types/ptComponentMap.d.ts +2 -2
  377. package/dist/utilities/functions/slotKey.d.ts +2 -2
  378. package/dist/utils/versionCheck.js +1 -1
  379. package/dist/vite-plugin.d.ts +22 -19
  380. package/dist/vite.js +309 -297
  381. package/llms.txt +7 -7
  382. package/package.json +5 -3
  383. package/scripts/lib/agent-manifest.mjs +2 -1
  384. package/scripts/lib/eslint-disable.mjs +17 -4
  385. package/scripts/lib/eslint-plugin.d.ts +9 -1
  386. package/scripts/lib/eslint-plugin.mjs +256 -6
  387. package/scripts/lib/helper-canon.mjs +176 -0
  388. package/scripts/lib/helpers-add.mjs +1303 -0
  389. package/scripts/lib/local-components.mjs +33 -4
  390. package/scripts/lib/locale-check.mjs +165 -0
  391. package/scripts/lib/portal-names.mjs +458 -0
  392. package/scripts/lib/redundant-item-accessor.mjs +398 -0
  393. package/scripts/lib/renamed-item-field.mjs +343 -0
  394. package/scripts/lib/slot-key.mjs +2 -2
  395. package/scripts/lib/slot-renames.mjs +1 -1
  396. package/scripts/lib/unimported-components.mjs +5 -2
  397. package/scripts/lib/validate-bb-markup.mjs +123 -56
  398. package/dist/i18n/index.js +0 -27
@@ -72,7 +72,7 @@ var C = ["id"], w = /*@__PURE__*/ f({
72
72
  setup(f, { emit: w }) {
73
73
  let T = f, E = w;
74
74
  process.env.NODE_ENV !== "production" && n("BbTabs", t("BbTabs"), {
75
- slotKeys: () => (T.items ?? []).map((e) => e.key),
75
+ slotKeys: () => (T.items ?? []).map((e) => e.value),
76
76
  family: "BbTabs"
77
77
  });
78
78
  let D = x(), { id: O, direction: k, block: A, compact: j, disabled: M } = r(T, E), N = e({
@@ -34,7 +34,7 @@ var ce = { class: "bb-tabs-list__prepend" }, le = ["aria-orientation"], ue = { c
34
34
  setup(p) {
35
35
  let w = p, T = () => window.matchMedia?.("(prefers-reduced-motion: reduce)").matches ? "instant" : "smooth", pe = e(), E = a() ?? pe.throw("<BbTabsList> must be rendered inside a <BbTabs> or <BbTabsRoot> subtree.");
36
36
  process.env.NODE_ENV !== "production" && r("BbTabsList", n("BbTabsList"), {
37
- slotKeys: () => E.items.value.map((e) => e.key),
37
+ slotKeys: () => E.items.value.map((e) => e.value),
38
38
  family: "BbTabs"
39
39
  });
40
40
  let { mappedItems: D, currentTab: O, direction: k, block: A, compact: j, disabled: M, eager: me } = E, N = t({
@@ -89,9 +89,13 @@ export type BbTabsItem<K extends string = string> = BbTabsInertiaOptions & {
89
89
  */
90
90
  href?: string;
91
91
  /**
92
- * String that identifies the tab.
92
+ * Identifies the tab: what `v-model` holds while it is the active one, the
93
+ * name of its slots (`#<value>` for its panel, `#<value>:label` for its
94
+ * trigger, through `slotKey`) and, with `navigation`, the URL slug.
93
95
  */
94
- key: K;
96
+ value: K;
97
+ /** Tabs have no `key` (that is `value`). Guards against the old shape. */
98
+ key?: never;
95
99
  /**
96
100
  * Label to use as the tab text.
97
101
  */
@@ -107,7 +111,7 @@ export type BbTabsItem<K extends string = string> = BbTabsInertiaOptions & {
107
111
  * Passthrough parts of `BbTabs` (plans/passthrough/BbTabs.md). Tabs do not
108
112
  * "open", so there is no `open` state.
109
113
  *
110
- * Per-item functions: on the instance, `item` also accepts `({ item, active, … }) => PtValue | false | null | undefined` — `item` is the tab's descriptor (the element of `items`: its `key`, `label`, anything else you put on it), and every state a boolean beside it, on for it (`active`, `disabled`, …) — in the `pt` object or the `:pt:item` attribute, never on a `item:<state>` key and never in the global map or a scope (they ship as JSON). Its result is merged last, after every state entry, through the same deduper; a falsy result leaves the trigger as it was. No other part takes a function. See the passthrough guide, _Per-item functions_.
114
+ * Per-item functions: on the instance, `item` also accepts `({ item, active, … }) => PtValue | false | null | undefined` — `item` is the tab's descriptor (the element of `items`: its `value`, `label`, anything else you put on it), and every state a boolean beside it, on for it (`active`, `disabled`, …) — in the `pt` object or the `:pt:item` attribute, never on a `item:<state>` key and never in the global map or a scope (they ship as JSON). Its result is merged last, after every state entry, through the same deduper; a falsy result leaves the trigger as it was. No other part takes a function. See the passthrough guide, _Per-item functions_.
111
115
  *
112
116
  * @part root - The tabs' outer element, around the strip and the panels.
113
117
  * @part wrapper - The strip's outer element: the `wrapper:prepend` slot, the
@@ -226,7 +230,9 @@ export type BbTabsRootProps<K extends string = string> = BbTabsInertiaOptions &
226
230
  */
227
231
  disabled?: boolean;
228
232
  /**
229
- * Prevents rendering content before it's made visible.
233
+ * Renders every tab's panel at mount and keeps it mounted, hidden while
234
+ * inactive, instead of only the active one. One tab alone: its item's
235
+ * `eager`.
230
236
  */
231
237
  eager?: boolean;
232
238
  /**
@@ -275,9 +281,9 @@ export type BbTabsRootProps<K extends string = string> = BbTabsInertiaOptions &
275
281
  */
276
282
  manualActivation?: boolean;
277
283
  /**
278
- * The current tab key. Used by v-model.
284
+ * The active tab's `value`. Used by v-model.
279
285
  */
280
- modelValue?: null | BbTabsItem<K>['key'];
286
+ modelValue?: null | BbTabsItem<K>['value'];
281
287
  /**
282
288
  * Synchronizes the current tab with the URL query parameter.
283
289
  *
@@ -362,8 +368,8 @@ export type BbTabsPanelsProps = {
362
368
  export type BbTabsRootEvents<K extends string = string> = BbTabsEvents<K>;
363
369
  /** Props exposed by the per-tab label slots and the generic `label` fallback slot. */
364
370
  export type BbTabsSlotProps<K extends string = string> = {
365
- /** The key of the currently active tab. */
366
- current: BbTabsItem<K>['key'] | null;
371
+ /** The `value` of the currently active tab. */
372
+ current: BbTabsItem<K>['value'] | null;
367
373
  /** Zero-based index of the currently active tab. */
368
374
  currentIndex: number;
369
375
  /** Whether this tab is disabled. */
@@ -374,10 +380,10 @@ export type BbTabsSlotProps<K extends string = string> = {
374
380
  isLast: boolean;
375
381
  /** Whether this specific tab is currently active. */
376
382
  selected: boolean;
377
- /** The `label` value of this tab item. */
378
- text: BbTabsItem<K>['label'];
379
- /** The `key` value of this tab item. */
380
- value: BbTabsItem<K>['key'];
383
+ /** This tab's `label`. */
384
+ label: BbTabsItem<K>['label'];
385
+ /** This tab's `value`. */
386
+ value: BbTabsItem<K>['value'];
381
387
  /** Navigate to `'first'`, `'previous'`, `'next'`, or `'last'` tab. */
382
388
  goTo: (target: 'first' | 'previous' | 'next' | 'last') => void;
383
389
  };
@@ -398,7 +404,7 @@ export type BbTabsScrollSlotProps = {
398
404
  /**
399
405
  * Slots rendered by the tab list (the strip of triggers).
400
406
  *
401
- * @dynamicSlot `<key>:label` {BbTabsSlotProps<K>} - One tab trigger's label, by the tab `key` through `slotKey`; beats `label`, which beats the item's `label` text.
407
+ * @dynamicSlot `<value>:label` {BbTabsSlotProps<K>} - One tab trigger's label, by the tab's `value` through `slotKey`; beats `label`, which beats the item's `label` text.
402
408
  */
403
409
  export type BbTabsListSlots<K extends string = string> = {
404
410
  /**
@@ -410,26 +416,26 @@ export type BbTabsListSlots<K extends string = string> = {
410
416
  */
411
417
  'wrapper:append'?: (props: BbTabsScrollSlotProps) => any;
412
418
  /**
413
- * Fallback slot used for all tab labels when no per-tab `<key>:label` slot is provided.
419
+ * Fallback slot used for all tab labels when no per-tab `<value>:label` slot is provided.
414
420
  */
415
421
  label?: (props: BbTabsSlotProps<K>) => any;
416
422
  } & Record<string, ((props: BbTabsSlotProps<K>) => any) | undefined>;
417
423
  /**
418
424
  * Slots rendered by the tab panels — one per tab, keyed by the normalized
419
- * `slotKey(key)`.
425
+ * `slotKey(value)`.
420
426
  *
421
- * @dynamicSlot `<key>` {BbTabsSlotProps<K>} - One tab's content panel, by the tab `key` through `slotKey`; no fallback (an empty panel).
427
+ * @dynamicSlot `<value>` {BbTabsSlotProps<K>} - One tab's content panel, by the tab's `value` through `slotKey`; no fallback (an empty panel).
422
428
  */
423
429
  export type BbTabsPanelsSlots<K extends string = string> = Record<string, ((props: BbTabsSlotProps<K>) => any) | undefined>;
424
430
  /**
425
- * @dynamicSlot `<key>` {BbTabsSlotProps<K>} - One tab's content panel, by the tab `key` through `slotKey`; no fallback (an empty panel).
426
- * @dynamicSlot `<key>:label` {BbTabsSlotProps<K>} - One tab trigger's label, by the tab `key` through `slotKey`; beats `label`, which beats the item's `label` text.
431
+ * @dynamicSlot `<value>` {BbTabsSlotProps<K>} - One tab's content panel, by the tab's `value` through `slotKey`; no fallback (an empty panel).
432
+ * @dynamicSlot `<value>:label` {BbTabsSlotProps<K>} - One tab trigger's label, by the tab's `value` through `slotKey`; beats `label`, which beats the item's `label` text.
427
433
  */
428
434
  export type BbTabsSlots<K extends string = string> = BbTabsListSlots<K> & BbTabsPanelsSlots<K>;
429
435
  /** Props exposed by the `BbTabsRoot` default slot. */
430
436
  export type BbTabsRootSlotProps<K extends string = string> = {
431
- /** The key of the currently active tab. */
432
- current: BbTabsItem<K>['key'] | null;
437
+ /** The `value` of the currently active tab. */
438
+ current: BbTabsItem<K>['value'] | null;
433
439
  /** Zero-based index of the currently active tab. */
434
440
  currentIndex: number;
435
441
  /** Whether the active tab is the first tab. */
@@ -438,8 +444,8 @@ export type BbTabsRootSlotProps<K extends string = string> = {
438
444
  isLast: boolean;
439
445
  /** Navigate to `'first'`, `'previous'`, `'next'`, or `'last'` tab. */
440
446
  goTo: (target: 'first' | 'previous' | 'next' | 'last') => void;
441
- /** Select a tab by key. */
442
- select: (key: BbTabsItem<K>['key']) => void;
447
+ /** Select a tab by its `value`. */
448
+ select: (value: BbTabsItem<K>['value']) => void;
443
449
  };
444
450
  export type BbTabsRootSlots<K extends string = string> = {
445
451
  /**
@@ -193,110 +193,110 @@ var _e = { class: "bb-tag__input-container" }, ve = [
193
193
  "update:modelValue"
194
194
  ],
195
195
  setup(p, { emit: T }) {
196
- let E = p, { props: D, emit: O, showAsterisk: ye, errors: be, required: k, ariaRequired: xe, model: A } = re(E, T, {
196
+ let E = p, { props: D, emit: O, showAsterisk: ye, errors: be, required: k, ariaRequired: xe, model: A, readonly: j } = re(E, T, {
197
197
  componentName: "BbTag",
198
198
  identifierFallback: () => E.label,
199
199
  emptyValue: () => [],
200
200
  leaveOn: "inactive"
201
201
  }), Se = c(() => xe.value ?? (k.value && A.value.length ? !0 : void 0)), Ce = i();
202
202
  process.env.NODE_ENV !== "production" && o("BbTag", a("BbTag"));
203
- let j = v("idle"), M = c(() => j.value === "active"), we = c(() => D.persistentHint || j.value !== "idle"), N = c(() => (D.modelValue?.length ?? 0) > 0), Te = c(() => D.labelMode ?? Ce.defaultInputLabelMode), P = r({
203
+ let M = v("idle"), N = c(() => M.value === "active"), we = c(() => D.persistentHint || M.value !== "idle"), P = c(() => (D.modelValue?.length ?? 0) > 0), Te = c(() => D.labelMode ?? Ce.defaultInputLabelMode), F = r({
204
204
  component: "BbTag",
205
205
  attrs: me(),
206
206
  controlAttrs: t,
207
207
  props: D,
208
208
  parts: s.parts,
209
209
  states: s.states,
210
- active: n(D, () => N.value)
210
+ active: n(D, () => P.value)
211
211
  }), Ee = e();
212
212
  Array.isArray(D.modelValue) || Ee.throw("BbTag: modelValue must be an array.");
213
- let F = v(null), I = v(null), L = v(null), R = c(() => D.comma ? I.value : L.value), z = v(null), De = () => {
214
- z.value instanceof HTMLInputElement && z.value.focus();
215
- }, B = v(""), V = c(() => ke.value.filter((e) => e.selected)), { data: H } = ie({ items: b(D, "modelValue") }), U = (e) => D.caseSensitive ? e : e.toLowerCase(), Oe = c(() => new Set(D.modelValue.map((e) => U(String(e))))), { options: ke } = ae({
213
+ let I = v(null), L = v(null), R = v(null), z = c(() => D.comma ? L.value : R.value), B = v(null), De = () => {
214
+ B.value instanceof HTMLInputElement && B.value.focus();
215
+ }, V = v(""), H = c(() => ke.value.filter((e) => e.selected)), { data: U } = ie({ items: b(D, "modelValue") }), W = (e) => D.caseSensitive ? e : e.toLowerCase(), Oe = c(() => new Set(D.modelValue.map((e) => W(String(e))))), { options: ke } = ae({
216
216
  disabled: b(D, "disabled"),
217
217
  items: c(() => D.modelValue),
218
218
  itemText: void 0,
219
219
  itemValue: void 0,
220
220
  max: b(D, "max"),
221
221
  selectable: !0,
222
- selectedIndexedByHash: H
223
- }), W = () => {
224
- B.value = "";
225
- }, G = async (e) => {
222
+ selectedIndexedByHash: U
223
+ }), G = () => {
224
+ V.value = "";
225
+ }, K = async (e) => {
226
226
  if (D.disabled || D.readonly) return;
227
- let t = { ...H.value };
227
+ let t = { ...U.value };
228
228
  delete t[e.valueHash], O("update:modelValue", Object.values(t)), De();
229
- }, K;
229
+ }, q;
230
230
  S(() => D.modelValue, async (e) => {
231
- if (pe(e) === K) {
232
- K = void 0;
231
+ if (pe(e) === q) {
232
+ q = void 0;
233
233
  return;
234
234
  }
235
- W();
235
+ G();
236
236
  }), S(() => D.disabled, (e) => {
237
- e && R.value?.blur();
237
+ e && z.value?.blur();
238
238
  }), S(() => D.readonly, (e) => {
239
- e && R.value?.blur();
239
+ e && z.value?.blur();
240
240
  });
241
241
  let Ae = () => {
242
- j.value = "active", O("active");
243
- }, q = () => {
244
- j.value = "idle", O("inactive");
242
+ M.value = "active", O("active");
243
+ }, J = () => {
244
+ M.value = "idle", O("inactive");
245
245
  }, je = () => {
246
- M.value || (Ae(), document.addEventListener("click", Z), document.addEventListener("focusin", Z));
247
- }, J = c(() => !(D.readonly || D.disabled || !R.value)), Me = (e) => {
248
- J.value && (B.value || (e.preventDefault(), V.value.length && R.value?.focusPrevious()));
246
+ N.value || (Ae(), document.addEventListener("click", Q), document.addEventListener("focusin", Q));
247
+ }, Y = c(() => !(D.readonly || D.disabled || !z.value)), Me = (e) => {
248
+ Y.value && (V.value || (e.preventDefault(), H.value.length && z.value?.focusPrevious()));
249
249
  }, Ne = (e) => {
250
- J.value && (B.value || (e.preventDefault(), V.value.length && R.value?.focusNext()));
251
- }, Y = async () => {
252
- !J.value || B.value || !V.value.length || (R.value?.getHighlighted() && R.value.confirmOption(), await le(), R.value?.focusPrevious());
250
+ Y.value && (V.value || (e.preventDefault(), H.value.length && z.value?.focusNext()));
251
+ }, X = async () => {
252
+ !Y.value || V.value || !H.value.length || (z.value?.getHighlighted() && z.value.confirmOption(), await le(), z.value?.focusPrevious());
253
253
  }, Pe = () => {
254
- R.value?.blur();
254
+ z.value?.blur();
255
255
  }, Fe = (e) => {
256
- !J.value || B.value || (e.preventDefault(), V.value.length && R.value?.focusFirst());
256
+ !Y.value || V.value || (e.preventDefault(), H.value.length && z.value?.focusFirst());
257
257
  }, Ie = (e) => {
258
- !J.value || B.value || (e.preventDefault(), V.value.length && R.value?.focusLast());
259
- }, X = c(() => Array.isArray(D.divider) ? D.divider : [D.divider]), Le = async (e) => {
258
+ !Y.value || V.value || (e.preventDefault(), H.value.length && z.value?.focusLast());
259
+ }, Z = c(() => Array.isArray(D.divider) ? D.divider : [D.divider]), Le = async (e) => {
260
260
  if (O("keydown", e), e.key === "Tab") {
261
- R.value?.blur();
261
+ z.value?.blur();
262
262
  return;
263
263
  }
264
264
  if (D.readonly || D.disabled) {
265
265
  e.preventDefault();
266
266
  return;
267
267
  }
268
- /^[A-Za-z0-9]$/.test(e.key) && R.value?.blur(), (X.value.find((t) => t === e.key) ?? (e.key === "Unidentified" ? X.value.find((e) => B.value.includes(e)) : void 0)) !== void 0 && ze(e);
268
+ /^[A-Za-z0-9]$/.test(e.key) && z.value?.blur(), (Z.value.find((t) => t === e.key) ?? (e.key === "Unidentified" ? Z.value.find((e) => V.value.includes(e)) : void 0)) !== void 0 && ze(e);
269
269
  }, Re = () => {
270
- let e = [B.value];
271
- for (let t of X.value) t.length === 1 && (e = e.flatMap((e) => e.split(t)));
270
+ let e = [V.value];
271
+ for (let t of Z.value) t.length === 1 && (e = e.flatMap((e) => e.split(t)));
272
272
  return e.map((e) => e.trim()).filter(Boolean);
273
273
  }, ze = (e) => {
274
274
  let t = Re();
275
275
  if (!t.length) {
276
- B.value = "";
276
+ V.value = "";
277
277
  return;
278
278
  }
279
279
  e.preventDefault();
280
280
  let n = new Set(Oe.value), r = [], i = [];
281
281
  for (let [e, a] of t.entries()) {
282
- if (n.has(U(a))) {
282
+ if (n.has(W(a))) {
283
283
  O("duplicate", a);
284
284
  continue;
285
285
  }
286
- if (D.max !== void 0 && V.value.length + r.length >= D.max) {
286
+ if (D.max !== void 0 && H.value.length + r.length >= D.max) {
287
287
  O("max", a), i = t.slice(e);
288
288
  break;
289
289
  }
290
- n.add(U(a)), r.push(a);
290
+ n.add(W(a)), r.push(a);
291
291
  }
292
- if (B.value = i.join(`${X.value.find((e) => e.length === 1) ?? ","} `), !r.length) return;
292
+ if (V.value = i.join(`${Z.value.find((e) => e.length === 1) ?? ","} `), !r.length) return;
293
293
  let a = D.modelValue.concat(r);
294
- K = i.length ? a : void 0, O("update:modelValue", a);
294
+ q = i.length ? a : void 0, O("update:modelValue", a);
295
295
  }, Be = {
296
296
  ArrowLeft: Me,
297
297
  ArrowRight: Ne,
298
- Backspace: Y,
299
- Delete: Y,
298
+ Backspace: X,
299
+ Delete: X,
300
300
  End: Ie,
301
301
  Escape: (e) => {
302
302
  e.preventDefault(), Pe();
@@ -309,15 +309,15 @@ var _e = { class: "bb-tag__input-container" }, ve = [
309
309
  }
310
310
  Le(e), Be[e.key]?.(e);
311
311
  }, He = (e) => {
312
- j.value === "idle" && (j.value = "focused"), O("focus", e);
312
+ M.value === "idle" && (M.value = "focused"), O("focus", e);
313
313
  }, Ue = (e) => {
314
314
  O("click", e);
315
- }, Z = async (e) => {
316
- if (e.target instanceof Node && F.value && !F.value.$el.contains(e.target)) {
317
- q(), document.removeEventListener("click", Z), document.removeEventListener("focusin", Z), W();
315
+ }, Q = async (e) => {
316
+ if (e.target instanceof Node && I.value && !I.value.$el.contains(e.target)) {
317
+ J(), document.removeEventListener("click", Q), document.removeEventListener("focusin", Q), G();
318
318
  return;
319
319
  }
320
- }, Q = {
320
+ }, We = {
321
321
  onBlur: (e) => O("blur", e),
322
322
  onChange: (e) => O("change", e),
323
323
  onKeyup: (e) => O("keyup", e),
@@ -327,21 +327,21 @@ var _e = { class: "bb-tag__input-container" }, ve = [
327
327
  onPaste: (e) => O("paste", e),
328
328
  onCompositionstart: (e) => O("compositionstart", e),
329
329
  onCompositionend: (e) => O("compositionend", e)
330
- }, We = c(() => P.input ? h(Q, P.input) : Q), Ge = () => {
330
+ }, Ge = c(() => F.input ? h(We, F.input) : We), Ke = () => {
331
331
  O("update:modelValue", []);
332
332
  }, $ = () => {
333
- M.value ? (q(), W()) : j.value = "idle", document.removeEventListener("click", Z), document.removeEventListener("focusin", Z);
333
+ N.value ? (J(), G()) : M.value = "idle", document.removeEventListener("click", Q), document.removeEventListener("focusin", Q);
334
334
  };
335
335
  return fe($), de($), (e, t) => (_(), l(ne, h({
336
336
  id: e.id,
337
337
  class: "bb-tag",
338
- clearable: e.clearable && N.value,
338
+ clearable: e.clearable && P.value,
339
339
  compact: e.compact,
340
340
  description: e.description,
341
341
  disabled: e.disabled,
342
342
  errors: x(be),
343
343
  "has-errors": e.hasErrors,
344
- "has-value": N.value,
344
+ "has-value": P.value,
345
345
  "has-warnings": e.hasWarnings,
346
346
  "hide-label": e.hideLabel,
347
347
  hint: e.hint,
@@ -353,36 +353,36 @@ var _e = { class: "bb-tag__input-container" }, ve = [
353
353
  layout: e.layout,
354
354
  loading: e.loading,
355
355
  name: e.name,
356
- passthrough: x(P),
357
- readonly: e.readonly,
356
+ passthrough: x(F),
357
+ readonly: x(j),
358
358
  reverse: e.reverse,
359
359
  "show-asterisk": x(ye),
360
360
  "show-hint": we.value,
361
361
  warnings: e.warnings
362
- }, x(P).forwardAttrs), d({
362
+ }, x(F).forwardAttrs), d({
363
363
  label: C((t) => [y(e.$slots, "label", g(m(t)))]),
364
364
  input: C(({ id: n, hasErrors: r, hasWarnings: i, ariaDescribedby: a, ariaLabelledby: o }) => [f(oe, {
365
365
  ref_key: "wrapper",
366
- ref: F,
367
- active: M.value,
366
+ ref: I,
367
+ active: N.value,
368
368
  "append:icon": x(D)["append:icon"],
369
369
  class: ue(["bb-tag__field", {
370
- "bb-tag__field--active": M.value,
370
+ "bb-tag__field--active": N.value,
371
371
  "bb-tag__field--compact": e.compact
372
372
  }]),
373
373
  clearable: e.clearable,
374
374
  compact: e.compact,
375
375
  disabled: e.disabled,
376
376
  "has-errors": r,
377
- "has-value": N.value,
377
+ "has-value": P.value,
378
378
  "has-warnings": i,
379
379
  loading: e.loading,
380
- passthrough: x(P),
380
+ passthrough: x(F),
381
381
  "prepend:icon": x(D)["prepend:icon"],
382
- readonly: e.readonly,
382
+ readonly: x(j),
383
383
  variant: e.variant,
384
384
  onClick: Ue,
385
- "onClick:clear": Ge,
385
+ "onClick:clear": Ke,
386
386
  onFocusin: je
387
387
  }, d({
388
388
  "prepend:outer": C(() => [y(e.$slots, "prepend:outer")]),
@@ -393,19 +393,19 @@ var _e = { class: "bb-tag__input-container" }, ve = [
393
393
  default: C(() => [u("span", _e, [e.comma ? (_(), l(ce, {
394
394
  key: 0,
395
395
  ref_key: "commaBox",
396
- ref: I,
397
- options: V.value,
398
- passthrough: x(P),
399
- "onOption:unselected": G
396
+ ref: L,
397
+ options: H.value,
398
+ passthrough: x(F),
399
+ "onOption:unselected": K
400
400
  }, null, 8, ["options", "passthrough"])) : (_(), l(se, {
401
401
  key: 1,
402
402
  ref_key: "chipsBox",
403
- ref: L,
404
- disabled: e.disabled || e.readonly,
405
- options: V.value,
406
- passthrough: x(P),
403
+ ref: R,
404
+ disabled: e.disabled || x(j),
405
+ options: H.value,
406
+ passthrough: x(F),
407
407
  size: "lg",
408
- "onOption:unselected": G
408
+ "onOption:unselected": K
409
409
  }, null, 8, [
410
410
  "disabled",
411
411
  "options",
@@ -413,28 +413,28 @@ var _e = { class: "bb-tag__input-container" }, ve = [
413
413
  ])), ge(u("input", h({
414
414
  id: n,
415
415
  ref_key: "input",
416
- ref: z,
417
- "onUpdate:modelValue": t[0] ||= (e) => B.value = e,
416
+ ref: B,
417
+ "onUpdate:modelValue": t[0] ||= (e) => V.value = e,
418
418
  "aria-describedby": a,
419
419
  "aria-disabled": e.disabled || void 0,
420
420
  "aria-invalid": r || void 0,
421
421
  "aria-labelledby": o,
422
- "aria-readonly": e.readonly || void 0,
422
+ "aria-readonly": x(j) || void 0,
423
423
  autocomplete: e.autocomplete,
424
424
  autofocus: e.autofocus,
425
425
  class: "bb-tag__input",
426
426
  disabled: e.disabled,
427
427
  enterkeyhint: "done",
428
428
  placeholder: e.placeholder,
429
- readonly: e.readonly,
429
+ readonly: x(j),
430
430
  required: x(k) && !x(A).length,
431
431
  "aria-required": Se.value,
432
432
  size: "1",
433
- style: { "--characters": B.value.length },
433
+ style: { "--characters": V.value.length },
434
434
  type: "text",
435
435
  onFocus: w(He, ["stop"]),
436
436
  onKeydown: w(Ve, ["stop"])
437
- }, h(x(P).controlAttrs, We.value)), null, 16, ve), [[he, B.value]])])]),
437
+ }, h(x(F).controlAttrs, Ge.value)), null, 16, ve), [[he, V.value]])])]),
438
438
  _: 2
439
439
  }, 1024)]),
440
440
  _: 2