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
|
-
{"file":"p-fEiok6NF.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18n"],"sources":["src/components/shared/mode-sandbox/mode-sandbox-mobile.css?tag=rebill-mode-sandbox-mobile","src/components/shared/mode-sandbox/mode-sandbox-mobile.tsx"],"sourcesContent":[":host {\n display: flex;\n position: relative;\n width: 100%;\n justify-content: center;\n align-items: center;\n}\n\n.mode-sandbox-mobile__test-mode-container {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n}\n\n.mode-sandbox-mobile__overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 5;\n animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n pointer-events: auto;\n cursor: pointer;\n}\n\n.mode-sandbox-mobile__test-mode-chip-mobile {\n display: flex;\n width: 100%;\n min-width: auto;\n max-width: 100%;\n height: 40px;\n background: #ffffff;\n border: 1px solid #e5e7eb;\n border-radius: 20px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n position: relative;\n z-index: 20;\n}\n\n.mode-sandbox-mobile__chip-content-mobile {\n display: flex;\n align-items: center;\n gap: 2px;\n justify-content: flex-end;\n min-height: 24px;\n flex-shrink: 0;\n width: 100%;\n margin: 8px;\n}\n\n.mode-sandbox-mobile__info-icon {\n display: flex;\n align-items: center;\n}\n\n.mode-sandbox-mobile__test-mode-chip-mobile.expanded .mode-sandbox-mobile__chip-content-mobile {\n justify-content: flex-end;\n width: 100%;\n}\n\n.mode-sandbox-mobile__cards-dropdown-panel-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n}\n\n/* Sección de Docs */\n.mode-sandbox-mobile__docs-section {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n margin-left: 0;\n transition: background-color 0.2s ease;\n justify-content: flex-end;\n padding: 8px;\n margin-top: 8px;\n}\n\n.mode-sandbox-mobile__cards-dropdown-panel {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n width: 100%;\n background: #ffffff;\n border-top: none;\n border-left: 1px solid #e5e7eb;\n border-right: 1px solid #e5e7eb;\n border-bottom: 1px solid #e5e7eb;\n margin-top: 16px;\n z-index: 25;\n animation: expandDown 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transform-origin: top center;\n}\n\n.mode-sandbox-mobile__card-section {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.mode-sandbox-mobile__header-content {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 8px;\n}\n\n.mode-sandbox-mobile__card-details {\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n margin: 8px;\n min-height: 208px;\n display: flex;\n flex-direction: column;\n}\n\n.mode-sandbox-mobile__card-row {\n display: flex;\n gap: 12px;\n align-items: stretch;\n background: #ffffff;\n justify-content: space-around;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n height: auto;\n padding: 8px;\n margin: 8px;\n}\n\n.mode-sandbox-mobile__card-value {\n display: flex;\n flex-direction: column;\n gap: 6px;\n flex: 1;\n}\n\n.mode-sandbox-mobile__field-value {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n max-height: 20px;\n}\n\n.mode-sandbox-mobile__copy-button {\n align-items: center;\n margin-left: auto;\n margin-right: 0;\n}\n\n.mode-sandbox-mobile__icon-button {\n margin-left: auto;\n margin-right: 16px;\n}\n\n/* Animaciones */\n\n@keyframes expandDown {\n from {\n opacity: 0;\n transform: translateY(-10px) scaleY(0.9);\n }\n to {\n opacity: 1;\n transform: translateY(0) scaleY(1);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n","import { Component, Element, h, State } from '@stencil/core';\nimport i18n from '../../../i18n/i18n.config';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { copyToClipboard } from '../../../utils/clipboard';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\n@Component({\n tag: 'rebill-mode-sandbox-mobile',\n styleUrl: 'mode-sandbox-mobile.css',\n shadow: false,\n})\nexport class RebillTestModeChipMobile {\n @Element() el: HTMLElement;\n @State() isPanelVisible = false;\n @State() currentLanguage: string = I18nService.getCurrentLanguage();\n\n componentWillLoad() {\n i18n.on('languageChanged', this.handleLanguageChange);\n }\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.currentLanguage = I18nService.getCurrentLanguage();\n };\n\n private togglePanel = () => {\n this.isPanelVisible = !this.isPanelVisible;\n };\n\n private handleCopy = (text: string) => {\n copyToClipboard(text);\n this.isPanelVisible = false;\n };\n\n private handleDocsClick = () => {\n window.open('https://v3.docs.rebill.com/sdk/checkout', '_blank');\n };\n\n private renderBasicChip() {\n return (\n <div class=\"mode-sandbox-mobile__chip-content-mobile\">\n <div class=\"mode-sandbox-mobile__info-icon\">\n <rebill-icon name=\"circle-info\" size=\"24px\" color={COLORS_ENUM.ORANGE} />\n </div>\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.testMode')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__icon-button\">\n <rebill-button variant=\"text\" size=\"small\" onClick={this.togglePanel}>\n <rebill-icon name=\"hamburger\" />\n </rebill-button>\n </div>\n </div>\n );\n }\n\n private renderCardsPanel() {\n return (\n <div class=\"mode-sandbox-mobile__cards-dropdown-panel\">\n <div class=\"mode-sandbox-mobile__cards-dropdown-panel-header\">\n <rebill-icon name=\"card-test\" />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.cardTest')}\n </rebill-typography>\n </div>\n <div class=\"mode-sandbox-mobile__card-details\">\n <div class=\"mode-sandbox-mobile__card-section\">\n <div class=\"mode-sandbox-mobile__header-content\">\n <rebill-icon name=\"succes\" color={COLORS_ENUM.GREEN} />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.successPayment')}\n </rebill-typography>\n </div>\n <div class=\"mode-sandbox-mobile__card-row\">\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cardNumber')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-icon name=\"visa\" />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 4539148803436467\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.exp')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 01/99\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cvv')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value mode-sandbox-mobile__field-value-with-copy\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 123\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__copy-button\">\n <rebill-button\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleCopy('4539148803436467 01/99 123')}\n >\n <rebill-icon name=\"copy\" />\n </rebill-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mode-sandbox-mobile__card-section\">\n <div class=\"mode-sandbox-mobile__header-content\">\n <rebill-icon name=\"rejected\" color={COLORS_ENUM.ERROR} />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.rejectedPayment')}\n </rebill-typography>\n </div>\n <div class=\"mode-sandbox-mobile__card-row\">\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cardNumber')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-icon name=\"visa\" />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 4485364739527352\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.exp')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 01/99\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cvv')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value mode-sandbox-mobile__field-value-with-copy\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 123\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__copy-button\">\n <rebill-button\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleCopy('4485364739527352 01/99 123')}\n >\n <rebill-icon name=\"copy\" />\n </rebill-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mode-sandbox-mobile__docs-section\" onClick={this.handleDocsClick}>\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY}>\n {I18nService.translate('sandbox.docs')}\n </rebill-typography>\n <rebill-icon name=\"external-link\" />\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <div\n class={`mode-sandbox-mobile__test-mode-container ${this.isPanelVisible ? 'cards-visible' : ''}`}\n >\n {this.isPanelVisible && <div class=\"mode-sandbox-mobile__overlay\"></div>}\n <div\n class={`mode-sandbox-mobile__test-mode-chip-mobile ${this.isPanelVisible ? 'expanded' : ''}`}\n >\n {this.renderBasicChip()}\n </div>\n {this.isPanelVisible && this.renderCardsPanel()}\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CfUbJq8-.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18n"],"sources":["src/components/shared/mode-sandbox/mode-sandbox-mobile.css?tag=rebill-mode-sandbox-mobile","src/components/shared/mode-sandbox/mode-sandbox-mobile.tsx"],"sourcesContent":[":host {\n display: flex;\n position: relative;\n width: 100%;\n justify-content: center;\n align-items: center;\n}\n\n.mode-sandbox-mobile__test-mode-container {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n}\n\n.mode-sandbox-mobile__overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 5;\n animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n pointer-events: auto;\n cursor: pointer;\n}\n\n.mode-sandbox-mobile__test-mode-chip-mobile {\n display: flex;\n width: 100%;\n min-width: auto;\n max-width: 100%;\n height: 40px;\n background: #ffffff;\n border: 1px solid #e5e7eb;\n border-radius: 20px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n position: relative;\n z-index: 20;\n}\n\n.mode-sandbox-mobile__chip-content-mobile {\n display: flex;\n align-items: center;\n gap: 2px;\n justify-content: flex-end;\n min-height: 24px;\n flex-shrink: 0;\n width: 100%;\n margin: 8px;\n}\n\n.mode-sandbox-mobile__info-icon {\n display: flex;\n align-items: center;\n}\n\n.mode-sandbox-mobile__test-mode-chip-mobile.expanded .mode-sandbox-mobile__chip-content-mobile {\n justify-content: flex-end;\n width: 100%;\n}\n\n.mode-sandbox-mobile__cards-dropdown-panel-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px;\n}\n\n/* Sección de Docs */\n.mode-sandbox-mobile__docs-section {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n margin-left: 0;\n transition: background-color 0.2s ease;\n justify-content: flex-end;\n padding: 8px;\n margin-top: 8px;\n}\n\n.mode-sandbox-mobile__cards-dropdown-panel {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n width: 100%;\n background: #ffffff;\n border-top: none;\n border-left: 1px solid #e5e7eb;\n border-right: 1px solid #e5e7eb;\n border-bottom: 1px solid #e5e7eb;\n margin-top: 16px;\n z-index: 25;\n animation: expandDown 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n transform-origin: top center;\n}\n\n.mode-sandbox-mobile__card-section {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.mode-sandbox-mobile__header-content {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 8px;\n}\n\n.mode-sandbox-mobile__card-details {\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n margin: 8px;\n min-height: 208px;\n display: flex;\n flex-direction: column;\n}\n\n.mode-sandbox-mobile__card-row {\n display: flex;\n gap: 12px;\n align-items: stretch;\n background: #ffffff;\n justify-content: space-around;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n height: auto;\n padding: 8px;\n margin: 8px;\n}\n\n.mode-sandbox-mobile__card-value {\n display: flex;\n flex-direction: column;\n gap: 6px;\n flex: 1;\n}\n\n.mode-sandbox-mobile__field-value {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n max-height: 20px;\n}\n\n.mode-sandbox-mobile__copy-button {\n align-items: center;\n margin-left: auto;\n margin-right: 0;\n}\n\n.mode-sandbox-mobile__icon-button {\n margin-left: auto;\n margin-right: 16px;\n}\n\n/* Animaciones */\n\n@keyframes expandDown {\n from {\n opacity: 0;\n transform: translateY(-10px) scaleY(0.9);\n }\n to {\n opacity: 1;\n transform: translateY(0) scaleY(1);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n","import { Component, Element, h, State } from '@stencil/core';\nimport i18n from '../../../i18n/i18n.config';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { copyToClipboard } from '../../../utils/clipboard';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\n@Component({\n tag: 'rebill-mode-sandbox-mobile',\n styleUrl: 'mode-sandbox-mobile.css',\n shadow: false,\n})\nexport class RebillTestModeChipMobile {\n @Element() el: HTMLElement;\n @State() isPanelVisible = false;\n @State() currentLanguage: string = I18nService.getCurrentLanguage();\n\n componentWillLoad() {\n i18n.on('languageChanged', this.handleLanguageChange);\n }\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.currentLanguage = I18nService.getCurrentLanguage();\n };\n\n private togglePanel = () => {\n this.isPanelVisible = !this.isPanelVisible;\n };\n\n private handleCopy = (text: string) => {\n copyToClipboard(text);\n this.isPanelVisible = false;\n };\n\n private handleDocsClick = () => {\n window.open('https://v3.docs.rebill.com/sdk/checkout', '_blank');\n };\n\n private renderBasicChip() {\n return (\n <div class=\"mode-sandbox-mobile__chip-content-mobile\">\n <div class=\"mode-sandbox-mobile__info-icon\">\n <rebill-icon name=\"circle-info\" size=\"24px\" color={COLORS_ENUM.ORANGE} />\n </div>\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.testMode')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__icon-button\">\n <rebill-button variant=\"text\" size=\"small\" onClick={this.togglePanel}>\n <rebill-icon name=\"hamburger\" />\n </rebill-button>\n </div>\n </div>\n );\n }\n\n private renderCardsPanel() {\n return (\n <div class=\"mode-sandbox-mobile__cards-dropdown-panel\">\n <div class=\"mode-sandbox-mobile__cards-dropdown-panel-header\">\n <rebill-icon name=\"card-test\" />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.cardTest')}\n </rebill-typography>\n </div>\n <div class=\"mode-sandbox-mobile__card-details\">\n <div class=\"mode-sandbox-mobile__card-section\">\n <div class=\"mode-sandbox-mobile__header-content\">\n <rebill-icon name=\"succes\" color={COLORS_ENUM.GREEN} />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.successPayment')}\n </rebill-typography>\n </div>\n <div class=\"mode-sandbox-mobile__card-row\">\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cardNumber')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-icon name=\"visa\" />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 4539148803436467\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.exp')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 01/99\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cvv')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value mode-sandbox-mobile__field-value-with-copy\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 123\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__copy-button\">\n <rebill-button\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleCopy('4539148803436467 01/99 123')}\n >\n <rebill-icon name=\"copy\" />\n </rebill-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mode-sandbox-mobile__card-section\">\n <div class=\"mode-sandbox-mobile__header-content\">\n <rebill-icon name=\"rejected\" color={COLORS_ENUM.ERROR} />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n {I18nService.translate('sandbox.rejectedPayment')}\n </rebill-typography>\n </div>\n <div class=\"mode-sandbox-mobile__card-row\">\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cardNumber')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-icon name=\"visa\" />\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 4485364739527352\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.exp')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 01/99\n </rebill-typography>\n </div>\n </div>\n <div class=\"mode-sandbox-mobile__card-value\">\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.GREY_700}>\n {I18nService.translate('sandbox.cvv')}\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__field-value mode-sandbox-mobile__field-value-with-copy\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY_DARK}>\n 123\n </rebill-typography>\n <div class=\"mode-sandbox-mobile__copy-button\">\n <rebill-button\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleCopy('4485364739527352 01/99 123')}\n >\n <rebill-icon name=\"copy\" />\n </rebill-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mode-sandbox-mobile__docs-section\" onClick={this.handleDocsClick}>\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY}>\n {I18nService.translate('sandbox.docs')}\n </rebill-typography>\n <rebill-icon name=\"external-link\" />\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <div\n class={`mode-sandbox-mobile__test-mode-container ${this.isPanelVisible ? 'cards-visible' : ''}`}\n >\n {this.isPanelVisible && <div class=\"mode-sandbox-mobile__overlay\"></div>}\n <div\n class={`mode-sandbox-mobile__test-mode-chip-mobile ${this.isPanelVisible ? 'expanded' : ''}`}\n >\n {this.renderBasicChip()}\n </div>\n {this.isPanelVisible && this.renderCardsPanel()}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { proxyCustomElement, H, createEvent, h } from './p-8BpuJ_V5.js';
|
|
2
2
|
import { a as api } from './p-Dh-yfb0D.js';
|
|
3
|
-
import { s as state, a as SessionStore,
|
|
3
|
+
import { s as state, a as SessionStore, f as formatAmountWithoutCurrency, I as I18nService } from './p-CMzpQU2o.js';
|
|
4
4
|
import { C as COLORS_ENUM } from './p-DA598vBj.js';
|
|
5
5
|
import { d as defineCustomElement$4 } from './p-DvWdkIUq.js';
|
|
6
6
|
import { d as defineCustomElement$3 } from './p-CWY-g0zG.js';
|
|
7
|
-
import { d as defineCustomElement$2 } from './p-
|
|
7
|
+
import { d as defineCustomElement$2 } from './p-CuX2faVH.js';
|
|
8
8
|
import { d as defineCustomElement$1 } from './p-C_txMekS.js';
|
|
9
9
|
|
|
10
|
-
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}";
|
|
10
|
+
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-chip--readonly{cursor:default}.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}";
|
|
11
11
|
|
|
12
12
|
var ACTION_STATUS;
|
|
13
13
|
(function (ACTION_STATUS) {
|
|
@@ -25,6 +25,10 @@ const DiscountCoupon = /*@__PURE__*/ proxyCustomElement(class DiscountCoupon ext
|
|
|
25
25
|
}
|
|
26
26
|
get el() { return this; }
|
|
27
27
|
hideLabel = false;
|
|
28
|
+
displayMode = 'editable';
|
|
29
|
+
readonlyCouponCode;
|
|
30
|
+
readonlyDiscountAmount;
|
|
31
|
+
readonlyCurrency;
|
|
28
32
|
couponCode = '';
|
|
29
33
|
actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
30
34
|
isLoading = false;
|
|
@@ -37,6 +41,9 @@ const DiscountCoupon = /*@__PURE__*/ proxyCustomElement(class DiscountCoupon ext
|
|
|
37
41
|
this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {
|
|
38
42
|
this.currentLocale = state.currentLocale;
|
|
39
43
|
});
|
|
44
|
+
if (this.readonlyCouponCode) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
40
47
|
if (state.data.pricing.discountCouponCode &&
|
|
41
48
|
state.data.pricing.discountAmount > 0) {
|
|
42
49
|
this.actionStatus = ACTION_STATUS.APPLIED;
|
|
@@ -49,6 +56,9 @@ const DiscountCoupon = /*@__PURE__*/ proxyCustomElement(class DiscountCoupon ext
|
|
|
49
56
|
}
|
|
50
57
|
}
|
|
51
58
|
componentDidUpdate() {
|
|
59
|
+
if (this.readonlyCouponCode) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
52
62
|
if (this.actionStatus === ACTION_STATUS.EDITING && this.inputRef) {
|
|
53
63
|
setTimeout(async () => {
|
|
54
64
|
const inputElement = await this.inputRef.getInputElement();
|
|
@@ -59,6 +69,8 @@ const DiscountCoupon = /*@__PURE__*/ proxyCustomElement(class DiscountCoupon ext
|
|
|
59
69
|
}
|
|
60
70
|
}
|
|
61
71
|
async onApplyCoupon() {
|
|
72
|
+
if (this.readonlyCouponCode)
|
|
73
|
+
return;
|
|
62
74
|
const sessionId = state.data.sessionId;
|
|
63
75
|
if (!sessionId) {
|
|
64
76
|
return;
|
|
@@ -93,15 +105,26 @@ const DiscountCoupon = /*@__PURE__*/ proxyCustomElement(class DiscountCoupon ext
|
|
|
93
105
|
}
|
|
94
106
|
}
|
|
95
107
|
onCancelCoupon() {
|
|
108
|
+
if (this.readonlyCouponCode)
|
|
109
|
+
return;
|
|
96
110
|
this.actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
97
111
|
this.couponCode = '';
|
|
98
112
|
this.isError = false;
|
|
99
113
|
}
|
|
114
|
+
renderReadonlyView() {
|
|
115
|
+
if (!this.readonlyCouponCode && this.readonlyDiscountAmount) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
return (h("div", { class: "coupon-chip coupon-chip--readonly" }, h("rebill-icon", { name: "tag-sale", size: "16px" }), h("div", { class: "coupon-content" }, h("rebill-typography", { variant: "overline", color: COLORS_ENUM.PRIMARY_DARK_TEXT }, this.readonlyCouponCode), this.readonlyDiscountAmount && (h("rebill-typography", { variant: "overline", color: COLORS_ENUM.GREEN }, "-$", formatAmountWithoutCurrency(this.readonlyDiscountAmount, this.readonlyCurrency))))));
|
|
119
|
+
}
|
|
100
120
|
render() {
|
|
101
|
-
|
|
121
|
+
if (this.readonlyCouponCode) {
|
|
122
|
+
return this.renderReadonlyView();
|
|
123
|
+
}
|
|
124
|
+
return (h("div", null, h("div", { class: "summary-row", style: {
|
|
102
125
|
alignItems: this.actionStatus === ACTION_STATUS.EDITING ? 'flex-start' : 'center',
|
|
103
126
|
display: 'flex',
|
|
104
|
-
} }, !this.hideLabel && (h("rebill-typography", {
|
|
127
|
+
} }, !this.hideLabel && (h("rebill-typography", { variant: "body2", style: { marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '7px' : '0px' } }, I18nService.translate('discountCoupons.discount'))), this.actionStatus === ACTION_STATUS.NOT_APPLIED && (h("rebill-button", { variant: "filled", size: "small", theme: "primary-dark", onClick: () => (this.actionStatus = ACTION_STATUS.EDITING) }, I18nService.translate('discountCoupons.addDiscount'))), this.actionStatus === ACTION_STATUS.EDITING && (h("div", { class: "summary-row", style: { alignItems: 'flex-start', display: 'flex' } }, h("rebill-input-text", { 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 => {
|
|
105
128
|
e.stopPropagation();
|
|
106
129
|
if (e.detail && e.detail.value !== undefined) {
|
|
107
130
|
this.couponCode = e.detail.value;
|
|
@@ -110,16 +133,20 @@ const DiscountCoupon = /*@__PURE__*/ proxyCustomElement(class DiscountCoupon ext
|
|
|
110
133
|
if (!this.couponCode.trim()) {
|
|
111
134
|
this.onCancelCoupon();
|
|
112
135
|
}
|
|
113
|
-
} }), h("rebill-button", {
|
|
136
|
+
} }), h("rebill-button", { 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", { class: "coupon-chip" }, h("rebill-icon", { name: "tag-sale", size: "16px" }), h("div", { class: "coupon-content", onClick: () => (this.actionStatus = ACTION_STATUS.EDITING) }, h("rebill-typography", { variant: "overline", color: COLORS_ENUM.PRIMARY_DARK_TEXT }, state.data.pricing.discountCouponCode), h("rebill-typography", { variant: "overline", color: COLORS_ENUM.GREEN }, "-$", formatAmountWithoutCurrency(state.data.pricing.discountAmount, state.data.pricing.currency))), h("div", { class: "coupon-close", onClick: () => {
|
|
114
137
|
this.actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
115
138
|
this.couponCode = '';
|
|
116
139
|
SessionStore.setDiscount(null);
|
|
117
140
|
this.discountApplied.emit(false);
|
|
118
|
-
} }, h("rebill-icon", {
|
|
141
|
+
} }, h("rebill-icon", { name: "x", size: "20px", color: COLORS_ENUM.PRIMARY_DARK_TEXT })))))));
|
|
119
142
|
}
|
|
120
143
|
static get style() { return discountCouponCss; }
|
|
121
144
|
}, [256, "discount-coupon", {
|
|
122
145
|
"hideLabel": [4, "hide-label"],
|
|
146
|
+
"displayMode": [1, "display-mode"],
|
|
147
|
+
"readonlyCouponCode": [1, "readonly-coupon-code"],
|
|
148
|
+
"readonlyDiscountAmount": [2, "readonly-discount-amount"],
|
|
149
|
+
"readonlyCurrency": [1, "readonly-currency"],
|
|
123
150
|
"couponCode": [32],
|
|
124
151
|
"actionStatus": [32],
|
|
125
152
|
"isLoading": [32],
|
|
@@ -162,6 +189,6 @@ function defineCustomElement() {
|
|
|
162
189
|
defineCustomElement();
|
|
163
190
|
|
|
164
191
|
export { DiscountCoupon as D, defineCustomElement as d };
|
|
165
|
-
//# sourceMappingURL=p-
|
|
192
|
+
//# sourceMappingURL=p-CisP549A.js.map
|
|
166
193
|
|
|
167
|
-
//# sourceMappingURL=p-
|
|
194
|
+
//# sourceMappingURL=p-CisP549A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-CisP549A.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/discount-coupon/discount-coupon.css?tag=discount-coupon","src/components/checkout/discount-coupon/discount-coupon.tsx"],"sourcesContent":[".summary-row {\n gap: 12px;\n}\n.coupon-chip {\n display: flex;\n align-items: center;\n background: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border-primary);\n justify-content: space-between;\n border-radius: 6px;\n padding: 4px 8px;\n gap: 8px;\n width: fit-content;\n}\n\n.coupon-chip--readonly {\n cursor: default;\n}\n\n.coupon-icon {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n}\n\n.coupon-close {\n cursor: pointer;\n}\n\n.coupon-content {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: 4px;\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { formatAmountWithoutCurrency } from '../../../utils';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\nenum ACTION_STATUS {\n EDITING = 'editing',\n APPLIED = 'applied',\n NOT_APPLIED = 'not_applied',\n}\n\n@Component({\n tag: 'discount-coupon',\n styleUrl: 'discount-coupon.css',\n shadow: false,\n})\nexport class DiscountCoupon {\n @Element() el: HTMLElement;\n @Prop() hideLabel: boolean = false;\n @Prop() displayMode: 'editable' | 'readonly' = 'editable';\n @Prop() readonlyCouponCode?: string;\n @Prop() readonlyDiscountAmount?: number;\n @Prop() readonlyCurrency?: string;\n @State() couponCode: string = '';\n @State() actionStatus: ACTION_STATUS = ACTION_STATUS.NOT_APPLIED;\n @State() isLoading: boolean = false;\n @State() isError: boolean = false;\n @State() currentLocale: string = sessionState.currentLocale;\n @Event() discountApplied: EventEmitter<boolean>;\n private inputRef: HTMLRebillInputTextElement;\n private unsubscribeCurrentLocaleStore?: () => void;\n\n componentWillLoad() {\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.currentLocale = sessionState.currentLocale;\n });\n\n if (this.readonlyCouponCode) {\n return;\n }\n\n if (\n sessionState.data.pricing.discountCouponCode &&\n sessionState.data.pricing.discountAmount > 0\n ) {\n this.actionStatus = ACTION_STATUS.APPLIED;\n this.couponCode = sessionState.data.pricing.discountCouponCode;\n }\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n }\n componentDidUpdate() {\n if (this.readonlyCouponCode) {\n return;\n }\n\n if (this.actionStatus === ACTION_STATUS.EDITING && this.inputRef) {\n setTimeout(async () => {\n const inputElement = await this.inputRef.getInputElement();\n if (inputElement) {\n inputElement.focus();\n }\n }, 0);\n }\n }\n\n private async onApplyCoupon() {\n if (this.readonlyCouponCode) return;\n const sessionId = sessionState.data.sessionId;\n if (!sessionId) {\n return;\n }\n this.isLoading = true;\n try {\n const response = await api.discountCoupon.applyDiscountCoupon({\n couponCode: this.couponCode,\n quantity: 1,\n sessionId: sessionId,\n organizationId: sessionState.data.organization.id,\n });\n this.actionStatus = ACTION_STATUS.APPLIED;\n SessionStore.setDiscount({\n couponCode: this.couponCode,\n amount: response.amount,\n discountType: response.discountType,\n discountAmount: response.discountedAmount,\n discountedPercentage: response?.discountedPercentage || 0,\n discountDuration: response?.discountDuration || null,\n });\n this.discountApplied.emit(true);\n } catch (error) {\n this.actionStatus = ACTION_STATUS.EDITING;\n this.discountApplied.emit(false);\n this.isError = true;\n SessionStore.setDiscount(null);\n } finally {\n this.isLoading = false;\n }\n }\n\n private onCancelCoupon() {\n if (this.readonlyCouponCode) return;\n this.actionStatus = ACTION_STATUS.NOT_APPLIED;\n this.couponCode = '';\n this.isError = false;\n }\n\n private renderReadonlyView() {\n if (!this.readonlyCouponCode && this.readonlyDiscountAmount) {\n return null;\n }\n\n return (\n <div class=\"coupon-chip coupon-chip--readonly\">\n <rebill-icon name=\"tag-sale\" size=\"16px\" />\n <div class=\"coupon-content\">\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {this.readonlyCouponCode}\n </rebill-typography>\n {this.readonlyDiscountAmount && (\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.GREEN}>\n -$\n {formatAmountWithoutCurrency(\n this.readonlyDiscountAmount,\n this.readonlyCurrency as any,\n )}\n </rebill-typography>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n if (this.readonlyCouponCode) {\n return this.renderReadonlyView();\n }\n\n return (\n <div>\n <div\n class=\"summary-row\"\n style={{\n alignItems: this.actionStatus === ACTION_STATUS.EDITING ? 'flex-start' : 'center',\n display: 'flex',\n }}\n >\n {!this.hideLabel && (\n <rebill-typography\n variant=\"body2\"\n style={{ marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '7px' : '0px' }}\n >\n {I18nService.translate('discountCoupons.discount')}\n </rebill-typography>\n )}\n {this.actionStatus === ACTION_STATUS.NOT_APPLIED && (\n <rebill-button\n variant=\"filled\"\n size=\"small\"\n theme=\"primary-dark\"\n onClick={() => (this.actionStatus = ACTION_STATUS.EDITING)}\n >\n {I18nService.translate('discountCoupons.addDiscount')}\n </rebill-button>\n )}\n {this.actionStatus === ACTION_STATUS.EDITING && (\n <div class=\"summary-row\" style={{ alignItems: 'flex-start', display: 'flex' }}>\n <rebill-input-text\n ref={el => (this.inputRef = el)}\n id=\"discountCoupon\"\n value={this.couponCode}\n placeholder={I18nService.translate('discountCoupons.addDiscount')}\n disabled={this.isLoading}\n error={this.isError ? I18nService.translate('discountCoupons.error') : ''}\n clearable={true}\n uppercase={true}\n onInput={e => {\n e.stopPropagation();\n if (e.detail && e.detail.value !== undefined) {\n this.couponCode = e.detail.value;\n }\n }}\n onBlur={() => {\n if (!this.couponCode.trim()) {\n this.onCancelCoupon();\n }\n }}\n />\n <rebill-button\n variant=\"filled\"\n theme=\"primary-dark\"\n size=\"small\"\n loading={this.isLoading}\n disabled={this.isLoading || !this.couponCode.trim()}\n onClick={() => this.onApplyCoupon()}\n style={{ marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '3px' : '0px' }}\n >\n {I18nService.translate('discountCoupons.apply')}\n </rebill-button>\n </div>\n )}\n {this.actionStatus === ACTION_STATUS.APPLIED && (\n <div class=\"coupon-chip\">\n <rebill-icon name=\"tag-sale\" size=\"16px\" />\n <div\n class=\"coupon-content\"\n onClick={() => (this.actionStatus = ACTION_STATUS.EDITING)}\n >\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {sessionState.data.pricing.discountCouponCode}\n </rebill-typography>\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.GREEN}>\n -$\n {formatAmountWithoutCurrency(\n sessionState.data.pricing.discountAmount,\n sessionState.data.pricing.currency,\n )}\n </rebill-typography>\n </div>\n <div\n class=\"coupon-close\"\n onClick={() => {\n this.actionStatus = ACTION_STATUS.NOT_APPLIED;\n this.couponCode = '';\n SessionStore.setDiscount(null);\n this.discountApplied.emit(false);\n }}\n >\n <rebill-icon name=\"x\" size=\"20px\" color={COLORS_ENUM.PRIMARY_DARK_TEXT} />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proxyCustomElement, H, createEvent, h } from './p-8BpuJ_V5.js';
|
|
2
2
|
import { a as SessionStore } from './p-CMzpQU2o.js';
|
|
3
|
-
import { d as defineCustomElement$1 } from './p-
|
|
3
|
+
import { d as defineCustomElement$1 } from './p-CajUouzQ.js';
|
|
4
4
|
|
|
5
5
|
function useCheckoutForm() {
|
|
6
6
|
const syncFormDataToStore = (formData) => {
|
|
@@ -193,6 +193,6 @@ function defineCustomElement() {
|
|
|
193
193
|
defineCustomElement();
|
|
194
194
|
|
|
195
195
|
export { CheckoutForm as C, defineCustomElement as d };
|
|
196
|
-
//# sourceMappingURL=p-
|
|
196
|
+
//# sourceMappingURL=p-CmYsenWG.js.map
|
|
197
197
|
|
|
198
|
-
//# sourceMappingURL=p-
|
|
198
|
+
//# sourceMappingURL=p-CmYsenWG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-DiNW75Kd.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/hooks/useCheckoutForm.ts","src/components/checkout/checkout-form/checkout-form.tsx"],"sourcesContent":["import { SessionStore } from '../store/session.store';\nimport { FormData, FormErrors } from '../utils/form-validation';\n\nexport interface UseCheckoutFormOptions {\n onFormChange?: (formData: FormData) => void;\n onFormSubmit?: (formData: FormData) => void;\n}\n\nexport interface UseCheckoutFormReturn {\n syncFormDataToStore: (formData: FormData) => void;\n handlePhoneValidation: (formData: FormData, errors: FormErrors) => FormErrors;\n getPhoneRelatedFields: () => string[];\n getTextFields: () => string[];\n shouldValidateField: (id: string) => boolean;\n clearPhoneErrors: (formData: FormData, errors: FormErrors) => FormErrors;\n}\n\nexport function useCheckoutForm(): UseCheckoutFormReturn {\n const syncFormDataToStore = (formData: FormData) => {\n // Sync user information\n if (formData.email !== undefined) {\n SessionStore.setUserInformation({ email: formData.email });\n }\n if (formData.fullName !== undefined) {\n SessionStore.setUserInformation({ fullName: formData.fullName });\n }\n if (formData.phoneNumber !== undefined) {\n SessionStore.setUserPhoneNumber({\n number: formData.phoneNumber,\n countryCode: formData.countryCodePhoneNumber || '',\n });\n }\n if (formData.countryCodePhoneNumber !== undefined) {\n SessionStore.setUserPhoneNumber({\n number: formData.phoneNumber || '',\n countryCode: formData.countryCodePhoneNumber,\n });\n }\n\n // Sync billing address\n if (\n formData['billing-country'] !== undefined ||\n formData['billing-state'] !== undefined ||\n formData['billing-address'] !== undefined ||\n formData['billing-city'] !== undefined ||\n formData['billing-zip'] !== undefined\n ) {\n SessionStore.setBillingAddress({\n country: formData['billing-country'],\n state: formData['billing-state'],\n address: formData['billing-address'],\n city: formData['billing-city'],\n zip: formData['billing-zip'],\n });\n }\n\n if (formData.bankId !== undefined) {\n SessionStore.setBankId(formData.bankId);\n }\n };\n\n const handlePhoneValidation = (formData: FormData, errors: FormErrors): FormErrors => {\n const updatedErrors = { ...errors };\n if (formData.isValidPhoneNumber === undefined) {\n if (formData.phoneNumber && formData.phoneNumber.trim() !== '') {\n formData.isValidPhoneNumber = 'true';\n } else {\n formData.isValidPhoneNumber = 'false';\n }\n }\n if (formData.phoneNumber !== undefined) {\n if (formData?.isValidPhoneNumber === 'true' || formData?.isValidPhoneNumber === true) {\n delete updatedErrors.phoneNumber;\n } else if (\n (formData.isValidPhoneNumber === 'false' || formData.isValidPhoneNumber === false) &&\n formData.phoneNumber &&\n formData.phoneNumber.trim() !== ''\n ) {\n updatedErrors.phoneNumber = 'validation.phoneRequired';\n } else if (!formData.phoneNumber || formData.phoneNumber.trim() === '') {\n updatedErrors.phoneNumber = 'validation.phoneRequired';\n } else if (\n formData.isValidPhoneNumber === undefined &&\n formData.phoneNumber &&\n formData.phoneNumber.trim() !== ''\n ) {\n delete updatedErrors.phoneNumber;\n }\n }\n\n return updatedErrors;\n };\n\n const clearPhoneErrors = (formData: FormData, errors: FormErrors): FormErrors => {\n const updatedErrors = { ...errors };\n\n if (formData?.isValidPhoneNumber === 'true' || formData?.isValidPhoneNumber === true) {\n delete updatedErrors.phoneNumber;\n }\n\n return updatedErrors;\n };\n\n const getPhoneRelatedFields = (): string[] => {\n return ['phoneNumber', 'countryCodePhoneNumber', 'isValidPhoneNumber'];\n };\n\n const getTextFields = (): string[] => {\n return [\n 'email',\n 'fullName',\n 'billing-address',\n 'billing-city',\n 'billing-state',\n 'billing-zip',\n 'billing-country',\n ];\n };\n\n const shouldValidateField = (id: string): boolean => {\n const phoneRelatedFields = getPhoneRelatedFields();\n const textFields = getTextFields();\n\n if (phoneRelatedFields.includes(id)) {\n return false;\n }\n return textFields.includes(id);\n };\n\n return {\n syncFormDataToStore,\n handlePhoneValidation,\n getPhoneRelatedFields,\n getTextFields,\n shouldValidateField,\n clearPhoneErrors,\n };\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop } from '@stencil/core';\nimport { useCheckoutForm } from '../../../hooks/useCheckoutForm';\nimport { FormData, FormErrors } from '../../../utils/form-validation';\n\n@Component({\n tag: 'rebill-checkout-form',\n shadow: false,\n})\nexport class CheckoutForm {\n @Element() el: HTMLElement;\n\n /** Esquema de validación del formulario */\n @Prop() validationSchema: any;\n /** Datos iniciales del formulario */\n @Prop() initialData: FormData = {};\n /** Evento cuando el formulario es válido y se envía */\n @Event() submit: EventEmitter<FormData>;\n /** Evento cuando hay cambios en el formulario */\n @Event() change: EventEmitter<FormData>;\n /** Función render prop para controlar el formulario */\n @Prop() renderForm?: (props: {\n submit: () => void;\n formData: FormData;\n errors: FormErrors;\n }) => any;\n\n private checkoutFormHook = useCheckoutForm();\n\n private formElement: any;\n\n componentDidLoad() {\n if (this.formElement) {\n // this.formElement.setSyncDataToStore(this.checkoutFormHook.syncFormDataToStore);\n // this.formElement.setCustomValidation(this.checkoutFormHook.handlePhoneValidation);\n // this.formElement.setGetRelatedFields((id: string) => {\n // const phoneRelatedFields = this.checkoutFormHook.getPhoneRelatedFields();\n // return phoneRelatedFields.includes(id) ? phoneRelatedFields : [];\n // });\n // this.formElement.setShouldValidateField(this.checkoutFormHook.shouldValidateField);\n }\n }\n\n @Listen('change')\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n\n // Guard: ignore unrelated change events without proper payload\n if (!formData || typeof formData !== 'object') {\n return;\n }\n\n if (formData?.isValidPhoneNumber === 'true' && this.formElement) {\n this.formElement.clearError('phoneNumber');\n }\n\n if (\n (formData as any).phoneNumber !== undefined &&\n this.formElement &&\n this.formElement.hasSubmitted\n ) {\n if (this.checkoutFormHook.handlePhoneValidation) {\n const updatedErrors = this.checkoutFormHook.handlePhoneValidation(\n formData,\n this.formElement.errors || {},\n );\n this.formElement.errors = updatedErrors;\n }\n }\n }\n\n private handleSubmit = (formData: FormData) => {\n this.submit.emit(formData);\n };\n\n private handleChange = (formData: FormData) => {\n this.change.emit(formData);\n };\n\n @Method()\n async resetValidation() {\n if (this.formElement) {\n await this.formElement.resetValidation();\n }\n }\n\n render() {\n return (\n <rebill-form\n ref={el => (this.formElement = el)}\n validationSchema={this.validationSchema}\n initialData={this.initialData}\n onSubmit={(event: CustomEvent) => this.handleSubmit(event.detail)}\n onChange={(event: CustomEvent) => this.handleChange(event.detail)}\n renderForm={this.renderForm}\n />\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CmYsenWG.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/hooks/useCheckoutForm.ts","src/components/checkout/checkout-form/checkout-form.tsx"],"sourcesContent":["import { SessionStore } from '../store/session.store';\nimport { FormData, FormErrors } from '../utils/form-validation';\n\nexport interface UseCheckoutFormOptions {\n onFormChange?: (formData: FormData) => void;\n onFormSubmit?: (formData: FormData) => void;\n}\n\nexport interface UseCheckoutFormReturn {\n syncFormDataToStore: (formData: FormData) => void;\n handlePhoneValidation: (formData: FormData, errors: FormErrors) => FormErrors;\n getPhoneRelatedFields: () => string[];\n getTextFields: () => string[];\n shouldValidateField: (id: string) => boolean;\n clearPhoneErrors: (formData: FormData, errors: FormErrors) => FormErrors;\n}\n\nexport function useCheckoutForm(): UseCheckoutFormReturn {\n const syncFormDataToStore = (formData: FormData) => {\n // Sync user information\n if (formData.email !== undefined) {\n SessionStore.setUserInformation({ email: formData.email });\n }\n if (formData.fullName !== undefined) {\n SessionStore.setUserInformation({ fullName: formData.fullName });\n }\n if (formData.phoneNumber !== undefined) {\n SessionStore.setUserPhoneNumber({\n number: formData.phoneNumber,\n countryCode: formData.countryCodePhoneNumber || '',\n });\n }\n if (formData.countryCodePhoneNumber !== undefined) {\n SessionStore.setUserPhoneNumber({\n number: formData.phoneNumber || '',\n countryCode: formData.countryCodePhoneNumber,\n });\n }\n\n // Sync billing address\n if (\n formData['billing-country'] !== undefined ||\n formData['billing-state'] !== undefined ||\n formData['billing-address'] !== undefined ||\n formData['billing-city'] !== undefined ||\n formData['billing-zip'] !== undefined\n ) {\n SessionStore.setBillingAddress({\n country: formData['billing-country'],\n state: formData['billing-state'],\n address: formData['billing-address'],\n city: formData['billing-city'],\n zip: formData['billing-zip'],\n });\n }\n\n if (formData.bankId !== undefined) {\n SessionStore.setBankId(formData.bankId);\n }\n };\n\n const handlePhoneValidation = (formData: FormData, errors: FormErrors): FormErrors => {\n const updatedErrors = { ...errors };\n if (formData.isValidPhoneNumber === undefined) {\n if (formData.phoneNumber && formData.phoneNumber.trim() !== '') {\n formData.isValidPhoneNumber = 'true';\n } else {\n formData.isValidPhoneNumber = 'false';\n }\n }\n if (formData.phoneNumber !== undefined) {\n if (formData?.isValidPhoneNumber === 'true' || formData?.isValidPhoneNumber === true) {\n delete updatedErrors.phoneNumber;\n } else if (\n (formData.isValidPhoneNumber === 'false' || formData.isValidPhoneNumber === false) &&\n formData.phoneNumber &&\n formData.phoneNumber.trim() !== ''\n ) {\n updatedErrors.phoneNumber = 'validation.phoneRequired';\n } else if (!formData.phoneNumber || formData.phoneNumber.trim() === '') {\n updatedErrors.phoneNumber = 'validation.phoneRequired';\n } else if (\n formData.isValidPhoneNumber === undefined &&\n formData.phoneNumber &&\n formData.phoneNumber.trim() !== ''\n ) {\n delete updatedErrors.phoneNumber;\n }\n }\n\n return updatedErrors;\n };\n\n const clearPhoneErrors = (formData: FormData, errors: FormErrors): FormErrors => {\n const updatedErrors = { ...errors };\n\n if (formData?.isValidPhoneNumber === 'true' || formData?.isValidPhoneNumber === true) {\n delete updatedErrors.phoneNumber;\n }\n\n return updatedErrors;\n };\n\n const getPhoneRelatedFields = (): string[] => {\n return ['phoneNumber', 'countryCodePhoneNumber', 'isValidPhoneNumber'];\n };\n\n const getTextFields = (): string[] => {\n return [\n 'email',\n 'fullName',\n 'billing-address',\n 'billing-city',\n 'billing-state',\n 'billing-zip',\n 'billing-country',\n ];\n };\n\n const shouldValidateField = (id: string): boolean => {\n const phoneRelatedFields = getPhoneRelatedFields();\n const textFields = getTextFields();\n\n if (phoneRelatedFields.includes(id)) {\n return false;\n }\n return textFields.includes(id);\n };\n\n return {\n syncFormDataToStore,\n handlePhoneValidation,\n getPhoneRelatedFields,\n getTextFields,\n shouldValidateField,\n clearPhoneErrors,\n };\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop } from '@stencil/core';\nimport { useCheckoutForm } from '../../../hooks/useCheckoutForm';\nimport { FormData, FormErrors } from '../../../utils/form-validation';\n\n@Component({\n tag: 'rebill-checkout-form',\n shadow: false,\n})\nexport class CheckoutForm {\n @Element() el: HTMLElement;\n\n /** Esquema de validación del formulario */\n @Prop() validationSchema: any;\n /** Datos iniciales del formulario */\n @Prop() initialData: FormData = {};\n /** Evento cuando el formulario es válido y se envía */\n @Event() submit: EventEmitter<FormData>;\n /** Evento cuando hay cambios en el formulario */\n @Event() change: EventEmitter<FormData>;\n /** Función render prop para controlar el formulario */\n @Prop() renderForm?: (props: {\n submit: () => void;\n formData: FormData;\n errors: FormErrors;\n }) => any;\n\n private checkoutFormHook = useCheckoutForm();\n\n private formElement: any;\n\n componentDidLoad() {\n if (this.formElement) {\n // this.formElement.setSyncDataToStore(this.checkoutFormHook.syncFormDataToStore);\n // this.formElement.setCustomValidation(this.checkoutFormHook.handlePhoneValidation);\n // this.formElement.setGetRelatedFields((id: string) => {\n // const phoneRelatedFields = this.checkoutFormHook.getPhoneRelatedFields();\n // return phoneRelatedFields.includes(id) ? phoneRelatedFields : [];\n // });\n // this.formElement.setShouldValidateField(this.checkoutFormHook.shouldValidateField);\n }\n }\n\n @Listen('change')\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n\n // Guard: ignore unrelated change events without proper payload\n if (!formData || typeof formData !== 'object') {\n return;\n }\n\n if (formData?.isValidPhoneNumber === 'true' && this.formElement) {\n this.formElement.clearError('phoneNumber');\n }\n\n if (\n (formData as any).phoneNumber !== undefined &&\n this.formElement &&\n this.formElement.hasSubmitted\n ) {\n if (this.checkoutFormHook.handlePhoneValidation) {\n const updatedErrors = this.checkoutFormHook.handlePhoneValidation(\n formData,\n this.formElement.errors || {},\n );\n this.formElement.errors = updatedErrors;\n }\n }\n }\n\n private handleSubmit = (formData: FormData) => {\n this.submit.emit(formData);\n };\n\n private handleChange = (formData: FormData) => {\n this.change.emit(formData);\n };\n\n @Method()\n async resetValidation() {\n if (this.formElement) {\n await this.formElement.resetValidation();\n }\n }\n\n render() {\n return (\n <rebill-form\n ref={el => (this.formElement = el)}\n validationSchema={this.validationSchema}\n initialData={this.initialData}\n onSubmit={(event: CustomEvent) => this.handleSubmit(event.detail)}\n onChange={(event: CustomEvent) => this.handleChange(event.detail)}\n renderForm={this.renderForm}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -2,8 +2,8 @@ import { proxyCustomElement, H, createEvent, h } from './p-8BpuJ_V5.js';
|
|
|
2
2
|
import { I as I18nService } from './p-CMzpQU2o.js';
|
|
3
3
|
import { C as COLORS_ENUM } from './p-DA598vBj.js';
|
|
4
4
|
import { d as defineCustomElement$4 } from './p-CWY-g0zG.js';
|
|
5
|
-
import { d as defineCustomElement$3 } from './p-
|
|
6
|
-
import { d as defineCustomElement$2 } from './p-
|
|
5
|
+
import { d as defineCustomElement$3 } from './p-BZYd-So1.js';
|
|
6
|
+
import { d as defineCustomElement$2 } from './p-CuX2faVH.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './p-C_txMekS.js';
|
|
8
8
|
|
|
9
9
|
const addressFormCss = ":host{display:block}.address-form-container{width:100%;margin-bottom:24px}.address-container{display:flex;flex-direction:column;gap:16px}.search-link-wrapper{text-decoration:underline;color:var(--rebill-color-text-secondary);margin-top:8px}@media (min-width: 1025px){.state-zip-row{grid-template-columns:1fr 1fr !important}}.state-zip-row{display:grid;gap:16px}.search-link-wrapper{display:flex;justify-content:flex-start;margin-top:8px}.search-link{background:none;border:none;color:var(--rebill-color-primary);cursor:pointer;font-size:14px;padding:4px 0;text-decoration:none}.search-link:hover{text-decoration:underline;text-decoration-color:var(--rebill-color-text-secondary)}";
|
|
@@ -86,6 +86,6 @@ function defineCustomElement() {
|
|
|
86
86
|
defineCustomElement();
|
|
87
87
|
|
|
88
88
|
export { AddressForm as A, defineCustomElement as d };
|
|
89
|
-
//# sourceMappingURL=p-
|
|
89
|
+
//# sourceMappingURL=p-CneaXzeq.js.map
|
|
90
90
|
|
|
91
|
-
//# sourceMappingURL=p-
|
|
91
|
+
//# sourceMappingURL=p-CneaXzeq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CneaXzeq.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkout/address/address-form/address-form.css?tag=rebill-address-form","src/components/checkout/address/address-form/address-form.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.address-form-container {\n width: 100%;\n margin-bottom: 24px;\n}\n\n.address-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.search-link-wrapper {\n text-decoration: underline;\n color: var(--rebill-color-text-secondary);\n margin-top: 8px;\n}\n\n@media (min-width: 1025px) {\n .state-zip-row {\n grid-template-columns: 1fr 1fr !important;\n }\n}\n\n.state-zip-row {\n display: grid;\n gap: 16px;\n}\n\n.search-link-wrapper {\n display: flex;\n justify-content: flex-start;\n margin-top: 8px;\n}\n\n.search-link {\n background: none;\n border: none;\n color: var(--rebill-color-primary);\n cursor: pointer;\n font-size: 14px;\n padding: 4px 0;\n text-decoration: none;\n}\n\n.search-link:hover {\n text-decoration: underline;\n text-decoration-color: var(--rebill-color-text-secondary);\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\nimport { I18nService } from '../../../../i18n/i18n.service';\nimport { COLORS_ENUM } from '../../../../utils/color-class-mapper';\n@Component({\n tag: 'rebill-address-form',\n styleUrl: 'address-form.css',\n shadow: false,\n})\nexport class AddressForm {\n @Prop() addressType: 'billing' | 'shipping' = 'billing';\n @Prop() countryOptions: { label: string; value: string }[] = [];\n @Prop() stateOptions: { label: string; value: string }[] = [];\n @Prop() errors?: Record<string, string> | null = null;\n @Prop() disabled: boolean = false;\n\n @Event() fieldChanged: EventEmitter<{ field: string; value: string }>;\n @Event() searchRequested: EventEmitter<void>;\n\n private translateError(errorKey: string | undefined): string {\n if (!errorKey) return '';\n if (errorKey.includes('validation.') || errorKey.includes('paymentErrors.')) {\n return I18nService.translate(errorKey);\n }\n return errorKey;\n }\n\n private handleInput = (field: string, value: string) => {\n this.fieldChanged.emit({ field, value });\n };\n\n private handleSearchRequest = () => {\n this.searchRequested.emit();\n };\n\n render() {\n const translationKey = this.addressType === 'shipping' ? 'shippingAddress' : 'billingAddress';\n\n return (\n <div class=\"address-form-container\">\n <div class=\"address-container\">\n <rebill-input-select\n error={this.translateError(this.errors?.[`${this.addressType}-country`])}\n id={`${this.addressType}-country`}\n options={this.countryOptions}\n placeholder={I18nService.translate(`${translationKey}.countryPlaceholder`)}\n onInput={e => this.handleInput('country', (e as CustomEvent).detail.value)}\n searchable={true}\n searchPlaceholder={I18nService.translate(`search.searchCountries`)}\n disabled={this.disabled}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-address`])}\n id={`${this.addressType}-address`}\n placeholder={I18nService.translate(`${translationKey}.addressPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.addressPlaceholder`)}\n onInput={e => this.handleInput('address', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-city`])}\n id={`${this.addressType}-city`}\n placeholder={I18nService.translate(`${translationKey}.cityPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.cityPlaceholder`)}\n onInput={e => this.handleInput('city', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n <div class=\"state-zip-row\">\n <rebill-input-select\n error={this.translateError(this.errors?.[`${this.addressType}-state`])}\n id={`${this.addressType}-state`}\n options={this.stateOptions}\n placeholder={I18nService.translate(`${translationKey}.statePlaceholder`)}\n disabled={this.disabled || this.stateOptions.length === 0}\n onInput={e => this.handleInput('state', (e as CustomEvent).detail.value)}\n searchable={true}\n searchPlaceholder={I18nService.translate(`${translationKey}.searchStates`)}\n />\n <rebill-input-text\n error={this.translateError(this.errors?.[`${this.addressType}-zip`])}\n id={`${this.addressType}-zip`}\n placeholder={I18nService.translate(`${translationKey}.zipPlaceholder`)}\n variant=\"floating\"\n label={I18nService.translate(`${translationKey}.zipPlaceholder`)}\n onInput={e => this.handleInput('zip', (e as CustomEvent).detail.value)}\n disabled={this.disabled}\n />\n </div>\n </div>\n <div class=\"search-link-wrapper\">\n <button class=\"search-link\" type=\"button\" onClick={this.handleSearchRequest}>\n <rebill-typography\n variant=\"subtitle2\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-link\"\n >\n {I18nService.translate(\n `${translationKey}.searchPlaceholder`,\n 'Search for an address...',\n )}\n </rebill-typography>\n </button>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -99,10 +99,10 @@ const InputText = /*@__PURE__*/ proxyCustomElement(class InputText extends H {
|
|
|
99
99
|
'has-left-icon': !!this.leftIcon,
|
|
100
100
|
'has-right-icon': !!this.rightIcon,
|
|
101
101
|
};
|
|
102
|
-
return (h("div", { key: '
|
|
102
|
+
return (h("div", { key: '77c9d0980fb2727bbb92cd95352d5dc6a1222ddb', class: "input-container" }, !isFloating && this.label && (h("label", { key: '9e0191ce3584d46d399fba6dc3727d182df0c00a', class: `input-label ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '34abdf2bfb4587a110bbba382e5a572921a0bddc', class: wrapperClasses }, this.leftIcon && (h("div", { key: 'e893a7b7a0e6aa35e5a28acac72642b523be3323', class: "icon-left" }, h("rebill-icon", { key: 'be6eebaf5ddbea7cf5e6f581a28f289f59bd6dd3', name: this.leftIcon }))), h("input", { key: '30d8fa0b19fe4b3723f48b03fbaebc9a854bcf8f', ref: el => (this.inputElement = el), type: "text", class: inputClasses, placeholder: isFloating ? this.label : this.placeholder, value: this.value, onInput: this.onInput, onBlur: this.onBlur, disabled: this.disabled, style: {
|
|
103
103
|
paddingLeft: this.leftIcon ? '2.5rem' : '0.75rem',
|
|
104
104
|
paddingRight: this.clearable || this.rightIcon ? '2.5rem' : '0.75rem',
|
|
105
|
-
} }), isFloating && h("label", { key: '
|
|
105
|
+
} }), isFloating && h("label", { key: '2b410a985ad150cd33b3f6faff82422046c7509c', class: "input-text__input-label input-label" }, this.label), this.clearable && this.value && (h("div", { key: 'c02818e635da077ebef4b607a435874c151ccf37', class: "icon-right", onClick: this.onClear }, h("rebill-icon", { key: '05bd2ac74766c544bf83a132651c56eeabb27e54', name: "x" }))), this.rightIcon && !this.clearable && (h("div", { key: 'b2c6c967af138d90ae8cf456572bd53117859ad2', class: "icon-right", onClick: this.onRightIconClick }, h("rebill-icon", { key: '0a97d6b77588a469d296eade8ee7e5c5a47ce4bb', name: this.rightIcon })))), this.error && h("span", { key: '93caa9f68e587ec23162fa84758deeef1514d9aa', class: "error-message" }, this.error)));
|
|
106
106
|
}
|
|
107
107
|
static get style() { return inputTextCss; }
|
|
108
108
|
}, [256, "rebill-input-text", {
|
|
@@ -140,6 +140,6 @@ function defineCustomElement() {
|
|
|
140
140
|
defineCustomElement();
|
|
141
141
|
|
|
142
142
|
export { InputText as I, defineCustomElement as d };
|
|
143
|
-
//# sourceMappingURL=p-
|
|
143
|
+
//# sourceMappingURL=p-CuX2faVH.js.map
|
|
144
144
|
|
|
145
|
-
//# sourceMappingURL=p-
|
|
145
|
+
//# sourceMappingURL=p-CuX2faVH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-Di8WeTd9.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/inputs/input-text/input-text.css?tag=rebill-input-text","src/components/shared/inputs/input-text/input-text.tsx"],"sourcesContent":["@import '../shared-input.css';\n\n.input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.input-element {\n width: 100%;\n box-sizing: border-box;\n}\n\n.icon-left,\n.icon-right {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.icon-left {\n left: 0.75rem;\n color: var(--rebill-color-text-secondary-light);\n}\n\n.icon-right {\n right: 0.75rem;\n cursor: pointer;\n color: var(--rebill-color-text-secondary-light);\n}\n\n.input-element.input-error:focus {\n flex-direction: column;\n box-shadow: 0 0 0 2px var(--rebill-color-error-light);\n}\n\n/* Floating label styles */\n.floating-label {\n position: relative;\n}\n\n.floating-label .input-text__input-label {\n position: absolute;\n top: 50%;\n left: 0.75rem;\n transform: translateY(-50%);\n color: var(--rebill-color-text-secondary-light);\n transition: all 0.1s ease-in-out;\n pointer-events: none;\n}\n\n.floating-label .input-element::placeholder {\n color: transparent;\n}\n\n.floating-label .input-element:focus ~ .input-text__input-label,\n.floating-label .input-element:not(:placeholder-shown) ~ .input-text__input-label {\n top: 0;\n font-size: 0.62rem;\n color: var(--rebill-color-text-secondary);\n background-color: var(--rebill-color-background);\n padding: 0 4px;\n left: 0.75rem;\n}\n\n.floating-label.has-left-icon .input-text__input-label {\n left: 2.5rem;\n}\n\n/* Disabled state styles */\n.input-element:disabled {\n color: var(--rebill-color-neutrals-500);\n}\n\n.input-wrapper:has(.input-element:disabled) .icon-left,\n.input-wrapper:has(.input-element:disabled) .icon-right {\n color: var(--rebill-color-text-secondary-light) !important;\n}\n","import { Component, Element, Event, EventEmitter, Listen, Method, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'rebill-input-text',\n styleUrl: 'input-text.css',\n shadow: false,\n})\nexport class InputText {\n @Element() el: HTMLElement;\n private inputElement: HTMLInputElement;\n\n /** Etiqueta que se muestra arriba del input */\n @Prop() label: string = '';\n /** Placeholder del input */\n @Prop() placeholder: string = '';\n /** Valor del input */\n @Prop({ mutable: true, reflect: true }) value: string = '';\n /** Mensaje de error */\n @Prop() error: string = '';\n /** ID del input */\n @Prop() id: string = '';\n /** Estado deshabilitado */\n @Prop() disabled: boolean = false;\n /** Icono a la izquierda */\n @Prop() leftIcon: string;\n /** Icono a la derecha */\n @Prop() rightIcon: string;\n /** Permitir limpiar el input */\n @Prop() clearable: boolean = false;\n /** Variacion de estilo del input */\n @Prop() variant: 'default' | 'floating' = 'default';\n /** Convertir texto a mayúsculas automáticamente */\n @Prop() uppercase: boolean = false;\n /** Evento al cambiar el valor */\n @Event() input: EventEmitter<{ id: string; value: string }>;\n /** Evento al hacer clic en el icono derecho */\n @Event() rightIconClick: EventEmitter<{ id: string }>;\n /** Evento al salir del input */\n @Event() blur: EventEmitter<{ id: string; value: string }>;\n @Listen('change', { target: 'document' })\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n if (formData && this.id in formData) {\n this.value = formData[this.id];\n }\n }\n\n private onInput = (event: Event) => {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n let inputValue = input.value;\n\n if (this.id === 'email') {\n inputValue = inputValue.toLowerCase();\n input.value = inputValue;\n } else if (this.uppercase) {\n inputValue = inputValue.toUpperCase();\n input.value = inputValue;\n }\n\n this.value = inputValue;\n this.input.emit({ id: this.id, value: this.value });\n };\n\n private onClear = () => {\n if (this.disabled) return;\n this.value = '';\n this.input.emit({ id: this.id, value: this.value });\n };\n\n private onRightIconClick = () => {\n if (this.disabled) return;\n this.rightIconClick.emit({ id: this.id });\n };\n\n private onBlur = () => {\n const trimmedValue = this.value.trim();\n\n if (trimmedValue !== this.value) {\n this.value = trimmedValue;\n this.input.emit({ id: this.id, value: this.value });\n }\n\n this.blur.emit({ id: this.id, value: this.value });\n };\n\n @Method()\n async getInputElement(): Promise<HTMLInputElement | null> {\n return this.inputElement;\n }\n\n render() {\n const isFloating = this.variant === 'floating';\n\n const inputClasses = {\n 'input-element': true,\n 'input-error': !!this.error,\n };\n\n const wrapperClasses = {\n 'input-wrapper': true,\n 'floating-label': isFloating,\n 'has-left-icon': !!this.leftIcon,\n 'has-right-icon': !!this.rightIcon,\n };\n\n return (\n <div class=\"input-container\">\n {!isFloating && this.label && (\n <label class={`input-label ${this.disabled ? 'disabled' : ''}`}>{this.label}</label>\n )}\n <div class={wrapperClasses}>\n {this.leftIcon && (\n <div class=\"icon-left\">\n <rebill-icon name={this.leftIcon}></rebill-icon>\n </div>\n )}\n <input\n ref={el => (this.inputElement = el)}\n type=\"text\"\n class={inputClasses}\n placeholder={isFloating ? this.label : this.placeholder}\n value={this.value}\n onInput={this.onInput}\n onBlur={this.onBlur}\n disabled={this.disabled}\n style={{\n paddingLeft: this.leftIcon ? '2.5rem' : '0.75rem',\n paddingRight: this.clearable || this.rightIcon ? '2.5rem' : '0.75rem',\n }}\n />\n {isFloating && <label class=\"input-text__input-label input-label\">{this.label}</label>}\n {this.clearable && this.value && (\n <div class=\"icon-right\" onClick={this.onClear}>\n <rebill-icon name=\"x\"></rebill-icon>\n </div>\n )}\n {this.rightIcon && !this.clearable && (\n <div class=\"icon-right\" onClick={this.onRightIconClick}>\n <rebill-icon name={this.rightIcon}></rebill-icon>\n </div>\n )}\n </div>\n {this.error && <span class=\"error-message\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CuX2faVH.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/inputs/input-text/input-text.css?tag=rebill-input-text","src/components/shared/inputs/input-text/input-text.tsx"],"sourcesContent":["@import '../shared-input.css';\n\n.input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.input-element {\n width: 100%;\n box-sizing: border-box;\n}\n\n.icon-left,\n.icon-right {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.icon-left {\n left: 0.75rem;\n color: var(--rebill-color-text-secondary-light);\n}\n\n.icon-right {\n right: 0.75rem;\n cursor: pointer;\n color: var(--rebill-color-text-secondary-light);\n}\n\n.input-element.input-error:focus {\n flex-direction: column;\n box-shadow: 0 0 0 2px var(--rebill-color-error-light);\n}\n\n/* Floating label styles */\n.floating-label {\n position: relative;\n}\n\n.floating-label .input-text__input-label {\n position: absolute;\n top: 50%;\n left: 0.75rem;\n transform: translateY(-50%);\n color: var(--rebill-color-text-secondary-light);\n transition: all 0.1s ease-in-out;\n pointer-events: none;\n}\n\n.floating-label .input-element::placeholder {\n color: transparent;\n}\n\n.floating-label .input-element:focus ~ .input-text__input-label,\n.floating-label .input-element:not(:placeholder-shown) ~ .input-text__input-label {\n top: 0;\n font-size: 0.62rem;\n color: var(--rebill-color-text-secondary);\n background-color: var(--rebill-color-background);\n padding: 0 4px;\n left: 0.75rem;\n}\n\n.floating-label.has-left-icon .input-text__input-label {\n left: 2.5rem;\n}\n\n/* Disabled state styles */\n.input-element:disabled {\n color: var(--rebill-color-neutrals-500);\n}\n\n.input-wrapper:has(.input-element:disabled) .icon-left,\n.input-wrapper:has(.input-element:disabled) .icon-right {\n color: var(--rebill-color-text-secondary-light) !important;\n}\n","import { Component, Element, Event, EventEmitter, Listen, Method, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'rebill-input-text',\n styleUrl: 'input-text.css',\n shadow: false,\n})\nexport class InputText {\n @Element() el: HTMLElement;\n private inputElement: HTMLInputElement;\n\n /** Etiqueta que se muestra arriba del input */\n @Prop() label: string = '';\n /** Placeholder del input */\n @Prop() placeholder: string = '';\n /** Valor del input */\n @Prop({ mutable: true, reflect: true }) value: string = '';\n /** Mensaje de error */\n @Prop() error: string = '';\n /** ID del input */\n @Prop() id: string = '';\n /** Estado deshabilitado */\n @Prop() disabled: boolean = false;\n /** Icono a la izquierda */\n @Prop() leftIcon: string;\n /** Icono a la derecha */\n @Prop() rightIcon: string;\n /** Permitir limpiar el input */\n @Prop() clearable: boolean = false;\n /** Variacion de estilo del input */\n @Prop() variant: 'default' | 'floating' = 'default';\n /** Convertir texto a mayúsculas automáticamente */\n @Prop() uppercase: boolean = false;\n /** Evento al cambiar el valor */\n @Event() input: EventEmitter<{ id: string; value: string }>;\n /** Evento al hacer clic en el icono derecho */\n @Event() rightIconClick: EventEmitter<{ id: string }>;\n /** Evento al salir del input */\n @Event() blur: EventEmitter<{ id: string; value: string }>;\n @Listen('change', { target: 'document' })\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n if (formData && this.id in formData) {\n this.value = formData[this.id];\n }\n }\n\n private onInput = (event: Event) => {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n let inputValue = input.value;\n\n if (this.id === 'email') {\n inputValue = inputValue.toLowerCase();\n input.value = inputValue;\n } else if (this.uppercase) {\n inputValue = inputValue.toUpperCase();\n input.value = inputValue;\n }\n\n this.value = inputValue;\n this.input.emit({ id: this.id, value: this.value });\n };\n\n private onClear = () => {\n if (this.disabled) return;\n this.value = '';\n this.input.emit({ id: this.id, value: this.value });\n };\n\n private onRightIconClick = () => {\n if (this.disabled) return;\n this.rightIconClick.emit({ id: this.id });\n };\n\n private onBlur = () => {\n const trimmedValue = this.value.trim();\n\n if (trimmedValue !== this.value) {\n this.value = trimmedValue;\n this.input.emit({ id: this.id, value: this.value });\n }\n\n this.blur.emit({ id: this.id, value: this.value });\n };\n\n @Method()\n async getInputElement(): Promise<HTMLInputElement | null> {\n return this.inputElement;\n }\n\n render() {\n const isFloating = this.variant === 'floating';\n\n const inputClasses = {\n 'input-element': true,\n 'input-error': !!this.error,\n };\n\n const wrapperClasses = {\n 'input-wrapper': true,\n 'floating-label': isFloating,\n 'has-left-icon': !!this.leftIcon,\n 'has-right-icon': !!this.rightIcon,\n };\n\n return (\n <div class=\"input-container\">\n {!isFloating && this.label && (\n <label class={`input-label ${this.disabled ? 'disabled' : ''}`}>{this.label}</label>\n )}\n <div class={wrapperClasses}>\n {this.leftIcon && (\n <div class=\"icon-left\">\n <rebill-icon name={this.leftIcon}></rebill-icon>\n </div>\n )}\n <input\n ref={el => (this.inputElement = el)}\n type=\"text\"\n class={inputClasses}\n placeholder={isFloating ? this.label : this.placeholder}\n value={this.value}\n onInput={this.onInput}\n onBlur={this.onBlur}\n disabled={this.disabled}\n style={{\n paddingLeft: this.leftIcon ? '2.5rem' : '0.75rem',\n paddingRight: this.clearable || this.rightIcon ? '2.5rem' : '0.75rem',\n }}\n />\n {isFloating && <label class=\"input-text__input-label input-label\">{this.label}</label>}\n {this.clearable && this.value && (\n <div class=\"icon-right\" onClick={this.onClear}>\n <rebill-icon name=\"x\"></rebill-icon>\n </div>\n )}\n {this.rightIcon && !this.clearable && (\n <div class=\"icon-right\" onClick={this.onRightIconClick}>\n <rebill-icon name={this.rightIcon}></rebill-icon>\n </div>\n )}\n </div>\n {this.error && <span class=\"error-message\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -18,14 +18,14 @@ const SinglePaymentMethod = /*@__PURE__*/ proxyCustomElement(class SinglePayment
|
|
|
18
18
|
paymentMethodDetails;
|
|
19
19
|
icons = [];
|
|
20
20
|
render() {
|
|
21
|
-
return (h("div", { key: '
|
|
22
|
-
this.currencyCountry === 'AR' && h("rebill-icon", { key: '
|
|
23
|
-
this.currencyCountry !== 'AR' && h("rebill-icon", { key: '
|
|
21
|
+
return (h("div", { key: '156c1e562b2444664488a2380d42a146d931b4d2', class: "single-payment-method" }, h("div", { key: '92438af1d82d60ecd43095ecd2b20e5791531df7', class: "payment-method" }, this.paymentMethod === PAYMENT_METHOD_ENUM.CARD && h("rebill-icon", { key: '0d070da6565d34eaf7d96f68b7bc3a6965a9c0d8', name: "card" }), this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER &&
|
|
22
|
+
this.currencyCountry === 'AR' && h("rebill-icon", { key: '39fca9b18700e74ae5ca04762448b0d97fbbf53a', name: "qr-code" }), this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER &&
|
|
23
|
+
this.currencyCountry !== 'AR' && h("rebill-icon", { key: '3f53faaf50581c921016d058ffa867d08716af96', name: "bank" }), h("rebill-typography", { key: 'ebf2f81bbcc27e0cc32d609991f7ffbdd8bd65d1', variant: "body2-small", color: COLORS_ENUM.NEUTRALS_700, style: { display: 'flex', alignItems: 'center' } }, I18nService.translate(this.paymentMethod === PAYMENT_METHOD_ENUM.CARD
|
|
24
24
|
? 'paymentMethods.cardDescription'
|
|
25
25
|
: this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER &&
|
|
26
26
|
this.currencyCountry === 'AR'
|
|
27
27
|
? 'paymentMethods.bank_transfer_qr'
|
|
28
|
-
: `paymentMethods.${this.paymentMethod}`))), this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER && (h("div", { key: '
|
|
28
|
+
: `paymentMethods.${this.paymentMethod}`))), this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER && (h("div", { key: '570bcb9415b1a4d65482c3d52d497c3a9829f98e', class: "icon-container" }, this.icons.length > 0 ? (this.icons.map(iconName => h("rebill-icon", { name: iconName, key: iconName }))) : (h("rebill-icon", { name: "card" }))))));
|
|
29
29
|
}
|
|
30
30
|
static get style() { return singlePaymentMethodCss; }
|
|
31
31
|
}, [256, "single-payment-method", {
|
|
@@ -60,6 +60,6 @@ function defineCustomElement() {
|
|
|
60
60
|
defineCustomElement();
|
|
61
61
|
|
|
62
62
|
export { SinglePaymentMethod as S, defineCustomElement as d };
|
|
63
|
-
//# sourceMappingURL=p-
|
|
63
|
+
//# sourceMappingURL=p-D0AmEJnp.js.map
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=p-
|
|
65
|
+
//# sourceMappingURL=p-D0AmEJnp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-D0AmEJnp.js","mappings":";;;;;;AAAA,MAAM,sBAAsB,GAAG,4nBAA4nB;;MCW9oB,mBAAmB,iBAAAA,kBAAA,CAAA,MAAA,mBAAA,SAAAC,CAAA,CAAA;;;;;;;AACtB,IAAA,aAAa;AACb,IAAA,eAAe;AACf,IAAA,oBAAoB;IACpB,KAAK,GAAa,EAAE;IAC5B,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,uBAAuB,EAAA,EAChC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,aAAa,KAAK,mBAAmB,CAAC,IAAI,IAAI,CAAa,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAG,CAAA,EAC9E,IAAI,CAAC,aAAa,KAAK,mBAAmB,CAAC,aAAa;YACvD,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,CAAa,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAG,CAAA,EAChE,IAAI,CAAC,aAAa,KAAK,mBAAmB,CAAC,aAAa;AACvD,YAAA,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,CAAa,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAG,CAAA,EAC9D,CAAA,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,WAAW,CAAC,YAAY,EAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,EAE/C,WAAW,CAAC,SAAS,CACpB,IAAI,CAAC,aAAa,KAAK,mBAAmB,CAAC;AACzC,cAAE;AACF,cAAE,IAAI,CAAC,aAAa,KAAK,mBAAmB,CAAC,aAAa;gBACtD,IAAI,CAAC,eAAe,KAAK;AAC3B,kBAAE;AACF,kBAAE,CAAkB,eAAA,EAAA,IAAI,CAAC,aAAa,CAAA,CAAE,CAC7C,CACiB,CAChB,EAEL,IAAI,CAAC,aAAa,KAAK,mBAAmB,CAAC,aAAa,KACvD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAA,CAAA,aAAA,EAAA,EAAa,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAA,CAAI,CAAC,KAE1E,CAAa,CAAA,aAAA,EAAA,EAAA,IAAI,EAAC,MAAM,EAAG,CAAA,CAC5B,CACG,CACP,CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/singlePaymentMethod/single-payment-method.css?tag=single-payment-method","src/components/shared/singlePaymentMethod/singlePaymentMethod.tsx"],"sourcesContent":[".single-payment-method {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n height: 40px;\n width: 100%;\n border-radius: 8px;\n background-color: var(--rebill-color-background-right);\n padding: 2px 4px 2px 4px;\n box-sizing: border-box;\n}\n\n.payment-method {\n display: flex;\n align-items: center;\n gap: 8px;\n height: 100%;\n}\n\n.icon-container {\n height: 32px;\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.icon-container rebill-icon {\n height: 32px;\n width: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.payment-method rebill-icon {\n height: 32px;\n width: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { PAYMENT_METHOD_ENUM } from '../../../models/enums/payment-methods.enum';\nimport { PaymentMethodDetails } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\n@Component({\n tag: 'single-payment-method',\n styleUrl: 'single-payment-method.css',\n shadow: false,\n})\nexport class SinglePaymentMethod {\n @Prop() paymentMethod: PAYMENT_METHOD_ENUM;\n @Prop() currencyCountry: string;\n @Prop() paymentMethodDetails: PaymentMethodDetails[];\n @Prop() icons: string[] = [];\n render() {\n return (\n <div class=\"single-payment-method\">\n <div class=\"payment-method\">\n {this.paymentMethod === PAYMENT_METHOD_ENUM.CARD && <rebill-icon name=\"card\" />}\n {this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER &&\n this.currencyCountry === 'AR' && <rebill-icon name=\"qr-code\" />}\n {this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER &&\n this.currencyCountry !== 'AR' && <rebill-icon name=\"bank\" />}\n <rebill-typography\n variant=\"body2-small\"\n color={COLORS_ENUM.NEUTRALS_700}\n style={{ display: 'flex', alignItems: 'center' }}\n >\n {I18nService.translate(\n this.paymentMethod === PAYMENT_METHOD_ENUM.CARD\n ? 'paymentMethods.cardDescription'\n : this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER &&\n this.currencyCountry === 'AR'\n ? 'paymentMethods.bank_transfer_qr'\n : `paymentMethods.${this.paymentMethod}`,\n )}\n </rebill-typography>\n </div>\n\n {this.paymentMethod === PAYMENT_METHOD_ENUM.BANK_TRANSFER && (\n <div class=\"icon-container\">\n {this.icons.length > 0 ? (\n this.icons.map(iconName => <rebill-icon name={iconName} key={iconName} />)\n ) : (\n <rebill-icon name=\"card\" />\n )}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|