@adyen/bento-vue2 1.102.0 → 1.103.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 (399) hide show
  1. package/dist/@types/index.d.ts +20 -3
  2. package/dist/accordion.js +1 -1
  3. package/dist/action-bar.js +1 -1
  4. package/dist/ai-tag.js +1 -1
  5. package/dist/alert.js +1 -1
  6. package/dist/anchor-scroller.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/ai-button.css +1 -1
  10. package/dist/assets/anchor-scroller.css +1 -1
  11. package/dist/assets/base-modal.css +1 -1
  12. package/dist/assets/button-actions.css +1 -1
  13. package/dist/assets/button.css +1 -1
  14. package/dist/assets/card.css +1 -1
  15. package/dist/assets/checkbox-input.css +1 -1
  16. package/dist/assets/data-grid.css +1 -1
  17. package/dist/assets/dialog-page.css +1 -1
  18. package/dist/assets/dropdown.css +1 -1
  19. package/dist/assets/empty-state.css +1 -1
  20. package/dist/assets/file-uploader.css +1 -1
  21. package/dist/assets/filter-bar.css +1 -1
  22. package/dist/assets/index.css +1 -1
  23. package/dist/assets/input-field-password.css +1 -1
  24. package/dist/assets/inspector.css +1 -1
  25. package/dist/assets/modal-fullscreen.css +1 -1
  26. package/dist/assets/navigation-menu-group.css +1 -1
  27. package/dist/assets/pagination.css +1 -1
  28. package/dist/assets/radio-input.css +1 -1
  29. package/dist/assets/secondary-nav.css +1 -1
  30. package/dist/assets/selection-card-group.css +1 -1
  31. package/dist/assets/sidepanel.css +1 -1
  32. package/dist/assets/table-of-contents.css +1 -1
  33. package/dist/assets/typography.css +1 -1
  34. package/dist/avatar.js +1 -1
  35. package/dist/button.js +3 -3
  36. package/dist/card.js +1 -1
  37. package/dist/checkbox.js +2 -2
  38. package/dist/chip.js +1 -1
  39. package/dist/chunks/{accordion-item.C0va5Mbv.js → accordion-item.CrVVFIHa.js} +16 -49
  40. package/dist/chunks/{accordion-item.C0va5Mbv.js.map → accordion-item.CrVVFIHa.js.map} +1 -1
  41. package/dist/chunks/{action-bar.-kzjjAuX.js → action-bar.BC1fWyHX.js} +18 -150
  42. package/dist/chunks/{action-bar.-kzjjAuX.js.map → action-bar.BC1fWyHX.js.map} +1 -1
  43. package/dist/chunks/{ai-button.ChLXOu7p.js → ai-button.CP6Bu7PB.js} +3 -3
  44. package/dist/chunks/{ai-button.ChLXOu7p.js.map → ai-button.CP6Bu7PB.js.map} +1 -1
  45. package/dist/chunks/{ai-tag.DhBjifex.js → ai-tag.wYWc7yOx.js} +16 -49
  46. package/dist/chunks/{ai-tag.DhBjifex.js.map → ai-tag.wYWc7yOx.js.map} +1 -1
  47. package/dist/chunks/{alert.CDP-LTh5.js → alert.Dj57zB88.js} +15 -81
  48. package/dist/chunks/{alert.CDP-LTh5.js.map → alert.Dj57zB88.js.map} +1 -1
  49. package/dist/chunks/anchor-scroller.Bhgy748g.js +120 -0
  50. package/dist/chunks/anchor-scroller.Bhgy748g.js.map +1 -0
  51. package/dist/chunks/{avatar.rwWPYJnt.js → avatar.D__jLgjI.js} +2 -2
  52. package/dist/chunks/{avatar.rwWPYJnt.js.map → avatar.D__jLgjI.js.map} +1 -1
  53. package/dist/chunks/{base-button.BPRPrO0p.js → base-button.D5C9VIYP.js} +20 -23
  54. package/dist/chunks/{base-button.BPRPrO0p.js.map → base-button.D5C9VIYP.js.map} +1 -1
  55. package/dist/chunks/{base-modal.BagJ8weI.js → base-modal.DlD_Lj4Y.js} +100 -141
  56. package/dist/chunks/{base-modal.BagJ8weI.js.map → base-modal.DlD_Lj4Y.js.map} +1 -1
  57. package/dist/chunks/button-actions-with-menu.CTgggEw2.js +77 -0
  58. package/dist/chunks/{button-actions-with-menu.DNYoFmV4.js.map → button-actions-with-menu.CTgggEw2.js.map} +1 -1
  59. package/dist/chunks/{button-actions.Dpbx0xf3.js → button-actions.CxX7lK7z.js} +362 -442
  60. package/dist/chunks/{button-actions.Dpbx0xf3.js.map → button-actions.CxX7lK7z.js.map} +1 -1
  61. package/dist/chunks/{button.CKS_V3p5.js → button.C4kKejsg.js} +34 -37
  62. package/dist/chunks/{button.CKS_V3p5.js.map → button.C4kKejsg.js.map} +1 -1
  63. package/dist/chunks/calendar.BoFWdxN7.js +1143 -0
  64. package/dist/chunks/{calendar.CvHJ3Geq.js.map → calendar.BoFWdxN7.js.map} +1 -1
  65. package/dist/chunks/{card.DqMECGcj.js → card.B70qRHOi.js} +34 -70
  66. package/dist/chunks/{card.DqMECGcj.js.map → card.B70qRHOi.js.map} +1 -1
  67. package/dist/chunks/{checkbox-group.YnXz1Hl2.js → checkbox-group.D1zzKsdi.js} +6 -6
  68. package/dist/chunks/{checkbox-group.YnXz1Hl2.js.map → checkbox-group.D1zzKsdi.js.map} +1 -1
  69. package/dist/chunks/{checkbox-input.08E9BNeF.js → checkbox-input.kfxcyjfd.js} +28 -31
  70. package/dist/chunks/{checkbox-input.08E9BNeF.js.map → checkbox-input.kfxcyjfd.js.map} +1 -1
  71. package/dist/chunks/{checkbox.BUc2332d.js → checkbox.Ca0mu2lE.js} +58 -91
  72. package/dist/chunks/{checkbox.BUc2332d.js.map → checkbox.Ca0mu2lE.js.map} +1 -1
  73. package/dist/chunks/{chip.DHmRHsL2.js → chip.wgEnbEPw.js} +16 -38
  74. package/dist/chunks/{chip.DHmRHsL2.js.map → chip.wgEnbEPw.js.map} +1 -1
  75. package/dist/chunks/click-outside.B0whuTUU.js +20 -0
  76. package/dist/chunks/{click-outside.BG01Sm0A.js.map → click-outside.B0whuTUU.js.map} +1 -1
  77. package/dist/chunks/{code-snippet.Cha3wHUL.js → code-snippet.BglbQWRB.js} +19 -74
  78. package/dist/chunks/{code-snippet.Cha3wHUL.js.map → code-snippet.BglbQWRB.js.map} +1 -1
  79. package/dist/chunks/{codemirror.D2BAltnu.js → codemirror.Bzus_EPG.js} +15 -15
  80. package/dist/chunks/{codemirror.D2BAltnu.js.map → codemirror.Bzus_EPG.js.map} +1 -1
  81. package/dist/chunks/constructNow.DyOJDyZZ.js +8 -0
  82. package/dist/chunks/{constructNow.CK0ryPil.js.map → constructNow.DyOJDyZZ.js.map} +1 -1
  83. package/dist/chunks/{controls-group.BomXFNvi.js → controls-group.DPLAJjbv.js} +3 -3
  84. package/dist/chunks/{controls-group.BomXFNvi.js.map → controls-group.DPLAJjbv.js.map} +1 -1
  85. package/dist/chunks/{copy.BlyhTDSU.js → copy.CsKQJlen.js} +16 -60
  86. package/dist/chunks/{copy.BlyhTDSU.js.map → copy.CsKQJlen.js.map} +1 -1
  87. package/dist/chunks/{country.DySY9sbA.js → country.D8ncVjcm.js} +5 -5
  88. package/dist/chunks/{country.DySY9sbA.js.map → country.D8ncVjcm.js.map} +1 -1
  89. package/dist/chunks/country.types.BUW49nQx.js +27 -0
  90. package/dist/chunks/country.types.BUW49nQx.js.map +1 -0
  91. package/dist/chunks/currency.POwX-Trj.js +124 -0
  92. package/dist/chunks/{currency.Dvy9Qjjf.js.map → currency.POwX-Trj.js.map} +1 -1
  93. package/dist/chunks/dashboard-section.Bmu65OHg.js +98 -0
  94. package/dist/chunks/{dashboard-section.D2yqhERq.js.map → dashboard-section.Bmu65OHg.js.map} +1 -1
  95. package/dist/chunks/{dashed-underline.ByPcIHNe.js → dashed-underline.CbzCYKrk.js} +11 -12
  96. package/dist/chunks/{dashed-underline.ByPcIHNe.js.map → dashed-underline.CbzCYKrk.js.map} +1 -1
  97. package/dist/chunks/data-grid-template.BvBHJ0sH.js +102 -0
  98. package/dist/chunks/{data-grid-template.Ifn423Ot.js.map → data-grid-template.BvBHJ0sH.js.map} +1 -1
  99. package/dist/chunks/data-grid.DPh8BSnM.js +3266 -0
  100. package/dist/chunks/{data-grid.BDXQ_kKQ.js.map → data-grid.DPh8BSnM.js.map} +1 -1
  101. package/dist/chunks/date-picker.DutUBQbH.js +183 -0
  102. package/dist/chunks/{date-picker.CXZfCxwP.js.map → date-picker.DutUBQbH.js.map} +1 -1
  103. package/dist/chunks/date-range-picker.5bvgs49h.js +924 -0
  104. package/dist/chunks/{date-range-picker.BzVQsYk4.js.map → date-range-picker.5bvgs49h.js.map} +1 -1
  105. package/dist/chunks/date-time-picker.DUWWGlOX.js +127 -0
  106. package/dist/chunks/{date-time-picker.DaLATfJp.js.map → date-time-picker.DUWWGlOX.js.map} +1 -1
  107. package/dist/chunks/{date.C1HnIyOv.js → date.CPo8t1n9.js} +25 -25
  108. package/dist/chunks/{date.C1HnIyOv.js.map → date.CPo8t1n9.js.map} +1 -1
  109. package/dist/chunks/{de.pvjpUJ1o.js → de.ctR_lBqr.js} +18 -18
  110. package/dist/chunks/{de.pvjpUJ1o.js.map → de.ctR_lBqr.js.map} +1 -1
  111. package/dist/chunks/{dialog-page.B_LwIWgK.js → dialog-page.CPorblJc.js} +16 -38
  112. package/dist/chunks/{dialog-page.B_LwIWgK.js.map → dialog-page.CPorblJc.js.map} +1 -1
  113. package/dist/chunks/differenceInMonths.yz4Dfe-b.js +44 -0
  114. package/dist/chunks/{differenceInMonths.CpwVtHZX.js.map → differenceInMonths.yz4Dfe-b.js.map} +1 -1
  115. package/dist/chunks/{directive.BBWhsNtO.js → directive.D1-d-C2K.js} +2 -2
  116. package/dist/chunks/{directive.BBWhsNtO.js.map → directive.D1-d-C2K.js.map} +1 -1
  117. package/dist/chunks/{draggable-handle.kBP4prVO.js → draggable-handle.g2BFN3G1.js} +18 -114
  118. package/dist/chunks/{draggable-handle.kBP4prVO.js.map → draggable-handle.g2BFN3G1.js.map} +1 -1
  119. package/dist/chunks/draggable.iIsQLiOa.js +168 -0
  120. package/dist/chunks/{draggable.rTa1jcHI.js.map → draggable.iIsQLiOa.js.map} +1 -1
  121. package/dist/chunks/{drawer.DVJxDGw3.js → drawer.CnxX1zZ6.js} +14 -36
  122. package/dist/chunks/{drawer.DVJxDGw3.js.map → drawer.CnxX1zZ6.js.map} +1 -1
  123. package/dist/chunks/{dropdown-tag.CaLA2NLd.js → dropdown-tag.BFnfCah8.js} +77 -81
  124. package/dist/chunks/{dropdown-tag.CaLA2NLd.js.map → dropdown-tag.BFnfCah8.js.map} +1 -1
  125. package/dist/chunks/{dropdown.DIqgVVXB.js → dropdown.Ce2P9MZ-.js} +1131 -1466
  126. package/dist/chunks/{dropdown.DIqgVVXB.js.map → dropdown.Ce2P9MZ-.js.map} +1 -1
  127. package/dist/chunks/empty-state.fziM-yAC.js +102 -0
  128. package/dist/chunks/empty-state.fziM-yAC.js.map +1 -0
  129. package/dist/chunks/{en-GB.-Q7Oq-nY.js → en-GB.BsQNm5GT.js} +2 -2
  130. package/dist/chunks/{en-GB.-Q7Oq-nY.js.map → en-GB.BsQNm5GT.js.map} +1 -1
  131. package/dist/chunks/{en-US.BK5uiAND.js → en-US.BR6y7foR.js} +30 -30
  132. package/dist/chunks/{en-US.BK5uiAND.js.map → en-US.BR6y7foR.js.map} +1 -1
  133. package/dist/chunks/{error-message.Hqp_VvD3.js → error-message.BEHBfjmn.js} +14 -36
  134. package/dist/chunks/{error-message.Hqp_VvD3.js.map → error-message.BEHBfjmn.js.map} +1 -1
  135. package/dist/chunks/{es.2H4LvTyV.js → es.DxqH-QhP.js} +14 -14
  136. package/dist/chunks/{es.2H4LvTyV.js.map → es.DxqH-QhP.js.map} +1 -1
  137. package/dist/chunks/{field-label.DjJ7wdFi.js → field-label.CgdTst2l.js} +15 -37
  138. package/dist/chunks/{field-label.DjJ7wdFi.js.map → field-label.CgdTst2l.js.map} +1 -1
  139. package/dist/chunks/{file-uploader.2rIfQ2jb.js → file-uploader.BG89SLkG.js} +317 -630
  140. package/dist/chunks/{file-uploader.2rIfQ2jb.js.map → file-uploader.BG89SLkG.js.map} +1 -1
  141. package/dist/chunks/filter-bar.BMO8wTzb.js +3087 -0
  142. package/dist/chunks/{filter-bar.qlViDZPY.js.map → filter-bar.BMO8wTzb.js.map} +1 -1
  143. package/dist/chunks/fixed-scroller.oObE3f7m.js +117 -0
  144. package/dist/chunks/{fixed-scroller.04EUUgD_.js.map → fixed-scroller.oObE3f7m.js.map} +1 -1
  145. package/dist/chunks/{focus-trap.oRKjDFzf.js → focus-trap.l-wwtCHi.js} +69 -85
  146. package/dist/chunks/{focus-trap.oRKjDFzf.js.map → focus-trap.l-wwtCHi.js.map} +1 -1
  147. package/dist/chunks/{footer-actions.DXyJtVip.js → footer-actions.Dn9KYoqB.js} +4 -4
  148. package/dist/chunks/{footer-actions.DXyJtVip.js.map → footer-actions.Dn9KYoqB.js.map} +1 -1
  149. package/dist/chunks/{form-layout-group.DnjoLZZM.js → form-layout-group.C_0b8u-g.js} +2 -2
  150. package/dist/chunks/{form-layout-group.DnjoLZZM.js.map → form-layout-group.C_0b8u-g.js.map} +1 -1
  151. package/dist/chunks/{form-layout-title.Bt5bP9r3.js → form-layout-title.YhZCVtoc.js} +15 -37
  152. package/dist/chunks/{form-layout-title.Bt5bP9r3.js.map → form-layout-title.YhZCVtoc.js.map} +1 -1
  153. package/dist/chunks/{fr.Cu0IIfBP.js → fr.DJtn8ron.js} +16 -16
  154. package/dist/chunks/{fr.Cu0IIfBP.js.map → fr.DJtn8ron.js.map} +1 -1
  155. package/dist/chunks/{generate-uid.NJ8tVoha.js → generate-uid.DBWe4g6T.js} +15 -16
  156. package/dist/chunks/{generate-uid.NJ8tVoha.js.map → generate-uid.DBWe4g6T.js.map} +1 -1
  157. package/dist/chunks/get-slot-text.DM_NdrUC.js +6 -0
  158. package/dist/chunks/{get-slot-text.Bjb9dTSV.js.map → get-slot-text.DM_NdrUC.js.map} +1 -1
  159. package/dist/chunks/{grid-layout.1aIiz2N_.js → grid-layout.BeCrjPgT.js} +16 -17
  160. package/dist/chunks/{grid-layout.1aIiz2N_.js.map → grid-layout.BeCrjPgT.js.map} +1 -1
  161. package/dist/chunks/header-meta.mDdMmFUA.js +206 -0
  162. package/dist/chunks/{header-meta.CCQVPDU8.js.map → header-meta.mDdMmFUA.js.map} +1 -1
  163. package/dist/chunks/{header-with-views.CEU6WrV9.js → header-with-views.Dp6SyiPu.js} +791 -1270
  164. package/dist/chunks/{header-with-views.CEU6WrV9.js.map → header-with-views.Dp6SyiPu.js.map} +1 -1
  165. package/dist/chunks/{header.BoNOTATn.js → header.DUAxdw_d.js} +4 -4
  166. package/dist/chunks/{header.BoNOTATn.js.map → header.DUAxdw_d.js.map} +1 -1
  167. package/dist/chunks/{index.C7m7gI5w.js → index.CL3TXc0a.js} +154 -160
  168. package/dist/chunks/{index.C7m7gI5w.js.map → index.CL3TXc0a.js.map} +1 -1
  169. package/dist/chunks/{index.B6WW_F-J.js → index.CPOlyau9.js} +5 -5
  170. package/dist/chunks/index.CPOlyau9.js.map +1 -0
  171. package/dist/chunks/{info-icon.BnLYUTzI.js → info-icon.BRnbXunj.js} +3 -3
  172. package/dist/chunks/{info-icon.BnLYUTzI.js.map → info-icon.BRnbXunj.js.map} +1 -1
  173. package/dist/chunks/input-field-password.C9_o6Kg2.js +230 -0
  174. package/dist/chunks/input-field-password.C9_o6Kg2.js.map +1 -0
  175. package/dist/chunks/{input-field-phone-number.CPjH0EVF.js → input-field-phone-number.zRjd8HPi.js} +724 -756
  176. package/dist/chunks/{input-field-phone-number.CPjH0EVF.js.map → input-field-phone-number.zRjd8HPi.js.map} +1 -1
  177. package/dist/chunks/{input-field.BEV5lhwO.js → input-field.BTt1ORWU.js} +22 -58
  178. package/dist/chunks/{input-field.BEV5lhwO.js.map → input-field.BTt1ORWU.js.map} +1 -1
  179. package/dist/chunks/{input-time.En4O4DRD.js → input-time.BfJIDgaH.js} +15 -48
  180. package/dist/chunks/{input-time.En4O4DRD.js.map → input-time.BfJIDgaH.js.map} +1 -1
  181. package/dist/chunks/{inspector-page.OKPf0I4k.js → inspector-page.i8bVjo9U.js} +4 -4
  182. package/dist/chunks/{inspector-page.OKPf0I4k.js.map → inspector-page.i8bVjo9U.js.map} +1 -1
  183. package/dist/chunks/{inspector.DoQPHzCc.js → inspector.Aet0jTC2.js} +39 -106
  184. package/dist/chunks/{inspector.DoQPHzCc.js.map → inspector.Aet0jTC2.js.map} +1 -1
  185. package/dist/chunks/isSameWeek.CieN9XgL.js +14 -0
  186. package/dist/chunks/{isSameWeek.TrpUOIn5.js.map → isSameWeek.CieN9XgL.js.map} +1 -1
  187. package/dist/chunks/{it.B65snrJA.js → it.keS7oN5l.js} +8 -8
  188. package/dist/chunks/{it.B65snrJA.js.map → it.keS7oN5l.js.map} +1 -1
  189. package/dist/chunks/{ja.xGVfFSzL.js → ja.cLwacUE6.js} +27 -27
  190. package/dist/chunks/{ja.xGVfFSzL.js.map → ja.cLwacUE6.js.map} +1 -1
  191. package/dist/chunks/{layout-row.CPFK9Bg7.js → layout-row.HslYnPgn.js} +34 -35
  192. package/dist/chunks/{layout-row.CPFK9Bg7.js.map → layout-row.HslYnPgn.js.map} +1 -1
  193. package/dist/chunks/{link.Cejg8jB6.js → link.CscSbaXa.js} +15 -37
  194. package/dist/chunks/{link.Cejg8jB6.js.map → link.CscSbaXa.js.map} +1 -1
  195. package/dist/chunks/list-item.Cngxa9qN.js +166 -0
  196. package/dist/chunks/{list-item.BiJMHR7b.js.map → list-item.Cngxa9qN.js.map} +1 -1
  197. package/dist/chunks/{listbox-option-tag.DnvECZQC.js → listbox-option-tag.BaoiH-Ku.js} +3 -3
  198. package/dist/chunks/{listbox-option-tag.DnvECZQC.js.map → listbox-option-tag.BaoiH-Ku.js.map} +1 -1
  199. package/dist/chunks/{modal-fullscreen.Bn8MzG6Z.js → modal-fullscreen.Cg1Q6ERf.js} +64 -93
  200. package/dist/chunks/{modal-fullscreen.Bn8MzG6Z.js.map → modal-fullscreen.Cg1Q6ERf.js.map} +1 -1
  201. package/dist/chunks/{modal.CClQItuJ.js → modal.u-t1CvBr.js} +81 -105
  202. package/dist/chunks/{modal.CClQItuJ.js.map → modal.u-t1CvBr.js.map} +1 -1
  203. package/dist/chunks/{navigation-menu-group.p1-x06nS.js → navigation-menu-group.gNMP4tW4.js} +80 -129
  204. package/dist/chunks/{navigation-menu-group.p1-x06nS.js.map → navigation-menu-group.gNMP4tW4.js.map} +1 -1
  205. package/dist/chunks/{on-click-outside.Cy1eFULD.js → on-click-outside.BgIzQ2G1.js} +32 -33
  206. package/dist/chunks/{on-click-outside.Cy1eFULD.js.map → on-click-outside.BgIzQ2G1.js.map} +1 -1
  207. package/dist/chunks/{pagination.CZVdaeqE.js → pagination.D81XgMQ7.js} +73 -192
  208. package/dist/chunks/pagination.D81XgMQ7.js.map +1 -0
  209. package/dist/chunks/{payment-method.B3CkgsAY.js → payment-method.Clm5dEYh.js} +2 -2
  210. package/dist/chunks/{payment-method.B3CkgsAY.js.map → payment-method.Clm5dEYh.js.map} +1 -1
  211. package/dist/chunks/popover.types.H5Y0rC1r.js +6 -0
  212. package/dist/chunks/{popover.types.BfnJIpII.js.map → popover.types.H5Y0rC1r.js.map} +1 -1
  213. package/dist/chunks/{popper-container.Cb9wuFId.js → popper-container.D08eTt4B.js} +245 -252
  214. package/dist/chunks/{popper-container.Cb9wuFId.js.map → popper-container.D08eTt4B.js.map} +1 -1
  215. package/dist/chunks/{promo-banner.DZ0gerRx.js → promo-banner.BX47zMKh.js} +17 -39
  216. package/dist/chunks/{promo-banner.DZ0gerRx.js.map → promo-banner.BX47zMKh.js.map} +1 -1
  217. package/dist/chunks/{pt-BR.D9FuAQZm.js → pt-BR.ChPOra5s.js} +14 -14
  218. package/dist/chunks/{pt-BR.D9FuAQZm.js.map → pt-BR.ChPOra5s.js.map} +1 -1
  219. package/dist/chunks/{radio-group.DUW2dya4.js → radio-group.Dtx5hOkQ.js} +23 -23
  220. package/dist/chunks/{radio-group.DUW2dya4.js.map → radio-group.Dtx5hOkQ.js.map} +1 -1
  221. package/dist/chunks/{rich-text-editor.CuCPLzUh.js → rich-text-editor.CmVsFJjh.js} +1364 -1416
  222. package/dist/chunks/{rich-text-editor.CuCPLzUh.js.map → rich-text-editor.CmVsFJjh.js.map} +1 -1
  223. package/dist/chunks/scroll-to-section.DhW8SFy0.js +101 -0
  224. package/dist/chunks/scroll-to-section.DhW8SFy0.js.map +1 -0
  225. package/dist/chunks/{search-bar.8iDkgmjw.js → search-bar.CRfYCmkl.js} +15 -48
  226. package/dist/chunks/{search-bar.8iDkgmjw.js.map → search-bar.CRfYCmkl.js.map} +1 -1
  227. package/dist/chunks/secondary-nav.B1Tj7MAA.js +192 -0
  228. package/dist/chunks/{secondary-nav.CmvSHxvS.js.map → secondary-nav.B1Tj7MAA.js.map} +1 -1
  229. package/dist/chunks/{segmented-control.Bkp2Y95s.js → segmented-control.CBc-wx0m.js} +44 -48
  230. package/dist/chunks/{segmented-control.Bkp2Y95s.js.map → segmented-control.CBc-wx0m.js.map} +1 -1
  231. package/dist/chunks/{selection-card-group.EGigQJOW.js → selection-card-group.BaK3Rt4K.js} +91 -96
  232. package/dist/chunks/{selection-card-group.EGigQJOW.js.map → selection-card-group.BaK3Rt4K.js.map} +1 -1
  233. package/dist/chunks/set-time-in-date.BVfkl8K8.js +27 -0
  234. package/dist/chunks/{set-time-in-date.CU7HeZLY.js.map → set-time-in-date.BVfkl8K8.js.map} +1 -1
  235. package/dist/chunks/{sidepanel.yB7YuzVt.js → sidepanel.DeIREn9l.js} +55 -78
  236. package/dist/chunks/{sidepanel.yB7YuzVt.js.map → sidepanel.DeIREn9l.js.map} +1 -1
  237. package/dist/chunks/startOfWeek.muMEhS7U.js +9 -0
  238. package/dist/chunks/{startOfWeek.Br5KM4z_.js.map → startOfWeek.muMEhS7U.js.map} +1 -1
  239. package/dist/chunks/{status.CKb07vxI.js → status.DJ1Dfh5s.js} +2 -2
  240. package/dist/chunks/{status.CKb07vxI.js.map → status.DJ1Dfh5s.js.map} +1 -1
  241. package/dist/chunks/step.DfI11Din.js +221 -0
  242. package/dist/chunks/{step.CIfxl8Wm.js.map → step.DfI11Din.js.map} +1 -1
  243. package/dist/chunks/{structured-list-item.Cnv4Pw5n.js → structured-list-item._7YG2L3a.js} +18 -40
  244. package/dist/chunks/{structured-list-item.Cnv4Pw5n.js.map → structured-list-item._7YG2L3a.js.map} +1 -1
  245. package/dist/chunks/{summary-grid.types.BcIlkfVO.js → summary-grid.types.B_gUEQ0c.js} +45 -50
  246. package/dist/chunks/{summary-grid.types.BcIlkfVO.js.map → summary-grid.types.B_gUEQ0c.js.map} +1 -1
  247. package/dist/chunks/tab.DFk4K9cq.js +229 -0
  248. package/dist/chunks/{tab.N0xGWsfO.js.map → tab.DFk4K9cq.js.map} +1 -1
  249. package/dist/chunks/table-of-contents.CoEnQ9g7.js +104 -0
  250. package/dist/chunks/{table-of-contents.Cf-IrdZl.js.map → table-of-contents.CoEnQ9g7.js.map} +1 -1
  251. package/dist/chunks/{tag.BAyLm485.js → tag.BC7FFENr.js} +4 -4
  252. package/dist/chunks/{tag.BAyLm485.js.map → tag.BC7FFENr.js.map} +1 -1
  253. package/dist/chunks/textarea.Z-VYFZVq.js +176 -0
  254. package/dist/chunks/{textarea.BDRR1zE0.js.map → textarea.Z-VYFZVq.js.map} +1 -1
  255. package/dist/chunks/{timeline-item.QEEIwYMy.js → timeline-item.BGHi_lOY.js} +114 -193
  256. package/dist/chunks/{timeline-item.QEEIwYMy.js.map → timeline-item.BGHi_lOY.js.map} +1 -1
  257. package/dist/chunks/{toast.XPG0vaQB.js → toast.D-jat1Xw.js} +64 -86
  258. package/dist/chunks/{toast.XPG0vaQB.js.map → toast.D-jat1Xw.js.map} +1 -1
  259. package/dist/chunks/{toggle.Ca-MM3dt.js → toggle.BqHWIhqD.js} +4 -4
  260. package/dist/chunks/{toggle.Ca-MM3dt.js.map → toggle.BqHWIhqD.js.map} +1 -1
  261. package/dist/chunks/{tooltip.7ct8WxCl.js → tooltip.D_XsoD_u.js} +68 -70
  262. package/dist/chunks/{tooltip.7ct8WxCl.js.map → tooltip.D_XsoD_u.js.map} +1 -1
  263. package/dist/chunks/truncate.DmCXQmeb.js +8 -0
  264. package/dist/chunks/{truncate.BfIl_-71.js.map → truncate.DmCXQmeb.js.map} +1 -1
  265. package/dist/chunks/{tutorial.bROv3HSx.js → tutorial.BtxKW4ac.js} +80 -173
  266. package/dist/chunks/{tutorial.bROv3HSx.js.map → tutorial.BtxKW4ac.js.map} +1 -1
  267. package/dist/chunks/typography.D1OZJbEa.js +90 -0
  268. package/dist/chunks/typography.D1OZJbEa.js.map +1 -0
  269. package/dist/chunks/{use-bento-delayed-hover.Bz_8EabW.js → use-bento-delayed-hover.D6QjSugc.js} +2 -2
  270. package/dist/chunks/{use-bento-delayed-hover.Bz_8EabW.js.map → use-bento-delayed-hover.D6QjSugc.js.map} +1 -1
  271. package/dist/chunks/{use-bento-toast-controller.CB6Qbf3R.js → use-bento-toast-controller.A5xraVqa.js} +14 -15
  272. package/dist/chunks/{use-bento-toast-controller.CB6Qbf3R.js.map → use-bento-toast-controller.A5xraVqa.js.map} +1 -1
  273. package/dist/chunks/use-country-items.B1KhLbqM.js +30 -0
  274. package/dist/chunks/{use-country-items.CmCRY7QX.js.map → use-country-items.B1KhLbqM.js.map} +1 -1
  275. package/dist/chunks/use-country-phon-code.Cv5YgCOo.js +291 -0
  276. package/dist/chunks/use-country-phon-code.Cv5YgCOo.js.map +1 -0
  277. package/dist/chunks/use-date-input-formatter.DXwvH7B0.js +1629 -0
  278. package/dist/chunks/{use-date-input-formatter.DfQk8_Dw.js.map → use-date-input-formatter.DXwvH7B0.js.map} +1 -1
  279. package/dist/chunks/use-expandable-content-height.Bdd9hQwq.js +34 -0
  280. package/dist/chunks/{use-expandable-content-height.2WJLCL-R.js.map → use-expandable-content-height.Bdd9hQwq.js.map} +1 -1
  281. package/dist/chunks/utils.DWmc2mUI.js +19 -0
  282. package/dist/chunks/{utils.BzUwtTXc.js.map → utils.DWmc2mUI.js.map} +1 -1
  283. package/dist/chunks/{zh-CN.Be4pa3-g.js → zh-CN.ZG6obniO.js} +28 -28
  284. package/dist/chunks/{zh-CN.Be4pa3-g.js.map → zh-CN.ZG6obniO.js.map} +1 -1
  285. package/dist/click-outside.js +1 -1
  286. package/dist/code-snippet.js +1 -1
  287. package/dist/country.js +3 -3
  288. package/dist/currency.js +1 -1
  289. package/dist/dashboard-template.js +1 -1
  290. package/dist/dashed-underline.js +1 -1
  291. package/dist/data-grid-template.js +1 -1
  292. package/dist/data-grid.js +1 -1
  293. package/dist/date-picker.js +2 -2
  294. package/dist/date-range-picker.js +2 -2
  295. package/dist/date-time-picker.js +1 -1
  296. package/dist/date.js +1 -1
  297. package/dist/draggable.js +2 -2
  298. package/dist/drawer.js +1 -1
  299. package/dist/dropdown.js +2 -2
  300. package/dist/empty-state.js +1 -1
  301. package/dist/file-uploader.js +1 -1
  302. package/dist/filter-bar.js +1 -1
  303. package/dist/focus-trap.js +1 -1
  304. package/dist/form-layout.js +2 -2
  305. package/dist/header-with-views.js +1 -1
  306. package/dist/header.js +1 -1
  307. package/dist/index.js +144 -149
  308. package/dist/index.js.map +1 -1
  309. package/dist/info-icon.js +1 -1
  310. package/dist/input-field-password.js +1 -1
  311. package/dist/input-field-phone-number.js +1 -1
  312. package/dist/input-field.js +1 -1
  313. package/dist/input-time.js +1 -1
  314. package/dist/inspector.js +2 -2
  315. package/dist/internal.js +14 -14
  316. package/dist/layout.js +1 -1
  317. package/dist/link.js +1 -1
  318. package/dist/list.js +1 -1
  319. package/dist/menu.js +1 -1
  320. package/dist/modal-fullscreen.js +1 -1
  321. package/dist/modal.js +2 -2
  322. package/dist/navigation-menu.js +1 -1
  323. package/dist/pagination.js +1 -1
  324. package/dist/payment-method.js +1 -1
  325. package/dist/popover.js +2 -2
  326. package/dist/popper-container.js +1 -1
  327. package/dist/promo-banner.js +1 -1
  328. package/dist/radio-group.js +1 -1
  329. package/dist/rich-text-editor.js +1 -1
  330. package/dist/search-bar.js +2 -2
  331. package/dist/secondary-nav.js +1 -1
  332. package/dist/segmented-control.js +1 -1
  333. package/dist/selection-card.js +1 -1
  334. package/dist/sidepanel.js +1 -1
  335. package/dist/status.js +1 -1
  336. package/dist/stepper.js +1 -1
  337. package/dist/structured-list.js +1 -1
  338. package/dist/summary-grid.js +1 -1
  339. package/dist/table-of-contents.js +1 -1
  340. package/dist/tabs.js +1 -1
  341. package/dist/tag.js +1 -1
  342. package/dist/textarea.js +1 -1
  343. package/dist/timeline.js +1 -1
  344. package/dist/toast.js +1 -1
  345. package/dist/toggle.js +1 -1
  346. package/dist/tutorial.js +1 -1
  347. package/dist/typography.js +1 -1
  348. package/dist/use-form-v4.js +331 -341
  349. package/dist/use-form-v4.js.map +1 -1
  350. package/dist/web-types.json +32 -2
  351. package/package.json +11 -11
  352. package/dist/chunks/anchor-scroller.DgC74yeM.js +0 -141
  353. package/dist/chunks/anchor-scroller.DgC74yeM.js.map +0 -1
  354. package/dist/chunks/button-actions-with-menu.DNYoFmV4.js +0 -85
  355. package/dist/chunks/calendar.CvHJ3Geq.js +0 -1247
  356. package/dist/chunks/click-outside.BG01Sm0A.js +0 -23
  357. package/dist/chunks/constructNow.CK0ryPil.js +0 -8
  358. package/dist/chunks/country.types.8GCHsdGN.js +0 -2789
  359. package/dist/chunks/country.types.8GCHsdGN.js.map +0 -1
  360. package/dist/chunks/currency.Dvy9Qjjf.js +0 -126
  361. package/dist/chunks/dashboard-section.D2yqhERq.js +0 -102
  362. package/dist/chunks/data-grid-template.Ifn423Ot.js +0 -111
  363. package/dist/chunks/data-grid.BDXQ_kKQ.js +0 -4121
  364. package/dist/chunks/date-picker.CXZfCxwP.js +0 -252
  365. package/dist/chunks/date-range-picker.BzVQsYk4.js +0 -1295
  366. package/dist/chunks/date-time-picker.DaLATfJp.js +0 -202
  367. package/dist/chunks/differenceInMonths.CpwVtHZX.js +0 -44
  368. package/dist/chunks/draggable.rTa1jcHI.js +0 -196
  369. package/dist/chunks/empty-state.DSVU1vU8.js +0 -106
  370. package/dist/chunks/empty-state.DSVU1vU8.js.map +0 -1
  371. package/dist/chunks/filter-bar.qlViDZPY.js +0 -3754
  372. package/dist/chunks/fixed-scroller.04EUUgD_.js +0 -152
  373. package/dist/chunks/get-slot-text.Bjb9dTSV.js +0 -12
  374. package/dist/chunks/header-meta.CCQVPDU8.js +0 -250
  375. package/dist/chunks/index.B6WW_F-J.js.map +0 -1
  376. package/dist/chunks/input-field-password.Bri9q5EV.js +0 -395
  377. package/dist/chunks/input-field-password.Bri9q5EV.js.map +0 -1
  378. package/dist/chunks/isSameWeek.TrpUOIn5.js +0 -14
  379. package/dist/chunks/list-item.BiJMHR7b.js +0 -226
  380. package/dist/chunks/pagination.CZVdaeqE.js.map +0 -1
  381. package/dist/chunks/popover.types.BfnJIpII.js +0 -6
  382. package/dist/chunks/scroll-to-section.CC5g-HBX.js +0 -111
  383. package/dist/chunks/scroll-to-section.CC5g-HBX.js.map +0 -1
  384. package/dist/chunks/secondary-nav.CmvSHxvS.js +0 -266
  385. package/dist/chunks/set-time-in-date.CU7HeZLY.js +0 -27
  386. package/dist/chunks/startOfWeek.Br5KM4z_.js +0 -10
  387. package/dist/chunks/step.CIfxl8Wm.js +0 -253
  388. package/dist/chunks/tab.N0xGWsfO.js +0 -259
  389. package/dist/chunks/table-of-contents.Cf-IrdZl.js +0 -129
  390. package/dist/chunks/textarea.BDRR1zE0.js +0 -224
  391. package/dist/chunks/truncate.BfIl_-71.js +0 -8
  392. package/dist/chunks/typography.C8lPlsbD.js +0 -87
  393. package/dist/chunks/typography.C8lPlsbD.js.map +0 -1
  394. package/dist/chunks/use-country-items.CmCRY7QX.js +0 -30
  395. package/dist/chunks/use-country-phon-code.BWkb546s.js +0 -6641
  396. package/dist/chunks/use-country-phon-code.BWkb546s.js.map +0 -1
  397. package/dist/chunks/use-date-input-formatter.DfQk8_Dw.js +0 -1732
  398. package/dist/chunks/use-expandable-content-height.2WJLCL-R.js +0 -35
  399. package/dist/chunks/utils.BzUwtTXc.js +0 -21
@@ -1,73 +1,40 @@
1
- import { defineComponent as G, useSlots as Y, ref as u, computed as l, inject as Q, watch as N, nextTick as X, onUnmounted as Z, useAttrs as V, onMounted as tt, provide as D, toRefs as et } from "vue";
2
- import { B as at } from "./button.CKS_V3p5.js";
3
- import { B as ot } from "./focus-trap.oRKjDFzf.js";
4
- import { u as q } from "./use-has-slot.C9lQZ6nz.js";
5
- import { u as nt } from "./index.B6WW_F-J.js";
6
- import { l as st } from "./button-actions.Dpbx0xf3.js";
7
- import { g as lt } from "./generate-uid.NJ8tVoha.js";
1
+ import { defineComponent as I, useSlots as H, ref as c, computed as l, inject as Q, watch as T, nextTick as X, onUnmounted as Z, useAttrs as V, onMounted as tt, provide as O, toRefs as et } from "vue";
2
+ import { B as at } from "./button.C4kKejsg.js";
3
+ import { B as ot } from "./focus-trap.l-wwtCHi.js";
4
+ import { u as J } from "./use-has-slot.C9lQZ6nz.js";
5
+ import { u as nt } from "./index.CPOlyau9.js";
6
+ import { l as st } from "./button-actions.CxX7lK7z.js";
7
+ import { g as lt } from "./generate-uid.DBWe4g6T.js";
8
8
  import { C as it } from "./cross.CC_B-vG-.js";
9
9
  import { B as rt, D as ct, a as ut } from "./dialog-page.keys.Dym9e6k3.js";
10
- import { B as dt } from "./typography.C8lPlsbD.js";
11
- import { F as mt } from "./footer-actions.DXyJtVip.js";
12
- import { D as pt } from "./dialog-page.B_LwIWgK.js";
10
+ import { B as dt } from "./typography.D1OZJbEa.js";
11
+ import { F as mt } from "./footer-actions.Dn9KYoqB.js";
12
+ import { D as pt } from "./dialog-page.CPorblJc.js";
13
13
  import { o as ft } from "./resize.Bqks3WUm.js";
14
- import { a as gt, G as _t } from "./grid-layout.1aIiz2N_.js";
15
- import { n as W } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
16
- import { B as vt } from "./directive.BBWhsNtO.js";
14
+ import { a as gt, G as _t } from "./grid-layout.BeCrjPgT.js";
15
+ import { n as K } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
16
+ import { B as vt } from "./directive.D1-d-C2K.js";
17
17
  import "../assets/base-modal.css";
18
- var yt = /* @__PURE__ */ ((a) => (a.DEFAULT = "default", a.DIALOG = "dialog", a))(yt || {}), Ct = /* @__PURE__ */ ((a) => (a.DEFAULT = "BentoModalDefault", a.DIALOG = "BentoModalDialog", a))(Ct || {}), F = /* @__PURE__ */ ((a) => (a.SMALL = "small", a.MEDIUM = "medium", a.LARGE = "large", a))(F || {}), E = /* @__PURE__ */ ((a) => (a.SMALLER = "smaller", a.EQUAL = "equal", a.BIGGER = "bigger", a))(E || {}), w = /* @__PURE__ */ ((a) => (a.DIALOG = "dialog", a.ALERT_DIALOG = "alertdialog", a))(w || {}), bt = /* @__PURE__ */ ((a) => (a.CONFIRMATION = "confirmation", a.DESTRUCTIVE = "destructive", a.INFO = "info", a.ACKNOWLEDGEMENT = "acknowledgement", a))(bt || {}), ht = /* @__PURE__ */ ((a) => (a.CLOSE_MODAL = "close-modal", a))(ht || {});
18
+ var yt = /* @__PURE__ */ ((a) => (a.DEFAULT = "default", a.DIALOG = "dialog", a))(yt || {}), Ct = /* @__PURE__ */ ((a) => (a.DEFAULT = "BentoModalDefault", a.DIALOG = "BentoModalDialog", a))(Ct || {}), k = /* @__PURE__ */ ((a) => (a.SMALL = "small", a.MEDIUM = "medium", a.LARGE = "large", a))(k || {}), L = /* @__PURE__ */ ((a) => (a.SMALLER = "smaller", a.EQUAL = "equal", a.BIGGER = "bigger", a))(L || {}), R = /* @__PURE__ */ ((a) => (a.DIALOG = "dialog", a.ALERT_DIALOG = "alertdialog", a))(R || {}), bt = /* @__PURE__ */ ((a) => (a.CONFIRMATION = "confirmation", a.DESTRUCTIVE = "destructive", a.INFO = "info", a.ACKNOWLEDGEMENT = "acknowledgement", a))(bt || {}), ht = /* @__PURE__ */ ((a) => (a.CLOSE_MODAL = "close-modal", a))(ht || {});
19
19
  const Lt = {
20
- "de-DE": {
21
- ariaLabelFallback: "Modal",
22
- close: "Schließen"
23
- },
24
- "en-GB": {
25
- ariaLabelFallback: "modal",
26
- close: "Close"
27
- },
28
- "en-US": {
29
- ariaLabelFallback: "modal",
30
- close: "Close"
31
- },
32
- "es-419": {
33
- ariaLabelFallback: "modal",
34
- close: "Cerrar"
35
- },
36
- "es-ES": {
37
- ariaLabelFallback: "modal",
38
- close: "Cerrar"
39
- },
40
- "es-MX": {
41
- ariaLabelFallback: "modal",
42
- close: "Cerrar"
43
- },
44
- "fr-FR": {
45
- ariaLabelFallback: "fenêtre modale",
46
- close: "Fermer"
47
- },
48
- "it-IT": {
49
- ariaLabelFallback: "modale",
50
- close: "Chiudi"
51
- },
52
- "ja-JP": {
53
- ariaLabelFallback: "モーダル",
54
- close: "閉じる"
55
- },
56
- "pt-BR": {
57
- ariaLabelFallback: "modal",
58
- close: "Fechar"
59
- },
60
- "zh-CN": {
61
- ariaLabelFallback: "模态",
62
- close: "关闭"
63
- }
64
- }, j = /* @__PURE__ */ Symbol("modal config data injection key"), At = G({}), St = /* @__PURE__ */ G({
20
+ "de-DE": { ariaLabelFallback: "Modal", close: "Schließen" },
21
+ "en-GB": { ariaLabelFallback: "modal", close: "Close" },
22
+ "en-US": { ariaLabelFallback: "modal", close: "Close" },
23
+ "es-419": { ariaLabelFallback: "modal", close: "Cerrar" },
24
+ "es-ES": { ariaLabelFallback: "modal", close: "Cerrar" },
25
+ "es-MX": { ariaLabelFallback: "modal", close: "Cerrar" },
26
+ "fr-FR": { ariaLabelFallback: "fenêtre modale", close: "Fermer" },
27
+ "it-IT": { ariaLabelFallback: "modale", close: "Chiudi" },
28
+ "ja-JP": { ariaLabelFallback: "モーダル", close: "閉じる" },
29
+ "pt-BR": { ariaLabelFallback: "modal", close: "Fechar" },
30
+ "zh-CN": { ariaLabelFallback: "模态", close: "关闭" }
31
+ }, Y = /* @__PURE__ */ Symbol("modal config data injection key"), At = I({}), St = /* @__PURE__ */ I({
65
32
  ...At,
66
33
  __name: "modal-page",
67
34
  props: {
68
35
  actions: { default: null },
69
36
  actionsLabel: { default: null },
70
- columnsSize: { default: E.SMALLER },
37
+ columnsSize: { default: L.SMALLER },
71
38
  customPadding: { default: null },
72
39
  destructiveActions: { type: Boolean, default: !1 },
73
40
  withColumnLayout: { type: Boolean, default: !1 },
@@ -75,63 +42,57 @@ const Lt = {
75
42
  previousPage: { default: void 0 }
76
43
  },
77
44
  setup(a) {
78
- const e = a, o = 26, t = Y(), n = q(t), d = u(null), O = l(() => ({
45
+ const e = a, o = 26, t = H(), n = J(t), d = c(null), A = l(() => ({
79
46
  "b-modal-page--custom-padding": e.customPadding
80
- })), k = l(() => {
81
- var c;
82
- return {
83
- "b-modal-page__content--with-header": n("default"),
84
- "b-modal-page__content--with-actions": n("actions") || ((c = e.actions) == null ? void 0 : c.length)
85
- };
86
- }), T = l(() => {
47
+ })), S = l(() => ({
48
+ "b-modal-page__content--with-header": n("default"),
49
+ "b-modal-page__content--with-actions": n("actions") || e.actions?.length
50
+ })), B = l(() => {
87
51
  if (!e.customPadding)
88
52
  return {};
89
- const c = {
53
+ const C = {
90
54
  paddingLeft: e.customPadding,
91
55
  paddingRight: e.customPadding
92
- }, i = { ...c, paddingTop: void 0, paddingBottom: void 0 };
56
+ }, i = { ...C, paddingTop: void 0, paddingBottom: void 0 };
93
57
  return n("default") || (i.paddingTop = e.customPadding), n("actions") || (i.paddingBottom = e.customPadding), {
94
58
  header: {
95
- ...c,
59
+ ...C,
96
60
  paddingTop: e.customPadding,
97
61
  paddingRight: `${parseInt(e.customPadding, 10) + o}px`,
98
62
  flex: 1
99
63
  },
100
64
  content: i,
101
- actions: { ...c, paddingBottom: e.customPadding },
65
+ actions: { ...C, paddingBottom: e.customPadding },
102
66
  backButton: { top: e.customPadding, paddingLeft: e.customPadding }
103
67
  };
104
- }), r = l(() => e.withColumnLayout && L.value === F.LARGE), f = l(() => e.columnsSize === E.SMALLER ? [
68
+ }), r = l(() => e.withColumnLayout && b.value === k.LARGE), m = l(() => e.columnsSize === L.SMALLER ? [
105
69
  { small: 4, medium: 4, large: 4 },
106
70
  { small: 8, medium: 8, large: 8 }
107
- ] : e.columnsSize === E.BIGGER ? [
71
+ ] : e.columnsSize === L.BIGGER ? [
108
72
  { small: 8, medium: 8, large: 8 },
109
73
  { small: 4, medium: 4, large: 4 }
110
74
  ] : [
111
75
  { small: 6, medium: 6, large: 6 },
112
76
  { small: 6, medium: 6, large: 6 }
113
- ]), { activePage: g, height: _, isAnimationActive: m, pageCustomPadding: I, showCloseButton: R, size: L } = Q(j), b = l(() => g.value === e.pageId || !g.value);
114
- let p = null;
115
- return N(
116
- () => g.value,
117
- async (c, i) => {
118
- var h, B;
119
- b.value && (await X(), _.value = `${(B = (h = d.value) == null ? void 0 : h.$el) == null ? void 0 : B.clientHeight}px`, I.value = e.customPadding, m.value = i !== void 0, p = ft(d.value, () => {
120
- var v, S;
121
- const A = `${(S = (v = d.value) == null ? void 0 : v.$el) == null ? void 0 : S.clientHeight}px`;
122
- A && A !== _.value && (_.value = A);
77
+ ]), { activePage: p, height: f, isAnimationActive: u, pageCustomPadding: P, showCloseButton: D, size: b } = Q(Y), v = l(() => p.value === e.pageId || !p.value);
78
+ let y = null;
79
+ return T(
80
+ () => p.value,
81
+ async (C, i) => {
82
+ v.value && (await X(), f.value = `${d.value?.$el?.clientHeight}px`, P.value = e.customPadding, u.value = i !== void 0, y = ft(d.value, () => {
83
+ const g = `${d.value?.$el?.clientHeight}px`;
84
+ g && g !== f.value && (f.value = g);
123
85
  }));
124
86
  },
125
87
  { immediate: !0 }
126
88
  ), Z(() => {
127
- p == null || p.disconnect();
128
- }), { __sfc: !0, CLOSE_BUTTON_ICON_WIDTH: o, slots: t, hasSlot: n, page: d, props: e, modalPageConditionalClasses: O, modalContentConditionalClasses: k, customPaddingStyles: T, hasColumnLayout: r, computedColumnWidth: f, activePage: g, height: _, isAnimationActive: m, pageCustomPadding: I, showCloseButton: R, size: L, isCurrentPage: b, pageElementObserver: p, BentoTypography: dt, GridLayout: _t, GridLayoutContainerType: gt, FooterActions: mt, DialogPage: pt };
89
+ y?.disconnect();
90
+ }), { __sfc: !0, CLOSE_BUTTON_ICON_WIDTH: o, slots: t, hasSlot: n, page: d, props: e, modalPageConditionalClasses: A, modalContentConditionalClasses: S, customPaddingStyles: B, hasColumnLayout: r, computedColumnWidth: m, activePage: p, height: f, isAnimationActive: u, pageCustomPadding: P, showCloseButton: D, size: b, isCurrentPage: v, pageElementObserver: y, BentoTypography: dt, GridLayout: _t, GridLayoutContainerType: gt, FooterActions: mt, DialogPage: pt };
129
91
  }
130
92
  });
131
93
  var Pt = function() {
132
- var n;
133
94
  var e = this, o = e._self._c, t = e._self._setupProxy;
134
- return o(t.DialogPage, { ref: "page", staticClass: "b-modal-page", class: t.modalPageConditionalClasses, attrs: { "page-id": e.pageId, "always-show-border": t.hasColumnLayout, "back-button-styling": (n = t.customPaddingStyles) == null ? void 0 : n.backButton, "previous-page": e.previousPage }, on: { animationend: function(d) {
95
+ return o(t.DialogPage, { ref: "page", staticClass: "b-modal-page", class: t.modalPageConditionalClasses, attrs: { "page-id": e.pageId, "always-show-border": t.hasColumnLayout, "back-button-styling": t.customPaddingStyles?.backButton, "previous-page": e.previousPage }, on: { animationend: function(n) {
135
96
  t.isAnimationActive = !1;
136
97
  } }, scopedSlots: e._u([t.hasSlot("default") || t.showCloseButton ? { key: "header", fn: function() {
137
98
  return [o("div", { staticClass: "b-modal-page__header-container", style: t.customPaddingStyles.header }, [o("div", { staticClass: "b-modal-page__header" }, [o(t.BentoTypography, { staticClass: "b-modal-page__title", attrs: { el: "span", variant: "title", stronger: "" } }, [t.hasSlot("default") ? e._t("default") : e._e()], 2)], 1)])];
@@ -146,7 +107,7 @@ var Pt = function() {
146
107
  }, proxy: !0 } : e.actions && e.actions.length > 0 ? { key: "footer", fn: function() {
147
108
  return [o("div", { staticClass: "b-modal-page__actions-container", style: t.customPaddingStyles.actions }, [o(t.FooterActions, { attrs: { actions: e.actions, "actions-label": e.actionsLabel, "destructive-actions": e.destructiveActions } })], 1)];
148
109
  }, proxy: !0 } : null], null, !0) });
149
- }, Et = [], Ot = /* @__PURE__ */ W(
110
+ }, Et = [], Ot = /* @__PURE__ */ K(
150
111
  St,
151
112
  Pt,
152
113
  Et,
@@ -154,10 +115,10 @@ var Pt = function() {
154
115
  null,
155
116
  "a4b63aa0"
156
117
  );
157
- const kt = Ot.exports, It = G({
118
+ const kt = Ot.exports, It = I({
158
119
  i18n: { messages: Lt },
159
120
  name: "base-modal"
160
- }), Bt = /* @__PURE__ */ G({
121
+ }), Bt = /* @__PURE__ */ I({
161
122
  ...It,
162
123
  props: {
163
124
  /**
@@ -205,7 +166,7 @@ const kt = Ot.exports, It = G({
205
166
  */
206
167
  columnsSize: {
207
168
  type: String,
208
- default: E.SMALLER
169
+ default: L.SMALLER
209
170
  },
210
171
  /**
211
172
  * If provided, manages the padding of the whole modal container
@@ -234,13 +195,13 @@ const kt = Ot.exports, It = G({
234
195
  /**
235
196
  * Defines whether the modal will be an alert modal
236
197
  */
237
- modalRole: { type: String, default: w.DIALOG },
198
+ modalRole: { type: String, default: R.DIALOG },
238
199
  /**
239
200
  * Sets the width of the modal
240
201
  */
241
202
  size: {
242
203
  type: String,
243
- default: F.SMALL
204
+ default: k.SMALL
244
205
  },
245
206
  /**
246
207
  * If provided, renders the modal's content in a two-column layout an wth dividers separating its content
@@ -249,62 +210,60 @@ const kt = Ot.exports, It = G({
249
210
  },
250
211
  emits: ["update:active-page", "close-modal"],
251
212
  setup(a, { expose: e, emit: o }) {
252
- const t = a, n = 500, { t: d } = nt(), O = Y(), k = V(), T = q(O), r = u(null), f = u(!1), g = lt("modal"), _ = l(() => t.isDismissible && !t.hideCloseButton), m = u(t.customPadding), I = l(() => m.value ? { top: m.value, right: m.value } : {}), R = l(() => k["aria-label"] ?? d("ariaLabelFallback")), L = l(() => t.withColumnLayout && t.size === F.LARGE), b = () => {
213
+ const t = a, n = 500, { t: d } = nt(), A = H(), S = V(), B = J(A), r = c(null), m = c(!1), p = lt("modal"), f = l(() => t.isDismissible && !t.hideCloseButton), u = c(t.customPadding), P = l(() => u.value ? { top: u.value, right: u.value } : {}), D = l(() => S["aria-label"] ?? d("ariaLabelFallback")), b = l(() => t.withColumnLayout && t.size === k.LARGE), v = () => {
253
214
  r.value.showModal();
254
- }, p = () => {
215
+ }, y = () => {
255
216
  o("close-modal");
256
- }, c = () => {
257
- f.value && r.value && (r.value.close(), y.value[0] && o("update:active-page", y.value[0]), y.value = [], f.value = !1, p());
217
+ }, C = () => {
218
+ m.value && r.value && (r.value.close(), _.value[0] && o("update:active-page", _.value[0]), _.value = [], m.value = !1, y());
258
219
  }, i = () => {
259
- r.value.open && (f.value = !0);
260
- }, h = (s) => {
261
- s && s.preventDefault(), !(!t.isDismissible && t.modalRole === w.DIALOG) && i();
262
- }, B = () => {
263
- t.isDismissible && h();
264
- }, A = l(() => ({
220
+ r.value.open && (m.value = !0);
221
+ }, g = (s) => {
222
+ s && s.preventDefault(), !(!t.isDismissible && t.modalRole === R.DIALOG) && i();
223
+ }, q = () => {
224
+ t.isDismissible && g();
225
+ }, W = l(() => ({
265
226
  [`b-modal-base__container--${t.size}`]: t.size,
266
- "b-modal-base__container--hide": f.value,
267
- "b-modal-base__container--column-layout": L.value,
268
- "b-modal-base__container--animation": M.value
227
+ "b-modal-base__container--hide": m.value,
228
+ "b-modal-base__container--column-layout": b.value,
229
+ "b-modal-base__container--animation": F.value
269
230
  }));
270
- N(
231
+ T(
271
232
  () => [t.isOpen, r.value],
272
- ([s, C], [, x]) => {
273
- if (!C)
233
+ ([s, G], [, j]) => {
234
+ if (!G)
274
235
  return;
275
- s ? (b(), y.value.length || y.value.push(v.value)) : !x || i();
236
+ s ? (v(), _.value.length || _.value.push(E.value)) : !j || i();
276
237
  }
277
- ), N(
238
+ ), T(
278
239
  () => t.actions,
279
240
  () => {
280
- var s, C;
281
- ((C = (s = t.actions) == null ? void 0 : s[0]) == null ? void 0 : C.state) === "success" && setTimeout(i, n);
241
+ t.actions?.[0]?.state === "success" && setTimeout(i, n);
282
242
  },
283
243
  { deep: !0 }
284
244
  ), tt(() => {
285
- t.isOpen && r.value && b();
245
+ t.isOpen && r.value && v();
286
246
  }), e({
287
- internalModalActionClose: h
288
- }), D(st, g);
289
- const { activePage: v, isOpen: S, size: z } = et(t), U = u(rt.TRANSITION_LEVEL_DEEPER), P = u([]), y = u([]), $ = (s) => o("update:active-page", s), H = (s) => () => {
290
- var C;
291
- P.value = (C = P.value) == null ? void 0 : C.filter((x) => x !== s);
292
- }, J = (s) => (s && P.value.push(s), { unregisterPage: H(s) }), K = u(""), M = u(!1);
293
- return D(j, {
294
- activePage: v,
295
- height: K,
296
- isAnimationActive: M,
297
- pageCustomPadding: m,
298
- showCloseButton: _,
299
- size: z
300
- }), D(ct, {
301
- activePage: v,
302
- animation: U,
303
- isOpen: S,
304
- pages: P,
305
- previousPages: y,
306
- updatePage: $
307
- }), D(ut, J), { __sfc: !0, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME: n, t: d, slots: O, attrs: k, hasSlot: T, modal: r, isClosing: f, modalId: g, emit: o, props: t, showCloseButton: _, pageCustomPadding: m, customPaddingStyles: I, computedAriaLabel: R, hasColumnLayout: L, openModal: b, emitCloseEvent: p, closeModalAfterAnimation: c, startCloseModalAnimation: i, internalModalActionClose: h, closeModalOnClickOutside: B, modalConditionalClasses: A, activePage: v, isOpen: S, size: z, animation: U, pages: P, previousPages: y, updatePage: $, unregisterPage: H, registerPage: J, height: K, isAnimationActive: M, BentoButton: at, BentoFocusTrap: ot, vBentoClickOutsideDirective: vt, BentoModalPage: kt, CrossIcon: it };
247
+ internalModalActionClose: g
248
+ }), O(st, p);
249
+ const { activePage: E, isOpen: M, size: x } = et(t), N = c(rt.TRANSITION_LEVEL_DEEPER), h = c([]), _ = c([]), w = (s) => o("update:active-page", s), z = (s) => () => {
250
+ h.value = h.value?.filter((G) => G !== s);
251
+ }, U = (s) => (s && h.value.push(s), { unregisterPage: z(s) }), $ = c(""), F = c(!1);
252
+ return O(Y, {
253
+ activePage: E,
254
+ height: $,
255
+ isAnimationActive: F,
256
+ pageCustomPadding: u,
257
+ showCloseButton: f,
258
+ size: x
259
+ }), O(ct, {
260
+ activePage: E,
261
+ animation: N,
262
+ isOpen: M,
263
+ pages: h,
264
+ previousPages: _,
265
+ updatePage: w
266
+ }), O(ut, U), { __sfc: !0, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME: n, t: d, slots: A, attrs: S, hasSlot: B, modal: r, isClosing: m, modalId: p, emit: o, props: t, showCloseButton: f, pageCustomPadding: u, customPaddingStyles: P, computedAriaLabel: D, hasColumnLayout: b, openModal: v, emitCloseEvent: y, closeModalAfterAnimation: C, startCloseModalAnimation: i, internalModalActionClose: g, closeModalOnClickOutside: q, modalConditionalClasses: W, activePage: E, isOpen: M, size: x, animation: N, pages: h, previousPages: _, updatePage: w, unregisterPage: z, registerPage: U, height: $, isAnimationActive: F, BentoButton: at, BentoFocusTrap: ot, vBentoClickOutsideDirective: vt, BentoModalPage: kt, CrossIcon: it };
308
267
  }
309
268
  });
310
269
  var Dt = function() {
@@ -322,7 +281,7 @@ var Dt = function() {
322
281
  }, proxy: !0 } : null, t.hasSlot("actions") ? { key: "actions", fn: function() {
323
282
  return [e._t("actions")];
324
283
  }, proxy: !0 } : null], null, !0) })], 2) : e._e()], 1)]);
325
- }, Ft = [], Gt = /* @__PURE__ */ W(
284
+ }, Ft = [], Gt = /* @__PURE__ */ K(
326
285
  Bt,
327
286
  Dt,
328
287
  Ft,
@@ -332,14 +291,14 @@ var Dt = function() {
332
291
  );
333
292
  const Xt = Gt.exports;
334
293
  export {
335
- E as B,
294
+ L as B,
336
295
  bt as a,
337
296
  ht as b,
338
297
  kt as c,
339
- w as d,
340
- F as e,
298
+ R as d,
299
+ k as e,
341
300
  yt as f,
342
301
  Ct as g,
343
302
  Xt as h
344
303
  };
345
- //# sourceMappingURL=base-modal.BagJ8weI.js.map
304
+ //# sourceMappingURL=base-modal.DlD_Lj4Y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-modal.BagJ8weI.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 { type ComputedRef, type Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated Since v2.0.0. Use 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 Since v2.0.0. Use 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 type 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 type PropType,\n provide,\n ref,\n toRefs,\n useAttrs,\n useSlots,\n watch,\n } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n type BentoModalConfigData,\n BentoModalRole,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoButton, type 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/components/modal-page';\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 type BentoDialogPageConfigData,\n type 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 && modal.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<Array<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":"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"}
1
+ {"version":3,"file":"base-modal.DlD_Lj4Y.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 { type ComputedRef, type Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated Since v2.0.0. Use 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 Since v2.0.0. Use 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 type 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 type PropType,\n provide,\n ref,\n toRefs,\n useAttrs,\n useSlots,\n watch,\n } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n type BentoModalConfigData,\n BentoModalRole,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoButton, type 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/components/modal-page';\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 type BentoDialogPageConfigData,\n type 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 && modal.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<Array<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","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","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":"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"}
@@ -0,0 +1,77 @@
1
+ import { ref as _, watch as m, nextTick as v, defineComponent as h, toRef as b, computed as f, provide as A } from "vue";
2
+ import { M as w, d as y, f as B, B as C } from "./button-actions.CxX7lK7z.js";
3
+ import { b as M } from "./index.CL3TXc0a.js";
4
+ import { n as T } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
5
+ import "../assets/button-actions-with-menu.css";
6
+ const N = (p) => {
7
+ const { breakpoint: t, container: e, defaultActionsCount: n, offset: u } = p, { width: l } = M(), o = _(n.value), r = 150, i = async () => {
8
+ await v();
9
+ const s = e.value.clientWidth, c = r * o.value + (u?.value?.offsetWidth ?? 0) + r;
10
+ s >= c && o.value < n.value && (o.value += 1, await i());
11
+ }, d = async () => {
12
+ await v();
13
+ const s = e.value.clientWidth, c = r * o.value + (u?.value?.offsetWidth ?? 0);
14
+ s < c && o.value > 0 && (o.value -= 1, await d());
15
+ };
16
+ return m([l, e], async ([s, c], [a]) => {
17
+ if (!c || !n || s > t)
18
+ return;
19
+ await v(), s > a ? await i() : await d();
20
+ }), m(n, async (s) => {
21
+ o.value = s, t && l.value <= t && e.value && await d();
22
+ }), {
23
+ displayedActionsCount: o
24
+ };
25
+ }, W = {}, E = /* @__PURE__ */ h({
26
+ ...W,
27
+ __name: "button-actions-with-menu",
28
+ props: {
29
+ actions: null,
30
+ actionsLayout: { default: "buttons-end" },
31
+ disableResponsiveBehavior: { type: Boolean, default: !1 },
32
+ displayedActions: { default: void 0 },
33
+ inverse: { type: Boolean, default: !1 },
34
+ hideDisplayedActionsBreakpoint: { default: 0 },
35
+ menuPosition: { default: "bottom-start" }
36
+ },
37
+ setup(p) {
38
+ const t = p, e = b(t, "inverse"), n = _(null), u = _(null), l = _(!1), o = f(() => {
39
+ const c = t.hideDisplayedActionsBreakpoint ? i.value : t.displayedActions;
40
+ return t.actions.slice(0, c);
41
+ }), r = f(() => u?.value?.$el), { displayedActionsCount: i } = N({
42
+ breakpoint: t.hideDisplayedActionsBreakpoint,
43
+ container: n,
44
+ defaultActionsCount: b(t, "displayedActions"),
45
+ offset: r
46
+ });
47
+ A(w, e), t.disableResponsiveBehavior || A(y, { buttonActionsWithMenu: n, menu: u, stackButtons: l });
48
+ const d = f(() => ({
49
+ "b-button-actions-with-menu__container-wrapper--buttons-end": t.actionsLayout === "buttons-end",
50
+ "b-button-actions-with-menu__container-wrapper--buttons-start": t.actionsLayout === "buttons-start",
51
+ "b-button-actions-with-menu__container-wrapper--stacked-buttons": l.value
52
+ })), s = f(() => i.value === void 0 || i.value >= t.actions.length ? [] : t.actions.slice(i.value, t.actions.length).flatMap((a) => a.data ? a.data : {
53
+ text: a.title,
54
+ handler: () => a.event?.({}),
55
+ icon: a.icon,
56
+ critical: a.critical,
57
+ disabled: a.disabled
58
+ }));
59
+ return { __sfc: !0, props: t, inverseRef: e, buttonActionsWithMenu: n, menu: u, stackButtons: l, computedActions: o, computedMenuRef: r, displayedActionsCount: i, conditionalClasses: d, computedMenuActions: s, BentoButtonActions: C, BentoMenu: B };
60
+ }
61
+ });
62
+ var I = function() {
63
+ var t = this, e = t._self._c, n = t._self._setupProxy;
64
+ return e("div", { staticClass: "b-button-actions-with-menu" }, [e("div", { ref: "buttonActionsWithMenu", staticClass: "b-button-actions-with-menu__container-wrapper", class: n.conditionalClasses, attrs: { role: "group" } }, [e(n.BentoButtonActions, { attrs: { actions: n.computedActions, inverse: t.inverse, layout: t.actionsLayout } }), n.computedMenuActions.length ? e(n.BentoMenu, { ref: "menu", attrs: { data: n.computedMenuActions, "menu-position": t.menuPosition } }) : t._e()], 1)]);
65
+ }, R = [], k = /* @__PURE__ */ T(
66
+ E,
67
+ I,
68
+ R,
69
+ !1,
70
+ null,
71
+ "36190b44"
72
+ );
73
+ const S = k.exports;
74
+ export {
75
+ S as B
76
+ };
77
+ //# sourceMappingURL=button-actions-with-menu.CTgggEw2.js.map