rebill-web-components-sdk 1.8.33 → 1.8.34-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/apm-checkout_19.cjs.entry.js +12 -12
- package/dist/cjs/card-identification_5.cjs.entry.js +8 -8
- package/dist/cjs/collapsible-card.cjs.entry.js +1 -1
- package/dist/cjs/discount-coupon.rebill-divider.entry.cjs.js.map +1 -0
- package/dist/cjs/discount-coupon_2.cjs.entry.js +157 -0
- package/dist/cjs/index-C-VTnc0I.js.map +1 -1
- package/dist/cjs/input-otp.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/organization-logo_4.cjs.entry.js +3 -3
- package/dist/cjs/otp-component_7.cjs.entry.js +8 -8
- package/dist/cjs/rebill-alert.cjs.entry.js +2 -2
- package/dist/cjs/rebill-card-carousel.cjs.entry.js +1 -1
- package/dist/cjs/rebill-card.cjs.entry.js +1 -1
- package/dist/cjs/rebill-container_2.cjs.entry.js +2 -2
- package/dist/cjs/rebill-flex-container.cjs.entry.js +1 -1
- package/dist/cjs/rebill-form.cjs.entry.js +1 -1
- package/dist/cjs/rebill-grid-container.cjs.entry.js +1 -1
- package/dist/cjs/rebill-input-select.cjs.entry.js +2 -2
- package/dist/cjs/rebill-input-text.cjs.entry.js +2 -2
- package/dist/cjs/rebill-renewal.cjs.entry.js +2 -2
- package/dist/cjs/rebill-renewal.entry.cjs.js.map +1 -1
- package/dist/cjs/rebill-timeline-debit-day.rebill-timeline-free-trial.entry.cjs.js.map +1 -0
- package/dist/cjs/{discount-coupon_3.cjs.entry.js → rebill-timeline-debit-day_2.cjs.entry.js} +3 -117
- package/dist/cjs/rebill-vertical-divider.cjs.entry.js +1 -1
- package/dist/cjs/rebill-web-components-sdk.cjs.js +1 -1
- package/dist/cjs/renewal-success-page.renewal-summary.entry.cjs.js.map +1 -1
- package/dist/cjs/renewal-success-page_2.cjs.entry.js +41 -13
- package/dist/cjs/{renewal.store-C9AesGY1.js → renewal.store-BaH9Id4E.js} +5 -2
- package/dist/cjs/renewal.store-BaH9Id4E.js.map +1 -0
- package/dist/cjs/root-component.cjs.entry.js +1 -1
- package/dist/collection/components/checkout/discount-coupon/discount-coupon.css +4 -0
- package/dist/collection/components/checkout/discount-coupon/discount-coupon.js +104 -4
- package/dist/collection/components/checkout/discount-coupon/discount-coupon.js.map +1 -1
- package/dist/collection/components/checkout/otp/otp.js +4 -4
- package/dist/collection/components/checkout/payment-method-selector/card-fields/card-fields-wrapper.js +2 -2
- package/dist/collection/components/checkout/payment-method-selector/card-fields/identification/identification.js +1 -1
- package/dist/collection/components/checkout/payment-method-selector/card-fields/iframe/CardIframe.js +2 -2
- package/dist/collection/components/checkout/payment-method-selector/card-fields/iframe/skeleton/CardSkeleton.js +1 -1
- package/dist/collection/components/checkout/payment-method-selector/card-fields/installments/installments.js +2 -2
- package/dist/collection/components/checkout/rebill-footer/rebill-footer.css +1 -1
- package/dist/collection/components/checkout/rebill-footer/rebill-footer.js +1 -1
- package/dist/collection/components/checkout/user-information/user-information-phone.js +1 -1
- package/dist/collection/components/checkout/user-information/user-information.js +3 -3
- package/dist/collection/components/renewal/rebill-renewal.js +1 -1
- package/dist/collection/components/renewal/rebill-renewal.js.map +1 -1
- package/dist/collection/components/renewal/renewal-success-page/renewal-success-page.js +2 -2
- package/dist/collection/components/renewal/renewal-summary/renewal-summary.js +101 -16
- package/dist/collection/components/renewal/renewal-summary/renewal-summary.js.map +1 -1
- package/dist/collection/components/root-component/root-component.js +1 -1
- package/dist/collection/components/shared/alert/alert.js +2 -2
- package/dist/collection/components/shared/card/card.js +1 -1
- package/dist/collection/components/shared/card-carousel/card-carousel.js +1 -1
- package/dist/collection/components/shared/collapsible-card/collapsible-card.js +1 -1
- package/dist/collection/components/shared/divider/divider.js +1 -1
- package/dist/collection/components/shared/divider/vertical-divider.js +1 -1
- package/dist/collection/components/shared/form/form.js +1 -1
- package/dist/collection/components/shared/inputs/input-checkbox/input-checkbox.js +1 -1
- package/dist/collection/components/shared/inputs/input-combo/input-combo.js +1 -1
- package/dist/collection/components/shared/inputs/input-otp/input-otp.js +2 -2
- package/dist/collection/components/shared/inputs/input-phone/input-phone.js +2 -2
- package/dist/collection/components/shared/inputs/input-select/input-select.js +2 -2
- package/dist/collection/components/shared/inputs/input-text/input-text.js +2 -2
- package/dist/collection/components/shared/layouts/custom/single-column/checkout-single-column.js +1 -1
- package/dist/collection/components/shared/layouts/generics/container.js +1 -1
- package/dist/collection/components/shared/layouts/generics/flex.js +1 -1
- package/dist/collection/components/shared/layouts/generics/grid.js +1 -1
- package/dist/collection/components/shared/mode-sandbox/mode-sandbox-mobile.js +1 -1
- package/dist/collection/components/shared/selectable-card/selectable-card.js +2 -2
- package/dist/collection/components/shared/singlePaymentMethod/singlePaymentMethod.js +4 -4
- package/dist/collection/components/shared/timeline/timeline-debit-day.js +1 -1
- package/dist/collection/components/shared/timeline/timeline-free-trial.js +1 -1
- package/dist/collection/models/renewal.model.js.map +1 -1
- package/dist/collection/store/renewal.store.js +3 -0
- package/dist/collection/store/renewal.store.js.map +1 -1
- package/dist/components/apm-checkout.js +1 -1
- package/dist/components/bank-transfer.js +1 -1
- package/dist/components/card-fields-wrapper.js +1 -1
- package/dist/components/card-identification.js +1 -1
- package/dist/components/card-iframe.js +1 -1
- package/dist/components/card-skeleton.js +1 -1
- package/dist/components/collapsible-card.js +1 -1
- package/dist/components/discount-coupon.js +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/otp-component.js +1 -1
- package/dist/components/{p-BbLfqjb0.js → p-3K2fnS0h.js} +5 -5
- package/dist/components/{p-BbLfqjb0.js.map → p-3K2fnS0h.js.map} +1 -1
- package/dist/components/p-8BpuJ_V5.js.map +1 -1
- package/dist/components/{p-Dm2xJSTe.js → p-B0QvmxUI.js} +3 -3
- package/dist/components/{p-Dm2xJSTe.js.map → p-B0QvmxUI.js.map} +1 -1
- package/dist/components/{p-CYhj6VLQ.js → p-B544NesK.js} +4 -4
- package/dist/components/{p-CYhj6VLQ.js.map → p-B544NesK.js.map} +1 -1
- package/dist/components/{p-mA3Sj5fj.js → p-B7uE6iBd.js} +11 -11
- package/dist/components/{p-mA3Sj5fj.js.map → p-B7uE6iBd.js.map} +1 -1
- package/dist/components/{p-1ZvL9CLG.js → p-BLbS7nF7.js} +3 -3
- package/dist/components/{p-1ZvL9CLG.js.map → p-BLbS7nF7.js.map} +1 -1
- package/dist/components/{p-qI3t-gYu.js → p-BZYd-So1.js} +4 -4
- package/dist/components/{p-qI3t-gYu.js.map → p-BZYd-So1.js.map} +1 -1
- package/dist/components/{p-tTqPr5zM.js → p-BeVdyYff.js} +6 -6
- package/dist/components/{p-tTqPr5zM.js.map → p-BeVdyYff.js.map} +1 -1
- package/dist/components/{p-1I-sUD5D.js → p-BuNsfNGm.js} +6 -6
- package/dist/components/{p-1I-sUD5D.js.map → p-BuNsfNGm.js.map} +1 -1
- package/dist/components/{p-BV_MHtDc.js → p-C0LGxeng.js} +3 -3
- package/dist/components/{p-BV_MHtDc.js.map → p-C0LGxeng.js.map} +1 -1
- package/dist/components/{p-DvXuQN4U.js → p-CD0TNzOh.js} +12 -12
- package/dist/components/{p-DvXuQN4U.js.map → p-CD0TNzOh.js.map} +1 -1
- package/dist/components/{p-wjfhDzgd.js → p-CKYowY5T.js} +4 -4
- package/dist/components/{p-wjfhDzgd.js.map → p-CKYowY5T.js.map} +1 -1
- package/dist/components/{p-ChnuJbVe.js → p-C_S6-o9t.js} +10 -10
- package/dist/components/{p-ChnuJbVe.js.map → p-C_S6-o9t.js.map} +1 -1
- package/dist/components/{p-CKiwr2yo.js → p-CajUouzQ.js} +3 -3
- package/dist/components/{p-CKiwr2yo.js.map → p-CajUouzQ.js.map} +1 -1
- package/dist/components/{p-fEiok6NF.js → p-CfUbJq8-.js} +3 -3
- package/dist/components/{p-fEiok6NF.js.map → p-CfUbJq8-.js.map} +1 -1
- package/dist/components/{p-BWkW7_Hh.js → p-CisP549A.js} +36 -9
- package/dist/components/p-CisP549A.js.map +1 -0
- package/dist/components/{p-DiNW75Kd.js → p-CmYsenWG.js} +3 -3
- package/dist/components/{p-DiNW75Kd.js.map → p-CmYsenWG.js.map} +1 -1
- package/dist/components/{p-QzWBUSLD.js → p-CneaXzeq.js} +4 -4
- package/dist/components/{p-QzWBUSLD.js.map → p-CneaXzeq.js.map} +1 -1
- package/dist/components/{p-Di8WeTd9.js → p-CuX2faVH.js} +4 -4
- package/dist/components/{p-Di8WeTd9.js.map → p-CuX2faVH.js.map} +1 -1
- package/dist/components/{p-h8TZeiqt.js → p-D0AmEJnp.js} +6 -6
- package/dist/components/{p-h8TZeiqt.js.map → p-D0AmEJnp.js.map} +1 -1
- package/dist/components/{p-B1BCKuQ0.js → p-D1lAYXxG.js} +8 -8
- package/dist/components/{p-B1BCKuQ0.js.map → p-D1lAYXxG.js.map} +1 -1
- package/dist/components/{p-BnBTbmTe.js → p-DA0QxWuE.js} +4 -4
- package/dist/components/{p-BnBTbmTe.js.map → p-DA0QxWuE.js.map} +1 -1
- package/dist/components/{p-CpXk4UfE.js → p-DBi6K19S.js} +5 -5
- package/dist/components/{p-CpXk4UfE.js.map → p-DBi6K19S.js.map} +1 -1
- package/dist/components/{p-gj5jUg6C.js → p-DDp9qjAz.js} +3 -3
- package/dist/components/{p-gj5jUg6C.js.map → p-DDp9qjAz.js.map} +1 -1
- package/dist/components/{p-DlrQ_kVv.js → p-DIILFLsN.js} +5 -5
- package/dist/components/{p-DlrQ_kVv.js.map → p-DIILFLsN.js.map} +1 -1
- package/dist/components/{p-CNBrNMEa.js → p-DKn8wDv6.js} +3 -3
- package/dist/components/{p-CNBrNMEa.js.map → p-DKn8wDv6.js.map} +1 -1
- package/dist/components/{p-D6yu2OYw.js → p-DPUz_1Ev.js} +5 -5
- package/dist/components/{p-D6yu2OYw.js.map → p-DPUz_1Ev.js.map} +1 -1
- package/dist/components/{p-BL08tUBX.js → p-DRTzT9ks.js} +3 -3
- package/dist/components/{p-BL08tUBX.js.map → p-DRTzT9ks.js.map} +1 -1
- package/dist/components/{p-DSFlA7FF.js → p-DaS8xGPM.js} +5 -5
- package/dist/components/{p-DSFlA7FF.js.map → p-DaS8xGPM.js.map} +1 -1
- package/dist/components/{p-DZWQyp55.js → p-DgRM4z7g.js} +3 -3
- package/dist/components/{p-DZWQyp55.js.map → p-DgRM4z7g.js.map} +1 -1
- package/dist/components/{p-DU4kUISl.js → p-Dm8Dxmer.js} +5 -5
- package/dist/components/{p-DU4kUISl.js.map → p-Dm8Dxmer.js.map} +1 -1
- package/dist/components/{p-DrAiGSzG.js → p-Dp8EoajW.js} +3 -3
- package/dist/components/{p-DrAiGSzG.js.map → p-Dp8EoajW.js.map} +1 -1
- package/dist/components/{p-BX1_zmbg.js → p-DvV5MmYi.js} +5 -5
- package/dist/components/{p-BX1_zmbg.js.map → p-DvV5MmYi.js.map} +1 -1
- package/dist/components/{p-4hVDutj0.js → p-DzdUnkvh.js} +3 -3
- package/dist/components/{p-4hVDutj0.js.map → p-DzdUnkvh.js.map} +1 -1
- package/dist/components/{p-D3QILlvg.js → p-HzmATjhQ.js} +5 -5
- package/dist/components/p-HzmATjhQ.js.map +1 -0
- package/dist/components/{p-CVtNCEPd.js → p-PBF27XTU.js} +3 -3
- package/dist/components/{p-CVtNCEPd.js.map → p-PBF27XTU.js.map} +1 -1
- package/dist/components/{p-BmjU_TBT.js → p-QTa3HvQl.js} +3 -3
- package/dist/components/{p-BmjU_TBT.js.map → p-QTa3HvQl.js.map} +1 -1
- package/dist/components/{p-WQJ1HwUp.js → p-dgrAtFYi.js} +6 -6
- package/dist/components/{p-WQJ1HwUp.js.map → p-dgrAtFYi.js.map} +1 -1
- package/dist/components/{p-RGadlsa-.js → p-hpg1lOUJ.js} +5 -2
- package/dist/components/p-hpg1lOUJ.js.map +1 -0
- package/dist/components/{p-D4oYYfeG.js → p-nkv8Z87a.js} +8 -8
- package/dist/components/{p-D4oYYfeG.js.map → p-nkv8Z87a.js.map} +1 -1
- package/dist/components/{p-dtookouT.js → p-nvpvagPB.js} +7 -7
- package/dist/components/{p-dtookouT.js.map → p-nvpvagPB.js.map} +1 -1
- package/dist/components/{p-B-Wxp2_p.js → p-oE_0ElW3.js} +69 -20
- package/dist/components/p-oE_0ElW3.js.map +1 -0
- package/dist/components/{p-CKZvdOpK.js → p-qDaQOriJ.js} +4 -4
- package/dist/components/{p-CKZvdOpK.js.map → p-qDaQOriJ.js.map} +1 -1
- package/dist/components/{p-lfUd06gm.js → p-rnhSIhil.js} +3 -3
- package/dist/components/{p-lfUd06gm.js.map → p-rnhSIhil.js.map} +1 -1
- package/dist/components/{p-Dr1acigj.js → p-xNgCL9nV.js} +4 -4
- package/dist/components/{p-Dr1acigj.js.map → p-xNgCL9nV.js.map} +1 -1
- package/dist/components/payment-method-selector.js +1 -1
- package/dist/components/qr-code.js +1 -1
- package/dist/components/rebill-address-form.js +1 -1
- package/dist/components/rebill-address-search.js +1 -1
- package/dist/components/rebill-address.js +1 -1
- package/dist/components/rebill-alert.js +1 -1
- package/dist/components/rebill-bank-selector.js +1 -1
- package/dist/components/rebill-card-carousel.js +1 -1
- package/dist/components/rebill-card.js +1 -1
- package/dist/components/rebill-checkout-form.js +1 -1
- package/dist/components/rebill-checkout-single-column.js +1 -1
- package/dist/components/rebill-checkout.js +39 -39
- package/dist/components/rebill-container.js +1 -1
- package/dist/components/rebill-divider.js +1 -1
- package/dist/components/rebill-flex-container.js +1 -1
- package/dist/components/rebill-footer.js +1 -1
- package/dist/components/rebill-form.js +1 -1
- package/dist/components/rebill-grid-container.js +1 -1
- package/dist/components/rebill-input-checkbox.js +1 -1
- package/dist/components/rebill-input-combo.js +1 -1
- package/dist/components/rebill-input-phone.js +1 -1
- package/dist/components/rebill-input-select.js +1 -1
- package/dist/components/rebill-input-text.js +1 -1
- package/dist/components/rebill-installments.js +1 -1
- package/dist/components/rebill-mode-sandbox-mobile.js +1 -1
- package/dist/components/rebill-processing-payment.js +1 -1
- package/dist/components/rebill-renewal.js +47 -41
- package/dist/components/rebill-renewal.js.map +1 -1
- package/dist/components/rebill-summary.js +1 -1
- package/dist/components/rebill-timeline-debit-day.js +1 -1
- package/dist/components/rebill-timeline-free-trial.js +1 -1
- package/dist/components/rebill-vertical-divider.js +1 -1
- package/dist/components/renewal-success-page.js +1 -1
- package/dist/components/renewal-summary.js +1 -1
- package/dist/components/root-component.js +6 -6
- package/dist/components/selectable-card.js +1 -1
- package/dist/components/single-payment-method.js +1 -1
- package/dist/components/success-page.js +1 -1
- package/dist/components/user-information-phone.js +1 -1
- package/dist/components/user-information.js +1 -1
- package/dist/esm/apm-checkout_19.entry.js +12 -12
- package/dist/esm/card-identification_5.entry.js +8 -8
- package/dist/esm/collapsible-card.entry.js +1 -1
- package/dist/esm/discount-coupon.rebill-divider.entry.js.map +1 -0
- package/dist/esm/discount-coupon_2.entry.js +154 -0
- package/dist/esm/index-D8cwEAmw.js.map +1 -1
- package/dist/esm/input-otp.entry.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.js.map +1 -1
- package/dist/esm/organization-logo_4.entry.js +3 -3
- package/dist/esm/otp-component_7.entry.js +8 -8
- package/dist/esm/rebill-alert.entry.js +2 -2
- package/dist/esm/rebill-card-carousel.entry.js +1 -1
- package/dist/esm/rebill-card.entry.js +1 -1
- package/dist/esm/rebill-container_2.entry.js +2 -2
- package/dist/esm/rebill-flex-container.entry.js +1 -1
- package/dist/esm/rebill-form.entry.js +1 -1
- package/dist/esm/rebill-grid-container.entry.js +1 -1
- package/dist/esm/rebill-input-select.entry.js +2 -2
- package/dist/esm/rebill-input-text.entry.js +2 -2
- package/dist/esm/rebill-renewal.entry.js +2 -2
- package/dist/esm/rebill-renewal.entry.js.map +1 -1
- package/dist/esm/rebill-timeline-debit-day.rebill-timeline-free-trial.entry.js.map +1 -0
- package/dist/esm/{discount-coupon_3.entry.js → rebill-timeline-debit-day_2.entry.js} +6 -119
- package/dist/esm/rebill-vertical-divider.entry.js +1 -1
- package/dist/esm/rebill-web-components-sdk.js +1 -1
- package/dist/esm/renewal-success-page.renewal-summary.entry.js.map +1 -1
- package/dist/esm/renewal-success-page_2.entry.js +41 -13
- package/dist/esm/{renewal.store-C6hSvhsF.js → renewal.store-vAxzxA8H.js} +5 -2
- package/dist/esm/renewal.store-vAxzxA8H.js.map +1 -0
- package/dist/esm/root-component.entry.js +1 -1
- package/dist/rebill-web-components-sdk/discount-coupon.rebill-divider.entry.esm.js.map +1 -0
- package/dist/rebill-web-components-sdk/organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/p-012e3770.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-012e3770.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/{p-1c3e7171.entry.js → p-0239917e.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-edb69e28.entry.js → p-1ac036d7.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-36a897c4.entry.js → p-1d7e392c.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-e5b0f2b9.entry.js → p-2ebb1d54.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-e8eadef6.entry.js → p-3a5bdb02.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-5df71605.entry.js → p-43924d1d.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-43924d1d.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/{p-9084f3ef.entry.js → p-47ee3edc.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-92de0c03.entry.js → p-508cc019.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-924e7ec2.entry.js → p-515e9e16.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-5ac0522d.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-821e1fed.entry.js → p-6089b208.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-63baba00.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-63baba00.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/{p-a0d6b0c0.entry.js → p-6ea98ccf.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-bc6f455d.entry.js → p-7287e0f0.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-26f12a67.entry.js → p-8c7f75c0.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-26f12a67.entry.js.map → p-8c7f75c0.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/p-D8cwEAmw.js.map +1 -1
- package/dist/rebill-web-components-sdk/{p-c8a5a137.entry.js → p-aa96087c.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-63020e78.entry.js → p-ad9a6685.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-7e94aec8.entry.js → p-e0a3f3a8.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-6334b899.entry.js → p-e242be38.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-e242be38.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/p-f672574a.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-nVuaISVM.js +2 -0
- package/dist/rebill-web-components-sdk/p-nVuaISVM.js.map +1 -0
- package/dist/rebill-web-components-sdk/rebill-renewal.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/rebill-timeline-debit-day.rebill-timeline-free-trial.entry.esm.js.map +1 -0
- package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
- package/dist/rebill-web-components-sdk/renewal-success-page.renewal-summary.entry.esm.js.map +1 -1
- package/dist/types/components/checkout/discount-coupon/discount-coupon.d.ts +5 -0
- package/dist/types/components/renewal/renewal-summary/renewal-summary.d.ts +12 -5
- package/dist/types/components.d.ts +24 -4
- package/dist/types/models/renewal.model.d.ts +3 -0
- package/package.json +1 -1
- package/dist/cjs/discount-coupon.rebill-timeline-debit-day.rebill-timeline-free-trial.entry.cjs.js.map +0 -1
- package/dist/cjs/rebill-divider.cjs.entry.js +0 -18
- package/dist/cjs/rebill-divider.entry.cjs.js.map +0 -1
- package/dist/cjs/renewal.store-C9AesGY1.js.map +0 -1
- package/dist/components/p-B-Wxp2_p.js.map +0 -1
- package/dist/components/p-BWkW7_Hh.js.map +0 -1
- package/dist/components/p-D3QILlvg.js.map +0 -1
- package/dist/components/p-RGadlsa-.js.map +0 -1
- package/dist/esm/discount-coupon.rebill-timeline-debit-day.rebill-timeline-free-trial.entry.js.map +0 -1
- package/dist/esm/rebill-divider.entry.js +0 -16
- package/dist/esm/rebill-divider.entry.js.map +0 -1
- package/dist/esm/renewal.store-C6hSvhsF.js.map +0 -1
- package/dist/rebill-web-components-sdk/discount-coupon.rebill-timeline-debit-day.rebill-timeline-free-trial.entry.esm.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-43675422.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-43675422.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-51571e15.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-5df71605.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-6334b899.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-7ea96b11.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-CdYpsLqg.js +0 -2
- package/dist/rebill-web-components-sdk/p-CdYpsLqg.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-eb6a2c0d.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-eb6a2c0d.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/rebill-divider.entry.esm.js.map +0 -1
- /package/dist/rebill-web-components-sdk/{p-1c3e7171.entry.js.map → p-0239917e.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-edb69e28.entry.js.map → p-1ac036d7.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-36a897c4.entry.js.map → p-1d7e392c.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-e5b0f2b9.entry.js.map → p-2ebb1d54.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-e8eadef6.entry.js.map → p-3a5bdb02.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-9084f3ef.entry.js.map → p-47ee3edc.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-92de0c03.entry.js.map → p-508cc019.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-924e7ec2.entry.js.map → p-515e9e16.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-51571e15.entry.js.map → p-5ac0522d.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-821e1fed.entry.js.map → p-6089b208.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-a0d6b0c0.entry.js.map → p-6ea98ccf.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-bc6f455d.entry.js.map → p-7287e0f0.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-c8a5a137.entry.js.map → p-aa96087c.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-63020e78.entry.js.map → p-ad9a6685.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-7e94aec8.entry.js.map → p-e0a3f3a8.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-7ea96b11.entry.js.map → p-f672574a.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rebill-renewal.entry.js","sources":["src/components/renewal/utils/getRequiredFieldsRenewal.ts","src/components/renewal/rebill-renewal.css?tag=rebill-renewal","src/components/renewal/rebill-renewal.tsx"],"sourcesContent":["import { api } from '../../../api';\nimport { PAYMENT_METHOD_ENUM } from '../../../models/enums/payment-methods.enum';\nimport { renewalState } from '../../../store/renewal.store';\nimport { PaymentMethodMapper } from '../../../utils/payment-method-mapper';\nimport { mapRequiredFields, RequiredField } from '../../../utils/required-fields-mappers';\n\nexport interface RequiredFieldsResult {\n fields: string[];\n original: RequiredField[];\n}\n\nexport interface AllRequiredFieldsMap {\n [key: string]: RequiredFieldsResult;\n}\n\nconst getRequiredFields = async (\n currency: string,\n method: string,\n organizationId: string,\n): Promise<RequiredFieldsResult> => {\n const requiredFieldsResponse = await api.checkout.getRequiredFields(\n {\n currency,\n method,\n },\n organizationId,\n );\n\n return {\n fields: mapRequiredFields(requiredFieldsResponse.data),\n original: requiredFieldsResponse.data,\n };\n};\n\nexport const getAllRequiredFieldsRenewal = async (): Promise<AllRequiredFieldsMap> => {\n const paymentMethods = [\n ...new Set(renewalState.data.paymentMethods.map(pm => pm.type as PAYMENT_METHOD_ENUM)),\n ];\n const promises = paymentMethods.map(async paymentMethod => {\n try {\n const apiPaymentMethod = PaymentMethodMapper.mapToAPMPaymentMethod(\n paymentMethod,\n renewalState.data.price.country,\n );\n\n const result = await getRequiredFields(\n renewalState.data.price.currency,\n apiPaymentMethod,\n renewalState.data.organization.id,\n );\n\n return {\n paymentMethod,\n ...result,\n };\n } catch (error) {\n console.error(`Error getting required fields for ${paymentMethod}:`, error);\n return {\n paymentMethod,\n fields: [],\n original: [],\n };\n }\n });\n\n const results = await Promise.all(promises);\n const fieldsMap: AllRequiredFieldsMap = {};\n\n results.forEach(result => {\n fieldsMap[result.paymentMethod] = {\n fields: result.fields,\n original: result.original,\n };\n });\n return fieldsMap;\n};\n\nexport const getRequiredFieldsForMethod = (\n paymentMethod: PAYMENT_METHOD_ENUM,\n allRequiredFields: AllRequiredFieldsMap,\n): RequiredFieldsResult => {\n const storedFields = allRequiredFields[paymentMethod];\n if (storedFields) {\n return storedFields;\n } else {\n return {\n fields: [],\n original: [],\n };\n }\n};\n","@import '../../styles/variables.css';\n\n@media (max-width: 1024px) {\n .rebill-checkout-renewal {\n flex-direction: column;\n gap: 0;\n justify-content: flex-start;\n background: var(--rebill-color-background);\n padding: 20px;\n }\n .right-section .left-section {\n width: 100%;\n height: 100%;\n background: var(--rebill-color-background);\n }\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n height: 100%;\n margin-top: 24px;\n }\n .otp-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n }\n}\n\n@media (min-width: 1025px) {\n .rebill-checkout-renewal {\n width: 100vw;\n min-height: 100vh;\n display: flex;\n flex-direction: row;\n justify-content: center;\n overflow-y: auto;\n }\n\n .left-section {\n display: flex;\n width: 60%;\n background: var(--rebill-color-background-left);\n justify-content: space-around;\n }\n\n .right-section {\n display: flex;\n padding-top: 72px;\n width: 40%;\n background: var(--rebill-color-background-right);\n position: sticky;\n top: 0;\n\n justify-content: center;\n }\n\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n margin-bottom: 36px;\n margin-top: 24px;\n gap: 32px;\n }\n .left-section-container {\n max-width: 450px;\n min-width: 450px;\n margin: 2.5rem 2rem 1.5rem 2rem;\n display: flex;\n flex-direction: column;\n }\n\n .checkout-summary-section {\n max-width: 450px;\n min-width: 350px;\n margin: 0rem 2rem;\n background: var(--rebill-color-background-right);\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n }\n\n .checkout-form-section user-information,\n .checkout-form-section payment-method-selector,\n .checkout-form-section rebill-address,\n .checkout-summary-section rebill-summary {\n width: 100%;\n }\n\n /* Google Maps Autocomplete Styles */\n .pac-container {\n border-radius: 4px;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n border: 1px solid #e0e0e0;\n margin-top: 4px;\n font-family: inherit;\n }\n\n .pac-item {\n padding: 10px 12px;\n cursor: pointer;\n border-top: none;\n }\n\n .pac-item:first-child {\n border-top: none;\n }\n\n .pac-item:hover {\n background-color: #f5f5f5;\n }\n\n .pac-item-query {\n font-weight: 500;\n }\n\n .pac-icon {\n display: none;\n }\n}\n\n.payment-button-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-bottom: 16px;\n}\n/* Animaciones para componentes condicionales */\n.animated-component {\n transition: all 0.3s ease-in-out;\n overflow: visible;\n}\n\n/* Keep overflow hidden only for sliding height animations */\n/* .animated-component.slide-in {\n overflow: hidden;\n} */\n\n.fade-in {\n animation: fadeIn 0.4s ease-in-out;\n}\n\n.slide-in {\n animation: slideIn 0.5s ease-out;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translateX(-20px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateX(0);\n max-height: 450px;\n }\n}\n\n/* Animación para cuando se ocultan los componentes */\n.animated-component.hide {\n animation: fadeOut 0.3s ease-in-out forwards;\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n\n/* Test Mode Chip Positioning */\nrebill-mode-sandbox {\n position: fixed;\n bottom: 50px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1000;\n}\n\n/* Ensure the chip is visible on all screen sizes */\n@media (max-width: 1024px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n\n@media (min-width: 1025px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n.mode-sandbox-mobile-container {\n display: flex;\n align-items: center;\n width: 100%;\n\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n/* Desktop grande - mantener tamaños originales */\n@media (min-width: 1451px) {\n .left-section-container {\n min-width: 450px;\n margin: 2.5rem 5rem 1.5rem 5rem;\n }\n\n .checkout-summary-section {\n min-width: 450px;\n margin: 0rem 5rem;\n }\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\nimport * as yup from 'yup';\nimport { api, Country } from '../../api';\nimport { SavedCard } from '../../api/entities/cards/types';\nimport {\n CheckoutStatusE,\n CreateAPMCheckoutRequest,\n CreateAPMCheckoutResponse,\n CreateCardCheckoutRequest,\n} from '../../api/entities/checkout/types';\nimport '../../components/checkout/apm/apm-checkout/apm-checkout';\nimport '../../components/checkout/processing-payment/processing-payment';\nimport { I18nService } from '../../i18n/i18n.service';\n\nimport { PaymentMethodNameE } from '../../models/enums/payment-method-name.enum';\nimport { PAYMENT_METHOD_ENUM } from '../../models/enums/payment-methods.enum';\nimport { PaymentMessageE } from '../../models/enums/payment-status.enum';\nimport { onChange as renewalOnChange, renewalState, RenewalStore } from '../../store/renewal.store';\nimport { BREAKPOINT_ENUM, getBreakpoint, isBreakpointBelow } from '../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../utils/color-class-mapper';\nimport { generateIdempotencyKey } from '../../utils/generate-idempotency-key';\nimport { GoogleMapsService } from '../../utils/google-maps.service';\nimport { AlertErrorKeys, PaymentErrorMapper } from '../../utils/payment-error-mapper';\nimport { PaymentMethodMapper } from '../../utils/payment-method-mapper';\nimport { getFieldValues, isFieldRequired } from '../../utils/required-fields-mappers';\nimport {\n AllRequiredFieldsMap,\n getAllRequiredFieldsRenewal,\n getRequiredFieldsForMethod,\n} from './utils/getRequiredFieldsRenewal';\n\n@Component({\n tag: 'rebill-renewal',\n styleUrl: 'rebill-renewal.css',\n shadow: false,\n})\nexport class RebillRenewal {\n @Prop() renewalData!: string;\n @Prop() renewalToken!: string;\n\n @State() currentPaymentMethod: PAYMENT_METHOD_ENUM = PAYMENT_METHOD_ENUM.CARD;\n @State() isSubmitting: boolean = false;\n @State() isCardSubmitting: boolean = false;\n @State() isCardSuccess: boolean = false;\n @State() errorMessage: AlertErrorKeys | null = null;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() errorPaymentCard: boolean = false;\n @State() errorPaymentAPM: boolean = false;\n @State() initialData: any = {};\n @State() checkoutResponse: CreateAPMCheckoutResponse | null = null;\n @State() currentApmPaymentMethod: PaymentMethodNameE | null = null;\n @State() countries: Country[] = [];\n @State() allRequiredFields: AllRequiredFieldsMap = {};\n @State() currentRequiredFields: string[] = [];\n @State() errorCardInvalid: boolean = false;\n @State() cardMode: 'input' | 'select' | null = 'select';\n\n @Event() success: EventEmitter<any>;\n @Event() paymentError: EventEmitter<any>;\n @Event() paymentMethodSelected: EventEmitter<PAYMENT_METHOD_ENUM>;\n\n private validationSchema = {\n 'phoneNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('phoneNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.phoneRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-country': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-country', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.countryRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-state': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-state', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.stateRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-address': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-address', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.addressRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-city': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-city', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.cityRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-zip': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-zip', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.zipRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'bankId': yup.string().when([], {\n is: () => isFieldRequired('bankId', this.currentRequiredFields),\n then: schema => schema.required('validation.bankRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentType': yup.string().when([], {\n is: () =>\n isFieldRequired('documentType', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.documentTypeRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('documentNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema =>\n schema.required('validation.documentNumberRequired').min(7, 'validation.documentInvalid'),\n otherwise: schema => schema.notRequired(),\n }),\n };\n\n private resizeHandler = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n async componentWillLoad() {\n this.resizeHandler();\n window.addEventListener('resize', this.resizeHandler);\n\n const renewalProps =\n typeof this.renewalData === 'string' ? JSON.parse(this.renewalData) : this.renewalData;\n\n RenewalStore.initializeRenewal({\n ...renewalProps,\n token: this.renewalToken,\n });\n\n // Load Google Maps script for address autocomplete\n GoogleMapsService.loadGoogleMapsScript();\n\n // Load countries data\n try {\n const response = await api.data.getCountries();\n this.countries = response.data;\n } catch (error) {\n console.error('Error loading countries:', error);\n }\n\n // Load required fields data\n try {\n this.allRequiredFields = await getAllRequiredFieldsRenewal();\n } catch (error) {\n console.error('Error loading required fields:', error);\n }\n\n if (renewalState.data.paymentMethods.length > 0) {\n let defaultPaymentMethod: PAYMENT_METHOD_ENUM | null = null;\n\n if (renewalState.data.subscription?.paymentMethod) {\n const subscriptionPaymentMethod =\n renewalState.data.subscription.paymentMethod.toLowerCase();\n const mappedMethod =\n subscriptionPaymentMethod === 'card'\n ? PAYMENT_METHOD_ENUM.CARD\n : subscriptionPaymentMethod === 'bank_transfer'\n ? PAYMENT_METHOD_ENUM.BANK_TRANSFER\n : null;\n\n if (mappedMethod) {\n const isAvailable = renewalState.data.paymentMethods.some(pm => pm.type === mappedMethod);\n if (isAvailable) {\n defaultPaymentMethod = mappedMethod;\n }\n }\n }\n\n if (!defaultPaymentMethod) {\n defaultPaymentMethod = renewalState.data.paymentMethods[0].type as PAYMENT_METHOD_ENUM;\n }\n\n this.currentPaymentMethod = defaultPaymentMethod;\n RenewalStore.setSelectedPaymentMethod(defaultPaymentMethod);\n\n if (defaultPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n defaultPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n await this.initializeFingerprint(defaultPaymentMethod);\n }\n\n this.initialData = this.getInitialData();\n\n renewalOnChange('cardMode', () => {\n this.cardMode = renewalState.cardMode;\n });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n\n @Listen('paymentMethodSelected')\n async handlePaymentMethodSelected(event: CustomEvent<PAYMENT_METHOD_ENUM>) {\n event.stopPropagation();\n\n if (this.currentPaymentMethod === event.detail) {\n return;\n }\n\n this.currentPaymentMethod = event.detail;\n RenewalStore.setSelectedPaymentMethod(this.currentPaymentMethod);\n\n // Change cardMode to 'input' if payment method is not CARD\n if (this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n // Update required fields for the new payment method\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n this.currentPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n // Note: Fingerprint is handled in componentWillLoad\n\n // Initialize fingerprint for the new payment method\n await this.initializeFingerprint(this.currentPaymentMethod);\n\n this.paymentMethodSelected.emit(event.detail);\n }\n\n private async initializeFingerprint(paymentMethod: PAYMENT_METHOD_ENUM) {\n // Only initialize fingerprint for card payments and if not already generated\n if (paymentMethod === PAYMENT_METHOD_ENUM.CARD && !renewalState.deviceId) {\n try {\n const uuid = crypto.randomUUID();\n const fingerprintResponse = await api.fingerPrint.getFingerPrint(uuid);\n RenewalStore.setDeviceId(uuid);\n const script = fingerprintResponse.result.script;\n const scriptElement = document.createElement('script');\n scriptElement.innerHTML = script;\n document.body.appendChild(scriptElement);\n } catch (error) {\n console.error('Failed to initialize fingerprint:', error);\n }\n }\n }\n\n @Listen('bankSelected')\n handleBankSelected(event: CustomEvent<string>) {\n event.stopPropagation();\n RenewalStore.setSelectedBankId(event.detail);\n }\n\n @Listen('cardSelected')\n handleCardSelected(event: CustomEvent<{ card: SavedCard; cvv?: string }>) {\n const { card, cvv } = event.detail;\n RenewalStore.setSelectedCard(card);\n RenewalStore.setCvv(cvv || '');\n }\n\n private get currentPaymentError(): boolean {\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n return this.errorPaymentCard;\n } else if (\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ) {\n return this.errorPaymentAPM;\n }\n return false;\n }\n\n private async handleSubmit(event?: CustomEvent) {\n if (this.isSubmitting) {\n return;\n }\n\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n await this.handleCardRenewal(event);\n } else {\n await this.handleAPMRenewal(event);\n }\n }\n\n private async handleCardRenewal(event?: CustomEvent) {\n const formData = event?.detail || this.getInitialData();\n\n if (!renewalState.data.cardId && !renewalState.data.cardTokenId) {\n this.errorCardInvalid = true;\n return;\n }\n if (!renewalState.data.cardInformation && !renewalState.data.cardId) {\n this.errorCardInvalid = true;\n return;\n }\n this.errorCardInvalid = false;\n this.isSubmitting = true;\n this.isCardSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const renewalRequest: CreateCardCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n ...(renewalState.data.cardId && { cardId: renewalState.data.cardId }),\n ...(renewalState.data.cardTokenId && { cardTokenId: renewalState.data.cardTokenId }),\n customAttributes: {\n ...(renewalState.deviceId && { deviceId: renewalState.deviceId }),\n },\n ...(this.cardMode === 'input' && {\n customer: {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName?.split(' ')[0],\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName?.split(' ').slice(1).join(' '),\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n },\n billingDetails: {\n address: {\n lineOne: formData['billing-address'] || '',\n city: formData['billing-city'] || '',\n state: formData['billing-state'] || '',\n country: formData['billing-country'] || '',\n zipCode: formData['billing-zip'] || '',\n },\n identification: {\n type: formData.documentType || '',\n value: formData.documentNumber || '',\n },\n },\n }),\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createCardCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n renewalState.token,\n );\n\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n\n if (response.data.result?.status.toUpperCase() === CheckoutStatusE.APPROVED) {\n this.isCardSuccess = true;\n } else {\n this.isCardSuccess = false;\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: response.data.error?.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: error.data?.error?.message as PaymentMessageE,\n };\n }\n }\n\n private async handleAPMRenewal(event?: CustomEvent) {\n this.isSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const apmPaymentMethod = PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n );\n\n // Get form data for billing details and customer info\n const formData = event?.detail || this.getFormData();\n\n // Transform form data to match CreateAPMCheckoutRequest structure\n const billingDetails = {\n address: {\n country: formData['billing-country'],\n state: formData['billing-state'] || '',\n city: formData['billing-city'] || '',\n zipCode: formData['billing-zip'] || '',\n lineOne: formData['billing-address'] || '',\n },\n identification: {\n type: formData.documentType || 'dni',\n value: formData.documentNumber || '',\n },\n };\n\n const renewalRequest: CreateAPMCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n method: apmPaymentMethod,\n billingDetails,\n redirect: {\n approved: window.location.origin + '/renewal/success',\n rejected: window.location.origin + '/renewal/failure',\n },\n paymentMetadata: {\n orderId: renewalState.data.id,\n source: 'renewal-web',\n },\n customAttributes: {\n bank: formData.bankId || '',\n },\n // Remove targetCurrency for PSE payments as it's not supported\n ...(apmPaymentMethod !== PaymentMethodNameE.CO_TRANSFERENCE_PSE && {\n targetCurrency: renewalState.data.price.currency,\n }),\n };\n\n // Add customer data for renewal\n renewalRequest.customer = {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName.split(' ')[0] ||\n '',\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName.split(' ').slice(1).join(' ') ||\n '',\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createAPMCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n );\n\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n this.checkoutResponse = response.data;\n if (response.data.result?.status.toUpperCase() === CheckoutStatusE.APPROVED) {\n this.isCardSuccess = true;\n } else {\n this.paymentError.emit(response.data);\n RenewalStore.setCheckoutResponse(response.data);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: response.data?.error?.message as PaymentMessageE,\n message: response.data.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n this.paymentError.emit(error);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: error.data?.error?.message as PaymentMessageE,\n message: error.data?.error?.message,\n };\n }\n }\n\n private getFormData = () => {\n return this.initialData;\n };\n\n private getInitialData = () => {\n return {\n 'email': renewalState.data.subscription.customerEmail,\n 'fullName': renewalState.data.subscription.customerName,\n 'card': '',\n 'billing-country': '',\n 'billing-state': '',\n 'billing-address': '',\n 'billing-city': '',\n 'billing-zip': '',\n 'bankId': '',\n 'phoneNumber': '',\n 'countryCodePhoneNumber': '',\n 'documentType': '',\n 'documentNumber': '',\n };\n };\n\n private hasPrefilledAddress = () => {\n const billingFields = [\n 'billing-country',\n 'billing-state',\n 'billing-address',\n 'billing-city',\n 'billing-zip',\n ];\n return billingFields.some(key => {\n const value = this.initialData[key];\n return value && value.trim() !== '';\n });\n };\n\n private getPaymentDate = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n\n if ('date' in payment) {\n return payment.date as string;\n }\n\n return '';\n };\n\n private getReferenceNumber = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n if ('traceId' in payment) {\n return payment.traceId as string;\n }\n\n return '';\n };\n\n render() {\n if (!renewalState.isInitialized) {\n return <div class=\"loading\">{I18nService.translate('renewal.loading')}</div>;\n }\n\n const renderRenewalSummary = props => (\n <renewal-summary\n totalAmount={renewalState.data.price.amount}\n currency={renewalState.data.price.currency}\n subscriptionTitle={renewalState.data.subscription.name[0]?.text || 'Subscription'}\n subscriptionAmount={renewalState.data.subscription.amount}\n nextChargeDate={renewalState.data.subscription.nextChargeDate}\n frequency={renewalState.data.subscription.frequency}\n {...props}\n />\n );\n\n return (\n <>\n <rebill-processing-payment style={{ display: this.isCardSubmitting ? 'block' : 'none' }} />\n {this.isCardSuccess ? (\n <renewal-success-page\n typePaymentMethod={this.currentPaymentMethod}\n paymentDate={this.getPaymentDate()}\n referenceNumber={this.getReferenceNumber()}\n cardLastFour={renewalState.data.subscription.cardLastFour}\n country={renewalState.data.price.country}\n paymentMethodName={PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data?.price?.country,\n )}\n bank={renewalState.form?.selectedBankId || ''}\n />\n ) : (\n <rebill-checkout-form\n style={{ display: this.isCardSubmitting || this.isCardSuccess ? 'none' : 'block' }}\n validationSchema={this.validationSchema}\n initialData={this.initialData}\n onSubmit={(args: any) => this.handleSubmit(args)}\n renderForm={({ submit, formData, errors }) => (\n <div class=\"rebill-checkout-renewal\">\n <div class=\"left-section\">\n <div class=\"left-section-container\">\n <organization-logo organization={renewalState.data.organization} />\n\n <div class=\"checkout-form-section\">\n {/* Customer Information - Readonly */}\n <user-information-static\n userInfo={{\n customerName: renewalState.data.subscription.customerName,\n customerEmail: renewalState.data.subscription.customerEmail,\n }}\n />\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'header',\n })}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'details',\n })}\n\n {/* Payment Method Selection */}\n <div style={{ display: 'flex', flexDirection: 'column', gap: '32px' }}>\n <payment-method-selector\n enabledPaymentMethods={[\n ...new Set(\n renewalState.data.paymentMethods.map(\n pm => pm.type as PAYMENT_METHOD_ENUM,\n ),\n ),\n ]}\n defaultSelected={this.currentPaymentMethod}\n errorComponent={{\n showErrorComponent: this.currentPaymentError,\n alertTitle: PaymentErrorMapper.getErrorTitle(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n this.errorMessage?.alertTitle,\n ),\n message: PaymentErrorMapper.getErrorMessage(\n this.errorMessage?.message,\n this.currentPaymentMethod,\n renewalState.data.price.country,\n ),\n }}\n cardError={{\n showCardInvalid: this.errorCardInvalid,\n type: null,\n }}\n country={renewalState.data.price.country}\n documentTypeError={errors?.documentType}\n documentNumberError={errors?.documentNumber}\n showDocument={\n this.cardMode === 'input' &&\n (isFieldRequired('documentType', this.currentRequiredFields) ||\n isFieldRequired('documentNumber', this.currentRequiredFields))\n }\n />\n {/* Alert for non-card payment methods */}\n {this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD &&\n renewalState.data.subscription?.paymentMethod ===\n PAYMENT_METHOD_ENUM.CARD && (\n <rebill-alert\n type=\"info\"\n message={I18nService.translate('renewal.paymentMethodAlert', {\n cardLastFour:\n renewalState.data?.subscription?.cardLastFour || '****',\n })}\n icon=\"calendar-edit\"\n variant=\"outlined\"\n colorIcon={COLORS_ENUM.PRIMARY}\n />\n )}\n {this.cardMode === 'input' &&\n isFieldRequired('bankId', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <rebill-bank-selector\n banks={\n getFieldValues(\n 'bank',\n this.allRequiredFields[this.currentPaymentMethod]?.original,\n ) || []\n }\n defaultSelectedBankId={formData.bankId || ''}\n error={errors?.bankId}\n />\n </div>\n )}\n </div>\n {this.cardMode === 'input' &&\n (isFieldRequired('billing-country', this.currentRequiredFields) ||\n isFieldRequired('billing-state', this.currentRequiredFields) ||\n isFieldRequired('billing-address', this.currentRequiredFields) ||\n isFieldRequired('billing-city', this.currentRequiredFields) ||\n isFieldRequired('billing-zip', this.currentRequiredFields)) && (\n <div class=\"animated-component slide-in\">\n <rebill-address\n countryOptions={this.countries.map(country => ({\n label: country.country,\n value: country.isoCountryCode,\n }))}\n billingView={this.hasPrefilledAddress() ? 'form' : 'search'}\n errors={{\n 'billing-country': errors['billing-country'],\n 'billing-state': errors['billing-state'],\n 'billing-address': errors['billing-address'],\n 'billing-city': errors['billing-city'],\n 'billing-zip': errors['billing-zip'],\n }}\n />\n </div>\n )}\n {this.cardMode === 'input' &&\n isFieldRequired('phoneNumber', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <user-information-phone error={errors?.phoneNumber} />\n </div>\n )}\n\n {/* Show APM checkout response after successful payment submission */}\n {this.checkoutResponse?.result &&\n (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER) && (\n <apm-checkout\n paymentMethod={this.currentPaymentMethod}\n referenceId={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH\n ? this.checkoutResponse.result.data.referenceId\n : undefined\n }\n qrCodeData={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ? this.checkoutResponse.result.data.qrCode\n : undefined\n }\n providerName={renewalState.data.organization?.name || ''}\n expirationDate={(() => {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + 30);\n return expirationDate.toISOString();\n })()}\n country={renewalState.data.price.country}\n redirectUrl={this.checkoutResponse.result.data.url}\n />\n )}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'summary',\n })}\n\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\n {/* Payment Button */}\n <payment-button\n paymentMethod={this.currentPaymentMethod}\n isLoading={this.isSubmitting}\n isRenewal={true}\n trialPeriodDays={renewalState.data.subscription.trialPeriodDays}\n redirectUrl={!!this.checkoutResponse?.result?.data?.url}\n timeToRedirect={5000}\n country={renewalState.data.price.country}\n isDisabled={renewalState.fetchingInstallments}\n onSubmit={() => submit()}\n />\n\n {/* Disabled Button Below */}\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n <rebill-footer\n style={{\n marginTop: isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP)\n ? '24px'\n : 'auto',\n }}\n />\n </div>\n </div>\n\n {/* Desktop Summary */}\n {!isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) && (\n <div class=\"right-section\">\n <div class=\"checkout-summary-section\">\n {renderRenewalSummary({\n displayedComponents: ['header', 'details', 'summary'],\n })}\n </div>\n </div>\n )}\n </div>\n )}\n />\n )}\n </>\n );\n }\n}\n"],"names":["yup.string","renewalOnChange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rebill-renewal.entry.js","sources":["src/components/renewal/utils/getRequiredFieldsRenewal.ts","src/components/renewal/rebill-renewal.css?tag=rebill-renewal","src/components/renewal/rebill-renewal.tsx"],"sourcesContent":["import { api } from '../../../api';\nimport { PAYMENT_METHOD_ENUM } from '../../../models/enums/payment-methods.enum';\nimport { renewalState } from '../../../store/renewal.store';\nimport { PaymentMethodMapper } from '../../../utils/payment-method-mapper';\nimport { mapRequiredFields, RequiredField } from '../../../utils/required-fields-mappers';\n\nexport interface RequiredFieldsResult {\n fields: string[];\n original: RequiredField[];\n}\n\nexport interface AllRequiredFieldsMap {\n [key: string]: RequiredFieldsResult;\n}\n\nconst getRequiredFields = async (\n currency: string,\n method: string,\n organizationId: string,\n): Promise<RequiredFieldsResult> => {\n const requiredFieldsResponse = await api.checkout.getRequiredFields(\n {\n currency,\n method,\n },\n organizationId,\n );\n\n return {\n fields: mapRequiredFields(requiredFieldsResponse.data),\n original: requiredFieldsResponse.data,\n };\n};\n\nexport const getAllRequiredFieldsRenewal = async (): Promise<AllRequiredFieldsMap> => {\n const paymentMethods = [\n ...new Set(renewalState.data.paymentMethods.map(pm => pm.type as PAYMENT_METHOD_ENUM)),\n ];\n const promises = paymentMethods.map(async paymentMethod => {\n try {\n const apiPaymentMethod = PaymentMethodMapper.mapToAPMPaymentMethod(\n paymentMethod,\n renewalState.data.price.country,\n );\n\n const result = await getRequiredFields(\n renewalState.data.price.currency,\n apiPaymentMethod,\n renewalState.data.organization.id,\n );\n\n return {\n paymentMethod,\n ...result,\n };\n } catch (error) {\n console.error(`Error getting required fields for ${paymentMethod}:`, error);\n return {\n paymentMethod,\n fields: [],\n original: [],\n };\n }\n });\n\n const results = await Promise.all(promises);\n const fieldsMap: AllRequiredFieldsMap = {};\n\n results.forEach(result => {\n fieldsMap[result.paymentMethod] = {\n fields: result.fields,\n original: result.original,\n };\n });\n return fieldsMap;\n};\n\nexport const getRequiredFieldsForMethod = (\n paymentMethod: PAYMENT_METHOD_ENUM,\n allRequiredFields: AllRequiredFieldsMap,\n): RequiredFieldsResult => {\n const storedFields = allRequiredFields[paymentMethod];\n if (storedFields) {\n return storedFields;\n } else {\n return {\n fields: [],\n original: [],\n };\n }\n};\n","@import '../../styles/variables.css';\n\n@media (max-width: 1024px) {\n .rebill-checkout-renewal {\n flex-direction: column;\n gap: 0;\n justify-content: flex-start;\n background: var(--rebill-color-background);\n padding: 20px;\n }\n .right-section .left-section {\n width: 100%;\n height: 100%;\n background: var(--rebill-color-background);\n }\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n height: 100%;\n margin-top: 24px;\n }\n .otp-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 24px;\n }\n}\n\n@media (min-width: 1025px) {\n .rebill-checkout-renewal {\n width: 100vw;\n min-height: 100vh;\n display: flex;\n flex-direction: row;\n justify-content: center;\n overflow-y: auto;\n }\n\n .left-section {\n display: flex;\n width: 60%;\n background: var(--rebill-color-background-left);\n justify-content: space-around;\n }\n\n .right-section {\n display: flex;\n padding-top: 72px;\n width: 40%;\n background: var(--rebill-color-background-right);\n position: sticky;\n top: 0;\n\n justify-content: center;\n }\n\n .checkout-form-section {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n margin-bottom: 36px;\n margin-top: 24px;\n gap: 32px;\n }\n .left-section-container {\n max-width: 450px;\n min-width: 450px;\n margin: 2.5rem 2rem 1.5rem 2rem;\n display: flex;\n flex-direction: column;\n }\n\n .checkout-summary-section {\n max-width: 450px;\n min-width: 350px;\n margin: 0rem 2rem;\n background: var(--rebill-color-background-right);\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n }\n\n .checkout-form-section user-information,\n .checkout-form-section payment-method-selector,\n .checkout-form-section rebill-address,\n .checkout-summary-section rebill-summary {\n width: 100%;\n }\n\n /* Google Maps Autocomplete Styles */\n .pac-container {\n border-radius: 4px;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n border: 1px solid #e0e0e0;\n margin-top: 4px;\n font-family: inherit;\n }\n\n .pac-item {\n padding: 10px 12px;\n cursor: pointer;\n border-top: none;\n }\n\n .pac-item:first-child {\n border-top: none;\n }\n\n .pac-item:hover {\n background-color: #f5f5f5;\n }\n\n .pac-item-query {\n font-weight: 500;\n }\n\n .pac-icon {\n display: none;\n }\n}\n\n.payment-button-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-bottom: 16px;\n}\n/* Animaciones para componentes condicionales */\n.animated-component {\n transition: all 0.3s ease-in-out;\n overflow: visible;\n}\n\n/* Keep overflow hidden only for sliding height animations */\n/* .animated-component.slide-in {\n overflow: hidden;\n} */\n\n.fade-in {\n animation: fadeIn 0.4s ease-in-out;\n}\n\n.slide-in {\n animation: slideIn 0.5s ease-out;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translateX(-20px);\n max-height: 0;\n }\n to {\n opacity: 1;\n transform: translateX(0);\n max-height: 450px;\n }\n}\n\n/* Animación para cuando se ocultan los componentes */\n.animated-component.hide {\n animation: fadeOut 0.3s ease-in-out forwards;\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n\n/* Test Mode Chip Positioning */\nrebill-mode-sandbox {\n position: fixed;\n bottom: 50px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1000;\n}\n\n/* Ensure the chip is visible on all screen sizes */\n@media (max-width: 1024px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n\n@media (min-width: 1025px) {\n rebill-test-mode-chip {\n bottom: 46px;\n }\n}\n.mode-sandbox-mobile-container {\n display: flex;\n align-items: center;\n width: 100%;\n\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n/* Desktop grande - mantener tamaños originales */\n@media (min-width: 1451px) {\n .left-section-container {\n min-width: 450px;\n margin: 2.5rem 5rem 1.5rem 5rem;\n }\n\n .checkout-summary-section {\n min-width: 450px;\n margin: 0rem 5rem;\n }\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\nimport * as yup from 'yup';\nimport { api, Country } from '../../api';\nimport { SavedCard } from '../../api/entities/cards/types';\nimport {\n CheckoutStatusE,\n CreateAPMCheckoutRequest,\n CreateAPMCheckoutResponse,\n CreateCardCheckoutRequest,\n} from '../../api/entities/checkout/types';\nimport '../../components/checkout/apm/apm-checkout/apm-checkout';\nimport '../../components/checkout/processing-payment/processing-payment';\nimport { I18nService } from '../../i18n/i18n.service';\n\nimport { PaymentMethodNameE } from '../../models/enums/payment-method-name.enum';\nimport { PAYMENT_METHOD_ENUM } from '../../models/enums/payment-methods.enum';\nimport { PaymentMessageE } from '../../models/enums/payment-status.enum';\nimport { onChange as renewalOnChange, renewalState, RenewalStore } from '../../store/renewal.store';\nimport { BREAKPOINT_ENUM, getBreakpoint, isBreakpointBelow } from '../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../utils/color-class-mapper';\nimport { generateIdempotencyKey } from '../../utils/generate-idempotency-key';\nimport { GoogleMapsService } from '../../utils/google-maps.service';\nimport { AlertErrorKeys, PaymentErrorMapper } from '../../utils/payment-error-mapper';\nimport { PaymentMethodMapper } from '../../utils/payment-method-mapper';\nimport { getFieldValues, isFieldRequired } from '../../utils/required-fields-mappers';\nimport {\n AllRequiredFieldsMap,\n getAllRequiredFieldsRenewal,\n getRequiredFieldsForMethod,\n} from './utils/getRequiredFieldsRenewal';\n\n@Component({\n tag: 'rebill-renewal',\n styleUrl: 'rebill-renewal.css',\n shadow: false,\n})\nexport class RebillRenewal {\n @Prop() renewalData!: string;\n @Prop() renewalToken!: string;\n\n @State() currentPaymentMethod: PAYMENT_METHOD_ENUM = PAYMENT_METHOD_ENUM.CARD;\n @State() isSubmitting: boolean = false;\n @State() isCardSubmitting: boolean = false;\n @State() isCardSuccess: boolean = false;\n @State() errorMessage: AlertErrorKeys | null = null;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() errorPaymentCard: boolean = false;\n @State() errorPaymentAPM: boolean = false;\n @State() initialData: any = {};\n @State() checkoutResponse: CreateAPMCheckoutResponse | null = null;\n @State() currentApmPaymentMethod: PaymentMethodNameE | null = null;\n @State() countries: Country[] = [];\n @State() allRequiredFields: AllRequiredFieldsMap = {};\n @State() currentRequiredFields: string[] = [];\n @State() errorCardInvalid: boolean = false;\n @State() cardMode: 'input' | 'select' | null = 'select';\n\n @Event() success: EventEmitter<any>;\n @Event() paymentError: EventEmitter<any>;\n @Event() paymentMethodSelected: EventEmitter<PAYMENT_METHOD_ENUM>;\n\n private validationSchema = {\n 'phoneNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('phoneNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.phoneRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-country': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-country', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.countryRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-state': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-state', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.stateRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-address': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-address', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.addressRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-city': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-city', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.cityRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'billing-zip': yup.string().when([], {\n is: () =>\n isFieldRequired('billing-zip', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.zipRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'bankId': yup.string().when([], {\n is: () => isFieldRequired('bankId', this.currentRequiredFields),\n then: schema => schema.required('validation.bankRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentType': yup.string().when([], {\n is: () =>\n isFieldRequired('documentType', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema => schema.required('validation.documentTypeRequired'),\n otherwise: schema => schema.notRequired(),\n }),\n 'documentNumber': yup.string().when([], {\n is: () =>\n isFieldRequired('documentNumber', this.currentRequiredFields) && this.cardMode === 'input',\n then: schema =>\n schema.required('validation.documentNumberRequired').min(7, 'validation.documentInvalid'),\n otherwise: schema => schema.notRequired(),\n }),\n };\n\n private resizeHandler = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n async componentWillLoad() {\n this.resizeHandler();\n window.addEventListener('resize', this.resizeHandler);\n\n const renewalProps =\n typeof this.renewalData === 'string' ? JSON.parse(this.renewalData) : this.renewalData;\n\n RenewalStore.initializeRenewal({\n ...renewalProps,\n token: this.renewalToken,\n });\n\n // Load Google Maps script for address autocomplete\n GoogleMapsService.loadGoogleMapsScript();\n\n // Load countries data\n try {\n const response = await api.data.getCountries();\n this.countries = response.data;\n } catch (error) {\n console.error('Error loading countries:', error);\n }\n\n // Load required fields data\n try {\n this.allRequiredFields = await getAllRequiredFieldsRenewal();\n } catch (error) {\n console.error('Error loading required fields:', error);\n }\n\n if (renewalState.data.paymentMethods.length > 0) {\n let defaultPaymentMethod: PAYMENT_METHOD_ENUM | null = null;\n\n if (renewalState.data.subscription?.paymentMethod) {\n const subscriptionPaymentMethod =\n renewalState.data.subscription.paymentMethod.toLowerCase();\n const mappedMethod =\n subscriptionPaymentMethod === 'card'\n ? PAYMENT_METHOD_ENUM.CARD\n : subscriptionPaymentMethod === 'bank_transfer'\n ? PAYMENT_METHOD_ENUM.BANK_TRANSFER\n : null;\n\n if (mappedMethod) {\n const isAvailable = renewalState.data.paymentMethods.some(pm => pm.type === mappedMethod);\n if (isAvailable) {\n defaultPaymentMethod = mappedMethod;\n }\n }\n }\n\n if (!defaultPaymentMethod) {\n defaultPaymentMethod = renewalState.data.paymentMethods[0].type as PAYMENT_METHOD_ENUM;\n }\n\n this.currentPaymentMethod = defaultPaymentMethod;\n RenewalStore.setSelectedPaymentMethod(defaultPaymentMethod);\n\n if (defaultPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n defaultPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n await this.initializeFingerprint(defaultPaymentMethod);\n }\n\n this.initialData = this.getInitialData();\n\n renewalOnChange('cardMode', () => {\n this.cardMode = renewalState.cardMode;\n });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n\n @Listen('paymentMethodSelected')\n async handlePaymentMethodSelected(event: CustomEvent<PAYMENT_METHOD_ENUM>) {\n event.stopPropagation();\n\n if (this.currentPaymentMethod === event.detail) {\n return;\n }\n\n this.currentPaymentMethod = event.detail;\n RenewalStore.setSelectedPaymentMethod(this.currentPaymentMethod);\n\n // Change cardMode to 'input' if payment method is not CARD\n if (this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD) {\n this.cardMode = 'input';\n RenewalStore.setCardMode('input');\n }\n\n // Update required fields for the new payment method\n try {\n this.currentRequiredFields = getRequiredFieldsForMethod(\n this.currentPaymentMethod,\n this.allRequiredFields,\n ).fields;\n } catch (error) {\n console.error('Error getting required fields for method:', error);\n }\n\n // Note: Fingerprint is handled in componentWillLoad\n\n // Initialize fingerprint for the new payment method\n await this.initializeFingerprint(this.currentPaymentMethod);\n\n this.paymentMethodSelected.emit(event.detail);\n }\n\n private async initializeFingerprint(paymentMethod: PAYMENT_METHOD_ENUM) {\n // Only initialize fingerprint for card payments and if not already generated\n if (paymentMethod === PAYMENT_METHOD_ENUM.CARD && !renewalState.deviceId) {\n try {\n const uuid = crypto.randomUUID();\n const fingerprintResponse = await api.fingerPrint.getFingerPrint(uuid);\n RenewalStore.setDeviceId(uuid);\n const script = fingerprintResponse.result.script;\n const scriptElement = document.createElement('script');\n scriptElement.innerHTML = script;\n document.body.appendChild(scriptElement);\n } catch (error) {\n console.error('Failed to initialize fingerprint:', error);\n }\n }\n }\n\n @Listen('bankSelected')\n handleBankSelected(event: CustomEvent<string>) {\n event.stopPropagation();\n RenewalStore.setSelectedBankId(event.detail);\n }\n\n @Listen('cardSelected')\n handleCardSelected(event: CustomEvent<{ card: SavedCard; cvv?: string }>) {\n const { card, cvv } = event.detail;\n RenewalStore.setSelectedCard(card);\n RenewalStore.setCvv(cvv || '');\n }\n\n private get currentPaymentError(): boolean {\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n return this.errorPaymentCard;\n } else if (\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ) {\n return this.errorPaymentAPM;\n }\n return false;\n }\n\n private async handleSubmit(event?: CustomEvent) {\n if (this.isSubmitting) {\n return;\n }\n\n if (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CARD) {\n await this.handleCardRenewal(event);\n } else {\n await this.handleAPMRenewal(event);\n }\n }\n\n private async handleCardRenewal(event?: CustomEvent) {\n const formData = event?.detail || this.getInitialData();\n\n if (!renewalState.data.cardId && !renewalState.data.cardTokenId) {\n this.errorCardInvalid = true;\n return;\n }\n if (!renewalState.data.cardInformation && !renewalState.data.cardId) {\n this.errorCardInvalid = true;\n return;\n }\n this.errorCardInvalid = false;\n this.isSubmitting = true;\n this.isCardSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const renewalRequest: CreateCardCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n ...(renewalState.data.cardId && { cardId: renewalState.data.cardId }),\n ...(renewalState.data.cardTokenId && { cardTokenId: renewalState.data.cardTokenId }),\n customAttributes: {\n ...(renewalState.deviceId && { deviceId: renewalState.deviceId }),\n },\n ...(this.cardMode === 'input' && {\n customer: {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName?.split(' ')[0],\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName?.split(' ').slice(1).join(' '),\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n },\n billingDetails: {\n address: {\n lineOne: formData['billing-address'] || '',\n city: formData['billing-city'] || '',\n state: formData['billing-state'] || '',\n country: formData['billing-country'] || '',\n zipCode: formData['billing-zip'] || '',\n },\n identification: {\n type: formData.documentType || '',\n value: formData.documentNumber || '',\n },\n },\n }),\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createCardCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n renewalState.token,\n );\n\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n\n if (response.data.result?.status.toUpperCase() === CheckoutStatusE.APPROVED) {\n this.isCardSuccess = true;\n } else {\n this.isCardSuccess = false;\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: response.data.error?.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n this.isCardSubmitting = false;\n RenewalStore.setLoading(false);\n\n this.errorPaymentCard = true;\n this.errorMessage = {\n message: error.data?.error?.message as PaymentMessageE,\n };\n }\n }\n\n private async handleAPMRenewal(event?: CustomEvent) {\n this.isSubmitting = true;\n RenewalStore.setLoading(true);\n\n try {\n const apmPaymentMethod = PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n );\n\n // Get form data for billing details and customer info\n const formData = event?.detail || this.getFormData();\n\n // Transform form data to match CreateAPMCheckoutRequest structure\n const billingDetails = {\n address: {\n country: formData['billing-country'],\n state: formData['billing-state'] || '',\n city: formData['billing-city'] || '',\n zipCode: formData['billing-zip'] || '',\n lineOne: formData['billing-address'] || '',\n },\n identification: {\n type: formData.documentType || 'dni',\n value: formData.documentNumber || '',\n },\n };\n\n const renewalRequest: CreateAPMCheckoutRequest = {\n transaction: {\n quantity: 1,\n },\n method: apmPaymentMethod,\n billingDetails,\n redirect: {\n approved: window.location.origin + '/renewal/success',\n rejected: window.location.origin + '/renewal/failure',\n },\n paymentMetadata: {\n orderId: renewalState.data.id,\n source: 'renewal-web',\n },\n customAttributes: {\n bank: formData.bankId || '',\n },\n // Remove targetCurrency for PSE payments as it's not supported\n ...(apmPaymentMethod !== PaymentMethodNameE.CO_TRANSFERENCE_PSE && {\n targetCurrency: renewalState.data.price.currency,\n }),\n };\n\n // Add customer data for renewal\n renewalRequest.customer = {\n firstName:\n formData.fullName?.split(' ')[0] ||\n renewalState.data.subscription.customerName.split(' ')[0] ||\n '',\n lastName:\n formData.fullName?.split(' ').slice(1).join(' ') ||\n renewalState.data.subscription.customerName.split(' ').slice(1).join(' ') ||\n '',\n email: formData.email || renewalState.data.subscription.customerEmail,\n phone: {\n countryCode: formData.countryCodePhoneNumber || '',\n number: formData.phoneNumber || '',\n },\n };\n\n const idempotencyKey = generateIdempotencyKey();\n const response = await api.checkout.createAPMCheckoutRequest(\n renewalState.data.id,\n idempotencyKey,\n renewalRequest,\n );\n\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n RenewalStore.setCheckoutResponse(response.data);\n this.checkoutResponse = response.data;\n if (response.data.result?.status.toUpperCase() === CheckoutStatusE.APPROVED) {\n this.isCardSuccess = true;\n } else {\n this.paymentError.emit(response.data);\n RenewalStore.setCheckoutResponse(response.data);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: response.data?.error?.message as PaymentMessageE,\n message: response.data.error?.message as PaymentMessageE,\n };\n }\n } catch (error: any) {\n this.isSubmitting = false;\n RenewalStore.setLoading(false);\n this.paymentError.emit(error);\n this.errorPaymentAPM = true;\n\n this.errorMessage = {\n alertTitle: error.data?.error?.message as PaymentMessageE,\n message: error.data?.error?.message,\n };\n }\n }\n\n private getFormData = () => {\n return this.initialData;\n };\n\n private getInitialData = () => {\n return {\n 'email': renewalState.data.subscription.customerEmail,\n 'fullName': renewalState.data.subscription.customerName,\n 'card': '',\n 'billing-country': '',\n 'billing-state': '',\n 'billing-address': '',\n 'billing-city': '',\n 'billing-zip': '',\n 'bankId': '',\n 'phoneNumber': '',\n 'countryCodePhoneNumber': '',\n 'documentType': '',\n 'documentNumber': '',\n };\n };\n\n private hasPrefilledAddress = () => {\n const billingFields = [\n 'billing-country',\n 'billing-state',\n 'billing-address',\n 'billing-city',\n 'billing-zip',\n ];\n return billingFields.some(key => {\n const value = this.initialData[key];\n return value && value.trim() !== '';\n });\n };\n\n private getPaymentDate = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n\n if ('date' in payment) {\n return payment.date as string;\n }\n\n return '';\n };\n\n private getReferenceNumber = (): string => {\n const payment = renewalState.form.checkoutResponse;\n if (!payment) return '';\n if ('traceId' in payment) {\n return payment.traceId as string;\n }\n\n return '';\n };\n\n render() {\n if (!renewalState.isInitialized) {\n return <div class=\"loading\">{I18nService.translate('renewal.loading')}</div>;\n }\n\n const renderRenewalSummary = props => (\n <renewal-summary\n totalAmount={renewalState.data.price.amount}\n currency={renewalState.data.price.currency}\n subscriptionTitle={renewalState.data.subscription.name[0]?.text || 'Subscription'}\n subscriptionAmount={renewalState.data.subscription.amount}\n nextChargeDate={renewalState.data.subscription.nextChargeDate}\n frequency={renewalState.data.subscription.frequency}\n couponCode={renewalState.data.price.couponCode}\n discountAmount={renewalState.data.price.discountedAmount}\n discountPercentage={renewalState.data.price.discountPercentage}\n {...props}\n />\n );\n\n return (\n <>\n <rebill-processing-payment style={{ display: this.isCardSubmitting ? 'block' : 'none' }} />\n {this.isCardSuccess ? (\n <renewal-success-page\n typePaymentMethod={this.currentPaymentMethod}\n paymentDate={this.getPaymentDate()}\n referenceNumber={this.getReferenceNumber()}\n cardLastFour={renewalState.data.subscription.cardLastFour}\n country={renewalState.data.price.country}\n paymentMethodName={PaymentMethodMapper.mapToAPMPaymentMethod(\n this.currentPaymentMethod,\n renewalState.data?.price?.country,\n )}\n bank={renewalState.form?.selectedBankId || ''}\n />\n ) : (\n <rebill-checkout-form\n style={{ display: this.isCardSubmitting || this.isCardSuccess ? 'none' : 'block' }}\n validationSchema={this.validationSchema}\n initialData={this.initialData}\n onSubmit={(args: any) => this.handleSubmit(args)}\n renderForm={({ submit, formData, errors }) => (\n <div class=\"rebill-checkout-renewal\">\n <div class=\"left-section\">\n <div class=\"left-section-container\">\n <organization-logo organization={renewalState.data.organization} />\n\n <div class=\"checkout-form-section\">\n {/* Customer Information - Readonly */}\n <user-information-static\n userInfo={{\n customerName: renewalState.data.subscription.customerName,\n customerEmail: renewalState.data.subscription.customerEmail,\n }}\n />\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'header',\n })}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'details',\n })}\n\n {/* Payment Method Selection */}\n <div style={{ display: 'flex', flexDirection: 'column', gap: '32px' }}>\n <payment-method-selector\n enabledPaymentMethods={[\n ...new Set(\n renewalState.data.paymentMethods.map(\n pm => pm.type as PAYMENT_METHOD_ENUM,\n ),\n ),\n ]}\n defaultSelected={this.currentPaymentMethod}\n errorComponent={{\n showErrorComponent: this.currentPaymentError,\n alertTitle: PaymentErrorMapper.getErrorTitle(\n this.currentPaymentMethod,\n renewalState.data.price.country,\n this.errorMessage?.alertTitle,\n ),\n message: PaymentErrorMapper.getErrorMessage(\n this.errorMessage?.message,\n this.currentPaymentMethod,\n renewalState.data.price.country,\n ),\n }}\n cardError={{\n showCardInvalid: this.errorCardInvalid,\n type: null,\n }}\n country={renewalState.data.price.country}\n documentTypeError={errors?.documentType}\n documentNumberError={errors?.documentNumber}\n showDocument={\n this.cardMode === 'input' &&\n (isFieldRequired('documentType', this.currentRequiredFields) ||\n isFieldRequired('documentNumber', this.currentRequiredFields))\n }\n />\n {/* Alert for non-card payment methods */}\n {this.currentPaymentMethod !== PAYMENT_METHOD_ENUM.CARD &&\n renewalState.data.subscription?.paymentMethod ===\n PAYMENT_METHOD_ENUM.CARD && (\n <rebill-alert\n type=\"info\"\n message={I18nService.translate('renewal.paymentMethodAlert', {\n cardLastFour:\n renewalState.data?.subscription?.cardLastFour || '****',\n })}\n icon=\"calendar-edit\"\n variant=\"outlined\"\n colorIcon={COLORS_ENUM.PRIMARY}\n />\n )}\n {this.cardMode === 'input' &&\n isFieldRequired('bankId', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <rebill-bank-selector\n banks={\n getFieldValues(\n 'bank',\n this.allRequiredFields[this.currentPaymentMethod]?.original,\n ) || []\n }\n defaultSelectedBankId={formData.bankId || ''}\n error={errors?.bankId}\n />\n </div>\n )}\n </div>\n {this.cardMode === 'input' &&\n (isFieldRequired('billing-country', this.currentRequiredFields) ||\n isFieldRequired('billing-state', this.currentRequiredFields) ||\n isFieldRequired('billing-address', this.currentRequiredFields) ||\n isFieldRequired('billing-city', this.currentRequiredFields) ||\n isFieldRequired('billing-zip', this.currentRequiredFields)) && (\n <div class=\"animated-component slide-in\">\n <rebill-address\n countryOptions={this.countries.map(country => ({\n label: country.country,\n value: country.isoCountryCode,\n }))}\n billingView={this.hasPrefilledAddress() ? 'form' : 'search'}\n errors={{\n 'billing-country': errors['billing-country'],\n 'billing-state': errors['billing-state'],\n 'billing-address': errors['billing-address'],\n 'billing-city': errors['billing-city'],\n 'billing-zip': errors['billing-zip'],\n }}\n />\n </div>\n )}\n {this.cardMode === 'input' &&\n isFieldRequired('phoneNumber', this.currentRequiredFields) && (\n <div class=\"animated-component fade-in\">\n <user-information-phone error={errors?.phoneNumber} />\n </div>\n )}\n\n {/* Show APM checkout response after successful payment submission */}\n {this.checkoutResponse?.result &&\n (this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH ||\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER) && (\n <apm-checkout\n paymentMethod={this.currentPaymentMethod}\n referenceId={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.CASH\n ? this.checkoutResponse.result.data.referenceId\n : undefined\n }\n qrCodeData={\n this.currentPaymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER\n ? this.checkoutResponse.result.data.qrCode\n : undefined\n }\n providerName={renewalState.data.organization?.name || ''}\n expirationDate={(() => {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + 30);\n return expirationDate.toISOString();\n })()}\n country={renewalState.data.price.country}\n redirectUrl={this.checkoutResponse.result.data.url}\n />\n )}\n\n {isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) &&\n renderRenewalSummary({\n displayedComponents: 'summary',\n })}\n\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\n {/* Payment Button */}\n <payment-button\n paymentMethod={this.currentPaymentMethod}\n isLoading={this.isSubmitting}\n isRenewal={true}\n trialPeriodDays={renewalState.data.subscription.trialPeriodDays}\n redirectUrl={!!this.checkoutResponse?.result?.data?.url}\n timeToRedirect={5000}\n country={renewalState.data.price.country}\n isDisabled={renewalState.fetchingInstallments}\n onSubmit={() => submit()}\n />\n\n {/* Disabled Button Below */}\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n <rebill-footer\n style={{\n marginTop: isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP)\n ? '24px'\n : 'auto',\n }}\n />\n </div>\n </div>\n\n {/* Desktop Summary */}\n {!isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) && (\n <div class=\"right-section\">\n <div class=\"checkout-summary-section\">\n {renderRenewalSummary({\n displayedComponents: ['header', 'details', 'summary'],\n })}\n </div>\n </div>\n )}\n </div>\n )}\n />\n )}\n </>\n );\n }\n}\n"],"names":["yup.string","renewalOnChange"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rebill-timeline-debit-day.rebill-timeline-free-trial.entry.js","sources":["src/models/enums/debit-strategy.enum.ts","src/components/shared/timeline/timeline-debit-day.css?tag=rebill-timeline-debit-day","src/components/shared/timeline/timeline-debit-day.tsx","src/components/shared/timeline/timeline-free-trial.css?tag=rebill-timeline-free-trial","src/components/shared/timeline/timeline-free-trial.tsx"],"sourcesContent":["export enum DEBIT_STRATEGY_ENUM {\n CHARGE_FULL = 'charge_full',\n CHARGE_NEXT_CYCLE = 'charge_next_cycle',\n CHARGE_PRORATED = 'charge_prorated',\n}\n",".timeline-container {\n width: 100%;\n margin: 0 auto;\n}\n\n.timeline {\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 16px;\n background: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border);\n border-radius: 8px;\n justify-content: space-evenly;\n}\n\n.timeline-event {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n position: relative;\n}\n\n.timeline-icon-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n gap: 4px;\n}\n.timeline-connector-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n min-height: 45px;\n}\n.timeline-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n flex-shrink: 0;\n z-index: 2;\n gap: 4px;\n}\n\n.timeline-connector-icon {\n display: block;\n flex-shrink: 0;\n z-index: 1;\n}\n\n.event-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.discount-info {\n margin-top: 8px;\n}\n\n.event-date rebill-icon {\n display: inline-block;\n vertical-align: text-top;\n margin: 0 4px;\n width: 14px;\n height: 14px;\n transform: translateY(-1px);\n}\n\n@media (max-width: 1024px) {\n .timeline {\n border: none;\n padding: 0;\n }\n\n .timeline-event {\n gap: 12px;\n align-items: flex-start;\n }\n\n .timeline-icon {\n width: 28px;\n height: 28px;\n }\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport i18n from '../../../i18n/i18n.config';\nimport { DEBIT_STRATEGY_ENUM } from '../../../models/enums/debit-strategy.enum';\nimport { SESSION_DISCOUNT_TYPE_ENUM } from '../../../models/enums/session.enum';\nimport { sessionState } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport { formatAmount } from '../../../utils/currency-formatter';\n\ninterface TimelineEvent {\n day: number;\n type: 'today' | 'first_charge' | 'recurring';\n date: string;\n title: string;\n description?: string;\n icon: string;\n amount?: string;\n discountInfo?: string;\n}\n\n@Component({\n tag: 'rebill-timeline-debit-day',\n styleUrl: 'timeline-debit-day.css',\n shadow: false,\n})\nexport class TimelineDebitDay {\n @State() currentLanguage: string;\n\n @Prop() debitDay: number;\n @Prop() totalAmount: number;\n @Prop() planAmount: number;\n @Prop() currency: string;\n @Prop() debitStrategy: DEBIT_STRATEGY_ENUM;\n @Prop() language?: string;\n @Prop() discountApplied: boolean = false;\n @Prop() discountType: SESSION_DISCOUNT_TYPE_ENUM;\n @Prop() discountedPercentage: number = 0;\n @Prop() discountDuration: number = 0;\n @Prop() discountAmount: number = 0;\n\n private get totalAmountFormatted() {\n return formatAmount(this.totalAmount, this.currency, false);\n }\n\n private get planAmountFormatted() {\n return formatAmount(this.planAmount, this.currency, false);\n }\n\n private getDurationTranslation(duration: number): string {\n return duration === 1\n ? i18n.t('summary.month_one')\n : i18n.t('summary.month_other', { count: duration });\n }\n\n private get hasDiscountApplied(): boolean {\n return this.discountApplied && (this.discountedPercentage > 0 || this.discountAmount > 0);\n }\n\n private getDiscountDescription(): string {\n if (!this.hasDiscountApplied) return '';\n\n const couponCode =\n sessionState.data.discount.couponCode || sessionState.data.pricing.discountCouponCode;\n const discount =\n this.discountType === SESSION_DISCOUNT_TYPE_ENUM.PERCENTAGE\n ? `${this.discountedPercentage}%`\n : formatAmount(this.discountAmount, this.currency);\n\n if (this.discountDuration) {\n return i18n.t(`summary.planDiscountDescriptionWithDuration`, {\n discount: couponCode ? `${couponCode} – ${discount}` : discount,\n duration: this.getDurationTranslation(this.discountDuration),\n });\n } else {\n return i18n.t(`summary.planDiscountDescriptionWithoutDuration`, {\n discount: couponCode ? `${couponCode} – ${discount}` : discount,\n });\n }\n }\n\n private calculateDelayedChargeDate(): string {\n if (!this.hasDiscountApplied || !this.discountDuration) {\n return this.getDateForDay(this.debitDay);\n }\n\n const today = new Date();\n const targetDate = new Date(today);\n\n targetDate.setMonth(today.getMonth() + this.discountDuration);\n targetDate.setDate(this.debitDay);\n\n return targetDate.toLocaleDateString(this.currentLanguage, {\n day: 'numeric',\n month: 'long',\n timeZone: 'UTC',\n });\n }\n\n componentWillLoad() {\n this.currentLanguage = this.language || i18n.language;\n i18n.on('languageChanged', this.handleLanguageChange);\n }\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.currentLanguage = this.language || i18n.language;\n };\n\n private getDateForDay(dayNumber: number): string {\n const today = new Date();\n const targetDate = new Date(today);\n\n if (dayNumber === 1) {\n // Día 1 es siempre hoy\n return targetDate.toLocaleDateString(this.currentLanguage, {\n day: 'numeric',\n month: 'long',\n timeZone: 'UTC',\n });\n } else {\n const currentMonth = today.getMonth();\n\n if (this.debitDay < today.getDate()) {\n targetDate.setMonth(currentMonth + 1);\n }\n\n targetDate.setDate(this.debitDay);\n return targetDate.toLocaleDateString(this.currentLanguage, {\n day: 'numeric',\n month: 'long',\n timeZone: 'UTC',\n });\n }\n }\n\n private getNextMonthName(): string {\n const today = new Date();\n const nextMonth = new Date(today);\n nextMonth.setMonth(today.getMonth() + 1);\n return nextMonth.toLocaleDateString(this.currentLanguage, {\n month: 'long',\n timeZone: 'UTC',\n });\n }\n\n private getMonthNameForDebitDay(): string {\n const today = new Date();\n const targetDate = new Date(today);\n if (this.debitDay < today.getDate()) {\n targetDate.setMonth(today.getMonth() + 1);\n }\n\n return targetDate.toLocaleDateString(this.currentLanguage, {\n month: 'long',\n timeZone: 'UTC',\n });\n }\n\n private getMonthNameForDelayedCharge(): string {\n if (!this.hasDiscountApplied || !this.discountDuration) {\n return this.getNextMonthName();\n }\n\n const today = new Date();\n const targetDate = new Date(today);\n targetDate.setMonth(today.getMonth() + this.discountDuration);\n\n return targetDate.toLocaleDateString(this.currentLanguage, {\n month: 'long',\n timeZone: 'UTC',\n });\n }\n\n private buildEvents(): TimelineEvent[] {\n const events: TimelineEvent[] = [];\n const nextMonthName = this.getNextMonthName();\n const delayedChargeDate = this.calculateDelayedChargeDate();\n const discountInfo = this.hasDiscountApplied ? this.getDiscountDescription() : undefined;\n\n switch (this.debitStrategy) {\n case DEBIT_STRATEGY_ENUM.CHARGE_FULL:\n events.push({\n day: 1,\n type: 'today',\n date: this.getDateForDay(1),\n title: i18n.t('timeline.today'),\n description: i18n.t('timeline.chargeFullToday', {\n amount: `$${this.totalAmountFormatted}`,\n }),\n icon: 'circle-calendar',\n discountInfo,\n });\n\n events.push({\n day: this.debitDay,\n type: 'recurring',\n date: this.hasDiscountApplied ? delayedChargeDate : '',\n title: i18n.t('timeline.after'),\n description: i18n.t('timeline.recurringCharge', {\n day: this.debitDay,\n amount: `$${this.planAmountFormatted}`,\n month: this.hasDiscountApplied ? this.getMonthNameForDelayedCharge() : nextMonthName,\n }),\n icon: 'circle-receipt-active',\n });\n break;\n\n case DEBIT_STRATEGY_ENUM.CHARGE_NEXT_CYCLE:\n events.push({\n day: 1,\n type: 'today',\n date: this.getDateForDay(1),\n title: i18n.t('timeline.today'),\n icon: 'circle-calendar',\n amount: `$${this.totalAmountFormatted}`,\n discountInfo,\n });\n\n events.push({\n day: this.debitDay,\n type: 'first_charge',\n date: this.hasDiscountApplied ? delayedChargeDate : this.getDateForDay(this.debitDay),\n title: i18n.t('timeline.firstCharge'),\n description: '',\n icon: 'circle-receipt',\n amount: `$${this.planAmountFormatted}`,\n });\n\n events.push({\n day: this.debitDay + 1,\n type: 'recurring',\n date: '',\n title: i18n.t('timeline.after'),\n description: i18n.t('timeline.recurringCharge', {\n day: this.debitDay,\n amount: `$${this.planAmountFormatted}`,\n month: this.hasDiscountApplied ? this.getMonthNameForDelayedCharge() : nextMonthName,\n }),\n icon: 'clock-and-calendar',\n });\n break;\n\n case DEBIT_STRATEGY_ENUM.CHARGE_PRORATED:\n events.push({\n day: 1,\n type: 'today',\n date: this.getDateForDay(1),\n title: i18n.t('timeline.today'),\n description: i18n.t('timeline.proratedCharge', {\n amount: `$${this.totalAmountFormatted}`,\n day: this.debitDay,\n month: this.getMonthNameForDebitDay(),\n }),\n icon: 'circle-calendar',\n amount: `$${this.totalAmountFormatted}`,\n discountInfo,\n });\n\n events.push({\n day: this.debitDay,\n type: 'first_charge',\n date: this.hasDiscountApplied ? delayedChargeDate : this.getDateForDay(this.debitDay),\n title: i18n.t('timeline.firstCharge'),\n description: '',\n icon: 'circle-receipt',\n amount: `$${this.planAmountFormatted}`,\n });\n\n events.push({\n day: this.debitDay + 1,\n type: 'recurring',\n date: '',\n title: i18n.t('timeline.after'),\n description: i18n.t('timeline.recurringCharge', {\n day: this.debitDay,\n amount: `$${this.planAmountFormatted}`,\n month: this.hasDiscountApplied ? this.getMonthNameForDelayedCharge() : nextMonthName,\n }),\n icon: 'clock-and-calendar',\n });\n break;\n }\n\n return events;\n }\n\n private renderEvent(event: TimelineEvent, isLast: boolean, isFirst: boolean) {\n const events = this.buildEvents();\n const totalEvents = events.length;\n\n return (\n <div key={event.day} class=\"timeline-event\">\n <div class=\"timeline-icon-container\">\n <rebill-icon name={event.icon} style={{ marginTop: '3px' }} />\n <div class=\"timeline-connector-container\">\n {!isLast &&\n (isFirst ? (\n totalEvents === 2 ? (\n <rebill-vertical-divider\n connectorActive\n color={COLORS_ENUM.INFO_BORDER}\n class=\"timeline-connector-icon\"\n height={event.discountInfo ? '65px' : '45px'}\n />\n ) : (\n <rebill-vertical-divider\n connectorActive\n color={COLORS_ENUM.INFO_BORDER}\n class=\"timeline-connector-icon\"\n height={event.discountInfo ? '65px' : '45px'}\n withDot\n />\n )\n ) : (\n <rebill-vertical-divider\n color={COLORS_ENUM.TIMELINE_CONNECTOR}\n class=\"timeline-connector-icon\"\n height={event.discountInfo ? '65px' : '45px'}\n />\n ))}\n </div>\n </div>\n <div class=\"event-content\">\n <rebill-typography variant=\"subtitle-bold\">{event.title}</rebill-typography>\n <div class=\"event-date\">\n <rebill-typography variant=\"body2\">\n {event.amount ? (\n <span>\n {event.date} <rebill-icon name=\"arrow-right\" /> {event.amount} {event.description}\n </span>\n ) : event.date ? (\n `${event.date} - ${event.description}`\n ) : (\n event.description\n )}\n </rebill-typography>\n </div>\n {event.discountInfo && (\n <div class=\"discount-info\">\n <rebill-alert\n variant=\"filled\"\n type=\"coupon\"\n icon=\"tag-green\"\n size=\"small\"\n colorIcon={COLORS_ENUM.GREEN}\n alertTitle={event.discountInfo}\n />\n </div>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n const events = this.buildEvents();\n\n return (\n <div class=\"timeline-container\">\n <div class=\"timeline\">\n {events.map((event, index) =>\n this.renderEvent(event, index === events.length - 1, index === 0),\n )}\n </div>\n </div>\n );\n }\n}\n",".timeline-container {\n width: 100%;\n margin: 0 auto;\n}\n\n.timeline {\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 16px;\n background: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border);\n border-radius: 8px;\n justify-content: space-evenly;\n}\n\n.timeline-event {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n position: relative;\n}\n\n.timeline-icon-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n gap: 4px;\n}\n.timeline-connector-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n min-height: 40px;\n}\n.timeline-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n flex-shrink: 0;\n z-index: 2;\n gap: 4px;\n}\n\n.timeline-connector-divider {\n display: block;\n flex-shrink: 0;\n z-index: 1;\n}\n\n.event-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.discount-info {\n margin-top: 8px;\n}\n\n@media (max-width: 1024px) {\n .timeline {\n border: none;\n padding: 0;\n }\n\n .timeline-event {\n gap: 12px;\n align-items: flex-start;\n }\n\n .timeline-icon {\n width: 28px;\n height: 28px;\n }\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport i18n from '../../../i18n/i18n.config';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { SESSION_DISCOUNT_TYPE_ENUM } from '../../../models/enums/session.enum';\nimport { sessionState } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport { formatAmount } from '../../../utils/currency-formatter';\n\ninterface TimelineEvent {\n day: number;\n type: 'start' | 'reminder' | 'last' | 'renewal';\n date: string;\n title: string;\n description: string;\n icon: string;\n discountInfo?: string;\n amount?: string;\n}\n\n@Component({\n tag: 'rebill-timeline-free-trial',\n styleUrl: 'timeline-free-trial.css',\n shadow: false,\n})\nexport class Timeline {\n @State() currentLanguage: string;\n\n @Prop() trialPeriodEndsAt: string;\n @Prop() trialPeriodEndsReminderAt?: string;\n @Prop() trialPeriodDays: number;\n @Prop() subtotal: number;\n @Prop() currency: string;\n @Prop() language?: string;\n @Prop() discountApplied: boolean = false;\n @Prop() discountType: SESSION_DISCOUNT_TYPE_ENUM;\n @Prop() discountedPercentage: number = 0;\n @Prop() discountDuration: number = 0;\n @Prop() discountAmount: number = 0;\n\n private get amount() {\n return formatAmount(this.subtotal, this.currency, false);\n }\n\n private getDurationTranslation(duration: number): string {\n return duration === 1\n ? i18n.t('summary.month_one')\n : i18n.t('summary.month_other', { count: duration });\n }\n\n private get hasDiscountApplied(): boolean {\n const hasDiscountInStore = Boolean(\n sessionState.data.discount?.couponCode ||\n sessionState.data.pricing?.discountCouponCode ||\n sessionState.data.discount?.discountType ||\n (this.discountType && (this.discountedPercentage > 0 || this.discountAmount > 0)),\n );\n\n return hasDiscountInStore;\n }\n\n private getDiscountDescription(): string {\n if (!this.hasDiscountApplied) return '';\n\n const couponCode =\n sessionState.data.discount.couponCode || sessionState.data.pricing.discountCouponCode;\n const discount =\n this.discountType === SESSION_DISCOUNT_TYPE_ENUM.PERCENTAGE\n ? `${this.discountedPercentage}%`\n : formatAmount(this.discountAmount, this.currency);\n\n if (this.discountDuration) {\n return i18n.t(`summary.planDiscountDescriptionWithDuration`, {\n discount: couponCode ? `${couponCode} – ${discount}` : discount,\n duration: this.getDurationTranslation(this.discountDuration),\n });\n } else {\n return i18n.t(`summary.planDiscountDescriptionWithoutDuration`, {\n discount: couponCode ? `${couponCode} – ${discount}` : discount,\n });\n }\n }\n\n private calculateRenewalDate(): string {\n if (!this.discountDuration || !this.trialPeriodEndsAt) {\n return this.trialPeriodEndsAt;\n }\n const trialEndDate = new Date(this.trialPeriodEndsAt);\n const renewalDate = new Date(trialEndDate);\n renewalDate.setMonth(renewalDate.getMonth() + this.discountDuration);\n\n return renewalDate.toISOString();\n }\n\n componentWillLoad() {\n this.currentLanguage = this.language || I18nService.getCurrentLanguage();\n i18n.on('languageChanged', this.handleLanguageChange);\n }\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.currentLanguage = this.language || I18nService.getCurrentLanguage();\n };\n\n private getDateForDay(dayNumber: string | number | null): string {\n if (typeof dayNumber === 'string') {\n const date = new Date(dayNumber);\n return (\n date.getDate().toString() +\n ' de ' +\n date.toLocaleDateString(this.currentLanguage, {\n month: 'long',\n timeZone: 'UTC',\n })\n );\n } else {\n const today = new Date();\n const targetDate = new Date(today);\n const day = dayNumber || 1;\n targetDate.setDate(today.getDate() + (day - 1));\n return targetDate.toLocaleDateString(this.currentLanguage, {\n day: 'numeric',\n month: 'long',\n timeZone: 'UTC',\n });\n }\n }\n\n private buildEvents(): TimelineEvent[] {\n const events: TimelineEvent[] = [];\n\n events.push({\n day: 1,\n type: 'start',\n date: this.getDateForDay(null),\n title: i18n.t('timeline.dayOne'),\n description: i18n.t('timeline.startTrial', {\n count: this.trialPeriodDays,\n trialDays: this.trialPeriodDays,\n }),\n icon: 'circle-calendar',\n });\n\n const lastDayNumber = this.trialPeriodDays === 1 ? 2 : this.trialPeriodDays;\n\n const subscriptionAmount =\n this.hasDiscountApplied && this.subtotal === 0 ? '$0' : `$${this.amount}`;\n\n const lastDay: TimelineEvent = {\n day: lastDayNumber,\n type: 'last',\n date: this.getDateForDay(this.trialPeriodEndsAt),\n title: i18n.t('timeline.lastDay', { day: lastDayNumber }),\n description: i18n.t('timeline.subscriptionStart', { amount: subscriptionAmount }),\n icon: 'circle-receipt',\n discountInfo: this.hasDiscountApplied ? this.getDiscountDescription() : undefined,\n };\n\n if (this.trialPeriodEndsReminderAt) {\n if (this.trialPeriodDays === 3) {\n events.push({\n day: 2,\n type: 'reminder',\n date: this.getDateForDay(this.trialPeriodEndsReminderAt),\n title: i18n.t('timeline.reminder', { day: 2 }),\n description: i18n.t('timeline.lastDaysReminder', { days: 2 }),\n icon: 'bell',\n });\n } else if (this.trialPeriodDays > 3) {\n events.push({\n day: this.trialPeriodDays,\n type: 'reminder',\n date: this.getDateForDay(this.trialPeriodEndsReminderAt),\n title: i18n.t('timeline.reminder', { day: this.trialPeriodDays - 2 }),\n description: i18n.t('timeline.lastDaysReminder', { days: 2 }),\n icon: 'bell',\n });\n }\n }\n\n events.push(lastDay);\n\n if (this.hasDiscountApplied && this.discountDuration !== null) {\n const renewalAmount = sessionState.data.pricing.planAmount;\n const renewalDate = this.calculateRenewalDate();\n\n events.push({\n day: lastDayNumber + 1,\n type: 'renewal',\n date: this.getDateForDay(renewalDate),\n title: i18n.t('timeline.subscriptionRenewal'),\n description: i18n.t('timeline.renewalAmount', {\n amount: `$${formatAmount(renewalAmount, this.currency, false)}`,\n }),\n icon: 'renewal',\n amount: `$${formatAmount(renewalAmount, this.currency, false)}`,\n });\n }\n\n return events;\n }\n\n private renderEvent(\n event: TimelineEvent,\n isLast: boolean,\n isFirst: boolean,\n totalEvents: number,\n ) {\n return (\n <div key={event.day} class=\"timeline-event\">\n <div class=\"timeline-icon-container\">\n <rebill-icon name={event.icon} style={{ marginTop: '3px' }} />\n <div class=\"timeline-connector-container\">\n {!isLast &&\n (isFirst ? (\n totalEvents === 2 ? (\n <rebill-vertical-divider\n connectorActive\n color={COLORS_ENUM.INFO_BORDER}\n class=\"timeline-connector-divider\"\n height={event.discountInfo ? '65px' : '45px'}\n />\n ) : (\n <rebill-vertical-divider\n connectorActive\n color={COLORS_ENUM.INFO_BORDER}\n class=\"timeline-connector-divider\"\n height={event.discountInfo ? '65px' : '45px'}\n withDot\n />\n )\n ) : (\n <rebill-vertical-divider\n color={COLORS_ENUM.TIMELINE_CONNECTOR}\n class=\"timeline-connector-divider\"\n height={event.discountInfo ? '65px' : '45px'}\n />\n ))}\n </div>\n </div>\n <div class=\"event-content\">\n <rebill-typography variant=\"subtitle-bold\">{event.title}</rebill-typography>\n <div class=\"event-date\">\n <rebill-typography variant=\"body2\">\n {`${event.date} - ${event.description}`}\n </rebill-typography>\n </div>\n {event.discountInfo && (\n <div class=\"discount-info\">\n <rebill-alert\n variant=\"filled\"\n type=\"coupon\"\n icon=\"tag-green\"\n size=\"small\"\n colorIcon={COLORS_ENUM.GREEN}\n alertTitle={event.discountInfo}\n />\n </div>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n const events = this.buildEvents();\n\n return (\n <div class=\"timeline-container\">\n <div class=\"timeline\">\n {events.map((event, index) =>\n this.renderEvent(event, index === events.length - 1, index === 0, events.length),\n )}\n </div>\n </div>\n );\n }\n}\n"],"names":["i18n","sessionState"],"mappings":"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"}
|
|
@@ -1,119 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance,
|
|
2
|
-
import {
|
|
3
|
-
import { s as state, a as SessionStore, I as I18nService, g as formatAmountWithoutCurrency, f as formatAmount, e as instance, d as SESSION_DISCOUNT_TYPE_ENUM } from './i18n.service-D2TBhbJY.js';
|
|
1
|
+
import { r as registerInstance, h } from './index-D8cwEAmw.js';
|
|
2
|
+
import { f as formatAmount, e as instance, d as SESSION_DISCOUNT_TYPE_ENUM, s as state, I as I18nService } from './i18n.service-D2TBhbJY.js';
|
|
4
3
|
import { C as COLORS_ENUM } from './color-class-mapper-DA598vBj.js';
|
|
5
|
-
import './_commonjsHelpers-E-ZsRS8r.js';
|
|
6
|
-
import './config-BuNv9JwG.js';
|
|
7
|
-
|
|
8
|
-
const discountCouponCss = ".summary-row{gap:12px}.coupon-chip{display:flex;align-items:center;background:var(--rebill-color-background);border:1px solid var(--rebill-color-border-primary);justify-content:space-between;border-radius:6px;padding:4px 8px;gap:8px;width:fit-content}.coupon-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;vertical-align:middle}.coupon-close{cursor:pointer}.coupon-content{display:flex;flex-direction:row;align-items:flex-start;gap:4px}";
|
|
9
|
-
|
|
10
|
-
var ACTION_STATUS;
|
|
11
|
-
(function (ACTION_STATUS) {
|
|
12
|
-
ACTION_STATUS["EDITING"] = "editing";
|
|
13
|
-
ACTION_STATUS["APPLIED"] = "applied";
|
|
14
|
-
ACTION_STATUS["NOT_APPLIED"] = "not_applied";
|
|
15
|
-
})(ACTION_STATUS || (ACTION_STATUS = {}));
|
|
16
|
-
const DiscountCoupon = class {
|
|
17
|
-
constructor(hostRef) {
|
|
18
|
-
registerInstance(this, hostRef);
|
|
19
|
-
this.discountApplied = createEvent(this, "discountApplied");
|
|
20
|
-
}
|
|
21
|
-
get el() { return getElement(this); }
|
|
22
|
-
hideLabel = false;
|
|
23
|
-
couponCode = '';
|
|
24
|
-
actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
25
|
-
isLoading = false;
|
|
26
|
-
isError = false;
|
|
27
|
-
currentLocale = state.currentLocale;
|
|
28
|
-
discountApplied;
|
|
29
|
-
inputRef;
|
|
30
|
-
unsubscribeCurrentLocaleStore;
|
|
31
|
-
componentWillLoad() {
|
|
32
|
-
this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {
|
|
33
|
-
this.currentLocale = state.currentLocale;
|
|
34
|
-
});
|
|
35
|
-
if (state.data.pricing.discountCouponCode &&
|
|
36
|
-
state.data.pricing.discountAmount > 0) {
|
|
37
|
-
this.actionStatus = ACTION_STATUS.APPLIED;
|
|
38
|
-
this.couponCode = state.data.pricing.discountCouponCode;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
disconnectedCallback() {
|
|
42
|
-
if (this.unsubscribeCurrentLocaleStore) {
|
|
43
|
-
this.unsubscribeCurrentLocaleStore();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
componentDidUpdate() {
|
|
47
|
-
if (this.actionStatus === ACTION_STATUS.EDITING && this.inputRef) {
|
|
48
|
-
setTimeout(async () => {
|
|
49
|
-
const inputElement = await this.inputRef.getInputElement();
|
|
50
|
-
if (inputElement) {
|
|
51
|
-
inputElement.focus();
|
|
52
|
-
}
|
|
53
|
-
}, 0);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async onApplyCoupon() {
|
|
57
|
-
const sessionId = state.data.sessionId;
|
|
58
|
-
if (!sessionId) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this.isLoading = true;
|
|
62
|
-
try {
|
|
63
|
-
const response = await api.discountCoupon.applyDiscountCoupon({
|
|
64
|
-
couponCode: this.couponCode,
|
|
65
|
-
quantity: 1,
|
|
66
|
-
sessionId: sessionId,
|
|
67
|
-
organizationId: state.data.organization.id,
|
|
68
|
-
});
|
|
69
|
-
this.actionStatus = ACTION_STATUS.APPLIED;
|
|
70
|
-
SessionStore.setDiscount({
|
|
71
|
-
couponCode: this.couponCode,
|
|
72
|
-
amount: response.amount,
|
|
73
|
-
discountType: response.discountType,
|
|
74
|
-
discountAmount: response.discountedAmount,
|
|
75
|
-
discountedPercentage: response?.discountedPercentage || 0,
|
|
76
|
-
discountDuration: response?.discountDuration || null,
|
|
77
|
-
});
|
|
78
|
-
this.discountApplied.emit(true);
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
this.actionStatus = ACTION_STATUS.EDITING;
|
|
82
|
-
this.discountApplied.emit(false);
|
|
83
|
-
this.isError = true;
|
|
84
|
-
SessionStore.setDiscount(null);
|
|
85
|
-
}
|
|
86
|
-
finally {
|
|
87
|
-
this.isLoading = false;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
onCancelCoupon() {
|
|
91
|
-
this.actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
92
|
-
this.couponCode = '';
|
|
93
|
-
this.isError = false;
|
|
94
|
-
}
|
|
95
|
-
render() {
|
|
96
|
-
return (h("div", { key: '366d010b25c95f9151cab93b7ab0179ab063918e' }, h("div", { key: '341105a1170a0b823c2c3338dafe3b1d8f628119', class: "summary-row", style: {
|
|
97
|
-
alignItems: this.actionStatus === ACTION_STATUS.EDITING ? 'flex-start' : 'center',
|
|
98
|
-
display: 'flex',
|
|
99
|
-
} }, !this.hideLabel && (h("rebill-typography", { key: '2b6a9fa53506c0c80a7e59c258f3ea80e4fa0b31', variant: "body2", style: { marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '7px' : '0px' } }, I18nService.translate('discountCoupons.discount'))), this.actionStatus === ACTION_STATUS.NOT_APPLIED && (h("rebill-button", { key: '2259ac442f6dba32bf0a1442670f51a1f3a55332', variant: "filled", size: "small", theme: "primary-dark", onClick: () => (this.actionStatus = ACTION_STATUS.EDITING) }, I18nService.translate('discountCoupons.addDiscount'))), this.actionStatus === ACTION_STATUS.EDITING && (h("div", { key: '008458abeaaf911a86dc451576dd2833cef3687b', class: "summary-row", style: { alignItems: 'flex-start', display: 'flex' } }, h("rebill-input-text", { key: 'd77c4576379dcd8d31d443a63350680894ea8605', ref: el => (this.inputRef = el), id: "discountCoupon", value: this.couponCode, placeholder: I18nService.translate('discountCoupons.addDiscount'), disabled: this.isLoading, error: this.isError ? I18nService.translate('discountCoupons.error') : '', clearable: true, uppercase: true, onInput: e => {
|
|
100
|
-
e.stopPropagation();
|
|
101
|
-
if (e.detail && e.detail.value !== undefined) {
|
|
102
|
-
this.couponCode = e.detail.value;
|
|
103
|
-
}
|
|
104
|
-
}, onBlur: () => {
|
|
105
|
-
if (!this.couponCode.trim()) {
|
|
106
|
-
this.onCancelCoupon();
|
|
107
|
-
}
|
|
108
|
-
} }), h("rebill-button", { key: 'c443f099eaa744021781e71eefb311431cc98bc6', variant: "filled", theme: "primary-dark", size: "small", loading: this.isLoading, disabled: this.isLoading || !this.couponCode.trim(), onClick: () => this.onApplyCoupon(), style: { marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '3px' : '0px' } }, I18nService.translate('discountCoupons.apply')))), this.actionStatus === ACTION_STATUS.APPLIED && (h("div", { key: 'db15499dd129d7135ee34794aadacde986e54068', class: "coupon-chip" }, h("rebill-icon", { key: 'cf1ec0d39155845385c14e98734b0d6cf12eb10a', name: "tag-sale", size: "16px" }), h("div", { key: '69643045112e2867e0fa940fbd960e351fa22395', class: "coupon-content", onClick: () => (this.actionStatus = ACTION_STATUS.EDITING) }, h("rebill-typography", { key: '317e333aa0bd3ffba9958972743e339dac26d7d0', variant: "overline", color: COLORS_ENUM.PRIMARY_DARK_TEXT }, state.data.pricing.discountCouponCode), h("rebill-typography", { key: '2b1e784de8842f3b224e3d53e2a8b4281d29a3fb', variant: "overline", color: COLORS_ENUM.GREEN }, "-$", formatAmountWithoutCurrency(state.data.pricing.discountAmount, state.data.pricing.currency))), h("div", { key: '5f539771bef0794592c23cbe15be07b8d11ee9ae', class: "coupon-close", onClick: () => {
|
|
109
|
-
this.actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
110
|
-
this.couponCode = '';
|
|
111
|
-
SessionStore.setDiscount(null);
|
|
112
|
-
this.discountApplied.emit(false);
|
|
113
|
-
} }, h("rebill-icon", { key: '00137566f4c61517a10aa86374f9359a1e291051', name: "x", size: "20px", color: COLORS_ENUM.PRIMARY_DARK_TEXT })))))));
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
DiscountCoupon.style = discountCouponCss;
|
|
117
4
|
|
|
118
5
|
var DEBIT_STRATEGY_ENUM;
|
|
119
6
|
(function (DEBIT_STRATEGY_ENUM) {
|
|
@@ -364,7 +251,7 @@ const TimelineDebitDay = class {
|
|
|
364
251
|
}
|
|
365
252
|
render() {
|
|
366
253
|
const events = this.buildEvents();
|
|
367
|
-
return (h("div", { key: '
|
|
254
|
+
return (h("div", { key: 'ef56072d4c83ca886b0dc7fded2d21cece3c58f8', class: "timeline-container" }, h("div", { key: '420ac37e41eac4cac58cd813fe8d32de218425ba', class: "timeline" }, events.map((event, index) => this.renderEvent(event, index === events.length - 1, index === 0)))));
|
|
368
255
|
}
|
|
369
256
|
};
|
|
370
257
|
TimelineDebitDay.style = timelineDebitDayCss;
|
|
@@ -532,10 +419,10 @@ const Timeline = class {
|
|
|
532
419
|
}
|
|
533
420
|
render() {
|
|
534
421
|
const events = this.buildEvents();
|
|
535
|
-
return (h("div", { key: '
|
|
422
|
+
return (h("div", { key: '37de134204fd8f16fbdf92fedbe9619609082688', class: "timeline-container" }, h("div", { key: '324b73198c205eb8efa5a407ca2d4a5570145c51', class: "timeline" }, events.map((event, index) => this.renderEvent(event, index === events.length - 1, index === 0, events.length)))));
|
|
536
423
|
}
|
|
537
424
|
};
|
|
538
425
|
Timeline.style = timelineFreeTrialCss;
|
|
539
426
|
|
|
540
|
-
export {
|
|
541
|
-
//# sourceMappingURL=
|
|
427
|
+
export { TimelineDebitDay as rebill_timeline_debit_day, Timeline as rebill_timeline_free_trial };
|
|
428
|
+
//# sourceMappingURL=rebill-timeline-debit-day.rebill-timeline-free-trial.entry.js.map
|
|
@@ -14,7 +14,7 @@ const VerticalDivider = class {
|
|
|
14
14
|
connectorActive = false;
|
|
15
15
|
withDot = false;
|
|
16
16
|
render() {
|
|
17
|
-
return (h("div", { key: '
|
|
17
|
+
return (h("div", { key: 'eb4eb689ee3b202277acf9afe8824b0eaf92eee6', class: `rebill-vertical-divider ${this.dashed ? 'dashed' : ''} ${this.connectorActive ? 'connectorActive' : ''} ${this.withDot ? 'with-dot' : ''}`, style: {
|
|
18
18
|
'--divider-color': colorClassMapper(this.color),
|
|
19
19
|
'--divider-thickness': this.thickness,
|
|
20
20
|
'--divider-dashed': this.dashed ? '2 2' : 'none',
|