bitboss-ui 3.0.0-beta.3 → 3.0.0-beta.30

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 (771) hide show
  1. package/README.md +190 -35
  2. package/bin/bitboss-ui-mcp.mjs +472 -16
  3. package/bin/bitboss-ui.mjs +300 -23
  4. package/dist/ai/BbAccordion.md +150 -32
  5. package/dist/ai/BbAlert.md +124 -21
  6. package/dist/ai/BbAsterisk.md +53 -1
  7. package/dist/ai/BbAvatar.md +179 -27
  8. package/dist/ai/BbBadge.md +221 -35
  9. package/dist/ai/BbBadgeButton.md +68 -16
  10. package/dist/ai/BbBaseButton.md +123 -46
  11. package/dist/ai/BbBaseCheckboxIcon.md +114 -26
  12. package/dist/ai/BbBaseRadioIcon.md +111 -26
  13. package/dist/ai/BbBaseSwitchIcon.md +119 -28
  14. package/dist/ai/BbBreadcrumbs.md +192 -43
  15. package/dist/ai/BbButton.md +323 -76
  16. package/dist/ai/BbCalendar.md +548 -0
  17. package/dist/ai/BbCheckbox.md +216 -56
  18. package/dist/ai/BbCheckboxGroup.md +267 -30
  19. package/dist/ai/BbCollapsible.md +154 -39
  20. package/dist/ai/BbColorInput.md +280 -44
  21. package/dist/ai/BbColorPalette.md +227 -45
  22. package/dist/ai/BbConfirm.md +201 -41
  23. package/dist/ai/BbDatePicker.md +214 -25
  24. package/dist/ai/BbDatePickerInput.md +289 -54
  25. package/dist/ai/BbDialog.md +464 -73
  26. package/dist/ai/BbDropdown.md +699 -54
  27. package/dist/ai/BbDropdownButton.md +172 -43
  28. package/dist/ai/BbDropdownGroup.md +9 -1
  29. package/dist/ai/BbDropzone.md +122 -16
  30. package/dist/ai/BbForm.md +49 -14
  31. package/dist/ai/BbIcon.md +92 -31
  32. package/dist/ai/BbIndicator.md +73 -10
  33. package/dist/ai/BbNumberInput.md +211 -45
  34. package/dist/ai/BbOffCanvas.md +357 -66
  35. package/dist/ai/BbPagination.md +165 -26
  36. package/dist/ai/BbPopover.md +201 -34
  37. package/dist/ai/BbProgress.md +96 -55
  38. package/dist/ai/BbPtScope.md +136 -0
  39. package/dist/ai/BbRadio.md +205 -26
  40. package/dist/ai/BbRadioGroup.md +346 -39
  41. package/dist/ai/BbRating.md +130 -25
  42. package/dist/ai/BbSelect.md +583 -77
  43. package/dist/ai/BbSelectPopover.md +359 -82
  44. package/dist/ai/BbSlider.md +226 -51
  45. package/dist/ai/BbSmoothHeight.md +136 -32
  46. package/dist/ai/BbSpinner.md +166 -74
  47. package/dist/ai/BbSwitch.md +219 -31
  48. package/dist/ai/BbSwitchGroup.md +267 -29
  49. package/dist/ai/BbTable.md +1310 -162
  50. package/dist/ai/BbTabs.md +568 -101
  51. package/dist/ai/BbTabsList.md +56 -2
  52. package/dist/ai/BbTabsPanes.md +33 -1
  53. package/dist/ai/BbTabsRoot.md +61 -10
  54. package/dist/ai/BbTag.md +220 -42
  55. package/dist/ai/BbTextInput.md +429 -55
  56. package/dist/ai/BbTextarea.md +263 -51
  57. package/dist/ai/BbTimePicker.md +125 -11
  58. package/dist/ai/BbTimePickerInput.md +236 -22
  59. package/dist/ai/BbToast.md +183 -38
  60. package/dist/ai/BbToastPortal.md +28 -1
  61. package/dist/ai/BbTooltip.md +170 -30
  62. package/dist/ai/BbTree.md +225 -73
  63. package/dist/ai/ChipsBox.md +41 -1
  64. package/dist/ai/ClearableButton.md +12 -0
  65. package/dist/ai/CommaBox.md +1 -0
  66. package/dist/ai/{BbBaseInputContainer.md → CommonField.md} +19 -17
  67. package/dist/ai/CommonFieldInput.md +90 -0
  68. package/dist/ai/CommonPopover.md +12 -7
  69. package/dist/ai/CommonTimeSelector.md +61 -0
  70. package/dist/ai/ErrorIcon.md +20 -0
  71. package/dist/ai/FlatListBox.md +33 -5
  72. package/dist/ai/GroupedListBox.md +33 -5
  73. package/dist/ai/ListBox.md +37 -4
  74. package/dist/ai/OptionsContainer.md +6 -5
  75. package/dist/ai/WarningIcon.md +20 -0
  76. package/dist/ai/changelog.json +1183 -44
  77. package/dist/ai/components.json +41195 -9996
  78. package/dist/ai/composables/useBbConfig.md +72 -11
  79. package/dist/ai/composables/useConfirm.md +10 -5
  80. package/dist/ai/composables/useToast.md +4 -2
  81. package/dist/ai/guides/agent-contract.md +95 -10
  82. package/dist/ai/guides/ai-router.md +54 -26
  83. package/dist/ai/guides/app-layout.md +3 -1
  84. package/dist/ai/guides/component-picker.md +24 -18
  85. package/dist/ai/guides/design-language.md +217 -61
  86. package/dist/ai/guides/design-tokens.md +448 -105
  87. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  88. package/dist/ai/guides/icons-policy.md +50 -19
  89. package/dist/ai/guides/inline-edit-playbook.md +1 -1
  90. package/dist/ai/guides/installation-and-plugin-setup.md +618 -42
  91. package/dist/ai/guides/migration/components/bb-accordion.md +29 -0
  92. package/dist/ai/guides/migration/components/bb-alert.md +2 -2
  93. package/dist/ai/guides/migration/components/bb-avatar.md +13 -14
  94. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +8 -7
  95. package/dist/ai/guides/migration/components/bb-button.md +80 -20
  96. package/dist/ai/guides/migration/components/bb-checkbox-group.md +61 -28
  97. package/dist/ai/guides/migration/components/bb-checkbox.md +45 -10
  98. package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
  99. package/dist/ai/guides/migration/components/bb-color-palette.md +9 -9
  100. package/dist/ai/guides/migration/components/bb-date-picker-input.md +39 -29
  101. package/dist/ai/guides/migration/components/bb-dialog.md +68 -35
  102. package/dist/ai/guides/migration/components/bb-dropdown.md +29 -8
  103. package/dist/ai/guides/migration/components/bb-offcanvas.md +29 -13
  104. package/dist/ai/guides/migration/components/bb-popover.md +12 -11
  105. package/dist/ai/guides/migration/components/bb-rating.md +52 -17
  106. package/dist/ai/guides/migration/components/bb-select-popover.md +8 -0
  107. package/dist/ai/guides/migration/components/bb-select.md +18 -2
  108. package/dist/ai/guides/migration/components/bb-table.md +560 -28
  109. package/dist/ai/guides/migration/components/bb-tabs.md +56 -14
  110. package/dist/ai/guides/migration/components/bb-text-input.md +12 -12
  111. package/dist/ai/guides/migration/components/bb-tooltip.md +18 -0
  112. package/dist/ai/guides/migration/v2-to-v3.md +526 -192
  113. package/dist/ai/guides/options-items-playbook.md +57 -1
  114. package/dist/ai/guides/passthrough.md +725 -0
  115. package/dist/ai/guides/ssr-prefill.md +120 -0
  116. package/dist/ai/guides/validated-forms.md +5 -0
  117. package/dist/ai/index.md +24 -36
  118. package/dist/ai/recipes/inertia/approvals-inbox.md +3 -4
  119. package/dist/ai/recipes/inertia/inline-edit-workspace.md +10 -11
  120. package/dist/ai/recipes/inertia/layout-scaffold.md +5 -1
  121. package/dist/ai/recipes/inertia/onboarding.md +2 -2
  122. package/dist/ai/recipes/inertia/ownership-atlas.md +66 -44
  123. package/dist/ai/recipes/inertia/record-form.md +5 -6
  124. package/dist/ai/recipes/inertia/records-workspace.md +133 -12
  125. package/dist/ai/recipes/inertia/upload-center.md +8 -9
  126. package/dist/ai/recipes/inertia/wizard-form.md +68 -5
  127. package/dist/ai/recipes/nuxt/approvals-inbox.md +3 -4
  128. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +10 -11
  129. package/dist/ai/recipes/nuxt/layout-scaffold.md +5 -1
  130. package/dist/ai/recipes/nuxt/onboarding.md +2 -2
  131. package/dist/ai/recipes/nuxt/record-form.md +5 -6
  132. package/dist/ai/recipes/nuxt/records-workspace.md +135 -12
  133. package/dist/ai/recipes/nuxt/upload-center.md +8 -9
  134. package/dist/ai/recipes/nuxt/wizard-form.md +68 -5
  135. package/dist/ai/recipes/vue/approvals-inbox.md +3 -4
  136. package/dist/ai/recipes/vue/inline-edit-workspace.md +10 -11
  137. package/dist/ai/recipes/vue/layout-scaffold.md +5 -1
  138. package/dist/ai/recipes/vue/onboarding.md +2 -2
  139. package/dist/ai/recipes/vue/record-form.md +10 -10
  140. package/dist/ai/recipes/vue/records-workspace.md +129 -12
  141. package/dist/ai/recipes/vue/upload-center.md +8 -9
  142. package/dist/ai/recipes/vue/wizard-form.md +65 -5
  143. package/dist/ai/source/BbAccordion.md +83 -21
  144. package/dist/ai/source/BbAlert.md +188 -60
  145. package/dist/ai/source/BbAsterisk.md +54 -4
  146. package/dist/ai/source/BbAvatar.md +63 -16
  147. package/dist/ai/source/BbBadge.md +193 -59
  148. package/dist/ai/source/BbBadgeButton.md +108 -41
  149. package/dist/ai/source/BbBaseButton.md +103 -9
  150. package/dist/ai/source/BbBaseCheckboxIcon.md +151 -36
  151. package/dist/ai/source/BbBaseRadioIcon.md +121 -17
  152. package/dist/ai/source/BbBaseSwitchIcon.md +138 -28
  153. package/dist/ai/source/BbBreadcrumbs.md +241 -57
  154. package/dist/ai/source/BbButton.md +457 -165
  155. package/dist/ai/source/BbCalendar.md +1617 -0
  156. package/dist/ai/source/BbCheckbox.md +433 -59
  157. package/dist/ai/source/BbCheckboxGroup.md +722 -77
  158. package/dist/ai/source/BbCollapsible.md +90 -8
  159. package/dist/ai/source/BbColorInput.md +505 -58
  160. package/dist/ai/source/BbColorPalette.md +1160 -51
  161. package/dist/ai/source/BbConfirm.md +134 -4
  162. package/dist/ai/source/BbConfirmPortal.md +83 -0
  163. package/dist/ai/source/BbDatePicker.md +447 -367
  164. package/dist/ai/source/BbDatePickerInput.md +1970 -106
  165. package/dist/ai/source/BbDialog.md +435 -45
  166. package/dist/ai/source/BbDropdown.md +693 -130
  167. package/dist/ai/source/BbDropdownButton.md +279 -68
  168. package/dist/ai/source/BbDropdownGroup.md +535 -64
  169. package/dist/ai/source/BbDropzone.md +93 -14
  170. package/dist/ai/source/BbForm.md +93 -5
  171. package/dist/ai/source/BbIcon.md +114 -48
  172. package/dist/ai/source/BbIndicator.md +85 -42
  173. package/dist/ai/source/BbNumberInput.md +574 -73
  174. package/dist/ai/source/BbOffCanvas.md +789 -249
  175. package/dist/ai/source/BbPagination.md +124 -19
  176. package/dist/ai/source/BbPopover.md +226 -77
  177. package/dist/ai/source/BbProgress.md +53 -5
  178. package/dist/ai/source/BbPtScope.md +54 -0
  179. package/dist/ai/source/BbRadio.md +369 -52
  180. package/dist/ai/source/BbRadioGroup.md +707 -91
  181. package/dist/ai/source/BbRating.md +645 -73
  182. package/dist/ai/source/BbSelect.md +939 -76
  183. package/dist/ai/source/BbSelectPopover.md +611 -66
  184. package/dist/ai/source/BbSlider.md +1205 -81
  185. package/dist/ai/source/BbSmoothHeight.md +48 -2
  186. package/dist/ai/source/BbSpinner.md +62 -6
  187. package/dist/ai/source/BbSwitch.md +277 -55
  188. package/dist/ai/source/BbSwitchGroup.md +568 -77
  189. package/dist/ai/source/BbTable.md +5729 -1779
  190. package/dist/ai/source/BbTabs.md +176 -87
  191. package/dist/ai/source/BbTabsList.md +207 -88
  192. package/dist/ai/source/BbTabsPanes.md +179 -83
  193. package/dist/ai/source/BbTabsRoot.md +171 -82
  194. package/dist/ai/source/BbTag.md +670 -76
  195. package/dist/ai/source/BbTextInput.md +439 -59
  196. package/dist/ai/source/BbTextarea.md +483 -54
  197. package/dist/ai/source/BbTimePicker.md +302 -56
  198. package/dist/ai/source/BbTimePickerInput.md +1143 -91
  199. package/dist/ai/source/BbToast.md +121 -36
  200. package/dist/ai/source/BbToastPortal.md +77 -27
  201. package/dist/ai/source/BbTooltip.md +147 -22
  202. package/dist/ai/source/BbTree.md +55 -3
  203. package/dist/ai/source/ChipsBox.md +12 -2
  204. package/dist/ai/source/CommaBox.md +10 -2
  205. package/dist/ai/source/{BbBaseInputContainer.md → CommonField.md} +318 -210
  206. package/dist/ai/source/CommonFieldInput.md +799 -0
  207. package/dist/ai/source/CommonPopover.md +107 -22
  208. package/dist/ai/source/CommonTimeSelector.md +642 -0
  209. package/dist/ai/source/ErrorIcon.md +2 -2
  210. package/dist/ai/source/FlatListBox.md +172 -11
  211. package/dist/ai/source/GroupedListBox.md +198 -11
  212. package/dist/ai/source/GuidesComponent.md +14 -7
  213. package/dist/ai/source/ListBox.md +29 -2
  214. package/dist/ai/source/OptionsContainer.md +197 -26
  215. package/dist/ai/source/WarningIcon.md +2 -2
  216. package/dist/components/BbAccordion/BbAccordion.vue_vue_type_script_setup_true_lang.js +49 -32
  217. package/dist/components/BbAccordion/types.d.ts +32 -1
  218. package/dist/components/BbAccordion/types.js +11 -0
  219. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +45 -29
  220. package/dist/components/BbAlert/types.d.ts +35 -1
  221. package/dist/components/BbAlert/types.js +13 -0
  222. package/dist/components/BbAsterisk/BbAsterisk.vue.d.ts +3 -1
  223. package/dist/components/BbAsterisk/BbAsterisk.vue_vue_type_script_setup_true_lang.js +23 -8
  224. package/dist/components/BbAsterisk/types.d.ts +18 -0
  225. package/dist/components/BbAsterisk/types.js +7 -0
  226. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +1 -1
  227. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +57 -44
  228. package/dist/components/BbAvatar/types.d.ts +23 -0
  229. package/dist/components/BbAvatar/types.js +7 -0
  230. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +22 -16
  231. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +95 -52
  232. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +3 -0
  233. package/dist/components/BbBadge/badgeButtonContext.d.ts +25 -8
  234. package/dist/components/BbBadge/types.d.ts +44 -3
  235. package/dist/components/BbBadge/types.js +13 -0
  236. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +110 -97
  237. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +11 -11
  238. package/dist/components/BbBaseButton/types.d.ts +28 -0
  239. package/dist/components/BbBaseButton/types.js +9 -2
  240. package/dist/components/BbBaseCheckboxIcon/BbBaseCheckboxIcon.vue_vue_type_script_setup_true_lang.js +50 -18
  241. package/dist/components/BbBaseCheckboxIcon/types.d.ts +31 -2
  242. package/dist/components/BbBaseCheckboxIcon/types.js +8 -0
  243. package/dist/components/BbBaseRadioIcon/BbBaseRadioIcon.vue_vue_type_script_setup_true_lang.js +45 -15
  244. package/dist/components/BbBaseRadioIcon/types.d.ts +31 -2
  245. package/dist/components/BbBaseRadioIcon/types.js +8 -0
  246. package/dist/components/BbBaseSwitchIcon/BbBaseSwitchIcon.vue_vue_type_script_setup_true_lang.js +48 -16
  247. package/dist/components/BbBaseSwitchIcon/types.d.ts +31 -2
  248. package/dist/components/BbBaseSwitchIcon/types.js +8 -0
  249. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +151 -110
  250. package/dist/components/BbBreadcrumbs/types.d.ts +35 -0
  251. package/dist/components/BbBreadcrumbs/types.js +12 -0
  252. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +104 -77
  253. package/dist/components/BbButton/types.d.ts +49 -2
  254. package/dist/components/BbButton/types.js +12 -0
  255. package/dist/components/BbCalendar/BbCalendar.vue.d.ts +34 -0
  256. package/dist/components/BbCalendar/BbCalendar.vue.js +6 -0
  257. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +576 -0
  258. package/dist/components/BbCalendar/CalendarMonthPanel.vue.js +5 -0
  259. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +124 -0
  260. package/dist/components/BbCalendar/CalendarYearPanel.vue.js +5 -0
  261. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +126 -0
  262. package/dist/components/BbCalendar/calendarHost.d.ts +29 -0
  263. package/dist/components/BbCalendar/calendarHost.js +10 -0
  264. package/dist/components/BbCalendar/types.d.ts +211 -0
  265. package/dist/components/BbCalendar/types.js +28 -0
  266. package/dist/components/{BbBaseDatePicker/useDatePickerContext.d.ts → BbCalendar/useCalendarContext.d.ts} +10 -7
  267. package/dist/components/BbCalendar/useCalendarContext.js +11 -0
  268. package/dist/components/BbCalendar/useCalendarGrid.d.ts +208 -0
  269. package/dist/components/BbCalendar/useCalendarGrid.js +269 -0
  270. package/dist/components/BbCalendar/useDayGrid.d.ts +79 -0
  271. package/dist/components/BbCalendar/useDayGrid.js +203 -0
  272. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +1 -1
  273. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +194 -67
  274. package/dist/components/BbCheckbox/types.d.ts +164 -9
  275. package/dist/components/BbCheckbox/types.js +8 -0
  276. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +3 -3
  277. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +310 -80
  278. package/dist/components/BbCheckboxGroup/types.d.ts +152 -8
  279. package/dist/components/BbCheckboxGroup/types.js +10 -0
  280. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +2 -1
  281. package/dist/components/BbCollapsible/BbCollapsible.vue_vue_type_script_setup_true_lang.js +41 -19
  282. package/dist/components/BbCollapsible/types.d.ts +44 -1
  283. package/dist/components/BbCollapsible/types.js +7 -0
  284. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +11 -1
  285. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +306 -81
  286. package/dist/components/BbColorInput/types.d.ts +204 -6
  287. package/dist/components/BbColorInput/types.js +24 -0
  288. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +10 -2
  289. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +508 -104
  290. package/dist/components/BbColorPalette/types.d.ts +69 -3
  291. package/dist/components/BbColorPalette/types.js +12 -0
  292. package/dist/components/BbConfirm/BbConfirm.vue.d.ts +2 -1
  293. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +116 -76
  294. package/dist/components/BbConfirm/types.d.ts +49 -0
  295. package/dist/components/BbConfirm/types.js +17 -0
  296. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +16 -10
  297. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +291 -218
  298. package/dist/components/BbDatePicker/types.d.ts +95 -15
  299. package/dist/components/BbDatePicker/types.js +32 -0
  300. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +14 -2
  301. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +1148 -82
  302. package/dist/components/BbDatePickerInput/types.d.ts +198 -11
  303. package/dist/components/BbDatePickerInput/types.js +38 -0
  304. package/dist/components/BbDialog/BbDialog.vue.d.ts +4 -4
  305. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +218 -136
  306. package/dist/components/BbDialog/types.d.ts +86 -2
  307. package/dist/components/BbDialog/types.js +16 -0
  308. package/dist/components/BbDialog/useDialogStack.d.ts +12 -0
  309. package/dist/components/BbDialog/useDialogStack.js +9 -2
  310. package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +2 -0
  311. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +103 -96
  312. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +10 -2
  313. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +346 -281
  314. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +285 -257
  315. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +100 -89
  316. package/dist/components/BbDropdown/normalizeGroups.js +34 -31
  317. package/dist/components/BbDropdown/types.d.ts +161 -8
  318. package/dist/components/BbDropdown/types.js +20 -2
  319. package/dist/components/BbDropdown/useDropdownContext.d.ts +7 -1
  320. package/dist/components/BbDropdown/useDropdownGroupRegistry.d.ts +1 -0
  321. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +13 -3
  322. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +122 -35
  323. package/dist/components/BbDropdownButton/types.d.ts +94 -1
  324. package/dist/components/BbDropdownButton/types.js +30 -0
  325. package/dist/components/BbDropzone/BbDropzone.vue_vue_type_script_setup_true_lang.js +169 -138
  326. package/dist/components/BbDropzone/types.d.ts +32 -1
  327. package/dist/components/BbDropzone/types.js +16 -0
  328. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +58 -48
  329. package/dist/components/BbIcon/iconCache.d.ts +63 -0
  330. package/dist/components/BbIcon/iconCache.js +35 -0
  331. package/dist/components/BbIcon/types.d.ts +22 -2
  332. package/dist/components/BbIcon/types.js +7 -0
  333. package/dist/components/BbIndicator/BbIndicator.vue_vue_type_script_setup_true_lang.js +33 -20
  334. package/dist/components/BbIndicator/types.d.ts +24 -0
  335. package/dist/components/BbIndicator/types.js +7 -0
  336. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +6 -1
  337. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +272 -80
  338. package/dist/components/BbNumberInput/types.d.ts +178 -11
  339. package/dist/components/BbNumberInput/types.js +8 -0
  340. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +4 -4
  341. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +294 -207
  342. package/dist/components/BbOffCanvas/types.d.ts +73 -5
  343. package/dist/components/BbOffCanvas/types.js +15 -0
  344. package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
  345. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +119 -96
  346. package/dist/components/BbPagination/types.d.ts +32 -0
  347. package/dist/components/BbPagination/types.js +11 -0
  348. package/dist/components/BbPopover/BbPopover.vue.d.ts +5 -5
  349. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +184 -154
  350. package/dist/components/BbPopover/types.d.ts +48 -2
  351. package/dist/components/BbPopover/types.js +14 -0
  352. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +27 -15
  353. package/dist/components/BbProgress/types.d.ts +21 -0
  354. package/dist/components/BbProgress/types.js +7 -0
  355. package/dist/components/BbPtScope/BbPtScope.vue.d.ts +12 -0
  356. package/dist/components/BbPtScope/BbPtScope.vue.js +5 -0
  357. package/dist/components/BbPtScope/BbPtScope.vue_vue_type_script_setup_true_lang.js +13 -0
  358. package/dist/components/BbPtScope/types.d.ts +15 -0
  359. package/dist/components/BbRadio/BbRadio.vue.d.ts +1 -1
  360. package/dist/components/BbRadio/BbRadio.vue_vue_type_script_setup_true_lang.js +166 -56
  361. package/dist/components/BbRadio/types.d.ts +137 -9
  362. package/dist/components/BbRadio/types.js +8 -0
  363. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +2 -2
  364. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +292 -82
  365. package/dist/components/BbRadioGroup/types.d.ts +155 -10
  366. package/dist/components/BbRadioGroup/types.js +10 -0
  367. package/dist/components/BbRating/BbRating.vue.d.ts +4 -2
  368. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +245 -73
  369. package/dist/components/BbRating/types.d.ts +152 -6
  370. package/dist/components/BbRating/types.js +21 -0
  371. package/dist/components/BbSelect/BbSelect.vue.d.ts +3 -3
  372. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +474 -75
  373. package/dist/components/BbSelect/types.d.ts +174 -8
  374. package/dist/components/BbSelect/types.js +26 -0
  375. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +460 -349
  376. package/dist/components/BbSelectPopover/types.d.ts +114 -4
  377. package/dist/components/BbSelectPopover/types.js +24 -0
  378. package/dist/components/BbSlider/BbSlider.vue.d.ts +10 -4
  379. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +396 -92
  380. package/dist/components/BbSlider/types.d.ts +175 -6
  381. package/dist/components/BbSlider/types.js +21 -0
  382. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
  383. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue_vue_type_script_setup_true_lang.js +60 -48
  384. package/dist/components/BbSmoothHeight/types.d.ts +19 -0
  385. package/dist/components/BbSmoothHeight/types.js +7 -0
  386. package/dist/components/BbSpinner/BbSpinner.vue_vue_type_script_setup_true_lang.js +27 -14
  387. package/dist/components/BbSpinner/types.d.ts +22 -1
  388. package/dist/components/BbSpinner/types.js +7 -0
  389. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +1 -1
  390. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +202 -75
  391. package/dist/components/BbSwitch/types.d.ts +25 -10
  392. package/dist/components/BbSwitch/types.js +5 -0
  393. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +2 -2
  394. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +310 -80
  395. package/dist/components/BbSwitchGroup/types.d.ts +29 -6
  396. package/dist/components/BbSwitchGroup/types.js +5 -0
  397. package/dist/components/BbTable/BbTable.vue.d.ts +10 -4
  398. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1577 -654
  399. package/dist/components/BbTable/BbTableDataRow.d.ts +169 -0
  400. package/dist/components/BbTable/BbTableDataRow.js +133 -0
  401. package/dist/components/BbTable/BbTableExpandRow.d.ts +73 -0
  402. package/dist/components/BbTable/BbTableExpandRow.js +52 -0
  403. package/dist/components/BbTable/BbTableSelectToggle.d.ts +103 -0
  404. package/dist/components/BbTable/BbTableSelectToggle.js +114 -0
  405. package/dist/components/BbTable/types.d.ts +366 -111
  406. package/dist/components/BbTable/types.js +18 -0
  407. package/dist/components/BbTable/utils.d.ts +92 -4
  408. package/dist/components/BbTable/utils.js +71 -36
  409. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +32 -20
  410. package/dist/components/BbTabs/BbTabsList.vue.d.ts +3 -10
  411. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +39 -33
  412. package/dist/components/BbTabs/BbTabsPanes.vue_vue_type_script_setup_true_lang.js +14 -13
  413. package/dist/components/BbTabs/BbTabsRoot.vue_vue_type_script_setup_true_lang.js +12 -1
  414. package/dist/components/BbTabs/types.d.ts +72 -9
  415. package/dist/components/BbTabs/types.js +11 -0
  416. package/dist/components/BbTag/BbTag.vue.d.ts +7 -4
  417. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +350 -88
  418. package/dist/components/BbTag/types.d.ts +90 -5
  419. package/dist/components/BbTag/types.js +8 -0
  420. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +4 -2
  421. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +245 -80
  422. package/dist/components/BbTextInput/types.d.ts +147 -6
  423. package/dist/components/BbTextInput/types.js +8 -0
  424. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +1 -1
  425. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +273 -91
  426. package/dist/components/BbTextarea/types.d.ts +134 -6
  427. package/dist/components/BbTextarea/types.js +8 -0
  428. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +10 -2
  429. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +152 -103
  430. package/dist/components/BbTimePicker/types.d.ts +65 -3
  431. package/dist/components/BbTimePicker/types.js +12 -0
  432. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue.d.ts +12 -2
  433. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +705 -83
  434. package/dist/components/BbTimePickerInput/types.d.ts +128 -12
  435. package/dist/components/BbTimePickerInput/types.js +23 -0
  436. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +51 -25
  437. package/dist/components/BbToast/BbToastMessage.vue.d.ts +3 -0
  438. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +48 -47
  439. package/dist/components/BbToast/BbToastRegion.vue.d.ts +3 -0
  440. package/dist/components/BbToast/BbToastRegion.vue_vue_type_script_setup_true_lang.js +72 -64
  441. package/dist/components/BbToast/types.d.ts +28 -0
  442. package/dist/components/BbToast/types.js +13 -0
  443. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +100 -84
  444. package/dist/components/BbTooltip/types.d.ts +40 -2
  445. package/dist/components/BbTooltip/types.js +7 -0
  446. package/dist/components/BbTree/BbTree.vue.d.ts +11 -1
  447. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +44 -28
  448. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +13 -12
  449. package/dist/components/BbTree/context.d.ts +4 -1
  450. package/dist/components/BbTree/types.d.ts +30 -1
  451. package/dist/components/BbTree/types.js +7 -0
  452. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +9 -7
  453. package/dist/components/ChipsBox/types.d.ts +6 -0
  454. package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +5 -5
  455. package/dist/components/CommaBox/CommaBox.vue_vue_type_script_setup_true_lang.js +11 -7
  456. package/dist/components/CommaBox/types.d.ts +6 -0
  457. package/dist/components/{BbBaseInputContainer/BbBaseInputContainer.vue.d.ts → CommonField/CommonField.vue.d.ts} +4 -4
  458. package/dist/components/{BbBaseRadio/BbBaseRadio.vue.js → CommonField/CommonField.vue.js} +2 -2
  459. package/dist/components/CommonField/CommonField.vue_vue_type_script_setup_true_lang.js +178 -0
  460. package/dist/components/CommonField/messageHeightMatrix.d.ts +2 -0
  461. package/dist/components/{BbBaseInputContainer → CommonField}/types.d.ts +33 -10
  462. package/dist/components/{CommonInputWrapper/CommonInputWrapper.vue.d.ts → CommonFieldInput/CommonFieldInput.vue.d.ts} +5 -4
  463. package/dist/components/{BbBaseRadioGroup/BbBaseRadioGroup.vue.js → CommonFieldInput/CommonFieldInput.vue.js} +2 -2
  464. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +116 -0
  465. package/dist/components/CommonFieldInput/boxBorderMatrix.d.ts +10 -0
  466. package/dist/components/{CommonInputWrapper → CommonFieldInput}/types.d.ts +25 -6
  467. package/dist/components/CommonPopover/CommonPopover.vue.d.ts +11 -2
  468. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +65 -53
  469. package/dist/components/CommonPopover/types.d.ts +27 -8
  470. package/dist/components/{BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.d.ts → CommonTimeSelector/CommonTimeSelector.vue.d.ts} +4 -1
  471. package/dist/components/{BbBaseColorPalette/BbBaseColorPalette.vue.js → CommonTimeSelector/CommonTimeSelector.vue.js} +2 -2
  472. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +207 -0
  473. package/dist/components/CommonTimeSelector/types.d.ts +6 -0
  474. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +163 -100
  475. package/dist/components/FlatListBox/types.d.ts +15 -0
  476. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +190 -127
  477. package/dist/components/GroupedListBox/types.d.ts +15 -0
  478. package/dist/components/ListBox/ListBox.vue_vue_type_script_setup_true_lang.js +82 -66
  479. package/dist/components/ListBox/types.d.ts +15 -0
  480. package/dist/components/OptionsContainer/OptionsContainer.vue_vue_type_script_setup_true_lang.js +89 -35
  481. package/dist/components/OptionsContainer/types.d.ts +37 -5
  482. package/dist/composables/useBaseOptions.d.ts +12 -1
  483. package/dist/composables/useBaseOptions.js +63 -31
  484. package/dist/composables/useBbConfig.d.ts +27 -6
  485. package/dist/composables/useBbConfig.js +8 -2
  486. package/dist/composables/useBbDropdownContext.d.ts +5 -0
  487. package/dist/composables/useBbTabsContext.d.ts +16 -2
  488. package/dist/composables/useBbTabsContext.js +157 -145
  489. package/dist/composables/useConfig.d.ts +59 -0
  490. package/dist/composables/useConfig.js +11 -0
  491. package/dist/composables/useConfirm.d.ts +33 -2
  492. package/dist/composables/useConfirm.js +43 -40
  493. package/dist/composables/useItemsGetter.d.ts +11 -0
  494. package/dist/composables/useItemsGetter.js +44 -18
  495. package/dist/composables/useLocale.js +10 -7
  496. package/dist/composables/useMobile.js +5 -5
  497. package/dist/composables/usePassthrough.d.ts +206 -0
  498. package/dist/composables/usePassthrough.js +224 -0
  499. package/dist/composables/usePrefill.d.ts +22 -2
  500. package/dist/composables/usePrefill.js +35 -19
  501. package/dist/composables/useSafeAreaInternal.js +1 -1
  502. package/dist/composables/useSegmentedFields.d.ts +2 -2
  503. package/dist/composables/useSsrState.d.ts +20 -0
  504. package/dist/composables/useSsrState.js +13 -0
  505. package/dist/composables/useTableWidthContext.d.ts +24 -4
  506. package/dist/composables/useTableWidthContext.js +31 -28
  507. package/dist/composables/useToast.d.ts +18 -1
  508. package/dist/composables/useToast.js +22 -18
  509. package/dist/composables/useToggleInput.d.ts +44 -0
  510. package/dist/composables/useToggleInput.js +39 -0
  511. package/dist/composables/useViewportWidth.d.ts +20 -6
  512. package/dist/composables/useViewportWidth.js +8 -7
  513. package/dist/deprecation/ai-deprecations.json.d.ts +352 -11
  514. package/dist/deprecation/ai-deprecations.json.js +1 -1
  515. package/dist/directives/bbDropdown.d.ts +15 -4
  516. package/dist/directives/bbDropdown.js +31 -9
  517. package/dist/directives/createPopoverDirective.d.ts +62 -0
  518. package/dist/directives/createPopoverDirective.js +92 -37
  519. package/dist/i18n/locales/cs.json +6 -3
  520. package/dist/i18n/locales/da.json +6 -3
  521. package/dist/i18n/locales/de.json +6 -3
  522. package/dist/i18n/locales/el.json +6 -3
  523. package/dist/i18n/locales/en.json +6 -3
  524. package/dist/i18n/locales/es.json +6 -3
  525. package/dist/i18n/locales/fi.json +6 -3
  526. package/dist/i18n/locales/fr.json +6 -3
  527. package/dist/i18n/locales/hu.json +6 -3
  528. package/dist/i18n/locales/it.json +6 -3
  529. package/dist/i18n/locales/ja.json +6 -3
  530. package/dist/i18n/locales/ko.json +6 -3
  531. package/dist/i18n/locales/nb.json +6 -3
  532. package/dist/i18n/locales/nl.json +6 -3
  533. package/dist/i18n/locales/pl.json +6 -3
  534. package/dist/i18n/locales/pt.json +6 -3
  535. package/dist/i18n/locales/ro.json +6 -3
  536. package/dist/i18n/locales/ru.json +6 -3
  537. package/dist/i18n/locales/sv.json +6 -3
  538. package/dist/i18n/locales/tr.json +6 -3
  539. package/dist/i18n/locales/uk.json +6 -3
  540. package/dist/i18n/locales/zh-cn.json +6 -3
  541. package/dist/icon-scan.d.ts +276 -0
  542. package/dist/icon-scan.js +485 -0
  543. package/dist/icons-whitelist.d.ts +5 -4
  544. package/dist/index.d.ts +25 -4
  545. package/dist/index.js +71 -67
  546. package/dist/input-variants.d.ts +18 -0
  547. package/dist/llms-full.txt +19105 -4677
  548. package/dist/llms-medium.txt +1027 -174
  549. package/dist/llms.txt +13 -10
  550. package/dist/locale-blueprint.json +6 -3
  551. package/dist/nuxt-auto-imports.d.ts +100 -0
  552. package/dist/nuxt-auto-imports.js +55 -0
  553. package/dist/nuxt-module.d.ts +26 -1
  554. package/dist/nuxt.js +26 -9
  555. package/dist/passthrough-deduper.js +5 -0
  556. package/dist/plugin.d.ts +10 -1
  557. package/dist/plugin.js +21 -19
  558. package/dist/pt-scope-registry.d.ts +15 -0
  559. package/dist/runtime/nuxt-plugin.js +29 -21
  560. package/dist/styles.css +1 -1
  561. package/dist/tabs-variants.d.ts +18 -0
  562. package/dist/types/ColumnName.d.ts +1 -1
  563. package/dist/types/CommonProps.d.ts +2 -2
  564. package/dist/types/Config.d.ts +47 -0
  565. package/dist/types/InputVariant.d.ts +22 -0
  566. package/dist/types/ItemProps.d.ts +50 -0
  567. package/dist/types/Option.d.ts +6 -0
  568. package/dist/types/PtScope.d.ts +13 -0
  569. package/dist/types/TabsVariant.d.ts +17 -0
  570. package/dist/types/passthrough.d.ts +332 -0
  571. package/dist/types/passthrough.js +78 -0
  572. package/dist/types/ptComponentMap.d.ts +60 -0
  573. package/dist/utilities/functions/hasVnodeListener.d.ts +16 -0
  574. package/dist/utilities/functions/hasVnodeListener.js +12 -0
  575. package/dist/utilities/functions/itemProps.d.ts +46 -0
  576. package/dist/utilities/functions/itemProps.js +47 -0
  577. package/dist/utilities/functions/slotKey.d.ts +5 -5
  578. package/dist/utilities/functions/slotKey.js +1 -1
  579. package/dist/utilities/functions/toggleInput.d.ts +98 -0
  580. package/dist/utilities/functions/toggleInput.js +56 -0
  581. package/dist/utilities/misc/listboxMetrics.d.ts +9 -3
  582. package/dist/utilities/misc/listboxMetrics.js +5 -2
  583. package/dist/utilities/misc/ssrStateInjectionKey.d.ts +42 -0
  584. package/dist/utilities/misc/ssrStateInjectionKey.js +4 -0
  585. package/dist/utils/cssLayers.d.ts +91 -0
  586. package/dist/utils/cssLayers.js +43 -0
  587. package/dist/utils/injectLibraryStyles.d.ts +3 -1
  588. package/dist/utils/injectLibraryStyles.js +24 -23
  589. package/dist/utils/passthrough.d.ts +63 -0
  590. package/dist/utils/passthrough.js +96 -0
  591. package/dist/utils/passthroughDeduper.d.ts +2 -0
  592. package/dist/utils/passthroughTestKit.d.ts +54 -0
  593. package/dist/utils/ptScope.d.ts +8 -0
  594. package/dist/utils/ptScope.js +4 -0
  595. package/dist/utils/swipeTestKit.d.ts +9 -0
  596. package/dist/validated/BbCheckbox.vue.d.ts +3 -1
  597. package/dist/validated/BbCheckbox.vue_vue_type_script_setup_true_lang.js +82 -23
  598. package/dist/validated/BbCheckboxGroup.vue.d.ts +125 -2
  599. package/dist/validated/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +113 -25
  600. package/dist/validated/BbColorInput.vue.d.ts +9 -7
  601. package/dist/validated/BbColorInput.vue_vue_type_script_setup_true_lang.js +145 -25
  602. package/dist/validated/BbDatePickerInput.vue.d.ts +11 -9
  603. package/dist/validated/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +417 -27
  604. package/dist/validated/BbDropzone.vue_vue_type_script_setup_true_lang.js +17 -1
  605. package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +45 -27
  606. package/dist/validated/BbNumberInput.vue.d.ts +9 -7
  607. package/dist/validated/BbNumberInput.vue_vue_type_script_setup_true_lang.js +115 -25
  608. package/dist/validated/BbRadioGroup.vue.d.ts +124 -2
  609. package/dist/validated/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +113 -25
  610. package/dist/validated/BbRating.vue.d.ts +6 -4
  611. package/dist/validated/BbRating.vue_vue_type_script_setup_true_lang.js +69 -22
  612. package/dist/validated/BbSelect.vue.d.ts +235 -2
  613. package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +217 -32
  614. package/dist/validated/BbSlider.vue.d.ts +9 -7
  615. package/dist/validated/BbSlider.vue_vue_type_script_setup_true_lang.js +72 -25
  616. package/dist/validated/BbSwitch.vue.d.ts +3 -1
  617. package/dist/validated/BbSwitch.vue_vue_type_script_setup_true_lang.js +82 -23
  618. package/dist/validated/BbSwitchGroup.vue.d.ts +125 -2
  619. package/dist/validated/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +113 -25
  620. package/dist/validated/BbTag.vue.d.ts +9 -7
  621. package/dist/validated/BbTag.vue_vue_type_script_setup_true_lang.js +122 -25
  622. package/dist/validated/BbTextInput.vue.d.ts +9 -7
  623. package/dist/validated/BbTextInput.vue_vue_type_script_setup_true_lang.js +115 -25
  624. package/dist/validated/BbTextarea.vue.d.ts +9 -7
  625. package/dist/validated/BbTextarea.vue_vue_type_script_setup_true_lang.js +115 -25
  626. package/dist/validated/BbTimePickerInput.vue.d.ts +9 -7
  627. package/dist/validated/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +175 -25
  628. package/dist/validated/index.d.ts +3 -0
  629. package/dist/validated/useValidatedField.js +25 -23
  630. package/dist/vite-plugin.d.ts +230 -23
  631. package/dist/vite.js +515 -301
  632. package/llms.txt +14 -11
  633. package/package.json +15 -11
  634. package/scripts/lib/component-tree.ts +611 -0
  635. package/scripts/lib/ensure-manifest.mjs +28 -5
  636. package/scripts/lib/eslint-plugin.d.ts +58 -1
  637. package/scripts/lib/eslint-plugin.mjs +899 -17
  638. package/scripts/lib/hand-roll-hints.mjs +50 -6
  639. package/scripts/lib/html-attributes.mjs +133 -0
  640. package/scripts/lib/mcp-config.mjs +38 -34
  641. package/scripts/lib/public-type-exports.mjs +246 -0
  642. package/scripts/lib/validate-bb-markup.mjs +312 -33
  643. package/dist/ai/BbBaseCheckbox.md +0 -49
  644. package/dist/ai/BbBaseCheckboxGroup.md +0 -64
  645. package/dist/ai/BbBaseColorInput.md +0 -65
  646. package/dist/ai/BbBaseColorPalette.md +0 -39
  647. package/dist/ai/BbBaseDatePicker.md +0 -43
  648. package/dist/ai/BbBaseDatePickerInput.md +0 -73
  649. package/dist/ai/BbBaseNumberInput.md +0 -71
  650. package/dist/ai/BbBaseRadio.md +0 -46
  651. package/dist/ai/BbBaseRadioGroup.md +0 -64
  652. package/dist/ai/BbBaseRating.md +0 -52
  653. package/dist/ai/BbBaseSelect.md +0 -88
  654. package/dist/ai/BbBaseSlider.md +0 -56
  655. package/dist/ai/BbBaseSwitch.md +0 -49
  656. package/dist/ai/BbBaseSwitchGroup.md +0 -64
  657. package/dist/ai/BbBaseTag.md +0 -68
  658. package/dist/ai/BbBaseTextInput.md +0 -75
  659. package/dist/ai/BbBaseTextarea.md +0 -62
  660. package/dist/ai/BbBaseTimePickerInput.md +0 -62
  661. package/dist/ai/CommonInputWrapper.md +0 -42
  662. package/dist/ai/source/BbBaseCheckbox.md +0 -461
  663. package/dist/ai/source/BbBaseCheckboxGroup.md +0 -554
  664. package/dist/ai/source/BbBaseColorInput.md +0 -431
  665. package/dist/ai/source/BbBaseColorPalette.md +0 -942
  666. package/dist/ai/source/BbBaseDatePicker.md +0 -1448
  667. package/dist/ai/source/BbBaseDatePickerInput.md +0 -1940
  668. package/dist/ai/source/BbBaseNumberInput.md +0 -617
  669. package/dist/ai/source/BbBaseRadio.md +0 -381
  670. package/dist/ai/source/BbBaseRadioGroup.md +0 -539
  671. package/dist/ai/source/BbBaseRating.md +0 -607
  672. package/dist/ai/source/BbBaseSelect.md +0 -945
  673. package/dist/ai/source/BbBaseSlider.md +0 -1144
  674. package/dist/ai/source/BbBaseSwitch.md +0 -246
  675. package/dist/ai/source/BbBaseSwitchGroup.md +0 -302
  676. package/dist/ai/source/BbBaseTag.md +0 -694
  677. package/dist/ai/source/BbBaseTextInput.md +0 -511
  678. package/dist/ai/source/BbBaseTextarea.md +0 -504
  679. package/dist/ai/source/BbBaseTimePickerInput.md +0 -1037
  680. package/dist/ai/source/CommonInputWrapper.md +0 -584
  681. package/dist/assets/svgs/sort.svg_raw.js +0 -4
  682. package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +0 -3
  683. package/dist/components/BbBadge/BadgeAppendIcon.vue.js +0 -5
  684. package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +0 -22
  685. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.d.ts +0 -40
  686. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue.js +0 -6
  687. package/dist/components/BbBaseCheckbox/BbBaseCheckbox.vue_vue_type_script_setup_true_lang.js +0 -145
  688. package/dist/components/BbBaseCheckbox/types.d.ts +0 -224
  689. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.d.ts +0 -19
  690. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue.js +0 -6
  691. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +0 -190
  692. package/dist/components/BbBaseCheckboxGroup/types.d.ts +0 -257
  693. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.d.ts +0 -43
  694. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue.js +0 -6
  695. package/dist/components/BbBaseColorInput/BbBaseColorInput.vue_vue_type_script_setup_true_lang.js +0 -184
  696. package/dist/components/BbBaseColorInput/types.d.ts +0 -219
  697. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue.d.ts +0 -13
  698. package/dist/components/BbBaseColorPalette/BbBaseColorPalette.vue_vue_type_script_setup_true_lang.js +0 -395
  699. package/dist/components/BbBaseColorPalette/types.d.ts +0 -40
  700. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.d.ts +0 -20
  701. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue.js +0 -6
  702. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +0 -407
  703. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +0 -47
  704. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.js +0 -5
  705. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +0 -318
  706. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.js +0 -5
  707. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +0 -115
  708. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.js +0 -5
  709. package/dist/components/BbBaseDatePicker/BbBaseDatePickerYearSelector.vue_vue_type_script_setup_true_lang.js +0 -116
  710. package/dist/components/BbBaseDatePicker/types.d.ts +0 -108
  711. package/dist/components/BbBaseDatePicker/useDatePickerContext.js +0 -11
  712. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +0 -31
  713. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.js +0 -6
  714. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +0 -737
  715. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue.js +0 -6
  716. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerTimeSelector.vue_vue_type_script_setup_true_lang.js +0 -204
  717. package/dist/components/BbBaseDatePickerInput/types.d.ts +0 -325
  718. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue.js +0 -6
  719. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +0 -190
  720. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.d.ts +0 -52
  721. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue.js +0 -6
  722. package/dist/components/BbBaseNumberInput/BbBaseNumberInput.vue_vue_type_script_setup_true_lang.js +0 -215
  723. package/dist/components/BbBaseNumberInput/types.d.ts +0 -211
  724. package/dist/components/BbBaseRadio/BbBaseRadio.vue.d.ts +0 -33
  725. package/dist/components/BbBaseRadio/BbBaseRadio.vue_vue_type_script_setup_true_lang.js +0 -113
  726. package/dist/components/BbBaseRadio/types.d.ts +0 -179
  727. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue.d.ts +0 -19
  728. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +0 -179
  729. package/dist/components/BbBaseRadioGroup/types.d.ts +0 -223
  730. package/dist/components/BbBaseRating/BbBaseRating.vue.d.ts +0 -38
  731. package/dist/components/BbBaseRating/BbBaseRating.vue.js +0 -6
  732. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +0 -192
  733. package/dist/components/BbBaseRating/types.d.ts +0 -176
  734. package/dist/components/BbBaseSelect/BbBaseSelect.vue.d.ts +0 -19
  735. package/dist/components/BbBaseSelect/BbBaseSelect.vue.js +0 -6
  736. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +0 -311
  737. package/dist/components/BbBaseSelect/types.d.ts +0 -297
  738. package/dist/components/BbBaseSlider/BbBaseSlider.vue.d.ts +0 -35
  739. package/dist/components/BbBaseSlider/BbBaseSlider.vue.js +0 -6
  740. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +0 -340
  741. package/dist/components/BbBaseSlider/types.d.ts +0 -200
  742. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.d.ts +0 -35
  743. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue.js +0 -6
  744. package/dist/components/BbBaseSwitch/BbBaseSwitch.vue_vue_type_script_setup_true_lang.js +0 -146
  745. package/dist/components/BbBaseSwitch/types.d.ts +0 -10
  746. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.d.ts +0 -19
  747. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue.js +0 -6
  748. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +0 -190
  749. package/dist/components/BbBaseSwitchGroup/types.d.ts +0 -8
  750. package/dist/components/BbBaseTag/BbBaseTag.vue.d.ts +0 -50
  751. package/dist/components/BbBaseTag/BbBaseTag.vue.js +0 -6
  752. package/dist/components/BbBaseTag/BbBaseTag.vue_vue_type_script_setup_true_lang.js +0 -266
  753. package/dist/components/BbBaseTag/types.d.ts +0 -160
  754. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.d.ts +0 -45
  755. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue.js +0 -6
  756. package/dist/components/BbBaseTextInput/BbBaseTextInput.vue_vue_type_script_setup_true_lang.js +0 -200
  757. package/dist/components/BbBaseTextInput/types.d.ts +0 -209
  758. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.d.ts +0 -39
  759. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue.js +0 -6
  760. package/dist/components/BbBaseTextarea/BbBaseTextarea.vue_vue_type_script_setup_true_lang.js +0 -187
  761. package/dist/components/BbBaseTextarea/types.d.ts +0 -170
  762. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +0 -27
  763. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.js +0 -6
  764. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +0 -519
  765. package/dist/components/BbBaseTimePickerInput/types.d.ts +0 -151
  766. package/dist/components/CommonInputWrapper/CommonInputWrapper.vue.js +0 -6
  767. package/dist/components/CommonInputWrapper/CommonInputWrapper.vue_vue_type_script_setup_true_lang.js +0 -107
  768. /package/dist/components/{BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue.d.ts → BbCalendar/CalendarMonthPanel.vue.d.ts} +0 -0
  769. /package/dist/components/{BbBaseDatePicker/BbBaseDatePickerYearSelector.vue.d.ts → BbCalendar/CalendarYearPanel.vue.d.ts} +0 -0
  770. /package/dist/{components/BbBaseDatePicker/typeahead.d.ts → composables/useTypeahead.d.ts} +0 -0
  771. /package/dist/{components/BbBaseDatePicker/typeahead.js → composables/useTypeahead.js} +0 -0
@@ -0,0 +1,207 @@
1
+ import e from "../BbBaseButton/BbBaseButton.vue.js";
2
+ import { useLocale as t } from "../../composables/useLocale.js";
3
+ import { useTypeahead as n } from "../../composables/useTypeahead.js";
4
+ import { Fragment as r, computed as i, createBlock as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, defineComponent as l, mergeProps as u, nextTick as d, normalizeClass as f, onMounted as p, openBlock as m, renderList as h, toDisplayString as g, watch as _, withCtx as v } from "vue";
5
+ //#region src/components/CommonTimeSelector/CommonTimeSelector.vue?vue&type=script&setup=true&lang.ts
6
+ var y = { class: "bb-time-selector" }, b = { class: "bb-time-selector__columns" }, x = ["aria-label", "onKeydown"], S = {
7
+ "aria-hidden": "true",
8
+ class: "bb-time-selector__header"
9
+ }, C = "––", w = /*@__PURE__*/ l({
10
+ __name: "CommonTimeSelector",
11
+ props: {
12
+ passthrough: {},
13
+ hour: {},
14
+ minute: {},
15
+ second: {},
16
+ meridiem: {},
17
+ seconds: { type: Boolean },
18
+ ampm: { type: Boolean },
19
+ step: {},
20
+ disabled: { type: Boolean }
21
+ },
22
+ emits: ["select"],
23
+ setup(l, { emit: w }) {
24
+ let T = l, E = w, { t: D } = t(), O = {}, k = (e, t) => t === "PM" ? e === 12 ? 12 : e + 12 : e === 12 ? 0 : e, A = i(() => T.meridiem === "PM" ? "PM" : T.meridiem === "AM" ? "AM" : T.hour && parseInt(T.hour, 10) >= 12 ? "PM" : "AM"), j = (e) => {
25
+ if (e === "hour") {
26
+ if (!T.hour) return null;
27
+ let e = parseInt(T.hour, 10);
28
+ if (!T.ampm) return e;
29
+ let t = e % 12;
30
+ return t === 0 && (t = 12), t;
31
+ }
32
+ let t = T[e];
33
+ return t ? parseInt(t, 10) : null;
34
+ }, M = (e, t) => {
35
+ let n = j(e);
36
+ return t.map((e) => {
37
+ let t = String(e).padStart(2, "0");
38
+ return {
39
+ value: e,
40
+ text: t,
41
+ selected: n === e,
42
+ tokens: [String(e), t]
43
+ };
44
+ });
45
+ }, N = i(() => {
46
+ let e = Math.max(1, Math.floor(T.step ?? 1)), t = [];
47
+ for (let n = 0; n < 60; n += e) t.push(n);
48
+ return t;
49
+ }), P = i(() => {
50
+ let e = D(T.seconds ? "datePickerInput.timeFormatSeconds" : "datePickerInput.timeFormat").value.split(":");
51
+ return {
52
+ hour: e[0] ?? "HH",
53
+ minute: e[1] ?? "MM",
54
+ second: e[2] ?? "SS"
55
+ };
56
+ }), F = i(() => {
57
+ let e = [{
58
+ unit: "hour",
59
+ header: P.value.hour,
60
+ ariaLabel: D("datePicker.hoursLabel").value,
61
+ options: M("hour", T.ampm ? Array.from({ length: 12 }, (e, t) => t + 1) : Array.from({ length: 24 }, (e, t) => t))
62
+ }, {
63
+ unit: "minute",
64
+ header: P.value.minute,
65
+ ariaLabel: D("datePicker.minutesLabel").value,
66
+ options: M("minute", N.value)
67
+ }];
68
+ return T.seconds && e.push({
69
+ unit: "second",
70
+ header: P.value.second,
71
+ ariaLabel: D("datePicker.secondsLabel").value,
72
+ options: M("second", Array.from({ length: 60 }, (e, t) => t))
73
+ }), T.ampm && e.push({
74
+ unit: "meridiem",
75
+ header: "\xA0",
76
+ ariaLabel: D("datePickerInput.meridiemField").value,
77
+ options: ["AM", "PM"].map((e) => ({
78
+ value: e,
79
+ text: e,
80
+ selected: !!T.hour && A.value === e,
81
+ tokens: [e.toLowerCase(), e[0].toLowerCase()]
82
+ }))
83
+ }), e;
84
+ }), I = i(() => {
85
+ let e = j("hour"), t = [e === null ? C : String(e).padStart(2, "0"), T.minute ? T.minute.padStart(2, "0") : C];
86
+ T.seconds && t.push(T.second ? T.second.padStart(2, "0") : C);
87
+ let n = t.join(":");
88
+ return T.ampm && (n += ` ${T.hour ? A.value : C}`), n;
89
+ }), L = i(() => !T.hour && !T.minute), R = (e, t) => {
90
+ if (e.unit === "hour" && T.ampm) {
91
+ let e = k(t.value, A.value);
92
+ E("select", {
93
+ unit: "hour",
94
+ value: String(e).padStart(2, "0")
95
+ });
96
+ return;
97
+ }
98
+ if (e.unit === "meridiem") {
99
+ E("select", {
100
+ unit: "meridiem",
101
+ value: String(t.value)
102
+ });
103
+ return;
104
+ }
105
+ E("select", {
106
+ unit: e.unit,
107
+ value: String(t.value).padStart(2, "0")
108
+ });
109
+ }, z = () => typeof window < "u" && !!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches, B = (e, t, n) => {
110
+ e.scrollTo({
111
+ top: t,
112
+ behavior: n && !z() ? "smooth" : "auto"
113
+ });
114
+ }, V = (e, t = !1) => {
115
+ let n = O[e];
116
+ if (!n) return;
117
+ let r = F.value.find((t) => t.unit === e);
118
+ if (!r) return;
119
+ let i = r.options.find((e) => e.selected), a = Array.from(n.querySelectorAll("[data-value]"));
120
+ if (!a.length) return;
121
+ let o;
122
+ if (i) o = a.find((e) => e.dataset.value === String(i.value));
123
+ else if (e === "minute" && T.minute) {
124
+ let e = parseInt(T.minute, 10);
125
+ o = a.reduce((t, n) => {
126
+ let r = (t) => Math.abs(parseInt(t.dataset.value ?? "0", 10) - e);
127
+ return r(n) < r(t) ? n : t;
128
+ });
129
+ }
130
+ if (!o) {
131
+ B(n, 0, t);
132
+ return;
133
+ }
134
+ let s = o.offsetHeight || 1, c = o.offsetTop - n.offsetTop - n.clientHeight / 2 + o.offsetHeight / 2;
135
+ B(n, Math.round(c / s) * s, t);
136
+ }, H = (e = !1) => {
137
+ for (let t of F.value) V(t.unit, e);
138
+ };
139
+ p(() => d(() => H(!1))), _(() => [
140
+ T.hour,
141
+ T.minute,
142
+ T.second,
143
+ T.meridiem
144
+ ], () => d(() => H(!0)));
145
+ let U = [
146
+ 0,
147
+ 1,
148
+ 2,
149
+ 3
150
+ ].map((e) => n({
151
+ candidates: () => F.value[e]?.options ?? [],
152
+ getTokens: (e) => e.tokens,
153
+ getCurrent: () => F.value[e]?.options.find((e) => e.selected),
154
+ onMatch: (t) => W(F.value[e].unit, String(t.value)),
155
+ onCommit: (t) => R(F.value[e], t),
156
+ locale: () => "en"
157
+ }).onKeydown), W = (e, t) => {
158
+ let n = O[e]?.querySelector(`[data-value="${t}"]`);
159
+ n?.focus(), n?.scrollIntoView({ block: "nearest" });
160
+ }, G = (e, t) => {
161
+ if (t.key === "ArrowDown" || t.key === "ArrowUp") {
162
+ t.preventDefault();
163
+ let n = O[e.unit];
164
+ if (!n) return;
165
+ let r = Array.from(n.querySelectorAll("[data-value]")), i = document.activeElement, a = r.findIndex((e) => e === i), o = t.key === "ArrowDown" ? r[Math.min(a + 1, r.length - 1)] : r[Math.max(a - 1, 0)];
166
+ o?.focus(), o?.scrollIntoView({ block: "nearest" });
167
+ return;
168
+ }
169
+ let n = F.value.findIndex((t) => t.unit === e.unit);
170
+ U[n]?.(t);
171
+ };
172
+ return (t, n) => (m(), o("div", y, [s("div", {
173
+ "aria-hidden": "true",
174
+ class: f(["bb-time-selector__readout", { "bb-time-selector__readout--empty": L.value }])
175
+ }, g(I.value), 3), s("div", b, [(m(!0), o(r, null, h(F.value, (n) => (m(), o("div", {
176
+ key: n.unit,
177
+ "aria-label": n.ariaLabel,
178
+ class: f(["bb-time-selector__column", `bb-time-selector__column--${n.unit}`]),
179
+ role: "group",
180
+ onKeydown: (e) => G(n, e)
181
+ }, [s("div", S, g(n.header), 1), s("div", {
182
+ ref_for: !0,
183
+ ref: (e) => O[n.unit] = e,
184
+ class: "bb-time-selector__scroll",
185
+ "data-bb-no-drag": ""
186
+ }, [(m(!0), o(r, null, h(n.options, (r) => (m(), a(e, u({
187
+ key: r.value,
188
+ "aria-pressed": r.selected,
189
+ class: ["bb-time-selector__btn", { "bb-time-selector__btn--selected": r.selected }],
190
+ "data-value": r.value,
191
+ disabled: t.disabled,
192
+ onClick: (e) => R(n, r),
193
+ ref_for: !0
194
+ }, t.passthrough?.part?.("item", { selected: r.selected })), {
195
+ default: v(() => [c(g(r.text), 1)]),
196
+ _: 2
197
+ }, 1040, [
198
+ "aria-pressed",
199
+ "class",
200
+ "data-value",
201
+ "disabled",
202
+ "onClick"
203
+ ]))), 128))], 512)], 42, x))), 128))])]));
204
+ }
205
+ });
206
+ //#endregion
207
+ export { w as default };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * One column of the shared time rail (`CommonTimeSelector`): the unit a
3
+ * `select` / `time-pick` payload carries. Used by BbDatePicker, BbTimePicker
4
+ * and BbTimePickerInput.
5
+ */
6
+ export type TimeUnit = 'hour' | 'minute' | 'second' | 'meridiem';
@@ -1,174 +1,237 @@
1
- import { transitions as e } from "../../utilities/misc/transitions.js";
2
- import { useTouchRowLadder as t } from "../../composables/useSheetSurface.js";
3
- import n from "../BbIcon/BbIcon.vue.js";
4
- import { isNil as r } from "../../utilities/functions/isNil.js";
5
- import i from "../../assets/svgs/check_stroke.svg_raw.js";
6
- import { useLocale as a } from "../../composables/useLocale.js";
7
- import { hash as o } from "../../utilities/functions/hash.js";
1
+ import { isNil as e } from "../../utilities/functions/isNil.js";
2
+ import { transitions as t } from "../../utilities/misc/transitions.js";
3
+ import { useTouchRowLadder as n } from "../../composables/useSheetSurface.js";
4
+ import { useLocale as r } from "../../composables/useLocale.js";
5
+ import i from "../BbIcon/BbIcon.vue.js";
6
+ import ee from "../../assets/svgs/check_stroke.svg_raw.js";
7
+ import { hash as a } from "../../utilities/functions/hash.js";
8
+ import { listboxOptionFontSize as te, listboxOptionHeight as o } from "../../utilities/misc/listboxMetrics.js";
8
9
  import { isNotNil as s } from "../../utilities/functions/isNotNil.js";
9
10
  import { useListboxFocus as c } from "../../composables/useListboxFocus.js";
10
- import { listboxOptionFontSize as l, listboxOptionHeight as ee } from "../../utilities/misc/listboxMetrics.js";
11
- import { Fragment as u, computed as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, normalizeClass as _, normalizeStyle as v, openBlock as y, ref as b, renderList as x, renderSlot as S, toDisplayString as C, unref as w, useId as T, useTemplateRef as E, watch as D, withModifiers as O } from "vue";
12
- import { useVirtualizer as k } from "@tanstack/vue-virtual";
11
+ import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as ne, defineComponent as g, mergeProps as _, normalizeClass as v, normalizeStyle as y, openBlock as b, ref as x, renderList as S, renderSlot as C, toDisplayString as w, unref as T, useId as re, useSlots as ie, useTemplateRef as E, watch as D, withModifiers as O } from "vue";
12
+ import { useVirtualizer as ae } from "@tanstack/vue-virtual";
13
13
  //#region src/components/FlatListBox/FlatListBox.vue?vue&type=script&setup=true&lang.ts
14
- var A = { class: "bb-listbox__outer-container scrollbar-border" }, te = {
14
+ var oe = { class: "bb-listbox__outer-container scrollbar-border" }, se = {
15
15
  ref: "inner",
16
16
  class: "bb-listbox__inner-container",
17
17
  tabindex: "-1"
18
- }, ne = {
18
+ }, ce = {
19
19
  key: 0,
20
20
  class: "bb-listbox__loading"
21
- }, re = {
21
+ }, le = {
22
22
  key: 1,
23
23
  class: "bb-listbox__no-data"
24
- }, ie = [
24
+ }, ue = [
25
25
  "id",
26
26
  "aria-activedescendant",
27
27
  "aria-multiselectable"
28
- ], j = [
28
+ ], de = [
29
29
  "id",
30
+ "aria-describedby",
30
31
  "aria-disabled",
32
+ "aria-labelledby",
31
33
  "aria-posinset",
32
34
  "aria-selected",
33
35
  "aria-setsize",
34
36
  "data-index",
35
37
  "onMouseenter"
36
- ], M = { class: "bb-listbox__option-label" }, N = /*@__PURE__*/ g({
38
+ ], fe = {
39
+ key: 0,
40
+ class: "bb-listbox__option-content"
41
+ }, k = ["id"], A = ["id"], j = /*@__PURE__*/ g({
37
42
  __name: "FlatListBox",
38
43
  props: {
44
+ passthrough: {},
39
45
  id: {},
40
46
  compact: { type: Boolean },
41
47
  options: {},
42
48
  open: { type: Boolean },
43
49
  loading: { type: Boolean },
44
50
  multiple: { type: Boolean },
45
- transitionDuration: { default: e.medium },
51
+ transitionDuration: { default: t.medium },
46
52
  loadingText: {},
47
53
  noDataText: {},
48
- optionHeight: {}
54
+ optionHeight: {},
55
+ described: { type: Boolean }
49
56
  },
50
57
  emits: [
51
58
  "option:selected",
52
59
  "option:unselected",
53
60
  "focused:change"
54
61
  ],
55
- setup(e, { expose: g, emit: N }) {
56
- let P = e, F = N, { t: I } = a(), L = E("inner"), R = E("listbox"), { touch: z } = t(), B = d(() => P.optionHeight ? P.optionHeight : ee(z.value, !!P.compact)), V = d(() => l(z.value)), H = k({
62
+ setup(t, { expose: g, emit: j }) {
63
+ let M = t, N = j, P = ie(), { t: F } = r(), I = E("inner"), L = E("listbox"), { touch: R } = n(), z = u(() => M.optionHeight ? M.optionHeight : o(R.value, !!M.compact, !!M.described)), B = u(() => te(R.value)), V = ae({
57
64
  get count() {
58
- return P.options.length;
65
+ return M.options.length;
59
66
  },
60
- getScrollElement: () => L.value ?? null,
61
- estimateSize: () => B.value,
67
+ getScrollElement: () => I.value ?? null,
68
+ estimateSize: () => z.value,
62
69
  overscan: 5
63
- }), U = d(() => H.value.getVirtualItems()), W = d(() => H.value.getTotalSize()), G = d(() => P.options.map((e, t) => ({
70
+ }), pe = u(() => V.value.getVirtualItems()), me = u(() => V.value.getTotalSize()), H = u(() => M.options.map((e, t) => ({
64
71
  index: t,
65
72
  text: e.text,
73
+ description: e.description,
74
+ "prepend:icon": e["prepend:icon"],
75
+ "append:icon": e["append:icon"],
66
76
  value: e.value,
67
77
  valueHash: e.valueHash,
68
78
  item: e.item,
69
79
  selected: !!e.selected,
70
80
  disabled: !!e.disabled
71
- }))), K = T(), q = (e) => `${K}-listbox-option-${e}`, J = d(() => {
72
- if (r(X.value)) return;
73
- let e = G.value[X.value];
74
- if (e) return q(e.valueHash);
75
- }), Y = d(() => G.value.length > 0), { focusedIndex: X, focusNext: ae, focusPrevious: oe, focusFirst: se, focusLast: ce, focusFirstSelected: le, focusLastSelected: ue, focusByHash: de, focusByPointer: fe, blurPointerFocus: pe, blur: Z, getHighlighted: me } = c(() => P.options, { disabled: () => !P.open }), Q = b(!1);
76
- D(X, (e) => {
77
- L.value && s(e) && !Q.value && H.value.scrollToIndex(e, { align: "center" }), Q.value = !1, F("focused:change", J.value);
81
+ }))), he = re(), U = (e) => `${he}-listbox-option-${e}`, W = (e) => `${U(e)}__label`, G = (e) => `${U(e)}__description`, K = (e) => !!e && !P.option, q = u(() => {
82
+ if (e(Y.value)) return;
83
+ let t = H.value[Y.value];
84
+ if (t) return U(t.valueHash);
85
+ }), J = u(() => H.value.length > 0), { focusedIndex: Y, focusNext: ge, focusPrevious: _e, focusFirst: ve, focusLast: ye, focusFirstSelected: be, focusLastSelected: xe, focusByHash: Se, focusByPointer: Ce, blurPointerFocus: X, blur: Z, getHighlighted: we } = c(() => M.options, { disabled: () => !M.open }), Q = x(!1);
86
+ D(Y, (e) => {
87
+ I.value && s(e) && !Q.value && V.value.scrollToIndex(e, { align: "center" }), Q.value = !1, N("focused:change", q.value);
78
88
  });
79
- let he = (e) => {
80
- P.open && (Q.value = !0, fe(e));
81
- }, ge = () => {
82
- pe();
89
+ let Te = (e) => {
90
+ M.open && (Q.value = !0, Ce(e));
91
+ }, Ee = () => {
92
+ X();
83
93
  }, $ = () => {
84
- if (r(X.value) || !P.open) return;
85
- let e = G.value[X.value];
86
- e.disabled || (e.selected ? F("option:unselected", e) : F("option:selected", e));
87
- }, _e = (e) => {
88
- if (e.preventDefault(), L.value && e.target instanceof HTMLElement && R.value) {
89
- let t = e.target, n = t.dataset.index;
90
- for (; r(n) && t.parentElement;) t = t.parentElement, n = t.dataset.index;
91
- if (n) {
92
- let e = G.value[+n];
93
- e && !e.disabled && (X.value = +n, $());
94
+ if (e(Y.value) || !M.open) return;
95
+ let t = H.value[Y.value];
96
+ t.disabled || (t.selected ? N("option:unselected", t) : N("option:selected", t));
97
+ }, De = (t) => {
98
+ if (t.preventDefault(), I.value && t.target instanceof HTMLElement && L.value) {
99
+ let n = t.target, r = n.dataset.index;
100
+ for (; e(r) && n.parentElement;) n = n.parentElement, r = n.dataset.index;
101
+ if (r) {
102
+ let e = H.value[+r];
103
+ e && !e.disabled && (Y.value = +r, $());
94
104
  }
95
105
  }
96
106
  };
97
- return D(() => P.options, (e, t) => {
98
- o(e.map((e) => e.valueHash)) !== o(t.map((e) => e.valueHash)) && (H.value.measure(), Z());
99
- }, { flush: "post" }), D(B, () => {
100
- H.value.measure();
107
+ return D(() => M.options, (e, t) => {
108
+ a(e.map((e) => e.valueHash)) !== a(t.map((e) => e.valueHash)) && (V.value.measure(), Z());
109
+ }, { flush: "post" }), D(z, () => {
110
+ V.value.measure();
101
111
  }, { flush: "post" }), g({
102
- focusNext: ae,
103
- focusPrevious: oe,
104
- focusFirst: se,
105
- focusFirstSelected: le,
106
- focusLast: ce,
107
- focusLastSelected: ue,
112
+ focusNext: ge,
113
+ focusPrevious: _e,
114
+ focusFirst: ve,
115
+ focusFirstSelected: be,
116
+ focusLast: ye,
117
+ focusLastSelected: xe,
108
118
  blur: Z,
109
119
  confirmOption: $,
110
- focusByHash: de,
111
- getHighlighted: me,
112
- getActiveDescendantId: () => J.value
113
- }), (e, t) => (y(), f("span", {
114
- class: _(["bb-listbox", {
120
+ focusByHash: Se,
121
+ getHighlighted: we,
122
+ getActiveDescendantId: () => q.value
123
+ }), (e, t) => (b(), p("span", {
124
+ class: v(["bb-listbox", {
115
125
  "bb-listbox--compact": e.compact,
126
+ "bb-listbox--described": e.described,
116
127
  "bb-listbox--loading": e.loading,
117
128
  "bb-listbox--multiple": e.multiple,
118
- "bb-listbox--no-data": !Y.value,
129
+ "bb-listbox--no-data": !J.value,
119
130
  "bb-listbox--open": e.open
120
131
  }]),
121
- style: v({
132
+ style: y({
122
133
  "--transition-duration": `${e.transitionDuration}ms`,
123
- "--option-height": `${B.value}px`,
124
- "--option-font-size": V.value
134
+ "--option-height": `${z.value}px`,
135
+ "--option-font-size": B.value
125
136
  }),
126
- onClick: O(_e, ["stop"]),
127
- onMousedown: t[0] ||= O(() => {}, ["prevent"])
128
- }, [p("span", A, [p("span", te, [
129
- S(e.$slots, "options:prepend"),
130
- e.loading && !Y.value ? (y(), f("span", ne, [S(e.$slots, "loading", {}, () => [m(C(e.loadingText || w(I)("common.loadingText").value), 1)])])) : Y.value ? (y(), f("span", {
137
+ onClickCapture: De,
138
+ onClick: t[0] ||= O(() => {}, ["stop"]),
139
+ onMousedown: t[1] ||= O(() => {}, ["prevent"])
140
+ }, [m("span", oe, [m("span", se, [
141
+ C(e.$slots, "options:prepend"),
142
+ e.loading && !J.value ? (b(), p("span", ce, [C(e.$slots, "loading", {}, () => [h(w(e.loadingText || T(F)("common.loadingText").value), 1)])])) : J.value ? (b(), p("span", _({
131
143
  key: 2,
132
144
  id: e.id,
133
145
  ref: "listbox",
134
- "aria-activedescendant": J.value,
146
+ "aria-activedescendant": q.value,
135
147
  "aria-multiselectable": e.multiple ? !0 : void 0,
136
148
  role: "listbox",
137
- style: v({ height: `${W.value}px` }),
149
+ style: { height: `${me.value}px` },
138
150
  tabindex: "-1",
139
- onMouseleave: ge
140
- }, [(y(!0), f(u, null, x(U.value, (t) => (y(), f("span", {
141
- id: q(G.value[t.index].valueHash),
142
- key: G.value[t.index].valueHash,
143
- "aria-disabled": G.value[t.index].disabled ? !0 : void 0,
151
+ onMouseleave: Ee
152
+ }, e.passthrough?.list), [(b(!0), p(l, null, S(pe.value, (t) => (b(), p("span", _({
153
+ id: U(H.value[t.index].valueHash),
154
+ key: H.value[t.index].valueHash,
155
+ "aria-describedby": K(H.value[t.index].description) ? G(H.value[t.index].valueHash) : void 0,
156
+ "aria-disabled": H.value[t.index].disabled ? !0 : void 0,
157
+ "aria-labelledby": K(H.value[t.index].description) ? W(H.value[t.index].valueHash) : void 0,
144
158
  "aria-posinset": t.index + 1,
145
- "aria-selected": G.value[t.index].selected,
146
- "aria-setsize": P.options.length,
147
- class: _(["bb-listbox__option", {
148
- "bb-listbox__option--focused": w(X) === t.index,
149
- "bb-listbox__option--selected": G.value[t.index].selected,
150
- "bb-listbox__option--disabled": G.value[t.index].disabled
151
- }]),
159
+ "aria-selected": H.value[t.index].selected,
160
+ "aria-setsize": M.options.length,
161
+ class: ["bb-listbox__option", {
162
+ "bb-listbox__option--focused": T(Y) === t.index,
163
+ "bb-listbox__option--selected": H.value[t.index].selected,
164
+ "bb-listbox__option--disabled": H.value[t.index].disabled
165
+ }],
152
166
  "data-index": t.index,
153
167
  role: "option",
154
- style: v({ transform: `translateY(${t.start}px)` }),
155
- onMouseenter: O((e) => he(t.index), ["stop"])
156
- }, [S(e.$slots, "option", {
157
- disabled: G.value[t.index].disabled,
158
- focused: w(X) === t.index,
159
- index: t.index,
160
- item: G.value[t.index].item,
161
- selected: G.value[t.index].selected,
162
- text: G.value[t.index].text,
163
- value: G.value[t.index].value
164
- }, () => [p("span", M, C(G.value[t.index].text), 1), h(n, {
165
- "aria-hidden": "true",
166
- class: "bb-listbox__option-check",
167
- icon: w(i)
168
- }, null, 8, ["icon"])])], 46, j))), 128))], 44, ie)) : (y(), f("span", re, [S(e.$slots, "no-data", {}, () => [m(C(e.noDataText || w(I)("common.noDataText").value), 1)])])),
169
- S(e.$slots, "options:append")
168
+ style: { transform: `translateY(${t.start}px)` },
169
+ onMouseenter: O((e) => Te(t.index), ["stop"]),
170
+ ref_for: !0
171
+ }, e.passthrough?.part?.("option", {
172
+ selected: H.value[t.index].selected,
173
+ disabled: H.value[t.index].disabled || void 0
174
+ }, H.value[t.index].item)), [
175
+ H.value[t.index]["prepend:icon"] ? (b(), d(i, _({
176
+ key: 0,
177
+ "aria-hidden": "true",
178
+ class: "bb-listbox__option-prepend-icon",
179
+ icon: H.value[t.index]["prepend:icon"],
180
+ ref_for: !0
181
+ }, e.passthrough?.part?.("item-icon", {
182
+ selected: H.value[t.index].selected,
183
+ disabled: H.value[t.index].disabled || void 0
184
+ }, H.value[t.index].item)), null, 16, ["icon"])) : f("", !0),
185
+ C(e.$slots, "option", {
186
+ description: H.value[t.index].description,
187
+ disabled: H.value[t.index].disabled,
188
+ focused: T(Y) === t.index,
189
+ index: t.index,
190
+ item: H.value[t.index].item,
191
+ selected: H.value[t.index].selected,
192
+ text: H.value[t.index].text,
193
+ value: H.value[t.index].value
194
+ }, () => [H.value[t.index].description ? (b(), p("span", fe, [m("span", _({
195
+ id: W(H.value[t.index].valueHash),
196
+ class: "bb-listbox__option-label",
197
+ ref_for: !0
198
+ }, e.passthrough?.part?.("item-text", {
199
+ selected: H.value[t.index].selected,
200
+ disabled: H.value[t.index].disabled || void 0
201
+ }, H.value[t.index].item)), w(H.value[t.index].text), 17, k), m("span", _({
202
+ id: G(H.value[t.index].valueHash),
203
+ class: "bb-listbox__option-description",
204
+ ref_for: !0
205
+ }, e.passthrough?.part?.("item-description", {
206
+ selected: H.value[t.index].selected,
207
+ disabled: H.value[t.index].disabled || void 0
208
+ }, H.value[t.index].item)), w(H.value[t.index].description), 17, A)])) : (b(), p("span", _({
209
+ key: 1,
210
+ class: "bb-listbox__option-label",
211
+ ref_for: !0
212
+ }, e.passthrough?.part?.("item-text", {
213
+ selected: H.value[t.index].selected,
214
+ disabled: H.value[t.index].disabled || void 0
215
+ }, H.value[t.index].item)), w(H.value[t.index].text), 17))]),
216
+ H.value[t.index]["append:icon"] && !H.value[t.index].selected ? (b(), d(i, _({
217
+ key: 1,
218
+ "aria-hidden": "true",
219
+ class: "bb-listbox__option-append-icon",
220
+ icon: H.value[t.index]["append:icon"],
221
+ ref_for: !0
222
+ }, e.passthrough?.part?.("item-icon", {
223
+ selected: H.value[t.index].selected,
224
+ disabled: H.value[t.index].disabled || void 0
225
+ }, H.value[t.index].item)), null, 16, ["icon"])) : f("", !0),
226
+ ne(i, {
227
+ "aria-hidden": "true",
228
+ class: "bb-listbox__option-check",
229
+ icon: T(ee)
230
+ }, null, 8, ["icon"])
231
+ ], 16, de))), 128))], 16, ue)) : (b(), p("span", le, [C(e.$slots, "no-data", {}, () => [h(w(e.noDataText || T(F)("common.noDataText").value), 1)])])),
232
+ C(e.$slots, "options:append")
170
233
  ], 512)])], 38));
171
234
  }
172
235
  });
173
236
  //#endregion
174
- export { N as default };
237
+ export { j as default };
@@ -1,5 +1,12 @@
1
1
  import { Option } from '../../types/Option';
2
+ import { PtBindings } from '../../types/passthrough';
2
3
  export type FlatListBoxProps<Item = any> = {
4
+ /**
5
+ * Passthrough resolver handed down by the select popover: `list` is the
6
+ * `role="listbox"` node (bound whole); `option` is one option, resolved per
7
+ * node with its own `selected` / `disabled`. Internal.
8
+ */
9
+ passthrough?: PtBindings<'list' | 'option' | 'item-text' | 'item-icon' | 'item-description', 'selected' | 'disabled'>;
3
10
  /**
4
11
  * Id applied to the `role="listbox"` element itself (not the wrapper), so
5
12
  * a combobox's `aria-controls` reference resolves to the listbox role.
@@ -44,6 +51,12 @@ export type FlatListBoxProps<Item = any> = {
44
51
  * 44px / 36px on mobile viewports). An explicit value wins on every viewport.
45
52
  */
46
53
  optionHeight?: number;
54
+ /**
55
+ * Every row carries a one-line description under its label (the owner's
56
+ * `itemProps` declares a `description`). Rows get a fixed two-line height and the
57
+ * description ellipsizes; an explicit `optionHeight` still wins.
58
+ */
59
+ described?: boolean;
47
60
  };
48
61
  export type FlatListBoxEvents = {
49
62
  /**
@@ -78,6 +91,8 @@ export type FlatListBoxOptionSlotProps<Item = any> = {
78
91
  text: string;
79
92
  /** The resolved value for this option. */
80
93
  value: any;
94
+ /** The resolved `itemProps.description` for this option, when it has one. */
95
+ description: string | undefined;
81
96
  };
82
97
  export type FlatListBoxSlots<Item = any> = {
83
98
  /**