bitboss-ui 3.0.0-beta.25 → 3.0.0-beta.26

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 (611) hide show
  1. package/README.md +68 -4
  2. package/bin/bitboss-ui.mjs +1 -1
  3. package/dist/ai/BbAccordion.md +109 -5
  4. package/dist/ai/BbAlert.md +74 -1
  5. package/dist/ai/BbAsterisk.md +28 -1
  6. package/dist/ai/BbAvatar.md +90 -6
  7. package/dist/ai/BbBadge.md +168 -20
  8. package/dist/ai/BbBadgeButton.md +35 -20
  9. package/dist/ai/BbBaseButton.md +45 -0
  10. package/dist/ai/BbBaseCheckboxIcon.md +47 -8
  11. package/dist/ai/BbBaseRadioIcon.md +46 -7
  12. package/dist/ai/BbBaseSwitchIcon.md +48 -9
  13. package/dist/ai/BbBreadcrumbs.md +149 -7
  14. package/dist/ai/BbButton.md +91 -1
  15. package/dist/ai/BbCheckbox.md +152 -4
  16. package/dist/ai/BbCheckboxGroup.md +107 -6
  17. package/dist/ai/BbCollapsible.md +114 -4
  18. package/dist/ai/BbColorInput.md +202 -7
  19. package/dist/ai/BbColorPalette.md +171 -4
  20. package/dist/ai/BbConfirm.md +126 -1
  21. package/dist/ai/BbDatePicker.md +135 -3
  22. package/dist/ai/BbDatePickerInput.md +177 -12
  23. package/dist/ai/BbDialog.md +169 -9
  24. package/dist/ai/BbDropdown.md +151 -4
  25. package/dist/ai/BbDropdownButton.md +118 -1
  26. package/dist/ai/BbDropdownGroup.md +1 -1
  27. package/dist/ai/BbDropzone.md +91 -2
  28. package/dist/ai/BbIcon.md +28 -1
  29. package/dist/ai/BbIndicator.md +35 -1
  30. package/dist/ai/BbNumberInput.md +138 -15
  31. package/dist/ai/BbOffCanvas.md +159 -16
  32. package/dist/ai/BbPagination.md +107 -1
  33. package/dist/ai/BbPopover.md +132 -0
  34. package/dist/ai/BbProgress.md +33 -1
  35. package/dist/ai/BbRadio.md +156 -4
  36. package/dist/ai/BbRadioGroup.md +138 -15
  37. package/dist/ai/BbRating.md +87 -3
  38. package/dist/ai/BbSelect.md +162 -8
  39. package/dist/ai/BbSelectPopover.md +147 -2
  40. package/dist/ai/BbSlider.md +153 -14
  41. package/dist/ai/BbSmoothHeight.md +111 -0
  42. package/dist/ai/BbSpinner.md +40 -0
  43. package/dist/ai/BbSwitch.md +143 -4
  44. package/dist/ai/BbSwitchGroup.md +122 -4
  45. package/dist/ai/BbTable.md +114 -6
  46. package/dist/ai/BbTabs.md +141 -3
  47. package/dist/ai/BbTabsList.md +21 -1
  48. package/dist/ai/BbTabsPanes.md +1 -1
  49. package/dist/ai/BbTabsRoot.md +2 -1
  50. package/dist/ai/BbTag.md +149 -4
  51. package/dist/ai/BbTextInput.md +287 -17
  52. package/dist/ai/BbTextarea.md +179 -6
  53. package/dist/ai/BbTimePicker.md +87 -0
  54. package/dist/ai/BbTimePickerInput.md +157 -4
  55. package/dist/ai/BbToast.md +101 -1
  56. package/dist/ai/BbToastPortal.md +1 -1
  57. package/dist/ai/BbTooltip.md +108 -1
  58. package/dist/ai/BbTree.md +155 -1
  59. package/dist/ai/ChipsBox.md +40 -0
  60. package/dist/ai/ClearableButton.md +12 -0
  61. package/dist/ai/CommaBox.md +1 -0
  62. package/dist/ai/{BbBaseInputContainer.md → CommonField.md} +8 -7
  63. package/dist/ai/CommonFieldInput.md +90 -0
  64. package/dist/ai/CommonPopover.md +6 -1
  65. package/dist/ai/CommonTimeSelector.md +61 -0
  66. package/dist/ai/ErrorIcon.md +13 -1
  67. package/dist/ai/FlatListBox.md +27 -0
  68. package/dist/ai/GroupedListBox.md +27 -0
  69. package/dist/ai/ListBox.md +31 -0
  70. package/dist/ai/OptionsContainer.md +3 -2
  71. package/dist/ai/WarningIcon.md +13 -1
  72. package/dist/ai/changelog.json +623 -22
  73. package/dist/ai/components.json +31543 -10433
  74. package/dist/ai/guides/agent-contract.md +40 -1
  75. package/dist/ai/guides/ai-router.md +22 -14
  76. package/dist/ai/guides/design-language.md +21 -20
  77. package/dist/ai/guides/design-tokens.md +43 -7
  78. package/dist/ai/guides/installation-and-plugin-setup.md +165 -11
  79. package/dist/ai/guides/migration/components/bb-accordion.md +29 -0
  80. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +8 -7
  81. package/dist/ai/guides/migration/components/bb-button.md +1 -1
  82. package/dist/ai/guides/migration/components/bb-checkbox-group.md +32 -29
  83. package/dist/ai/guides/migration/components/bb-checkbox.md +10 -9
  84. package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
  85. package/dist/ai/guides/migration/components/bb-date-picker-input.md +33 -29
  86. package/dist/ai/guides/migration/components/bb-dropdown.md +10 -9
  87. package/dist/ai/guides/migration/components/bb-popover.md +12 -11
  88. package/dist/ai/guides/migration/components/bb-rating.md +23 -19
  89. package/dist/ai/guides/migration/components/bb-select.md +1 -1
  90. package/dist/ai/guides/migration/components/bb-tabs.md +2 -2
  91. package/dist/ai/guides/migration/components/bb-text-input.md +4 -4
  92. package/dist/ai/guides/migration/v2-to-v3.md +140 -90
  93. package/dist/ai/guides/passthrough.md +428 -0
  94. package/dist/ai/index.md +10 -25
  95. package/dist/ai/recipes/inertia/ownership-atlas.md +11 -9
  96. package/dist/ai/source/BbAccordion.md +75 -21
  97. package/dist/ai/source/BbAlert.md +51 -4
  98. package/dist/ai/source/BbAsterisk.md +50 -4
  99. package/dist/ai/source/BbAvatar.md +47 -4
  100. package/dist/ai/source/BbBadge.md +67 -4
  101. package/dist/ai/source/BbBadgeButton.md +35 -0
  102. package/dist/ai/source/BbBaseButton.md +81 -5
  103. package/dist/ai/source/BbBaseCheckboxIcon.md +119 -28
  104. package/dist/ai/source/BbBaseRadioIcon.md +88 -7
  105. package/dist/ai/source/BbBaseSwitchIcon.md +103 -12
  106. package/dist/ai/source/BbBreadcrumbs.md +177 -59
  107. package/dist/ai/source/BbButton.md +140 -26
  108. package/dist/ai/source/BbCheckbox.md +399 -60
  109. package/dist/ai/source/BbCheckboxGroup.md +669 -80
  110. package/dist/ai/source/BbCollapsible.md +75 -7
  111. package/dist/ai/source/BbColorInput.md +452 -56
  112. package/dist/ai/source/BbColorPalette.md +1065 -42
  113. package/dist/ai/source/BbConfirm.md +112 -2
  114. package/dist/ai/source/BbConfirmPortal.md +63 -0
  115. package/dist/ai/source/BbDatePicker.md +1171 -50
  116. package/dist/ai/source/BbDatePickerInput.md +1887 -99
  117. package/dist/ai/source/BbDialog.md +124 -8
  118. package/dist/ai/source/BbDropdown.md +178 -62
  119. package/dist/ai/source/BbDropdownButton.md +195 -69
  120. package/dist/ai/source/BbDropdownGroup.md +82 -8
  121. package/dist/ai/source/BbDropzone.md +68 -9
  122. package/dist/ai/source/BbIcon.md +48 -6
  123. package/dist/ai/source/BbIndicator.md +48 -4
  124. package/dist/ai/source/BbNumberInput.md +538 -71
  125. package/dist/ai/source/BbOffCanvas.md +100 -11
  126. package/dist/ai/source/BbPagination.md +74 -8
  127. package/dist/ai/source/BbPopover.md +160 -65
  128. package/dist/ai/source/BbProgress.md +42 -2
  129. package/dist/ai/source/BbRadio.md +335 -53
  130. package/dist/ai/source/BbRadioGroup.md +653 -94
  131. package/dist/ai/source/BbRating.md +606 -74
  132. package/dist/ai/source/BbSelect.md +743 -75
  133. package/dist/ai/source/BbSelectPopover.md +119 -12
  134. package/dist/ai/source/BbSlider.md +1145 -81
  135. package/dist/ai/source/BbSmoothHeight.md +46 -2
  136. package/dist/ai/source/BbSpinner.md +56 -4
  137. package/dist/ai/source/BbSwitch.md +243 -56
  138. package/dist/ai/source/BbSwitchGroup.md +539 -77
  139. package/dist/ai/source/BbTable.md +258 -39
  140. package/dist/ai/source/BbTabs.md +114 -82
  141. package/dist/ai/source/BbTabsList.md +127 -79
  142. package/dist/ai/source/BbTabsPanes.md +118 -78
  143. package/dist/ai/source/BbTabsRoot.md +109 -77
  144. package/dist/ai/source/BbTag.md +625 -74
  145. package/dist/ai/source/BbTextInput.md +403 -57
  146. package/dist/ai/source/BbTextarea.md +447 -52
  147. package/dist/ai/source/BbTimePicker.md +136 -15
  148. package/dist/ai/source/BbTimePickerInput.md +1033 -86
  149. package/dist/ai/source/BbToast.md +42 -2
  150. package/dist/ai/source/BbToastPortal.md +27 -0
  151. package/dist/ai/source/BbTooltip.md +48 -2
  152. package/dist/ai/source/BbTree.md +45 -3
  153. package/dist/ai/source/ChipsBox.md +11 -1
  154. package/dist/ai/source/CommaBox.md +9 -1
  155. package/dist/ai/source/{BbBaseInputContainer.md → CommonField.md} +172 -183
  156. package/dist/ai/source/{CommonInputWrapper.md → CommonFieldInput.md} +140 -79
  157. package/dist/ai/source/CommonPopover.md +64 -13
  158. package/dist/ai/source/CommonTimeSelector.md +637 -0
  159. package/dist/ai/source/FlatListBox.md +61 -4
  160. package/dist/ai/source/GroupedListBox.md +76 -4
  161. package/dist/ai/source/ListBox.md +12 -0
  162. package/dist/ai/source/OptionsContainer.md +134 -26
  163. package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +49 -32
  164. package/dist/components/BbAccordion/types.d.ts +24 -1
  165. package/dist/components/BbAccordion/types.js +11 -0
  166. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +46 -30
  167. package/dist/components/BbAlert/types.d.ts +17 -0
  168. package/dist/components/BbAlert/types.js +13 -0
  169. package/dist/components/BbAsterisk/BbAsterisk.vue.d.ts +3 -1
  170. package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +23 -8
  171. package/dist/components/BbAsterisk/types.d.ts +14 -0
  172. package/dist/components/BbAsterisk/types.js +7 -0
  173. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +57 -44
  174. package/dist/components/BbAvatar/types.d.ts +17 -0
  175. package/dist/components/BbAvatar/types.js +7 -0
  176. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +17 -17
  177. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +77 -55
  178. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +3 -0
  179. package/dist/components/BbBadge/badgeButtonContext.d.ts +4 -0
  180. package/dist/components/BbBadge/types.d.ts +26 -0
  181. package/dist/components/BbBadge/types.js +13 -0
  182. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +110 -97
  183. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +7 -7
  184. package/dist/components/BbBaseButton/types.d.ts +19 -0
  185. package/dist/components/BbBaseButton/types.js +9 -2
  186. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +50 -18
  187. package/dist/components/BbBaseCheckboxIcon/types.d.ts +26 -2
  188. package/dist/components/BbBaseCheckboxIcon/types.js +8 -0
  189. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +45 -15
  190. package/dist/components/BbBaseRadioIcon/types.d.ts +26 -2
  191. package/dist/components/BbBaseRadioIcon/types.js +8 -0
  192. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +48 -16
  193. package/dist/components/BbBaseSwitchIcon/types.d.ts +26 -2
  194. package/dist/components/BbBaseSwitchIcon/types.js +8 -0
  195. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +176 -135
  196. package/dist/components/BbBreadcrumbs/types.d.ts +19 -0
  197. package/dist/components/BbBreadcrumbs/types.js +12 -0
  198. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +108 -85
  199. package/dist/components/BbButton/types.d.ts +27 -0
  200. package/dist/components/BbButton/types.js +12 -0
  201. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +1 -1
  202. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +190 -69
  203. package/dist/components/BbCheckbox/types.d.ts +151 -10
  204. package/dist/components/BbCheckbox/types.js +8 -0
  205. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +3 -3
  206. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +298 -82
  207. package/dist/components/BbCheckboxGroup/types.d.ts +118 -10
  208. package/dist/components/BbCheckboxGroup/types.js +10 -0
  209. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +2 -1
  210. package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +41 -19
  211. package/dist/components/BbCollapsible/types.d.ts +29 -0
  212. package/dist/components/BbCollapsible/types.js +7 -0
  213. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +10 -0
  214. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +292 -84
  215. package/dist/components/BbColorInput/types.d.ts +163 -7
  216. package/dist/components/BbColorInput/types.js +23 -0
  217. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +8 -0
  218. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +495 -101
  219. package/dist/components/BbColorPalette/types.d.ts +40 -3
  220. package/dist/components/BbColorPalette/types.js +11 -0
  221. package/dist/components/BbConfirm/BbConfirm.vue.d.ts +2 -1
  222. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +115 -76
  223. package/dist/components/BbConfirm/types.d.ts +29 -0
  224. package/dist/components/BbConfirm/types.js +17 -0
  225. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +11 -4
  226. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +595 -175
  227. package/dist/components/BbDatePicker/DatePickerMonthPanel.vue.js +5 -0
  228. package/dist/components/BbDatePicker/DatePickerMonthPanel.vue_vue_type_script_setup_true_lang.js +124 -0
  229. package/dist/components/BbDatePicker/DatePickerYearPanel.vue.js +5 -0
  230. package/dist/components/BbDatePicker/DatePickerYearPanel.vue_vue_type_script_setup_true_lang.js +125 -0
  231. package/dist/components/BbDatePicker/types.d.ts +45 -4
  232. package/dist/components/BbDatePicker/types.js +30 -0
  233. package/dist/components/BbDatePicker/useCalendarGrid.d.ts +208 -0
  234. package/dist/components/BbDatePicker/useCalendarGrid.js +269 -0
  235. package/dist/components/{BbBaseDatePicker → BbDatePicker}/useDatePickerContext.d.ts +7 -4
  236. package/dist/components/BbDatePicker/useDatePickerContext.js +11 -0
  237. package/dist/components/BbDatePicker/useDayGrid.d.ts +79 -0
  238. package/dist/components/BbDatePicker/useDayGrid.js +203 -0
  239. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +14 -2
  240. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +1126 -83
  241. package/dist/components/BbDatePickerInput/types.d.ts +132 -11
  242. package/dist/components/BbDatePickerInput/types.js +37 -0
  243. package/dist/components/BbDialog/BbDialog.vue.d.ts +3 -3
  244. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +178 -139
  245. package/dist/components/BbDialog/types.d.ts +19 -0
  246. package/dist/components/BbDialog/types.js +16 -0
  247. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +53 -46
  248. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +8 -0
  249. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +225 -173
  250. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +213 -216
  251. package/dist/components/BbDropdown/types.d.ts +35 -1
  252. package/dist/components/BbDropdown/types.js +19 -2
  253. package/dist/components/BbDropdown/useDropdownContext.d.ts +7 -1
  254. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +13 -3
  255. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +118 -35
  256. package/dist/components/BbDropdownButton/types.d.ts +39 -1
  257. package/dist/components/BbDropdownButton/types.js +22 -0
  258. package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +167 -136
  259. package/dist/components/BbDropzone/types.d.ts +20 -1
  260. package/dist/components/BbDropzone/types.js +16 -0
  261. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +54 -42
  262. package/dist/components/BbIcon/types.d.ts +21 -2
  263. package/dist/components/BbIcon/types.js +7 -0
  264. package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +33 -20
  265. package/dist/components/BbIndicator/types.d.ts +17 -0
  266. package/dist/components/BbIndicator/types.js +7 -0
  267. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +5 -0
  268. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +267 -84
  269. package/dist/components/BbNumberInput/types.d.ts +153 -12
  270. package/dist/components/BbNumberInput/types.js +8 -0
  271. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +3 -3
  272. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +215 -192
  273. package/dist/components/BbOffCanvas/types.d.ts +21 -0
  274. package/dist/components/BbOffCanvas/types.js +15 -0
  275. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +119 -96
  276. package/dist/components/BbPagination/types.d.ts +19 -0
  277. package/dist/components/BbPagination/types.js +11 -0
  278. package/dist/components/BbPopover/BbPopover.vue.d.ts +3 -3
  279. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +180 -154
  280. package/dist/components/BbPopover/types.d.ts +19 -0
  281. package/dist/components/BbPopover/types.js +14 -0
  282. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +27 -15
  283. package/dist/components/BbProgress/types.d.ts +17 -0
  284. package/dist/components/BbProgress/types.js +7 -0
  285. package/dist/components/BbRadio/BbRadio.vue.d.ts +1 -1
  286. package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +162 -58
  287. package/dist/components/BbRadio/types.d.ts +124 -10
  288. package/dist/components/BbRadio/types.js +8 -0
  289. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +2 -2
  290. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +280 -84
  291. package/dist/components/BbRadioGroup/types.d.ts +120 -12
  292. package/dist/components/BbRadioGroup/types.js +10 -0
  293. package/dist/components/BbRating/BbRating.vue.d.ts +4 -2
  294. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +241 -73
  295. package/dist/components/BbRating/types.d.ts +117 -7
  296. package/dist/components/BbRating/types.js +21 -0
  297. package/dist/components/BbSelect/BbSelect.vue.d.ts +3 -3
  298. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +446 -80
  299. package/dist/components/BbSelect/types.d.ts +48 -7
  300. package/dist/components/BbSelect/types.js +25 -0
  301. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +416 -348
  302. package/dist/components/BbSelectPopover/types.d.ts +30 -3
  303. package/dist/components/BbSelectPopover/types.js +22 -0
  304. package/dist/components/BbSlider/BbSlider.vue.d.ts +9 -3
  305. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +392 -92
  306. package/dist/components/BbSlider/types.d.ts +142 -7
  307. package/dist/components/BbSlider/types.js +21 -0
  308. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
  309. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +60 -48
  310. package/dist/components/BbSmoothHeight/types.d.ts +17 -0
  311. package/dist/components/BbSmoothHeight/types.js +7 -0
  312. package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +27 -14
  313. package/dist/components/BbSpinner/types.d.ts +17 -0
  314. package/dist/components/BbSpinner/types.js +7 -0
  315. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +1 -1
  316. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +199 -78
  317. package/dist/components/BbSwitch/types.d.ts +12 -11
  318. package/dist/components/BbSwitch/types.js +5 -0
  319. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +2 -2
  320. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +298 -82
  321. package/dist/components/BbSwitchGroup/types.d.ts +14 -7
  322. package/dist/components/BbSwitchGroup/types.js +5 -0
  323. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +912 -836
  324. package/dist/components/BbTable/BbTableDataRow.d.ts +8 -1
  325. package/dist/components/BbTable/BbTableDataRow.js +70 -73
  326. package/dist/components/BbTable/BbTableSelectToggle.d.ts +103 -0
  327. package/dist/components/BbTable/BbTableSelectToggle.js +114 -0
  328. package/dist/components/BbTable/types.d.ts +19 -0
  329. package/dist/components/BbTable/types.js +18 -0
  330. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +30 -19
  331. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +18 -14
  332. package/dist/components/BbTabs/BbTabsPanes.vue_vue_type_script_setup_true_lang.js +14 -13
  333. package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +10 -0
  334. package/dist/components/BbTabs/types.d.ts +25 -1
  335. package/dist/components/BbTabs/types.js +11 -0
  336. package/dist/components/BbTag/BbTag.vue.d.ts +6 -3
  337. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +344 -91
  338. package/dist/components/BbTag/types.d.ts +60 -6
  339. package/dist/components/BbTag/types.js +8 -0
  340. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +3 -1
  341. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +239 -83
  342. package/dist/components/BbTextInput/types.d.ts +122 -7
  343. package/dist/components/BbTextInput/types.js +8 -0
  344. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +247 -74
  345. package/dist/components/BbTextarea/types.d.ts +109 -7
  346. package/dist/components/BbTextarea/types.js +8 -0
  347. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +9 -1
  348. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +143 -108
  349. package/dist/components/BbTimePicker/types.d.ts +29 -2
  350. package/dist/components/BbTimePicker/types.js +11 -0
  351. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +12 -2
  352. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +666 -66
  353. package/dist/components/BbTimePickerInput/types.d.ts +67 -11
  354. package/dist/components/BbTimePickerInput/types.js +22 -0
  355. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +51 -28
  356. package/dist/components/BbToast/BbToastMessage.vue.d.ts +3 -0
  357. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +43 -42
  358. package/dist/components/BbToast/BbToastRegion.vue.d.ts +3 -0
  359. package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +5 -2
  360. package/dist/components/BbToast/types.d.ts +19 -0
  361. package/dist/components/BbToast/types.js +13 -0
  362. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +72 -59
  363. package/dist/components/BbTooltip/types.d.ts +19 -0
  364. package/dist/components/BbTooltip/types.js +7 -0
  365. package/dist/components/BbTree/BbTree.vue.d.ts +11 -1
  366. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +44 -28
  367. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +13 -12
  368. package/dist/components/BbTree/context.d.ts +4 -1
  369. package/dist/components/BbTree/types.d.ts +20 -1
  370. package/dist/components/BbTree/types.js +7 -0
  371. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +23 -21
  372. package/dist/components/ChipsBox/types.d.ts +6 -0
  373. package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +10 -6
  374. package/dist/components/CommaBox/types.d.ts +6 -0
  375. package/dist/components/{BbBaseInputContainer/BbBaseInputContainer.vue.d.ts → CommonField/CommonField.vue.d.ts} +3 -3
  376. package/dist/components/{BbBaseRadio/BbBaseRadio.vue.js → CommonField/CommonField.vue.js} +2 -2
  377. package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +178 -0
  378. package/dist/components/CommonField/messageHeightMatrix.d.ts +2 -0
  379. package/dist/components/{BbBaseInputContainer → CommonField}/types.d.ts +20 -11
  380. package/dist/components/{CommonInputWrapper/CommonInputWrapper.vue.d.ts → CommonFieldInput/CommonFieldInput.vue.d.ts} +4 -4
  381. package/dist/components/{BbBaseRadioGroup/BbBaseRadioGroup.vue.js → CommonFieldInput/CommonFieldInput.vue.js} +2 -2
  382. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +116 -0
  383. package/dist/components/CommonFieldInput/boxBorderMatrix.d.ts +10 -0
  384. package/dist/components/{CommonInputWrapper → CommonFieldInput}/types.d.ts +15 -6
  385. package/dist/components/CommonPopover/CommonPopover.vue.d.ts +11 -2
  386. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +63 -52
  387. package/dist/components/CommonPopover/types.d.ts +27 -8
  388. package/dist/components/{BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.d.ts → CommonTimeSelector/CommonTimeSelector.vue.d.ts} +4 -1
  389. package/dist/components/{CommonInputWrapper/CommonInputWrapper.vue.js → CommonTimeSelector/CommonTimeSelector.vue.js} +2 -2
  390. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +206 -0
  391. package/dist/components/CommonTimeSelector/types.d.ts +6 -0
  392. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +100 -74
  393. package/dist/components/FlatListBox/types.d.ts +6 -0
  394. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +98 -72
  395. package/dist/components/GroupedListBox/types.d.ts +6 -0
  396. package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +5 -0
  397. package/dist/components/ListBox/types.d.ts +6 -0
  398. package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +76 -43
  399. package/dist/components/OptionsContainer/types.d.ts +24 -5
  400. package/dist/composables/useBbTabsContext.d.ts +10 -2
  401. package/dist/composables/useBbTabsContext.js +155 -145
  402. package/dist/composables/useConfig.d.ts +2 -2
  403. package/dist/composables/useConfig.js +9 -7
  404. package/dist/composables/usePassthrough.d.ts +164 -0
  405. package/dist/composables/usePassthrough.js +182 -0
  406. package/dist/composables/usePrefill.d.ts +1 -0
  407. package/dist/composables/usePrefill.js +18 -8
  408. package/dist/composables/useSegmentedFields.d.ts +2 -2
  409. package/dist/composables/useToggleInput.d.ts +44 -0
  410. package/dist/composables/useToggleInput.js +39 -0
  411. package/dist/deprecation/ai-deprecations.json.d.ts +231 -0
  412. package/dist/deprecation/ai-deprecations.json.js +1 -1
  413. package/dist/i18n/locales/cs.json +2 -2
  414. package/dist/i18n/locales/da.json +2 -2
  415. package/dist/i18n/locales/de.json +2 -2
  416. package/dist/i18n/locales/el.json +2 -2
  417. package/dist/i18n/locales/en.json +2 -2
  418. package/dist/i18n/locales/es.json +2 -2
  419. package/dist/i18n/locales/fi.json +2 -2
  420. package/dist/i18n/locales/fr.json +2 -2
  421. package/dist/i18n/locales/hu.json +2 -2
  422. package/dist/i18n/locales/it.json +2 -2
  423. package/dist/i18n/locales/ja.json +2 -2
  424. package/dist/i18n/locales/ko.json +2 -2
  425. package/dist/i18n/locales/nb.json +2 -2
  426. package/dist/i18n/locales/nl.json +2 -2
  427. package/dist/i18n/locales/pl.json +2 -2
  428. package/dist/i18n/locales/pt.json +2 -2
  429. package/dist/i18n/locales/ro.json +2 -2
  430. package/dist/i18n/locales/ru.json +2 -2
  431. package/dist/i18n/locales/sv.json +2 -2
  432. package/dist/i18n/locales/tr.json +2 -2
  433. package/dist/i18n/locales/uk.json +2 -2
  434. package/dist/i18n/locales/zh-cn.json +2 -2
  435. package/dist/index.d.ts +8 -2
  436. package/dist/llms-full.txt +7431 -1967
  437. package/dist/llms-medium.txt +251 -49
  438. package/dist/llms.txt +4 -2
  439. package/dist/locale-blueprint.json +2 -2
  440. package/dist/passthrough-deduper.js +5 -0
  441. package/dist/plugin.d.ts +2 -2
  442. package/dist/styles.css +1 -1
  443. package/dist/types/ColumnName.d.ts +1 -1
  444. package/dist/types/CommonProps.d.ts +2 -2
  445. package/dist/types/Config.d.ts +16 -0
  446. package/dist/types/InputVariant.d.ts +1 -1
  447. package/dist/types/ItemProps.d.ts +13 -0
  448. package/dist/types/passthrough.d.ts +200 -0
  449. package/dist/types/passthrough.js +77 -0
  450. package/dist/utilities/functions/itemProps.d.ts +1 -1
  451. package/dist/utilities/functions/slotKey.d.ts +5 -5
  452. package/dist/utilities/functions/slotKey.js +1 -1
  453. package/dist/utilities/functions/toggleInput.d.ts +98 -0
  454. package/dist/utilities/functions/toggleInput.js +56 -0
  455. package/dist/utils/passthrough.d.ts +26 -0
  456. package/dist/utils/passthrough.js +76 -0
  457. package/dist/utils/passthroughDeduper.d.ts +2 -0
  458. package/dist/utils/passthroughTestKit.d.ts +54 -0
  459. package/dist/utils/swipeTestKit.d.ts +9 -0
  460. package/dist/validated/BbCheckbox.vue_vue_type_script_setup_true_lang.js +56 -1
  461. package/dist/validated/BbCheckboxGroup.vue.d.ts +115 -2
  462. package/dist/validated/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +77 -1
  463. package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +109 -1
  464. package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +370 -1
  465. package/dist/validated/BbDropzone.vue_vue_type_script_setup_true_lang.js +17 -1
  466. package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +86 -1
  467. package/dist/validated/BbRadioGroup.vue.d.ts +114 -2
  468. package/dist/validated/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +77 -1
  469. package/dist/validated/BbRating.vue_vue_type_script_setup_true_lang.js +44 -1
  470. package/dist/validated/BbSelect.vue.d.ts +221 -2
  471. package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +164 -1
  472. package/dist/validated/BbSlider.vue_vue_type_script_setup_true_lang.js +44 -1
  473. package/dist/validated/BbSwitch.vue_vue_type_script_setup_true_lang.js +56 -1
  474. package/dist/validated/BbSwitchGroup.vue.d.ts +115 -2
  475. package/dist/validated/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +77 -1
  476. package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +93 -1
  477. package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +86 -1
  478. package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +86 -1
  479. package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +137 -1
  480. package/dist/vite-plugin.d.ts +81 -12
  481. package/dist/vite.js +383 -257
  482. package/llms.txt +4 -2
  483. package/package.json +4 -3
  484. package/scripts/lib/component-tree.ts +611 -0
  485. package/scripts/lib/eslint-plugin.d.ts +5 -1
  486. package/scripts/lib/eslint-plugin.mjs +445 -0
  487. package/scripts/lib/validate-bb-markup.mjs +56 -18
  488. package/dist/ai/BbBaseCheckbox.md +0 -50
  489. package/dist/ai/BbBaseCheckboxGroup.md +0 -65
  490. package/dist/ai/BbBaseColorInput.md +0 -67
  491. package/dist/ai/BbBaseColorPalette.md +0 -39
  492. package/dist/ai/BbBaseDatePicker.md +0 -57
  493. package/dist/ai/BbBaseDatePickerInput.md +0 -84
  494. package/dist/ai/BbBaseNumberInput.md +0 -73
  495. package/dist/ai/BbBaseRadio.md +0 -47
  496. package/dist/ai/BbBaseRadioGroup.md +0 -65
  497. package/dist/ai/BbBaseRating.md +0 -63
  498. package/dist/ai/BbBaseSelect.md +0 -99
  499. package/dist/ai/BbBaseSlider.md +0 -84
  500. package/dist/ai/BbBaseSwitch.md +0 -50
  501. package/dist/ai/BbBaseSwitchGroup.md +0 -65
  502. package/dist/ai/BbBaseTag.md +0 -80
  503. package/dist/ai/BbBaseTextInput.md +0 -77
  504. package/dist/ai/BbBaseTextarea.md +0 -74
  505. package/dist/ai/BbBaseTimePickerInput.md +0 -63
  506. package/dist/ai/CommonInputWrapper.md +0 -60
  507. package/dist/ai/source/BbBaseCheckbox.md +0 -466
  508. package/dist/ai/source/BbBaseCheckboxGroup.md +0 -620
  509. package/dist/ai/source/BbBaseColorInput.md +0 -453
  510. package/dist/ai/source/BbBaseColorPalette.md +0 -942
  511. package/dist/ai/source/BbBaseDatePicker.md +0 -1450
  512. package/dist/ai/source/BbBaseDatePickerInput.md +0 -1951
  513. package/dist/ai/source/BbBaseNumberInput.md +0 -629
  514. package/dist/ai/source/BbBaseRadio.md +0 -386
  515. package/dist/ai/source/BbBaseRadioGroup.md +0 -605
  516. package/dist/ai/source/BbBaseRating.md +0 -614
  517. package/dist/ai/source/BbBaseSelect.md +0 -1035
  518. package/dist/ai/source/BbBaseSlider.md +0 -1181
  519. package/dist/ai/source/BbBaseSwitch.md +0 -247
  520. package/dist/ai/source/BbBaseSwitchGroup.md +0 -347
  521. package/dist/ai/source/BbBaseTag.md +0 -714
  522. package/dist/ai/source/BbBaseTextInput.md +0 -523
  523. package/dist/ai/source/BbBaseTextarea.md +0 -520
  524. package/dist/ai/source/BbBaseTimePickerInput.md +0 -1048
  525. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.d.ts +0 -40
  526. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.js +0 -6
  527. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +0 -147
  528. package/dist/components/BbBaseCheckbox/types.d.ts +0 -228
  529. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.d.ts +0 -19
  530. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.js +0 -6
  531. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +0 -197
  532. package/dist/components/BbBaseCheckboxGroup/types.d.ts +0 -278
  533. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.d.ts +0 -43
  534. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.js +0 -6
  535. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +0 -190
  536. package/dist/components/BbBaseColorInput/types.d.ts +0 -228
  537. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.d.ts +0 -13
  538. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.js +0 -6
  539. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue_vue_type_script_setup_true_lang.js +0 -395
  540. package/dist/components/BbBaseColorPalette/types.d.ts +0 -40
  541. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.d.ts +0 -20
  542. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.js +0 -6
  543. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +0 -407
  544. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +0 -47
  545. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.js +0 -5
  546. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +0 -318
  547. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.js +0 -5
  548. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +0 -115
  549. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.js +0 -5
  550. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue_vue_type_script_setup_true_lang.js +0 -116
  551. package/dist/components/BbBaseDatePicker/types.d.ts +0 -108
  552. package/dist/components/BbBaseDatePicker/useDatePickerContext.js +0 -11
  553. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +0 -31
  554. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.js +0 -6
  555. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +0 -740
  556. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.js +0 -6
  557. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue_vue_type_script_setup_true_lang.js +0 -204
  558. package/dist/components/BbBaseDatePickerInput/types.d.ts +0 -330
  559. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.js +0 -6
  560. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +0 -199
  561. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.d.ts +0 -52
  562. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.js +0 -6
  563. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +0 -221
  564. package/dist/components/BbBaseNumberInput/types.d.ts +0 -220
  565. package/dist/components/BbBaseRadio/BbBaseRadio.vue.d.ts +0 -33
  566. package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +0 -115
  567. package/dist/components/BbBaseRadio/types.d.ts +0 -183
  568. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.d.ts +0 -19
  569. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +0 -186
  570. package/dist/components/BbBaseRadioGroup/types.d.ts +0 -244
  571. package/dist/components/BbBaseRating/BbBaseRating.vue.d.ts +0 -38
  572. package/dist/components/BbBaseRating/BbBaseRating.vue.js +0 -6
  573. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +0 -192
  574. package/dist/components/BbBaseRating/types.d.ts +0 -176
  575. package/dist/components/BbBaseSelect/BbBaseSelect.vue.d.ts +0 -19
  576. package/dist/components/BbBaseSelect/BbBaseSelect.vue.js +0 -6
  577. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +0 -332
  578. package/dist/components/BbBaseSelect/types.d.ts +0 -348
  579. package/dist/components/BbBaseSlider/BbBaseSlider.vue.d.ts +0 -35
  580. package/dist/components/BbBaseSlider/BbBaseSlider.vue.js +0 -6
  581. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +0 -340
  582. package/dist/components/BbBaseSlider/types.d.ts +0 -200
  583. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.d.ts +0 -35
  584. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.js +0 -6
  585. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +0 -148
  586. package/dist/components/BbBaseSwitch/types.d.ts +0 -10
  587. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.d.ts +0 -19
  588. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.js +0 -6
  589. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +0 -197
  590. package/dist/components/BbBaseSwitchGroup/types.d.ts +0 -8
  591. package/dist/components/BbBaseTag/BbBaseTag.vue.d.ts +0 -50
  592. package/dist/components/BbBaseTag/BbBaseTag.vue.js +0 -6
  593. package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +0 -272
  594. package/dist/components/BbBaseTag/types.d.ts +0 -169
  595. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.d.ts +0 -45
  596. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.js +0 -6
  597. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +0 -206
  598. package/dist/components/BbBaseTextInput/types.d.ts +0 -218
  599. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.d.ts +0 -39
  600. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.js +0 -6
  601. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +0 -193
  602. package/dist/components/BbBaseTextarea/types.d.ts +0 -179
  603. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +0 -27
  604. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.js +0 -6
  605. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +0 -522
  606. package/dist/components/BbBaseTimePickerInput/types.d.ts +0 -156
  607. package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +0 -109
  608. /package/dist/components/{BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.d.ts → BbDatePicker/DatePickerMonthPanel.vue.d.ts} +0 -0
  609. /package/dist/components/{BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.d.ts → BbDatePicker/DatePickerYearPanel.vue.d.ts} +0 -0
  610. /package/dist/{components/BbBaseDatePicker/typeahead.d.ts → composables/useTypeahead.d.ts} +0 -0
  611. /package/dist/{components/BbBaseDatePicker/typeahead.js → composables/useTypeahead.js} +0 -0
@@ -8,6 +8,21 @@
8
8
  - Usage rule: Prefer this component for consumer-facing implementations.
9
9
  - Implementation source (only when the contract below is not enough): [source/BbBadge.md](./source/BbBadge.md)
10
10
 
11
+ ## Reachable through `BbBadge`
12
+
13
+ `BbBadge` mounts other components (all of them: _Component tree_, near the end). These are the parts of its API that land inside them. Use them — never `:deep()` on an inner class, never an import of an internal component.
14
+
15
+ | pt part | Lands on | In |
16
+ | --- | --- | --- |
17
+ | `pt:spinner` | the root of `BbSpinner` | `BbSpinner` ([contract](./BbSpinner.md)) |
18
+ | `pt:icon` | the root of `BbIcon` | `BbIcon` ([contract](./BbIcon.md)) |
19
+
20
+ **CSS variables you can set through those parts** — declared deeper in the tree, so set one on the part that reads it (`pt:<part>="[--name:value]"`), never on `BbBadge`'s root:
21
+
22
+ | Variable | Set through | Declared by | What it is |
23
+ | --- | --- | --- | --- |
24
+ | `--w` | `pt:icon` | `BbIcon` | `--w` is set inline by BbIcon from the size prop. The `initial` default seals it: without it an ancestor's `--w` (e.g. a dropdown's width bridge) would inherit in and size the icon. The `--size` indir… |
25
+
11
26
  ## Usage & Guidelines
12
27
 
13
28
  ### When to use
@@ -651,6 +666,125 @@ glyph. The class hooks above are the supported styling surface —
651
666
  `.bb-badge__body` and `.bb-badge__trailing` are new, so avoid direct-child
652
667
  selectors like `.bb-badge > .bb-badge__content`, which no longer match.
653
668
 
669
+ ### Restyling with passthrough
670
+
671
+ `pt` reaches a named part with a class list — or, in the object form, a
672
+ style and attributes — optionally only while a state is on. Parts: `root`,
673
+ `icon` (every content glyph — the `icon`-mode glyph, `prepend:icon`,
674
+ `append:icon`; a broadcast), `spinner` (the loading glyph, which stands in
675
+ for whichever icon it replaces), `text` (the label span, which owns the
676
+ truncation) and `clear` (the ✕ that removes the badge). The `__body` wrapper
677
+ is layout, not a part. State: `loading`.
678
+
679
+ Invoice API method pills, restyled through those parts: `pt:icon` is a
680
+ broadcast (prepend, append, and the loading spinner all recede),
681
+ `pt:text` is the method label in mono. Soft method hues are status — see
682
+ [design language](./guides/design-language.md) § Using color — not a pt
683
+ costume.
684
+
685
+ **pt:icon — method badges, a broadcast**
686
+
687
+ ```vue
688
+ <template>
689
+ <div class="max-w-2xl">
690
+ <ul class="flex flex-col gap-1.5 text-sm">
691
+ <li
692
+ v-for="endpoint in endpoints"
693
+ :key="`${endpoint.method}:${endpoint.path}`"
694
+ class="flex min-w-0 items-center gap-2"
695
+ >
696
+ <BbBadge
697
+ :append:icon="endpoint.append"
698
+ :prepend:icon="endpoint.icon"
699
+ pt:icon="opacity-70"
700
+ pt:text="font-mono"
701
+ size="lg"
702
+ :variant="METHOD_VARIANT[endpoint.method]"
703
+ >{{ endpoint.method }}</BbBadge
704
+ >
705
+ <code class="truncate font-mono text-xs">{{ endpoint.path }}</code>
706
+ </li>
707
+ </ul>
708
+ <div class="mt-3 flex items-center gap-2 text-xs text-(--bb-text-muted)">
709
+ <BbBadge
710
+ loading
711
+ prepend:icon="lucide:plus"
712
+ pt:icon="opacity-40"
713
+ pt:text="font-mono"
714
+ size="lg"
715
+ variant="soft-green"
716
+ >POST</BbBadge
717
+ >
718
+ <span>
719
+ Saving a draft — the spinner takes the prepend slot, same
720
+ <code>pt:icon</code>.
721
+ </span>
722
+ </div>
723
+ </div>
724
+ </template>
725
+
726
+ <script setup lang="ts">
727
+ import { BbBadge } from 'bitboss-ui';
728
+ import type { BbBadgeProps, IconType } from 'bitboss-ui';
729
+
730
+ type Method = 'GET' | 'POST' | 'DELETE';
731
+
732
+ type Endpoint = {
733
+ method: Method;
734
+ path: string;
735
+ icon: IconType;
736
+ append?: IconType;
737
+ };
738
+
739
+ // Soft status palette — method hue, not action intent (no primary/destructive).
740
+ const METHOD_VARIANT: Record<Method, BbBadgeProps['variant']> = {
741
+ GET: 'soft-blue',
742
+ POST: 'soft-green',
743
+ DELETE: 'soft-red',
744
+ };
745
+
746
+ // Invoice API methods, restyled through passthrough: `pt:icon` is a broadcast
747
+ // (prepend, append, and the loading spinner all recede), `pt:text` is the
748
+ // method label in mono. The ✕ of a clearable badge is its own part, `clear`.
749
+ const endpoints: Endpoint[] = [
750
+ { method: 'GET', path: '/v1/invoices', icon: 'lucide:download' },
751
+ {
752
+ method: 'POST',
753
+ path: '/v1/invoices',
754
+ icon: 'lucide:plus',
755
+ append: 'lucide:arrow-right',
756
+ },
757
+ { method: 'DELETE', path: '/v1/invoices/:id', icon: 'lucide:trash-2' },
758
+ ];
759
+ </script>
760
+
761
+ <!-- Soft status palette — canonical source: ai/guides/design-language.md § Using color.
762
+ Non-scoped so variant classes on the child badge receive the accents. -->
763
+ <style>
764
+ .bb-badge.bb-badge--soft-blue {
765
+ --accent: #2563eb;
766
+ }
767
+ .bb-badge.bb-badge--soft-green {
768
+ --accent: #16a34a;
769
+ }
770
+ .bb-badge.bb-badge--soft-red {
771
+ --accent: #dc2626;
772
+ }
773
+ .bb-badge.bb-badge--soft-blue,
774
+ .bb-badge.bb-badge--soft-green,
775
+ .bb-badge.bb-badge--soft-red {
776
+ --bg: color-mix(in oklab, var(--accent) 15%, var(--bb-panel));
777
+ --color: color-mix(in oklab, var(--accent) 80%, var(--bb-text));
778
+ --border-width: 1px;
779
+ --border-color: color-mix(in oklab, var(--accent) 25%, var(--bb-panel));
780
+ --ring: color-mix(in oklab, var(--accent) 45%, transparent);
781
+ }
782
+ </style>
783
+ ```
784
+
785
+ The full grammar, the merge rules and the global map are in the
786
+ [passthrough guide](./guides/passthrough.md).
787
+
654
788
  ### Works well with
655
789
 
656
790
  - `BbBadgeButton` — the companion that makes the badge body a real button/link.
@@ -705,6 +839,7 @@ selectors like `.bb-badge > .bb-badge__content`, which no longer match.
705
839
 
706
840
  | Prop | Type | Default | Required | Description |
707
841
  | --- | --- | --- | --- | --- |
842
+ | `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `clear`, `icon`, `root`, `spinner`, `text`. States: `loading`. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
708
843
  | `append:icon` | `string \| undefined` | | | Icon rendered after the label. On a `clearable` badge it shares the trailing slot with the clear button: the icon shows at rest and the clear button reveals over it on hover/focus. |
709
844
  | `clearable` | `boolean \| undefined` | `false` | | Renders a trailing clear button and emits `click:clear` when pressed — turns the badge into a dismissible token (the pattern formerly served by `BbChip`). |
710
845
  | `clearableLabel` | `string \| undefined` | | | Accessible label for the clear button. Rarely needed: unset, the name is **composed** from the localized `badge.clearLabel` verb and the badge's own text — "Remove Italy", not a bare "Remove" — which is already the right name in almost ever… |
@@ -724,26 +859,39 @@ selectors like `.bb-badge > .bb-badge__content`, which no longer match.
724
859
 
725
860
  ## CSS custom properties
726
861
 
727
- Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals; the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
728
-
729
- | Property | Default | What it is |
730
- | --- | --- | --- |
731
- | `--bg` | `var(--bb-primary)` | pill fill |
732
- | `--fg` | `var(--bb-primary-fg)` | label, icons and the clear glyph |
733
- | `--border-width` | `0px` | Pill border. The `border` shorthand is always present, so the width is what turns it on — the filled variants leave it at 0 and the bordered ones (secondary/destructive/outline) step up to `--bb-border-w-sm`. Nothing compensates for it: the… |
734
- | `--border-color` | `transparent` | |
735
- | `--ring` | `var(--bb-primary-ring)` | focus ring, per variant |
736
- | `--min-size-md` | `16px` | The md value. Only the default --min-size below reads it; the size modifiers set --min-size directly. |
737
- | `--min-size` | `var(--min-size-md)` | pill min height and min width |
738
- | `--elev` | `var(--bb-elev-sm)` | Resting lift. Invisible while `--bb-elev` is its default transparent layer. A chip is small enough that a theme wanting a different lift here than on a button sets `--elev` on this class. |
739
- | `--radius` | `calc(var(--bb-radius) * 0.5)` | Pill corners; the body and trailing wrappers round their outer edges to match |
740
- | `--font-size` | `10px` | label |
741
- | `--icon-size` | `12px` | leading/append icons (passed to BbIcon as --size) |
742
- | `--gap` | `3px` | space between label, icons and the trailing side |
743
- | `--padding-inline` | `6px` | base side padding; the modifiers below scale it per side |
744
- | `--clear-size` | `12px` | clear button's glyph box (the circle painted on hover is 2px smaller) |
745
- | `--pad-left` | `var(--padding-inline)` | Side-owned padding: the body and trailing wrappers carry the pill's inline padding (and its radius) so their hit areas run flush to the border. The modifiers below retune these vars instead of the pill's own padding. |
746
- | `--pad-right` | `var(--padding-inline)` | |
862
+ Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals — a **Set on** of `pt:<part>` means the local lives on that part's element, so set it through that entry (`pt:box="[--border-color:var(--color-green-500)]"`); the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
863
+
864
+ | Property | Set on | Default | What it is |
865
+ | --- | --- | --- | --- |
866
+ | `--bg` | `.bb-badge` | `var(--bb-primary)` | pill fill |
867
+ | `--fg` | `.bb-badge` | `var(--bb-primary-fg)` | label, icons and the clear glyph |
868
+ | `--border-width` | `.bb-badge` | `0px` | Pill border. The `border` shorthand is always present, so the width is what turns it on — the filled variants leave it at 0 and the bordered ones (secondary/destructive/outline) step up to `--bb-border-w-sm`. Nothing compensates for it: the… |
869
+ | `--border-color` | `.bb-badge` | `transparent` | |
870
+ | `--ring` | `.bb-badge` | `var(--bb-primary-ring)` | focus ring, per variant |
871
+ | `--min-size-md` | `.bb-badge` | `16px` | The md value. Only the default --min-size below reads it; the size modifiers set --min-size directly. |
872
+ | `--min-size` | `.bb-badge` | `var(--min-size-md)` | pill min height and min width |
873
+ | `--elev` | `.bb-badge` | `var(--bb-elev-sm)` | Resting lift. Invisible while `--bb-elev` is its default transparent layer. A chip is small enough that a theme wanting a different lift here than on a button sets `--elev` on this class. |
874
+ | `--radius` | `.bb-badge` | `calc(var(--bb-radius) * 0.5)` | Pill corners; the body and trailing wrappers round their outer edges to match |
875
+ | `--font-size` | `.bb-badge` | `10px` | label |
876
+ | `--icon-size` | `.bb-badge` | `12px` | leading/append icons (passed to BbIcon as --size) |
877
+ | `--gap` | `.bb-badge` | `3px` | space between label, icons and the trailing side |
878
+ | `--padding-inline` | `.bb-badge` | `6px` | base side padding; the modifiers below scale it per side |
879
+ | `--clear-size` | `.bb-badge` | `12px` | clear button's glyph box (the circle painted on hover is 2px smaller) |
880
+ | `--pad-left` | `.bb-badge` | `var(--padding-inline)` | Side-owned padding: the body and trailing wrappers carry the pill's inline padding (and its radius) so their hit areas run flush to the border. The modifiers below retune these vars instead of the pill's own padding. |
881
+ | `--pad-right` | `.bb-badge` | `var(--padding-inline)` | |
882
+ | `--size` | `.bb-badge__icon` | `var(--icon-size)` | |
883
+
884
+ ## Component tree
885
+
886
+ `BbBadge` is not one component: rendering it mounts every component below, and each one is live inside it. **Read this before styling, theming or debugging `BbBadge`, and before concluding a part, a token or a behaviour does not exist** — it may live on a component further down. How to read it:
887
+
888
+ - **_internal_** nodes are building blocks with no API of their own: you reach them only through `BbBadge`. A pt part listed as landing there is set on `BbBadge` (`pt:<part>`).
889
+ - **_public_** nodes are components with their own contract. `BbBadge` reaches one only through a pt part of its own that lands on it (shown on the parent node as `part → Component`, e.g. `spinner → BbSpinner`) or through a pt map it hands it (shown as "hands … the pt map", in `BbBadge`'s words → the child's). The child's other props and parts are not exposed; its contract explains what it renders.
890
+ - **CSS custom properties** listed on a node are declared on THAT node's root and read by elements inside it. Set one on that node's root or on the element inside it that reads it — the pt part that lands there is how you reach it (`pt:box="[--border-color:…]"` on a text input) — never on `BbBadge`'s root, where the node's own declaration masks it (design-tokens guide, _Overriding one from a consumer app_, rule 0).
891
+ - Listed nodes are the ones `BbBadge`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
892
+
893
+ - `BbBadge` _(this component)_ — its own template binds: `spinner` → `BbSpinner`, `icon` → `BbIcon`, `clear` → `button.bb-badge__clear-button`
894
+ - Also mounts `BbIcon`, `BbSpinner`, `BadgeBodyContent`
747
895
 
748
896
  ## See Also
749
897
 
@@ -12,6 +12,7 @@
12
12
 
13
13
  | Prop | Type | Default | Required | Description |
14
14
  | --- | --- | --- | --- | --- |
15
+ | `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `root`. States: `disabled`. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
15
16
  | `activeClass` | `string \| undefined` | `'router-link-active'` | | CSS class applied when the component renders as a link and the target of the link is the current route or the url matches partially. Ported for Inertia compatibility. |
16
17
  | `ariaCurrentValue` | `"page" \| "step" \| "location" \| "date" \| "time" \| "true" \| "false" \| undefined` | `'page'` | | Value forwarded to the `aria-current` attribute when the component renders as a router link and the target route is an exact match. Use to communicate the current location to assistive technologies. |
17
18
  | `async` | `boolean \| undefined` | `false` | | Inertia: runs the visit without blocking — the page stays interactive and several async visits can be in flight at once. |
@@ -63,26 +64,40 @@
63
64
 
64
65
  ## CSS custom properties
65
66
 
66
- Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals; the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
67
-
68
- | Property | Default | What it is |
69
- | --- | --- | --- |
70
- | `--bg` | `var(--bb-primary)` | pill fill |
71
- | `--fg` | `var(--bb-primary-fg)` | label, icons and the clear glyph |
72
- | `--border-width` | `0px` | Pill border. The `border` shorthand is always present, so the width is what turns it on — the filled variants leave it at 0 and the bordered ones (secondary/destructive/outline) step up to `--bb-border-w-sm`. Nothing compensates for it: the… |
73
- | `--border-color` | `transparent` | |
74
- | `--ring` | `var(--bb-primary-ring)` | focus ring, per variant |
75
- | `--min-size-md` | `16px` | The md value. Only the default --min-size below reads it; the size modifiers set --min-size directly. |
76
- | `--min-size` | `var(--min-size-md)` | pill min height and min width |
77
- | `--elev` | `var(--bb-elev-sm)` | Resting lift. Invisible while `--bb-elev` is its default transparent layer. A chip is small enough that a theme wanting a different lift here than on a button sets `--elev` on this class. |
78
- | `--radius` | `calc(var(--bb-radius) * 0.5)` | Pill corners; the body and trailing wrappers round their outer edges to match |
79
- | `--font-size` | `10px` | label |
80
- | `--icon-size` | `12px` | leading/append icons (passed to BbIcon as --size) |
81
- | `--gap` | `3px` | space between label, icons and the trailing side |
82
- | `--padding-inline` | `6px` | base side padding; the modifiers below scale it per side |
83
- | `--clear-size` | `12px` | clear button's glyph box (the circle painted on hover is 2px smaller) |
84
- | `--pad-left` | `var(--padding-inline)` | Side-owned padding: the body and trailing wrappers carry the pill's inline padding (and its radius) so their hit areas run flush to the border. The modifiers below retune these vars instead of the pill's own padding. |
85
- | `--pad-right` | `var(--padding-inline)` | |
67
+ Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals — a **Set on** of `pt:<part>` means the local lives on that part's element, so set it through that entry (`pt:box="[--border-color:var(--color-green-500)]"`); the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
68
+
69
+ | Property | Set on | Default | What it is |
70
+ | --- | --- | --- | --- |
71
+ | `--bg` | `.bb-badge` | `var(--bb-primary)` | pill fill |
72
+ | `--fg` | `.bb-badge` | `var(--bb-primary-fg)` | label, icons and the clear glyph |
73
+ | `--border-width` | `.bb-badge` | `0px` | Pill border. The `border` shorthand is always present, so the width is what turns it on — the filled variants leave it at 0 and the bordered ones (secondary/destructive/outline) step up to `--bb-border-w-sm`. Nothing compensates for it: the… |
74
+ | `--border-color` | `.bb-badge` | `transparent` | |
75
+ | `--ring` | `.bb-badge` | `var(--bb-primary-ring)` | focus ring, per variant |
76
+ | `--min-size-md` | `.bb-badge` | `16px` | The md value. Only the default --min-size below reads it; the size modifiers set --min-size directly. |
77
+ | `--min-size` | `.bb-badge` | `var(--min-size-md)` | pill min height and min width |
78
+ | `--elev` | `.bb-badge` | `var(--bb-elev-sm)` | Resting lift. Invisible while `--bb-elev` is its default transparent layer. A chip is small enough that a theme wanting a different lift here than on a button sets `--elev` on this class. |
79
+ | `--radius` | `.bb-badge` | `calc(var(--bb-radius) * 0.5)` | Pill corners; the body and trailing wrappers round their outer edges to match |
80
+ | `--font-size` | `.bb-badge` | `10px` | label |
81
+ | `--icon-size` | `.bb-badge` | `12px` | leading/append icons (passed to BbIcon as --size) |
82
+ | `--gap` | `.bb-badge` | `3px` | space between label, icons and the trailing side |
83
+ | `--padding-inline` | `.bb-badge` | `6px` | base side padding; the modifiers below scale it per side |
84
+ | `--clear-size` | `.bb-badge` | `12px` | clear button's glyph box (the circle painted on hover is 2px smaller) |
85
+ | `--pad-left` | `.bb-badge` | `var(--padding-inline)` | Side-owned padding: the body and trailing wrappers carry the pill's inline padding (and its radius) so their hit areas run flush to the border. The modifiers below retune these vars instead of the pill's own padding. |
86
+ | `--pad-right` | `.bb-badge` | `var(--padding-inline)` | |
87
+ | `--size` | `.bb-badge__icon` | `var(--icon-size)` | |
88
+
89
+ ## Component tree
90
+
91
+ `BbBadgeButton` is not one component: rendering it mounts every component below, and each one is live inside it. **Read this before styling, theming or debugging `BbBadgeButton`, and before concluding a part, a token or a behaviour does not exist** — it may live on a component further down. How to read it:
92
+
93
+ - **_internal_** nodes are building blocks with no API of their own: you reach them only through `BbBadgeButton`. A pt part listed as landing there is set on `BbBadgeButton` (`pt:<part>`).
94
+ - **_public_** nodes are components with their own contract. `BbBadgeButton` reaches one only through a pt part of its own that lands on it (shown on the parent node as `part → Component`, e.g. `spinner → BbSpinner`) or through a pt map it hands it (shown as "hands … the pt map", in `BbBadgeButton`'s words → the child's). The child's other props and parts are not exposed; its contract explains what it renders.
95
+ - **CSS custom properties** listed on a node are declared on THAT node's root and read by elements inside it. Set one on that node's root or on the element inside it that reads it — the pt part that lands there is how you reach it (`pt:box="[--border-color:…]"` on a text input) — never on `BbBadgeButton`'s root, where the node's own declaration masks it (design-tokens guide, _Overriding one from a consumer app_, rule 0).
96
+ - Listed nodes are the ones `BbBadgeButton`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
97
+
98
+ - `BbBadgeButton` _(this component)_
99
+ - `BbBaseButton` _(public — [contract](./BbBaseButton.md))_ — its own pt parts (`BbBaseButton`): `root` → `RouterComponent`, `root` → `a`, `root` → `component`; also mounts `RouterComponent`
100
+ - Also mounts `BadgeBodyContent`
86
101
 
87
102
  ## See Also
88
103
 
@@ -8,6 +8,14 @@
8
8
  - Usage rule: Prefer this component for consumer-facing implementations.
9
9
  - Implementation source (only when the contract below is not enough): [source/BbBaseButton.md](./source/BbBaseButton.md)
10
10
 
11
+ ## Reachable through `BbBaseButton`
12
+
13
+ `BbBaseButton` mounts other components (all of them: _Component tree_, near the end). These are the parts of its API that land inside them. Use them — never `:deep()` on an inner class, never an import of an internal component.
14
+
15
+ | pt part | Lands on | In |
16
+ | --- | --- | --- |
17
+ | `pt:root` | the root of `RouterComponent` | `RouterComponent` _(internal)_ |
18
+
11
19
  ## Usage & Guidelines
12
20
 
13
21
  ### When to use
@@ -406,6 +414,30 @@ const sent = ref(false);
406
414
  </script>
407
415
  ```
408
416
 
417
+ ### Restyling with passthrough
418
+
419
+ `pt` reaches the one part with a class list — or, in the object form, a
420
+ style and attributes — optionally only while a state is on. Part: `root`
421
+ (whichever element renders — the `<button>`, the `<a>` or the router link;
422
+ where a `class` on the component lands too). State: `disabled`. The label is
423
+ your slot markup, so there is no `content`; `BbButton` wraps this component
424
+ and exposes its own vocabulary.
425
+
426
+ The unstyled primitive, branded through those parts: a primary fill on
427
+ `pt:root`, a fade on `pt:root:disabled`, underline on the anchor.
428
+
429
+ **pt:root — a branded button and a branded anchor**
430
+
431
+ ```vue
432
+ <div class="flex flex-wrap items-center gap-2 text-sm">
433
+ <BbBaseButton pt:root="rounded-(--bb-radius) bg-(--bb-primary) px-3 py-1.5 text-(--bb-primary-fg) hover:opacity-90" pt:root:disabled="opacity-40">Save draft</BbBaseButton>
434
+ <BbBaseButton href="https://example.com" pt:root="rounded-(--bb-radius) px-3 py-1.5 text-(--bb-primary) underline" target="_blank">Docs ↗</BbBaseButton>
435
+ </div>
436
+ ```
437
+
438
+ The full grammar, the merge rules and the global map are in the
439
+ [passthrough guide](./guides/passthrough.md).
440
+
409
441
  ### Works well with
410
442
 
411
443
  - [`BbButton`](./BbButton.md) — the variant-first sibling built on this
@@ -453,6 +485,7 @@ const sent = ref(false);
453
485
 
454
486
  | Prop | Type | Default | Required | Description |
455
487
  | --- | --- | --- | --- | --- |
488
+ | `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `root`. States: `disabled`. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
456
489
  | `activeClass` | `string \| undefined` | `'router-link-active'` | | CSS class applied when the component renders as a link and the target of the link is the current route or the url matches partially. Ported for Inertia compatibility. |
457
490
  | `ariaCurrentValue` | `"page" \| "step" \| "location" \| "date" \| "time" \| "true" \| "false" \| undefined` | `'page'` | | Value forwarded to the `aria-current` attribute when the component renders as a router link and the target route is an exact match. Use to communicate the current location to assistive technologies. |
458
491
  | `async` | `boolean \| undefined` | `false` | | Inertia: runs the visit without blocking — the page stays interactive and several async visits can be in flight at once. |
@@ -504,6 +537,18 @@ const sent = ref(false);
504
537
 
505
538
  - `default` — scope: `object` — Primary content rendered inside the button element. Falls back to the `text` prop when empty.
506
539
 
540
+ ## Component tree
541
+
542
+ `BbBaseButton` is not one component: rendering it mounts every component below, and each one is live inside it. **Read this before styling, theming or debugging `BbBaseButton`, and before concluding a part, a token or a behaviour does not exist** — it may live on a component further down. How to read it:
543
+
544
+ - **_internal_** nodes are building blocks with no API of their own: you reach them only through `BbBaseButton`. A pt part listed as landing there is set on `BbBaseButton` (`pt:<part>`).
545
+ - **_public_** nodes are components with their own contract. `BbBaseButton` reaches one only through a pt part of its own that lands on it (shown on the parent node as `part → Component`, e.g. `spinner → BbSpinner`) or through a pt map it hands it (shown as "hands … the pt map", in `BbBaseButton`'s words → the child's). The child's other props and parts are not exposed; its contract explains what it renders.
546
+ - **CSS custom properties** listed on a node are declared on THAT node's root and read by elements inside it. Set one on that node's root or on the element inside it that reads it — the pt part that lands there is how you reach it (`pt:box="[--border-color:…]"` on a text input) — never on `BbBaseButton`'s root, where the node's own declaration masks it (design-tokens guide, _Overriding one from a consumer app_, rule 0).
547
+ - Listed nodes are the ones `BbBaseButton`'s API reaches or that declare a documented CSS variable; the rest fold into "also mounts". The complete tree, repeats and undocumented locals included, is the `tree` field of this component in `components.json`.
548
+
549
+ - `BbBaseButton` _(this component)_ — its own template binds: `root` → `RouterComponent`, `root` → `a`, `root` → `component`
550
+ - Also mounts `RouterComponent`
551
+
507
552
  ## See Also
508
553
 
509
554
  - [BbButton](./BbButton.md) — Button with loading state, tooltip, and icon support.
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Safety level: **Consumer API**
6
6
  - Group: **Selection**
7
- - Description: Standalone checkbox glyph (box + checkmark SVG). Presentational only — no input, no events. Compose it into a fully custom checkbox design, or let BbCheckbox/BbBaseCheckbox render it.
7
+ - Description: Standalone checkbox glyph (box + checkmark SVG). Presentational only — no input, no events. Compose it into a fully custom checkbox design, or let BbCheckbox, BbCheckboxGroup or BbTable render it.
8
8
  - Usage rule: Prefer this component for consumer-facing implementations.
9
9
  - Implementation source (only when the contract below is not enough): [source/BbBaseCheckboxIcon.md](./source/BbBaseCheckboxIcon.md)
10
10
 
@@ -13,7 +13,7 @@
13
13
  ### What this is (and when to reach for it)
14
14
 
15
15
  `BbBaseCheckboxIcon` is **only the visual** — the rounded box, the stroke-animated
16
- checkmark, and the indeterminate dash — extracted from `BbBaseCheckbox`. It has
16
+ checkmark, and the indeterminate dash — the glyph `BbCheckbox` draws. It has
17
17
  no native `<input>`, emits no events, and holds no state. You tell it how to
18
18
  look through boolean props; it draws that state.
19
19
 
@@ -154,6 +154,43 @@ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
154
154
  - It reflects state, it doesn't manage it: clicking the glyph does nothing by
155
155
  itself. Toggle your own state (or the backing input) and pass it back in.
156
156
 
157
+ ### Restyling with passthrough
158
+
159
+ `pt` reaches the one part with a class list — or, in the object form, a
160
+ style and attributes. Part: `root` (the drawn glyph). States: `checked`, `indeterminate`, `readonly`, `disabled`, `warnings`, `errors`, `focused`, `focus-visible` — each
161
+ true exactly while the glyph paints it, so they follow its own rules:
162
+ `warnings` is off while `errors` is on.
163
+
164
+ Restyle by setting the glyph's own tokens (`--accent`, `--size`) on the part, and
165
+ style a state with a state entry instead of a ternary on your own flag —
166
+ the component decides when the state is on, and a global preset can say the
167
+ same thing.
168
+
169
+ The accent is the glyph's text colour, as on any icon: a `text-*` utility or a
170
+ `color` on the part recolours the checked and indeterminate fill, and `--accent` sets the default. A
171
+ state keeps its own paint — an error, a warning or a disabled glyph is never
172
+ recoloured by a text colour, even one in `pt:root:errors` (the
173
+ `bitboss-ui/no-state-text-color` lint says so). Recolour an error or a warning
174
+ through the accent: `pt:root:errors="[--accent:var(--color-red-800)]"`.
175
+
176
+ **pt:root and pt:root:disabled — a token, and a state entry**
177
+
178
+ ```vue
179
+ <div class="flex items-center gap-3">
180
+ <BbBaseCheckboxIcon :pt:root="{ style: { '--accent': 'var(--bb-danger)', '--size': '20px' } }" />
181
+ <BbBaseCheckboxIcon checked :pt:root="{ style: { '--accent': 'var(--bb-danger)', '--size': '20px' } }" />
182
+ <BbBaseCheckboxIcon
183
+ checked
184
+ disabled
185
+ :pt:root="{ style: { '--accent': 'var(--bb-danger)', '--size': '20px' } }"
186
+ :pt:root:disabled="{ style: { opacity: '0.45' } }"
187
+ />
188
+ </div>
189
+ ```
190
+
191
+ The full grammar, the merge rules and the global map are in the
192
+ [passthrough guide](./guides/passthrough.md).
193
+
157
194
  ### Works well with
158
195
 
159
196
  - [`BbCheckbox`](./BbCheckbox.md) — the batteries-included checkbox; prefer it
@@ -165,11 +202,13 @@ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
165
202
 
166
203
  | Prop | Type | Default | Required | Description |
167
204
  | --- | --- | --- | --- | --- |
205
+ | `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `root`. States: `checked`, `disabled`, `errors`, `focus-visible`, `focused`, `indeterminate`, `readonly`, `warnings`. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
168
206
  | `checked` | `boolean \| undefined` | `false` | | Renders the checked state (fills the box and draws the checkmark). |
169
207
  | `disabled` | `boolean \| undefined` | `false` | | Disables the glyph (muted fill, not-allowed cursor). Purely visual. |
208
+ | `focused` | `boolean \| undefined` | `false` | | Whether the paired native input has focus — any focus, mouse included. Paints `--focused`, the hook the `focused` passthrough state aliases (T19); draws nothing by itself — the ring stays on `focusVisible`. |
170
209
  | `focusVisible` | `boolean \| undefined` | `false` | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
171
210
  | `hasErrors` | `boolean \| undefined` | `false` | | Puts the glyph into the error state (danger border and ring color). |
172
- | `hasWarning` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
211
+ | `hasWarnings` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
173
212
  | `indeterminate` | `boolean \| undefined` | `false` | | Renders the indeterminate state (filled box with a dash instead of the checkmark). Takes visual precedence over `checked`. |
174
213
  | `readonly` | `boolean \| undefined` | `false` | | Renders the read-only affordance (default cursor instead of pointer). |
175
214
 
@@ -183,7 +222,7 @@ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
183
222
 
184
223
  ## CSS custom properties
185
224
 
186
- Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals; the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
225
+ Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals — a **Set on** of `pt:<part>` means the local lives on that part's element, so set it through that entry (`pt:box="[--border-color:var(--color-green-500)]"`); the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
187
226
 
188
227
  | Property | Default | What it is |
189
228
  | --- | --- | --- |
@@ -191,7 +230,7 @@ Set these on the element, or on a class you put on it, to retune this component
191
230
  | `--check-color` | `var(--bb-primary-fg)` | |
192
231
  | `--size` | `16px` | |
193
232
  | `--r` | `min(4px, var(--bb-radius))` | The checkbox corner, capped by the master radius so a zero- or small-radius theme reaches it. Not `--bb-radius-sm`: that tier is 4.8px at the shipped radius and this glyph ships at 4px. |
194
- | `--ring-color` | `var(--bb-ring)` | |
233
+ | `--ring-color` | `var(--bb-ring)` | The focus ring's colour, re-pointed by errors and warnings. Both ring declarations read it, so a focused glyph grows its ring in its own colour instead of tweening from a different one. |
195
234
  | `--elev` | `var(--bb-elev-sm)` | Resting lift; a no-op until a theme pins `--bb-elev`. |
196
235
  | `--bg` | `var(--bb-panel)` | The glyph plate. DECLARED here, not consumed bare, because this glyph renders inside surfaces that declare `--bg` themselves — a table row or header cell, a dialog, an off-canvas sheet. Without the declaration it would inherit that surface'… |
197
236
  | `--border-color` | `var(--bb-border)` | |
@@ -199,6 +238,6 @@ Set these on the element, or on a class you put on it, to retune this component
199
238
  ## See Also
200
239
 
201
240
  - [BbCheckbox](./BbCheckbox.md) — Toggles a single boolean option.
202
- - [BbBaseCheckbox](./BbBaseCheckbox.md) — Internal low-level checkbox primitive.
203
- - [BbBaseRadioIcon](./BbBaseRadioIcon.md) — Standalone radio glyph (ring + dot). Presentational only — no input, no events. Compose it into a fully custom radio design, or let BbRadio/BbBaseRadio render it.
204
- - [BbBaseSwitchIcon](./BbBaseSwitchIcon.md) — Standalone switch glyph (track + thumb). Presentational only — no input, no events. Compose it into a fully custom switch design, or let BbSwitch/BbBaseSwitch render it.
241
+ - [BbCheckboxGroup](./BbCheckboxGroup.md) — Manages multiple checkbox options as a group.
242
+ - [BbBaseRadioIcon](./BbBaseRadioIcon.md) — Standalone radio glyph (ring + dot). Presentational only — no input, no events. Compose it into a fully custom radio design, or let BbRadio, BbRadioGroup or BbTable render it.
243
+ - [BbBaseSwitchIcon](./BbBaseSwitchIcon.md) — Standalone switch glyph (track + thumb). Presentational only — no input, no events. Compose it into a fully custom switch design, or let BbSwitch or BbSwitchGroup render it.
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Safety level: **Consumer API**
6
6
  - Group: **Selection**
7
- - Description: Standalone radio glyph (ring + dot). Presentational only — no input, no events. Compose it into a fully custom radio design, or let BbRadio/BbBaseRadio render it.
7
+ - Description: Standalone radio glyph (ring + dot). Presentational only — no input, no events. Compose it into a fully custom radio design, or let BbRadio, BbRadioGroup or BbTable render it.
8
8
  - Usage rule: Prefer this component for consumer-facing implementations.
9
9
  - Implementation source (only when the contract below is not enough): [source/BbBaseRadioIcon.md](./source/BbBaseRadioIcon.md)
10
10
 
@@ -13,7 +13,7 @@
13
13
  ### What this is (and when to reach for it)
14
14
 
15
15
  `BbBaseRadioIcon` is **only the visual** — the bordered ring and the scaling inner
16
- dot — extracted from `BbBaseRadio`. It has no native `<input>`, emits no events,
16
+ dot — the glyph `BbRadio` draws. It has no native `<input>`, emits no events,
17
17
  and holds no state. You tell it how to look through boolean props; it draws that
18
18
  state.
19
19
 
@@ -168,6 +168,43 @@ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
168
168
  - It reflects state, it doesn't manage it: clicking the glyph does nothing by
169
169
  itself. Drive your own state (or the backing inputs) and pass `checked` back.
170
170
 
171
+ ### Restyling with passthrough
172
+
173
+ `pt` reaches the one part with a class list — or, in the object form, a
174
+ style and attributes. Part: `root` (the drawn glyph). States: `checked`, `readonly`, `disabled`, `warnings`, `errors`, `focused`, `focus-visible` — each
175
+ true exactly while the glyph paints it, so they follow its own rules:
176
+ `warnings` is off while `errors` is on.
177
+
178
+ Restyle by setting the glyph's own tokens (`--accent`, `--size`) on the part, and
179
+ style a state with a state entry instead of a ternary on your own flag —
180
+ the component decides when the state is on, and a global preset can say the
181
+ same thing.
182
+
183
+ The accent is the glyph's text colour, as on any icon: a `text-*` utility or a
184
+ `color` on the part recolours the checked dot, and `--accent` sets the default. A
185
+ state keeps its own paint — an error, a warning or a disabled glyph is never
186
+ recoloured by a text colour, even one in `pt:root:errors` (the
187
+ `bitboss-ui/no-state-text-color` lint says so). Recolour an error or a warning
188
+ through the accent: `pt:root:errors="[--accent:var(--color-red-800)]"`.
189
+
190
+ **pt:root and pt:root:disabled — a token, and a state entry**
191
+
192
+ ```vue
193
+ <div class="flex items-center gap-3">
194
+ <BbBaseRadioIcon :pt:root="{ style: { '--accent': 'var(--bb-danger)', '--size': '20px' } }" />
195
+ <BbBaseRadioIcon checked :pt:root="{ style: { '--accent': 'var(--bb-danger)', '--size': '20px' } }" />
196
+ <BbBaseRadioIcon
197
+ checked
198
+ disabled
199
+ :pt:root="{ style: { '--accent': 'var(--bb-danger)', '--size': '20px' } }"
200
+ :pt:root:disabled="{ style: { opacity: '0.45' } }"
201
+ />
202
+ </div>
203
+ ```
204
+
205
+ The full grammar, the merge rules and the global map are in the
206
+ [passthrough guide](./guides/passthrough.md).
207
+
171
208
  ### Works well with
172
209
 
173
210
  - [`BbRadio`](./BbRadio.md) / [`BbRadioGroup`](./BbRadioGroup.md) — the
@@ -180,11 +217,13 @@ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
180
217
 
181
218
  | Prop | Type | Default | Required | Description |
182
219
  | --- | --- | --- | --- | --- |
220
+ | `pt:<part>`, `pt:<part>:<state>`, `pt` | `PtValue` | | | Passthrough — a class list, or `{ class, style, attrs }`, bound to one named part of the component; the state form applies only while that state is on. Parts: `root`. States: `checked`, `disabled`, `errors`, `focus-visible`, `focused`, `readonly`, `warnings`. `pt` is the object form with the same keys minus the prefix (`{ icon: '…', 'icon:loading': '…' }`). See `guides/passthrough.md`. |
183
221
  | `checked` | `boolean \| undefined` | `false` | | Renders the checked state (grows the inner dot). |
184
222
  | `disabled` | `boolean \| undefined` | `false` | | Disables the glyph (muted fill, not-allowed cursor). Purely visual. |
223
+ | `focused` | `boolean \| undefined` | `false` | | Whether the paired native input has focus — any focus, mouse included. Paints `--focused`, the hook the `focused` passthrough state aliases (T19); draws nothing by itself — the ring stays on `focusVisible`. |
185
224
  | `focusVisible` | `boolean \| undefined` | `false` | | Whether keyboard focus is visible (`:focus-visible`). Draws the focus ring. |
186
225
  | `hasErrors` | `boolean \| undefined` | `false` | | Puts the glyph into the error state (danger border and ring color). |
187
- | `hasWarning` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
226
+ | `hasWarnings` | `boolean \| undefined` | `false` | | Puts the glyph into the warning state (warn border and ring color). Errors take priority when both are set. |
188
227
  | `readonly` | `boolean \| undefined` | `false` | | Renders the read-only affordance (default cursor instead of pointer). |
189
228
 
190
229
  ## Events
@@ -197,7 +236,7 @@ from an ancestor — so `--size` set on a wrapper `div` is simply ignored
197
236
 
198
237
  ## CSS custom properties
199
238
 
200
- Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals; the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
239
+ Set these on the element, or on a class you put on it, to retune this component alone — the sanctioned alternative to reaching past the API with `:deep()`. They are this component's own locals — a **Set on** of `pt:<part>` means the local lives on that part's element, so set it through that entry (`pt:box="[--border-color:var(--color-green-500)]"`); the global `--bb-*` theme tokens are a separate tier (see the [design-tokens guide](./guides/design-tokens.md), or the MCP `list_tokens` tool).
201
240
 
202
241
  | Property | Default | What it is |
203
242
  | --- | --- | --- |
@@ -212,6 +251,6 @@ Set these on the element, or on a class you put on it, to retune this component
212
251
  ## See Also
213
252
 
214
253
  - [BbRadio](./BbRadio.md) — Represents a single choice in exclusive options.
215
- - [BbBaseRadio](./BbBaseRadio.md) — Internal low-level radio primitive.
216
- - [BbBaseCheckboxIcon](./BbBaseCheckboxIcon.md) — Standalone checkbox glyph (box + checkmark SVG). Presentational only — no input, no events. Compose it into a fully custom checkbox design, or let BbCheckbox/BbBaseCheckbox render it.
217
- - [BbBaseSwitchIcon](./BbBaseSwitchIcon.md) — Standalone switch glyph (track + thumb). Presentational only — no input, no events. Compose it into a fully custom switch design, or let BbSwitch/BbBaseSwitch render it.
254
+ - [BbRadioGroup](./BbRadioGroup.md) — Coordinates exclusive selection among radio options.
255
+ - [BbBaseCheckboxIcon](./BbBaseCheckboxIcon.md) — Standalone checkbox glyph (box + checkmark SVG). Presentational only — no input, no events. Compose it into a fully custom checkbox design, or let BbCheckbox, BbCheckboxGroup or BbTable render it.
256
+ - [BbBaseSwitchIcon](./BbBaseSwitchIcon.md) — Standalone switch glyph (track + thumb). Presentational only — no input, no events. Compose it into a fully custom switch design, or let BbSwitch or BbSwitchGroup render it.