@adyen/bento-vue3 1.34.0 → 1.35.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 (282) hide show
  1. package/dist/@types/packages/vue2/src/components/checkbox/checkbox.vue.d.ts +1 -1
  2. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +1 -1
  3. package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.vue.d.ts +1 -1
  4. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/data-grid-config-settings.vue.d.ts +1 -1
  5. package/dist/@types/packages/vue2/src/components/dropdown/composables/use-display-value.d.ts +1 -1
  6. package/dist/@types/packages/vue2/src/components/dropdown/composables/use-display-value.types.d.ts +1 -0
  7. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-avatar-filter/select-avatar-filter.vue.d.ts +7 -7
  8. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +1 -1
  9. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-currency-filter/select-currency-filter.vue.d.ts +7 -7
  10. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-payment-method-filter/select-payment-method-filter.vue.d.ts +7 -7
  11. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +7 -7
  12. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.vue.d.ts +1 -1
  13. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue.d.ts +2 -2
  14. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue.d.ts +3 -3
  15. package/dist/@types/packages/vue2/src/components/internal/listbox/listbox.vue.d.ts +3 -3
  16. package/dist/@types/packages/vue2/src/utils/ts/get-date-locale/get-date-locale.d.ts +11 -0
  17. package/dist/accordion.js +1 -1
  18. package/dist/action-bar.js +1 -1
  19. package/dist/alert.js +1 -1
  20. package/dist/assets/accordion-item.css +1 -1
  21. package/dist/assets/action-bar.css +1 -1
  22. package/dist/assets/alert.css +1 -1
  23. package/dist/assets/avatar.css +1 -1
  24. package/dist/assets/base-modal.css +1 -1
  25. package/dist/assets/calendar.css +1 -1
  26. package/dist/assets/card.css +1 -1
  27. package/dist/assets/checkbox-input.css +1 -1
  28. package/dist/assets/checkbox.css +1 -1
  29. package/dist/assets/code-snippet.css +1 -1
  30. package/dist/assets/copy.css +1 -1
  31. package/dist/assets/currency.css +1 -0
  32. package/dist/assets/data-grid.css +1 -1
  33. package/dist/assets/date-range-picker.css +1 -1
  34. package/dist/assets/dialog-page.css +1 -1
  35. package/dist/assets/dropdown.css +1 -1
  36. package/dist/assets/error-message.css +1 -1
  37. package/dist/assets/filter-bar.css +1 -1
  38. package/dist/assets/header.css +1 -1
  39. package/dist/assets/inspector.css +1 -1
  40. package/dist/assets/loading-button.css +1 -1
  41. package/dist/assets/menu.css +1 -1
  42. package/dist/assets/modal-fullscreen.css +1 -1
  43. package/dist/assets/pagination.css +1 -1
  44. package/dist/assets/popover.css +1 -1
  45. package/dist/assets/sidepanel.css +1 -1
  46. package/dist/assets/step.css +1 -1
  47. package/dist/assets/structured-list-item.css +1 -1
  48. package/dist/assets/timeline-item.css +1 -1
  49. package/dist/assets/tutorial.css +1 -1
  50. package/dist/assets/use-cached-selected-values.css +1 -1
  51. package/dist/avatar.js +1 -1
  52. package/dist/button.js +2 -2
  53. package/dist/card.js +1 -1
  54. package/dist/checkbox.js +3 -3
  55. package/dist/chunks/accordion-item.4Cnn47v_.js +142 -0
  56. package/dist/chunks/accordion-item.4Cnn47v_.js.map +1 -0
  57. package/dist/chunks/{action-bar.DGQYYi8b.js → action-bar.BYMas_1s.js} +58 -44
  58. package/dist/chunks/{action-bar.DGQYYi8b.js.map → action-bar.BYMas_1s.js.map} +1 -1
  59. package/dist/chunks/{alert.Bz4tNKDH.js → alert.B_GZON9f.js} +30 -23
  60. package/dist/chunks/alert.B_GZON9f.js.map +1 -0
  61. package/dist/chunks/{avatar.mNlMngHQ.js → avatar.8erKxh8t.js} +13 -13
  62. package/dist/chunks/avatar.8erKxh8t.js.map +1 -0
  63. package/dist/chunks/{base-modal.Bl7DBkt0.js → base-modal.BbiSFAn1.js} +37 -31
  64. package/dist/chunks/{base-modal.Bl7DBkt0.js.map → base-modal.BbiSFAn1.js.map} +1 -1
  65. package/dist/chunks/{button-actions-with-menu.BLmcwr2f.js → button-actions-with-menu.0ypQxYbM.js} +4 -4
  66. package/dist/chunks/{button-actions-with-menu.BLmcwr2f.js.map → button-actions-with-menu.0ypQxYbM.js.map} +1 -1
  67. package/dist/chunks/{button-actions.hdK5IgrZ.js → button-actions.DcvU9vMt.js} +2 -2
  68. package/dist/chunks/{button-actions.hdK5IgrZ.js.map → button-actions.DcvU9vMt.js.map} +1 -1
  69. package/dist/chunks/{calendar.D--sOCBT.js → calendar.BPatBsD5.js} +148 -148
  70. package/dist/chunks/calendar.BPatBsD5.js.map +1 -0
  71. package/dist/chunks/{card.BvSoujBc.js → card.B7AyQI7f.js} +46 -38
  72. package/dist/chunks/card.B7AyQI7f.js.map +1 -0
  73. package/dist/chunks/{checkbox-group.CuLP3hPd.js → checkbox-group.BJM2i93S.js} +4 -4
  74. package/dist/chunks/{checkbox-group.CuLP3hPd.js.map → checkbox-group.BJM2i93S.js.map} +1 -1
  75. package/dist/chunks/{checkbox-input.JdcvpfTa.js → checkbox-input.YgPBRaZP.js} +12 -11
  76. package/dist/chunks/checkbox-input.YgPBRaZP.js.map +1 -0
  77. package/dist/chunks/{checkbox.DMMXn-h8.js → checkbox.BnYx06nC.js} +50 -40
  78. package/dist/chunks/{checkbox.DMMXn-h8.js.map → checkbox.BnYx06nC.js.map} +1 -1
  79. package/dist/chunks/{checkmark-circle-fill.ChV7Jy6r.js → checkmark-circle-fill.Bgdq29pu.js} +4 -4
  80. package/dist/chunks/checkmark-circle-fill.Bgdq29pu.js.map +1 -0
  81. package/dist/chunks/{checkmark-small.DEc2T64_.js → checkmark-small.4DMun1A_.js} +4 -4
  82. package/dist/chunks/checkmark-small.4DMun1A_.js.map +1 -0
  83. package/dist/chunks/{chevron-left.NvV5m76j.js → chevron-left.ChbQxOxi.js} +6 -6
  84. package/dist/chunks/chevron-left.ChbQxOxi.js.map +1 -0
  85. package/dist/chunks/{chevron-up.DQZG_BP3.js → chevron-up.zKonWHVc.js} +6 -6
  86. package/dist/chunks/chevron-up.zKonWHVc.js.map +1 -0
  87. package/dist/chunks/{code-snippet.BWM5w4CP.js → code-snippet.1duYqiRx.js} +98 -89
  88. package/dist/chunks/code-snippet.1duYqiRx.js.map +1 -0
  89. package/dist/chunks/{controls-group.BnZVHgQK.js → controls-group.DmroeX6Q.js} +2 -2
  90. package/dist/chunks/{controls-group.BnZVHgQK.js.map → controls-group.DmroeX6Q.js.map} +1 -1
  91. package/dist/chunks/{copy.h-wVGvID.js → copy.5y12_05v.js} +29 -20
  92. package/dist/chunks/copy.5y12_05v.js.map +1 -0
  93. package/dist/chunks/{cross-circle-fill-small.BXO78Wde.js → cross-circle-fill-small.2_Xjp4id.js} +4 -4
  94. package/dist/chunks/cross-circle-fill-small.2_Xjp4id.js.map +1 -0
  95. package/dist/chunks/{cross-circle-fill.DN5b3_eL.js → cross-circle-fill.CEUPgI5F.js} +4 -4
  96. package/dist/chunks/cross-circle-fill.CEUPgI5F.js.map +1 -0
  97. package/dist/chunks/{cross-small.CXWTuKA_.js → cross-small.DvCEQd10.js} +4 -4
  98. package/dist/chunks/cross-small.DvCEQd10.js.map +1 -0
  99. package/dist/chunks/{cross.OvPfvoqX.js → cross.CowwLfo4.js} +4 -4
  100. package/dist/chunks/cross.CowwLfo4.js.map +1 -0
  101. package/dist/chunks/{currency.CFJy6QYU.js → currency.BdtY-UIM.js} +3 -2
  102. package/dist/chunks/{currency.CFJy6QYU.js.map → currency.BdtY-UIM.js.map} +1 -1
  103. package/dist/chunks/{dashboard-section.BIH2wzgk.js → dashboard-section.BDkYN89r.js} +3 -3
  104. package/dist/chunks/{dashboard-section.BIH2wzgk.js.map → dashboard-section.BDkYN89r.js.map} +1 -1
  105. package/dist/chunks/{dashed-underline.CFJdLuJp.js → dashed-underline.CMKbg0Fq.js} +2 -2
  106. package/dist/chunks/{dashed-underline.CFJdLuJp.js.map → dashed-underline.CMKbg0Fq.js.map} +1 -1
  107. package/dist/chunks/{data-grid-template.21gqdYrs.js → data-grid-template.CydHXTmg.js} +3 -3
  108. package/dist/chunks/{data-grid-template.21gqdYrs.js.map → data-grid-template.CydHXTmg.js.map} +1 -1
  109. package/dist/chunks/{data-grid.DUwLxtW_.js → data-grid.CcGMljDl.js} +585 -538
  110. package/dist/chunks/data-grid.CcGMljDl.js.map +1 -0
  111. package/dist/chunks/{date-picker.21z_Sw4V.js → date-picker.BsXcXOgl.js} +99 -91
  112. package/dist/chunks/date-picker.BsXcXOgl.js.map +1 -0
  113. package/dist/chunks/{date-range-picker.K2TeW8aX.js → date-range-picker.BFm6Udzx.js} +338 -316
  114. package/dist/chunks/date-range-picker.BFm6Udzx.js.map +1 -0
  115. package/dist/chunks/{date.D8rQMzMG.js → date.CYUV4seY.js} +92 -92
  116. package/dist/chunks/{date.D8rQMzMG.js.map → date.CYUV4seY.js.map} +1 -1
  117. package/dist/chunks/{dialog-page.DALFn9KR.js → dialog-page.CjKMgUlz.js} +4 -3
  118. package/dist/chunks/dialog-page.CjKMgUlz.js.map +1 -0
  119. package/dist/chunks/{dropdown-default-textbox.Bu4bpNGU.js → dropdown-default-textbox.BopLaEkG.js} +4 -4
  120. package/dist/chunks/{dropdown-default-textbox.Bu4bpNGU.js.map → dropdown-default-textbox.BopLaEkG.js.map} +1 -1
  121. package/dist/chunks/{dropdown-tag.BNJnscD2.js → dropdown-tag.x3n5-YkA.js} +3 -3
  122. package/dist/chunks/{dropdown-tag.BNJnscD2.js.map → dropdown-tag.x3n5-YkA.js.map} +1 -1
  123. package/dist/chunks/{dropdown.ex87AZ7s.js → dropdown.BxvydNp0.js} +214 -194
  124. package/dist/chunks/dropdown.BxvydNp0.js.map +1 -0
  125. package/dist/chunks/{error-message.D2Y99KjT.js → error-message.CUZgtlDT.js} +44 -30
  126. package/dist/chunks/{error-message.D2Y99KjT.js.map → error-message.CUZgtlDT.js.map} +1 -1
  127. package/dist/chunks/es6.BvpG4Oi6.js.map +1 -1
  128. package/dist/chunks/{expand.CgwNEbbz.js → expand.B5tyMqaF.js} +4 -4
  129. package/dist/chunks/expand.B5tyMqaF.js.map +1 -0
  130. package/dist/chunks/{filter-bar.BAmG-yML.js → filter-bar.re1Tqyai.js} +728 -712
  131. package/dist/chunks/filter-bar.re1Tqyai.js.map +1 -0
  132. package/dist/chunks/{fixed-scroller.DwYB1pqo.js → fixed-scroller.Co0y0kWZ.js} +2 -2
  133. package/dist/chunks/{fixed-scroller.DwYB1pqo.js.map → fixed-scroller.Co0y0kWZ.js.map} +1 -1
  134. package/dist/chunks/{footer-actions.gtxofUAa.js → footer-actions.M83ZEElA.js} +2 -2
  135. package/dist/chunks/{footer-actions.gtxofUAa.js.map → footer-actions.M83ZEElA.js.map} +1 -1
  136. package/dist/chunks/{form-layout-title.Boi0QQZL.js → form-layout-title.ATi1W9uG.js} +2 -2
  137. package/dist/chunks/{form-layout-title.Boi0QQZL.js.map → form-layout-title.ATi1W9uG.js.map} +1 -1
  138. package/dist/chunks/{index.B_UZQ6qF.js → get-date-locale.BN8xEjY0.js} +855 -204
  139. package/dist/chunks/get-date-locale.BN8xEjY0.js.map +1 -0
  140. package/dist/chunks/{header.BMYhkrGT.js → header.CrNceSOd.js} +104 -98
  141. package/dist/chunks/{header.BMYhkrGT.js.map → header.CrNceSOd.js.map} +1 -1
  142. package/dist/chunks/{index.Z84QE0E2.js → index.CrhTVr5J.js} +2 -2
  143. package/dist/chunks/{index.Z84QE0E2.js.map → index.CrhTVr5J.js.map} +1 -1
  144. package/dist/chunks/{index.xqFSZOAb.js → index.DDnf1O9p.js} +2 -2
  145. package/dist/chunks/{index.xqFSZOAb.js.map → index.DDnf1O9p.js.map} +1 -1
  146. package/dist/chunks/{index.B_EJflcs.js → index.DPafeRJa.js} +2 -2
  147. package/dist/chunks/{index.B_EJflcs.js.map → index.DPafeRJa.js.map} +1 -1
  148. package/dist/chunks/{info-icon.DIu8FeJC.js → info-icon.CBiqUH3L.js} +2 -2
  149. package/dist/chunks/{info-icon.DIu8FeJC.js.map → info-icon.CBiqUH3L.js.map} +1 -1
  150. package/dist/chunks/{info.CIFBUqf-.js → info.D6XuLsYR.js} +4 -4
  151. package/dist/chunks/{info.CIFBUqf-.js.map → info.D6XuLsYR.js.map} +1 -1
  152. package/dist/chunks/{input-field.Dely7A8G.js → input-field.foJTqE5i.js} +3 -3
  153. package/dist/chunks/{input-field.Dely7A8G.js.map → input-field.foJTqE5i.js.map} +1 -1
  154. package/dist/chunks/{inspector.types.t2SPyhw3.js → inspector.types.X_7VgZmS.js} +44 -36
  155. package/dist/chunks/{inspector.types.t2SPyhw3.js.map → inspector.types.X_7VgZmS.js.map} +1 -1
  156. package/dist/chunks/link.2YS7haGc.js.map +1 -1
  157. package/dist/chunks/loading-button.BU536EK4.js +137 -0
  158. package/dist/chunks/loading-button.BU536EK4.js.map +1 -0
  159. package/dist/chunks/{menu.CLicp_2I.js → menu.CI4R2iw1.js} +6 -5
  160. package/dist/chunks/menu.CI4R2iw1.js.map +1 -0
  161. package/dist/chunks/{modal-fullscreen.Caqa7dDp.js → modal-fullscreen.B4sPrlfq.js} +37 -31
  162. package/dist/chunks/{modal-fullscreen.Caqa7dDp.js.map → modal-fullscreen.B4sPrlfq.js.map} +1 -1
  163. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.Dzmth-oW.js → modal.vue_vue_type_script_setup_true_lang.DuNQ8N4W.js} +31 -25
  164. package/dist/chunks/modal.vue_vue_type_script_setup_true_lang.DuNQ8N4W.js.map +1 -0
  165. package/dist/chunks/{pagination.I5w8bpUS.js → pagination.-1ibfp5g.js} +5 -4
  166. package/dist/chunks/pagination.-1ibfp5g.js.map +1 -0
  167. package/dist/chunks/{popover.DQP3ce2x.js → popover.BN52L17t.js} +3 -3
  168. package/dist/chunks/{popover.DQP3ce2x.js.map → popover.BN52L17t.js.map} +1 -1
  169. package/dist/chunks/{radio-group.lOSBHghv.js → radio-group.RLUDLHPT.js} +3 -3
  170. package/dist/chunks/{radio-group.lOSBHghv.js.map → radio-group.RLUDLHPT.js.map} +1 -1
  171. package/dist/chunks/{refresh.DvQeGwUF.js → refresh.DPE_95xY.js} +4 -4
  172. package/dist/chunks/refresh.DPE_95xY.js.map +1 -0
  173. package/dist/chunks/{search-bar.GCRTgBUA.js → search-bar.CCWTGvJ6.js} +50 -42
  174. package/dist/chunks/{search-bar.GCRTgBUA.js.map → search-bar.CCWTGvJ6.js.map} +1 -1
  175. package/dist/chunks/{search.EnLryD8V.js → search.DJr0124y.js} +4 -4
  176. package/dist/chunks/{search.EnLryD8V.js.map → search.DJr0124y.js.map} +1 -1
  177. package/dist/chunks/{secondary-nav.CGH_6m7u.js → secondary-nav.D81GEGuc.js} +2 -2
  178. package/dist/chunks/{secondary-nav.CGH_6m7u.js.map → secondary-nav.D81GEGuc.js.map} +1 -1
  179. package/dist/chunks/{selection-card-group.BdTuPhEm.js → selection-card-group.3OexUu8G.js} +4 -4
  180. package/dist/chunks/{selection-card-group.BdTuPhEm.js.map → selection-card-group.3OexUu8G.js.map} +1 -1
  181. package/dist/chunks/{sidepanel.DA8nQepj.js → sidepanel.iEewXNIJ.js} +38 -32
  182. package/dist/chunks/{sidepanel.DA8nQepj.js.map → sidepanel.iEewXNIJ.js.map} +1 -1
  183. package/dist/chunks/{step.ClnCjesW.js → step.CyvTQbAk.js} +29 -28
  184. package/dist/chunks/step.CyvTQbAk.js.map +1 -0
  185. package/dist/chunks/{structured-list-item.Z-1ivOFu.js → structured-list-item.DZvCfZuG.js} +36 -30
  186. package/dist/chunks/{structured-list-item.Z-1ivOFu.js.map → structured-list-item.DZvCfZuG.js.map} +1 -1
  187. package/dist/chunks/{summary-grid-item-custom.Dq3IIEvH.js → summary-grid-item-custom.BRXtpB7y.js} +3 -3
  188. package/dist/chunks/{summary-grid-item-custom.Dq3IIEvH.js.map → summary-grid-item-custom.BRXtpB7y.js.map} +1 -1
  189. package/dist/chunks/{tabs.xY_6yqmE.js → tabs.BUPiNLbZ.js} +2 -2
  190. package/dist/chunks/{tabs.xY_6yqmE.js.map → tabs.BUPiNLbZ.js.map} +1 -1
  191. package/dist/chunks/{textarea.kYFGQFwd.js → textarea.Bk8-ivBT.js} +3 -3
  192. package/dist/chunks/{textarea.kYFGQFwd.js.map → textarea.Bk8-ivBT.js.map} +1 -1
  193. package/dist/chunks/{timeline-item.D-Yy2qQr.js → timeline-item.USmzRWfs.js} +84 -77
  194. package/dist/chunks/timeline-item.USmzRWfs.js.map +1 -0
  195. package/dist/chunks/{toast.CIVPmwmU.js → toast.BwPhzM1x.js} +2 -2
  196. package/dist/chunks/{toast.CIVPmwmU.js.map → toast.BwPhzM1x.js.map} +1 -1
  197. package/dist/chunks/{toggle.8t4flh_3.js → toggle.PLkyyLr1.js} +2 -2
  198. package/dist/chunks/{toggle.8t4flh_3.js.map → toggle.PLkyyLr1.js.map} +1 -1
  199. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.D-ZFDn95.js → tutorial.vue_vue_type_script_setup_true_lang.CoFRoKtq.js} +85 -72
  200. package/dist/chunks/tutorial.vue_vue_type_script_setup_true_lang.CoFRoKtq.js.map +1 -0
  201. package/dist/chunks/{use-cached-selected-values.ClVxNmUf.js → use-cached-selected-values.DditZmZy.js} +92 -77
  202. package/dist/chunks/use-cached-selected-values.DditZmZy.js.map +1 -0
  203. package/dist/chunks/{warning-filled.Dm_HhqzW.js → warning-filled.CKoabS8f.js} +4 -4
  204. package/dist/chunks/{warning-filled.Dm_HhqzW.js.map → warning-filled.CKoabS8f.js.map} +1 -1
  205. package/dist/code-snippet.js +1 -1
  206. package/dist/currency.js +1 -1
  207. package/dist/dashboard-template.js +1 -1
  208. package/dist/dashed-underline.js +1 -1
  209. package/dist/data-grid-template.js +1 -1
  210. package/dist/data-grid.js +1 -1
  211. package/dist/date-picker.js +2 -2
  212. package/dist/date-range-picker.js +2 -2
  213. package/dist/date.js +1 -1
  214. package/dist/dropdown.js +4 -4
  215. package/dist/filter-bar.js +1 -1
  216. package/dist/form-layout.js +1 -1
  217. package/dist/header.js +1 -1
  218. package/dist/index.js +50 -50
  219. package/dist/info-icon.js +1 -1
  220. package/dist/input-field.js +1 -1
  221. package/dist/inspector.js +1 -1
  222. package/dist/internal.js +7 -7
  223. package/dist/menu.js +1 -1
  224. package/dist/modal-fullscreen.js +1 -1
  225. package/dist/modal.js +2 -2
  226. package/dist/pagination.js +1 -1
  227. package/dist/popover.js +1 -1
  228. package/dist/radio-group.js +1 -1
  229. package/dist/search-bar.js +2 -2
  230. package/dist/secondary-nav.js +1 -1
  231. package/dist/selection-card.js +1 -1
  232. package/dist/sidepanel.js +1 -1
  233. package/dist/stepper.js +1 -1
  234. package/dist/structured-list.js +1 -1
  235. package/dist/styles/bento.css +3 -0
  236. package/dist/styles/legacy.css +3 -0
  237. package/dist/styles/styleguide.css +3 -0
  238. package/dist/summary-grid.js +1 -1
  239. package/dist/tabs.js +1 -1
  240. package/dist/textarea.js +1 -1
  241. package/dist/timeline.js +1 -1
  242. package/dist/toast.js +1 -1
  243. package/dist/toggle.js +1 -1
  244. package/dist/tutorial.js +1 -1
  245. package/dist/web-types.json +1 -1
  246. package/package.json +4 -4
  247. package/dist/chunks/accordion-item.CQ8DLt9l.js +0 -126
  248. package/dist/chunks/accordion-item.CQ8DLt9l.js.map +0 -1
  249. package/dist/chunks/alert.Bz4tNKDH.js.map +0 -1
  250. package/dist/chunks/avatar.mNlMngHQ.js.map +0 -1
  251. package/dist/chunks/calendar.D--sOCBT.js.map +0 -1
  252. package/dist/chunks/card.BvSoujBc.js.map +0 -1
  253. package/dist/chunks/checkbox-input.JdcvpfTa.js.map +0 -1
  254. package/dist/chunks/checkmark-circle-fill.ChV7Jy6r.js.map +0 -1
  255. package/dist/chunks/checkmark-small.DEc2T64_.js.map +0 -1
  256. package/dist/chunks/chevron-left.NvV5m76j.js.map +0 -1
  257. package/dist/chunks/chevron-up.DQZG_BP3.js.map +0 -1
  258. package/dist/chunks/code-snippet.BWM5w4CP.js.map +0 -1
  259. package/dist/chunks/copy.h-wVGvID.js.map +0 -1
  260. package/dist/chunks/cross-circle-fill-small.BXO78Wde.js.map +0 -1
  261. package/dist/chunks/cross-circle-fill.DN5b3_eL.js.map +0 -1
  262. package/dist/chunks/cross-small.CXWTuKA_.js.map +0 -1
  263. package/dist/chunks/cross.OvPfvoqX.js.map +0 -1
  264. package/dist/chunks/data-grid.DUwLxtW_.js.map +0 -1
  265. package/dist/chunks/date-picker.21z_Sw4V.js.map +0 -1
  266. package/dist/chunks/date-range-picker.K2TeW8aX.js.map +0 -1
  267. package/dist/chunks/dialog-page.DALFn9KR.js.map +0 -1
  268. package/dist/chunks/dropdown.ex87AZ7s.js.map +0 -1
  269. package/dist/chunks/expand.CgwNEbbz.js.map +0 -1
  270. package/dist/chunks/filter-bar.BAmG-yML.js.map +0 -1
  271. package/dist/chunks/index.B_UZQ6qF.js.map +0 -1
  272. package/dist/chunks/loading-button.Mx-oDIGy.js +0 -123
  273. package/dist/chunks/loading-button.Mx-oDIGy.js.map +0 -1
  274. package/dist/chunks/menu.CLicp_2I.js.map +0 -1
  275. package/dist/chunks/modal.vue_vue_type_script_setup_true_lang.Dzmth-oW.js.map +0 -1
  276. package/dist/chunks/pagination.I5w8bpUS.js.map +0 -1
  277. package/dist/chunks/refresh.DvQeGwUF.js.map +0 -1
  278. package/dist/chunks/step.ClnCjesW.js.map +0 -1
  279. package/dist/chunks/timeline-item.D-Yy2qQr.js.map +0 -1
  280. package/dist/chunks/tutorial.vue_vue_type_script_setup_true_lang.D-ZFDn95.js.map +0 -1
  281. package/dist/chunks/use-cached-selected-values.ClVxNmUf.js.map +0 -1
  282. /package/dist/assets/{cross.css → main.css} +0 -0
@@ -1,24 +1,30 @@
1
- import { defineComponent as $, useSlots as ee, ref as g, computed as d, inject as ce, watch as Y, nextTick as re, onUnmounted as me, openBlock as A, createBlock as S, normalizeClass as q, createSlots as te, withCtx as l, createElementVNode as h, normalizeStyle as O, unref as t, renderSlot as c, createCommentVNode as w, createVNode as J, useAttrs as ge, onMounted as ve, provide as G, toRefs as fe, createElementBlock as pe, withKeys as ye, withDirectives as _e } from "vue";
1
+ import { defineComponent as $, useSlots as ee, ref as g, computed as d, inject as ce, watch as Y, nextTick as re, onUnmounted as me, openBlock as A, createBlock as S, normalizeClass as J, createSlots as te, withCtx as l, createElementVNode as L, normalizeStyle as O, unref as t, renderSlot as c, createCommentVNode as w, createVNode as q, useAttrs as ge, onMounted as ve, provide as G, toRefs as fe, createElementBlock as pe, withKeys as ye, withDirectives as _e } from "vue";
2
2
  import { B as be } from "./button.Br6CyG40.js";
3
- import { B as Le } from "./focus-trap.CwkbHfT8.js";
3
+ import { B as he } from "./focus-trap.CwkbHfT8.js";
4
4
  import { u as ae } from "./use-has-slot.B7eQSabc.js";
5
- import { u as he } from "./i18n.DL9GT2-k.js";
5
+ import { u as Le } from "./i18n.DL9GT2-k.js";
6
6
  import { M as Ae } from "./base-modal.keys.C2PQXcE2.js";
7
7
  import { g as Ce } from "./unique-id.XFfoKuc2.js";
8
8
  import { B as Ee } from "./directive.O3yEdalv.js";
9
9
  import { B as Z } from "./typography.z9P0Ec3Q.js";
10
- import { F as Ie } from "./footer-actions.gtxofUAa.js";
11
- import { D as Oe, B as Se, b as Pe, a as De } from "./dialog-page.DALFn9KR.js";
10
+ import { F as Ie } from "./footer-actions.M83ZEElA.js";
11
+ import { D as Oe, B as Se, b as Pe, a as De } from "./dialog-page.CjKMgUlz.js";
12
12
  import { o as ke } from "./resize.Bqks3WUm.js";
13
13
  import { G as Be, a as Te } from "./grid-layout.CqLbbEzI.js";
14
14
  import { _ as oe } from "./_plugin-vue_export-helper.CHgC5LLL.js";
15
- import { C as Ne } from "./cross.OvPfvoqX.js";
15
+ import { C as Ne } from "./cross.CowwLfo4.js";
16
16
  import "../assets/base-modal.css";
17
17
  var Ge = /* @__PURE__ */ ((e) => (e.DEFAULT = "default", e.DIALOG = "dialog", e))(Ge || {}), we = /* @__PURE__ */ ((e) => (e.DEFAULT = "BentoModalDefault", e.DIALOG = "BentoModalDialog", e))(we || {}), R = /* @__PURE__ */ ((e) => (e.SMALL = "small", e.MEDIUM = "medium", e.LARGE = "large", e))(R || {}), k = /* @__PURE__ */ ((e) => (e.SMALLER = "smaller", e.EQUAL = "equal", e.BIGGER = "bigger", e))(k || {}), W = /* @__PURE__ */ ((e) => (e.DIALOG = "dialog", e.ALERT_DIALOG = "alertdialog", e))(W || {}), Re = /* @__PURE__ */ ((e) => (e.CONFIRMATION = "confirmation", e.DESTRUCTIVE = "destructive", e.INFO = "info", e.ACKNOWLEDGEMENT = "acknowledgement", e))(Re || {}), $e = /* @__PURE__ */ ((e) => (e.CLOSE_MODAL = "close-modal", e))($e || {});
18
18
  const ne = {
19
19
  "en-US": {
20
20
  ariaLabelFallback: "modal",
21
21
  close: "Close"
22
+ },
23
+ "pt-BR": {
24
+ close: "Fechar"
25
+ },
26
+ "ja-JP": {
27
+ close: "閉じる"
22
28
  }
23
29
  }, se = Symbol("modal config data injection key"), Me = { class: "b-modal-page__header" }, ze = {
24
30
  "aria-label": "modal actions",
@@ -136,12 +142,12 @@ const ne = {
136
142
  { small: 6, medium: 6, large: 6 },
137
143
  { small: 6, medium: 6, large: 6 }
138
144
  ]), { activePage: b, height: o, isAnimationActive: P, pageCustomPadding: C, showCloseButton: F, size: U } = ce(se), K = d(() => b.value === n.pageId || !b.value);
139
- let L = null;
145
+ let h = null;
140
146
  return Y(
141
147
  () => b.value,
142
148
  async (s, r) => {
143
149
  var m, v;
144
- K.value && (await re(), o.value = `${(v = (m = p.value) == null ? void 0 : m.$el) == null ? void 0 : v.clientHeight}px`, C.value = n.customPadding, P.value = r !== void 0, L = ke(p.value, () => {
150
+ K.value && (await re(), o.value = `${(v = (m = p.value) == null ? void 0 : m.$el) == null ? void 0 : v.clientHeight}px`, C.value = n.customPadding, P.value = r !== void 0, h = ke(p.value, () => {
145
151
  var T, E;
146
152
  const D = `${(E = (T = p.value) == null ? void 0 : T.$el) == null ? void 0 : E.clientHeight}px`;
147
153
  D && D !== o.value && (o.value = D);
@@ -149,13 +155,13 @@ const ne = {
149
155
  },
150
156
  { immediate: !0 }
151
157
  ), me(() => {
152
- L == null || L.disconnect();
158
+ h == null || h.disconnect();
153
159
  }), (s, r) => {
154
160
  var m;
155
161
  return A(), S(Oe, {
156
162
  ref_key: "page",
157
163
  ref: p,
158
- class: q(["b-modal-page", z.value]),
164
+ class: J(["b-modal-page", z.value]),
159
165
  "page-id": e.pageId,
160
166
  "always-show-border": _.value,
161
167
  "back-button-styling": (m = i.value) == null ? void 0 : m.backButton,
@@ -163,8 +169,8 @@ const ne = {
163
169
  onAnimationend: r[0] || (r[0] = (v) => P.value = !1)
164
170
  }, te({
165
171
  content: l(() => [
166
- h("div", {
167
- class: q(["b-modal-page__content", y.value]),
172
+ L("div", {
173
+ class: J(["b-modal-page__content", y.value]),
168
174
  style: O(i.value.content)
169
175
  }, [
170
176
  t(u)("content") || t(u)("content-col-1") && t(u)("content-col-2") ? (A(), S(t(Z), {
@@ -197,12 +203,12 @@ const ne = {
197
203
  t(u)("default") || t(F) ? {
198
204
  name: "header",
199
205
  fn: l(() => [
200
- h("div", {
206
+ L("div", {
201
207
  class: "b-modal-page__header-container",
202
208
  style: O(i.value.header)
203
209
  }, [
204
- h("div", Me, [
205
- J(t(Z), {
210
+ L("div", Me, [
211
+ q(t(Z), {
206
212
  class: "b-modal-page__title",
207
213
  "aria-label": "base modal title",
208
214
  el: "span",
@@ -222,11 +228,11 @@ const ne = {
222
228
  t(u)("actions") ? {
223
229
  name: "footer",
224
230
  fn: l(() => [
225
- h("div", {
231
+ L("div", {
226
232
  class: "b-modal-page__actions-container",
227
233
  style: O(i.value.actions)
228
234
  }, [
229
- h("div", ze, [
235
+ L("div", ze, [
230
236
  c(s.$slots, "actions", {}, void 0, !0)
231
237
  ])
232
238
  ], 4)
@@ -235,11 +241,11 @@ const ne = {
235
241
  } : e.actions && e.actions.length > 0 ? {
236
242
  name: "footer",
237
243
  fn: l(() => [
238
- h("div", {
244
+ L("div", {
239
245
  class: "b-modal-page__actions-container",
240
246
  style: O(i.value.actions)
241
247
  }, [
242
- J(t(Ie), {
248
+ q(t(Ie), {
243
249
  actions: e.actions,
244
250
  "actions-label": e.actionsLabel,
245
251
  "destructive-actions": e.destructiveActions
@@ -251,11 +257,11 @@ const ne = {
251
257
  ]), 1032, ["class", "page-id", "always-show-border", "back-button-styling", "previous-page"]);
252
258
  };
253
259
  }
254
- }), Ke = /* @__PURE__ */ oe(Ue, [["__scopeId", "data-v-914a0ef3"]]), He = { class: "b-modal-base" }, Ye = ["role", "aria-label", "open"], qe = $({
260
+ }), Ke = /* @__PURE__ */ oe(Ue, [["__scopeId", "data-v-914a0ef3"]]), He = { class: "b-modal-base" }, Ye = ["role", "aria-label", "open"], Je = $({
255
261
  i18n: { messages: ne },
256
262
  name: "base-modal"
257
- }), Je = /* @__PURE__ */ $({
258
- ...qe,
263
+ }), qe = /* @__PURE__ */ $({
264
+ ...Je,
259
265
  props: {
260
266
  /**
261
267
  * List of actions that will be used to render the buttons.
@@ -346,7 +352,7 @@ const ne = {
346
352
  },
347
353
  emits: ["update:active-page", "close-modal"],
348
354
  setup(e, { expose: j, emit: M }) {
349
- const { t: p } = he({ messages: ne }), n = ee(), z = ge(), y = ae(n), i = g(null), _ = g(!1), B = Ce("modal"), b = M, o = e, P = d(() => o.isDismissible && !o.hideCloseButton), C = g(o.customPadding), F = d(() => C.value ? { top: C.value, right: C.value } : {}), U = d(() => z["aria-label"] ?? p("ariaLabelFallback")), K = d(() => o.withColumnLayout && o.size === R.LARGE), L = () => {
355
+ const { t: p } = Le({ messages: ne }), n = ee(), z = ge(), y = ae(n), i = g(null), _ = g(!1), B = Ce("modal"), b = M, o = e, P = d(() => o.isDismissible && !o.hideCloseButton), C = g(o.customPadding), F = d(() => C.value ? { top: C.value, right: C.value } : {}), U = d(() => z["aria-label"] ?? p("ariaLabelFallback")), K = d(() => o.withColumnLayout && o.size === R.LARGE), h = () => {
350
356
  i.value.showModal();
351
357
  }, s = () => {
352
358
  b("close-modal");
@@ -369,7 +375,7 @@ const ne = {
369
375
  ([a, f], [, H]) => {
370
376
  if (!f)
371
377
  return;
372
- a ? (L(), I.value.length || I.value.push(E.value)) : !H || m();
378
+ a ? (h(), I.value.length || I.value.push(E.value)) : !H || m();
373
379
  }
374
380
  ), Y(
375
381
  () => o.actions,
@@ -379,7 +385,7 @@ const ne = {
379
385
  },
380
386
  { deep: !0 }
381
387
  ), ve(() => {
382
- o.isOpen && i.value && L();
388
+ o.isOpen && i.value && h();
383
389
  }), j({
384
390
  internalModalActionClose: v
385
391
  }), G(Ae, B);
@@ -402,18 +408,18 @@ const ne = {
402
408
  previousPages: I,
403
409
  updatePage: ie
404
410
  }), G(De, de), (a, f) => (A(), pe("div", He, [
405
- h("dialog", {
411
+ L("dialog", {
406
412
  ref_key: "modal",
407
413
  ref: i,
408
414
  role: e.modalRole,
409
415
  "aria-label": U.value,
410
416
  style: O({ height: V.value }),
411
- class: q(["b-modal-base__container", T.value]),
417
+ class: J(["b-modal-base__container", T.value]),
412
418
  open: e.initiallyOpen,
413
419
  onAnimationend: r,
414
420
  onKeydown: ye(v, ["esc"])
415
421
  }, [
416
- t(x) || e.initiallyOpen ? _e((A(), S(t(Le), {
422
+ t(x) || e.initiallyOpen ? _e((A(), S(t(he), {
417
423
  key: 0,
418
424
  id: t(B)
419
425
  }, {
@@ -427,7 +433,7 @@ const ne = {
427
433
  onClick: v
428
434
  }, {
429
435
  default: l(() => [
430
- J(t(Ne), {
436
+ q(t(Ne), {
431
437
  "svg-title": t(p)("close")
432
438
  }, null, 8, ["svg-title"])
433
439
  ]),
@@ -484,7 +490,7 @@ const ne = {
484
490
  ], 46, Ye)
485
491
  ]));
486
492
  }
487
- }), dt = /* @__PURE__ */ oe(Je, [["__scopeId", "data-v-e1e1730f"]]);
493
+ }), dt = /* @__PURE__ */ oe(qe, [["__scopeId", "data-v-e1e1730f"]]);
488
494
  export {
489
495
  Ke as B,
490
496
  Ge as a,
@@ -496,4 +502,4 @@ export {
496
502
  $e as g,
497
503
  dt as h
498
504
  };
499
- //# sourceMappingURL=base-modal.Bl7DBkt0.js.map
505
+ //# sourceMappingURL=base-modal.BbiSFAn1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-modal.Bl7DBkt0.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 { ComputedRef, Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalColumnLayoutVariant {\n SMALLER = 'smaller',\n EQUAL = 'equal',\n BIGGER = 'bigger',\n}\n\nexport enum BentoModalRole {\n DIALOG = 'dialog',\n ALERT_DIALOG = 'alertdialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalDialogType {\n CONFIRMATION = 'confirmation',\n DESTRUCTIVE = 'destructive',\n INFO = 'info',\n ACKNOWLEDGEMENT = 'acknowledgement',\n}\n\nexport enum BentoModalEvent {\n CLOSE_MODAL = 'close-modal',\n}\n\n/**\n * Private\n */\nexport interface BentoModalConfigData {\n activePage: Ref<string>;\n height: Ref<string>;\n isAnimationActive: Ref<boolean>;\n pageCustomPadding: Ref<string>;\n showCloseButton: ComputedRef<boolean>;\n size: Ref<BentoModalSize | `${BentoModalSize}`>;\n}\n","export const MODAL_CONFIG_INJECTION_KEY = Symbol('modal config data injection key');\n","<template>\n <dialog-page\n ref=\"page\"\n class=\"b-modal-page\"\n :class=\"modalPageConditionalClasses\"\n :page-id=\"pageId\"\n :always-show-border=\"hasColumnLayout\"\n :back-button-styling=\"customPaddingStyles?.backButton\"\n :previous-page=\"previousPage\"\n @animationend=\"isAnimationActive = false\"\n >\n <template v-if=\"hasSlot('default') || showCloseButton\" #header>\n <div class=\"b-modal-page__header-container\" :style=\"customPaddingStyles.header\">\n <div class=\"b-modal-page__header\">\n <bento-typography\n class=\"b-modal-page__title\"\n aria-label=\"base modal title\"\n el=\"span\"\n variant=\"title\"\n stronger\n >\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, PropType, ref, useSlots, watch } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n BentoModalConfigData,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoTypography } from '@/components/typography';\n import { BentoButtonActionsList } from '@/components/button';\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\n const CLOSE_BUTTON_ICON_WIDTH = 26;\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const page = ref<InstanceType<typeof DialogPage>>(null);\n\n const props = defineProps({\n /**\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 * Text label that is displayed left to the action buttons\n */\n actionsLabel: { type: String, default: null },\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 * 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 * Identifier of the page, used with activePage prop to handle modal navigation\n */\n pageId: {\n type: String,\n default: undefined,\n },\n\n /**\n * ID of the page for the back button to navigate to. Only use it to overwrite the default back behavior\n * Used when the back button should not take the user to the natural previous page\n * Set to `null` to hide back button in the page\n */\n previousPage: {\n type: String,\n default: undefined,\n },\n });\n\n const modalPageConditionalClasses = computed(() => ({\n 'b-modal-page--custom-padding': props.customPadding,\n }));\n\n const modalContentConditionalClasses = computed(() => ({\n 'b-modal-page__content--with-header': hasSlot('default'),\n 'b-modal-page__content--with-actions': hasSlot('actions') || props.actions?.length,\n }));\n\n // Setting custom padding styles\n const customPaddingStyles = computed(() => {\n if (!props.customPadding) {\n return {};\n }\n\n const xPadding = {\n paddingLeft: props.customPadding,\n paddingRight: props.customPadding,\n };\n\n const content = { ...xPadding, paddingTop: undefined, paddingBottom: undefined };\n\n if (!hasSlot('default')) {\n content.paddingTop = props.customPadding;\n }\n\n if (!hasSlot('actions')) {\n content.paddingBottom = props.customPadding;\n }\n\n return {\n header: {\n ...xPadding,\n paddingTop: props.customPadding,\n paddingRight: `${parseInt(props.customPadding, 10) + CLOSE_BUTTON_ICON_WIDTH}px`,\n flex: 1,\n },\n content,\n actions: { ...xPadding, paddingBottom: props.customPadding },\n backButton: { top: props.customPadding, paddingLeft: props.customPadding },\n };\n });\n\n // Column layout styles\n const hasColumnLayout = computed(() => props.withColumnLayout && size.value === BentoModalSize.LARGE);\n\n const computedColumnWidth = computed(() => {\n if (props.columnsSize === BentoModalColumnLayoutVariant.SMALLER) {\n return [\n { small: 4, medium: 4, large: 4 },\n { small: 8, medium: 8, large: 8 },\n ];\n }\n if (props.columnsSize === BentoModalColumnLayoutVariant.BIGGER) {\n return [\n { small: 8, medium: 8, large: 8 },\n { small: 4, medium: 4, large: 4 },\n ];\n }\n return [\n { small: 6, medium: 6, large: 6 },\n { small: 6, medium: 6, large: 6 },\n ];\n });\n\n // Register page to parent component and inject data from parent component\n const { activePage, height, isAnimationActive, pageCustomPadding, showCloseButton, size } =\n inject<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY);\n\n const isCurrentPage = computed(() => activePage.value === props.pageId || !activePage.value);\n\n // Animation\n // Set resize observer on mount of update the height of the dialog on resize\n let pageElementObserver: ResizeObserver | null = null;\n\n // Watching activePage changes to set the height of the page and set isAnimationActive\n watch(\n () => activePage.value,\n async (value, oldValue) => {\n if (isCurrentPage.value) {\n await nextTick();\n height.value = `${page.value?.$el?.clientHeight}px`;\n pageCustomPadding.value = props.customPadding;\n // only set isAnimationActive to true if its going from two different pages and not from null to the first page\n isAnimationActive.value = oldValue !== undefined;\n\n pageElementObserver = observeSizeOfElement(page.value, () => {\n const pageHeight = `${page.value?.$el?.clientHeight}px`;\n if (pageHeight && pageHeight !== height.value) {\n height.value = pageHeight;\n }\n });\n }\n },\n { immediate: true }\n );\n\n // Disconnect observer on unmounting the page\n onUnmounted(() => {\n pageElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * ModalPage is used to render different pages of the Modal component\n *\n * @example\n * import { BentoModal, BentoModalPage } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoModal, BentoModalPage },\n * template: `\n * <bento-modal active-page='page1' :is-open='true'>\n * <bento-modal-page\n * pageId='page1'\n * actions-label='Move to next page'\n * :actions=\"[\n * {\n * title: 'Next page',\n * event: () => {\n * activePage.value = 'page2';\n * },\n * }]\">\n * Page 1\n * <template #content>\n * Page 1 content\n * </template>\n * </bento-modal-page>\n * <bento-modal-page\n * pageId='page2'\n * :actions=\"[\n * {\n * title: 'Save',\n * event: () => {},\n * }]\">\n * Page 2\n * <template #content>\n * Page 2 content\n * </template>\n * </bento-modal-page>\n * </bento-modal>\n * `\n * }\n */\n export default defineComponent({});\n</script>\n\n<style lang=\"scss\" scoped src=\"./modal-page.scss\" />\n","<template>\n <div class=\"b-modal-base\">\n <dialog\n ref=\"modal\"\n :role=\"modalRole\"\n :aria-label=\"computedAriaLabel\"\n :style=\"{ height: height }\"\n class=\"b-modal-base__container\"\n :class=\"modalConditionalClasses\"\n :open=\"initiallyOpen\"\n @animationend=\"closeModalAfterAnimation\"\n @keydown.esc=\"internalModalActionClose\"\n >\n <bento-focus-trap\n v-if=\"isOpen || initiallyOpen\"\n :id=\"modalId\"\n v-bento-click-outside-directive=\"closeModalOnClickOutside\"\n >\n <bento-button\n v-if=\"showCloseButton\"\n class=\"b-modal-base__close-button\"\n variant=\"tertiary\"\n type=\"button\"\n :style=\"customPaddingStyles\"\n @click=\"internalModalActionClose\"\n >\n <cross-icon :svg-title=\"t('close')\" />\n </bento-button>\n <template v-if=\"props.activePage\">\n <slot />\n </template>\n <bento-modal-page\n v-else\n :with-column-layout=\"withColumnLayout\"\n :size=\"size\"\n :custom-padding=\"customPadding\"\n :columns-size=\"columnsSize\"\n >\n <template v-if=\"hasSlot('default')\" #default>\n <slot></slot>\n </template>\n <template v-if=\"hasSlot('content-col-1')\" #content-col-1\n ><slot name=\"content-col-1\"></slot\n ></template>\n <template v-if=\"hasSlot('content-col-2')\" #content-col-2\n ><slot name=\"content-col-2\"></slot\n ></template>\n <template v-if=\"hasSlot('content')\" #content><slot name=\"content\"></slot></template>\n <template v-if=\"hasSlot('actions')\" #actions><slot name=\"actions\"></slot></template>\n </bento-modal-page>\n </bento-focus-trap>\n </dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {\n computed,\n defineComponent,\n onMounted,\n PropType,\n provide,\n ref,\n toRefs,\n useAttrs,\n useSlots,\n watch,\n } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n BentoModalConfigData,\n BentoModalRole,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoButton, BentoButtonActionsList } from '@/components/button';\n import { BentoFocusTrap } from '@/components/focus-trap';\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import { MODAL_DIALOG_ID_INJECTION_KEY } from '@/components/modal/components/base-modal/base-modal.keys';\n import { generateUid } from '@/utils/ts/unique-id';\n import { BentoClickOutsideDirective as vBentoClickOutsideDirective } from '@/directives/click-outside';\n import messages from './messages.json';\n\n import { BentoModalPage } from '@/components/modal';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n\n import { MODAL_CONFIG_INJECTION_KEY } from '../../modal.keys';\n import {\n BentoDialogPageAnimation,\n BentoDialogPageConfigData,\n BentoDialogPageRegisterPage,\n DIALOG_PAGE_CONFIG_INJECTION_KEY,\n DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY,\n } from '@/internal';\n\n type MessageSchema = (typeof messages)['en-US'];\n const LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME = 500;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const slots = useSlots();\n const attrs = useAttrs();\n const hasSlot = useHasSlot(slots);\n const modal = ref<HTMLDialogElement>(null);\n const isClosing = ref(false);\n const modalId = generateUid('modal');\n\n const emit = defineEmits<{\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) {\n modal.value.close();\n if (previousPages.value[0]) {\n emit('update:active-page', previousPages.value[0]);\n }\n previousPages.value = [];\n isClosing.value = false;\n emitCloseEvent();\n }\n };\n\n const startCloseModalAnimation = () => {\n if (!modal.value.open) {\n return;\n }\n isClosing.value = true;\n };\n\n /**\n * If the user has pressed escape, clicked outside or clicked the close icon.\n * Needs to be called from outside, following the \"dialog.close()\" pattern,\n * when the closing event is triggered outside of the \"base-modal\"\n * component (e.g. from a closing action).\n */\n const internalModalActionClose = (event?: Event) => {\n if (event) {\n event.preventDefault();\n }\n if (!props.isDismissible && props.modalRole === BentoModalRole.DIALOG) {\n return;\n }\n startCloseModalAnimation();\n };\n\n const closeModalOnClickOutside = () => {\n if (props.isDismissible) {\n internalModalActionClose();\n }\n };\n\n const modalConditionalClasses = computed(() => ({\n [`b-modal-base__container--${props.size}`]: props.size,\n 'b-modal-base__container--hide': isClosing.value,\n 'b-modal-base__container--column-layout': hasColumnLayout.value,\n 'b-modal-base__container--animation': isAnimationActive.value,\n }));\n\n watch(\n () => [props.isOpen, modal.value],\n ([newIsOpen, newModalValue], [, oldModalValue]): void => {\n if (!newModalValue) {\n return;\n }\n\n const isFirstMutation = !oldModalValue;\n if (newIsOpen) {\n openModal();\n // add the first page to the array when the modal opens\n if (!previousPages.value.length) {\n previousPages.value.push(activePage.value);\n }\n } else if (!isFirstMutation) {\n startCloseModalAnimation();\n }\n }\n );\n\n // If the first button is a loading button then close the modal have 0.5 seconds\n // if the state is changed to 'success'.\n watch(\n () => props.actions,\n () => {\n if (props.actions?.[0]?.state === 'success') {\n setTimeout(startCloseModalAnimation, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME);\n }\n },\n { deep: true }\n );\n\n onMounted(() => {\n if (props.isOpen && modal.value) {\n openModal();\n }\n });\n\n /**\n * Expose methods through its 'ref'\n */\n defineExpose({\n internalModalActionClose,\n });\n\n // Let's Children components know they are inside a Modal (dialog element)\n provide(MODAL_DIALOG_ID_INJECTION_KEY, modalId);\n\n // Modal pagination\n const { activePage, isOpen, size } = toRefs(props);\n const animation = ref(BentoDialogPageAnimation.TRANSITION_LEVEL_DEEPER);\n\n const pages = ref<string[]>([]);\n const previousPages = ref([]);\n\n const updatePage = page => emit('update:active-page', page);\n\n // unregister page if removed / destroyed\n const unregisterPage = (pageIdToRemove: string) => () => {\n pages.value = pages.value?.filter(pageId => pageId !== pageIdToRemove);\n };\n\n // Provide data and function to register page to subcomponent\n const registerPage: BentoDialogPageRegisterPage = pageId => {\n if (pageId) {\n pages.value.push(pageId);\n }\n\n return { unregisterPage: unregisterPage(pageId) };\n };\n\n const height = ref('');\n const isAnimationActive = ref(false);\n\n provide<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY, {\n activePage,\n height,\n isAnimationActive,\n pageCustomPadding,\n showCloseButton,\n size,\n });\n\n provide<BentoDialogPageConfigData>(DIALOG_PAGE_CONFIG_INJECTION_KEY, {\n activePage,\n animation,\n isOpen,\n pages,\n previousPages,\n updatePage,\n });\n\n provide(DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY, registerPage);\n</script>\n\n<script lang=\"ts\">\n /**\n * Dialog container. It creates a dialog HTML element for the modal to use.\n *\n * @example\n * import BaseModal from './components/base-modal/base-modal.vue';\n *\n * export default {\n * components: { BaseModal },\n * template: `\n * <base-modal\n * :hide-close-button=\"true\"\n * :is-dismissible=\"false\"\n * :is-open=\"isOpen\"\n * @close-modal=\"isOpen = false\"\n * >\n * <template #content-col-1>\n * // Content on the left side column\n * </template>\n *\n * <template #content-col-2>\n * // Content on the right side column\n * </template>\n *\n * <template v-if=\"actions\" #actions>\n * <footer-actions :actions=\"actions\" />\n * </template>\n * </base-modal>\n * `,\n * setup() {\n * const isOpen = ref(true)\n * const footerActions = [{\n * title: 'Primary action',\n * event: () => { ... }\n * }]\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'base-modal',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-modal.scss\" />\n"],"names":["BentoModalVariant","BentoModalVariant2","BentoModalVariantMapping","BentoModalVariantMapping2","BentoModalSize","BentoModalSize2","BentoModalColumnLayoutVariant","BentoModalColumnLayoutVariant2","BentoModalRole","BentoModalRole2","BentoModalDialogType","BentoModalDialogType2","BentoModalEvent","BentoModalEvent2","MODAL_CONFIG_INJECTION_KEY","__default__$1","defineComponent","slots","useSlots","hasSlot","useHasSlot","page","ref","props","__props","modalPageConditionalClasses","computed","modalContentConditionalClasses","_a","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","_b","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","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.BbiSFAn1.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 { ComputedRef, Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalColumnLayoutVariant {\n SMALLER = 'smaller',\n EQUAL = 'equal',\n BIGGER = 'bigger',\n}\n\nexport enum BentoModalRole {\n DIALOG = 'dialog',\n ALERT_DIALOG = 'alertdialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalDialogType {\n CONFIRMATION = 'confirmation',\n DESTRUCTIVE = 'destructive',\n INFO = 'info',\n ACKNOWLEDGEMENT = 'acknowledgement',\n}\n\nexport enum BentoModalEvent {\n CLOSE_MODAL = 'close-modal',\n}\n\n/**\n * Private\n */\nexport interface BentoModalConfigData {\n activePage: Ref<string>;\n height: Ref<string>;\n isAnimationActive: Ref<boolean>;\n pageCustomPadding: Ref<string>;\n showCloseButton: ComputedRef<boolean>;\n size: Ref<BentoModalSize | `${BentoModalSize}`>;\n}\n","export const MODAL_CONFIG_INJECTION_KEY = Symbol('modal config data injection key');\n","<template>\n <dialog-page\n ref=\"page\"\n class=\"b-modal-page\"\n :class=\"modalPageConditionalClasses\"\n :page-id=\"pageId\"\n :always-show-border=\"hasColumnLayout\"\n :back-button-styling=\"customPaddingStyles?.backButton\"\n :previous-page=\"previousPage\"\n @animationend=\"isAnimationActive = false\"\n >\n <template v-if=\"hasSlot('default') || showCloseButton\" #header>\n <div class=\"b-modal-page__header-container\" :style=\"customPaddingStyles.header\">\n <div class=\"b-modal-page__header\">\n <bento-typography\n class=\"b-modal-page__title\"\n aria-label=\"base modal title\"\n el=\"span\"\n variant=\"title\"\n stronger\n >\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, PropType, ref, useSlots, watch } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n BentoModalConfigData,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoTypography } from '@/components/typography';\n import { BentoButtonActionsList } from '@/components/button';\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\n const CLOSE_BUTTON_ICON_WIDTH = 26;\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const page = ref<InstanceType<typeof DialogPage>>(null);\n\n const props = defineProps({\n /**\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 * Text label that is displayed left to the action buttons\n */\n actionsLabel: { type: String, default: null },\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 * 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 * Identifier of the page, used with activePage prop to handle modal navigation\n */\n pageId: {\n type: String,\n default: undefined,\n },\n\n /**\n * ID of the page for the back button to navigate to. Only use it to overwrite the default back behavior\n * Used when the back button should not take the user to the natural previous page\n * Set to `null` to hide back button in the page\n */\n previousPage: {\n type: String,\n default: undefined,\n },\n });\n\n const modalPageConditionalClasses = computed(() => ({\n 'b-modal-page--custom-padding': props.customPadding,\n }));\n\n const modalContentConditionalClasses = computed(() => ({\n 'b-modal-page__content--with-header': hasSlot('default'),\n 'b-modal-page__content--with-actions': hasSlot('actions') || props.actions?.length,\n }));\n\n // Setting custom padding styles\n const customPaddingStyles = computed(() => {\n if (!props.customPadding) {\n return {};\n }\n\n const xPadding = {\n paddingLeft: props.customPadding,\n paddingRight: props.customPadding,\n };\n\n const content = { ...xPadding, paddingTop: undefined, paddingBottom: undefined };\n\n if (!hasSlot('default')) {\n content.paddingTop = props.customPadding;\n }\n\n if (!hasSlot('actions')) {\n content.paddingBottom = props.customPadding;\n }\n\n return {\n header: {\n ...xPadding,\n paddingTop: props.customPadding,\n paddingRight: `${parseInt(props.customPadding, 10) + CLOSE_BUTTON_ICON_WIDTH}px`,\n flex: 1,\n },\n content,\n actions: { ...xPadding, paddingBottom: props.customPadding },\n backButton: { top: props.customPadding, paddingLeft: props.customPadding },\n };\n });\n\n // Column layout styles\n const hasColumnLayout = computed(() => props.withColumnLayout && size.value === BentoModalSize.LARGE);\n\n const computedColumnWidth = computed(() => {\n if (props.columnsSize === BentoModalColumnLayoutVariant.SMALLER) {\n return [\n { small: 4, medium: 4, large: 4 },\n { small: 8, medium: 8, large: 8 },\n ];\n }\n if (props.columnsSize === BentoModalColumnLayoutVariant.BIGGER) {\n return [\n { small: 8, medium: 8, large: 8 },\n { small: 4, medium: 4, large: 4 },\n ];\n }\n return [\n { small: 6, medium: 6, large: 6 },\n { small: 6, medium: 6, large: 6 },\n ];\n });\n\n // Register page to parent component and inject data from parent component\n const { activePage, height, isAnimationActive, pageCustomPadding, showCloseButton, size } =\n inject<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY);\n\n const isCurrentPage = computed(() => activePage.value === props.pageId || !activePage.value);\n\n // Animation\n // Set resize observer on mount of update the height of the dialog on resize\n let pageElementObserver: ResizeObserver | null = null;\n\n // Watching activePage changes to set the height of the page and set isAnimationActive\n watch(\n () => activePage.value,\n async (value, oldValue) => {\n if (isCurrentPage.value) {\n await nextTick();\n height.value = `${page.value?.$el?.clientHeight}px`;\n pageCustomPadding.value = props.customPadding;\n // only set isAnimationActive to true if its going from two different pages and not from null to the first page\n isAnimationActive.value = oldValue !== undefined;\n\n pageElementObserver = observeSizeOfElement(page.value, () => {\n const pageHeight = `${page.value?.$el?.clientHeight}px`;\n if (pageHeight && pageHeight !== height.value) {\n height.value = pageHeight;\n }\n });\n }\n },\n { immediate: true }\n );\n\n // Disconnect observer on unmounting the page\n onUnmounted(() => {\n pageElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * ModalPage is used to render different pages of the Modal component\n *\n * @example\n * import { BentoModal, BentoModalPage } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoModal, BentoModalPage },\n * template: `\n * <bento-modal active-page='page1' :is-open='true'>\n * <bento-modal-page\n * pageId='page1'\n * actions-label='Move to next page'\n * :actions=\"[\n * {\n * title: 'Next page',\n * event: () => {\n * activePage.value = 'page2';\n * },\n * }]\">\n * Page 1\n * <template #content>\n * Page 1 content\n * </template>\n * </bento-modal-page>\n * <bento-modal-page\n * pageId='page2'\n * :actions=\"[\n * {\n * title: 'Save',\n * event: () => {},\n * }]\">\n * Page 2\n * <template #content>\n * Page 2 content\n * </template>\n * </bento-modal-page>\n * </bento-modal>\n * `\n * }\n */\n export default defineComponent({});\n</script>\n\n<style lang=\"scss\" scoped src=\"./modal-page.scss\" />\n","<template>\n <div class=\"b-modal-base\">\n <dialog\n ref=\"modal\"\n :role=\"modalRole\"\n :aria-label=\"computedAriaLabel\"\n :style=\"{ height: height }\"\n class=\"b-modal-base__container\"\n :class=\"modalConditionalClasses\"\n :open=\"initiallyOpen\"\n @animationend=\"closeModalAfterAnimation\"\n @keydown.esc=\"internalModalActionClose\"\n >\n <bento-focus-trap\n v-if=\"isOpen || initiallyOpen\"\n :id=\"modalId\"\n v-bento-click-outside-directive=\"closeModalOnClickOutside\"\n >\n <bento-button\n v-if=\"showCloseButton\"\n class=\"b-modal-base__close-button\"\n variant=\"tertiary\"\n type=\"button\"\n :style=\"customPaddingStyles\"\n @click=\"internalModalActionClose\"\n >\n <cross-icon :svg-title=\"t('close')\" />\n </bento-button>\n <template v-if=\"props.activePage\">\n <slot />\n </template>\n <bento-modal-page\n v-else\n :with-column-layout=\"withColumnLayout\"\n :size=\"size\"\n :custom-padding=\"customPadding\"\n :columns-size=\"columnsSize\"\n >\n <template v-if=\"hasSlot('default')\" #default>\n <slot></slot>\n </template>\n <template v-if=\"hasSlot('content-col-1')\" #content-col-1\n ><slot name=\"content-col-1\"></slot\n ></template>\n <template v-if=\"hasSlot('content-col-2')\" #content-col-2\n ><slot name=\"content-col-2\"></slot\n ></template>\n <template v-if=\"hasSlot('content')\" #content><slot name=\"content\"></slot></template>\n <template v-if=\"hasSlot('actions')\" #actions><slot name=\"actions\"></slot></template>\n </bento-modal-page>\n </bento-focus-trap>\n </dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {\n computed,\n defineComponent,\n onMounted,\n PropType,\n provide,\n ref,\n toRefs,\n useAttrs,\n useSlots,\n watch,\n } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n BentoModalConfigData,\n BentoModalRole,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoButton, BentoButtonActionsList } from '@/components/button';\n import { BentoFocusTrap } from '@/components/focus-trap';\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import { MODAL_DIALOG_ID_INJECTION_KEY } from '@/components/modal/components/base-modal/base-modal.keys';\n import { generateUid } from '@/utils/ts/unique-id';\n import { BentoClickOutsideDirective as vBentoClickOutsideDirective } from '@/directives/click-outside';\n import messages from './messages.json';\n\n import { BentoModalPage } from '@/components/modal';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n\n import { MODAL_CONFIG_INJECTION_KEY } from '../../modal.keys';\n import {\n BentoDialogPageAnimation,\n BentoDialogPageConfigData,\n BentoDialogPageRegisterPage,\n DIALOG_PAGE_CONFIG_INJECTION_KEY,\n DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY,\n } from '@/internal';\n\n type MessageSchema = (typeof messages)['en-US'];\n const LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME = 500;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const slots = useSlots();\n const attrs = useAttrs();\n const hasSlot = useHasSlot(slots);\n const modal = ref<HTMLDialogElement>(null);\n const isClosing = ref(false);\n const modalId = generateUid('modal');\n\n const emit = defineEmits<{\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) {\n modal.value.close();\n if (previousPages.value[0]) {\n emit('update:active-page', previousPages.value[0]);\n }\n previousPages.value = [];\n isClosing.value = false;\n emitCloseEvent();\n }\n };\n\n const startCloseModalAnimation = () => {\n if (!modal.value.open) {\n return;\n }\n isClosing.value = true;\n };\n\n /**\n * If the user has pressed escape, clicked outside or clicked the close icon.\n * Needs to be called from outside, following the \"dialog.close()\" pattern,\n * when the closing event is triggered outside of the \"base-modal\"\n * component (e.g. from a closing action).\n */\n const internalModalActionClose = (event?: Event) => {\n if (event) {\n event.preventDefault();\n }\n if (!props.isDismissible && props.modalRole === BentoModalRole.DIALOG) {\n return;\n }\n startCloseModalAnimation();\n };\n\n const closeModalOnClickOutside = () => {\n if (props.isDismissible) {\n internalModalActionClose();\n }\n };\n\n const modalConditionalClasses = computed(() => ({\n [`b-modal-base__container--${props.size}`]: props.size,\n 'b-modal-base__container--hide': isClosing.value,\n 'b-modal-base__container--column-layout': hasColumnLayout.value,\n 'b-modal-base__container--animation': isAnimationActive.value,\n }));\n\n watch(\n () => [props.isOpen, modal.value],\n ([newIsOpen, newModalValue], [, oldModalValue]): void => {\n if (!newModalValue) {\n return;\n }\n\n const isFirstMutation = !oldModalValue;\n if (newIsOpen) {\n openModal();\n // add the first page to the array when the modal opens\n if (!previousPages.value.length) {\n previousPages.value.push(activePage.value);\n }\n } else if (!isFirstMutation) {\n startCloseModalAnimation();\n }\n }\n );\n\n // If the first button is a loading button then close the modal have 0.5 seconds\n // if the state is changed to 'success'.\n watch(\n () => props.actions,\n () => {\n if (props.actions?.[0]?.state === 'success') {\n setTimeout(startCloseModalAnimation, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME);\n }\n },\n { deep: true }\n );\n\n onMounted(() => {\n if (props.isOpen && modal.value) {\n openModal();\n }\n });\n\n /**\n * Expose methods through its 'ref'\n */\n defineExpose({\n internalModalActionClose,\n });\n\n // Let's Children components know they are inside a Modal (dialog element)\n provide(MODAL_DIALOG_ID_INJECTION_KEY, modalId);\n\n // Modal pagination\n const { activePage, isOpen, size } = toRefs(props);\n const animation = ref(BentoDialogPageAnimation.TRANSITION_LEVEL_DEEPER);\n\n const pages = ref<string[]>([]);\n const previousPages = ref([]);\n\n const updatePage = page => emit('update:active-page', page);\n\n // unregister page if removed / destroyed\n const unregisterPage = (pageIdToRemove: string) => () => {\n pages.value = pages.value?.filter(pageId => pageId !== pageIdToRemove);\n };\n\n // Provide data and function to register page to subcomponent\n const registerPage: BentoDialogPageRegisterPage = pageId => {\n if (pageId) {\n pages.value.push(pageId);\n }\n\n return { unregisterPage: unregisterPage(pageId) };\n };\n\n const height = ref('');\n const isAnimationActive = ref(false);\n\n provide<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY, {\n activePage,\n height,\n isAnimationActive,\n pageCustomPadding,\n showCloseButton,\n size,\n });\n\n provide<BentoDialogPageConfigData>(DIALOG_PAGE_CONFIG_INJECTION_KEY, {\n activePage,\n animation,\n isOpen,\n pages,\n previousPages,\n updatePage,\n });\n\n provide(DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY, registerPage);\n</script>\n\n<script lang=\"ts\">\n /**\n * Dialog container. It creates a dialog HTML element for the modal to use.\n *\n * @example\n * import BaseModal from './components/base-modal/base-modal.vue';\n *\n * export default {\n * components: { BaseModal },\n * template: `\n * <base-modal\n * :hide-close-button=\"true\"\n * :is-dismissible=\"false\"\n * :is-open=\"isOpen\"\n * @close-modal=\"isOpen = false\"\n * >\n * <template #content-col-1>\n * // Content on the left side column\n * </template>\n *\n * <template #content-col-2>\n * // Content on the right side column\n * </template>\n *\n * <template v-if=\"actions\" #actions>\n * <footer-actions :actions=\"actions\" />\n * </template>\n * </base-modal>\n * `,\n * setup() {\n * const isOpen = ref(true)\n * const footerActions = [{\n * title: 'Primary action',\n * event: () => { ... }\n * }]\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'base-modal',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-modal.scss\" />\n"],"names":["BentoModalVariant","BentoModalVariant2","BentoModalVariantMapping","BentoModalVariantMapping2","BentoModalSize","BentoModalSize2","BentoModalColumnLayoutVariant","BentoModalColumnLayoutVariant2","BentoModalRole","BentoModalRole2","BentoModalDialogType","BentoModalDialogType2","BentoModalEvent","BentoModalEvent2","MODAL_CONFIG_INJECTION_KEY","__default__$1","defineComponent","slots","useSlots","hasSlot","useHasSlot","page","ref","props","__props","modalPageConditionalClasses","computed","modalContentConditionalClasses","_a","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","_b","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","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,7 +1,7 @@
1
1
  import { defineComponent as r, computed as i, toRef as d, provide as u, openBlock as s, createElementBlock as l, createElementVNode as p, createVNode as m, unref as _, createBlock as v, createCommentVNode as f } from "vue";
2
- import { M as B, B as b } from "./menu.CLicp_2I.js";
3
- import { a as h } from "./popover.DQP3ce2x.js";
4
- import { B as y } from "./button-actions.hdK5IgrZ.js";
2
+ import { M as B, B as b } from "./menu.CI4R2iw1.js";
3
+ import { a as h } from "./popover.BN52L17t.js";
4
+ import { B as y } from "./button-actions.DcvU9vMt.js";
5
5
  import { _ as A } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
6
  import "../assets/button-actions-with-menu.css";
7
7
  const N = { class: "b-button-actions-with-menu" }, E = {
@@ -103,4 +103,4 @@ const N = { class: "b-button-actions-with-menu" }, E = {
103
103
  export {
104
104
  C as B
105
105
  };
106
- //# sourceMappingURL=button-actions-with-menu.BLmcwr2f.js.map
106
+ //# sourceMappingURL=button-actions-with-menu.0ypQxYbM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-actions-with-menu.BLmcwr2f.js","sources":["../../../vue2/src/components/internal/button-actions-with-menu/button-actions-with-menu.vue"],"sourcesContent":["<template>\n <div class=\"b-button-actions-with-menu\">\n <div role=\"group\" class=\"b-button-actions-with-menu__container-wrapper\">\n <bento-button-actions :actions=\"computedActions\" :inverse=\"inverse\" />\n <bento-menu v-if=\"computedMenuActions.length\" :data=\"computedMenuActions\" :menu-position=\"menuPosition\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, provide, toRef } from 'vue';\n import BentoMenu from '@/components/menu/menu.vue';\n import { BentoMenuItem } from '@/components/menu/components/menu-item/menu-item.types';\n import { BentoButtonActions, BentoButtonActionsList } from '@/components/button';\n import { MENU_INVERSE_INJECTION_KEY } from '@/components/menu/menu.keys';\n import { BentoPopoverPositions } from '@/components/popover';\n\n /**\n * An internal button actions component with the option to display some of the actions in a menu.\n *\n * @example\n * <button-actions-with-menu\n * :actions=\"[\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: BentoButtonVariant.PRIMARY,\n * critical: true\n * }]\n * :displayedActions=\"2\"\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 *\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` (optional): Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n *\n * ```\n * [{\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n variant: 'default',\n external: true,\n to: 'https://www.adyen.com/'\n },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: 'primary',\n * critical: true\n * }]\n * ```\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n required: true,\n },\n\n /**\n * The number of actions to be displayed. The rest of the actions will be collapsed in a menu component.\n */\n displayedActions: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Set inverse color scheme to buttons and menu\n */\n inverse: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of where the menu should open.\n */\n menuPosition: {\n type: String as PropType<BentoPopoverPositions | `${BentoPopoverPositions}`>,\n default: 'bottom-start',\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n });\n\n const computedActions = computed(() => props.actions.slice(0, props.displayedActions));\n const inverseRef = toRef(props, 'inverse');\n\n provide(MENU_INVERSE_INJECTION_KEY, inverseRef);\n\n const computedMenuActions = computed(() =>\n props.displayedActions !== undefined && props.displayedActions < props.actions.length\n ? (props.actions.slice(props.displayedActions, props.actions.length).map(el => ({\n text: el.title,\n handler: el.event,\n icon: el.icon,\n critical: el.critical,\n disabled: el.disabled,\n })) as BentoMenuItem[])\n : []\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * An internal button actions component with the option to display some of the actions in a menu.\n *\n * @example\n * <button-actions-with-menu\n * :actions=\"[\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: BentoButtonVariant.PRIMARY,\n * critical: true\n * }]\n * :displayedActions=\"2\"\n * />\n */\n\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./button-actions-with-menu.scss\" />\n"],"names":["__default__","props","__props","computedActions","computed","inverseRef","toRef","provide","MENU_INVERSE_INJECTION_KEY","computedMenuActions","el"],"mappings":";;;;;;;;;GAwJIA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/GA,UAAAC,IAAAC,GAmEAC,IAAAC,EAAA,MAAAH,EAAA,QAAA,MAAA,GAAAA,EAAA,gBAAA,CAAA,GACAI,IAAAC,EAAAL,GAAA,SAAA;AAEA,IAAAM,EAAAC,GAAAH,CAAA;AAEA,UAAAI,IAAAL;AAAA,MAA4B,MAAAH,EAAA,qBAAA,UAAAA,EAAA,mBAAAA,EAAA,QAAA,SAAAA,EAAA,QAAA,MAAAA,EAAA,kBAAAA,EAAA,QAAA,MAAA,EAAA,IAAA,CAAAS,OAAA;AAAA,QAE4D,MAAAA,EAAA;AAAA,QACjE,SAAAA,EAAA;AAAA,QACG,MAAAA,EAAA;AAAA,QACH,UAAAA,EAAA;AAAA,QACI,UAAAA,EAAA;AAAA,MACA,EAAA,IAAA,CAAA;AAAA,IAEhB;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button-actions-with-menu.0ypQxYbM.js","sources":["../../../vue2/src/components/internal/button-actions-with-menu/button-actions-with-menu.vue"],"sourcesContent":["<template>\n <div class=\"b-button-actions-with-menu\">\n <div role=\"group\" class=\"b-button-actions-with-menu__container-wrapper\">\n <bento-button-actions :actions=\"computedActions\" :inverse=\"inverse\" />\n <bento-menu v-if=\"computedMenuActions.length\" :data=\"computedMenuActions\" :menu-position=\"menuPosition\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, provide, toRef } from 'vue';\n import BentoMenu from '@/components/menu/menu.vue';\n import { BentoMenuItem } from '@/components/menu/components/menu-item/menu-item.types';\n import { BentoButtonActions, BentoButtonActionsList } from '@/components/button';\n import { MENU_INVERSE_INJECTION_KEY } from '@/components/menu/menu.keys';\n import { BentoPopoverPositions } from '@/components/popover';\n\n /**\n * An internal button actions component with the option to display some of the actions in a menu.\n *\n * @example\n * <button-actions-with-menu\n * :actions=\"[\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: BentoButtonVariant.PRIMARY,\n * critical: true\n * }]\n * :displayedActions=\"2\"\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 *\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` (optional): Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n *\n * ```\n * [{\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n variant: 'default',\n external: true,\n to: 'https://www.adyen.com/'\n },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: 'primary',\n * critical: true\n * }]\n * ```\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n required: true,\n },\n\n /**\n * The number of actions to be displayed. The rest of the actions will be collapsed in a menu component.\n */\n displayedActions: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Set inverse color scheme to buttons and menu\n */\n inverse: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of where the menu should open.\n */\n menuPosition: {\n type: String as PropType<BentoPopoverPositions | `${BentoPopoverPositions}`>,\n default: 'bottom-start',\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n });\n\n const computedActions = computed(() => props.actions.slice(0, props.displayedActions));\n const inverseRef = toRef(props, 'inverse');\n\n provide(MENU_INVERSE_INJECTION_KEY, inverseRef);\n\n const computedMenuActions = computed(() =>\n props.displayedActions !== undefined && props.displayedActions < props.actions.length\n ? (props.actions.slice(props.displayedActions, props.actions.length).map(el => ({\n text: el.title,\n handler: el.event,\n icon: el.icon,\n critical: el.critical,\n disabled: el.disabled,\n })) as BentoMenuItem[])\n : []\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * An internal button actions component with the option to display some of the actions in a menu.\n *\n * @example\n * <button-actions-with-menu\n * :actions=\"[\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: BentoButtonVariant.PRIMARY,\n * critical: true\n * }]\n * :displayedActions=\"2\"\n * />\n */\n\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./button-actions-with-menu.scss\" />\n"],"names":["__default__","props","__props","computedActions","computed","inverseRef","toRef","provide","MENU_INVERSE_INJECTION_KEY","computedMenuActions","el"],"mappings":";;;;;;;;;GAwJIA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/GA,UAAAC,IAAAC,GAmEAC,IAAAC,EAAA,MAAAH,EAAA,QAAA,MAAA,GAAAA,EAAA,gBAAA,CAAA,GACAI,IAAAC,EAAAL,GAAA,SAAA;AAEA,IAAAM,EAAAC,GAAAH,CAAA;AAEA,UAAAI,IAAAL;AAAA,MAA4B,MAAAH,EAAA,qBAAA,UAAAA,EAAA,mBAAAA,EAAA,QAAA,SAAAA,EAAA,QAAA,MAAAA,EAAA,kBAAAA,EAAA,QAAA,MAAA,EAAA,IAAA,CAAAS,OAAA;AAAA,QAE4D,MAAAA,EAAA;AAAA,QACjE,SAAAA,EAAA;AAAA,QACG,MAAAA,EAAA;AAAA,QACH,UAAAA,EAAA;AAAA,QACI,UAAAA,EAAA;AAAA,MACA,EAAA,IAAA,CAAA;AAAA,IAEhB;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as S, computed as p, openBlock as a, createElementBlock as l, createElementVNode as h, normalizeClass as L, Fragment as A, renderList as I, createBlock as t, unref as O, mergeProps as _, toHandlers as f, withCtx as s, createTextVNode as m, toDisplayString as g, createSlots as R, resolveDynamicComponent as y } from "vue";
2
2
  import { B as u } from "./button.Br6CyG40.js";
3
- import { B as x } from "./loading-button.Mx-oDIGy.js";
3
+ import { B as x } from "./loading-button.BU536EK4.js";
4
4
  import { _ as w } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
5
  import "../assets/button-actions.css";
6
6
  var B = /* @__PURE__ */ ((i) => (i.BUTTONS_END = "buttons-end", i.FILL_CONTAINER = "fill-container", i.SPACE_BETWEEN = "space-between", i.VERTICAL_STACK = "vertical-stack", i))(B || {}), T = /* @__PURE__ */ ((i) => (i.BUTTONS_START = "buttons-start", i))(T || {});
@@ -147,4 +147,4 @@ export {
147
147
  T as b,
148
148
  k as c
149
149
  };
150
- //# sourceMappingURL=button-actions.hdK5IgrZ.js.map
150
+ //# sourceMappingURL=button-actions.DcvU9vMt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-actions.hdK5IgrZ.js","sources":["../../../core/src/components/button-actions/button-actions.types.ts","../../../vue2/src/components/button/components/button-actions/button-actions.vue"],"sourcesContent":["import type { BentoButtonProps } from '@/core/components/button/button.types';\nimport { BentoLoadingButtonState } from '@/core/components/loading-button/loading-button.types';\n\nexport interface BentoButtonActionObject<IconType = object> extends BentoButtonProps {\n title: string;\n event?: (event: Event) => void;\n icon?: IconType;\n iconLeft?: IconType;\n iconRight?: IconType;\n state?: BentoLoadingButtonState | `${BentoLoadingButtonState}`;\n iconOnly?: boolean;\n}\n\nexport type BentoButtonActionsList<IconType = object> = Array<BentoButtonActionObject<IconType>>;\n\nexport enum BentoButtonActionsLayoutBasic {\n BUTTONS_END = 'buttons-end',\n FILL_CONTAINER = 'fill-container',\n SPACE_BETWEEN = 'space-between',\n VERTICAL_STACK = 'vertical-stack',\n}\nexport enum BentoButtonActionsLayoutExtended {\n BUTTONS_START = 'buttons-start',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport const BentoButtonActionsLayout = { ...BentoButtonActionsLayoutBasic, ...BentoButtonActionsLayoutExtended };\nexport type BentoButtonActionsLayout = BentoButtonActionsLayoutBasic | BentoButtonActionsLayoutExtended;\n","<template>\n <div class=\"b-button-actions\">\n <div class=\"b-button-actions__container-wrapper\" :class=\"conditionalClasses\" role=\"group\">\n <div v-for=\"(button, index) in reversedActionsList\" :key=\"index\" class=\"b-button-actions__button-wrapper\">\n <bento-loading-button\n v-if=\"button.state\"\n :condensed=\"button.condensed\"\n :critical=\"button.critical\"\n :disabled=\"button.disabled\"\n :inverse=\"inverse\"\n :state=\"button.state\"\n :variant=\"button.variant || generateButtonVariantByIndex(index)\"\n v-on=\"generateButtonEvents(button)\"\n >\n {{ button.title }}\n </bento-loading-button>\n <bento-button\n v-else\n :condensed=\"button.condensed\"\n :critical=\"button.critical\"\n :disabled=\"button.disabled\"\n :inverse=\"inverse\"\n :link=\"button.link\"\n :variant=\"button.variant || generateButtonVariantByIndex(index)\"\n v-on=\"generateButtonEvents(button)\"\n >\n <template v-if=\"button.icon || button.iconLeft\" #iconLeft>\n <component :is=\"button.icon || button.iconLeft\" :svg-title=\"button.title\"></component>\n </template>\n <template v-if=\"!isIconOnly(button)\" #default>\n {{ button.title }}\n </template>\n <template v-if=\"button.iconRight\" #iconRight>\n <component :is=\"button.iconRight\" :svg-title=\"button.title\"></component>\n </template>\n </bento-button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType } from 'vue';\n import BentoButton from '../../button.vue';\n import {\n BentoButtonActionObject,\n BentoButtonActionsLayout,\n BentoButtonActionsList,\n } from '@/core/components/button-actions/button-actions.types';\n import { BentoLoadingButton } from '../loading-button';\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 *\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` (optional): Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n *\n * ```\n * [{\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: 'secondary',\n * critical: true\n * }]\n * ```\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n required: true,\n },\n\n /**\n * Sets the Button Actions to color scheme inverse\n */\n inverse: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Defines the layout in which the button actions is presented.\n * It can be one of:\n *\n * @values BUTTONS_START\n * @values BUTTONS_END\n * @values FILL_CONTAINER\n * @values SPACE_BETWEEN\n * @values VERTICAL_STACK\n */\n layout: {\n type: String as PropType<BentoButtonActionsLayout | `${BentoButtonActionsLayout}`>,\n default: BentoButtonActionsLayout.BUTTONS_END,\n validator: (layout: BentoButtonActionsLayout) => Object.values(BentoButtonActionsLayout).includes(layout),\n },\n });\n\n const reversedActionsList = computed(() => props.actions.slice().reverse());\n const generateButtonVariantByIndex = actionIndex => {\n const lastActionIndex = props.actions.length - 1;\n return actionIndex === lastActionIndex ? 'primary' : 'secondary';\n };\n\n const conditionalClasses = computed(() => ({\n [`b-button-actions--${props.layout}`]: true,\n }));\n\n const generateButtonEvents = (button: BentoButtonActionObject) =>\n button?.event !== undefined\n ? {\n click: button.event,\n }\n : {};\n\n const isIconOnly = (button: BentoButtonActionObject) =>\n button.iconOnly && (button.iconLeft || button.iconRight || button.icon);\n</script>\n\n<script lang=\"ts\">\n /**\n * ButtonActions component manages a set of actions a user can choose from by displaying a group of buttons.\n *\n * @example\n * import { BentoButtonActions } from '@adyen/bento-vue2';\n * import MachineLearningIcon from '@adyen/ui-assets-icons-16/vue/machine-learning';\n *\n * const clickedAction = () => { //your action here }\n *\n * <template>\n * <bento-button-actions\n * :actions=\"[{\n * title: 'Primary',\n * event: clickedAction,\n * icon: MachineLearningIcon,\n * }, {\n * title: 'Secondary',\n * event: clickedAction,\n * }, {\n * title: 'Tertiary',\n * event: clickedAction,\n * }]\"\n * />\n * </template>\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/button-actions/button-actions.scss\" />\n"],"names":["BentoButtonActionsLayoutBasic","BentoButtonActionsLayoutBasic2","BentoButtonActionsLayoutExtended","BentoButtonActionsLayoutExtended2","BentoButtonActionsLayout","__default__","props","__props","reversedActionsList","computed","generateButtonVariantByIndex","actionIndex","lastActionIndex","conditionalClasses","generateButtonEvents","button","isIconOnly"],"mappings":";;;;;AAeY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,cAAA,eACAA,EAAA,iBAAA,kBACAA,EAAA,gBAAA,iBACAA,EAAA,iBAAA,kBAJQA,IAAAD,KAAA,CAAA,CAAA,GAMAE,IAAA,kBAAAC,OACRA,EAAA,gBAAA,iBADQA,IAAAD,KAAA,CAAA,CAAA;AAOL,MAAAE,IAAA,EAAA,GAAAJ,GAAA,GAAAE,EAAA,sCCwIHG,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjHA,UAAAC,IAAAC,GAkEAC,IAAAC,EAAA,MAAAH,EAAA,QAAA,MAAA,EAAA,QAAA,CAAA,GACAI,IAAA,CAAAC,MAAA;AACI,YAAAC,IAAAN,EAAA,QAAA,SAAA;AACA,aAAAK,MAAAC,IAAA,YAAA;AAAA,IAAqD,GAGzDC,IAAAJ,EAAA,OAAA;AAAA,MAA2C,CAAA,qBAAAH,EAAA,MAAA,EAAA,GAAA;AAAA,IACA,EAAA,GAG3CQ,IAAA,CAAAC,OAAAA,KAAA,gBAAAA,EAAA,WAAA,SAAA;AAAA,MAEU,OAAAA,EAAA;AAAA,IACkB,IAAA,CAAA,GAI5BC,IAAA,CAAAD,MAAAA,EAAA,aAAAA,EAAA,YAAAA,EAAA,aAAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button-actions.DcvU9vMt.js","sources":["../../../core/src/components/button-actions/button-actions.types.ts","../../../vue2/src/components/button/components/button-actions/button-actions.vue"],"sourcesContent":["import type { BentoButtonProps } from '@/core/components/button/button.types';\nimport { BentoLoadingButtonState } from '@/core/components/loading-button/loading-button.types';\n\nexport interface BentoButtonActionObject<IconType = object> extends BentoButtonProps {\n title: string;\n event?: (event: Event) => void;\n icon?: IconType;\n iconLeft?: IconType;\n iconRight?: IconType;\n state?: BentoLoadingButtonState | `${BentoLoadingButtonState}`;\n iconOnly?: boolean;\n}\n\nexport type BentoButtonActionsList<IconType = object> = Array<BentoButtonActionObject<IconType>>;\n\nexport enum BentoButtonActionsLayoutBasic {\n BUTTONS_END = 'buttons-end',\n FILL_CONTAINER = 'fill-container',\n SPACE_BETWEEN = 'space-between',\n VERTICAL_STACK = 'vertical-stack',\n}\nexport enum BentoButtonActionsLayoutExtended {\n BUTTONS_START = 'buttons-start',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport const BentoButtonActionsLayout = { ...BentoButtonActionsLayoutBasic, ...BentoButtonActionsLayoutExtended };\nexport type BentoButtonActionsLayout = BentoButtonActionsLayoutBasic | BentoButtonActionsLayoutExtended;\n","<template>\n <div class=\"b-button-actions\">\n <div class=\"b-button-actions__container-wrapper\" :class=\"conditionalClasses\" role=\"group\">\n <div v-for=\"(button, index) in reversedActionsList\" :key=\"index\" class=\"b-button-actions__button-wrapper\">\n <bento-loading-button\n v-if=\"button.state\"\n :condensed=\"button.condensed\"\n :critical=\"button.critical\"\n :disabled=\"button.disabled\"\n :inverse=\"inverse\"\n :state=\"button.state\"\n :variant=\"button.variant || generateButtonVariantByIndex(index)\"\n v-on=\"generateButtonEvents(button)\"\n >\n {{ button.title }}\n </bento-loading-button>\n <bento-button\n v-else\n :condensed=\"button.condensed\"\n :critical=\"button.critical\"\n :disabled=\"button.disabled\"\n :inverse=\"inverse\"\n :link=\"button.link\"\n :variant=\"button.variant || generateButtonVariantByIndex(index)\"\n v-on=\"generateButtonEvents(button)\"\n >\n <template v-if=\"button.icon || button.iconLeft\" #iconLeft>\n <component :is=\"button.icon || button.iconLeft\" :svg-title=\"button.title\"></component>\n </template>\n <template v-if=\"!isIconOnly(button)\" #default>\n {{ button.title }}\n </template>\n <template v-if=\"button.iconRight\" #iconRight>\n <component :is=\"button.iconRight\" :svg-title=\"button.title\"></component>\n </template>\n </bento-button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType } from 'vue';\n import BentoButton from '../../button.vue';\n import {\n BentoButtonActionObject,\n BentoButtonActionsLayout,\n BentoButtonActionsList,\n } from '@/core/components/button-actions/button-actions.types';\n import { BentoLoadingButton } from '../loading-button';\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 *\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` (optional): Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n *\n * ```\n * [{\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: 'secondary',\n * critical: true\n * }]\n * ```\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n required: true,\n },\n\n /**\n * Sets the Button Actions to color scheme inverse\n */\n inverse: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Defines the layout in which the button actions is presented.\n * It can be one of:\n *\n * @values BUTTONS_START\n * @values BUTTONS_END\n * @values FILL_CONTAINER\n * @values SPACE_BETWEEN\n * @values VERTICAL_STACK\n */\n layout: {\n type: String as PropType<BentoButtonActionsLayout | `${BentoButtonActionsLayout}`>,\n default: BentoButtonActionsLayout.BUTTONS_END,\n validator: (layout: BentoButtonActionsLayout) => Object.values(BentoButtonActionsLayout).includes(layout),\n },\n });\n\n const reversedActionsList = computed(() => props.actions.slice().reverse());\n const generateButtonVariantByIndex = actionIndex => {\n const lastActionIndex = props.actions.length - 1;\n return actionIndex === lastActionIndex ? 'primary' : 'secondary';\n };\n\n const conditionalClasses = computed(() => ({\n [`b-button-actions--${props.layout}`]: true,\n }));\n\n const generateButtonEvents = (button: BentoButtonActionObject) =>\n button?.event !== undefined\n ? {\n click: button.event,\n }\n : {};\n\n const isIconOnly = (button: BentoButtonActionObject) =>\n button.iconOnly && (button.iconLeft || button.iconRight || button.icon);\n</script>\n\n<script lang=\"ts\">\n /**\n * ButtonActions component manages a set of actions a user can choose from by displaying a group of buttons.\n *\n * @example\n * import { BentoButtonActions } from '@adyen/bento-vue2';\n * import MachineLearningIcon from '@adyen/ui-assets-icons-16/vue/machine-learning';\n *\n * const clickedAction = () => { //your action here }\n *\n * <template>\n * <bento-button-actions\n * :actions=\"[{\n * title: 'Primary',\n * event: clickedAction,\n * icon: MachineLearningIcon,\n * }, {\n * title: 'Secondary',\n * event: clickedAction,\n * }, {\n * title: 'Tertiary',\n * event: clickedAction,\n * }]\"\n * />\n * </template>\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/button-actions/button-actions.scss\" />\n"],"names":["BentoButtonActionsLayoutBasic","BentoButtonActionsLayoutBasic2","BentoButtonActionsLayoutExtended","BentoButtonActionsLayoutExtended2","BentoButtonActionsLayout","__default__","props","__props","reversedActionsList","computed","generateButtonVariantByIndex","actionIndex","lastActionIndex","conditionalClasses","generateButtonEvents","button","isIconOnly"],"mappings":";;;;;AAeY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,cAAA,eACAA,EAAA,iBAAA,kBACAA,EAAA,gBAAA,iBACAA,EAAA,iBAAA,kBAJQA,IAAAD,KAAA,CAAA,CAAA,GAMAE,IAAA,kBAAAC,OACRA,EAAA,gBAAA,iBADQA,IAAAD,KAAA,CAAA,CAAA;AAOL,MAAAE,IAAA,EAAA,GAAAJ,GAAA,GAAAE,EAAA,sCCwIHG,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjHA,UAAAC,IAAAC,GAkEAC,IAAAC,EAAA,MAAAH,EAAA,QAAA,MAAA,EAAA,QAAA,CAAA,GACAI,IAAA,CAAAC,MAAA;AACI,YAAAC,IAAAN,EAAA,QAAA,SAAA;AACA,aAAAK,MAAAC,IAAA,YAAA;AAAA,IAAqD,GAGzDC,IAAAJ,EAAA,OAAA;AAAA,MAA2C,CAAA,qBAAAH,EAAA,MAAA,EAAA,GAAA;AAAA,IACA,EAAA,GAG3CQ,IAAA,CAAAC,OAAAA,KAAA,gBAAAA,EAAA,WAAA,SAAA;AAAA,MAEU,OAAAA,EAAA;AAAA,IACkB,IAAA,CAAA,GAI5BC,IAAA,CAAAD,MAAAA,EAAA,aAAAA,EAAA,YAAAA,EAAA,aAAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}