@adyen/bento-vue2 1.90.0 → 1.92.0

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 (271) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/index.d.ts +372 -236
  3. package/dist/action-bar.js +1 -1
  4. package/dist/ai-tag.js +1 -1
  5. package/dist/alert.js +1 -1
  6. package/dist/assets/accordion-item.css +1 -1
  7. package/dist/assets/action-bar.css +1 -1
  8. package/dist/assets/base-modal.css +1 -1
  9. package/dist/assets/button-actions.css +1 -1
  10. package/dist/assets/card.css +1 -1
  11. package/dist/assets/checkbox-group.css +1 -1
  12. package/dist/assets/checkbox.css +1 -1
  13. package/dist/assets/data-grid.css +1 -1
  14. package/dist/assets/date-picker.css +1 -1
  15. package/dist/assets/date-range-picker.css +1 -1
  16. package/dist/assets/dialog-page.css +1 -1
  17. package/dist/assets/draggable-handle.css +1 -1
  18. package/dist/assets/dropdown.css +1 -1
  19. package/dist/assets/error-message.css +1 -1
  20. package/dist/assets/field-label.css +1 -0
  21. package/dist/assets/file-uploader.css +1 -1
  22. package/dist/assets/filter-bar.css +1 -1
  23. package/dist/assets/form-layout-title.css +1 -1
  24. package/dist/assets/input-field.css +1 -1
  25. package/dist/assets/input-time.css +1 -1
  26. package/dist/assets/inspector.css +1 -1
  27. package/dist/assets/modal-fullscreen.css +1 -1
  28. package/dist/assets/secondary-nav.css +1 -1
  29. package/dist/assets/sidepanel.css +1 -1
  30. package/dist/assets/toggle.css +1 -1
  31. package/dist/assets/use-cached-selected-values.css +1 -1
  32. package/dist/button.js +1 -1
  33. package/dist/card.js +1 -1
  34. package/dist/checkbox.js +2 -2
  35. package/dist/chunks/{action-bar.B63qIiiH.js → action-bar.ChuPTyQG.js} +3 -3
  36. package/dist/chunks/{action-bar.B63qIiiH.js.map → action-bar.ChuPTyQG.js.map} +1 -1
  37. package/dist/chunks/{ai-tag.CCJCOdXu.js → ai-tag.Dt8nijLW.js} +2 -2
  38. package/dist/chunks/{ai-tag.CCJCOdXu.js.map → ai-tag.Dt8nijLW.js.map} +1 -1
  39. package/dist/chunks/{alert.CXRb-Smf.js → alert.CLqcPN0Q.js} +73 -55
  40. package/dist/chunks/alert.CLqcPN0Q.js.map +1 -0
  41. package/dist/chunks/{base-modal.DpmeDmq-.js → base-modal.DMdzcBrq.js} +4 -4
  42. package/dist/chunks/base-modal.DMdzcBrq.js.map +1 -0
  43. package/dist/chunks/{button-actions-with-menu.ChTUOsZl.js → button-actions-with-menu.CXFziNUr.js} +2 -2
  44. package/dist/chunks/{button-actions-with-menu.ChTUOsZl.js.map → button-actions-with-menu.CXFziNUr.js.map} +1 -1
  45. package/dist/chunks/{button-actions.BmU1DngD.js → button-actions.CXD6_9qN.js} +5 -5
  46. package/dist/chunks/button-actions.CXD6_9qN.js.map +1 -0
  47. package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -1
  48. package/dist/chunks/button.C9b2AC9w.js.map +1 -1
  49. package/dist/chunks/calendar.rZsIZPxm.js +1232 -0
  50. package/dist/chunks/calendar.rZsIZPxm.js.map +1 -0
  51. package/dist/chunks/{card.WWUfBkqf.js → card.Brma5kdb.js} +2 -2
  52. package/dist/chunks/card.Brma5kdb.js.map +1 -0
  53. package/dist/chunks/{checkbox-group.CI0xDnql.js → checkbox-group.DWZvFkjz.js} +6 -6
  54. package/dist/chunks/checkbox-group.DWZvFkjz.js.map +1 -0
  55. package/dist/chunks/{checkbox.TsWA6O3Z.js → checkbox.BZP0wtnE.js} +20 -22
  56. package/dist/chunks/checkbox.BZP0wtnE.js.map +1 -0
  57. package/dist/chunks/{click-outside.CDz_x8mN.js → click-outside.BG01Sm0A.js} +2 -2
  58. package/dist/chunks/{click-outside.CDz_x8mN.js.map → click-outside.BG01Sm0A.js.map} +1 -1
  59. package/dist/chunks/{code-snippet.4DX9iUV8.js → code-snippet.DHAymIXp.js} +3 -3
  60. package/dist/chunks/code-snippet.DHAymIXp.js.map +1 -0
  61. package/dist/chunks/constructNow.CK0ryPil.js +8 -0
  62. package/dist/chunks/{constructNow.CIc7d13I.js.map → constructNow.CK0ryPil.js.map} +1 -1
  63. package/dist/chunks/{controls-group.D_KE99mg.js → controls-group.DSm2Ujwt.js} +2 -2
  64. package/dist/chunks/{controls-group.D_KE99mg.js.map → controls-group.DSm2Ujwt.js.map} +1 -1
  65. package/dist/chunks/country.types.jjXwaoMl.js.map +1 -1
  66. package/dist/chunks/{dashboard-section.TWlLdQHG.js → dashboard-section.D9rS8myE.js} +2 -2
  67. package/dist/chunks/{dashboard-section.TWlLdQHG.js.map → dashboard-section.D9rS8myE.js.map} +1 -1
  68. package/dist/chunks/{dashed-underline.CpDuQ3Fo.js → dashed-underline.D_FhFRXM.js} +2 -2
  69. package/dist/chunks/{dashed-underline.CpDuQ3Fo.js.map → dashed-underline.D_FhFRXM.js.map} +1 -1
  70. package/dist/chunks/{data-grid-template.DZaE-kOS.js → data-grid-template.CRijG20n.js} +2 -2
  71. package/dist/chunks/{data-grid-template.DZaE-kOS.js.map → data-grid-template.CRijG20n.js.map} +1 -1
  72. package/dist/chunks/{data-grid.x6cEW0az.js → data-grid.hMM9F36T.js} +540 -538
  73. package/dist/chunks/data-grid.hMM9F36T.js.map +1 -0
  74. package/dist/chunks/date-picker.BSo6Cvum.js +237 -0
  75. package/dist/chunks/date-picker.BSo6Cvum.js.map +1 -0
  76. package/dist/chunks/date-picker.types.Ckt7zxGy.js.map +1 -1
  77. package/dist/chunks/date-range-picker.D90k5b8p.js +1097 -0
  78. package/dist/chunks/date-range-picker.D90k5b8p.js.map +1 -0
  79. package/dist/chunks/date-range-picker.types.Ckt7zxGy.js.map +1 -1
  80. package/dist/chunks/{de.BJvo6njq.js → de.pvjpUJ1o.js} +2 -2
  81. package/dist/chunks/{de.BJvo6njq.js.map → de.pvjpUJ1o.js.map} +1 -1
  82. package/dist/chunks/{differenceInMonths.CIYECBxK.js → differenceInMonths.CpwVtHZX.js} +3 -2
  83. package/dist/chunks/{differenceInMonths.CIYECBxK.js.map → differenceInMonths.CpwVtHZX.js.map} +1 -1
  84. package/dist/chunks/{directive.rXUeDb8p.js → directive.Bfr4fuOy.js} +2 -2
  85. package/dist/chunks/{directive.rXUeDb8p.js.map → directive.Bfr4fuOy.js.map} +1 -1
  86. package/dist/{draggable-handle.js → chunks/draggable-handle.BR_aQH5N.js} +49 -40
  87. package/dist/chunks/draggable-handle.BR_aQH5N.js.map +1 -0
  88. package/dist/chunks/{dropdown-tag.t3FlJUSy.js → dropdown-tag.z3rsxbpW.js} +4 -4
  89. package/dist/chunks/dropdown-tag.z3rsxbpW.js.map +1 -0
  90. package/dist/chunks/dropdown.BYJwx-JD.js +1148 -0
  91. package/dist/chunks/dropdown.BYJwx-JD.js.map +1 -0
  92. package/dist/chunks/{en-GB.C3-QUpva.js → en-GB.-Q7Oq-nY.js} +2 -2
  93. package/dist/chunks/{en-GB.C3-QUpva.js.map → en-GB.-Q7Oq-nY.js.map} +1 -1
  94. package/dist/chunks/{en-US.YeSsZuOc.js → en-US.BK5uiAND.js} +5 -5
  95. package/dist/chunks/{en-US.YeSsZuOc.js.map → en-US.BK5uiAND.js.map} +1 -1
  96. package/dist/chunks/error-message.CyERcfdt.js +72 -0
  97. package/dist/chunks/error-message.CyERcfdt.js.map +1 -0
  98. package/dist/chunks/{es.DyUjjSL8.js → es.2H4LvTyV.js} +2 -2
  99. package/dist/chunks/{es.DyUjjSL8.js.map → es.2H4LvTyV.js.map} +1 -1
  100. package/dist/chunks/field-label.DjjjkcO6.js +97 -0
  101. package/dist/chunks/field-label.DjjjkcO6.js.map +1 -0
  102. package/dist/chunks/{file-uploader.Cig5gDXT.js → file-uploader.Djl0xaDN.js} +4 -4
  103. package/dist/chunks/{file-uploader.Cig5gDXT.js.map → file-uploader.Djl0xaDN.js.map} +1 -1
  104. package/dist/chunks/{filter-bar.x445KK3y.js → filter-bar.C9rWMIWO.js} +899 -882
  105. package/dist/chunks/filter-bar.C9rWMIWO.js.map +1 -0
  106. package/dist/chunks/{footer-actions.CIkul1OD.js → footer-actions.D9mHwk5l.js} +2 -2
  107. package/dist/chunks/{footer-actions.CIkul1OD.js.map → footer-actions.D9mHwk5l.js.map} +1 -1
  108. package/dist/chunks/{form-layout-title.DR5M7GP3.js → form-layout-title.zZVLCyqe.js} +71 -62
  109. package/dist/chunks/form-layout-title.zZVLCyqe.js.map +1 -0
  110. package/dist/chunks/{fr.JD_4GwS8.js → fr.Cu0IIfBP.js} +2 -2
  111. package/dist/chunks/{fr.JD_4GwS8.js.map → fr.Cu0IIfBP.js.map} +1 -1
  112. package/dist/chunks/{header-meta.BC5fdpD1.js → header-meta.BSPnWWmi.js} +14 -14
  113. package/dist/chunks/{header-meta.BC5fdpD1.js.map → header-meta.BSPnWWmi.js.map} +1 -1
  114. package/dist/chunks/{header-with-views.-cvdi9-L.js → header-with-views.g6J7x6l2.js} +10 -10
  115. package/dist/chunks/{header-with-views.-cvdi9-L.js.map → header-with-views.g6J7x6l2.js.map} +1 -1
  116. package/dist/chunks/{header.DtmZjxiU.js → header.DyZG7qWe.js} +3 -3
  117. package/dist/chunks/header.DyZG7qWe.js.map +1 -0
  118. package/dist/chunks/{input-field-password.Bdlw4dzr.js → input-field-password.CiDdI6A_.js} +4 -4
  119. package/dist/chunks/input-field-password.CiDdI6A_.js.map +1 -0
  120. package/dist/chunks/{input-field-phone-number.DPuWxBBz.js → input-field-phone-number.DFS58acU.js} +3 -3
  121. package/dist/chunks/{input-field-phone-number.DPuWxBBz.js.map → input-field-phone-number.DFS58acU.js.map} +1 -1
  122. package/dist/chunks/input-field.CGLjYab8.js +222 -0
  123. package/dist/chunks/input-field.CGLjYab8.js.map +1 -0
  124. package/dist/chunks/input-time.BhAUyKZM.js +135 -0
  125. package/dist/chunks/input-time.BhAUyKZM.js.map +1 -0
  126. package/dist/chunks/isSameWeek.TrpUOIn5.js +14 -0
  127. package/dist/chunks/{isSameWeek.CzBCmu7d.js.map → isSameWeek.TrpUOIn5.js.map} +1 -1
  128. package/dist/chunks/{it.BlUnV-yA.js → it.B65snrJA.js} +3 -3
  129. package/dist/chunks/{it.BlUnV-yA.js.map → it.B65snrJA.js.map} +1 -1
  130. package/dist/chunks/{ja.nUwDmVf2.js → ja.xGVfFSzL.js} +2 -2
  131. package/dist/chunks/{ja.nUwDmVf2.js.map → ja.xGVfFSzL.js.map} +1 -1
  132. package/dist/chunks/link.DB5g6d48.js.map +1 -1
  133. package/dist/chunks/{modal-fullscreen.CaxuXW-H.js → modal-fullscreen.De6mevyD.js} +2 -2
  134. package/dist/chunks/{modal-fullscreen.CaxuXW-H.js.map → modal-fullscreen.De6mevyD.js.map} +1 -1
  135. package/dist/chunks/{modal.Brif0vAy.js → modal.BXxwn9H4.js} +93 -91
  136. package/dist/chunks/{modal.Brif0vAy.js.map → modal.BXxwn9H4.js.map} +1 -1
  137. package/dist/chunks/on-click-outside.Cy1eFULD.js +109 -0
  138. package/dist/chunks/on-click-outside.Cy1eFULD.js.map +1 -0
  139. package/dist/chunks/{pagination.BmrU_sn_.js → pagination.BzsKZFnw.js} +37 -37
  140. package/dist/chunks/{pagination.BmrU_sn_.js.map → pagination.BzsKZFnw.js.map} +1 -1
  141. package/dist/chunks/payment-method.types.BqtH7RM2.js.map +1 -1
  142. package/dist/chunks/popover.types.hA13DZPg.js.map +1 -1
  143. package/dist/chunks/popper-container.C_n9Ds1W.js.map +1 -1
  144. package/dist/chunks/promo-banner.Dc_kK1x9.js.map +1 -1
  145. package/dist/chunks/{pt-BR.BCU2Hj36.js → pt-BR.D9FuAQZm.js} +2 -2
  146. package/dist/chunks/{pt-BR.BCU2Hj36.js.map → pt-BR.D9FuAQZm.js.map} +1 -1
  147. package/dist/chunks/{radio-group.5oS-AeYN.js → radio-group.Bb-L-0io.js} +3 -3
  148. package/dist/chunks/radio-group.Bb-L-0io.js.map +1 -0
  149. package/dist/chunks/{rich-text-editor.DSGTe8Zt.js → rich-text-editor.DPpIzYid.js} +7 -6
  150. package/dist/chunks/{rich-text-editor.DSGTe8Zt.js.map → rich-text-editor.DPpIzYid.js.map} +1 -1
  151. package/dist/chunks/{search-bar.CNfoeLLt.js → search-bar.BEOieKeA.js} +4 -4
  152. package/dist/chunks/{search-bar.CNfoeLLt.js.map → search-bar.BEOieKeA.js.map} +1 -1
  153. package/dist/chunks/{secondary-nav.IF5CgeIP.js → secondary-nav.BBL5zZPK.js} +2 -2
  154. package/dist/chunks/{secondary-nav.IF5CgeIP.js.map → secondary-nav.BBL5zZPK.js.map} +1 -1
  155. package/dist/chunks/segmented-control.types.BHRLV8KU.js.map +1 -1
  156. package/dist/chunks/{selection-card-group.DZjFeQKR.js → selection-card-group.CLJPaknG.js} +10 -10
  157. package/dist/chunks/{selection-card-group.DZjFeQKR.js.map → selection-card-group.CLJPaknG.js.map} +1 -1
  158. package/dist/chunks/{sidepanel.DZDXuyzg.js → sidepanel.nW0Bhk_u.js} +4 -4
  159. package/dist/chunks/{sidepanel.DZDXuyzg.js.map → sidepanel.nW0Bhk_u.js.map} +1 -1
  160. package/dist/chunks/{startOfWeek.CXhhX-R7.js → startOfWeek.Br5KM4z_.js} +2 -2
  161. package/dist/chunks/{startOfWeek.CXhhX-R7.js.map → startOfWeek.Br5KM4z_.js.map} +1 -1
  162. package/dist/chunks/status.types.Dx8MDhEH.js.map +1 -1
  163. package/dist/chunks/{summary-grid.types.CrPNQbX0.js → summary-grid.types.Dp_efYVN.js} +2 -2
  164. package/dist/chunks/{summary-grid.types.CrPNQbX0.js.map → summary-grid.types.Dp_efYVN.js.map} +1 -1
  165. package/dist/chunks/tag.D2xagTJv.js.map +1 -1
  166. package/dist/chunks/{textarea.Bi53QF5Q.js → textarea.CJS-1I41.js} +5 -4
  167. package/dist/chunks/textarea.CJS-1I41.js.map +1 -0
  168. package/dist/chunks/{timeline-item.C6Bi0eam.js → timeline-item.CF9jbIRr.js} +5 -5
  169. package/dist/chunks/timeline-item.CF9jbIRr.js.map +1 -0
  170. package/dist/chunks/{toggle.B1z1YPe_.js → toggle.Ca-MM3dt.js} +3 -5
  171. package/dist/chunks/toggle.Ca-MM3dt.js.map +1 -0
  172. package/dist/chunks/tooltip.BxtnF3is.js.map +1 -1
  173. package/dist/chunks/{tutorial.BCiZMLJE.js → tutorial.CoWDVs7_.js} +2 -2
  174. package/dist/chunks/{tutorial.BCiZMLJE.js.map → tutorial.CoWDVs7_.js.map} +1 -1
  175. package/dist/chunks/typography.C8lPlsbD.js.map +1 -1
  176. package/dist/chunks/use-cached-selected-values.Du8-wWR2.js +1520 -0
  177. package/dist/chunks/use-cached-selected-values.Du8-wWR2.js.map +1 -0
  178. package/dist/chunks/{use-date-input-formatter.DRMt9yR2.js → use-date-input-formatter.ibZeLD_V.js} +4 -4
  179. package/dist/chunks/{use-date-input-formatter.DRMt9yR2.js.map → use-date-input-formatter.ibZeLD_V.js.map} +1 -1
  180. package/dist/chunks/use-touch-device.DTqFAbXh.js +11 -0
  181. package/dist/chunks/use-touch-device.DTqFAbXh.js.map +1 -0
  182. package/dist/chunks/{zh-CN.ChYkuQAR.js → zh-CN.Be4pa3-g.js} +3 -3
  183. package/dist/chunks/{zh-CN.ChYkuQAR.js.map → zh-CN.Be4pa3-g.js.map} +1 -1
  184. package/dist/click-outside.js +1 -1
  185. package/dist/code-snippet.js +1 -1
  186. package/dist/dashboard-template.js +1 -1
  187. package/dist/dashed-underline.js +1 -1
  188. package/dist/data-grid-template.js +1 -1
  189. package/dist/data-grid.js +1 -1
  190. package/dist/date-picker.js +2 -2
  191. package/dist/date-range-picker.js +2 -2
  192. package/dist/draggable.js +1396 -0
  193. package/dist/draggable.js.map +1 -0
  194. package/dist/dropdown.js +11 -12
  195. package/dist/dropdown.js.map +1 -1
  196. package/dist/file-uploader.js +1 -1
  197. package/dist/filter-bar.js +1 -1
  198. package/dist/form-layout.js +1 -1
  199. package/dist/header-with-views.js +1 -1
  200. package/dist/header.js +1 -1
  201. package/dist/index.js +274 -271
  202. package/dist/index.js.map +1 -1
  203. package/dist/input-field-password.js +1 -1
  204. package/dist/input-field-phone-number.js +1 -1
  205. package/dist/input-field.js +1 -1
  206. package/dist/input-time.js +1 -1
  207. package/dist/internal.js +24 -23
  208. package/dist/internal.js.map +1 -1
  209. package/dist/menu.js +1 -1
  210. package/dist/modal-fullscreen.js +1 -1
  211. package/dist/modal.js +2 -2
  212. package/dist/pagination.js +1 -1
  213. package/dist/popover.js +1 -1
  214. package/dist/radio-group.js +1 -1
  215. package/dist/rich-text-editor.js +1 -1
  216. package/dist/search-bar.js +2 -2
  217. package/dist/secondary-nav.js +1 -1
  218. package/dist/selection-card.js +1 -1
  219. package/dist/sidepanel.js +1 -1
  220. package/dist/summary-grid.js +1 -1
  221. package/dist/textarea.js +1 -1
  222. package/dist/timeline.js +1 -1
  223. package/dist/toggle.js +1 -1
  224. package/dist/tutorial.js +1 -1
  225. package/dist/web-types.json +144 -7
  226. package/package.json +8 -13
  227. package/dist/assets/dropdown-default-textbox.css +0 -1
  228. package/dist/chunks/alert.CXRb-Smf.js.map +0 -1
  229. package/dist/chunks/base-modal.DpmeDmq-.js.map +0 -1
  230. package/dist/chunks/button-actions.BmU1DngD.js.map +0 -1
  231. package/dist/chunks/calendar.uvIGF_jU.js +0 -1154
  232. package/dist/chunks/calendar.uvIGF_jU.js.map +0 -1
  233. package/dist/chunks/card.WWUfBkqf.js.map +0 -1
  234. package/dist/chunks/checkbox-group.CI0xDnql.js.map +0 -1
  235. package/dist/chunks/checkbox.TsWA6O3Z.js.map +0 -1
  236. package/dist/chunks/code-snippet.4DX9iUV8.js.map +0 -1
  237. package/dist/chunks/constructNow.CIc7d13I.js +0 -8
  238. package/dist/chunks/data-grid.x6cEW0az.js.map +0 -1
  239. package/dist/chunks/date-picker.Dln8ocL4.js +0 -222
  240. package/dist/chunks/date-picker.Dln8ocL4.js.map +0 -1
  241. package/dist/chunks/date-range-picker.DPGy2h-9.js +0 -1068
  242. package/dist/chunks/date-range-picker.DPGy2h-9.js.map +0 -1
  243. package/dist/chunks/debounce.DUTu11PS.js +0 -10
  244. package/dist/chunks/debounce.DUTu11PS.js.map +0 -1
  245. package/dist/chunks/dropdown-default-textbox.CjhLIxVq.js +0 -364
  246. package/dist/chunks/dropdown-default-textbox.CjhLIxVq.js.map +0 -1
  247. package/dist/chunks/dropdown-tag.t3FlJUSy.js.map +0 -1
  248. package/dist/chunks/dropdown.CvNI2V33.js +0 -790
  249. package/dist/chunks/dropdown.CvNI2V33.js.map +0 -1
  250. package/dist/chunks/error-message.BUNKRa_w.js +0 -160
  251. package/dist/chunks/error-message.BUNKRa_w.js.map +0 -1
  252. package/dist/chunks/filter-bar.x445KK3y.js.map +0 -1
  253. package/dist/chunks/form-layout-title.DR5M7GP3.js.map +0 -1
  254. package/dist/chunks/header.DtmZjxiU.js.map +0 -1
  255. package/dist/chunks/input-field-password.Bdlw4dzr.js.map +0 -1
  256. package/dist/chunks/input-field.DH25CU_G.js +0 -207
  257. package/dist/chunks/input-field.DH25CU_G.js.map +0 -1
  258. package/dist/chunks/input-time.6eJ4-QdU.js +0 -92
  259. package/dist/chunks/input-time.6eJ4-QdU.js.map +0 -1
  260. package/dist/chunks/isSameWeek.CzBCmu7d.js +0 -14
  261. package/dist/chunks/on-click-outside.BW4rkhzG.js +0 -91
  262. package/dist/chunks/on-click-outside.BW4rkhzG.js.map +0 -1
  263. package/dist/chunks/radio-group.5oS-AeYN.js.map +0 -1
  264. package/dist/chunks/textarea.Bi53QF5Q.js.map +0 -1
  265. package/dist/chunks/timeline-item.C6Bi0eam.js.map +0 -1
  266. package/dist/chunks/toggle.B1z1YPe_.js.map +0 -1
  267. package/dist/chunks/use-cached-selected-values.Bn3Y8Iuq.js +0 -1450
  268. package/dist/chunks/use-cached-selected-values.Bn3Y8Iuq.js.map +0 -1
  269. package/dist/chunks/warning-filled.CbJ1pcB2.js +0 -24
  270. package/dist/chunks/warning-filled.CbJ1pcB2.js.map +0 -1
  271. package/dist/draggable-handle.js.map +0 -1
@@ -0,0 +1,1148 @@
1
+ import { ref as C, watch as Z, computed as s, defineComponent as B, useSlots as Q, toRefs as Oe, useAttrs as Ee, nextTick as D, toRef as k, inject as Ve } from "vue";
2
+ import { B as Ie, d as le } from "./typography.C8lPlsbD.js";
3
+ import { g as K } from "./generate-uid.NJ8tVoha.js";
4
+ import { u as G } from "./index.B6WW_F-J.js";
5
+ import { u as De } from "./use-has-slot.C9lQZ6nz.js";
6
+ import { C as Ke } from "./cross-circle-fill.DTDtgLMf.js";
7
+ import { C as qe } from "./cross-circle-fill-small.DfxDedRr.js";
8
+ import { n as R } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
9
+ import { s as q } from "./events.BQOQSSb7.js";
10
+ import { C as ze } from "./chevron-down.eYtgv5ly.js";
11
+ import { C as Ue } from "./chevron-up.d8cwIlA_.js";
12
+ /* empty css */
13
+ import { u as We } from "./aria-label.CaUURpnB.js";
14
+ import { u as je } from "./form-field.D_2g7vaP.js";
15
+ import { B as m, b as ne, a as xe, d as He, u as Ye, c as Je, e as Xe } from "./use-cached-selected-values.Du8-wWR2.js";
16
+ import { u as Ze } from "./use-form-layout-loading.CWbjZiwP.js";
17
+ import { B as N, a as Qe } from "./keyboard-navigation.DWmhelVv.js";
18
+ import { B as Ge } from "./directive.Bfr4fuOy.js";
19
+ import { F as et } from "./field-label.DjjjkcO6.js";
20
+ import { E as tt } from "./error-message.CyERcfdt.js";
21
+ import { P as we } from "./popper-container.C_n9Ds1W.js";
22
+ import { h as at } from "./button-actions.CXD6_9qN.js";
23
+ import "../assets/dropdown.css";
24
+ var z = /* @__PURE__ */ ((l) => (l.DEFAULT = "DropdownInputDefault", l.SMALL = "DropdownInputSmall", l))(z || {});
25
+ const ot = {
26
+ "de-DE": {
27
+ apply: "Anwenden",
28
+ cancel: "Abbrechen",
29
+ noOptionsMatchThisSearch: "Für diese Suche wurden keine Ergebnisse gefunden."
30
+ },
31
+ "en-GB": {
32
+ apply: "Apply",
33
+ cancel: "Cancel",
34
+ noOptionsMatchThisSearch: "No options match this search"
35
+ },
36
+ "en-US": {
37
+ apply: "Apply",
38
+ cancel: "Cancel",
39
+ noOptionsMatchThisSearch: "No options match this search"
40
+ },
41
+ "es-ES": {
42
+ apply: "Aplicar",
43
+ cancel: "Cancelar",
44
+ noOptionsMatchThisSearch: "No hay opciones que coincidan con esta búsqueda"
45
+ },
46
+ "es-MX": {
47
+ apply: "Aplicar",
48
+ cancel: "Cancelar",
49
+ noOptionsMatchThisSearch: "No hay opciones que coincidan con esta búsqueda"
50
+ },
51
+ "fr-FR": {
52
+ apply: "Appliquer",
53
+ cancel: "Annuler",
54
+ noOptionsMatchThisSearch: "Aucune option ne correspond à cette recherche"
55
+ },
56
+ "it-IT": {
57
+ apply: "Applica",
58
+ cancel: "Annulla",
59
+ noOptionsMatchThisSearch: "Nessun risultato corrispondente a questa ricerca"
60
+ },
61
+ "ja-JP": {
62
+ apply: "適用",
63
+ cancel: "キャンセル",
64
+ noOptionsMatchThisSearch: "この検索に一致するオプションはありません"
65
+ },
66
+ "pt-BR": {
67
+ apply: "Aplicar",
68
+ cancel: "Cancelar",
69
+ noOptionsMatchThisSearch: "Nenhuma opção corresponde a esta busca"
70
+ },
71
+ "zh-CN": {
72
+ apply: "应用",
73
+ cancel: "取消",
74
+ noOptionsMatchThisSearch: "没有符合此搜索条件的选项"
75
+ }
76
+ }, lt = (l, t, a, e) => {
77
+ const o = C(l.value), { t: n } = G();
78
+ Z(l, () => {
79
+ o.value = l.value;
80
+ });
81
+ const r = s(
82
+ () => JSON.stringify(o.value) === JSON.stringify(l.value)
83
+ ), d = () => {
84
+ e(m.SELECT, o.value), e(m.CLOSE_DROPDOWN);
85
+ }, c = () => {
86
+ o.value = l.value, e(m.CLOSE_DROPDOWN);
87
+ }, y = () => {
88
+ a.value && t.value && (o.value = l.value);
89
+ }, f = s(() => [
90
+ {
91
+ title: n("apply"),
92
+ event: d,
93
+ disabled: r.value
94
+ },
95
+ {
96
+ title: n("cancel"),
97
+ event: c
98
+ }
99
+ ]), p = (u) => {
100
+ o.value = u, t.value || e(m.SELECT, u);
101
+ }, i = (u) => {
102
+ p(u), e(m.TAB);
103
+ }, S = (u) => {
104
+ p(u), e(m.ENTER);
105
+ }, v = (u) => {
106
+ p(u), e(m.SPACE);
107
+ }, _ = () => {
108
+ c(), e(m.ESCAPE);
109
+ }, x = () => {
110
+ e(m.SHOW_MORE);
111
+ }, L = {
112
+ [m.SELECT]: p,
113
+ [m.SHOW_MORE]: x,
114
+ [m.TAB]: i,
115
+ [m.SPACE]: v,
116
+ [m.ENTER]: S
117
+ };
118
+ return {
119
+ // Values
120
+ actions: f,
121
+ internalSelectedValue: o,
122
+ // Methods
123
+ listeners: L,
124
+ onEscapeKey: _,
125
+ onOutsideDropdownClick: y
126
+ };
127
+ }, nt = B({
128
+ i18n: { messages: ot },
129
+ name: "bento-dropdown-options-container"
130
+ }), st = /* @__PURE__ */ B({
131
+ ...nt,
132
+ props: {
133
+ /**
134
+ * Defines a string value that labels an interactive element.
135
+ */
136
+ ariaLabel: { type: String, default: null },
137
+ /**
138
+ * Indicates that dropdown items are loading
139
+ */
140
+ componentLoading: { type: Boolean, default: !1 },
141
+ /**
142
+ * Empty state props used with the inner empty state component which is displayed when no search results are found.
143
+ */
144
+ emptyState: {
145
+ type: Object,
146
+ default: void 0
147
+ },
148
+ /**
149
+ * Disables dropdown functionality
150
+ */
151
+ disabled: { type: Boolean, default: !1 },
152
+ /**
153
+ * Indicates whether there are more items to load
154
+ */
155
+ hasMoreItems: { type: Boolean, default: !1 },
156
+ /**
157
+ * Identifies the listbox whose contents are controlled by the the combobox on which the aria-controls attribute is set.
158
+ */
159
+ id: { type: String, required: !0 },
160
+ /**
161
+ * Function that allows the options to be disabled
162
+ *
163
+ * @type {BentoDropdownIsOptionDisabled}
164
+ * @param {BentoDropdownOptionItem} option - Dropdown option object
165
+ * @param {string} option.label - Option's label text
166
+ * @param {string|number} option.value - Option's value
167
+ * @param {unknown} option.data - Option's extra data to be passed to the default slot
168
+ */
169
+ isOptionDisabled: {
170
+ type: Function,
171
+ default: void 0
172
+ },
173
+ /**
174
+ * The option elements to populate the dropdown with.
175
+ * It must be an array of {@see BentoDropdownOptionItem }
176
+ * * @property {string} value.label - Text to be displayed in the option
177
+ * * @property {string,number} value.value - Value of the option
178
+ */
179
+ items: {
180
+ type: Array,
181
+ required: !0
182
+ },
183
+ /**
184
+ * The type of `Lazy Load`.
185
+ * Type "automatic" will enable infinite scrolling
186
+ * Type "button" will enable lazy loading with "Show more" button
187
+ */
188
+ lazyLoadType: {
189
+ type: String,
190
+ default: xe.AUTOMATIC,
191
+ validator: (l) => Object.values(xe).includes(l)
192
+ },
193
+ /**
194
+ * Indicates if new options are lazy loading.
195
+ */
196
+ loading: { type: Boolean, default: !1 },
197
+ /**
198
+ * If enabled, the user will be able to select multiple items.
199
+ */
200
+ multiple: { type: Boolean, default: !1 },
201
+ /**
202
+ * Indicates if the dropdown is open so that
203
+ * the container can be displayed.
204
+ */
205
+ open: { type: Boolean, required: !0 },
206
+ /**
207
+ * The `input` value.
208
+ * Providing an empty string or empty array will select no options.
209
+ * Set to an empty string `''` if you don't want any of the available options to be selected for single select
210
+ */
211
+ selectedValue: {
212
+ type: Array,
213
+ default: null
214
+ },
215
+ /**
216
+ * Flag that indicates that an external search it's being made
217
+ * to filter out the items inside the the multi-select listbox
218
+ *
219
+ * If enabled, hides the "Select all" checkbox in "multiple" mode.
220
+ */
221
+ searching: ne.props.searching,
222
+ /**
223
+ * If enabled, dropdown will display non-selectable, static categories
224
+ */
225
+ staticCategories: { type: Boolean, default: !1 },
226
+ /**
227
+ * Reference to the DOM element or Vue component for positioning
228
+ * the Dropdown container.
229
+ */
230
+ targetElement: { type: we.props.targetElement.type, required: !0 },
231
+ /**
232
+ * Enables virtual scrolling if set to true or by providing an object with itemHeight function.
233
+ * The itemHeight function is used to calculate the height of rendered item given it's index.
234
+ */
235
+ virtualScroll: {
236
+ type: [Boolean, Object],
237
+ default: !1
238
+ }
239
+ },
240
+ emits: [],
241
+ setup(l, { expose: t, emit: a }) {
242
+ const e = l, o = Q(), { selectedValue: n, multiple: r } = Oe(e), d = C(null), { t: c } = G(), y = s(() => e.open && !e.disabled), f = s(() => c("noOptionsMatchThisSearch")), p = s(() => ({
243
+ "b-dropdown-options-container--single": !(e != null && e.multiple)
244
+ })), i = s(() => ({
245
+ "b-dropdown-options-container__listbox--single": !(e != null && e.multiple)
246
+ })), { actions: S, internalSelectedValue: v, listeners: _, onEscapeKey: x, onOutsideDropdownClick: L } = lt(n, r, y, a), u = s(() => e != null && e.multiple ? at : we), T = s(() => {
247
+ var A;
248
+ const I = {
249
+ "min-width": `${(A = e == null ? void 0 : e.targetElement) == null ? void 0 : A.clientWidth}px`,
250
+ "max-width": "min(500px, 95%)"
251
+ };
252
+ return e != null && e.multiple ? {
253
+ actionsLayout: "space-between",
254
+ ariaLabel: e.ariaLabel,
255
+ actions: S.value,
256
+ divider: !0,
257
+ fallbackPosition: ["top-start"],
258
+ id: K(`dropdown-options-${e.id}`),
259
+ open: e.open,
260
+ position: "bottom-start",
261
+ style: {
262
+ width: "auto",
263
+ ...I
264
+ },
265
+ targetElement: e.targetElement
266
+ } : {
267
+ fallbackPosition: ["top-start"],
268
+ offset: [0, 8],
269
+ position: "bottom-start",
270
+ style: {
271
+ display: y.value ? "block" : "none",
272
+ ...I
273
+ },
274
+ targetElement: e.targetElement
275
+ };
276
+ });
277
+ return t({
278
+ onOutsideDropdownClick: L
279
+ }), { __sfc: !0, slots: o, emit: a, props: e, selectedValue: n, multiple: r, dropdownOptionsListboxRef: d, t: c, isDropdownOpen: y, noResultsMessage: f, conditionalClasses: p, conditionalListboxClasses: i, actions: S, internalSelectedValue: v, listeners: _, onEscapeKey: x, onOutsideDropdownClick: L, popperContainerOrPopoverComponent: u, popperContainerOrPopoverProps: T, BentoListbox: ne };
280
+ }
281
+ });
282
+ var rt = function() {
283
+ var t = this, a = t._self._c, e = t._self._setupProxy;
284
+ return e.isDropdownOpen ? a(e.popperContainerOrPopoverComponent, t._b({ tag: "component", staticClass: "b-dropdown-options-container", class: e.conditionalClasses }, "component", e.popperContainerOrPopoverProps, !1), [a("div", { on: { keydown: function(o) {
285
+ return !o.type.indexOf("key") && t._k(o.keyCode, "esc", 27, o.key, ["Esc", "Escape"]) ? null : e.onEscapeKey.apply(null, arguments);
286
+ } } }, [a(e.BentoListbox, t._g({ ref: "dropdownOptionsListboxRef", staticClass: "b-dropdown-options-container__listbox", class: e.conditionalListboxClasses, attrs: { id: t.id, "aria-label": t.ariaLabel, "component-loading": t.componentLoading, "empty-state": t.emptyState, "is-option-disabled": t.isOptionDisabled, items: t.items, "selected-value": e.internalSelectedValue, multiple: e.multiple, "static-categories": t.staticCategories, "no-results-message": e.noResultsMessage, searching: t.searching, loading: t.loading, "lazy-load-type": t.lazyLoadType, "has-more-items": t.hasMoreItems, "virtual-scroll": t.virtualScroll }, scopedSlots: t._u([t._l(e.slots, function(o, n) {
287
+ return { key: n, fn: function(r) {
288
+ return [t._t(n, null, null, r)];
289
+ } };
290
+ })], null, !0) }, e.listeners))], 1)]) : t._e();
291
+ }, it = [], dt = /* @__PURE__ */ R(
292
+ st,
293
+ rt,
294
+ it,
295
+ !1,
296
+ null,
297
+ "eb9fd4be"
298
+ );
299
+ const ct = dt.exports;
300
+ var E = /* @__PURE__ */ ((l) => (l.DISABLED = "disabled", l.READONLY = "readonly", l.HAS_ITEMS = "has-items", l.OPENED = "opened", l.ERROR = "error", l))(E || {}), g = /* @__PURE__ */ ((l) => (l.OPEN = "dropdown-base-open", l.KEYDOWN = "dropdown-base-keydown", l.CLOSE = "dropdown-base-close", l.INPUT = "dropdown-base-input", l.CLEAR = "dropdown-base-clear", l))(g || {});
301
+ const ut = {
302
+ "de-DE": {
303
+ clearSearch: "Suche löschen"
304
+ },
305
+ "en-GB": {
306
+ clearSearch: "Clear search"
307
+ },
308
+ "en-US": {
309
+ clearSearch: "Clear search"
310
+ },
311
+ "es-ES": {
312
+ clearSearch: "Borrar búsqueda"
313
+ },
314
+ "es-MX": {
315
+ clearSearch: "Borrar búsqueda"
316
+ },
317
+ "fr-FR": {
318
+ clearSearch: "Effacer la recherche"
319
+ },
320
+ "it-IT": {
321
+ clearSearch: "Cancella ricerca"
322
+ },
323
+ "ja-JP": {
324
+ clearSearch: "検索をクリア"
325
+ },
326
+ "pt-BR": {
327
+ clearSearch: "Limpar busca"
328
+ },
329
+ "zh-CN": {
330
+ clearSearch: "清除搜索"
331
+ }
332
+ }, pt = B({
333
+ i18n: { messages: ut },
334
+ name: "dropdown-base-textbox",
335
+ inheritAttrs: !1
336
+ }), ft = /* @__PURE__ */ B({
337
+ ...pt,
338
+ props: {
339
+ /**
340
+ * The number of additional items that have been selected in the dropdown.
341
+ */
342
+ additionalItemsSelected: { type: [Number, String], default: 0 },
343
+ /**
344
+ * If the combobox DOM element should be an `input` element.
345
+ */
346
+ alwaysComboboxIsInput: {
347
+ type: Boolean,
348
+ default: !1
349
+ },
350
+ /**
351
+ * Sets the aria-controls attribute on the textbox. This should correspond to the popover's id that the textbox triggers.
352
+ */
353
+ ariaControls: { type: String, required: !0 },
354
+ /**
355
+ * Indicates whether the content the textbox triggers is visible or not. Needs to be set accordingly when the textbox is used and changed every time the popover is shown/hidden.
356
+ */
357
+ ariaExpanded: {
358
+ type: [String, Boolean],
359
+ required: !0
360
+ },
361
+ /**
362
+ * If no label element is used then the aria-label is be set should be set.
363
+ */
364
+ ariaLabel: { type: String, default: null },
365
+ /**
366
+ * Corresponds to the label's id that labels the textbox element.
367
+ */
368
+ ariaLabelledby: { type: String, default: null },
369
+ /**
370
+ * Disables any textbox functionality
371
+ */
372
+ disabled: { type: Boolean, default: !1 },
373
+ /**
374
+ * Selected option's label
375
+ */
376
+ displayValue: { type: String, default: null },
377
+ /**
378
+ * Sets the possibility to type into the textbox.
379
+ */
380
+ dynamicFiltering: { type: Boolean, default: !1 },
381
+ /**
382
+ * Marks the textbox as invalid, rendering an error state
383
+ */
384
+ isInvalid: { type: Boolean, default: !1 },
385
+ /*
386
+ * If enabled, the user will be able to select multiple items.
387
+ */
388
+ multiple: { type: Boolean, default: !1 },
389
+ /**
390
+ * Indicates if the dropdown is open so that
391
+ * the respective event can be emitted
392
+ */
393
+ open: { type: Boolean, default: !1 },
394
+ /**
395
+ * Sets the dropdown to readonly state
396
+ */
397
+ readonly: { type: Boolean, default: !1 },
398
+ /**
399
+ * The input value
400
+ */
401
+ value: { type: String, default: "" },
402
+ /**
403
+ * The selected value's list box item.
404
+ */
405
+ selectedValueItem: {
406
+ type: [Object, Array],
407
+ default: void 0
408
+ },
409
+ /**
410
+ * Toggles whether to use the slot content select items shown in the textbox in multiple mode.
411
+ */
412
+ showSlotContentInMultiple: { type: Boolean, default: !1 },
413
+ /**
414
+ * Dropdown size
415
+ */
416
+ size: {
417
+ type: String,
418
+ default: null
419
+ }
420
+ },
421
+ emits: [],
422
+ setup(l, { expose: t, emit: a }) {
423
+ const e = l, { t: o } = G(), n = Ee(), r = Q(), d = De(r), c = C(null), y = K("textbox"), f = s(() => ({
424
+ [`b-dropdown-base-textbox--${E.DISABLED}`]: e.disabled,
425
+ [`b-dropdown-base-textbox--${E.READONLY}`]: e.readonly,
426
+ [`b-dropdown-base-textbox--${E.HAS_ITEMS}`]: !!e.additionalItemsSelected
427
+ })), p = s(
428
+ () => x.value && n["aria-required"] ? "true" : null
429
+ ), i = s(() => ({
430
+ "b-dropdown-base-textbox__input--dynamic-filtering": e.dynamicFiltering
431
+ })), S = s(() => e.dynamicFiltering && !!e.value && e.open), v = s(
432
+ () => {
433
+ var O;
434
+ return {
435
+ "aria-haspopup": "listbox",
436
+ "aria-controls": e.ariaControls,
437
+ "aria-describedby": (O = n["aria-describedby"]) == null ? void 0 : O.toString(),
438
+ "aria-expanded": e.ariaExpanded ? "true" : "false",
439
+ "aria-labelledby": e.ariaLabelledby,
440
+ "aria-label": e.ariaLabelledby ? null : e.ariaLabel,
441
+ "aria-invalid": e.isInvalid,
442
+ "aria-disabled": e.disabled ? !0 : null,
443
+ "aria-required": n["aria-required"]
444
+ };
445
+ }
446
+ ), _ = s(
447
+ () => e.multiple ? e.selectedValueItem : []
448
+ ), x = s(() => e.dynamicFiltering && (e.open || e.alwaysComboboxIsInput)), L = s(() => e.selectedValueItem && !e.multiple), u = s(
449
+ () => e.multiple && e.selectedValueItem && _.value.length > 0 && e.showSlotContentInMultiple
450
+ );
451
+ Z(
452
+ () => x.value,
453
+ () => {
454
+ x.value && !e.alwaysComboboxIsInput && D(() => {
455
+ c.value.focus();
456
+ });
457
+ }
458
+ );
459
+ const T = async () => {
460
+ !e.disabled && !e.readonly && (a(g.OPEN), await D(), c.value.focus());
461
+ }, I = () => {
462
+ e.open && (c.value.focus(), a(g.CLOSE));
463
+ }, A = (O) => e.open && O.target.tagName === "INPUT" ? null : e.open ? I() : T(), F = () => {
464
+ a(g.CLEAR), a(g.INPUT, ""), c.value.focus();
465
+ }, P = (O) => {
466
+ !e.readonly && !e.disabled ? a(g.INPUT, O.target.value) : (O.preventDefault(), O.stopPropagation());
467
+ }, M = () => {
468
+ c.value.focus();
469
+ };
470
+ return t({
471
+ focus: M
472
+ }), { __sfc: !0, t: o, attrs: n, slots: r, hasSlot: d, props: e, emit: a, textbox: c, textboxId: y, conditionalClasses: f, showRequiredAttribute: p, comboboxConditionalClasses: i, isFiltering: S, ariaAttributes: v, selectedValueItems: _, shouldShowInput: x, shouldShowSingleSelectSlot: L, shouldShowMultipleSlot: u, onOpenDropdown: T, onCloseDropdown: I, onToggleDropdown: A, onClearSearch: F, onInputEvent: P, focus: M, BentoTypography: Ie, DropdownBaseTextboxEvent: g, CrossCircleFillIcon: Ke, CrossCircleFillSmallIcon: qe, BentoDropdownSize: z };
473
+ }
474
+ });
475
+ var bt = function() {
476
+ var t = this, a = t._self._c, e = t._self._setupProxy;
477
+ return a("div", { class: t.$attrs.class, attrs: { "data-testid": "textbox-wrapper" }, on: { click: e.onToggleDropdown, keydown: function(o) {
478
+ return !o.type.indexOf("key") && t._k(o.keyCode, "escape", void 0, o.key, void 0) ? null : e.onCloseDropdown.apply(null, arguments);
479
+ } } }, [a(e.BentoTypography, { staticClass: "b-dropdown-base-textbox", class: e.conditionalClasses, attrs: { el: "div", "data-testid": "base-textbox" } }, [e.shouldShowInput ? a("input", t._b({ ref: "textbox", staticClass: "b-dropdown-base-textbox__input", attrs: { id: e.textboxId, role: "combobox", type: "text", "aria-autocomplete": "list", size: "1", disabled: t.disabled ? !0 : null, readonly: t.readonly, required: e.showRequiredAttribute }, domProps: { value: t.open ? t.value : t.displayValue }, on: { keydown: [function(o) {
480
+ return t.$emit(e.DropdownBaseTextboxEvent.KEYDOWN, o);
481
+ }, function(o) {
482
+ return !o.type.indexOf("key") && t._k(o.keyCode, "enter", 13, o.key, "Enter") ? null : e.onToggleDropdown.apply(null, arguments);
483
+ }], input: e.onInputEvent } }, "input", e.ariaAttributes, !1)) : a("div", t._b({ ref: "textbox", staticClass: "b-dropdown-base-textbox__input", class: e.comboboxConditionalClasses, attrs: { id: e.textboxId, "aria-readonly": t.readonly ? "true" : null, role: "combobox", tabindex: t.disabled ? -1 : 0 } }, "div", e.ariaAttributes, !1), [e.shouldShowSingleSelectSlot ? [e.hasSlot("display-value") ? t._t("display-value", null, null, t.selectedValueItem) : t._t("default", function() {
484
+ return [t._v(" " + t._s(t.displayValue) + " ")];
485
+ }, null, t.selectedValueItem)] : e.shouldShowMultipleSlot ? [a("div", { staticClass: "b-dropdown-base-textbox__input-multiple-selected" }, t._l(e.selectedValueItems, function(o) {
486
+ return a("div", { key: o.value }, [a("div", { staticClass: "b-dropdown-base-textbox__input-selected-element" }, [t._t("default", function() {
487
+ return [t._v(" " + t._s(t.displayValue) + " ")];
488
+ }, null, o)], 2)]);
489
+ }), 0)] : [t._v(t._s(t.displayValue))]], 2), t.additionalItemsSelected ? a("span", { staticClass: "b-dropdown-base-textbox__additional-items" }, [t._v(" " + t._s(t.additionalItemsSelected) + " ")]) : t._e(), e.hasSlot("icon") && !e.isFiltering ? a("span", { staticClass: "b-dropdown-base-textbox__icon", attrs: { "aria-hidden": "true" } }, [t._t("icon")], 2) : t._e(), e.isFiltering ? a("span", { staticClass: "b-dropdown-base-textbox__clear-search", attrs: { tabindex: t.disabled ? -1 : 0, "data-testid": "clear-search-button" }, on: { click: function(o) {
490
+ return o.stopPropagation(), e.onClearSearch.apply(null, arguments);
491
+ }, keydown: function(o) {
492
+ return !o.type.indexOf("key") && t._k(o.keyCode, "enter", 13, o.key, "Enter") ? null : (o.stopPropagation(), e.onClearSearch.apply(null, arguments));
493
+ }, keyup: function(o) {
494
+ return !o.type.indexOf("key") && t._k(o.keyCode, "space", 32, o.key, [" ", "Spacebar"]) ? null : e.onClearSearch.apply(null, arguments);
495
+ } } }, [t.size === e.BentoDropdownSize.SMALL ? a(e.CrossCircleFillSmallIcon, { attrs: { "svg-title": e.t("clearSearch") } }) : a(e.CrossCircleFillIcon, { attrs: { "svg-title": e.t("clearSearch") } })], 1) : t._e()])], 1);
496
+ }, yt = [], vt = /* @__PURE__ */ R(
497
+ ft,
498
+ bt,
499
+ yt,
500
+ !1,
501
+ null,
502
+ "36875648"
503
+ );
504
+ const Be = vt.exports, mt = B({
505
+ name: "dropdown-default-textbox",
506
+ inheritAttrs: !1
507
+ }), _t = /* @__PURE__ */ B({
508
+ ...mt,
509
+ props: {
510
+ /**
511
+ * The number of additional items that have been selected in the dropdown.
512
+ */
513
+ additionalItemsSelected: { type: [Number, String], default: 0 },
514
+ /**
515
+ * Sets the aria-controls attribute on the textbox. This should correspond to the popover's id that the textbox triggers.
516
+ */
517
+ ariaControls: {
518
+ type: String,
519
+ required: !0
520
+ },
521
+ /**
522
+ * Indicates whether the content the textbox triggers is visible or not. Needs to be set accordingly when the textbox is used and changed every time the popover is shown/hidden.
523
+ */
524
+ ariaExpanded: {
525
+ type: [String, Boolean],
526
+ required: !0
527
+ },
528
+ /**
529
+ * If no label element is used then the aria-label is be set should be set.
530
+ */
531
+ ariaLabel: {
532
+ type: String,
533
+ default: null
534
+ },
535
+ /**
536
+ * Corresponds to the label's id that labels the textbox element.
537
+ */
538
+ ariaLabelledby: {
539
+ type: String,
540
+ default: null
541
+ },
542
+ /**
543
+ * Renders the dropdown with a condensed style.
544
+ */
545
+ condensed: { type: Boolean, default: !1 },
546
+ /**
547
+ * Disables any textbox functionality
548
+ */
549
+ disabled: { type: Boolean, default: !1 },
550
+ /**
551
+ * Selected option's label
552
+ */
553
+ displayValue: { type: String, default: null },
554
+ /**
555
+ * Sets the possibility to type into the textbox
556
+ */
557
+ dynamicFiltering: {
558
+ type: Boolean,
559
+ default: !1
560
+ },
561
+ /**
562
+ * Marks the textbox as invalid, rendering an error state
563
+ */
564
+ isInvalid: { type: Boolean, default: !1 },
565
+ /**
566
+ * Indicates if the dropdown is open so that
567
+ * the respective event can be emitted
568
+ */
569
+ open: { type: Boolean, default: !1 },
570
+ /**
571
+ * Sets the dropdown to readonly state
572
+ */
573
+ readonly: { type: Boolean, default: !1 },
574
+ /**
575
+ * The selected value's list box item.
576
+ */
577
+ selectedValueItem: {
578
+ type: [Object, Array],
579
+ default: void 0
580
+ },
581
+ /**
582
+ * Toggles whether to use the slot content select items shown in the textbox in multiple mode.
583
+ */
584
+ showSlotContentInMultiple: { type: Boolean, default: !1 },
585
+ /**
586
+ * The input value
587
+ */
588
+ value: { type: String, default: "" },
589
+ /*
590
+ * If enabled, the user will be able to select multiple items.
591
+ */
592
+ multiple: { type: Boolean, default: !1 }
593
+ },
594
+ emits: ["clear", "close", "input", "keydown", "open"],
595
+ setup(l, { expose: t, emit: a }) {
596
+ const e = l, o = Q(), n = C(null), r = s(() => ({
597
+ [`b-dropdown-default-textbox--${E.ERROR}`]: !e.disabled && !e.readonly && e.isInvalid,
598
+ [`b-dropdown-default-textbox--${E.DISABLED}`]: e.disabled,
599
+ [`b-dropdown-default-textbox--${E.READONLY}`]: e.readonly,
600
+ [`b-dropdown-default-textbox--${E.OPENED}`]: e.open,
601
+ "b-dropdown-default-textbox--condensed": e.condensed
602
+ })), d = s(() => e.open && !e.disabled && !e.readonly), c = (_) => {
603
+ a("input", _);
604
+ }, y = (_) => {
605
+ a("keydown", _);
606
+ }, f = (_) => {
607
+ q(_), a("open");
608
+ }, p = (_) => {
609
+ q(_), a("close");
610
+ }, i = (_) => {
611
+ q(_), a("clear");
612
+ }, S = {
613
+ [g.INPUT]: c,
614
+ [g.OPEN]: f,
615
+ [g.CLOSE]: p,
616
+ [g.CLEAR]: i,
617
+ [g.KEYDOWN]: y
618
+ }, v = () => {
619
+ n.value.focus();
620
+ };
621
+ return t({
622
+ focus: v
623
+ }), { __sfc: !0, emit: a, slots: o, props: e, baseTextbox: n, conditionalClasses: r, isDropdownOpen: d, onInput: c, onKeyDown: y, openDropdown: f, closeDropdown: p, clearValue: i, listeners: S, focus: v, DropdownBaseTextbox: Be, ChevronDownIcon: ze, ChevronUpIcon: Ue };
624
+ }
625
+ });
626
+ var ht = function() {
627
+ var t = this, a = t._self._c, e = t._self._setupProxy;
628
+ return a("div", { staticClass: "b-dropdown-default-textbox", class: e.conditionalClasses, attrs: { "data-testid": "default-textbox" } }, [a(e.DropdownBaseTextbox, t._g(t._b({ ref: "baseTextbox", staticClass: "b-dropdown-default-textbox__textbox", attrs: { value: t.value }, scopedSlots: t._u([t._l(e.slots, function(o, n) {
629
+ return { key: n, fn: function(r) {
630
+ return [t._t(n, null, null, r ?? {})];
631
+ } };
632
+ }), { key: "icon", fn: function() {
633
+ return [a("div", { staticClass: "b-dropdown-default-textbox__chevron" }, [a(e.ChevronUpIcon, { directives: [{ name: "show", rawName: "v-show", value: e.isDropdownOpen, expression: "isDropdownOpen" }], attrs: { "svg-title": "opened" } }), a(e.ChevronDownIcon, { directives: [{ name: "show", rawName: "v-show", value: !e.isDropdownOpen, expression: "!isDropdownOpen" }], attrs: { "svg-title": "closed" } })], 1)];
634
+ }, proxy: !0 }], null, !0) }, "dropdown-base-textbox", { ...t.$attrs, ...t.$props }, !1), e.listeners))], 1);
635
+ }, gt = [], St = /* @__PURE__ */ R(
636
+ _t,
637
+ ht,
638
+ gt,
639
+ !1,
640
+ null,
641
+ "bf2d43b0"
642
+ );
643
+ const xt = St.exports;
644
+ let Ce = 0;
645
+ const wt = {
646
+ beforeCreate() {
647
+ this.uuid = Ce.toString(), Ce += 1;
648
+ }
649
+ };
650
+ var Ct = function() {
651
+ var t = this, a = t._self._c;
652
+ return a("svg", t._b({ staticClass: "ui-assets-icons-16", attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", t.$attrs, !1), [t.$attrs["svg-title"] ? a("title", [t._v(t._s(t.$attrs["svg-title"]))]) : t._e(), a("path", { attrs: { fill: "#001222", d: "M5.00011 5.43922L8.00011 8.43922L11.0001 5.43922L12.0608 6.49988L8.00011 10.5605L3.93945 6.49988L5.00011 5.43922Z" } })]);
653
+ }, Lt = [], Ot = /* @__PURE__ */ R(
654
+ wt,
655
+ Ct,
656
+ Lt,
657
+ !1,
658
+ null,
659
+ null
660
+ );
661
+ const Et = Ot.exports;
662
+ let Le = 0;
663
+ const It = {
664
+ beforeCreate() {
665
+ this.uuid = Le.toString(), Le += 1;
666
+ }
667
+ };
668
+ var Dt = function() {
669
+ var t = this, a = t._self._c;
670
+ return a("svg", t._b({ staticClass: "ui-assets-icons-16", attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", t.$attrs, !1), [t.$attrs["svg-title"] ? a("title", [t._v(t._s(t.$attrs["svg-title"]))]) : t._e(), a("path", { attrs: { fill: "#001222", d: "M10.9999 10.5608L7.9999 7.56077L4.9999 10.5608L3.93924 9.50011L7.9999 5.43945L12.0606 9.50011L10.9999 10.5608Z" } })]);
671
+ }, Bt = [], Tt = /* @__PURE__ */ R(
672
+ It,
673
+ Dt,
674
+ Bt,
675
+ !1,
676
+ null,
677
+ null
678
+ );
679
+ const At = Tt.exports, kt = B({
680
+ name: "dropdown-small-textbox",
681
+ inheritAttrs: !1
682
+ }), Nt = /* @__PURE__ */ B({
683
+ ...kt,
684
+ props: {
685
+ /**
686
+ * The number of additional items that have been selected in the dropdown.
687
+ */
688
+ additionalItemsSelected: { type: [Number, String], default: 0 },
689
+ /**
690
+ * Sets the aria-controls attribute on the textbox. This should correspond to the popover's id that the textbox triggers.
691
+ */
692
+ ariaControls: { type: String, required: !0 },
693
+ /**
694
+ * Indicates whether the content the textbox triggers is visible or not. Needs to be set accordingly when the textbox is used and changed every time the popover is shown/hidden.
695
+ */
696
+ ariaExpanded: {
697
+ type: [String, Boolean],
698
+ required: !0
699
+ },
700
+ /**
701
+ * If no label element is used then the aria-label is be set should be set.
702
+ */
703
+ ariaLabel: { type: String, default: null },
704
+ /**
705
+ * Corresponds to the label's id that labels the textbox element.
706
+ */
707
+ ariaLabelledby: { type: String, default: null },
708
+ /**
709
+ * Disables any textbox functionality
710
+ */
711
+ disabled: { type: Boolean, default: !1 },
712
+ /**
713
+ * Selected option's label
714
+ */
715
+ displayValue: { type: String, default: null },
716
+ /**
717
+ * Sets the possibility to type into the textbox
718
+ */
719
+ dynamicFiltering: { type: Boolean, default: !1 },
720
+ /**
721
+ * Marks the textbox as invalid, rendering an error state
722
+ */
723
+ isInvalid: { type: Boolean, default: !1 },
724
+ /**
725
+ * Indicates if the dropdown is open so that
726
+ * the respective event can be emitted
727
+ */
728
+ open: { type: Boolean, default: !1 },
729
+ /**
730
+ * Sets the dropdown to readonly state
731
+ */
732
+ readonly: { type: Boolean, default: !1 },
733
+ /**
734
+ * The input value
735
+ */
736
+ value: { type: String, default: "" }
737
+ },
738
+ emits: ["clear", "close", "input", "keydown", "open"],
739
+ setup(l, { expose: t, emit: a }) {
740
+ const e = l, o = C(null), n = s(() => ({
741
+ [`b-dropdown-small-textbox--${E.DISABLED}`]: e.disabled,
742
+ [`b-dropdown-small-textbox--${E.READONLY}`]: e.readonly,
743
+ [`b-dropdown-small-textbox--${E.OPENED}`]: e.open
744
+ })), r = s(() => e.open && !e.disabled && !e.readonly), d = (v) => {
745
+ a("input", v);
746
+ }, c = (v) => {
747
+ a("keydown", v);
748
+ }, y = (v) => {
749
+ q(v), a("open");
750
+ }, f = (v) => {
751
+ q(v), a("close");
752
+ }, p = (v) => {
753
+ q(v), a("clear");
754
+ }, i = {
755
+ [g.INPUT]: d,
756
+ [g.OPEN]: y,
757
+ [g.CLOSE]: f,
758
+ [g.CLEAR]: p,
759
+ [g.KEYDOWN]: c
760
+ }, S = () => {
761
+ o.value.focus();
762
+ };
763
+ return t({
764
+ focus: S
765
+ }), { __sfc: !0, emit: a, props: e, baseTextbox: o, conditionalClasses: n, isDropdownOpen: r, onInput: d, onKeyDown: c, openDropdown: y, closeDropdown: f, clearValue: p, listeners: i, focus: S, BentoDropdownSize: z, DropdownBaseTextbox: Be, ChevronDownSmallIcon: Et, ChevronUpSmallIcon: At };
766
+ }
767
+ });
768
+ var Mt = function() {
769
+ var t = this, a = t._self._c, e = t._self._setupProxy;
770
+ return a("div", { staticClass: "b-dropdown-small-textbox", class: e.conditionalClasses }, [a(e.DropdownBaseTextbox, t._g(t._b({ ref: "baseTextbox", staticClass: "b-dropdown-small-textbox__textbox", attrs: { size: e.BentoDropdownSize.SMALL }, scopedSlots: t._u([{ key: "icon", fn: function() {
771
+ return [a("div", { staticClass: "b-dropdown-small-textbox__chevron" }, [a(e.ChevronUpSmallIcon, { directives: [{ name: "show", rawName: "v-show", value: e.isDropdownOpen, expression: "isDropdownOpen" }], attrs: { "svg-title": "opened" } }), a(e.ChevronDownSmallIcon, { directives: [{ name: "show", rawName: "v-show", value: !e.isDropdownOpen, expression: "!isDropdownOpen" }], attrs: { "svg-title": "closed" } })], 1)];
772
+ }, proxy: !0 }]) }, "dropdown-base-textbox", { ...t.$attrs, ...t.$props }, !1), e.listeners))], 1);
773
+ }, Rt = [], Ft = /* @__PURE__ */ R(
774
+ Nt,
775
+ Mt,
776
+ Rt,
777
+ !1,
778
+ null,
779
+ "faba160c"
780
+ );
781
+ const Pt = Ft.exports, $t = (l, t) => t.value.reduce((a, e) => {
782
+ if (e.items) {
783
+ const o = e.items.filter(
784
+ (r) => l.value.find((d) => d.value === r.value)
785
+ );
786
+ o.length === e.items.length ? a.push(e.displayValue ?? e.label) : o.forEach(({ label: r, displayValue: d }) => a.push(d ?? r));
787
+ }
788
+ return l.value.find((o) => o.value === e.value) && a.push(e.displayValue ?? e.label), a;
789
+ }, []).join(", "), Vt = ({ items: l, placeholder: t, selectedValues: a, isMultiSelect: e }) => {
790
+ const o = s(
791
+ () => e.value && l.value.find((r) => {
792
+ var d;
793
+ return (d = r.items) == null ? void 0 : d.length;
794
+ })
795
+ );
796
+ return s(() => a.value.length ? o.value ? $t(a, l) : a.value.map(({ label: r, displayValue: d }) => d ?? r).join(", ") : t.value || null);
797
+ }, Te = (l) => {
798
+ var t;
799
+ (t = l.value.$children) == null || t[0].$refs.textbox.focus();
800
+ }, Kt = ({
801
+ inputContainerRef: l,
802
+ optionsContainerRef: t,
803
+ selectedValueIndex: a,
804
+ isDropdownOpen: e,
805
+ isDynamicFltering: o,
806
+ items: n,
807
+ isMultiple: r,
808
+ totalItemCount: d,
809
+ isVirtualScroll: c
810
+ }, y, f, p) => {
811
+ const i = async (b) => {
812
+ var w;
813
+ o.value && await D(), (w = n.value[b]) == null || w.focus();
814
+ }, S = async (b) => {
815
+ var H, Y;
816
+ o.value && await D();
817
+ const w = (H = t.value.$refs.dropdownOptionsListboxRef.$refs.listboxItemRef) == null ? void 0 : H.$el.querySelectorAll(
818
+ "button"
819
+ );
820
+ w != null && w.length ? (Y = w[b]) == null || Y.focus() : i(b);
821
+ }, v = (b) => {
822
+ var w;
823
+ return (w = t.value.$refs.dropdownOptionsListboxRef.$refs.listboxItemRef) == null ? void 0 : w.setListboxFocusedIndex(
824
+ b
825
+ );
826
+ }, _ = async (b) => {
827
+ var w;
828
+ await ((w = t.value.$refs.dropdownOptionsListboxRef.$refs.listboxItemRef) == null ? void 0 : w.navigateToItem(b));
829
+ }, x = (b) => {
830
+ D(() => {
831
+ c ? _(b) : (v(b), i(b));
832
+ });
833
+ }, L = () => {
834
+ e.value || f(), x(0);
835
+ }, u = () => {
836
+ e.value || f(), D(() => {
837
+ x(c ? d.value - 1 : n.value.length - 1);
838
+ });
839
+ }, T = ({ detail: b }) => {
840
+ b.preventDefault(), L();
841
+ }, I = ({ detail: b }) => {
842
+ b.preventDefault(), u();
843
+ }, A = () => {
844
+ L();
845
+ }, F = () => {
846
+ u();
847
+ }, P = ({ detail: b }) => {
848
+ b.preventDefault(), y(), e.value && (r ? S(0) : x(a.value));
849
+ }, M = ({ detail: b }) => {
850
+ b.preventDefault(), y(), e.value && (r ? S(0) : x(a.value));
851
+ }, O = () => {
852
+ e.value && p();
853
+ }, U = () => {
854
+ e.value && (p(), Te(l));
855
+ };
856
+ return s(() => ({
857
+ [N.ARROW_DOWN]: T,
858
+ [N.ARROW_UP]: I,
859
+ [N.HOME]: A,
860
+ [N.END]: F,
861
+ ...o.value ? {} : { [N.SPACE]: P },
862
+ [N.ENTER]: M,
863
+ ...o.value ? {} : { [N.TAB]: O },
864
+ [N.ESCAPE]: U
865
+ }));
866
+ }, qt = ({ inputContainerRef: l, isDropdownOpen: t }, a) => {
867
+ const e = () => {
868
+ t.value && a(), D(() => {
869
+ Te(l);
870
+ });
871
+ };
872
+ return {
873
+ [m.ENTER]: e,
874
+ [m.ESCAPE]: e,
875
+ [m.TAB]: e,
876
+ [m.SPACE]: e
877
+ };
878
+ };
879
+ function zt(l, t, a, e, o) {
880
+ const n = C(l), r = C(t), d = (f, p = []) => p.flatMap((i) => i.label.toLocaleLowerCase().includes(f) ? e != null && e.value && i.items ? [...d(f, i.items)] : [i, ...d(f, i.items)] : i.items ? [...d(f, i.items)] : []), c = a !== void 0 ? He(() => a(n.value), o ?? 300) : void 0;
881
+ return Z(n, () => {
882
+ c !== void 0 && c();
883
+ }), s(() => {
884
+ if (!n.value || a !== void 0)
885
+ return r.value;
886
+ const f = n.value.toLocaleLowerCase();
887
+ return d(f, r.value);
888
+ });
889
+ }
890
+ const Ut = {
891
+ "de-DE": {
892
+ all: "Alle",
893
+ ariaLabelFallback: "Dropdown",
894
+ clearSearch: "Filter löschen"
895
+ },
896
+ "en-GB": {
897
+ all: "All",
898
+ ariaLabelFallback: "Dropdown",
899
+ clearSearch: "Clear filter"
900
+ },
901
+ "en-US": {
902
+ all: "All",
903
+ ariaLabelFallback: "Dropdown",
904
+ clearSearch: "Clear filter"
905
+ },
906
+ "es-ES": {
907
+ all: "Todos",
908
+ ariaLabelFallback: "Menú desplegable",
909
+ clearSearch: "Limpiar filtro"
910
+ },
911
+ "es-MX": {
912
+ all: "Todos",
913
+ ariaLabelFallback: "Menú desplegable",
914
+ clearSearch: "Limpiar filtro"
915
+ },
916
+ "fr-FR": {
917
+ all: "Tous",
918
+ ariaLabelFallback: "Menu déroulant",
919
+ clearSearch: "Effacer le filtre"
920
+ },
921
+ "it-IT": {
922
+ all: "Tutti",
923
+ ariaLabelFallback: "Menu a discesa",
924
+ clearSearch: "Cancella filtro"
925
+ },
926
+ "ja-JP": {
927
+ all: "すべて",
928
+ ariaLabelFallback: "ドロップダウン",
929
+ clearSearch: "フィルターをクリア"
930
+ },
931
+ "pt-BR": {
932
+ all: "Todos",
933
+ ariaLabelFallback: "Menu suspenso",
934
+ clearSearch: "Limpar filtro"
935
+ },
936
+ "zh-CN": {
937
+ all: "全部",
938
+ ariaLabelFallback: "下拉菜单",
939
+ clearSearch: "清除筛选器"
940
+ }
941
+ }, Wt = /* @__PURE__ */ Symbol("input field component injection key"), ha = /* @__PURE__ */ Symbol("input field hint injection key"), ga = /* @__PURE__ */ Symbol("input field parent component injection key"), jt = B({
942
+ i18n: { messages: Ut },
943
+ name: "b-dropdown",
944
+ components: {
945
+ DropdownInputDefault: xt,
946
+ DropdownInputSmall: Pt
947
+ },
948
+ model: { prop: "modelValue" }
949
+ }), Ht = /* @__PURE__ */ B({
950
+ ...jt,
951
+ props: {
952
+ description: { default: null },
953
+ disabled: { type: Boolean, default: !1 },
954
+ errorMessage: { default: null },
955
+ label: { default: null },
956
+ optional: { type: Boolean, default: !1 },
957
+ placeholder: { default: null },
958
+ readonly: { type: Boolean, default: !1 },
959
+ required: { type: Boolean, default: !1 },
960
+ tooltipText: { default: null },
961
+ ariaLabel: { default: null },
962
+ condensed: { type: Boolean, default: !1 },
963
+ emptyState: { default: void 0 },
964
+ dynamicFiltering: { type: Boolean, default: !1 },
965
+ error: { type: Boolean, default: !1 },
966
+ hasMoreItems: { type: Boolean, default: !1 },
967
+ isOptionDisabled: { type: Function, default: void 0 },
968
+ items: { default: () => [] },
969
+ loading: { type: Boolean, default: !1 },
970
+ componentLoading: { type: Boolean, default: !1 },
971
+ lazyLoadType: { default: ne.props.lazyLoadType.default },
972
+ multiple: { type: Boolean, default: !1 },
973
+ search: { default: void 0 },
974
+ showSlotContentInMultiple: { type: Boolean, default: !1 },
975
+ size: { default: null },
976
+ staticCategories: { type: Boolean, default: !1 },
977
+ value: { default: null },
978
+ modelValue: { default: null },
979
+ virtualScroll: { type: Boolean, default: !1 },
980
+ enableValueLabelPair: { type: Boolean, default: !1 }
981
+ },
982
+ emits: ["input", "update:model-value", "show-more", "open"],
983
+ setup(l, { expose: t, emit: a }) {
984
+ var he, ge;
985
+ const e = l, o = Ee(), n = Q(), r = De(n), { t: d } = G(), { emitValue: c } = je(a), y = C(null), f = C(null), p = C(null), i = C(!1), S = K("bento-dropdown-options-container"), v = K("dropdown-label"), _ = K("dropdown-description"), x = K("dropdown-error"), { isReadOnly: L } = Ze(k(e, "readonly")), u = s(() => e.modelValue ?? e.value), { cachedSelectedListboxOptions: T, cachedListboxSelectedValues: I, setCachedValues: A } = Ye(
986
+ k(e, "items"),
987
+ u,
988
+ k(e, "multiple"),
989
+ k(e, "enableValueLabelPair")
990
+ ), F = C(o["aria-label"]), P = C(o["aria-describedby"]), { ariaLabel: M, label: O } = Oe(e), U = s(() => d("ariaLabelFallback")), se = We({
991
+ // TODO: take ariaLabel ref away when aria-label prop is removed
992
+ ariaLabel: M.value || F,
993
+ label: O,
994
+ defaultFallback: U
995
+ }), b = e.size === z.SMALL || Ve(Wt, !1), w = s(() => b ? z.SMALL : z.DEFAULT), H = s(() => ({
996
+ "b-dropdown--condensed": e.condensed
997
+ })), Y = s(() => ({
998
+ "b-dropdown__description--error": !!e.errorMessage
999
+ })), $ = C(""), W = k(e, "items"), re = k(e, "staticCategories"), J = zt(
1000
+ $,
1001
+ W,
1002
+ (he = e == null ? void 0 : e.search) == null ? void 0 : he.searchEvent,
1003
+ re,
1004
+ (ge = e == null ? void 0 : e.search) == null ? void 0 : ge.debounceTime
1005
+ ), ee = s(() => e.dynamicFiltering && !!$.value), Ae = Vt({
1006
+ items: W,
1007
+ placeholder: k(e, "placeholder"),
1008
+ isMultiSelect: k(e, "multiple"),
1009
+ selectedValues: T
1010
+ }), ke = s(() => {
1011
+ if (e != null && e.multiple && Array.isArray(u.value))
1012
+ return e.items.filter(
1013
+ ({ value: h }) => (e == null ? void 0 : e.value) && (e == null ? void 0 : e.value).includes(h)
1014
+ );
1015
+ if (!e.multiple && e.staticCategories) {
1016
+ const h = e.items.find(
1017
+ (j) => {
1018
+ var Se;
1019
+ return (Se = j.items) == null ? void 0 : Se.some(($e) => $e.value === u.value);
1020
+ }
1021
+ );
1022
+ return (h ? h.items.find((j) => j.value === u.value) : e.items.find(({ value: j }) => j === u.value)) ?? null;
1023
+ }
1024
+ return e.items.find(({ value: h }) => h === u.value);
1025
+ }), ie = s(() => {
1026
+ const h = J.value.findIndex(({ value: V }) => e.enableValueLabelPair ? u.value.value === V : u.value === V);
1027
+ return h > -1 ? h : 0;
1028
+ }), { isMultiLevelSelect: te, flattenedItemsList: de } = Je(W), ce = s(() => te.value && !e.staticCategories), ue = s(() => ce.value ? "treeitem" : "option"), Ne = s(() => {
1029
+ if (e.multiple) {
1030
+ const h = Array.isArray(u.value) ? u.value.length : 0, V = te.value ? de.value.length : W.value.length;
1031
+ return h === 0 ? null : !e.hasMoreItems && V > 0 && V === h ? d("all") : h;
1032
+ }
1033
+ return null;
1034
+ }), Me = s(
1035
+ () => [
1036
+ e.description ? _ : null,
1037
+ P.value,
1038
+ e.errorMessage ? x : null
1039
+ ].filter(Boolean).join(" ") || null
1040
+ ), pe = s(() => {
1041
+ var h;
1042
+ return (h = p.value) == null ? void 0 : h.$el;
1043
+ }), { visibleDomOptions: fe, updateVisibleDomOptions: ae } = Xe(
1044
+ pe,
1045
+ J,
1046
+ ue
1047
+ ), be = () => {
1048
+ L.value || (i.value = !0, D(() => {
1049
+ ae();
1050
+ }));
1051
+ }, X = () => {
1052
+ i.value = !1;
1053
+ }, ye = () => {
1054
+ L.value || (i.value = !i.value, D(() => {
1055
+ ae();
1056
+ }), ee.value && ($.value = ""));
1057
+ }, Re = () => {
1058
+ ee.value && ($.value = ""), i.value && (i.value = !1, p.value.onOutsideDropdownClick());
1059
+ }, ve = async (h) => {
1060
+ e.multiple || ($.value = "", i.value = !1), A(h), c(I.value), e.multiple || (await D(), oe());
1061
+ }, me = () => {
1062
+ a(m.SHOW_MORE);
1063
+ }, Fe = Kt(
1064
+ {
1065
+ inputContainerRef: y,
1066
+ optionsContainerRef: p,
1067
+ selectedValueIndex: ie,
1068
+ isDropdownOpen: i,
1069
+ isDynamicFltering: k(e, "dynamicFiltering"),
1070
+ items: fe,
1071
+ isMultiple: e.multiple,
1072
+ totalItemCount: s(() => J.value.length),
1073
+ isVirtualScroll: !(e != null && e.multiple) && (e == null ? void 0 : e.virtualScroll) !== !1 && (e == null ? void 0 : e.lazyLoadType) === "none"
1074
+ },
1075
+ ye,
1076
+ be,
1077
+ X
1078
+ ), _e = qt(
1079
+ {
1080
+ inputContainerRef: y,
1081
+ isDropdownOpen: i
1082
+ },
1083
+ X
1084
+ ), Pe = {
1085
+ [m.CLOSE_DROPDOWN]: X,
1086
+ [m.SELECT]: ve,
1087
+ [m.SHOW_MORE]: me,
1088
+ ..._e
1089
+ };
1090
+ e.error && le(
1091
+ 'BentoDropdown "error" property',
1092
+ `Use the BentoDropdown "errorMessage" property instead to indicate that there is a modifier error.
1093
+ Having the field as "undefined" will hide/remove the error.
1094
+ <bento-dropdown errorMessage="Error message text" />`,
1095
+ "2.0.0"
1096
+ ), e.size && le('BentoDropdown "size" property', "Do not use. Only 'default' size should be used.", "2.0.0"), e.value && le(
1097
+ 'BentoDropdown "value" property',
1098
+ `The use of "value" prop in "BentoDropdown" is no longer supported.
1099
+ Use the "v-model" or "model-value" property instead.`,
1100
+ "2.0.0"
1101
+ );
1102
+ const oe = () => {
1103
+ y.value.focus();
1104
+ };
1105
+ return Z(
1106
+ () => i.value,
1107
+ (h) => {
1108
+ h && a("open");
1109
+ }
1110
+ ), t({
1111
+ focus: oe
1112
+ }), { __sfc: !0, attrs: o, slots: n, hasSlot: r, props: e, emit: a, t: d, emitValue: c, inputContainerRef: y, inputContainerRefWrapper: f, optionsContainerRef: p, isDropdownOpen: i, dropdownOptionsContainerId: S, labelId: v, descriptionId: _, errorId: x, isReadOnly: L, dropdownValue: u, cachedSelectedListboxOptions: T, cachedListboxSelectedValues: I, setCachedValues: A, ariaLabelAttribute: F, ariaDescribedByAttribute: P, ariaLabel: M, label: O, computedAriaLabelFallbackMessage: U, computedAriaLabel: se, isInputComponent: b, computedSize: w, conditionalClasses: H, descriptionConditionalClasses: Y, searchTerm: $, items: W, staticCategories: re, filteredItems: J, isSearching: ee, displayValue: Ae, selectedValueItem: ke, selectedValueIndex: ie, isMultiLevelSelect: te, flattenedItemsList: de, isTreePattern: ce, computedOptionRole: ue, additionalItemsSelected: Ne, ariaDescribedBy: Me, listboxRef: pe, visibleDomOptions: fe, updateVisibleDomOptions: ae, openDropdown: be, closeDropdown: X, toggleDropdown: ye, clickOutsideDropdown: Re, onOptionSelected: ve, emitShowMoreEvent: me, textboxKeyboardNavigationListeners: Fe, listboxKeyboardNavigationListeners: _e, listboxListeners: Pe, focus: oe, BentoDropdownOptionsContainer: ct, BentoTypography: Ie, ErrorMessage: tt, FieldLabel: et, vBentoClickOutsideDirective: Ge, vBentoKeyboardNavigationDirective: Qe };
1113
+ }
1114
+ });
1115
+ var Yt = function() {
1116
+ var t = this, a = t._self._c, e = t._self._setupProxy;
1117
+ return a("div", { directives: [{ name: "bento-click-outside-directive", rawName: "v-bento-click-outside-directive", value: e.clickOutsideDropdown, expression: "clickOutsideDropdown" }], staticClass: "b-dropdown", class: e.conditionalClasses }, [e.label ? a(e.FieldLabel, { attrs: { id: e.labelId, condensed: t.condensed, label: e.label, "tooltip-text": t.tooltipText, optional: t.optional, required: t.required } }) : t._e(), a("div", t._g({ directives: [{ name: "bento-keyboard-navigation-directive", rawName: "v-bento-keyboard-navigation-directive" }], ref: "inputContainerRefWrapper" }, e.textboxKeyboardNavigationListeners), [a(e.computedSize, { ref: "inputContainerRef", tag: "component", attrs: { condensed: t.condensed, value: e.searchTerm, "additional-items-selected": e.additionalItemsSelected, "aria-controls": e.dropdownOptionsContainerId, ariaExpanded: e.isDropdownOpen, "aria-labelledby": e.label ? e.labelId : null, "aria-describedby": e.ariaDescribedBy, "aria-label": e.computedAriaLabel, "aria-readonly": e.isReadOnly, "aria-required": t.required, readonly: e.isReadOnly, disabled: t.disabled, "display-value": e.displayValue, "dynamic-filtering": t.dynamicFiltering, "is-invalid": !!t.errorMessage || t.error, multiple: t.multiple, open: e.isDropdownOpen, "selected-value-item": e.isInputComponent ? void 0 : e.selectedValueItem, "show-slot-content-in-multiple": t.showSlotContentInMultiple }, on: { input: function(o) {
1118
+ e.searchTerm = o;
1119
+ }, open: e.toggleDropdown, close: e.toggleDropdown }, scopedSlots: t._u([t._l(e.slots, function(o, n) {
1120
+ return { key: n, fn: function(r) {
1121
+ return [t._t(n, null, null, r)];
1122
+ } };
1123
+ })], null, !0) })], 1), e.inputContainerRef ? a(e.BentoDropdownOptionsContainer, t._g({ ref: "optionsContainerRef", attrs: { id: e.dropdownOptionsContainerId, "aria-label": e.computedAriaLabel, "component-loading": t.componentLoading, "empty-state": t.emptyState, disabled: t.disabled, "is-option-disabled": t.isOptionDisabled, items: e.filteredItems, multiple: t.multiple, "static-categories": e.staticCategories, open: e.isDropdownOpen, "selected-value": e.cachedSelectedListboxOptions, searching: e.isSearching, "target-element": e.inputContainerRefWrapper, loading: t.loading, "has-more-items": t.hasMoreItems, "lazy-load-type": t.lazyLoadType, "virtual-scroll": t.virtualScroll }, scopedSlots: t._u([t._l(e.slots, function(o, n) {
1124
+ return { key: n, fn: function(r) {
1125
+ return [t._t(n, null, null, r)];
1126
+ } };
1127
+ })], null, !0) }, e.listboxListeners)) : t._e(), t.errorMessage ? a(e.ErrorMessage, { staticClass: "b-dropdown__error-message", attrs: { id: e.errorId, "error-message": t.errorMessage } }) : t._e(), t.description || e.hasSlot("description") ? a(e.BentoTypography, { staticClass: "b-dropdown__description", class: e.descriptionConditionalClasses, attrs: { id: e.descriptionId, el: "span" } }, [t._t("description", function() {
1128
+ return [t._v(" " + t._s(t.description) + " ")];
1129
+ })], 2) : t._e()], 1);
1130
+ }, Jt = [], Xt = /* @__PURE__ */ R(
1131
+ Ht,
1132
+ Yt,
1133
+ Jt,
1134
+ !1,
1135
+ null,
1136
+ "f5eb43fd"
1137
+ );
1138
+ const Sa = Xt.exports;
1139
+ export {
1140
+ Sa as B,
1141
+ xt as D,
1142
+ ha as I,
1143
+ z as a,
1144
+ Wt as b,
1145
+ ga as c,
1146
+ zt as u
1147
+ };
1148
+ //# sourceMappingURL=dropdown.BYJwx-JD.js.map