@adyen/bento-vue2 1.68.2 → 1.70.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 (451) hide show
  1. package/README.md +43 -97
  2. package/dist/@types/components.d.ts +1 -0
  3. package/dist/@types/index.d.ts +829 -2056
  4. package/dist/accordion.js +1 -1
  5. package/dist/action-bar.js +1 -1
  6. package/dist/alert.js +1 -1
  7. package/dist/assets/accordion-item.css +1 -1
  8. package/dist/assets/action-bar.css +1 -1
  9. package/dist/assets/alert.css +1 -1
  10. package/dist/assets/base-button.css +1 -1
  11. package/dist/assets/base-modal.css +1 -1
  12. package/dist/assets/button-actions-with-menu.css +1 -1
  13. package/dist/assets/button.css +1 -1
  14. package/dist/assets/calendar.css +1 -1
  15. package/dist/assets/card.css +1 -1
  16. package/dist/assets/checkbox-group.css +1 -1
  17. package/dist/assets/checkbox-input.css +1 -1
  18. package/dist/assets/checkbox.css +1 -1
  19. package/dist/assets/chip.css +1 -1
  20. package/dist/assets/code-snippet.css +1 -1
  21. package/dist/assets/controls-group.css +1 -1
  22. package/dist/assets/copy.css +1 -1
  23. package/dist/assets/country.css +1 -1
  24. package/dist/assets/currency.css +1 -1
  25. package/dist/assets/dashed-underline.css +1 -1
  26. package/dist/assets/data-grid-template.css +1 -1
  27. package/dist/assets/data-grid.css +1 -1
  28. package/dist/assets/date-picker.css +1 -1
  29. package/dist/assets/date-range-picker.css +1 -1
  30. package/dist/assets/dialog-page.css +1 -1
  31. package/dist/assets/divider.css +1 -1
  32. package/dist/assets/dropdown-default-textbox.css +1 -1
  33. package/dist/assets/dropdown-tag.css +1 -1
  34. package/dist/assets/dropdown.css +1 -1
  35. package/dist/assets/empty-state.css +1 -1
  36. package/dist/assets/error-message.css +1 -1
  37. package/dist/assets/file-uploader.css +1 -1
  38. package/dist/assets/filter-bar.css +1 -1
  39. package/dist/assets/focus-trap.css +1 -1
  40. package/dist/assets/footer-actions.css +1 -1
  41. package/dist/assets/form-layout-title.css +1 -1
  42. package/dist/assets/grid-layout.css +1 -1
  43. package/dist/assets/header-meta.css +1 -1
  44. package/dist/assets/header-with-views.css +1 -1
  45. package/dist/assets/header.css +1 -1
  46. package/dist/assets/info-icon.css +1 -1
  47. package/dist/assets/input-field-password.css +1 -1
  48. package/dist/assets/input-field-phone-number.css +1 -1
  49. package/dist/assets/input-field.css +1 -1
  50. package/dist/assets/inspector.css +1 -1
  51. package/dist/assets/layout-row.css +1 -1
  52. package/dist/assets/link.css +1 -1
  53. package/dist/assets/listbox-option-tag.css +1 -1
  54. package/dist/assets/loading-indicator.css +1 -1
  55. package/dist/assets/modal-fullscreen.css +1 -1
  56. package/dist/assets/pagination.css +1 -1
  57. package/dist/assets/payment-method.css +1 -1
  58. package/dist/assets/popper-container.css +1 -1
  59. package/dist/assets/promo-banner.css +1 -1
  60. package/dist/assets/radio-group.css +1 -1
  61. package/dist/assets/radio-input.css +1 -1
  62. package/dist/assets/rich-text-editor.css +1 -1
  63. package/dist/assets/search-bar.css +1 -1
  64. package/dist/assets/secondary-nav.css +1 -1
  65. package/dist/assets/segmented-control.css +1 -1
  66. package/dist/assets/selection-card-group.css +1 -1
  67. package/dist/assets/sidepanel.css +1 -1
  68. package/dist/assets/status.css +1 -1
  69. package/dist/assets/step.css +1 -1
  70. package/dist/assets/structured-list-item.css +1 -1
  71. package/dist/assets/tab.css +1 -1
  72. package/dist/assets/tag.css +1 -1
  73. package/dist/assets/textarea.css +1 -1
  74. package/dist/assets/timeline-item.css +1 -1
  75. package/dist/assets/toast.css +1 -1
  76. package/dist/assets/toggle-button.css +1 -1
  77. package/dist/assets/toggle.css +1 -1
  78. package/dist/assets/tooltip.css +1 -1
  79. package/dist/assets/tutorial.css +1 -1
  80. package/dist/assets/typography.css +1 -1
  81. package/dist/assets/use-cached-selected-values.css +1 -1
  82. package/dist/avatar.js +1 -1
  83. package/dist/button.js +9 -9
  84. package/dist/card.js +1 -1
  85. package/dist/checkbox.js +2 -2
  86. package/dist/chip.js +1 -1
  87. package/dist/chunks/{accordion-item.BNtdoVto.js → accordion-item.CoqaoVnC.js} +3 -3
  88. package/dist/chunks/accordion-item.CoqaoVnC.js.map +1 -0
  89. package/dist/chunks/{action-bar.DQb7WVVd.js → action-bar.LaW4Tzlo.js} +18 -19
  90. package/dist/chunks/action-bar.LaW4Tzlo.js.map +1 -0
  91. package/dist/chunks/{alert.c1rhDDrU.js → alert.CMyL-zWT.js} +17 -17
  92. package/dist/chunks/alert.CMyL-zWT.js.map +1 -0
  93. package/dist/chunks/aria-label.CaUURpnB.js.map +1 -1
  94. package/dist/chunks/{avatar.BgwjpLQO.js → avatar.KdcsNOsm.js} +2 -2
  95. package/dist/chunks/avatar.KdcsNOsm.js.map +1 -0
  96. package/dist/chunks/{base-button.-gx_u8Bd.js → base-button.BB5tkzjh.js} +6 -6
  97. package/dist/chunks/base-button.BB5tkzjh.js.map +1 -0
  98. package/dist/chunks/{base-modal.CkkfT6r6.js → base-modal.D8Rh5NUz.js} +19 -19
  99. package/dist/chunks/base-modal.D8Rh5NUz.js.map +1 -0
  100. package/dist/chunks/bin.Ddb69cr1.js +24 -0
  101. package/dist/chunks/bin.Ddb69cr1.js.map +1 -0
  102. package/dist/chunks/button-actions-with-menu.BDpWI2Fh.js +85 -0
  103. package/dist/chunks/button-actions-with-menu.BDpWI2Fh.js.map +1 -0
  104. package/dist/chunks/button-actions.types.BptAXjD8.js +8 -0
  105. package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -0
  106. package/dist/chunks/{button.hF-nD1Og.js → button.CilT7NmM.js} +4 -4
  107. package/dist/chunks/button.CilT7NmM.js.map +1 -0
  108. package/dist/chunks/{calendar.DvIQEYwN.js → calendar.DYI4omOF.js} +25 -25
  109. package/dist/chunks/calendar.DYI4omOF.js.map +1 -0
  110. package/dist/chunks/{card.CASAAsuJ.js → card.C5Uub0Fb.js} +20 -19
  111. package/dist/chunks/card.C5Uub0Fb.js.map +1 -0
  112. package/dist/chunks/{checkbox-group.QdX-NrSG.js → checkbox-group.CLYgcDZl.js} +6 -6
  113. package/dist/chunks/checkbox-group.CLYgcDZl.js.map +1 -0
  114. package/dist/chunks/{checkbox-input.CNWigbX4.js → checkbox-input.B0NsfSNR.js} +2 -2
  115. package/dist/chunks/checkbox-input.B0NsfSNR.js.map +1 -0
  116. package/dist/chunks/{checkbox.DCD6SSXC.js → checkbox.lwLS8MMI.js} +6 -6
  117. package/dist/chunks/checkbox.lwLS8MMI.js.map +1 -0
  118. package/dist/chunks/{chip.OV0EWIP3.js → chip.Bfi-ff5E.js} +10 -10
  119. package/dist/chunks/chip.Bfi-ff5E.js.map +1 -0
  120. package/dist/chunks/{code-snippet.dIKi0D7d.js → code-snippet.DsHNr3DK.js} +8 -8
  121. package/dist/chunks/code-snippet.DsHNr3DK.js.map +1 -0
  122. package/dist/chunks/{controls-group.CccuLkgP.js → controls-group.az4jCZQF.js} +30 -27
  123. package/dist/chunks/controls-group.az4jCZQF.js.map +1 -0
  124. package/dist/chunks/{copy.CF8Fzu2Y.js → copy.Cb7gQhU4.js} +15 -15
  125. package/dist/chunks/copy.Cb7gQhU4.js.map +1 -0
  126. package/dist/chunks/{country.melpzEsY.js → country.1yIZNjdj.js} +7 -7
  127. package/dist/chunks/country.1yIZNjdj.js.map +1 -0
  128. package/dist/chunks/country.types.C0Q_hhgJ.js.map +1 -1
  129. package/dist/chunks/{currency.BM9OXTqe.js → currency.MT3baDtO.js} +3 -3
  130. package/dist/chunks/currency.MT3baDtO.js.map +1 -0
  131. package/dist/chunks/{dashboard-section.BIe6eVHq.js → dashboard-section.C6zV9yL-.js} +4 -4
  132. package/dist/chunks/{dashboard-section.BIe6eVHq.js.map → dashboard-section.C6zV9yL-.js.map} +1 -1
  133. package/dist/chunks/{dashed-underline.BbH6Lnd2.js → dashed-underline.Dry6H2zs.js} +12 -13
  134. package/dist/chunks/dashed-underline.Dry6H2zs.js.map +1 -0
  135. package/dist/chunks/{data-grid-template.Co0Ecr79.js → data-grid-template.Dlevchxd.js} +5 -5
  136. package/dist/chunks/data-grid-template.Dlevchxd.js.map +1 -0
  137. package/dist/chunks/{data-grid.erxjh5TN.js → data-grid.CrvFYgjF.js} +1234 -1182
  138. package/dist/chunks/data-grid.CrvFYgjF.js.map +1 -0
  139. package/dist/chunks/{date-picker.DGIS6Pp-.js → date-picker.DPasFJS2.js} +11 -11
  140. package/dist/chunks/date-picker.DPasFJS2.js.map +1 -0
  141. package/dist/chunks/date-range-picker.BIj17geh.js +967 -0
  142. package/dist/chunks/date-range-picker.BIj17geh.js.map +1 -0
  143. package/dist/chunks/{date.BfyWX2PY.js → date.BTdCYdkj.js} +2 -2
  144. package/dist/chunks/{date.BfyWX2PY.js.map → date.BTdCYdkj.js.map} +1 -1
  145. package/dist/chunks/{dialog-page.CLHZqQeU.js → dialog-page.D20YBRQF.js} +9 -9
  146. package/dist/chunks/dialog-page.D20YBRQF.js.map +1 -0
  147. package/dist/chunks/{divider.Cc4JFWG_.js → divider.CFbtmKeQ.js} +6 -6
  148. package/dist/chunks/divider.CFbtmKeQ.js.map +1 -0
  149. package/dist/chunks/{dropdown-default-textbox.94q6opSD.js → dropdown-default-textbox.CDm-PQfc.js} +81 -80
  150. package/dist/chunks/dropdown-default-textbox.CDm-PQfc.js.map +1 -0
  151. package/dist/chunks/dropdown-tag.cmaM8C2X.js +306 -0
  152. package/dist/chunks/dropdown-tag.cmaM8C2X.js.map +1 -0
  153. package/dist/chunks/{dropdown.DazYAy4B.js → dropdown.CEZXrC1C.js} +43 -43
  154. package/dist/chunks/dropdown.CEZXrC1C.js.map +1 -0
  155. package/dist/chunks/{empty-state.mtXfb1BB.js → empty-state.DAbj9xWF.js} +6 -6
  156. package/dist/chunks/empty-state.DAbj9xWF.js.map +1 -0
  157. package/dist/chunks/{error-message.BgxnwPLF.js → error-message.D_QAOG-5.js} +9 -9
  158. package/dist/chunks/{error-message.BgxnwPLF.js.map → error-message.D_QAOG-5.js.map} +1 -1
  159. package/dist/chunks/es6.MoTTyETW.js +12 -0
  160. package/dist/chunks/es6.MoTTyETW.js.map +1 -0
  161. package/dist/chunks/events.CMzGybJJ.js.map +1 -1
  162. package/dist/chunks/{file-uploader.BPslxGI8.js → file-uploader.D2k8GceS.js} +49 -49
  163. package/dist/chunks/file-uploader.D2k8GceS.js.map +1 -0
  164. package/dist/chunks/{filter-bar.DL19SXF1.js → filter-bar.C9suxxv-.js} +310 -316
  165. package/dist/chunks/filter-bar.C9suxxv-.js.map +1 -0
  166. package/dist/chunks/{fixed-scroller.XN-jvWqb.js → fixed-scroller.DDYpO7Li.js} +2 -2
  167. package/dist/chunks/{fixed-scroller.XN-jvWqb.js.map → fixed-scroller.DDYpO7Li.js.map} +1 -1
  168. package/dist/chunks/{focus-trap.C-wIQqpO.js → focus-trap.B4C5TXxl.js} +2 -2
  169. package/dist/chunks/focus-trap.B4C5TXxl.js.map +1 -0
  170. package/dist/chunks/{footer-actions.BE_zzX-e.js → footer-actions.Bbu1_rUb.js} +12 -12
  171. package/dist/chunks/footer-actions.Bbu1_rUb.js.map +1 -0
  172. package/dist/chunks/{form-layout-title.CIynHgCF.js → form-layout-title.aXVuAWiG.js} +5 -5
  173. package/dist/chunks/form-layout-title.aXVuAWiG.js.map +1 -0
  174. package/dist/chunks/{grid-layout.HvTAa4to.js → grid-layout.1aIiz2N_.js} +4 -4
  175. package/dist/chunks/grid-layout.1aIiz2N_.js.map +1 -0
  176. package/dist/chunks/{header-meta.CfloYa86.js → header-meta.Dj742jL5.js} +26 -27
  177. package/dist/chunks/{header-meta.CfloYa86.js.map → header-meta.Dj742jL5.js.map} +1 -1
  178. package/dist/chunks/{header-with-views.BUQ-MlAq.js → header-with-views.Cis2Ixho.js} +160 -164
  179. package/dist/chunks/header-with-views.Cis2Ixho.js.map +1 -0
  180. package/dist/chunks/{header.uyxNdQa3.js → header.Bo2fbjCm.js} +8 -8
  181. package/dist/chunks/header.Bo2fbjCm.js.map +1 -0
  182. package/dist/chunks/image.C2D2hKat.js.map +1 -1
  183. package/dist/chunks/{info-icon.CYOXx8CL.js → info-icon.BWC7gGmM.js} +7 -7
  184. package/dist/chunks/info-icon.BWC7gGmM.js.map +1 -0
  185. package/dist/chunks/info.CcMZ4aGg.js +24 -0
  186. package/dist/chunks/info.CcMZ4aGg.js.map +1 -0
  187. package/dist/chunks/{input-field-password.C1zTapiN.js → input-field-password.D6wAD55v.js} +29 -29
  188. package/dist/chunks/input-field-password.D6wAD55v.js.map +1 -0
  189. package/dist/chunks/{input-field-phone-number.K8BYjWfa.js → input-field-phone-number.CLHuEXO7.js} +12 -11
  190. package/dist/chunks/{input-field-phone-number.K8BYjWfa.js.map → input-field-phone-number.CLHuEXO7.js.map} +1 -1
  191. package/dist/chunks/{input-field.5S-pUNxA.js → input-field.C3KYlPYa.js} +5 -5
  192. package/dist/chunks/input-field.C3KYlPYa.js.map +1 -0
  193. package/dist/chunks/{inspector.BI28vKQz.js → inspector.CH4kvF9q.js} +6 -6
  194. package/dist/chunks/inspector.CH4kvF9q.js.map +1 -0
  195. package/dist/chunks/keyboard-navigation.pB8weElW.js.map +1 -1
  196. package/dist/chunks/{layout-row.C_F2wX6d.js → layout-row.BLGCVZkD.js} +12 -12
  197. package/dist/chunks/layout-row.BLGCVZkD.js.map +1 -0
  198. package/dist/chunks/{link.CXy_LoFI.js → link.C4htMrDV.js} +3 -3
  199. package/dist/chunks/link.C4htMrDV.js.map +1 -0
  200. package/dist/chunks/{listbox-option-tag.D0Cql_R3.js → listbox-option-tag.3zcrQQvI.js} +4 -4
  201. package/dist/chunks/listbox-option-tag.3zcrQQvI.js.map +1 -0
  202. package/dist/chunks/{loading-indicator.z8COalOc.js → loading-indicator.DXc7I1Lm.js} +2 -2
  203. package/dist/chunks/loading-indicator.DXc7I1Lm.js.map +1 -0
  204. package/dist/chunks/minus-small.DJacLGTw.js.map +1 -1
  205. package/dist/chunks/{modal-fullscreen.DHotw1RI.js → modal-fullscreen.DNxrRLZ5.js} +61 -56
  206. package/dist/chunks/modal-fullscreen.DNxrRLZ5.js.map +1 -0
  207. package/dist/chunks/{modal.eoNQ6E3U.js → modal.BjoHqKYF.js} +6 -6
  208. package/dist/chunks/modal.BjoHqKYF.js.map +1 -0
  209. package/dist/chunks/{pagination.4J7ZMyf5.js → pagination.BNjvTjtR.js} +5 -5
  210. package/dist/chunks/pagination.BNjvTjtR.js.map +1 -0
  211. package/dist/chunks/{payment-method.Cx4nPDtE.js → payment-method.DtvfUnit.js} +3 -3
  212. package/dist/chunks/payment-method.DtvfUnit.js.map +1 -0
  213. package/dist/chunks/popover.types.CiUPrUuw.js +6 -0
  214. package/dist/chunks/popover.types.CiUPrUuw.js.map +1 -0
  215. package/dist/chunks/{popper-container.DIFqmRsp.js → popper-container.BRkYcBmL.js} +3 -3
  216. package/dist/chunks/popper-container.BRkYcBmL.js.map +1 -0
  217. package/dist/chunks/{promo-banner.Bbc2U3S3.js → promo-banner.CmkrgQsm.js} +6 -6
  218. package/dist/chunks/promo-banner.CmkrgQsm.js.map +1 -0
  219. package/dist/chunks/{radio-group.4_KKjvAm.js → radio-group.ANbubbQK.js} +14 -12
  220. package/dist/chunks/radio-group.ANbubbQK.js.map +1 -0
  221. package/dist/chunks/{radio-input.uJAhxKRs.js → radio-input.D8mv2EYC.js} +2 -2
  222. package/dist/chunks/radio-input.D8mv2EYC.js.map +1 -0
  223. package/dist/chunks/{rich-text-editor.BUKLdRkN.js → rich-text-editor.DfUK2cie.js} +8 -8
  224. package/dist/chunks/rich-text-editor.DfUK2cie.js.map +1 -0
  225. package/dist/chunks/{search-bar.CuBj5FAE.js → search-bar.B4ln_DGC.js} +6 -5
  226. package/dist/chunks/search-bar.B4ln_DGC.js.map +1 -0
  227. package/dist/chunks/{secondary-nav.C6usurfD.js → secondary-nav.DGRvSeRY.js} +9 -9
  228. package/dist/chunks/secondary-nav.DGRvSeRY.js.map +1 -0
  229. package/dist/chunks/{segmented-control.DHZEfmT-.js → segmented-control.5-G1EwGt.js} +11 -11
  230. package/dist/chunks/segmented-control.5-G1EwGt.js.map +1 -0
  231. package/dist/chunks/{selection-card-group.0o5T4tab.js → selection-card-group.xs_M1a46.js} +10 -10
  232. package/dist/chunks/selection-card-group.xs_M1a46.js.map +1 -0
  233. package/dist/chunks/{sidepanel.DyThBUgV.js → sidepanel.DJAmLLPS.js} +9 -9
  234. package/dist/chunks/sidepanel.DJAmLLPS.js.map +1 -0
  235. package/dist/chunks/{status.types.p_TCvoo0.js → status.types.BpMK-6IT.js} +3 -3
  236. package/dist/chunks/status.types.BpMK-6IT.js.map +1 -0
  237. package/dist/chunks/{step.DMMofD4B.js → step.DwXkOVky.js} +5 -5
  238. package/dist/chunks/step.DwXkOVky.js.map +1 -0
  239. package/dist/chunks/{structured-list-item.Bnn6-Z3q.js → structured-list-item.TPZLf2rC.js} +7 -7
  240. package/dist/chunks/structured-list-item.TPZLf2rC.js.map +1 -0
  241. package/dist/chunks/{summary-grid.types.D_FU3sUq.js → summary-grid.types.Mua4SprI.js} +7 -7
  242. package/dist/chunks/{summary-grid.types.D_FU3sUq.js.map → summary-grid.types.Mua4SprI.js.map} +1 -1
  243. package/dist/chunks/{tab.BhWPBxcB.js → tab.ClkH0GtX.js} +5 -5
  244. package/dist/chunks/tab.ClkH0GtX.js.map +1 -0
  245. package/dist/chunks/{tag.CGkclKVL.js → tag.D1niMJDQ.js} +4 -4
  246. package/dist/chunks/tag.D1niMJDQ.js.map +1 -0
  247. package/dist/chunks/textarea.BNGBZJ3C.js +214 -0
  248. package/dist/chunks/textarea.BNGBZJ3C.js.map +1 -0
  249. package/dist/chunks/timeline-item.DYUON6R3.js +387 -0
  250. package/dist/chunks/timeline-item.DYUON6R3.js.map +1 -0
  251. package/dist/chunks/{toast.BOyeuS19.js → toast.gMDjItrP.js} +5 -5
  252. package/dist/chunks/toast.gMDjItrP.js.map +1 -0
  253. package/dist/chunks/toggle-button.COXDzXWu.js +1031 -0
  254. package/dist/chunks/toggle-button.COXDzXWu.js.map +1 -0
  255. package/dist/chunks/{toggle.DyXL09-x.js → toggle.Ct-5NUGu.js} +8 -8
  256. package/dist/chunks/toggle.Ct-5NUGu.js.map +1 -0
  257. package/dist/chunks/{tooltip.wQsyAwkC.js → tooltip.B2XJl4VK.js} +64 -60
  258. package/dist/chunks/tooltip.B2XJl4VK.js.map +1 -0
  259. package/dist/chunks/{tutorial.CxrGhLS7.js → tutorial.BiGj42TP.js} +29 -31
  260. package/dist/chunks/tutorial.BiGj42TP.js.map +1 -0
  261. package/dist/chunks/{typography.J1v_SPG3.js → typography.hlOAxsEn.js} +9 -9
  262. package/dist/chunks/typography.hlOAxsEn.js.map +1 -0
  263. package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js → use-bento-toast-controller.BKHU1qBv.js} +2 -2
  264. package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js.map → use-bento-toast-controller.BKHU1qBv.js.map} +1 -1
  265. package/dist/chunks/{use-cached-selected-values.0EeyFfyF.js → use-cached-selected-values.ysbHRJ6L.js} +12 -12
  266. package/dist/chunks/use-cached-selected-values.ysbHRJ6L.js.map +1 -0
  267. package/dist/chunks/{use-country-items.BllTb5MK.js → use-country-items.DFdM2Ank.js} +2 -2
  268. package/dist/chunks/use-country-items.DFdM2Ank.js.map +1 -0
  269. package/dist/chunks/{use-country-phon-code.BOaJ9PDl.js → use-country-phon-code.Bui3zD6W.js} +5 -3
  270. package/dist/chunks/{use-country-phon-code.BOaJ9PDl.js.map → use-country-phon-code.Bui3zD6W.js.map} +1 -1
  271. package/dist/chunks/use-has-slot.C9lQZ6nz.js.map +1 -1
  272. package/dist/chunks/warning-filled.CbJ1pcB2.js +24 -0
  273. package/dist/chunks/warning-filled.CbJ1pcB2.js.map +1 -0
  274. package/dist/code-snippet.js +1 -1
  275. package/dist/country.js +2 -2
  276. package/dist/currency.js +1 -1
  277. package/dist/dashboard-template.js +1 -1
  278. package/dist/dashed-underline.js +1 -1
  279. package/dist/data-grid-template.js +1 -1
  280. package/dist/data-grid.js +1 -1
  281. package/dist/date-picker.js +2 -2
  282. package/dist/date-range-picker.js +2 -2
  283. package/dist/date.js +1 -1
  284. package/dist/divider.js +1 -1
  285. package/dist/dropdown.js +4 -4
  286. package/dist/empty-state.js +1 -1
  287. package/dist/file-uploader.js +1 -1
  288. package/dist/filter-bar.js +1 -1
  289. package/dist/focus-trap.js +1 -1
  290. package/dist/form-layout.js +1 -1
  291. package/dist/header-with-views.js +1 -1
  292. package/dist/header.js +1 -1
  293. package/dist/index.js +225 -227
  294. package/dist/index.js.map +1 -1
  295. package/dist/info-icon.js +1 -1
  296. package/dist/input-field-password.js +1 -1
  297. package/dist/input-field-phone-number.js +3 -2
  298. package/dist/input-field.js +1 -1
  299. package/dist/inspector.js +1 -1
  300. package/dist/internal.js +33 -32
  301. package/dist/internal.js.map +1 -1
  302. package/dist/layout.js +1 -1
  303. package/dist/link.js +1 -1
  304. package/dist/loading-indicator.js +1 -1
  305. package/dist/menu.js +1 -1
  306. package/dist/modal-fullscreen.js +1 -1
  307. package/dist/modal.js +2 -2
  308. package/dist/pagination.js +1 -1
  309. package/dist/payment-method.js +1 -1
  310. package/dist/popover.js +2 -2
  311. package/dist/popper-container.js +1 -1
  312. package/dist/promo-banner.js +1 -1
  313. package/dist/radio-group.js +2 -2
  314. package/dist/rich-text-editor.js +1 -1
  315. package/dist/search-bar.js +2 -2
  316. package/dist/secondary-nav.js +1 -1
  317. package/dist/segmented-control.js +1 -1
  318. package/dist/selection-card.js +1 -1
  319. package/dist/sidepanel.js +1 -1
  320. package/dist/status.js +1 -1
  321. package/dist/stepper.js +1 -1
  322. package/dist/structured-list.js +1 -1
  323. package/dist/styles/bento-dark.css +17 -4
  324. package/dist/styles/bento-light.css +17 -4
  325. package/dist/styles/bento.css +17 -4
  326. package/dist/styles/styleguide.css +17 -4
  327. package/dist/styles/utility.css +3 -0
  328. package/dist/summary-grid.js +1 -1
  329. package/dist/tabs.js +1 -1
  330. package/dist/tag.js +1 -1
  331. package/dist/textarea.js +1 -1
  332. package/dist/timeline.js +1 -1
  333. package/dist/toast.js +1 -1
  334. package/dist/toggle.js +1 -1
  335. package/dist/tutorial.js +1 -1
  336. package/dist/typography.js +1 -1
  337. package/dist/use-form-v4.js.map +1 -1
  338. package/dist/web-types.json +1825 -740
  339. package/package.json +9 -13
  340. package/dist/assets/button-actions.css +0 -1
  341. package/dist/assets/menu.css +0 -1
  342. package/dist/assets/popover.css +0 -1
  343. package/dist/assets/teleport.css +0 -1
  344. package/dist/chunks/accordion-item.BNtdoVto.js.map +0 -1
  345. package/dist/chunks/action-bar.DQb7WVVd.js.map +0 -1
  346. package/dist/chunks/alert.c1rhDDrU.js.map +0 -1
  347. package/dist/chunks/avatar.BgwjpLQO.js.map +0 -1
  348. package/dist/chunks/base-button.-gx_u8Bd.js.map +0 -1
  349. package/dist/chunks/base-modal.CkkfT6r6.js.map +0 -1
  350. package/dist/chunks/base-modal.keys.C2PQXcE2.js +0 -5
  351. package/dist/chunks/base-modal.keys.C2PQXcE2.js.map +0 -1
  352. package/dist/chunks/bin.DLXkAVvw.js +0 -24
  353. package/dist/chunks/bin.DLXkAVvw.js.map +0 -1
  354. package/dist/chunks/button-actions-with-menu.nPj7sdGE.js +0 -83
  355. package/dist/chunks/button-actions-with-menu.nPj7sdGE.js.map +0 -1
  356. package/dist/chunks/button-actions.Ju27CRNG.js +0 -194
  357. package/dist/chunks/button-actions.Ju27CRNG.js.map +0 -1
  358. package/dist/chunks/button.hF-nD1Og.js.map +0 -1
  359. package/dist/chunks/calendar.DvIQEYwN.js.map +0 -1
  360. package/dist/chunks/card.CASAAsuJ.js.map +0 -1
  361. package/dist/chunks/checkbox-group.QdX-NrSG.js.map +0 -1
  362. package/dist/chunks/checkbox-input.CNWigbX4.js.map +0 -1
  363. package/dist/chunks/checkbox.DCD6SSXC.js.map +0 -1
  364. package/dist/chunks/chip.OV0EWIP3.js.map +0 -1
  365. package/dist/chunks/code-snippet.dIKi0D7d.js.map +0 -1
  366. package/dist/chunks/controls-group.CccuLkgP.js.map +0 -1
  367. package/dist/chunks/copy.CF8Fzu2Y.js.map +0 -1
  368. package/dist/chunks/country.melpzEsY.js.map +0 -1
  369. package/dist/chunks/currency.BM9OXTqe.js.map +0 -1
  370. package/dist/chunks/dashed-underline.BbH6Lnd2.js.map +0 -1
  371. package/dist/chunks/data-grid-template.Co0Ecr79.js.map +0 -1
  372. package/dist/chunks/data-grid.erxjh5TN.js.map +0 -1
  373. package/dist/chunks/date-picker.DGIS6Pp-.js.map +0 -1
  374. package/dist/chunks/date-range-picker.CIaKRXIQ.js +0 -1021
  375. package/dist/chunks/date-range-picker.CIaKRXIQ.js.map +0 -1
  376. package/dist/chunks/dialog-page.CLHZqQeU.js.map +0 -1
  377. package/dist/chunks/divider.Cc4JFWG_.js.map +0 -1
  378. package/dist/chunks/dropdown-default-textbox.94q6opSD.js.map +0 -1
  379. package/dist/chunks/dropdown-tag.BaosvGGZ.js +0 -240
  380. package/dist/chunks/dropdown-tag.BaosvGGZ.js.map +0 -1
  381. package/dist/chunks/dropdown.DazYAy4B.js.map +0 -1
  382. package/dist/chunks/empty-state.mtXfb1BB.js.map +0 -1
  383. package/dist/chunks/es6.n1ewaW31.js +0 -11
  384. package/dist/chunks/es6.n1ewaW31.js.map +0 -1
  385. package/dist/chunks/file-uploader.BPslxGI8.js.map +0 -1
  386. package/dist/chunks/filter-bar.DL19SXF1.js.map +0 -1
  387. package/dist/chunks/focus-trap.C-wIQqpO.js.map +0 -1
  388. package/dist/chunks/footer-actions.BE_zzX-e.js.map +0 -1
  389. package/dist/chunks/form-layout-title.CIynHgCF.js.map +0 -1
  390. package/dist/chunks/grid-layout.HvTAa4to.js.map +0 -1
  391. package/dist/chunks/header-with-views.BUQ-MlAq.js.map +0 -1
  392. package/dist/chunks/header.uyxNdQa3.js.map +0 -1
  393. package/dist/chunks/info-icon.CYOXx8CL.js.map +0 -1
  394. package/dist/chunks/info.CszJ0kMi.js +0 -24
  395. package/dist/chunks/info.CszJ0kMi.js.map +0 -1
  396. package/dist/chunks/input-field-password.C1zTapiN.js.map +0 -1
  397. package/dist/chunks/input-field.5S-pUNxA.js.map +0 -1
  398. package/dist/chunks/inspector.BI28vKQz.js.map +0 -1
  399. package/dist/chunks/layout-row.C_F2wX6d.js.map +0 -1
  400. package/dist/chunks/link.CXy_LoFI.js.map +0 -1
  401. package/dist/chunks/listbox-option-tag.D0Cql_R3.js.map +0 -1
  402. package/dist/chunks/loading-indicator.z8COalOc.js.map +0 -1
  403. package/dist/chunks/menu.D0OQgk40.js +0 -515
  404. package/dist/chunks/menu.D0OQgk40.js.map +0 -1
  405. package/dist/chunks/modal-fullscreen.DHotw1RI.js.map +0 -1
  406. package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js +0 -5
  407. package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js.map +0 -1
  408. package/dist/chunks/modal.eoNQ6E3U.js.map +0 -1
  409. package/dist/chunks/pagination.4J7ZMyf5.js.map +0 -1
  410. package/dist/chunks/payment-method.Cx4nPDtE.js.map +0 -1
  411. package/dist/chunks/popover.Bo4Bkudr.js +0 -145
  412. package/dist/chunks/popover.Bo4Bkudr.js.map +0 -1
  413. package/dist/chunks/popover.types.CBqyA4ly.js +0 -6
  414. package/dist/chunks/popover.types.CBqyA4ly.js.map +0 -1
  415. package/dist/chunks/popper-container.DIFqmRsp.js.map +0 -1
  416. package/dist/chunks/promo-banner.Bbc2U3S3.js.map +0 -1
  417. package/dist/chunks/radio-group.4_KKjvAm.js.map +0 -1
  418. package/dist/chunks/radio-input.uJAhxKRs.js.map +0 -1
  419. package/dist/chunks/rich-text-editor.BUKLdRkN.js.map +0 -1
  420. package/dist/chunks/search-bar.CuBj5FAE.js.map +0 -1
  421. package/dist/chunks/secondary-nav.C6usurfD.js.map +0 -1
  422. package/dist/chunks/segmented-control.DHZEfmT-.js.map +0 -1
  423. package/dist/chunks/selection-card-group.0o5T4tab.js.map +0 -1
  424. package/dist/chunks/sidepanel.DyThBUgV.js.map +0 -1
  425. package/dist/chunks/sidepanel.keys.R0DKQuYx.js +0 -5
  426. package/dist/chunks/sidepanel.keys.R0DKQuYx.js.map +0 -1
  427. package/dist/chunks/status.types.p_TCvoo0.js.map +0 -1
  428. package/dist/chunks/step.DMMofD4B.js.map +0 -1
  429. package/dist/chunks/structured-list-item.Bnn6-Z3q.js.map +0 -1
  430. package/dist/chunks/tab.BhWPBxcB.js.map +0 -1
  431. package/dist/chunks/tag.CGkclKVL.js.map +0 -1
  432. package/dist/chunks/teleport.BV6zrDjA.js +0 -128
  433. package/dist/chunks/teleport.BV6zrDjA.js.map +0 -1
  434. package/dist/chunks/textarea.UPM6N9V1.js +0 -203
  435. package/dist/chunks/textarea.UPM6N9V1.js.map +0 -1
  436. package/dist/chunks/timeline-item.DqLhj0Lb.js +0 -385
  437. package/dist/chunks/timeline-item.DqLhj0Lb.js.map +0 -1
  438. package/dist/chunks/toast.BOyeuS19.js.map +0 -1
  439. package/dist/chunks/toggle-button.DEVVvpkw.js +0 -83
  440. package/dist/chunks/toggle-button.DEVVvpkw.js.map +0 -1
  441. package/dist/chunks/toggle.DyXL09-x.js.map +0 -1
  442. package/dist/chunks/tooltip.wQsyAwkC.js.map +0 -1
  443. package/dist/chunks/tutorial.CxrGhLS7.js.map +0 -1
  444. package/dist/chunks/typography.J1v_SPG3.js.map +0 -1
  445. package/dist/chunks/use-cached-selected-values.0EeyFfyF.js.map +0 -1
  446. package/dist/chunks/use-click-outside.BnhTgpSt.js +0 -14
  447. package/dist/chunks/use-click-outside.BnhTgpSt.js.map +0 -1
  448. package/dist/chunks/use-country-items.BllTb5MK.js.map +0 -1
  449. package/dist/chunks/warning-filled.tWOyLUQT.js +0 -24
  450. package/dist/chunks/warning-filled.tWOyLUQT.js.map +0 -1
  451. package/dist/styles/legacy.css +0 -2226
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adyen/bento-vue2",
3
- "version": "1.68.2",
3
+ "version": "1.70.0",
4
4
  "description": "Adyen Bento Vue2 components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -46,7 +46,7 @@
46
46
  "unified": "11.0.5",
47
47
  "uuid": "11.0.5",
48
48
  "vue-demi": "0.14.10",
49
- "@adyen/bento-design-tokens": "1.68.2"
49
+ "@adyen/bento-design-tokens": "1.70.0"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "vue": "~2.7",
@@ -124,7 +124,7 @@
124
124
  "tsc-alias": "1.8.11",
125
125
  "typescript": "5.6.3",
126
126
  "typescript-eslint": "8.16.0",
127
- "vite": "5.4.20",
127
+ "vite": "5.4.21",
128
128
  "vite-plugin-dynamic-import": "1.5.0",
129
129
  "vite-plugin-static-copy": "0.15.0",
130
130
  "vitest": "2.1.9",
@@ -137,11 +137,11 @@
137
137
  "vue-style-loader": "4.1.3",
138
138
  "vue-template-compiler": "2.7.16",
139
139
  "vue-tsc": "1.0.24",
140
- "@adyen/bento-cli": "0.5.2",
140
+ "@adyen/bento-cli": "0.6.0",
141
+ "@adyen/bento-tailwind": "0.6.0",
142
+ "@adyen/ui-assets-icons-16": "6.7.0",
141
143
  "@adyen/bento-core": "0.0.1",
142
- "@adyen/bento-tailwind": "0.5.2",
143
- "@adyen/ui-assets-icons-16": "6.5.3",
144
- "@adyen/ui-assets-payment-method-icons": "10.1.3"
144
+ "@adyen/ui-assets-payment-method-icons": "10.3.0"
145
145
  },
146
146
  "optionalDependencies": {
147
147
  "vue-router": "~3.6"
@@ -175,16 +175,12 @@
175
175
  "test:coverage": "pnpm run test --coverage",
176
176
  "test:list-changed": "TZ='Europe/Paris' vitest list --run --filesOnly --changed origin/main",
177
177
  "test:watch": "TZ='Europe/Paris' vitest watch",
178
- "e2e:bento": "test/bin/e2e-docker.sh vue2",
179
- "e2e:bento:update": "test/bin/e2e-docker.sh vue2 --update-snapshots",
180
- "e2e:legacy": "test/bin/e2e-docker.sh vue2 --legacy",
181
- "e2e:legacy:debug": "BENTO_THEME=legacy pnpm run e2e:debug",
182
- "e2e:legacy:update": "test/bin/e2e-docker.sh vue2 --update-snapshots --legacy",
178
+ "e2e": "test/bin/e2e-docker.sh vue2",
183
179
  "e2e:a11y": "pnpm run e2e:clean && playwright test -c ./playwright.integration.config.ts --project=accessibility",
184
180
  "e2e:changed": "test/bin/e2e-docker.sh vue2 --changed",
185
181
  "e2e:clean": "rm -rf playwright/.cache || true",
186
182
  "e2e:debug": "pnpm run e2e:ci --debug",
187
- "e2e:update": "pnpm run e2e:legacy:update && pnpm run e2e:bento:update",
183
+ "e2e:update": "test/bin/e2e-docker.sh vue2 --update-snapshots",
188
184
  "e2e:report": "playwright show-report playwright-report",
189
185
  "e2e:ci": "pnpm run e2e:clean && playwright test -c ./playwright.integration.config.ts",
190
186
  "e2e:ci:update": "pnpm run e2e:clean && playwright test -c playwright.integration.config.ts --update-snapshots",
@@ -1 +0,0 @@
1
- @keyframes spin-86f46480{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.b-loading-button--loading[data-v-86f46480]:hover{cursor:default}.b-loading-button--primary-loading[data-v-86f46480],.b-loading-button--primary-loading[data-v-86f46480]:hover{background-color:var(--b-loading-button-primary-loading-background-color)}.b-loading-button--primary-loading.b-loading-button--inverse[data-v-86f46480],.b-loading-button--inverse .b-loading-button--primary-loading[data-v-86f46480],.b-loading-button--primary-loading:hover.b-loading-button--inverse[data-v-86f46480],.b-loading-button--inverse .b-loading-button--primary-loading[data-v-86f46480]:hover{background-color:var(--b-loading-button-primary-loading-background-color-inverse)}.b-loading-button--primary-success[data-v-86f46480]{background-color:var(--b-loading-button-primary-success-background-color);color:var(--b-loading-button-primary-success-color)}.b-loading-button--primary-success[data-v-86f46480]:hover{background-color:var(--b-loading-button-primary-success-hover-background-color)}.b-loading-button--primary-success[data-v-86f46480]:active{background-color:var(--b-loading-button-primary-success-active-background-color)}.b-loading-button--primary-success[data-v-86f46480]:disabled{background-color:var(--b-loading-button-primary-success-disabled-background-color);color:var(--b-loading-button-primary-success-disabled-color)}.b-loading-button--secondary-loading[data-v-86f46480],.b-loading-button--secondary-loading[data-v-86f46480]:hover{background-color:var(--b-loading-button-secondary-loading-background-color);color:var(--b-loading-button-secondary-loading-color)}.b-loading-button--secondary-loading.b-loading-button--inverse[data-v-86f46480],.b-loading-button--inverse .b-loading-button--secondary-loading[data-v-86f46480],.b-loading-button--secondary-loading:hover.b-loading-button--inverse[data-v-86f46480],.b-loading-button--inverse .b-loading-button--secondary-loading[data-v-86f46480]:hover{background-color:var(--b-loading-button-secondary-loading-background-color-inverse)}.b-loading-button--secondary-loading.b-loading-button--inverse[data-v-86f46480],.b-loading-button--inverse .b-loading-button--secondary-loading[data-v-86f46480],.b-loading-button--secondary-loading:hover.b-loading-button--inverse[data-v-86f46480],.b-loading-button--inverse .b-loading-button--secondary-loading[data-v-86f46480]:hover{color:var(--b-loading-button-secondary-loading-color-inverse)}.b-loading-button--secondary-loading[data-v-86f46480]:hover:not(:focus),.b-loading-button--secondary-loading[data-v-86f46480]:hover:hover:not(:focus){box-shadow:none}.b-loading-button--secondary-success[data-v-86f46480]{background-color:var(--b-loading-button-secondary-success-background-color);border-color:var(--b-loading-button-secondary-success-border-color);color:var(--b-loading-button-secondary-success-color)}.b-loading-button--secondary-success[data-v-86f46480]:hover{border-color:var(--b-loading-button-secondary-success-hover-border-color);box-shadow:var(--b-loading-button-secondary-success-hover-box-shadow)}.b-loading-button--secondary-success[data-v-86f46480]:active{background-color:var(--b-loading-button-secondary-success-active-background-color);border-color:var(--b-loading-button-secondary-success-active-border-color)}.b-loading-button--secondary-success[data-v-86f46480]:disabled{background-color:var(--b-loading-button-secondary-success-disabled-background-color);border-color:var(--b-loading-button-secondary-success-disabled-border-color);box-shadow:unset;color:var(--b-loading-button-secondary-success-disabled-color)}.b-loading-button--tertiary-loading[data-v-86f46480],.b-loading-button--tertiary-loading[data-v-86f46480]:hover{background-color:var(--b-loading-button-tertiary-loading-background-color);color:var(--b-loading-button-tertiary-loading-color);text-decoration:var(--b-loading-button-tertiary-loading-text-decoration)}.b-loading-button__icon[data-v-86f46480]{display:inline-flex}.b-button-actions[data-v-5ea3e6cd]{container-type:inline-size;flex-grow:1}.b-button-actions__container-wrapper[data-v-5ea3e6cd]{display:flex;flex-direction:column;gap:var(--b-button-actions-vertical-stack-row-gap)}.b-button-actions__button-wrapper>*[data-v-5ea3e6cd],.b-button-actions bento-button[data-v-5ea3e6cd]::part(base){width:100%}@container (min-width: 242px){.b-button-actions--buttons-start[data-v-5ea3e6cd]{flex-direction:row;justify-content:start}.b-button-actions--buttons-end[data-v-5ea3e6cd]{column-gap:var(--b-button-actions-buttons-end-column-gap);flex-direction:row;justify-content:flex-end}.b-button-actions--fill-container[data-v-5ea3e6cd]{column-gap:var(--b-button-actions-fill-container-column-gap);display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.b-button-actions--space-between[data-v-5ea3e6cd]{flex-direction:unset;justify-content:space-between}.b-button-actions--stacked-buttons[data-v-5ea3e6cd],.b-button-actions--vertical-stack[data-v-5ea3e6cd]{flex-direction:column;gap:var(--b-button-actions-vertical-stack-row-gap)}}
@@ -1 +0,0 @@
1
- .b-menu-item[data-v-1e289ecc]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--b-menu-item-color);align-items:center;display:flex;justify-content:space-between;padding:var(--b-menu-item-padding);width:100%}.b-menu-item[data-v-1e289ecc],.b-menu-item[data-v-1e289ecc]:before,.b-menu-item[data-v-1e289ecc]:after{box-sizing:border-box}.b-menu-item *[data-v-1e289ecc],.b-menu-item *[data-v-1e289ecc]:before,.b-menu-item *[data-v-1e289ecc]:after{box-sizing:border-box}.b-menu-item[data-v-1e289ecc] ::-webkit-scrollbar{height:14px;width:14px}.b-menu-item[data-v-1e289ecc] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-menu-item.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item[data-v-1e289ecc]{color:var(--b-menu-item-color-inverse)}.b-menu-item[data-v-1e289ecc]:hover:enabled{background-color:var(--b-menu-item-hover-background-color)}.b-menu-item:hover:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item[data-v-1e289ecc]:hover:enabled{background-color:var(--b-menu-item-hover-background-color-inverse)}.b-menu-item[data-v-1e289ecc]:focus-visible:enabled{background-color:var(--b-menu-item-focus-background-color)}.b-menu-item:focus-visible:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item[data-v-1e289ecc]:focus-visible:enabled{background-color:var(--b-menu-item-focus-background-color-inverse)}.b-menu-item[data-v-1e289ecc]:active:enabled{background-color:var(--b-menu-item-active-background-color)}.b-menu-item:active:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item[data-v-1e289ecc]:active:enabled{background-color:var(--b-menu-item-active-background-color-inverse)}.b-menu-item--critical[data-v-1e289ecc]{color:var(--b-menu-item-critical-color)}.b-menu-item--critical.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]{color:var(--b-menu-item-critical-color-inverse)}.b-menu-item--critical[data-v-1e289ecc]:hover:enabled{background-color:var(--b-menu-item-hover-critical-background-color);color:var(--b-menu-item-hover-critical-color)}.b-menu-item--critical:hover:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]:hover:enabled{background-color:var(--b-menu-item-hover-critical-background-color-inverse)}.b-menu-item--critical:hover:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]:hover:enabled{color:var(--b-menu-item-hover-critical-color-inverse)}.b-menu-item--critical[data-v-1e289ecc]:focus-visible:enabled{background-color:var(--b-menu-item-focus-critical-background-color);color:var(--b-menu-item-focus-critical-color)}.b-menu-item--critical:focus-visible:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]:focus-visible:enabled{background-color:var(--b-menu-item-focus-critical-background-color-inverse)}.b-menu-item--critical:focus-visible:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]:focus-visible:enabled{color:var(--b-menu-item-focus-critical-color-inverse)}.b-menu-item--critical[data-v-1e289ecc]:active:enabled{background-color:var(--b-menu-item-active-critical-background-color);color:var(--b-menu-item-active-critical-color)}.b-menu-item--critical:active:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]:active:enabled{background-color:var(--b-menu-item-active-critical-background-color-inverse)}.b-menu-item--critical:active:enabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc]:active:enabled{color:var(--b-menu-item-active-critical-color-inverse)}.b-menu-item--critical[data-v-1e289ecc] .b-base-button__icon-right{color:var(--b-menu-item-icon-right-color)}.b-menu-item--critical[data-v-1e289ecc] .b-base-button__icon-right.b-menu--inverse,.b-menu--inverse .b-menu-item--critical[data-v-1e289ecc] .b-base-button__icon-right{color:var(--b-menu-item-icon-right-color-inverse)}.b-menu-item--indent[data-v-1e289ecc]{padding-left:var(--b-menu-item-indent-padding-left)}.b-menu-item[data-v-1e289ecc] .b-base-button__label{display:flex;justify-content:space-between;width:100%}.b-menu-item[data-v-1e289ecc] .b-base-button__label .b-menu-item__secondary-text{color:var(--b-menu-item-secondary-text-color);flex-shrink:0;padding-left:var(--b-menu-item-secondary-text-padding-left);text-align:right}.b-menu-item[data-v-1e289ecc] .b-base-button__label .b-menu-item__secondary-text.b-menu--inverse,.b-menu--inverse .b-menu-item[data-v-1e289ecc] .b-base-button__label .b-menu-item__secondary-text{color:var(--b-menu-item-secondary-text-color-inverse)}.b-menu-item[data-v-1e289ecc] .b-base-button__icon-left{padding-right:var(--b-menu-item-icon-left-padding)}.b-menu-item[data-v-1e289ecc] .b-base-button__icon-right{padding-left:var(--b-menu-item-icon-right-padding)}.b-menu-item[data-v-1e289ecc]:disabled{color:var(--b-menu-item-disabled-color)}.b-menu-item:disabled.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item[data-v-1e289ecc]:disabled{color:var(--b-menu-item-disabled-color-inverse)}.b-menu-item:disabled .b-menu-item__secondary-text[data-v-1e289ecc]{color:var(--b-menu-item-disabled-color)}.b-menu-item:disabled .b-menu-item__secondary-text.b-menu--inverse[data-v-1e289ecc],.b-menu--inverse .b-menu-item:disabled .b-menu-item__secondary-text[data-v-1e289ecc]{color:var(--b-menu-item-disabled-color-inverse)}.b-menu-list-container[data-v-f5d01392]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--b-menu-item-list-background-color);height:fit-content;padding:var(--b-menu-item-list-padding)}.b-menu-list-container[data-v-f5d01392],.b-menu-list-container[data-v-f5d01392]:before,.b-menu-list-container[data-v-f5d01392]:after{box-sizing:border-box}.b-menu-list-container *[data-v-f5d01392],.b-menu-list-container *[data-v-f5d01392]:before,.b-menu-list-container *[data-v-f5d01392]:after{box-sizing:border-box}.b-menu-list-container[data-v-f5d01392] ::-webkit-scrollbar{height:14px;width:14px}.b-menu-list-container[data-v-f5d01392] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-menu-list-container.b-menu--inverse[data-v-f5d01392],.b-menu--inverse .b-menu-list-container[data-v-f5d01392]{background-color:var(--b-menu-item-list-background-color-inverse)}.b-sub-menu-item-list[data-v-25195627]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--b-menu-submenu-background-color);overflow:hidden;position:fixed;right:0;top:0;width:100%}.b-sub-menu-item-list[data-v-25195627],.b-sub-menu-item-list[data-v-25195627]:before,.b-sub-menu-item-list[data-v-25195627]:after{box-sizing:border-box}.b-sub-menu-item-list *[data-v-25195627],.b-sub-menu-item-list *[data-v-25195627]:before,.b-sub-menu-item-list *[data-v-25195627]:after{box-sizing:border-box}.b-sub-menu-item-list[data-v-25195627] ::-webkit-scrollbar{height:14px;width:14px}.b-sub-menu-item-list[data-v-25195627] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-sub-menu-item-list.b-menu--inverse[data-v-25195627],.b-menu--inverse .b-sub-menu-item-list[data-v-25195627]{background-color:var(--b-menu-submenu-background-color-inverse)}.b-sub-menu-item-list__list[data-v-25195627]{list-style:none;padding:0}.b-sub-menu-item-list__divider[data-v-25195627]{margin-block:var(--b-menu-submenu-divider-margin-block)}.b-sub-menu-item-list__transition-enter-active[data-v-25195627]{animation:enter-un2kafk-25195627 var(--b-menu-submenu-animation-duration) var(--b-animation-easing-enter)}@keyframes enter-un2kafk-25195627{0%{translate:100% 0}to{translate:0 0}}.b-sub-menu-item-list__transition-leave-active[data-v-25195627]{animation:exit-un2kafl-25195627 var(--b-menu-submenu-animation-duration) var(--b-animation-easing-exit)}@keyframes exit-un2kafl-25195627{0%{translate:0 0}to{translate:100% 0}}.b-menu-item-list[data-v-a94a192f]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;list-style-type:none;margin:0;max-height:376px;max-width:350px;min-width:150px;overflow-y:auto;padding:0}.b-menu-item-list[data-v-a94a192f],.b-menu-item-list[data-v-a94a192f]:before,.b-menu-item-list[data-v-a94a192f]:after{box-sizing:border-box}.b-menu-item-list *[data-v-a94a192f],.b-menu-item-list *[data-v-a94a192f]:before,.b-menu-item-list *[data-v-a94a192f]:after{box-sizing:border-box}.b-menu-item-list[data-v-a94a192f] ::-webkit-scrollbar{height:14px;width:14px}.b-menu-item-list[data-v-a94a192f] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-menu-item-list__divider[data-v-a94a192f]{margin-block:var(--b-menu-item-list-divider-margin-block)}.b-menu[data-v-f7030411]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:fit-content}.b-menu[data-v-f7030411],.b-menu[data-v-f7030411]:before,.b-menu[data-v-f7030411]:after{box-sizing:border-box}.b-menu *[data-v-f7030411],.b-menu *[data-v-f7030411]:before,.b-menu *[data-v-f7030411]:after{box-sizing:border-box}.b-menu[data-v-f7030411] ::-webkit-scrollbar{height:14px;width:14px}.b-menu[data-v-f7030411] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-menu__popover[data-v-f7030411]{width:auto}
@@ -1 +0,0 @@
1
- .b-popover-dismiss-button[data-v-71876338]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:pointer}.b-popover-dismiss-button[data-v-71876338],.b-popover-dismiss-button[data-v-71876338]:before,.b-popover-dismiss-button[data-v-71876338]:after{box-sizing:border-box}.b-popover-dismiss-button *[data-v-71876338],.b-popover-dismiss-button *[data-v-71876338]:before,.b-popover-dismiss-button *[data-v-71876338]:after{box-sizing:border-box}.b-popover-dismiss-button[data-v-71876338] ::-webkit-scrollbar{height:14px;width:14px}.b-popover-dismiss-button[data-v-71876338] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-popover-dismiss-button--on-image[data-v-71876338]{color:var(--b-popover-dismiss-button-on-image-icon-color)}.b-popover-dismiss-button--on-image[data-v-71876338]:hover{color:var(--b-popover-dismiss-button-on-image-icon-hovered-color)}.b-popover-dismiss-button--on-image[data-v-71876338]:active{color:var(--b-popover-dismiss-button-on-image-icon-active-color)}.b-popover[data-v-2b3440bd]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--b-popover-background-color);border:var(--b-popover-border);border-radius:var(--b-popover-border-radius);box-shadow:var(--b-popover-box-shadow);color:var(--b-popover-color);overflow:hidden;width:100%;z-index:var(--b-popover-z-index)}.b-popover[data-v-2b3440bd],.b-popover[data-v-2b3440bd]:before,.b-popover[data-v-2b3440bd]:after{box-sizing:border-box}.b-popover *[data-v-2b3440bd],.b-popover *[data-v-2b3440bd]:before,.b-popover *[data-v-2b3440bd]:after{box-sizing:border-box}.b-popover[data-v-2b3440bd] ::-webkit-scrollbar{height:14px;width:14px}.b-popover[data-v-2b3440bd] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}@media (min-width: 376px){.b-popover[data-v-2b3440bd]{width:320px}}.b-popover[data-v-2b3440bd] .b-popover__arrow:before{color:transparent;display:none}.b-popover--fit-content[data-v-2b3440bd]{width:fit-content}.b-popover--overflow-visible[data-v-2b3440bd]{overflow:visible}.b-popover--overflow-visible .b-popover__footer[data-v-2b3440bd]{border-bottom-left-radius:var(--b-popover-border-radius);border-bottom-right-radius:var(--b-popover-border-radius)}.b-popover--small[data-v-2b3440bd]{width:200px}.b-popover--large[data-v-2b3440bd]{width:480px}.b-popover--with-divider .b-popover__footer[data-v-2b3440bd]{background-color:var(--b-popover-with-divider-footer-background-color);border-top:var(--b-popover-with-divider-footer-border-top);padding-top:var(--b-popover-with-divider-footer-padding-top)}.b-popover--with-divider .b-popover__content[data-v-2b3440bd]{padding:var(--b-popover-with-divider-content-padding)}.b-popover--without-space>.b-popover__header[data-v-2b3440bd]{padding:var(--b-popover-without-space-padding)}.b-popover--without-space>.b-popover__content[data-v-2b3440bd]{padding:var(--b-popover-without-space-padding)}.b-popover--without-space>.b-popover__footer[data-v-2b3440bd]{padding:var(--b-popover-without-space-padding)}.b-popover__content[data-v-2b3440bd]{padding:var(--b-popover-content-padding)}.b-popover__content--with-title[data-v-2b3440bd]{padding:var(--b-popover-content-with-title-padding)}.b-popover__header[data-v-2b3440bd]{align-items:baseline;display:flex;justify-content:space-between;padding:var(--b-popover-header-padding)}.b-popover__header-title[data-v-2b3440bd]{align-items:center;column-gap:var(--b-popover-header-title-column-gap);display:flex}.b-popover__image[data-v-2b3440bd]{display:flex;overflow:hidden}.b-popover__image+.b-popover__header[data-v-2b3440bd]{padding:var(--b-popover-image-header-padding)}.b-popover__image-dismiss-button[data-v-2b3440bd]{position:absolute;right:var(--b-popover-image-dismiss-icon-right);top:var(--b-popover-image-dismiss-icon-top)}.b-popover__footer[data-v-2b3440bd]{padding:var(--b-popover-footer-padding)}.b-popover__animation-enter-active[data-popper-placement^=top][data-v-2b3440bd]{animation:fade-in-un2kac7-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-in-un2kac7-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-enter)}@keyframes fade-in-un2kac7-2b3440bd{0%{opacity:0}to{opacity:1}}@keyframes move-in-un2kac7-2b3440bd{0%{top:8px}to{top:0}}.b-popover__animation-leave-active[data-popper-placement^=top][data-v-2b3440bd]{animation:fade-out-un2kaco-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-out-un2kaco-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-exit)}@keyframes fade-out-un2kaco-2b3440bd{0%{opacity:1}to{opacity:0}}@keyframes move-out-un2kaco-2b3440bd{0%{top:0}to{top:8px}}.b-popover__animation-enter-active[data-popper-placement^=bottom][data-v-2b3440bd]{animation:fade-in-un2kadh-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-in-un2kadh-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-enter)}@keyframes fade-in-un2kadh-2b3440bd{0%{opacity:0}to{opacity:1}}@keyframes move-in-un2kadh-2b3440bd{0%{top:-8px}to{top:0}}.b-popover__animation-leave-active[data-popper-placement^=bottom][data-v-2b3440bd]{animation:fade-out-un2kadm-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-out-un2kadm-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-exit)}@keyframes fade-out-un2kadm-2b3440bd{0%{opacity:1}to{opacity:0}}@keyframes move-out-un2kadm-2b3440bd{0%{top:0}to{top:-8px}}.b-popover__animation-enter-active[data-popper-placement^=left][data-v-2b3440bd]{animation:fade-in-un2kadw-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-in-un2kadw-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-enter)}@keyframes fade-in-un2kadw-2b3440bd{0%{opacity:0}to{opacity:1}}@keyframes move-in-un2kadw-2b3440bd{0%{left:8px}to{left:0}}.b-popover__animation-leave-active[data-popper-placement^=left][data-v-2b3440bd]{animation:fade-out-un2kadz-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-out-un2kadz-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-exit)}@keyframes fade-out-un2kadz-2b3440bd{0%{opacity:1}to{opacity:0}}@keyframes move-out-un2kadz-2b3440bd{0%{left:0}to{left:8px}}.b-popover__animation-enter-active[data-popper-placement^=right][data-v-2b3440bd]{animation:fade-in-un2kaee-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-in-un2kaee-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-enter)}@keyframes fade-in-un2kaee-2b3440bd{0%{opacity:0}to{opacity:1}}@keyframes move-in-un2kaee-2b3440bd{0%{left:-8px}to{left:0}}.b-popover__animation-leave-active[data-popper-placement^=right][data-v-2b3440bd]{animation:fade-out-un2kaeq-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-linear),move-out-un2kaeq-2b3440bd var(--b-popover-animation-duration) var(--b-animation-easing-exit)}@keyframes fade-out-un2kaeq-2b3440bd{0%{opacity:1}to{opacity:0}}@keyframes move-out-un2kaeq-2b3440bd{0%{left:0}to{left:-8px}}
@@ -1 +0,0 @@
1
- .b-teleport--hidden[data-v-d05ca1fd]{display:none;visibility:hidden}
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion-item.BNtdoVto.js","sources":["../../src/components/accordion/accordion.keys.ts","../../src/components/accordion/accordion.vue","../../src/components/accordion/components/accordion-item.vue"],"sourcesContent":["export const ACCORDION_TITLE_SIZE_INJECTION_KEY = Symbol('accordion title size injection key');\n","<template>\n <div class=\"b-accordion\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { PropType, provide, toRef } from 'vue';\n\n import { ACCORDION_TITLE_SIZE_INJECTION_KEY } from './accordion.keys';\n\n import type { BentoAccordionTitleSize } from './accordion.types';\n\n const props = defineProps({\n /**\n * Controls accordion title size.\n * @values default, small\n */\n titleSize: {\n type: String as PropType<BentoAccordionTitleSize>,\n default: 'default',\n },\n });\n\n provide(ACCORDION_TITLE_SIZE_INJECTION_KEY, toRef(props, 'titleSize'));\n</script>\n\n<script lang=\"ts\">\n /**\n * An accordion is a vertical stack of interactive headers used to reveal or hide\n * sections of content associated with these headers.\n *\n * This component must only have `BentoAccordionItem` components in its default slot.\n *\n * Accordion items should be collapsed by default.\n *\n * @example\n * import { BentoAccordion, BentoAccordionItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAccordion, BentoAccordionItem },\n * template: `\n * <bento-accordion>\n * <bento-accordion-item title=\"Item 1\">\n * Content for item 1\n * </bento-accordion-item>\n * <bento-accordion-item title=\"Item 2\">\n * Content for item 2\n * </bento-accordion-item>\n * </bento-accordion>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./accordion.scss\" />\n","<template>\n <div class=\"b-accordion-item\">\n <bento-typography\n el=\"h3\"\n :variant=\"titleSize === 'small' ? 'body' : 'title'\"\n :strongest=\"titleSize === 'small'\"\n >\n <button\n :id=\"buttonId\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"`${isOpen}`\"\n type=\"button\"\n class=\"b-accordion-item__button\"\n @click=\"isOpen = !isOpen\"\n >\n <chevron-up-icon\n v-if=\"isOpen\"\n class=\"b-accordion-item__icon\"\n :svg-title=\"t('collapse')\"\n aria-hidden=\"true\"\n />\n <chevron-down-icon v-else class=\"b-accordion-item__icon\" :svg-title=\"t('expand')\" aria-hidden=\"true\" />\n {{ title }}\n </button>\n </bento-typography>\n\n <Transition :name=\"CONTENT_TRANSITION_NAME\">\n <div v-if=\"isOpen\" :id=\"contentId\" :aria-labelledby=\"buttonId\" role=\"region\" :style=\"contentMaxHeight\">\n <div ref=\"contentDiv\" class=\"b-accordion-item__content\">\n <slot />\n </div>\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, inject, ref, watch } from 'vue';\n\n import { BentoTypography } from '@/components/typography';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import ChevronUpIcon from '@adyen/ui-assets-icons-16/vue/chevron-up';\n\n import { generateUid } from '@/core/utils/ts';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import { useI18n } from '@/utils/ts/i18n';\n\n import { ACCORDION_TITLE_SIZE_INJECTION_KEY } from '../accordion.keys';\n\n import type { BentoAccordionTitleSize } from '../accordion.types';\n import { useExpandableContentHeight } from '@/composables/use-expandable-content-height/use-expandable-content-height';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const CONTENT_TRANSITION_NAME = 'b-accordion-item__animation--content';\n\n const props = defineProps({\n /**\n * Sets the title of the accordion item.\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Controls if the content is visible or hidden.\n */\n isExpanded: {\n type: Boolean,\n default: false,\n },\n });\n\n const emit = defineEmits([\"update:is-expanded\"]);\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n // Refs\n const contentDiv = ref<HTMLDivElement>(null);\n const isOpen = ref(props.isExpanded);\n\n // Generating IDs\n const buttonId = generateUid('accordionItemButton');\n const contentId = generateUid('accordionItemContent');\n\n // Injecting prop from parent\n const titleSize = inject<`${BentoAccordionTitleSize}`>(ACCORDION_TITLE_SIZE_INJECTION_KEY, 'default');\n\n // Getting and setting the item height to be able to handle height animation\n const { updateContentHeight, contentHeight } = useExpandableContentHeight(contentDiv, isOpen);\n\n const contentMaxHeight = computed(() => (contentHeight.value ? { 'max-height': contentHeight.value } : {}));\n\n watch(\n () => props.isExpanded,\n value => {\n isOpen.value = value;\n }\n );\n\n watch(\n () => contentDiv.value,\n () => {\n let observer: ResizeObserver | null = null;\n if (!observer && contentDiv.value) {\n observer = observeSizeOfElement(contentDiv.value, () => {\n if (contentDiv.value) {\n updateContentHeight();\n }\n });\n }\n }\n );\n\n watch(\n isOpen,\n value => {\n // Enable two-way data binding for `isExpanded`\n emit('update:is-expanded', value);\n\n updateContentHeight();\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * An accordion item is an interactive header used to reveal or hide a\n * section of content associated with this header.\n *\n * This component must always be wrapped by a `BentoAccordion` component.\n *\n * @example\n * import { BentoAccordion, BentoAccordionItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAccordion, BentoAccordionItem },\n * template: `\n * <bento-accordion>\n * <bento-accordion-item title=\"Item 1\">\n * Content for item 1\n * </bento-accordion-item>\n * <bento-accordion-item title=\"Item 2\">\n * Content for item 2\n * </bento-accordion-item>\n * </bento-accordion>\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./accordion-item.scss\" />\n"],"names":["ACCORDION_TITLE_SIZE_INJECTION_KEY","__default__$1","provide","toRef","props","__default__","messages","CONTENT_TRANSITION_NAME","t","useI18n","contentDiv","ref","isOpen","buttonId","generateUid","contentId","titleSize","inject","updateContentHeight","contentHeight","useExpandableContentHeight","contentMaxHeight","computed","watch","value","observer","observeSizeOfElement","emit"],"mappings":";;;;;;;;;;AAAa,MAAAA,IAAA,OAAA,oCAAA,GCqDTC,IAAA,CAAA;;;;;;;;;;;;;;;AA7BA,WAAAC,EAAAF,GAAAG,EAAAC,GAAA,WAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GCgIAC,IAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAEf;;;;;;;;;;;;;;;;;;;;;iBAlGAC,IAAA,wCAqBA,EAAA,GAAAC,EAAA,IAAAC,EAAA,GAGAC,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAAP,EAAA,UAAA,GAGAS,IAAAC,EAAA,qBAAA,GACAC,IAAAD,EAAA,sBAAA,GAGAE,IAAAC,EAAAjB,GAAA,SAAA,GAGA,EAAA,qBAAAkB,GAAA,eAAAC,EAAA,IAAAC,EAAAV,GAAAE,CAAA,GAEAS,IAAAC,EAAA,MAAAH,EAAA,QAAA,EAAA,cAAAA,EAAA,MAAA,IAAA,CAAA,CAAA;AAEA,WAAAI;AAAA,MAAA,MAAAnB,EAAA;AAAA,MACgB,CAAAoB,MAAA;AAER,QAAAZ,EAAA,QAAAY;AAAA,MAAe;AAAA,IACnB,GAGJD;AAAA,MAAA,MAAAb,EAAA;AAAA,MACqB,MAAA;AAEb,YAAAe,IAAA;AACA,QAAA,CAAAA,KAAAf,EAAA,UACIe,IAAAC,EAAAhB,EAAA,OAAA,MAAA;AACI,UAAAA,EAAA,SACIQ,EAAA;AAAA,QACJ,CAAA;AAAA,MAER;AAAA,IACJ,GAGJK;AAAA,MAAAX;AAAA,MACI,CAAAY,MAAA;AAGI,QAAAG,EAAA,sBAAAH,CAAA,GAEAN,EAAA;AAAA,MAAoB;AAAA,MACxB,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-bar.DQb7WVVd.js","sources":["../../src/components/action-bar/action-bar.vue"],"sourcesContent":["<template>\n <Transition name=\"b-action-bar__animation\" appear>\n <section class=\"b-action-bar\" :class=\"conditionalClasses\" :aria-label=\"t('actionBar')\">\n <div ref=\"actionBar\" class=\"b-action-bar__container\">\n <div v-if=\"!isConfirmationVariant\" class=\"b-action-bar__close-button\">\n <bento-button variant=\"tertiary\" inverse :aria-label=\"t('close')\" @click=\"emit('close')\">\n <template #iconLeft><cross-icon :aria-hidden=\"true\" /></template>\n </bento-button>\n </div>\n <bento-typography el=\"span\" stronger class=\"b-action-bar__selection\">\n {{ n(itemCounter) }}\n {{ isConfirmationVariant ? tc('unsavedChanges', itemCounter) : label }}\n </bento-typography>\n <bento-button-actions\n v-if=\"isConfirmationVariant\"\n :actions=\"confirmationActions\"\n class=\"b-action-bar__actions\"\n inverse\n />\n <button-actions-with-menu\n v-else\n :actions=\"actionsInternal\"\n class=\"b-action-bar__actions\"\n :displayed-actions=\"internalDisplayedActions\"\n menu-position=\"top-end\"\n disable-responsive-behavior\n inverse\n />\n </div>\n </section>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, PropType, provide, ref, toRefs, watch } from 'vue';\n import { BentoButton, BentoButtonActions, BentoButtonActionsList } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n\n import { type BentoActionBarVariant } from '@/components/action-bar/action-bar.types';\n import ButtonActionsWithMenu from '@/components/internal/button-actions-with-menu/button-actions-with-menu.vue';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { useWindowSize } from '@vueuse/core';\n\n import messages from './messages.json';\n import { POPOVER_OFFSET_INJECTION_KEY } from '@/components/popover/popover.keys';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n // Constants\n const AVERAGE_BUTTON_SIZE = 100;\n const MENU_OFFSET = 7;\n const RESPONSIVE_BREAKPOINT = 500;\n const SPACING = 32;\n\n const props = defineProps({\n /**\n * List of actions that will be used to render the buttons.\n * Required and used for the `default` variant.\n *\n * Each object in the list should have a `title`, an `event` and,\n * optionally, an `icon`.\n *\n * The component will display 4 actions and the hide the rest inside a menu.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: () => [],\n },\n /**\n * How many actions should be visible outside the menu, cannot be more than 4\n */\n visibleActions: {\n type: Number,\n default: 4,\n validator: (value: number) => value > 0 && value <= 4,\n },\n /**\n * Use when there are sticky elements at the bottom, like sticky pagination\n */\n extraBottomSpacing: {\n type: Boolean,\n default: false,\n },\n /**\n * Show how many items are selected\n */\n itemCounter: {\n type: Number,\n required: true,\n },\n /**\n * Label for the selection, e.g. 'selected'/'changed'\n */\n selectionLabel: {\n type: String,\n default: null,\n },\n /**\n * Variant for the action bar\n * @values default, confirmation\n */\n variant: {\n type: String as PropType<BentoActionBarVariant>,\n default: 'default',\n },\n });\n\n const emit = defineEmits([\"close\", \"cancel\", \"save\"]);\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n const label = computed(() => (props.selectionLabel ? props.selectionLabel : t('selected')));\n\n // Refs\n const actionBar = ref<HTMLDivElement>(null);\n const { extraBottomSpacing, visibleActions } = toRefs(props);\n const { width } = useWindowSize();\n const internalDisplayedActions = ref(null);\n const internalVisibleActions = ref(null);\n\n const isConfirmationVariant = computed(() => props.variant === 'confirmation');\n\n watch(\n () => visibleActions.value,\n value => {\n internalVisibleActions.value = value <= 4 ? value : 4;\n internalDisplayedActions.value = internalVisibleActions.value;\n },\n { immediate: true }\n );\n\n // Styling\n const conditionalClasses = computed(() => ({\n 'b-action-bar--extra-spacing': extraBottomSpacing.value,\n 'b-action-bar--confirmation': isConfirmationVariant.value,\n }));\n\n // Provide POPOVER_OFFSET_INJECTION_KEY to change the value of the popover offset\n provide(POPOVER_OFFSET_INJECTION_KEY, MENU_OFFSET);\n\n // Manipulate actions array to display as intended\n const actionsInternal = computed(() => {\n // All buttons should be of type secondary in the action bar\n const actions = props.actions.map(action => ({\n ...action,\n variant: 'secondary',\n })) as BentoButtonActionsList;\n // Shown actions should display from left to right in action bar, instead of right to left which is the button actions default\n const shownActions = actions.slice(0, internalDisplayedActions.value).reverse();\n const hiddenActions = actions.slice(internalDisplayedActions.value);\n\n return [...shownActions, ...hiddenActions];\n });\n\n const confirmationActions = computed<BentoButtonActionsList>(() => [\n {\n title: t('save'),\n event: () => emit('save'),\n },\n {\n title: t('cancel'),\n variant: 'secondary',\n event: () => emit('cancel'),\n },\n ]);\n\n // Recursive functions to determine how many actions should be visible/hidden based on the screens width\n const showActions = async () => {\n await nextTick();\n if (\n width.value > actionBar.value.clientWidth + SPACING + AVERAGE_BUTTON_SIZE &&\n internalDisplayedActions.value < internalVisibleActions.value\n ) {\n internalDisplayedActions.value += 1;\n showActions();\n }\n };\n\n const hideActions = async () => {\n await nextTick();\n if (width.value < actionBar.value.clientWidth + SPACING && internalDisplayedActions.value > 0) {\n internalDisplayedActions.value -= 1;\n hideActions();\n }\n };\n\n // Screen width watcher to toggle hidden/visible actions\n watch(\n () => width.value,\n async (newValue, oldValue) => {\n await nextTick();\n if (!actionBar.value) {\n return;\n }\n const isIncreasing = newValue > oldValue;\n if (width.value < RESPONSIVE_BREAKPOINT) {\n internalDisplayedActions.value = 0;\n } else if (isIncreasing) {\n showActions();\n } else {\n hideActions();\n }\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * Action bar is a floating bar that provides users with quick access to key actions that can be applied to one or multiple items.\n *\n * @example\n * import { BentoActionBar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoActionBar },\n * template: `\n * <bento-action-bar\n * :actions='[\n * {\n * title: 'Delete',\n * critical: true,\n * icon: BinIcon,\n * event: () => true,\n * },\n * {\n * title: 'Edit',\n * icon: EditIcon,\n * event: () => true,\n * }\n * ]'\n * @close=\"closeAction\"\n * :item-counter=\"5\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./action-bar.scss\" />\n"],"names":["__default__","messages","AVERAGE_BUTTON_SIZE","MENU_OFFSET","RESPONSIVE_BREAKPOINT","SPACING","t","tc","n","useI18n","label","computed","props","actionBar","ref","extraBottomSpacing","visibleActions","toRefs","width","useWindowSize","internalDisplayedActions","internalVisibleActions","isConfirmationVariant","watch","value","conditionalClasses","provide","POPOVER_OFFSET_INJECTION_KEY","actionsInternal","actions","action","shownActions","hiddenActions","confirmationActions","emit","showActions","nextTick","hideActions","newValue","oldValue","isIncreasing"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgPIA,IAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA/LAC,IAAA,KACAC,IAAA,GACAC,IAAA,KACAC,IAAA,IA2DA,EAAA,GAAAC,GAAA,IAAAC,GAAA,GAAAC,EAAA,IAAAC,EAAA,GACAC,IAAAC,EAAA,MAAAC,EAAA,iBAAAA,EAAA,iBAAAN,EAAA,UAAA,CAAA,GAGAO,IAAAC,EAAA,IAAA,GACA,EAAA,oBAAAC,GAAA,gBAAAC,EAAA,IAAAC,EAAAL,CAAA,GACA,EAAA,OAAAM,EAAA,IAAAC,EAAA,GACAC,IAAAN,EAAA,IAAA,GACAO,IAAAP,EAAA,IAAA,GAEAQ,IAAAX,EAAA,MAAAC,EAAA,YAAA,cAAA;AAEA,IAAAW;AAAA,MAAA,MAAAP,EAAA;AAAA,MACyB,CAAAQ,MAAA;AAEjB,QAAAH,EAAA,QAAAG,KAAA,IAAAA,IAAA,GACAJ,EAAA,QAAAC,EAAA;AAAA,MAAwD;AAAA,MAC5D,EAAA,WAAA,GAAA;AAAA,IACkB;AAItB,UAAAI,IAAAd,EAAA,OAAA;AAAA,MAA2C,+BAAAI,EAAA;AAAA,MACW,8BAAAO,EAAA;AAAA,IACE,EAAA;AAIxD,IAAAI,EAAAC,GAAAxB,CAAA;AAGA,UAAAyB,IAAAjB,EAAA,MAAA;AAEI,YAAAkB,IAAAjB,EAAA,QAAA,IAAA,CAAAkB,OAAA;AAAA,QAA6C,GAAAA;AAAA,QACtC,SAAA;AAAA,MACM,EAAA,GAGbC,IAAAF,EAAA,MAAA,GAAAT,EAAA,KAAA,EAAA,QAAA,GACAY,IAAAH,EAAA,MAAAT,EAAA,KAAA;AAEA,aAAA,CAAA,GAAAW,GAAA,GAAAC,CAAA;AAAA,IAAyC,CAAA,GAG7CC,IAAAtB,EAAA,MAAA;AAAA,MAAmE;AAAA,QAC/D,OAAAL,EAAA,MAAA;AAAA,QACmB,OAAA,MAAA4B,EAAA,MAAA;AAAA,MACS;AAAA,MAC5B;AAAA,QACA,OAAA5B,EAAA,QAAA;AAAA,QACqB,SAAA;AAAA,QACR,OAAA,MAAA4B,EAAA,QAAA;AAAA,MACiB;AAAA,IAC9B,CAAA,GAIJC,IAAA,YAAA;AACI,YAAAC,EAAA,GACAlB,EAAA,QAAAL,EAAA,MAAA,cAAAR,IAAAH,KAAAkB,EAAA,QAAAC,EAAA,UAIID,EAAA,SAAA,GACAe,EAAA;AAAA,IACJ,GAGJE,IAAA,YAAA;AACI,YAAAD,EAAA,GACAlB,EAAA,QAAAL,EAAA,MAAA,cAAAR,KAAAe,EAAA,QAAA,MACIA,EAAA,SAAA,GACAiB,EAAA;AAAA,IACJ;AAIJ,WAAAd;AAAA,MAAA,MAAAL,EAAA;AAAA,MACgB,OAAAoB,GAAAC,MAAA;AAGR,YADA,MAAAH,EAAA,GACA,CAAAvB,EAAA;AACI;AAEJ,cAAA2B,IAAAF,IAAAC;AACA,QAAArB,EAAA,QAAAd,IACIgB,EAAA,QAAA,IAAiCoB,IAEjCL,EAAA,IAEAE,EAAA;AAAA,MACJ;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert.c1rhDDrU.js","sources":["../../src/components/alert/alert.types.ts","../../../ui-assets/icons-16/dist/vue/info-filled.vue","../../src/components/alert/alert.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoAlertVariant {\n DEFAULT = 'default',\n TIP = 'tip',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoAlertTypeOption {\n WARNING = 'warning',\n CRITICAL = 'critical',\n HIGHLIGHT = 'highlight',\n SUCCESS = 'success',\n}\n\n/**\n * @deprecated from version 2.0.0. Use \"@close-alert\" instead.\n */\nexport enum BentoAlertEvent {\n CLOSE_ALERT = 'close-alert',\n}\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-info_filled__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M5.0342 0.839937C6.45033 0.253358 8.00859 0.0998821 9.51195 0.398918C11.0153 0.697953 12.3962 1.43607 13.4801 2.51993C14.5639 3.60378 15.3021 4.9847 15.6011 6.48805C15.9001 7.99141 15.7466 9.54967 15.1601 10.9658C14.5735 12.3819 13.5801 13.5923 12.3057 14.4439C11.0312 15.2955 9.53281 15.75 8 15.75C5.94457 15.75 3.97333 14.9335 2.51992 13.4801C1.06652 12.0267 0.25 10.0554 0.25 8C0.25 6.4672 0.704529 4.96881 1.55611 3.69433C2.40769 2.41985 3.61808 1.42652 5.0342 0.839937ZM8.75 4.5C8.75 4.23478 8.64464 3.98043 8.45711 3.79289C8.26957 3.60536 8.01522 3.5 7.75 3.5C7.55222 3.5 7.35888 3.55865 7.19443 3.66853C7.02998 3.77841 6.90181 3.93459 6.82612 4.11732C6.75043 4.30004 6.73063 4.50111 6.76921 4.69509C6.8078 4.88907 6.90304 5.06725 7.04289 5.20711C7.18275 5.34696 7.36093 5.4422 7.55491 5.48079C7.74889 5.51937 7.94996 5.49957 8.13268 5.42388C8.31541 5.34819 8.47159 5.22002 8.58147 5.05557C8.69135 4.89112 8.75 4.69778 8.75 4.5ZM8.75 6.25H6.25V7.75H7.25V10.25H6.25V11.75H9.75V10.25H8.75V6.25Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-info_filled__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","<template>\n <div class=\"b-alert\" :role=\"computedRole\">\n <div class=\"b-alert__inner-container\" :class=\"alertConditionalClasses\">\n <div class=\"b-alert__icon\">\n <component :is=\"iconComponent\" aria-hidden=\"true\" :svg-title=\"iconSvgTitle\" />\n </div>\n\n <div class=\"b-alert__content\">\n <bento-typography\n v-if=\"hasSlot('default') && !isTipVariant\"\n class=\"b-alert__title\"\n el=\"div\"\n variant=\"body\"\n strongest\n wide\n >\n <slot />\n </bento-typography>\n\n <bento-typography\n v-if=\"hasSlot('description')\"\n class=\"b-alert__description\"\n v-bind=\"descriptionTypography\"\n data-testid=\"alert-description\"\n >\n <slot name=\"description\" />\n </bento-typography>\n\n <div v-if=\"hasSlot('actions') && !isTipVariant\" class=\"b-alert__actions\" data-testid=\"alert-actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n\n <bento-button\n v-if=\"closeButton && !isTipVariant\"\n class=\"b-alert__close-button\"\n variant=\"tertiary\"\n type=\"button\"\n @click=\"onCloseButtonClick\"\n >\n <cross-small :svg-title=\"t('close')\" />\n </bento-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onMounted, useSlots } from 'vue';\n\n // Component\n import { BentoAlertEvent, BentoAlertTypeOption, BentoAlertVariant } from '@/components/alert/alert.types';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { BentoButton } from '@/components/button';\n\n import CrossSmall from '@adyen/ui-assets-icons-16/vue/cross-small';\n import Warning from '@adyen/ui-assets-icons-16/vue/warning-filled';\n import CrossCircle from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n import CheckedCircle from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import Info from '@adyen/ui-assets-icons-16/vue/info-filled';\n\n // Utils\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const emit = defineEmits([\"close-alert\"]);\n\n const props = defineProps({\n closeButton: { type: Boolean, default: false },\n type: { default: BentoAlertTypeOption.HIGHLIGHT },\n variant: { default: BentoAlertVariant.DEFAULT }\n});\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const isTipVariant = computed(() => props.variant === BentoAlertVariant.TIP);\n\n const alertConditionalClasses = computed(() => ({\n [`b-alert--${props.type}`]: props.type,\n [`b-alert--${BentoAlertVariant.TIP}`]: isTipVariant.value,\n }));\n\n const iconSvgTitle = computed(() => t(`${props.type}Icon`));\n\n const iconComponent = computed(() => {\n switch (props.type) {\n case BentoAlertTypeOption.CRITICAL:\n return CrossCircle;\n case BentoAlertTypeOption.SUCCESS:\n return CheckedCircle;\n case BentoAlertTypeOption.WARNING:\n return Warning;\n case BentoAlertTypeOption.HIGHLIGHT:\n default:\n return Info;\n }\n });\n\n const descriptionTypography = computed(() => ({\n el: BentoTypographyElement.DIV,\n variant: isTipVariant.value ? BentoTypographyVariant.CAPTION : BentoTypographyVariant.BODY,\n wide: true,\n }));\n\n const computedRole = computed(() => (props.type === BentoAlertTypeOption.HIGHLIGHT ? 'status' : 'alert'));\n\n const onCloseButtonClick = () => {\n emit(BentoAlertEvent.CLOSE_ALERT);\n };\n\n onMounted(() => {\n if (!slots.default && !slots.description) {\n throw new Error('Alert Component requires a title or a description');\n }\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * An Alert component is used to display a persistent\n * notification containing information important to the user\n *\n * @example\n * import { BentoAlert, BentoAlertTypeOption } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAlert },\n * template: `\n * <bento-alert type=\"highlight\">\n * Title of the Alert\n * </bento-alert>\n * `\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-alert',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./alert.scss\" />\n"],"names":["BentoAlertVariant","BentoAlertVariant2","BentoAlertTypeOption","BentoAlertTypeOption2","BentoAlertEvent","BentoAlertEvent2","uuid","_sfc_main$1","__default__","messages","slots","useSlots","hasSlot","useHasSlot","t","useI18n","isTipVariant","computed","props","alertConditionalClasses","iconSvgTitle","iconComponent","CrossCircleFillIcon","CheckmarkCircleFillIcon","WarningFilledIcon","Info","descriptionTypography","BentoTypographyElement","BentoTypographyVariant","computedRole","onCloseButtonClick","emit","onMounted"],"mappings":";;;;;;;;;;;;AAGY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,MAAA,OAFQA,IAAAD,KAAA,CAAA,CAAA,GAQAE,IAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,WAAA,YACAA,EAAA,YAAA,aACAA,EAAA,UAAA,WAJQA,IAAAD,KAAA,CAAA,CAAA,GAUAE,IAAA,kBAAAC,OACRA,EAAA,cAAA,eADQA,IAAAD,KAAA,CAAA,CAAA;ACdZ,IAAAE,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GC8HIE,IAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAAA,EACM,MAAA;AAErB;;;;;;;;;iBA3EAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAUA,EAAA,GAAAI,EAAA,IAAAC,EAAA,GAEAC,IAAAC,EAAA,MAAAC,EAAA,YAAAlB,EAAA,GAAA,GAEAmB,IAAAF,EAAA,OAAA;AAAA,MAAgD,CAAA,YAAAC,EAAA,IAAA,EAAA,GAAAA,EAAA;AAAA,MACV,CAAA,YAAAlB,EAAA,GAAA,EAAA,GAAAgB,EAAA;AAAA,IACkB,EAAA,GAGxDI,IAAAH,EAAA,MAAAH,EAAA,GAAAI,EAAA,IAAA,MAAA,CAAA,GAEAG,IAAAJ,EAAA,MAAA;AACI,cAAAC,EAAA,MAAA;AAAA,QAAoB,KAAAhB,EAAA;AAEZ,iBAAAoB;AAAA,QAAO,KAAApB,EAAA;AAEP,iBAAAqB;AAAA,QAAO,KAAArB,EAAA;AAEP,iBAAAsB;AAAA,QAAO,KAAAtB,EAAA;AAAA,QACe;AAEtB,iBAAAuB;AAAA,MAAO;AAAA,IACf,CAAA,GAGJC,IAAAT,EAAA,OAAA;AAAA,MAA8C,IAAAU,EAAA;AAAA,MACf,SAAAX,EAAA,QAAAY,EAAA,UAAAA,EAAA;AAAA,MAC2D,MAAA;AAAA,IAChF,EAAA,GAGVC,IAAAZ,EAAA,MAAAC,EAAA,SAAAhB,EAAA,YAAA,WAAA,OAAA,GAEA4B,IAAA,MAAA;AACI,MAAAC,EAAA3B,EAAA,WAAA;AAAA,IAAgC;AAGpC,WAAA4B,EAAA,MAAA;AACI,UAAA,CAAAtB,EAAA,WAAA,CAAAA,EAAA;AACI,cAAA,IAAA,MAAA,mDAAA;AAAA,IACJ,CAAA;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.BgwjpLQO.js","sources":["../../src/composables/initials.ts","../../src/components/avatar/components/avatar-image/avatar-image.types.ts","../../src/components/avatar/components/avatar-image/avatar-image.vue","../../src/components/avatar/avatar.vue"],"sourcesContent":["import { computed, ComputedRef, ref } from 'vue';\nimport { MaybeRef } from '@/types';\n\n/** Extracts the first letter of a username\n * @param username - The name to return the initials of\n * Common patterns:\n * 1. John => J\n * 2. John Smith => J\n * John Smith Doe Holly => J\n */\nexport const useInitials = (username: MaybeRef<string | null>): ComputedRef<string | null> => {\n const computedUsername = ref(username);\n return computed(() => (computedUsername.value ? computedUsername.value.trim().charAt(0).toUpperCase() : null));\n};\n","export enum BentoAvatarImageVariant {\n LARGE = 'large',\n SMALL = 'small',\n}\n\nexport enum BentoAvatarImageColor {\n BLUE = 'blue',\n GREEN = 'green',\n RED = 'red',\n YELLOW = 'yellow',\n}\n","<template>\n <div class=\"b-avatar-image\" :class=\"conditionalClasses\" aria-hidden=\"true\" data-testid=\"avatar\">\n <img v-if=\"src\" :src=\"src\" class=\"b-avatar-image__image\" alt=\"\" data-testid=\"avatar-content\" />\n <div v-else class=\"b-avatar-image__default\" data-testid=\"avatar-content\">\n <bento-typography el=\"span\" variant=\"body\" strongest>\n {{ initials }}\n </bento-typography>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { BentoAvatarImageColor, BentoAvatarImageVariant } from './avatar-image.types';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = defineProps({\n color: { default: BentoAvatarImageColor.YELLOW },\n src: { default: null },\n username: { default: null },\n variant: { default: BentoAvatarImageVariant.LARGE }\n});\n\n const { username } = toRefs(props);\n const initials = useInitials(username);\n\n const conditionalClasses = computed(() => ({\n [`b-avatar-image--${BentoAvatarImageVariant.SMALL}`]: props.variant === BentoAvatarImageVariant.SMALL,\n [`b-avatar-image--${props.color}`]: props.color,\n }));\n</script>\n\n<script lang=\"ts\">\n /**\n * Image used as user profile inside bento-avatar.\n *\n * @example\n * import { AvatarImage } from './components/avatar-image';\n *\n * export default {\n * components: { AvatarImage },\n * template: `<avatar-image :src=\"userAvatarSrc\" username=\"Jane\" />`\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar-image.scss\" />\n","<template>\n <div class=\"b-avatar\" :aria-label=\"computedAriaLabel\">\n <avatar-image\n :src=\"src\"\n :username=\"computedUsername\"\n :variant=\"BentoAvatarImageVariant.SMALL\"\n :color=\"avatarColor\"\n />\n <bento-typography v-if=\"!iconOnly\" class=\"b-avatar__label\" el=\"span\" variant=\"body\">\n {{ username }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { AvatarImage, BentoAvatarImageColor, BentoAvatarImageVariant } from './components/avatar-image';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = defineProps({\n iconOnly: { type: Boolean, default: false },\n src: { default: null },\n username: null\n});\n\n const { username } = toRefs(props);\n\n const computedAriaLabel = computed(() => (props.iconOnly ? props.username : null));\n const computedUsername = computed(() => (!props.src ? props.username : null));\n const initials = useInitials(username);\n\n // Returns the UTF-16 char code\n const charCode = computed(() => (initials.value ? initials.value.charCodeAt(0) - 65 : null));\n\n // Returns a computed color based on the letter passed\n const avatarColor = computed(() => {\n const numberOfAlphabetLetters = 26;\n const numberOfColors = Object.keys(BentoAvatarImageColor).length;\n const rangeStep = numberOfAlphabetLetters / numberOfColors;\n\n if (charCode.value <= rangeStep) {\n return BentoAvatarImageColor.YELLOW;\n }\n if (charCode.value <= rangeStep * 2) {\n return BentoAvatarImageColor.BLUE;\n }\n if (charCode.value <= rangeStep * 3) {\n return BentoAvatarImageColor.GREEN;\n }\n return BentoAvatarImageColor.RED;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Displays an user profile including an avatar and optionally a label.\n *\n * @example\n * import { BentoAvatar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAvatar },\n * template: `<bento-avatar :src=\"userAvatarSrc\" username=\"Jane\" />`\n * }\n */\n export default {\n name: 'bento-avatar',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar.scss\" />\n"],"names":["useInitials","username","computedUsername","ref","computed","BentoAvatarImageVariant","BentoAvatarImageVariant2","BentoAvatarImageColor","BentoAvatarImageColor2","__default__$1","toRefs","props","initials","conditionalClasses","__default__","computedAriaLabel","charCode","avatarColor","rangeStep"],"mappings":";;;;;AAUa,MAAAA,IAAA,CAAAC,MAAA;AACT,QAAAC,IAAAC,EAAAF,CAAA;AACA,SAAAG,EAAA,MAAAF,EAAA,QAAAA,EAAA,MAAA,KAAA,EAAA,OAAA,CAAA,EAAA,YAAA,IAAA,IAAA;AACJ;ACbY,IAAAG,IAAA,kBAAAC,OACRA,EAAA,QAAA,SACAA,EAAA,QAAA,SAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,MAAA,OACAA,EAAA,SAAA,UAJQA,IAAAD,KAAA,CAAA,CAAA;ACwCR,MAAAE,IAAA,CAAA;;;;;;;;;;iBArBA,EAAA,UAAAR,EAAA,IAAAS,EAAAC,CAAA,GACAC,IAAAZ,EAAAC,CAAA,GAEAY,IAAAT,EAAA,OAAA;AAAA,MAA2C,CAAA,mBAAAC,EAAA,KAAA,EAAA,GAAAM,EAAA,YAAAN,EAAA;AAAA,MACyD,CAAA,mBAAAM,EAAA,KAAA,EAAA,GAAAA,EAAA;AAAA,IACtD,EAAA;;;;;;;;;;;;;;;qBCqC9CG,IAAA;AAAA,EAAe,MAAA;AAEf;;;;;;;;iBA1CA,EAAA,UAAAb,EAAA,IAAAS,EAAAC,CAAA,GAEAI,IAAAX,EAAA,MAAAO,EAAA,WAAAA,EAAA,WAAA,IAAA,GACAT,IAAAE,EAAA,MAAAO,EAAA,MAAA,OAAAA,EAAA,QAAA,GACAC,IAAAZ,EAAAC,CAAA,GAGAe,IAAAZ,EAAA,MAAAQ,EAAA,QAAAA,EAAA,MAAA,WAAA,CAAA,IAAA,KAAA,IAAA,GAGAK,IAAAb,EAAA,MAAA;AAGI,YAAAc,IAAA,KADA,OAAA,KAAAX,CAAA,EAAA;AAGA,aAAAS,EAAA,SAAAE,IACIX,EAAA,SAEJS,EAAA,SAAAE,IAAA,IACIX,EAAA,OAEJS,EAAA,SAAAE,IAAA,IACIX,EAAA,QAEJA,EAAA;AAAA,IAA6B,CAAA;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-button.-gx_u8Bd.js","sources":["../../src/components/internal/base-button/base-button.types.ts","../../src/components/internal/base-button/base-button.vue"],"sourcesContent":["export enum BentoBaseButtonPropClass {\n DESTRUCTIVE = 'critical',\n ICON_ONLY = 'icon-only',\n}\n\nexport enum BentoBaseButtonEvent {\n BLUR = 'blur',\n CLICK = 'click',\n FOCUS = 'focus',\n KEYDOWN_ESC = 'keydown.esc',\n}\n\nexport enum BaseButtonType {\n BUTTON = 'button',\n RESET = 'reset',\n SUBMIT = 'submit',\n}\n","<template>\n <button\n ref=\"bentoBaseButtonRef\"\n class=\"b-base-button\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n :type=\"type\"\n :aria-expanded=\"ariaAttributes['aria-expanded']\"\n @click=\"onClickButton\"\n @focus=\"onFocusButton\"\n @blur=\"onBlurButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-base-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-base-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-base-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoBaseButtonEvent, BentoBaseButtonPropClass } from './base-button.types';\n import type { ButtonHTMLAttributes } from 'vue/types/jsx.d.ts';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { Booleanish } from '@/types';\n\n /**\n * Base button component to use as a base for all the various types of bento buttons. For internal use only.\n *\n * * @example\n * import { BaseButton, BaseButtonEvent } from '@/components/internal/base-button';\n * import YourImportedIcon from @adyen/ui-assets-icons-16/example-icon';\n *\n * export default {\n * components: { BaseButton, YourImportedIcon },\n * props: {\n * text:\n * },\n * template: `\n * <base-button class=\"your-custom-button-styles\" @click=\"onClick\">\n * <template #iconLeft><your-imported-icon></template>\n * Button text\n * <template #iconRight><your-imported-icon></template>\n * </base-button>\n * `,\n * emits: [BentoButtonEvent.CLICK],\n * setup: (prps, { emit }) => {\n * const onClick = value => emit(BaseButtonEvent.CLICK, value);\n *\n * return {\n * onClick,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'base-button',\n components: { BentoTypography },\n props: {\n /**\n * Disables button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n },\n emits: [\n BentoBaseButtonEvent.CLICK,\n BentoBaseButtonEvent.FOCUS,\n BentoBaseButtonEvent.BLUR,\n BentoBaseButtonEvent.KEYDOWN_ESC,\n ],\n setup(props, { slots, emit, attrs }) {\n const ariaAttributes = computed(() => ({\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const bentoBaseButtonRef = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-base-button--${BentoBaseButtonPropClass.DESTRUCTIVE}`]: props.critical,\n [`b-base-button--${BentoBaseButtonPropClass.ICON_ONLY}`]: !slots.default,\n }));\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit(BentoBaseButtonEvent.CLICK, e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onFocusButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.FOCUS, e);\n };\n\n const onBlurButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.BLUR, e);\n };\n\n return {\n // Values\n ariaAttributes,\n conditionalClasses,\n\n // Methods\n onClickButton,\n onFocusButton,\n onBlurButton,\n hasSlot: useHasSlot(slots),\n\n // Refs\n bentoBaseButtonRef,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-button.scss\" />\n"],"names":["BentoBaseButtonPropClass","BentoBaseButtonPropClass2","BentoBaseButtonEvent","BentoBaseButtonEvent2","_sfc_main","defineComponent","BentoTypography","props","slots","emit","attrs","ariaAttributes","computed","_a","bentoBaseButtonRef","ref","conditionalClasses","e","useHasSlot"],"mappings":";;;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,cAAA,YACAA,EAAA,YAAA,aAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,QAAA,SACAA,EAAA,cAAA,eAJQA,IAAAD,KAAA,CAAA,CAAA;ACwDZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACAJ,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,EACA;AAAA,EACA,MAAAK,GAAA,EAAA,OAAAC,GAAA,MAAAC,GAAA,OAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,MAAA;;AAAA;AAAA,QAAA,kBAAAC,IAAAH,EAAA,eAAA,MAAA,gBAAAG,EAAA;AAAA,MACA;AAAA,KAAA,GAGAC,IAAAC,EAAA,IAAA,GAEAC,IAAAJ,EAAA,OAAA;AAAA,MAAA,CAAA,kBAAAZ,EAAA,WAAA,EAAA,GAAAO,EAAA;AAAA,MACA,CAAA,kBAAAP,EAAA,SAAA,EAAA,GAAA,CAAAQ,EAAA;AAAA,IACA,EAAA;AAoBA,WAAA;AAAA;AAAA,MAAA,gBAAAG;AAAA,MAEA,oBAAAK;AAAA;AAAA,MACA,eApBA,CAAAC,MAAA;AACA,QAAAV,EAAA,YAGAU,EAAA,eAAA,GACAA,EAAA,gBAAA,KAHAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAIA;AAAA,MAiBA,eAdA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAAA;AAAA,MAcA,cAXA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,MAAAe,CAAA;AAAA,MAAA;AAAA,MAWA,SAAAC,EAAAV,CAAA;AAAA;AAAA,MACA,oBAAAM;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-modal.CkkfT6r6.js","sources":["../../src/components/modal/modal.types.ts","../../src/components/modal/modal.keys.ts","../../src/components/modal/components/modal-page/modal-page.vue","../../src/components/modal/components/base-modal/base-modal.vue"],"sourcesContent":["import { ComputedRef, Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalColumnLayoutVariant {\n SMALLER = 'smaller',\n EQUAL = 'equal',\n BIGGER = 'bigger',\n}\n\nexport enum BentoModalRole {\n DIALOG = 'dialog',\n ALERT_DIALOG = 'alertdialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalDialogType {\n CONFIRMATION = 'confirmation',\n DESTRUCTIVE = 'destructive',\n INFO = 'info',\n ACKNOWLEDGEMENT = 'acknowledgement',\n}\n\nexport enum BentoModalEvent {\n CLOSE_MODAL = 'close-modal',\n}\n\n/**\n * Private\n */\nexport interface BentoModalConfigData {\n activePage: Ref<string>;\n height: Ref<string>;\n isAnimationActive: Ref<boolean>;\n pageCustomPadding: Ref<string>;\n showCloseButton: ComputedRef<boolean>;\n size: Ref<BentoModalSize | `${BentoModalSize}`>;\n}\n","export const MODAL_CONFIG_INJECTION_KEY = Symbol('modal config data injection key');\n","<template>\n <dialog-page\n ref=\"page\"\n class=\"b-modal-page\"\n :class=\"modalPageConditionalClasses\"\n :page-id=\"pageId\"\n :always-show-border=\"hasColumnLayout\"\n :back-button-styling=\"customPaddingStyles?.backButton\"\n :previous-page=\"previousPage\"\n @animationend=\"isAnimationActive = false\"\n >\n <template v-if=\"hasSlot('default') || showCloseButton\" #header>\n <div class=\"b-modal-page__header-container\" :style=\"customPaddingStyles.header\">\n <div class=\"b-modal-page__header\">\n <bento-typography class=\"b-modal-page__title\" el=\"span\" variant=\"title\" stronger>\n <slot v-if=\"hasSlot('default')\" />\n </bento-typography>\n </div>\n </div>\n </template>\n\n <template #content>\n <div\n class=\"b-modal-page__content\"\n :class=\"modalContentConditionalClasses\"\n :style=\"customPaddingStyles.content\"\n >\n <bento-typography\n v-if=\"hasSlot('content') || (hasSlot('content-col-1') && hasSlot('content-col-2'))\"\n el=\"div\"\n >\n <grid-layout\n v-if=\"hasColumnLayout\"\n :column-width=\"computedColumnWidth\"\n :container-type=\"GridLayoutContainerType.NORMAL\"\n no-gap\n class=\"b-modal-page__grid\"\n >\n <template #col-1><slot name=\"content-col-1\"></slot></template>\n <template #col-2><slot name=\"content-col-2\"></slot></template>\n </grid-layout>\n <slot v-else name=\"content\" />\n </bento-typography>\n </div>\n </template>\n <template v-if=\"hasSlot('actions')\" #footer>\n <div class=\"b-modal-page__actions-container\" :style=\"customPaddingStyles.actions\">\n <div aria-label=\"modal actions\" class=\"b-modal-page__actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n </template>\n <template v-else-if=\"actions && actions.length > 0\" #footer>\n <div class=\"b-modal-page__actions-container\" :style=\"customPaddingStyles.actions\">\n <footer-actions\n :actions=\"actions\"\n :actions-label=\"actionsLabel\"\n :destructive-actions=\"destructiveActions\"\n />\n </div>\n </template>\n </dialog-page>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, inject, nextTick, onUnmounted, ref, useSlots, watch } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n BentoModalConfigData,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoTypography } from '@/components/typography';\n import { GridLayout, GridLayoutContainerType } from '@/internal';\n import { useHasSlot } from '@/composables';\n\n import { FooterActions } from '@/components/internal/footer-actions';\n\n import DialogPage from '@/internal/dialog-page/dialog-page.vue';\n import { MODAL_CONFIG_INJECTION_KEY } from '../../modal.keys';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import type { BentoModalPageProps } from './modal-page.types';\n\n const CLOSE_BUTTON_ICON_WIDTH = 26;\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const page = ref<InstanceType<typeof DialogPage>>(null);\n\n const props = defineProps({\n actions: { default: null },\n actionsLabel: { default: null },\n columnsSize: { default: BentoModalColumnLayoutVariant.SMALLER },\n customPadding: { default: null },\n destructiveActions: { type: Boolean, default: false },\n withColumnLayout: { type: Boolean, default: false },\n pageId: { default: undefined },\n previousPage: { default: undefined }\n});\n\n const modalPageConditionalClasses = computed(() => ({\n 'b-modal-page--custom-padding': props.customPadding,\n }));\n\n const modalContentConditionalClasses = computed(() => ({\n 'b-modal-page__content--with-header': hasSlot('default'),\n 'b-modal-page__content--with-actions': hasSlot('actions') || props.actions?.length,\n }));\n\n // Setting custom padding styles\n const customPaddingStyles = computed(() => {\n if (!props.customPadding) {\n return {};\n }\n\n const xPadding = {\n paddingLeft: props.customPadding,\n paddingRight: props.customPadding,\n };\n\n const content = { ...xPadding, paddingTop: undefined, paddingBottom: undefined };\n\n if (!hasSlot('default')) {\n content.paddingTop = props.customPadding;\n }\n\n if (!hasSlot('actions')) {\n content.paddingBottom = props.customPadding;\n }\n\n return {\n header: {\n ...xPadding,\n paddingTop: props.customPadding,\n paddingRight: `${parseInt(props.customPadding, 10) + CLOSE_BUTTON_ICON_WIDTH}px`,\n flex: 1,\n },\n content,\n actions: { ...xPadding, paddingBottom: props.customPadding },\n backButton: { top: props.customPadding, paddingLeft: props.customPadding },\n };\n });\n\n // Column layout styles\n const hasColumnLayout = computed(() => props.withColumnLayout && size.value === BentoModalSize.LARGE);\n\n const computedColumnWidth = computed(() => {\n if (props.columnsSize === BentoModalColumnLayoutVariant.SMALLER) {\n return [\n { small: 4, medium: 4, large: 4 },\n { small: 8, medium: 8, large: 8 },\n ];\n }\n if (props.columnsSize === BentoModalColumnLayoutVariant.BIGGER) {\n return [\n { small: 8, medium: 8, large: 8 },\n { small: 4, medium: 4, large: 4 },\n ];\n }\n return [\n { small: 6, medium: 6, large: 6 },\n { small: 6, medium: 6, large: 6 },\n ];\n });\n\n // Register page to parent component and inject data from parent component\n const { activePage, height, isAnimationActive, pageCustomPadding, showCloseButton, size } =\n inject<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY);\n\n const isCurrentPage = computed(() => activePage.value === props.pageId || !activePage.value);\n\n // Animation\n // Set resize observer on mount of update the height of the dialog on resize\n let pageElementObserver: ResizeObserver | null = null;\n\n // Watching activePage changes to set the height of the page and set isAnimationActive\n watch(\n () => activePage.value,\n async (value, oldValue) => {\n if (isCurrentPage.value) {\n await nextTick();\n height.value = `${page.value?.$el?.clientHeight}px`;\n pageCustomPadding.value = props.customPadding;\n // only set isAnimationActive to true if its going from two different pages and not from null to the first page\n isAnimationActive.value = oldValue !== undefined;\n\n pageElementObserver = observeSizeOfElement(page.value, () => {\n const pageHeight = `${page.value?.$el?.clientHeight}px`;\n if (pageHeight && pageHeight !== height.value) {\n height.value = pageHeight;\n }\n });\n }\n },\n { immediate: true }\n );\n\n // Disconnect observer on unmounting the page\n onUnmounted(() => {\n pageElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * ModalPage is used to render different pages of the Modal component\n *\n * @example\n * import { BentoModal, BentoModalPage } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoModal, BentoModalPage },\n * template: `\n * <bento-modal active-page='page1' :is-open='true'>\n * <bento-modal-page\n * pageId='page1'\n * actions-label='Move to next page'\n * :actions=\"[\n * {\n * title: 'Next page',\n * event: () => {\n * activePage.value = 'page2';\n * },\n * }]\">\n * Page 1\n * <template #content>\n * Page 1 content\n * </template>\n * </bento-modal-page>\n * <bento-modal-page\n * pageId='page2'\n * :actions=\"[\n * {\n * title: 'Save',\n * event: () => {},\n * }]\">\n * Page 2\n * <template #content>\n * Page 2 content\n * </template>\n * </bento-modal-page>\n * </bento-modal>\n * `\n * }\n */\n export default defineComponent({});\n</script>\n\n<style lang=\"scss\" scoped src=\"./modal-page.scss\" />\n","<template>\n <div class=\"b-modal-base\">\n <dialog\n ref=\"modal\"\n :role=\"modalRole\"\n :aria-label=\"computedAriaLabel\"\n :style=\"{ height: height }\"\n class=\"b-modal-base__container\"\n :class=\"modalConditionalClasses\"\n :open=\"initiallyOpen\"\n @animationend=\"closeModalAfterAnimation\"\n @keydown.esc=\"internalModalActionClose\"\n >\n <bento-focus-trap\n v-if=\"isOpen || initiallyOpen\"\n :id=\"modalId\"\n v-bento-click-outside-directive=\"closeModalOnClickOutside\"\n >\n <bento-button\n v-if=\"showCloseButton\"\n class=\"b-modal-base__close-button\"\n variant=\"tertiary\"\n type=\"button\"\n :style=\"customPaddingStyles\"\n @click=\"internalModalActionClose\"\n >\n <cross-icon :svg-title=\"t('close')\" />\n </bento-button>\n <template v-if=\"props.activePage\">\n <slot />\n </template>\n <bento-modal-page\n v-else\n :with-column-layout=\"withColumnLayout\"\n :size=\"size\"\n :custom-padding=\"customPadding\"\n :columns-size=\"columnsSize\"\n >\n <template v-if=\"hasSlot('default')\" #default>\n <slot></slot>\n </template>\n <template v-if=\"hasSlot('content-col-1')\" #content-col-1\n ><slot name=\"content-col-1\"></slot\n ></template>\n <template v-if=\"hasSlot('content-col-2')\" #content-col-2\n ><slot name=\"content-col-2\"></slot\n ></template>\n <template v-if=\"hasSlot('content')\" #content><slot name=\"content\"></slot></template>\n <template v-if=\"hasSlot('actions')\" #actions><slot name=\"actions\"></slot></template>\n </bento-modal-page>\n </bento-focus-trap>\n </dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {\n computed,\n defineComponent,\n onMounted,\n PropType,\n provide,\n ref,\n toRefs,\n useAttrs,\n useSlots,\n watch,\n } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n BentoModalConfigData,\n BentoModalRole,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoButton, BentoButtonActionsList } from '@/components/button';\n import { BentoFocusTrap } from '@/components/focus-trap';\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import { MODAL_DIALOG_ID_INJECTION_KEY } from '@/components/modal/components/base-modal/base-modal.keys';\n import { generateUid } from '@/core/utils/ts';\n import { BentoClickOutsideDirective as vBentoClickOutsideDirective } from '@/directives/click-outside';\n import messages from './messages.json';\n\n import { BentoModalPage } from '@/components/modal';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n\n import { MODAL_CONFIG_INJECTION_KEY } from '../../modal.keys';\n import {\n BentoDialogPageAnimation,\n BentoDialogPageConfigData,\n BentoDialogPageRegisterPage,\n DIALOG_PAGE_CONFIG_INJECTION_KEY,\n DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY,\n } from '@/internal';\n\n type MessageSchema = (typeof messages)['en-US'];\n const LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME = 500;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const slots = useSlots();\n const attrs = useAttrs();\n const hasSlot = useHasSlot(slots);\n const modal = ref<HTMLDialogElement>(null);\n const isClosing = ref(false);\n const modalId = generateUid('modal');\n\n const emit = defineEmits([\"update:active-page\", \"close-modal\"]);\n\n const props = defineProps({\n /**\n * List of actions that will be used to render the buttons.\n * First element in the list will be rendered as \"primary\".\n * All elements after the first will be rendered as \"secondary\".\n * But you may change the color of 1-st action to red with 'critial' key\n * Not more than 3 action buttons can be provided\n * Or 2 action buttons and 1 Label for them\n *\n * Each object in the list should have a `title`, an `event` and\n * (optional) a Vue `icon` from the library `@adyen/ui-assets-icons-16`.\n *\n * `title`: Button's text.\n *\n * `event`: Event triggered when clicking the Button.\n *\n * `icon`: Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * ```\n * [{\n * title: 'Primary',2\n * event: () => { ... },\n * icon: FourPeopleIcon\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * }]\n * ```\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: null,\n },\n\n /**\n * The id of the current active page\n * Should be the same id as the BentoModalPage to be displayed\n */\n activePage: {\n type: String,\n default: null,\n },\n\n /**\n * If a column layout is provided, it renders the respective left column width variant. This can be smaller than the second column, the same size as the second column or bigger than the second column.\n */\n columnsSize: {\n type: String as PropType<BentoModalColumnLayoutVariant>,\n default: BentoModalColumnLayoutVariant.SMALLER,\n },\n\n /**\n * If provided, manages the padding of the whole modal container\n */\n customPadding: { type: String, default: null },\n\n /**\n * If passed - sets first button color to red\n */\n destructiveActions: { type: Boolean, default: false },\n\n /**\n * Hides a cross icon on the right side of the title\n */\n hideCloseButton: { type: Boolean, required: true },\n\n /**\n * Sets the open attribute on the dialog element, use isOpen instead to toggle modal visbility.\n */\n initiallyOpen: { type: Boolean, default: false },\n\n /**\n * If set to true, it allows the modal to be closed by clicking outside of it\n */\n isDismissible: { type: Boolean, required: true },\n\n /**\n * Controls the modal's state from the outside. Set it to true to open the modal\n */\n isOpen: { type: Boolean, required: true },\n\n /**\n * Defines whether the modal will be an alert modal\n */\n modalRole: { type: String, default: BentoModalRole.DIALOG },\n\n /**\n * Sets the width of the modal\n */\n size: {\n type: String as PropType<BentoModalSize | `${BentoModalSize}`>,\n default: BentoModalSize.SMALL,\n },\n\n /**\n * If provided, renders the modal's content in a two-column layout an wth dividers separating its content\n */\n withColumnLayout: { type: Boolean, default: false },\n });\n\n const showCloseButton = computed(() => props.isDismissible && !props.hideCloseButton);\n\n const pageCustomPadding = ref(props.customPadding);\n\n const customPaddingStyles = computed(() => {\n if (!pageCustomPadding.value) {\n return {};\n }\n\n return { top: pageCustomPadding.value, right: pageCustomPadding.value };\n });\n\n const computedAriaLabel = computed(() => (attrs['aria-label'] as string) ?? (t('ariaLabelFallback') as string));\n const hasColumnLayout = computed(() => props.withColumnLayout && props.size === BentoModalSize.LARGE);\n\n const openModal = (): void => {\n modal.value.showModal();\n };\n\n const emitCloseEvent = (): void => {\n emit('close-modal');\n };\n\n // Handle closing and closing animation for dialog element\n const closeModalAfterAnimation = () => {\n if (isClosing.value) {\n modal.value.close();\n if (previousPages.value[0]) {\n emit('update:active-page', previousPages.value[0]);\n }\n previousPages.value = [];\n isClosing.value = false;\n emitCloseEvent();\n }\n };\n\n const startCloseModalAnimation = () => {\n if (!modal.value.open) {\n return;\n }\n isClosing.value = true;\n };\n\n /**\n * If the user has pressed escape, clicked outside or clicked the close icon.\n * Needs to be called from outside, following the \"dialog.close()\" pattern,\n * when the closing event is triggered outside of the \"base-modal\"\n * component (e.g. from a closing action).\n */\n const internalModalActionClose = (event?: Event) => {\n if (event) {\n event.preventDefault();\n }\n if (!props.isDismissible && props.modalRole === BentoModalRole.DIALOG) {\n return;\n }\n startCloseModalAnimation();\n };\n\n const closeModalOnClickOutside = () => {\n if (props.isDismissible) {\n internalModalActionClose();\n }\n };\n\n const modalConditionalClasses = computed(() => ({\n [`b-modal-base__container--${props.size}`]: props.size,\n 'b-modal-base__container--hide': isClosing.value,\n 'b-modal-base__container--column-layout': hasColumnLayout.value,\n 'b-modal-base__container--animation': isAnimationActive.value,\n }));\n\n watch(\n () => [props.isOpen, modal.value],\n ([newIsOpen, newModalValue], [, oldModalValue]): void => {\n if (!newModalValue) {\n return;\n }\n\n const isFirstMutation = !oldModalValue;\n if (newIsOpen) {\n openModal();\n // add the first page to the array when the modal opens\n if (!previousPages.value.length) {\n previousPages.value.push(activePage.value);\n }\n } else if (!isFirstMutation) {\n startCloseModalAnimation();\n }\n }\n );\n\n // If the first button is a loading button then close the modal have 0.5 seconds\n // if the state is changed to 'success'.\n watch(\n () => props.actions,\n () => {\n if (props.actions?.[0]?.state === 'success') {\n setTimeout(startCloseModalAnimation, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME);\n }\n },\n { deep: true }\n );\n\n onMounted(() => {\n if (props.isOpen && modal.value) {\n openModal();\n }\n });\n\n /**\n * Expose methods through its 'ref'\n */\n defineExpose({\n internalModalActionClose,\n });\n\n // Let's Children components know they are inside a Modal (dialog element)\n provide(MODAL_DIALOG_ID_INJECTION_KEY, modalId);\n\n // Modal pagination\n const { activePage, isOpen, size } = toRefs(props);\n const animation = ref(BentoDialogPageAnimation.TRANSITION_LEVEL_DEEPER);\n\n const pages = ref<string[]>([]);\n const previousPages = ref([]);\n\n const updatePage = page => emit('update:active-page', page);\n\n // unregister page if removed / destroyed\n const unregisterPage = (pageIdToRemove: string) => () => {\n pages.value = pages.value?.filter(pageId => pageId !== pageIdToRemove);\n };\n\n // Provide data and function to register page to subcomponent\n const registerPage: BentoDialogPageRegisterPage = pageId => {\n if (pageId) {\n pages.value.push(pageId);\n }\n\n return { unregisterPage: unregisterPage(pageId) };\n };\n\n const height = ref('');\n const isAnimationActive = ref(false);\n\n provide<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY, {\n activePage,\n height,\n isAnimationActive,\n pageCustomPadding,\n showCloseButton,\n size,\n });\n\n provide<BentoDialogPageConfigData>(DIALOG_PAGE_CONFIG_INJECTION_KEY, {\n activePage,\n animation,\n isOpen,\n pages,\n previousPages,\n updatePage,\n });\n\n provide(DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY, registerPage);\n</script>\n\n<script lang=\"ts\">\n /**\n * Dialog container. It creates a dialog HTML element for the modal to use.\n *\n * @example\n * import BaseModal from './components/base-modal/base-modal.vue';\n *\n * export default {\n * components: { BaseModal },\n * template: `\n * <base-modal\n * :hide-close-button=\"true\"\n * :is-dismissible=\"false\"\n * :is-open=\"isOpen\"\n * @close-modal=\"isOpen = false\"\n * >\n * <template #content-col-1>\n * // Content on the left side column\n * </template>\n *\n * <template #content-col-2>\n * // Content on the right side column\n * </template>\n *\n * <template v-if=\"actions\" #actions>\n * <footer-actions :actions=\"actions\" />\n * </template>\n * </base-modal>\n * `,\n * setup() {\n * const isOpen = ref(true)\n * const footerActions = [{\n * title: 'Primary action',\n * event: () => { ... }\n * }]\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'base-modal',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-modal.scss\" />\n"],"names":["BentoModalVariant","BentoModalVariant2","BentoModalVariantMapping","BentoModalVariantMapping2","BentoModalSize","BentoModalSize2","BentoModalColumnLayoutVariant","BentoModalColumnLayoutVariant2","BentoModalRole","BentoModalRole2","BentoModalDialogType","BentoModalDialogType2","BentoModalEvent","BentoModalEvent2","MODAL_CONFIG_INJECTION_KEY","__default__$1","defineComponent","CLOSE_BUTTON_ICON_WIDTH","slots","useSlots","hasSlot","useHasSlot","page","ref","modalPageConditionalClasses","computed","props","modalContentConditionalClasses","_a","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","_b","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME","t","useI18n","attrs","useAttrs","modal","isClosing","modalId","generateUid","computedAriaLabel","openModal","emitCloseEvent","emit","closeModalAfterAnimation","previousPages","startCloseModalAnimation","internalModalActionClose","event","closeModalOnClickOutside","modalConditionalClasses","newIsOpen","newModalValue","oldModalValue","onMounted","expose","provide","MODAL_DIALOG_ID_INJECTION_KEY","isOpen","toRefs","animation","BentoDialogPageAnimation","pages","updatePage","unregisterPage","pageIdToRemove","pageId","registerPage","DIALOG_PAGE_CONFIG_INJECTION_KEY","DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY"],"mappings":";;;;;;;;;;;;;;;;AASY,IAAAA,KAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,SAAA,UAFQA,IAAAD,MAAA,CAAA,CAAA,GAQAE,KAAA,kBAAAC,OACRA,EAAA,UAAA,qBACAA,EAAA,SAAA,oBAFQA,IAAAD,MAAA,CAAA,CAAA,GAQAE,IAAA,kBAAAC,OACRA,EAAA,QAAA,SACAA,EAAA,SAAA,UACAA,EAAA,QAAA,SAHQA,IAAAD,KAAA,CAAA,CAAA,GASAE,IAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,QAAA,SACAA,EAAA,SAAA,UAHQA,IAAAD,KAAA,CAAA,CAAA,GAMAE,IAAA,kBAAAC,OACRA,EAAA,SAAA,UACAA,EAAA,eAAA,eAFQA,IAAAD,KAAA,CAAA,CAAA,GAQAE,KAAA,kBAAAC,OACRA,EAAA,eAAA,gBACAA,EAAA,cAAA,eACAA,EAAA,OAAA,QACAA,EAAA,kBAAA,mBAJQA,IAAAD,MAAA,CAAA,CAAA,GAOAE,KAAA,kBAAAC,OACRA,EAAA,cAAA,eADQA,IAAAD,MAAA,CAAA,CAAA;;;;;;;;;;;;GCvDCE,IAAA,OAAA,iCAAA,GCoPTC,KAAAC,EAAA,CAAA,CAAA;;;;;;;;;;;;;;iBAlKAC,IAAA,IAEAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GACAI,IAAAC,EAAA,IAAA,GAaAC,IAAAC,EAAA,OAAA;AAAA,MAAoD,gCAAAC,EAAA;AAAA,IACV,EAAA,GAG1CC,IAAAF,EAAA,MAAA;;AAAA;AAAA,QAAuD,sCAAAL,EAAA,SAAA;AAAA,QACI,uCAAAA,EAAA,SAAA,OAAAQ,IAAAF,EAAA,YAAA,gBAAAE,EAAA;AAAA,MACqB;AAAA,KAAA,GAIhFC,IAAAJ,EAAA,MAAA;AACI,UAAA,CAAAC,EAAA;AACI,eAAA,CAAA;AAGJ,YAAAI,IAAA;AAAA,QAAiB,aAAAJ,EAAA;AAAA,QACM,cAAAA,EAAA;AAAA,MACC,GAGxBK,IAAA,EAAA,GAAAD,GAAA,YAAA,QAAA,eAAA,OAAA;AAEA,aAAAV,EAAA,SAAA,MACIW,EAAA,aAAAL,EAAA,gBAGJN,EAAA,SAAA,MACIW,EAAA,gBAAAL,EAAA,gBAGJ;AAAA,QAAO,QAAA;AAAA,UACK,GAAAI;AAAA,UACD,YAAAJ,EAAA;AAAA,UACe,cAAA,GAAA,SAAAA,EAAA,eAAA,EAAA,IAAAT,CAAA;AAAA,UAC0D,MAAA;AAAA,QACtE;AAAA,QACV,SAAAc;AAAA,QACA,SAAA,EAAA,GAAAD,GAAA,eAAAJ,EAAA,cAAA;AAAA,QAC2D,YAAA,EAAA,KAAAA,EAAA,eAAA,aAAAA,EAAA,cAAA;AAAA,MACc;AAAA,IAC7E,CAAA,GAIJM,IAAAP,EAAA,MAAAC,EAAA,oBAAAO,EAAA,UAAA7B,EAAA,KAAA,GAEA8B,IAAAT,EAAA,MACIC,EAAA,gBAAApB,EAAA,UACI;AAAA,MAAO,EAAA,OAAA,GAAA,QAAA,GAAA,OAAA,EAAA;AAAA,MAC6B,EAAA,OAAA,GAAA,QAAA,GAAA,OAAA,EAAA;AAAA,IACA,IAGxCoB,EAAA,gBAAApB,EAAA,SACI;AAAA,MAAO,EAAA,OAAA,GAAA,QAAA,GAAA,OAAA,EAAA;AAAA,MAC6B,EAAA,OAAA,GAAA,QAAA,GAAA,OAAA,EAAA;AAAA,IACA,IAGxC;AAAA,MAAO,EAAA,OAAA,GAAA,QAAA,GAAA,OAAA,EAAA;AAAA,MAC6B,EAAA,OAAA,GAAA,QAAA,GAAA,OAAA,EAAA;AAAA,IACA,CACpC,GAIJ,EAAA,YAAA6B,GAAA,QAAAC,GAAA,mBAAAC,GAAA,mBAAAC,GAAA,iBAAAC,GAAA,MAAAN,EAAA,IAAAO,EAAA1B,CAAA,GAGA2B,IAAAhB,EAAA,MAAAU,EAAA,UAAAT,EAAA,UAAA,CAAAS,EAAA,KAAA;AAIA,QAAAO,IAAA;AAGA,WAAAC;AAAA,MAAA,MAAAR,EAAA;AAAA,MACqB,OAAAS,GAAAC,MAAA;;AAEb,QAAAJ,EAAA,UACI,MAAAK,EAAA,GACAV,EAAA,QAAA,IAAAW,KAAAnB,IAAAN,EAAA,UAAA,gBAAAM,EAAA,QAAA,gBAAAmB,EAAA,YAAA,MACAT,EAAA,QAAAZ,EAAA,eAEAW,EAAA,QAAAQ,MAAA,QAEAH,IAAAM,GAAA1B,EAAA,OAAA,MAAA;;AACI,gBAAA2B,IAAA,IAAAF,KAAAnB,IAAAN,EAAA,UAAA,gBAAAM,EAAA,QAAA,gBAAAmB,EAAA,YAAA;AACA,UAAAE,KAAAA,MAAAb,EAAA,UACIA,EAAA,QAAAa;AAAA,QACJ,CAAA;AAAA,MAER;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB,GAItBC,EAAA,MAAA;AACI,MAAAR,KAAA,QAAAA,EAAA;AAAA,IAAgC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBCuNpCS,KAAAnC,EAAA;AAAA,EAA+B,MAAA,EAAA,UAAAoC,GAAA;AAAA,EACV,MAAA;AAErB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAhUAC,IAAA,KAEA,EAAA,GAAAC,EAAA,IAAAC,GAAA,GACArC,IAAAC,EAAA,GACAqC,IAAAC,EAAA,GACArC,IAAAC,EAAAH,CAAA,GACAwC,IAAAnC,EAAA,IAAA,GACAoC,IAAApC,EAAA,EAAA,GACAqC,IAAAC,GAAA,OAAA,GAwGAtB,IAAAd,EAAA,MAAAC,EAAA,iBAAA,CAAAA,EAAA,eAAA,GAEAY,IAAAf,EAAAG,EAAA,aAAA,GAEAG,IAAAJ,EAAA,MACIa,EAAA,QAIA,EAAA,KAAAA,EAAA,OAAA,OAAAA,EAAA,MAAA,IAHI,CAAA,CAGkE,GAG1EwB,IAAArC,EAAA,MAAA+B,EAAA,YAAA,KAAAF,EAAA,mBAAA,CAAA,GACAtB,IAAAP,EAAA,MAAAC,EAAA,oBAAAA,EAAA,SAAAtB,EAAA,KAAA,GAEA2D,IAAA,MAAA;AACI,MAAAL,EAAA,MAAA,UAAA;AAAA,IAAsB,GAG1BM,IAAA,MAAA;AACI,MAAAC,EAAA,aAAA;AAAA,IAAkB,GAItBC,IAAA,MAAA;AACI,MAAAP,EAAA,UACID,EAAA,MAAA,MAAA,GACAS,EAAA,MAAA,CAAA,KACIF,EAAA,sBAAAE,EAAA,MAAA,CAAA,CAAA,GAEJA,EAAA,QAAA,CAAA,GACAR,EAAA,QAAA,IACAK,EAAA;AAAA,IACJ,GAGJI,IAAA,MAAA;AACI,MAAAV,EAAA,MAAA,SAGAC,EAAA,QAAA;AAAA,IAAkB,GAStBU,IAAA,CAAAC,MAAA;AAII,MAHAA,KACIA,EAAA,eAAA,GAEJ,GAAA5C,EAAA,iBAAAA,EAAA,cAAAlB,EAAA,WAGA4D,EAAA;AAAA,IAAyB,GAG7BG,IAAA,MAAA;AACI,MAAA7C,EAAA,iBACI2C,EAAA;AAAA,IACJ,GAGJG,IAAA/C,EAAA,OAAA;AAAA,MAAgD,CAAA,4BAAAC,EAAA,IAAA,EAAA,GAAAA,EAAA;AAAA,MACM,iCAAAiC,EAAA;AAAA,MACP,0CAAA3B,EAAA;AAAA,MACe,sCAAAK,EAAA;AAAA,IACF,EAAA;AAG5D,IAAAM;AAAA,MAAA,MAAA,CAAAjB,EAAA,QAAAgC,EAAA,KAAA;AAAA,MACoC,CAAA,CAAAe,GAAAC,CAAA,GAAA,CAAA,EAAAC,CAAA,MAAA;AAE5B,YAAA,CAAAD;AACI;AAIJ,QAAAD,KACIV,EAAA,GAEAI,EAAA,MAAA,UACIA,EAAA,MAAA,KAAAhC,EAAA,KAAA,KALR,CAAAwC,KAQIP,EAAA;AAAA,MACJ;AAAA,IACJ,GAKJzB;AAAA,MAAA,MAAAjB,EAAA;AAAA,MACgB,MAAA;;AAER,UAAAqB,KAAAnB,IAAAF,EAAA,YAAA,gBAAAE,EAAA,OAAA,gBAAAmB,EAAA,WAAA,aACI,WAAAqB,GAAAf,CAAA;AAAA,MACJ;AAAA,MACJ,EAAA,MAAA,GAAA;AAAA,IACa,GAGjBuB,GAAA,MAAA;AACI,MAAAlD,EAAA,UAAAgC,EAAA,SACIK,EAAA;AAAA,IACJ,CAAA,GAMJc,EAAA;AAAA,MAAa,0BAAAR;AAAA,IACT,CAAA,GAIJS,EAAAC,IAAAnB,CAAA;AAGA,UAAA,EAAA,YAAAzB,GAAA,QAAA6C,GAAA,MAAA/C,EAAA,IAAAgD,GAAAvD,CAAA,GACAwD,IAAA3D,EAAA4D,GAAA,uBAAA,GAEAC,IAAA7D,EAAA,CAAA,CAAA,GACA4C,IAAA5C,EAAA,CAAA,CAAA,GAEA8D,IAAA,CAAA/D,MAAA2C,EAAA,sBAAA3C,CAAA,GAGAgE,IAAA,CAAAC,MAAA,MAAA;;AACI,MAAAH,EAAA,SAAAxD,IAAAwD,EAAA,UAAA,gBAAAxD,EAAA,OAAA,CAAA4D,MAAAA,MAAAD;AAAA,IAAqE,GAIzEE,IAAA,CAAAD,OACIA,KACIJ,EAAA,MAAA,KAAAI,CAAA,GAGJ,EAAA,gBAAAF,EAAAE,CAAA,EAAA,IAGJpD,IAAAb,EAAA,EAAA,GACAc,IAAAd,EAAA,EAAA;AAEA,WAAAuD,EAAAhE,GAAA;AAAA,MAA0D,YAAAqB;AAAA,MACtD,QAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,MAAAN;AAAA,IACA,CAAA,GAGJ6C,EAAAY,IAAA;AAAA,MAAqE,YAAAvD;AAAA,MACjE,WAAA+C;AAAA,MACA,QAAAF;AAAA,MACA,OAAAI;AAAA,MACA,eAAAjB;AAAA,MACA,YAAAkB;AAAA,IACA,CAAA,GAGJP,EAAAa,IAAAF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +0,0 @@
1
- const o = Symbol("modal injection key");
2
- export {
3
- o as M
4
- };
5
- //# sourceMappingURL=base-modal.keys.C2PQXcE2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-modal.keys.C2PQXcE2.js","sources":["../../src/components/modal/components/base-modal/base-modal.keys.ts"],"sourcesContent":["export const MODAL_DIALOG_ID_INJECTION_KEY = Symbol('modal injection key');\n"],"names":["MODAL_DIALOG_ID_INJECTION_KEY"],"mappings":"AAAa,MAAAA,IAAgC,OAAO,qBAAqB;"}
@@ -1,24 +0,0 @@
1
- /* empty css */
2
- import { n as e } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
3
- let r = 0;
4
- const a = {
5
- beforeCreate() {
6
- this.uuid = r.toString(), r += 1;
7
- }
8
- };
9
- var i = function() {
10
- var t = this, s = t._self._c;
11
- return s("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"] ? s("title", [t._v(t._s(t.$attrs["svg-title"]))]) : t._e(), s("path", { attrs: { fill: "#001222", d: "M7.25 6.25H5.75V12.75H7.25V6.25Z" } }), s("path", { attrs: { fill: "#001222", d: "M8.75 6.25H10.25V12.75H8.75V6.25Z" } }), s("path", { attrs: { fill: "#001222", d: "M14.75 3.24999H12.54L12.05 1.74999C11.9 1.29999 11.61 0.92999 11.22 0.64999C10.83 0.37999 10.34 0.24999 9.92 0.23999H6.09C5.64 0.23999 5.17 0.37999 4.78 0.64999C4.39 0.91999 4.11 1.29999 3.95 1.75999L3.46 3.23999H1.25V4.73999H2.32L3.14 13.7C3.19 14.26 3.45 14.78 3.86 15.16C4.27 15.54 4.81 15.75 5.37 15.75H10.64C11.2 15.75 11.74 15.54 12.15 15.16C12.57 14.78 12.82 14.26 12.87 13.7L13.69 4.73999H14.76V3.23999L14.75 3.24999ZM5.37 2.24999C5.42 2.09999 5.52 1.97999 5.64 1.88999C5.77 1.79999 5.92 1.74999 6.08 1.75999H9.93C10.08 1.75999 10.23 1.80999 10.35 1.88999C10.48 1.97999 10.57 2.09999 10.62 2.23999L10.95 3.25999H5.02L5.35 2.25999L5.37 2.24999ZM11.37 13.58C11.35 13.77 11.27 13.94 11.13 14.06C10.99 14.19 10.81 14.25 10.63 14.25H5.36C5.17 14.25 5 14.18 4.86 14.06C4.72 13.93 4.64 13.76 4.62 13.57L3.81 4.74999H12.17L11.36 13.57L11.37 13.58Z" } })]);
12
- }, n = [], l = /* @__PURE__ */ e(
13
- a,
14
- i,
15
- n,
16
- !1,
17
- null,
18
- null
19
- );
20
- const H = l.exports;
21
- export {
22
- H as B
23
- };
24
- //# sourceMappingURL=bin.DLXkAVvw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bin.DLXkAVvw.js","sources":["../../../ui-assets/icons-16/dist/vue/bin.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M7.25 6.25H5.75V12.75H7.25V6.25Z\"/><path fill=\"#001222\" d=\"M8.75 6.25H10.25V12.75H8.75V6.25Z\"/><path fill=\"#001222\" d=\"M14.75 3.24999H12.54L12.05 1.74999C11.9 1.29999 11.61 0.92999 11.22 0.64999C10.83 0.37999 10.34 0.24999 9.92 0.23999H6.09C5.64 0.23999 5.17 0.37999 4.78 0.64999C4.39 0.91999 4.11 1.29999 3.95 1.75999L3.46 3.23999H1.25V4.73999H2.32L3.14 13.7C3.19 14.26 3.45 14.78 3.86 15.16C4.27 15.54 4.81 15.75 5.37 15.75H10.64C11.2 15.75 11.74 15.54 12.15 15.16C12.57 14.78 12.82 14.26 12.87 13.7L13.69 4.73999H14.76V3.23999L14.75 3.24999ZM5.37 2.24999C5.42 2.09999 5.52 1.97999 5.64 1.88999C5.77 1.79999 5.92 1.74999 6.08 1.75999H9.93C10.08 1.75999 10.23 1.80999 10.35 1.88999C10.48 1.97999 10.57 2.09999 10.62 2.23999L10.95 3.25999H5.02L5.35 2.25999L5.37 2.24999ZM11.37 13.58C11.35 13.77 11.27 13.94 11.13 14.06C10.99 14.19 10.81 14.25 10.63 14.25H5.36C5.17 14.25 5 14.18 4.86 14.06C4.72 13.93 4.64 13.76 4.62 13.57L3.81 4.74999H12.17L11.36 13.57L11.37 13.58Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n"],"names":["uuid","_sfc_main"],"mappings":";;AAOA,IAAAA,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;"}
@@ -1,83 +0,0 @@
1
- import { ref as f, watch as A, nextTick as v, defineComponent as b, toRef as h, computed as _, provide as m } from "vue";
2
- import { M as y, B } from "./menu.D0OQgk40.js";
3
- import { f as w, B as C } from "./button-actions.Ju27CRNG.js";
4
- import { u as M } from "./index.BdrLbvtJ.js";
5
- import { n as N } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
6
- import "../assets/button-actions-with-menu.css";
7
- const W = (d) => {
8
- const { breakpoint: t, container: s, defaultActionsCount: o, offset: e } = d, { width: l } = M(), i = f(o), r = 150, a = async () => {
9
- var u;
10
- await v();
11
- const c = s.value.clientWidth, n = r * i.value + (((u = e == null ? void 0 : e.value) == null ? void 0 : u.offsetWidth) ?? 0) + r;
12
- c >= n && i.value < o && (i.value += 1, a());
13
- }, p = async () => {
14
- var u;
15
- await v();
16
- const c = s.value.clientWidth, n = r * i.value + (((u = e == null ? void 0 : e.value) == null ? void 0 : u.offsetWidth) ?? 0);
17
- c < n && i.value > 0 && (i.value -= 1, p());
18
- };
19
- return A([l, s], async ([c, n], [u]) => {
20
- if (!n || !o || c > t)
21
- return;
22
- await v(), c > u ? a() : p();
23
- }), {
24
- displayedActionsCount: i
25
- };
26
- }, E = {}, I = /* @__PURE__ */ b({
27
- ...E,
28
- __name: "button-actions-with-menu",
29
- props: {
30
- actions: null,
31
- actionsLayout: { default: "buttons-end" },
32
- disableResponsiveBehavior: { type: Boolean, default: !1 },
33
- displayedActions: { default: void 0 },
34
- inverse: { type: Boolean, default: !1 },
35
- hideDisplayedActionsBreakpoint: { default: 0 },
36
- menuPosition: { default: "bottom-start" }
37
- },
38
- setup(d) {
39
- const t = d, s = h(t, "inverse"), o = f(null), e = f(null), l = f(!1), i = _(() => {
40
- const n = t.hideDisplayedActionsBreakpoint ? a.value : t.displayedActions;
41
- return t.actions.slice(0, n);
42
- }), r = _(() => {
43
- var n;
44
- return (n = e == null ? void 0 : e.value) == null ? void 0 : n.$el;
45
- }), { displayedActionsCount: a } = W({
46
- breakpoint: t.hideDisplayedActionsBreakpoint,
47
- container: o,
48
- defaultActionsCount: t.displayedActions,
49
- offset: r
50
- });
51
- m(y, s), t.disableResponsiveBehavior || m(w, { buttonActionsWithMenu: o, menu: e, stackButtons: l });
52
- const p = _(() => ({
53
- "b-button-actions-with-menu__container-wrapper--buttons-end": t.actionsLayout === "buttons-end",
54
- "b-button-actions-with-menu__container-wrapper--buttons-start": t.actionsLayout === "buttons-start",
55
- "b-button-actions-with-menu__container-wrapper--stacked-buttons": l.value
56
- })), c = _(
57
- () => a.value !== void 0 && a.value < t.actions.length ? t.actions.slice(a.value, t.actions.length).map((n) => ({
58
- text: n.title,
59
- handler: n.event,
60
- icon: n.icon,
61
- critical: n.critical,
62
- disabled: n.disabled
63
- })) : []
64
- );
65
- return { __sfc: !0, props: t, inverseRef: s, buttonActionsWithMenu: o, menu: e, stackButtons: l, computedActions: i, computedMenuRef: r, displayedActionsCount: a, conditionalClasses: p, computedMenuActions: c, BentoButtonActions: C, BentoMenu: B };
66
- }
67
- });
68
- var T = function() {
69
- var t = this, s = t._self._c, o = t._self._setupProxy;
70
- return s("div", { staticClass: "b-button-actions-with-menu" }, [s("div", { ref: "buttonActionsWithMenu", staticClass: "b-button-actions-with-menu__container-wrapper", class: o.conditionalClasses, attrs: { role: "group" } }, [s(o.BentoButtonActions, { attrs: { actions: o.computedActions, inverse: t.inverse, layout: t.actionsLayout } }), o.computedMenuActions.length ? s(o.BentoMenu, { ref: "menu", attrs: { data: o.computedMenuActions, "menu-position": t.menuPosition } }) : t._e()], 1)]);
71
- }, R = [], k = /* @__PURE__ */ N(
72
- I,
73
- T,
74
- R,
75
- !1,
76
- null,
77
- "bf9aca55"
78
- );
79
- const U = k.exports;
80
- export {
81
- U as B
82
- };
83
- //# sourceMappingURL=button-actions-with-menu.nPj7sdGE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-actions-with-menu.nPj7sdGE.js","sources":["../../src/components/internal/button-actions-with-menu/composables/use-responsive-actions.ts","../../src/components/internal/button-actions-with-menu/button-actions-with-menu.vue"],"sourcesContent":["import { useWindowSize } from '@vueuse/core';\nimport { nextTick, Ref, ref, watch } from 'vue';\n\ninterface UseResponsiveActionsProps {\n breakpoint?: number;\n container: Ref<HTMLElement>;\n defaultActionsCount: number;\n offset?: Ref<HTMLElement>;\n}\n\nexport const useResponsiveActions = (props: UseResponsiveActionsProps) => {\n const { breakpoint, container, defaultActionsCount, offset } = props;\n\n const { width: windowWidth } = useWindowSize();\n\n const displayedActionsCount = ref<number>(defaultActionsCount);\n\n const AVERAGE_BUTTON_WIDTH = 150; // button size + gap\n\n const showActions = async () => {\n await nextTick();\n\n const availableSpace = container.value.clientWidth;\n const totalActionWidth =\n AVERAGE_BUTTON_WIDTH * displayedActionsCount.value +\n (offset?.value?.offsetWidth ?? 0) +\n AVERAGE_BUTTON_WIDTH;\n\n // Only add actions if there's enough space and we haven't reached max\n if (availableSpace >= totalActionWidth && displayedActionsCount.value < defaultActionsCount) {\n displayedActionsCount.value += 1;\n\n showActions(); // keep trying to show more\n }\n };\n\n const hideActions = async () => {\n await nextTick();\n\n const availableSpace = container.value.clientWidth;\n const totalActionWidth = AVERAGE_BUTTON_WIDTH * displayedActionsCount.value + (offset?.value?.offsetWidth ?? 0);\n\n // Hide actions if they overflow the container\n if (availableSpace < totalActionWidth && displayedActionsCount.value > 0) {\n displayedActionsCount.value -= 1;\n\n hideActions(); // keep hiding until it fits\n }\n };\n\n watch([windowWidth, container], async ([newWidth, containerEl], [oldWidth]) => {\n if (!containerEl || !defaultActionsCount || newWidth > breakpoint) {\n return;\n }\n\n await nextTick();\n\n const isIncreasing = newWidth > oldWidth;\n\n if (isIncreasing) {\n showActions();\n } else {\n hideActions();\n }\n });\n\n return {\n displayedActionsCount,\n };\n};\n","<template>\n <div class=\"b-button-actions-with-menu\">\n <div\n ref=\"buttonActionsWithMenu\"\n role=\"group\"\n class=\"b-button-actions-with-menu__container-wrapper\"\n :class=\"conditionalClasses\"\n >\n <bento-button-actions :actions=\"computedActions\" :inverse=\"inverse\" :layout=\"actionsLayout\" />\n <bento-menu\n v-if=\"computedMenuActions.length\"\n ref=\"menu\"\n :data=\"computedMenuActions\"\n :menu-position=\"menuPosition\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButtonActions } from '@/components/button';\n import { BentoMenuItem } from '@/components/menu/components/menu-item/menu-item.types';\n import { MENU_INVERSE_INJECTION_KEY } from '@/components/menu/menu.keys';\n import BentoMenu from '@/components/menu/menu.vue';\n import { computed, provide, ref, toRef } from 'vue';\n import { BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY } from './button-actions-with-menu.keys';\n import { ButtonActionsWithMenuProps } from './button-actions-with-menu.types';\n import { useResponsiveActions } from './composables/use-responsive-actions';\n\n const props = defineProps({\n actions: null,\n actionsLayout: { default: 'buttons-end' },\n disableResponsiveBehavior: { type: Boolean, default: false },\n displayedActions: { default: undefined },\n inverse: { type: Boolean, default: false },\n hideDisplayedActionsBreakpoint: { default: 0 },\n menuPosition: { default: 'bottom-start' }\n});\n\n const inverseRef = toRef(props, 'inverse');\n const buttonActionsWithMenu = ref<HTMLDivElement>(null);\n const menu = ref(null);\n const stackButtons = ref(false);\n\n const computedActions = computed(() => {\n const displayedActionsLimit = props.hideDisplayedActionsBreakpoint\n ? displayedActionsCount.value\n : props.displayedActions;\n\n return props.actions.slice(0, displayedActionsLimit);\n });\n const computedMenuRef = computed(() => menu?.value?.$el);\n\n const { displayedActionsCount } = useResponsiveActions({\n breakpoint: props.hideDisplayedActionsBreakpoint,\n container: buttonActionsWithMenu,\n defaultActionsCount: props.displayedActions,\n offset: computedMenuRef,\n });\n\n provide(MENU_INVERSE_INJECTION_KEY, inverseRef);\n\n if (!props.disableResponsiveBehavior) {\n provide(BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY, { buttonActionsWithMenu, menu, stackButtons });\n }\n\n const conditionalClasses = computed(() => ({\n [`b-button-actions-with-menu__container-wrapper--buttons-end`]: props.actionsLayout === 'buttons-end',\n [`b-button-actions-with-menu__container-wrapper--buttons-start`]: props.actionsLayout === 'buttons-start',\n [`b-button-actions-with-menu__container-wrapper--stacked-buttons`]: stackButtons.value,\n }));\n\n const computedMenuActions = computed(() =>\n displayedActionsCount.value !== undefined && displayedActionsCount.value < props.actions.length\n ? (props.actions.slice(displayedActionsCount.value, props.actions.length).map(el => ({\n text: el.title,\n handler: el.event,\n icon: el.icon,\n critical: el.critical,\n disabled: el.disabled,\n })) as BentoMenuItem[])\n : []\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * An internal button actions component with the option to display some of the actions in a menu.\n *\n * @example\n * <button-actions-with-menu\n * :actions=\"[\n * {\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * },\n * {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: BentoButtonVariant.PRIMARY,\n * critical: true\n * }]\"\n * :displayedActions=\"2\"\n * />\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./button-actions-with-menu.scss\" />\n"],"names":["useResponsiveActions","props","breakpoint","container","defaultActionsCount","offset","windowWidth","useWindowSize","displayedActionsCount","ref","AVERAGE_BUTTON_WIDTH","showActions","nextTick","availableSpace","totalActionWidth","_a","hideActions","watch","newWidth","containerEl","oldWidth","__default__","inverseRef","toRef","buttonActionsWithMenu","menu","stackButtons","computedActions","computed","displayedActionsLimit","computedMenuRef","provide","MENU_INVERSE_INJECTION_KEY","BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY","conditionalClasses","computedMenuActions","el"],"mappings":";;;;;;AAUa,MAAAA,IAAA,CAAAC,MAAA;AACT,QAAA,EAAA,YAAAC,GAAA,WAAAC,GAAA,qBAAAC,GAAA,QAAAC,EAAA,IAAAJ,GAEA,EAAA,OAAAK,EAAA,IAAAC,EAAA,GAEAC,IAAAC,EAAAL,CAAA,GAEAM,IAAA,KAEAC,IAAA,YAAA;;AACI,UAAAC,EAAA;AAEA,UAAAC,IAAAV,EAAA,MAAA,aACAW,IAAAJ,IAAAF,EAAA,WAAAO,IAAAV,KAAA,gBAAAA,EAAA,UAAA,gBAAAU,EAAA,gBAAA,KAAAL;AAMA,IAAAG,KAAAC,KAAAN,EAAA,QAAAJ,MACII,EAAA,SAAA,GAEAG,EAAA;AAAA,EACJ,GAGJK,IAAA,YAAA;;AACI,UAAAJ,EAAA;AAEA,UAAAC,IAAAV,EAAA,MAAA,aACAW,IAAAJ,IAAAF,EAAA,WAAAO,IAAAV,KAAA,gBAAAA,EAAA,UAAA,gBAAAU,EAAA,gBAAA;AAGA,IAAAF,IAAAC,KAAAN,EAAA,QAAA,MACIA,EAAA,SAAA,GAEAQ,EAAA;AAAA,EACJ;AAGJ,SAAAC,EAAA,CAAAX,GAAAH,CAAA,GAAA,OAAA,CAAAe,GAAAC,CAAA,GAAA,CAAAC,CAAA,MAAA;AACI,QAAA,CAAAD,KAAA,CAAAf,KAAAc,IAAAhB;AACI;AAGJ,UAAAU,EAAA,GAEAM,IAAAE,IAGIT,EAAA,IAEAK,EAAA;AAAA,EACJ,CAAA,GAGJ;AAAA,IAAO,uBAAAR;AAAA,EACH;AAER,GC2CIa,IAAA,CAAA;;;;;;;;;;;;;iBAzEAC,IAAAC,EAAAtB,GAAA,SAAA,GACAuB,IAAAf,EAAA,IAAA,GACAgB,IAAAhB,EAAA,IAAA,GACAiB,IAAAjB,EAAA,EAAA,GAEAkB,IAAAC,EAAA,MAAA;AACI,YAAAC,IAAA5B,EAAA,iCAAAO,EAAA,QAAAP,EAAA;AAIA,aAAAA,EAAA,QAAA,MAAA,GAAA4B,CAAA;AAAA,IAAmD,CAAA,GAEvDC,IAAAF,EAAA,MAAA;;AAAA,cAAAb,IAAAU,KAAA,gBAAAA,EAAA,UAAA,gBAAAV,EAAA;AAAA,KAAA,GAEA,EAAA,uBAAAP,EAAA,IAAAR,EAAA;AAAA,MAAuD,YAAAC,EAAA;AAAA,MACjC,WAAAuB;AAAA,MACP,qBAAAvB,EAAA;AAAA,MACgB,QAAA6B;AAAA,IACnB,CAAA;AAGZ,IAAAC,EAAAC,GAAAV,CAAA,GAEArB,EAAA,6BACI8B,EAAAE,GAAA,EAAA,uBAAAT,GAAA,MAAAC,GAAA,cAAAC,EAAA,CAAA;AAGJ,UAAAQ,IAAAN,EAAA,OAAA;AAAA,MAA2C,8DAAA3B,EAAA,kBAAA;AAAA,MACiD,gEAAAA,EAAA,kBAAA;AAAA,MACE,kEAAAyB,EAAA;AAAA,IACT,EAAA,GAGrFS,IAAAP;AAAA,MAA4B,MAAApB,EAAA,UAAA,UAAAA,EAAA,QAAAP,EAAA,QAAA,SAAAA,EAAA,QAAA,MAAAO,EAAA,OAAAP,EAAA,QAAA,MAAA,EAAA,IAAA,CAAAmC,OAAA;AAAA,QAEiE,MAAAA,EAAA;AAAA,QACtE,SAAAA,EAAA;AAAA,QACG,MAAAA,EAAA;AAAA,QACH,UAAAA,EAAA;AAAA,QACI,UAAAA,EAAA;AAAA,MACA,EAAA,IAAA,CAAA;AAAA,IAEhB;;;;;;;;;;;;;;;;"}