bitboss-ui 3.0.0-beta.2 → 3.0.0-beta.21

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 (350) hide show
  1. package/README.md +72 -33
  2. package/dist/ai/BbAccordion.md +3 -3
  3. package/dist/ai/BbAlert.md +9 -5
  4. package/dist/ai/BbAsterisk.md +17 -0
  5. package/dist/ai/BbAvatar.md +12 -3
  6. package/dist/ai/BbBadge.md +15 -10
  7. package/dist/ai/BbBadgeButton.md +16 -16
  8. package/dist/ai/BbBaseButton.md +16 -16
  9. package/dist/ai/BbBaseCheckbox.md +8 -8
  10. package/dist/ai/BbBaseCheckboxGroup.md +13 -13
  11. package/dist/ai/BbBaseCheckboxIcon.md +26 -9
  12. package/dist/ai/BbBaseColorInput.md +11 -11
  13. package/dist/ai/BbBaseDatePicker.md +6 -6
  14. package/dist/ai/BbBaseDatePickerInput.md +15 -15
  15. package/dist/ai/BbBaseInputContainer.md +12 -12
  16. package/dist/ai/BbBaseNumberInput.md +8 -8
  17. package/dist/ai/BbBaseRadio.md +5 -5
  18. package/dist/ai/BbBaseRadioGroup.md +7 -7
  19. package/dist/ai/BbBaseRadioIcon.md +25 -9
  20. package/dist/ai/BbBaseRating.md +5 -5
  21. package/dist/ai/BbBaseSelect.md +22 -21
  22. package/dist/ai/BbBaseSlider.md +9 -9
  23. package/dist/ai/BbBaseSwitch.md +8 -8
  24. package/dist/ai/BbBaseSwitchGroup.md +13 -13
  25. package/dist/ai/BbBaseSwitchIcon.md +28 -10
  26. package/dist/ai/BbBaseTag.md +10 -10
  27. package/dist/ai/BbBaseTextInput.md +9 -9
  28. package/dist/ai/BbBaseTextarea.md +9 -9
  29. package/dist/ai/BbBaseTimePickerInput.md +13 -13
  30. package/dist/ai/BbBreadcrumbs.md +2 -2
  31. package/dist/ai/BbButton.md +15 -15
  32. package/dist/ai/BbCheckbox.md +18 -17
  33. package/dist/ai/BbCheckboxGroup.md +15 -14
  34. package/dist/ai/BbCollapsible.md +11 -9
  35. package/dist/ai/BbColorInput.md +15 -15
  36. package/dist/ai/BbColorPalette.md +12 -6
  37. package/dist/ai/BbConfirm.md +12 -5
  38. package/dist/ai/BbDatePicker.md +13 -13
  39. package/dist/ai/BbDatePickerInput.md +20 -20
  40. package/dist/ai/BbDialog.md +78 -12
  41. package/dist/ai/BbDropdown.md +132 -22
  42. package/dist/ai/BbDropdownButton.md +12 -12
  43. package/dist/ai/BbDropdownGroup.md +1 -1
  44. package/dist/ai/BbDropzone.md +4 -4
  45. package/dist/ai/BbForm.md +49 -14
  46. package/dist/ai/BbIcon.md +6 -0
  47. package/dist/ai/BbIndicator.md +5 -5
  48. package/dist/ai/BbNumberInput.md +11 -11
  49. package/dist/ai/BbOffCanvas.md +90 -20
  50. package/dist/ai/BbPagination.md +3 -3
  51. package/dist/ai/BbPopover.md +32 -17
  52. package/dist/ai/BbProgress.md +7 -4
  53. package/dist/ai/BbRadio.md +16 -15
  54. package/dist/ai/BbRadioGroup.md +20 -17
  55. package/dist/ai/BbRating.md +11 -11
  56. package/dist/ai/BbSelect.md +138 -37
  57. package/dist/ai/BbSelectPopover.md +40 -41
  58. package/dist/ai/BbSlider.md +37 -22
  59. package/dist/ai/BbSmoothHeight.md +1 -1
  60. package/dist/ai/BbSwitch.md +25 -10
  61. package/dist/ai/BbSwitchGroup.md +17 -14
  62. package/dist/ai/BbTable.md +920 -109
  63. package/dist/ai/BbTabs.md +28 -14
  64. package/dist/ai/BbTabsList.md +1 -1
  65. package/dist/ai/BbTabsPanes.md +1 -1
  66. package/dist/ai/BbTabsRoot.md +10 -10
  67. package/dist/ai/BbTag.md +14 -14
  68. package/dist/ai/BbTextInput.md +16 -15
  69. package/dist/ai/BbTextarea.md +13 -13
  70. package/dist/ai/BbTimePicker.md +10 -10
  71. package/dist/ai/BbTimePickerInput.md +17 -17
  72. package/dist/ai/BbToast.md +1 -1
  73. package/dist/ai/BbToastPortal.md +1 -1
  74. package/dist/ai/BbTooltip.md +12 -10
  75. package/dist/ai/BbTree.md +1 -1
  76. package/dist/ai/ChipsBox.md +1 -1
  77. package/dist/ai/CommonInputWrapper.md +10 -10
  78. package/dist/ai/CommonPopover.md +6 -6
  79. package/dist/ai/FlatListBox.md +5 -5
  80. package/dist/ai/GroupedListBox.md +5 -5
  81. package/dist/ai/ListBox.md +4 -4
  82. package/dist/ai/OptionsContainer.md +4 -4
  83. package/dist/ai/changelog.json +128 -2
  84. package/dist/ai/components.json +917 -100
  85. package/dist/ai/composables/useBbConfig.md +72 -11
  86. package/dist/ai/composables/useConfirm.md +5 -3
  87. package/dist/ai/guides/ai-router.md +9 -4
  88. package/dist/ai/guides/component-picker.md +18 -18
  89. package/dist/ai/guides/design-language.md +14 -14
  90. package/dist/ai/guides/design-tokens.md +25 -18
  91. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  92. package/dist/ai/guides/icons-policy.md +11 -5
  93. package/dist/ai/guides/installation-and-plugin-setup.md +85 -23
  94. package/dist/ai/guides/migration/components/bb-checkbox-group.md +30 -0
  95. package/dist/ai/guides/migration/components/bb-checkbox.md +37 -3
  96. package/dist/ai/guides/migration/components/bb-collapsible.md +5 -5
  97. package/dist/ai/guides/migration/components/bb-dialog.md +62 -34
  98. package/dist/ai/guides/migration/components/bb-offcanvas.md +29 -13
  99. package/dist/ai/guides/migration/components/bb-rating.md +8 -2
  100. package/dist/ai/guides/migration/components/bb-select.md +5 -2
  101. package/dist/ai/guides/migration/components/bb-table.md +560 -28
  102. package/dist/ai/guides/migration/components/bb-text-input.md +6 -6
  103. package/dist/ai/guides/migration/v2-to-v3.md +260 -89
  104. package/dist/ai/guides/ssr-prefill.md +120 -0
  105. package/dist/ai/index.md +10 -9
  106. package/dist/ai/recipes/inertia/approvals-inbox.md +0 -1
  107. package/dist/ai/recipes/inertia/inline-edit-workspace.md +0 -1
  108. package/dist/ai/recipes/inertia/layout-scaffold.md +5 -1
  109. package/dist/ai/recipes/inertia/ownership-atlas.md +49 -29
  110. package/dist/ai/recipes/inertia/record-form.md +0 -1
  111. package/dist/ai/recipes/inertia/records-workspace.md +26 -8
  112. package/dist/ai/recipes/inertia/upload-center.md +0 -1
  113. package/dist/ai/recipes/nuxt/approvals-inbox.md +0 -1
  114. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +0 -1
  115. package/dist/ai/recipes/nuxt/layout-scaffold.md +5 -1
  116. package/dist/ai/recipes/nuxt/record-form.md +0 -1
  117. package/dist/ai/recipes/nuxt/records-workspace.md +26 -8
  118. package/dist/ai/recipes/nuxt/upload-center.md +0 -1
  119. package/dist/ai/recipes/vue/approvals-inbox.md +0 -1
  120. package/dist/ai/recipes/vue/inline-edit-workspace.md +0 -1
  121. package/dist/ai/recipes/vue/layout-scaffold.md +5 -1
  122. package/dist/ai/recipes/vue/records-workspace.md +26 -8
  123. package/dist/ai/recipes/vue/upload-center.md +0 -1
  124. package/dist/ai/source/BbAlert.md +60 -2
  125. package/dist/ai/source/BbAvatar.md +3 -3
  126. package/dist/ai/source/BbBadge.md +60 -15
  127. package/dist/ai/source/BbBadgeButton.md +8 -2
  128. package/dist/ai/source/BbBaseButton.md +3 -1
  129. package/dist/ai/source/BbBaseCheckboxGroup.md +6 -2
  130. package/dist/ai/source/BbBaseDatePicker.md +3 -1
  131. package/dist/ai/source/BbBaseDatePickerInput.md +5 -1
  132. package/dist/ai/source/BbBaseInputContainer.md +52 -1
  133. package/dist/ai/source/BbBaseRadioGroup.md +4 -0
  134. package/dist/ai/source/BbBaseRating.md +3 -1
  135. package/dist/ai/source/BbBaseSelect.md +71 -16
  136. package/dist/ai/source/BbBaseSwitchGroup.md +4 -0
  137. package/dist/ai/source/BbBaseTimePickerInput.md +5 -1
  138. package/dist/ai/source/BbBreadcrumbs.md +31 -0
  139. package/dist/ai/source/BbButton.md +51 -24
  140. package/dist/ai/source/BbCheckbox.md +15 -1
  141. package/dist/ai/source/BbCheckboxGroup.md +2 -1
  142. package/dist/ai/source/BbCollapsible.md +7 -1
  143. package/dist/ai/source/BbColorInput.md +3 -4
  144. package/dist/ai/source/BbColorPalette.md +3 -4
  145. package/dist/ai/source/BbDatePicker.md +5 -1
  146. package/dist/ai/source/BbDatePickerInput.md +5 -1
  147. package/dist/ai/source/BbDialog.md +175 -19
  148. package/dist/ai/source/BbDropdown.md +376 -69
  149. package/dist/ai/source/BbDropdownGroup.md +330 -59
  150. package/dist/ai/source/BbForm.md +93 -5
  151. package/dist/ai/source/BbIcon.md +46 -36
  152. package/dist/ai/source/BbNumberInput.md +3 -4
  153. package/dist/ai/source/BbOffCanvas.md +474 -194
  154. package/dist/ai/source/BbPopover.md +24 -17
  155. package/dist/ai/source/BbProgress.md +2 -2
  156. package/dist/ai/source/BbRadio.md +15 -1
  157. package/dist/ai/source/BbRadioGroup.md +3 -1
  158. package/dist/ai/source/BbSelect.md +50 -2
  159. package/dist/ai/source/BbSelectPopover.md +171 -23
  160. package/dist/ai/source/BbSlider.md +3 -4
  161. package/dist/ai/source/BbSwitch.md +15 -1
  162. package/dist/ai/source/BbSwitchGroup.md +8 -5
  163. package/dist/ai/source/BbTable.md +5092 -1446
  164. package/dist/ai/source/BbTabs.md +6 -7
  165. package/dist/ai/source/BbTabsList.md +6 -7
  166. package/dist/ai/source/BbTabsPanes.md +6 -7
  167. package/dist/ai/source/BbTabsRoot.md +6 -7
  168. package/dist/ai/source/BbTag.md +3 -4
  169. package/dist/ai/source/BbTextInput.md +3 -4
  170. package/dist/ai/source/BbTextarea.md +3 -4
  171. package/dist/ai/source/BbTimePicker.md +4 -1
  172. package/dist/ai/source/BbTimePickerInput.md +5 -1
  173. package/dist/ai/source/BbToast.md +3 -1
  174. package/dist/ai/source/BbTooltip.md +5 -1
  175. package/dist/ai/source/CommonInputWrapper.md +4 -0
  176. package/dist/ai/source/CommonPopover.md +6 -0
  177. package/dist/ai/source/FlatListBox.md +11 -5
  178. package/dist/ai/source/GroupedListBox.md +7 -5
  179. package/dist/components/BbAlert/BbAlert.vue_vue_type_script_setup_true_lang.js +4 -4
  180. package/dist/components/BbAlert/types.d.ts +10 -1
  181. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +1 -1
  182. package/dist/components/BbAvatar/BbAvatar.vue_vue_type_script_setup_true_lang.js +33 -33
  183. package/dist/components/BbBadge/BadgeBodyContent.vue_vue_type_script_setup_true_lang.js +22 -16
  184. package/dist/components/BbBadge/BbBadge.vue_vue_type_script_setup_true_lang.js +36 -15
  185. package/dist/components/BbBadge/badgeButtonContext.d.ts +21 -8
  186. package/dist/components/BbBadge/types.d.ts +8 -2
  187. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +47 -47
  188. package/dist/components/BbBaseButton/RouterComponent.vue_vue_type_script_setup_true_lang.js +14 -14
  189. package/dist/components/BbBaseCheckboxGroup/BbBaseCheckboxGroup.vue_vue_type_script_setup_true_lang.js +30 -28
  190. package/dist/components/BbBaseCheckboxGroup/types.d.ts +2 -2
  191. package/dist/components/BbBaseDatePicker/BbBaseDatePicker.vue_vue_type_script_setup_true_lang.js +167 -167
  192. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue.d.ts +9 -9
  193. package/dist/components/BbBaseDatePicker/BbBaseDatePickerInputDaySelector.vue_vue_type_script_setup_true_lang.js +78 -78
  194. package/dist/components/BbBaseDatePicker/BbBaseDatePickerMonthSelector.vue_vue_type_script_setup_true_lang.js +64 -64
  195. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue.d.ts +1 -1
  196. package/dist/components/BbBaseDatePickerInput/BbBaseDatePickerInput.vue_vue_type_script_setup_true_lang.js +138 -138
  197. package/dist/components/BbBaseInputContainer/BbBaseInputContainer.vue_vue_type_script_setup_true_lang.js +2 -2
  198. package/dist/components/BbBaseRadioGroup/BbBaseRadioGroup.vue_vue_type_script_setup_true_lang.js +24 -22
  199. package/dist/components/BbBaseRating/BbBaseRating.vue_vue_type_script_setup_true_lang.js +40 -40
  200. package/dist/components/BbBaseSelect/BbBaseSelect.vue_vue_type_script_setup_true_lang.js +74 -65
  201. package/dist/components/BbBaseSelect/types.d.ts +22 -0
  202. package/dist/components/BbBaseSlider/BbBaseSlider.vue_vue_type_script_setup_true_lang.js +5 -5
  203. package/dist/components/BbBaseSwitchGroup/BbBaseSwitchGroup.vue_vue_type_script_setup_true_lang.js +30 -28
  204. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue.d.ts +1 -1
  205. package/dist/components/BbBaseTimePickerInput/BbBaseTimePickerInput.vue_vue_type_script_setup_true_lang.js +104 -104
  206. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +35 -35
  207. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +85 -81
  208. package/dist/components/BbCheckboxGroup/types.d.ts +2 -1
  209. package/dist/components/BbCollapsible/types.d.ts +7 -1
  210. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +1 -1
  211. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +18 -18
  212. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +2 -2
  213. package/dist/components/BbColorPalette/BbColorPalette.vue_vue_type_script_setup_true_lang.js +50 -50
  214. package/dist/components/BbConfirm/BbConfirm.vue_vue_type_script_setup_true_lang.js +17 -17
  215. package/dist/components/BbDatePicker/BbDatePicker.vue.d.ts +1 -1
  216. package/dist/components/BbDatePicker/BbDatePicker.vue_vue_type_script_setup_true_lang.js +100 -100
  217. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +21 -21
  218. package/dist/components/BbDialog/BbDialog.vue.d.ts +1 -1
  219. package/dist/components/BbDialog/BbDialog.vue_vue_type_script_setup_true_lang.js +133 -107
  220. package/dist/components/BbDialog/types.d.ts +29 -2
  221. package/dist/components/BbDropdown/AdaptiveDropdown.vue.d.ts +2 -0
  222. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +99 -100
  223. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +2 -2
  224. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +208 -201
  225. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +225 -208
  226. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +21 -21
  227. package/dist/components/BbDropdown/types.d.ts +20 -5
  228. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +5 -5
  229. package/dist/components/BbIcon/BbIcon.vue_vue_type_script_setup_true_lang.js +46 -46
  230. package/dist/components/BbIcon/iconCache.d.ts +33 -0
  231. package/dist/components/BbIcon/iconCache.js +17 -0
  232. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +1 -1
  233. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +15 -15
  234. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +1 -1
  235. package/dist/components/BbOffCanvas/BbOffCanvas.vue_vue_type_script_setup_true_lang.js +254 -208
  236. package/dist/components/BbOffCanvas/types.d.ts +30 -5
  237. package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
  238. package/dist/components/BbPopover/BbPopover.vue.d.ts +2 -2
  239. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +149 -146
  240. package/dist/components/BbPopover/types.d.ts +3 -2
  241. package/dist/components/BbRadioGroup/types.d.ts +3 -1
  242. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +27 -23
  243. package/dist/components/BbSelect/types.d.ts +32 -0
  244. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +221 -213
  245. package/dist/components/BbSlider/BbSlider.vue.d.ts +1 -1
  246. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +20 -20
  247. package/dist/components/BbTable/BbTable.vue.d.ts +10 -4
  248. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +1433 -600
  249. package/dist/components/BbTable/BbTableDataRow.d.ts +162 -0
  250. package/dist/components/BbTable/BbTableDataRow.js +136 -0
  251. package/dist/components/BbTable/BbTableExpandRow.d.ts +73 -0
  252. package/dist/components/BbTable/BbTableExpandRow.js +52 -0
  253. package/dist/components/BbTable/types.d.ts +324 -111
  254. package/dist/components/BbTable/utils.d.ts +92 -4
  255. package/dist/components/BbTable/utils.js +71 -36
  256. package/dist/components/BbTabs/types.d.ts +0 -8
  257. package/dist/components/BbTag/BbTag.vue.d.ts +1 -1
  258. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +18 -18
  259. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +1 -1
  260. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +18 -18
  261. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +1 -1
  262. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +54 -54
  263. package/dist/components/BbTimePicker/BbTimePicker.vue.d.ts +1 -1
  264. package/dist/components/BbTimePicker/BbTimePicker.vue_vue_type_script_setup_true_lang.js +80 -80
  265. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +61 -61
  266. package/dist/components/BbToast/BbToast.vue_vue_type_script_setup_true_lang.js +17 -17
  267. package/dist/components/BbToast/BbToastMessage.vue_vue_type_script_setup_true_lang.js +13 -13
  268. package/dist/components/BbTooltip/types.d.ts +5 -1
  269. package/dist/components/ChipsBox/ChipsBox.vue_vue_type_script_setup_true_lang.js +17 -17
  270. package/dist/components/ClearableButton/ClearableButton.vue_vue_type_script_setup_true_lang.js +5 -5
  271. package/dist/components/CommonPopover/CommonPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  272. package/dist/components/FlatListBox/FlatListBox.vue_vue_type_script_setup_true_lang.js +83 -83
  273. package/dist/components/GroupedListBox/GroupedListBox.vue_vue_type_script_setup_true_lang.js +56 -56
  274. package/dist/composables/useBaseOptions.js +30 -20
  275. package/dist/composables/useBbConfig.d.ts +27 -6
  276. package/dist/composables/useBbConfig.js +8 -2
  277. package/dist/composables/useConfig.d.ts +59 -0
  278. package/dist/composables/useConfig.js +9 -0
  279. package/dist/composables/useItemsGetter.d.ts +11 -0
  280. package/dist/composables/useItemsGetter.js +44 -18
  281. package/dist/composables/useLocale.js +10 -7
  282. package/dist/composables/useMobile.js +5 -5
  283. package/dist/composables/usePrefill.d.ts +21 -2
  284. package/dist/composables/usePrefill.js +25 -19
  285. package/dist/composables/useSsrState.d.ts +20 -0
  286. package/dist/composables/useSsrState.js +13 -0
  287. package/dist/composables/useTableWidthContext.d.ts +24 -4
  288. package/dist/composables/useTableWidthContext.js +31 -28
  289. package/dist/composables/useToast.js +5 -5
  290. package/dist/deprecation/ai-deprecations.json.d.ts +121 -11
  291. package/dist/deprecation/ai-deprecations.json.js +1 -1
  292. package/dist/directives/bbDropdown.d.ts +15 -4
  293. package/dist/directives/bbDropdown.js +31 -9
  294. package/dist/directives/createPopoverDirective.d.ts +62 -0
  295. package/dist/directives/createPopoverDirective.js +63 -23
  296. package/dist/i18n/locales/cs.json +4 -1
  297. package/dist/i18n/locales/da.json +4 -1
  298. package/dist/i18n/locales/de.json +4 -1
  299. package/dist/i18n/locales/el.json +4 -1
  300. package/dist/i18n/locales/en.json +4 -1
  301. package/dist/i18n/locales/es.json +4 -1
  302. package/dist/i18n/locales/fi.json +4 -1
  303. package/dist/i18n/locales/fr.json +4 -1
  304. package/dist/i18n/locales/hu.json +4 -1
  305. package/dist/i18n/locales/it.json +4 -1
  306. package/dist/i18n/locales/ja.json +4 -1
  307. package/dist/i18n/locales/ko.json +4 -1
  308. package/dist/i18n/locales/nb.json +4 -1
  309. package/dist/i18n/locales/nl.json +4 -1
  310. package/dist/i18n/locales/pl.json +4 -1
  311. package/dist/i18n/locales/pt.json +4 -1
  312. package/dist/i18n/locales/ro.json +4 -1
  313. package/dist/i18n/locales/ru.json +4 -1
  314. package/dist/i18n/locales/sv.json +4 -1
  315. package/dist/i18n/locales/tr.json +4 -1
  316. package/dist/i18n/locales/uk.json +4 -1
  317. package/dist/i18n/locales/zh-cn.json +4 -1
  318. package/dist/index.d.ts +7 -2
  319. package/dist/index.js +69 -67
  320. package/dist/llms-full.txt +3997 -1458
  321. package/dist/llms-medium.txt +140 -73
  322. package/dist/llms.txt +7 -6
  323. package/dist/locale-blueprint.json +4 -1
  324. package/dist/nuxt-auto-imports.d.ts +100 -0
  325. package/dist/nuxt-auto-imports.js +55 -0
  326. package/dist/nuxt-module.d.ts +22 -1
  327. package/dist/nuxt.js +22 -8
  328. package/dist/plugin.d.ts +10 -1
  329. package/dist/plugin.js +20 -19
  330. package/dist/runtime/nuxt-plugin.js +28 -21
  331. package/dist/styles.css +1 -1
  332. package/dist/utilities/misc/listboxMetrics.d.ts +3 -3
  333. package/dist/utilities/misc/listboxMetrics.js +2 -2
  334. package/dist/utilities/misc/ssrStateInjectionKey.d.ts +42 -0
  335. package/dist/utilities/misc/ssrStateInjectionKey.js +4 -0
  336. package/dist/validated/BbForm.vue_vue_type_script_setup_true_lang.js +45 -27
  337. package/dist/validated/BbSelect.vue.d.ts +2 -0
  338. package/dist/validated/BbSelect.vue_vue_type_script_setup_true_lang.js +1 -0
  339. package/dist/validated/useValidatedField.js +25 -23
  340. package/dist/vite.js +7 -3
  341. package/llms.txt +8 -7
  342. package/package.json +2 -2
  343. package/scripts/lib/eslint-plugin.d.ts +19 -1
  344. package/scripts/lib/eslint-plugin.mjs +155 -14
  345. package/scripts/lib/html-attributes.mjs +91 -0
  346. package/scripts/lib/validate-bb-markup.mjs +59 -11
  347. package/dist/assets/svgs/sort.svg_raw.js +0 -4
  348. package/dist/components/BbBadge/BadgeAppendIcon.vue.d.ts +0 -3
  349. package/dist/components/BbBadge/BadgeAppendIcon.vue.js +0 -5
  350. package/dist/components/BbBadge/BadgeAppendIcon.vue_vue_type_script_setup_true_lang.js +0 -22
@@ -1,50 +1,50 @@
1
- import { useId as e } from "../../composables/useId.js";
2
- import { useUntil as t } from "../../composables/useUntil.js";
3
- import { removedPropsFor as n } from "../../deprecation/removedProps.js";
4
- import { useLogger as r } from "../../composables/useLogger.js";
5
- import { warnRemovedAttrs as i } from "../../utilities/functions/warnRemovedAttrs.js";
6
- import { extractDomContainer as a } from "../../utilities/functions/extractDomContainer.js";
7
- import { transitions as o } from "../../utilities/misc/transitions.js";
8
- import ee from "../CommonPopover/CommonPopover.vue.js";
9
- import { parseWidthString as s } from "../../utilities/functions/parseWidthString.js";
10
- import { isTopEscapeEntry as te, pushEscapeEntry as ne, removeEscapeEntry as re } from "../../utils/overlayEscapeStack.js";
11
- import { useBbDropdownContextHost as ie } from "../../composables/useBbDropdownContext.js";
12
- import { useMobile as ae } from "../../composables/useMobile.js";
13
- import { provideSheetSurface as oe } from "../../composables/useSheetSurface.js";
14
- import { useClosingInert as se } from "../../composables/useClosingInert.js";
15
- import { wait as ce } from "../../utilities/functions/wait.js";
16
- import { groupItemsAsArray as c, isGroup as l } from "./types.js";
1
+ import { useConfig as e } from "../../composables/useConfig.js";
2
+ import { useId as t } from "../../composables/useId.js";
3
+ import { useUntil as n } from "../../composables/useUntil.js";
4
+ import { removedPropsFor as r } from "../../deprecation/removedProps.js";
5
+ import { useLogger as i } from "../../composables/useLogger.js";
6
+ import { warnRemovedAttrs as a } from "../../utilities/functions/warnRemovedAttrs.js";
7
+ import { extractDomContainer as o } from "../../utilities/functions/extractDomContainer.js";
8
+ import { transitions as ee } from "../../utilities/misc/transitions.js";
9
+ import s from "../CommonPopover/CommonPopover.vue.js";
10
+ import { parseWidthString as te } from "../../utilities/functions/parseWidthString.js";
11
+ import { isTopEscapeEntry as ne, pushEscapeEntry as re, removeEscapeEntry as ie } from "../../utils/overlayEscapeStack.js";
12
+ import { useBbDropdownContextHost as ae } from "../../composables/useBbDropdownContext.js";
13
+ import { useMobile as oe } from "../../composables/useMobile.js";
14
+ import { provideSheetSurface as se } from "../../composables/useSheetSurface.js";
15
+ import { useClosingInert as ce } from "../../composables/useClosingInert.js";
16
+ import { wait as c } from "../../utilities/functions/wait.js";
17
+ import { groupItemsAsArray as l, isGroup as u } from "./types.js";
17
18
  import { levelHasSearch as le, normalizeGroups as ue } from "./normalizeGroups.js";
18
19
  import { provideDropdownContext as de } from "./useDropdownContext.js";
19
20
  import fe from "./BbDropdownList.vue.js";
20
- import pe from "./AdaptiveDropdown.vue.js";
21
- import { hash as me } from "../../utilities/functions/hash.js";
21
+ import { hash as pe } from "../../utilities/functions/hash.js";
22
+ import me from "./AdaptiveDropdown.vue.js";
22
23
  import { provideDropdownGroupRegistry as he } from "./useDropdownGroupRegistry.js";
23
24
  import ge from "./DropdownPipelineResolver.vue.js";
24
- import { config as _e } from "virtual:bitboss-ui/config";
25
- import { Fragment as ve, computed as u, createBlock as d, createCommentVNode as ye, createElementBlock as f, createElementVNode as be, createVNode as xe, defineComponent as Se, mergeProps as Ce, normalizeProps as we, normalizeStyle as Te, onBeforeUnmount as Ee, openBlock as p, reactive as m, ref as h, renderList as De, renderSlot as g, toDisplayString as Oe, unref as _, useSlots as ke, useTemplateRef as Ae, watch as v, withCtx as je } from "vue";
26
- import { useElementSize as Me, useIntersectionObserver as Ne } from "@vueuse/core";
25
+ import { Fragment as _e, computed as d, createBlock as ve, createCommentVNode as ye, createElementBlock as f, createElementVNode as be, createVNode as xe, defineComponent as Se, mergeProps as Ce, normalizeClass as we, normalizeProps as Te, normalizeStyle as Ee, onBeforeUnmount as De, openBlock as p, reactive as m, ref as h, renderList as Oe, renderSlot as g, toDisplayString as ke, unref as _, useSlots as Ae, useTemplateRef as je, watch as v, withCtx as Me } from "vue";
26
+ import { useElementSize as Ne, useIntersectionObserver as Pe } from "@vueuse/core";
27
27
  //#region src/components/BbDropdown/BbDropdown.vue?vue&type=script&setup=true&lang.ts
28
- var Pe = [
28
+ var Fe = [
29
29
  "id",
30
30
  "aria-labelledby",
31
31
  "data-bb-dropdown-surface",
32
32
  "inert",
33
33
  "role"
34
- ], Fe = {
34
+ ], Ie = {
35
35
  key: 0,
36
36
  class: "bb-dropdown__header"
37
- }, Ie = [
37
+ }, Le = [
38
38
  "id",
39
39
  "aria-labelledby",
40
40
  "role"
41
- ], Le = {
41
+ ], Re = {
42
42
  class: "sr-only",
43
43
  role: "status"
44
- }, Re = {
44
+ }, ze = {
45
45
  key: 1,
46
46
  class: "bb-dropdown__footer"
47
- }, ze = "bb-dropdown:open", Be = 500, Ve = 10, y = /*@__PURE__*/ Se({
47
+ }, Be = "bb-dropdown:open", Ve = 500, He = 10, y = /*@__PURE__*/ Se({
48
48
  inheritAttrs: !1,
49
49
  __name: "BbDropdown",
50
50
  props: {
@@ -53,6 +53,7 @@ var Pe = [
53
53
  type: Boolean,
54
54
  default: void 0
55
55
  },
56
+ compact: { type: Boolean },
56
57
  anchor: {},
57
58
  boundary: {},
58
59
  disabled: { type: Boolean },
@@ -67,34 +68,35 @@ var Pe = [
67
68
  padding: { default: 10 },
68
69
  placement: { default: "bottom" },
69
70
  queryDebounceTime: { default: 300 },
70
- transitionDuration: { default: o.fast },
71
+ transitionDuration: { default: ee.fast },
71
72
  trigger: { default: "click" },
72
73
  width: { default: "auto" }
73
74
  },
74
75
  emits: ["item:selected", "item:unselected"],
75
- setup(o, { emit: Se }) {
76
- let y = o, He = Se;
77
- process.env.NODE_ENV !== "production" && i("BbDropdown", n("BbDropdown"));
78
- let Ue = r(), b = y.id ?? `bb_${e().id.value}`, We = Symbol("bb-dropdown-escape"), x = h(b), S = h(), Ge = u(() => a(S.value)), Ke = u(() => y.activator != null), C = h(!1), qe = t(C, { initialValue: y.eager }), Je = se(C, () => y.transitionDuration), w = m({}), Ye = m(/* @__PURE__ */ new Set()), { isMobile: Xe } = ae(), Ze = () => (y.adaptive ?? _e.adaptive) && Xe.value ? "canvas" : "popover", Qe = h(Ze()), T = u(() => Qe.value === "canvas");
76
+ setup(ee, { emit: Se }) {
77
+ let y = ee, Ue = Se, We = e();
78
+ process.env.NODE_ENV !== "production" && a("BbDropdown", r("BbDropdown"));
79
+ let Ge = i(), b = y.id ?? `bb_${t().id.value}`, x = Symbol("bb-dropdown-escape"), S = h(b), C = h(), Ke = d(() => o(C.value)), qe = d(() => y.activator != null), w = h(!1), Je = n(w, { initialValue: y.eager }), Ye = ce(w, () => y.transitionDuration), T = m({}), Xe = m(/* @__PURE__ */ new Set()), { isMobile: Ze } = oe(), Qe = () => (y.adaptive ?? We.adaptive) && Ze.value ? "canvas" : "popover", $e = h(Qe()), E = d(() => $e.value === "canvas");
79
80
  v([
80
81
  () => y.adaptive,
81
- Xe,
82
- C
82
+ Ze,
83
+ w
83
84
  ], () => {
84
- C.value || (Qe.value = Ze());
85
- }), oe(T);
86
- let $e = u(() => ({
85
+ w.value || ($e.value = Qe());
86
+ }), se(E);
87
+ let et = d(() => ({
87
88
  side: "bottom",
88
89
  size: "auto",
89
90
  draggable: !0,
90
91
  eager: y.eager,
91
92
  disabled: y.disabled,
92
93
  transitionDuration: y.transitionDuration,
94
+ hideClose: !0,
93
95
  ...y.offCanvasProps
94
- })), et = u(() => {
96
+ })), tt = d(() => {
95
97
  let e = y.trigger;
96
98
  return new Set(Array.isArray(e) ? e : [e]);
97
- }), E = (e, t) => ({ getBoundingClientRect: () => ({
99
+ }), nt = (e, t) => ({ getBoundingClientRect: () => ({
98
100
  x: e,
99
101
  y: t,
100
102
  width: 0,
@@ -106,23 +108,23 @@ var Pe = [
106
108
  toJSON() {
107
109
  return this;
108
110
  }
109
- }) }), D = h(null), tt = u(() => y.anchor ?? S.value), nt = u(() => a(tt.value)), rt = u(() => y.placement === "cursor" && D.value ? D.value : tt.value), it = (e) => {
110
- let t = a(e);
111
- t && (S.value = t);
112
- }, at = !1, { resume: ot, pause: st } = Ne(Ge, async ([{ intersectionRatio: e }]) => {
113
- if (at) {
114
- at = !1;
111
+ }) }), D = h(null), rt = d(() => y.anchor ?? C.value), it = d(() => o(rt.value)), at = d(() => y.placement === "cursor" && D.value ? D.value : rt.value), ot = (e) => {
112
+ let t = o(e);
113
+ t && (C.value = t);
114
+ }, st = !1, { resume: ct, pause: lt } = Pe(Ke, async ([{ intersectionRatio: e }]) => {
115
+ if (st) {
116
+ st = !1;
115
117
  return;
116
118
  }
117
- e !== 1 && C.value && await Q();
119
+ e !== 1 && w.value && await Q();
118
120
  }, {
119
121
  threshold: [0, 1],
120
122
  immediate: !1
121
- }), O = m({}), ct = m(/* @__PURE__ */ new Map()), k = m(/* @__PURE__ */ new Map()), A = (e, t) => {
123
+ }), O = m({}), ut = m(/* @__PURE__ */ new Map()), k = m(/* @__PURE__ */ new Map()), A = (e, t) => {
122
124
  for (let n of e) {
123
- if (l(n)) {
125
+ if (u(n)) {
124
126
  if (n.key === t) return n;
125
- for (let e of c(n.items)) {
127
+ for (let e of l(n.items)) {
126
128
  let n = Array.isArray(e) ? e : [e];
127
129
  for (let e of n) {
128
130
  let n = e.items ? A(e.items, t) : void 0;
@@ -146,9 +148,9 @@ var Pe = [
146
148
  if (e) return e;
147
149
  continue;
148
150
  }
149
- if (l(n)) {
151
+ if (u(n)) {
150
152
  if (n.key === t) return "group";
151
- for (let e of c(n.items)) {
153
+ for (let e of l(n.items)) {
152
154
  let n = Array.isArray(e) ? e : [e];
153
155
  for (let e of n) {
154
156
  if (e.key === t) return "item";
@@ -166,7 +168,7 @@ var Pe = [
166
168
  if (e) return e;
167
169
  }
168
170
  }
169
- }, lt = u(() => Array.from(ct.values()).map((e) => e.value).sort((e, t) => e.order - t.order)), ut = (e, t) => ({
171
+ }, dt = d(() => Array.from(ut.values()).map((e) => e.value).sort((e, t) => e.order - t.order)), ft = (e, t) => ({
170
172
  ...e,
171
173
  group: !0,
172
174
  key: e.key,
@@ -179,7 +181,7 @@ var Pe = [
179
181
  "append:icon": t["append:icon"] ?? e["append:icon"],
180
182
  variant: t.variant ?? e.variant,
181
183
  onClick: t.onClick ?? e.onClick
182
- }), dt = (e, t) => ({
184
+ }), pt = (e, t) => ({
183
185
  group: !0,
184
186
  key: e.key,
185
187
  label: e.label ?? t?.label,
@@ -191,10 +193,10 @@ var Pe = [
191
193
  "append:icon": e["append:icon"] ?? t?.["append:icon"],
192
194
  variant: e.variant ?? t?.variant,
193
195
  onClick: e.onClick ?? t?.onClick
194
- }), ft = (e, t) => {
196
+ }), M = (e, t) => {
195
197
  let n = !1, r = (e) => {
196
198
  if (!e.items) return e;
197
- let r = ft(e.items, t);
199
+ let r = M(e.items, t);
198
200
  return r.found ? (n = !0, {
199
201
  ...e,
200
202
  items: r.items
@@ -202,42 +204,42 @@ var Pe = [
202
204
  };
203
205
  return {
204
206
  items: e.map((e) => {
205
- if (l(e)) {
206
- if (e.key === t.key) return n = !0, ut(e, t);
207
+ if (u(e)) {
208
+ if (e.key === t.key) return n = !0, ft(e, t);
207
209
  if (typeof e.items == "function") return e;
208
- let i = c(e.items).map((e) => Array.isArray(e) ? e.map((e) => r(e)) : r(e));
210
+ let i = l(e.items).map((e) => Array.isArray(e) ? e.map((e) => r(e)) : r(e));
209
211
  return {
210
212
  ...e,
211
213
  items: i
212
214
  };
213
215
  }
214
216
  if (Array.isArray(e)) {
215
- let r = ft(e, t);
217
+ let r = M(e, t);
216
218
  return r.found && (n = !0), r.items;
217
219
  }
218
220
  return r(e);
219
221
  }),
220
222
  found: n
221
223
  };
222
- }, M = u(() => {
224
+ }, N = d(() => {
223
225
  let e = [...y.items ?? []];
224
- for (let t of lt.value) {
226
+ for (let t of dt.value) {
225
227
  let n = A(e, t.key);
226
- !n && !t.items?.length && (j(e, t.key) === "item" && Ue.throw(`[BbDropdownGroup] "${t.key}" refers to a menu item, not a selectable group. \`<BbDropdownGroup>\` can only attach to a group (an entry with \`selectable\`, \`multiple\`, or \`group: true\`). Point \`id\` at a group key.`), Ue.throw(`[BbDropdownGroup] Missing minimum config for group "${t.key}". Provide \`items\`, \`selectable\`, \`multiple\`, or \`group\` keys in order to identify a group or define a baseline group with the same key in \`BbDropdown.items\`.`));
227
- let r = dt(t, n), i = ft(e, r);
228
+ !n && !t.items?.length && (j(e, t.key) === "item" && Ge.throw(`[BbDropdownGroup] "${t.key}" refers to a menu item, not a selectable group. \`<BbDropdownGroup>\` can only attach to a group (an entry with \`selectable\`, \`multiple\`, or \`group: true\`). Point \`id\` at a group key.`), Ge.throw(`[BbDropdownGroup] Missing minimum config for group "${t.key}". Provide \`items\`, \`selectable\`, \`multiple\`, or \`group\` keys in order to identify a group or define a baseline group with the same key in \`BbDropdown.items\`.`));
229
+ let r = pt(t, n), i = M(e, r);
228
230
  e = i.found ? i.items : [...i.items, r];
229
231
  }
230
232
  return e;
231
- }), N = u(() => ue(M.value).map((e) => e.selectable ? {
233
+ }), P = d(() => ue(N.value).map((e) => e.selectable ? {
232
234
  ...e,
233
235
  selected: O[e.key ?? ""] ?? []
234
- } : e)), P = u(() => le(N.value)), pt = h(), mt = u(() => P.value || T.value ? "dialog" : "menu"), ht = u(() => P.value && !T.value ? `dialog_${b}` : `menu_${b}`), gt = (e) => typeof e.items == "function" || e.itemText != null || e.itemValue != null || e.max != null, F = (e, t = []) => {
235
- for (let n of e) if (l(n)) {
236
+ } : e)), F = d(() => le(P.value)), I = h(), mt = d(() => F.value || E.value ? "dialog" : "menu"), ht = d(() => F.value && !E.value ? `dialog_${b}` : `menu_${b}`), gt = (e) => typeof e.items == "function" || e.itemText != null || e.itemValue != null || e.max != null, L = (e, t = []) => {
237
+ for (let n of e) if (u(n)) {
236
238
  n.key && gt(n) && t.push(n.key);
237
- for (let e of c(n.items)) for (let n of Array.isArray(e) ? e : [e]) n.items && F(n.items, t);
238
- } else Array.isArray(n) ? F(n, t) : n.items && F(n.items, t);
239
+ for (let e of l(n.items)) for (let n of Array.isArray(e) ? e : [e]) n.items && L(n.items, t);
240
+ } else Array.isArray(n) ? L(n, t) : n.items && L(n.items, t);
239
241
  return t;
240
- }, I = u(() => F(y.items ?? [])), _t = u(() => (y.items ?? []).filter((e) => l(e) && !!e.key && gt(e)).map((e) => e.key)), L = m({}), R = m({}), z = m({}), B = (e, t) => I.value.includes(e) ? L[e]?.valueByKey.get(t) : t, vt = (e) => {
242
+ }, R = d(() => L(y.items ?? [])), _t = d(() => (y.items ?? []).filter((e) => u(e) && !!e.key && gt(e)).map((e) => e.key)), z = m({}), vt = m({}), yt = m({}), B = (e, t) => R.value.includes(e) ? z[e]?.valueByKey.get(t) : t, bt = (e) => {
241
243
  let t = A(y.items ?? [], e);
242
244
  if (t) return {
243
245
  multiple: t.multiple ?? !1,
@@ -253,15 +255,15 @@ var Pe = [
253
255
  }
254
256
  }
255
257
  };
256
- return t(M.value);
257
- }, yt = (e, t) => I.value.includes(e) ? me(t) : t, bt = (e) => {
258
+ return t(N.value);
259
+ }, xt = (e, t) => R.value.includes(e) ? pe(t) : t, St = (e) => {
258
260
  if (k.has(e)) return k.get(e);
259
261
  let t = (O[e] ?? []).map((t) => B(e, t));
260
- return vt(e)?.multiple ? t : t[0] ?? null;
262
+ return bt(e)?.multiple ? t : t[0] ?? null;
261
263
  };
262
264
  he({
263
- register: (e, t) => ct.set(e, t),
264
- unregister: (e) => ct.delete(e),
265
+ register: (e, t) => ut.set(e, t),
266
+ unregister: (e) => ut.delete(e),
265
267
  seed: (e, t) => {
266
268
  e in O || (O[e] = t);
267
269
  },
@@ -269,48 +271,48 @@ var Pe = [
269
271
  O[e] = t;
270
272
  },
271
273
  selectionFor: (e) => O[e] ?? [],
272
- isPipeline: (e) => I.value.includes(e),
274
+ isPipeline: (e) => R.value.includes(e),
273
275
  publishPipeline: (e, t) => {
274
- t ? L[e] = t : delete L[e];
276
+ t ? z[e] = t : delete z[e];
275
277
  },
276
278
  publishLoading: (e, t) => {
277
- t ? R[e] = !0 : delete R[e];
279
+ t ? vt[e] = !0 : delete vt[e];
278
280
  },
279
281
  publishFetching: (e, t) => {
280
- t ? z[e] = !0 : delete z[e];
282
+ t ? yt[e] = !0 : delete yt[e];
281
283
  },
282
284
  publishModel: (e, t) => {
283
285
  t === void 0 ? k.delete(e) : k.set(e, t);
284
286
  },
285
- modelValueFor: bt,
287
+ modelValueFor: St,
286
288
  valueForKey: B,
287
- keyForValue: yt,
288
- itemForKey: (e, t) => L[e]?.itemByKey.get(t) ?? V(e)?.items.find((e) => e.key === t),
289
+ keyForValue: xt,
290
+ itemForKey: (e, t) => z[e]?.itemByKey.get(t) ?? V(e)?.items.find((e) => e.key === t),
289
291
  configFor: (e) => A(y.items ?? [], e),
290
292
  itemsFor: (e) => V(e)?.items ?? [],
291
- selectableFor: (e) => vt(e)?.selectable,
292
- multipleFor: (e) => vt(e)?.multiple
293
+ selectableFor: (e) => bt(e)?.selectable,
294
+ multipleFor: (e) => bt(e)?.multiple
293
295
  });
294
296
  let H = (e, t = []) => {
295
- for (let n of e) if (l(n)) {
297
+ for (let n of e) if (u(n)) {
296
298
  let e = n.selectable ?? n.multiple != null;
297
299
  n.key && e && t.push(n.key);
298
- for (let e of c(n.items)) for (let n of Array.isArray(e) ? e : [e]) n.items && H(n.items, t);
300
+ for (let e of l(n.items)) for (let n of Array.isArray(e) ? e : [e]) n.items && H(n.items, t);
299
301
  } else Array.isArray(n) ? H(n, t) : n.items && H(n.items, t);
300
302
  return t;
301
- }, xt = u(() => {
303
+ }, Ct = d(() => {
302
304
  let e = {};
303
- for (let t of H(M.value)) {
304
- let n = bt(t), r = [].concat(n).filter((e) => e != null), i = L[t], a = V(t), o = A(M.value, t), { items: ee, ...s } = o ?? {};
305
+ for (let t of H(N.value)) {
306
+ let n = St(t), r = [].concat(n).filter((e) => e != null), i = z[t], a = V(t), o = A(N.value, t), { items: ee, ...s } = o ?? {};
305
307
  e[t] = {
306
308
  ...s,
307
309
  key: t,
308
310
  value: n,
309
311
  multiple: o?.multiple ?? !1,
310
312
  selectable: o?.selectable ?? o?.multiple != null,
311
- loading: !!z[t],
313
+ loading: !!yt[t],
312
314
  selectedOptions: r.map((e) => {
313
- let n = yt(t, e);
315
+ let n = xt(t, e);
314
316
  return {
315
317
  value: e,
316
318
  text: i?.textByKey.get(n) ?? a?.items.find((e) => e.key === n)?.text,
@@ -321,11 +323,11 @@ var Pe = [
321
323
  }
322
324
  return e;
323
325
  });
324
- ie(() => y.id, {
325
- open: () => C.value,
326
- groups: () => xt.value
326
+ ae(() => y.id, {
327
+ open: () => w.value,
328
+ groups: () => Ct.value
327
329
  });
328
- let St = u(() => N.value.filter((e) => e.selectable).length), Ct = (e, t) => {
330
+ let wt = d(() => P.value.filter((e) => e.selectable).length), Tt = (e, t) => {
329
331
  let n = e.key;
330
332
  if (!n) return;
331
333
  let r = O[n] ?? [], i = new Set(r);
@@ -334,19 +336,19 @@ var Pe = [
334
336
  O[n] = a;
335
337
  let o = a.filter((e) => !r.includes(e)), ee = r.filter((e) => !a.includes(e)), s = (t) => e.items.find((e) => e.key === t);
336
338
  o.forEach((e) => {
337
- s(e) && He("item:selected", B(n, e));
339
+ s(e) && Ue("item:selected", B(n, e));
338
340
  }), ee.forEach((e) => {
339
- s(e) && He("item:unselected", B(n, e));
341
+ s(e) && Ue("item:unselected", B(n, e));
340
342
  });
341
- let te = St.value === 1 && N.value.some((e) => e.selectable && e.key === n);
343
+ let te = wt.value === 1 && P.value.some((e) => e.selectable && e.key === n);
342
344
  o.length && !e.multiple && te && (Q(), G());
343
- }, U = m(/* @__PURE__ */ new Set()), wt = (e) => U.has(e), Tt = u(() => U.size > 0), Et = (e) => e != null && (typeof e == "object" || typeof e == "function") && typeof e.then == "function", Dt = async () => {
345
+ }, U = m(/* @__PURE__ */ new Set()), Et = (e) => U.has(e), Dt = d(() => U.size > 0), Ot = (e) => e != null && (typeof e == "object" || typeof e == "function") && typeof e.then == "function", kt = async () => {
344
346
  await Q();
345
347
  let e = document.activeElement;
346
348
  e instanceof HTMLElement && e !== document.body && !e.closest(`[data-bb-dropdown-surface="${b}"]`) || G();
347
- }, Ot = async (e, t, { close: n = !1 } = {}) => {
349
+ }, At = async (e, t, { close: n = !1 } = {}) => {
348
350
  let r = e.onClick?.(t);
349
- if (n && await Dt(), Et(r)) {
351
+ if (n && await kt(), Ot(r)) {
350
352
  U.add(e.key);
351
353
  try {
352
354
  await r;
@@ -354,37 +356,37 @@ var Pe = [
354
356
  U.delete(e.key);
355
357
  }
356
358
  }
357
- }, W = Ae("rootList"), G = () => {
358
- (S.value ?? (x.value ? document.getElementById(x.value) : null))?.focus();
359
+ }, W = je("rootList"), G = () => {
360
+ (C.value ?? (S.value ? document.getElementById(S.value) : null))?.focus();
359
361
  };
360
362
  de({
361
363
  rootId: b,
362
- activatorId: x,
364
+ activatorId: S,
363
365
  setStatus: (e) => {
364
- pt.value = e;
366
+ I.value = e;
365
367
  },
366
- status: pt,
367
- open: C,
368
- queryFor: (e) => w[e] ?? "",
368
+ status: I,
369
+ open: w,
370
+ queryFor: (e) => T[e] ?? "",
369
371
  setQuery: (e, t) => {
370
- w[e] = t;
372
+ T[e] = t;
371
373
  },
372
374
  activateGroup: (e) => {
373
- Ye.has(e) || Ye.add(e);
375
+ Xe.has(e) || Xe.add(e);
374
376
  },
375
- isActivated: (e) => Ye.has(e),
376
- isPipelineGroup: (e) => I.value.includes(e),
377
- isGroupLoading: (e) => !!R[e],
377
+ isActivated: (e) => Xe.has(e),
378
+ isPipelineGroup: (e) => R.value.includes(e),
379
+ isGroupLoading: (e) => !!vt[e],
378
380
  isTopLevelPipeline: (e) => _t.value.includes(e),
379
- queryDebounceTime: u(() => y.queryDebounceTime ?? 300),
381
+ queryDebounceTime: d(() => y.queryDebounceTime ?? 300),
380
382
  selectedFor: (e) => O[e] ?? [],
381
- loadingText: u(() => y.loadingText),
382
- noDataText: u(() => y.noDataText),
383
- enforceCoherence: u(() => y.enforceCoherence),
384
- placement: u(() => y.placement),
385
- disabled: u(() => !!y.disabled),
383
+ loadingText: d(() => y.loadingText),
384
+ noDataText: d(() => y.noDataText),
385
+ enforceCoherence: d(() => y.enforceCoherence),
386
+ placement: d(() => y.placement),
387
+ disabled: d(() => !!y.disabled),
386
388
  selectedChipsFor: (e) => {
387
- let t = V(e), n = L[e];
389
+ let t = V(e), n = z[e];
388
390
  return (O[e] ?? []).map((e) => ({
389
391
  key: e,
390
392
  text: n?.textByKey.get(e) ?? t?.items.find((t) => t.key === e)?.text ?? e
@@ -392,142 +394,147 @@ var Pe = [
392
394
  },
393
395
  deselect: (e, t) => {
394
396
  let n = O[e] ?? [];
395
- n.includes(t) && (O[e] = n.filter((e) => e !== t), He("item:unselected", B(e, t)));
397
+ n.includes(t) && (O[e] = n.filter((e) => e !== t), Ue("item:unselected", B(e, t)));
396
398
  },
397
399
  close: () => Q(),
398
400
  focusActivator: G,
399
- toggleSelect: Ct,
400
- isItemLoading: wt,
401
- runItemAction: Ot,
402
- slots: ke()
401
+ toggleSelect: Tt,
402
+ isItemLoading: Et,
403
+ runItemAction: At,
404
+ slots: Ae()
403
405
  });
404
- let kt = (e) => {
406
+ let jt = (e) => {
405
407
  if (!y.disabled) {
406
408
  if (q) {
407
409
  q = !1, e.preventDefault(), e.stopPropagation();
408
410
  return;
409
411
  }
410
- e.stopPropagation(), y.placement === "cursor" && (D.value = E(e.clientX, e.clientY)), C.value ? Q() : Z();
412
+ e.stopPropagation(), y.placement === "cursor" && (D.value = nt(e.clientX, e.clientY)), w.value ? Q() : Z();
411
413
  }
412
- }, At = async (e) => {
414
+ }, Mt = async (e) => {
413
415
  if (!y.disabled) {
414
416
  if (e.preventDefault(), e.stopPropagation(), y.placement === "cursor") {
415
- let t = E(e.clientX, e.clientY);
416
- if (C.value) {
417
- await Q(), await ce(y.transitionDuration), D.value = t, await Z();
417
+ let t = nt(e.clientX, e.clientY);
418
+ if (w.value) {
419
+ await Q(), await c(y.transitionDuration), D.value = t, await Z();
418
420
  return;
419
421
  }
420
422
  D.value = t;
421
423
  }
422
- C.value ? Q() : Z();
424
+ w.value ? Q() : Z();
423
425
  }
424
- }, jt, K = null, q = !1, J = () => {
425
- clearTimeout(jt), K = null;
426
- }, Mt = (e) => {
426
+ }, Nt, K = null, q = !1, J = () => {
427
+ clearTimeout(Nt), K = null;
428
+ }, Pt = (e) => {
427
429
  y.disabled || e.pointerType === "mouse" || (q = !1, K = {
428
430
  x: e.clientX,
429
431
  y: e.clientY
430
- }, jt = setTimeout(() => {
431
- q = !0, y.placement === "cursor" && K && (D.value = E(K.x, K.y)), K = null, Z();
432
- }, Be));
433
- }, Nt = (e) => {
432
+ }, Nt = setTimeout(() => {
433
+ q = !0, y.placement === "cursor" && K && (D.value = nt(K.x, K.y)), K = null, Z();
434
+ }, Ve));
435
+ }, Ft = (e) => {
434
436
  if (!K) return;
435
437
  let t = e.clientX - K.x, n = e.clientY - K.y;
436
- Math.sqrt(t * t + n * n) > Ve && J();
438
+ Math.sqrt(t * t + n * n) > He && J();
437
439
  }, Y = () => {
438
440
  J();
439
- }, Pt = async (e) => {
440
- y.disabled || (e.key === "ArrowDown" ? (e.preventDefault(), C.value || await Z(), await ce(0), W.value?.focusFirst()) : e.key === "ArrowUp" ? (e.preventDefault(), C.value || await Z(), await ce(0), W.value?.focusLast()) : e.key === "Tab" && C.value && !e.shiftKey && (e.preventDefault(), W.value?.focusFirst()));
441
+ }, It = async (e) => {
442
+ y.disabled || (e.key === "ArrowDown" ? (e.preventDefault(), w.value || await Z(), await c(0), W.value?.focusFirst()) : e.key === "ArrowUp" ? (e.preventDefault(), w.value || await Z(), await c(0), W.value?.focusLast()) : e.key === "Tab" && w.value && !e.shiftKey && (e.preventDefault(), W.value?.focusFirst()));
441
443
  }, X = (e) => {
442
444
  let t = e.target;
443
445
  t instanceof HTMLElement && (t.closest(`[data-bb-dropdown-surface="${b}"]`) || Q());
444
- }, Ft = (e) => {
446
+ }, Lt = (e) => {
445
447
  let t = e.detail;
446
448
  !t || t.surfaceId === b || t.activator?.closest(`[data-bb-dropdown-surface="${b}"]`) || Q();
447
- }, It = (e) => {
448
- !C.value || e.key !== "Escape" || te(We) && (e.stopImmediatePropagation(), e.preventDefault(), document.activeElement !== S.value && G(), Q());
449
+ }, Rt = (e) => {
450
+ !w.value || e.key !== "Escape" || ne(x) && (e.stopImmediatePropagation(), e.preventDefault(), document.activeElement !== C.value && G(), Q());
449
451
  }, Z = async () => {
450
- Qe.value = Ze(), at = !0, C.value = !0, document.dispatchEvent(new CustomEvent(ze, { detail: {
452
+ $e.value = Qe(), st = !0, w.value = !0, document.dispatchEvent(new CustomEvent(Be, { detail: {
451
453
  surfaceId: b,
452
- activator: S.value
453
- } })), !T.value && (ot(), ne(We), document.addEventListener("click", X, { passive: !0 }), document.addEventListener("contextmenu", X, { passive: !0 }), document.addEventListener("focusin", X, { passive: !0 }), document.addEventListener("keydown", It, { capture: !0 }), document.addEventListener(ze, Ft));
454
+ activator: C.value
455
+ } })), !E.value && (ct(), re(x), document.addEventListener("click", X, { passive: !0 }), document.addEventListener("contextmenu", X, { passive: !0 }), document.addEventListener("focusin", X, { passive: !0 }), document.addEventListener("keydown", Rt, { capture: !0 }), document.addEventListener(Be, Lt));
454
456
  }, Q = async () => {
455
- C.value = !1, st();
456
- }, Lt = () => {
457
- re(We), document.removeEventListener("click", X), document.removeEventListener("contextmenu", X), document.removeEventListener("focusin", X), document.removeEventListener("keydown", It, { capture: !0 }), document.removeEventListener(ze, Ft);
457
+ w.value = !1, lt();
458
+ }, zt = () => {
459
+ ie(x), document.removeEventListener("click", X), document.removeEventListener("contextmenu", X), document.removeEventListener("focusin", X), document.removeEventListener("keydown", Rt, { capture: !0 }), document.removeEventListener(Be, Lt);
458
460
  };
459
- v(C, (e) => {
461
+ v(w, (e) => {
460
462
  if (!e) {
461
- Lt();
462
- for (let e of Object.keys(w)) w[e] = "";
463
+ zt();
464
+ for (let e of Object.keys(T)) T[e] = "";
463
465
  }
464
466
  }), v(() => y.activator, (e) => {
465
- e && it(e);
467
+ e && ot(e);
466
468
  }, { immediate: !0 });
467
469
  let $ = null;
468
- v([S, et], ([e, t]) => {
470
+ v([C, tt], ([e, t]) => {
469
471
  if ($ &&= ($(), null), !e) return;
470
472
  let n = !1;
471
- e.id || (e.id = b, n = !0), x.value = e.id;
473
+ e.id || (e.id = b, n = !0), S.value = e.id;
472
474
  let r = [];
473
- t.has("click") && (e.addEventListener("click", kt), r.push(() => e.removeEventListener("click", kt))), t.has("contextMenu") && (e.addEventListener("contextmenu", At), e.addEventListener("pointerdown", Mt), e.addEventListener("pointermove", Nt), e.addEventListener("pointerup", Y), e.addEventListener("pointercancel", Y), r.push(() => {
474
- e.removeEventListener("contextmenu", At), e.removeEventListener("pointerdown", Mt), e.removeEventListener("pointermove", Nt), e.removeEventListener("pointerup", Y), e.removeEventListener("pointercancel", Y), J();
475
- })), e.addEventListener("keydown", Pt), r.push(() => e.removeEventListener("keydown", Pt)), $ = () => {
475
+ t.has("click") && (e.addEventListener("click", jt), r.push(() => e.removeEventListener("click", jt))), t.has("contextMenu") && (e.addEventListener("contextmenu", Mt), e.addEventListener("pointerdown", Pt), e.addEventListener("pointermove", Ft), e.addEventListener("pointerup", Y), e.addEventListener("pointercancel", Y), r.push(() => {
476
+ e.removeEventListener("contextmenu", Mt), e.removeEventListener("pointerdown", Pt), e.removeEventListener("pointermove", Ft), e.removeEventListener("pointerup", Y), e.removeEventListener("pointercancel", Y), J();
477
+ })), e.addEventListener("keydown", It), r.push(() => e.removeEventListener("keydown", It)), $ = () => {
476
478
  r.forEach((e) => e()), n && e.removeAttribute("id"), e.removeAttribute("aria-haspopup"), e.removeAttribute("aria-expanded"), e.removeAttribute("aria-controls");
477
479
  };
478
480
  }, { immediate: !0 }), v([
479
- S,
480
481
  C,
481
- qe,
482
+ w,
483
+ Je,
482
484
  mt,
483
485
  ht
484
486
  ], ([e, t, n, r, i]) => {
485
487
  e && (e.setAttribute("aria-haspopup", r), e.setAttribute("aria-expanded", n ? String(t) : "false"), n ? e.setAttribute("aria-controls", i) : e.removeAttribute("aria-controls"));
486
- }, { immediate: !0 }), Ee(() => {
487
- J(), $?.(), Lt();
488
+ }, { immediate: !0 }), De(() => {
489
+ J(), $?.(), zt();
488
490
  });
489
- let { width: Rt } = Me(nt, {
491
+ let Bt = d(() => y.width === "auto"), { width: Vt } = Ne(d(() => w.value ? it.value : null), {
490
492
  width: 0,
491
493
  height: 0
492
- }, { box: "border-box" }), zt = u(() => {
494
+ }, { box: "border-box" }), Ht = d(() => {
493
495
  if (y.width !== "auto") {
494
496
  if (y.width) {
495
- let { value: e, unit: t } = s(y.width);
496
- return t === "%" ? nt.value ? `${Rt.value * (e / 100)}px` : "0px" : `${e}px`;
497
+ let { value: e, unit: t } = te(y.width);
498
+ return t === "%" ? it.value ? `${Vt.value * (e / 100)}px` : "0px" : `${e}px`;
497
499
  }
498
500
  return "0px";
499
501
  }
500
502
  });
501
- return (e, t) => (p(), f(ve, null, [
502
- Ke.value ? ye("", !0) : g(e.$slots, "activator", we(Ce({ key: 0 }, {
503
- props: { ref: it },
503
+ return (e, t) => (p(), f(_e, null, [
504
+ qe.value ? ye("", !0) : g(e.$slots, "activator", Te(Ce({ key: 0 }, {
505
+ props: { ref: ot },
504
506
  disabled: e.disabled,
505
- loading: Tt.value,
506
- open: C.value,
507
+ loading: Dt.value,
508
+ open: w.value,
507
509
  placement: e.placement
508
510
  }))),
509
511
  g(e.$slots, "default"),
510
- (p(!0), f(ve, null, De(I.value, (e) => (p(), d(ge, {
512
+ (p(!0), f(_e, null, Oe(R.value, (e) => (p(), ve(ge, {
511
513
  id: e,
512
514
  key: e
513
515
  }, null, 8, ["id"]))), 128)),
514
- T.value ? (p(), d(pe, {
516
+ E.value ? (p(), ve(me, {
515
517
  key: 1,
516
- modelValue: C.value,
517
- "onUpdate:modelValue": t[0] ||= (e) => C.value = e,
518
- "off-canvas-props": $e.value,
519
- "root-groups": N.value
518
+ modelValue: w.value,
519
+ "onUpdate:modelValue": t[0] ||= (e) => w.value = e,
520
+ compact: e.compact,
521
+ "off-canvas-props": et.value,
522
+ "root-groups": P.value
520
523
  }, null, 8, [
521
524
  "modelValue",
525
+ "compact",
522
526
  "off-canvas-props",
523
527
  "root-groups"
524
- ])) : (p(), d(ee, Ce({
528
+ ])) : (p(), ve(s, Ce({
525
529
  key: 2,
526
- modelValue: C.value,
527
- "onUpdate:modelValue": t[1] ||= (e) => C.value = e,
528
- anchor: rt.value,
530
+ modelValue: w.value,
531
+ "onUpdate:modelValue": t[1] ||= (e) => w.value = e,
532
+ anchor: at.value,
529
533
  boundary: e.boundary,
530
- class: ["bb-dropdown", { "bb-dropdown--mobile": _(Xe) }],
534
+ class: ["bb-dropdown", {
535
+ "bb-dropdown--mobile": _(Ze),
536
+ "bb-dropdown--compact": e.compact
537
+ }],
531
538
  eager: e.eager,
532
539
  "hide-arrow": "",
533
540
  offset: e.offset,
@@ -535,40 +542,40 @@ var Pe = [
535
542
  placement: e.placement === "cursor" ? "bottom-start" : e.placement,
536
543
  "transition-duration": e.transitionDuration
537
544
  }, e.$attrs), {
538
- default: je(({ availableHeight: t }) => [be("span", {
539
- id: P.value ? `dialog_${_(b)}` : void 0,
540
- "aria-labelledby": P.value ? x.value : void 0,
541
- class: "bb-dropdown__panel",
545
+ default: Me(({ availableHeight: t }) => [be("span", {
546
+ id: F.value ? `dialog_${_(b)}` : void 0,
547
+ "aria-labelledby": F.value ? S.value : void 0,
548
+ class: we(["bb-dropdown__panel", { "bb-dropdown__panel--reserve-check": Bt.value }]),
542
549
  "data-bb-dropdown-surface": _(b),
543
- inert: _(Je),
544
- role: P.value ? "dialog" : void 0,
545
- style: Te({
546
- "--w": zt.value,
550
+ inert: _(Ye),
551
+ role: F.value ? "dialog" : void 0,
552
+ style: Ee({
553
+ "--w": Ht.value,
547
554
  "--max-h": t == null ? void 0 : `${t}px`
548
555
  })
549
556
  }, [
550
- e.$slots.header ? (p(), f("div", Fe, [g(e.$slots, "header", {
557
+ e.$slots.header ? (p(), f("div", Ie, [g(e.$slots, "header", {
551
558
  disabled: e.disabled,
552
- open: C.value,
559
+ open: w.value,
553
560
  placement: e.placement
554
561
  })])) : ye("", !0),
555
562
  be("span", {
556
563
  id: `menu_${_(b)}`,
557
- "aria-labelledby": P.value ? void 0 : x.value,
564
+ "aria-labelledby": F.value ? void 0 : S.value,
558
565
  class: "bb-dropdown__items-container scrollbar-border",
559
- role: P.value ? "none" : "menu"
566
+ role: F.value ? "none" : "menu"
560
567
  }, [xe(fe, {
561
568
  ref_key: "rootList",
562
569
  ref: W,
563
- groups: N.value
564
- }, null, 8, ["groups"])], 8, Ie),
565
- be("span", Le, Oe(pt.value), 1),
566
- e.$slots.footer ? (p(), f("div", Re, [g(e.$slots, "footer", {
570
+ groups: P.value
571
+ }, null, 8, ["groups"])], 8, Le),
572
+ be("span", Re, ke(I.value), 1),
573
+ e.$slots.footer ? (p(), f("div", ze, [g(e.$slots, "footer", {
567
574
  disabled: e.disabled,
568
- open: C.value,
575
+ open: w.value,
569
576
  placement: e.placement
570
577
  })])) : ye("", !0)
571
- ], 12, Pe)]),
578
+ ], 14, Fe)]),
572
579
  _: 3
573
580
  }, 16, [
574
581
  "modelValue",