@adyen/bento-vue3 1.91.0 → 1.92.1

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 (226) hide show
  1. package/dist/@types/index.d.ts +128 -137
  2. package/dist/action-bar.js +1 -1
  3. package/dist/ai-tag.js +1 -1
  4. package/dist/alert.js +1 -1
  5. package/dist/assets/accordion-item.css +1 -1
  6. package/dist/assets/action-bar.css +1 -1
  7. package/dist/assets/base-modal.css +1 -1
  8. package/dist/assets/button-actions.css +1 -1
  9. package/dist/assets/card.css +1 -1
  10. package/dist/assets/checkbox-group.css +1 -1
  11. package/dist/assets/checkbox.css +1 -1
  12. package/dist/assets/data-grid.css +1 -1
  13. package/dist/assets/date-range-picker.css +1 -1
  14. package/dist/assets/dialog-page.css +1 -1
  15. package/dist/assets/dropdown-tag.css +1 -1
  16. package/dist/assets/dropdown.css +1 -1
  17. package/dist/assets/file-uploader.css +1 -1
  18. package/dist/assets/filter-bar.css +1 -1
  19. package/dist/assets/input-field-password.css +1 -1
  20. package/dist/assets/input-field-phone-number.css +1 -1
  21. package/dist/assets/input-field.css +1 -1
  22. package/dist/assets/inspector.css +1 -1
  23. package/dist/assets/modal-fullscreen.css +1 -1
  24. package/dist/assets/secondary-nav.css +1 -1
  25. package/dist/assets/sidepanel.css +1 -1
  26. package/dist/assets/textarea.css +1 -1
  27. package/dist/assets/toggle.css +1 -1
  28. package/dist/assets/use-cached-selected-values.css +1 -1
  29. package/dist/button.js +1 -1
  30. package/dist/card.js +1 -1
  31. package/dist/checkbox.js +2 -2
  32. package/dist/chunks/{action-bar.BPS3wPde.js → action-bar.BxyRAZn1.js} +3 -3
  33. package/dist/chunks/{action-bar.BPS3wPde.js.map → action-bar.BxyRAZn1.js.map} +1 -1
  34. package/dist/chunks/{ai-tag.D7shWB_x.js → ai-tag.CpeZm2Yf.js} +2 -2
  35. package/dist/chunks/{ai-tag.D7shWB_x.js.map → ai-tag.CpeZm2Yf.js.map} +1 -1
  36. package/dist/chunks/{alert.CFWN2E0b.js → alert.RD0qOLhx.js} +91 -69
  37. package/dist/chunks/alert.RD0qOLhx.js.map +1 -0
  38. package/dist/chunks/{base-modal.BxcS7Pao.js → base-modal.C8Rsc2oO.js} +3 -3
  39. package/dist/chunks/base-modal.C8Rsc2oO.js.map +1 -0
  40. package/dist/chunks/{button-actions-with-menu.BKdNXYgU.js → button-actions-with-menu.KaWdHibo.js} +2 -2
  41. package/dist/chunks/{button-actions-with-menu.BKdNXYgU.js.map → button-actions-with-menu.KaWdHibo.js.map} +1 -1
  42. package/dist/chunks/{button-actions.DLiM8KZL.js → button-actions.7Oi2Ra4p.js} +87 -93
  43. package/dist/chunks/button-actions.7Oi2Ra4p.js.map +1 -0
  44. package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -1
  45. package/dist/chunks/button.DWF7FSIw.js.map +1 -1
  46. package/dist/chunks/{calendar.qm-kFNQv.js → calendar.DfMwuOIR.js} +516 -456
  47. package/dist/chunks/calendar.DfMwuOIR.js.map +1 -0
  48. package/dist/chunks/{card.BEChcEqg.js → card.7q8tTfjG.js} +2 -2
  49. package/dist/chunks/card.7q8tTfjG.js.map +1 -0
  50. package/dist/chunks/{checkbox-group.i3W8WO-7.js → checkbox-group.CgrmMYbN.js} +4 -4
  51. package/dist/chunks/checkbox-group.CgrmMYbN.js.map +1 -0
  52. package/dist/chunks/{checkbox.BPrymcRl.js → checkbox.CdkqCAAL.js} +3 -5
  53. package/dist/chunks/checkbox.CdkqCAAL.js.map +1 -0
  54. package/dist/chunks/{code-snippet.BG5ZmCrb.js → code-snippet.KKUb5A6A.js} +3 -3
  55. package/dist/chunks/code-snippet.KKUb5A6A.js.map +1 -0
  56. package/dist/chunks/constructNow.DyOJDyZZ.js +8 -0
  57. package/dist/chunks/{constructNow.D9uRk678.js.map → constructNow.DyOJDyZZ.js.map} +1 -1
  58. package/dist/chunks/country.types.6a7xxZIR.js.map +1 -1
  59. package/dist/chunks/{dashboard-section.C7mfUXOl.js → dashboard-section.kwKlujP-.js} +2 -2
  60. package/dist/chunks/{dashboard-section.C7mfUXOl.js.map → dashboard-section.kwKlujP-.js.map} +1 -1
  61. package/dist/chunks/{dashed-underline.B50DIXjK.js → dashed-underline.ADDEdamG.js} +2 -2
  62. package/dist/chunks/{dashed-underline.B50DIXjK.js.map → dashed-underline.ADDEdamG.js.map} +1 -1
  63. package/dist/chunks/{data-grid-template.CKdZb6EN.js → data-grid-template.C69yN3ZR.js} +2 -2
  64. package/dist/chunks/{data-grid-template.CKdZb6EN.js.map → data-grid-template.C69yN3ZR.js.map} +1 -1
  65. package/dist/chunks/{data-grid.DvMe72LK.js → data-grid.BL4DPi_-.js} +464 -465
  66. package/dist/chunks/data-grid.BL4DPi_-.js.map +1 -0
  67. package/dist/chunks/{date-picker.CidHad1p.js → date-picker.Cgr0Sbo0.js} +16 -16
  68. package/dist/chunks/{date-picker.CidHad1p.js.map → date-picker.Cgr0Sbo0.js.map} +1 -1
  69. package/dist/chunks/date-picker.types.Ckt7zxGy.js.map +1 -1
  70. package/dist/chunks/date-range-picker.Cpw7J4d1.js +1038 -0
  71. package/dist/chunks/date-range-picker.Cpw7J4d1.js.map +1 -0
  72. package/dist/chunks/date-range-picker.types.Ckt7zxGy.js.map +1 -1
  73. package/dist/chunks/{de.DXrHnkLX.js → de.ctR_lBqr.js} +2 -2
  74. package/dist/chunks/{de.DXrHnkLX.js.map → de.ctR_lBqr.js.map} +1 -1
  75. package/dist/chunks/{differenceInMonths.s_znQQpw.js → differenceInMonths.yz4Dfe-b.js} +13 -12
  76. package/dist/chunks/{differenceInMonths.s_znQQpw.js.map → differenceInMonths.yz4Dfe-b.js.map} +1 -1
  77. package/dist/chunks/{draggable-handle.CySRx1tb.js → draggable-handle.BWHOlabB.js} +2 -2
  78. package/dist/chunks/{draggable-handle.CySRx1tb.js.map → draggable-handle.BWHOlabB.js.map} +1 -1
  79. package/dist/chunks/{dropdown-tag.wcJ6Mgqe.js → dropdown-tag.DqhjcJXf.js} +6 -6
  80. package/dist/chunks/dropdown-tag.DqhjcJXf.js.map +1 -0
  81. package/dist/chunks/{dropdown.DHoL50gV.js → dropdown.C323NUqq.js} +411 -407
  82. package/dist/chunks/dropdown.C323NUqq.js.map +1 -0
  83. package/dist/chunks/{en-GB.CBpvhDYV.js → en-GB.BsQNm5GT.js} +2 -2
  84. package/dist/chunks/{en-GB.CBpvhDYV.js.map → en-GB.BsQNm5GT.js.map} +1 -1
  85. package/dist/chunks/{en-US.CCazFVNP.js → en-US.BR6y7foR.js} +5 -5
  86. package/dist/chunks/{en-US.CCazFVNP.js.map → en-US.BR6y7foR.js.map} +1 -1
  87. package/dist/chunks/{es.CoF2PB8b.js → es.DxqH-QhP.js} +2 -2
  88. package/dist/chunks/{es.CoF2PB8b.js.map → es.DxqH-QhP.js.map} +1 -1
  89. package/dist/chunks/{file-uploader.Dbg3vfZ_.js → file-uploader.B5_l2uQO.js} +4 -5
  90. package/dist/chunks/{file-uploader.Dbg3vfZ_.js.map → file-uploader.B5_l2uQO.js.map} +1 -1
  91. package/dist/chunks/{filter-bar.Dt-cU3zy.js → filter-bar.CuZruHzo.js} +18 -18
  92. package/dist/chunks/filter-bar.CuZruHzo.js.map +1 -0
  93. package/dist/chunks/{footer-actions.CYBdKDPo.js → footer-actions.4Qj_I3cd.js} +2 -2
  94. package/dist/chunks/{footer-actions.CYBdKDPo.js.map → footer-actions.4Qj_I3cd.js.map} +1 -1
  95. package/dist/chunks/{form-layout-title.B3ePK3yi.js → form-layout-title.B712PesH.js} +2 -2
  96. package/dist/chunks/{form-layout-title.B3ePK3yi.js.map → form-layout-title.B712PesH.js.map} +1 -1
  97. package/dist/chunks/{fr.CJXL-Ief.js → fr.DJtn8ron.js} +2 -2
  98. package/dist/chunks/{fr.CJXL-Ief.js.map → fr.DJtn8ron.js.map} +1 -1
  99. package/dist/chunks/{header-meta.COak4D8-.js → header-meta.BJjFOcxY.js} +14 -14
  100. package/dist/chunks/{header-meta.COak4D8-.js.map → header-meta.BJjFOcxY.js.map} +1 -1
  101. package/dist/chunks/{header-with-views.DqioajcO.js → header-with-views.BI6uh8o0.js} +8 -8
  102. package/dist/chunks/{header-with-views.DqioajcO.js.map → header-with-views.BI6uh8o0.js.map} +1 -1
  103. package/dist/chunks/{header.C21yzWrk.js → header.5RQulwlL.js} +3 -3
  104. package/dist/chunks/header.5RQulwlL.js.map +1 -0
  105. package/dist/chunks/{input-field-password.DyUphhxB.js → input-field-password.CbDeLcL2.js} +5 -5
  106. package/dist/chunks/input-field-password.CbDeLcL2.js.map +1 -0
  107. package/dist/chunks/{input-field-phone-number.BXVaC5ra.js → input-field-phone-number.DzruT8x5.js} +4 -4
  108. package/dist/chunks/{input-field-phone-number.BXVaC5ra.js.map → input-field-phone-number.DzruT8x5.js.map} +1 -1
  109. package/dist/chunks/{input-field.DkUFvIWt.js → input-field.zwUuajnC.js} +122 -114
  110. package/dist/chunks/input-field.zwUuajnC.js.map +1 -0
  111. package/dist/chunks/{input-time.WI_qdwJc.js → input-time.RUecHW9h.js} +4 -4
  112. package/dist/chunks/{input-time.WI_qdwJc.js.map → input-time.RUecHW9h.js.map} +1 -1
  113. package/dist/chunks/isSameWeek.CieN9XgL.js +14 -0
  114. package/dist/chunks/{isSameWeek.Dj6luS8h.js.map → isSameWeek.CieN9XgL.js.map} +1 -1
  115. package/dist/chunks/{it.20Y7h-bF.js → it.keS7oN5l.js} +3 -3
  116. package/dist/chunks/{it.20Y7h-bF.js.map → it.keS7oN5l.js.map} +1 -1
  117. package/dist/chunks/{ja.DXlq0H98.js → ja.cLwacUE6.js} +2 -2
  118. package/dist/chunks/{ja.DXlq0H98.js.map → ja.cLwacUE6.js.map} +1 -1
  119. package/dist/chunks/link.D6D6YGsN.js.map +1 -1
  120. package/dist/chunks/{modal-fullscreen.c6QphYQo.js → modal-fullscreen.CepaWyoi.js} +2 -2
  121. package/dist/chunks/{modal-fullscreen.c6QphYQo.js.map → modal-fullscreen.CepaWyoi.js.map} +1 -1
  122. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js → modal.vue_vue_type_script_setup_true_lang.BW9Ff59H.js} +49 -47
  123. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js.map → modal.vue_vue_type_script_setup_true_lang.BW9Ff59H.js.map} +1 -1
  124. package/dist/chunks/{pagination.Cu85Lqms.js → pagination.BJtoP8At.js} +2 -2
  125. package/dist/chunks/{pagination.Cu85Lqms.js.map → pagination.BJtoP8At.js.map} +1 -1
  126. package/dist/chunks/payment-method.types.BqtH7RM2.js.map +1 -1
  127. package/dist/chunks/popover.types.D8tHtFl3.js.map +1 -1
  128. package/dist/chunks/popper-container.DMN8n5iC.js.map +1 -1
  129. package/dist/chunks/promo-banner.-H4r_cwj.js.map +1 -1
  130. package/dist/chunks/{pt-BR.DmhmCzxE.js → pt-BR.ChPOra5s.js} +2 -2
  131. package/dist/chunks/{pt-BR.DmhmCzxE.js.map → pt-BR.ChPOra5s.js.map} +1 -1
  132. package/dist/chunks/radio-group.CfMr1fmW.js.map +1 -1
  133. package/dist/chunks/{rich-text-editor.Bf9EWzNk.js → rich-text-editor.CSvPpLth.js} +3 -3
  134. package/dist/chunks/{rich-text-editor.Bf9EWzNk.js.map → rich-text-editor.CSvPpLth.js.map} +1 -1
  135. package/dist/chunks/{search-bar.p6kHCCvT.js → search-bar.CGXKk-gv.js} +4 -4
  136. package/dist/chunks/{search-bar.p6kHCCvT.js.map → search-bar.CGXKk-gv.js.map} +1 -1
  137. package/dist/chunks/{secondary-nav.CaxiyVaO.js → secondary-nav.DkcoRjfJ.js} +2 -2
  138. package/dist/chunks/{secondary-nav.CaxiyVaO.js.map → secondary-nav.DkcoRjfJ.js.map} +1 -1
  139. package/dist/chunks/segmented-control.types.BHRLV8KU.js.map +1 -1
  140. package/dist/chunks/{sidepanel.CAVhSs-O.js → sidepanel.S037xghX.js} +3 -3
  141. package/dist/chunks/{sidepanel.CAVhSs-O.js.map → sidepanel.S037xghX.js.map} +1 -1
  142. package/dist/chunks/{startOfWeek.Cvmo-f5J.js → startOfWeek.muMEhS7U.js} +2 -2
  143. package/dist/chunks/{startOfWeek.Cvmo-f5J.js.map → startOfWeek.muMEhS7U.js.map} +1 -1
  144. package/dist/chunks/status.types.Dx8MDhEH.js.map +1 -1
  145. package/dist/chunks/{summary-grid.types.CDithi8M.js → summary-grid.types.D1JQ_jtv.js} +2 -2
  146. package/dist/chunks/{summary-grid.types.CDithi8M.js.map → summary-grid.types.D1JQ_jtv.js.map} +1 -1
  147. package/dist/chunks/tag.YN2r-Pp3.js.map +1 -1
  148. package/dist/chunks/{textarea.JGXAlpx9.js → textarea.-6FHesSp.js} +2 -2
  149. package/dist/chunks/textarea.-6FHesSp.js.map +1 -0
  150. package/dist/chunks/{timeline-item.BNFPpQz1.js → timeline-item.BJaFr2_Y.js} +5 -5
  151. package/dist/chunks/timeline-item.BJaFr2_Y.js.map +1 -0
  152. package/dist/chunks/{toggle.BQoprdX-.js → toggle.BdcgY15I.js} +3 -5
  153. package/dist/chunks/toggle.BdcgY15I.js.map +1 -0
  154. package/dist/chunks/tooltip.DHfG2aRt.js.map +1 -1
  155. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js → tutorial.vue_vue_type_script_setup_true_lang.D_Z1zKam.js} +2 -2
  156. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js.map → tutorial.vue_vue_type_script_setup_true_lang.D_Z1zKam.js.map} +1 -1
  157. package/dist/chunks/typography.B3J6_tYk.js.map +1 -1
  158. package/dist/chunks/use-cached-selected-values.DUWGSMvO.js +1740 -0
  159. package/dist/chunks/use-cached-selected-values.DUWGSMvO.js.map +1 -0
  160. package/dist/chunks/{use-date-input-formatter.BOuXpRb-.js → use-date-input-formatter.BH4hdEJW.js} +4 -4
  161. package/dist/chunks/{use-date-input-formatter.BOuXpRb-.js.map → use-date-input-formatter.BH4hdEJW.js.map} +1 -1
  162. package/dist/chunks/{zh-CN.Ce34mXsX.js → zh-CN.ZG6obniO.js} +3 -3
  163. package/dist/chunks/{zh-CN.Ce34mXsX.js.map → zh-CN.ZG6obniO.js.map} +1 -1
  164. package/dist/code-snippet.js +1 -1
  165. package/dist/dashboard-template.js +1 -1
  166. package/dist/dashed-underline.js +1 -1
  167. package/dist/data-grid-template.js +1 -1
  168. package/dist/data-grid.js +1 -1
  169. package/dist/date-picker.js +2 -2
  170. package/dist/date-range-picker.js +2 -2
  171. package/dist/draggable.js +1 -1
  172. package/dist/dropdown.js +3 -3
  173. package/dist/file-uploader.js +1 -1
  174. package/dist/filter-bar.js +1 -1
  175. package/dist/form-layout.js +1 -1
  176. package/dist/header-with-views.js +1 -1
  177. package/dist/header.js +1 -1
  178. package/dist/index.js +248 -248
  179. package/dist/index.js.map +1 -1
  180. package/dist/input-field-password.js +1 -1
  181. package/dist/input-field-phone-number.js +1 -1
  182. package/dist/input-field.js +1 -1
  183. package/dist/input-time.js +1 -1
  184. package/dist/internal.js +5 -5
  185. package/dist/menu.js +1 -1
  186. package/dist/modal-fullscreen.js +1 -1
  187. package/dist/modal.js +2 -2
  188. package/dist/pagination.js +1 -1
  189. package/dist/popover.js +1 -1
  190. package/dist/rich-text-editor.js +1 -1
  191. package/dist/search-bar.js +2 -2
  192. package/dist/secondary-nav.js +1 -1
  193. package/dist/sidepanel.js +1 -1
  194. package/dist/summary-grid.js +1 -1
  195. package/dist/textarea.js +1 -1
  196. package/dist/timeline.js +1 -1
  197. package/dist/toggle.js +1 -1
  198. package/dist/tutorial.js +1 -1
  199. package/dist/web-types.json +1 -1
  200. package/package.json +5 -5
  201. package/dist/chunks/alert.CFWN2E0b.js.map +0 -1
  202. package/dist/chunks/base-modal.BxcS7Pao.js.map +0 -1
  203. package/dist/chunks/button-actions.DLiM8KZL.js.map +0 -1
  204. package/dist/chunks/calendar.qm-kFNQv.js.map +0 -1
  205. package/dist/chunks/card.BEChcEqg.js.map +0 -1
  206. package/dist/chunks/checkbox-group.i3W8WO-7.js.map +0 -1
  207. package/dist/chunks/checkbox.BPrymcRl.js.map +0 -1
  208. package/dist/chunks/code-snippet.BG5ZmCrb.js.map +0 -1
  209. package/dist/chunks/constructNow.D9uRk678.js +0 -8
  210. package/dist/chunks/data-grid.DvMe72LK.js.map +0 -1
  211. package/dist/chunks/date-range-picker.c5OwESTS.js +0 -1027
  212. package/dist/chunks/date-range-picker.c5OwESTS.js.map +0 -1
  213. package/dist/chunks/dropdown-tag.wcJ6Mgqe.js.map +0 -1
  214. package/dist/chunks/dropdown.DHoL50gV.js.map +0 -1
  215. package/dist/chunks/filter-bar.Dt-cU3zy.js.map +0 -1
  216. package/dist/chunks/header.C21yzWrk.js.map +0 -1
  217. package/dist/chunks/input-field-password.DyUphhxB.js.map +0 -1
  218. package/dist/chunks/input-field.DkUFvIWt.js.map +0 -1
  219. package/dist/chunks/isSameWeek.Dj6luS8h.js +0 -14
  220. package/dist/chunks/textarea.JGXAlpx9.js.map +0 -1
  221. package/dist/chunks/timeline-item.BNFPpQz1.js.map +0 -1
  222. package/dist/chunks/toggle.BQoprdX-.js.map +0 -1
  223. package/dist/chunks/use-cached-selected-values.Bx8uuky9.js +0 -1657
  224. package/dist/chunks/use-cached-selected-values.Bx8uuky9.js.map +0 -1
  225. package/dist/chunks/warning-filled.BzyK_mMj.js +0 -29
  226. package/dist/chunks/warning-filled.BzyK_mMj.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../vue2/src/composables/use-form-validate/use-form.ts","../../vue2/src/composables/use-bento-theme/use-bento-theme.types.ts","../../vue2/src/composables/use-bento-theme/use-bento-theme.ts","../../vue2/src/directives/highlight/highlight.ts","../../vue2/src/composables/use-bento-toast-controller/install.ts","../../vue2/src/composables/use-bento-theme/install.types.ts","../../vue2/src/composables/use-bento-theme/install.ts","../../vue2/src/install.ts","../../vue2/src/types/base-filter.ts","../../vue2/src/types/date-format.ts"],"sourcesContent":["import { type Ref, ref, shallowRef } from 'vue';\nimport * as z from 'zod';\nimport type { ZodSchema } from 'zod';\nimport { type allKeys, type ErrorBag, type UseForm } from './use-form.types';\n\n/**\n * Composable that transforms a Zod schema into a Typed Schema that can be used alongside with {@see useForm}.\n *\n * This is meant to simulate the behavior of {@link @vee-validate/zod} {@see https://vee-validate.logaretm.com/v4/integrations/zod-schema-validation}.\n * Function that transform Zod’s schemas into something that can be understood by vee-validate\n *\n * @deprecated For usage with Zod/v3. Migrate to Zod/v4 and use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead.\n *\n * @param formSchema Zod schema to be transformed into a `vee-validate` schema\n * @returns Schema transformed\n */\nexport function toTypedSchema<T extends ZodSchema>(formSchema: T) {\n return formSchema;\n}\n\n/**\n * Finds and returns the initial values of each of the values defined in the schema so that they\n * can be transformed into a reactive element.\n * @param schema Zod validation schema containing the definitions of each value to be used in the form\n * @returns Object with the items defined in the schema and their (default) values\n *\n * @example\n * const validationSchema = toTypedSchema(\n * z.object({\n * name: z\n * .string()\n * .min(3, { message: 'Name is required' })\n * .startsWith('Jane')\n * .max(4, { message: 'Name cannot be longer than 4 characters' })\n * .default('Joe'),\n * })\n * );\n * getInitialFormValues(validationSchema)\n *\n * Will return:\n *\n * {\n * name: 'Joe'\n * }\n *\n */\nfunction getInitialFormValues<T extends ZodSchema>(schema: T): z.infer<typeof schema> {\n if (!!z && schema instanceof z.ZodObject) {\n return Object.fromEntries(\n Object.entries(schema.shape).map(([key, value]) => {\n if (!!z && value instanceof z.ZodDefault) {\n /* eslint-disable-next-line no-underscore-dangle */\n return [key, value._def.defaultValue()];\n }\n\n if (!!z && value instanceof z.ZodObject) {\n return [key, getInitialFormValues(value)];\n }\n\n return [key, undefined];\n })\n ) as z.infer<typeof schema>;\n }\n\n /**\n * Zod's refine and superRefine use {@link z.ZodEffects} instead of {@link z.ZodSchema}.\n * We need to extract the schema from the {@link z.ZodEffects} structure.\n */\n if (!!z && schema instanceof z.ZodEffects) {\n // eslint-disable-next-line no-underscore-dangle\n return getInitialFormValues(schema._def.schema);\n }\n\n return undefined;\n}\n\n/**\n * Constructs a path with dot paths for arrays to use brackets to be compatible with vee-validate path syntax\n * @param issue List of nested path elements\n * @returns Path with dots\n */\nfunction normalizeFormPath(issue: z.ZodIssue) {\n return issue.path.join('.');\n}\n\n/**\n * Composable that facilitates validating form data for Vue2 & Vue3 implementations with FormLayout\n * to ease the migration to Vue3.\n *\n * For Vue3 implementations use Vee-Validate.\n *\n * This provides a simplified version of Vee-Validate v4 implemented with Zod to validate a form schema.\n * It returns reactive values that can be used directly in form input elements with 'v-model' alongside\n * with functions to \"reset\" the data (sets values to default value) and a function to execute the\n * successful form validation process (through a callback).\n *\n * @deprecated For usage with Zod/v3. Migrate to Zod/v4 and use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead.\n *\n * @param props Form configuration object\n * @param extends ZodSchema} props.validationSchema Zod typed validation schema\n * @returns response - Composable with reactive form values and errors, and functions to handle the reactive data\n * @returns response.errorBag Object with all the form values and an array of each one of the errors (if any) per value\n * @returns response.errors Object with all the form values and the first error found for that field (if any)\n * @returns response.values Object with all the form values and their current value\n * @returns response.handleReset Resets the form values to default (initial values) when it gets called\n * @returns response.submitForm Validates the data set in {response.values} and sets errors (if found) inside {response.errors} and {response.errorBag}.\n * When the validation is successful it calls the callback so the submit process can continue\n *\n * @example\n * const validationSchema = toTypedSchema(\n * z.object({\n * name: z\n * .string()\n * .min(3, { message: 'Name is required' })\n * .startsWith('Jane')\n * .max(4, { message: 'Name cannot be longer than 4 characters' })\n * .default('Joe'),\n * })\n * );\n *\n * const { values, errors, errorBag, submitForm, handleReset } = useForm({\n * validationSchema\n * });\n * const handleSubmit = submitForm(() => {\n * // Send data to API here\n * })\n *\n */\nexport function useForm<T extends ZodSchema>({\n validationSchema,\n}: UseForm<T>): {\n errorBag: Ref<{\n [P in allKeys<(typeof validationSchema)['_type']>]?: Array<string>;\n }>;\n errors: Ref<{\n [P in allKeys<(typeof validationSchema)['_type']>]?: string;\n }>;\n values: Ref<(typeof validationSchema)['_type']>;\n handleReset: () => void;\n submitForm: (submitted: any) => () => void;\n} {\n // Errors per field\n const errors = shallowRef<z.infer<typeof validationSchema>>({});\n // All errors per field\n const errorBag: Ref<ErrorBag<z.infer<typeof validationSchema>>> = ref({});\n const values: Ref<z.TypeOf<T>> = ref(getInitialFormValues<T>(validationSchema));\n\n const cleanErrors = () => {\n errors.value = {};\n errorBag.value = {};\n };\n\n const resetForm = () => {\n cleanErrors();\n values.value = getInitialFormValues<T>(validationSchema);\n };\n\n const submitForm = submitted => () => {\n cleanErrors();\n\n // Run validations on the form data through the schema\n const validSchema = validationSchema.safeParse(values.value);\n\n // Update errors\n if (!validSchema.success) {\n (validSchema as z.SafeParseError<T>).error.issues.forEach(error => {\n const path = normalizeFormPath(error);\n\n // Add the first occurrence of a field error to the \"errors\" object\n if (!errors.value[path]) {\n errors.value[path] = error.message;\n }\n\n // Add each error to the \"errorBag\" per field array\n if (!errorBag.value[path]) {\n errorBag.value[path] = [error.message];\n } else {\n errorBag.value[path].push(error.message);\n }\n });\n } else {\n submitted(values.value);\n }\n };\n\n return {\n // Values\n errorBag,\n errors,\n values,\n\n // Methods\n handleReset: () => resetForm(),\n submitForm,\n };\n}\n","import { type BentoTheme } from './install.types';\n\nexport const useBentoThemeKey = Symbol('use-bento-theme');\n\nexport interface UseBentoTheme {\n getTheme: () => string;\n setTheme: (theme: BentoTheme | `${BentoTheme}`) => void;\n}\n","import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\nimport { getCurrentInstance, inject } from 'vue';\nimport { isVue2 } from 'vue-demi';\nimport { type UseBentoTheme, useBentoThemeKey } from './use-bento-theme.types';\n\n/**\n * Composable that handles theming-related capabilities for the Bento component library.\n * Requires the use of `BentoPlugin`.\n *\n * @example\n * <script setup lang=\"ts\">\n * import { useBentoTheme, BentoTheme } from '@adyen/bento-vue2';\n *\n * const { setTheme } = useBentoTheme();\n *\n * setTheme(BentoTheme.BENTO_DARK)\n * </script>\n *\n * @returns {UseBentoTheme} An object with getter and setter method for the Bento theme.\n * @returns {Function} getTheme - Returns the current theme in the string form of BentoTheme enum.\n * @returns {Function} setTheme - Sets the theme of the Bento component library.\n *\n */\nexport function useBentoTheme(): UseBentoTheme {\n const bentoThemeController = isVue2\n ? getCurrentInstance()?.proxy[useBentoThemeKey]\n : inject(useBentoThemeKey, null);\n\n if (!bentoThemeController) {\n printDevelopmentWarning('useBentoTheme does not work without Vue.use(BentoPlugin)');\n\n // Return placeholder functions so client code won't break, but theme won't toggle\n return {\n getTheme: () => undefined,\n setTheme: () => undefined,\n };\n }\n\n // Return a new object so unintentional reassigning its properties won't override a global state\n return { ...bentoThemeController };\n}\n","const getSize = ({ modifiers, value }) => Object.keys(modifiers)[0] || value?.size || 'small';\n\nconst toggleHighlight = (el, binding, enabled) => {\n const extraPadding = binding.value?.extraPadding ?? false;\n const rounded = binding.value?.rounded ?? false;\n const size = getSize(binding);\n\n el.classList.toggle('b-highlight', enabled);\n el.classList.toggle('b-highlight--extra-padding', enabled && extraPadding);\n el.classList.toggle('b-highlight--rounded', enabled && rounded);\n\n ['small', 'medium', 'large'].forEach(s => {\n el.classList.toggle(`b-highlight--${s}`, enabled && s === size);\n });\n};\n\nconst applyHighlight = (el, binding) => {\n toggleHighlight(el, binding, binding.value !== false);\n};\n\nconst updateHighlight = (el, binding) => {\n toggleHighlight(el, binding, binding.value !== false);\n};\n\nconst removeHighlight = (el, binding) => {\n toggleHighlight(el, binding, false);\n};\n\nexport const BentoHighlightDirective = {\n // Vue 2\n bind: applyHighlight,\n update: updateHighlight,\n unbind: removeHighlight,\n\n // Vue 3\n beforeMount: applyHighlight,\n mounted: updateHighlight,\n updated: updateHighlight,\n unmounted: removeHighlight,\n};\n\nimport './highlight.scss';\n","import { type App, isVue2, type Vue2 } from 'vue-demi';\nimport { createToastStack, toastStackInjectionKey } from './toast-stack';\n\n/**\n * This function is used to create and register global reactive state necessary fro the Toasts to operate.\n * @param {Vue} Vue A context application to register global state with.\n */\nexport default Vue => {\n if (isVue2) {\n // Add toast stack as a global property as there is no \"app.provide\" functionality in Vue2\n // eslint-disable-next-line no-param-reassign -- this is an official way of setting up instance properties on Vue\n (Vue as typeof Vue2).prototype[toastStackInjectionKey] = createToastStack();\n } else {\n (Vue as App).provide(toastStackInjectionKey, createToastStack());\n }\n};\n","export enum BentoTheme {\n /**\n * @deprecated in favor of {@link BENTO_LIGHT}. To be removed in v2.0.0.\n */\n LEGACY = 'b-legacy-theme',\n STYLEGUIDE = 'b-styleguide-theme',\n\n /**\n * @deprecated in favor of {@link BENTO_LIGHT}. To be removed in v2.0.0.\n */\n BENTO = '',\n\n BENTO_LIGHT = 'b-light-theme',\n BENTO_DARK = 'b-dark-theme',\n BENTO_SYSTEM = 'b-system',\n}\n","import { type App, isVue2, type Vue2 } from 'vue-demi';\nimport { useBentoThemeKey } from './use-bento-theme.types';\nimport { BentoTheme } from './install.types';\n\nconst getTheme = () => document.body.className.match(/b-\\w+-theme/)?.[0] ?? '';\nconst getThemeForSystemPreference = () => {\n const preferredDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n if (preferredDarkMode) {\n return BentoTheme.BENTO_DARK;\n }\n\n return BentoTheme.BENTO_LIGHT;\n};\n\nexport const setTheme = (theme: BentoTheme) => {\n const currentTheme = getTheme();\n const systemTheme = getThemeForSystemPreference();\n const themeToSet = theme === BentoTheme.BENTO_SYSTEM ? systemTheme : theme;\n\n if (themeToSet === BentoTheme.BENTO_LIGHT || themeToSet === BentoTheme.BENTO) {\n document.documentElement.style.colorScheme = 'light';\n } else if (themeToSet === BentoTheme.BENTO_DARK) {\n document.documentElement.style.colorScheme = 'dark';\n }\n\n // if theme is different from current and it is not `BentoTheme.BENTO`\n if (currentTheme.length && currentTheme !== themeToSet) {\n document.body.classList.remove(currentTheme);\n }\n\n // if theme is not `BentoTheme.BENTO`\n if (themeToSet.length) {\n document.body.classList.add(themeToSet);\n }\n};\n\n/**\n * This function is used to create and register global reactive state necessary for theme to operate.\n * @param {Vue} Vue A context application to register global state with.\n */\nexport default Vue => {\n const themeProvider = {\n getTheme,\n setTheme,\n };\n\n if (isVue2) {\n // Add theme as a global property as there is no \"app.provide\" functionality in Vue2\n // eslint-disable-next-line no-param-reassign -- this is an official way of setting up instance properties on Vue\n (Vue as typeof Vue2).prototype[useBentoThemeKey] = themeProvider;\n } else {\n (Vue as App).provide(useBentoThemeKey, themeProvider);\n }\n};\n","import installToast from './composables/use-bento-toast-controller/install';\nimport installTheme, { setTheme } from './composables/use-bento-theme/install';\nimport { deprecate } from './utils/ts/deprecate';\nimport { BentoTheme } from './composables/use-bento-theme/install.types';\nimport type { PluginObject } from 'vue';\n\ninterface BentoVuePlugin {\n theme?: BentoTheme;\n withToast?: boolean;\n withUtilityClasses?: boolean;\n withDesignTokensCSSInjection?: boolean;\n}\n\nconst plugin: PluginObject<BentoVuePlugin> = {\n name: 'BentoVue',\n install: async (\n Vue,\n {\n theme = BentoTheme.BENTO_LIGHT,\n withToast = false,\n withUtilityClasses = false,\n withDesignTokensCSSInjection = true,\n }: BentoVuePlugin\n ) => {\n installTheme(Vue);\n\n if (withToast) {\n installToast(Vue);\n }\n if (withDesignTokensCSSInjection) {\n deprecate(\n 'Using default setting withDesignTokensCSSInjection set to true in BentoVue plugin',\n 'Please disable CSS injection by setting withDesignTokensCSSInjection to false in BentoVue plugin options as highlighted here:\\nhttps://adyen-bento.netlify.app/?path=/docs/welcome-getting-started--docs#import-css-variables',\n '2.0.0'\n );\n // Make sure to put all awaited CSS imports below this point and not above!\n if (theme === BentoTheme.STYLEGUIDE) {\n await import('@adyen/bento-design-tokens/dist/css/bento/variables-styleguide.css');\n } else {\n await import('@adyen/bento-design-tokens/dist/css/bento/variables.css');\n }\n\n if (withUtilityClasses) {\n await import('@adyen/bento-design-tokens/dist/css/bento/utility.css');\n }\n }\n\n if (theme === BentoTheme.STYLEGUIDE) {\n setTheme(BentoTheme.STYLEGUIDE);\n } else if (theme === BentoTheme.BENTO_SYSTEM) {\n setTheme(BentoTheme.BENTO_SYSTEM);\n } else if (theme === BentoTheme.BENTO_DARK) {\n setTheme(BentoTheme.BENTO_DARK);\n } else if (theme === BentoTheme.BENTO) {\n deprecate('Using `BentoTheme.BENTO`', 'Please use `BentoTheme.BENTO_LIGHT` instead', '2.0.0');\n setTheme(BentoTheme.BENTO_LIGHT);\n } else {\n setTheme(BentoTheme.BENTO_LIGHT);\n }\n },\n};\n\nexport { BentoTheme };\nexport default plugin;\n","/**\n * Defines the props used by `bento-base-filter` that must be implemented\n * on every filter as `defineProps`.\n *\n * The interface can be extended if new values are required.\n * The object can be extended if new values are required.\n *\n * @template CustomValue Defines the type of the `value` and `defaultValue` props.\n * @template CustomOptions Defines the type of the options used by the filter (default: `undefined`).\n *\n * @example\n * Using the interface\n *\n * ```typescript\n * import { type BentoBaseFilterProps } from '@adyen/bento-vue2'\n *\n * interface CustomOptions {\n * option: string;\n * }\n *\n * withDefaults(defineProps<BentoBaseFilterProps<string, CustomOptions>>(), {\n * defaultValue: undefined,\n * })\n * ```\n *\n * @example\n * Using the object\n *\n * ```typescript\n * import { BentoBaseFilterProps } from '@adyen/bento-vue2'\n *\n * defineProps({\n * ...BentoBaseFilterProps,\n * options: {\n * type: Object,\n * default: () => ({\n * option: null\n * })\n * }\n * })\n * ```\n */\nexport interface BentoBaseFilterProps<CustomValue, CustomOptions = undefined> {\n /**\n * Disables the filter from being interacted with.\n */\n disabled?: boolean;\n\n /**\n * Default value of the filter to reset to.\n */\n defaultValue?: CustomValue;\n\n /**\n * Filter name/key referencing the actual property name in the data set.\n * Should be unique per filter bar.\n */\n field: string;\n\n /**\n * Label text to be displayed\n */\n label: string;\n\n /**\n * Renders the base filter's slot content only - leaving out the button and the popover.\n * Used for the allFiltersModal component.\n */\n onlySlot?: boolean;\n\n /**\n * List of options that are needed to setup the filter\n * Available options:\n * - firstDayOfWeek: Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday\n * - isDateDisabled: Indicate if a date should be disabled or not\n * - tooltipPosition: The position of the tooltip attached to the filter button\n * - tooltipText: The content of the tooltip attached to the filter button\n */\n options?: CustomOptions;\n\n /**\n * Current value of the filter\n */\n value: CustomValue;\n}\n\nexport const BentoBaseFilterProps = Object.freeze({\n /**\n * Disables the filter from being interacted with.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Default value of the filter to reset to.\n */\n defaultValue: {\n type: [Object, Number, Boolean, Array, String, Date],\n default: null,\n },\n\n /**\n * Filter name/key referencing the actual property name in the data set.\n * Should be unique per filter bar.\n */\n field: { type: String, required: true },\n\n /**\n * Label text to be displayed\n */\n label: { type: String, required: true },\n\n /**\n * Renders the base filter's slot content only - leaving out the button and the popover.\n * Used for the allFiltersModal component.\n */\n onlySlot: { type: Boolean, default: false },\n\n /**\n * The current value of the filter, used for v-model.\n */\n value: {\n type: [Object, Number, Boolean, Array, String, Date],\n default: undefined,\n },\n});\n\n/**\n * Defines the mandatory emits that need to be defined by the implementation of any filter\n *\n * @template CustomValue Defines the type of the value being passed to the emit. Same as the type set in `BentoBaseFilterProps`\n *\n * @example\n * Using the interface\n *\n * ```typescript\n * import { type BentoBaseFilterEvents } from '@adyen/bento-vue2'\n *\n * defineEmits<BentoBaseFilterEvents<string>>()\n * ```\n *\n * @example\n * Using the object\n *\n * ```typescript\n * import { BentoBaseFilterEvents } from '@adyen/bento-vue2'\n *\n * defineEmits(BentoBaseFilterEvents)\n * ```\n */\nexport interface BentoBaseFilterEvents<CustomFilterProps> {\n /**\n * Used in the All filters modal\n */\n (e: 'input', updatedProps: CustomFilterProps): void;\n\n /**\n * Used in the Filter Bar\n */\n (e: 'update', updatedProps: CustomFilterProps): void;\n}\n\nexport const BentoBaseFilterEvents = ['input', 'update'];\n","export enum DateFormat {\n // DAY\n DAY_OF_MONTH = 'd', // 1, 2, ..., 31,\n NUMERIC_DAY = 'dd', // 01, 02, ..., 31,\n\n // WEEK\n SHORT_WEEKDAY = 'EEE', // Fri\n\n // MONTH\n NUMERIC_MONTH = 'MM', // 06\n SHORT_MONTH = 'MMM', // Jun\n LONG_MONTH = 'MMMM', // June\n LONG_MONTH_YEAR = `${LONG_MONTH} yyyy`, // June 2023\n\n // YEAR\n FULL_YEAR = 'yyyy', // 0001, 2023\n\n // DATE\n FULL_DATE = `${DAY_OF_MONTH} ${SHORT_MONTH}, ${FULL_YEAR}`, // 25 Jun, 2023\n FULL_DATE_MONTH_FIRST = `${SHORT_MONTH} ${NUMERIC_DAY}, ${FULL_YEAR}`, // Jun 25, 2023\n NUMERIC_DATE_YEAR_FIRST = `${FULL_YEAR}-${NUMERIC_MONTH}-${NUMERIC_DAY}`, // 2023-06-25\n NUMERIC_DATE_DAY_FIRST = `${FULL_YEAR}-${NUMERIC_MONTH}-${NUMERIC_DAY}`, // 25-06-2023\n\n // TIME\n MILITARY_HOUR = 'HH',\n MINUTES_TWO_DIGITS = 'mm',\n SECONDS_TWO_DIGITS = 'ss',\n HOUR_MINUTE_SECONDS = `${MILITARY_HOUR}:${MINUTES_TWO_DIGITS}:${SECONDS_TWO_DIGITS}`,\n}\n\nexport type BentoTextInputDateFormat = 'YYYY-MM-DD' | 'DD-MM-YYYY' | 'MM-DD-YYYY';\n"],"names":["toTypedSchema","formSchema","getInitialFormValues","schema","z","key","value","normalizeFormPath","issue","useForm","validationSchema","errors","shallowRef","errorBag","ref","values","cleanErrors","resetForm","submitted","validSchema","error","path","useBentoThemeKey","useBentoTheme","bentoThemeController","inject","printDevelopmentWarning","getSize","modifiers","toggleHighlight","el","binding","enabled","extraPadding","rounded","size","s","applyHighlight","updateHighlight","removeHighlight","BentoHighlightDirective","installToast","Vue","toastStackInjectionKey","createToastStack","BentoTheme","BentoTheme2","getTheme","getThemeForSystemPreference","setTheme","theme","currentTheme","systemTheme","themeToSet","installTheme","themeProvider","plugin","withToast","withUtilityClasses","withDesignTokensCSSInjection","deprecate","BentoBaseFilterProps","BentoBaseFilterEvents","DateFormat","DateFormat2"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../vue2/src/composables/use-form-validate/use-form.ts","../../vue2/src/composables/use-bento-theme/use-bento-theme.types.ts","../../vue2/src/composables/use-bento-theme/use-bento-theme.ts","../../vue2/src/directives/highlight/highlight.ts","../../vue2/src/composables/use-bento-toast-controller/install.ts","../../vue2/src/composables/use-bento-theme/install.types.ts","../../vue2/src/composables/use-bento-theme/install.ts","../../vue2/src/install.ts","../../vue2/src/types/base-filter.ts","../../vue2/src/types/date-format.ts"],"sourcesContent":["import { type Ref, ref, shallowRef } from 'vue';\nimport * as z from 'zod';\nimport type { ZodSchema } from 'zod';\nimport { type allKeys, type ErrorBag, type UseForm } from './use-form.types';\n\n/**\n * Composable that transforms a Zod schema into a Typed Schema that can be used alongside with {@see useForm}.\n *\n * This is meant to simulate the behavior of {@link @vee-validate/zod} {@see https://vee-validate.logaretm.com/v4/integrations/zod-schema-validation}.\n * Function that transform Zod’s schemas into something that can be understood by vee-validate\n *\n * @deprecated Since v2.0.0. Use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead.\n *\n * @param formSchema Zod schema to be transformed into a `vee-validate` schema\n * @returns Schema transformed\n */\nexport function toTypedSchema<T extends ZodSchema>(formSchema: T) {\n return formSchema;\n}\n\n/**\n * Finds and returns the initial values of each of the values defined in the schema so that they\n * can be transformed into a reactive element.\n * @param schema Zod validation schema containing the definitions of each value to be used in the form\n * @returns Object with the items defined in the schema and their (default) values\n *\n * @example\n * const validationSchema = toTypedSchema(\n * z.object({\n * name: z\n * .string()\n * .min(3, { message: 'Name is required' })\n * .startsWith('Jane')\n * .max(4, { message: 'Name cannot be longer than 4 characters' })\n * .default('Joe'),\n * })\n * );\n * getInitialFormValues(validationSchema)\n *\n * Will return:\n *\n * {\n * name: 'Joe'\n * }\n *\n */\nfunction getInitialFormValues<T extends ZodSchema>(schema: T): z.infer<typeof schema> {\n if (!!z && schema instanceof z.ZodObject) {\n return Object.fromEntries(\n Object.entries(schema.shape).map(([key, value]) => {\n if (!!z && value instanceof z.ZodDefault) {\n /* eslint-disable-next-line no-underscore-dangle */\n return [key, value._def.defaultValue()];\n }\n\n if (!!z && value instanceof z.ZodObject) {\n return [key, getInitialFormValues(value)];\n }\n\n return [key, undefined];\n })\n ) as z.infer<typeof schema>;\n }\n\n /**\n * Zod's refine and superRefine use {@link z.ZodEffects} instead of {@link z.ZodSchema}.\n * We need to extract the schema from the {@link z.ZodEffects} structure.\n */\n if (!!z && schema instanceof z.ZodEffects) {\n // eslint-disable-next-line no-underscore-dangle\n return getInitialFormValues(schema._def.schema);\n }\n\n return undefined;\n}\n\n/**\n * Constructs a path with dot paths for arrays to use brackets to be compatible with vee-validate path syntax\n * @param issue List of nested path elements\n * @returns Path with dots\n */\nfunction normalizeFormPath(issue: z.ZodIssue) {\n return issue.path.join('.');\n}\n\n/**\n * Composable that facilitates validating form data for Vue2 & Vue3 implementations with FormLayout\n * to ease the migration to Vue3.\n *\n * For Vue3 implementations use Vee-Validate.\n *\n * This provides a simplified version of Vee-Validate v4 implemented with Zod to validate a form schema.\n * It returns reactive values that can be used directly in form input elements with 'v-model' alongside\n * with functions to \"reset\" the data (sets values to default value) and a function to execute the\n * successful form validation process (through a callback).\n *\n * @deprecated Since v2.0.0. Use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead.\n *\n * @param props Form configuration object\n * @param extends ZodSchema} props.validationSchema Zod typed validation schema\n * @returns response - Composable with reactive form values and errors, and functions to handle the reactive data\n * @returns response.errorBag Object with all the form values and an array of each one of the errors (if any) per value\n * @returns response.errors Object with all the form values and the first error found for that field (if any)\n * @returns response.values Object with all the form values and their current value\n * @returns response.handleReset Resets the form values to default (initial values) when it gets called\n * @returns response.submitForm Validates the data set in {response.values} and sets errors (if found) inside {response.errors} and {response.errorBag}.\n * When the validation is successful it calls the callback so the submit process can continue\n *\n * @example\n * const validationSchema = toTypedSchema(\n * z.object({\n * name: z\n * .string()\n * .min(3, { message: 'Name is required' })\n * .startsWith('Jane')\n * .max(4, { message: 'Name cannot be longer than 4 characters' })\n * .default('Joe'),\n * })\n * );\n *\n * const { values, errors, errorBag, submitForm, handleReset } = useForm({\n * validationSchema\n * });\n * const handleSubmit = submitForm(() => {\n * // Send data to API here\n * })\n *\n */\nexport function useForm<T extends ZodSchema>({\n validationSchema,\n}: UseForm<T>): {\n errorBag: Ref<{\n [P in allKeys<(typeof validationSchema)['_type']>]?: Array<string>;\n }>;\n errors: Ref<{\n [P in allKeys<(typeof validationSchema)['_type']>]?: string;\n }>;\n values: Ref<(typeof validationSchema)['_type']>;\n handleReset: () => void;\n submitForm: (submitted: any) => () => void;\n} {\n // Errors per field\n const errors = shallowRef<z.infer<typeof validationSchema>>({});\n // All errors per field\n const errorBag: Ref<ErrorBag<z.infer<typeof validationSchema>>> = ref({});\n const values: Ref<z.TypeOf<T>> = ref(getInitialFormValues<T>(validationSchema));\n\n const cleanErrors = () => {\n errors.value = {};\n errorBag.value = {};\n };\n\n const resetForm = () => {\n cleanErrors();\n values.value = getInitialFormValues<T>(validationSchema);\n };\n\n const submitForm = submitted => () => {\n cleanErrors();\n\n // Run validations on the form data through the schema\n const validSchema = validationSchema.safeParse(values.value);\n\n // Update errors\n if (!validSchema.success) {\n (validSchema as z.SafeParseError<T>).error.issues.forEach(error => {\n const path = normalizeFormPath(error);\n\n // Add the first occurrence of a field error to the \"errors\" object\n if (!errors.value[path]) {\n errors.value[path] = error.message;\n }\n\n // Add each error to the \"errorBag\" per field array\n if (!errorBag.value[path]) {\n errorBag.value[path] = [error.message];\n } else {\n errorBag.value[path].push(error.message);\n }\n });\n } else {\n submitted(values.value);\n }\n };\n\n return {\n // Values\n errorBag,\n errors,\n values,\n\n // Methods\n handleReset: () => resetForm(),\n submitForm,\n };\n}\n","import { type BentoTheme } from './install.types';\n\nexport const useBentoThemeKey = Symbol('use-bento-theme');\n\nexport interface UseBentoTheme {\n getTheme: () => string;\n setTheme: (theme: BentoTheme | `${BentoTheme}`) => void;\n}\n","import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\nimport { getCurrentInstance, inject } from 'vue';\nimport { isVue2 } from 'vue-demi';\nimport { type UseBentoTheme, useBentoThemeKey } from './use-bento-theme.types';\n\n/**\n * Composable that handles theming-related capabilities for the Bento component library.\n * Requires the use of `BentoPlugin`.\n *\n * @example\n * <script setup lang=\"ts\">\n * import { useBentoTheme, BentoTheme } from '@adyen/bento-vue2';\n *\n * const { setTheme } = useBentoTheme();\n *\n * setTheme(BentoTheme.BENTO_DARK)\n * </script>\n *\n * @returns {UseBentoTheme} An object with getter and setter method for the Bento theme.\n * @returns {Function} getTheme - Returns the current theme in the string form of BentoTheme enum.\n * @returns {Function} setTheme - Sets the theme of the Bento component library.\n *\n */\nexport function useBentoTheme(): UseBentoTheme {\n const bentoThemeController = isVue2\n ? getCurrentInstance()?.proxy[useBentoThemeKey]\n : inject(useBentoThemeKey, null);\n\n if (!bentoThemeController) {\n printDevelopmentWarning('useBentoTheme does not work without Vue.use(BentoPlugin)');\n\n // Return placeholder functions so client code won't break, but theme won't toggle\n return {\n getTheme: () => undefined,\n setTheme: () => undefined,\n };\n }\n\n // Return a new object so unintentional reassigning its properties won't override a global state\n return { ...bentoThemeController };\n}\n","const getSize = ({ modifiers, value }) => Object.keys(modifiers)[0] || value?.size || 'small';\n\nconst toggleHighlight = (el, binding, enabled) => {\n const extraPadding = binding.value?.extraPadding ?? false;\n const rounded = binding.value?.rounded ?? false;\n const size = getSize(binding);\n\n el.classList.toggle('b-highlight', enabled);\n el.classList.toggle('b-highlight--extra-padding', enabled && extraPadding);\n el.classList.toggle('b-highlight--rounded', enabled && rounded);\n\n ['small', 'medium', 'large'].forEach(s => {\n el.classList.toggle(`b-highlight--${s}`, enabled && s === size);\n });\n};\n\nconst applyHighlight = (el, binding) => {\n toggleHighlight(el, binding, binding.value !== false);\n};\n\nconst updateHighlight = (el, binding) => {\n toggleHighlight(el, binding, binding.value !== false);\n};\n\nconst removeHighlight = (el, binding) => {\n toggleHighlight(el, binding, false);\n};\n\nexport const BentoHighlightDirective = {\n // Vue 2\n bind: applyHighlight,\n update: updateHighlight,\n unbind: removeHighlight,\n\n // Vue 3\n beforeMount: applyHighlight,\n mounted: updateHighlight,\n updated: updateHighlight,\n unmounted: removeHighlight,\n};\n\nimport './highlight.scss';\n","import { type App, isVue2, type Vue2 } from 'vue-demi';\nimport { createToastStack, toastStackInjectionKey } from './toast-stack';\n\n/**\n * This function is used to create and register global reactive state necessary fro the Toasts to operate.\n * @param {Vue} Vue A context application to register global state with.\n */\nexport default Vue => {\n if (isVue2) {\n // Add toast stack as a global property as there is no \"app.provide\" functionality in Vue2\n // eslint-disable-next-line no-param-reassign -- this is an official way of setting up instance properties on Vue\n (Vue as typeof Vue2).prototype[toastStackInjectionKey] = createToastStack();\n } else {\n (Vue as App).provide(toastStackInjectionKey, createToastStack());\n }\n};\n","export enum BentoTheme {\n /**\n * @deprecated Since v2.0.0. Use `BENTO_LIGHT` instead.\n */\n LEGACY = 'b-legacy-theme',\n STYLEGUIDE = 'b-styleguide-theme',\n\n /**\n * @deprecated Since v2.0.0. Use `BENTO_LIGHT` instead.\n */\n BENTO = '',\n\n BENTO_LIGHT = 'b-light-theme',\n BENTO_DARK = 'b-dark-theme',\n BENTO_SYSTEM = 'b-system',\n}\n","import { type App, isVue2, type Vue2 } from 'vue-demi';\nimport { useBentoThemeKey } from './use-bento-theme.types';\nimport { BentoTheme } from './install.types';\n\nconst getTheme = () => document.body.className.match(/b-\\w+-theme/)?.[0] ?? '';\nconst getThemeForSystemPreference = () => {\n const preferredDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n if (preferredDarkMode) {\n return BentoTheme.BENTO_DARK;\n }\n\n return BentoTheme.BENTO_LIGHT;\n};\n\nexport const setTheme = (theme: BentoTheme) => {\n const currentTheme = getTheme();\n const systemTheme = getThemeForSystemPreference();\n const themeToSet = theme === BentoTheme.BENTO_SYSTEM ? systemTheme : theme;\n\n if (themeToSet === BentoTheme.BENTO_LIGHT || themeToSet === BentoTheme.BENTO) {\n document.documentElement.style.colorScheme = 'light';\n } else if (themeToSet === BentoTheme.BENTO_DARK) {\n document.documentElement.style.colorScheme = 'dark';\n }\n\n // if theme is different from current and it is not `BentoTheme.BENTO`\n if (currentTheme.length && currentTheme !== themeToSet) {\n document.body.classList.remove(currentTheme);\n }\n\n // if theme is not `BentoTheme.BENTO`\n if (themeToSet.length) {\n document.body.classList.add(themeToSet);\n }\n};\n\n/**\n * This function is used to create and register global reactive state necessary for theme to operate.\n * @param {Vue} Vue A context application to register global state with.\n */\nexport default Vue => {\n const themeProvider = {\n getTheme,\n setTheme,\n };\n\n if (isVue2) {\n // Add theme as a global property as there is no \"app.provide\" functionality in Vue2\n // eslint-disable-next-line no-param-reassign -- this is an official way of setting up instance properties on Vue\n (Vue as typeof Vue2).prototype[useBentoThemeKey] = themeProvider;\n } else {\n (Vue as App).provide(useBentoThemeKey, themeProvider);\n }\n};\n","import installToast from './composables/use-bento-toast-controller/install';\nimport installTheme, { setTheme } from './composables/use-bento-theme/install';\nimport { deprecate } from './utils/ts/deprecate';\nimport { BentoTheme } from './composables/use-bento-theme/install.types';\nimport type { PluginObject } from 'vue';\n\ninterface BentoVuePlugin {\n theme?: BentoTheme;\n withToast?: boolean;\n withUtilityClasses?: boolean;\n withDesignTokensCSSInjection?: boolean;\n}\n\nconst plugin: PluginObject<BentoVuePlugin> = {\n name: 'BentoVue',\n install: async (\n Vue,\n {\n theme = BentoTheme.BENTO_LIGHT,\n withToast = false,\n withUtilityClasses = false,\n withDesignTokensCSSInjection = true,\n }: BentoVuePlugin\n ) => {\n installTheme(Vue);\n\n if (withToast) {\n installToast(Vue);\n }\n if (withDesignTokensCSSInjection) {\n deprecate(\n 'Using default setting withDesignTokensCSSInjection set to true in BentoVue plugin',\n 'Please disable CSS injection by setting withDesignTokensCSSInjection to false in BentoVue plugin options as highlighted here:\\nhttps://adyen-bento.netlify.app/?path=/docs/welcome-getting-started--docs#import-css-variables',\n '2.0.0'\n );\n // Make sure to put all awaited CSS imports below this point and not above!\n if (theme === BentoTheme.STYLEGUIDE) {\n await import('@adyen/bento-design-tokens/dist/css/bento/variables-styleguide.css');\n } else {\n await import('@adyen/bento-design-tokens/dist/css/bento/variables.css');\n }\n\n if (withUtilityClasses) {\n await import('@adyen/bento-design-tokens/dist/css/bento/utility.css');\n }\n }\n\n if (theme === BentoTheme.STYLEGUIDE) {\n setTheme(BentoTheme.STYLEGUIDE);\n } else if (theme === BentoTheme.BENTO_SYSTEM) {\n setTheme(BentoTheme.BENTO_SYSTEM);\n } else if (theme === BentoTheme.BENTO_DARK) {\n setTheme(BentoTheme.BENTO_DARK);\n } else if (theme === BentoTheme.BENTO) {\n deprecate('Using `BentoTheme.BENTO`', 'Please use `BentoTheme.BENTO_LIGHT` instead', '2.0.0');\n setTheme(BentoTheme.BENTO_LIGHT);\n } else {\n setTheme(BentoTheme.BENTO_LIGHT);\n }\n },\n};\n\nexport { BentoTheme };\nexport default plugin;\n","/**\n * Defines the props used by `bento-base-filter` that must be implemented\n * on every filter as `defineProps`.\n *\n * The interface can be extended if new values are required.\n * The object can be extended if new values are required.\n *\n * @template CustomValue Defines the type of the `value` and `defaultValue` props.\n * @template CustomOptions Defines the type of the options used by the filter (default: `undefined`).\n *\n * @example\n * Using the interface\n *\n * ```typescript\n * import { type BentoBaseFilterProps } from '@adyen/bento-vue2'\n *\n * interface CustomOptions {\n * option: string;\n * }\n *\n * withDefaults(defineProps<BentoBaseFilterProps<string, CustomOptions>>(), {\n * defaultValue: undefined,\n * })\n * ```\n *\n * @example\n * Using the object\n *\n * ```typescript\n * import { BentoBaseFilterProps } from '@adyen/bento-vue2'\n *\n * defineProps({\n * ...BentoBaseFilterProps,\n * options: {\n * type: Object,\n * default: () => ({\n * option: null\n * })\n * }\n * })\n * ```\n */\nexport interface BentoBaseFilterProps<CustomValue, CustomOptions = undefined> {\n /**\n * Disables the filter from being interacted with.\n */\n disabled?: boolean;\n\n /**\n * Default value of the filter to reset to.\n */\n defaultValue?: CustomValue;\n\n /**\n * Filter name/key referencing the actual property name in the data set.\n * Should be unique per filter bar.\n */\n field: string;\n\n /**\n * Label text to be displayed\n */\n label: string;\n\n /**\n * Renders the base filter's slot content only - leaving out the button and the popover.\n * Used for the allFiltersModal component.\n */\n onlySlot?: boolean;\n\n /**\n * List of options that are needed to setup the filter\n * Available options:\n * - firstDayOfWeek: Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday\n * - isDateDisabled: Indicate if a date should be disabled or not\n * - tooltipPosition: The position of the tooltip attached to the filter button\n * - tooltipText: The content of the tooltip attached to the filter button\n */\n options?: CustomOptions;\n\n /**\n * Current value of the filter\n */\n value: CustomValue;\n}\n\nexport const BentoBaseFilterProps = Object.freeze({\n /**\n * Disables the filter from being interacted with.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Default value of the filter to reset to.\n */\n defaultValue: {\n type: [Object, Number, Boolean, Array, String, Date],\n default: null,\n },\n\n /**\n * Filter name/key referencing the actual property name in the data set.\n * Should be unique per filter bar.\n */\n field: { type: String, required: true },\n\n /**\n * Label text to be displayed\n */\n label: { type: String, required: true },\n\n /**\n * Renders the base filter's slot content only - leaving out the button and the popover.\n * Used for the allFiltersModal component.\n */\n onlySlot: { type: Boolean, default: false },\n\n /**\n * The current value of the filter, used for v-model.\n */\n value: {\n type: [Object, Number, Boolean, Array, String, Date],\n default: undefined,\n },\n});\n\n/**\n * Defines the mandatory emits that need to be defined by the implementation of any filter\n *\n * @template CustomValue Defines the type of the value being passed to the emit. Same as the type set in `BentoBaseFilterProps`\n *\n * @example\n * Using the interface\n *\n * ```typescript\n * import { type BentoBaseFilterEvents } from '@adyen/bento-vue2'\n *\n * defineEmits<BentoBaseFilterEvents<string>>()\n * ```\n *\n * @example\n * Using the object\n *\n * ```typescript\n * import { BentoBaseFilterEvents } from '@adyen/bento-vue2'\n *\n * defineEmits(BentoBaseFilterEvents)\n * ```\n */\nexport interface BentoBaseFilterEvents<CustomFilterProps> {\n /**\n * Used in the All filters modal\n */\n (e: 'input', updatedProps: CustomFilterProps): void;\n\n /**\n * Used in the Filter Bar\n */\n (e: 'update', updatedProps: CustomFilterProps): void;\n}\n\nexport const BentoBaseFilterEvents = ['input', 'update'];\n","export enum DateFormat {\n // DAY\n DAY_OF_MONTH = 'd', // 1, 2, ..., 31,\n NUMERIC_DAY = 'dd', // 01, 02, ..., 31,\n\n // WEEK\n SHORT_WEEKDAY = 'EEE', // Fri\n\n // MONTH\n NUMERIC_MONTH = 'MM', // 06\n SHORT_MONTH = 'MMM', // Jun\n LONG_MONTH = 'MMMM', // June\n LONG_MONTH_YEAR = `${LONG_MONTH} yyyy`, // June 2023\n\n // YEAR\n FULL_YEAR = 'yyyy', // 0001, 2023\n\n // DATE\n FULL_DATE = `${DAY_OF_MONTH} ${SHORT_MONTH}, ${FULL_YEAR}`, // 25 Jun, 2023\n FULL_DATE_MONTH_FIRST = `${SHORT_MONTH} ${NUMERIC_DAY}, ${FULL_YEAR}`, // Jun 25, 2023\n NUMERIC_DATE_YEAR_FIRST = `${FULL_YEAR}-${NUMERIC_MONTH}-${NUMERIC_DAY}`, // 2023-06-25\n NUMERIC_DATE_DAY_FIRST = `${FULL_YEAR}-${NUMERIC_MONTH}-${NUMERIC_DAY}`, // 25-06-2023\n\n // TIME\n MILITARY_HOUR = 'HH',\n MINUTES_TWO_DIGITS = 'mm',\n SECONDS_TWO_DIGITS = 'ss',\n HOUR_MINUTE_SECONDS = `${MILITARY_HOUR}:${MINUTES_TWO_DIGITS}:${SECONDS_TWO_DIGITS}`,\n}\n\nexport type BentoTextInputDateFormat = 'YYYY-MM-DD' | 'DD-MM-YYYY' | 'MM-DD-YYYY';\n"],"names":["toTypedSchema","formSchema","getInitialFormValues","schema","z","key","value","normalizeFormPath","issue","useForm","validationSchema","errors","shallowRef","errorBag","ref","values","cleanErrors","resetForm","submitted","validSchema","error","path","useBentoThemeKey","useBentoTheme","bentoThemeController","inject","printDevelopmentWarning","getSize","modifiers","toggleHighlight","el","binding","enabled","extraPadding","rounded","size","s","applyHighlight","updateHighlight","removeHighlight","BentoHighlightDirective","installToast","Vue","toastStackInjectionKey","createToastStack","BentoTheme","BentoTheme2","getTheme","getThemeForSystemPreference","setTheme","theme","currentTheme","systemTheme","themeToSet","installTheme","themeProvider","plugin","withToast","withUtilityClasses","withDesignTokensCSSInjection","deprecate","BentoBaseFilterProps","BentoBaseFilterEvents","DateFormat","DateFormat2"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { i as a, m as s, r as i, a as c, b as u, c as o } from "./chunks/input-field-password.DyUphhxB.js";
1
+ import { i as a, m as s, r as i, a as c, b as u, c as o } from "./chunks/input-field-password.CbDeLcL2.js";
2
2
  export {
3
3
  a as BentoInputFieldPassword,
4
4
  s as minLength,
@@ -1,4 +1,4 @@
1
- import { i as o, B as t } from "./chunks/input-field-phone-number.BXVaC5ra.js";
1
+ import { i as o, B as t } from "./chunks/input-field-phone-number.DzruT8x5.js";
2
2
  export {
3
3
  o as BentoInputFieldPhoneNumber,
4
4
  t as BentoInputFieldPhoneNumberCountries
@@ -1,4 +1,4 @@
1
- import { B as n, a, b as o, c as i, d as s, e as l } from "./chunks/input-field.DkUFvIWt.js";
1
+ import { B as n, a, b as o, c as i, d as s, e as l } from "./chunks/input-field.zwUuajnC.js";
2
2
  export {
3
3
  n as BentoInputField,
4
4
  a as BentoInputFieldElementPosition,
@@ -1,4 +1,4 @@
1
- import { B as t } from "./chunks/input-time.WI_qdwJc.js";
1
+ import { B as t } from "./chunks/input-time.RUecHW9h.js";
2
2
  export {
3
3
  t as BentoInputTime
4
4
  };
package/dist/internal.js CHANGED
@@ -1,16 +1,16 @@
1
- import { d as e, e as t } from "./chunks/button-actions.DLiM8KZL.js";
1
+ import { d as e, e as t } from "./chunks/button-actions.7Oi2Ra4p.js";
2
2
  import { B as s, D as i, a as n, b as p } from "./chunks/dialog-page.Bh-7RAwX.js";
3
- import { b as C, u as x, c as I } from "./chunks/use-cached-selected-values.Bx8uuky9.js";
3
+ import { b as C, u as x, c as I } from "./chunks/use-cached-selected-values.DUWGSMvO.js";
4
4
  import { B as f, a as m, T as E } from "./chunks/tooltip.DHfG2aRt.js";
5
- import { B as d } from "./chunks/button-actions-with-menu.BKdNXYgU.js";
6
- import { b as G, c as O, C as u, d as B, a as A } from "./chunks/calendar.qm-kFNQv.js";
5
+ import { B as d } from "./chunks/button-actions-with-menu.KaWdHibo.js";
6
+ import { b as G, c as O, C as u, d as B, a as A } from "./chunks/calendar.DfMwuOIR.js";
7
7
  import { C as P } from "./chunks/controls-group.DqRpF9bh.js";
8
8
  import { C as b, a as g } from "./chunks/copy.CL893i9-.js";
9
9
  import { E as D } from "./chunks/error-message.Dyvrw6ZB.js";
10
10
  import { F as S } from "./chunks/field-label.DZYFjFgr.js";
11
11
  import { F as W } from "./chunks/fixed-scroller.yVsaQzy5.js";
12
12
  import { G as v, a as H } from "./chunks/grid-layout.CCWNscU_.js";
13
- import { H as K, I as R } from "./chunks/header-meta.COak4D8-.js";
13
+ import { H as K, I as R } from "./chunks/header-meta.BJjFOcxY.js";
14
14
  import { L as U } from "./chunks/listbox-option-tag.CVxaZqbc.js";
15
15
  export {
16
16
  e as BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY,
package/dist/menu.js CHANGED
@@ -1,4 +1,4 @@
1
- import { f as o, g as t } from "./chunks/button-actions.DLiM8KZL.js";
1
+ import { f as o, g as t } from "./chunks/button-actions.7Oi2Ra4p.js";
2
2
  export {
3
3
  o as BentoMenu,
4
4
  t as BentoMenuEvent
@@ -1,4 +1,4 @@
1
- import { m as o, B as a } from "./chunks/modal-fullscreen.c6QphYQo.js";
1
+ import { m as o, B as a } from "./chunks/modal-fullscreen.CepaWyoi.js";
2
2
  export {
3
3
  o as BentoModalFullscreen,
4
4
  a as BentoModalFullscreenPage
package/dist/modal.js CHANGED
@@ -1,5 +1,5 @@
1
- import { _ as e } from "./chunks/modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js";
2
- import { B as n, a as l, b as d, c as B, d as M, e as s, f as r, g as i } from "./chunks/base-modal.BxcS7Pao.js";
1
+ import { _ as e } from "./chunks/modal.vue_vue_type_script_setup_true_lang.BW9Ff59H.js";
2
+ import { B as n, a as l, b as d, c as B, d as M, e as s, f as r, g as i } from "./chunks/base-modal.C8Rsc2oO.js";
3
3
  export {
4
4
  e as BentoModal,
5
5
  n as BentoModalColumnLayoutVariant,
@@ -1,4 +1,4 @@
1
- import { B as n } from "./chunks/pagination.Cu85Lqms.js";
1
+ import { B as n } from "./chunks/pagination.BJtoP8At.js";
2
2
  export {
3
3
  n as BentoPagination
4
4
  };
package/dist/popover.js CHANGED
@@ -1,4 +1,4 @@
1
- import { h as r } from "./chunks/button-actions.DLiM8KZL.js";
1
+ import { h as r } from "./chunks/button-actions.7Oi2Ra4p.js";
2
2
  import { B as p } from "./chunks/popover.types.D8tHtFl3.js";
3
3
  export {
4
4
  r as BentoPopover,
@@ -1,4 +1,4 @@
1
- import { r as t } from "./chunks/rich-text-editor.Bf9EWzNk.js";
1
+ import { r as t } from "./chunks/rich-text-editor.CSvPpLth.js";
2
2
  export {
3
3
  t as BentoRichTextEditor
4
4
  };
@@ -1,5 +1,5 @@
1
- import { B as r, a as t, b as B } from "./chunks/search-bar.p6kHCCvT.js";
2
- import { u as o } from "./chunks/dropdown.DHoL50gV.js";
1
+ import { B as r, a as t, b as B } from "./chunks/search-bar.CGXKk-gv.js";
2
+ import { u as o } from "./chunks/dropdown.C323NUqq.js";
3
3
  export {
4
4
  r as BentoSearchBar,
5
5
  t as BentoSearchBarEvent,
@@ -1,4 +1,4 @@
1
- import { s as e } from "./chunks/secondary-nav.CaxiyVaO.js";
1
+ import { s as e } from "./chunks/secondary-nav.DkcoRjfJ.js";
2
2
  export {
3
3
  e as BentoSecondaryNav
4
4
  };
package/dist/sidepanel.js CHANGED
@@ -1,4 +1,4 @@
1
- import { s as n, B as o, a as t } from "./chunks/sidepanel.CAVhSs-O.js";
1
+ import { s as n, B as o, a as t } from "./chunks/sidepanel.S037xghX.js";
2
2
  export {
3
3
  n as BentoSidepanel,
4
4
  o as BentoSidepanelEvent,
@@ -1,4 +1,4 @@
1
- import { s as r, a as t, _ as a, b as o, c as i, B as n, d as u, e as d } from "./chunks/summary-grid.types.CDithi8M.js";
1
+ import { s as r, a as t, _ as a, b as o, c as i, B as n, d as u, e as d } from "./chunks/summary-grid.types.D1JQ_jtv.js";
2
2
  export {
3
3
  r as BentoSummaryGrid,
4
4
  t as BentoSummaryGridItemAmount,
package/dist/textarea.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as o } from "./chunks/textarea.JGXAlpx9.js";
1
+ import { B as o } from "./chunks/textarea.-6FHesSp.js";
2
2
  export {
3
3
  o as BentoTextarea
4
4
  };
package/dist/timeline.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t, B as i, a, b as m, c as o, d as l } from "./chunks/timeline-item.BNFPpQz1.js";
1
+ import { t, B as i, a, b as m, c as o, d as l } from "./chunks/timeline-item.BJaFr2_Y.js";
2
2
  export {
3
3
  t as BentoTimeline,
4
4
  i as BentoTimelineGapUnit,
package/dist/toggle.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as a, a as g, b as s } from "./chunks/toggle.BQoprdX-.js";
1
+ import { B as a, a as g, b as s } from "./chunks/toggle.BdcgY15I.js";
2
2
  export {
3
3
  a as BentoToggle,
4
4
  g as BentoToggleLabelPosition,
package/dist/tutorial.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as t } from "./chunks/tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js";
1
+ import { _ as t } from "./chunks/tutorial.vue_vue_type_script_setup_true_lang.D_Z1zKam.js";
2
2
  export {
3
3
  t as BentoTutorial
4
4
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "vue",
3
3
  "name": "@adyen/bento-vue3",
4
- "version": "1.91.0",
4
+ "version": "1.92.1",
5
5
  "contributions": {
6
6
  "html": {
7
7
  "description-markup": "markdown",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adyen/bento-vue3",
3
- "version": "1.91.0",
3
+ "version": "1.92.1",
4
4
  "description": "Adyen Bento Vue 3 components",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -48,7 +48,7 @@
48
48
  "unified": "11.0.5",
49
49
  "uuid": "11.0.5",
50
50
  "vue-demi": "0.14.10",
51
- "@adyen/bento-design-tokens": "1.91.0"
51
+ "@adyen/bento-design-tokens": "1.92.1"
52
52
  },
53
53
  "dependenciesMeta": {
54
54
  "@adyen/bento-vue-i18n-demi": {
@@ -114,10 +114,10 @@
114
114
  "vue-router": "~4.1",
115
115
  "vue-tsc": "3.2.2",
116
116
  "zod": "3.25.35",
117
- "@adyen/bento-core": "0.0.1",
117
+ "@adyen/ui-assets-icons-16": "7.9.0",
118
118
  "@adyen/bento-vue-i18n-demi": "0.1.0",
119
- "@adyen/ui-assets-icons-16": "7.8.0",
120
- "@adyen/ui-assets-payment-method-icons": "10.8.0"
119
+ "@adyen/ui-assets-payment-method-icons": "10.8.1",
120
+ "@adyen/bento-core": "0.0.1"
121
121
  },
122
122
  "scripts": {
123
123
  "build": "pnpm run build:prod",
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert.CFWN2E0b.js","sources":["../../../vue2/src/components/alert/alert.types.ts","../../../ui-assets/icons-16/dist/vue/info-filled.vue","../../../vue2/src/components/alert/alert.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoAlertVariant {\n DEFAULT = 'default',\n TIP = 'tip',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoAlertTypeOption {\n WARNING = 'warning',\n CRITICAL = 'critical',\n HIGHLIGHT = 'highlight',\n SUCCESS = 'success',\n}\n\n/**\n * @deprecated from version 2.0.0. Use \"@close-alert\" instead.\n */\nexport enum BentoAlertEvent {\n CLOSE_ALERT = 'close-alert',\n}\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-info_filled__a' + uuid + ')'\"><path fill=\"#001222\" fill-rule=\"evenodd\" d=\"M5.03418 0.839544C6.45015 0.253058 8.00853 0.0992122 9.51172 0.398138C11.015 0.697159 12.3966 1.43547 13.4805 2.51923C14.5642 3.60301 15.3025 4.98476 15.6016 6.48798C15.9005 7.99113 15.7466 9.54958 15.1602 10.9655C14.5736 12.3816 13.5801 13.5925 12.3057 14.444C11.1109 15.2423 9.71924 15.6917 8.28711 15.7448L8 15.7497C5.94458 15.7497 3.97294 14.9336 2.51953 13.4802C1.06623 12.0268 0.250005 10.055 0.25 7.9997C0.250066 6.4671 0.70424 4.96838 1.55566 3.69404C2.40724 2.41967 3.61814 1.42609 5.03418 0.839544ZM6.25 6.2497V7.7497H7.25V10.2497H6.25V11.7497H9.75V10.2497H8.75V6.2497H6.25ZM7.75 3.4997C7.58674 3.4997 7.42763 3.54211 7.28418 3.61786C7.25386 3.63389 7.22303 3.64949 7.19434 3.66865L7.07812 3.75947C7.04744 3.78732 7.01817 3.817 6.99121 3.84833C6.97917 3.86236 6.96827 3.8776 6.95703 3.89228C6.93942 3.91522 6.9228 3.93915 6.90723 3.96357C6.90005 3.97485 6.89248 3.98618 6.88574 3.99775C6.86351 4.03594 6.84324 4.07574 6.82617 4.11689L6.78027 4.25751C6.77017 4.29795 6.7628 4.33927 6.75781 4.38056C6.75552 4.39961 6.75411 4.41902 6.75293 4.43818C6.75166 4.45856 6.75196 4.47926 6.75195 4.4997C6.75195 4.52207 6.75144 4.54472 6.75293 4.56708C6.75579 4.60979 6.76114 4.65273 6.76953 4.69501L6.80859 4.83661C6.82299 4.87685 6.84098 4.91584 6.86035 4.9538C6.86847 4.96971 6.87775 4.98522 6.88672 5.00068C6.89748 5.01922 6.90895 5.03753 6.9209 5.05536C6.93323 5.07376 6.94544 5.09248 6.95898 5.11005C6.98495 5.14371 7.01269 5.17643 7.04297 5.20673L7.1543 5.30341C7.19021 5.33003 7.2285 5.35325 7.26758 5.3747C7.27775 5.38031 7.28847 5.38508 7.29883 5.39033C7.32903 5.40554 7.35995 5.41924 7.3916 5.43134C7.40264 5.43559 7.41361 5.44018 7.4248 5.44404C7.46721 5.45855 7.51041 5.47134 7.55469 5.48017C7.59672 5.48853 7.63919 5.49291 7.68164 5.49579C7.70021 5.49707 7.71872 5.49751 7.7373 5.49775C7.76179 5.49804 7.78614 5.49729 7.81055 5.49579C7.82982 5.49462 7.84899 5.4932 7.86816 5.49091C7.90982 5.48592 7.95139 5.47962 7.99219 5.46943L8.13281 5.42353C8.1739 5.40649 8.21283 5.38517 8.25098 5.36298C8.2626 5.35623 8.27383 5.3487 8.28516 5.3415C8.30964 5.32589 8.33345 5.30934 8.35645 5.29169C8.37116 5.28043 8.38633 5.26958 8.40039 5.25751C8.43176 5.23053 8.46235 5.20229 8.49023 5.17158L8.58105 5.05536C8.69084 4.89096 8.75 4.6974 8.75 4.4997C8.74992 4.2346 8.64449 3.98013 8.45703 3.79267C8.26951 3.60523 8.01514 3.4997 7.75 3.4997Z\" clip-rule=\"evenodd\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-info_filled__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","<template>\n <div class=\"b-alert\" :role=\"computedRole\">\n <div class=\"b-alert__inner-container\" :class=\"alertConditionalClasses\">\n <div class=\"b-alert__icon\">\n <component :is=\"iconComponent\" aria-hidden=\"true\" :svg-title=\"iconSvgTitle\" />\n </div>\n\n <div class=\"b-alert__content\">\n <bento-typography\n v-if=\"hasSlot('default') && !isTipVariant\"\n class=\"b-alert__title\"\n el=\"div\"\n variant=\"body\"\n strongest\n wide\n >\n <slot />\n </bento-typography>\n\n <bento-typography\n v-if=\"hasSlot('description')\"\n class=\"b-alert__description\"\n v-bind=\"descriptionTypography\"\n data-testid=\"alert-description\"\n >\n <slot name=\"description\" />\n </bento-typography>\n\n <div v-if=\"hasSlot('actions') && !isTipVariant\" class=\"b-alert__actions\" data-testid=\"alert-actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n\n <bento-button\n v-if=\"closeButton && !isTipVariant\"\n class=\"b-alert__close-button\"\n variant=\"tertiary\"\n type=\"button\"\n @click=\"onCloseButtonClick\"\n >\n <cross-small :svg-title=\"t('close')\" />\n </bento-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onMounted, useSlots } from 'vue';\n\n // Component\n import { BentoAlertEvent, BentoAlertTypeOption, BentoAlertVariant } from '@/components/alert/alert.types';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { BentoButton } from '@/components/button';\n\n import CrossSmall from '@adyen/ui-assets-icons-16/vue/cross-small';\n import Warning from '@adyen/ui-assets-icons-16/vue/warning-filled';\n import CrossCircle from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n import CheckedCircle from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import Info from '@adyen/ui-assets-icons-16/vue/info-filled';\n\n // Utils\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const emit = defineEmits<{\n /**\n * Emits event when the alert is closed. `closeButton` must be `true`\n */\n (e: 'close-alert');\n }>();\n\n const props = withDefaults(\n defineProps<{\n /**\n * Adds a close button on the right side of the alert\n */\n closeButton?: boolean;\n\n /**\n * Type of a alert; set a distinctive icon and color. Defaults to highlight.\n * @values HIGHLIGHT, SUCCESS, CRITICAL, WARNING\n */\n type?: BentoAlertTypeOption | `${BentoAlertTypeOption}`;\n\n /**\n * Variant for the alert\n * @values DEFAULT, TIP\n */\n variant?: BentoAlertVariant | `${BentoAlertVariant}`;\n }>(),\n {\n closeButton: false,\n type: BentoAlertTypeOption.HIGHLIGHT,\n variant: BentoAlertVariant.DEFAULT,\n }\n );\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const isTipVariant = computed(() => props.variant === BentoAlertVariant.TIP);\n\n const alertConditionalClasses = computed(() => ({\n [`b-alert--${props.type}`]: props.type,\n [`b-alert--${BentoAlertVariant.TIP}`]: isTipVariant.value,\n }));\n\n const iconSvgTitle = computed(() => t(`${props.type}Icon`));\n\n const iconComponent = computed(() => {\n switch (props.type) {\n case BentoAlertTypeOption.CRITICAL:\n return CrossCircle;\n case BentoAlertTypeOption.SUCCESS:\n return CheckedCircle;\n case BentoAlertTypeOption.WARNING:\n return Warning;\n case BentoAlertTypeOption.HIGHLIGHT:\n default:\n return Info;\n }\n });\n\n const descriptionTypography = computed(() => ({\n el: BentoTypographyElement.DIV,\n variant: isTipVariant.value ? BentoTypographyVariant.CAPTION : BentoTypographyVariant.BODY,\n wide: true,\n }));\n\n const computedRole = computed(() => (props.type === BentoAlertTypeOption.HIGHLIGHT ? 'status' : 'alert'));\n\n const onCloseButtonClick = () => {\n emit(BentoAlertEvent.CLOSE_ALERT);\n };\n\n onMounted(() => {\n if (!slots.default && !slots.description) {\n throw new Error('Alert Component requires a title or a description');\n }\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * An Alert component is used to display a persistent\n * notification containing information important to the user\n *\n * @example\n * import { BentoAlert, BentoAlertTypeOption } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAlert },\n * template: `\n * <bento-alert type=\"highlight\">\n * Title of the Alert\n * </bento-alert>\n * `\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-alert',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./alert.scss\" />\n"],"names":["BentoAlertVariant","BentoAlertVariant2","BentoAlertTypeOption","BentoAlertTypeOption2","BentoAlertEvent","BentoAlertEvent2","uuid","_hoisted_2$1","_hoisted_3$1","openBlock","createElementBlock","mergeProps","_ctx","createCommentVNode","__default__","messages","slots","useSlots","hasSlot","useHasSlot","emit","__emit","props","__props","t","useI18n","isTipVariant","computed","alertConditionalClasses","iconSvgTitle","iconComponent","CrossCircleFillIcon","CheckmarkCircleFillIcon","WarningFilledIcon","Info","descriptionTypography","BentoTypographyElement","BentoTypographyVariant","computedRole","onCloseButtonClick","onMounted"],"mappings":";;;;;;;;;;;;AAGO,IAAAA,IAAA,kBAAAC,OACHA,EAAA,UAAA,WACAA,EAAA,MAAA,OAFQA,IAAAD,KAAA,CAAA,CAAA,GAQLE,IAAA,kBAAAC,OACHA,EAAA,UAAA,WACAA,EAAA,WAAA,YACAA,EAAA,YAAA,aACAA,EAAA,UAAA,WAJQA,IAAAD,KAAA,CAAA,CAAA,GAULE,IAAA,kBAAAC,OACHA,EAAA,cAAA,eADQA,IAAAD,KAAA,CAAA,CAAA;ACdR,IAAAE,IAAA;;EAGI,eAAA;8BAEIA,KAAA;AAAA;mBAZZC,IAAA,CAAA,WAAA,GAAAC,IAAA,CAAA,IAAA;;AAEI,SAAAC,EAAA,GAAAC,EAAA,OAAAC,EAAA,EAAA,MAAA,MAAA,GAAAC,EAAA,QAAA;AAAA,IAAgC,OAAA;AAAA,IAA2B,OAAA;AAAA,IAAmC,OAAA;AAAA,IAAW,QAAA;AAAA,IAAY,MAAA;AAAA;gFAFzHC,EAAA,IAAA,EAAA;AAAA;MAE4M,aAAA,+CAAAD,EAAA,OAAA;AAAA;;QAA4E,MAAA;AAAA,QAAe,aAAA;AAAA,QAAoB,GAAA;AAAA,QAAwyE,aAAA;AAAA;IAFnmF,IAAA,GAAAL,CAAA;AAAA;;QAE6oF,IAAA,0CAAAK,EAAA;AAAA;;UAA0D,OAAA;AAAA,UAAW,QAAA;AAAA,UAAY,MAAA;AAAA;MAF9tF,IAAA,GAAAJ,CAAA;AAAA;;;;;;;;;;;;;;;;;;GCqKIM,KAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAAA,EACM,MAAA;AAErB;;;;;;;;;AApGA,UAAAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,GAOAC,IAAAC,GA0BA,EAAA,GAAAC,EAAA,IAAAC,EAAA,EAAA,UAAAV,EAAA,CAAA,GAEAW,IAAAC,EAAA,MAAAL,EAAA,YAAAtB,EAAA,GAAA,GAEA4B,IAAAD,EAAA,OAAA;AAAA,MAAgD,CAAA,YAAAL,EAAA,IAAA,EAAA,GAAAA,EAAA;AAAA,MACV,CAAA,YAAAtB,EAAA,GAAA,EAAA,GAAA0B,EAAA;AAAA,IACkB,EAAA,GAGxDG,IAAAF,EAAA,MAAAH,EAAA,GAAAF,EAAA,IAAA,MAAA,CAAA,GAEAQ,IAAAH,EAAA,MAAA;AACI,cAAAL,EAAA,MAAA;AAAA,QAAoB,KAAApB,EAAA;AAEZ,iBAAA6B;AAAA,QAAO,KAAA7B,EAAA;AAEP,iBAAA8B;AAAA,QAAO,KAAA9B,EAAA;AAEP,iBAAA+B;AAAA,QAAO,KAAA/B,EAAA;AAAA,QACe;AAEtB,iBAAAgC;AAAA,MAAO;AAAA,IACf,CAAA,GAGJC,IAAAR,EAAA,OAAA;AAAA,MAA8C,IAAAS,EAAA;AAAA,MACf,SAAAV,EAAA,QAAAW,EAAA,UAAAA,EAAA;AAAA,MAC2D,MAAA;AAAA,IAChF,EAAA,GAGVC,IAAAX,EAAA,MAAAL,EAAA,SAAApB,EAAA,YAAA,WAAA,OAAA,GAEAqC,IAAA,MAAA;AACI,MAAAnB,EAAAhB,EAAA,WAAA;AAAA,IAAgC;AAGpC,WAAAoC,EAAA,MAAA;AACI,UAAA,CAAAxB,EAAA,WAAA,CAAAA,EAAA;AACI,cAAA,IAAA,MAAA,mDAAA;AAAA,IACJ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-modal.BxcS7Pao.js","sources":["../../../vue2/src/components/modal/modal.types.ts","../../../vue2/src/components/modal/modal.keys.ts","../../../vue2/src/components/modal/components/modal-page/modal-page.vue","../../../vue2/src/components/modal/components/base-modal/base-modal.vue"],"sourcesContent":["import { type ComputedRef, type Ref } from 'vue';\n\n/**\n * Public\n */\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariant {\n DEFAULT = 'default',\n DIALOG = 'dialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalVariantMapping {\n DEFAULT = 'BentoModalDefault',\n DIALOG = 'BentoModalDialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalColumnLayoutVariant {\n SMALLER = 'smaller',\n EQUAL = 'equal',\n BIGGER = 'bigger',\n}\n\nexport enum BentoModalRole {\n DIALOG = 'dialog',\n ALERT_DIALOG = 'alertdialog',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoModalDialogType {\n CONFIRMATION = 'confirmation',\n DESTRUCTIVE = 'destructive',\n INFO = 'info',\n ACKNOWLEDGEMENT = 'acknowledgement',\n}\n\nexport enum BentoModalEvent {\n CLOSE_MODAL = 'close-modal',\n}\n\n/**\n * Private\n */\nexport interface BentoModalConfigData {\n activePage: Ref<string>;\n height: Ref<string>;\n isAnimationActive: Ref<boolean>;\n pageCustomPadding: Ref<string>;\n showCloseButton: ComputedRef<boolean>;\n size: Ref<BentoModalSize | `${BentoModalSize}`>;\n}\n","export const MODAL_CONFIG_INJECTION_KEY = Symbol('modal config data injection key');\n","<template>\n <dialog-page\n ref=\"page\"\n class=\"b-modal-page\"\n :class=\"modalPageConditionalClasses\"\n :page-id=\"pageId\"\n :always-show-border=\"hasColumnLayout\"\n :back-button-styling=\"customPaddingStyles?.backButton\"\n :previous-page=\"previousPage\"\n @animationend=\"isAnimationActive = false\"\n >\n <template v-if=\"hasSlot('default') || showCloseButton\" #header>\n <div class=\"b-modal-page__header-container\" :style=\"customPaddingStyles.header\">\n <div class=\"b-modal-page__header\">\n <bento-typography class=\"b-modal-page__title\" el=\"span\" variant=\"title\" stronger>\n <slot v-if=\"hasSlot('default')\" />\n </bento-typography>\n </div>\n </div>\n </template>\n\n <template #content>\n <div\n class=\"b-modal-page__content\"\n :class=\"modalContentConditionalClasses\"\n :style=\"customPaddingStyles.content\"\n >\n <bento-typography\n v-if=\"hasSlot('content') || (hasSlot('content-col-1') && hasSlot('content-col-2'))\"\n el=\"div\"\n >\n <grid-layout\n v-if=\"hasColumnLayout\"\n :column-width=\"computedColumnWidth\"\n :container-type=\"GridLayoutContainerType.NORMAL\"\n no-gap\n class=\"b-modal-page__grid\"\n >\n <template #col-1><slot name=\"content-col-1\"></slot></template>\n <template #col-2><slot name=\"content-col-2\"></slot></template>\n </grid-layout>\n <slot v-else name=\"content\" />\n </bento-typography>\n </div>\n </template>\n <template v-if=\"hasSlot('actions')\" #footer>\n <div class=\"b-modal-page__actions-container\" :style=\"customPaddingStyles.actions\">\n <div aria-label=\"modal actions\" class=\"b-modal-page__actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n </template>\n <template v-else-if=\"actions && actions.length > 0\" #footer>\n <div class=\"b-modal-page__actions-container\" :style=\"customPaddingStyles.actions\">\n <footer-actions\n :actions=\"actions\"\n :actions-label=\"actionsLabel\"\n :destructive-actions=\"destructiveActions\"\n />\n </div>\n </template>\n </dialog-page>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, inject, nextTick, onUnmounted, ref, useSlots, watch } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n type BentoModalConfigData,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoTypography } from '@/components/typography';\n import { GridLayout, GridLayoutContainerType } from '@/internal';\n import { useHasSlot } from '@/composables';\n\n import { FooterActions } from '@/components/internal/footer-actions';\n\n import DialogPage from '@/internal/dialog-page/dialog-page.vue';\n import { MODAL_CONFIG_INJECTION_KEY } from '../../modal.keys';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import type { BentoModalPageProps } from './modal-page.types';\n\n const CLOSE_BUTTON_ICON_WIDTH = 26;\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const page = ref<InstanceType<typeof DialogPage>>(null);\n\n const props = withDefaults(defineProps<BentoModalPageProps>(), {\n actions: null,\n actionsLabel: null,\n columnsSize: BentoModalColumnLayoutVariant.SMALLER,\n customPadding: null,\n destructiveActions: false,\n withColumnLayout: false,\n pageId: undefined,\n previousPage: undefined,\n });\n\n const modalPageConditionalClasses = computed(() => ({\n 'b-modal-page--custom-padding': props.customPadding,\n }));\n\n const modalContentConditionalClasses = computed(() => ({\n 'b-modal-page__content--with-header': hasSlot('default'),\n 'b-modal-page__content--with-actions': hasSlot('actions') || props.actions?.length,\n }));\n\n // Setting custom padding styles\n const customPaddingStyles = computed(() => {\n if (!props.customPadding) {\n return {};\n }\n\n const xPadding = {\n paddingLeft: props.customPadding,\n paddingRight: props.customPadding,\n };\n\n const content = { ...xPadding, paddingTop: undefined, paddingBottom: undefined };\n\n if (!hasSlot('default')) {\n content.paddingTop = props.customPadding;\n }\n\n if (!hasSlot('actions')) {\n content.paddingBottom = props.customPadding;\n }\n\n return {\n header: {\n ...xPadding,\n paddingTop: props.customPadding,\n paddingRight: `${parseInt(props.customPadding, 10) + CLOSE_BUTTON_ICON_WIDTH}px`,\n flex: 1,\n },\n content,\n actions: { ...xPadding, paddingBottom: props.customPadding },\n backButton: { top: props.customPadding, paddingLeft: props.customPadding },\n };\n });\n\n // Column layout styles\n const hasColumnLayout = computed(() => props.withColumnLayout && size.value === BentoModalSize.LARGE);\n\n const computedColumnWidth = computed(() => {\n if (props.columnsSize === BentoModalColumnLayoutVariant.SMALLER) {\n return [\n { small: 4, medium: 4, large: 4 },\n { small: 8, medium: 8, large: 8 },\n ];\n }\n if (props.columnsSize === BentoModalColumnLayoutVariant.BIGGER) {\n return [\n { small: 8, medium: 8, large: 8 },\n { small: 4, medium: 4, large: 4 },\n ];\n }\n return [\n { small: 6, medium: 6, large: 6 },\n { small: 6, medium: 6, large: 6 },\n ];\n });\n\n // Register page to parent component and inject data from parent component\n const { activePage, height, isAnimationActive, pageCustomPadding, showCloseButton, size } =\n inject<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY);\n\n const isCurrentPage = computed(() => activePage.value === props.pageId || !activePage.value);\n\n // Animation\n // Set resize observer on mount of update the height of the dialog on resize\n let pageElementObserver: ResizeObserver | null = null;\n\n // Watching activePage changes to set the height of the page and set isAnimationActive\n watch(\n () => activePage.value,\n async (value, oldValue) => {\n if (isCurrentPage.value) {\n await nextTick();\n height.value = `${page.value?.$el?.clientHeight}px`;\n pageCustomPadding.value = props.customPadding;\n // only set isAnimationActive to true if its going from two different pages and not from null to the first page\n isAnimationActive.value = oldValue !== undefined;\n\n pageElementObserver = observeSizeOfElement(page.value, () => {\n const pageHeight = `${page.value?.$el?.clientHeight}px`;\n if (pageHeight && pageHeight !== height.value) {\n height.value = pageHeight;\n }\n });\n }\n },\n { immediate: true }\n );\n\n // Disconnect observer on unmounting the page\n onUnmounted(() => {\n pageElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * ModalPage is used to render different pages of the Modal component\n *\n * @example\n * import { BentoModal, BentoModalPage } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoModal, BentoModalPage },\n * template: `\n * <bento-modal active-page='page1' :is-open='true'>\n * <bento-modal-page\n * pageId='page1'\n * actions-label='Move to next page'\n * :actions=\"[\n * {\n * title: 'Next page',\n * event: () => {\n * activePage.value = 'page2';\n * },\n * }]\">\n * Page 1\n * <template #content>\n * Page 1 content\n * </template>\n * </bento-modal-page>\n * <bento-modal-page\n * pageId='page2'\n * :actions=\"[\n * {\n * title: 'Save',\n * event: () => {},\n * }]\">\n * Page 2\n * <template #content>\n * Page 2 content\n * </template>\n * </bento-modal-page>\n * </bento-modal>\n * `\n * }\n */\n export default defineComponent({});\n</script>\n\n<style lang=\"scss\" scoped src=\"./modal-page.scss\" />\n","<template>\n <div class=\"b-modal-base\">\n <dialog\n ref=\"modal\"\n :role=\"modalRole\"\n :aria-label=\"computedAriaLabel\"\n :style=\"{ height: height }\"\n class=\"b-modal-base__container\"\n :class=\"modalConditionalClasses\"\n :open=\"initiallyOpen\"\n @animationend=\"closeModalAfterAnimation\"\n @keydown.esc=\"internalModalActionClose\"\n >\n <bento-focus-trap\n v-if=\"isOpen || initiallyOpen\"\n :id=\"modalId\"\n v-bento-click-outside-directive=\"closeModalOnClickOutside\"\n >\n <bento-button\n v-if=\"showCloseButton\"\n class=\"b-modal-base__close-button\"\n variant=\"tertiary\"\n type=\"button\"\n :style=\"customPaddingStyles\"\n @click=\"internalModalActionClose\"\n >\n <cross-icon :svg-title=\"t('close')\" />\n </bento-button>\n <template v-if=\"props.activePage\">\n <slot />\n </template>\n <bento-modal-page\n v-else\n :with-column-layout=\"withColumnLayout\"\n :size=\"size\"\n :custom-padding=\"customPadding\"\n :columns-size=\"columnsSize\"\n >\n <template v-if=\"hasSlot('default')\" #default>\n <slot></slot>\n </template>\n <template v-if=\"hasSlot('content-col-1')\" #content-col-1\n ><slot name=\"content-col-1\"></slot\n ></template>\n <template v-if=\"hasSlot('content-col-2')\" #content-col-2\n ><slot name=\"content-col-2\"></slot\n ></template>\n <template v-if=\"hasSlot('content')\" #content><slot name=\"content\"></slot></template>\n <template v-if=\"hasSlot('actions')\" #actions><slot name=\"actions\"></slot></template>\n </bento-modal-page>\n </bento-focus-trap>\n </dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {\n computed,\n defineComponent,\n onMounted,\n type PropType,\n provide,\n ref,\n toRefs,\n useAttrs,\n useSlots,\n watch,\n } from 'vue';\n import {\n BentoModalColumnLayoutVariant,\n type BentoModalConfigData,\n BentoModalRole,\n BentoModalSize,\n } from '@/components/modal/modal.types';\n import { BentoButton, type BentoButtonActionsList } from '@/components/button';\n import { BentoFocusTrap } from '@/components/focus-trap';\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import { MODAL_DIALOG_ID_INJECTION_KEY } from '@/components/modal/components/base-modal/base-modal.keys';\n import { generateUid } from '@/core/utils/ts';\n import { BentoClickOutsideDirective as vBentoClickOutsideDirective } from '@/directives/click-outside';\n import messages from './messages.json';\n\n import { BentoModalPage } from '@/components/modal/components/modal-page';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n\n import { MODAL_CONFIG_INJECTION_KEY } from '../../modal.keys';\n import {\n BentoDialogPageAnimation,\n type BentoDialogPageConfigData,\n type BentoDialogPageRegisterPage,\n DIALOG_PAGE_CONFIG_INJECTION_KEY,\n DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY,\n } from '@/internal';\n\n type MessageSchema = (typeof messages)['en-US'];\n const LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME = 500;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const slots = useSlots();\n const attrs = useAttrs();\n const hasSlot = useHasSlot(slots);\n const modal = ref<HTMLDialogElement>(null);\n const isClosing = ref(false);\n const modalId = generateUid('modal');\n\n const emit = defineEmits<{\n /**\n * Emits update event when page is changed internally\n */\n (e: 'update:active-page', page: string): void;\n /**\n * Emitted when the modal is closed.\n */\n (e: 'close-modal');\n }>();\n\n const props = defineProps({\n /**\n * List of actions that will be used to render the buttons.\n * First element in the list will be rendered as \"primary\".\n * All elements after the first will be rendered as \"secondary\".\n * But you may change the color of 1-st action to red with 'critial' key\n * Not more than 3 action buttons can be provided\n * Or 2 action buttons and 1 Label for them\n *\n * Each object in the list should have a `title`, an `event` and\n * (optional) a Vue `icon` from the library `@adyen/ui-assets-icons-16`.\n *\n * `title`: Button's text.\n *\n * `event`: Event triggered when clicking the Button.\n *\n * `icon`: Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * ```\n * [{\n * title: 'Primary',2\n * event: () => { ... },\n * icon: FourPeopleIcon\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * }]\n * ```\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: null,\n },\n\n /**\n * The id of the current active page\n * Should be the same id as the BentoModalPage to be displayed\n */\n activePage: {\n type: String,\n default: null,\n },\n\n /**\n * If a column layout is provided, it renders the respective left column width variant. This can be smaller than the second column, the same size as the second column or bigger than the second column.\n */\n columnsSize: {\n type: String as PropType<BentoModalColumnLayoutVariant>,\n default: BentoModalColumnLayoutVariant.SMALLER,\n },\n\n /**\n * If provided, manages the padding of the whole modal container\n */\n customPadding: { type: String, default: null },\n\n /**\n * If passed - sets first button color to red\n */\n destructiveActions: { type: Boolean, default: false },\n\n /**\n * Hides a cross icon on the right side of the title\n */\n hideCloseButton: { type: Boolean, required: true },\n\n /**\n * Sets the open attribute on the dialog element, use isOpen instead to toggle modal visbility.\n */\n initiallyOpen: { type: Boolean, default: false },\n\n /**\n * If set to true, it allows the modal to be closed by clicking outside of it\n */\n isDismissible: { type: Boolean, required: true },\n\n /**\n * Controls the modal's state from the outside. Set it to true to open the modal\n */\n isOpen: { type: Boolean, required: true },\n\n /**\n * Defines whether the modal will be an alert modal\n */\n modalRole: { type: String, default: BentoModalRole.DIALOG },\n\n /**\n * Sets the width of the modal\n */\n size: {\n type: String as PropType<BentoModalSize | `${BentoModalSize}`>,\n default: BentoModalSize.SMALL,\n },\n\n /**\n * If provided, renders the modal's content in a two-column layout an wth dividers separating its content\n */\n withColumnLayout: { type: Boolean, default: false },\n });\n\n const showCloseButton = computed(() => props.isDismissible && !props.hideCloseButton);\n\n const pageCustomPadding = ref(props.customPadding);\n\n const customPaddingStyles = computed(() => {\n if (!pageCustomPadding.value) {\n return {};\n }\n\n return { top: pageCustomPadding.value, right: pageCustomPadding.value };\n });\n\n const computedAriaLabel = computed(() => (attrs['aria-label'] as string) ?? (t('ariaLabelFallback') as string));\n const hasColumnLayout = computed(() => props.withColumnLayout && props.size === BentoModalSize.LARGE);\n\n const openModal = (): void => {\n modal.value.showModal();\n };\n\n const emitCloseEvent = (): void => {\n emit('close-modal');\n };\n\n // Handle closing and closing animation for dialog element\n const closeModalAfterAnimation = () => {\n if (isClosing.value && modal.value) {\n modal.value.close();\n if (previousPages.value[0]) {\n emit('update:active-page', previousPages.value[0]);\n }\n previousPages.value = [];\n isClosing.value = false;\n emitCloseEvent();\n }\n };\n\n const startCloseModalAnimation = () => {\n if (!modal.value.open) {\n return;\n }\n isClosing.value = true;\n };\n\n /**\n * If the user has pressed escape, clicked outside or clicked the close icon.\n * Needs to be called from outside, following the \"dialog.close()\" pattern,\n * when the closing event is triggered outside of the \"base-modal\"\n * component (e.g. from a closing action).\n */\n const internalModalActionClose = (event?: Event) => {\n if (event) {\n event.preventDefault();\n }\n if (!props.isDismissible && props.modalRole === BentoModalRole.DIALOG) {\n return;\n }\n startCloseModalAnimation();\n };\n\n const closeModalOnClickOutside = () => {\n if (props.isDismissible) {\n internalModalActionClose();\n }\n };\n\n const modalConditionalClasses = computed(() => ({\n [`b-modal-base__container--${props.size}`]: props.size,\n 'b-modal-base__container--hide': isClosing.value,\n 'b-modal-base__container--column-layout': hasColumnLayout.value,\n 'b-modal-base__container--animation': isAnimationActive.value,\n }));\n\n watch(\n () => [props.isOpen, modal.value],\n ([newIsOpen, newModalValue], [, oldModalValue]): void => {\n if (!newModalValue) {\n return;\n }\n\n const isFirstMutation = !oldModalValue;\n if (newIsOpen) {\n openModal();\n // add the first page to the array when the modal opens\n if (!previousPages.value.length) {\n previousPages.value.push(activePage.value);\n }\n } else if (!isFirstMutation) {\n startCloseModalAnimation();\n }\n }\n );\n\n // If the first button is a loading button then close the modal have 0.5 seconds\n // if the state is changed to 'success'.\n watch(\n () => props.actions,\n () => {\n if (props.actions?.[0]?.state === 'success') {\n setTimeout(startCloseModalAnimation, LOADING_BTN_CLOSE_AFTER_SUCCESS_DELAY_TIME);\n }\n },\n { deep: true }\n );\n\n onMounted(() => {\n if (props.isOpen && modal.value) {\n openModal();\n }\n });\n\n /**\n * Expose methods through its 'ref'\n */\n defineExpose({\n internalModalActionClose,\n });\n\n // Let's Children components know they are inside a Modal (dialog element)\n provide(MODAL_DIALOG_ID_INJECTION_KEY, modalId);\n\n // Modal pagination\n const { activePage, isOpen, size } = toRefs(props);\n const animation = ref(BentoDialogPageAnimation.TRANSITION_LEVEL_DEEPER);\n\n const pages = ref<Array<string>>([]);\n const previousPages = ref([]);\n\n const updatePage = page => emit('update:active-page', page);\n\n // unregister page if removed / destroyed\n const unregisterPage = (pageIdToRemove: string) => () => {\n pages.value = pages.value?.filter(pageId => pageId !== pageIdToRemove);\n };\n\n // Provide data and function to register page to subcomponent\n const registerPage: BentoDialogPageRegisterPage = pageId => {\n if (pageId) {\n pages.value.push(pageId);\n }\n\n return { unregisterPage: unregisterPage(pageId) };\n };\n\n const height = ref('');\n const isAnimationActive = ref(false);\n\n provide<BentoModalConfigData>(MODAL_CONFIG_INJECTION_KEY, {\n activePage,\n height,\n isAnimationActive,\n pageCustomPadding,\n showCloseButton,\n size,\n });\n\n provide<BentoDialogPageConfigData>(DIALOG_PAGE_CONFIG_INJECTION_KEY, {\n activePage,\n animation,\n isOpen,\n pages,\n previousPages,\n updatePage,\n });\n\n provide(DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY, registerPage);\n</script>\n\n<script lang=\"ts\">\n /**\n * Dialog container. It creates a dialog HTML element for the modal to use.\n *\n * @example\n * import BaseModal from './components/base-modal/base-modal.vue';\n *\n * export default {\n * components: { BaseModal },\n * template: `\n * <base-modal\n * :hide-close-button=\"true\"\n * :is-dismissible=\"false\"\n * :is-open=\"isOpen\"\n * @close-modal=\"isOpen = false\"\n * >\n * <template #content-col-1>\n * // Content on the left side column\n * </template>\n *\n * <template #content-col-2>\n * // Content on the right side column\n * </template>\n *\n * <template v-if=\"actions\" #actions>\n * <footer-actions :actions=\"actions\" />\n * </template>\n * </base-modal>\n * `,\n * setup() {\n * const isOpen = ref(true)\n * const footerActions = [{\n * title: 'Primary action',\n * event: () => { ... }\n * }]\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'base-modal',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-modal.scss\" />\n"],"names":["BentoModalVariant","BentoModalVariant2","BentoModalVariantMapping","BentoModalVariantMapping2","BentoModalSize","BentoModalSize2","BentoModalColumnLayoutVariant","BentoModalColumnLayoutVariant2","BentoModalRole","BentoModalRole2","BentoModalDialogType","BentoModalDialogType2","BentoModalEvent","BentoModalEvent2","MODAL_CONFIG_INJECTION_KEY","__default__$1","defineComponent","slots","useSlots","hasSlot","useHasSlot","page","ref","props","__props","modalPageConditionalClasses","computed","modalContentConditionalClasses","customPaddingStyles","xPadding","content","hasColumnLayout","size","computedColumnWidth","activePage","height","isAnimationActive","pageCustomPadding","showCloseButton","inject","isCurrentPage","pageElementObserver","watch","value","oldValue","nextTick","observeSizeOfElement","pageHeight","onUnmounted","__default__","messages","t","useI18n","attrs","useAttrs","modal","isClosing","modalId","generateUid","emit","__emit","computedAriaLabel","openModal","emitCloseEvent","closeModalAfterAnimation","previousPages","startCloseModalAnimation","internalModalActionClose","event","closeModalOnClickOutside","modalConditionalClasses","newIsOpen","newModalValue","oldModalValue","onMounted","__expose","provide","MODAL_DIALOG_ID_INJECTION_KEY","isOpen","toRefs","animation","BentoDialogPageAnimation","pages","updatePage","unregisterPage","pageIdToRemove","pageId","registerPage","DIALOG_PAGE_CONFIG_INJECTION_KEY","DIALOG_PAGE_REGISTER_PAGE_INJECTION_KEY"],"mappings":"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"}