bitboss-ui 3.0.0-beta.47 → 3.0.0-beta.49

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 (398) hide show
  1. package/README.md +24 -7
  2. package/bin/bitboss-ui-mcp.mjs +15 -3
  3. package/bin/bitboss-ui.mjs +167 -14
  4. package/dist/ai/BbAccordion.md +1 -1
  5. package/dist/ai/BbAvatar.md +1 -1
  6. package/dist/ai/BbBreadcrumbs.md +65 -65
  7. package/dist/ai/BbButton.md +28 -8
  8. package/dist/ai/BbCheckbox.md +0 -2
  9. package/dist/ai/BbCheckboxGroup.md +13 -20
  10. package/dist/ai/BbCollapsible.md +1 -1
  11. package/dist/ai/BbColorPalette.md +1 -1
  12. package/dist/ai/BbConfirm.md +8 -0
  13. package/dist/ai/BbConfirmPortal.md +1 -1
  14. package/dist/ai/BbDatePickerInput.md +4 -2
  15. package/dist/ai/BbDialog.md +1 -8
  16. package/dist/ai/BbDropdown.md +231 -220
  17. package/dist/ai/BbDropdownButton.md +65 -65
  18. package/dist/ai/BbDropdownGroup.md +2 -2
  19. package/dist/ai/BbDropzone.md +10 -10
  20. package/dist/ai/BbForm.md +43 -52
  21. package/dist/ai/BbHoverCard.md +19 -7
  22. package/dist/ai/BbHoverCardPortal.md +1 -1
  23. package/dist/ai/BbNumberInput.md +88 -21
  24. package/dist/ai/BbPopover.md +47 -40
  25. package/dist/ai/BbPopoverPortal.md +1 -1
  26. package/dist/ai/BbProgress.md +48 -22
  27. package/dist/ai/BbRadioGroup.md +13 -19
  28. package/dist/ai/BbSelect.md +16 -36
  29. package/dist/ai/BbSelectPopover.md +14 -30
  30. package/dist/ai/BbSmoothHeight.md +0 -2
  31. package/dist/ai/BbSwitchGroup.md +13 -20
  32. package/dist/ai/BbTable.md +11 -10
  33. package/dist/ai/BbTabs.md +107 -106
  34. package/dist/ai/BbTabsList.md +2 -2
  35. package/dist/ai/BbTabsPanels.md +1 -1
  36. package/dist/ai/BbTabsRoot.md +3 -3
  37. package/dist/ai/BbTooltip.md +29 -13
  38. package/dist/ai/BbTree.md +14 -11
  39. package/dist/ai/CommonPopover.md +1 -1
  40. package/dist/ai/changelog.json +297 -6
  41. package/dist/ai/components.json +50 -45
  42. package/dist/ai/composables/useBbDropdownContext.md +16 -16
  43. package/dist/ai/composables/useBbFormField.md +5 -1
  44. package/dist/ai/composables/useBbTabsContext.md +14 -14
  45. package/dist/ai/guides/agent-contract.md +27 -27
  46. package/dist/ai/guides/ai-router.md +1 -1
  47. package/dist/ai/guides/component-picker.md +3 -3
  48. package/dist/ai/guides/fetch-items-playbook.md +1 -1
  49. package/dist/ai/guides/icons-policy.md +10 -10
  50. package/dist/ai/guides/inertia-helpers.md +120 -67
  51. package/dist/ai/guides/installation-and-plugin-setup.md +45 -15
  52. package/dist/ai/guides/migration/components/bb-breadcrumbs.md +3 -2
  53. package/dist/ai/guides/migration/components/bb-checkbox-group.md +16 -16
  54. package/dist/ai/guides/migration/components/bb-dropdown-button.md +9 -8
  55. package/dist/ai/guides/migration/components/bb-dropdown.md +15 -14
  56. package/dist/ai/guides/migration/components/bb-radio-group.md +2 -1
  57. package/dist/ai/guides/migration/components/bb-select-popover.md +6 -1
  58. package/dist/ai/guides/migration/components/bb-select.md +10 -2
  59. package/dist/ai/guides/migration/components/bb-switch-group.md +2 -1
  60. package/dist/ai/guides/migration/components/bb-tabs.md +9 -8
  61. package/dist/ai/guides/migration/components/bb-tooltip.md +1 -1
  62. package/dist/ai/guides/migration/v2-to-v3.md +143 -28
  63. package/dist/ai/guides/migration/v3-beta-css-classes.md +29 -27
  64. package/dist/ai/guides/migration/v3-beta-tooling.md +11 -0
  65. package/dist/ai/guides/options-items-playbook.md +30 -24
  66. package/dist/ai/guides/passthrough.md +4 -4
  67. package/dist/ai/guides/preset-components.md +18 -3
  68. package/dist/ai/guides/typescript-generic-components.md +1 -1
  69. package/dist/ai/guides/validated-forms.md +11 -22
  70. package/dist/ai/guides/validation-providers.md +4 -3
  71. package/dist/ai/helpers/inertia/manifest.json +636 -0
  72. package/dist/ai/helpers/inertia/types.ts +15 -0
  73. package/dist/ai/helpers/inertia/useAsyncFn.ts +110 -0
  74. package/dist/ai/helpers/inertia/useConfirmOnRouteLeave.ts +102 -0
  75. package/dist/ai/helpers/inertia/useDeleteCmd.ts +30 -0
  76. package/dist/ai/helpers/inertia/useHasChanged.ts +36 -0
  77. package/dist/ai/helpers/inertia/useIndexById.ts +23 -0
  78. package/dist/ai/helpers/inertia/useLazyProp.ts +148 -0
  79. package/dist/ai/helpers/inertia/useLazyPropGetter.ts +50 -0
  80. package/dist/ai/helpers/inertia/useLoading.ts +20 -0
  81. package/dist/ai/helpers/inertia/usePaginatedResponseContext.ts +88 -0
  82. package/dist/ai/helpers/inertia/usePromiseForm.ts +62 -0
  83. package/dist/ai/helpers/inertia/useProp.ts +63 -0
  84. package/dist/ai/helpers/inertia/useQuery.ts +19 -0
  85. package/dist/ai/helpers/inertia/useQueryObject.ts +116 -0
  86. package/dist/ai/helpers/inertia/useResourceContext.ts +69 -0
  87. package/dist/ai/helpers/inertia/useRouteQuery.ts +54 -0
  88. package/dist/ai/helpers/inertia/useScreenSizes.ts +23 -0
  89. package/dist/ai/helpers/inertia/useTableContext.ts +34 -0
  90. package/dist/ai/helpers/inertia/useTableSelectionContext.ts +48 -0
  91. package/dist/ai/helpers/inertia/useUntil.ts +33 -0
  92. package/dist/ai/helpers/inertia/utils.ts +24 -0
  93. package/dist/ai/index.md +6 -6
  94. package/dist/ai/manifest/components/BbAccordion.json +1 -1
  95. package/dist/ai/manifest/components/BbBreadcrumbs.json +10 -6
  96. package/dist/ai/manifest/components/BbBreadcrumbs.tree.json +1 -1
  97. package/dist/ai/manifest/components/BbButton.json +2 -1
  98. package/dist/ai/manifest/components/BbButton.tree.json +1 -1
  99. package/dist/ai/manifest/components/BbCheckboxGroup.json +2 -2
  100. package/dist/ai/manifest/components/BbCollapsible.json +1 -1
  101. package/dist/ai/manifest/components/BbColorPalette.json +1 -1
  102. package/dist/ai/manifest/components/BbConfirmPortal.json +5 -2
  103. package/dist/ai/manifest/components/BbDropdown.json +23 -20
  104. package/dist/ai/manifest/components/BbDropdown.tree.json +2 -2
  105. package/dist/ai/manifest/components/BbDropdownButton.json +22 -19
  106. package/dist/ai/manifest/components/BbDropdownButton.tree.json +1 -1
  107. package/dist/ai/manifest/components/BbDropdownGroup.json +2 -2
  108. package/dist/ai/manifest/components/BbForm.json +1 -0
  109. package/dist/ai/manifest/components/BbHoverCard.json +1 -1
  110. package/dist/ai/manifest/components/BbHoverCardPortal.json +2 -2
  111. package/dist/ai/manifest/components/BbNumberInput.json +6 -1
  112. package/dist/ai/manifest/components/BbNumberInput.tree.json +2 -1
  113. package/dist/ai/manifest/components/BbPopover.json +2 -1
  114. package/dist/ai/manifest/components/BbPopoverPortal.json +2 -2
  115. package/dist/ai/manifest/components/BbProgress.json +6 -6
  116. package/dist/ai/manifest/components/BbProgress.tree.json +1 -0
  117. package/dist/ai/manifest/components/BbRadioGroup.json +2 -2
  118. package/dist/ai/manifest/components/BbSelect.json +2 -2
  119. package/dist/ai/manifest/components/BbSelect.tree.json +2 -2
  120. package/dist/ai/manifest/components/BbSelectPopover.json +2 -2
  121. package/dist/ai/manifest/components/BbSelectPopover.tree.json +1 -1
  122. package/dist/ai/manifest/components/BbSwitchGroup.json +2 -2
  123. package/dist/ai/manifest/components/BbTabs.json +8 -7
  124. package/dist/ai/manifest/components/BbTabsList.json +3 -3
  125. package/dist/ai/manifest/components/BbTabsPanels.json +1 -1
  126. package/dist/ai/manifest/components/BbTabsRoot.json +6 -5
  127. package/dist/ai/manifest/components/BbTag.tree.json +1 -1
  128. package/dist/ai/manifest/components/BbTooltip.json +2 -2
  129. package/dist/ai/manifest/components/ChipsBox.tree.json +1 -1
  130. package/dist/ai/manifest/components/CommonPopover.json +1 -1
  131. package/dist/ai/manifest/index.json +2 -2
  132. package/dist/ai/manifest/meta.json +5 -0
  133. package/dist/ai/manifest/types.advanced.json +10 -9
  134. package/dist/ai/manifest/types.api.json +8 -5
  135. package/dist/ai/manifest/types.wrapper.json +1 -0
  136. package/dist/ai/recipes/inertia/approvals-inbox.md +16 -18
  137. package/dist/ai/recipes/inertia/inline-edit-workspace.md +23 -33
  138. package/dist/ai/recipes/inertia/layout-scaffold.md +16 -16
  139. package/dist/ai/recipes/inertia/onboarding.md +6 -10
  140. package/dist/ai/recipes/inertia/ownership-atlas.md +15 -18
  141. package/dist/ai/recipes/inertia/record-form.md +11 -11
  142. package/dist/ai/recipes/inertia/records-workspace.md +38 -41
  143. package/dist/ai/recipes/inertia/settings-workspace.md +26 -38
  144. package/dist/ai/recipes/inertia/upload-center.md +31 -39
  145. package/dist/ai/recipes/inertia/wizard-form.md +10 -19
  146. package/dist/ai/recipes/nuxt/approvals-inbox.md +7 -8
  147. package/dist/ai/recipes/nuxt/inline-edit-workspace.md +14 -24
  148. package/dist/ai/recipes/nuxt/layout-scaffold.md +16 -16
  149. package/dist/ai/recipes/nuxt/onboarding.md +2 -6
  150. package/dist/ai/recipes/nuxt/ownership-atlas.md +7 -9
  151. package/dist/ai/recipes/nuxt/record-form.md +5 -5
  152. package/dist/ai/recipes/nuxt/records-workspace.md +29 -31
  153. package/dist/ai/recipes/nuxt/settings-workspace.md +22 -34
  154. package/dist/ai/recipes/nuxt/upload-center.md +22 -29
  155. package/dist/ai/recipes/nuxt/wizard-form.md +3 -11
  156. package/dist/ai/recipes/vue/approvals-inbox.md +7 -8
  157. package/dist/ai/recipes/vue/inline-edit-workspace.md +14 -24
  158. package/dist/ai/recipes/vue/layout-scaffold.md +16 -16
  159. package/dist/ai/recipes/vue/onboarding.md +2 -6
  160. package/dist/ai/recipes/vue/ownership-atlas.md +7 -9
  161. package/dist/ai/recipes/vue/record-form.md +5 -5
  162. package/dist/ai/recipes/vue/records-workspace.md +29 -31
  163. package/dist/ai/recipes/vue/settings-workspace.md +22 -34
  164. package/dist/ai/recipes/vue/upload-center.md +22 -29
  165. package/dist/ai/recipes/vue/wizard-form.md +3 -11
  166. package/dist/ai/source/BbAccordion.md +1 -1
  167. package/dist/ai/source/BbAlert.md +3 -3
  168. package/dist/ai/source/BbBadge.md +14 -10
  169. package/dist/ai/source/BbBadgeButton.md +17 -12
  170. package/dist/ai/source/BbBaseButton.md +1 -1
  171. package/dist/ai/source/BbBaseRadioIcon.md +1 -0
  172. package/dist/ai/source/BbBaseSwitchIcon.md +1 -0
  173. package/dist/ai/source/BbBreadcrumbs.md +63 -42
  174. package/dist/ai/source/BbButton.md +84 -38
  175. package/dist/ai/source/BbCalendar.md +17 -16
  176. package/dist/ai/source/BbCheckbox.md +3 -2
  177. package/dist/ai/source/BbCheckboxGroup.md +11 -4
  178. package/dist/ai/source/BbCollapsible.md +2 -1
  179. package/dist/ai/source/BbColorInput.md +10 -9
  180. package/dist/ai/source/BbColorPalette.md +2 -1
  181. package/dist/ai/source/BbConfirm.md +18 -1
  182. package/dist/ai/source/BbConfirmPortal.md +20 -6
  183. package/dist/ai/source/BbDatePicker.md +2 -2
  184. package/dist/ai/source/BbDatePickerInput.md +47 -20
  185. package/dist/ai/source/BbDialog.md +5 -5
  186. package/dist/ai/source/BbDropdown.md +231 -158
  187. package/dist/ai/source/BbDropdownButton.md +19 -12
  188. package/dist/ai/source/BbDropdownGroup.md +127 -93
  189. package/dist/ai/source/BbForm.md +25 -1
  190. package/dist/ai/source/BbHoverCard.md +30 -3
  191. package/dist/ai/source/BbHoverCardPortal.md +18 -3
  192. package/dist/ai/source/BbIndicator.md +4 -0
  193. package/dist/ai/source/BbNumberInput.md +855 -19
  194. package/dist/ai/source/BbOffCanvas.md +27 -11
  195. package/dist/ai/source/BbPagination.md +3 -3
  196. package/dist/ai/source/BbPopover.md +185 -12
  197. package/dist/ai/source/BbPopoverPortal.md +30 -3
  198. package/dist/ai/source/BbProgress.md +82 -18
  199. package/dist/ai/source/BbRadioGroup.md +12 -5
  200. package/dist/ai/source/BbRating.md +11 -9
  201. package/dist/ai/source/BbSelect.md +16 -10
  202. package/dist/ai/source/BbSelectPopover.md +29 -23
  203. package/dist/ai/source/BbSlider.md +12 -6
  204. package/dist/ai/source/BbSwitch.md +3 -2
  205. package/dist/ai/source/BbSwitchGroup.md +5 -2
  206. package/dist/ai/source/BbTable.md +102 -18
  207. package/dist/ai/source/BbTabs.md +30 -24
  208. package/dist/ai/source/BbTabsList.md +29 -23
  209. package/dist/ai/source/BbTabsPanels.md +29 -23
  210. package/dist/ai/source/BbTabsRoot.md +28 -22
  211. package/dist/ai/source/BbTag.md +10 -9
  212. package/dist/ai/source/BbTextInput.md +5 -4
  213. package/dist/ai/source/BbTextarea.md +6 -5
  214. package/dist/ai/source/BbTimePicker.md +1 -1
  215. package/dist/ai/source/BbTimePickerInput.md +46 -9
  216. package/dist/ai/source/BbToast.md +10 -7
  217. package/dist/ai/source/BbToastPortal.md +10 -7
  218. package/dist/ai/source/BbTooltip.md +88 -11
  219. package/dist/ai/source/BbTree.md +21 -3
  220. package/dist/ai/source/CommonField.md +6 -4
  221. package/dist/ai/source/CommonFieldInput.md +15 -10
  222. package/dist/ai/source/CommonPopover.md +8 -1
  223. package/dist/ai/source/CommonTimeSelector.md +5 -4
  224. package/dist/components/BbBadge/BbBadgeButton.vue_vue_type_script_setup_true_lang.js +10 -8
  225. package/dist/components/BbBaseButton/BbBaseButton.vue_vue_type_script_setup_true_lang.js +8 -8
  226. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue_vue_type_script_setup_true_lang.js +45 -45
  227. package/dist/components/BbBreadcrumbs/types.d.ts +25 -17
  228. package/dist/components/BbButton/BbButton.vue_vue_type_script_setup_true_lang.js +88 -70
  229. package/dist/components/BbButton/toggleRoving.d.ts +6 -0
  230. package/dist/components/BbButton/toggleRoving.js +45 -0
  231. package/dist/components/BbButton/types.d.ts +12 -4
  232. package/dist/components/BbButton/types.js +5 -1
  233. package/dist/components/BbCalendar/BbCalendar.vue_vue_type_script_setup_true_lang.js +178 -178
  234. package/dist/components/BbCalendar/CalendarMonthPanel.vue_vue_type_script_setup_true_lang.js +15 -15
  235. package/dist/components/BbCalendar/CalendarYearPanel.vue_vue_type_script_setup_true_lang.js +28 -28
  236. package/dist/components/BbCalendar/useCalendarGrid.js +141 -139
  237. package/dist/components/BbCalendar/useDayjsLocale.d.ts +38 -15
  238. package/dist/components/BbCalendar/useDayjsLocale.js +31 -30
  239. package/dist/components/BbCheckbox/BbCheckbox.vue_vue_type_script_setup_true_lang.js +48 -48
  240. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue_vue_type_script_setup_true_lang.js +81 -80
  241. package/dist/components/BbCheckboxGroup/types.d.ts +6 -2
  242. package/dist/components/BbCollapsible/types.d.ts +2 -1
  243. package/dist/components/BbColorInput/BbColorInput.vue_vue_type_script_setup_true_lang.js +69 -69
  244. package/dist/components/BbColorPalette/types.d.ts +2 -1
  245. package/dist/components/BbConfirm/BbConfirmPortal.vue.d.ts +2 -5
  246. package/dist/components/BbConfirm/types.d.ts +15 -0
  247. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue_vue_type_script_setup_true_lang.js +363 -349
  248. package/dist/components/BbDropdown/AdaptiveDropdown.vue_vue_type_script_setup_true_lang.js +91 -86
  249. package/dist/components/BbDropdown/BbDropdown.vue_vue_type_script_setup_true_lang.js +298 -289
  250. package/dist/components/BbDropdown/BbDropdownList.vue_vue_type_script_setup_true_lang.js +322 -356
  251. package/dist/components/BbDropdown/DropdownPipelineResolver.vue_vue_type_script_setup_true_lang.js +17 -15
  252. package/dist/components/BbDropdown/DropdownRow.vue.d.ts +40 -0
  253. package/dist/components/BbDropdown/DropdownRow.vue.js +5 -0
  254. package/dist/components/BbDropdown/DropdownRow.vue_vue_type_script_setup_true_lang.js +60 -0
  255. package/dist/components/BbDropdown/normalizeGroups.d.ts +8 -2
  256. package/dist/components/BbDropdown/normalizeGroups.js +60 -46
  257. package/dist/components/BbDropdown/types.d.ts +120 -88
  258. package/dist/components/BbDropdownButton/BbDropdownButton.vue_vue_type_script_setup_true_lang.js +11 -2
  259. package/dist/components/BbDropdownButton/types.d.ts +2 -2
  260. package/dist/components/BbForm/BbForm.vue.d.ts +9 -0
  261. package/dist/components/BbForm/BbForm.vue_vue_type_script_setup_true_lang.js +114 -105
  262. package/dist/components/BbForm/BbFormCustomField.js +1 -1
  263. package/dist/components/BbForm/bindFormField.js +2 -1
  264. package/dist/components/BbForm/formFields.d.ts +5 -0
  265. package/dist/components/BbHoverCard/BbHoverCard.vue_vue_type_script_setup_true_lang.js +145 -142
  266. package/dist/components/BbHoverCard/BbHoverCardPortal.vue.d.ts +2 -2
  267. package/dist/components/BbHoverCard/types.d.ts +14 -1
  268. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +0 -1
  269. package/dist/components/BbNumberInput/BbNumberInput.vue_vue_type_script_setup_true_lang.js +452 -125
  270. package/dist/components/BbNumberInput/numberDisplay.d.ts +256 -0
  271. package/dist/components/BbNumberInput/numberDisplay.js +499 -0
  272. package/dist/components/BbNumberInput/types.d.ts +54 -1
  273. package/dist/components/BbNumberInput/warroom/corpus.d.ts +58 -0
  274. package/dist/components/BbNumberInput/warroom/currency-verify.rows.d.ts +28 -0
  275. package/dist/components/BbNumberInput/warroom/currency.rows.d.ts +2 -0
  276. package/dist/components/BbNumberInput/warroom/harness.d.ts +217 -0
  277. package/dist/components/BbNumberInput/warroom/oracle.d.ts +150 -0
  278. package/dist/components/BbPagination/BbPagination.vue_vue_type_script_setup_true_lang.js +7 -7
  279. package/dist/components/BbPopover/BbPopover.vue.d.ts +1 -0
  280. package/dist/components/BbPopover/BbPopover.vue_vue_type_script_setup_true_lang.js +207 -162
  281. package/dist/components/BbPopover/BbPopoverPortal.vue.d.ts +2 -2
  282. package/dist/components/BbPopover/types.d.ts +26 -1
  283. package/dist/components/BbProgress/BbProgress.vue_vue_type_script_setup_true_lang.js +15 -7
  284. package/dist/components/BbProgress/types.d.ts +23 -7
  285. package/dist/components/BbProgress/types.js +1 -1
  286. package/dist/components/BbRadioGroup/BbRadioGroup.vue_vue_type_script_setup_true_lang.js +102 -101
  287. package/dist/components/BbRadioGroup/types.d.ts +6 -2
  288. package/dist/components/BbRating/BbRating.vue_vue_type_script_setup_true_lang.js +63 -63
  289. package/dist/components/BbSelect/BbSelect.vue_vue_type_script_setup_true_lang.js +156 -154
  290. package/dist/components/BbSelect/types.d.ts +6 -2
  291. package/dist/components/BbSelectPopover/BbSelectPopover.vue_vue_type_script_setup_true_lang.js +2 -1
  292. package/dist/components/BbSelectPopover/types.d.ts +6 -2
  293. package/dist/components/BbSlider/BbSlider.vue_vue_type_script_setup_true_lang.js +153 -153
  294. package/dist/components/BbSwitch/BbSwitch.vue_vue_type_script_setup_true_lang.js +62 -62
  295. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue_vue_type_script_setup_true_lang.js +131 -130
  296. package/dist/components/BbTable/BbTable.vue_vue_type_script_setup_true_lang.js +711 -676
  297. package/dist/components/BbTabs/BbTabs.vue_vue_type_script_setup_true_lang.js +1 -1
  298. package/dist/components/BbTabs/BbTabsList.vue_vue_type_script_setup_true_lang.js +1 -1
  299. package/dist/components/BbTabs/types.d.ts +28 -22
  300. package/dist/components/BbTag/BbTag.vue_vue_type_script_setup_true_lang.js +76 -76
  301. package/dist/components/BbTextInput/BbTextInput.vue_vue_type_script_setup_true_lang.js +58 -58
  302. package/dist/components/BbTextarea/BbTextarea.vue_vue_type_script_setup_true_lang.js +82 -82
  303. package/dist/components/BbTimePickerInput/BbTimePickerInput.vue_vue_type_script_setup_true_lang.js +246 -236
  304. package/dist/components/BbTooltip/BbTooltip.vue_vue_type_script_setup_true_lang.js +99 -86
  305. package/dist/components/BbTooltip/tooltipWarmup.d.ts +23 -0
  306. package/dist/components/BbTooltip/tooltipWarmup.js +7 -0
  307. package/dist/components/BbTooltip/types.d.ts +10 -3
  308. package/dist/components/BbTree/BbTree.vue_vue_type_script_setup_true_lang.js +29 -21
  309. package/dist/components/BbTree/BbTreeLevel.vue_vue_type_script_setup_true_lang.js +10 -7
  310. package/dist/components/CommonFieldInput/CommonFieldInput.vue_vue_type_script_setup_true_lang.js +37 -36
  311. package/dist/components/CommonPopover/types.d.ts +2 -1
  312. package/dist/components/CommonTimeSelector/CommonTimeSelector.vue_vue_type_script_setup_true_lang.js +9 -9
  313. package/dist/composables/formSubmitLock.d.ts +6 -0
  314. package/dist/composables/formSubmitLock.js +4 -0
  315. package/dist/composables/useBaseOptions.d.ts +7 -1
  316. package/dist/composables/useBaseOptions.js +32 -32
  317. package/dist/composables/useBbDropdownContext.d.ts +8 -8
  318. package/dist/composables/useBbFormField.d.ts +9 -0
  319. package/dist/composables/useBbFormField.js +5 -3
  320. package/dist/composables/useBbTabsContext.d.ts +10 -10
  321. package/dist/composables/useBbTabsContext.js +18 -18
  322. package/dist/composables/useFormBinding.d.ts +11 -0
  323. package/dist/composables/useFormBinding.js +15 -13
  324. package/dist/composables/useItemText.d.ts +5 -1
  325. package/dist/composables/useItemText.js +8 -3
  326. package/dist/composables/useItemValue.d.ts +5 -1
  327. package/dist/composables/useItemValue.js +8 -3
  328. package/dist/composables/useLocale.js +10 -9
  329. package/dist/deprecation/ai-deprecations.json.d.ts +130 -0
  330. package/dist/deprecation/ai-deprecations.json.js +1 -1
  331. package/dist/deprecation/removedProps.js +1 -1
  332. package/dist/directives/bbDropdown.js +1 -1
  333. package/dist/directives/directivePortal.d.ts +13 -7
  334. package/dist/directives/directivePortal.js +1 -4
  335. package/dist/i18n/index.d.ts +7 -12
  336. package/dist/i18n/locales/cs.json +11 -14
  337. package/dist/i18n/locales/da.json +13 -16
  338. package/dist/i18n/locales/de-CH.json +137 -0
  339. package/dist/i18n/locales/de.json +14 -17
  340. package/dist/i18n/locales/el.json +10 -13
  341. package/dist/i18n/locales/en-GB.json +137 -0
  342. package/dist/i18n/locales/en.json +8 -11
  343. package/dist/i18n/locales/es-MX.json +137 -0
  344. package/dist/i18n/locales/es.json +16 -19
  345. package/dist/i18n/locales/fi.json +8 -11
  346. package/dist/i18n/locales/fr.json +23 -26
  347. package/dist/i18n/locales/hu.json +8 -11
  348. package/dist/i18n/locales/it.json +12 -15
  349. package/dist/i18n/locales/ja.json +13 -16
  350. package/dist/i18n/locales/ko.json +10 -13
  351. package/dist/i18n/locales/nb.json +13 -16
  352. package/dist/i18n/locales/nl.json +21 -24
  353. package/dist/i18n/locales/pl.json +10 -13
  354. package/dist/i18n/locales/{pt.json → pt-BR.json} +19 -22
  355. package/dist/i18n/locales/pt-PT.json +137 -0
  356. package/dist/i18n/locales/ro.json +22 -25
  357. package/dist/i18n/locales/ru.json +11 -14
  358. package/dist/i18n/locales/sv.json +16 -19
  359. package/dist/i18n/locales/tr.json +14 -17
  360. package/dist/i18n/locales/uk.json +11 -14
  361. package/dist/i18n/locales/{zh-cn.json → zh-CN.json} +10 -13
  362. package/dist/i18n/locales/zh-HK.json +137 -0
  363. package/dist/i18n/locales/zh-TW.json +137 -0
  364. package/dist/i18n/regionHints.d.ts +16 -0
  365. package/dist/i18n/regionHints.js +49 -0
  366. package/dist/i18n/regions.d.ts +286 -0
  367. package/dist/i18n/regions.js +265 -0
  368. package/dist/index.d.ts +4 -4
  369. package/dist/index.js +4 -4
  370. package/dist/llms-full.txt +1914 -1714
  371. package/dist/llms-medium.txt +76 -46
  372. package/dist/llms.txt +7 -7
  373. package/dist/locale-blueprint.json +16 -13
  374. package/dist/styles.css +2 -2
  375. package/dist/types/passthrough.d.ts +1 -1
  376. package/dist/types/ptComponentMap.d.ts +2 -2
  377. package/dist/utilities/functions/slotKey.d.ts +2 -2
  378. package/dist/utils/versionCheck.js +1 -1
  379. package/dist/vite-plugin.d.ts +22 -19
  380. package/dist/vite.js +309 -297
  381. package/llms.txt +7 -7
  382. package/package.json +5 -3
  383. package/scripts/lib/agent-manifest.mjs +2 -1
  384. package/scripts/lib/eslint-disable.mjs +17 -4
  385. package/scripts/lib/eslint-plugin.d.ts +9 -1
  386. package/scripts/lib/eslint-plugin.mjs +256 -6
  387. package/scripts/lib/helper-canon.mjs +176 -0
  388. package/scripts/lib/helpers-add.mjs +1303 -0
  389. package/scripts/lib/local-components.mjs +33 -4
  390. package/scripts/lib/locale-check.mjs +165 -0
  391. package/scripts/lib/portal-names.mjs +458 -0
  392. package/scripts/lib/redundant-item-accessor.mjs +398 -0
  393. package/scripts/lib/renamed-item-field.mjs +343 -0
  394. package/scripts/lib/slot-key.mjs +2 -2
  395. package/scripts/lib/slot-renames.mjs +1 -1
  396. package/scripts/lib/unimported-components.mjs +5 -2
  397. package/scripts/lib/validate-bb-markup.mjs +123 -56
  398. package/dist/i18n/index.js +0 -27
@@ -5,63 +5,58 @@ import { extractDomContainer as r } from "../../utilities/functions/extractDomCo
5
5
  import i from "../CommonPopover/CommonPopover.vue.js";
6
6
  import { useSheetSurface as a } from "../../composables/useSheetSurface.js";
7
7
  import { BB_BASE_BUTTON_PROP_KEYS as ee } from "../BbBaseButton/types.js";
8
- import te from "../BbBaseButton/BbBaseButton.vue.js";
9
- import { useLocale as ne } from "../../composables/useLocale.js";
8
+ import { useLocale as te } from "../../composables/useLocale.js";
10
9
  import o from "../BbIcon/BbIcon.vue.js";
11
- import re from "../BbBadge/BbBadge.vue.js";
12
- import ie from "../ErrorIcon/ErrorIcon.vue.js";
10
+ import ne from "../BbBadge/BbBadge.vue.js";
11
+ import re from "../ErrorIcon/ErrorIcon.vue.js";
12
+ import ie from "./DropdownRow.vue.js";
13
13
  import { isImeComposing as ae } from "../../utilities/functions/isImeComposing.js";
14
14
  import { matchAnyKey as oe } from "../../utilities/functions/matchAnyKey.js";
15
- import se from "../../assets/svgs/check_stroke.svg_raw.js";
16
- import ce from "../../assets/svgs/chevron_right.svg_raw.js";
17
- import le from "../../assets/svgs/search.svg_raw.js";
18
- import { useImeDismissBlur as ue } from "../../composables/useImeDismissBlur.js";
19
- import { isPrintableTypeaheadKey as de, normalizeSearchToken as fe, useTypeahead as pe } from "../../composables/useTypeahead.js";
20
- import { levelHasSearch as me, normalizeGroups as he } from "./normalizeGroups.js";
21
- import { useDropdownContext as ge } from "./useDropdownContext.js";
22
- import _e from "./BbDropdownList.vue.js";
23
- import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as ve, createVNode as ye, defineComponent as be, mergeProps as p, nextTick as m, normalizeClass as h, normalizeStyle as xe, onBeforeUnmount as Se, onMounted as Ce, openBlock as g, ref as _, renderList as v, resolveDynamicComponent as y, toDisplayString as b, unref as x, watch as we, watchEffect as Te, withCtx as S, withKeys as Ee, withModifiers as De } from "vue";
15
+ import se from "../../assets/svgs/search.svg_raw.js";
16
+ import { useImeDismissBlur as ce } from "../../composables/useImeDismissBlur.js";
17
+ import { isPrintableTypeaheadKey as le, normalizeSearchToken as ue, useTypeahead as de } from "../../composables/useTypeahead.js";
18
+ import { levelHasSearch as fe, normalizeGroups as pe } from "./normalizeGroups.js";
19
+ import { useDropdownContext as me } from "./useDropdownContext.js";
20
+ import he from "./BbDropdownList.vue.js";
21
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as ge, createVNode as p, defineComponent as _e, mergeProps as m, nextTick as h, normalizeClass as g, normalizeStyle as ve, onBeforeUnmount as ye, onMounted as be, openBlock as _, ref as v, renderList as y, resolveDynamicComponent as b, toDisplayString as x, unref as S, watch as xe, watchEffect as Se, withCtx as Ce, withKeys as we, withModifiers as Te } from "vue";
24
22
  //#region src/components/BbDropdown/BbDropdownList.vue?vue&type=script&setup=true&lang.ts
25
- var Oe = {
23
+ var Ee = {
26
24
  key: 0,
27
25
  "aria-hidden": "true",
28
26
  class: "bb-dropdown__divider"
29
- }, ke = [
27
+ }, De = [
30
28
  "id",
31
29
  "role",
32
30
  "tabindex",
33
31
  "onClick",
34
32
  "onKeydown"
35
- ], Ae = {
33
+ ], Oe = {
36
34
  key: 4,
37
35
  class: "group-title__content"
38
- }, je = {
36
+ }, ke = {
39
37
  key: 2,
40
38
  class: "bb-dropdown__sheet-selection"
41
- }, Me = { class: "bb-dropdown__sheet-chips" }, Ne = {
39
+ }, Ae = { class: "bb-dropdown__sheet-chips" }, je = {
42
40
  key: 3,
43
41
  class: "bb-dropdown__group-search",
44
42
  role: "none"
45
- }, Pe = [
43
+ }, Me = [
46
44
  "aria-label",
47
45
  "placeholder",
48
46
  "value",
49
47
  "onInput"
50
- ], Fe = {
48
+ ], Ne = {
51
49
  key: 0,
52
50
  "aria-hidden": "true",
53
51
  class: "bb-dropdown__group-loading"
54
- }, Ie = ["aria-labelledby", "role"], Le = { class: "item__content" }, Re = {
55
- key: 4,
56
- class: "item__content"
57
- }, ze = ["id"], Be = ["id"], Ve = [
52
+ }, Pe = ["aria-labelledby", "role"], Fe = { class: "item__content" }, Ie = [
58
53
  "id",
59
54
  "aria-label",
60
55
  "data-bb-dropdown-surface",
61
56
  "inert",
62
57
  "role",
63
58
  "onPointerleave"
64
- ], He = 289, Ue = 160, We = 100, Ge = 120, Ke = /*@__PURE__*/ be({
59
+ ], Le = 289, Re = 160, ze = 100, C = 120, w = /*@__PURE__*/ _e({
65
60
  __name: "BbDropdownList",
66
61
  props: {
67
62
  groups: {},
@@ -71,560 +66,531 @@ var Oe = {
71
66
  slotDepth: {}
72
67
  },
73
68
  emits: ["close-level"],
74
- setup(be, { expose: Ke, emit: qe }) {
75
- let C = be, Je = qe, Ye = c(() => C.slotDepth ?? C.level), w = ge(), { inSheet: T } = a(), { t: Xe } = ne(), Ze = Xe("select.searchLabel"), Qe = Xe("common.emptyText"), $e = (e, t, n) => {
69
+ setup(_e, { expose: w, emit: Be }) {
70
+ let T = _e, E = Be, D = c(() => T.slotDepth ?? T.level), O = me(), { inSheet: k } = a(), { t: Ve } = te(), He = Ve("select.searchLabel"), Ue = Ve("common.emptyText"), We = (e, t, n) => {
76
71
  if (e.placeholder) return !0;
77
- let r = n && n.length ? n : e.description == null ? ["text"] : ["text", "description"];
72
+ let r = n && n.length ? n : e.description == null ? ["label"] : ["label", "description"];
78
73
  try {
79
74
  return oe(e, r, t);
80
75
  } catch {
81
76
  return !1;
82
77
  }
83
- }, E = c(() => C.groups.map((e) => {
84
- if (!e.searchable || !e.key || w.isPipelineGroup(e.key)) return e;
85
- let t = w.queryFor(e.key).trim();
78
+ }, A = c(() => T.groups.map((e) => {
79
+ if (!e.searchable || !e.id || O.isPipelineGroup(e.id)) return e;
80
+ let t = O.queryFor(e.id).trim();
86
81
  if (!t) return e;
87
- let n = e.items.filter((n) => $e(n, t, e.filterBy));
82
+ let n = e.items.filter((n) => We(n, t, e.filterBy));
88
83
  return n.length ? {
89
84
  ...e,
90
85
  items: n
91
86
  } : {
92
87
  ...e,
93
88
  items: [{
94
- key: "__bb-dropdown:no-results__",
89
+ rowKey: "__bb-dropdown:no-results__",
90
+ domKey: "no-results",
95
91
  placeholder: "empty",
96
- text: w.emptyText.value ?? Qe.value,
92
+ label: O.emptyText.value ?? Ue.value,
97
93
  disabled: !0
98
94
  }]
99
95
  };
100
96
  }));
101
- Te(() => {
102
- if (C.level !== 0) return;
103
- let e = E.value.flatMap((e) => e.items).find((e) => e.placeholder);
104
- w.setStatus(e?.text);
105
- }), Te(() => {
106
- for (let e of C.groups) e.key && w.isPipelineGroup(e.key) && w.activateGroup(e.key);
97
+ Se(() => {
98
+ if (T.level !== 0) return;
99
+ let e = A.value.flatMap((e) => e.items).find((e) => e.placeholder);
100
+ O.setStatus(e?.label);
101
+ }), Se(() => {
102
+ for (let e of T.groups) e.id && O.isPipelineGroup(e.id) && O.activateGroup(e.id);
107
103
  });
108
- let D = _({}), et = (e, t) => {
104
+ let j = v({}), Ge = (e, t) => {
109
105
  let n = r(t);
110
- n instanceof HTMLInputElement ? D.value[e] = n : delete D.value[e];
111
- }, tt = c(() => E.value.find((e) => e.searchable && e.key)?.key), nt = (e) => {
112
- if (T.value) return;
113
- let t = e.maxHeight ?? (e.searchable ? He : void 0);
106
+ n instanceof HTMLInputElement ? j.value[e] = n : delete j.value[e];
107
+ }, Ke = c(() => A.value.find((e) => e.searchable && e.id)?.id), qe = (e) => {
108
+ if (k.value) return;
109
+ let t = e.maxHeight ?? (e.searchable ? Le : void 0);
114
110
  if (!(t == null || t === 0 || t === "none")) return typeof t == "number" ? `${t}px` : t;
115
- }, rt = (e) => he(e).map((e) => e.selectable ? {
111
+ }, Je = (e) => pe(e).map((e) => e.selectable ? {
116
112
  ...e,
117
- selected: w.selectedFor(e.key ?? "")
118
- } : e), it = (e) => e.keyless || e.key == null || e.key === "" ? null : n(String(e.key)), at = (e) => e.slotKey ? n(e.slotKey) : it(e), O = (e, t) => {
119
- let n = at(e);
120
- if (n === null) return;
121
- let r = t ? `${n}:${t}` : n, i = w.slots[r];
122
- if (i) return i;
123
- let a = it(e);
124
- if (a === null || a === n) return;
125
- let ee = t ? `${a}:${t}` : a;
126
- return w.slots[ee];
127
- }, k = (e, t, n) => O(t, n) ?? A(e, n), A = (e, t) => {
128
- if (!e.key) return;
129
- let r = `${n(e.key)}:item`;
130
- return w.slots[t ? `${r}:${t}` : r];
131
- }, ot = (e) => e.variant && e.variant !== "default" ? `bb-dropdown__item--variant-${e.variant}` : void 0, st = (e) => e.variant && e.variant !== "default" ? `bb-dropdown__group-title--variant-${e.variant}` : void 0, ct = (e) => e.selectable ? e.multiple ? "menuitemcheckbox" : "menuitemradio" : "menuitem", j = (e, t) => e.selected.includes(t.key), M = (e) => {
113
+ selected: O.selectedFor(e.id ?? "")
114
+ } : e), Ye = /* @__PURE__ */ new WeakMap(), Xe = (e) => {
115
+ let t = Ye.get(e);
116
+ return t === void 0 && Ye.set(e, t = Ze(e)), t;
117
+ }, Ze = (e) => {
118
+ if (e.slotKey) return n(e.slotKey);
119
+ if (e.keyless) return null;
120
+ let t = e.value;
121
+ return typeof t == "number" ? n(String(t)) : typeof t == "string" && t !== "" ? n(t) : null;
122
+ }, Qe = (e, t) => {
123
+ let n = Xe(e);
124
+ if (n !== null) return O.slots[t ? `${n}:${t}` : n];
125
+ }, $e = (e, t, n) => Qe(t, n) ?? et(e, n), et = (e, t) => {
126
+ if (!e.id) return;
127
+ let r = `${n(e.id)}:item`;
128
+ return O.slots[t ? `${r}:${t}` : r];
129
+ }, tt = (e) => e.variant && e.variant !== "default" ? `bb-dropdown__item--variant-${e.variant}` : void 0, nt = (e) => e.variant && e.variant !== "default" ? `bb-dropdown__group-title--variant-${e.variant}` : void 0, rt = (e) => e.selectable ? e.multiple ? "menuitemcheckbox" : "menuitemradio" : "menuitem", it = (e, t) => e.selected.includes(t.rowKey), at = /* @__PURE__ */ new WeakMap(), ot = (e, t) => {
130
+ let n = Object.keys(e);
131
+ return n.length === Object.keys(t).length && n.every((n) => n === "selected" || e[n] === t[n]);
132
+ }, st = (e) => {
133
+ let t = at.get(e.items);
134
+ return t && ot(t, e) ? t : (at.set(e.items, e), e);
135
+ }, M = (e) => {
132
136
  let t = 0;
133
- for (let n = 0; n < e; n++) t += E.value[n]?.items.length ?? 0;
137
+ for (let n = 0; n < e; n++) t += A.value[n]?.items.length ?? 0;
134
138
  return t;
135
- }, lt = /* @__PURE__ */ new Set([...ee.filter((e) => e !== "text" && e !== "disabled")]), ut = (e) => {
139
+ }, ct = /* @__PURE__ */ new Set([...ee.filter((e) => e !== "text" && e !== "disabled")]), lt = (e) => {
136
140
  let t = {};
137
- for (let [n, r] of Object.entries(e)) (lt.has(n) || /^(aria|data)-/.test(n)) && (t[n] = r);
141
+ for (let [n, r] of Object.entries(e)) (ct.has(n) || /^(aria|data)-/.test(n)) && (t[n] = r);
138
142
  return t;
139
- }, dt = (e, t, n) => p(ut(t), {
140
- "aria-busy": w.isItemLoading(t.key) || void 0,
141
- "aria-checked": e.selectable ? j(e, t) : void 0,
142
- "aria-describedby": xt(e, t, n),
143
- "aria-labelledby": bt(e, t, n),
144
- "aria-expanded": t.items ? q.value === t.key : void 0,
143
+ }, ut = (e, t, n, r) => m(lt(t), {
144
+ "aria-busy": O.isItemLoading(t.rowKey) || void 0,
145
+ "aria-checked": e.selectable ? r : void 0,
146
+ "aria-describedby": St(e, t, n),
147
+ "aria-labelledby": xt(e, t, n),
148
+ "aria-expanded": t.items ? G.value === t.rowKey : void 0,
145
149
  "aria-haspopup": t.items ? "menu" : void 0,
146
- class: [ot(t), {
147
- "bb-dropdown__item--selected": e.selectable && j(e, t),
150
+ class: [tt(t), {
151
+ "bb-dropdown__item--selected": r,
148
152
  "bb-dropdown__item--has-submenu": !!t.items,
149
153
  "bb-dropdown__item--description": !!t.description
150
154
  }],
151
155
  "data-dropdown-item": "",
152
- disabled: t.disabled || w.disabled.value,
153
- role: ct(e),
156
+ disabled: t.disabled || O.disabled.value,
157
+ role: rt(e),
154
158
  tabindex: -1,
155
- onClick: (r) => tn(e, t, n, r),
156
- onKeydown: (e) => nn(t, n, e),
157
- onMousedown: (t) => en(e, t),
158
- onPointerenter: (e) => Xt(t, n, e),
159
- onPointerleave: (e) => Qt(t, e)
160
- }, N("item", e, t));
161
- function N(e, t, n) {
162
- return w.passthrough.part(e, {
163
- selected: !!(t.selectable && j(t, n)),
164
- disabled: n.disabled || w.disabled.value || void 0
165
- }, pt(n));
159
+ onClick: (r) => en(e, t, n, r),
160
+ onKeydown: (e) => tn(t, n, e),
161
+ onMousedown: (t) => $t(e, t),
162
+ onPointerenter: (e) => Yt(t, n, e),
163
+ onPointerleave: (e) => Zt(t, e)
164
+ }, dt("item", t, r));
165
+ function dt(e, t, n) {
166
+ return O.passthrough.part(e, {
167
+ selected: n,
168
+ disabled: t.disabled || O.disabled.value || void 0
169
+ }, pt(t));
166
170
  }
167
- let ft = (e) => e.placeholder ? w.slots[e.placeholder === "loading" ? "loading" : "empty"] : void 0, pt = (e) => {
168
- if (!e.keyless) return e;
169
- let { key: t, keyless: n, ...r } = e;
170
- return r;
171
+ let ft = (e) => e.placeholder ? O.slots[e.placeholder === "loading" ? "loading" : "empty"] : void 0, pt = (e) => {
172
+ let { rowKey: t, domKey: n, keyless: r, ...i } = e;
173
+ return i;
171
174
  }, mt = (e) => ({
172
- key: e.key,
175
+ id: e.id,
173
176
  label: e.label,
174
177
  meta: e.meta,
175
178
  multiple: e.multiple,
176
179
  selectable: e.selectable
177
- }), P = (e, t, n) => ({
178
- disabled: t.disabled || w.disabled.value,
180
+ }), ht = (e, t, n, r) => ({
181
+ disabled: t.disabled || O.disabled.value,
179
182
  group: mt(e),
180
183
  groupTitle: !1,
181
184
  index: n,
182
185
  item: pt(t),
183
- level: Ye.value,
184
- selected: e.selectable && j(e, t),
185
- loading: w.isItemLoading(t.key),
186
- open: w.open.value,
187
- placement: w.placement.value,
188
- text: t.text,
186
+ level: D.value,
187
+ selected: r,
188
+ loading: O.isItemLoading(t.rowKey),
189
+ open: O.open.value,
190
+ placement: O.placement.value,
191
+ label: t.label,
189
192
  description: t.description
190
- }), F = (e, t) => {
191
- if (!e.key) return;
192
- let r = n(e.key);
193
- return w.slots[t ? `${r}:${t}` : r];
194
- }, I = (e) => !e.hideLabel && (!!e.label || !!e["prepend:icon"] || !!e["append:icon"] || !!F(e) || !!F(e, "prepend") || !!F(e, "append")), ht = (e) => !e.key || !e.selectable || !e.multiple ? [] : w.selectedChipsFor(e.key), L = t().id, gt = (e) => `${L.value}_group-title_${e}`, _t = (e) => `${L.value}_row-text_${e}`, vt = (e) => `${L.value}_row-description_${e}`, yt = (e, t) => !!t.description && !k(e, t), bt = (e, t, n) => {
193
+ }), N = (e, t) => {
194
+ if (!e.id) return;
195
+ let r = n(e.id);
196
+ return O.slots[t ? `${r}:${t}` : r];
197
+ }, P = (e) => !e.hideLabel && (!!e.label || !!e["prepend:icon"] || !!e["append:icon"] || !!N(e) || !!N(e, "prepend") || !!N(e, "append")), gt = (e) => !e.id || !e.selectable || !e.multiple ? [] : O.selectedChipsFor(e.id), F = t().id, _t = (e) => `${F.value}_group-title_${e}`, vt = (e) => `${F.value}_row-text_${e}`, yt = (e) => `${F.value}_row-description_${e}`, bt = (e, t) => !!t.description && !$e(e, t), xt = (e, t, n) => {
195
198
  let r = t;
196
- return yt(e, t) && !r["aria-label"] && !r["aria-labelledby"] ? _t(n) : r["aria-labelledby"];
197
- }, xt = (e, t, n) => {
199
+ return bt(e, t) && !r["aria-label"] && !r["aria-labelledby"] ? vt(n) : r["aria-labelledby"];
200
+ }, St = (e, t, n) => {
198
201
  let r = t["aria-describedby"];
199
- return yt(e, t) ? [r, vt(n)].filter(Boolean).join(" ") : r;
200
- }, St = c(() => me(E.value)), Ct = (e) => !!e.items && me(rt(e.items)), wt = (e) => St.value ? "menu" : I(e) ? "group" : "none", Tt = (e, t) => I(e) ? gt(t) : void 0, R = (e, t) => ({
201
- disabled: w.disabled.value,
202
+ return bt(e, t) ? [r, yt(n)].filter(Boolean).join(" ") : r;
203
+ }, Ct = c(() => fe(A.value)), wt = (e) => !!e.items && fe(Je(e.items)), Tt = (e) => Ct.value ? "menu" : P(e) ? "group" : "none", Et = (e, t) => P(e) ? _t(t) : void 0, I = (e, t) => ({
204
+ disabled: O.disabled.value,
202
205
  group: mt(e),
203
206
  groupTitle: !0,
204
207
  index: t,
205
208
  item: e,
206
- level: Ye.value,
209
+ level: D.value,
207
210
  selected: !1,
208
211
  loading: !1,
209
- open: w.open.value,
210
- placement: w.placement.value,
211
- text: e.label
212
- }), z = _({}), Et = (e, t) => {
212
+ open: O.open.value,
213
+ placement: O.placement.value,
214
+ label: e.label
215
+ }), L = v({}), Dt = (e, t) => {
213
216
  let n = r(t);
214
- n ? z.value[e] = n : delete z.value[e];
215
- }, B = _({}), Dt = (e, t) => {
217
+ n ? L.value[e] = n : delete L.value[e];
218
+ }, R = v({}), Ot = (e, t) => {
216
219
  let n = r(t);
217
- n instanceof HTMLElement ? B.value[e] = n : delete B.value[e];
218
- }, V = () => {
220
+ n instanceof HTMLElement ? R.value[e] = n : delete R.value[e];
221
+ }, z = () => {
219
222
  let e = [], t = 0;
220
- for (let n of E.value) {
221
- n.onClick && I(n) && e.push(t - .5);
222
- for (let r of n.items) r.disabled || w.disabled.value || e.push(t), t++;
223
+ for (let n of A.value) {
224
+ n.onClick && P(n) && e.push(t - .5);
225
+ for (let r of n.items) r.disabled || O.disabled.value || e.push(t), t++;
223
226
  }
224
227
  return e;
225
- }, Ot = (e) => {
228
+ }, kt = (e) => {
226
229
  let t = 0;
227
- for (let n = 0; n < E.value.length; n++) {
230
+ for (let n = 0; n < A.value.length; n++) {
228
231
  if (t - .5 === e) return n;
229
- t += E.value[n].items.length;
232
+ t += A.value[n].items.length;
230
233
  }
231
234
  return -1;
232
- }, H = (e) => {
235
+ }, B = (e) => {
233
236
  if (e != null) {
234
237
  if (Number.isInteger(e)) {
235
- z.value[e]?.focus();
238
+ L.value[e]?.focus();
236
239
  return;
237
240
  }
238
- B.value[Ot(e)]?.focus();
241
+ R.value[kt(e)]?.focus();
239
242
  }
240
- }, kt = () => Object.values(D.value).some((e) => e === document.activeElement);
241
- ue({
242
- active: T,
243
- input: () => Object.values(D.value).find((e) => e === document.activeElement) ?? null
243
+ }, At = () => Object.values(j.value).some((e) => e === document.activeElement);
244
+ ce({
245
+ active: k,
246
+ input: () => Object.values(j.value).find((e) => e === document.activeElement) ?? null
244
247
  });
245
- let At = () => {
246
- let e = tt.value;
247
- return e ? (D.value[e]?.focus(), !0) : !1;
248
- }, U = () => H(V()[0]), jt = (e) => {
248
+ let jt = () => {
249
+ let e = Ke.value;
250
+ return e ? (j.value[e]?.focus(), !0) : !1;
251
+ }, V = () => B(z()[0]), Mt = (e) => {
249
252
  let t = 0;
250
- for (let n of E.value) for (let r of n.items) {
251
- if (r.key === e) return t;
253
+ for (let n of A.value) for (let r of n.items) {
254
+ if (r.rowKey === e) return t;
252
255
  t++;
253
256
  }
254
257
  return -1;
255
- }, W = (e, t) => {
256
- let n = V();
258
+ }, H = (e, t) => {
259
+ let n = z();
257
260
  if (!n.length) return;
258
261
  let r = n.indexOf(e), i = r === -1 ? t > 0 ? 0 : n.length - 1 : (r + t + n.length) % n.length;
259
- H(n[i]);
260
- }, G = () => {
261
- !T.value && At() || U();
262
- }, K = () => {
263
- let e = V();
264
- H(e[e.length - 1]);
265
- }, Mt = (e) => {
262
+ B(n[i]);
263
+ }, U = () => {
264
+ !k.value && jt() || V();
265
+ }, W = () => {
266
+ let e = z();
267
+ B(e[e.length - 1]);
268
+ }, Nt = (e) => {
266
269
  let t = 0;
267
- for (let n of E.value) for (let r of n.items) {
270
+ for (let n of A.value) for (let r of n.items) {
268
271
  if (t === e) return r;
269
272
  t++;
270
273
  }
271
- }, Nt = e(), Pt = pe({
272
- candidates: () => V().filter(Number.isInteger),
273
- getTokens: (e) => [fe(Mt(e)?.text ?? "", Nt.locale)],
274
+ }, Pt = e(), Ft = de({
275
+ candidates: () => z().filter(Number.isInteger),
276
+ getTokens: (e) => [ue(Nt(e)?.label ?? "", Pt.locale)],
274
277
  getCurrent: () => {
275
- let e = Object.entries(z.value).find(([, e]) => e === document.activeElement);
278
+ let e = Object.entries(L.value).find(([, e]) => e === document.activeElement);
276
279
  return e ? Number(e[0]) : void 0;
277
280
  },
278
- onMatch: (e) => H(e),
279
- locale: () => Nt.locale
280
- }), Ft = (e) => {
281
- de(e) && Pt.onKeydown(e);
282
- }, It = {
283
- ArrowDown: () => U(),
284
- ArrowUp: () => K(),
285
- Down: () => U(),
286
- Esc: () => w.close(),
287
- Escape: () => w.close(),
288
- Up: () => K()
289
- }, Lt = (e) => {
281
+ onMatch: (e) => B(e),
282
+ locale: () => Pt.locale
283
+ }), It = (e) => {
284
+ le(e) && Ft.onKeydown(e);
285
+ }, Lt = {
286
+ ArrowDown: () => V(),
287
+ ArrowUp: () => W(),
288
+ Down: () => V(),
289
+ Esc: () => O.close(),
290
+ Escape: () => O.close(),
291
+ Up: () => W()
292
+ }, Rt = (e) => {
290
293
  if (ae(e)) return;
291
- let t = It[e.key];
294
+ let t = Lt[e.key];
292
295
  t && (e.stopPropagation(), e.preventDefault(), t());
293
296
  };
294
- Ce(() => {
295
- C.level === 0 && tt.value && !T.value && m(() => At());
297
+ be(() => {
298
+ T.level === 0 && Ke.value && !k.value && h(() => jt());
296
299
  });
297
- let q = _(null), J = _({}), Y, X, Rt = 0, Z = _(null), zt;
298
- we(q, (e, t) => {
299
- clearTimeout(zt), Z.value = t ?? null, t != null && (zt = setTimeout(() => {
300
- Z.value = null;
301
- }, Ge));
300
+ let G = v(null), K = v({}), q, J, zt = 0, Y = v(null), X;
301
+ xe(G, (e, t) => {
302
+ clearTimeout(X), Y.value = t ?? null, t != null && (X = setTimeout(() => {
303
+ Y.value = null;
304
+ }, C));
302
305
  });
303
- let Bt = (e) => q.value !== e && Z.value !== e, Vt = _(0), Ht = () => {
304
- let e = Object.values(z.value)[0], t = e?.closest(".bb-dropdown");
306
+ let Bt = (e) => G.value !== e && Y.value !== e, Vt = v(0), Ht = () => {
307
+ let e = Object.values(L.value)[0], t = e?.closest(".bb-dropdown");
305
308
  !e || !t || (Vt.value = Math.max(0, t.getBoundingClientRect().right - e.getBoundingClientRect().right));
306
309
  }, Ut = (e, t) => {
307
- t ? J.value[e] = t : delete J.value[e];
308
- }, Q = () => clearTimeout(Y), $ = () => clearTimeout(X);
309
- Se(() => {
310
- clearTimeout(X), clearTimeout(Y), clearTimeout(zt);
310
+ t ? K.value[e] = t : delete K.value[e];
311
+ }, Z = () => clearTimeout(q), Q = () => clearTimeout(J);
312
+ ye(() => {
313
+ clearTimeout(J), clearTimeout(q), clearTimeout(X);
311
314
  });
312
315
  let Wt = (e) => {
313
- $(), clearTimeout(Y), Y = setTimeout(() => {
314
- q.value === e && (q.value = null);
315
- }, Ue);
316
+ Q(), clearTimeout(q), q = setTimeout(() => {
317
+ G.value === e && (G.value = null);
318
+ }, Re);
316
319
  }, Gt = (e) => {
317
320
  let t = e.trim();
318
321
  return t ? t.endsWith("ms") ? Number.parseFloat(t) || 0 : t.endsWith("s") ? (Number.parseFloat(t) || 0) * 1e3 : Number.parseFloat(t) || 0 : 0;
319
322
  }, Kt = (e) => {
320
- let t = z.value[e];
323
+ let t = L.value[e];
321
324
  if (!t) return 0;
322
325
  let n = t.closest(".bb-common-popover");
323
326
  if (!n) return 0;
324
327
  let r = getComputedStyle(n).getPropertyValue("--transition-duration"), i = Gt(r);
325
328
  if (!i) return 0;
326
- let a = performance.now() - Rt;
329
+ let a = performance.now() - zt;
327
330
  return Math.max(0, i - a + 16);
328
- }, qt = async (e, t = !1) => {
329
- Q(), Ht(), q.value = e, t && (await m(), J.value[e]?.focusFirst());
331
+ }, $ = async (e, t = !1) => {
332
+ Z(), Ht(), G.value = e, t && (await h(), K.value[e]?.focusFirst());
330
333
  };
331
- we(w.open, (e) => {
334
+ xe(O.open, (e) => {
332
335
  if (!e) {
333
- $(), Q(), q.value = null;
336
+ Q(), Z(), G.value = null;
334
337
  return;
335
338
  }
336
- Rt = performance.now();
339
+ zt = performance.now();
337
340
  });
338
- let Jt = (e, t) => {
339
- t ? q.value = e : q.value === e && (q.value = null);
340
- }, Yt = (e) => {
341
- q.value = null, m(() => H(e));
342
- }, Xt = (e, t, n) => {
341
+ let qt = (e, t) => {
342
+ t ? G.value = e : G.value === e && (G.value = null);
343
+ }, Jt = (e) => {
344
+ G.value = null, h(() => B(e));
345
+ }, Yt = (e, t, n) => {
343
346
  if (n.pointerType !== "mouse") return;
344
- if (Q(), $(), q.value !== null && q.value === e.key) {
345
- H(t);
347
+ if (Z(), Q(), G.value !== null && G.value === e.rowKey) {
348
+ B(t);
346
349
  return;
347
350
  }
348
351
  let r = () => {
349
- H(t), e.items ? qt(e.key) : q.value = null;
352
+ B(t), e.items ? $(e.rowKey) : G.value = null;
350
353
  };
351
- if (q.value !== null) {
352
- let e = jt(q.value);
353
- e >= 0 && Math.abs(t - e) <= 1 ? X = setTimeout(r, We) : r();
354
+ if (G.value !== null) {
355
+ let e = Mt(G.value);
356
+ e >= 0 && Math.abs(t - e) <= 1 ? J = setTimeout(r, ze) : r();
354
357
  return;
355
358
  }
356
359
  let i = e.items ? Kt(t) : 0;
357
- i ? X = setTimeout(r, i) : r();
358
- }, Zt = () => {
359
- Q(), $();
360
+ i ? J = setTimeout(r, i) : r();
361
+ }, Xt = () => {
362
+ Z(), Q();
363
+ }, Zt = (e, t) => {
364
+ t.pointerType === "mouse" && e.items && Wt(e.rowKey);
360
365
  }, Qt = (e, t) => {
361
- t.pointerType === "mouse" && e.items && Wt(e.key);
362
- }, $t = (e, t) => {
363
366
  t.pointerType === "mouse" && Wt(e);
364
- }, en = (e, t) => {
367
+ }, $t = (e, t) => {
365
368
  e.searchable && t.preventDefault();
366
- }, tn = (e, t, n, r) => {
367
- if (!(t.disabled || w.disabled.value) && !w.isItemLoading(t.key)) {
369
+ }, en = (e, t, n, r) => {
370
+ if (!(t.disabled || O.disabled.value) && !O.isItemLoading(t.rowKey)) {
368
371
  if (t.items) {
369
- r.stopPropagation(), Q(), $(), C.navigate ? C.navigate(t) : q.value = t.key;
372
+ r.stopPropagation(), Z(), Q(), T.navigate ? T.navigate(t) : G.value = t.rowKey;
370
373
  return;
371
374
  }
372
- if (e.selectable && e.key) {
373
- r.stopPropagation(), w.toggleSelect(e, t), w.runItemAction(t, r), kt() || H(n);
375
+ if (e.selectable && e.id) {
376
+ r.stopPropagation(), O.toggleSelect(e, t), O.runItemAction(t, r), At() || B(n);
374
377
  return;
375
378
  }
376
- r.stopPropagation(), w.runItemAction(t, r, { close: !0 });
379
+ r.stopPropagation(), O.runItemAction(t, r, { close: !0 });
377
380
  }
378
- }, nn = (e, t, n) => {
381
+ }, tn = (e, t, n) => {
379
382
  switch (n.key) {
380
383
  case "ArrowDown":
381
- n.preventDefault(), $(), Q(), q.value = null, W(t, 1);
384
+ n.preventDefault(), Q(), Z(), G.value = null, H(t, 1);
382
385
  break;
383
386
  case "ArrowUp":
384
- n.preventDefault(), $(), Q(), q.value = null, W(t, -1);
387
+ n.preventDefault(), Q(), Z(), G.value = null, H(t, -1);
385
388
  break;
386
389
  case "Home":
387
- n.preventDefault(), G();
390
+ n.preventDefault(), U();
388
391
  break;
389
392
  case "End":
390
- n.preventDefault(), K();
393
+ n.preventDefault(), W();
391
394
  break;
392
395
  case "ArrowRight":
393
- e.items && (n.preventDefault(), n.stopPropagation(), C.navigate ? C.navigate(e) : qt(e.key, !0));
396
+ e.items && (n.preventDefault(), n.stopPropagation(), T.navigate ? T.navigate(e) : $(e.rowKey, !0));
394
397
  break;
395
398
  case "ArrowLeft":
396
- C.back ? (n.preventDefault(), n.stopPropagation(), C.back()) : C.level > 0 && (n.preventDefault(), n.stopPropagation(), Je("close-level"));
399
+ T.back ? (n.preventDefault(), n.stopPropagation(), T.back()) : T.level > 0 && (n.preventDefault(), n.stopPropagation(), E("close-level"));
397
400
  break;
398
- default: Ft(n);
401
+ default: It(n);
399
402
  }
400
- }, rn = (e, t) => {
403
+ }, nn = (e, t) => {
401
404
  let n = M(e) - .5;
402
405
  switch (t.key) {
403
406
  case "ArrowDown":
404
- t.preventDefault(), W(n, 1);
407
+ t.preventDefault(), H(n, 1);
405
408
  break;
406
409
  case "ArrowUp":
407
- t.preventDefault(), W(n, -1);
410
+ t.preventDefault(), H(n, -1);
408
411
  break;
409
412
  case "Home":
410
- t.preventDefault(), G();
413
+ t.preventDefault(), U();
411
414
  break;
412
415
  case "End":
413
- t.preventDefault(), K();
416
+ t.preventDefault(), W();
414
417
  break;
415
418
  case "ArrowLeft":
416
- C.back ? (t.preventDefault(), t.stopPropagation(), C.back()) : C.level > 0 && (t.preventDefault(), t.stopPropagation(), Je("close-level"));
419
+ T.back ? (t.preventDefault(), t.stopPropagation(), T.back()) : T.level > 0 && (t.preventDefault(), t.stopPropagation(), E("close-level"));
417
420
  break;
418
- default: Ft(t);
421
+ default: It(t);
419
422
  }
423
+ }, rn = {
424
+ slots: O.slots,
425
+ setItemEl: Dt,
426
+ itemAttrs: ut,
427
+ rowPart: dt,
428
+ slotProps: ht,
429
+ rowSlot: $e,
430
+ itemSlot: Qe,
431
+ groupRowSlot: et,
432
+ rowTextId: vt,
433
+ rowDescriptionId: yt
420
434
  };
421
- return Ke({
422
- focusFirst: G,
423
- focusLast: K
424
- }), (e, t) => (g(!0), d(s, null, v(E.value, (n, r) => (g(), d(s, { key: n.key ?? r }, [
425
- n.divider ? (g(), d("hr", Oe)) : u("", !0),
426
- I(n) ? (g(), d("div", {
435
+ return w({
436
+ focusFirst: U,
437
+ focusLast: W
438
+ }), (e, t) => (_(!0), d(s, null, y(A.value, (n, r) => (_(), d(s, { key: n.id ?? r }, [
439
+ n.divider ? (_(), d("hr", Ee)) : u("", !0),
440
+ P(n) ? (_(), d("div", {
427
441
  key: 1,
428
- id: gt(r),
442
+ id: _t(r),
429
443
  ref_for: !0,
430
- ref: (e) => Dt(r, e),
431
- class: h(["bb-dropdown__group-title", st(n)]),
444
+ ref: (e) => Ot(r, e),
445
+ class: g(["bb-dropdown__group-title", nt(n)]),
432
446
  role: n.onClick ? "menuitem" : "presentation",
433
447
  tabindex: n.onClick ? -1 : void 0,
434
448
  onClick: (e) => n.onClick?.(e),
435
449
  onKeydown: [
436
- (e) => n.onClick && rn(r, e),
437
- Ee((e) => n.onClick?.(e), ["enter"]),
438
- Ee(De((e) => n.onClick?.(e), ["prevent"]), ["space"])
450
+ (e) => n.onClick && nn(r, e),
451
+ we((e) => n.onClick?.(e), ["enter"]),
452
+ we(Te((e) => n.onClick?.(e), ["prevent"]), ["space"])
439
453
  ]
440
454
  }, [
441
- F(n, "prepend") ? (g(), l(y(F(n, "prepend")), p({
455
+ N(n, "prepend") ? (_(), l(b(N(n, "prepend")), m({
442
456
  key: 0,
443
457
  ref_for: !0
444
- }, R(n, M(r))), null, 16)) : x(w).slots["item:prepend"] ? (g(), l(y(x(w).slots["item:prepend"]), p({
458
+ }, I(n, M(r))), null, 16)) : S(O).slots["item:prepend"] ? (_(), l(b(S(O).slots["item:prepend"]), m({
445
459
  key: 1,
446
460
  ref_for: !0
447
- }, R(n, M(r))), null, 16)) : n["prepend:icon"] ? (g(), l(o, {
461
+ }, I(n, M(r))), null, 16)) : n["prepend:icon"] ? (_(), l(o, {
448
462
  key: 2,
449
463
  class: "group-title__prepend-icon",
450
464
  icon: n["prepend:icon"]
451
465
  }, null, 8, ["icon"])) : u("", !0),
452
- F(n) ? (g(), l(y(F(n)), p({
466
+ N(n) ? (_(), l(b(N(n)), m({
453
467
  key: 3,
454
468
  ref_for: !0
455
- }, R(n, M(r))), null, 16)) : n.label ? (g(), d("span", Ae, b(n.label), 1)) : u("", !0),
456
- F(n, "append") ? (g(), l(y(F(n, "append")), p({
469
+ }, I(n, M(r))), null, 16)) : n.label ? (_(), d("span", Oe, x(n.label), 1)) : u("", !0),
470
+ N(n, "append") ? (_(), l(b(N(n, "append")), m({
457
471
  key: 5,
458
472
  ref_for: !0
459
- }, R(n, M(r))), null, 16)) : x(w).slots["item:append"] ? (g(), l(y(x(w).slots["item:append"]), p({
473
+ }, I(n, M(r))), null, 16)) : S(O).slots["item:append"] ? (_(), l(b(S(O).slots["item:append"]), m({
460
474
  key: 6,
461
475
  ref_for: !0
462
- }, R(n, M(r))), null, 16)) : n["append:icon"] ? (g(), l(o, {
476
+ }, I(n, M(r))), null, 16)) : n["append:icon"] ? (_(), l(o, {
463
477
  key: 7,
464
478
  class: "group-title__append-icon",
465
479
  icon: n["append:icon"]
466
480
  }, null, 8, ["icon"])) : u("", !0)
467
- ], 42, ke)) : u("", !0),
468
- x(T) && ht(n).length ? (g(), d("div", je, [f("div", Me, [(g(!0), d(s, null, v(ht(n), (e) => (g(), l(re, {
481
+ ], 42, De)) : u("", !0),
482
+ S(k) && gt(n).length ? (_(), d("div", ke, [f("div", Ae, [(_(!0), d(s, null, y(gt(n), (e) => (_(), l(ne, {
469
483
  key: e.key,
470
484
  class: "bb-dropdown__sheet-chip",
471
- clearable: !x(w).disabled.value,
485
+ clearable: !S(O).disabled.value,
472
486
  size: "xl",
473
487
  variant: "secondary",
474
- "onClick:clear": (t) => x(w).deselect(n.key, e.key),
475
- onMousedown: t[0] ||= De(() => {}, ["prevent"])
488
+ "onClick:clear": (t) => S(O).deselect(n.id, e.key),
489
+ onMousedown: t[0] ||= Te(() => {}, ["prevent"])
476
490
  }, {
477
- default: S(() => [ve(b(e.text), 1)]),
491
+ default: Ce(() => [ge(x(e.text), 1)]),
478
492
  _: 2
479
493
  }, 1032, ["clearable", "onClick:clear"]))), 128))])])) : u("", !0),
480
- n.searchable && n.key ? (g(), d("div", Ne, [
481
- ye(o, {
494
+ n.searchable && n.id ? (_(), d("div", je, [
495
+ p(o, {
482
496
  "aria-hidden": "true",
483
497
  class: "bb-dropdown__search-icon",
484
498
  focusable: "false",
485
- icon: x(le)
499
+ icon: S(se)
486
500
  }, null, 8, ["icon"]),
487
- f("input", p({
501
+ f("input", m({
488
502
  ref_for: !0,
489
- ref: (e) => et(n.key, e),
490
- "aria-label": n.searchPlaceholder || x(Ze),
503
+ ref: (e) => Ge(n.id, e),
504
+ "aria-label": n.searchPlaceholder || S(He),
491
505
  autocomplete: "off",
492
506
  class: "bb-dropdown__search-input",
493
- placeholder: n.searchPlaceholder || x(Ze),
507
+ placeholder: n.searchPlaceholder || S(He),
494
508
  role: "searchbox",
495
509
  type: "text",
496
- value: x(w).queryFor(n.key)
497
- }, x(w).passthrough.input, {
498
- onInput: (e) => x(w).setQuery(n.key, e.target.value),
499
- onKeydown: Lt
500
- }), null, 16, Pe),
501
- n.key && x(w).isGroupLoading(n.key) ? (g(), d("div", Fe)) : u("", !0)
510
+ value: S(O).queryFor(n.id)
511
+ }, S(O).passthrough.input, {
512
+ onInput: (e) => S(O).setQuery(n.id, e.target.value),
513
+ onKeydown: Rt
514
+ }), null, 16, Me),
515
+ n.id && S(O).isGroupLoading(n.id) ? (_(), d("div", Ne)) : u("", !0)
502
516
  ])) : u("", !0),
503
517
  f("div", {
504
- "aria-labelledby": Tt(n, r),
505
- class: h(["bb-dropdown__group-items", {
506
- "bb-dropdown__group-items--capped": !!nt(n),
507
- "bb-dropdown__group-items--loading": !!n.key && x(w).isGroupLoading(n.key)
518
+ "aria-labelledby": Et(n, r),
519
+ class: g(["bb-dropdown__group-items", {
520
+ "bb-dropdown__group-items--capped": !!qe(n),
521
+ "bb-dropdown__group-items--loading": !!n.id && S(O).isGroupLoading(n.id)
508
522
  }]),
509
- role: wt(n),
510
- style: xe({ maxHeight: nt(n) })
511
- }, [(g(!0), d(s, null, v(n.items, (t, a) => (g(), d(s, { key: t.key }, [t.placeholder ? (g(), d("div", {
523
+ role: Tt(n),
524
+ style: ve({ maxHeight: qe(n) })
525
+ }, [(_(!0), d(s, null, y(n.items, (t, a) => (_(), d(s, { key: t.rowKey }, [t.placeholder ? (_(), d("div", {
512
526
  key: 0,
513
- class: h(["bb-dropdown__placeholder", `bb-dropdown__placeholder--${t.placeholder}`]),
527
+ class: g(["bb-dropdown__placeholder", `bb-dropdown__placeholder--${t.placeholder}`]),
514
528
  role: "presentation"
515
- }, [ft(t) ? (g(), l(y(ft(t)), {
529
+ }, [ft(t) ? (_(), l(b(ft(t)), {
516
530
  key: 0,
517
531
  error: t.placeholder === "loading" ? void 0 : t.error ?? null,
518
- "group-key": n.key,
519
- text: t.text
532
+ "group-id": n.id,
533
+ text: t.label
520
534
  }, null, 8, [
521
535
  "error",
522
- "group-key",
536
+ "group-id",
523
537
  "text"
524
- ])) : (g(), d(s, { key: 1 }, [t.placeholder === "failed" ? (g(), l(ie, {
538
+ ])) : (_(), d(s, { key: 1 }, [t.placeholder === "failed" ? (_(), l(re, {
525
539
  key: 0,
526
540
  class: "bb-dropdown__placeholder-icon"
527
- })) : u("", !0), f("span", Le, b(t.text), 1)], 64))], 2)) : (g(), d(s, { key: 1 }, [ye(te, p({
528
- ref_for: !0,
529
- ref: (e) => Et(M(r) + a, e),
530
- class: "bb-dropdown__item"
531
- }, dt(n, t, M(r) + a)), {
532
- default: S(() => [
533
- k(n, t, "prepend") ? (g(), l(y(k(n, t, "prepend")), p({
534
- key: 0,
535
- ref_for: !0
536
- }, P(n, t, M(r) + a)), null, 16)) : x(w).slots["item:prepend"] ? (g(), l(y(x(w).slots["item:prepend"]), p({
537
- key: 1,
538
- ref_for: !0
539
- }, P(n, t, M(r) + a)), null, 16)) : t["prepend:icon"] ? (g(), l(o, p({
540
- key: 2,
541
- class: "bb-dropdown__item-icon item__prepend-icon",
542
- icon: t["prepend:icon"],
543
- ref_for: !0
544
- }, N("itemIcon", n, t)), null, 16, ["icon"])) : u("", !0),
545
- k(n, t) ? (g(), l(y(k(n, t)), p({
546
- key: 3,
547
- ref_for: !0
548
- }, P(n, t, M(r) + a)), null, 16)) : (g(), d("span", Re, [f("span", p({
549
- id: _t(M(r) + a),
550
- class: "bb-dropdown__item-text",
551
- ref_for: !0
552
- }, N("itemText", n, t)), b(t.text), 17, ze), t.description ? (g(), d("span", p({
553
- key: 0,
554
- id: vt(M(r) + a),
555
- class: "bb-dropdown__item-description",
556
- ref_for: !0
557
- }, N("itemDescription", n, t)), b(t.description), 17, Be)) : u("", !0)])),
558
- n.selectable ? (g(), l(o, {
559
- key: 5,
560
- "aria-hidden": "true",
561
- class: "item__check",
562
- icon: x(se)
563
- }, null, 8, ["icon"])) : u("", !0),
564
- n.selectable && j(n, t) ? u("", !0) : (g(), d(s, { key: 6 }, [O(t, "append") ? (g(), l(y(O(t, "append")), p({
565
- key: 0,
566
- ref_for: !0
567
- }, P(n, t, M(r) + a)), null, 16)) : t.items ? (g(), l(o, {
568
- key: 1,
569
- "aria-hidden": "true",
570
- class: "item__chevron",
571
- icon: x(ce)
572
- }, null, 8, ["icon"])) : A(n, "append") ? (g(), l(y(A(n, "append")), p({
573
- key: 2,
574
- ref_for: !0
575
- }, P(n, t, M(r) + a)), null, 16)) : x(w).slots["item:append"] ? (g(), l(y(x(w).slots["item:append"]), p({
576
- key: 3,
577
- ref_for: !0
578
- }, P(n, t, M(r) + a)), null, 16)) : t["append:icon"] ? (g(), l(o, p({
579
- key: 4,
580
- class: "bb-dropdown__item-icon item__append-icon",
581
- icon: t["append:icon"],
582
- ref_for: !0
583
- }, N("itemIcon", n, t)), null, 16, ["icon"])) : u("", !0)], 64))
584
- ]),
585
- _: 2
586
- }, 1040), t.items && !e.navigate ? (g(), l(i, {
541
+ })) : u("", !0), f("span", Fe, x(t.label), 1)], 64))], 2)) : (_(), d(s, { key: 1 }, [p(ie, {
542
+ group: st(n),
543
+ index: M(r) + a,
544
+ item: t,
545
+ row: rn,
546
+ selected: !!n.selectable && it(n, t)
547
+ }, null, 8, [
548
+ "group",
549
+ "index",
550
+ "item",
551
+ "selected"
552
+ ]), t.items && !e.navigate ? (_(), l(i, {
587
553
  key: 0,
588
- anchor: z.value[M(r) + a],
554
+ anchor: L.value[M(r) + a],
589
555
  class: "bb-dropdown bb-dropdown--submenu",
590
556
  "hide-arrow": "",
591
- "model-value": q.value === t.key,
557
+ "model-value": G.value === t.rowKey,
592
558
  offset: Vt.value,
593
559
  placement: "right-start",
594
560
  role: "none",
595
- "transition-duration": Ge,
596
- "onUpdate:modelValue": (e) => Jt(t.key, e)
561
+ "transition-duration": C,
562
+ "onUpdate:modelValue": (e) => qt(t.rowKey, e)
597
563
  }, {
598
- default: S(({ availableHeight: n }) => [f("span", {
599
- id: `submenu_${x(w).rootId}_${t.key}`,
600
- "aria-label": Ct(t) ? t.text : void 0,
564
+ default: Ce(({ availableHeight: n }) => [f("span", {
565
+ id: `submenu_${S(O).rootId}_${t.domKey}`,
566
+ "aria-label": wt(t) ? t.label : void 0,
601
567
  class: "bb-dropdown__list",
602
- "data-bb-dropdown-surface": x(w).rootId,
603
- inert: Bt(t.key),
604
- role: Ct(t) ? "dialog" : "menu",
605
- style: xe({ "--max-h": n == null ? void 0 : `${n}px` }),
606
- onPointerenter: Zt,
607
- onPointerleave: (e) => $t(t.key, e)
608
- }, [ye(_e, {
568
+ "data-bb-dropdown-surface": S(O).rootId,
569
+ inert: Bt(t.rowKey),
570
+ role: wt(t) ? "dialog" : "menu",
571
+ style: ve({ "--max-h": n == null ? void 0 : `${n}px` }),
572
+ onPointerenter: Xt,
573
+ onPointerleave: (e) => Qt(t.rowKey, e)
574
+ }, [p(he, {
609
575
  ref_for: !0,
610
- ref: (e) => Ut(t.key, e),
611
- groups: rt(t.items),
576
+ ref: (e) => Ut(t.rowKey, e),
577
+ groups: Je(t.items),
612
578
  level: e.level + 1,
613
- onCloseLevel: (e) => Yt(M(r) + a)
579
+ onCloseLevel: (e) => Jt(M(r) + a)
614
580
  }, null, 8, [
615
581
  "groups",
616
582
  "level",
617
583
  "onCloseLevel"
618
- ])], 44, Ve)]),
584
+ ])], 44, Ie)]),
619
585
  _: 2
620
586
  }, 1032, [
621
587
  "anchor",
622
588
  "model-value",
623
589
  "offset",
624
590
  "onUpdate:modelValue"
625
- ])) : u("", !0)], 64))], 64))), 128))], 14, Ie)
591
+ ])) : u("", !0)], 64))], 64))), 128))], 14, Pe)
626
592
  ], 64))), 128));
627
593
  }
628
594
  });
629
595
  //#endregion
630
- export { Ke as default };
596
+ export { w as default };