bitboss-ui 3.0.0-beta.63 → 3.0.0-beta.64

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 (377) hide show
  1. package/README.md +25 -20
  2. package/bin/bitboss-ui.mjs +73 -7
  3. package/dist/ai/BbAlert.md +10 -1
  4. package/dist/ai/BbBadge.md +35 -3
  5. package/dist/ai/BbBadgeButton.md +4 -2
  6. package/dist/ai/BbBaseButton.md +9 -3
  7. package/dist/ai/BbBreadcrumbs.md +2 -2
  8. package/dist/ai/BbButton.md +113 -8
  9. package/dist/ai/BbCheckbox.md +1 -1
  10. package/dist/ai/BbCheckboxGroup.md +94 -6
  11. package/dist/ai/BbColorInput.md +4 -1
  12. package/dist/ai/BbColorPalette.md +2 -1
  13. package/dist/ai/BbConfirm.md +7 -3
  14. package/dist/ai/BbDatePicker.md +2 -1
  15. package/dist/ai/BbDatePickerInput.md +4 -1
  16. package/dist/ai/BbDialog.md +12 -11
  17. package/dist/ai/BbDropdown.md +189 -38
  18. package/dist/ai/BbDropdownButton.md +27 -7
  19. package/dist/ai/BbForm.md +55 -22
  20. package/dist/ai/BbHost.md +2 -2
  21. package/dist/ai/BbHoverCard.md +7 -3
  22. package/dist/ai/BbIcon.md +12 -6
  23. package/dist/ai/BbIndicator.md +11 -1
  24. package/dist/ai/BbNumberInput.md +4 -1
  25. package/dist/ai/BbOffCanvas.md +37 -3
  26. package/dist/ai/BbPopover.md +2 -1
  27. package/dist/ai/BbRadio.md +1 -1
  28. package/dist/ai/BbRadioGroup.md +102 -10
  29. package/dist/ai/BbSelect.md +52 -17
  30. package/dist/ai/BbSelectPopover.md +93 -26
  31. package/dist/ai/BbSwitch.md +1 -1
  32. package/dist/ai/BbSwitchGroup.md +30 -3
  33. package/dist/ai/BbTable.md +17 -10
  34. package/dist/ai/BbTabs.md +8 -3
  35. package/dist/ai/BbTabsList.md +4 -1
  36. package/dist/ai/BbTag.md +5 -2
  37. package/dist/ai/BbTextInput.md +4 -1
  38. package/dist/ai/BbTextarea.md +4 -1
  39. package/dist/ai/BbTimePicker.md +2 -1
  40. package/dist/ai/BbTimePickerInput.md +4 -1
  41. package/dist/ai/BbToast.md +9 -3
  42. package/dist/ai/BbTooltip.md +71 -9
  43. package/dist/ai/ChipsBox.md +1 -1
  44. package/dist/ai/CommonField.md +1 -1
  45. package/dist/ai/OptionsContainer.md +42 -0
  46. package/dist/ai/changelog.json +416 -6
  47. package/dist/ai/components.json +50 -48
  48. package/dist/ai/composables/useConfirm.md +39 -1
  49. package/dist/ai/design-tokens.json +6 -6
  50. package/dist/ai/guides/agent-contract.md +2 -2
  51. package/dist/ai/guides/ai-router.md +24 -23
  52. package/dist/ai/guides/app-layout.md +5 -0
  53. package/dist/ai/guides/component-picker.md +9 -2
  54. package/dist/ai/guides/design-language.md +24 -24
  55. package/dist/ai/guides/design-tokens.md +15 -8
  56. package/dist/ai/guides/icons-policy.md +9 -2
  57. package/dist/ai/guides/inertia-helpers.md +79 -49
  58. package/dist/ai/guides/installation-and-plugin-setup.md +12 -2
  59. package/dist/ai/guides/migration/adoption-checklist.md +235 -0
  60. package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -15
  61. package/dist/ai/guides/migration/components/bb-dialog.md +9 -9
  62. package/dist/ai/guides/migration/components/bb-dropdown.md +7 -2
  63. package/dist/ai/guides/migration/components/bb-popover.md +4 -2
  64. package/dist/ai/guides/migration/components/bb-select.md +19 -0
  65. package/dist/ai/guides/migration/components/bb-table.md +1 -0
  66. package/dist/ai/guides/migration/components/bb-toast.md +4 -0
  67. package/dist/ai/guides/migration/components/bb-tooltip.md +15 -12
  68. package/dist/ai/guides/migration/components/use-confirm.md +25 -2
  69. package/dist/ai/guides/migration/v2-to-v3.md +163 -9
  70. package/dist/ai/guides/migration/v3-beta-css-classes.md +7 -3
  71. package/dist/ai/guides/options-items-playbook.md +2 -1
  72. package/dist/ai/guides/passthrough.md +147 -85
  73. package/dist/ai/guides/preset-components.md +140 -15
  74. package/dist/ai/helpers/definePreset.json +7 -0
  75. package/dist/ai/helpers/definePreset.ts +123 -11
  76. package/dist/ai/helpers/inertia/manifest.json +15 -9
  77. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +4 -4
  78. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +39 -24
  79. package/dist/ai/helpers/inertia/useRouteQuery.ts +10 -4
  80. package/dist/ai/index.md +1 -0
  81. package/dist/ai/manifest/common.json +0 -1
  82. package/dist/ai/manifest/components/BbAlert.json +7 -2
  83. package/dist/ai/manifest/components/BbBadge.json +13 -4
  84. package/dist/ai/manifest/components/BbBadge.tree.json +2 -0
  85. package/dist/ai/manifest/components/BbBadgeButton.json +4 -2
  86. package/dist/ai/manifest/components/BbBaseButton.json +4 -2
  87. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  88. package/dist/ai/manifest/components/BbButton.json +14 -3
  89. package/dist/ai/manifest/components/BbButton.tree.json +5 -1
  90. package/dist/ai/manifest/components/BbCheckboxGroup.json +13 -8
  91. package/dist/ai/manifest/components/BbCheckboxGroup.tree.json +11 -1
  92. package/dist/ai/manifest/components/BbColorInput.json +18 -15
  93. package/dist/ai/manifest/components/BbColorPalette.json +1 -1
  94. package/dist/ai/manifest/components/BbConfirm.json +4 -2
  95. package/dist/ai/manifest/components/BbConfirm.tree.json +1 -1
  96. package/dist/ai/manifest/components/BbDatePicker.json +1 -1
  97. package/dist/ai/manifest/components/BbDatePickerInput.json +17 -14
  98. package/dist/ai/manifest/components/BbDialog.tree.json +2 -1
  99. package/dist/ai/manifest/components/BbDropdown.json +24 -19
  100. package/dist/ai/manifest/components/BbDropdown.tree.json +9 -2
  101. package/dist/ai/manifest/components/BbDropdownButton.json +33 -20
  102. package/dist/ai/manifest/components/BbDropdownButton.tree.json +2 -2
  103. package/dist/ai/manifest/components/BbForm.json +2 -2
  104. package/dist/ai/manifest/components/BbHost.tree.json +1 -1
  105. package/dist/ai/manifest/components/BbHoverCard.json +1 -1
  106. package/dist/ai/manifest/components/BbIndicator.json +8 -2
  107. package/dist/ai/manifest/components/BbNumberInput.json +5 -2
  108. package/dist/ai/manifest/components/BbOffCanvas.json +2 -2
  109. package/dist/ai/manifest/components/BbOffCanvas.tree.json +1 -1
  110. package/dist/ai/manifest/components/BbPopover.json +1 -1
  111. package/dist/ai/manifest/components/BbRadioGroup.json +17 -12
  112. package/dist/ai/manifest/components/BbRadioGroup.tree.json +8 -1
  113. package/dist/ai/manifest/components/BbSelect.json +21 -18
  114. package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
  115. package/dist/ai/manifest/components/BbSelectPopover.json +10 -10
  116. package/dist/ai/manifest/components/BbSelectPopover.tree.json +3 -2
  117. package/dist/ai/manifest/components/BbSwitchGroup.json +1 -1
  118. package/dist/ai/manifest/components/BbSwitchGroup.tree.json +3 -1
  119. package/dist/ai/manifest/components/BbTable.tree.json +14 -1
  120. package/dist/ai/manifest/components/BbTabs.json +9 -6
  121. package/dist/ai/manifest/components/BbTabs.tree.json +1 -1
  122. package/dist/ai/manifest/components/BbTabsList.json +6 -3
  123. package/dist/ai/manifest/components/BbTag.json +19 -16
  124. package/dist/ai/manifest/components/BbTag.tree.json +1 -1
  125. package/dist/ai/manifest/components/BbTextInput.json +6 -3
  126. package/dist/ai/manifest/components/BbTextarea.json +6 -3
  127. package/dist/ai/manifest/components/BbTimePicker.json +1 -1
  128. package/dist/ai/manifest/components/BbTimePickerInput.json +10 -7
  129. package/dist/ai/manifest/components/BbToast.json +7 -2
  130. package/dist/ai/manifest/components/BbToast.tree.json +4 -2
  131. package/dist/ai/manifest/components/BbTooltip.json +6 -5
  132. package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
  133. package/dist/ai/manifest/components/CommonField.json +1 -1
  134. package/dist/ai/manifest/components/OptionsContainer.json +3 -1
  135. package/dist/ai/manifest/components/OptionsContainer.tree.json +38 -0
  136. package/dist/ai/manifest/index.json +3 -3
  137. package/dist/ai/manifest/meta.json +5 -3
  138. package/dist/ai/manifest/types.advanced.json +5 -2
  139. package/dist/ai/manifest/types.api.json +9 -7
  140. package/dist/ai/recipes/inertia/layout-scaffold.md +19 -6
  141. package/dist/ai/recipes/inertia/records-workspace.md +49 -13
  142. package/dist/ai/recipes/nuxt/layout-scaffold.md +19 -6
  143. package/dist/ai/recipes/nuxt/records-workspace.md +42 -12
  144. package/dist/ai/recipes/vue/layout-scaffold.md +19 -6
  145. package/dist/ai/recipes/vue/records-workspace.md +42 -12
  146. package/dist/ai/source/BbAlert.md +94 -76
  147. package/dist/ai/source/BbBadge.md +174 -72
  148. package/dist/ai/source/BbBadgeButton.md +130 -65
  149. package/dist/ai/source/BbBaseButton.md +46 -124
  150. package/dist/ai/source/BbBaseCheckboxIcon.md +38 -0
  151. package/dist/ai/source/BbBaseRadioIcon.md +18 -0
  152. package/dist/ai/source/BbBaseSwitchIcon.md +51 -0
  153. package/dist/ai/source/BbButton.md +153 -36
  154. package/dist/ai/source/BbCheckboxGroup.md +142 -18
  155. package/dist/ai/source/BbColorInput.md +240 -204
  156. package/dist/ai/source/BbColorPalette.md +7 -4
  157. package/dist/ai/source/BbConfirm.md +34 -11
  158. package/dist/ai/source/BbConfirmPortal.md +24 -9
  159. package/dist/ai/source/BbDatePicker.md +11 -7
  160. package/dist/ai/source/BbDatePickerInput.md +306 -269
  161. package/dist/ai/source/BbDialog.md +49 -14
  162. package/dist/ai/source/BbDropdown.md +314 -197
  163. package/dist/ai/source/BbDropdownButton.md +197 -31
  164. package/dist/ai/source/BbDropdownGroup.md +274 -176
  165. package/dist/ai/source/BbForm.md +50 -6
  166. package/dist/ai/source/BbHoverCard.md +12 -5
  167. package/dist/ai/source/BbIcon.md +4 -3
  168. package/dist/ai/source/BbIndicator.md +73 -52
  169. package/dist/ai/source/BbNumberInput.md +293 -257
  170. package/dist/ai/source/BbOffCanvas.md +55 -29
  171. package/dist/ai/source/BbPopover.md +14 -10
  172. package/dist/ai/source/BbRadioGroup.md +413 -297
  173. package/dist/ai/source/BbSelect.md +549 -435
  174. package/dist/ai/source/BbSelectPopover.md +128 -33
  175. package/dist/ai/source/BbSwitchGroup.md +70 -10
  176. package/dist/ai/source/BbTable.md +369 -37
  177. package/dist/ai/source/BbTabs.md +115 -39
  178. package/dist/ai/source/BbTabsList.md +106 -38
  179. package/dist/ai/source/BbTabsPanels.md +96 -36
  180. package/dist/ai/source/BbTabsRoot.md +96 -36
  181. package/dist/ai/source/BbTag.md +267 -233
  182. package/dist/ai/source/BbTextInput.md +261 -225
  183. package/dist/ai/source/BbTextarea.md +251 -215
  184. package/dist/ai/source/BbTimePicker.md +11 -7
  185. package/dist/ai/source/BbTimePickerInput.md +257 -220
  186. package/dist/ai/source/BbToast.md +73 -32
  187. package/dist/ai/source/BbToastPortal.md +65 -30
  188. package/dist/ai/source/BbTooltip.md +148 -113
  189. package/dist/ai/source/CommonPopover.md +6 -1
  190. package/dist/ai/source/FlatListBox.md +19 -9
  191. package/dist/ai/source/GroupedListBox.md +19 -9
  192. package/dist/ai/source/OptionsContainer.md +25 -9
  193. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +61 -36
  194. package/dist/components/BbAlert/types.d.ts +9 -5
  195. package/dist/components/BbAlert/types.js +8 -3
  196. package/dist/components/BbBadge/BadgeBodyContent.vue.d.ts +3 -3
  197. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +26 -17
  198. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +103 -50
  199. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +20 -15
  200. package/dist/components/BbBadge/badgeButtonContext.d.ts +12 -1
  201. package/dist/components/BbBadge/types.d.ts +45 -15
  202. package/dist/components/BbBadge/types.js +12 -3
  203. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +89 -126
  204. package/dist/components/BbBaseButton/types.d.ts +23 -4
  205. package/dist/components/BbBaseButton/types.js +7 -1
  206. package/dist/components/BbBaseButton/useLinkState.d.ts +41 -0
  207. package/dist/components/BbBaseButton/useLinkState.js +70 -0
  208. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +130 -74
  209. package/dist/components/BbButton/types.d.ts +50 -13
  210. package/dist/components/BbButton/types.js +10 -3
  211. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +148 -95
  212. package/dist/components/BbCheckboxGroup/types.d.ts +34 -11
  213. package/dist/components/BbCheckboxGroup/types.js +9 -4
  214. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +1 -1
  215. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +134 -93
  216. package/dist/components/BbColorInput/types.d.ts +11 -4
  217. package/dist/components/BbColorInput/types.js +9 -3
  218. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +82 -59
  219. package/dist/components/BbConfirm/types.d.ts +9 -4
  220. package/dist/components/BbConfirm/types.js +8 -3
  221. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +1 -1
  222. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +68 -67
  223. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +1 -1
  224. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +259 -215
  225. package/dist/components/BbDatePickerInput/types.d.ts +12 -5
  226. package/dist/components/BbDatePickerInput/types.js +9 -3
  227. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +223 -219
  228. package/dist/components/BbDialog/useDialogStack.d.ts +1 -1
  229. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +104 -89
  230. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +1 -0
  231. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +323 -285
  232. package/dist/components/BbDropdown/BbDropdownList.vue.d.ts +1 -0
  233. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +411 -319
  234. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +100 -98
  235. package/dist/components/BbDropdown/DropdownRow.vue.d.ts +4 -3
  236. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +49 -28
  237. package/dist/components/BbDropdown/normalizeGroups.d.ts +6 -0
  238. package/dist/components/BbDropdown/normalizeGroups.js +21 -15
  239. package/dist/components/BbDropdown/types.d.ts +59 -12
  240. package/dist/components/BbDropdown/types.js +16 -3
  241. package/dist/components/BbDropdown/useDropdownContext.d.ts +6 -0
  242. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +2 -1
  243. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +179 -68
  244. package/dist/components/BbDropdownButton/types.d.ts +44 -16
  245. package/dist/components/BbDropdownButton/types.js +28 -3
  246. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +111 -89
  247. package/dist/components/BbForm/formSchema.d.ts +13 -0
  248. package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +100 -100
  249. package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +40 -25
  250. package/dist/components/BbIndicator/types.d.ts +9 -5
  251. package/dist/components/BbIndicator/types.js +8 -3
  252. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +243 -202
  253. package/dist/components/BbNumberInput/types.d.ts +12 -5
  254. package/dist/components/BbNumberInput/types.js +9 -3
  255. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
  256. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +401 -399
  257. package/dist/components/BbOffCanvas/types.d.ts +6 -2
  258. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +81 -80
  259. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +158 -105
  260. package/dist/components/BbRadioGroup/types.d.ts +21 -7
  261. package/dist/components/BbRadioGroup/types.js +9 -4
  262. package/dist/components/BbSelect/BbSelect.vue.d.ts +4 -3
  263. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +181 -137
  264. package/dist/components/BbSelect/types.d.ts +36 -22
  265. package/dist/components/BbSelect/types.js +22 -3
  266. package/dist/components/BbSelectPopover/BbSelectPopover.vue.d.ts +4 -4
  267. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +543 -532
  268. package/dist/components/BbSelectPopover/knownItems.d.ts +5 -0
  269. package/dist/components/BbSelectPopover/types.d.ts +46 -12
  270. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
  271. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +2 -2
  272. package/dist/components/BbSwitchGroup/types.d.ts +14 -4
  273. package/dist/components/BbSwitchGroup/types.js +8 -3
  274. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1102 -995
  275. package/dist/components/BbTable/estimatedFloors.golden.d.ts +25 -0
  276. package/dist/components/BbTable/measuredFloors.d.ts +46 -0
  277. package/dist/components/BbTable/measuredFloors.js +322 -0
  278. package/dist/components/BbTable/measuredFloorsTestKit.d.ts +27 -0
  279. package/dist/components/BbTable/textRuler.d.ts +71 -0
  280. package/dist/components/BbTable/textRuler.js +121 -0
  281. package/dist/components/BbTable/utils.d.ts +113 -6
  282. package/dist/components/BbTable/utils.js +118 -65
  283. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +53 -35
  284. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +62 -45
  285. package/dist/components/BbTabs/types.d.ts +26 -11
  286. package/dist/components/BbTabs/types.js +23 -8
  287. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +205 -164
  288. package/dist/components/BbTag/types.d.ts +11 -4
  289. package/dist/components/BbTag/types.js +9 -3
  290. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +98 -57
  291. package/dist/components/BbTextInput/types.d.ts +12 -5
  292. package/dist/components/BbTextInput/types.js +9 -3
  293. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +137 -96
  294. package/dist/components/BbTextarea/types.d.ts +12 -5
  295. package/dist/components/BbTextarea/types.js +9 -3
  296. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +105 -104
  297. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +241 -197
  298. package/dist/components/BbTimePickerInput/types.d.ts +12 -5
  299. package/dist/components/BbTimePickerInput/types.js +9 -3
  300. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +74 -32
  301. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +47 -47
  302. package/dist/components/BbToast/types.d.ts +10 -5
  303. package/dist/components/BbToast/types.js +18 -3
  304. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +85 -71
  305. package/dist/components/BbTooltip/types.d.ts +13 -8
  306. package/dist/components/BbTooltip/types.js +8 -3
  307. package/dist/components/CommonField/CommonField.vue.d.ts +1 -1
  308. package/dist/components/CommonPopover/CommonPopover.vue.d.ts +1 -1
  309. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +69 -69
  310. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +53 -50
  311. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +146 -143
  312. package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +7 -2
  313. package/dist/components/OptionsContainer/types.d.ts +14 -3
  314. package/dist/composables/useBbFormContext.d.ts +4 -3
  315. package/dist/composables/useBbTabsContext.js +99 -85
  316. package/dist/composables/useChoiceIndicator.d.ts +58 -0
  317. package/dist/composables/useChoiceIndicator.js +197 -0
  318. package/dist/composables/useConfirm.d.ts +4 -4
  319. package/dist/composables/usePassthrough.d.ts +54 -1
  320. package/dist/composables/usePassthrough.js +100 -71
  321. package/dist/directives/bbTooltip.d.ts +12 -6
  322. package/dist/directives/createPopoverDirective.js +1 -1
  323. package/dist/index.d.ts +3 -1
  324. package/dist/llms-full.txt +2300 -543
  325. package/dist/llms-medium.txt +71 -53
  326. package/dist/llms.txt +2 -1
  327. package/dist/passthrough-deduper.js +6 -3
  328. package/dist/project-dts.d.ts +24 -0
  329. package/dist/project-dts.js +43 -17
  330. package/dist/styles.css +2 -2
  331. package/dist/types/AlertVariant.d.ts +14 -0
  332. package/dist/types/AlertVariant.js +9 -0
  333. package/dist/types/BadgeVariant.d.ts +14 -0
  334. package/dist/types/BadgeVariant.js +9 -0
  335. package/dist/types/ButtonVariant.d.ts +16 -0
  336. package/dist/types/ButtonVariant.js +11 -0
  337. package/dist/types/CheckboxVariant.d.ts +38 -0
  338. package/dist/types/CheckboxVariant.js +4 -0
  339. package/dist/types/CommonProps.d.ts +4 -3
  340. package/dist/types/Config.d.ts +7 -0
  341. package/dist/types/ConfirmVariant.d.ts +12 -0
  342. package/dist/types/ConfirmVariant.js +4 -0
  343. package/dist/types/DropdownItemVariant.d.ts +12 -0
  344. package/dist/types/DropdownItemVariant.js +4 -0
  345. package/dist/types/IndicatorVariant.d.ts +15 -0
  346. package/dist/types/IndicatorVariant.js +10 -0
  347. package/dist/types/InputVariant.d.ts +13 -0
  348. package/dist/types/InputVariant.js +8 -0
  349. package/dist/types/RadioVariant.d.ts +38 -0
  350. package/dist/types/RadioVariant.js +4 -0
  351. package/dist/types/TabsVariant.d.ts +13 -0
  352. package/dist/types/TabsVariant.js +8 -0
  353. package/dist/types/ToastVariant.d.ts +15 -0
  354. package/dist/types/ToastVariant.js +10 -0
  355. package/dist/types/TooltipVariant.d.ts +12 -0
  356. package/dist/types/TooltipVariant.js +4 -0
  357. package/dist/types/passthrough.d.ts +83 -15
  358. package/dist/types/passthrough.js +2 -2
  359. package/dist/types/ptComponentMap.d.ts +35 -23
  360. package/dist/utilities/functions/extractDomContainer.d.ts +20 -1
  361. package/dist/utilities/functions/extractDomContainer.js +8 -3
  362. package/dist/utils/focusVisibility.d.ts +6 -0
  363. package/dist/utils/focusVisibility.js +4 -1
  364. package/dist/utils/passthroughDeduper.d.ts +14 -0
  365. package/dist/utils/versionCheck.js +1 -1
  366. package/dist/vite-plugin.d.ts +64 -7
  367. package/dist/vite.js +385 -259
  368. package/llms.txt +2 -1
  369. package/package.json +3 -3
  370. package/scripts/lib/adoption-checklist.json +312 -0
  371. package/scripts/lib/eslint-plugin.d.ts +13 -0
  372. package/scripts/lib/eslint-plugin.mjs +75 -11
  373. package/scripts/lib/idiom-scan.mjs +65 -0
  374. package/scripts/lib/mcp-config.mjs +203 -9
  375. package/scripts/lib/migrate-fix.mjs +42 -1
  376. package/scripts/lib/project-variant-dts.mjs +18 -0
  377. package/scripts/lib/validate-bb-markup.mjs +99 -2
@@ -1,19 +1,19 @@
1
1
  import { isNotEmpty as e } from "../../utilities/functions/isNotEmpty.js";
2
- import { TEXT_CONTROL_NATIVE_ATTRS as t, formControlPtActive as n, usePassthrough as r } from "../../composables/usePassthrough.js";
3
- import { useConfig as i } from "../../composables/useConfig.js";
4
- import { hash as a } from "../../utilities/functions/hash.js";
5
- import { removedPropsFor as o } from "../../deprecation/removedProps.js";
6
- import { warnRemovedAttrs as ee } from "../../utilities/functions/warnRemovedAttrs.js";
7
- import { useMobile as s } from "../../composables/useMobile.js";
8
- import { vAutofocus as te } from "../../utilities/misc/autofocus.js";
9
- import c from "../CommonField/CommonField.vue.js";
2
+ import { TEXT_CONTROL_NATIVE_ATTRS as t, formControlPtActive as n, usePassthrough as r, variantPt as i } from "../../composables/usePassthrough.js";
3
+ import { useConfig as a } from "../../composables/useConfig.js";
4
+ import { hash as o } from "../../utilities/functions/hash.js";
5
+ import { removedPropsFor as ee } from "../../deprecation/removedProps.js";
6
+ import { warnRemovedAttrs as s } from "../../utilities/functions/warnRemovedAttrs.js";
7
+ import { useMobile as te } from "../../composables/useMobile.js";
8
+ import { vAutofocus as c } from "../../utilities/misc/autofocus.js";
9
+ import l from "../CommonField/CommonField.vue.js";
10
10
  import { useFormBinding as ne } from "../../composables/useFormBinding.js";
11
11
  import re from "../CommonFieldInput/CommonFieldInput.vue.js";
12
- import { vSsrValue as ie } from "../../utilities/misc/ssrValue.js";
13
- import { useCharacterCounter as l } from "../../composables/useCharacterCounter.js";
14
- import { BB_TEXT_INPUT_PT as u } from "./types.js";
15
- import { computed as d, createBlock as ae, createElementVNode as oe, createSlots as f, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeProps as g, normalizeProps as _, onBeforeUnmount as v, onMounted as se, openBlock as ce, ref as y, renderSlot as b, unref as x, useAttrs as S, watch as C, withCtx as w, withDirectives as T } from "vue";
16
- import { Mask as E, MaskInput as le } from "maska";
12
+ import { vSsrValue as u } from "../../utilities/misc/ssrValue.js";
13
+ import { useCharacterCounter as d } from "../../composables/useCharacterCounter.js";
14
+ import { BB_TEXT_INPUT_PT as f } from "./types.js";
15
+ import { computed as p, createBlock as ie, createElementVNode as ae, createSlots as m, createVNode as oe, defineComponent as h, guardReactiveProps as g, mergeProps as _, normalizeProps as v, onBeforeUnmount as y, onMounted as b, openBlock as x, ref as S, renderSlot as C, unref as w, useAttrs as T, watch as E, withCtx as D, withDirectives as se } from "vue";
16
+ import { Mask as ce, MaskInput as le } from "maska";
17
17
  //#region src/components/BbTextInput/BbTextInput.vue?vue&type=script&setup=true&lang.ts
18
18
  var ue = [
19
19
  "id",
@@ -32,7 +32,8 @@ var ue = [
32
32
  "required",
33
33
  "aria-required",
34
34
  "type"
35
- ], D = /*@__PURE__*/ m({
35
+ ], O = /*@__PURE__*/ h({
36
+ mixins: [i(f)],
36
37
  inheritAttrs: !1,
37
38
  __name: "BbTextInput",
38
39
  props: {
@@ -153,6 +154,42 @@ var ue = [
153
154
  "pt:counter:hasValue": {},
154
155
  "pt:counter:nearLimit": {},
155
156
  "pt:counter:atLimit": {},
157
+ "pt:root:outline": {},
158
+ "pt:root:secondary": {},
159
+ "pt:root:ghost": {},
160
+ "pt:label:outline": {},
161
+ "pt:label:secondary": {},
162
+ "pt:label:ghost": {},
163
+ "pt:description:outline": {},
164
+ "pt:description:secondary": {},
165
+ "pt:description:ghost": {},
166
+ "pt:message:outline": {},
167
+ "pt:message:secondary": {},
168
+ "pt:message:ghost": {},
169
+ "pt:hint:outline": {},
170
+ "pt:hint:secondary": {},
171
+ "pt:hint:ghost": {},
172
+ "pt:box:outline": {},
173
+ "pt:box:secondary": {},
174
+ "pt:box:ghost": {},
175
+ "pt:input:outline": {},
176
+ "pt:input:secondary": {},
177
+ "pt:input:ghost": {},
178
+ "pt:icon:outline": {},
179
+ "pt:icon:secondary": {},
180
+ "pt:icon:ghost": {},
181
+ "pt:spinner:outline": {},
182
+ "pt:spinner:secondary": {},
183
+ "pt:spinner:ghost": {},
184
+ "pt:prefix:outline": {},
185
+ "pt:prefix:secondary": {},
186
+ "pt:prefix:ghost": {},
187
+ "pt:suffix:outline": {},
188
+ "pt:suffix:secondary": {},
189
+ "pt:suffix:ghost": {},
190
+ "pt:clear:outline": {},
191
+ "pt:clear:secondary": {},
192
+ "pt:clear:ghost": {},
156
193
  pt: {},
157
194
  "append:icon": {},
158
195
  autocomplete: {},
@@ -210,30 +247,34 @@ var ue = [
210
247
  "paste",
211
248
  "update:modelValue"
212
249
  ],
213
- setup(m, { emit: D }) {
214
- let O = m, { props: k, emit: A, showAsterisk: j, errors: M, required: N, ariaRequired: P, readonly: F } = ne(O, D, {
250
+ setup(i, { emit: h }) {
251
+ let O = i, { props: k, emit: A, showAsterisk: j, errors: M, required: N, ariaRequired: P, readonly: F } = ne(O, h, {
215
252
  componentName: "BbTextInput",
216
253
  identifierFallback: () => O.label,
217
254
  leaveOn: "blur"
218
255
  });
219
- process.env.NODE_ENV !== "production" && ee("BbTextInput", o("BbTextInput"));
220
- let I = i(), L = () => (O.nullValue ?? I.formControls?.textInputNullValue) === "string" ? "" : null, R = (e, t) => (e || null) === (t || null), z = y(!1), B = d(() => k.persistentHint || z.value), { isMobile: V } = s(), H = d(() => e(k.modelValue)), de = d(() => !!k.clearable && H.value), fe = d(() => k.labelMode ?? I.defaultInputLabelMode), U = S(), W = l({
256
+ process.env.NODE_ENV !== "production" && s("BbTextInput", ee("BbTextInput"));
257
+ let I = a(), L = () => (O.nullValue ?? I.formControls?.textInputNullValue) === "string" ? "" : null, R = (e, t) => (e || null) === (t || null), z = S(!1), B = p(() => k.persistentHint || z.value), { isMobile: V } = te(), H = p(() => e(k.modelValue)), de = p(() => !!k.clearable && H.value), fe = p(() => k.labelMode ?? I.defaultInputLabelMode), U = T(), W = d({
221
258
  enabled: () => !!k.counter,
222
259
  value: () => k.modelValue,
223
260
  maxlength: () => U.maxlength ?? U.maxLength
224
261
  }), G = r({
225
262
  component: "BbTextInput",
226
- attrs: S(),
263
+ attrs: T(),
227
264
  controlAttrs: t,
228
265
  props: k,
229
- parts: u.parts,
230
- states: u.states,
266
+ parts: f.parts,
267
+ states: f.states,
231
268
  active: {
232
269
  ...n(k, () => H.value),
233
270
  nearLimit: () => W.value?.state === "near",
234
271
  atLimit: () => W.value?.state === "limit"
272
+ },
273
+ variant: {
274
+ ...f.variant,
275
+ current: () => k.variant ?? "outline"
235
276
  }
236
- }), K = y(null), q = y(null), pe = d(() => a(k.mask ?? null)), J = () => !!k.mask, Y = () => {
277
+ }), K = S(null), q = S(null), pe = p(() => o(k.mask ?? null)), J = () => !!k.mask, Y = () => {
237
278
  q.value?.destroy(), q.value = null;
238
279
  }, X = (e) => {
239
280
  K.value && (K.value.value = e ?? "", J() && q.value?.updateValue(K.value));
@@ -252,19 +293,19 @@ var ue = [
252
293
  }, he = () => {
253
294
  let e = k.modelValue ?? "";
254
295
  if (!e || !k.mask) return e;
255
- let { onMaska: t, preProcess: n, postProcess: r, ...i } = k.mask, a = new E(i).masked(n ? n(e) : e);
296
+ let { onMaska: t, preProcess: n, postProcess: r, ...i } = k.mask, a = new ce(i).masked(n ? n(e) : e);
256
297
  return r ? r(a) : a;
257
298
  };
258
- se(() => {
299
+ b(() => {
259
300
  Z();
260
- }), v(() => {
301
+ }), y(() => {
261
302
  Y();
262
- }), C(() => k.modelValue, (e) => {
303
+ }), E(() => k.modelValue, (e) => {
263
304
  let t = Q;
264
305
  Q = null, !(t && t.value === e) && X(e);
265
- }), C(() => pe.value, () => {
306
+ }), E(() => pe.value, () => {
266
307
  Z();
267
- }), C(() => k.emitMasked, () => {
308
+ }), E(() => k.emitMasked, () => {
268
309
  !K.value || !J() || X(k.modelValue);
269
310
  });
270
311
  let $ = {
@@ -290,16 +331,16 @@ var ue = [
290
331
  onMousedown: (e) => A("mousedown", e),
291
332
  onMouseup: (e) => A("mouseup", e),
292
333
  onPaste: (e) => A("paste", e)
293
- }, ge = d(() => G.input ? g($, G.input) : $);
294
- return (e, t) => (ce(), ae(c, g({
334
+ }, ge = p(() => G.input ? _($, G.input) : $);
335
+ return (e, t) => (x(), ie(l, _({
295
336
  id: e.id,
296
337
  class: "bb-text-input",
297
338
  clearable: de.value,
298
339
  compact: e.compact,
299
- counter: x(W),
340
+ counter: w(W),
300
341
  description: e.description,
301
342
  disabled: e.disabled,
302
- errors: x(M),
343
+ errors: w(M),
303
344
  "has-errors": e.hasErrors,
304
345
  "has-value": H.value,
305
346
  "has-warnings": e.hasWarnings,
@@ -312,17 +353,17 @@ var ue = [
312
353
  "label-position": e.labelPosition,
313
354
  layout: e.layout,
314
355
  loading: e.loading,
315
- mobile: x(V),
356
+ mobile: w(V),
316
357
  name: e.name,
317
- passthrough: x(G),
318
- readonly: x(F),
358
+ passthrough: w(G),
359
+ readonly: w(F),
319
360
  reverse: e.reverse,
320
- "show-asterisk": x(j),
361
+ "show-asterisk": w(j),
321
362
  "show-hint": B.value,
322
363
  warnings: e.warnings
323
- }, x(G).forwardAttrs), f({
324
- label: w((t) => [b(e.$slots, "label", _(h(t)))]),
325
- input: w(({ id: n, hasErrors: r, hasWarnings: i, ariaDescribedby: a, ariaLabelledby: o }) => [p(re, {
364
+ }, w(G).forwardAttrs), m({
365
+ label: D((t) => [C(e.$slots, "label", v(g(t)))]),
366
+ input: D(({ id: n, hasErrors: r, hasWarnings: i, ariaDescribedby: a, ariaLabelledby: o }) => [oe(re, {
326
367
  "append:icon": O["append:icon"],
327
368
  clearable: e.clearable,
328
369
  compact: e.compact,
@@ -331,18 +372,18 @@ var ue = [
331
372
  "has-value": H.value,
332
373
  "has-warnings": i,
333
374
  loading: e.loading,
334
- passthrough: x(G),
375
+ passthrough: w(G),
335
376
  "prepend:icon": O["prepend:icon"],
336
- readonly: x(F),
377
+ readonly: w(F),
337
378
  "reserve-append-space": e.clearable,
338
379
  variant: e.variant,
339
- "onClick:clear": t[0] ||= (e) => x(A)("update:modelValue", L())
340
- }, f({
341
- "prepend:outer": w(() => [b(e.$slots, "prepend:outer")]),
342
- prepend: w(() => [b(e.$slots, "prepend")]),
343
- append: w(() => [b(e.$slots, "append")]),
344
- "append:outer": w(() => [b(e.$slots, "append:outer")]),
345
- default: w(() => [T(oe("input", g({
380
+ "onClick:clear": t[0] ||= (e) => w(A)("update:modelValue", L())
381
+ }, m({
382
+ "prepend:outer": D(() => [C(e.$slots, "prepend:outer")]),
383
+ prepend: D(() => [C(e.$slots, "prepend")]),
384
+ append: D(() => [C(e.$slots, "append")]),
385
+ "append:outer": D(() => [C(e.$slots, "append:outer")]),
386
+ default: D(() => [se(ae("input", _({
346
387
  id: n,
347
388
  ref_key: "input",
348
389
  ref: K,
@@ -350,7 +391,7 @@ var ue = [
350
391
  "aria-disabled": e.disabled || void 0,
351
392
  "aria-invalid": r || void 0,
352
393
  "aria-labelledby": o,
353
- "aria-readonly": x(F) || void 0,
394
+ "aria-readonly": w(F) || void 0,
354
395
  autocomplete: e.autocomplete,
355
396
  autofocus: e.autofocus,
356
397
  class: "bb-text-input__input",
@@ -358,21 +399,21 @@ var ue = [
358
399
  inputmode: e.inputMode,
359
400
  name: e.name,
360
401
  placeholder: e.placeholder,
361
- readonly: x(F),
362
- required: x(N),
363
- "aria-required": x(P),
402
+ readonly: w(F),
403
+ required: w(N),
404
+ "aria-required": w(P),
364
405
  size: "1",
365
406
  type: e.type,
366
407
  onMaska: me
367
- }, g(x(G).controlAttrs, ge.value)), null, 16, ue), [[x(te)], [x(ie), he]])]),
408
+ }, _(w(G).controlAttrs, ge.value)), null, 16, ue), [[w(c)], [w(u), he]])]),
368
409
  _: 2
369
410
  }, [e.$slots.prefix ? {
370
411
  name: "prefix",
371
- fn: w(() => [b(e.$slots, "prefix")]),
412
+ fn: D(() => [C(e.$slots, "prefix")]),
372
413
  key: "0"
373
414
  } : void 0, e.$slots.suffix ? {
374
415
  name: "suffix",
375
- fn: w(() => [b(e.$slots, "suffix")]),
416
+ fn: D(() => [C(e.$slots, "suffix")]),
376
417
  key: "1"
377
418
  } : void 0]), 1032, [
378
419
  "append:icon",
@@ -392,10 +433,10 @@ var ue = [
392
433
  _: 2
393
434
  }, [e.$slots.description ? {
394
435
  name: "description",
395
- fn: w((t) => [b(e.$slots, "description", _(h(t)))]),
436
+ fn: D((t) => [C(e.$slots, "description", v(g(t)))]),
396
437
  key: "0"
397
438
  } : void 0]), 1040, /* @__PURE__ */ "id.clearable.compact.counter.description.disabled.errors.has-errors.has-value.has-warnings.hide-label.hint.input-align.label.label-align.label-mode.label-position.layout.loading.mobile.name.passthrough.readonly.reverse.show-asterisk.show-hint.warnings".split(".")));
398
439
  }
399
440
  });
400
441
  //#endregion
401
- export { D as default };
442
+ export { O as default };
@@ -1,10 +1,10 @@
1
1
  import { Responsive } from '../../types/ResponsiveSize';
2
- import { InputVariantType } from '../../types/InputVariant';
2
+ import { InputVariantBuiltIn, InputVariantRegistry, InputVariantType } from '../../types/InputVariant';
3
3
  import { HTMLAttributes, InputHTMLAttributes } from 'vue';
4
4
  import { FieldCrossAlign, FieldLayout } from '../../types/FieldLayout';
5
5
  import { MaskInputOptions } from 'maska';
6
6
  import { IconType } from '../../types/Icon';
7
- import { CounterPtPart, CounterPtState, FormControlPtState, PtMap, PtValue, TextControlPtPart } from '../../types/passthrough';
7
+ import { CounterPtPart, CounterPtState, FormControlPtState, PtMap, PtValue, TextControlPtPart, PtVariantAttrs } from '../../types/passthrough';
8
8
  import { FormFieldProps } from '../../composables/useFormBinding';
9
9
  import { NullValueOf, NullValuePolicy, RegisteredNullValue } from '../../types/Config';
10
10
  import { CommonFieldAsteriskSlotProps } from '../CommonField/types';
@@ -24,17 +24,24 @@ export type BbTextInputPtState = FormControlPtState | CounterPtState;
24
24
  export declare const BB_TEXT_INPUT_PT: {
25
25
  readonly parts: readonly ["root", "label", "description", "message", "hint", "box", "input", "icon", "spinner", "prefix", "suffix", "clear", "counter"];
26
26
  readonly states: readonly ["hasValue", "nearLimit", "atLimit", ...("hasValue" | "readonly" | "disabled" | "warnings" | "errors" | "loading")[]];
27
+ readonly variant: {
28
+ readonly names: readonly ["outline", "secondary", "ghost"];
29
+ readonly option: "inputVariants";
30
+ readonly parts: readonly ["root", "label", "description", "message", "hint", "box", "input", "icon", "spinner", "prefix", "suffix", "clear"];
31
+ };
27
32
  };
28
33
  /** The app-wide policy: `'string'` once the project file registers it. */
29
34
  type AppPolicy = RegisteredNullValue<'BbTextInput'>;
30
35
  export type BbTextInputProps<E extends NullValuePolicy = AppPolicy> = {
31
- [K in `pt:${BbTextInputPtPart}` | `pt:${BbTextInputPtPart}:${BbTextInputPtState}`]?: PtValue;
32
- } & {
36
+ [K in `pt:${BbTextInputPtPart}` | `pt:${BbTextInputPtPart}:${BbTextInputPtState}` | `pt:${TextControlPtPart}:${InputVariantBuiltIn}`]?: PtValue;
37
+ } & /* @vue-ignore */ PtVariantAttrs<TextControlPtPart, keyof InputVariantRegistry> & {
33
38
  /**
34
39
  * Passthrough, object form: `{ box: '…', 'box:errors': '…' }` — the same
35
40
  * keys as the `pt:*` attributes without the prefix. See the `pt:<part>` row.
36
41
  */
37
- pt?: PtMap<BbTextInputPtPart, BbTextInputPtState>;
42
+ pt?: PtMap<BbTextInputPtPart, BbTextInputPtState> & {
43
+ [K in `${TextControlPtPart}:${InputVariantBuiltIn | keyof InputVariantRegistry}`]?: PtValue;
44
+ };
38
45
  /**
39
46
  * Name of the icon to be added at the end of the input.
40
47
  */
@@ -1,12 +1,18 @@
1
1
  import { COUNTER_PT_STATES as e, FORM_CONTROL_PT_STATES as t, TEXT_CONTROL_PT_PARTS as n } from "../../types/passthrough.js";
2
+ import { INPUT_VARIANTS as r } from "../../types/InputVariant.js";
2
3
  //#region src/components/BbTextInput/types.ts
3
- var r = {
4
+ var i = {
4
5
  parts: [...n, "counter"],
5
6
  states: [
6
7
  t[0],
7
8
  ...e,
8
9
  ...t.slice(1)
9
- ]
10
+ ],
11
+ variant: {
12
+ names: r,
13
+ option: "inputVariants",
14
+ parts: n
15
+ }
10
16
  };
11
17
  //#endregion
12
- export { r as BB_TEXT_INPUT_PT };
18
+ export { i as BB_TEXT_INPUT_PT };