@adyen/bento-vue2 1.27.0 → 1.28.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 (563) hide show
  1. package/dist/@types/components.d.ts +4 -0
  2. package/dist/@types/index.d.ts +403 -187
  3. package/dist/accordion.js +3 -101
  4. package/dist/accordion.js.map +1 -1
  5. package/dist/action-bar.js +2 -146
  6. package/dist/action-bar.js.map +1 -1
  7. package/dist/alert.js +5 -116
  8. package/dist/alert.js.map +1 -1
  9. package/dist/assets/{index9.css → accordion-item.css} +1 -1
  10. package/dist/assets/{index11.css → action-bar.css} +1 -1
  11. package/dist/assets/base-modal.css +1 -1
  12. package/dist/assets/button.css +1 -1
  13. package/dist/assets/{index4.css → card.css} +1 -1
  14. package/dist/assets/checkbox-input.css +1 -1
  15. package/dist/assets/{index47.css → dashboard-section.css} +1 -1
  16. package/dist/assets/dashed-underline.css +1 -0
  17. package/dist/assets/{index49.css → data-grid-template.css} +1 -1
  18. package/dist/assets/data-grid.css +1 -0
  19. package/dist/assets/dialog-page.css +1 -1
  20. package/dist/assets/dropdown-default-textbox.css +1 -1
  21. package/dist/assets/dropdown.css +1 -1
  22. package/dist/assets/filter-bar.css +1 -0
  23. package/dist/assets/listbox-option-tag.css +1 -1
  24. package/dist/assets/{index38.css → menu.css} +1 -1
  25. package/dist/assets/{index24.css → modal-fullscreen.css} +1 -1
  26. package/dist/assets/{index33.css → popover.css} +1 -1
  27. package/dist/assets/radio-input.css +1 -1
  28. package/dist/assets/segmented-control.css +1 -0
  29. package/dist/assets/selection-card-group.css +1 -0
  30. package/dist/assets/{index36.css → sidepanel.css} +1 -1
  31. package/dist/assets/status.css +1 -0
  32. package/dist/assets/toggle.css +1 -0
  33. package/dist/assets/tutorial.css +1 -0
  34. package/dist/avatar-image.js +1 -1
  35. package/dist/badge.js +22 -24
  36. package/dist/badge.js.map +1 -1
  37. package/dist/button.js +14 -94
  38. package/dist/button.js.map +1 -1
  39. package/dist/card.js +4 -114
  40. package/dist/card.js.map +1 -1
  41. package/dist/checkbox.js +8 -155
  42. package/dist/checkbox.js.map +1 -1
  43. package/dist/chunks/1-generic-use.CZhwP2Yc.js +5 -0
  44. package/dist/chunks/1-generic-use.CZhwP2Yc.js.map +1 -0
  45. package/dist/chunks/1-generic-use.R6x8PEGA.js +5 -0
  46. package/dist/chunks/1-generic-use.R6x8PEGA.js.map +1 -0
  47. package/dist/chunks/2-generic-use.CNKjB4B7.js +5 -0
  48. package/dist/chunks/2-generic-use.CNKjB4B7.js.map +1 -0
  49. package/dist/chunks/2-generic-use.w0fUhovx.js +5 -0
  50. package/dist/chunks/2-generic-use.w0fUhovx.js.map +1 -0
  51. package/dist/chunks/3-generic-use.BLEzR04g.js +5 -0
  52. package/dist/chunks/3-generic-use.BLEzR04g.js.map +1 -0
  53. package/dist/chunks/3-generic-use.D3NFHgI4.js +5 -0
  54. package/dist/chunks/3-generic-use.D3NFHgI4.js.map +1 -0
  55. package/dist/chunks/4-generic-use.CULEpvgj.js +5 -0
  56. package/dist/chunks/4-generic-use.CULEpvgj.js.map +1 -0
  57. package/dist/chunks/4-generic-use.D82y3n39.js +5 -0
  58. package/dist/chunks/4-generic-use.D82y3n39.js.map +1 -0
  59. package/dist/chunks/_plugin-vue2_normalizer.CeySl7Fu.js +11 -0
  60. package/dist/chunks/_plugin-vue2_normalizer.CeySl7Fu.js.map +1 -0
  61. package/dist/chunks/accordion-item.DmnrjNzw.js +100 -0
  62. package/dist/chunks/accordion-item.DmnrjNzw.js.map +1 -0
  63. package/dist/chunks/action-bar.Bebh6PHI.js +147 -0
  64. package/dist/chunks/action-bar.Bebh6PHI.js.map +1 -0
  65. package/dist/chunks/adding-payment-methods.BJZLPxtM.js +5 -0
  66. package/dist/chunks/adding-payment-methods.BJZLPxtM.js.map +1 -0
  67. package/dist/chunks/adding-payment-methods.Dle8zt43.js +5 -0
  68. package/dist/chunks/adding-payment-methods.Dle8zt43.js.map +1 -0
  69. package/dist/chunks/adyen-giving.Ffw_DlJK.js +5 -0
  70. package/dist/chunks/adyen-giving.Ffw_DlJK.js.map +1 -0
  71. package/dist/chunks/adyen-giving.LiKHj_jY.js +5 -0
  72. package/dist/chunks/adyen-giving.LiKHj_jY.js.map +1 -0
  73. package/dist/chunks/alert.CJyTM4Az.js +96 -0
  74. package/dist/chunks/alert.CJyTM4Az.js.map +1 -0
  75. package/dist/chunks/{aria-label.ac9651a5.js → aria-label.CaUURpnB.js} +1 -1
  76. package/dist/chunks/{aria-label.ac9651a5.js.map → aria-label.CaUURpnB.js.map} +1 -1
  77. package/dist/chunks/{index.ccc7e8d7.js → avatar-image.DhlR-7Yg.js} +22 -24
  78. package/dist/chunks/avatar-image.DhlR-7Yg.js.map +1 -0
  79. package/dist/chunks/base-button.DER7_IsF.js +86 -0
  80. package/dist/chunks/{base-button.852204dc.js.map → base-button.DER7_IsF.js.map} +1 -1
  81. package/dist/chunks/{base-modal.4fb7528b.js → base-modal.C5I7bR0d.js} +42 -46
  82. package/dist/chunks/{base-modal.4fb7528b.js.map → base-modal.C5I7bR0d.js.map} +1 -1
  83. package/dist/chunks/{base-modal.keys.b08a6bdf.js → base-modal.keys.C2PQXcE2.js} +1 -1
  84. package/dist/chunks/{base-modal.keys.b08a6bdf.js.map → base-modal.keys.C2PQXcE2.js.map} +1 -1
  85. package/dist/chunks/{button-actions-with-menu.bf968959.js → button-actions-with-menu.f3yuLK-L.js} +25 -27
  86. package/dist/chunks/{button-actions-with-menu.bf968959.js.map → button-actions-with-menu.f3yuLK-L.js.map} +1 -1
  87. package/dist/chunks/{button-actions.87e589e3.js → button-actions.Bg9ey0p6.js} +29 -31
  88. package/dist/chunks/{button-actions.87e589e3.js.map → button-actions.Bg9ey0p6.js.map} +1 -1
  89. package/dist/chunks/{button.cb90b55c.js → button.DhAUh5JA.js} +22 -24
  90. package/dist/chunks/{button.cb90b55c.js.map → button.DhAUh5JA.js.map} +1 -1
  91. package/dist/chunks/{calendar.f02e0a5a.js → calendar.B69z8gjb.js} +287 -332
  92. package/dist/chunks/{calendar.f02e0a5a.js.map → calendar.B69z8gjb.js.map} +1 -1
  93. package/dist/chunks/card.70Xvba2C.js +115 -0
  94. package/dist/chunks/card.70Xvba2C.js.map +1 -0
  95. package/dist/chunks/checkbox-group.B-KdeRXC.js +152 -0
  96. package/dist/chunks/checkbox-group.B-KdeRXC.js.map +1 -0
  97. package/dist/chunks/{checkbox-input.1c3cc8ed.js → checkbox-input.DwDwI2BD.js} +27 -30
  98. package/dist/chunks/{checkbox-input.1c3cc8ed.js.map → checkbox-input.DwDwI2BD.js.map} +1 -1
  99. package/dist/chunks/{checkbox.9f9c978a.js → checkbox.Bi2RDBEZ.js} +21 -23
  100. package/dist/chunks/{checkbox.9f9c978a.js.map → checkbox.Bi2RDBEZ.js.map} +1 -1
  101. package/dist/chunks/checkmark-circle-fill.DVl6QSwm.js +24 -0
  102. package/dist/chunks/{checkmark-circle-fill.345311d2.js.map → checkmark-circle-fill.DVl6QSwm.js.map} +1 -1
  103. package/dist/chunks/{checkmark-small.520f01b1.js → checkmark-small.BtF8b2gE.js} +6 -8
  104. package/dist/chunks/{checkmark-small.520f01b1.js.map → checkmark-small.BtF8b2gE.js.map} +1 -1
  105. package/dist/chunks/{chevron-left.5edf02ac.js → chevron-left.CtnrsqUy.js} +13 -17
  106. package/dist/chunks/{chevron-left.5edf02ac.js.map → chevron-left.CtnrsqUy.js.map} +1 -1
  107. package/dist/chunks/{chevron-up.81185563.js → chevron-up.B2uWhZf7.js} +14 -18
  108. package/dist/chunks/{chevron-up.81185563.js.map → chevron-up.B2uWhZf7.js.map} +1 -1
  109. package/dist/chunks/click-outside.DABh6NLr.js +23 -0
  110. package/dist/chunks/click-outside.DABh6NLr.js.map +1 -0
  111. package/dist/chunks/code-snippet.C4IbjAhH.js +968 -0
  112. package/dist/chunks/code-snippet.C4IbjAhH.js.map +1 -0
  113. package/dist/chunks/{controls-group.121a307d.js → controls-group.cSRFiEVO.js} +17 -19
  114. package/dist/chunks/{controls-group.121a307d.js.map → controls-group.cSRFiEVO.js.map} +1 -1
  115. package/dist/chunks/{copy.6808b2dc.js → copy.BtFWFG3q.js} +15 -19
  116. package/dist/chunks/{copy.6808b2dc.js.map → copy.BtFWFG3q.js.map} +1 -1
  117. package/dist/chunks/country.KayLT0zy.js +93 -0
  118. package/dist/chunks/country.KayLT0zy.js.map +1 -0
  119. package/dist/chunks/{country.types.002caff2.js → country.types.Br0AjxGy.js} +5 -5
  120. package/dist/chunks/{country.types.002caff2.js.map → country.types.Br0AjxGy.js.map} +1 -1
  121. package/dist/chunks/{cross-circle-fill.27580c4b.js → cross-circle-fill.CnYH4R_h.js} +7 -9
  122. package/dist/chunks/{cross-circle-fill.27580c4b.js.map → cross-circle-fill.CnYH4R_h.js.map} +1 -1
  123. package/dist/chunks/{cross-small.e851e0de.js → cross-small.BLUwtRB-.js} +9 -11
  124. package/dist/chunks/{cross-small.e851e0de.js.map → cross-small.BLUwtRB-.js.map} +1 -1
  125. package/dist/chunks/{cross.04678d81.js → cross.CsUPDmaA.js} +9 -11
  126. package/dist/chunks/{cross.04678d81.js.map → cross.CsUPDmaA.js.map} +1 -1
  127. package/dist/chunks/currency.H7n7RQiX.js +113 -0
  128. package/dist/chunks/currency.H7n7RQiX.js.map +1 -0
  129. package/dist/chunks/dashboard-section.BcH-_en7.js +105 -0
  130. package/dist/chunks/dashboard-section.BcH-_en7.js.map +1 -0
  131. package/dist/chunks/dashed-underline.ChUlcFJR.js +59 -0
  132. package/dist/chunks/dashed-underline.ChUlcFJR.js.map +1 -0
  133. package/dist/chunks/data-grid-template.DqG5bNeD.js +66 -0
  134. package/dist/chunks/data-grid-template.DqG5bNeD.js.map +1 -0
  135. package/dist/chunks/{data-grid-template.keys.a819a991.js → data-grid-template.keys.2_AkxuNT.js} +1 -1
  136. package/dist/chunks/{data-grid-template.keys.a819a991.js.map → data-grid-template.keys.2_AkxuNT.js.map} +1 -1
  137. package/dist/chunks/data-grid.CvHAdmvs.js +2022 -0
  138. package/dist/chunks/data-grid.CvHAdmvs.js.map +1 -0
  139. package/dist/chunks/{date-input.9186a0bf.js → date-input.BqBdAO1E.js} +1 -1
  140. package/dist/chunks/{date-input.9186a0bf.js.map → date-input.BqBdAO1E.js.map} +1 -1
  141. package/dist/chunks/date-picker.ByP2Wpo0.js +196 -0
  142. package/dist/chunks/date-picker.ByP2Wpo0.js.map +1 -0
  143. package/dist/chunks/{index.854d6498.js → date-range-picker.DrnklTJ-.js} +113 -117
  144. package/dist/chunks/date-range-picker.DrnklTJ-.js.map +1 -0
  145. package/dist/chunks/{index.614a5138.js → date.DKjxxR6P.js} +44 -51
  146. package/dist/chunks/date.DKjxxR6P.js.map +1 -0
  147. package/dist/chunks/{debounce.b5ef6acf.js → debounce.DUTu11PS.js} +1 -1
  148. package/dist/chunks/{debounce.b5ef6acf.js.map → debounce.DUTu11PS.js.map} +1 -1
  149. package/dist/chunks/{dialog-page.7fd7d006.js → dialog-page.DAh0M4mT.js} +20 -24
  150. package/dist/chunks/{dialog-page.7fd7d006.js.map → dialog-page.DAh0M4mT.js.map} +1 -1
  151. package/dist/chunks/divider.BZfeYmB9.js +30 -0
  152. package/dist/chunks/divider.BZfeYmB9.js.map +1 -0
  153. package/dist/chunks/{dropdown-default-textbox.d0f17d96.js → dropdown-default-textbox.CKOkl_Qa.js} +30 -34
  154. package/dist/chunks/{dropdown-default-textbox.d0f17d96.js.map → dropdown-default-textbox.CKOkl_Qa.js.map} +1 -1
  155. package/dist/chunks/dropdown-tag.DCMKQy-E.js +214 -0
  156. package/dist/chunks/dropdown-tag.DCMKQy-E.js.map +1 -0
  157. package/dist/chunks/{dropdown.a8037bca.js → dropdown.yhhQCKve.js} +230 -240
  158. package/dist/chunks/dropdown.yhhQCKve.js.map +1 -0
  159. package/dist/chunks/empty-state.BqVOj4v1.js +151 -0
  160. package/dist/chunks/empty-state.BqVOj4v1.js.map +1 -0
  161. package/dist/chunks/error-message.BSxUoE3_.js +107 -0
  162. package/dist/chunks/{error-message.bdcc1020.js.map → error-message.BSxUoE3_.js.map} +1 -1
  163. package/dist/chunks/events.CMzGybJJ.js +47 -0
  164. package/dist/chunks/{events.f14a214b.js.map → events.CMzGybJJ.js.map} +1 -1
  165. package/dist/chunks/filter-bar.AhsOPMZ1.js +2119 -0
  166. package/dist/chunks/filter-bar.AhsOPMZ1.js.map +1 -0
  167. package/dist/chunks/{fixed-scroller.82ef6187.js → fixed-scroller.Bq1AgPnw.js} +18 -20
  168. package/dist/chunks/{fixed-scroller.82ef6187.js.map → fixed-scroller.Bq1AgPnw.js.map} +1 -1
  169. package/dist/chunks/{index.1deef79e.js → focus-trap.DSkLNO_i.js} +35 -37
  170. package/dist/chunks/focus-trap.DSkLNO_i.js.map +1 -0
  171. package/dist/chunks/{footer-actions.58d14a16.js → footer-actions.DqMRmlV_.js} +11 -13
  172. package/dist/chunks/{footer-actions.58d14a16.js.map → footer-actions.DqMRmlV_.js.map} +1 -1
  173. package/dist/chunks/form-layout-title.BzNU0B72.js +187 -0
  174. package/dist/chunks/form-layout-title.BzNU0B72.js.map +1 -0
  175. package/dist/chunks/{form-layout.types.a7a1438d.js → form-layout.types.D3EKzbE7.js} +1 -1
  176. package/dist/chunks/{form-layout.types.a7a1438d.js.map → form-layout.types.D3EKzbE7.js.map} +1 -1
  177. package/dist/chunks/{get-slot-text.99c3d860.js → get-slot-text.Cgn-E48s.js} +2 -2
  178. package/dist/chunks/{get-slot-text.99c3d860.js.map → get-slot-text.Cgn-E48s.js.map} +1 -1
  179. package/dist/chunks/{grid-layout.e0025286.js → grid-layout.HvTAa4to.js} +11 -13
  180. package/dist/chunks/{grid-layout.e0025286.js.map → grid-layout.HvTAa4to.js.map} +1 -1
  181. package/dist/chunks/header.DmKHCmXh.js +245 -0
  182. package/dist/chunks/header.DmKHCmXh.js.map +1 -0
  183. package/dist/chunks/{i18n.eb5b985b.js → i18n.BQkEbtPM.js} +2 -2
  184. package/dist/chunks/{i18n.eb5b985b.js.map → i18n.BQkEbtPM.js.map} +1 -1
  185. package/dist/chunks/image.B3uqhFjl.js +82 -0
  186. package/dist/chunks/image.B3uqhFjl.js.map +1 -0
  187. package/dist/chunks/{index.fdf12170.js → index.B_EJflcs.js} +2 -2
  188. package/dist/chunks/{index.fdf12170.js.map → index.B_EJflcs.js.map} +1 -1
  189. package/dist/chunks/{index.f55fdc32.js → index.B_UZQ6qF.js} +209 -243
  190. package/dist/chunks/{index.f55fdc32.js.map → index.B_UZQ6qF.js.map} +1 -1
  191. package/dist/chunks/{index.4c062058.js → index.Cl4_42j5.js} +1 -1
  192. package/dist/chunks/{index.4c062058.js.map → index.Cl4_42j5.js.map} +1 -1
  193. package/dist/chunks/{index.561786f6.js → index.OCPp3NST.js} +3 -3
  194. package/dist/chunks/{index.561786f6.js.map → index.OCPp3NST.js.map} +1 -1
  195. package/dist/chunks/{index.d80206ed.js → index.Z84QE0E2.js} +2 -2
  196. package/dist/chunks/{index.d80206ed.js.map → index.Z84QE0E2.js.map} +1 -1
  197. package/dist/chunks/{index.86453263.js → index.xqFSZOAb.js} +2 -2
  198. package/dist/chunks/{index.86453263.js.map → index.xqFSZOAb.js.map} +1 -1
  199. package/dist/chunks/info-icon.CLguYHRt.js +41 -0
  200. package/dist/chunks/info-icon.CLguYHRt.js.map +1 -0
  201. package/dist/chunks/{info.8b6328aa.js → info.CyeBsLgt.js} +9 -11
  202. package/dist/chunks/{info.8b6328aa.js.map → info.CyeBsLgt.js.map} +1 -1
  203. package/dist/chunks/input-field.BnlEPPYr.js +218 -0
  204. package/dist/chunks/input-field.BnlEPPYr.js.map +1 -0
  205. package/dist/chunks/internal-error.BLZodVBE.js +5 -0
  206. package/dist/chunks/internal-error.BLZodVBE.js.map +1 -0
  207. package/dist/chunks/internal-error.BmrwJFpR.js +5 -0
  208. package/dist/chunks/internal-error.BmrwJFpR.js.map +1 -0
  209. package/dist/chunks/{keyboard-navigation.bbc3d15c.js → keyboard-navigation.Clz1jOaA.js} +2 -2
  210. package/dist/chunks/{keyboard-navigation.bbc3d15c.js.map → keyboard-navigation.Clz1jOaA.js.map} +1 -1
  211. package/dist/chunks/{index.bd1d28d0.js → link.DJ1A53gF.js} +20 -24
  212. package/dist/chunks/link.DJ1A53gF.js.map +1 -0
  213. package/dist/chunks/listbox-option-tag.BDjsYOE1.js +75 -0
  214. package/dist/chunks/listbox-option-tag.BDjsYOE1.js.map +1 -0
  215. package/dist/chunks/{loading-button.692dbdc8.js → loading-button.CoF1IhEU.js} +32 -34
  216. package/dist/chunks/{loading-button.692dbdc8.js.map → loading-button.CoF1IhEU.js.map} +1 -1
  217. package/dist/chunks/loading-indicator.DXc7I1Lm.js +48 -0
  218. package/dist/chunks/loading-indicator.DXc7I1Lm.js.map +1 -0
  219. package/dist/chunks/{index.a48e7f99.js → menu.2TwUMlA9.js} +82 -94
  220. package/dist/chunks/menu.2TwUMlA9.js.map +1 -0
  221. package/dist/chunks/modal-fullscreen.BB_8EMNo.js +196 -0
  222. package/dist/chunks/modal-fullscreen.BB_8EMNo.js.map +1 -0
  223. package/dist/chunks/{modal-fullscreen.keys.b9f31632.js → modal-fullscreen.keys.CMba3hYp.js} +1 -1
  224. package/dist/chunks/{modal-fullscreen.keys.b9f31632.js.map → modal-fullscreen.keys.CMba3hYp.js.map} +1 -1
  225. package/dist/chunks/modal.DLwvcaRx.js +439 -0
  226. package/dist/chunks/modal.DLwvcaRx.js.map +1 -0
  227. package/dist/chunks/no-results-found.Bg_ZcEid.js +5 -0
  228. package/dist/chunks/no-results-found.Bg_ZcEid.js.map +1 -0
  229. package/dist/chunks/no-results-found.BqvYsBR6.js +5 -0
  230. package/dist/chunks/no-results-found.BqvYsBR6.js.map +1 -0
  231. package/dist/chunks/notifications-cleared.BMZk37uf.js +5 -0
  232. package/dist/chunks/notifications-cleared.BMZk37uf.js.map +1 -0
  233. package/dist/chunks/notifications-cleared.C7W9ZXY7.js +5 -0
  234. package/dist/chunks/notifications-cleared.C7W9ZXY7.js.map +1 -0
  235. package/dist/chunks/{on-click-outside.3e0c3e2a.js → on-click-outside.CcNG5w7_.js} +1 -1
  236. package/dist/chunks/{on-click-outside.3e0c3e2a.js.map → on-click-outside.CcNG5w7_.js.map} +1 -1
  237. package/dist/chunks/page-not-found.COJLPVaU.js +5 -0
  238. package/dist/chunks/page-not-found.COJLPVaU.js.map +1 -0
  239. package/dist/chunks/page-not-found.DWW6W-PZ.js +5 -0
  240. package/dist/chunks/page-not-found.DWW6W-PZ.js.map +1 -0
  241. package/dist/chunks/pagination.BXjbVe4Z.js +494 -0
  242. package/dist/chunks/pagination.BXjbVe4Z.js.map +1 -0
  243. package/dist/chunks/{payment-method.c55dd352.js → payment-method.D9Qx-s4V.js} +19 -21
  244. package/dist/chunks/{payment-method.c55dd352.js.map → payment-method.D9Qx-s4V.js.map} +1 -1
  245. package/dist/chunks/payment-method.types.CJKfZQN5.js +5 -0
  246. package/dist/chunks/payment-method.types.CJKfZQN5.js.map +1 -0
  247. package/dist/chunks/planned-maintenance.C61sWB9h.js +5 -0
  248. package/dist/chunks/planned-maintenance.C61sWB9h.js.map +1 -0
  249. package/dist/chunks/planned-maintenance.jmWYTdet.js +5 -0
  250. package/dist/chunks/planned-maintenance.jmWYTdet.js.map +1 -0
  251. package/dist/chunks/{index.0a30d358.js → popover.B8YH92W8.js} +31 -37
  252. package/dist/chunks/popover.B8YH92W8.js.map +1 -0
  253. package/dist/chunks/{index.c8621e8e.js → popper-container.Bt02N3o1.js} +12 -15
  254. package/dist/chunks/popper-container.Bt02N3o1.js.map +1 -0
  255. package/dist/chunks/radio-group.CPbBFTzB.js +211 -0
  256. package/dist/chunks/radio-group.CPbBFTzB.js.map +1 -0
  257. package/dist/chunks/{radio-input.c6550a9c.js → radio-input.BQcC0INR.js} +17 -19
  258. package/dist/chunks/radio-input.BQcC0INR.js.map +1 -0
  259. package/dist/chunks/referrals.BvtT-kQS.js +5 -0
  260. package/dist/chunks/referrals.BvtT-kQS.js.map +1 -0
  261. package/dist/chunks/referrals.aX8WZigH.js +5 -0
  262. package/dist/chunks/referrals.aX8WZigH.js.map +1 -0
  263. package/dist/chunks/{refresh.71a03998.js → refresh.BKI9WwKh.js} +7 -9
  264. package/dist/chunks/{refresh.71a03998.js.map → refresh.BKI9WwKh.js.map} +1 -1
  265. package/dist/chunks/{resize.a041304d.js → resize.Bqks3WUm.js} +1 -1
  266. package/dist/chunks/{resize.a041304d.js.map → resize.Bqks3WUm.js.map} +1 -1
  267. package/dist/chunks/search-bar.CsAgO-t5.js +89 -0
  268. package/dist/chunks/search-bar.CsAgO-t5.js.map +1 -0
  269. package/dist/chunks/{search.471270fe.js → search.CBKhp7zB.js} +10 -12
  270. package/dist/chunks/{search.471270fe.js.map → search.CBKhp7zB.js.map} +1 -1
  271. package/dist/chunks/secondary-nav.CNgpPxUU.js +97 -0
  272. package/dist/chunks/secondary-nav.CNgpPxUU.js.map +1 -0
  273. package/dist/chunks/segmented-control.DGjIC7Ab.js +111 -0
  274. package/dist/chunks/segmented-control.DGjIC7Ab.js.map +1 -0
  275. package/dist/chunks/segmented-control.types.BHRLV8KU.js +5 -0
  276. package/dist/chunks/segmented-control.types.BHRLV8KU.js.map +1 -0
  277. package/dist/chunks/selection-card-group.DlOs8BkR.js +247 -0
  278. package/dist/chunks/selection-card-group.DlOs8BkR.js.map +1 -0
  279. package/dist/chunks/sidepanel.BBjm2QvZ.js +187 -0
  280. package/dist/chunks/sidepanel.BBjm2QvZ.js.map +1 -0
  281. package/dist/chunks/{sidepanel.keys.1ed8a57c.js → sidepanel.keys.R0DKQuYx.js} +1 -1
  282. package/dist/chunks/{sidepanel.keys.1ed8a57c.js.map → sidepanel.keys.R0DKQuYx.js.map} +1 -1
  283. package/dist/chunks/status.types.BhbOYpZx.js +36 -0
  284. package/dist/chunks/status.types.BhbOYpZx.js.map +1 -0
  285. package/dist/chunks/step.DY8Txb6a.js +234 -0
  286. package/dist/chunks/step.DY8Txb6a.js.map +1 -0
  287. package/dist/chunks/{index.3c69be27.js → structured-list-item.C9NTVDvT.js} +18 -22
  288. package/dist/chunks/structured-list-item.C9NTVDvT.js.map +1 -0
  289. package/dist/chunks/success.DhioLvPD.js +5 -0
  290. package/dist/chunks/success.DhioLvPD.js.map +1 -0
  291. package/dist/chunks/success.nNwxJRBS.js +5 -0
  292. package/dist/chunks/success.nNwxJRBS.js.map +1 -0
  293. package/dist/chunks/summary-grid-item-custom.CJpDnoPw.js +573 -0
  294. package/dist/chunks/summary-grid-item-custom.CJpDnoPw.js.map +1 -0
  295. package/dist/chunks/{summary-grid.keys.1d1028c2.js → summary-grid.keys.BBbFrFGF.js} +1 -1
  296. package/dist/chunks/{summary-grid.keys.1d1028c2.js.map → summary-grid.keys.BBbFrFGF.js.map} +1 -1
  297. package/dist/chunks/tabs.CE65f3E_.js +140 -0
  298. package/dist/chunks/tabs.CE65f3E_.js.map +1 -0
  299. package/dist/chunks/{tabs.keys.358742f2.js → tabs.keys.Bc2pSKRw.js} +1 -1
  300. package/dist/chunks/{tabs.keys.358742f2.js.map → tabs.keys.Bc2pSKRw.js.map} +1 -1
  301. package/dist/chunks/tag.bhKrZHTU.js +64 -0
  302. package/dist/chunks/tag.bhKrZHTU.js.map +1 -0
  303. package/dist/chunks/{teleport.84b0f20b.js → teleport.CQKBJZU5.js} +14 -16
  304. package/dist/chunks/{teleport.84b0f20b.js.map → teleport.CQKBJZU5.js.map} +1 -1
  305. package/dist/chunks/textarea.CcKbtQBs.js +208 -0
  306. package/dist/chunks/textarea.CcKbtQBs.js.map +1 -0
  307. package/dist/chunks/timeline-item.ScTrUBKC.js +364 -0
  308. package/dist/chunks/timeline-item.ScTrUBKC.js.map +1 -0
  309. package/dist/chunks/toast.0EYDj8o-.js +165 -0
  310. package/dist/chunks/toast.0EYDj8o-.js.map +1 -0
  311. package/dist/chunks/toggle-button.2U-vbQhk.js +83 -0
  312. package/dist/chunks/toggle-button.2U-vbQhk.js.map +1 -0
  313. package/dist/chunks/toggle.CiOVTWlk.js +121 -0
  314. package/dist/chunks/toggle.CiOVTWlk.js.map +1 -0
  315. package/dist/chunks/{tooltip.efddb5f3.js → tooltip.DR8rbIYw.js} +29 -32
  316. package/dist/chunks/tooltip.DR8rbIYw.js.map +1 -0
  317. package/dist/chunks/tutorial.DMm12L0S.js +335 -0
  318. package/dist/chunks/tutorial.DMm12L0S.js.map +1 -0
  319. package/dist/chunks/{index.e29a6907.js → typography.Bjtu3Gca.js} +30 -32
  320. package/dist/chunks/typography.Bjtu3Gca.js.map +1 -0
  321. package/dist/chunks/{unique-id.a2a2b458.js → unique-id.XFfoKuc2.js} +14 -20
  322. package/dist/chunks/{unique-id.a2a2b458.js.map → unique-id.XFfoKuc2.js.map} +1 -1
  323. package/dist/chunks/upload-files.5wQwbfkp.js +5 -0
  324. package/dist/chunks/upload-files.5wQwbfkp.js.map +1 -0
  325. package/dist/chunks/upload-files.jTQY6y2X.js +5 -0
  326. package/dist/chunks/upload-files.jTQY6y2X.js.map +1 -0
  327. package/dist/chunks/{use-bento-toast-controller.5dac1f3c.js → use-bento-toast-controller.BifdE4ak.js} +4 -4
  328. package/dist/chunks/{use-bento-toast-controller.5dac1f3c.js.map → use-bento-toast-controller.BifdE4ak.js.map} +1 -1
  329. package/dist/chunks/{use-cached-selected-values.98a9ed01.js → use-cached-selected-values.CVLzxvTi.js} +217 -237
  330. package/dist/chunks/{use-cached-selected-values.98a9ed01.js.map → use-cached-selected-values.CVLzxvTi.js.map} +1 -1
  331. package/dist/chunks/{use-click-outside.941d1600.js → use-click-outside.DbjR7Lh4.js} +2 -2
  332. package/dist/chunks/{use-click-outside.941d1600.js.map → use-click-outside.DbjR7Lh4.js.map} +1 -1
  333. package/dist/chunks/{use-country-items.6b7985bf.js → use-country-items.C25TI6tp.js} +4 -4
  334. package/dist/chunks/{use-country-items.6b7985bf.js.map → use-country-items.C25TI6tp.js.map} +1 -1
  335. package/dist/chunks/{use-default-slot-validator.b9bff4c6.js → use-default-slot-validator.BDn0wkYP.js} +2 -2
  336. package/dist/chunks/{use-default-slot-validator.b9bff4c6.js.map → use-default-slot-validator.BDn0wkYP.js.map} +1 -1
  337. package/dist/chunks/{use-expandable-content-height.62fc84e5.js → use-expandable-content-height.GkjjbmPy.js} +1 -1
  338. package/dist/chunks/{use-expandable-content-height.62fc84e5.js.map → use-expandable-content-height.GkjjbmPy.js.map} +1 -1
  339. package/dist/chunks/{use-form-layout-loading.d03e5d48.js → use-form-layout-loading.D3lALhtC.js} +2 -2
  340. package/dist/chunks/{use-form-layout-loading.d03e5d48.js.map → use-form-layout-loading.D3lALhtC.js.map} +1 -1
  341. package/dist/chunks/use-has-slot.C9lQZ6nz.js +6 -0
  342. package/dist/chunks/{use-has-slot.fbeb19ec.js.map → use-has-slot.C9lQZ6nz.js.map} +1 -1
  343. package/dist/chunks/warning-filled.CLKRzGMT.js +24 -0
  344. package/dist/chunks/warning-filled.CLKRzGMT.js.map +1 -0
  345. package/dist/chunks/wrong-environment.BOsyKdRI.js +5 -0
  346. package/dist/chunks/wrong-environment.BOsyKdRI.js.map +1 -0
  347. package/dist/chunks/wrong-environment.BiHTPtbJ.js +5 -0
  348. package/dist/chunks/wrong-environment.BiHTPtbJ.js.map +1 -0
  349. package/dist/click-outside.js +2 -20
  350. package/dist/click-outside.js.map +1 -1
  351. package/dist/code-snippet.js +5 -2052
  352. package/dist/code-snippet.js.map +1 -1
  353. package/dist/country.js +8 -97
  354. package/dist/country.js.map +1 -1
  355. package/dist/currency.js +3 -112
  356. package/dist/currency.js.map +1 -1
  357. package/dist/dashboard-template.js +3 -106
  358. package/dist/dashboard-template.js.map +1 -1
  359. package/dist/dashed-underline.js +5 -0
  360. package/dist/dashed-underline.js.map +1 -0
  361. package/dist/data-grid-template.js +2 -65
  362. package/dist/data-grid-template.js.map +1 -1
  363. package/dist/data-grid.js +8 -1986
  364. package/dist/data-grid.js.map +1 -1
  365. package/dist/date-picker.js +5 -197
  366. package/dist/date-picker.js.map +1 -1
  367. package/dist/date-range-picker.js +2 -2
  368. package/dist/date.js +1 -1
  369. package/dist/divider.js +1 -1
  370. package/dist/dropdown.js +12 -227
  371. package/dist/dropdown.js.map +1 -1
  372. package/dist/empty-state.js +5 -143
  373. package/dist/empty-state.js.map +1 -1
  374. package/dist/filter-bar.js +5 -2156
  375. package/dist/filter-bar.js.map +1 -1
  376. package/dist/focus-trap.js +1 -1
  377. package/dist/form-layout.js +5 -192
  378. package/dist/form-layout.js.map +1 -1
  379. package/dist/header.js +2 -246
  380. package/dist/header.js.map +1 -1
  381. package/dist/image.js +4 -81
  382. package/dist/image.js.map +1 -1
  383. package/dist/index.js +270 -266
  384. package/dist/index.js.map +1 -1
  385. package/dist/info-icon.js +2 -40
  386. package/dist/info-icon.js.map +1 -1
  387. package/dist/input-field.js +7 -217
  388. package/dist/input-field.js.map +1 -1
  389. package/dist/internal.js +15 -15
  390. package/dist/link.js +1 -1
  391. package/dist/loading-indicator.js +3 -47
  392. package/dist/loading-indicator.js.map +1 -1
  393. package/dist/menu.js +1 -1
  394. package/dist/modal-fullscreen.js +3 -197
  395. package/dist/modal-fullscreen.js.map +1 -1
  396. package/dist/modal.js +11 -451
  397. package/dist/modal.js.map +1 -1
  398. package/dist/pagination.js +2 -507
  399. package/dist/pagination.js.map +1 -1
  400. package/dist/payment-method.js +4 -4
  401. package/dist/payment-method.js.map +1 -1
  402. package/dist/popover.js +1 -1
  403. package/dist/popper-container.js +1 -1
  404. package/dist/radio-group.js +6 -213
  405. package/dist/radio-group.js.map +1 -1
  406. package/dist/search-bar.js +6 -90
  407. package/dist/search-bar.js.map +1 -1
  408. package/dist/secondary-nav.js +2 -100
  409. package/dist/secondary-nav.js.map +1 -1
  410. package/dist/segmented-control.js +4 -214
  411. package/dist/segmented-control.js.map +1 -1
  412. package/dist/selection-card.js +4 -248
  413. package/dist/selection-card.js.map +1 -1
  414. package/dist/sidepanel.js +4 -189
  415. package/dist/sidepanel.js.map +1 -1
  416. package/dist/status.js +3 -40
  417. package/dist/status.js.map +1 -1
  418. package/dist/stepper.js +5 -237
  419. package/dist/stepper.js.map +1 -1
  420. package/dist/structured-list.js +1 -1
  421. package/dist/summary-grid.js +9 -584
  422. package/dist/summary-grid.js.map +1 -1
  423. package/dist/tabs.js +3 -141
  424. package/dist/tabs.js.map +1 -1
  425. package/dist/tag.js +3 -63
  426. package/dist/tag.js.map +1 -1
  427. package/dist/textarea.js +2 -209
  428. package/dist/textarea.js.map +1 -1
  429. package/dist/timeline.js +7 -367
  430. package/dist/timeline.js.map +1 -1
  431. package/dist/toast.js +2 -168
  432. package/dist/toast.js.map +1 -1
  433. package/dist/toggle.js +4 -120
  434. package/dist/toggle.js.map +1 -1
  435. package/dist/tutorial.js +2 -340
  436. package/dist/tutorial.js.map +1 -1
  437. package/dist/typography.js +1 -1
  438. package/dist/web-types.json +308 -194
  439. package/package.json +5 -7
  440. package/dist/assets/index15.css +0 -1
  441. package/dist/assets/index32.css +0 -1
  442. package/dist/assets/index34.css +0 -1
  443. package/dist/assets/index35.css +0 -1
  444. package/dist/assets/index45.css +0 -1
  445. package/dist/assets/index48.css +0 -1
  446. package/dist/assets/index6.css +0 -1
  447. package/dist/chunks/1-generic-use.3ea646cd.js +0 -5
  448. package/dist/chunks/1-generic-use.3ea646cd.js.map +0 -1
  449. package/dist/chunks/1-generic-use.ccca5813.js +0 -5
  450. package/dist/chunks/1-generic-use.ccca5813.js.map +0 -1
  451. package/dist/chunks/2-generic-use.443db127.js +0 -5
  452. package/dist/chunks/2-generic-use.443db127.js.map +0 -1
  453. package/dist/chunks/2-generic-use.d69d7c08.js +0 -5
  454. package/dist/chunks/2-generic-use.d69d7c08.js.map +0 -1
  455. package/dist/chunks/3-generic-use.9f74667f.js +0 -5
  456. package/dist/chunks/3-generic-use.9f74667f.js.map +0 -1
  457. package/dist/chunks/3-generic-use.fe7ae2ce.js +0 -5
  458. package/dist/chunks/3-generic-use.fe7ae2ce.js.map +0 -1
  459. package/dist/chunks/4-generic-use.0356f4a1.js +0 -5
  460. package/dist/chunks/4-generic-use.0356f4a1.js.map +0 -1
  461. package/dist/chunks/4-generic-use.cd04bad0.js +0 -5
  462. package/dist/chunks/4-generic-use.cd04bad0.js.map +0 -1
  463. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js +0 -33
  464. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js.map +0 -1
  465. package/dist/chunks/adding-payment-methods.d570e03e.js +0 -5
  466. package/dist/chunks/adding-payment-methods.d570e03e.js.map +0 -1
  467. package/dist/chunks/adding-payment-methods.e419d6c0.js +0 -5
  468. package/dist/chunks/adding-payment-methods.e419d6c0.js.map +0 -1
  469. package/dist/chunks/adyen-giving.480913b5.js +0 -5
  470. package/dist/chunks/adyen-giving.480913b5.js.map +0 -1
  471. package/dist/chunks/adyen-giving.54ed984c.js +0 -5
  472. package/dist/chunks/adyen-giving.54ed984c.js.map +0 -1
  473. package/dist/chunks/base-button.852204dc.js +0 -88
  474. package/dist/chunks/checkmark-circle-fill.345311d2.js +0 -26
  475. package/dist/chunks/dropdown.a8037bca.js.map +0 -1
  476. package/dist/chunks/error-message.bdcc1020.js +0 -111
  477. package/dist/chunks/events.f14a214b.js +0 -50
  478. package/dist/chunks/index.0a30d358.js.map +0 -1
  479. package/dist/chunks/index.1deef79e.js.map +0 -1
  480. package/dist/chunks/index.3c69be27.js.map +0 -1
  481. package/dist/chunks/index.614a5138.js.map +0 -1
  482. package/dist/chunks/index.854d6498.js.map +0 -1
  483. package/dist/chunks/index.939dd5cf.js +0 -32
  484. package/dist/chunks/index.939dd5cf.js.map +0 -1
  485. package/dist/chunks/index.a48e7f99.js.map +0 -1
  486. package/dist/chunks/index.bd1d28d0.js.map +0 -1
  487. package/dist/chunks/index.c8621e8e.js.map +0 -1
  488. package/dist/chunks/index.ccc7e8d7.js.map +0 -1
  489. package/dist/chunks/index.e29a6907.js.map +0 -1
  490. package/dist/chunks/internal-error.35cbb071.js +0 -5
  491. package/dist/chunks/internal-error.35cbb071.js.map +0 -1
  492. package/dist/chunks/internal-error.9a4823ed.js +0 -5
  493. package/dist/chunks/internal-error.9a4823ed.js.map +0 -1
  494. package/dist/chunks/listbox-option-tag.8708be60.js +0 -107
  495. package/dist/chunks/listbox-option-tag.8708be60.js.map +0 -1
  496. package/dist/chunks/no-results-found.58856d70.js +0 -5
  497. package/dist/chunks/no-results-found.58856d70.js.map +0 -1
  498. package/dist/chunks/no-results-found.cbb12f78.js +0 -5
  499. package/dist/chunks/no-results-found.cbb12f78.js.map +0 -1
  500. package/dist/chunks/notifications-cleared.71025c22.js +0 -5
  501. package/dist/chunks/notifications-cleared.71025c22.js.map +0 -1
  502. package/dist/chunks/notifications-cleared.c4f4bed4.js +0 -5
  503. package/dist/chunks/notifications-cleared.c4f4bed4.js.map +0 -1
  504. package/dist/chunks/page-not-found.a500440d.js +0 -5
  505. package/dist/chunks/page-not-found.a500440d.js.map +0 -1
  506. package/dist/chunks/page-not-found.d1a84ba7.js +0 -5
  507. package/dist/chunks/page-not-found.d1a84ba7.js.map +0 -1
  508. package/dist/chunks/planned-maintenance.7fa5ac16.js +0 -5
  509. package/dist/chunks/planned-maintenance.7fa5ac16.js.map +0 -1
  510. package/dist/chunks/planned-maintenance.cff01aed.js +0 -5
  511. package/dist/chunks/planned-maintenance.cff01aed.js.map +0 -1
  512. package/dist/chunks/radio-input.c6550a9c.js.map +0 -1
  513. package/dist/chunks/referrals.178ce0eb.js +0 -5
  514. package/dist/chunks/referrals.178ce0eb.js.map +0 -1
  515. package/dist/chunks/referrals.599047da.js +0 -5
  516. package/dist/chunks/referrals.599047da.js.map +0 -1
  517. package/dist/chunks/success.41981fe8.js +0 -5
  518. package/dist/chunks/success.41981fe8.js.map +0 -1
  519. package/dist/chunks/success.77fac78b.js +0 -5
  520. package/dist/chunks/success.77fac78b.js.map +0 -1
  521. package/dist/chunks/tooltip.efddb5f3.js.map +0 -1
  522. package/dist/chunks/upload-files.2708eca7.js +0 -5
  523. package/dist/chunks/upload-files.2708eca7.js.map +0 -1
  524. package/dist/chunks/upload-files.b4cd9f8b.js +0 -5
  525. package/dist/chunks/upload-files.b4cd9f8b.js.map +0 -1
  526. package/dist/chunks/use-has-slot.fbeb19ec.js +0 -6
  527. package/dist/chunks/wrong-environment.c73b0bc0.js +0 -5
  528. package/dist/chunks/wrong-environment.c73b0bc0.js.map +0 -1
  529. package/dist/chunks/wrong-environment.f890a237.js +0 -5
  530. package/dist/chunks/wrong-environment.f890a237.js.map +0 -1
  531. /package/dist/assets/{index.css → alert.css} +0 -0
  532. /package/dist/assets/{index2.css → avatar-image.css} +0 -0
  533. /package/dist/assets/{index8.css → badge.css} +0 -0
  534. /package/dist/assets/{index5.css → checkbox-group.css} +0 -0
  535. /package/dist/assets/{index10.css → code-snippet.css} +0 -0
  536. /package/dist/assets/{index7.css → country.css} +0 -0
  537. /package/dist/assets/{index13.css → date-picker.css} +0 -0
  538. /package/dist/assets/{index23.css → date-range-picker.css} +0 -0
  539. /package/dist/assets/{index16.css → divider.css} +0 -0
  540. /package/dist/assets/{index17.css → dropdown-tag.css} +0 -0
  541. /package/dist/assets/{index18.css → empty-state.css} +0 -0
  542. /package/dist/assets/{index27.css → focus-trap.css} +0 -0
  543. /package/dist/assets/{index19.css → form-layout-title.css} +0 -0
  544. /package/dist/assets/{index26.css → header.css} +0 -0
  545. /package/dist/assets/{index28.css → info-icon.css} +0 -0
  546. /package/dist/assets/{index44.css → input-field.css} +0 -0
  547. /package/dist/assets/{index29.css → link.css} +0 -0
  548. /package/dist/assets/{index30.css → loading-indicator.css} +0 -0
  549. /package/dist/assets/{index25.css → pagination.css} +0 -0
  550. /package/dist/assets/{index37.css → popper-container.css} +0 -0
  551. /package/dist/assets/{index40.css → radio-group.css} +0 -0
  552. /package/dist/assets/{index31.css → search-bar.css} +0 -0
  553. /package/dist/assets/{index39.css → secondary-nav.css} +0 -0
  554. /package/dist/assets/{index12.css → step.css} +0 -0
  555. /package/dist/assets/{index20.css → structured-list-item.css} +0 -0
  556. /package/dist/assets/{index21.css → summary-grid-item-custom.css} +0 -0
  557. /package/dist/assets/{index22.css → tabs.css} +0 -0
  558. /package/dist/assets/{index14.css → tag.css} +0 -0
  559. /package/dist/assets/{index41.css → textarea.css} +0 -0
  560. /package/dist/assets/{index42.css → timeline-item.css} +0 -0
  561. /package/dist/assets/{index43.css → toast.css} +0 -0
  562. /package/dist/assets/{index3.css → toggle-button.css} +0 -0
  563. /package/dist/assets/{index46.css → typography.css} +0 -0
@@ -1,17 +1,17 @@
1
- import { ref as o, computed as n, defineComponent as c, toRefs as _ } from "vue";
2
- import { B as u } from "./index.e29a6907.js";
3
- import "./index.4c062058.js";
4
- import { n as p } from "./_plugin-vue2_normalizer.71e2aa87.js";
5
- import "../assets/index2.css";
6
- const d = (t) => {
7
- const a = o(t);
1
+ import { ref as l, computed as n, defineComponent as c, toRefs as u } from "vue";
2
+ import { B as _ } from "./typography.Bjtu3Gca.js";
3
+ import "./index.Cl4_42j5.js";
4
+ import { n as m } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
5
+ import "../assets/avatar-image.css";
6
+ const p = (t) => {
7
+ const a = l(t);
8
8
  return n(() => a.value ? a.value.trim().charAt(0).toUpperCase() : null);
9
9
  };
10
10
  var r = /* @__PURE__ */ ((t) => (t.LARGE = "large", t.SMALL = "small", t))(r || {}), i = /* @__PURE__ */ ((t) => (t.BLUE = "blue", t.GREEN = "green", t.RED = "red", t.YELLOW = "yellow", t))(i || {});
11
- const m = {
11
+ const d = {
12
12
  name: "avatar-image"
13
- }, v = /* @__PURE__ */ c({
14
- ...m,
13
+ }, f = /* @__PURE__ */ c({
14
+ ...d,
15
15
  props: {
16
16
  color: { default: i.YELLOW },
17
17
  src: { default: null },
@@ -19,31 +19,29 @@ const m = {
19
19
  variant: { default: r.LARGE }
20
20
  },
21
21
  setup(t) {
22
- const a = t, { username: s } = _(a), e = d(s), l = n(() => ({
22
+ const a = t, { username: s } = u(a), e = p(s), o = n(() => ({
23
23
  [`b-avatar-image--${r.SMALL}`]: a.variant === r.SMALL,
24
24
  [`b-avatar-image--${a.color}`]: a.color
25
25
  }));
26
- return { __sfc: !0, props: a, username: s, initials: e, conditionalClasses: l, BentoTypography: u };
26
+ return { __sfc: !0, props: a, username: s, initials: e, conditionalClasses: o, BentoTypography: _ };
27
27
  }
28
28
  });
29
- var f = function() {
29
+ var v = function() {
30
30
  var a = this, s = a._self._c, e = a._self._setupProxy;
31
31
  return s("div", { staticClass: "b-avatar-image", class: e.conditionalClasses, attrs: { "aria-hidden": "true", "data-testid": "avatar" } }, [a.src ? s("img", { staticClass: "b-avatar-image__image", attrs: { src: a.src, alt: "Profile picture", "data-testid": "avatar-content" } }) : s("div", { staticClass: "b-avatar-image__default", attrs: { "data-testid": "avatar-content" } }, [s(e.BentoTypography, { attrs: { el: "span", variant: "body", strongest: "" } }, [a._v(" " + a._s(e.initials) + " ")])], 1)]);
32
- }, b = [], L = /* @__PURE__ */ p(
33
- v,
32
+ }, L = [], b = /* @__PURE__ */ m(
34
33
  f,
35
- b,
34
+ v,
35
+ L,
36
36
  !1,
37
37
  null,
38
- "b6bab73b",
39
- null,
40
- null
38
+ "b6bab73b"
41
39
  );
42
- const h = L.exports;
40
+ const h = b.exports;
43
41
  export {
44
42
  h as A,
45
- i as B,
46
- r as a,
47
- d as u
43
+ r as B,
44
+ i as a,
45
+ p as u
48
46
  };
49
- //# sourceMappingURL=index.ccc7e8d7.js.map
47
+ //# sourceMappingURL=avatar-image.DhlR-7Yg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-image.DhlR-7Yg.js","sources":["../../src/composables/initials.ts","../../src/components/avatar-image/avatar-image.types.ts","../../src/components/avatar-image/avatar-image.vue"],"sourcesContent":["import { computed, ComputedRef, ref } from 'vue';\nimport { MaybeRef } from '@/types';\n\n/** Extracts the first letter of a username\n * @param username - The name to return the initials of\n * Common patterns:\n * 1. John => J\n * 2. John Smith => J\n * John Smith Doe Holly => J\n */\nexport const useInitials = (username: MaybeRef<string | null>): ComputedRef<string | null> => {\n const computedUsername = ref(username);\n return computed(() => (computedUsername.value ? computedUsername.value.trim().charAt(0).toUpperCase() : null));\n};\n","export enum BentoAvatarImageVariant {\n LARGE = 'large',\n SMALL = 'small',\n}\n\nexport enum BentoAvatarImageColor {\n BLUE = 'blue',\n GREEN = 'green',\n RED = 'red',\n YELLOW = 'yellow',\n}\n","<template>\n <div class=\"b-avatar-image\" :class=\"conditionalClasses\" aria-hidden=\"true\" data-testid=\"avatar\">\n <img v-if=\"src\" :src=\"src\" class=\"b-avatar-image__image\" alt=\"Profile picture\" data-testid=\"avatar-content\" />\n <div v-else class=\"b-avatar-image__default\" data-testid=\"avatar-content\">\n <bento-typography el=\"span\" variant=\"body\" strongest>\n {{ initials }}\n </bento-typography>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, toRefs } from 'vue';\n import { BentoAvatarImageColor, BentoAvatarImageVariant } from './avatar-image.types';\n import { BentoTypography } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n const props = withDefaults(\n defineProps<{\n /**\n * Avatar color. Defaults to yellow.\n */\n color?: BentoAvatarImageColor;\n\n /**\n * Image src to load the profile picture.\n */\n src?: string;\n\n /**\n * Name of the user that will be used to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username?: string;\n\n /**\n * Variants supported for small and large.\n * Default - large\n */\n variant?: BentoAvatarImageVariant;\n }>(),\n {\n color: BentoAvatarImageColor.YELLOW,\n src: null,\n username: null,\n variant: BentoAvatarImageVariant.LARGE,\n }\n );\n\n const { username } = toRefs(props);\n const initials = useInitials(username);\n\n const conditionalClasses = computed(() => ({\n [`b-avatar-image--${BentoAvatarImageVariant.SMALL}`]: props.variant === BentoAvatarImageVariant.SMALL,\n [`b-avatar-image--${props.color}`]: props.color,\n }));\n</script>\n\n<script lang=\"ts\">\n export default {\n name: 'avatar-image',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar-image.scss\" />\n"],"names":["useInitials","username","computedUsername","ref","computed","BentoAvatarImageVariant","BentoAvatarImageVariant2","BentoAvatarImageColor","BentoAvatarImageColor2","__default__","toRefs","props","initials","conditionalClasses"],"mappings":";;;;;AAUa,MAAAA,IAAA,CAAAC,MAAA;AACT,QAAAC,IAAAC,EAAAF,CAAA;AACA,SAAAG,EAAA,MAAAF,EAAA,QAAAA,EAAA,MAAA,KAAA,EAAA,OAAA,CAAA,EAAA,YAAA,IAAA,IAAA;AACJ;ACbY,IAAAG,IAAA,kBAAAC,OACRA,EAAA,QAAA,SACAA,EAAA,QAAA,SAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,MAAA,OACAA,EAAA,SAAA,UAJQA,IAAAD,KAAA,CAAA,CAAA;ACyDR,MAAAE,IAAA;AAAA,EAAe,MAAA;AAEf;;;;;;;;;iBAZA,EAAA,UAAAR,EAAA,IAAAS,EAAAC,CAAA,GACAC,IAAAZ,EAAAC,CAAA,GAEAY,IAAAT,EAAA,OAAA;AAAA,MAA2C,CAAA,mBAAAC,EAAA,KAAA,EAAA,GAAAM,EAAA,YAAAN,EAAA;AAAA,MACyD,CAAA,mBAAAM,EAAA,KAAA,EAAA,GAAAA,EAAA;AAAA,IACtD,EAAA;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,86 @@
1
+ import { defineComponent as b, computed as r, ref as d } from "vue";
2
+ import { B as f } from "./typography.Bjtu3Gca.js";
3
+ import { u as p } from "./use-has-slot.C9lQZ6nz.js";
4
+ import { n as _ } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
5
+ import "../assets/base-button.css";
6
+ var s = /* @__PURE__ */ ((o) => (o.DESTRUCTIVE = "critical", o.ICON_ONLY = "icon-only", o))(s || {}), e = /* @__PURE__ */ ((o) => (o.BLUR = "blur", o.CLICK = "click", o.FOCUS = "focus", o.KEYDOWN_ESC = "keydown.esc", o))(e || {});
7
+ const C = b({
8
+ name: "base-button",
9
+ components: { BentoTypography: f },
10
+ props: {
11
+ /**
12
+ * Disables button functionality
13
+ */
14
+ disabled: {
15
+ type: Boolean,
16
+ default: !1
17
+ },
18
+ /**
19
+ * Displays button as critical
20
+ */
21
+ critical: {
22
+ type: Boolean,
23
+ default: !1
24
+ },
25
+ /**
26
+ * The default behavior of the button.
27
+ * Possible values are: 'button', 'reset', 'submit'
28
+ */
29
+ type: {
30
+ type: String,
31
+ default: "button"
32
+ }
33
+ },
34
+ emits: [
35
+ e.CLICK,
36
+ e.FOCUS,
37
+ e.BLUR,
38
+ e.KEYDOWN_ESC
39
+ ],
40
+ setup(o, { slots: t, emit: n, attrs: i }) {
41
+ const l = r(() => {
42
+ var a;
43
+ return {
44
+ "aria-expanded": (a = i["aria-expanded"]) == null ? void 0 : a.toString()
45
+ };
46
+ }), c = d(null), u = r(() => ({
47
+ [`b-base-button--${s.DESTRUCTIVE}`]: o.critical,
48
+ [`b-base-button--${s.ICON_ONLY}`]: !t.default
49
+ }));
50
+ return {
51
+ // Values
52
+ ariaAttributes: l,
53
+ conditionalClasses: u,
54
+ // Methods
55
+ onClickButton: (a) => {
56
+ o.disabled ? (a.preventDefault(), a.stopPropagation()) : n(e.CLICK, a);
57
+ },
58
+ onFocusButton: (a) => {
59
+ n(e.FOCUS, a);
60
+ },
61
+ onBlurButton: (a) => {
62
+ n(e.BLUR, a);
63
+ },
64
+ hasSlot: p(t),
65
+ // Refs
66
+ bentoBaseButtonRef: c
67
+ };
68
+ }
69
+ });
70
+ var m = function() {
71
+ var t = this, n = t._self._c;
72
+ return t._self._setupProxy, n("button", { ref: "bentoBaseButtonRef", staticClass: "b-base-button", class: t.conditionalClasses, attrs: { disabled: t.disabled, type: t.type, "aria-expanded": t.ariaAttributes["aria-expanded"] }, on: { click: t.onClickButton, focus: t.onFocusButton, blur: t.onBlurButton } }, [t.hasSlot("iconLeft") ? n("span", { staticClass: "b-base-button__icon-left", attrs: { "data-testid": "icon-button-left" } }, [t._t("iconLeft")], 2) : t._e(), t.hasSlot("default") ? n("bento-typography", { staticClass: "b-base-button__label", attrs: { el: "span", variant: "body", stronger: "" } }, [t._t("default")], 2) : t._e(), t.hasSlot("iconRight") ? n("span", { staticClass: "b-base-button__icon-right", attrs: { "data-testid": "icon-button-right" } }, [t._t("iconRight")], 2) : t._e()], 1);
73
+ }, y = [], B = /* @__PURE__ */ _(
74
+ C,
75
+ m,
76
+ y,
77
+ !1,
78
+ null,
79
+ "b321f07b"
80
+ );
81
+ const x = B.exports;
82
+ export {
83
+ x as B,
84
+ e as a
85
+ };
86
+ //# sourceMappingURL=base-button.DER7_IsF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.852204dc.js","sources":["../../src/components/internal/base-button/base-button.types.ts","../../src/components/internal/base-button/base-button.vue"],"sourcesContent":["export enum BentoBaseButtonPropClass {\n DESTRUCTIVE = 'critical',\n ICON_ONLY = 'icon-only',\n}\n\nexport enum BentoBaseButtonEvent {\n BLUR = 'blur',\n CLICK = 'click',\n FOCUS = 'focus',\n KEYDOWN_ESC = 'keydown.esc',\n}\n\nexport enum BaseButtonType {\n BUTTON = 'button',\n RESET = 'reset',\n SUBMIT = 'submit',\n}\n","<template>\n <button\n ref=\"bentoBaseButtonRef\"\n class=\"b-base-button\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n :type=\"type\"\n :aria-expanded=\"ariaAttributes['aria-expanded']\"\n @click=\"onClickButton\"\n @focus=\"onFocusButton\"\n @blur=\"onBlurButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-base-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-base-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-base-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoBaseButtonEvent, BentoBaseButtonPropClass } from './base-button.types';\n import type { ButtonHTMLAttributes } from 'vue/types/jsx';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { Booleanish } from '@/types';\n\n /**\n * Base button component to use as a base for all the various types of bento buttons. For internal use only.\n *\n * * @example\n * import { BaseButton, BaseButtonEvent } from '@/components/internal/base-button';\n * import YourImportedIcon from @adyen/ui-assets-icons-16/example-icon';\n *\n * export default {\n * components: { BaseButton, YourImportedIcon },\n * props: {\n * text:\n * },\n * template: `\n * <base-button class=\"your-custom-button-styles\" @click=\"onClick\">\n * <template #iconLeft><your-imported-icon></template>\n * Button text\n * <template #iconRight><your-imported-icon></template>\n * </base-button>\n * `,\n * emits: [BentoButtonEvent.CLICK],\n * setup: (prps, { emit }) => {\n * const onClick = value => emit(BaseButtonEvent.CLICK, value);\n *\n * return {\n * onClick,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'base-button',\n components: { BentoTypography },\n props: {\n /**\n * Disables button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n },\n emits: [\n BentoBaseButtonEvent.CLICK,\n BentoBaseButtonEvent.FOCUS,\n BentoBaseButtonEvent.BLUR,\n BentoBaseButtonEvent.KEYDOWN_ESC,\n ],\n setup(props, { slots, emit, attrs }) {\n const ariaAttributes = computed(() => ({\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const bentoBaseButtonRef = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-base-button--${BentoBaseButtonPropClass.DESTRUCTIVE}`]: props.critical,\n [`b-base-button--${BentoBaseButtonPropClass.ICON_ONLY}`]: !slots.default,\n }));\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit(BentoBaseButtonEvent.CLICK, e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onFocusButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.FOCUS, e);\n };\n\n const onBlurButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.BLUR, e);\n };\n\n return {\n // Values\n ariaAttributes,\n conditionalClasses,\n\n // Methods\n onClickButton,\n onFocusButton,\n onBlurButton,\n hasSlot: useHasSlot(slots),\n\n // Refs\n bentoBaseButtonRef,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-button.scss\" />\n"],"names":["BentoBaseButtonPropClass","BentoBaseButtonPropClass2","BentoBaseButtonEvent","BentoBaseButtonEvent2","_sfc_main","defineComponent","BentoTypography","props","slots","emit","attrs","ariaAttributes","computed","_a","bentoBaseButtonRef","ref","conditionalClasses","e","useHasSlot"],"mappings":";;;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,cAAA,YACAA,EAAA,YAAA,aAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,QAAA,SACAA,EAAA,cAAA,eAJQA,IAAAD,KAAA,CAAA,CAAA;ACwDZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACAJ,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,EACA;AAAA,EACA,MAAAK,GAAA,EAAA,OAAAC,GAAA,MAAAC,GAAA,OAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,MAAA;;AAAA;AAAA,QAAA,kBAAAC,IAAAH,EAAA,eAAA,MAAA,gBAAAG,EAAA;AAAA,MACA;AAAA,KAAA,GAGAC,IAAAC,EAAA,IAAA,GAEAC,IAAAJ,EAAA,OAAA;AAAA,MAAA,CAAA,kBAAAZ,EAAA,aAAA,GAAAO,EAAA;AAAA,MACA,CAAA,kBAAAP,EAAA,WAAA,GAAA,CAAAQ,EAAA;AAAA,IACA,EAAA;AAoBA,WAAA;AAAA;AAAA,MAAA,gBAAAG;AAAA,MAEA,oBAAAK;AAAA;AAAA,MACA,eApBA,CAAAC,MAAA;AACA,QAAAV,EAAA,YAGAU,EAAA,eAAA,GACAA,EAAA,gBAAA,KAHAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAIA;AAAA,MAiBA,eAdA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAAA;AAAA,MAcA,cAXA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,MAAAe,CAAA;AAAA,MAAA;AAAA,MAWA,SAAAC,EAAAV,CAAA;AAAA;AAAA,MACA,oBAAAM;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"base-button.DER7_IsF.js","sources":["../../src/components/internal/base-button/base-button.types.ts","../../src/components/internal/base-button/base-button.vue"],"sourcesContent":["export enum BentoBaseButtonPropClass {\n DESTRUCTIVE = 'critical',\n ICON_ONLY = 'icon-only',\n}\n\nexport enum BentoBaseButtonEvent {\n BLUR = 'blur',\n CLICK = 'click',\n FOCUS = 'focus',\n KEYDOWN_ESC = 'keydown.esc',\n}\n\nexport enum BaseButtonType {\n BUTTON = 'button',\n RESET = 'reset',\n SUBMIT = 'submit',\n}\n","<template>\n <button\n ref=\"bentoBaseButtonRef\"\n class=\"b-base-button\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n :type=\"type\"\n :aria-expanded=\"ariaAttributes['aria-expanded']\"\n @click=\"onClickButton\"\n @focus=\"onFocusButton\"\n @blur=\"onBlurButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-base-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-base-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-base-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoBaseButtonEvent, BentoBaseButtonPropClass } from './base-button.types';\n import type { ButtonHTMLAttributes } from 'vue/types/jsx';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { Booleanish } from '@/types';\n\n /**\n * Base button component to use as a base for all the various types of bento buttons. For internal use only.\n *\n * * @example\n * import { BaseButton, BaseButtonEvent } from '@/components/internal/base-button';\n * import YourImportedIcon from @adyen/ui-assets-icons-16/example-icon';\n *\n * export default {\n * components: { BaseButton, YourImportedIcon },\n * props: {\n * text:\n * },\n * template: `\n * <base-button class=\"your-custom-button-styles\" @click=\"onClick\">\n * <template #iconLeft><your-imported-icon></template>\n * Button text\n * <template #iconRight><your-imported-icon></template>\n * </base-button>\n * `,\n * emits: [BentoButtonEvent.CLICK],\n * setup: (prps, { emit }) => {\n * const onClick = value => emit(BaseButtonEvent.CLICK, value);\n *\n * return {\n * onClick,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'base-button',\n components: { BentoTypography },\n props: {\n /**\n * Disables button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n },\n emits: [\n BentoBaseButtonEvent.CLICK,\n BentoBaseButtonEvent.FOCUS,\n BentoBaseButtonEvent.BLUR,\n BentoBaseButtonEvent.KEYDOWN_ESC,\n ],\n setup(props, { slots, emit, attrs }) {\n const ariaAttributes = computed(() => ({\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const bentoBaseButtonRef = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-base-button--${BentoBaseButtonPropClass.DESTRUCTIVE}`]: props.critical,\n [`b-base-button--${BentoBaseButtonPropClass.ICON_ONLY}`]: !slots.default,\n }));\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit(BentoBaseButtonEvent.CLICK, e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onFocusButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.FOCUS, e);\n };\n\n const onBlurButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.BLUR, e);\n };\n\n return {\n // Values\n ariaAttributes,\n conditionalClasses,\n\n // Methods\n onClickButton,\n onFocusButton,\n onBlurButton,\n hasSlot: useHasSlot(slots),\n\n // Refs\n bentoBaseButtonRef,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-button.scss\" />\n"],"names":["BentoBaseButtonPropClass","BentoBaseButtonPropClass2","BentoBaseButtonEvent","BentoBaseButtonEvent2","_sfc_main","defineComponent","BentoTypography","props","slots","emit","attrs","ariaAttributes","computed","_a","bentoBaseButtonRef","ref","conditionalClasses","e","useHasSlot"],"mappings":";;;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,cAAA,YACAA,EAAA,YAAA,aAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,QAAA,SACAA,EAAA,cAAA,eAJQA,IAAAD,KAAA,CAAA,CAAA;ACwDZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACAJ,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,EACA;AAAA,EACA,MAAAK,GAAA,EAAA,OAAAC,GAAA,MAAAC,GAAA,OAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,MAAA;;AAAA;AAAA,QAAA,kBAAAC,IAAAH,EAAA,eAAA,MAAA,gBAAAG,EAAA;AAAA,MACA;AAAA,KAAA,GAGAC,IAAAC,EAAA,IAAA,GAEAC,IAAAJ,EAAA,OAAA;AAAA,MAAA,CAAA,kBAAAZ,EAAA,WAAA,EAAA,GAAAO,EAAA;AAAA,MACA,CAAA,kBAAAP,EAAA,SAAA,EAAA,GAAA,CAAAQ,EAAA;AAAA,IACA,EAAA;AAoBA,WAAA;AAAA;AAAA,MAAA,gBAAAG;AAAA,MAEA,oBAAAK;AAAA;AAAA,MACA,eApBA,CAAAC,MAAA;AACA,QAAAV,EAAA,YAGAU,EAAA,eAAA,GACAA,EAAA,gBAAA,KAHAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAIA;AAAA,MAiBA,eAdA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAAA;AAAA,MAcA,cAXA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,MAAAe,CAAA;AAAA,MAAA;AAAA,MAWA,SAAAC,EAAAV,CAAA;AAAA;AAAA,MACA,oBAAAM;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;"}
@@ -1,26 +1,26 @@
1
- import { defineComponent as x, useSlots as q, ref as r, computed as l, inject as Q, watch as F, nextTick as X, onUnmounted as Z, useAttrs as V, onMounted as tt, provide as G, toRefs as et } from "vue";
2
- import { a as at } from "./button.cb90b55c.js";
3
- import { B as ot } from "./index.1deef79e.js";
4
- import { u as J } from "./use-has-slot.fbeb19ec.js";
5
- import { u as nt } from "./i18n.eb5b985b.js";
6
- import { M as st } from "./base-modal.keys.b08a6bdf.js";
7
- import { g as lt } from "./unique-id.a2a2b458.js";
8
- import { B as it } from "./index.e29a6907.js";
9
- import { F as ut } from "./footer-actions.58d14a16.js";
10
- import { D as rt, B as ct, b as dt, a as mt } from "./dialog-page.7fd7d006.js";
11
- import { o as pt } from "./resize.a041304d.js";
12
- import { G as _t, a as gt } from "./grid-layout.e0025286.js";
13
- import { n as W } from "./_plugin-vue2_normalizer.71e2aa87.js";
14
- import { C as ft } from "./cross.04678d81.js";
1
+ import { defineComponent as R, useSlots as q, ref as r, computed as l, inject as Q, watch as F, nextTick as X, onUnmounted as Z, useAttrs as V, onMounted as tt, provide as G, toRefs as et } from "vue";
2
+ import { B as at } from "./button.DhAUh5JA.js";
3
+ import { B as ot } from "./focus-trap.DSkLNO_i.js";
4
+ import { u as J } from "./use-has-slot.C9lQZ6nz.js";
5
+ import { u as nt } from "./i18n.BQkEbtPM.js";
6
+ import { M as st } from "./base-modal.keys.C2PQXcE2.js";
7
+ import { g as lt } from "./unique-id.XFfoKuc2.js";
8
+ import { B as it } from "./typography.Bjtu3Gca.js";
9
+ import { F as ut } from "./footer-actions.DqMRmlV_.js";
10
+ import { D as rt, B as ct, b as dt, a as mt } from "./dialog-page.DAh0M4mT.js";
11
+ import { o as pt } from "./resize.Bqks3WUm.js";
12
+ import { G as gt, a as ft } from "./grid-layout.HvTAa4to.js";
13
+ import { n as W } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
14
+ import { C as _t } from "./cross.CsUPDmaA.js";
15
15
  import "../assets/base-modal.css";
16
16
  var yt = /* @__PURE__ */ ((a) => (a.DEFAULT = "default", a.DIALOG = "dialog", a))(yt || {}), vt = /* @__PURE__ */ ((a) => (a.DEFAULT = "BentoModalDefault", a.DIALOG = "BentoModalDialog", a))(vt || {}), k = /* @__PURE__ */ ((a) => (a.SMALL = "small", a.MEDIUM = "medium", a.LARGE = "large", a))(k || {}), P = /* @__PURE__ */ ((a) => (a.SMALLER = "smaller", a.EQUAL = "equal", a.BIGGER = "bigger", a))(P || {}), T = /* @__PURE__ */ ((a) => (a.DIALOG = "dialog", a.ALERT_DIALOG = "alertdialog", a))(T || {}), Ct = /* @__PURE__ */ ((a) => (a.CONFIRMATION = "confirmation", a.DESTRUCTIVE = "destructive", a.INFO = "info", a.ACKNOWLEDGEMENT = "acknowledgement", a))(Ct || {}), ht = /* @__PURE__ */ ((a) => (a.CLOSE_MODAL = "close-modal", a))(ht || {});
17
- const bt = {
17
+ const At = {
18
18
  "en-US": {
19
19
  ariaLabelFallback: "modal",
20
20
  close: "Close"
21
21
  }
22
- }, j = Symbol("modal config data injection key"), At = x({}), Lt = /* @__PURE__ */ x({
23
- ...At,
22
+ }, j = Symbol("modal config data injection key"), bt = R({}), Lt = /* @__PURE__ */ R({
23
+ ...bt,
24
24
  __name: "modal-page",
25
25
  props: {
26
26
  /**
@@ -104,7 +104,7 @@ const bt = {
104
104
  "b-modal-page__content--with-header": s("default"),
105
105
  "b-modal-page__content--with-actions": s("actions") || ((u = e.actions) == null ? void 0 : u.length)
106
106
  };
107
- }), R = l(() => {
107
+ }), x = l(() => {
108
108
  if (!e.customPadding)
109
109
  return {};
110
110
  const u = {
@@ -122,7 +122,7 @@ const bt = {
122
122
  actions: { ...u, paddingBottom: e.customPadding },
123
123
  backButton: { top: e.customPadding, paddingLeft: e.customPadding }
124
124
  };
125
- }), d = l(() => e.withColumnLayout && A.value === k.LARGE), _ = l(() => e.columnsSize === P.SMALLER ? [
125
+ }), d = l(() => e.withColumnLayout && b.value === k.LARGE), g = l(() => e.columnsSize === P.SMALLER ? [
126
126
  { small: 4, medium: 4, large: 4 },
127
127
  { small: 8, medium: 8, large: 8 }
128
128
  ] : e.columnsSize === P.BIGGER ? [
@@ -131,22 +131,22 @@ const bt = {
131
131
  ] : [
132
132
  { small: 6, medium: 6, large: 6 },
133
133
  { small: 6, medium: 6, large: 6 }
134
- ]), { activePage: g, height: f, isAnimationActive: m, pageCustomPadding: I, showCloseButton: M, size: A } = Q(j), h = l(() => g.value === e.pageId || !g.value);
134
+ ]), { activePage: f, height: _, isAnimationActive: m, pageCustomPadding: I, showCloseButton: M, size: b } = Q(j), h = l(() => f.value === e.pageId || !f.value);
135
135
  let p = null;
136
136
  return F(
137
- () => g.value,
137
+ () => f.value,
138
138
  async (u, i) => {
139
- var b, B;
140
- h.value && (await X(), f.value = `${(B = (b = c.value) == null ? void 0 : b.$el) == null ? void 0 : B.clientHeight}px`, I.value = e.customPadding, m.value = i !== void 0, p = pt(c.value, () => {
139
+ var A, B;
140
+ h.value && (await X(), _.value = `${(B = (A = c.value) == null ? void 0 : A.$el) == null ? void 0 : B.clientHeight}px`, I.value = e.customPadding, m.value = i !== void 0, p = pt(c.value, () => {
141
141
  var y, L;
142
142
  const D = `${(L = (y = c.value) == null ? void 0 : y.$el) == null ? void 0 : L.clientHeight}px` ?? "";
143
- D !== f.value && (f.value = D);
143
+ D !== _.value && (_.value = D);
144
144
  }));
145
145
  },
146
146
  { immediate: !0 }
147
147
  ), Z(() => {
148
148
  p == null || p.disconnect();
149
- }), { __sfc: !0, CLOSE_BUTTON_ICON_WIDTH: o, slots: t, hasSlot: s, page: c, props: e, modalPageConditionalClasses: E, modalContentConditionalClasses: O, customPaddingStyles: R, hasColumnLayout: d, computedColumnWidth: _, activePage: g, height: f, isAnimationActive: m, pageCustomPadding: I, showCloseButton: M, size: A, isCurrentPage: h, pageElementObserver: p, BentoTypography: it, GridLayout: _t, GridLayoutContainerType: gt, FooterActions: ut, DialogPage: rt };
149
+ }), { __sfc: !0, CLOSE_BUTTON_ICON_WIDTH: o, slots: t, hasSlot: s, page: c, props: e, modalPageConditionalClasses: E, modalContentConditionalClasses: O, customPaddingStyles: x, hasColumnLayout: d, computedColumnWidth: g, activePage: f, height: _, isAnimationActive: m, pageCustomPadding: I, showCloseButton: M, size: b, isCurrentPage: h, pageElementObserver: p, BentoTypography: it, GridLayout: gt, GridLayoutContainerType: ft, FooterActions: ut, DialogPage: rt };
150
150
  }
151
151
  });
152
152
  var St = function() {
@@ -173,14 +173,12 @@ var St = function() {
173
173
  Pt,
174
174
  !1,
175
175
  null,
176
- "f113b69a",
177
- null,
178
- null
176
+ "f113b69a"
179
177
  );
180
- const Ot = Et.exports, It = x({
181
- i18n: { messages: bt },
178
+ const Ot = Et.exports, It = R({
179
+ i18n: { messages: At },
182
180
  name: "base-modal"
183
- }), Bt = /* @__PURE__ */ x({
181
+ }), Bt = /* @__PURE__ */ R({
184
182
  ...It,
185
183
  props: {
186
184
  /**
@@ -272,22 +270,22 @@ const Ot = Et.exports, It = x({
272
270
  },
273
271
  emits: ["update:active-page", "close-modal"],
274
272
  setup(a, { expose: e, emit: o }) {
275
- const t = a, s = 500, { t: c } = nt(), E = q(), O = V(), R = J(E), d = r(null), _ = r(!1), g = lt("modal"), f = l(() => t.isDismissible && !t.hideCloseButton), m = r(t.customPadding), I = l(() => m.value ? { top: m.value, right: m.value } : {}), M = l(() => O["aria-label"] ?? c("ariaLabelFallback")), A = l(() => t.withColumnLayout && t.size === k.LARGE), h = () => {
273
+ const t = a, s = 500, { t: c } = nt(), E = q(), O = V(), x = J(E), d = r(null), g = r(!1), f = lt("modal"), _ = l(() => t.isDismissible && !t.hideCloseButton), m = r(t.customPadding), I = l(() => m.value ? { top: m.value, right: m.value } : {}), M = l(() => O["aria-label"] ?? c("ariaLabelFallback")), b = l(() => t.withColumnLayout && t.size === k.LARGE), h = () => {
276
274
  d.value.showModal();
277
275
  }, p = () => {
278
276
  o("close-modal");
279
277
  }, u = () => {
280
- _.value && (d.value.close(), v.value[0] && o("update:active-page", v.value[0]), v.value = [], _.value = !1, p());
278
+ g.value && (d.value.close(), v.value[0] && o("update:active-page", v.value[0]), v.value = [], g.value = !1, p());
281
279
  }, i = () => {
282
- d.value.open && (_.value = !0);
283
- }, b = (n) => {
280
+ d.value.open && (g.value = !0);
281
+ }, A = (n) => {
284
282
  n && n.preventDefault(), !(!t.isDismissible && t.modalRole === T.DIALOG) && i();
285
283
  }, B = ({ target: n }) => {
286
- n && n.tagName === T.DIALOG.toUpperCase() && b();
284
+ n && n.tagName === T.DIALOG.toUpperCase() && A();
287
285
  }, D = l(() => ({
288
286
  [`b-modal-base__container--${t.size}`]: t.size,
289
- "b-modal-base__container--hide": _.value,
290
- "b-modal-base__container--column-layout": A.value,
287
+ "b-modal-base__container--hide": g.value,
288
+ "b-modal-base__container--column-layout": b.value,
291
289
  "b-modal-base__container--animation": N.value
292
290
  }));
293
291
  F(
@@ -307,8 +305,8 @@ const Ot = Et.exports, It = x({
307
305
  ), tt(() => {
308
306
  t.isOpen && d.value && h();
309
307
  }), e({
310
- internalModalActionClose: b
311
- }), G(st, g);
308
+ internalModalActionClose: A
309
+ }), G(st, f);
312
310
  const { activePage: y, isOpen: L, size: z } = et(t), U = r(ct.TRANSITION_LEVEL_DEEPER), S = r([]), v = r([]), $ = (n) => o("update:active-page", n), H = (n) => () => {
313
311
  var C;
314
312
  S.value = (C = S.value) == null ? void 0 : C.filter((w) => w !== n);
@@ -318,7 +316,7 @@ const Ot = Et.exports, It = x({
318
316
  height: Y,
319
317
  isAnimationActive: N,
320
318
  pageCustomPadding: m,
321
- showCloseButton: f,
319
+ showCloseButton: _,
322
320
  size: z
323
321
  }), G(dt, {
324
322
  activePage: y,
@@ -327,7 +325,7 @@ const Ot = Et.exports, It = x({
327
325
  pages: S,
328
326
  previousPages: v,
329
327
  updatePage: $
330
- }), G(mt, K), { __sfc: !0, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME: s, t: c, slots: E, attrs: O, hasSlot: R, modal: d, isClosing: _, modalId: g, emit: o, props: t, showCloseButton: f, pageCustomPadding: m, customPaddingStyles: I, computedAriaLabel: M, hasColumnLayout: A, openModal: h, emitCloseEvent: p, closeModalAfterAnimation: u, startCloseModalAnimation: i, internalModalActionClose: b, closeModalOnClickOutside: B, modalConditionalClasses: D, activePage: y, isOpen: L, size: z, animation: U, pages: S, previousPages: v, updatePage: $, unregisterPage: H, registerPage: K, height: Y, isAnimationActive: N, BentoButton: at, BentoFocusTrap: ot, BentoModalPage: Ot, CrossIcon: ft };
328
+ }), G(mt, K), { __sfc: !0, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME: s, t: c, slots: E, attrs: O, hasSlot: x, modal: d, isClosing: g, modalId: f, emit: o, props: t, showCloseButton: _, pageCustomPadding: m, customPaddingStyles: I, computedAriaLabel: M, hasColumnLayout: b, openModal: h, emitCloseEvent: p, closeModalAfterAnimation: u, startCloseModalAnimation: i, internalModalActionClose: A, closeModalOnClickOutside: B, modalConditionalClasses: D, activePage: y, isOpen: L, size: z, animation: U, pages: S, previousPages: v, updatePage: $, unregisterPage: H, registerPage: K, height: Y, isAnimationActive: N, BentoButton: at, BentoFocusTrap: ot, BentoModalPage: Ot, CrossIcon: _t };
331
329
  }
332
330
  });
333
331
  var Dt = function() {
@@ -353,9 +351,7 @@ var Dt = function() {
353
351
  Gt,
354
352
  !1,
355
353
  null,
356
- "caa02cd7",
357
- null,
358
- null
354
+ "caa02cd7"
359
355
  );
360
356
  const Wt = Tt.exports;
361
357
  export {
@@ -369,4 +365,4 @@ export {
369
365
  ht as g,
370
366
  Wt as h
371
367
  };
372
- //# sourceMappingURL=base-modal.4fb7528b.js.map
368
+ //# sourceMappingURL=base-modal.C5I7bR0d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-modal.4fb7528b.js","sources":["../../src/components/modal/modal.types.ts","../../src/components/modal/modal.keys.ts","../../src/components/modal/components/modal-page/modal-page.vue","../../src/components/modal/components/base-modal/base-modal.vue"],"sourcesContent":["import { ComputedRef, Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalColumnLayoutVariant {\n SMALLER = 'smaller',\n EQUAL = 'equal',\n BIGGER = 'bigger',\n}\n\nexport enum BentoModalRole {\n DIALOG = 'dialog',\n ALERT_DIALOG = 'alertdialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalDialogType {\n CONFIRMATION = 'confirmation',\n DESTRUCTIVE = 'destructive',\n INFO = 'info',\n ACKNOWLEDGEMENT = 'acknowledgement',\n}\n\nexport enum BentoModalEvent {\n CLOSE_MODAL = 'close-modal',\n}\n\n/**\n * Private\n */\nexport interface BentoModalConfigData {\n activePage: Ref<string>;\n height: Ref<string>;\n isAnimationActive: Ref<boolean>;\n pageCustomPadding: Ref<string>;\n showCloseButton: ComputedRef<boolean>;\n size: Ref<BentoModalSize | `${BentoModalSize}`>;\n}\n","export const MODAL_CONFIG_INJECTION_KEY = Symbol('modal config data injection key');\n","<template>\n <dialog-page\n ref=\"page\"\n class=\"b-modal-page\"\n :class=\"modalPageConditionalClasses\"\n :page-id=\"pageId\"\n :always-show-border=\"hasColumnLayout\"\n :back-button-styling=\"customPaddingStyles?.backButton\"\n :previous-page=\"previousPage\"\n @animationend=\"isAnimationActive = false\"\n >\n <template v-if=\"hasSlot('default') || showCloseButton\" #header>\n <div class=\"b-modal-page__header-container\" :style=\"customPaddingStyles.header\">\n <div class=\"b-modal-page__header\">\n <bento-typography\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 aria-label=\"base modal content\"\n el=\"div\"\n variant=\"body\"\n stronger\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 !== 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 :id=\"modalId\"\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 @click=\"isDismissible && closeModalOnClickOutside($event)\"\n @keydown.esc=\"internalModalActionClose\"\n >\n <bento-focus-trap v-if=\"isOpen || initiallyOpen\">\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 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 /**\n * Since the dialog HTML element doesn't automatically close when clicking outside, a check on when the user is clicking is needed.\n * If the click doesn't happen in the dialog box itself, the modal closes\n */\n const closeModalOnClickOutside = ({ target }: Event): void => {\n if (target && (target as HTMLElement).tagName === BentoModalRole.DIALOG.toUpperCase()) {\n internalModalActionClose();\n }\n };\n\n const modalConditionalClasses = computed(() => ({\n [`b-modal-base__container--${props.size}`]: props.size,\n 'b-modal-base__container--hide': isClosing.value,\n 'b-modal-base__container--column-layout': hasColumnLayout.value,\n 'b-modal-base__container--animation': isAnimationActive.value,\n }));\n\n watch(\n () => [props.isOpen, modal.value],\n ([newIsOpen, newModalValue], [, oldModalValue]): void => {\n if (!newModalValue) {\n return;\n }\n\n const isFirstMutation = !oldModalValue;\n if (newIsOpen) {\n openModal();\n // add the first page to the array when the modal opens\n if (!previousPages.value.length) {\n previousPages.value.push(activePage.value);\n }\n } else if (!isFirstMutation) {\n startCloseModalAnimation();\n }\n }\n );\n\n // If the first button is a loading button then close the modal have 0.5 seconds\n // if the state is changed to 'success'.\n watch(\n () => props.actions,\n () => {\n if (props.actions?.[0]?.state === 'success') {\n setTimeout(startCloseModalAnimation, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME);\n }\n },\n { deep: true }\n );\n\n onMounted(() => {\n if (props.isOpen && modal.value) {\n openModal();\n }\n });\n\n /**\n * Expose methods through its 'ref'\n */\n defineExpose({\n internalModalActionClose,\n });\n\n // Let's Children components know they are inside a Modal (dialog element)\n provide(MODAL_DIALOG_ID_INJECTION_KEY, modalId);\n\n // Modal pagination\n const { activePage, isOpen, size } = toRefs(props);\n const animation = ref(BentoDialogPageAnimation.TRANSITION_LEVEL_DEEPER);\n\n const pages = ref<string[]>([]);\n const previousPages = ref([]);\n\n const updatePage = page => emit('update:active-page', page);\n\n // unregister page if removed / destroyed\n const unregisterPage = (pageIdToRemove: string) => () => {\n pages.value = pages.value?.filter(pageId => pageId !== pageIdToRemove);\n };\n\n // Provide data and function to register page to subcomponent\n const registerPage: BentoDialogPageRegisterPage = pageId => {\n if (pageId) {\n pages.value.push(pageId);\n }\n\n return { unregisterPage: unregisterPage(pageId) };\n };\n\n const height = ref('');\n const isAnimationActive = ref(false);\n\n provide<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY, {\n activePage,\n height,\n isAnimationActive,\n pageCustomPadding,\n showCloseButton,\n size,\n });\n\n provide<BentoDialogPageConfigData>(DIALOG_PAGE_CONFIG_INJECTION_KEY, {\n activePage,\n animation,\n isOpen,\n pages,\n previousPages,\n updatePage,\n });\n\n provide(DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY, registerPage);\n</script>\n\n<script lang=\"ts\">\n /**\n * Dialog container. It creates a dialog HTML element for the modal to use.\n *\n * @example\n * import BaseModal from './components/base-modal/base-modal.vue';\n *\n * export default {\n * components: { BaseModal },\n * template: `\n * <base-modal\n * :hide-close-button=\"true\"\n * :is-dismissible=\"false\"\n * :is-open=\"isOpen\"\n * @close-modal=\"isOpen = false\"\n * >\n * <template #content-col-1>\n * // Content on the left side column\n * </template>\n *\n * <template #content-col-2>\n * // Content on the right side column\n * </template>\n *\n * <template v-if=\"actions\" #actions>\n * <footer-actions :actions=\"actions\" />\n * </template>\n * </base-modal>\n * `,\n * setup() {\n * const isOpen = ref(true)\n * const footerActions = [{\n * title: 'Primary action',\n * event: () => { ... }\n * }]\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'base-modal',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-modal.scss\" />\n"],"names":["BentoModalVariant","BentoModalVariant2","BentoModalVariantMapping","BentoModalVariantMapping2","BentoModalSize","BentoModalSize2","BentoModalColumnLayoutVariant","BentoModalColumnLayoutVariant2","BentoModalRole","BentoModalRole2","BentoModalDialogType","BentoModalDialogType2","BentoModalEvent","BentoModalEvent2","MODAL_CONFIG_INJECTION_KEY","__default__$1","defineComponent","CLOSE_BUTTON_ICON_WIDTH","slots","useSlots","hasSlot","useHasSlot","page","ref","modalPageConditionalClasses","computed","props","modalContentConditionalClasses","_a","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","_b","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME","t","useI18n","attrs","useAttrs","modal","isClosing","modalId","generateUid","computedAriaLabel","openModal","emitCloseEvent","emit","closeModalAfterAnimation","previousPages","startCloseModalAnimation","internalModalActionClose","event","closeModalOnClickOutside","target","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.C5I7bR0d.js","sources":["../../src/components/modal/modal.types.ts","../../src/components/modal/modal.keys.ts","../../src/components/modal/components/modal-page/modal-page.vue","../../src/components/modal/components/base-modal/base-modal.vue"],"sourcesContent":["import { ComputedRef, Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalColumnLayoutVariant {\n SMALLER = 'smaller',\n EQUAL = 'equal',\n BIGGER = 'bigger',\n}\n\nexport enum BentoModalRole {\n DIALOG = 'dialog',\n ALERT_DIALOG = 'alertdialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalDialogType {\n CONFIRMATION = 'confirmation',\n DESTRUCTIVE = 'destructive',\n INFO = 'info',\n ACKNOWLEDGEMENT = 'acknowledgement',\n}\n\nexport enum BentoModalEvent {\n CLOSE_MODAL = 'close-modal',\n}\n\n/**\n * Private\n */\nexport interface BentoModalConfigData {\n activePage: Ref<string>;\n height: Ref<string>;\n isAnimationActive: Ref<boolean>;\n pageCustomPadding: Ref<string>;\n showCloseButton: ComputedRef<boolean>;\n size: Ref<BentoModalSize | `${BentoModalSize}`>;\n}\n","export const MODAL_CONFIG_INJECTION_KEY = Symbol('modal config data injection key');\n","<template>\n <dialog-page\n ref=\"page\"\n class=\"b-modal-page\"\n :class=\"modalPageConditionalClasses\"\n :page-id=\"pageId\"\n :always-show-border=\"hasColumnLayout\"\n :back-button-styling=\"customPaddingStyles?.backButton\"\n :previous-page=\"previousPage\"\n @animationend=\"isAnimationActive = false\"\n >\n <template v-if=\"hasSlot('default') || showCloseButton\" #header>\n <div class=\"b-modal-page__header-container\" :style=\"customPaddingStyles.header\">\n <div class=\"b-modal-page__header\">\n <bento-typography\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 aria-label=\"base modal content\"\n el=\"div\"\n variant=\"body\"\n stronger\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 !== 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 :id=\"modalId\"\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 @click=\"isDismissible && closeModalOnClickOutside($event)\"\n @keydown.esc=\"internalModalActionClose\"\n >\n <bento-focus-trap v-if=\"isOpen || initiallyOpen\">\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 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 /**\n * Since the dialog HTML element doesn't automatically close when clicking outside, a check on when the user is clicking is needed.\n * If the click doesn't happen in the dialog box itself, the modal closes\n */\n const closeModalOnClickOutside = ({ target }: Event): void => {\n if (target && (target as HTMLElement).tagName === BentoModalRole.DIALOG.toUpperCase()) {\n internalModalActionClose();\n }\n };\n\n const modalConditionalClasses = computed(() => ({\n [`b-modal-base__container--${props.size}`]: props.size,\n 'b-modal-base__container--hide': isClosing.value,\n 'b-modal-base__container--column-layout': hasColumnLayout.value,\n 'b-modal-base__container--animation': isAnimationActive.value,\n }));\n\n watch(\n () => [props.isOpen, modal.value],\n ([newIsOpen, newModalValue], [, oldModalValue]): void => {\n if (!newModalValue) {\n return;\n }\n\n const isFirstMutation = !oldModalValue;\n if (newIsOpen) {\n openModal();\n // add the first page to the array when the modal opens\n if (!previousPages.value.length) {\n previousPages.value.push(activePage.value);\n }\n } else if (!isFirstMutation) {\n startCloseModalAnimation();\n }\n }\n );\n\n // If the first button is a loading button then close the modal have 0.5 seconds\n // if the state is changed to 'success'.\n watch(\n () => props.actions,\n () => {\n if (props.actions?.[0]?.state === 'success') {\n setTimeout(startCloseModalAnimation, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME);\n }\n },\n { deep: true }\n );\n\n onMounted(() => {\n if (props.isOpen && modal.value) {\n openModal();\n }\n });\n\n /**\n * Expose methods through its 'ref'\n */\n defineExpose({\n internalModalActionClose,\n });\n\n // Let's Children components know they are inside a Modal (dialog element)\n provide(MODAL_DIALOG_ID_INJECTION_KEY, modalId);\n\n // Modal pagination\n const { activePage, isOpen, size } = toRefs(props);\n const animation = ref(BentoDialogPageAnimation.TRANSITION_LEVEL_DEEPER);\n\n const pages = ref<string[]>([]);\n const previousPages = ref([]);\n\n const updatePage = page => emit('update:active-page', page);\n\n // unregister page if removed / destroyed\n const unregisterPage = (pageIdToRemove: string) => () => {\n pages.value = pages.value?.filter(pageId => pageId !== pageIdToRemove);\n };\n\n // Provide data and function to register page to subcomponent\n const registerPage: BentoDialogPageRegisterPage = pageId => {\n if (pageId) {\n pages.value.push(pageId);\n }\n\n return { unregisterPage: unregisterPage(pageId) };\n };\n\n const height = ref('');\n const isAnimationActive = ref(false);\n\n provide<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY, {\n activePage,\n height,\n isAnimationActive,\n pageCustomPadding,\n showCloseButton,\n size,\n });\n\n provide<BentoDialogPageConfigData>(DIALOG_PAGE_CONFIG_INJECTION_KEY, {\n activePage,\n animation,\n isOpen,\n pages,\n previousPages,\n updatePage,\n });\n\n provide(DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY, registerPage);\n</script>\n\n<script lang=\"ts\">\n /**\n * Dialog container. It creates a dialog HTML element for the modal to use.\n *\n * @example\n * import BaseModal from './components/base-modal/base-modal.vue';\n *\n * export default {\n * components: { BaseModal },\n * template: `\n * <base-modal\n * :hide-close-button=\"true\"\n * :is-dismissible=\"false\"\n * :is-open=\"isOpen\"\n * @close-modal=\"isOpen = false\"\n * >\n * <template #content-col-1>\n * // Content on the left side column\n * </template>\n *\n * <template #content-col-2>\n * // Content on the right side column\n * </template>\n *\n * <template v-if=\"actions\" #actions>\n * <footer-actions :actions=\"actions\" />\n * </template>\n * </base-modal>\n * `,\n * setup() {\n * const isOpen = ref(true)\n * const footerActions = [{\n * title: 'Primary action',\n * event: () => { ... }\n * }]\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'base-modal',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-modal.scss\" />\n"],"names":["BentoModalVariant","BentoModalVariant2","BentoModalVariantMapping","BentoModalVariantMapping2","BentoModalSize","BentoModalSize2","BentoModalColumnLayoutVariant","BentoModalColumnLayoutVariant2","BentoModalRole","BentoModalRole2","BentoModalDialogType","BentoModalDialogType2","BentoModalEvent","BentoModalEvent2","MODAL_CONFIG_INJECTION_KEY","__default__$1","defineComponent","CLOSE_BUTTON_ICON_WIDTH","slots","useSlots","hasSlot","useHasSlot","page","ref","modalPageConditionalClasses","computed","props","modalContentConditionalClasses","_a","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","_b","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME","t","useI18n","attrs","useAttrs","modal","isClosing","modalId","generateUid","computedAriaLabel","openModal","emitCloseEvent","emit","closeModalAfterAnimation","previousPages","startCloseModalAnimation","internalModalActionClose","event","closeModalOnClickOutside","target","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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"}
@@ -2,4 +2,4 @@ const o = Symbol("modal injection key");
2
2
  export {
3
3
  o as M
4
4
  };
5
- //# sourceMappingURL=base-modal.keys.b08a6bdf.js.map
5
+ //# sourceMappingURL=base-modal.keys.C2PQXcE2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-modal.keys.b08a6bdf.js","sources":["../../src/components/modal/components/base-modal/base-modal.keys.ts"],"sourcesContent":["export const MODAL_DIALOG_ID_INJECTION_KEY = Symbol('modal injection key');\n"],"names":["MODAL_DIALOG_ID_INJECTION_KEY"],"mappings":"AAAa,MAAAA,IAAgC,OAAO,qBAAqB;"}
1
+ {"version":3,"file":"base-modal.keys.C2PQXcE2.js","sources":["../../src/components/modal/components/base-modal/base-modal.keys.ts"],"sourcesContent":["export const MODAL_DIALOG_ID_INJECTION_KEY = Symbol('modal injection key');\n"],"names":["MODAL_DIALOG_ID_INJECTION_KEY"],"mappings":"AAAa,MAAAA,IAAgC,OAAO,qBAAqB;"}