bitboss-ui 3.0.0-beta.48 → 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 (356) hide show
  1. package/README.md +24 -7
  2. package/bin/bitboss-ui-mcp.mjs +15 -3
  3. package/bin/bitboss-ui.mjs +115 -13
  4. package/dist/ai/BbAvatar.md +1 -1
  5. package/dist/ai/BbBreadcrumbs.md +65 -65
  6. package/dist/ai/BbButton.md +16 -5
  7. package/dist/ai/BbCheckbox.md +0 -2
  8. package/dist/ai/BbCheckboxGroup.md +13 -20
  9. package/dist/ai/BbDatePickerInput.md +4 -2
  10. package/dist/ai/BbDialog.md +1 -8
  11. package/dist/ai/BbDropdown.md +231 -220
  12. package/dist/ai/BbDropdownButton.md +65 -65
  13. package/dist/ai/BbDropdownGroup.md +2 -2
  14. package/dist/ai/BbDropzone.md +10 -10
  15. package/dist/ai/BbForm.md +43 -52
  16. package/dist/ai/BbHoverCard.md +4 -2
  17. package/dist/ai/BbNumberInput.md +88 -21
  18. package/dist/ai/BbPopover.md +29 -23
  19. package/dist/ai/BbProgress.md +48 -22
  20. package/dist/ai/BbRadioGroup.md +13 -19
  21. package/dist/ai/BbSelect.md +16 -36
  22. package/dist/ai/BbSelectPopover.md +14 -30
  23. package/dist/ai/BbSmoothHeight.md +0 -2
  24. package/dist/ai/BbSwitchGroup.md +13 -20
  25. package/dist/ai/BbTable.md +11 -10
  26. package/dist/ai/BbTabs.md +106 -105
  27. package/dist/ai/BbTabsList.md +2 -2
  28. package/dist/ai/BbTabsPanels.md +1 -1
  29. package/dist/ai/BbTabsRoot.md +2 -2
  30. package/dist/ai/BbTooltip.md +24 -10
  31. package/dist/ai/BbTree.md +14 -11
  32. package/dist/ai/changelog.json +256 -5
  33. package/dist/ai/components.json +36 -34
  34. package/dist/ai/composables/useBbDropdownContext.md +16 -16
  35. package/dist/ai/composables/useBbFormField.md +5 -1
  36. package/dist/ai/composables/useBbTabsContext.md +14 -14
  37. package/dist/ai/guides/agent-contract.md +27 -27
  38. package/dist/ai/guides/ai-router.md +1 -1
  39. package/dist/ai/guides/component-picker.md +3 -3
  40. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  41. package/dist/ai/guides/icons-policy.md +10 -10
  42. package/dist/ai/guides/inertia-helpers.md +120 -67
  43. package/dist/ai/guides/installation-and-plugin-setup.md +43 -15
  44. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
  45. package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
  46. package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
  47. package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
  48. package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
  49. package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
  50. package/dist/ai/guides/migration/components/bb-select.md +10 -2
  51. package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
  52. package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
  53. package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
  54. package/dist/ai/guides/migration/v2-to-v3.md +114 -17
  55. package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
  56. package/dist/ai/guides/options-items-playbook.md +30 -24
  57. package/dist/ai/guides/passthrough.md +2 -2
  58. package/dist/ai/guides/preset-components.md +18 -3
  59. package/dist/ai/guides/typescript-generic-components.md +1 -1
  60. package/dist/ai/guides/validated-forms.md +11 -22
  61. package/dist/ai/guides/validation-providers.md +4 -3
  62. package/dist/ai/helpers/inertia/manifest.json +636 -0
  63. package/dist/ai/helpers/inertia/types.ts +15 -0
  64. package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
  65. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
  66. package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
  67. package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
  68. package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
  69. package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
  70. package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
  71. package/dist/ai/helpers/inertia/useLoading.ts +20 -0
  72. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
  73. package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
  74. package/dist/ai/helpers/inertia/useProp.ts +63 -0
  75. package/dist/ai/helpers/inertia/useQuery.ts +19 -0
  76. package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
  77. package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
  78. package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
  79. package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
  80. package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
  81. package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
  82. package/dist/ai/helpers/inertia/useUntil.ts +33 -0
  83. package/dist/ai/helpers/inertia/utils.ts +24 -0
  84. package/dist/ai/index.md +6 -6
  85. package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
  86. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  87. package/dist/ai/manifest/components/BbButton.json +1 -1
  88. package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
  89. package/dist/ai/manifest/components/BbDropdown.json +23 -20
  90. package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
  91. package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
  92. package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
  93. package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
  94. package/dist/ai/manifest/components/BbForm.json +1 -0
  95. package/dist/ai/manifest/components/BbNumberInput.json +6 -1
  96. package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
  97. package/dist/ai/manifest/components/BbPopover.json +1 -0
  98. package/dist/ai/manifest/components/BbProgress.json +6 -6
  99. package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
  100. package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
  101. package/dist/ai/manifest/components/BbSelect.json +2 -2
  102. package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
  103. package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
  104. package/dist/ai/manifest/components/BbTabs.json +7 -6
  105. package/dist/ai/manifest/components/BbTabsList.json +3 -3
  106. package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
  107. package/dist/ai/manifest/components/BbTabsRoot.json +5 -4
  108. package/dist/ai/manifest/components/BbTooltip.json +1 -1
  109. package/dist/ai/manifest/index.json +2 -2
  110. package/dist/ai/manifest/meta.json +2 -0
  111. package/dist/ai/manifest/types.advanced.json +10 -9
  112. package/dist/ai/manifest/types.api.json +5 -4
  113. package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
  114. package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
  115. package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
  116. package/dist/ai/recipes/inertia/onboarding.md +6 -10
  117. package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
  118. package/dist/ai/recipes/inertia/record-form.md +11 -11
  119. package/dist/ai/recipes/inertia/records-workspace.md +38 -41
  120. package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
  121. package/dist/ai/recipes/inertia/upload-center.md +31 -39
  122. package/dist/ai/recipes/inertia/wizard-form.md +10 -19
  123. package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
  124. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
  125. package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
  126. package/dist/ai/recipes/nuxt/onboarding.md +2 -6
  127. package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
  128. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  129. package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
  130. package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
  131. package/dist/ai/recipes/nuxt/upload-center.md +22 -29
  132. package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
  133. package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
  134. package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
  135. package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
  136. package/dist/ai/recipes/vue/onboarding.md +2 -6
  137. package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
  138. package/dist/ai/recipes/vue/record-form.md +5 -5
  139. package/dist/ai/recipes/vue/records-workspace.md +29 -31
  140. package/dist/ai/recipes/vue/settings-workspace.md +22 -34
  141. package/dist/ai/recipes/vue/upload-center.md +22 -29
  142. package/dist/ai/recipes/vue/wizard-form.md +3 -11
  143. package/dist/ai/source/BbAccordion.md +1 -1
  144. package/dist/ai/source/BbAlert.md +3 -3
  145. package/dist/ai/source/BbBadge.md +2 -2
  146. package/dist/ai/source/BbBadgeButton.md +5 -4
  147. package/dist/ai/source/BbBaseButton.md +1 -1
  148. package/dist/ai/source/BbBaseRadioIcon.md +1 -0
  149. package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
  150. package/dist/ai/source/BbBreadcrumbs.md +63 -42
  151. package/dist/ai/source/BbButton.md +71 -33
  152. package/dist/ai/source/BbCalendar.md +17 -16
  153. package/dist/ai/source/BbCheckbox.md +3 -2
  154. package/dist/ai/source/BbCheckboxGroup.md +11 -4
  155. package/dist/ai/source/BbColorInput.md +10 -9
  156. package/dist/ai/source/BbConfirm.md +1 -1
  157. package/dist/ai/source/BbConfirmPortal.md +1 -1
  158. package/dist/ai/source/BbDatePicker.md +2 -2
  159. package/dist/ai/source/BbDatePickerInput.md +47 -20
  160. package/dist/ai/source/BbDialog.md +5 -5
  161. package/dist/ai/source/BbDropdown.md +230 -158
  162. package/dist/ai/source/BbDropdownButton.md +19 -12
  163. package/dist/ai/source/BbDropdownGroup.md +126 -93
  164. package/dist/ai/source/BbForm.md +25 -1
  165. package/dist/ai/source/BbIndicator.md +4 -0
  166. package/dist/ai/source/BbNumberInput.md +855 -19
  167. package/dist/ai/source/BbOffCanvas.md +27 -11
  168. package/dist/ai/source/BbPagination.md +3 -3
  169. package/dist/ai/source/BbPopover.md +152 -8
  170. package/dist/ai/source/BbPopoverPortal.md +11 -0
  171. package/dist/ai/source/BbProgress.md +82 -18
  172. package/dist/ai/source/BbRadioGroup.md +12 -5
  173. package/dist/ai/source/BbRating.md +11 -9
  174. package/dist/ai/source/BbSelect.md +16 -10
  175. package/dist/ai/source/BbSelectPopover.md +29 -23
  176. package/dist/ai/source/BbSlider.md +12 -6
  177. package/dist/ai/source/BbSwitch.md +3 -2
  178. package/dist/ai/source/BbSwitchGroup.md +5 -2
  179. package/dist/ai/source/BbTable.md +102 -18
  180. package/dist/ai/source/BbTabs.md +27 -23
  181. package/dist/ai/source/BbTabsList.md +26 -22
  182. package/dist/ai/source/BbTabsPanels.md +26 -22
  183. package/dist/ai/source/BbTabsRoot.md +25 -21
  184. package/dist/ai/source/BbTag.md +10 -9
  185. package/dist/ai/source/BbTextInput.md +5 -4
  186. package/dist/ai/source/BbTextarea.md +6 -5
  187. package/dist/ai/source/BbTimePicker.md +1 -1
  188. package/dist/ai/source/BbTimePickerInput.md +46 -9
  189. package/dist/ai/source/BbToast.md +10 -7
  190. package/dist/ai/source/BbToastPortal.md +10 -7
  191. package/dist/ai/source/BbTooltip.md +54 -8
  192. package/dist/ai/source/BbTree.md +21 -3
  193. package/dist/ai/source/CommonField.md +6 -4
  194. package/dist/ai/source/CommonFieldInput.md +15 -10
  195. package/dist/ai/source/CommonPopover.md +6 -0
  196. package/dist/ai/source/CommonTimeSelector.md +5 -4
  197. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
  198. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
  199. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
  200. package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
  201. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +84 -71
  202. package/dist/components/BbButton/toggleRoving.d.ts +6 -0
  203. package/dist/components/BbButton/toggleRoving.js +45 -0
  204. package/dist/components/BbButton/types.d.ts +4 -1
  205. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
  206. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
  207. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
  208. package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
  209. package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
  210. package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
  211. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
  212. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
  213. package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
  214. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
  215. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
  216. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
  217. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
  218. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
  219. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
  220. package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
  221. package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
  222. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
  223. package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
  224. package/dist/components/BbDropdown/normalizeGroups.js +60 -46
  225. package/dist/components/BbDropdown/types.d.ts +119 -88
  226. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
  227. package/dist/components/BbDropdownButton/types.d.ts +2 -2
  228. package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
  229. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
  230. package/dist/components/BbForm/BbFormCustomField.js +1 -1
  231. package/dist/components/BbForm/bindFormField.js +2 -1
  232. package/dist/components/BbForm/formFields.d.ts +5 -0
  233. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
  234. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
  235. package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
  236. package/dist/components/BbNumberInput/numberDisplay.js +499 -0
  237. package/dist/components/BbNumberInput/types.d.ts +54 -1
  238. package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
  239. package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
  240. package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
  241. package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
  242. package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
  243. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
  244. package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
  245. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -164
  246. package/dist/components/BbPopover/types.d.ts +11 -0
  247. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
  248. package/dist/components/BbProgress/types.d.ts +23 -7
  249. package/dist/components/BbProgress/types.js +1 -1
  250. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
  251. package/dist/components/BbRadioGroup/types.d.ts +6 -2
  252. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
  253. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
  254. package/dist/components/BbSelect/types.d.ts +6 -2
  255. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  256. package/dist/components/BbSelectPopover/types.d.ts +6 -2
  257. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
  258. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
  259. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
  260. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
  261. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
  262. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
  263. package/dist/components/BbTabs/types.d.ts +25 -21
  264. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
  265. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
  266. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
  267. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
  268. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +102 -97
  269. package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
  270. package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
  271. package/dist/components/BbTooltip/types.d.ts +7 -2
  272. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
  273. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
  274. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
  275. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
  276. package/dist/composables/formSubmitLock.d.ts +6 -0
  277. package/dist/composables/formSubmitLock.js +4 -0
  278. package/dist/composables/useBaseOptions.d.ts +7 -1
  279. package/dist/composables/useBaseOptions.js +32 -32
  280. package/dist/composables/useBbDropdownContext.d.ts +8 -8
  281. package/dist/composables/useBbFormField.d.ts +9 -0
  282. package/dist/composables/useBbFormField.js +5 -3
  283. package/dist/composables/useBbTabsContext.d.ts +10 -10
  284. package/dist/composables/useBbTabsContext.js +18 -18
  285. package/dist/composables/useFormBinding.d.ts +11 -0
  286. package/dist/composables/useFormBinding.js +15 -13
  287. package/dist/composables/useItemText.d.ts +5 -1
  288. package/dist/composables/useItemText.js +8 -3
  289. package/dist/composables/useItemValue.d.ts +5 -1
  290. package/dist/composables/useItemValue.js +8 -3
  291. package/dist/composables/useLocale.js +10 -9
  292. package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
  293. package/dist/deprecation/ai-deprecations.json.js +1 -1
  294. package/dist/deprecation/removedProps.js +1 -1
  295. package/dist/directives/bbDropdown.js +1 -1
  296. package/dist/i18n/index.d.ts +7 -12
  297. package/dist/i18n/locales/cs.json +11 -14
  298. package/dist/i18n/locales/da.json +13 -16
  299. package/dist/i18n/locales/de-CH.json +137 -0
  300. package/dist/i18n/locales/de.json +14 -17
  301. package/dist/i18n/locales/el.json +10 -13
  302. package/dist/i18n/locales/en-GB.json +137 -0
  303. package/dist/i18n/locales/en.json +8 -11
  304. package/dist/i18n/locales/es-MX.json +137 -0
  305. package/dist/i18n/locales/es.json +16 -19
  306. package/dist/i18n/locales/fi.json +8 -11
  307. package/dist/i18n/locales/fr.json +23 -26
  308. package/dist/i18n/locales/hu.json +8 -11
  309. package/dist/i18n/locales/it.json +12 -15
  310. package/dist/i18n/locales/ja.json +13 -16
  311. package/dist/i18n/locales/ko.json +10 -13
  312. package/dist/i18n/locales/nb.json +13 -16
  313. package/dist/i18n/locales/nl.json +21 -24
  314. package/dist/i18n/locales/pl.json +10 -13
  315. package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
  316. package/dist/i18n/locales/pt-PT.json +137 -0
  317. package/dist/i18n/locales/ro.json +22 -25
  318. package/dist/i18n/locales/ru.json +11 -14
  319. package/dist/i18n/locales/sv.json +16 -19
  320. package/dist/i18n/locales/tr.json +14 -17
  321. package/dist/i18n/locales/uk.json +11 -14
  322. package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
  323. package/dist/i18n/locales/zh-HK.json +137 -0
  324. package/dist/i18n/locales/zh-TW.json +137 -0
  325. package/dist/i18n/regionHints.d.ts +16 -0
  326. package/dist/i18n/regionHints.js +49 -0
  327. package/dist/i18n/regions.d.ts +286 -0
  328. package/dist/i18n/regions.js +265 -0
  329. package/dist/index.d.ts +1 -1
  330. package/dist/index.js +4 -4
  331. package/dist/llms-full.txt +1785 -1637
  332. package/dist/llms-medium.txt +74 -46
  333. package/dist/llms.txt +7 -7
  334. package/dist/locale-blueprint.json +16 -13
  335. package/dist/styles.css +2 -2
  336. package/dist/types/ptComponentMap.d.ts +1 -1
  337. package/dist/utilities/functions/slotKey.d.ts +2 -2
  338. package/dist/utils/versionCheck.js +1 -1
  339. package/dist/vite-plugin.d.ts +22 -19
  340. package/dist/vite.js +309 -297
  341. package/llms.txt +7 -7
  342. package/package.json +5 -3
  343. package/scripts/lib/agent-manifest.mjs +2 -1
  344. package/scripts/lib/eslint-disable.mjs +12 -4
  345. package/scripts/lib/eslint-plugin.d.ts +5 -1
  346. package/scripts/lib/eslint-plugin.mjs +187 -6
  347. package/scripts/lib/helper-canon.mjs +176 -0
  348. package/scripts/lib/helpers-add.mjs +1303 -0
  349. package/scripts/lib/local-components.mjs +33 -4
  350. package/scripts/lib/locale-check.mjs +165 -0
  351. package/scripts/lib/redundant-item-accessor.mjs +398 -0
  352. package/scripts/lib/renamed-item-field.mjs +343 -0
  353. package/scripts/lib/slot-key.mjs +2 -2
  354. package/scripts/lib/slot-renames.mjs +1 -1
  355. package/scripts/lib/validate-bb-markup.mjs +123 -56
  356. package/dist/i18n/index.js +0 -27
@@ -94,6 +94,7 @@ import {
94
94
  } from '@/utils/overlayEscapeStack';
95
95
  import { useUntil } from '../../composables/useUntil';
96
96
  import { useOverlayYield } from '@/composables/useOverlayYield';
97
+ import { isWarm, markHidden, markShown } from './tooltipWarmup';
97
98
  import { removedPropsFor } from '@/deprecation/removedProps';
98
99
  import { warnRemovedAttrs } from '@/utilities/functions/warnRemovedAttrs';
99
100
  import CommonPopover from '../CommonPopover/CommonPopover.vue';
@@ -126,7 +127,7 @@ const props = withDefaults(defineProps<BbTooltipProps>(), {
126
127
  placement: 'top',
127
128
  variant: 'default',
128
129
  transitionDuration: transitions.medium,
129
- delay: 0,
130
+ delay: 100,
130
131
  });
131
132
 
132
133
  const slots = defineSlots<BbTooltipSlots>();
@@ -245,14 +246,33 @@ const scheduleClose = () => {
245
246
  _closeTimeout = setTimeout(forceClose, 50);
246
247
  };
247
248
 
249
+ /**
250
+ * A pointer arriving: wait `delay` (it filters a pointer passing over on its
251
+ * way elsewhere), unless another tooltip is showing or closed within the skip
252
+ * window (`tooltipWarmup.ts`), when the user is reading hint after hint.
253
+ */
248
254
  const scheduleOpen = () => {
249
255
  cancelClose();
250
256
  if (open.value || props.disabled || blocked()) return;
251
- _openTimeout = setTimeout(() => {
252
- if (!blocked()) open.value = true;
253
- }, props.delay);
257
+ _openTimeout = setTimeout(
258
+ () => {
259
+ if (!blocked()) open.value = true;
260
+ },
261
+ isWarm() ? 0 : props.delay
262
+ );
263
+ };
264
+
265
+ /** Keyboard focus is never accidental: it shows the hint at once, whatever `delay` says. */
266
+ const openNow = () => {
267
+ cancelClose();
268
+ clearTimeout(_openTimeout);
269
+ if (open.value || props.disabled || blocked()) return;
270
+ open.value = true;
254
271
  };
255
272
 
273
+ /** Set while a close is a yield (Q63.7), read by the warm-up bookkeeping below. */
274
+ let yielding = false;
275
+
256
276
  // Tooltips give way to anything the user opened deliberately (Q63.7), like
257
277
  // hover cards: no showing while a menu, popover, dialog, select or picker is
258
278
  // open — unless the trigger is inside it — and a shown one hides. Only the
@@ -261,7 +281,12 @@ const scheduleOpen = () => {
261
281
  const { blocked } = useOverlayYield(
262
282
  () => activatorEl.value,
263
283
  () => popoverDom.value,
264
- forceClose
284
+ () => {
285
+ // Giving way to a menu or dialog is not the user moving on: it doesn't
286
+ // warm the next tooltip up.
287
+ yielding = true;
288
+ forceClose();
289
+ }
265
290
  );
266
291
 
267
292
  /** A press on the trigger (a click, a right-click opening a menu) hides it at once. */
@@ -289,7 +314,7 @@ const onEsc = (event: KeyboardEvent) => {
289
314
  */
290
315
  const onActivatorFocus = (event: FocusEvent) => {
291
316
  const el = event.currentTarget as HTMLElement | null;
292
- if (el?.matches(':focus-visible')) scheduleOpen();
317
+ if (el?.matches(':focus-visible')) openNow();
293
318
  };
294
319
 
295
320
  /**
@@ -297,7 +322,18 @@ const onActivatorFocus = (event: FocusEvent) => {
297
322
  * it also works when the tooltip is opened via `v-model`, and never lingers
298
323
  * on the document after an external close.
299
324
  */
325
+ /** Whether this tooltip counts as showing in the shared skip window. */
326
+ let counted = false;
327
+
300
328
  watch(open, (isOpen) => {
329
+ if (isOpen && !counted) {
330
+ counted = true;
331
+ markShown();
332
+ } else if (!isOpen && counted) {
333
+ counted = false;
334
+ markHidden(!yielding);
335
+ }
336
+ yielding = false;
301
337
  if (isOpen) {
302
338
  // Transient: a shown tooltip never makes another surface give way.
303
339
  pushEscapeEntry(escapeKey, {
@@ -438,6 +474,11 @@ onBeforeUnmount(() => {
438
474
  describedByHost = null;
439
475
  }
440
476
  forceClose();
477
+ // Unmounting is not the user moving on: release the count, no warm-up.
478
+ if (counted) {
479
+ counted = false;
480
+ markHidden(false);
481
+ }
441
482
  // The open watcher may not flush during teardown — drop the listener (and
442
483
  // the stack entry, which would otherwise wedge Escape page-wide) directly.
443
484
  removeEscapeEntry(escapeKey);
@@ -630,9 +671,14 @@ export type BbTooltipProps = {
630
671
  */
631
672
  variant?: BbTooltipVariant;
632
673
  /**
633
- * The delay in milliseconds before the tooltip is shown.
674
+ * How long, in milliseconds, a pointer has to rest on the activator before
675
+ * the tooltip shows; it keeps hints from flashing under a pointer passing
676
+ * by. Keyboard focus shows it at once whatever this says, and so does a
677
+ * pointer arriving while another tooltip shows or within 300 ms of one
678
+ * closing (the skip delay, shared by every tooltip). `0` shows it on hover
679
+ * at once.
634
680
  *
635
- * @defaultValue `0`
681
+ * @defaultValue `100`
636
682
  */
637
683
  delay?: number;
638
684
  /**
@@ -27,7 +27,7 @@
27
27
  <script setup lang="ts" generic="Meta">
28
28
  import { removedPropsFor } from '@/deprecation/removedProps';
29
29
  import { warnRemovedAttrs } from '@/utilities/functions/warnRemovedAttrs';
30
- import { provide, useAttrs, watch } from 'vue';
30
+ import { provide, reactive, useAttrs, watch } from 'vue';
31
31
  import BbTreeLevel from './BbTreeLevel.vue';
32
32
  import { BbTreeContextKey, type BbTreeContext } from './context';
33
33
  import { usePassthrough } from '@/composables/usePassthrough';
@@ -113,9 +113,27 @@ if (process.env.NODE_ENV !== 'production')
113
113
  ),
114
114
  });
115
115
 
116
+ /*
117
+ * Q44.22 (B): the open state per node. A reactive Set tracks `has(hash)` per
118
+ * key, so a level's nodes depend on their own entries only: toggling one
119
+ * branch re-renders the level that holds it, not every level of the tree
120
+ * (the shared index object used to invalidate them all). Kept in sync with
121
+ * the model synchronously, before any render reads it.
122
+ */
123
+ const expandedHashes = reactive(new Set<string>());
124
+ watch(
125
+ expandedItemsIndexedByHash,
126
+ (index) => {
127
+ for (const key of expandedHashes)
128
+ if (!(key in index)) expandedHashes.delete(key);
129
+ for (const key of Object.keys(index)) expandedHashes.add(key);
130
+ },
131
+ { immediate: true, flush: 'sync' }
132
+ );
133
+
116
134
  /* Leaves have nothing to hide, so they always count as expanded. */
117
135
  const isExpanded = (item: BbTreeItem<Meta>) =>
118
- !item.children?.length || hashFor(item) in expandedItemsIndexedByHash.value;
136
+ !item.children?.length || expandedHashes.has(hashFor(item));
119
137
 
120
138
  const toggleExpanded = (item: BbTreeItem<Meta>) => {
121
139
  const value = valueFor(item);
@@ -399,7 +417,7 @@ export type BbTreeLevelProps<Meta = any> = {
399
417
 
400
418
  > .bb-tree__children {
401
419
  overflow: hidden;
402
- padding-left: var(--indent);
420
+ padding-inline-start: var(--indent);
403
421
 
404
422
  > .bb-tree__item:first-child {
405
423
  margin-top: var(--gap);
@@ -930,7 +930,7 @@ export type CommonFieldSlots = {
930
930
  }
931
931
 
932
932
  .bb-field__label {
933
- left: var(--bb-input-px);
933
+ inset-inline-start: var(--bb-input-px);
934
934
  top: 5px;
935
935
  }
936
936
 
@@ -957,7 +957,7 @@ export type CommonFieldSlots = {
957
957
  /* Keep inside labels single-line and clipped in crowded layouts. */
958
958
  display: -webkit-box;
959
959
  font-size: var(--bb-label-fs-sm);
960
- left: var(--inside-label-offset-l);
960
+ inset-inline-start: var(--inside-label-offset-l);
961
961
  -webkit-line-clamp: 1;
962
962
  line-height: var(--bb-label-lh-sm);
963
963
  max-width: calc(
@@ -1086,7 +1086,7 @@ export type CommonFieldSlots = {
1086
1086
  It shrinks to the small size only when it rises to the border. */
1087
1087
  font-size: var(--bb-label-fs);
1088
1088
  font-weight: var(--bb-label-weight);
1089
- left: 0;
1089
+ inset-inline-start: 0;
1090
1090
  line-height: 1;
1091
1091
  max-width: calc(100% - var(--fl-rest-l) - var(--fl-rest-r));
1092
1092
  opacity: 0.6;
@@ -1310,12 +1310,14 @@ export type CommonFieldSlots = {
1310
1310
  transition-timing-function: var(--bb-ease);
1311
1311
 
1312
1312
  &--left {
1313
+ /* stylelint-disable-next-line declaration-property-value-disallowed-list -- geometry: the `labelPosition` prop names a physical side */
1313
1314
  text-align: left;
1314
1315
  }
1315
1316
  &--center {
1316
1317
  text-align: center;
1317
1318
  }
1318
1319
  &--right {
1320
+ /* stylelint-disable-next-line declaration-property-value-disallowed-list -- geometry: the `labelPosition` prop names a physical side */
1319
1321
  text-align: right;
1320
1322
  }
1321
1323
  &--hidden {
@@ -1485,7 +1487,7 @@ export type CommonFieldSlots = {
1485
1487
  &.bb-field--inside-label.bb-field--description {
1486
1488
  .bb-field__description {
1487
1489
  font-size: var(--bb-description-fs-sm);
1488
- left: var(--inside-label-offset-l);
1490
+ inset-inline-start: var(--inside-label-offset-l);
1489
1491
  line-height: var(--bb-description-lh-sm);
1490
1492
  margin-top: 0;
1491
1493
  max-width: calc(
@@ -47,12 +47,17 @@
47
47
  }"
48
48
  >
49
49
  <Transition appear name="bb-field-input-icon">
50
+ <!-- `@mousedown.prevent` keeps focus in the field: the ✕ shows while
51
+ the field has focus, and WebKit does not focus a button on mousedown,
52
+ so the press blurred the field and hid the ✕ before the click landed
53
+ (clear-webkit; BbSelectPopover does the same). -->
50
54
  <!-- eslint-disable vue/attributes-order -- `pt` binds LAST so a consumer listener runs after ours (PASSTHROUGH.md T17) -->
51
55
  <ClearableButton
52
56
  v-if="shouldShowClearVisible"
53
57
  key="clear"
54
58
  class="bb-field-input__clear"
55
59
  @click="onClickClear"
60
+ @mousedown.prevent
56
61
  v-bind="passthrough?.clear"
57
62
  />
58
63
  <!-- eslint-enable vue/attributes-order -->
@@ -550,8 +555,8 @@ export type CommonFieldInputSlots = {
550
555
  min-height: calc(var(--bb-input-h) + var(--inside-label-clearance));
551
556
  min-width: 0;
552
557
  overflow: clip;
553
- padding-left: var(--bb-input-px);
554
- padding-right: var(--bb-input-px);
558
+ padding-inline-end: var(--bb-input-px);
559
+ padding-inline-start: var(--bb-input-px);
555
560
  padding-top: var(--inside-label-clearance);
556
561
 
557
562
  /* Enumerated, not `all`: background-color (disabled), border-color +
@@ -611,14 +616,14 @@ export type CommonFieldInputSlots = {
611
616
  }
612
617
 
613
618
  .bb-button:first-child {
614
- margin-left: clamp(
619
+ margin-inline-start: clamp(
615
620
  calc(var(--bb-input-px) * -1),
616
621
  calc(((var(--bb-input-h) - var(--h)) / 2) - var(--bb-input-px)),
617
622
  0px
618
623
  );
619
624
  }
620
625
  .bb-button:last-child {
621
- margin-right: clamp(
626
+ margin-inline-end: clamp(
622
627
  calc(var(--bb-input-px) * -1),
623
628
  calc(((var(--bb-input-h) - var(--h)) / 2) - var(--bb-input-px)),
624
629
  0px
@@ -629,7 +634,7 @@ export type CommonFieldInputSlots = {
629
634
  &__prepend-icon {
630
635
  color: var(--bb-text-muted);
631
636
  flex-shrink: 0;
632
- margin-left: calc(var(--bb-input-px) * 0.4 * -1);
637
+ margin-inline-start: calc(var(--bb-input-px) * 0.4 * -1);
633
638
  }
634
639
 
635
640
  /* The field's own icons are BbIcons: size them through BbIcon's `--size`
@@ -646,7 +651,7 @@ export type CommonFieldInputSlots = {
646
651
  display: grid;
647
652
  flex-shrink: 0;
648
653
  height: var(--bb-input-icon);
649
- margin-right: calc(var(--bb-input-px) * 0.4 * -1);
654
+ margin-inline-end: calc(var(--bb-input-px) * 0.4 * -1);
650
655
  place-items: center;
651
656
  width: var(--bb-input-icon);
652
657
 
@@ -698,14 +703,14 @@ export type CommonFieldInputSlots = {
698
703
  the same rhythm on both sides. It used to sit half that from the border. */
699
704
  &__prefix {
700
705
  justify-content: end;
701
- margin-left: calc(var(--bb-input-px) * -1);
702
- padding-left: var(--bb-input-px);
706
+ margin-inline-start: calc(var(--bb-input-px) * -1);
707
+ padding-inline-start: var(--bb-input-px);
703
708
  }
704
709
 
705
710
  &__suffix {
706
711
  justify-content: start;
707
- margin-right: calc(var(--bb-input-px) * -1);
708
- padding-right: var(--bb-input-px);
712
+ margin-inline-end: calc(var(--bb-input-px) * -1);
713
+ padding-inline-end: var(--bb-input-px);
709
714
  }
710
715
 
711
716
  /* Disabled — after the variants and the inner hover/focus rules so it wins
@@ -443,7 +443,9 @@ const closePopover = () => {
443
443
  .bb-common-popover__arrow {
444
444
  border-bottom: calc(var(--arrow-h) * var(--bb-arrow)) solid
445
445
  var(--border-color);
446
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: the arrow follows the side Floating UI placed the panel on */
446
447
  border-left: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid transparent;
448
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: the arrow follows the side Floating UI placed the panel on */
447
449
  border-right: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid transparent;
448
450
  height: 0;
449
451
  position: relative;
@@ -451,8 +453,10 @@ const closePopover = () => {
451
453
 
452
454
  &::after {
453
455
  border-bottom: calc(var(--arrow-h) * var(--bb-arrow)) solid var(--bg);
456
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: the arrow follows the side Floating UI placed the panel on */
454
457
  border-left: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid
455
458
  transparent;
459
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: the arrow follows the side Floating UI placed the panel on */
456
460
  border-right: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid
457
461
  transparent;
458
462
  content: '';
@@ -491,6 +495,7 @@ const closePopover = () => {
491
495
  .bb-common-popover__arrow {
492
496
  border-bottom: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid
493
497
  transparent;
498
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: the arrow follows the side Floating UI placed the panel on */
494
499
  border-left: calc(var(--arrow-h) * var(--bb-arrow)) solid
495
500
  var(--border-color);
496
501
  border-top: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid transparent;
@@ -501,6 +506,7 @@ const closePopover = () => {
501
506
  &::after {
502
507
  border-bottom: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid
503
508
  transparent;
509
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: the arrow follows the side Floating UI placed the panel on */
504
510
  border-left: calc(var(--arrow-h) * var(--bb-arrow)) solid var(--bg);
505
511
  border-top: calc(var(--arrow-w) / 2 * var(--bb-arrow)) solid transparent;
506
512
  content: '';
@@ -520,17 +520,17 @@ export type TimeUnit = 'hour' | 'minute' | 'second' | 'meridiem';
520
520
  row; only the painted knob matches the calendar's. */
521
521
  --time-mark: 24px;
522
522
 
523
- border-left: var(--bb-border-w) solid var(--bb-border);
523
+ border-inline-start: var(--bb-border-w) solid var(--bb-border);
524
524
  bottom: 0;
525
525
  display: flex;
526
526
  flex-direction: column;
527
+ inset-inline-end: 0;
527
528
  /* Mirror the calendar body's vertical padding (--py, 8px) top AND bottom:
528
529
  the readout then sits level with the month/year controls, the headers level
529
530
  with the weekday initials, and — because the middle scroll flexes — the last
530
531
  row anchors on the calendar's bottom edge. 12px left gutter for the divider. */
531
532
  padding: 8px 8px 8px 12px;
532
533
  position: absolute;
533
- right: 0;
534
534
  top: 0;
535
535
  width: calc(var(--rail-w, 252px) - 12px);
536
536
 
@@ -634,6 +634,7 @@ export type TimeUnit = 'hour' | 'minute' | 'second' | 'meridiem';
634
634
  border-radius: var(--bb-radius-sm);
635
635
  content: '';
636
636
  height: var(--time-mark);
637
+ /* stylelint-disable-next-line property-disallowed-list -- geometry: centred with a physical translate */
637
638
  left: 50%;
638
639
  position: absolute;
639
640
  top: 50%;
@@ -696,8 +697,8 @@ export type TimeUnit = 'hour' | 'minute' | 'second' | 'meridiem';
696
697
  position: relative;
697
698
 
698
699
  .bb-time-selector {
699
- border-left: 0;
700
- padding-left: 0;
700
+ border-inline-start: 0;
701
+ padding-inline-start: 0;
701
702
  padding-top: 8px;
702
703
  position: static;
703
704
  width: auto;
@@ -1,7 +1,7 @@
1
1
  import { useLogger as e } from "../../composables/useLogger.js";
2
- import t from "../BbBaseButton/BbBaseButton.vue.js";
3
- import { useBadgeHost as n } from "./badgeButtonContext.js";
4
- import r from "./BadgeBodyContent.vue.js";
2
+ import { useBadgeHost as t } from "./badgeButtonContext.js";
3
+ import n from "./BadgeBodyContent.vue.js";
4
+ import r from "../BbBaseButton/BbBaseButton.vue.js";
5
5
  import { computed as i, createBlock as a, createVNode as o, defineComponent as s, mergeProps as c, openBlock as l, renderSlot as u, useAttrs as d, withCtx as f } from "vue";
6
6
  //#region src/components/BbBadge/BbBadgeButton.vue?vue&type=script&setup=true&lang.ts
7
7
  var p = /*@__PURE__*/ s({
@@ -65,13 +65,15 @@ var p = /*@__PURE__*/ s({
65
65
  viewTransition: { type: Boolean }
66
66
  },
67
67
  setup(s) {
68
- let p = s, m = n();
68
+ let p = s, m = t();
69
69
  m || e().throw("[BbBadgeButton] must be rendered inside a <BbBadge> default slot.");
70
70
  let h = d(), g = i(() => !!m?.loading.value), _ = i(() => {
71
71
  let { onClick: e, ...t } = h, n = [].concat(e ?? []).filter((e) => typeof e == "function");
72
72
  return c(t, p, {
73
- "aria-disabled": g.value ? !0 : void 0,
74
- tabindex: g.value ? -1 : void 0,
73
+ ...g.value ? {
74
+ "aria-disabled": !0,
75
+ tabindex: -1
76
+ } : {},
75
77
  onClick: (e) => {
76
78
  if (g.value) {
77
79
  e.preventDefault();
@@ -81,8 +83,8 @@ var p = /*@__PURE__*/ s({
81
83
  }
82
84
  });
83
85
  });
84
- return (e, n) => (l(), a(t, c({ class: "bb-badge__body" }, _.value), {
85
- default: f(() => [o(r, null, {
86
+ return (e, t) => (l(), a(r, c({ class: "bb-badge__body" }, _.value), {
87
+ default: f(() => [o(n, null, {
86
88
  default: f(() => [u(e.$slots, "default")]),
87
89
  _: 3
88
90
  })]),
@@ -1,10 +1,10 @@
1
1
  import { usePassthrough as e } from "../../composables/usePassthrough.js";
2
2
  import { useConfig as t } from "../../composables/useConfig.js";
3
3
  import { useHydrated as n } from "../../composables/useHydrated.js";
4
- import { useFrameworkDetection as r } from "../../composables/useFrameworkDetection.js";
5
- import i from "./RouterComponent.vue.js";
6
- import { useInertiaPage as a } from "../../composables/useInertiaPage.js";
7
- import { BB_BASE_BUTTON_PT as o } from "./types.js";
4
+ import { BB_BASE_BUTTON_PT as r } from "./types.js";
5
+ import { useFrameworkDetection as i } from "../../composables/useFrameworkDetection.js";
6
+ import a from "./RouterComponent.vue.js";
7
+ import { useInertiaPage as o } from "../../composables/useInertiaPage.js";
8
8
  import { computed as s, createBlock as c, createElementBlock as l, createTextVNode as u, defineComponent as d, mergeProps as f, openBlock as p, renderSlot as m, resolveDynamicComponent as h, toDisplayString as g, unref as _, useAttrs as v, withCtx as y } from "vue";
9
9
  //#region src/components/BbBaseButton/BbBaseButton.vue?vue&type=script&setup=true&lang.ts
10
10
  var b = "http://localhost", x = /*@__PURE__*/ d({
@@ -70,10 +70,10 @@ var b = "http://localhost", x = /*@__PURE__*/ d({
70
70
  component: "BbBaseButton",
71
71
  attrs: v(),
72
72
  props: x,
73
- parts: o.parts,
74
- states: o.states,
73
+ parts: r.parts,
74
+ states: r.states,
75
75
  active: { disabled: () => !!x.disabled }
76
- }), C = t(), { isInertia: w, isNuxt: T } = r(), { isHydrated: E } = n(), { getPageUrl: D } = a(), O = typeof window < "u", k = O ? window.location.origin : null, A = (e, t) => {
76
+ }), C = t(), { isInertia: w, isNuxt: T } = i(), { isHydrated: E } = n(), { getPageUrl: D } = o(), O = typeof window < "u", k = O ? window.location.origin : null, A = (e, t) => {
77
77
  let n = e.trim();
78
78
  if (!n) return !1;
79
79
  if (n.startsWith("#") || n.startsWith("//")) return !0;
@@ -185,7 +185,7 @@ var b = "http://localhost", x = /*@__PURE__*/ d({
185
185
  ...$.value,
186
186
  ...Y()
187
187
  } : ee.value);
188
- return (e, t) => V.value ? (p(), c(i, f({
188
+ return (e, t) => V.value ? (p(), c(a, f({
189
189
  key: 0,
190
190
  class: G.value
191
191
  }, f(te.value, _(S).forwardAttrs, _(S).root)), {