rebill-web-components-sdk 1.10.0 → 1.10.2-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_14.cjs.entry.js +5 -5
- package/dist/cjs/card-fields-wrapper.card-identification.card-iframe.card-skeleton.rebill-address-form.rebill-address-search.rebill-input-combo.rebill-input-phone.rebill-installments.selectable-card.single-payment-method.entry.cjs.js.map +1 -1
- package/dist/cjs/card-fields-wrapper_11.cjs.entry.js +18 -18
- package/dist/cjs/change-card-success.cjs.entry.js +15 -1
- package/dist/cjs/change-card-success.entry.cjs.js.map +1 -1
- package/dist/cjs/collapsible-card_3.cjs.entry.js +2 -2
- 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_4.cjs.entry.js +1 -1
- package/dist/cjs/otp-component_5.cjs.entry.js +16 -16
- package/dist/cjs/rebill-alert.cjs.entry.js +2 -2
- package/dist/cjs/rebill-autofill-detector.cjs.entry.js +184 -0
- package/dist/cjs/rebill-autofill-detector.entry.cjs.js.map +1 -0
- 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-mode-sandbox_2.cjs.entry.js +1 -1
- package/dist/cjs/rebill-timeline-debit-day_2.cjs.entry.js +2 -2
- 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.cjs.entry.js +2 -2
- package/dist/cjs/root-component.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/change-card/change-card-success.js +21 -1
- package/dist/collection/components/change-card/change-card-success.js.map +1 -1
- package/dist/collection/components/checkout/address/address-search/address-search.js +4 -4
- package/dist/collection/components/checkout/address/address-search/address-search.js.map +1 -1
- package/dist/collection/components/checkout/address/autofill-detector/autofill-detector.css +0 -0
- package/dist/collection/components/checkout/address/autofill-detector/autofill-detector.js +277 -0
- package/dist/collection/components/checkout/address/autofill-detector/autofill-detector.js.map +1 -0
- package/dist/collection/components/checkout/apm/qr-code/qr-code.js +2 -2
- package/dist/collection/components/checkout/apm/reference-code/reference-code.js +1 -1
- package/dist/collection/components/checkout/card-success-page/success-page.js +9 -9
- package/dist/collection/components/checkout/checkout-form/checkout-form.js +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.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/renewal-success-page/renewal-success-page.js +2 -2
- 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/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/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/change-card-success.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-Cy4AWMDG.js → p-0y1EkPsV.js} +4 -4
- package/dist/components/{p-Cy4AWMDG.js.map → p-0y1EkPsV.js.map} +1 -1
- package/dist/components/{p-BDqkAG1R.js → p-4NckTb-f.js} +4 -4
- package/dist/components/{p-BDqkAG1R.js.map → p-4NckTb-f.js.map} +1 -1
- package/dist/components/{p-CzOgUoiH.js → p-6gwr59D_.js} +6 -6
- package/dist/components/{p-CzOgUoiH.js.map → p-6gwr59D_.js.map} +1 -1
- package/dist/components/p-8BpuJ_V5.js.map +1 -1
- package/dist/components/{p-UUAqyvL7.js → p-AFaRRX6m.js} +14 -8
- package/dist/components/p-AFaRRX6m.js.map +1 -0
- package/dist/components/{p-BM7arRE4.js → p-BFqhozQ0.js} +4 -4
- package/dist/components/{p-BM7arRE4.js.map → p-BFqhozQ0.js.map} +1 -1
- package/dist/components/{p-B-Svp05F.js → p-BMX_V4NR.js} +5 -5
- package/dist/components/{p-B-Svp05F.js.map → p-BMX_V4NR.js.map} +1 -1
- package/dist/components/{p-xqbCGsb4.js → p-BMdmsMrv.js} +6 -6
- package/dist/components/{p-xqbCGsb4.js.map → p-BMdmsMrv.js.map} +1 -1
- package/dist/components/{p-BU6zbBCY.js → p-BhAb6Xb9.js} +4 -4
- package/dist/components/{p-BU6zbBCY.js.map → p-BhAb6Xb9.js.map} +1 -1
- package/dist/components/{p-Dow9Oa1e.js → p-BldhoZKa.js} +3 -3
- package/dist/components/{p-Dow9Oa1e.js.map → p-BldhoZKa.js.map} +1 -1
- package/dist/components/{p-9OVqnxbl.js → p-BmSGsGCP.js} +5 -5
- package/dist/components/{p-9OVqnxbl.js.map → p-BmSGsGCP.js.map} +1 -1
- package/dist/components/{p-CEM6OODt.js → p-Bo6Oy_rw.js} +12 -12
- package/dist/components/{p-CEM6OODt.js.map → p-Bo6Oy_rw.js.map} +1 -1
- package/dist/components/{p-hR7xARTs.js → p-BoKyp_AW.js} +3 -3
- package/dist/components/{p-hR7xARTs.js.map → p-BoKyp_AW.js.map} +1 -1
- package/dist/components/{p-DdCguZ5r.js → p-Bx5CO1DQ.js} +10 -10
- package/dist/components/{p-DdCguZ5r.js.map → p-Bx5CO1DQ.js.map} +1 -1
- package/dist/components/{p-BFb0C4n-.js → p-C0ukGjTv.js} +3 -3
- package/dist/components/{p-BFb0C4n-.js.map → p-C0ukGjTv.js.map} +1 -1
- package/dist/components/{p-BXdI0xHE.js → p-C62DbryS.js} +3 -3
- package/dist/components/{p-BXdI0xHE.js.map → p-C62DbryS.js.map} +1 -1
- package/dist/components/{p-BLD5qbS8.js → p-C9-xmJLv.js} +4 -4
- package/dist/components/{p-BLD5qbS8.js.map → p-C9-xmJLv.js.map} +1 -1
- package/dist/components/{p-DZKrZZwd.js → p-CJrBfF7b.js} +14 -14
- package/dist/components/{p-DZKrZZwd.js.map → p-CJrBfF7b.js.map} +1 -1
- package/dist/components/{p-BS5TOpnh.js → p-CNgxCj8J.js} +4 -4
- package/dist/components/{p-BS5TOpnh.js.map → p-CNgxCj8J.js.map} +1 -1
- package/dist/components/{p-CYv4ffn1.js → p-CSgNGaiV.js} +3 -3
- package/dist/components/{p-CYv4ffn1.js.map → p-CSgNGaiV.js.map} +1 -1
- package/dist/components/{p-FjbFSzY2.js → p-CYy5NAoy.js} +23 -8
- package/dist/components/p-CYy5NAoy.js.map +1 -0
- package/dist/components/p-Cb2XT9Pi.js +206 -0
- package/dist/components/p-Cb2XT9Pi.js.map +1 -0
- package/dist/components/{p-cS0M4sWc.js → p-Ccqq4BcO.js} +10 -10
- package/dist/components/{p-cS0M4sWc.js.map → p-Ccqq4BcO.js.map} +1 -1
- package/dist/components/{p-yRI_ZFvd.js → p-ChtneCGm.js} +3 -3
- package/dist/components/{p-yRI_ZFvd.js.map → p-ChtneCGm.js.map} +1 -1
- package/dist/components/{p-CY7UQa2f.js → p-CoRQkXBT.js} +6 -6
- package/dist/components/{p-CY7UQa2f.js.map → p-CoRQkXBT.js.map} +1 -1
- package/dist/components/{p-bKjZk5T9.js → p-CpBlNxfh.js} +3 -3
- package/dist/components/{p-bKjZk5T9.js.map → p-CpBlNxfh.js.map} +1 -1
- package/dist/components/{p-C5qSTRqe.js → p-Cs-pA3OO.js} +3 -3
- package/dist/components/{p-C5qSTRqe.js.map → p-Cs-pA3OO.js.map} +1 -1
- package/dist/components/{p-OIK5VUVA.js → p-CtrJsF6L.js} +3 -3
- package/dist/components/{p-OIK5VUVA.js.map → p-CtrJsF6L.js.map} +1 -1
- package/dist/components/{p-CcFiotn1.js → p-CvW9G05r.js} +7 -7
- package/dist/components/{p-CcFiotn1.js.map → p-CvW9G05r.js.map} +1 -1
- package/dist/components/{p-BVVBiDNt.js → p-CwYDVqU6.js} +3 -3
- package/dist/components/{p-BVVBiDNt.js.map → p-CwYDVqU6.js.map} +1 -1
- package/dist/components/{p-ClLeKt1B.js → p-D-FRnRNO.js} +4 -4
- package/dist/components/{p-ClLeKt1B.js.map → p-D-FRnRNO.js.map} +1 -1
- package/dist/components/{p-CobY14qx.js → p-D0N0vC0E.js} +8 -8
- package/dist/components/{p-CobY14qx.js.map → p-D0N0vC0E.js.map} +1 -1
- package/dist/components/{p-CjLWTQ-k.js → p-D13i5GRC.js} +3 -3
- package/dist/components/{p-CjLWTQ-k.js.map → p-D13i5GRC.js.map} +1 -1
- package/dist/components/{p-BjRD9lS0.js → p-DHO4T8Ax.js} +3 -3
- package/dist/components/{p-BjRD9lS0.js.map → p-DHO4T8Ax.js.map} +1 -1
- package/dist/components/{p-BrxxkM_7.js → p-DcndzUFT.js} +5 -5
- package/dist/components/{p-BrxxkM_7.js.map → p-DcndzUFT.js.map} +1 -1
- package/dist/components/{p-COYitAD7.js → p-DdSBiiVX.js} +5 -5
- package/dist/components/{p-COYitAD7.js.map → p-DdSBiiVX.js.map} +1 -1
- package/dist/components/{p-CZ4Ng3BX.js → p-Dgn-b0VN.js} +11 -5
- package/dist/components/p-Dgn-b0VN.js.map +1 -0
- package/dist/components/{p-dkScX4Ck.js → p-DoTMic8C.js} +5 -5
- package/dist/components/{p-dkScX4Ck.js.map → p-DoTMic8C.js.map} +1 -1
- package/dist/components/{p-WGf68eDg.js → p-Dp6bUSN1.js} +3 -3
- package/dist/components/{p-WGf68eDg.js.map → p-Dp6bUSN1.js.map} +1 -1
- package/dist/components/{p-B0FDvLRO.js → p-Ds466vGv.js} +4 -4
- package/dist/components/{p-B0FDvLRO.js.map → p-Ds466vGv.js.map} +1 -1
- package/dist/components/{p-BrO6uPL6.js → p-DuyVg_A7.js} +7 -7
- package/dist/components/{p-BrO6uPL6.js.map → p-DuyVg_A7.js.map} +1 -1
- package/dist/components/{p-CTCwiLaJ.js → p-RbKsk0NK.js} +4 -4
- package/dist/components/{p-CTCwiLaJ.js.map → p-RbKsk0NK.js.map} +1 -1
- package/dist/components/{p-BEVU1b9v.js → p-_qxwSXk5.js} +6 -6
- package/dist/components/{p-BEVU1b9v.js.map → p-_qxwSXk5.js.map} +1 -1
- package/dist/components/{p-BZaiuF56.js → p-iueBw_y3.js} +4 -4
- package/dist/components/{p-BZaiuF56.js.map → p-iueBw_y3.js.map} +1 -1
- package/dist/components/{p-CXPNkSli.js → p-mTzDbf1n.js} +4 -4
- package/dist/components/{p-CXPNkSli.js.map → p-mTzDbf1n.js.map} +1 -1
- package/dist/components/{p-DwZ2ffr1.js → p-wMEGQ8Q5.js} +3 -3
- package/dist/components/{p-DwZ2ffr1.js.map → p-wMEGQ8Q5.js.map} +1 -1
- package/dist/components/{p-qx8yDlp3.js → p-z3joV5yV.js} +4 -4
- package/dist/components/{p-qx8yDlp3.js.map → p-z3joV5yV.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-autofill-detector.d.ts +11 -0
- package/dist/components/rebill-autofill-detector.js +9 -0
- package/dist/components/rebill-autofill-detector.js.map +1 -0
- 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-change-card.js +50 -44
- package/dist/components/rebill-change-card.js.map +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 +70 -64
- package/dist/components/rebill-checkout.js.map +1 -1
- 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 +60 -54
- 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/reference-code.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_14.entry.js +5 -5
- package/dist/esm/card-fields-wrapper.card-identification.card-iframe.card-skeleton.rebill-address-form.rebill-address-search.rebill-input-combo.rebill-input-phone.rebill-installments.selectable-card.single-payment-method.entry.js.map +1 -1
- package/dist/esm/card-fields-wrapper_11.entry.js +18 -18
- package/dist/esm/change-card-success.entry.js +16 -2
- package/dist/esm/change-card-success.entry.js.map +1 -1
- package/dist/esm/collapsible-card_3.entry.js +2 -2
- package/dist/esm/index-BTZ7D7jU.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_4.entry.js +1 -1
- package/dist/esm/otp-component_5.entry.js +16 -16
- package/dist/esm/rebill-alert.entry.js +2 -2
- package/dist/esm/rebill-autofill-detector.entry.js +182 -0
- package/dist/esm/rebill-autofill-detector.entry.js.map +1 -0
- 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-mode-sandbox_2.entry.js +1 -1
- package/dist/esm/rebill-timeline-debit-day_2.entry.js +2 -2
- 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.entry.js +2 -2
- package/dist/esm/root-component.entry.js +1 -1
- package/dist/rebill-web-components-sdk/card-fields-wrapper.card-identification.card-iframe.card-skeleton.rebill-address-form.rebill-address-search.rebill-input-combo.rebill-input-phone.rebill-installments.selectable-card.single-payment-method.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/change-card-success.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/{p-637ed8ea.entry.js → p-07ef4ea3.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-70febc7c.entry.js → p-1a99d53d.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-1f731eef.entry.js → p-1b4222b8.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-1c000e38.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-1c000e38.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/{p-b7e9af07.entry.js → p-1f253272.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-39c5f0f3.entry.js → p-26d57782.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-2c464942.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-37ce3457.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-e3cc872d.entry.js → p-4355b35a.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-7eb0c863.entry.js → p-64d035a5.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-ca24b250.entry.js → p-728a5b5d.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-65be7025.entry.js → p-7f01ba37.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-a625d0fd.entry.js → p-82c4171e.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-be7e39cf.entry.js → p-860f0784.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-9a506148.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-4d173895.entry.js → p-9a89f57f.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-BTZ7D7jU.js.map +1 -1
- package/dist/rebill-web-components-sdk/{p-2847a090.entry.js → p-aaa9fb70.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-dd3b420b.entry.js → p-ba5c9f7f.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-b5330b78.entry.js → p-d4c04783.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/p-d8089da8.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-6a9b3bad.entry.js.map → p-d8089da8.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/p-d827e221.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-d827e221.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/p-eb5a43f1.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-eb5a43f1.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/rebill-autofill-detector.entry.esm.js.map +1 -0
- package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
- package/dist/types/components/change-card/change-card-success.d.ts +4 -0
- package/dist/types/components/checkout/address/address-search/address-search.d.ts +1 -1
- package/dist/types/components/checkout/address/autofill-detector/autofill-detector.d.ts +20 -0
- package/dist/types/components.d.ts +49 -2
- package/package.json +1 -1
- package/dist/components/p-CZ4Ng3BX.js.map +0 -1
- package/dist/components/p-FjbFSzY2.js.map +0 -1
- package/dist/components/p-UUAqyvL7.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-204e76c5.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-2a57ff1e.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-2a57ff1e.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-33ade3d2.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-6a9b3bad.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-71973b15.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-71973b15.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-cb4389ad.entry.js +0 -2
- /package/dist/rebill-web-components-sdk/{p-637ed8ea.entry.js.map → p-07ef4ea3.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-70febc7c.entry.js.map → p-1a99d53d.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-1f731eef.entry.js.map → p-1b4222b8.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-b7e9af07.entry.js.map → p-1f253272.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-39c5f0f3.entry.js.map → p-26d57782.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-33ade3d2.entry.js.map → p-2c464942.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-204e76c5.entry.js.map → p-37ce3457.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-e3cc872d.entry.js.map → p-4355b35a.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-7eb0c863.entry.js.map → p-64d035a5.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-ca24b250.entry.js.map → p-728a5b5d.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-65be7025.entry.js.map → p-7f01ba37.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-a625d0fd.entry.js.map → p-82c4171e.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-be7e39cf.entry.js.map → p-860f0784.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-cb4389ad.entry.js.map → p-9a506148.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-4d173895.entry.js.map → p-9a89f57f.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-2847a090.entry.js.map → p-aaa9fb70.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-dd3b420b.entry.js.map → p-ba5c9f7f.entry.js.map} +0 -0
- /package/dist/rebill-web-components-sdk/{p-b5330b78.entry.js.map → p-d4c04783.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-yRI_ZFvd.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/get-provider-name.ts","src/components/checkout/apm/reference-code/reference-code.css?tag=reference-code","src/components/checkout/apm/reference-code/reference-code.tsx"],"sourcesContent":["const providers = {\n bamboo_payment: 'Bamboo Payment',\n fiserv: 'Fiserv',\n kushki: 'Kushki',\n payway: 'Payway',\n cybersource: 'Cybersource',\n cobre: 'Cobre',\n yakare: 'Yakare',\n dock: 'Dock',\n klap: 'Klap',\n movii: 'Movii',\n stripe: 'Stripe',\n};\n\nexport const getProviderName = (providerKey: string) => {\n return providers[providerKey as keyof typeof providers] || providerKey;\n};\n",".reference-code {\n border: 1px solid var(--rebill-color-border);\n border-radius: 8px;\n background: var(--rebill-color-background);\n overflow: hidden;\n font-family: var(--rebill-font-family);\n margin-top: 24px;\n}\n\n.reference-code-header {\n padding: 16px 24px;\n background: var(--rebill-color-background-secondary);\n border-bottom: 1px solid var(--rebill-color-border);\n}\n\n.expiration-section {\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: center;\n}\n\n.expiration-text {\n font-size: 12px;\n font-weight: 400;\n color: var(--rebill-color-text-secondary);\n}\n\n.reference-code-content {\n padding: 32px 24px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 32px;\n border-bottom: 1px solid var(--rebill-color-border);\n}\n\n.reference-section {\n flex: 1;\n text-align: center;\n position: relative;\n}\n\n.reference-section::after {\n content: '';\n position: absolute;\n right: -16px;\n top: 50%;\n transform: translateY(-50%);\n width: 1px;\n height: 60px;\n background: var(--rebill-color-border);\n}\n\n.provider-section {\n flex: 1;\n text-align: center;\n}\n\n.reference-label,\n.provider-label {\n font-size: 12px;\n color: var(--rebill-color-text-secondary-light);\n margin-bottom: 12px;\n text-transform: uppercase;\n font-weight: 400;\n letter-spacing: 0%;\n}\n\n.reference-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--rebill-color-text-primary);\n}\n\n.provider-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--rebill-color-text-primary);\n}\n\n.instructions-section {\n background: var(--rebill-color-background-secondary);\n}\n\n.instructions-toggle {\n width: 100%;\n padding: 20px 24px;\n background: none;\n border: none;\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n font-size: 15px;\n font-weight: 500;\n color: var(--rebill-color-text-primary);\n transition: background-color 0.2s ease;\n}\n\n.instructions-toggle:hover {\n background: var(--rebill-color-background-secondary);\n}\n\n.instructions-toggle rebill-icon {\n transition: transform 0.2s ease;\n}\n\n.instructions-toggle[aria-expanded='true'] rebill-icon {\n transform: rotate(180deg);\n}\n\n.instructions-content {\n padding: 16px 16px 16px 16px;\n background: var(--rebill-color-background);\n border-top: 1px solid var(--rebill-color-border);\n}\n\n.instructions-title {\n margin: 20px 0 16px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--rebill-color-text-primary);\n}\n\n.instructions-text {\n color: var(--rebill-color-text-secondary);\n}\n\n.instructions-list {\n list-style: none;\n padding: 0;\n margin: 0;\n counter-reset: instruction-counter;\n}\n\n.instructions-list li {\n counter-increment: instruction-counter;\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 16px;\n font-size: 14px;\n line-height: 1.5;\n}\n\n.instructions-list li::before {\n content: counter(instruction-counter);\n background: #f4f5f6;\n color: black;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n font-weight: 400;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.instructions-list li:last-child {\n margin-bottom: 0;\n}\n\n@media (max-width: 768px) {\n .reference-code-content {\n flex-direction: column;\n gap: 24px;\n padding: 24px 20px;\n }\n\n .reference-section::after {\n display: none;\n }\n\n .reference-section,\n .provider-section {\n text-align: center;\n width: 100%;\n }\n\n .reference-section {\n padding-bottom: 24px;\n border-bottom: 1px solid var(--rebill-color-border);\n }\n\n .instructions-toggle {\n padding: 16px 20px;\n }\n\n .instructions-content {\n padding: 0 20px 20px 20px;\n }\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { PaymentInstruction } from '../../../../api/entities/checkout/types';\nimport { I18nService } from '../../../../i18n/i18n.service';\nimport { getProviderName } from '../../../../utils/get-provider-name';\n\n@Component({\n tag: 'reference-code',\n styleUrl: 'reference-code.css',\n shadow: false,\n})\nexport class ReferenceCode {\n @Prop() referenceId: string;\n @Prop() providerName: string;\n @Prop() expirationDate: string;\n @Prop() instructions: PaymentInstruction[] = [];\n\n @State() showInstructions = false;\n\n private toggleInstructions = () => {\n this.showInstructions = !this.showInstructions;\n };\n\n private formatExpirationDate = (dateString: string): string => {\n try {\n const date = new Date(dateString);\n return date.toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n });\n } catch (error) {\n return dateString;\n }\n };\n\n private getCurrentLanguageInstructions = (): string[] => {\n const currentLanguage = I18nService.getCurrentLanguage();\n const instruction = this.instructions.find(inst => inst.language === currentLanguage);\n const instructionText = instruction?.text || this.instructions[0]?.text || '';\n\n // Split by line breaks and filter out empty lines\n return instructionText.split('\\n').filter(line => line.trim().length > 0);\n };\n\n render() {\n const instructionLines = this.getCurrentLanguageInstructions();\n\n return (\n <div class=\"reference-code\">\n {/* Header with expiration */}\n <div class=\"reference-code-header\">\n <div class=\"expiration-section\">\n <rebill-icon name=\"calendar-clock\" />\n <span class=\"expiration-text\">\n {I18nService.translate('referenceCode.expirationLabel')}{' '}\n {this.formatExpirationDate(this.expirationDate)}\n </span>\n </div>\n </div>\n\n {/* Reference code and provider */}\n <div class=\"reference-code-content\">\n <div class=\"reference-section\">\n <div class=\"reference-label\">\n {I18nService.translate('referenceCode.referenceLabel')}\n </div>\n <div class=\"reference-value\">{this.referenceId}</div>\n </div>\n\n <div class=\"provider-section\">\n <div class=\"provider-label\">{I18nService.translate('referenceCode.providerLabel')}</div>\n <div class=\"provider-value\">{getProviderName(this.providerName)}</div>\n </div>\n </div>\n\n {/* Collapsible instructions */}\n {this.instructions.length > 0 && (\n <div class=\"instructions-section\">\n <button\n class=\"instructions-toggle\"\n onClick={this.toggleInstructions}\n type=\"button\"\n aria-expanded={this.showInstructions.toString()}\n aria-controls=\"instructions-content\"\n >\n <span>{I18nService.translate('referenceCode.instructionsLabel')}</span>\n <rebill-icon name=\"chevron-down\" />\n </button>\n\n {this.showInstructions && (\n <div\n class=\"instructions-content\"\n id=\"instructions-content\"\n role=\"region\"\n aria-labelledby=\"instructions-toggle\"\n >\n <div class=\"instructions-text\">\n <ol class=\"instructions-list\">\n {instructionLines.map((line, index) => (\n <li key={index}>{line}</li>\n ))}\n </ol>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-ChtneCGm.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/get-provider-name.ts","src/components/checkout/apm/reference-code/reference-code.css?tag=reference-code","src/components/checkout/apm/reference-code/reference-code.tsx"],"sourcesContent":["const providers = {\n bamboo_payment: 'Bamboo Payment',\n fiserv: 'Fiserv',\n kushki: 'Kushki',\n payway: 'Payway',\n cybersource: 'Cybersource',\n cobre: 'Cobre',\n yakare: 'Yakare',\n dock: 'Dock',\n klap: 'Klap',\n movii: 'Movii',\n stripe: 'Stripe',\n};\n\nexport const getProviderName = (providerKey: string) => {\n return providers[providerKey as keyof typeof providers] || providerKey;\n};\n",".reference-code {\n border: 1px solid var(--rebill-color-border);\n border-radius: 8px;\n background: var(--rebill-color-background);\n overflow: hidden;\n font-family: var(--rebill-font-family);\n margin-top: 24px;\n}\n\n.reference-code-header {\n padding: 16px 24px;\n background: var(--rebill-color-background-secondary);\n border-bottom: 1px solid var(--rebill-color-border);\n}\n\n.expiration-section {\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: center;\n}\n\n.expiration-text {\n font-size: 12px;\n font-weight: 400;\n color: var(--rebill-color-text-secondary);\n}\n\n.reference-code-content {\n padding: 32px 24px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 32px;\n border-bottom: 1px solid var(--rebill-color-border);\n}\n\n.reference-section {\n flex: 1;\n text-align: center;\n position: relative;\n}\n\n.reference-section::after {\n content: '';\n position: absolute;\n right: -16px;\n top: 50%;\n transform: translateY(-50%);\n width: 1px;\n height: 60px;\n background: var(--rebill-color-border);\n}\n\n.provider-section {\n flex: 1;\n text-align: center;\n}\n\n.reference-label,\n.provider-label {\n font-size: 12px;\n color: var(--rebill-color-text-secondary-light);\n margin-bottom: 12px;\n text-transform: uppercase;\n font-weight: 400;\n letter-spacing: 0%;\n}\n\n.reference-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--rebill-color-text-primary);\n}\n\n.provider-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--rebill-color-text-primary);\n}\n\n.instructions-section {\n background: var(--rebill-color-background-secondary);\n}\n\n.instructions-toggle {\n width: 100%;\n padding: 20px 24px;\n background: none;\n border: none;\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n font-size: 15px;\n font-weight: 500;\n color: var(--rebill-color-text-primary);\n transition: background-color 0.2s ease;\n}\n\n.instructions-toggle:hover {\n background: var(--rebill-color-background-secondary);\n}\n\n.instructions-toggle rebill-icon {\n transition: transform 0.2s ease;\n}\n\n.instructions-toggle[aria-expanded='true'] rebill-icon {\n transform: rotate(180deg);\n}\n\n.instructions-content {\n padding: 16px 16px 16px 16px;\n background: var(--rebill-color-background);\n border-top: 1px solid var(--rebill-color-border);\n}\n\n.instructions-title {\n margin: 20px 0 16px 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--rebill-color-text-primary);\n}\n\n.instructions-text {\n color: var(--rebill-color-text-secondary);\n}\n\n.instructions-list {\n list-style: none;\n padding: 0;\n margin: 0;\n counter-reset: instruction-counter;\n}\n\n.instructions-list li {\n counter-increment: instruction-counter;\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 16px;\n font-size: 14px;\n line-height: 1.5;\n}\n\n.instructions-list li::before {\n content: counter(instruction-counter);\n background: #f4f5f6;\n color: black;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n font-weight: 400;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.instructions-list li:last-child {\n margin-bottom: 0;\n}\n\n@media (max-width: 768px) {\n .reference-code-content {\n flex-direction: column;\n gap: 24px;\n padding: 24px 20px;\n }\n\n .reference-section::after {\n display: none;\n }\n\n .reference-section,\n .provider-section {\n text-align: center;\n width: 100%;\n }\n\n .reference-section {\n padding-bottom: 24px;\n border-bottom: 1px solid var(--rebill-color-border);\n }\n\n .instructions-toggle {\n padding: 16px 20px;\n }\n\n .instructions-content {\n padding: 0 20px 20px 20px;\n }\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { PaymentInstruction } from '../../../../api/entities/checkout/types';\nimport { I18nService } from '../../../../i18n/i18n.service';\nimport { getProviderName } from '../../../../utils/get-provider-name';\n\n@Component({\n tag: 'reference-code',\n styleUrl: 'reference-code.css',\n shadow: false,\n})\nexport class ReferenceCode {\n @Prop() referenceId: string;\n @Prop() providerName: string;\n @Prop() expirationDate: string;\n @Prop() instructions: PaymentInstruction[] = [];\n\n @State() showInstructions = false;\n\n private toggleInstructions = () => {\n this.showInstructions = !this.showInstructions;\n };\n\n private formatExpirationDate = (dateString: string): string => {\n try {\n const date = new Date(dateString);\n return date.toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n });\n } catch (error) {\n return dateString;\n }\n };\n\n private getCurrentLanguageInstructions = (): string[] => {\n const currentLanguage = I18nService.getCurrentLanguage();\n const instruction = this.instructions.find(inst => inst.language === currentLanguage);\n const instructionText = instruction?.text || this.instructions[0]?.text || '';\n\n // Split by line breaks and filter out empty lines\n return instructionText.split('\\n').filter(line => line.trim().length > 0);\n };\n\n render() {\n const instructionLines = this.getCurrentLanguageInstructions();\n\n return (\n <div class=\"reference-code\">\n {/* Header with expiration */}\n <div class=\"reference-code-header\">\n <div class=\"expiration-section\">\n <rebill-icon name=\"calendar-clock\" />\n <span class=\"expiration-text\">\n {I18nService.translate('referenceCode.expirationLabel')}{' '}\n {this.formatExpirationDate(this.expirationDate)}\n </span>\n </div>\n </div>\n\n {/* Reference code and provider */}\n <div class=\"reference-code-content\">\n <div class=\"reference-section\">\n <div class=\"reference-label\">\n {I18nService.translate('referenceCode.referenceLabel')}\n </div>\n <div class=\"reference-value\">{this.referenceId}</div>\n </div>\n\n <div class=\"provider-section\">\n <div class=\"provider-label\">{I18nService.translate('referenceCode.providerLabel')}</div>\n <div class=\"provider-value\">{getProviderName(this.providerName)}</div>\n </div>\n </div>\n\n {/* Collapsible instructions */}\n {this.instructions.length > 0 && (\n <div class=\"instructions-section\">\n <button\n class=\"instructions-toggle\"\n onClick={this.toggleInstructions}\n type=\"button\"\n aria-expanded={this.showInstructions.toString()}\n aria-controls=\"instructions-content\"\n >\n <span>{I18nService.translate('referenceCode.instructionsLabel')}</span>\n <rebill-icon name=\"chevron-down\" />\n </button>\n\n {this.showInstructions && (\n <div\n class=\"instructions-content\"\n id=\"instructions-content\"\n role=\"region\"\n aria-labelledby=\"instructions-toggle\"\n >\n <div class=\"instructions-text\">\n <ol class=\"instructions-list\">\n {instructionLines.map((line, index) => (\n <li key={index}>{line}</li>\n ))}\n </ol>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -4,11 +4,11 @@ import { g as getAssetURL } from './p-DWY12C3E.js';
|
|
|
4
4
|
import { B as BREAKPOINT_ENUM, g as getBreakpoint } from './p-Do_vNuMa.js';
|
|
5
5
|
import { C as COLORS_ENUM } from './p-C5Pu-n-i.js';
|
|
6
6
|
import { d as defineCustomElement$7 } from './p-CLMKPBrB.js';
|
|
7
|
-
import { d as defineCustomElement$6 } from './p-
|
|
8
|
-
import { d as defineCustomElement$5 } from './p-
|
|
9
|
-
import { d as defineCustomElement$4 } from './p-
|
|
7
|
+
import { d as defineCustomElement$6 } from './p-BhAb6Xb9.js';
|
|
8
|
+
import { d as defineCustomElement$5 } from './p-CNgxCj8J.js';
|
|
9
|
+
import { d as defineCustomElement$4 } from './p-iueBw_y3.js';
|
|
10
10
|
import { d as defineCustomElement$3 } from './p-Np4T5oyp.js';
|
|
11
|
-
import { d as defineCustomElement$2 } from './p-
|
|
11
|
+
import { d as defineCustomElement$2 } from './p-C9-xmJLv.js';
|
|
12
12
|
import { d as defineCustomElement$1 } from './p-T8LQxh_O.js';
|
|
13
13
|
|
|
14
14
|
const processingPaymentCss = ".lottie-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.lottie-animation{width:166px;height:165px;display:flex;justify-content:center;align-items:center}.text-content{margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.security-badge{width:100%;max-width:450px;height:40px;display:flex;align-items:center;justify-content:center;background:#ebedef;border-radius:8px;box-sizing:border-box}.lock-icon{width:16px;height:16px;color:var(--rebill-color-text-secondary, #6b7280)}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}}.contact-info{text-align:left}@media (max-width: 1024px){.security-badge{width:100%;max-width:100%}.lottie-animation{width:166px;height:165px}.text-content{gap:12px}}@media (max-width: 767px){.processing-container{padding:0 16px}}.processing-container{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}";
|
|
@@ -156,6 +156,6 @@ function defineCustomElement() {
|
|
|
156
156
|
defineCustomElement();
|
|
157
157
|
|
|
158
158
|
export { ProcessingPayment as P, defineCustomElement as d };
|
|
159
|
-
//# sourceMappingURL=p-
|
|
159
|
+
//# sourceMappingURL=p-CoRQkXBT.js.map
|
|
160
160
|
|
|
161
|
-
//# sourceMappingURL=p-
|
|
161
|
+
//# sourceMappingURL=p-CoRQkXBT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CoRQkXBT.js","mappings":";;;;;;;;;;;;;AAAA,MAAM,oBAAoB,GAAG,88BAA88B;;MCa99B,iBAAiB,iBAAAA,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;;;;;;;IACpB,QAAQ,GAAW,4BAA4B;IAC/C,WAAW,GAAW,+BAA+B;AACpD,IAAA,aAAa,GAAWC,KAAY,CAAC,aAAa;AAClD,IAAA,UAAU,GAAoB,eAAe,CAAC,OAAO;IACrD,cAAc,GAAW,CAAC;IAC1B,eAAe,GAAY,IAAI;AAEhC,IAAA,6BAA6B;AAC7B,IAAA,gBAAgB;AAChB,IAAA,eAAe;AACf,IAAA,eAAe;IAEvB,iBAAiB,GAAA;QACf,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,6BAA6B,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAK;AAC/E,YAAA,IAAI,CAAC,aAAa,GAAGA,KAAY,CAAC,aAAa;AACjD,SAAC,CAAC;;IAGJ,gBAAgB,GAAA;QACd,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,mBAAmB,EAAE;;IAG5B,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACtC,IAAI,CAAC,6BAA6B,EAAE;;QAEtC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,mBAAmB,EAAE;;IAGpB,YAAY,GAAG,MAAK;QAC1B,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;AACpD,KAAC;IAEO,mBAAmB,GAAG,YAAW;AACvC,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,MAAM,OAAO,iBAAY,oCAAC;YACzC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAA,mBAAA,CAAqB,CAAC,CAAC;AACrE,YAAA,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE;AAEhD,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;oBAClD,SAAS,EAAE,IAAI,CAAC,eAAe;AAC/B,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,aAAa,EAAE,aAAa;AAC7B,iBAAA,CAAC;;iBACG;gBACL,IAAI,CAAC,oBAAoB,EAAE;;;QAE7B,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,oBAAoB,EAAE;;AAE/B,KAAC;IAEO,oBAAoB,GAAG,MAAK;QAClC,MAAM,QAAQ,GAAG,IAAI;AACrB,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,QAAQ,IAAI,GAAG;QAE7C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAK;AAC9C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,SAAS,EAAE,GAAG,CAAC;AACpE,YAAA,IAAI,IAAI,CAAC,cAAc,IAAI,GAAG,EAAE;gBAC9B,IAAI,CAAC,mBAAmB,EAAE;;SAE7B,EAAE,QAAQ,CAAC;AACd,KAAC;IAEO,mBAAmB,GAAG,MAAK;AACjC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACpC,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAEnC,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;AAC9B,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS;;AAEpC,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAA,+BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAE/B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,kBAAkB,GAAO,CACxE,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAmB,OAAO,EAAC,IAAI,EAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,EACjE,EAAA,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACnB,EACpB,CAAA,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAmB,OAAO,EAAC,eAAe,EAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,IAC5E,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CACtB,CAChB,EAEN,CACE,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,gBAAgB,EACxB,IAAI,EAAC,cAAc,EACnB,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,EACnD,CAAA,CACE,CACwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/processing-payment/processing-payment.css?tag=rebill-processing-payment","src/components/checkout/processing-payment/processing-payment.tsx"],"sourcesContent":["/* Lottie Animation */\n.lottie-container {\n margin-bottom: 2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.lottie-animation {\n width: 166px;\n height: 165px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* Text Content */\n.text-content {\n margin-bottom: 2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n/* Security Badge */\n.security-badge {\n width: 100%;\n max-width: 450px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #ebedef;\n border-radius: 8px;\n box-sizing: border-box;\n}\n\n.lock-icon {\n width: 16px;\n height: 16px;\n color: var(--rebill-color-text-secondary, #6b7280);\n}\n\n/* Animation */\n@keyframes pulse {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n}\n\n.contact-info {\n text-align: left;\n}\n\n/* Responsive Styles */\n@media (max-width: 1024px) {\n .security-badge {\n width: 100%;\n max-width: 100%;\n }\n\n .lottie-animation {\n width: 166px;\n height: 165px;\n }\n\n .text-content {\n gap: 12px;\n }\n}\n\n@media (max-width: 767px) {\n .processing-container {\n padding: 0 16px;\n }\n}\n\n.processing-container {\n width: 100%;\n max-width: 100%;\n overflow-x: hidden;\n box-sizing: border-box;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { getAssetURL } from '../../../utils/assets';\nimport { BREAKPOINT_ENUM, getBreakpoint } from '../../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport '../../shared/card-icon/card-icon';\n\n@Component({\n tag: 'rebill-processing-payment',\n styleUrl: 'processing-payment.css',\n shadow: false,\n})\nexport class ProcessingPayment {\n @Prop() titleKey: string = 'processing.processingTitle';\n @Prop() subtitleKey: string = 'processing.processingSubtitle';\n @State() currentLocale: string = sessionState.currentLocale;\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n @State() loaderProgress: number = 0;\n @State() isLoadingLottie: boolean = true;\n\n private unsubscribeCurrentLocaleStore?: () => void;\n private progressInterval?: number;\n private lottieContainer?: HTMLElement;\n private lottieAnimation?: any;\n\n componentWillLoad() {\n this.breakpoint = getBreakpoint(window.innerWidth);\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.currentLocale = sessionState.currentLocale;\n });\n }\n\n componentDidLoad() {\n window.addEventListener('resize', this.handleResize);\n this.loadLottieAnimation();\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n window.removeEventListener('resize', this.handleResize);\n this.stopLoaderAnimation();\n }\n\n private handleResize = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n private loadLottieAnimation = async () => {\n try {\n const lottie = await import('lottie-web');\n const animationData = await fetch(getAssetURL(`loader-card-v2.json`));\n const animationJson = await animationData.json();\n\n if (this.lottieContainer) {\n this.lottieAnimation = lottie.default.loadAnimation({\n container: this.lottieContainer,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n animationData: animationJson,\n });\n } else {\n this.startLoaderAnimation();\n }\n } catch (error) {\n this.startLoaderAnimation();\n }\n };\n\n private startLoaderAnimation = () => {\n const duration = 2000;\n const interval = 50; // Update every 50ms\n const increment = (interval / duration) * 100;\n\n this.progressInterval = window.setInterval(() => {\n this.loaderProgress = Math.min(this.loaderProgress + increment, 100);\n if (this.loaderProgress >= 100) {\n this.stopLoaderAnimation();\n }\n }, interval);\n };\n\n private stopLoaderAnimation = () => {\n if (this.progressInterval) {\n clearInterval(this.progressInterval);\n this.progressInterval = undefined;\n }\n if (this.lottieAnimation) {\n this.lottieAnimation.destroy();\n this.lottieAnimation = undefined;\n }\n };\n\n render() {\n return (\n <rebill-checkout-single-column>\n <div class=\"processing-container\">\n {/* Lottie Animation */}\n <div class=\"lottie-container\">\n <div ref={el => (this.lottieContainer = el)} class=\"lottie-animation\"></div>\n </div>\n <div class=\"text-content\">\n <rebill-typography variant=\"h3\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {I18nService.translate(this.titleKey)}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {I18nService.translate(this.subtitleKey)}\n </rebill-typography>\n </div>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </rebill-checkout-single-column>\n );\n }\n}\n"],"version":3}
|
|
@@ -18,7 +18,7 @@ const Container = /*@__PURE__*/ proxyCustomElement(class Container extends H {
|
|
|
18
18
|
width: '100%',
|
|
19
19
|
boxSizing: 'border-box',
|
|
20
20
|
};
|
|
21
|
-
return (h("div", { key: '
|
|
21
|
+
return (h("div", { key: 'e1704fb8a817d641a9dde4b860e5b76598fdb3e1', style: style }, h("slot", { key: 'f1164b93ce59d5e6166038d4428cff273a0a1c0f' })));
|
|
22
22
|
}
|
|
23
23
|
}, [260, "rebill-container", {
|
|
24
24
|
"maxWidth": [1, "max-width"],
|
|
@@ -41,6 +41,6 @@ function defineCustomElement() {
|
|
|
41
41
|
defineCustomElement();
|
|
42
42
|
|
|
43
43
|
export { Container as C, defineCustomElement as d };
|
|
44
|
-
//# sourceMappingURL=p-
|
|
44
|
+
//# sourceMappingURL=p-CpBlNxfh.js.map
|
|
45
45
|
|
|
46
|
-
//# sourceMappingURL=p-
|
|
46
|
+
//# sourceMappingURL=p-CpBlNxfh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CpBlNxfh.js","mappings":";;MAMa,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;IACZ,QAAQ,GAAW,QAAQ;IAC3B,OAAO,GAAW,MAAM;IACxB,KAAK,GAAY,KAAK;IAE9B,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,SAAS,EAAE,YAAY;SACxB;QAED,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/layouts/generics/container.tsx"],"sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'rebill-container',\n shadow: false,\n})\nexport class Container {\n @Prop() maxWidth: string = '1200px';\n @Prop() padding: string = '1rem';\n @Prop() fluid: boolean = false;\n\n render() {\n const style = {\n maxWidth: this.fluid ? '100%' : this.maxWidth,\n padding: this.padding,\n margin: '0 auto',\n width: '100%',\n boxSizing: 'border-box',\n };\n\n return (\n <div style={style}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -151,7 +151,7 @@ const Form = /*@__PURE__*/ proxyCustomElement(class Form extends H {
|
|
|
151
151
|
await this.submitForm();
|
|
152
152
|
};
|
|
153
153
|
render() {
|
|
154
|
-
return (h("form", { key: '
|
|
154
|
+
return (h("form", { key: '52bbd73020352379d4d196e1fa6ea32dbb5bf8cc', onSubmit: e => this.handleSubmit(e), noValidate: true }, this.renderForm ? (this.renderForm({
|
|
155
155
|
submit: () => this.submitForm(),
|
|
156
156
|
formData: this.formData,
|
|
157
157
|
errors: this.errors,
|
|
@@ -190,6 +190,6 @@ function defineCustomElement() {
|
|
|
190
190
|
defineCustomElement();
|
|
191
191
|
|
|
192
192
|
export { Form as F, defineCustomElement as d };
|
|
193
|
-
//# sourceMappingURL=p-
|
|
193
|
+
//# sourceMappingURL=p-Cs-pA3OO.js.map
|
|
194
194
|
|
|
195
|
-
//# sourceMappingURL=p-
|
|
195
|
+
//# sourceMappingURL=p-Cs-pA3OO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-Cs-pA3OO.js","mappings":";;;MAca,aAAa,CAAA;AAChB,IAAA,MAAM;AAEd,IAAA,WAAA,CAAY,gBAAkC,EAAA;AAC5C,QAAA,IAAI,CAAC,MAAM,GAAGA,QAAU,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;;AAGpD,IAAA,MAAM,aAAa,CAAC,SAAiB,EAAE,QAAkB,EAAA;AACvD,QAAA,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;AACjD,YAAA,OAAO,EAAE;;QACT,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAYC,eAAmB,EAAE;gBACxC,OAAO,KAAK,CAAC,OAAO;;AAEtB,YAAA,OAAO,EAAE;;;IAIb,MAAM,YAAY,CAAC,QAAkB,EAAA;AACnC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC3D,YAAA,OAAO,EAAE;;QACT,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAYA,eAAmB,EAAE;gBACxC,MAAM,MAAM,GAAe,EAAE;AAC7B,gBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAG;AACxB,oBAAA,IAAI,GAAG,CAAC,IAAI,EAAE;wBACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO;;AAElC,iBAAC,CAAC;AACF,gBAAA,OAAO,MAAM;;AAEf,YAAA,OAAO,EAAE;;;AAGd;;MCjCY,IAAI,iBAAAC,kBAAA,CAAA,MAAA,IAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AAEP,IAAA,gBAAgB;;IAEhB,WAAW,GAAa,EAAE;;AAEzB,IAAA,MAAM;;AAEN,IAAA,MAAM;;AAEP,IAAA,UAAU;IAMT,QAAQ,GAAa,EAAE;IACvB,MAAM,GAAe,EAAE;AACxB,IAAA,SAAS;IACT,YAAY,GAAY,KAAK;AAGrC,IAAA,uBAAuB,CAAC,QAAkB,EAAA;QACxC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAClC,YAAA,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;gBACrE,eAAe,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;;AAExC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAIjC,IAAA,4BAA4B,CAAC,SAAc,EAAA;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC;;IAG/C,iBAAiB,GAAA;QACf,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACzD,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC,EAAE,GAAG,CAAC;;IAGD,aAAa,CAAC,EAAU,EAAE,KAAU,EAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG;gBACd,GAAG,IAAI,CAAC,QAAQ;gBAChB,CAAC,EAAE,GAAG,KAAK;aACZ;;;IAIG,aAAa,CAAC,EAAU,EAAE,KAAa,EAAA;QAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG;gBACZ,GAAG,IAAI,CAAC,MAAM;gBACd,CAAC,EAAE,GAAG,KAAK;aACZ;;;AAIG,IAAA,eAAe,CAAC,EAAU,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC;;;AAItB,IAAA,aAAa,CAAC,EAAU,EAAA;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;;IAI/B,MAAM,iBAAiB,CAAC,KAAkB,EAAA;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAAE;QACvC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM;AAE5C,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC;AAE7B,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE;AAClC,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;AACnE,YAAA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC;;aACxB;AACL,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;;;QAG5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;IAGjC,MAAM,UAAU,CAAC,KAAkB,EAAA;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAAE;QACvC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM;QAErC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;AACnE,YAAA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC;;;AAKjC,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAEhB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/D,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QAEpB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;;AAKnC,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;;IAIlB,MAAM,UAAU,CAAC,OAAe,EAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;;AAEvB,IAAA,YAAY,GAAG,OAAO,KAAY,KAAI;QAC5C,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,MAAM,IAAI,CAAC,UAAU,EAAE;AACzB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACE,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAA,IAAA,EAAA,EAClD,IAAI,CAAC,UAAU,IACd,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,SAAA,CAAC,KAEF,CAAa,CAAA,MAAA,EAAA,IAAA,CAAA,CACd,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["yup.object","yup.ValidationError","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/form-validation.ts","src/components/shared/form/form.tsx"],"sourcesContent":["import * as yup from 'yup';\n\nexport interface ValidationSchema {\n [key: string]: yup.Schema<any>;\n}\n\nexport interface FormErrors {\n [key: string]: string;\n}\n\nexport interface FormData {\n [key: string]: any;\n}\n\nexport class FormValidator {\n private schema: yup.ObjectSchema<any>;\n\n constructor(validationSchema: ValidationSchema) {\n this.schema = yup.object().shape(validationSchema);\n }\n\n async validateField(fieldName: string, formData: FormData): Promise<string> {\n try {\n await this.schema.validateAt(fieldName, formData);\n return '';\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n return error.message;\n }\n return '';\n }\n }\n\n async validateForm(formData: FormData): Promise<FormErrors> {\n try {\n await this.schema.validate(formData, { abortEarly: false });\n return {};\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n const errors: FormErrors = {};\n error.inner.forEach(err => {\n if (err.path) {\n errors[err.path] = err.message;\n }\n });\n return errors;\n }\n return {};\n }\n }\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { FormData, FormErrors, FormValidator } from '../../../utils/form-validation';\n\n@Component({\n tag: 'rebill-form',\n shadow: false,\n})\nexport class Form {\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 @State() formData: FormData = {};\n @State() errors: FormErrors = {};\n private validator: FormValidator;\n private hasSubmitted: boolean = false;\n\n @Watch('initialData')\n handleInitialDataChange(newValue: FormData) {\n const updatedFormData = { ...this.formData };\n Object.keys(newValue).forEach(key => {\n if (updatedFormData[key] === undefined || updatedFormData[key] === '') {\n updatedFormData[key] = newValue[key];\n }\n });\n this.formData = updatedFormData;\n this.change.emit(this.formData);\n }\n\n @Watch('validationSchema')\n handleValidationSchemaChange(newSchema: any) {\n this.validator = new FormValidator(newSchema);\n }\n\n componentWillLoad() {\n this.formData = { ...this.initialData };\n this.validator = new FormValidator(this.validationSchema);\n setTimeout(() => {\n this.change.emit(this.formData);\n }, 100);\n }\n\n private setFieldValue(id: string, value: any) {\n if (this.formData[id] !== value) {\n this.formData = {\n ...this.formData,\n [id]: value,\n };\n }\n }\n\n private setFieldError(id: string, error: string) {\n if (this.errors[id] !== error) {\n this.errors = {\n ...this.errors,\n [id]: error,\n };\n }\n }\n\n private clearFieldError(id: string) {\n if (this.hasFieldError(id)) {\n this.setFieldError(id, '');\n }\n }\n\n private hasFieldError(id: string) {\n return this.errors[id] !== '';\n }\n\n @Listen('input')\n async handleInputChange(event: CustomEvent) {\n if (!event.detail || !event.detail.id) return;\n const { id, value, disabled } = event.detail;\n\n this.setFieldValue(id, value);\n\n if (this.hasSubmitted && !disabled) {\n const error = await this.validator.validateField(id, this.formData);\n this.setFieldError(id, error);\n } else {\n if (this.hasFieldError(id)) {\n this.clearFieldError(id);\n }\n }\n this.change.emit(this.formData);\n }\n @Listen('blur')\n async handleBlur(event: CustomEvent) {\n if (!event.detail || !event.detail.id) return;\n const { id, disabled } = event.detail;\n\n if (!disabled) {\n const error = await this.validator.validateField(id, this.formData);\n this.setFieldError(id, error);\n }\n }\n\n @Method()\n async submitForm() {\n this.hasSubmitted = true;\n this.errors = {};\n\n const errors = await this.validator.validateForm(this.formData);\n this.errors = errors;\n\n if (Object.values(this.errors).filter(value => !!value).length === 0) {\n this.submit.emit(this.formData);\n }\n }\n\n @Method()\n async resetValidation() {\n this.hasSubmitted = false;\n this.errors = {};\n }\n\n @Method()\n async clearError(fieldId: string) {\n this.clearFieldError(fieldId);\n }\n private handleSubmit = async (event: Event) => {\n event.preventDefault();\n await this.submitForm();\n };\n\n render() {\n return (\n <form onSubmit={e => this.handleSubmit(e)} noValidate>\n {this.renderForm ? (\n this.renderForm({\n submit: () => this.submitForm(),\n formData: this.formData,\n errors: this.errors,\n })\n ) : (\n <slot></slot>\n )}\n </form>\n );\n }\n}\n"],"version":3}
|
|
@@ -179,7 +179,7 @@ const InputCombo = /*@__PURE__*/ proxyCustomElement(class InputCombo extends H {
|
|
|
179
179
|
render() {
|
|
180
180
|
const selectedLabel = this.getSelectedOptionLabel();
|
|
181
181
|
const hasSelectValue = this.selectValue !== '';
|
|
182
|
-
return (h("div", { key: '
|
|
182
|
+
return (h("div", { key: '0360567ad633891e99e66919cd438a47e699f695', class: "input-container" }, this.label && (h("label", { key: '1bc2c3011814027332eba0b08b91ef1c9911c6aa', class: `input-label ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '027f513328a30719c0ebc69e3d53d6fb4fc510f6', class: `input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}` }, h("div", { key: '620f17945e07b215252a5ebc5f6ed27b314ae34b', class: "select-section", style: { width: this.selectWidth } }, h("div", { key: 'cd0c22bcef863c8bd5f90662226347650c7ac7e8', ref: el => (this.triggerRef = el), class: `input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`, onClick: this.toggleDropdown, onKeyDown: this.handleKeyDown, onBlur: this.onSelectBlur, tabIndex: this.disabled ? -1 : 0, role: "combobox", "aria-expanded": this.isOpen.toString(), "aria-haspopup": "listbox" }, h("span", { key: '21e26bb4dffe66836580fb3b76f9b4f8273c0cee', class: "select-value" }, selectedLabel), h("div", { key: 'b145278bcbea29ab2eb337b573983673532041fe', class: "icon-wrapper" }, h("rebill-icon", { key: '56ae1b4873155c427c04e05c10ea8524d3478f10', name: "chevron-up-down", size: "20px", class: "select-icon" }))), this.isOpen && (h("div", { key: 'fe74110079d0a3e5f7d59977a002e303fb2ee662', ref: el => (this.dropdownRef = el), class: "select-dropdown", role: "listbox" }, this.options.map((option, index) => (h("div", { class: `select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`, onClick: () => this.selectOption(option), role: "option", "aria-selected": this.selectValue === option.value ? 'true' : 'false' }, option.label)))))), h("div", { key: '7abccdd32f6c6ccbb2b6118f00ce9e25eccce127', class: "combo-divider" }), h("div", { key: 'ed775e735b692adb7340217da21cce1e58313db0', class: "input-section" }, h("input", { key: 'c8207be47f190354bbfeb2a9df1787db4db4ec77', type: "text", class: "input-combo-element combo-input", placeholder: this.inputPlaceholder, value: this.inputValue, onInput: this.onInputChange, onBlur: this.onInputBlur, disabled: this.disabled }))), this.error && h("span", { key: 'd0710be8bc27af2175fd3e9fe347f865c12db1df', class: "error-message" }, this.error)));
|
|
183
183
|
}
|
|
184
184
|
static get style() { return inputComboCss; }
|
|
185
185
|
}, [256, "rebill-input-combo", {
|
|
@@ -219,6 +219,6 @@ function defineCustomElement() {
|
|
|
219
219
|
defineCustomElement();
|
|
220
220
|
|
|
221
221
|
export { InputCombo as I, defineCustomElement as d };
|
|
222
|
-
//# sourceMappingURL=p-
|
|
222
|
+
//# sourceMappingURL=p-CtrJsF6L.js.map
|
|
223
223
|
|
|
224
|
-
//# sourceMappingURL=p-
|
|
224
|
+
//# sourceMappingURL=p-CtrJsF6L.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-OIK5VUVA.js","mappings":";;;AAAA,MAAM,aAAa,GAAG,kyLAAkyL;;MCO3yL,UAAU,iBAAAA,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AACb,IAAA,WAAW;AACX,IAAA,UAAU;;IAGV,KAAK,GAAW,EAAE;;IAElB,OAAO,GAAuC,EAAE;;IAEhB,WAAW,GAAW,EAAE;;IAExB,UAAU,GAAW,EAAE;;IAEvD,gBAAgB,GAAW,EAAE;;IAE7B,iBAAiB,GAAW,EAAE;;IAE9B,KAAK,GAAW,EAAE;;IAElB,QAAQ,GAAW,EAAE;;IAErB,OAAO,GAAW,EAAE;;IAEpB,QAAQ,GAAY,KAAK;;IAEzB,WAAW,GAAW,OAAO;;IAE5B,MAAM,GAAY,KAAK;;IAEvB,gBAAgB,GAAW,EAAE;;IAE7B,WAAW,GAAW,EAAE;AAExB,IAAA,IAAI;;AAEJ,IAAA,YAAY;;AAEZ,IAAA,KAAK;IAEd,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;;AAIxF,IAAA,gBAAgB,CAAC,KAAkB,EAAA;AACjC,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM;QAC7B,IAAI,QAAQ,EAAE;;YAEZ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;gBAC9C,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9C,gBAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;AACtC,oBAAA,IAAI,CAAC,WAAW,GAAG,cAAc;;;;YAIrC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;gBAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,gBAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACrC,oBAAA,IAAI,CAAC,UAAU,GAAG,aAAa;;;;;AAOvC,IAAA,qBAAqB,CAAC,KAAkB,EAAA;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE;YACrC,IAAI,CAAC,aAAa,EAAE;;;AAKxB,IAAA,mBAAmB,CAAC,KAAY,EAAA;QAC9B,IACE,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,UAAU;YACf,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;YAChD,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAC/C;YACA,IAAI,CAAC,aAAa,EAAE;;;IAIhB,cAAc,GAAG,MAAK;QAC5B,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;AAE1B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,EAAE;AACZ,gBAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;;YAG1F,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC;AAC3F,YAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,EAAE;AAChC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;;;AAG/B,KAAC;IAEO,YAAY,GAAG,MAAK;QAC1B,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAExF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC;AAC3F,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,EAAE;AAChC,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;;AAE7B,KAAC;IAEO,aAAa,GAAG,MAAK;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC5B,KAAC;AAEO,IAAA,YAAY,GAAG,CAAC,MAAwC,KAAI;QAClE,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK;QAC/B,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AACjE,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAY,KAAI;QACvC,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC/D,KAAC;IAEO,YAAY,GAAG,MAAK;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAChE,KAAC;IAEO,WAAW,GAAG,MAAK;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAE3C,QAAA,IAAI,YAAY,KAAK,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,GAAG,YAAY;AAC9B,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;;AAG/D,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9D,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;QAC/C,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,GAAG;gBACN,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;AAC7C,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;;qBACjD;oBACL,IAAI,CAAC,cAAc,EAAE;;gBAEvB;AACF,YAAA,KAAK,QAAQ;gBACX,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,aAAa,EAAE;gBACpB;AACF,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,YAAY,EAAE;;qBACd;oBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;;gBAEtF;AACF,YAAA,KAAK,SAAS;gBACZ,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC;;gBAEhE;;AAEN,KAAC;IAEO,sBAAsB,GAAG,MAAa;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC;AACrF,QAAA,OAAO,cAAc,GAAG,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB;AACvE,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE;AACnD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,KAAK,EAAE;QAE9C,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,iBAAiB,EAAA,EACzB,IAAI,CAAC,KAAK,KACT,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAA,CAAE,EAAA,EAAG,IAAI,CAAC,KAAK,CAAS,CACrF,EACD,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAqC,kCAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,CAAE,CAAA,EAAA,EAG1G,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EAC5D,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EACjC,KAAK,EAAE,CAAA,wCAAA,EAA2C,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAE,CAAA,EACxF,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,IAAI,EAAC,UAAU,EACA,eAAA,EAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,mBACvB,SAAS,EAAA,EAEvB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,cAAc,EAAA,EAAE,aAAa,CAAQ,EACjD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAa,IAAI,EAAC,iBAAiB,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,aAAa,EAAA,CAAG,CAClE,CACF,EAEL,IAAI,CAAC,MAAM,KACV,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,EAC5E,EAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAC9B,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAA,cAAA,EAAiB,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,GAAG,aAAa,GAAG,EAAE,CAAA,CAAE,EACrI,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EACxC,IAAI,EAAC,QAAQ,EACE,eAAA,EAAA,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO,EAAA,EAElE,MAAM,CAAC,KAAK,CACT,CACP,CAAC,CACE,CACP,CACG,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAO,CAAA,EAGjC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,iCAAiC,EACvC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,MAAM,EAAE,IAAI,CAAC,WAAW,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CACvB,CACE,CACF,EACL,IAAI,CAAC,KAAK,IAAI,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,eAAe,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/inputs/input-combo/input-combo.css?tag=rebill-input-combo","src/components/shared/inputs/input-combo/input-combo.tsx"],"sourcesContent":["@import '../shared-input.css';\n\n:host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n}\n\n.combo-wrapper {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: 38.33px;\n border-radius: var(--input-group-inner-border-radius, 8px);\n border: 1.5px solid var(--rebill-color-border);\n background: var(--rebill-color-background);\n transition: border-color 0.2s;\n position: relative;\n box-sizing: border-box;\n}\n\n.combo-wrapper:focus-within {\n border-color: var(--rebill-color-primary);\n box-shadow: 0 0 0 2px var(--rebill-color-primary-light);\n}\n\n.combo-wrapper.error {\n border-color: var(--rebill-color-error);\n}\n\n.combo-wrapper.disabled {\n background-color: var(--rebill-color-background);\n border-color: var(--rebill-color-disabled);\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n/* Sección del selector */\n.select-section {\n position: relative;\n flex-shrink: 0;\n min-width: 80px;\n display: flex;\n align-items: center;\n}\n\n.select-combo-trigger {\n width: 100%;\n height: 100%;\n padding: 0 30px 0 14px;\n font-size: 0.875rem;\n font-weight: normal;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n box-sizing: border-box;\n position: relative;\n transition: border-color 0.2s;\n}\n\n.select-combo-trigger:focus {\n outline: none;\n}\n\n.select-combo-trigger:hover:not(.disabled) {\n border-color: var(--rebill-color-primary);\n}\n\n.select-combo-trigger.placeholder .select-value {\n color: var(--rebill-color-text-secondary-light);\n}\n\n.combo-wrapper.disabled .select-combo-trigger {\n cursor: not-allowed;\n color: var(--rebill-color-text-secondary);\n}\n\n.select-value {\n flex: 1;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.select-section .icon-wrapper {\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 20px;\n width: 20px;\n}\n\n.select-icon {\n color: var(--rebill-color-text-secondary);\n transition: transform 0.2s ease;\n transform-origin: 50% 50%;\n display: block;\n}\n\n.combo-wrapper.disabled .select-icon {\n color: var(--rebill-color-disabled);\n}\n\n/* Dropdown del selector */\n.select-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 1000;\n background-color: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border);\n border-radius: 0.375rem;\n box-shadow:\n 0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n margin-top: 0.25rem;\n max-height: 200px;\n overflow-y: auto;\n animation: slideDown 0.15s ease-out;\n box-sizing: border-box;\n width: 100%;\n}\n\n.select-option {\n padding: 0.75rem;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n cursor: pointer;\n border-bottom: 1px solid var(--rebill-color-border);\n transition: background-color 0.15s ease;\n}\n\n.select-option:last-child {\n border-bottom: none;\n}\n\n.select-option:hover,\n.select-option.highlighted {\n background-color: #f0f9ff;\n}\n\n.select-option.selected {\n background-color: var(--rebill-color-primary);\n color: white;\n}\n\n.select-option.selected:hover,\n.select-option.selected.highlighted {\n background-color: var(--rebill-color-primary);\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Divisor vertical */\n.combo-divider {\n width: 1px;\n background-color: var(--rebill-color-border);\n margin: 0;\n flex-shrink: 0;\n}\n\n/* Sección del input de texto */\n.input-section {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n}\n\n.combo-input {\n width: 100%;\n height: 100%;\n padding: 0 14px;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n box-sizing: border-box;\n}\n\n.combo-input:focus {\n outline: none;\n}\n\n.combo-input::placeholder {\n color: var(--rebill-color-text-secondary-light);\n font-size: 0.875rem;\n opacity: 1;\n}\n\n.combo-wrapper.disabled .combo-input {\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n}\n\n.combo-wrapper.disabled .combo-input::placeholder {\n color: var(--rebill-color-text-secondary);\n}\n\n/* Animación del dropdown */\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Fix para evitar zoom en dispositivos móviles */\n@media screen and (max-width: 768px) {\n .select-combo-trigger {\n font-size: 1rem;\n }\n\n .select-option {\n font-size: 1rem;\n }\n\n .combo-input {\n font-size: 1rem;\n }\n\n .combo-input::placeholder {\n font-size: 1rem;\n }\n}\n","import { Component, Event, EventEmitter, Listen, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'rebill-input-combo',\n styleUrl: 'input-combo.css',\n shadow: false,\n})\nexport class InputCombo {\n private dropdownRef?: HTMLDivElement;\n private triggerRef?: HTMLDivElement;\n\n /** Etiqueta que se muestra arriba del campo */\n @Prop() label: string = '';\n /** Opciones del selector */\n @Prop() options: { label: string; value: string }[] = [];\n /** Valor del selector */\n @Prop({ mutable: true, reflect: true }) selectValue: string = '';\n /** Valor del input de texto */\n @Prop({ mutable: true, reflect: true }) inputValue: string = '';\n /** Placeholder del campo de texto */\n @Prop() inputPlaceholder: string = '';\n /** Placeholder del selector */\n @Prop() selectPlaceholder: string = '';\n /** Mensaje de error */\n @Prop() error: string = '';\n /** ID del selector */\n @Prop() selectId: string = '';\n /** ID del input de texto */\n @Prop() inputId: string = '';\n /** Estado deshabilitado */\n @Prop() disabled: boolean = false;\n /** Ancho del selector (en porcentaje o píxeles) */\n @Prop() selectWidth: string = '120px';\n /** Estado interno para mostrar/ocultar el dropdown */\n @State() isOpen: boolean = false;\n /** Índice de la opción resaltada para navegación con teclado */\n @State() highlightedIndex: number = -1;\n /** ID único del componente */\n @State() componentId: string = '';\n\n @Event() blur: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del selector */\n @Event() selectChange: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del input */\n @Event() input: EventEmitter<{ id: string; value: string }>;\n\n componentWillLoad() {\n this.componentId = this.selectId || `combo-${Math.random().toString(36).substr(2, 9)}`;\n }\n\n @Listen('change', { target: 'document' })\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n if (formData) {\n // Manejar cambios del selector\n if (this.selectId && this.selectId in formData) {\n const newSelectValue = formData[this.selectId];\n if (typeof newSelectValue === 'string') {\n this.selectValue = newSelectValue;\n }\n }\n // Manejar cambios del input\n if (this.inputId && this.inputId in formData) {\n const newInputValue = formData[this.inputId];\n if (typeof newInputValue === 'string') {\n this.inputValue = newInputValue;\n }\n }\n }\n }\n\n @Listen('closeAllSelects', { target: 'document' })\n handleCloseAllSelects(event: CustomEvent) {\n if (event.detail !== this.componentId) {\n this.closeDropdown();\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n if (\n this.dropdownRef &&\n this.triggerRef &&\n !this.dropdownRef.contains(event.target as Node) &&\n !this.triggerRef.contains(event.target as Node)\n ) {\n this.closeDropdown();\n }\n }\n\n private toggleDropdown = () => {\n if (this.disabled) return;\n\n const wasOpen = this.isOpen;\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n if (!wasOpen) {\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n }\n\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n }\n };\n\n private openDropdown = () => {\n if (this.disabled) return;\n\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n\n this.isOpen = true;\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n };\n\n private closeDropdown = () => {\n this.isOpen = false;\n this.highlightedIndex = -1;\n };\n\n private selectOption = (option: { label: string; value: string }) => {\n if (this.disabled) return;\n this.selectValue = option.value;\n this.closeDropdown();\n this.input.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputChange = (event: Event) => {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private onSelectBlur = () => {\n this.blur.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputBlur = () => {\n const trimmedValue = this.inputValue.trim();\n\n if (trimmedValue !== this.inputValue) {\n this.inputValue = trimmedValue;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n }\n\n this.blur.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (this.isOpen && this.highlightedIndex >= 0) {\n this.selectOption(this.options[this.highlightedIndex]);\n } else {\n this.toggleDropdown();\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n } else {\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.options.length - 1);\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this.isOpen) {\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\n }\n break;\n }\n };\n\n private getSelectedOptionLabel = (): string => {\n const selectedOption = this.options.find(option => option.value === this.selectValue);\n return selectedOption ? selectedOption.label : this.selectPlaceholder;\n };\n\n render() {\n const selectedLabel = this.getSelectedOptionLabel();\n const hasSelectValue = this.selectValue !== '';\n\n return (\n <div class=\"input-container\">\n {this.label && (\n <label class={`input-label ${this.disabled ? 'disabled' : ''}`}>{this.label}</label>\n )}\n <div\n class={`input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}`}\n >\n {/* Selector */}\n <div class=\"select-section\" style={{ width: this.selectWidth }}>\n <div\n ref={el => (this.triggerRef = el)}\n class={`input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`}\n onClick={this.toggleDropdown}\n onKeyDown={this.handleKeyDown}\n onBlur={this.onSelectBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"combobox\"\n aria-expanded={this.isOpen.toString()}\n aria-haspopup=\"listbox\"\n >\n <span class=\"select-value\">{selectedLabel}</span>\n <div class=\"icon-wrapper\">\n <rebill-icon name=\"chevron-up-down\" size=\"20px\" class=\"select-icon\" />\n </div>\n </div>\n\n {this.isOpen && (\n <div ref={el => (this.dropdownRef = el)} class=\"select-dropdown\" role=\"listbox\">\n {this.options.map((option, index) => (\n <div\n class={`select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`}\n onClick={() => this.selectOption(option)}\n role=\"option\"\n aria-selected={this.selectValue === option.value ? 'true' : 'false'}\n >\n {option.label}\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Divisor vertical */}\n <div class=\"combo-divider\"></div>\n\n {/* Campo de texto */}\n <div class=\"input-section\">\n <input\n type=\"text\"\n class=\"input-combo-element combo-input\"\n placeholder={this.inputPlaceholder}\n value={this.inputValue}\n onInput={this.onInputChange}\n onBlur={this.onInputBlur}\n disabled={this.disabled}\n />\n </div>\n </div>\n {this.error && <span class=\"error-message\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CtrJsF6L.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/inputs/input-combo/input-combo.css?tag=rebill-input-combo","src/components/shared/inputs/input-combo/input-combo.tsx"],"sourcesContent":["@import '../shared-input.css';\n\n:host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n}\n\n.combo-wrapper {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: 38.33px;\n border-radius: var(--input-group-inner-border-radius, 8px);\n border: 1.5px solid var(--rebill-color-border);\n background: var(--rebill-color-background);\n transition: border-color 0.2s;\n position: relative;\n box-sizing: border-box;\n}\n\n.combo-wrapper:focus-within {\n border-color: var(--rebill-color-primary);\n box-shadow: 0 0 0 2px var(--rebill-color-primary-light);\n}\n\n.combo-wrapper.error {\n border-color: var(--rebill-color-error);\n}\n\n.combo-wrapper.disabled {\n background-color: var(--rebill-color-background);\n border-color: var(--rebill-color-disabled);\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n/* Sección del selector */\n.select-section {\n position: relative;\n flex-shrink: 0;\n min-width: 80px;\n display: flex;\n align-items: center;\n}\n\n.select-combo-trigger {\n width: 100%;\n height: 100%;\n padding: 0 30px 0 14px;\n font-size: 0.875rem;\n font-weight: normal;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n box-sizing: border-box;\n position: relative;\n transition: border-color 0.2s;\n}\n\n.select-combo-trigger:focus {\n outline: none;\n}\n\n.select-combo-trigger:hover:not(.disabled) {\n border-color: var(--rebill-color-primary);\n}\n\n.select-combo-trigger.placeholder .select-value {\n color: var(--rebill-color-text-secondary-light);\n}\n\n.combo-wrapper.disabled .select-combo-trigger {\n cursor: not-allowed;\n color: var(--rebill-color-text-secondary);\n}\n\n.select-value {\n flex: 1;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.select-section .icon-wrapper {\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 20px;\n width: 20px;\n}\n\n.select-icon {\n color: var(--rebill-color-text-secondary);\n transition: transform 0.2s ease;\n transform-origin: 50% 50%;\n display: block;\n}\n\n.combo-wrapper.disabled .select-icon {\n color: var(--rebill-color-disabled);\n}\n\n/* Dropdown del selector */\n.select-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 1000;\n background-color: var(--rebill-color-background);\n border: 1px solid var(--rebill-color-border);\n border-radius: 0.375rem;\n box-shadow:\n 0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n margin-top: 0.25rem;\n max-height: 200px;\n overflow-y: auto;\n animation: slideDown 0.15s ease-out;\n box-sizing: border-box;\n width: 100%;\n}\n\n.select-option {\n padding: 0.75rem;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n cursor: pointer;\n border-bottom: 1px solid var(--rebill-color-border);\n transition: background-color 0.15s ease;\n}\n\n.select-option:last-child {\n border-bottom: none;\n}\n\n.select-option:hover,\n.select-option.highlighted {\n background-color: #f0f9ff;\n}\n\n.select-option.selected {\n background-color: var(--rebill-color-primary);\n color: white;\n}\n\n.select-option.selected:hover,\n.select-option.selected.highlighted {\n background-color: var(--rebill-color-primary);\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Divisor vertical */\n.combo-divider {\n width: 1px;\n background-color: var(--rebill-color-border);\n margin: 0;\n flex-shrink: 0;\n}\n\n/* Sección del input de texto */\n.input-section {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n}\n\n.combo-input {\n width: 100%;\n height: 100%;\n padding: 0 14px;\n font-size: 0.875rem;\n color: var(--rebill-color-text-primary);\n background: transparent;\n border: none;\n outline: none;\n box-sizing: border-box;\n}\n\n.combo-input:focus {\n outline: none;\n}\n\n.combo-input::placeholder {\n color: var(--rebill-color-text-secondary-light);\n font-size: 0.875rem;\n opacity: 1;\n}\n\n.combo-wrapper.disabled .combo-input {\n color: var(--rebill-color-text-secondary);\n cursor: not-allowed;\n}\n\n.combo-wrapper.disabled .combo-input::placeholder {\n color: var(--rebill-color-text-secondary);\n}\n\n/* Animación del dropdown */\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Scrollbar styling para el dropdown */\n.select-dropdown::-webkit-scrollbar {\n width: 6px;\n}\n\n.select-dropdown::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb {\n background-color: var(--rebill-color-border);\n border-radius: 3px;\n}\n\n.select-dropdown::-webkit-scrollbar-thumb:hover {\n background-color: var(--rebill-color-text-secondary);\n}\n\n/* Fix para evitar zoom en dispositivos móviles */\n@media screen and (max-width: 768px) {\n .select-combo-trigger {\n font-size: 1rem;\n }\n\n .select-option {\n font-size: 1rem;\n }\n\n .combo-input {\n font-size: 1rem;\n }\n\n .combo-input::placeholder {\n font-size: 1rem;\n }\n}\n","import { Component, Event, EventEmitter, Listen, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'rebill-input-combo',\n styleUrl: 'input-combo.css',\n shadow: false,\n})\nexport class InputCombo {\n private dropdownRef?: HTMLDivElement;\n private triggerRef?: HTMLDivElement;\n\n /** Etiqueta que se muestra arriba del campo */\n @Prop() label: string = '';\n /** Opciones del selector */\n @Prop() options: { label: string; value: string }[] = [];\n /** Valor del selector */\n @Prop({ mutable: true, reflect: true }) selectValue: string = '';\n /** Valor del input de texto */\n @Prop({ mutable: true, reflect: true }) inputValue: string = '';\n /** Placeholder del campo de texto */\n @Prop() inputPlaceholder: string = '';\n /** Placeholder del selector */\n @Prop() selectPlaceholder: string = '';\n /** Mensaje de error */\n @Prop() error: string = '';\n /** ID del selector */\n @Prop() selectId: string = '';\n /** ID del input de texto */\n @Prop() inputId: string = '';\n /** Estado deshabilitado */\n @Prop() disabled: boolean = false;\n /** Ancho del selector (en porcentaje o píxeles) */\n @Prop() selectWidth: string = '120px';\n /** Estado interno para mostrar/ocultar el dropdown */\n @State() isOpen: boolean = false;\n /** Índice de la opción resaltada para navegación con teclado */\n @State() highlightedIndex: number = -1;\n /** ID único del componente */\n @State() componentId: string = '';\n\n @Event() blur: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del selector */\n @Event() selectChange: EventEmitter<{ id: string; value: string }>;\n /** Evento al cambiar el valor del input */\n @Event() input: EventEmitter<{ id: string; value: string }>;\n\n componentWillLoad() {\n this.componentId = this.selectId || `combo-${Math.random().toString(36).substr(2, 9)}`;\n }\n\n @Listen('change', { target: 'document' })\n handleFormChange(event: CustomEvent) {\n const formData = event.detail;\n if (formData) {\n // Manejar cambios del selector\n if (this.selectId && this.selectId in formData) {\n const newSelectValue = formData[this.selectId];\n if (typeof newSelectValue === 'string') {\n this.selectValue = newSelectValue;\n }\n }\n // Manejar cambios del input\n if (this.inputId && this.inputId in formData) {\n const newInputValue = formData[this.inputId];\n if (typeof newInputValue === 'string') {\n this.inputValue = newInputValue;\n }\n }\n }\n }\n\n @Listen('closeAllSelects', { target: 'document' })\n handleCloseAllSelects(event: CustomEvent) {\n if (event.detail !== this.componentId) {\n this.closeDropdown();\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n if (\n this.dropdownRef &&\n this.triggerRef &&\n !this.dropdownRef.contains(event.target as Node) &&\n !this.triggerRef.contains(event.target as Node)\n ) {\n this.closeDropdown();\n }\n }\n\n private toggleDropdown = () => {\n if (this.disabled) return;\n\n const wasOpen = this.isOpen;\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n if (!wasOpen) {\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n }\n\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n }\n };\n\n private openDropdown = () => {\n if (this.disabled) return;\n\n document.dispatchEvent(new CustomEvent('closeAllSelects', { detail: this.componentId }));\n\n this.isOpen = true;\n this.highlightedIndex = this.options.findIndex(option => option.value === this.selectValue);\n if (this.highlightedIndex === -1) {\n this.highlightedIndex = 0;\n }\n };\n\n private closeDropdown = () => {\n this.isOpen = false;\n this.highlightedIndex = -1;\n };\n\n private selectOption = (option: { label: string; value: string }) => {\n if (this.disabled) return;\n this.selectValue = option.value;\n this.closeDropdown();\n this.input.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputChange = (event: Event) => {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private onSelectBlur = () => {\n this.blur.emit({ id: this.selectId, value: this.selectValue });\n };\n\n private onInputBlur = () => {\n const trimmedValue = this.inputValue.trim();\n\n if (trimmedValue !== this.inputValue) {\n this.inputValue = trimmedValue;\n this.input.emit({ id: this.inputId, value: this.inputValue });\n }\n\n this.blur.emit({ id: this.inputId, value: this.inputValue });\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (this.isOpen && this.highlightedIndex >= 0) {\n this.selectOption(this.options[this.highlightedIndex]);\n } else {\n this.toggleDropdown();\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n } else {\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.options.length - 1);\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this.isOpen) {\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\n }\n break;\n }\n };\n\n private getSelectedOptionLabel = (): string => {\n const selectedOption = this.options.find(option => option.value === this.selectValue);\n return selectedOption ? selectedOption.label : this.selectPlaceholder;\n };\n\n render() {\n const selectedLabel = this.getSelectedOptionLabel();\n const hasSelectValue = this.selectValue !== '';\n\n return (\n <div class=\"input-container\">\n {this.label && (\n <label class={`input-label ${this.disabled ? 'disabled' : ''}`}>{this.label}</label>\n )}\n <div\n class={`input-combo-wrapper combo-wrapper ${this.disabled ? 'disabled' : ''} ${this.error ? 'error' : ''}`}\n >\n {/* Selector */}\n <div class=\"select-section\" style={{ width: this.selectWidth }}>\n <div\n ref={el => (this.triggerRef = el)}\n class={`input-combo-select select-combo-trigger ${!hasSelectValue ? 'placeholder' : ''}`}\n onClick={this.toggleDropdown}\n onKeyDown={this.handleKeyDown}\n onBlur={this.onSelectBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"combobox\"\n aria-expanded={this.isOpen.toString()}\n aria-haspopup=\"listbox\"\n >\n <span class=\"select-value\">{selectedLabel}</span>\n <div class=\"icon-wrapper\">\n <rebill-icon name=\"chevron-up-down\" size=\"20px\" class=\"select-icon\" />\n </div>\n </div>\n\n {this.isOpen && (\n <div ref={el => (this.dropdownRef = el)} class=\"select-dropdown\" role=\"listbox\">\n {this.options.map((option, index) => (\n <div\n class={`select-option ${this.selectValue === option.value ? 'selected' : ''} ${this.highlightedIndex === index ? 'highlighted' : ''}`}\n onClick={() => this.selectOption(option)}\n role=\"option\"\n aria-selected={this.selectValue === option.value ? 'true' : 'false'}\n >\n {option.label}\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Divisor vertical */}\n <div class=\"combo-divider\"></div>\n\n {/* Campo de texto */}\n <div class=\"input-section\">\n <input\n type=\"text\"\n class=\"input-combo-element combo-input\"\n placeholder={this.inputPlaceholder}\n value={this.inputValue}\n onInput={this.onInputChange}\n onBlur={this.onInputBlur}\n disabled={this.disabled}\n />\n </div>\n </div>\n {this.error && <span class=\"error-message\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -2,9 +2,9 @@ import { proxyCustomElement, H, createEvent, h, Host } from './p-8BpuJ_V5.js';
|
|
|
2
2
|
import { a as api } from './p-D0zT4zMi.js';
|
|
3
3
|
import { I as I18nService, S as SessionStore, s as state } from './p-Be63Lt_2.js';
|
|
4
4
|
import { d as defineCustomElement$5 } from './p-sOHrcM75.js';
|
|
5
|
-
import { d as defineCustomElement$4 } from './p-
|
|
5
|
+
import { d as defineCustomElement$4 } from './p-D13i5GRC.js';
|
|
6
6
|
import { d as defineCustomElement$3 } from './p-Np4T5oyp.js';
|
|
7
|
-
import { d as defineCustomElement$2 } from './p-
|
|
7
|
+
import { d as defineCustomElement$2 } from './p-4NckTb-f.js';
|
|
8
8
|
import { d as defineCustomElement$1 } from './p-T8LQxh_O.js';
|
|
9
9
|
|
|
10
10
|
const userInformationCss = ":host{display:block}.inputs-container{display:flex;flex-direction:column;gap:16px;width:100%}.customer-exists{display:flex;justify-content:flex-end;margin-bottom:16px}";
|
|
@@ -91,15 +91,15 @@ const UserInformation = /*@__PURE__*/ proxyCustomElement(class UserInformation e
|
|
|
91
91
|
} }, inputs)) : null;
|
|
92
92
|
}
|
|
93
93
|
render() {
|
|
94
|
-
const customerExistsButton = (h("div", { key: '
|
|
94
|
+
const customerExistsButton = (h("div", { key: '4a9fcb1b8dab46fbe80c4b2a35d053d45687d103', class: "customer-exists" }, h("rebill-button", { key: '5d4a6bb913f5311e0d12e1599fe9ef9ba4ccd6e7', style: {
|
|
95
95
|
visibility: this.customerExists ? 'visible' : 'hidden',
|
|
96
96
|
opacity: this.customerExists ? '1' : '0',
|
|
97
97
|
transition: 'opacity 0.3s ease-in-out',
|
|
98
|
-
}, variant: "text", size: "small", onClick: () => this.handleRebillAccountClick(), icon: "lock" }, I18nService.translate('userInformation.rebillAccount'), h("rebill-icon", { key: '
|
|
98
|
+
}, variant: "text", size: "small", onClick: () => this.handleRebillAccountClick(), icon: "lock" }, I18nService.translate('userInformation.rebillAccount'), h("rebill-icon", { key: '0bb16b22cf0d7e56adc5264973ef119da9e4b790', name: "arrow-right" }))));
|
|
99
99
|
const hasPrefilledEmail = state.data.prefilledData.email;
|
|
100
100
|
const hasPrefilledName = state.data.prefilledData.fullName;
|
|
101
101
|
const hasAnyPrefilled = hasPrefilledEmail || hasPrefilledName;
|
|
102
|
-
return (h(Host, { key: '
|
|
102
|
+
return (h(Host, { key: '77a74a3d624d9529a6555777adefbf7aa553d89a' }, customerExistsButton, hasAnyPrefilled && (h("rebill-card", { key: 'f465c928465d4dd7b713c80ccfb6cdd3cda3d186', cardTitle: I18nService.translate('userInformation.personalInformation'), cardLabels: this.getCardLabels() })), this.renderInputs()));
|
|
103
103
|
}
|
|
104
104
|
static get style() { return userInformationCss; }
|
|
105
105
|
}, [256, "user-information", {
|
|
@@ -149,6 +149,6 @@ function defineCustomElement() {
|
|
|
149
149
|
defineCustomElement();
|
|
150
150
|
|
|
151
151
|
export { UserInformation as U, defineCustomElement as d };
|
|
152
|
-
//# sourceMappingURL=p-
|
|
152
|
+
//# sourceMappingURL=p-CvW9G05r.js.map
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=p-
|
|
154
|
+
//# sourceMappingURL=p-CvW9G05r.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CvW9G05r.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","sessionState"],"sources":["src/components/checkout/user-information/user-information.css?tag=user-information","src/components/checkout/user-information/user-information.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.inputs-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n}\n.customer-exists {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 16px;\n}\n","import { Component, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core';\nimport { api } from '../../../api';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\n\n@Component({\n tag: 'user-information',\n styleUrl: 'user-information.css',\n shadow: false,\n})\nexport class UserInformation {\n @Prop() userInformation: {\n email?: string;\n fullName?: string;\n countryCode?: string;\n phoneNumber?: {\n number: string;\n countryCode: string;\n };\n } = {\n email: '',\n fullName: '',\n countryCode: '',\n };\n\n @Prop() errors: {\n email?: string;\n fullName?: string;\n } | null = null;\n\n @Prop() customerExists: boolean = false;\n @Prop() disabled: boolean = false;\n @Event() onRebillAccountClick: EventEmitter<boolean>;\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 @Listen('input')\n handleInputChange(event: CustomEvent<{ id: string; value: string }>) {\n if (!event.detail) return;\n\n const { id, value } = event.detail;\n SessionStore.setUserInformation({ [id]: value });\n }\n\n @Listen('blur')\n handleBlur(event: CustomEvent<{ id: string; value: string }>) {\n if (!event.detail) return;\n\n const { id, value } = event.detail;\n SessionStore.setUserInformation({ [id]: value });\n }\n\n private getCardLabels() {\n const labels = [];\n\n if (sessionState.data.prefilledData.email) {\n labels.push({\n label: I18nService.translate('userInformation.emailPlaceholder'),\n value: sessionState.data.prefilledData.email,\n });\n SessionStore.setUserInformation({\n ...sessionState.data.userInformation,\n email: sessionState.data.prefilledData.email,\n });\n }\n\n if (sessionState.data.prefilledData.fullName) {\n labels.push({\n label: I18nService.translate('userInformation.fullNamePlaceholder'),\n value: sessionState.data.prefilledData.fullName,\n });\n SessionStore.setUserInformation({\n ...sessionState.data.userInformation,\n fullName: sessionState.data.prefilledData.fullName,\n });\n }\n\n return labels;\n }\n private async handleRebillAccountClick() {\n api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.onRebillAccountClick.emit(true);\n }\n\n private renderInputs() {\n const hasPrefilledEmail = sessionState.data.prefilledData.email;\n const hasPrefilledName = sessionState.data.prefilledData.fullName;\n\n const inputs = [];\n\n if (!hasPrefilledEmail) {\n inputs.push(\n <rebill-input-text\n id=\"email\"\n variant=\"floating\"\n label={I18nService.translate('userInformation.emailPlaceholder')}\n placeholder={I18nService.translate('userInformation.emailPlaceholder')}\n left-icon=\"email\"\n clearable={true}\n disabled={this.disabled}\n error={this.translateError(this.errors?.email)}\n />,\n );\n }\n\n if (!hasPrefilledName) {\n inputs.push(\n <rebill-input-text\n id=\"fullName\"\n variant=\"floating\"\n label={I18nService.translate('userInformation.fullNamePlaceholder')}\n placeholder={I18nService.translate('userInformation.fullNamePlaceholder')}\n disabled={this.disabled}\n error={this.translateError(this.errors?.fullName)}\n />,\n );\n }\n\n return inputs.length > 0 ? (\n <div\n class=\"inputs-container\"\n style={{\n marginTop: inputs.length > 0 && (hasPrefilledEmail || hasPrefilledName) ? '1rem' : '0',\n }}\n >\n {inputs}\n </div>\n ) : null;\n }\n\n render() {\n const customerExistsButton = (\n <div class=\"customer-exists\">\n <rebill-button\n style={{\n visibility: this.customerExists ? 'visible' : 'hidden',\n opacity: this.customerExists ? '1' : '0',\n transition: 'opacity 0.3s ease-in-out',\n }}\n variant=\"text\"\n size=\"small\"\n onClick={() => this.handleRebillAccountClick()}\n icon=\"lock\"\n >\n {I18nService.translate('userInformation.rebillAccount')}\n <rebill-icon name=\"arrow-right\" />\n </rebill-button>\n </div>\n );\n\n const hasPrefilledEmail = sessionState.data.prefilledData.email;\n const hasPrefilledName = sessionState.data.prefilledData.fullName;\n const hasAnyPrefilled = hasPrefilledEmail || hasPrefilledName;\n\n return (\n <Host>\n {customerExistsButton}\n {hasAnyPrefilled && (\n <rebill-card\n cardTitle={I18nService.translate('userInformation.personalInformation')}\n cardLabels={this.getCardLabels()}\n />\n )}\n {this.renderInputs()}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { proxyCustomElement, H, createEvent, h } from './p-8BpuJ_V5.js';
|
|
2
2
|
import { S as SessionStore, I as I18nService } from './p-Be63Lt_2.js';
|
|
3
3
|
import { d as defineCustomElement$2 } from './p-Np4T5oyp.js';
|
|
4
|
-
import { d as defineCustomElement$1 } from './p-
|
|
4
|
+
import { d as defineCustomElement$1 } from './p-C9-xmJLv.js';
|
|
5
5
|
|
|
6
6
|
const bankSelectorCss = ".bank-selector{margin-top:16px}";
|
|
7
7
|
|
|
@@ -97,6 +97,6 @@ function defineCustomElement() {
|
|
|
97
97
|
defineCustomElement();
|
|
98
98
|
|
|
99
99
|
export { BankSelector as B, defineCustomElement as d };
|
|
100
|
-
//# sourceMappingURL=p-
|
|
100
|
+
//# sourceMappingURL=p-CwYDVqU6.js.map
|
|
101
101
|
|
|
102
|
-
//# sourceMappingURL=p-
|
|
102
|
+
//# sourceMappingURL=p-CwYDVqU6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CwYDVqU6.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,iCAAiC;;MCU5C,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;IACf,KAAK,GAAW,EAAE;IAClB,qBAAqB,GAAW,EAAE;AAClC,IAAA,KAAK;IACL,QAAQ,GAAa,KAAK;IACzB,cAAc,GAAW,EAAE;IAC3B,qBAAqB,GAAW,CAAC;AACjC,IAAA,YAAY;AAEb,IAAA,6BAA6B;AAE7B,IAAA,mBAAmB,GAAG,CAAC,QAAgB,KAAI;AACjD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QACpE,IAAI,YAAY,EAAE;AAChB,YAAA,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAE7C,KAAC;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB;;;IAIpD,gBAAgB,GAAA;QACd,IAAI,CAAC,6BAA6B,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAK;YAC/E,IAAI,CAAC,qBAAqB,EAAE;AAC9B,SAAC,CAAC;;IAGJ,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACtC,IAAI,CAAC,6BAA6B,EAAE;;;IAIxC,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,YAAA,OAAO,IAAI;;AAEb,QAAA,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK;YAC3C,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI;AACjB,SAAA,CAAC,CAAC;QAEH,MAAM,eAAe,GACnB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;cACtF,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;AAClC,cAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QAEtB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,qBAAA,EAAA,EACE,EAAE,EAAC,QAAQ,EACX,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,EAC9D,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,IAAG;AACX,gBAAA,MAAM,WAAW,GAAI,CAAiB,CAAC,MAAM;AAC7C,gBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;AACpC,oBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC;;AAE/C,aAAC,EACD,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAC1E,CAAA,CACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkout/bank-selector/bank-selector.css?tag=rebill-bank-selector","src/components/checkout/bank-selector/bank-selector.tsx"],"sourcesContent":[".bank-selector {\n margin-top: 16px;\n}\n","import { Component, Event, EventEmitter, Prop, State, h } from '@stencil/core';\nimport { Bank } from '../../../api/entities/checkout/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { SessionStore } from '../../../store/session.store';\n\n@Component({\n tag: 'rebill-bank-selector',\n styleUrl: 'bank-selector.css',\n shadow: false,\n})\nexport class BankSelector {\n @Prop() banks: Bank[] = [];\n @Prop() defaultSelectedBankId: string = '';\n @Prop() error?: string;\n @Prop() disabled?: boolean = false;\n @State() selectedBankId: string = '';\n @State() languageUpdateTrigger: number = 0;\n @Event() bankSelected: EventEmitter<string>;\n\n private unsubscribeCurrentLocaleStore?: () => void;\n\n private handleBankSelection = (bankCode: string) => {\n const selectedBank = this.banks.find(bank => bank.code === bankCode);\n if (selectedBank) {\n SessionStore.setBankId(selectedBank);\n this.bankSelected.emit(selectedBank.code);\n }\n };\n\n componentWillLoad() {\n if (this.defaultSelectedBankId) {\n this.selectedBankId = this.defaultSelectedBankId;\n }\n }\n\n componentDidLoad() {\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.languageUpdateTrigger++;\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n }\n\n render() {\n if (!this.banks || this.banks.length === 0) {\n return null;\n }\n const sortedBanks = [...this.banks].sort((a, b) => a.name.localeCompare(b.name));\n\n const bankOptions = sortedBanks.map(bank => ({\n label: bank.name,\n value: bank.code,\n }));\n\n const translatedError =\n this.error && (this.error.includes('validation.') || this.error.includes('paymentErrors.'))\n ? I18nService.translate(this.error)\n : this.error || '';\n\n return (\n <div class=\"bank-selector\">\n <rebill-input-select\n id=\"bankId\"\n options={bankOptions}\n placeholder={I18nService.translate('bankSelector.placeholder')}\n error={translatedError}\n disabled={this.disabled}\n onInput={e => {\n const eventDetail = (e as CustomEvent).detail;\n if (eventDetail && eventDetail.value) {\n this.handleBankSelection(eventDetail.value);\n }\n }}\n searchable={true}\n searchPlaceholder={I18nService.translate('bankSelector.searchPlaceholder')}\n />\n </div>\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-Be63Lt_2.js';
|
|
3
3
|
import { C as COLORS_ENUM } from './p-C5Pu-n-i.js';
|
|
4
4
|
import { d as defineCustomElement$4 } from './p-Np4T5oyp.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-C9-xmJLv.js';
|
|
6
|
+
import { d as defineCustomElement$2 } from './p-4NckTb-f.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './p-T8LQxh_O.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{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}.additional-information{background:none;border:none;color:var(--rebill-color-primary);cursor:pointer;font-size:14px;padding:4px 0;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-D-FRnRNO.js.map
|
|
90
90
|
|
|
91
|
-
//# sourceMappingURL=p-
|
|
91
|
+
//# sourceMappingURL=p-D-FRnRNO.js.map
|