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,30 +1,32 @@
1
1
  import { useLogger as e } from "../../composables/useLogger.js";
2
2
  import { isNotEmpty as t } from "../../utilities/functions/isNotEmpty.js";
3
- import { aliasParts as n, formControlPtActive as r, pickActive as i, usePassthrough as a } from "../../composables/usePassthrough.js";
4
- import { hash as o } from "../../utilities/functions/hash.js";
5
- import { removedPropsFor as s } from "../../deprecation/removedProps.js";
6
- import { warnRemovedAttrs as c } from "../../utilities/functions/warnRemovedAttrs.js";
7
- import { useItemsGetter as l } from "../../composables/useItemsGetter.js";
8
- import { withItemDescribedby as ee } from "../../utilities/functions/itemProps.js";
3
+ import { aliasParts as n, formControlPtActive as r, pickActive as i, usePassthrough as a, variantPt as o } from "../../composables/usePassthrough.js";
4
+ import { hash as s } from "../../utilities/functions/hash.js";
5
+ import { removedPropsFor as c } from "../../deprecation/removedProps.js";
6
+ import { warnRemovedAttrs as l } from "../../utilities/functions/warnRemovedAttrs.js";
7
+ import { useItemsGetter as ee } from "../../composables/useItemsGetter.js";
8
+ import { withItemDescribedby as te } from "../../utilities/functions/itemProps.js";
9
9
  import { useHashedWatcher as u } from "../../composables/useHashedWatcher.js";
10
- import { vAutofocus as te } from "../../utilities/misc/autofocus.js";
11
- import ne from "../CommonField/CommonField.vue.js";
12
- import re from "../BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js";
13
- import { preventReadonlyClick as ie, preventReadonlyKeydown as ae, revertReadonlyChange as oe, syncCheckedToData as se, syncIndeterminate as d, toggleInputAttrs as ce, toggleInputValue as le } from "../../utilities/functions/toggleInput.js";
10
+ import { vAutofocus as ne } from "../../utilities/misc/autofocus.js";
11
+ import re from "../CommonField/CommonField.vue.js";
12
+ import d from "../BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue.js";
13
+ import { preventReadonlyClick as ie, preventReadonlyKeydown as ae, revertReadonlyChange as oe, syncCheckedToData as se, syncIndeterminate as f, toggleInputAttrs as ce, toggleInputValue as le } from "../../utilities/functions/toggleInput.js";
14
14
  import { useToggleListFocus as ue } from "../../composables/useToggleInput.js";
15
15
  import { useFormBinding as de } from "../../composables/useFormBinding.js";
16
- import fe from "../OptionsContainer/OptionsContainer.vue.js";
17
- import { useIndexById as f } from "../../composables/useIndexById.js";
18
- import { useBaseOptions as p } from "../../composables/useBaseOptions.js";
19
- import { useCoherence as m } from "../../composables/useCoherence.js";
20
- import { usePrefill as h } from "../../composables/usePrefill.js";
21
- import { useActiveInactiveState as g } from "../../composables/useActiveInactiveState.js";
22
- import { useOnFalsy as pe } from "../../composables/useOnFalsy.js";
23
- import { useOnTruthy as me } from "../../composables/useOnTruthy.js";
24
- import { BB_CHECKBOX_GROUP_PT as _ } from "./types.js";
25
- import { computed as v, createBlock as he, createElementVNode as ge, createSlots as _e, createVNode as y, defineComponent as b, guardReactiveProps as x, mergeProps as S, normalizeProps as C, onBeforeMount as ve, openBlock as ye, ref as be, renderSlot as w, shallowRef as xe, toRef as T, unref as E, useAttrs as D, withCtx as O, withDirectives as k } from "vue";
16
+ import p from "../OptionsContainer/OptionsContainer.vue.js";
17
+ import { useChoiceIndicator as m } from "../../composables/useChoiceIndicator.js";
18
+ import { useIndexById as h } from "../../composables/useIndexById.js";
19
+ import { useBaseOptions as fe } from "../../composables/useBaseOptions.js";
20
+ import { useCoherence as pe } from "../../composables/useCoherence.js";
21
+ import { usePrefill as me } from "../../composables/usePrefill.js";
22
+ import { useActiveInactiveState as he } from "../../composables/useActiveInactiveState.js";
23
+ import { useOnFalsy as ge } from "../../composables/useOnFalsy.js";
24
+ import { useOnTruthy as _e } from "../../composables/useOnTruthy.js";
25
+ import { BB_CHECKBOX_GROUP_PT as g } from "./types.js";
26
+ import { Fragment as ve, computed as _, createBlock as ye, createElementBlock as v, createElementVNode as be, createSlots as xe, createVNode as y, defineComponent as b, guardReactiveProps as x, mergeProps as S, normalizeProps as C, onBeforeMount as Se, openBlock as w, ref as Ce, renderList as we, renderSlot as T, shallowRef as E, toRef as D, unref as O, useAttrs as k, withCtx as A, withDirectives as Te } from "vue";
26
27
  //#region src/components/BbCheckboxGroup/BbCheckboxGroup.vue?vue&type=script&setup=true&lang.ts
27
- var A = /*@__PURE__*/ b({
28
+ var j = /*@__PURE__*/ b({
29
+ mixins: [o(g)],
28
30
  inheritAttrs: !1,
29
31
  __name: "BbCheckboxGroup",
30
32
  props: {
@@ -110,7 +112,6 @@ var A = /*@__PURE__*/ b({
110
112
  "pt:icon": {},
111
113
  "pt:label": {},
112
114
  "pt:itemDescription": {},
113
- pt: {},
114
115
  autofocus: {},
115
116
  compact: { type: Boolean },
116
117
  dependencies: {},
@@ -163,7 +164,38 @@ var A = /*@__PURE__*/ b({
163
164
  validationLabel: {},
164
165
  rules: {},
165
166
  validationMode: {},
166
- formless: { type: Boolean }
167
+ formless: { type: Boolean },
168
+ "pt:indicator": {},
169
+ "pt:indicator:hasValue": {},
170
+ "pt:indicator:readonly": {},
171
+ "pt:indicator:disabled": {},
172
+ "pt:indicator:warnings": {},
173
+ "pt:indicator:errors": {},
174
+ "pt:indicator:loading": {},
175
+ "pt:root:pill": {},
176
+ "pt:root:line": {},
177
+ "pt:legend:pill": {},
178
+ "pt:legend:line": {},
179
+ "pt:description:pill": {},
180
+ "pt:description:line": {},
181
+ "pt:message:pill": {},
182
+ "pt:message:line": {},
183
+ "pt:hint:pill": {},
184
+ "pt:hint:line": {},
185
+ "pt:list:pill": {},
186
+ "pt:list:line": {},
187
+ "pt:indicator:pill": {},
188
+ "pt:indicator:line": {},
189
+ "pt:item:pill": {},
190
+ "pt:item:line": {},
191
+ "pt:icon:pill": {},
192
+ "pt:icon:line": {},
193
+ "pt:label:pill": {},
194
+ "pt:label:line": {},
195
+ "pt:itemDescription:pill": {},
196
+ "pt:itemDescription:line": {},
197
+ pt: {},
198
+ variant: {}
167
199
  },
168
200
  emits: [
169
201
  "blur",
@@ -178,82 +210,86 @@ var A = /*@__PURE__*/ b({
178
210
  "mouseup",
179
211
  "update:modelValue"
180
212
  ],
181
- setup(b, { emit: A }) {
182
- let j = b, { props: M, emit: N, showAsterisk: Se, errors: Ce, readonly: P } = de(j, A, {
213
+ setup(o, { emit: b }) {
214
+ let j = o, { props: M, emit: N, showAsterisk: P, errors: Ee, readonly: F } = de(j, b, {
183
215
  componentName: "BbCheckboxGroup",
184
216
  identifierFallback: () => j.legend,
185
217
  emptyValue: () => [],
186
218
  leaveOn: "inactive"
187
219
  });
188
- process.env.NODE_ENV !== "production" && c("BbCheckboxGroup", s("BbCheckboxGroup"));
189
- let F = e();
190
- ve(() => {
191
- M.multiple && !Array.isArray(M.modelValue) && F.throw("BbCheckboxGroup: multiple is set to \"true\" but modelValue is not an array.");
220
+ process.env.NODE_ENV !== "production" && l("BbCheckboxGroup", c("BbCheckboxGroup"));
221
+ let De = e();
222
+ Se(() => {
223
+ M.multiple && !Array.isArray(M.modelValue) && De.throw("BbCheckboxGroup: multiple is set to \"true\" but modelValue is not an array.");
192
224
  });
193
- let we = [], I = v(() => M.items === void 0 ? we : M.items), L = xe(null), Te = (e) => {
225
+ let Oe = [], I = _(() => M.items === void 0 ? Oe : M.items), L = E(null), ke = (e) => {
194
226
  L.value = e?.$el ?? null;
195
- }, { active: R } = g(L), z = be(!1), Ee = v(() => M.persistentHint || z.value);
196
- pe(R, () => {
227
+ }, { active: R } = he(L), z = Ce(!1), Ae = _(() => M.persistentHint || z.value);
228
+ ge(R, () => {
197
229
  z.value = !1, N("inactive");
198
- }), me(R, () => {
230
+ }), _e(R, () => {
199
231
  z.value = !0, N("active");
200
232
  });
201
- let { getter: B, clientReproducible: De, hydratedFromSsr: Oe, items: ke, loading: V, error: Ae, ssrMarker: je } = l({
233
+ let { getter: B, clientReproducible: je, hydratedFromSsr: Me, items: Ne, loading: V, error: Pe, ssrMarker: Fe } = ee({
202
234
  items: I,
203
235
  marker: !0
204
236
  }), H = () => {
205
- M.enforceCoherence && !q.value && N("update:modelValue", Ie.value);
206
- }, { hasPrefilled: U, whenPrefilled: Me } = h({
207
- alreadyLoaded: Oe,
208
- clientReproducible: De,
237
+ M.enforceCoherence && !q.value && N("update:modelValue", Be.value);
238
+ }, { hasPrefilled: U, whenPrefilled: Ie } = me({
239
+ alreadyLoaded: Me,
240
+ clientReproducible: je,
209
241
  trigger: !0,
210
242
  currentValue: M.modelValue,
211
243
  multiple: M.multiple,
212
244
  fn: async () => {
213
245
  await B(void 0, "initial", M.modelValue) === "applied" && H();
214
246
  }
215
- }), W = v(() => M.multiple ? [].concat(M.modelValue) : [M.modelValue]), { data: G } = f({ items: W }), { options: K } = p({
216
- disabled: T(M, "disabled"),
217
- items: ke,
247
+ }), W = _(() => M.multiple ? [].concat(M.modelValue) : [M.modelValue]), { data: G } = h({ items: W }), { options: K } = fe({
248
+ disabled: D(M, "disabled"),
249
+ items: Ne,
218
250
  itemText: M.itemText,
219
- itemProps: T(M, "itemProps"),
251
+ itemProps: D(M, "itemProps"),
220
252
  itemValue: M.itemValue,
221
253
  optionDefaults: !0,
222
- max: T(M, "max"),
223
- selectable: T(M, "selectable"),
254
+ max: D(M, "max"),
255
+ selectable: D(M, "selectable"),
224
256
  selectedIndexedByHash: G
225
- }), Ne = (e) => {
257
+ }), Le = (e) => {
226
258
  if (M.multiple) {
227
259
  N("update:modelValue", [...W.value, e.value]);
228
260
  return;
229
261
  }
230
262
  N("update:modelValue", e.value);
231
- }, Pe = (e) => {
263
+ }, Re = (e) => {
232
264
  if (!M.multiple) {
233
265
  N("update:modelValue", null);
234
266
  return;
235
267
  }
236
268
  let t = { ...G.value };
237
269
  delete t[e.valueHash], N("update:modelValue", Object.values(t));
238
- }, { data: Fe } = f({
270
+ }, { data: ze } = h({
239
271
  items: K,
240
272
  key: "valueHash"
241
- }), { coherent: q, coherentValue: Ie } = m({
242
- modelValue: T(M, "modelValue"),
273
+ }), { coherent: q, coherentValue: Be } = pe({
274
+ modelValue: D(M, "modelValue"),
243
275
  multiple: M.multiple,
244
- iteratee: (e) => !!Fe.value[o(e)]
276
+ iteratee: (e) => !!ze.value[s(e)]
245
277
  }), J = 0;
246
278
  u(() => M.modelValue, async () => {
247
279
  J++, q.value || await B(void 0, "model", M.modelValue) === "applied" && H(), J--;
248
280
  }, { debounce: M.modelValueDebounceTime === void 0 ? 0 : M.modelValueDebounceTime }), u(() => [M.dependencies, I.value], async () => {
249
- U.value || await Me(), U.value && (J++, await B(void 0, "dependencies", M.modelValue) === "applied" && J === 1 && H(), J--);
281
+ U.value || await Ie(), U.value && (J++, await B(void 0, "dependencies", M.modelValue) === "applied" && J === 1 && H(), J--);
250
282
  }, { debounce: M.depsDebounceTime === void 0 ? 0 : M.depsDebounceTime });
251
- let Y = v(() => t(M.modelValue)), X = a({
283
+ let Y = _(() => t(M.modelValue)), X = a({
252
284
  component: "BbCheckboxGroup",
253
- attrs: D(),
285
+ attrs: k(),
254
286
  props: M,
255
- parts: _.parts,
256
- states: _.states,
287
+ parts: g.parts,
288
+ states: g.states,
289
+ variant: {
290
+ ...g.variant,
291
+ current: () => M.variant
292
+ },
257
293
  active: {
258
294
  ...i(r(M, () => Y.value), [
259
295
  "errors",
@@ -264,21 +300,28 @@ var A = /*@__PURE__*/ b({
264
300
  ]),
265
301
  loading: () => V.value
266
302
  }
267
- }), Le = n(X, { label: "legend" }), Z = ue(), Q = (e) => e.value === void 0 || e.value, $ = (e, t) => {
303
+ }), Ve = _(() => M.listLayout === "vertical" || M.listLayout === "vertical-stretch"), { boxes: He, ready: Ue, styleOf: We } = m({
304
+ kind: "checkbox",
305
+ variant: () => M.variant,
306
+ vertical: () => Ve.value,
307
+ list: () => L.value,
308
+ rows: () => K.value,
309
+ rowClass: "bb-checkbox-group__item"
310
+ }), Ge = n(X, { label: "legend" }), Z = ue(), Q = (e) => e.value === void 0 || e.value, $ = (e, t) => {
268
311
  if (t) return [t, e.valueHash].filter(Boolean).join("-");
269
- }, Re = (e, t) => {
270
- N("change", e), t.selected ? Pe(t) : Ne(t);
271
- }, ze = (e) => ({
312
+ }, Ke = (e, t) => {
313
+ N("change", e), t.selected ? Re(t) : Le(t);
314
+ }, qe = (e) => ({
272
315
  onBlur: (t) => {
273
316
  Z.onBlur(e.valueHash), N("blur", t);
274
317
  },
275
318
  onChange: (t) => {
276
319
  if (!(t.target instanceof HTMLInputElement)) return;
277
320
  if (oe(t.target, M.readonly, !!e.selected)) {
278
- d(t.target, !1);
321
+ f(t.target, !1);
279
322
  return;
280
323
  }
281
- d(t.target, !1), Re(t, e);
324
+ f(t.target, !1), Ke(t, e);
282
325
  let n = t.target;
283
326
  se(() => n, () => !!K.value.find((t) => t.valueHash === e.valueHash)?.selected);
284
327
  },
@@ -294,9 +337,9 @@ var A = /*@__PURE__*/ b({
294
337
  },
295
338
  onMousedown: (e) => N("mousedown", e),
296
339
  onMouseup: (e) => N("mouseup", e)
297
- }), Be = (e, t, n, r, i, a) => ({
340
+ }), Je = (e, t, n, r, i, a) => ({
298
341
  ...ce("checkbox", {
299
- ariaDescribedby: ee(r, a),
342
+ ariaDescribedby: te(r, a),
300
343
  ariaLabelledby: i,
301
344
  autofocus: M.autofocus && !t,
302
345
  checked: !!e.selected,
@@ -308,8 +351,8 @@ var A = /*@__PURE__*/ b({
308
351
  required: !1,
309
352
  value: Q(e)
310
353
  }),
311
- ...ze(e)
312
- }), Ve = (e, t, n, r) => {
354
+ ...qe(e)
355
+ }), Ye = (e, t, n, r) => {
313
356
  let i = !!e.selected;
314
357
  return {
315
358
  checked: i,
@@ -328,13 +371,13 @@ var A = /*@__PURE__*/ b({
328
371
  value: i ? Q(e) : !1
329
372
  };
330
373
  };
331
- return (e, t) => (ye(), he(ne, S({
374
+ return (e, t) => (w(), ye(re, S({
332
375
  id: e.id,
333
376
  class: "bb-checkbox-group",
334
377
  compact: e.compact,
335
378
  description: e.description,
336
379
  disabled: e.disabled,
337
- errors: E(Ce),
380
+ errors: O(Ee),
338
381
  "has-errors": e.hasErrors,
339
382
  "has-value": Y.value,
340
383
  "has-warnings": e.hasWarnings,
@@ -348,54 +391,62 @@ var A = /*@__PURE__*/ b({
348
391
  "label-position": e.legendPosition,
349
392
  "label-tag": "legend",
350
393
  layout: e.layout,
351
- loading: E(V),
394
+ loading: O(V),
352
395
  name: e.name,
353
- passthrough: E(Le),
354
- readonly: E(P),
396
+ passthrough: O(Ge),
397
+ readonly: O(F),
355
398
  reverse: e.reverse,
356
- "show-asterisk": E(Se),
357
- "show-hint": Ee.value,
358
- "ssr-marker": E(je),
399
+ "show-asterisk": O(P),
400
+ "show-hint": Ae.value,
401
+ "ssr-marker": O(Fe),
359
402
  tag: "fieldset",
360
403
  warnings: e.warnings
361
- }, E(X).forwardAttrs), _e({
362
- label: O((t) => [w(e.$slots, "legend", C(x(t)))]),
363
- input: O(({ id: t, hasErrors: n, hasWarnings: r, ariaDescribedby: i }) => [y(fe, {
364
- ref: Te,
404
+ }, O(X).forwardAttrs), xe({
405
+ label: A((t) => [T(e.$slots, "legend", C(x(t)))]),
406
+ input: A(({ id: t, hasErrors: n, hasWarnings: r, ariaDescribedby: i }) => [y(p, {
407
+ ref: ke,
365
408
  block: "bb-checkbox-group",
366
409
  "empty-text": e.emptyText,
367
- error: E(Ae),
410
+ error: O(Pe),
368
411
  "failed-text": e.failedText,
369
412
  "has-errors": n,
370
413
  "has-warnings": r,
371
414
  "hide-label": e.hideLabel,
415
+ "indicator-ready": O(Ue),
372
416
  "item-input-align": e.itemInputAlign,
373
417
  "item-label-align": e.itemLabelAlign,
374
418
  "item-layout": e.itemLayout,
375
419
  "item-reverse": e.itemReverse,
376
420
  "list-layout": e.listLayout,
377
- loading: !!E(V),
421
+ loading: !!O(V),
378
422
  "loading-text": e.loadingText,
379
- options: E(K),
380
- passthrough: E(X)
423
+ options: O(K),
424
+ passthrough: O(X),
425
+ variant: e.variant
381
426
  }, {
382
- prepend: O(() => [w(e.$slots, "prepend")]),
383
- loading: O(() => [w(e.$slots, "loading")]),
384
- empty: O((t) => [w(e.$slots, "empty", C(x(t)))]),
385
- label: O((t) => [w(e.$slots, "label", C(x(t)))]),
386
- input: O(({ option: a, index: o, labelId: s, descriptionId: c, rowStates: l }) => [k(ge("input", C(x(Be(a, o, t, i, s, c))), null, 16), [[E(te)]]), w(e.$slots, "icon", S({
427
+ prepend: A(() => [(w(!0), v(ve, null, we(O(He), (e) => (w(), v("span", S({
428
+ key: e.key,
429
+ "aria-hidden": "true",
430
+ class: "bb-checkbox-group__indicator",
431
+ style: O(We)(e),
432
+ ref_for: !0
433
+ }, O(X).indicator), null, 16))), 128)), T(e.$slots, "prepend")]),
434
+ loading: A(() => [T(e.$slots, "loading")]),
435
+ empty: A((t) => [T(e.$slots, "empty", C(x(t)))]),
436
+ label: A((t) => [T(e.$slots, "label", C(x(t)))]),
437
+ input: A(({ option: a, index: o, labelId: s, descriptionId: c, rowStates: l }) => [Te(be("input", C(x(Je(a, o, t, i, s, c))), null, 16), [[O(ne)]]), T(e.$slots, "icon", S({
387
438
  item: a.item,
388
439
  text: a.text
389
- }, Ve(a, t, n, r)), () => [y(re, S({
440
+ }, Ye(a, t, n, r)), () => [y(d, S({
390
441
  checked: !!a.selected,
391
442
  disabled: !!a.disabled,
392
- "focus-visible": E(Z).focusVisible(a.valueHash),
393
- focused: E(Z).focused(a.valueHash),
443
+ "focus-visible": O(Z).focusVisible(a.valueHash),
444
+ focused: O(Z).focused(a.valueHash),
394
445
  "has-errors": !!n,
395
446
  "has-warnings": !!r && !n,
396
447
  indeterminate: !1,
397
- readonly: !!E(P)
398
- }, E(X).part("icon", l, a.item)), null, 16, [
448
+ readonly: !!O(F)
449
+ }, O(X).part("icon", l, a.item)), null, 16, [
399
450
  "checked",
400
451
  "disabled",
401
452
  "focus-visible",
@@ -404,7 +455,7 @@ var A = /*@__PURE__*/ b({
404
455
  "has-warnings",
405
456
  "readonly"
406
457
  ])])]),
407
- append: O(() => [w(e.$slots, "append")]),
458
+ append: A(() => [T(e.$slots, "append")]),
408
459
  _: 2
409
460
  }, 1032, [
410
461
  "empty-text",
@@ -413,6 +464,7 @@ var A = /*@__PURE__*/ b({
413
464
  "has-errors",
414
465
  "has-warnings",
415
466
  "hide-label",
467
+ "indicator-ready",
416
468
  "item-input-align",
417
469
  "item-label-align",
418
470
  "item-layout",
@@ -421,15 +473,16 @@ var A = /*@__PURE__*/ b({
421
473
  "loading",
422
474
  "loading-text",
423
475
  "options",
424
- "passthrough"
476
+ "passthrough",
477
+ "variant"
425
478
  ])]),
426
479
  _: 2
427
480
  }, [e.$slots.description ? {
428
481
  name: "description",
429
- fn: O((t) => [w(e.$slots, "description", C(x(t)))]),
482
+ fn: A((t) => [T(e.$slots, "description", C(x(t)))]),
430
483
  key: "0"
431
484
  } : void 0]), 1040, /* @__PURE__ */ "id.compact.description.disabled.errors.has-errors.has-value.has-warnings.hide-label.hint.input-align.input-position.label.label-align.label-mode.label-position.layout.loading.name.passthrough.readonly.reverse.show-asterisk.show-hint.ssr-marker.warnings".split(".")));
432
485
  }
433
486
  });
434
487
  //#endregion
435
- export { A as default };
488
+ export { j as default };
@@ -1,7 +1,8 @@
1
1
  import { Responsive } from '../../types/ResponsiveSize';
2
+ import { CheckboxVariantBuiltIn, CheckboxVariantRegistry, CheckboxVariantType } from '../../types/CheckboxVariant';
2
3
  import { BbOptionGroupItemProps } from '../../types/ItemProps';
3
4
  import { HTMLAttributes, InputHTMLAttributes } from 'vue';
4
- import { GroupFieldPtPart, GroupPtMap, GroupRowPtPart, GroupWidePtState, GroupPtPart, GroupPtState, PtItemCtx, PtNoInfer, PtItemResult, PtValue } from '../../types/passthrough';
5
+ import { PtVariantAttrs, ChoiceFieldPtPart, ChoicePtMap, ChoicePtPart, GroupFieldPtPart, GroupRowPtPart, GroupWidePtState, GroupPtState, PtItemCtx, PtNoInfer, PtItemResult, PtValue } from '../../types/passthrough';
5
6
  import { FieldCrossAlign, FieldLayout, ListLayout } from '../../types/FieldLayout';
6
7
  import { ItemAccessor } from '../../types/ItemAccessor';
7
8
  import { BbCheckboxGroupItemsContext } from '../../types/ItemsProvider';
@@ -13,27 +14,32 @@ import { CommonFieldAsteriskSlotProps } from '../CommonField/types';
13
14
  *
14
15
  * Per-item functions: on the instance, a row part (`item`, `icon`, `label`, `itemDescription`) also accepts `({ item, checked, … }) => PtValue | false | null | undefined` — `item` is the raw item of that row, and every state a boolean beside it, on for it (`checked`, `disabled`, …) — in the `pt` object or the `:pt:<part>` attribute, never on a `<part>:<state>` key and never in the global map or a scope (they ship as JSON). Its result is merged last, after every state entry, through the same deduper; a falsy result leaves the row as it was. See the passthrough guide, _Per-item functions_.
15
16
  */
16
- export type BbCheckboxGroupPtPart = GroupPtPart;
17
+ export type BbCheckboxGroupPtPart = ChoicePtPart;
17
18
  /** Passthrough states of `BbCheckboxGroup`, true while the matching `--` modifier is on. */
18
19
  export type BbCheckboxGroupPtState = GroupPtState;
19
20
  /** The runtime lists the resolver is wired with — kept next to the types so the two cannot drift. */
20
21
  export declare const BB_CHECKBOX_GROUP_PT: {
21
- readonly parts: readonly ["root", "legend", "description", "message", "hint", "list", "item", "icon", "label", "itemDescription"];
22
+ readonly parts: readonly ["root", "legend", "description", "message", "hint", "list", "item", "icon", "label", "itemDescription", "indicator"];
22
23
  readonly states: readonly ["hasValue", "checked", "readonly", "disabled", "warnings", "errors", "focused", "focusVisible", "loading"];
23
24
  /** `rowStates` are declared on `rowParts` only — the field parts never have them. */
24
25
  readonly rowParts: readonly ["item", "icon", "label", "itemDescription"];
25
26
  readonly rowStates: readonly ["checked", "focused", "focusVisible"];
27
+ readonly variant: {
28
+ readonly names: readonly ["pill", "line"];
29
+ readonly option: "checkboxVariants";
30
+ };
26
31
  };
27
- export type BbCheckboxGroupProps<T> = {
28
- [K in `pt:${GroupFieldPtPart}` | `pt:${GroupFieldPtPart}:${GroupWidePtState}` | `pt:${GroupRowPtPart}:${BbCheckboxGroupPtState}`]?: PtValue;
32
+ /**
33
+ * The props BbCheckboxGroup shares with BbSwitchGroup: everything but the
34
+ * object `pt` (each spells its own), the `variant` (a tab-strip look, Q76.11
35
+ * d), its `indicator` part and its pt states, which are the checkbox group's
36
+ * alone.
37
+ */
38
+ export type BbCheckboxGroupBaseProps<T> = {
39
+ [K in `pt:${GroupFieldPtPart}` | `pt:${GroupFieldPtPart}:${GroupWidePtState}` | `pt:${GroupRowPtPart}:${GroupPtState}`]?: PtValue;
29
40
  } & {
30
- [K in `pt:${GroupRowPtPart}`]?: PtValue | ((ctx: PtItemCtx<PtNoInfer<T>, BbCheckboxGroupPtState>) => PtItemResult);
41
+ [K in `pt:${GroupRowPtPart}`]?: PtValue | ((ctx: PtItemCtx<PtNoInfer<T>, GroupPtState>) => PtItemResult);
31
42
  } & {
32
- /**
33
- * Passthrough, object form: the same keys as the `pt:*` attributes
34
- * without the prefix. See the `pt:<part>` row.
35
- */
36
- pt?: GroupPtMap<PtNoInfer<T>>;
37
43
  /**
38
44
  * Focuses the field when it mounts (a dialog already open included), unless the user is typing in another field.
39
45
  */
@@ -326,6 +332,23 @@ export type BbCheckboxGroupEvents = {
326
332
  */
327
333
  (e: 'update:modelValue', value: any): void;
328
334
  };
335
+ export type BbCheckboxGroupProps<T> = BbCheckboxGroupBaseProps<T> & {
336
+ [K in `pt:${ChoiceFieldPtPart}` | `pt:${ChoiceFieldPtPart}:${GroupWidePtState}` | `pt:${ChoiceFieldPtPart}:${CheckboxVariantBuiltIn}` | `pt:${GroupRowPtPart}:${CheckboxVariantBuiltIn}`]?: PtValue;
337
+ } & /* @vue-ignore */ PtVariantAttrs<ChoicePtPart, keyof CheckboxVariantRegistry> & {
338
+ /**
339
+ * Passthrough, object form: the same keys as the `pt:*` attributes
340
+ * without the prefix. See the `pt:<part>` row.
341
+ */
342
+ pt?: ChoicePtMap<PtNoInfer<T>> & {
343
+ [K in `${ChoicePtPart}:${CheckboxVariantBuiltIn | keyof CheckboxVariantRegistry}`]?: PtValue;
344
+ };
345
+ /**
346
+ * A tab-strip look (Q76.11 d): `'pill'` (a pill per run of adjacent picks)
347
+ * or `'line'` (a bar under each pick). `list-layout="vertical"` stacks it.
348
+ * Register more with `checkboxVariants`. Unset: the group's own rows.
349
+ */
350
+ variant?: CheckboxVariantType;
351
+ };
329
352
  /**
330
353
  * Props exposed by the `icon` slot for each option: the checkbox state plus
331
354
  * the source item and its display text.
@@ -1,10 +1,15 @@
1
- import { GROUP_PT_PARTS as e, GROUP_PT_STATES as t, GROUP_ROW_PT_PARTS as n, GROUP_ROW_PT_STATES as r } from "../../types/passthrough.js";
1
+ import { CHOICE_PT_PARTS as e, GROUP_PT_STATES as t, GROUP_ROW_PT_PARTS as n, GROUP_ROW_PT_STATES as r } from "../../types/passthrough.js";
2
+ import { CHECKBOX_VARIANTS as i } from "../../types/CheckboxVariant.js";
2
3
  //#region src/components/BbCheckboxGroup/types.ts
3
- var i = {
4
+ var a = {
4
5
  parts: e,
5
6
  states: t,
6
7
  rowParts: n,
7
- rowStates: r
8
+ rowStates: r,
9
+ variant: {
10
+ names: i,
11
+ option: "checkboxVariants"
12
+ }
8
13
  };
9
14
  //#endregion
10
- export { i as BB_CHECKBOX_GROUP_PT };
15
+ export { a as BB_CHECKBOX_GROUP_PT };
@@ -2,9 +2,9 @@ import { BbCollapsibleProps, BbCollapsibleSlots } from './types';
2
2
  export type { BbCollapsibleProps, BbCollapsibleSlots };
3
3
  type __VLS_Slots = BbCollapsibleSlots;
4
4
  declare const __VLS_base: import('vue').DefineComponent<BbCollapsibleProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BbCollapsibleProps> & Readonly<{}>, {
5
+ tag: import('../../types/CommonProps').LayoutTag;
5
6
  modelValue: boolean;
6
7
  transitionDuration: number;
7
- tag: import('../../types/CommonProps').LayoutTag;
8
8
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
9
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
10
  declare const _default: typeof __VLS_export;