@adyen/bento-vue3 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 (288) 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/anchor-scroller.css +1 -1
  10. package/dist/assets/base-modal.css +1 -1
  11. package/dist/assets/button-actions.css +1 -1
  12. package/dist/assets/card.css +1 -1
  13. package/dist/assets/data-grid.css +1 -1
  14. package/dist/assets/dialog-page.css +1 -1
  15. package/dist/assets/empty-state.css +1 -1
  16. package/dist/assets/file-uploader.css +1 -1
  17. package/dist/assets/input-field-password.css +1 -1
  18. package/dist/assets/inspector.css +1 -1
  19. package/dist/assets/modal-fullscreen.css +1 -1
  20. package/dist/assets/navigation-menu-group.css +1 -1
  21. package/dist/assets/pagination.css +1 -1
  22. package/dist/assets/secondary-nav.css +1 -1
  23. package/dist/assets/sidepanel.css +1 -1
  24. package/dist/assets/table-of-contents.css +1 -1
  25. package/dist/assets/typography.css +1 -1
  26. package/dist/avatar.js +1 -1
  27. package/dist/button.js +3 -3
  28. package/dist/card.js +1 -1
  29. package/dist/checkbox.js +2 -2
  30. package/dist/chip.js +1 -1
  31. package/dist/chunks/{accordion-item.ZUOo715q.js → accordion-item.CbW267Sz.js} +2 -2
  32. package/dist/chunks/{accordion-item.ZUOo715q.js.map → accordion-item.CbW267Sz.js.map} +1 -1
  33. package/dist/chunks/{action-bar.BAJhAptg.js → action-bar.DhFGnRkK.js} +6 -6
  34. package/dist/chunks/{action-bar.BAJhAptg.js.map → action-bar.DhFGnRkK.js.map} +1 -1
  35. package/dist/chunks/{ai-button.B6_iVJrF.js → ai-button.CP9pT5uc.js} +3 -3
  36. package/dist/chunks/{ai-button.B6_iVJrF.js.map → ai-button.CP9pT5uc.js.map} +1 -1
  37. package/dist/chunks/{ai-tag.ZKIyJuFt.js → ai-tag.BFr1ZH3L.js} +3 -3
  38. package/dist/chunks/{ai-tag.ZKIyJuFt.js.map → ai-tag.BFr1ZH3L.js.map} +1 -1
  39. package/dist/chunks/{alert.CcCYWeBQ.js → alert.cqiNVGbY.js} +3 -3
  40. package/dist/chunks/{alert.CcCYWeBQ.js.map → alert.cqiNVGbY.js.map} +1 -1
  41. package/dist/chunks/{anchor-scroller.BeWDW53L.js → anchor-scroller.B5f_ePD6.js} +58 -57
  42. package/dist/chunks/anchor-scroller.B5f_ePD6.js.map +1 -0
  43. package/dist/chunks/{avatar.Caeba-pw.js → avatar.mper_rOW.js} +2 -2
  44. package/dist/chunks/{avatar.Caeba-pw.js.map → avatar.mper_rOW.js.map} +1 -1
  45. package/dist/chunks/{base-button.CvHl36Ue.js → base-button.DnMph3KL.js} +2 -2
  46. package/dist/chunks/{base-button.CvHl36Ue.js.map → base-button.DnMph3KL.js.map} +1 -1
  47. package/dist/chunks/{base-modal.CX-hAjsb.js → base-modal.jqTUHeSf.js} +7 -7
  48. package/dist/chunks/{base-modal.CX-hAjsb.js.map → base-modal.jqTUHeSf.js.map} +1 -1
  49. package/dist/chunks/{button-actions-with-menu.6kuQpD9F.js → button-actions-with-menu.CeOQ-ybp.js} +3 -3
  50. package/dist/chunks/{button-actions-with-menu.6kuQpD9F.js.map → button-actions-with-menu.CeOQ-ybp.js.map} +1 -1
  51. package/dist/chunks/{button-actions.Z5UJfq4v.js → button-actions.Crwvb4jD.js} +5 -5
  52. package/dist/chunks/{button-actions.Z5UJfq4v.js.map → button-actions.Crwvb4jD.js.map} +1 -1
  53. package/dist/chunks/{button.C6-bXf1h.js → button.DqN6N1_o.js} +3 -3
  54. package/dist/chunks/{button.C6-bXf1h.js.map → button.DqN6N1_o.js.map} +1 -1
  55. package/dist/chunks/{calendar.CJG-ajTq.js → calendar.D6SJ1AgX.js} +6 -6
  56. package/dist/chunks/{calendar.CJG-ajTq.js.map → calendar.D6SJ1AgX.js.map} +1 -1
  57. package/dist/chunks/{card.ZBx7yWTF.js → card.SuXJb5px.js} +3 -3
  58. package/dist/chunks/{card.ZBx7yWTF.js.map → card.SuXJb5px.js.map} +1 -1
  59. package/dist/chunks/{checkbox-group.BF3HiZK0.js → checkbox-group.DH5YEJFk.js} +5 -5
  60. package/dist/chunks/{checkbox-group.BF3HiZK0.js.map → checkbox-group.DH5YEJFk.js.map} +1 -1
  61. package/dist/chunks/{checkbox.C-Ajksp7.js → checkbox.CQYHeekb.js} +19 -19
  62. package/dist/chunks/{checkbox.C-Ajksp7.js.map → checkbox.CQYHeekb.js.map} +1 -1
  63. package/dist/chunks/{chip.5bRcjwND.js → chip.BJq22P-k.js} +3 -3
  64. package/dist/chunks/{chip.5bRcjwND.js.map → chip.BJq22P-k.js.map} +1 -1
  65. package/dist/chunks/{code-snippet.CanJ0xl8.js → code-snippet.CgMhJQS6.js} +6 -6
  66. package/dist/chunks/{code-snippet.CanJ0xl8.js.map → code-snippet.CgMhJQS6.js.map} +1 -1
  67. package/dist/chunks/{controls-group.BZ2bIoEE.js → controls-group.DR7uvwCO.js} +3 -3
  68. package/dist/chunks/{controls-group.BZ2bIoEE.js.map → controls-group.DR7uvwCO.js.map} +1 -1
  69. package/dist/chunks/{copy.C2ttscl8.js → copy.CtMGg-yB.js} +4 -4
  70. package/dist/chunks/{copy.C2ttscl8.js.map → copy.CtMGg-yB.js.map} +1 -1
  71. package/dist/chunks/{country.D1aj2TAo.js → country.fjs1j7ss.js} +2 -2
  72. package/dist/chunks/{country.D1aj2TAo.js.map → country.fjs1j7ss.js.map} +1 -1
  73. package/dist/chunks/{currency.CcKX0d5O.js → currency.DS4-apvT.js} +2 -2
  74. package/dist/chunks/{currency.CcKX0d5O.js.map → currency.DS4-apvT.js.map} +1 -1
  75. package/dist/chunks/{dashboard-section.DembWFH6.js → dashboard-section.DRabKcnw.js} +4 -4
  76. package/dist/chunks/{dashboard-section.DembWFH6.js.map → dashboard-section.DRabKcnw.js.map} +1 -1
  77. package/dist/chunks/{dashed-underline.BsheeKoz.js → dashed-underline.BTsVIses.js} +5 -5
  78. package/dist/chunks/{dashed-underline.BsheeKoz.js.map → dashed-underline.BTsVIses.js.map} +1 -1
  79. package/dist/chunks/{data-grid-template.DJr651Fu.js → data-grid-template.NHgIRCYb.js} +4 -4
  80. package/dist/chunks/{data-grid-template.DJr651Fu.js.map → data-grid-template.NHgIRCYb.js.map} +1 -1
  81. package/dist/chunks/{data-grid.CgOUUCXJ.js → data-grid.BHf954Qk.js} +23 -23
  82. package/dist/chunks/{data-grid.CgOUUCXJ.js.map → data-grid.BHf954Qk.js.map} +1 -1
  83. package/dist/chunks/{date-picker.CNkn1lJu.js → date-picker.g_gchjND.js} +12 -12
  84. package/dist/chunks/{date-picker.CNkn1lJu.js.map → date-picker.g_gchjND.js.map} +1 -1
  85. package/dist/chunks/{date-range-picker.Duh3LZVQ.js → date-range-picker.Bt-HLw21.js} +43 -43
  86. package/dist/chunks/{date-range-picker.Duh3LZVQ.js.map → date-range-picker.Bt-HLw21.js.map} +1 -1
  87. package/dist/chunks/{date.BFhwd9CA.js → date.ojGAujAt.js} +2 -2
  88. package/dist/chunks/{date.BFhwd9CA.js.map → date.ojGAujAt.js.map} +1 -1
  89. package/dist/chunks/{dialog-page.DfQAcbe1.js → dialog-page.C9LpBaCe.js} +4 -4
  90. package/dist/chunks/{dialog-page.DfQAcbe1.js.map → dialog-page.C9LpBaCe.js.map} +1 -1
  91. package/dist/chunks/{draggable-handle.B9wCGRpt.js → draggable-handle.DmuYrnb7.js} +3 -3
  92. package/dist/chunks/{draggable-handle.B9wCGRpt.js.map → draggable-handle.DmuYrnb7.js.map} +1 -1
  93. package/dist/chunks/{draggable.CHoq7h3v.js → draggable.CYwu4umT.js} +3 -3
  94. package/dist/chunks/{draggable.CHoq7h3v.js.map → draggable.CYwu4umT.js.map} +1 -1
  95. package/dist/chunks/{drawer.BMEgfHUb.js → drawer.f64oxK5m.js} +2 -2
  96. package/dist/chunks/{drawer.BMEgfHUb.js.map → drawer.f64oxK5m.js.map} +1 -1
  97. package/dist/chunks/{dropdown-tag.BYdLQ7Ot.js → dropdown-tag.DZBKgG-u.js} +6 -6
  98. package/dist/chunks/{dropdown-tag.BYdLQ7Ot.js.map → dropdown-tag.DZBKgG-u.js.map} +1 -1
  99. package/dist/chunks/{dropdown.9OCTinMe.js → dropdown.C3pL7_bt.js} +45 -45
  100. package/dist/chunks/{dropdown.9OCTinMe.js.map → dropdown.C3pL7_bt.js.map} +1 -1
  101. package/dist/chunks/empty-state.GiOk5uRM.js +158 -0
  102. package/dist/chunks/empty-state.GiOk5uRM.js.map +1 -0
  103. package/dist/chunks/{error-message.7Uoylhed.js → error-message.ROkM72Gh.js} +2 -2
  104. package/dist/chunks/{error-message.7Uoylhed.js.map → error-message.ROkM72Gh.js.map} +1 -1
  105. package/dist/chunks/{field-label.DaKGqnns.js → field-label.CfTxZmXX.js} +3 -3
  106. package/dist/chunks/{field-label.DaKGqnns.js.map → field-label.CfTxZmXX.js.map} +1 -1
  107. package/dist/chunks/{file-uploader.BZFKyboO.js → file-uploader.BlGRg2eq.js} +8 -8
  108. package/dist/chunks/{file-uploader.BZFKyboO.js.map → file-uploader.BlGRg2eq.js.map} +1 -1
  109. package/dist/chunks/{filter-bar.BzGvD3ov.js → filter-bar.BGphXn-d.js} +23 -23
  110. package/dist/chunks/{filter-bar.BzGvD3ov.js.map → filter-bar.BGphXn-d.js.map} +1 -1
  111. package/dist/chunks/{fixed-scroller.cQ1MF_f3.js → fixed-scroller.Dgx7z81w.js} +2 -2
  112. package/dist/chunks/{fixed-scroller.cQ1MF_f3.js.map → fixed-scroller.Dgx7z81w.js.map} +1 -1
  113. package/dist/chunks/{focus-trap.Dv6HcDX8.js → focus-trap.D8sMvprE.js} +2 -2
  114. package/dist/chunks/{focus-trap.Dv6HcDX8.js.map → focus-trap.D8sMvprE.js.map} +1 -1
  115. package/dist/chunks/{footer-actions.pgbqDlKH.js → footer-actions.Id0FqXsE.js} +4 -4
  116. package/dist/chunks/{footer-actions.pgbqDlKH.js.map → footer-actions.Id0FqXsE.js.map} +1 -1
  117. package/dist/chunks/{form-layout-group.eupY5BRX.js → form-layout-group.DWvmX49g.js} +2 -2
  118. package/dist/chunks/{form-layout-group.eupY5BRX.js.map → form-layout-group.DWvmX49g.js.map} +1 -1
  119. package/dist/chunks/{form-layout-title.DjIq1FTh.js → form-layout-title.Bl4dBemh.js} +3 -3
  120. package/dist/chunks/{form-layout-title.DjIq1FTh.js.map → form-layout-title.Bl4dBemh.js.map} +1 -1
  121. package/dist/chunks/{header-meta.BKDAuOVV.js → header-meta.XxPijWPa.js} +5 -5
  122. package/dist/chunks/{header-meta.BKDAuOVV.js.map → header-meta.XxPijWPa.js.map} +1 -1
  123. package/dist/chunks/{header-with-views.BB7DhmcW.js → header-with-views.BKZiE48l.js} +13 -13
  124. package/dist/chunks/{header-with-views.BB7DhmcW.js.map → header-with-views.BKZiE48l.js.map} +1 -1
  125. package/dist/chunks/{header.BjDptDth.js → header.GpKE22bR.js} +4 -4
  126. package/dist/chunks/{header.BjDptDth.js.map → header.GpKE22bR.js.map} +1 -1
  127. package/dist/chunks/{index.Drk1Cbct.js → index.DkAcVBvr.js} +149 -155
  128. package/dist/chunks/{index.Drk1Cbct.js.map → index.DkAcVBvr.js.map} +1 -1
  129. package/dist/chunks/{info-icon.MIFIbKDd.js → info-icon.BTVOYOrD.js} +3 -3
  130. package/dist/chunks/{info-icon.MIFIbKDd.js.map → info-icon.BTVOYOrD.js.map} +1 -1
  131. package/dist/chunks/{input-field-password.DvJltLuk.js → input-field-password.BHa8j1eF.js} +115 -111
  132. package/dist/chunks/input-field-password.BHa8j1eF.js.map +1 -0
  133. package/dist/chunks/{input-field-phone-number.Cw_A54Bm.js → input-field-phone-number.D-qCLvKZ.js} +3 -3
  134. package/dist/chunks/{input-field-phone-number.Cw_A54Bm.js.map → input-field-phone-number.D-qCLvKZ.js.map} +1 -1
  135. package/dist/chunks/{input-field.CZ9uLYRr.js → input-field.DhNomfjn.js} +5 -5
  136. package/dist/chunks/{input-field.CZ9uLYRr.js.map → input-field.DhNomfjn.js.map} +1 -1
  137. package/dist/chunks/{input-time.CUWdz33T.js → input-time.DhwsWS73.js} +3 -3
  138. package/dist/chunks/{input-time.CUWdz33T.js.map → input-time.DhwsWS73.js.map} +1 -1
  139. package/dist/chunks/{inspector-page.CqnJxWkc.js → inspector-page.DS-TyjhP.js} +4 -4
  140. package/dist/chunks/{inspector-page.CqnJxWkc.js.map → inspector-page.DS-TyjhP.js.map} +1 -1
  141. package/dist/chunks/{inspector.B8wwyQd1.js → inspector.D9f3xIkv.js} +5 -5
  142. package/dist/chunks/{inspector.B8wwyQd1.js.map → inspector.D9f3xIkv.js.map} +1 -1
  143. package/dist/chunks/{layout-row.CgJidXMP.js → layout-row.DetmJ1aX.js} +3 -3
  144. package/dist/chunks/{layout-row.CgJidXMP.js.map → layout-row.DetmJ1aX.js.map} +1 -1
  145. package/dist/chunks/{link.D6D6YGsN.js → link.Crms073M.js} +2 -2
  146. package/dist/chunks/{link.D6D6YGsN.js.map → link.Crms073M.js.map} +1 -1
  147. package/dist/chunks/{list-item.C53zpkL0.js → list-item.DJS7Gq5R.js} +6 -6
  148. package/dist/chunks/{list-item.C53zpkL0.js.map → list-item.DJS7Gq5R.js.map} +1 -1
  149. package/dist/chunks/{listbox-option-tag.C4Pxr1cZ.js → listbox-option-tag.37-DRTzj.js} +3 -3
  150. package/dist/chunks/{listbox-option-tag.C4Pxr1cZ.js.map → listbox-option-tag.37-DRTzj.js.map} +1 -1
  151. package/dist/chunks/{modal-fullscreen.tGQGVIVN.js → modal-fullscreen.CyzUQkFx.js} +7 -7
  152. package/dist/chunks/{modal-fullscreen.tGQGVIVN.js.map → modal-fullscreen.CyzUQkFx.js.map} +1 -1
  153. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.BEY3h2ki.js → modal.vue_vue_type_script_setup_true_lang.Dj2XegxG.js} +6 -6
  154. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.BEY3h2ki.js.map → modal.vue_vue_type_script_setup_true_lang.Dj2XegxG.js.map} +1 -1
  155. package/dist/chunks/{navigation-menu-group.B8OTD-KO.js → navigation-menu-group.BzJUqg9L.js} +6 -6
  156. package/dist/chunks/{navigation-menu-group.B8OTD-KO.js.map → navigation-menu-group.BzJUqg9L.js.map} +1 -1
  157. package/dist/chunks/{pagination.BKXAbfS5.js → pagination.qNxHP9SP.js} +127 -112
  158. package/dist/chunks/pagination.qNxHP9SP.js.map +1 -0
  159. package/dist/chunks/{payment-method.AeKHZlAO.js → payment-method.B9efiDS8.js} +2 -2
  160. package/dist/chunks/{payment-method.AeKHZlAO.js.map → payment-method.B9efiDS8.js.map} +1 -1
  161. package/dist/chunks/popover.types.D2aiV92f.js +6 -0
  162. package/dist/chunks/{popover.types.BygdLPT4.js.map → popover.types.D2aiV92f.js.map} +1 -1
  163. package/dist/chunks/{popper-container.ChRadAy_.js → popper-container.PlwCeBRG.js} +2 -2
  164. package/dist/chunks/{popper-container.ChRadAy_.js.map → popper-container.PlwCeBRG.js.map} +1 -1
  165. package/dist/chunks/{promo-banner.QQa3ajug.js → promo-banner.Pfdk6Kzd.js} +4 -4
  166. package/dist/chunks/{promo-banner.QQa3ajug.js.map → promo-banner.Pfdk6Kzd.js.map} +1 -1
  167. package/dist/chunks/{radio-group.D1f4S9pk.js → radio-group.CFsU0JKp.js} +5 -5
  168. package/dist/chunks/{radio-group.D1f4S9pk.js.map → radio-group.CFsU0JKp.js.map} +1 -1
  169. package/dist/chunks/{rich-text-editor.-sD2vv0j.js → rich-text-editor.D2T8n3P5.js} +8 -8
  170. package/dist/chunks/{rich-text-editor.-sD2vv0j.js.map → rich-text-editor.D2T8n3P5.js.map} +1 -1
  171. package/dist/chunks/{scroll-to-section.BntX_GuR.js → scroll-to-section.BsuItn5y.js} +25 -25
  172. package/dist/chunks/scroll-to-section.BsuItn5y.js.map +1 -0
  173. package/dist/chunks/{search-bar.DOKY8gbV.js → search-bar.DMBhUt-F.js} +3 -3
  174. package/dist/chunks/{search-bar.DOKY8gbV.js.map → search-bar.DMBhUt-F.js.map} +1 -1
  175. package/dist/chunks/{secondary-nav.CdgnNMHJ.js → secondary-nav.Bsfr9381.js} +6 -6
  176. package/dist/chunks/{secondary-nav.CdgnNMHJ.js.map → secondary-nav.Bsfr9381.js.map} +1 -1
  177. package/dist/chunks/{segmented-control.CR__uBNa.js → segmented-control.Dkcuel-B.js} +3 -3
  178. package/dist/chunks/{segmented-control.CR__uBNa.js.map → segmented-control.Dkcuel-B.js.map} +1 -1
  179. package/dist/chunks/{selection-card-group.CBpWnRwv.js → selection-card-group.C_5f6c5g.js} +13 -13
  180. package/dist/chunks/{selection-card-group.CBpWnRwv.js.map → selection-card-group.C_5f6c5g.js.map} +1 -1
  181. package/dist/chunks/{sidepanel.DBu2JD7B.js → sidepanel.B-DgASDI.js} +7 -7
  182. package/dist/chunks/{sidepanel.DBu2JD7B.js.map → sidepanel.B-DgASDI.js.map} +1 -1
  183. package/dist/chunks/{status.H00BAmRx.js → status.Nss4P5OU.js} +2 -2
  184. package/dist/chunks/{status.H00BAmRx.js.map → status.Nss4P5OU.js.map} +1 -1
  185. package/dist/chunks/{step.XxzqdoCA.js → step.BAK826b4.js} +3 -3
  186. package/dist/chunks/{step.XxzqdoCA.js.map → step.BAK826b4.js.map} +1 -1
  187. package/dist/chunks/{structured-list-item.ptq38Gox.js → structured-list-item.EubeWcQq.js} +6 -6
  188. package/dist/chunks/{structured-list-item.ptq38Gox.js.map → structured-list-item.EubeWcQq.js.map} +1 -1
  189. package/dist/chunks/{summary-grid.types.fVXa_r9J.js → summary-grid.types.D_LsxcwU.js} +6 -6
  190. package/dist/chunks/{summary-grid.types.fVXa_r9J.js.map → summary-grid.types.D_LsxcwU.js.map} +1 -1
  191. package/dist/chunks/{tab.BSswsugp.js → tab.DcoHMomD.js} +4 -4
  192. package/dist/chunks/{tab.BSswsugp.js.map → tab.DcoHMomD.js.map} +1 -1
  193. package/dist/chunks/{table-of-contents.X3AAXskU.js → table-of-contents.BfnESVWP.js} +19 -18
  194. package/dist/chunks/{table-of-contents.X3AAXskU.js.map → table-of-contents.BfnESVWP.js.map} +1 -1
  195. package/dist/chunks/{tag.eVRJNY7P.js → tag.njk5qb_-.js} +3 -3
  196. package/dist/chunks/{tag.eVRJNY7P.js.map → tag.njk5qb_-.js.map} +1 -1
  197. package/dist/chunks/{textarea.CgInpYiB.js → textarea.D7yd9eki.js} +5 -5
  198. package/dist/chunks/{textarea.CgInpYiB.js.map → textarea.D7yd9eki.js.map} +1 -1
  199. package/dist/chunks/{timeline-item.DWZggSSK.js → timeline-item.CS7BdcHE.js} +10 -10
  200. package/dist/chunks/{timeline-item.DWZggSSK.js.map → timeline-item.CS7BdcHE.js.map} +1 -1
  201. package/dist/chunks/{toast.Dpt00iLC.js → toast.DHXaiCwc.js} +4 -4
  202. package/dist/chunks/{toast.Dpt00iLC.js.map → toast.DHXaiCwc.js.map} +1 -1
  203. package/dist/chunks/{toggle.BdcgY15I.js → toggle.XtYUtv_k.js} +2 -2
  204. package/dist/chunks/{toggle.BdcgY15I.js.map → toggle.XtYUtv_k.js.map} +1 -1
  205. package/dist/chunks/{tooltip.BepNRsMC.js → tooltip.DIC-rxld.js} +4 -4
  206. package/dist/chunks/{tooltip.BepNRsMC.js.map → tooltip.DIC-rxld.js.map} +1 -1
  207. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.BJtbuykV.js → tutorial.vue_vue_type_script_setup_true_lang.C7kdKVRE.js} +5 -5
  208. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.BJtbuykV.js.map → tutorial.vue_vue_type_script_setup_true_lang.C7kdKVRE.js.map} +1 -1
  209. package/dist/chunks/typography.wIM07Hbl.js +86 -0
  210. package/dist/chunks/typography.wIM07Hbl.js.map +1 -0
  211. package/dist/chunks/{use-bento-delayed-hover.Br051KnY.js → use-bento-delayed-hover.By1eq4f7.js} +2 -2
  212. package/dist/chunks/{use-bento-delayed-hover.Br051KnY.js.map → use-bento-delayed-hover.By1eq4f7.js.map} +1 -1
  213. package/dist/chunks/{use-bento-toast-controller.D_NSnBxi.js → use-bento-toast-controller.BAoPbtq7.js} +2 -2
  214. package/dist/chunks/{use-bento-toast-controller.D_NSnBxi.js.map → use-bento-toast-controller.BAoPbtq7.js.map} +1 -1
  215. package/dist/chunks/{use-date-input-formatter.C-efnnV3.js → use-date-input-formatter.Bu5moyKi.js} +2 -2
  216. package/dist/chunks/{use-date-input-formatter.C-efnnV3.js.map → use-date-input-formatter.Bu5moyKi.js.map} +1 -1
  217. package/dist/code-snippet.js +1 -1
  218. package/dist/country.js +1 -1
  219. package/dist/currency.js +1 -1
  220. package/dist/dashboard-template.js +1 -1
  221. package/dist/dashed-underline.js +1 -1
  222. package/dist/data-grid-template.js +1 -1
  223. package/dist/data-grid.js +1 -1
  224. package/dist/date-picker.js +2 -2
  225. package/dist/date-range-picker.js +2 -2
  226. package/dist/date-time-picker.js +5 -5
  227. package/dist/date.js +1 -1
  228. package/dist/draggable.js +2 -2
  229. package/dist/drawer.js +1 -1
  230. package/dist/dropdown.js +2 -2
  231. package/dist/empty-state.js +1 -1
  232. package/dist/file-uploader.js +1 -1
  233. package/dist/filter-bar.js +1 -1
  234. package/dist/focus-trap.js +1 -1
  235. package/dist/form-layout.js +2 -2
  236. package/dist/header-with-views.js +1 -1
  237. package/dist/header.js +1 -1
  238. package/dist/index.js +78 -78
  239. package/dist/info-icon.js +1 -1
  240. package/dist/input-field-password.js +1 -1
  241. package/dist/input-field-phone-number.js +1 -1
  242. package/dist/input-field.js +1 -1
  243. package/dist/input-time.js +1 -1
  244. package/dist/inspector.js +2 -2
  245. package/dist/internal.js +13 -13
  246. package/dist/layout.js +1 -1
  247. package/dist/link.js +1 -1
  248. package/dist/list.js +1 -1
  249. package/dist/menu.js +1 -1
  250. package/dist/modal-fullscreen.js +1 -1
  251. package/dist/modal.js +2 -2
  252. package/dist/navigation-menu.js +1 -1
  253. package/dist/pagination.js +1 -1
  254. package/dist/payment-method.js +1 -1
  255. package/dist/popover.js +2 -2
  256. package/dist/popper-container.js +1 -1
  257. package/dist/promo-banner.js +1 -1
  258. package/dist/radio-group.js +1 -1
  259. package/dist/rich-text-editor.js +1 -1
  260. package/dist/search-bar.js +2 -2
  261. package/dist/secondary-nav.js +1 -1
  262. package/dist/segmented-control.js +1 -1
  263. package/dist/selection-card.js +1 -1
  264. package/dist/sidepanel.js +1 -1
  265. package/dist/status.js +1 -1
  266. package/dist/stepper.js +1 -1
  267. package/dist/structured-list.js +1 -1
  268. package/dist/summary-grid.js +1 -1
  269. package/dist/table-of-contents.js +1 -1
  270. package/dist/tabs.js +1 -1
  271. package/dist/tag.js +1 -1
  272. package/dist/textarea.js +1 -1
  273. package/dist/timeline.js +1 -1
  274. package/dist/toast.js +1 -1
  275. package/dist/toggle.js +1 -1
  276. package/dist/tutorial.js +1 -1
  277. package/dist/typography.js +1 -1
  278. package/dist/web-types.json +1 -1
  279. package/package.json +8 -8
  280. package/dist/chunks/anchor-scroller.BeWDW53L.js.map +0 -1
  281. package/dist/chunks/empty-state.C1SZznqL.js +0 -133
  282. package/dist/chunks/empty-state.C1SZznqL.js.map +0 -1
  283. package/dist/chunks/input-field-password.DvJltLuk.js.map +0 -1
  284. package/dist/chunks/pagination.BKXAbfS5.js.map +0 -1
  285. package/dist/chunks/popover.types.BygdLPT4.js +0 -6
  286. package/dist/chunks/scroll-to-section.BntX_GuR.js.map +0 -1
  287. package/dist/chunks/typography.B3J6_tYk.js +0 -83
  288. package/dist/chunks/typography.B3J6_tYk.js.map +0 -1
@@ -1,26 +1,26 @@
1
- import { defineComponent as k, computed as l, toRef as C, openBlock as v, createElementBlock as f, unref as o, Fragment as D, renderList as V, createVNode as b, withKeys as S, withModifiers as j, normalizeClass as N, withCtx as I, createTextVNode as F, toDisplayString as E, ref as $, watch as w, createElementVNode as B, renderSlot as A, createCommentVNode as z } from "vue";
2
- import { i as J, r as L } from "./index.Drk1Cbct.js";
3
- import { p as O, B as P } from "./typography.B3J6_tYk.js";
4
- import { u as M } from "./index.B875RXHM.js";
5
- import { g as U } from "./generate-uid.DBWe4g6T.js";
6
- import { u as G } from "./utils.DWmc2mUI.js";
7
- import { u as W, s as X, a as q } from "./scroll-to-section.BntX_GuR.js";
8
- import { F as H } from "./fixed-scroller.cQ1MF_f3.js";
9
- import { B as Q } from "./button.C6-bXf1h.js";
10
- import { _ as K } from "./_plugin-vue_export-helper.CHgC5LLL.js";
1
+ import { defineComponent as B, computed as l, toRef as k, openBlock as v, createElementBlock as f, unref as o, Fragment as R, renderList as V, createVNode as _, withKeys as y, withModifiers as S, normalizeClass as C, withCtx as I, createTextVNode as N, toDisplayString as F, ref as $, watch as j, createElementVNode as w, renderSlot as D, createCommentVNode as z } from "vue";
2
+ import { i as A } from "./index.DkAcVBvr.js";
3
+ import { p as J, B as L } from "./typography.wIM07Hbl.js";
4
+ import { u as O } from "./index.B875RXHM.js";
5
+ import { g as P } from "./generate-uid.DBWe4g6T.js";
6
+ import { u as M } from "./utils.DWmc2mUI.js";
7
+ import { u as U, s as G, a as W } from "./scroll-to-section.BsuItn5y.js";
8
+ import { F as X } from "./fixed-scroller.Dgx7z81w.js";
9
+ import { B as q } from "./button.DqN6N1_o.js";
10
+ import { _ as E } from "./_plugin-vue_export-helper.CHgC5LLL.js";
11
11
  import "../assets/anchor-scroller.css";
12
- const Y = /* @__PURE__ */ k({
12
+ const H = /* @__PURE__ */ B({
13
13
  __name: "anchor-scroller-list",
14
14
  props: {
15
15
  activeIndex: { default: void 0 },
16
16
  items: {},
17
17
  scrollOffset: { default: void 0 }
18
18
  },
19
- setup(_) {
20
- const c = _, h = l(() => c.items), { isFocusable: r, navigationItemRefs: g, onKeydownNavigation: d } = W(h, {
19
+ setup(b) {
20
+ const c = b, h = l(() => c.items), { isFocusable: r, navigationItemRefs: g, onKeydownNavigation: d } = U(h, {
21
21
  isDisabled: (t) => t.disabled,
22
- initialIndex: C(c, "activeIndex")
23
- }), n = (t, s) => X(t, {
22
+ initialIndex: k(c, "activeIndex")
23
+ }), n = (t, s) => G(t, {
24
24
  disabled: s,
25
25
  scrollOffset: c.scrollOffset,
26
26
  warningPrefix: "bento-anchor-scroller"
@@ -30,16 +30,16 @@ const Y = /* @__PURE__ */ k({
30
30
  onKeydown: s[0] || (s[0] = //@ts-ignore
31
31
  (...m) => o(d) && o(d)(...m))
32
32
  }, [
33
- (v(!0), f(D, null, V(t.items, ({ title: m, disabled: a, elementRef: u }, i) => (v(), f("li", {
33
+ (v(!0), f(R, null, V(t.items, ({ title: m, disabled: a, elementRef: u }, i) => (v(), f("li", {
34
34
  key: i,
35
35
  class: "b-anchor-scroller-list__item"
36
36
  }, [
37
- b(Q, {
37
+ _(q, {
38
38
  ref_for: !0,
39
39
  ref_key: "navigationItemRefs",
40
40
  ref: g,
41
41
  "aria-current": t.activeIndex === i ? "location" : null,
42
- class: N(["b-anchor-scroller-list__item-button", {
42
+ class: C(["b-anchor-scroller-list__item-button", {
43
43
  "b-anchor-scroller-list__item-button--active": t.activeIndex === i,
44
44
  "b-anchor-scroller-list__item-button--disabled": a
45
45
  }]),
@@ -48,19 +48,19 @@ const Y = /* @__PURE__ */ k({
48
48
  variant: "tertiary-with-background",
49
49
  onClick: (p) => n(u, a),
50
50
  onKeydown: [
51
- S(j((p) => n(u, a), ["prevent"]), ["space", "native"]),
52
- S(j((p) => n(u, a), ["prevent"]), ["enter", "native"])
51
+ y(S((p) => n(u, a), ["prevent"]), ["space", "native"]),
52
+ y(S((p) => n(u, a), ["prevent"]), ["enter", "native"])
53
53
  ]
54
54
  }, {
55
55
  default: I(() => [
56
- F(E(m), 1)
56
+ N(F(m), 1)
57
57
  ]),
58
58
  _: 2
59
59
  }, 1032, ["aria-current", "class", "aria-disabled", "tabindex", "onClick", "onKeydown"])
60
60
  ]))), 128))
61
61
  ], 32));
62
62
  }
63
- }), Z = /* @__PURE__ */ K(Y, [["__scopeId", "data-v-45e8b0d8"]]), R = {
63
+ }), Q = /* @__PURE__ */ E(H, [["__scopeId", "data-v-45e8b0d8"]]), K = {
64
64
  "de-DE": { jumpTo: "Springe zu" },
65
65
  "en-GB": { jumpTo: "Jump to" },
66
66
  "en-US": { jumpTo: "Jump to" },
@@ -72,84 +72,85 @@ const Y = /* @__PURE__ */ k({
72
72
  "ja-JP": { jumpTo: "移動先" },
73
73
  "pt-BR": { jumpTo: "Ir para" },
74
74
  "zh-CN": { jumpTo: "跳转到" }
75
- }, ee = {
75
+ }, Y = {
76
76
  key: 0,
77
77
  class: "b-anchor-scroller"
78
- }, te = ["aria-labelledby"], oe = { class: "b-anchor-scroller__navigation-panel" }, ne = {
79
- i18n: { messages: R },
78
+ }, Z = ["aria-labelledby"], ee = { class: "b-anchor-scroller__navigation-panel" }, te = {
79
+ i18n: { messages: K },
80
80
  name: "bento-anchor-scroller"
81
- }, ae = /* @__PURE__ */ k({
82
- ...ne,
81
+ }, oe = /* @__PURE__ */ B({
82
+ ...te,
83
83
  props: {
84
84
  activeIndex: { default: void 0 },
85
85
  items: {}
86
86
  },
87
87
  emits: ["update:active-index"],
88
- setup(_, { emit: c }) {
89
- const { t: h } = M({ messages: R }), r = _, g = c, d = $(null), n = l(() => r.items.map((e) => ({ ...e }))), t = l(
90
- () => r.items.map((e, y) => ({
91
- element: G(e.elementRef),
92
- originalIndex: y,
88
+ setup(b, { emit: c }) {
89
+ const { t: h } = O({ messages: K }), r = b, g = c, d = $(null), n = l(() => r.items.map((e) => ({ ...e }))), t = l(
90
+ () => r.items.map((e, T) => ({
91
+ element: M(e.elementRef),
92
+ originalIndex: T,
93
93
  disabled: e.disabled
94
94
  })).filter(
95
95
  (e) => !e.disabled && !!e.element
96
96
  )
97
- ), { top: s, bottom: m } = J(d), a = l(() => t.value.map((e) => e.element)), u = l(() => ({
97
+ ), { top: s, bottom: m } = A(d), a = l(() => t.value.map((e) => e.element)), u = l(() => ({
98
98
  "b-anchor-scroller__navigation--pinned": s.value <= 1
99
- })), { activeIndex: i } = q(a, {
100
- default: C(r, "activeIndex")
101
- }), p = L(i, 200), x = l(() => {
102
- const e = t.value[p.value];
99
+ })), { activeIndex: i } = W(a, {
100
+ default: k(r, "activeIndex"),
101
+ debounce: 200
102
+ }), p = l(() => {
103
+ const e = t.value[i.value];
103
104
  return e ? e.originalIndex : 0;
104
105
  });
105
- w(x, (e) => {
106
+ j(p, (e) => {
106
107
  Number.isFinite(e) && g("update:active-index", e);
107
- }), w(
108
+ }), j(
108
109
  () => r.activeIndex,
109
110
  (e) => {
110
- Number.isFinite(e) && n.value[e].disabled && O("[bento-anchor-scroller] activeIndex should not be a disabled item");
111
+ Number.isFinite(e) && n.value[e].disabled && J("[bento-anchor-scroller] activeIndex should not be a disabled item");
111
112
  }
112
113
  );
113
- const T = U("bento-anchor-scroller-label");
114
- return (e, y) => n.value.length ? (v(), f("div", ee, [
115
- B("nav", {
114
+ const x = P("bento-anchor-scroller-label");
115
+ return (e, T) => n.value.length ? (v(), f("div", Y, [
116
+ w("nav", {
116
117
  ref_key: "navigationRef",
117
118
  ref: d,
118
- class: N(["b-anchor-scroller__navigation", u.value]),
119
- "aria-labelledby": o(T)
119
+ class: C(["b-anchor-scroller__navigation", u.value]),
120
+ "aria-labelledby": o(x)
120
121
  }, [
121
- b(o(H), {
122
+ _(o(X), {
122
123
  condensed: "",
123
124
  centered: ""
124
125
  }, {
125
126
  default: I(() => [
126
- B("div", oe, [
127
- b(P, {
128
- id: o(T),
127
+ w("div", ee, [
128
+ _(L, {
129
+ id: o(x),
129
130
  el: "span",
130
131
  class: "b-anchor-scroller__navigation-panel-label",
131
132
  stronger: ""
132
133
  }, {
133
134
  default: I(() => [
134
- F(E(o(h)("jumpTo")), 1)
135
+ N(F(o(h)("jumpTo")), 1)
135
136
  ]),
136
137
  _: 1
137
138
  }, 8, ["id"]),
138
- b(o(Z), {
139
+ _(o(Q), {
139
140
  items: n.value,
140
- "active-index": x.value,
141
+ "active-index": p.value,
141
142
  "scroll-offset": o(m)
142
143
  }, null, 8, ["items", "active-index", "scroll-offset"])
143
144
  ])
144
145
  ]),
145
146
  _: 1
146
147
  })
147
- ], 10, te),
148
- A(e.$slots, "default", {}, void 0, !0)
148
+ ], 10, Z),
149
+ D(e.$slots, "default", {}, void 0, !0)
149
150
  ])) : z("", !0);
150
151
  }
151
- }), fe = /* @__PURE__ */ K(ae, [["__scopeId", "data-v-faf9394c"]]);
152
+ }), pe = /* @__PURE__ */ E(oe, [["__scopeId", "data-v-20661e9c"]]);
152
153
  export {
153
- fe as a
154
+ pe as a
154
155
  };
155
- //# sourceMappingURL=anchor-scroller.BeWDW53L.js.map
156
+ //# sourceMappingURL=anchor-scroller.B5f_ePD6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-scroller.B5f_ePD6.js","sources":["../../../vue2/src/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue","../../../vue2/src/components/anchor-scroller/anchor-scroller.vue"],"sourcesContent":["<template>\n <ul class=\"b-anchor-scroller-list\" @keydown=\"onKeydownNavigation\">\n <li v-for=\"({ title, disabled, elementRef }, index) in items\" :key=\"index\" class=\"b-anchor-scroller-list__item\">\n <bento-button\n ref=\"navigationItemRefs\"\n :aria-current=\"activeIndex === index ? 'location' : null\"\n class=\"b-anchor-scroller-list__item-button\"\n :class=\"{\n 'b-anchor-scroller-list__item-button--active': activeIndex === index,\n 'b-anchor-scroller-list__item-button--disabled': disabled,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"isFocusable(index) ? null : '-1'\"\n variant=\"tertiary-with-background\"\n @click=\"onScrollToSection(elementRef, disabled)\"\n @keydown.space.native.prevent=\"onScrollToSection(elementRef, disabled)\"\n @keydown.enter.native.prevent=\"onScrollToSection(elementRef, disabled)\"\n >\n {{ title }}\n </bento-button>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\n import BentoButton from '@/components/button/button.vue';\n import { useSectionNavigationKeyboard } from '@/composables/use-section-navigation-keyboard';\n import { scrollToSection, type ScrollToSectionTarget } from '@/utils/ts/scroll-to-section';\n import { type AnchorScrollerListProps } from './anchor-scroller-list.types';\n import { computed, toRef } from 'vue';\n\n const props = withDefaults(defineProps<AnchorScrollerListProps>(), {\n activeIndex: undefined,\n scrollOffset: undefined,\n });\n\n const navigationItems = computed(() => props.items);\n const { isFocusable, navigationItemRefs, onKeydownNavigation } = useSectionNavigationKeyboard(navigationItems, {\n isDisabled: item => item.disabled,\n initialIndex: toRef(props, 'activeIndex'),\n });\n\n const onScrollToSection = (\n elementRef: AnchorScrollerListProps['items'][number]['elementRef'],\n disabled?: boolean\n ) =>\n scrollToSection(elementRef as ScrollToSectionTarget, {\n disabled,\n scrollOffset: props.scrollOffset,\n warningPrefix: 'bento-anchor-scroller',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller-list.scss\" />\n","<template>\n <div v-if=\"computedItems.length\" class=\"b-anchor-scroller\">\n <nav\n ref=\"navigationRef\"\n class=\"b-anchor-scroller__navigation\"\n :class=\"navigationConditionalClasses\"\n :aria-labelledby=\"navLabelId\"\n >\n <fixed-scroller condensed centered>\n <div class=\"b-anchor-scroller__navigation-panel\">\n <bento-typography\n :id=\"navLabelId\"\n el=\"span\"\n class=\"b-anchor-scroller__navigation-panel-label\"\n stronger\n >\n {{ t('jumpTo') }}\n </bento-typography>\n\n <anchor-scroller-list\n :items=\"computedItems\"\n :active-index=\"currentActiveIndex\"\n :scroll-offset=\"bottom\"\n />\n </div>\n </fixed-scroller>\n </nav>\n\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, toRef, watch } from 'vue';\n import { useElementBounding } from '@vueuse/core';\n import BentoTypography from '@/components/typography/typography.vue';\n import { FixedScroller } from '@/internal';\n import { type BentoAnchorScrollerItem, type BentoAnchorScrollerProps } from './anchor-scroller.types';\n import { AnchorScrollerList } from './components/anchor-scroller-list';\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { unrefElement } from '@/directives/click-outside/utils';\n import messages from './messages.json';\n import { useScrollSpy } from '@/composables/use-scroll-spy';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = withDefaults(defineProps<BentoAnchorScrollerProps>(), {\n activeIndex: undefined,\n });\n\n const emit = defineEmits<{\n /**\n * Emits update event when the active index is changed\n */\n (e: 'update:active-index', value: number): void;\n }>();\n\n const navigationRef = ref(null);\n\n const computedItems = computed<Array<BentoAnchorScrollerItem>>(() => props.items.map(item => ({ ...item })));\n\n // Skip and cache only items that are enabled\n const enabledItems = computed(() =>\n props.items\n .map((item, originalIndex) => ({\n element: unrefElement(item.elementRef),\n originalIndex,\n disabled: item.disabled,\n }))\n .filter(\n (item): item is { element: Element; originalIndex: number; disabled: boolean } =>\n !item.disabled && !!item.element\n )\n );\n\n const { top, bottom } = useElementBounding(navigationRef);\n\n // Extract strictly the elements for the ScrollSpy to watch\n const scrollToTargets = computed(() => enabledItems.value.map(c => c.element));\n\n const navigationConditionalClasses = computed(() => ({\n 'b-anchor-scroller__navigation--pinned': top.value <= 1,\n }));\n\n const { activeIndex: scrollSpyActiveIndex } = useScrollSpy(scrollToTargets, {\n default: toRef(props, 'activeIndex'),\n debounce: 200,\n });\n\n const currentActiveIndex = computed(() => {\n const candidate = enabledItems.value[scrollSpyActiveIndex.value];\n\n return candidate ? candidate.originalIndex : 0;\n });\n\n watch(currentActiveIndex, val => {\n if (Number.isFinite(val)) {\n emit('update:active-index', val);\n }\n });\n\n watch(\n () => props.activeIndex,\n val => {\n if (Number.isFinite(val) && computedItems.value[val].disabled) {\n printDevelopmentWarning(`[bento-anchor-scroller] activeIndex should not be a disabled item`);\n }\n }\n );\n\n const navLabelId = generateUid('bento-anchor-scroller-label');\n</script>\n\n<script lang=\"ts\">\n /**\n * A navigation component that tracks page scroll and allows jumping to sections.\n *\n * @example\n * import { BentoAnchorScroller } from '@adyen/bento-vue2';\n * import { ref } from 'vue';\n *\n * export default {\n * components: { BentoAnchorScroller },\n * template: `\n * <bento-anchor-scroller :items=\"items\">\n * <section ref=\"section1\">Section 1</section>\n * <section ref=\"section2\">Section 2</section>\n * </bento-anchor-scroller>\n * `,\n * setup() {\n * const section1 = ref(null);\n * const section2 = ref(null);\n * const items = ref([\n * { title: 'Section 1', elementRef: section1 },\n * { title: 'Section 2', elementRef: section2 },\n * ]);\n * return {\n * items,\n * section1,\n * section2,\n * }\n * }\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-anchor-scroller',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller.scss\" />\n"],"names":["props","__props","navigationItems","computed","isFocusable","navigationItemRefs","onKeydownNavigation","useSectionNavigationKeyboard","item","toRef","onScrollToSection","elementRef","disabled","scrollToSection","__default__","messages","t","useI18n","emit","__emit","navigationRef","ref","computedItems","enabledItems","originalIndex","unrefElement","top","bottom","useElementBounding","scrollToTargets","c","navigationConditionalClasses","scrollSpyActiveIndex","useScrollSpy","currentActiveIndex","candidate","watch","val","printDevelopmentWarning","navLabelId","generateUid"],"mappings":";;;;;;;;;;;;;;;;;;;AA+BI,UAAAA,IAAAC,GAKAC,IAAAC,EAAA,MAAAH,EAAA,KAAA,GACA,EAAA,aAAAI,GAAA,oBAAAC,GAAA,qBAAAC,EAAA,IAAAC,EAAAL,GAAA;AAAA,MAA+G,YAAA,CAAAM,MAAAA,EAAA;AAAA,MAClF,cAAAC,EAAAT,GAAA,aAAA;AAAA,IACe,CAAA,GAG5CU,IAAA,CAAAC,GAAAC,MAAAC,EAAAF,GAAA;AAAA,MAIyD,UAAAC;AAAA,MACjD,cAAAZ,EAAA;AAAA,MACoB,eAAA;AAAA,IACL,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFCmGvBc,KAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAAA,EACM,MAAA;AAErB;;;;;;;;AAvGA,UAAA,EAAA,GAAAC,EAAA,IAAAC,EAAA,EAAA,UAAAF,EAAA,CAAA,GAEAf,IAAAC,GAIAiB,IAAAC,GAOAC,IAAAC,EAAA,IAAA,GAEAC,IAAAnB,EAAA,MAAAH,EAAA,MAAA,IAAA,CAAAQ,OAAA,EAAA,GAAAA,EAAA,EAAA,CAAA,GAGAe,IAAApB;AAAA,MAAqB,MAAAH,EAAA,MAAA,IAAA,CAAAQ,GAAAgB,OAAA;AAAA,QAEkB,SAAAC,EAAAjB,EAAA,UAAA;AAAA,QACU,eAAAgB;AAAA,QACrC,UAAAhB,EAAA;AAAA,MACe,EAAA,EAAA;AAAA,QAElB,CAAAA,MAAA,CAAAA,EAAA,YAAA,CAAA,CAAAA,EAAA;AAAA,MAEgC;AAAA,IACjC,GAGR,EAAA,KAAAkB,GAAA,QAAAC,EAAA,IAAAC,EAAAR,CAAA,GAGAS,IAAA1B,EAAA,MAAAoB,EAAA,MAAA,IAAA,CAAAO,MAAAA,EAAA,OAAA,CAAA,GAEAC,IAAA5B,EAAA,OAAA;AAAA,MAAqD,yCAAAuB,EAAA,SAAA;AAAA,IACK,EAAA,GAG1D,EAAA,aAAAM,EAAA,IAAAC,EAAAJ,GAAA;AAAA,MAA4E,SAAApB,EAAAT,GAAA,aAAA;AAAA,MACrC,UAAA;AAAA,IACzB,CAAA,GAGdkC,IAAA/B,EAAA,MAAA;AACI,YAAAgC,IAAAZ,EAAA,MAAAS,EAAA,KAAA;AAEA,aAAAG,IAAAA,EAAA,gBAAA;AAAA,IAA6C,CAAA;AAGjD,IAAAC,EAAAF,GAAA,CAAAG,MAAA;AACI,MAAA,OAAA,SAAAA,CAAA,KACInB,EAAA,uBAAAmB,CAAA;AAAA,IACJ,CAAA,GAGJD;AAAA,MAAA,MAAApC,EAAA;AAAA,MACgB,CAAAqC,MAAA;AAER,QAAA,OAAA,SAAAA,CAAA,KAAAf,EAAA,MAAAe,CAAA,EAAA,YACIC,EAAA,mEAAA;AAAA,MACJ;AAAA,IACJ;AAGJ,UAAAC,IAAAC,EAAA,6BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ref as k, computed as r, defineComponent as _, toRefs as f, openBlock as l, createElementBlock as d, normalizeClass as R, createVNode as b, unref as n, withCtx as L, createTextVNode as y, toDisplayString as h, createBlock as B, createCommentVNode as S } from "vue";
2
- import { B as E } from "./typography.B3J6_tYk.js";
2
+ import { B as E } from "./typography.wIM07Hbl.js";
3
3
  import { _ as g } from "./_plugin-vue_export-helper.CHgC5LLL.js";
4
4
  import "../assets/avatar.css";
5
5
  const O = (e) => {
@@ -92,4 +92,4 @@ const N = ["src"], U = {
92
92
  export {
93
93
  j as B
94
94
  };
95
- //# sourceMappingURL=avatar.Caeba-pw.js.map
95
+ //# sourceMappingURL=avatar.mper_rOW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.Caeba-pw.js","sources":["../../../vue2/src/composables/initials.ts","../../../vue2/src/components/avatar/components/avatar-image/avatar-image.types.ts","../../../vue2/src/components/avatar/components/avatar-image/avatar-image.vue","../../../vue2/src/components/avatar/avatar.vue"],"sourcesContent":["import { computed, type ComputedRef, ref } from 'vue';\nimport { type MaybeRef } from '@/types/refs';\n\n/** Extracts the first letter of a username\n * @param username - The name to return the initials of\n * Common patterns:\n * 1. John => J\n * 2. John Smith => J\n * John Smith Doe Holly => J\n */\nexport const useInitials = (username: MaybeRef<string | null>): ComputedRef<string | null> => {\n const computedUsername = ref(username);\n return computed(() => (computedUsername.value ? computedUsername.value.trim().charAt(0).toUpperCase() : null));\n};\n","export enum BentoAvatarImageVariant {\n LARGE = 'large',\n SMALL = 'small',\n}\n\nexport enum BentoAvatarImageColor {\n BLUE = 'blue',\n GREEN = 'green',\n RED = 'red',\n YELLOW = 'yellow',\n}\n","<template>\n <div class=\"b-avatar-image\" :class=\"conditionalClasses\" aria-hidden=\"true\" data-testid=\"avatar\">\n <img v-if=\"src\" :src=\"src\" class=\"b-avatar-image__image\" alt=\"\" data-testid=\"avatar-content\" />\n <div v-else class=\"b-avatar-image__default\" data-testid=\"avatar-content\">\n <bento-typography el=\"span\" variant=\"body\" strongest>\n {{ initials }}\n </bento-typography>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { BentoAvatarImageColor, BentoAvatarImageVariant } from './avatar-image.types';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = withDefaults(\n defineProps<{\n /**\n * Avatar color. Defaults to yellow.\n */\n color?: BentoAvatarImageColor;\n\n /**\n * Image src to load the profile picture.\n */\n src?: string;\n\n /**\n * Name of the user that will be used to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username?: string;\n\n /**\n * Variants supported for small and large.\n * Default - large\n */\n variant?: BentoAvatarImageVariant;\n }>(),\n {\n color: BentoAvatarImageColor.YELLOW,\n src: null,\n username: null,\n variant: BentoAvatarImageVariant.LARGE,\n }\n );\n\n const { username } = toRefs(props);\n const initials = useInitials(username);\n\n const conditionalClasses = computed(() => ({\n [`b-avatar-image--${BentoAvatarImageVariant.SMALL}`]: props.variant === BentoAvatarImageVariant.SMALL,\n [`b-avatar-image--${props.color}`]: props.color,\n }));\n</script>\n\n<script lang=\"ts\">\n /**\n * Image used as user profile inside bento-avatar.\n *\n * @example\n * import { AvatarImage } from './components/avatar-image';\n *\n * export default {\n * components: { AvatarImage },\n * template: `<avatar-image :src=\"userAvatarSrc\" username=\"Jane\" />`\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar-image.scss\" />\n","<template>\n <div class=\"b-avatar\" :role=\"iconOnly ? 'img' : null\" :aria-label=\"computedAriaLabel\">\n <avatar-image\n :src=\"src\"\n :username=\"computedUsername\"\n :variant=\"BentoAvatarImageVariant.SMALL\"\n :color=\"avatarColor\"\n />\n <bento-typography v-if=\"!iconOnly\" class=\"b-avatar__label\" el=\"span\" variant=\"body\">\n {{ username }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { AvatarImage, BentoAvatarImageColor, BentoAvatarImageVariant } from './components/avatar-image';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = withDefaults(\n defineProps<{\n /**\n * Displays the user profile without the label.\n */\n iconOnly?: boolean;\n\n /**\n * Image src to load the profile picture.\n */\n src?: string;\n\n /**\n * Name of the user that will be used both in the label and to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username: string;\n }>(),\n {\n iconOnly: false,\n src: null,\n }\n );\n\n const { username } = toRefs(props);\n\n const computedAriaLabel = computed(() => (props.iconOnly ? props.username : null));\n const computedUsername = computed(() => (!props.src ? props.username : null));\n const initials = useInitials(username);\n\n // Returns the UTF-16 char code\n const charCode = computed(() => (initials.value ? initials.value.charCodeAt(0) - 65 : null));\n\n // Returns a computed color based on the letter passed\n const avatarColor = computed(() => {\n const numberOfAlphabetLetters = 26;\n const numberOfColors = Object.keys(BentoAvatarImageColor).length;\n const rangeStep = numberOfAlphabetLetters / numberOfColors;\n\n if (charCode.value <= rangeStep) {\n return BentoAvatarImageColor.YELLOW;\n }\n if (charCode.value <= rangeStep * 2) {\n return BentoAvatarImageColor.BLUE;\n }\n if (charCode.value <= rangeStep * 3) {\n return BentoAvatarImageColor.GREEN;\n }\n return BentoAvatarImageColor.RED;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Displays an user profile including an avatar and optionally a label.\n *\n * @example\n * import { BentoAvatar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAvatar },\n * template: `<bento-avatar :src=\"userAvatarSrc\" username=\"Jane\" />`\n * }\n */\n export default {\n name: 'bento-avatar',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar.scss\" />\n"],"names":["useInitials","username","computedUsername","ref","computed","BentoAvatarImageVariant","BentoAvatarImageVariant2","BentoAvatarImageColor","BentoAvatarImageColor2","__default__$1","props","__props","toRefs","initials","conditionalClasses","__default__","computedAriaLabel","charCode","avatarColor","rangeStep"],"mappings":";;;;AAUO,MAAAA,IAAA,CAAAC,MAAA;AACH,QAAAC,IAAAC,EAAAF,CAAA;AACA,SAAAG,EAAA,MAAAF,EAAA,QAAAA,EAAA,MAAA,KAAA,EAAA,OAAA,CAAA,EAAA,YAAA,IAAA,IAAA;AACJ;ACbO,IAAAG,IAAA,kBAAAC,OACHA,EAAA,QAAA,SACAA,EAAA,QAAA,SAFQA,IAAAD,KAAA,CAAA,CAAA,GAKLE,IAAA,kBAAAC,OACHA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,MAAA,OACAA,EAAA,SAAA,UAJQA,IAAAD,KAAA,CAAA,CAAA;;;;;GCoERE,IAAA,CAAA;;;;;;;;;;AAxDA,UAAAC,IAAAC,GAmCA,EAAA,UAAAV,EAAA,IAAAW,EAAAF,CAAA,GACAG,IAAAb,EAAAC,CAAA,GAEAa,IAAAV,EAAA,OAAA;AAAA,MAA2C,CAAA,mBAAAC,EAAA,KAAA,EAAA,GAAAK,EAAA,YAAAL,EAAA;AAAA,MACyD,CAAA,mBAAAK,EAAA,KAAA,EAAA,GAAAA,EAAA;AAAA,IACtD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;8FC8B9CK,IAAA;AAAA,EAAe,MAAA;AAEf;;;;;;;;AArEA,UAAAL,IAAAC,GA2BA,EAAA,UAAAV,EAAA,IAAAW,EAAAF,CAAA,GAEAM,IAAAZ,EAAA,MAAAM,EAAA,WAAAA,EAAA,WAAA,IAAA,GACAR,IAAAE,EAAA,MAAAM,EAAA,MAAA,OAAAA,EAAA,QAAA,GACAG,IAAAb,EAAAC,CAAA,GAGAgB,IAAAb,EAAA,MAAAS,EAAA,QAAAA,EAAA,MAAA,WAAA,CAAA,IAAA,KAAA,IAAA,GAGAK,IAAAd,EAAA,MAAA;AAGI,YAAAe,IAAA,KADA,OAAA,KAAAZ,CAAA,EAAA;AAGA,aAAAU,EAAA,SAAAE,IACIZ,EAAA,SAEJU,EAAA,SAAAE,IAAA,IACIZ,EAAA,OAEJU,EAAA,SAAAE,IAAA,IACIZ,EAAA,QAEJA,EAAA;AAAA,IAA6B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"avatar.mper_rOW.js","sources":["../../../vue2/src/composables/initials.ts","../../../vue2/src/components/avatar/components/avatar-image/avatar-image.types.ts","../../../vue2/src/components/avatar/components/avatar-image/avatar-image.vue","../../../vue2/src/components/avatar/avatar.vue"],"sourcesContent":["import { computed, type ComputedRef, ref } from 'vue';\nimport { type MaybeRef } from '@/types/refs';\n\n/** Extracts the first letter of a username\n * @param username - The name to return the initials of\n * Common patterns:\n * 1. John => J\n * 2. John Smith => J\n * John Smith Doe Holly => J\n */\nexport const useInitials = (username: MaybeRef<string | null>): ComputedRef<string | null> => {\n const computedUsername = ref(username);\n return computed(() => (computedUsername.value ? computedUsername.value.trim().charAt(0).toUpperCase() : null));\n};\n","export enum BentoAvatarImageVariant {\n LARGE = 'large',\n SMALL = 'small',\n}\n\nexport enum BentoAvatarImageColor {\n BLUE = 'blue',\n GREEN = 'green',\n RED = 'red',\n YELLOW = 'yellow',\n}\n","<template>\n <div class=\"b-avatar-image\" :class=\"conditionalClasses\" aria-hidden=\"true\" data-testid=\"avatar\">\n <img v-if=\"src\" :src=\"src\" class=\"b-avatar-image__image\" alt=\"\" data-testid=\"avatar-content\" />\n <div v-else class=\"b-avatar-image__default\" data-testid=\"avatar-content\">\n <bento-typography el=\"span\" variant=\"body\" strongest>\n {{ initials }}\n </bento-typography>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { BentoAvatarImageColor, BentoAvatarImageVariant } from './avatar-image.types';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = withDefaults(\n defineProps<{\n /**\n * Avatar color. Defaults to yellow.\n */\n color?: BentoAvatarImageColor;\n\n /**\n * Image src to load the profile picture.\n */\n src?: string;\n\n /**\n * Name of the user that will be used to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username?: string;\n\n /**\n * Variants supported for small and large.\n * Default - large\n */\n variant?: BentoAvatarImageVariant;\n }>(),\n {\n color: BentoAvatarImageColor.YELLOW,\n src: null,\n username: null,\n variant: BentoAvatarImageVariant.LARGE,\n }\n );\n\n const { username } = toRefs(props);\n const initials = useInitials(username);\n\n const conditionalClasses = computed(() => ({\n [`b-avatar-image--${BentoAvatarImageVariant.SMALL}`]: props.variant === BentoAvatarImageVariant.SMALL,\n [`b-avatar-image--${props.color}`]: props.color,\n }));\n</script>\n\n<script lang=\"ts\">\n /**\n * Image used as user profile inside bento-avatar.\n *\n * @example\n * import { AvatarImage } from './components/avatar-image';\n *\n * export default {\n * components: { AvatarImage },\n * template: `<avatar-image :src=\"userAvatarSrc\" username=\"Jane\" />`\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar-image.scss\" />\n","<template>\n <div class=\"b-avatar\" :role=\"iconOnly ? 'img' : null\" :aria-label=\"computedAriaLabel\">\n <avatar-image\n :src=\"src\"\n :username=\"computedUsername\"\n :variant=\"BentoAvatarImageVariant.SMALL\"\n :color=\"avatarColor\"\n />\n <bento-typography v-if=\"!iconOnly\" class=\"b-avatar__label\" el=\"span\" variant=\"body\">\n {{ username }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { AvatarImage, BentoAvatarImageColor, BentoAvatarImageVariant } from './components/avatar-image';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = withDefaults(\n defineProps<{\n /**\n * Displays the user profile without the label.\n */\n iconOnly?: boolean;\n\n /**\n * Image src to load the profile picture.\n */\n src?: string;\n\n /**\n * Name of the user that will be used both in the label and to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username: string;\n }>(),\n {\n iconOnly: false,\n src: null,\n }\n );\n\n const { username } = toRefs(props);\n\n const computedAriaLabel = computed(() => (props.iconOnly ? props.username : null));\n const computedUsername = computed(() => (!props.src ? props.username : null));\n const initials = useInitials(username);\n\n // Returns the UTF-16 char code\n const charCode = computed(() => (initials.value ? initials.value.charCodeAt(0) - 65 : null));\n\n // Returns a computed color based on the letter passed\n const avatarColor = computed(() => {\n const numberOfAlphabetLetters = 26;\n const numberOfColors = Object.keys(BentoAvatarImageColor).length;\n const rangeStep = numberOfAlphabetLetters / numberOfColors;\n\n if (charCode.value <= rangeStep) {\n return BentoAvatarImageColor.YELLOW;\n }\n if (charCode.value <= rangeStep * 2) {\n return BentoAvatarImageColor.BLUE;\n }\n if (charCode.value <= rangeStep * 3) {\n return BentoAvatarImageColor.GREEN;\n }\n return BentoAvatarImageColor.RED;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Displays an user profile including an avatar and optionally a label.\n *\n * @example\n * import { BentoAvatar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAvatar },\n * template: `<bento-avatar :src=\"userAvatarSrc\" username=\"Jane\" />`\n * }\n */\n export default {\n name: 'bento-avatar',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar.scss\" />\n"],"names":["useInitials","username","computedUsername","ref","computed","BentoAvatarImageVariant","BentoAvatarImageVariant2","BentoAvatarImageColor","BentoAvatarImageColor2","__default__$1","props","__props","toRefs","initials","conditionalClasses","__default__","computedAriaLabel","charCode","avatarColor","rangeStep"],"mappings":";;;;AAUO,MAAAA,IAAA,CAAAC,MAAA;AACH,QAAAC,IAAAC,EAAAF,CAAA;AACA,SAAAG,EAAA,MAAAF,EAAA,QAAAA,EAAA,MAAA,KAAA,EAAA,OAAA,CAAA,EAAA,YAAA,IAAA,IAAA;AACJ;ACbO,IAAAG,IAAA,kBAAAC,OACHA,EAAA,QAAA,SACAA,EAAA,QAAA,SAFQA,IAAAD,KAAA,CAAA,CAAA,GAKLE,IAAA,kBAAAC,OACHA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,MAAA,OACAA,EAAA,SAAA,UAJQA,IAAAD,KAAA,CAAA,CAAA;;;;;GCoERE,IAAA,CAAA;;;;;;;;;;AAxDA,UAAAC,IAAAC,GAmCA,EAAA,UAAAV,EAAA,IAAAW,EAAAF,CAAA,GACAG,IAAAb,EAAAC,CAAA,GAEAa,IAAAV,EAAA,OAAA;AAAA,MAA2C,CAAA,mBAAAC,EAAA,KAAA,EAAA,GAAAK,EAAA,YAAAL,EAAA;AAAA,MACyD,CAAA,mBAAAK,EAAA,KAAA,EAAA,GAAAA,EAAA;AAAA,IACtD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;8FC8B9CK,IAAA;AAAA,EAAe,MAAA;AAEf;;;;;;;;AArEA,UAAAL,IAAAC,GA2BA,EAAA,UAAAV,EAAA,IAAAW,EAAAF,CAAA,GAEAM,IAAAZ,EAAA,MAAAM,EAAA,WAAAA,EAAA,WAAA,IAAA,GACAR,IAAAE,EAAA,MAAAM,EAAA,MAAA,OAAAA,EAAA,QAAA,GACAG,IAAAb,EAAAC,CAAA,GAGAgB,IAAAb,EAAA,MAAAS,EAAA,QAAAA,EAAA,MAAA,WAAA,CAAA,IAAA,KAAA,IAAA,GAGAK,IAAAd,EAAA,MAAA;AAGI,YAAAe,IAAA,KADA,OAAA,KAAAZ,CAAA,EAAA;AAGA,aAAAU,EAAA,SAAAE,IACIZ,EAAA,SAEJU,EAAA,SAAAE,IAAA,IACIZ,EAAA,OAEJU,EAAA,SAAAE,IAAA,IACIZ,EAAA,QAEJA,EAAA;AAAA,IAA6B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as B, computed as C, ref as m, resolveComponent as y, openBlock as r, createElementBlock as l, mergeProps as S, renderSlot as u, createCommentVNode as d, createBlock as k, withCtx as g } from "vue";
2
- import { B as h } from "./typography.B3J6_tYk.js";
2
+ import { B as h } from "./typography.wIM07Hbl.js";
3
3
  import { u as L } from "./use-has-slot.CyMiImRQ.js";
4
4
  import { _ as $ } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
5
  import "../assets/base-button.css";
@@ -108,4 +108,4 @@ export {
108
108
  T as B,
109
109
  e as a
110
110
  };
111
- //# sourceMappingURL=base-button.CvHl36Ue.js.map
111
+ //# sourceMappingURL=base-button.DnMph3KL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.CvHl36Ue.js","sources":["../../../vue2/src/components/internal/base-button/base-button.types.ts","../../../vue2/src/components/internal/base-button/base-button.vue"],"sourcesContent":["export enum BentoBaseButtonPropClass {\n DESTRUCTIVE = 'critical',\n ICON_ONLY = 'icon-only',\n}\n\nexport enum BentoBaseButtonEvent {\n BLUR = 'blur',\n CLICK = 'click',\n FOCUS = 'focus',\n KEYDOWN_ESC = 'keydown.esc',\n}\n\nexport enum BaseButtonType {\n BUTTON = 'button',\n RESET = 'reset',\n SUBMIT = 'submit',\n}\n","<template>\n <button\n ref=\"bentoBaseButtonRef\"\n v-bind=\"$attrs\"\n class=\"b-base-button\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n :type=\"type\"\n :aria-expanded=\"ariaAttributes['aria-expanded']\"\n @click=\"onClickButton\"\n @focus=\"onFocusButton\"\n @blur=\"onBlurButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-base-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-base-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-base-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, type PropType, ref } from 'vue';\n import { BentoBaseButtonEvent, BentoBaseButtonPropClass } from './base-button.types';\n import type { ButtonHTMLAttributes } from 'vue/types/jsx.d.ts';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { type Booleanish } from '@/types/prop-types';\n\n /**\n * Base button component to use as a base for all the various types of bento buttons. For internal use only.\n *\n * * @example\n * import { BaseButton, BaseButtonEvent } from '@/components/internal/base-button';\n * import YourImportedIcon from @adyen/ui-assets-icons-16/example-icon';\n *\n * export default {\n * components: { BaseButton, YourImportedIcon },\n * props: {\n * text:\n * },\n * template: `\n * <base-button class=\"your-custom-button-styles\" @click=\"onClick\">\n * <template #iconLeft><your-imported-icon></template>\n * Button text\n * <template #iconRight><your-imported-icon></template>\n * </base-button>\n * `,\n * emits: [BentoButtonEvent.CLICK],\n * setup: (prps, { emit }) => {\n * const onClick = value => emit(BaseButtonEvent.CLICK, value);\n *\n * return {\n * onClick,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'base-button',\n components: { BentoTypography },\n props: {\n /**\n * Disables button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n },\n emits: [\n BentoBaseButtonEvent.CLICK,\n BentoBaseButtonEvent.FOCUS,\n BentoBaseButtonEvent.BLUR,\n BentoBaseButtonEvent.KEYDOWN_ESC,\n ],\n setup(props, { slots, emit, attrs }) {\n const ariaAttributes = computed(() => ({\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const bentoBaseButtonRef = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-base-button--${BentoBaseButtonPropClass.DESTRUCTIVE}`]: props.critical,\n [`b-base-button--${BentoBaseButtonPropClass.ICON_ONLY}`]: !slots.default,\n }));\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit(BentoBaseButtonEvent.CLICK, e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onFocusButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.FOCUS, e);\n };\n\n const onBlurButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.BLUR, e);\n };\n\n return {\n // Values\n ariaAttributes,\n conditionalClasses,\n\n // Methods\n onClickButton,\n onFocusButton,\n onBlurButton,\n hasSlot: useHasSlot(slots),\n\n // Refs\n bentoBaseButtonRef,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-button.scss\" />\n"],"names":["BentoBaseButtonPropClass","BentoBaseButtonPropClass2","BentoBaseButtonEvent","BentoBaseButtonEvent2","_sfc_main","defineComponent","BentoTypography","props","slots","emit","attrs","ariaAttributes","computed","bentoBaseButtonRef","ref","conditionalClasses","e","useHasSlot","_hoisted_1","openBlock","createElementBlock","mergeProps","_ctx","_cache","args","renderSlot","createCommentVNode","createBlock","_component_bento_typography","_hoisted_3"],"mappings":"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"}
1
+ {"version":3,"file":"base-button.DnMph3KL.js","sources":["../../../vue2/src/components/internal/base-button/base-button.types.ts","../../../vue2/src/components/internal/base-button/base-button.vue"],"sourcesContent":["export enum BentoBaseButtonPropClass {\n DESTRUCTIVE = 'critical',\n ICON_ONLY = 'icon-only',\n}\n\nexport enum BentoBaseButtonEvent {\n BLUR = 'blur',\n CLICK = 'click',\n FOCUS = 'focus',\n KEYDOWN_ESC = 'keydown.esc',\n}\n\nexport enum BaseButtonType {\n BUTTON = 'button',\n RESET = 'reset',\n SUBMIT = 'submit',\n}\n","<template>\n <button\n ref=\"bentoBaseButtonRef\"\n v-bind=\"$attrs\"\n class=\"b-base-button\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n :type=\"type\"\n :aria-expanded=\"ariaAttributes['aria-expanded']\"\n @click=\"onClickButton\"\n @focus=\"onFocusButton\"\n @blur=\"onBlurButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-base-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-base-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-base-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, type PropType, ref } from 'vue';\n import { BentoBaseButtonEvent, BentoBaseButtonPropClass } from './base-button.types';\n import type { ButtonHTMLAttributes } from 'vue/types/jsx.d.ts';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { type Booleanish } from '@/types/prop-types';\n\n /**\n * Base button component to use as a base for all the various types of bento buttons. For internal use only.\n *\n * * @example\n * import { BaseButton, BaseButtonEvent } from '@/components/internal/base-button';\n * import YourImportedIcon from @adyen/ui-assets-icons-16/example-icon';\n *\n * export default {\n * components: { BaseButton, YourImportedIcon },\n * props: {\n * text:\n * },\n * template: `\n * <base-button class=\"your-custom-button-styles\" @click=\"onClick\">\n * <template #iconLeft><your-imported-icon></template>\n * Button text\n * <template #iconRight><your-imported-icon></template>\n * </base-button>\n * `,\n * emits: [BentoButtonEvent.CLICK],\n * setup: (prps, { emit }) => {\n * const onClick = value => emit(BaseButtonEvent.CLICK, value);\n *\n * return {\n * onClick,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'base-button',\n components: { BentoTypography },\n props: {\n /**\n * Disables button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n },\n emits: [\n BentoBaseButtonEvent.CLICK,\n BentoBaseButtonEvent.FOCUS,\n BentoBaseButtonEvent.BLUR,\n BentoBaseButtonEvent.KEYDOWN_ESC,\n ],\n setup(props, { slots, emit, attrs }) {\n const ariaAttributes = computed(() => ({\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const bentoBaseButtonRef = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-base-button--${BentoBaseButtonPropClass.DESTRUCTIVE}`]: props.critical,\n [`b-base-button--${BentoBaseButtonPropClass.ICON_ONLY}`]: !slots.default,\n }));\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit(BentoBaseButtonEvent.CLICK, e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onFocusButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.FOCUS, e);\n };\n\n const onBlurButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.BLUR, e);\n };\n\n return {\n // Values\n ariaAttributes,\n conditionalClasses,\n\n // Methods\n onClickButton,\n onFocusButton,\n onBlurButton,\n hasSlot: useHasSlot(slots),\n\n // Refs\n bentoBaseButtonRef,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-button.scss\" />\n"],"names":["BentoBaseButtonPropClass","BentoBaseButtonPropClass2","BentoBaseButtonEvent","BentoBaseButtonEvent2","_sfc_main","defineComponent","BentoTypography","props","slots","emit","attrs","ariaAttributes","computed","bentoBaseButtonRef","ref","conditionalClasses","e","useHasSlot","_hoisted_1","openBlock","createElementBlock","mergeProps","_ctx","_cache","args","renderSlot","createCommentVNode","createBlock","_component_bento_typography","_hoisted_3"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { defineComponent as G, useSlots as X, ref as m, computed as d, inject as ue, watch as U, nextTick as re, onUnmounted as me, openBlock as y, createBlock as E, normalizeClass as K, createSlots as Z, withCtx as n, createElementVNode as b, normalizeStyle as C, unref as a, renderSlot as u, createCommentVNode as T, createVNode as H, useAttrs as ge, onMounted as ve, provide as B, toRefs as pe, createElementBlock as fe, withKeys as _e, withDirectives as be } from "vue";
2
- import { B as ye } from "./button.C6-bXf1h.js";
3
- import { B as Le } from "./focus-trap.Dv6HcDX8.js";
2
+ import { B as ye } from "./button.DqN6N1_o.js";
3
+ import { B as Le } from "./focus-trap.D8sMvprE.js";
4
4
  import { u as x } from "./use-has-slot.CyMiImRQ.js";
5
5
  import { u as he } from "./index.B875RXHM.js";
6
- import { l as Ce } from "./button-actions.Z5UJfq4v.js";
6
+ import { l as Ce } from "./button-actions.Crwvb4jD.js";
7
7
  import { g as Ee } from "./generate-uid.DBWe4g6T.js";
8
8
  import { B as Ae } from "./directive.D1-d-C2K.js";
9
9
  import { C as Oe } from "./cross.CClOzrY8.js";
10
10
  import { B as Ie, D as ke, a as Pe } from "./dialog-page.keys.Dym9e6k3.js";
11
- import { B as V } from "./typography.B3J6_tYk.js";
12
- import { F as Se } from "./footer-actions.pgbqDlKH.js";
13
- import { D as De } from "./dialog-page.DfQAcbe1.js";
11
+ import { B as V } from "./typography.wIM07Hbl.js";
12
+ import { F as Se } from "./footer-actions.Id0FqXsE.js";
13
+ import { D as De } from "./dialog-page.C9LpBaCe.js";
14
14
  import { o as Be } from "./resize.Bqks3WUm.js";
15
15
  import { G as Te, a as Ne } from "./grid-layout.CCWNscU_.js";
16
16
  import { _ as ee } from "./_plugin-vue_export-helper.CHgC5LLL.js";
@@ -430,4 +430,4 @@ export {
430
430
  Fe as g,
431
431
  ua as h
432
432
  };
433
- //# sourceMappingURL=base-modal.CX-hAjsb.js.map
433
+ //# sourceMappingURL=base-modal.jqTUHeSf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-modal.CX-hAjsb.js","sources":["../../../vue2/src/components/modal/modal.types.ts","../../../vue2/src/components/modal/modal.keys.ts","../../../vue2/src/components/modal/components/modal-page/modal-page.vue","../../../vue2/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 = withDefaults(defineProps<BentoModalPageProps>(), {\n actions: null,\n actionsLabel: null,\n columnsSize: BentoModalColumnLayoutVariant.SMALLER,\n customPadding: null,\n destructiveActions: false,\n withColumnLayout: false,\n pageId: undefined,\n previousPage: 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<{\n /**\n * Emits update event when page is changed internally\n */\n (e: 'update:active-page', page: string): void;\n /**\n * Emitted when the modal is closed.\n */\n (e: 'close-modal');\n }>();\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","slots","useSlots","hasSlot","useHasSlot","page","ref","props","__props","modalPageConditionalClasses","computed","modalContentConditionalClasses","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","t","useI18n","attrs","useAttrs","modal","isClosing","modalId","generateUid","emit","__emit","computedAriaLabel","openModal","emitCloseEvent","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.jqTUHeSf.js","sources":["../../../vue2/src/components/modal/modal.types.ts","../../../vue2/src/components/modal/modal.keys.ts","../../../vue2/src/components/modal/components/modal-page/modal-page.vue","../../../vue2/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 = withDefaults(defineProps<BentoModalPageProps>(), {\n actions: null,\n actionsLabel: null,\n columnsSize: BentoModalColumnLayoutVariant.SMALLER,\n customPadding: null,\n destructiveActions: false,\n withColumnLayout: false,\n pageId: undefined,\n previousPage: 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<{\n /**\n * Emits update event when page is changed internally\n */\n (e: 'update:active-page', page: string): void;\n /**\n * Emitted when the modal is closed.\n */\n (e: 'close-modal');\n }>();\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","slots","useSlots","hasSlot","useHasSlot","page","ref","props","__props","modalPageConditionalClasses","computed","modalContentConditionalClasses","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","t","useI18n","attrs","useAttrs","modal","isClosing","modalId","generateUid","emit","__emit","computedAriaLabel","openModal","emitCloseEvent","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,6 +1,6 @@
1
1
  import { ref as f, watch as _, nextTick as m, defineComponent as y, toRef as b, computed as p, provide as h, openBlock as A, createElementBlock as w, createElementVNode as B, normalizeClass as N, createVNode as k, unref as E, createBlock as T, createCommentVNode as C } from "vue";
2
- import { M as I, d as W, B as M, f as R } from "./button-actions.Z5UJfq4v.js";
3
- import { b as g } from "./index.Drk1Cbct.js";
2
+ import { M as I, d as W, B as M, f as R } from "./button-actions.Crwvb4jD.js";
3
+ import { b as g } from "./index.DkAcVBvr.js";
4
4
  import { _ as O } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
5
  import "../assets/button-actions-with-menu.css";
6
6
  const L = (v) => {
@@ -82,4 +82,4 @@ const L = (v) => {
82
82
  export {
83
83
  J as B
84
84
  };
85
- //# sourceMappingURL=button-actions-with-menu.6kuQpD9F.js.map
85
+ //# sourceMappingURL=button-actions-with-menu.CeOQ-ybp.js.map