rebill-web-components-sdk 1.8.23 → 1.8.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/apm-checkout_19.cjs.entry.js +1 -1
- package/dist/cjs/card-identification.card-iframe.card-skeleton.rebill-input-combo.rebill-installments.entry.cjs.js.map +1 -1
- package/dist/cjs/card-identification_5.cjs.entry.js +1 -1
- package/dist/cjs/index-C-VTnc0I.js.map +1 -1
- package/dist/cjs/otp-component.rebill-modal-overlay.rebill-mode-sandbox.rebill-mode-sandbox-mobile.rebill-summary.success-page.user-information.entry.cjs.js.map +1 -1
- package/dist/cjs/otp-component_7.cjs.entry.js +1 -1
- package/dist/cjs/rebill-checkout.cjs.entry.js +5 -2
- package/dist/cjs/rebill-checkout.entry.cjs.js.map +1 -1
- package/dist/cjs/rebill-container.rebill-input-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/rebill-container_2.cjs.entry.js +1 -1
- package/dist/cjs/rebill-input-select.cjs.entry.js +1 -1
- package/dist/cjs/rebill-input-select.entry.cjs.js.map +1 -1
- package/dist/cjs/rebill-input-text.cjs.entry.js +1 -1
- package/dist/cjs/rebill-input-text.entry.cjs.js.map +1 -1
- package/dist/collection/components/checkout/rebill-checkout.js +5 -2
- package/dist/collection/components/checkout/rebill-checkout.js.map +1 -1
- package/dist/collection/components/shared/inputs/input-checkbox/input-checkbox.css +11 -0
- package/dist/collection/components/shared/inputs/input-combo/input-combo.css +30 -0
- package/dist/collection/components/shared/inputs/input-phone/input-phone.css +39 -1
- package/dist/collection/components/shared/inputs/input-select/input-select.css +42 -0
- package/dist/collection/components/shared/inputs/input-text/input-text.css +11 -0
- package/dist/collection/components/shared/modal-overlay/modal-overlay.css +11 -4
- package/dist/components/card-fields-wrapper.js +1 -1
- package/dist/components/card-identification.js +1 -1
- package/dist/components/discount-coupon.js +1 -1
- package/dist/components/{p-Mgbx0b10.js → p--RloWBLk.js} +3 -3
- package/dist/components/{p-Mgbx0b10.js.map → p--RloWBLk.js.map} +1 -1
- package/dist/components/{p-B8GIr65u.js → p--gCxFWo3.js} +7 -7
- package/dist/components/{p-B8GIr65u.js.map → p--gCxFWo3.js.map} +1 -1
- package/dist/components/p-8BpuJ_V5.js.map +1 -1
- package/dist/components/{p-DVmistTq.js → p-BIHeH7ht.js} +3 -3
- package/dist/components/{p-DVmistTq.js.map → p-BIHeH7ht.js.map} +1 -1
- package/dist/components/{p-DStRg6vz.js → p-BJHx0OQj.js} +3 -3
- package/dist/components/{p-DStRg6vz.js.map → p-BJHx0OQj.js.map} +1 -1
- package/dist/components/{p-BgJ9ZORq.js → p-BZj9nSOY.js} +3 -3
- package/dist/components/{p-BgJ9ZORq.js.map → p-BZj9nSOY.js.map} +1 -1
- package/dist/components/{p-c9SkZ__E.js → p-Bb1L1oJK.js} +3 -3
- package/dist/components/{p-c9SkZ__E.js.map → p-Bb1L1oJK.js.map} +1 -1
- package/dist/components/{p-zU9a56AF.js → p-BeNxLLvH.js} +3 -3
- package/dist/components/{p-zU9a56AF.js.map → p-BeNxLLvH.js.map} +1 -1
- package/dist/components/{p-D9Eow84L.js → p-BnUMlZY9.js} +4 -4
- package/dist/components/{p-D9Eow84L.js.map → p-BnUMlZY9.js.map} +1 -1
- package/dist/components/{p-CWdTbodL.js → p-Bw7Jq0SL.js} +3 -3
- package/dist/components/{p-CWdTbodL.js.map → p-Bw7Jq0SL.js.map} +1 -1
- package/dist/components/{p-DTjDV-2m.js → p-BxXWkB7L.js} +6 -6
- package/dist/components/{p-DTjDV-2m.js.map → p-BxXWkB7L.js.map} +1 -1
- package/dist/components/{p-8eukGNL9.js → p-C2gtk16s.js} +3 -3
- package/dist/components/{p-8eukGNL9.js.map → p-C2gtk16s.js.map} +1 -1
- package/dist/components/{p-D2wX2Bnk.js → p-C4TcKKa8.js} +4 -4
- package/dist/components/{p-D2wX2Bnk.js.map → p-C4TcKKa8.js.map} +1 -1
- package/dist/components/{p-CHUzEc6D.js → p-C8lHS2ZV.js} +5 -5
- package/dist/components/{p-CHUzEc6D.js.map → p-C8lHS2ZV.js.map} +1 -1
- package/dist/components/{p-DQIG3sUQ.js → p-CH8Qt-7B.js} +3 -3
- package/dist/components/{p-DQIG3sUQ.js.map → p-CH8Qt-7B.js.map} +1 -1
- package/dist/components/{p-CN4bVlrI.js → p-CK6dlS5z.js} +5 -5
- package/dist/components/{p-CN4bVlrI.js.map → p-CK6dlS5z.js.map} +1 -1
- package/dist/components/{p-DgIW2T8E.js → p-CVQ9SnQp.js} +6 -6
- package/dist/components/{p-DgIW2T8E.js.map → p-CVQ9SnQp.js.map} +1 -1
- package/dist/components/{p-6aqJA2NI.js → p-CYC_SbCo.js} +3 -3
- package/dist/components/{p-6aqJA2NI.js.map → p-CYC_SbCo.js.map} +1 -1
- package/dist/components/{p-y5rBN7LS.js → p-Coc_KFqp.js} +4 -4
- package/dist/components/{p-y5rBN7LS.js.map → p-Coc_KFqp.js.map} +1 -1
- package/dist/components/{p-ti0gvUO5.js → p-CpCPsj5Y.js} +3 -3
- package/dist/components/{p-ti0gvUO5.js.map → p-CpCPsj5Y.js.map} +1 -1
- package/dist/components/{p-DuW9_9Co.js → p-Cqrdj1mj.js} +3 -3
- package/dist/components/{p-DuW9_9Co.js.map → p-Cqrdj1mj.js.map} +1 -1
- package/dist/components/{p-B9fIqz0z.js → p-DSnJHRr3.js} +3 -3
- package/dist/components/{p-B9fIqz0z.js.map → p-DSnJHRr3.js.map} +1 -1
- package/dist/components/{p-BpkqlhjE.js → p-DUxs56Lj.js} +3 -3
- package/dist/components/{p-BpkqlhjE.js.map → p-DUxs56Lj.js.map} +1 -1
- package/dist/components/{p-DLh7v0Ng.js → p-Dzeq5BdH.js} +5 -5
- package/dist/components/{p-DLh7v0Ng.js.map → p-Dzeq5BdH.js.map} +1 -1
- package/dist/components/payment-method-selector.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-bank-selector.js +1 -1
- package/dist/components/rebill-checkout-single-column.js +1 -1
- package/dist/components/rebill-checkout.js +26 -23
- package/dist/components/rebill-checkout.js.map +1 -1
- package/dist/components/rebill-footer.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-modal-overlay.js +1 -1
- package/dist/components/rebill-processing-payment.js +1 -1
- package/dist/components/rebill-renewal.js +17 -17
- package/dist/components/rebill-summary.js +1 -1
- package/dist/components/renewal-success-page.js +1 -1
- package/dist/components/root-component.js +3 -3
- package/dist/components/success-page.js +1 -1
- package/dist/components/user-information-phone.js +1 -1
- package/dist/components/user-information.js +1 -1
- package/dist/esm/apm-checkout_19.entry.js +1 -1
- package/dist/esm/card-identification.card-iframe.card-skeleton.rebill-input-combo.rebill-installments.entry.js.map +1 -1
- package/dist/esm/card-identification_5.entry.js +1 -1
- package/dist/esm/index-D8cwEAmw.js.map +1 -1
- package/dist/esm/otp-component.rebill-modal-overlay.rebill-mode-sandbox.rebill-mode-sandbox-mobile.rebill-summary.success-page.user-information.entry.js.map +1 -1
- package/dist/esm/otp-component_7.entry.js +1 -1
- package/dist/esm/rebill-checkout.entry.js +5 -2
- package/dist/esm/rebill-checkout.entry.js.map +1 -1
- package/dist/esm/rebill-container.rebill-input-checkbox.entry.js.map +1 -1
- package/dist/esm/rebill-container_2.entry.js +1 -1
- package/dist/esm/rebill-input-select.entry.js +1 -1
- package/dist/esm/rebill-input-select.entry.js.map +1 -1
- package/dist/esm/rebill-input-text.entry.js +1 -1
- package/dist/esm/rebill-input-text.entry.js.map +1 -1
- package/dist/rebill-web-components-sdk/card-identification.card-iframe.card-skeleton.rebill-input-combo.rebill-installments.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/otp-component.rebill-modal-overlay.rebill-mode-sandbox.rebill-mode-sandbox-mobile.rebill-summary.success-page.user-information.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/{p-fc6b9d89.entry.js → p-1bbc702a.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-fc6b9d89.entry.js.map → p-1bbc702a.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/p-2354c848.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-33238246.entry.js.map → p-2354c848.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/p-61e86126.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-c7c48b15.entry.js.map → p-61e86126.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/p-6e24b8d9.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-6e24b8d9.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/{p-7d0e00c6.entry.js → p-7b33865e.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-7d0e00c6.entry.js.map → p-7b33865e.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/p-D8cwEAmw.js.map +1 -1
- package/dist/rebill-web-components-sdk/p-ca2882ea.entry.js +2 -0
- package/dist/rebill-web-components-sdk/{p-a758a555.entry.js.map → p-ca2882ea.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/{p-d7eaf879.entry.js → p-f3afcd86.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-d7eaf879.entry.js.map → p-f3afcd86.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/rebill-checkout.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/rebill-container.rebill-input-checkbox.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/rebill-input-select.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/rebill-input-text.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/rebill-web-components-sdk/p-33238246.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-9afddef2.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-9afddef2.entry.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-a758a555.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-c7c48b15.entry.js +0 -2
|
@@ -4410,7 +4410,7 @@ class PhoneValidator {
|
|
|
4410
4410
|
}
|
|
4411
4411
|
}
|
|
4412
4412
|
|
|
4413
|
-
const inputPhoneCss = ".input-container{display:flex;flex-direction:column}.input-label{font-size:0.875rem;color:var(--rebill-color-text-primary);font-weight:500;margin-bottom:0.375rem}.input-label.disabled{cursor:not-allowed}.input-element{border-radius:var(--input-group-inner-border-radius, 8px);border:1.5px solid var(--rebill-color-border);padding:10px 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);outline:none;transition:border-color 0.2s;background:var(--rebill-color-background);height:38.33px;box-sizing:border-box}.input-element.input-error{border-color:var(--rebill-color-error)}.input-element:disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);color:var(--rebill-color-text-secondary);cursor:not-allowed;opacity:0.7}select.input-element{padding:10px 30px 10px 14px;appearance:none;cursor:pointer}select.input-element:disabled{cursor:not-allowed}.input-element:focus{border-color:var(--rebill-color-primary)}.input-element:disabled:focus{border-color:var(--rebill-color-disabled)}.input-element::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.select-wrapper.disabled .select-icon{color:var(--rebill-color-disabled)}.error-message{color:var(--rebill-color-error);font-size:0.75rem;margin-top:0.375rem}:host{display:block;width:100%;position:relative}.input-container{display:flex;flex-direction:column;width:100%;position:relative}.phone-input-container{display:flex;height:38.33px;border:1.5px solid var(--rebill-color-border);border-radius:var(--input-group-inner-border-radius, 8px);background:var(--rebill-color-background);transition:border-color 0.2s;overflow:visible;position:relative;box-sizing:border-box}.phone-input-container:focus-within{border-color:var(--rebill-color-primary)}.phone-input-container.input-error{border-color:var(--rebill-color-error)}.phone-input-container.disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);opacity:0.7;cursor:not-allowed}.country-selector{display:flex;align-items:center;padding:10px 8px;background:var(--rebill-color-background);border-right:1.5px solid var(--rebill-color-border);border-radius:var(--input-group-inner-border-radius, 8px) 0 0\n var(--input-group-inner-border-radius, 8px);cursor:pointer;user-select:none;position:relative;z-index:1}.country-selector:hover{background:var(--rebill-color-background-secondary, #f8f9fa)}.flag{font-size:
|
|
4413
|
+
const inputPhoneCss = ".input-container{display:flex;flex-direction:column}.input-label{font-size:0.875rem;color:var(--rebill-color-text-primary);font-weight:500;margin-bottom:0.375rem}.input-label.disabled{cursor:not-allowed}.input-element{border-radius:var(--input-group-inner-border-radius, 8px);border:1.5px solid var(--rebill-color-border);padding:10px 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);outline:none;transition:border-color 0.2s;background:var(--rebill-color-background);height:38.33px;box-sizing:border-box}.input-element.input-error{border-color:var(--rebill-color-error)}.input-element:disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);color:var(--rebill-color-text-secondary);cursor:not-allowed;opacity:0.7}select.input-element{padding:10px 30px 10px 14px;appearance:none;cursor:pointer}select.input-element:disabled{cursor:not-allowed}.input-element:focus{border-color:var(--rebill-color-primary)}.input-element:disabled:focus{border-color:var(--rebill-color-disabled)}.input-element::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.select-wrapper.disabled .select-icon{color:var(--rebill-color-disabled)}.error-message{color:var(--rebill-color-error);font-size:0.75rem;margin-top:0.375rem}@media screen and (max-width: 768px){.input-element{font-size:1rem}.input-element::placeholder{font-size:1rem}}:host{display:block;width:100%;position:relative}.input-container{display:flex;flex-direction:column;width:100%;position:relative}.phone-input-container{display:flex;height:38.33px;border:1.5px solid var(--rebill-color-border);border-radius:var(--input-group-inner-border-radius, 8px);background:var(--rebill-color-background);transition:border-color 0.2s;overflow:visible;position:relative;box-sizing:border-box}.phone-input-container:focus-within{border-color:var(--rebill-color-primary)}.phone-input-container.input-error{border-color:var(--rebill-color-error)}.phone-input-container.disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);opacity:0.7;cursor:not-allowed}.country-selector{display:flex;align-items:center;padding:10px 8px;background:var(--rebill-color-background);border-right:1.5px solid var(--rebill-color-border);border-radius:var(--input-group-inner-border-radius, 8px) 0 0\n var(--input-group-inner-border-radius, 8px);cursor:pointer;user-select:none;position:relative;z-index:1}.country-selector:hover{background:var(--rebill-color-background-secondary, #f8f9fa)}.flag{font-size:0.875rem;margin-right:4px}.dial-code{font-size:0.875rem;color:var(--rebill-color-text-primary);font-weight:500;margin-right:4px;text-align:left !important}.dropdown-arrow{font-size:0.6rem;color:var(--rebill-color-text-secondary);transition:transform 0.3s ease;transform-origin:center}.dropdown-arrow.open{transform:rotate(180deg)}.phone-number-input{flex:1;border:none;outline:none;padding:10px 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);background:transparent;min-width:0}.phone-number-input::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.phone-number-input:disabled{color:var(--rebill-color-text-secondary);cursor:not-allowed}.country-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--rebill-color-background, #ffffff);border:1.5px solid var(--rebill-color-border, #ebedef);border-radius:var(--input-group-inner-border-radius, 8px);box-shadow:0 8px 25px -5px rgba(0, 0, 0, 0.1),\n 0 10px 10px -5px rgba(0, 0, 0, 0.04);z-index:9999;max-height:200px;overflow-y:auto;min-width:200px;width:100%;margin-top:4px}.country-option{display:flex;align-items:center;padding:10px 12px;cursor:pointer;transition:background-color 0.15s ease;background:var(--rebill-color-background, #ffffff);border-bottom:1px solid var(--rebill-color-border, #ebedef)}.country-option:last-child{border-bottom:none}.country-option:hover{background:var(--rebill-color-background-secondary, #f8f9fa)}.country-option .flag{margin-right:10px;font-size:1.1rem;width:20px;text-align:center}.country-option .country-name{flex:1;font-size:0.875rem;color:var(--rebill-color-text-primary, #3b4049);margin-right:12px;font-weight:400}.country-option .dial-code{font-size:0.875rem;color:var(--rebill-color-text-secondary, #6b7280);font-weight:500;min-width:40px;text-align:right}.error-message{color:var(--rebill-color-error);font-size:0.75rem;margin-top:0.375rem}.disabled .country-selector{cursor:not-allowed;background:var(--rebill-color-background)}.disabled .country-selector:hover{background:var(--rebill-color-background)}.disabled .dial-code,.disabled .dropdown-arrow{color:var(--rebill-color-text-secondary)}.search-container{padding:0.75rem;border-bottom:1px solid var(--rebill-color-border);background-color:var(--rebill-color-background)}.search-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.search-icon{position:absolute;left:0.75rem;color:var(--rebill-color-text-secondary);z-index:1;pointer-events:none}.search-input{width:100%;padding:0.5rem 0.75rem 0.5rem 2.5rem;border:1px solid var(--rebill-color-border);border-radius:0.375rem;font-size:0.875rem;color:var(--rebill-color-text-primary);background-color:var(--rebill-color-background);outline:none;transition:border-color 0.2s ease;box-sizing:border-box}.search-input:focus{border-color:var(--rebill-color-primary);box-shadow:0 0 0 2px var(--rebill-color-primary-light)}.search-input::placeholder{color:var(--rebill-color-text-secondary-light)}.clear-search{position:absolute;right:0.75rem;background:none;border:none;cursor:pointer;padding:0.25rem;border-radius:0.25rem;display:flex;align-items:center;justify-content:center;color:var(--rebill-color-text-secondary);transition:background-color 0.2s ease}.clear-search:hover{background-color:var(--rebill-color-background-hover);color:var(--rebill-color-text-primary)}.no-results{padding:0.75rem;text-align:center;color:var(--rebill-color-text-secondary);font-style:italic;border-bottom:1px solid var(--rebill-color-border)}@media screen and (max-width: 768px){.phone-number-input{font-size:1rem}.phone-number-input::placeholder{font-size:1rem}.dial-code{font-size:1rem}.country-option .country-name{font-size:1rem}.country-option .dial-code{font-size:1rem}.search-input{font-size:1rem}}";
|
|
4414
4414
|
|
|
4415
4415
|
const InputPhone = class {
|
|
4416
4416
|
constructor(hostRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-identification.card-iframe.card-skeleton.rebill-input-combo.rebill-installments.entry.cjs.js","sources":["src/components/checkout/payment-method-selector/card-fields/identification/identification.tsx","src/components/checkout/payment-method-selector/card-fields/iframe/CardIframe.tsx","src/components/checkout/payment-method-selector/card-fields/iframe/skeleton/cardSkeleton.css?tag=card-skeleton","src/components/checkout/payment-method-selector/card-fields/iframe/skeleton/CardSkeleton.tsx","src/components/shared/inputs/input-combo/input-combo.css?tag=rebill-input-combo","src/components/shared/inputs/input-combo/input-combo.tsx","src/components/checkout/payment-method-selector/card-fields/installments/installments.css?tag=rebill-installments","src/components/checkout/payment-method-selector/card-fields/installments/installments.tsx"],"sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\nimport { api, DocumentType } from '../../../../../api';\nimport i18n from '../../../../../i18n/i18n.config';\nimport { I18nService } from '../../../../../i18n/i18n.service';\nimport { onChange, renewalState, RenewalStore } from '../../../../../store/renewal.store';\nimport { sessionState, SessionStore } from '../../../../../store/session.store';\n\n@Component({\n tag: 'card-identification',\n shadow: false,\n})\nexport class Identification {\n @State() documentTypes: DocumentType[] = [];\n @State() country: string = '';\n @State() currentLanguage: string = I18nService.getCurrentLanguage();\n @Prop() documentTypeError: string = '';\n @Prop() documentNumberError: string = '';\n @Prop() disabled?: boolean = false;\n\n loadDocumentTypes = async () => {\n const currentCountry = renewalState.isInitialized\n ? renewalState.data?.price?.country\n : sessionState?.data?.pricing?.country;\n\n if (currentCountry && currentCountry !== this.country) {\n try {\n const response = await api.data.getDocumentTypes(currentCountry);\n this.documentTypes = response.data;\n this.country = currentCountry;\n } catch (error) {\n console.error('Error loading document types:', error);\n }\n }\n };\n\n async componentWillLoad() {\n i18n.on('languageChanged', this.handleLanguageChange);\n\n SessionStore.onChange('data', () => {\n if (!renewalState.isInitialized) {\n this.loadDocumentTypes();\n }\n });\n\n onChange('data', () => {\n if (renewalState.isInitialized) {\n this.loadDocumentTypes();\n }\n });\n\n await this.loadDocumentTypes();\n }\n\n handleInputChange = (event: CustomEvent) => {\n const { id, value } = event.detail;\n\n if (renewalState.isInitialized) {\n RenewalStore.setUserIdentification({ [id]: value });\n } else {\n SessionStore.setUserInformation({ [id]: value });\n }\n };\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.currentLanguage = I18nService.getCurrentLanguage();\n };\n\n render() {\n // Determinar qué error mostrar (priorizar documentTypeError si ambos están presentes)\n const error = this.documentTypeError || this.documentNumberError;\n\n const options = this.documentTypes.map(documentType => ({\n label: documentType.value,\n value: documentType.value,\n }));\n\n return (\n <>\n <rebill-input-combo\n select-id=\"documentType\"\n input-id=\"documentNumber\"\n on-input={this.handleInputChange}\n select-placeholder={I18nService.translate('document.typePlaceholder')}\n input-placeholder={I18nService.translate('document.numberPlaceholder')}\n error={I18nService.translate(error)}\n options={options}\n disabled={this.disabled}\n />\n </>\n );\n }\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { getAPIConfig } from 'api/config';\nimport { onChange as renewalOnChange, renewalState, RenewalStore } from 'store/renewal.store';\nimport { onChange, sessionState, SessionStore } from 'store/session.store';\n\n@Component({\n tag: 'card-iframe',\n shadow: false,\n})\nexport class CardIframe {\n @Prop() customCSS?: string;\n @State() iframeLoaded: boolean = false;\n @State() currentLang: string = sessionState.currentLocale;\n @State() initialLang: string = sessionState.currentLocale;\n @State() iframeHeight: string = '100px';\n\n private getIframeURL(): string {\n const baseURL = getAPIConfig().iframeURL;\n const url = new URL(baseURL);\n url.searchParams.set('lang', this.initialLang);\n\n if (renewalState.data?.subscription?.customerId && renewalState.token) {\n url.searchParams.set('customerId', renewalState.data.subscription.customerId);\n url.searchParams.set('token', renewalState.token);\n }\n return url.toString();\n }\n\n private iframeRef?: HTMLIFrameElement;\n private unsubscribeCurrentLocaleStore?: () => void;\n private unsubscribeDataStore?: () => void;\n private unsubscribeRenewalStore?: () => void;\n // private lastTotalPrice?: number;\n\n private postInitialDataToIframe() {\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n if (renewalState.data?.organization?.id) {\n this.postOrganizationIdToIframe(renewalState.data.organization.id);\n }\n this.postLanguageToIframe();\n this.postTotalPriceToIframe();\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n } else {\n if (sessionState.data?.organization?.id) {\n this.postOrganizationIdToIframe(sessionState.data.organization.id);\n }\n if (sessionState?.currentLocale) {\n this.postLanguageToIframe();\n }\n this.postTotalPriceToIframe();\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n }\n\n // Always send custom CSS if available\n this.postCustomCSSToIframe();\n }\n\n private postTotalPriceToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow) {\n let totalPrice: number;\n\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n totalPrice = renewalState.data?.price?.amount || 0;\n } else {\n totalPrice = sessionState.data?.pricing?.totalWithoutInstallment || 0;\n }\n\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_TOTAL_PRICE',\n payload: {\n total: totalPrice,\n },\n },\n '*',\n );\n }\n }\n\n private postCustomerIdToIframe() {\n if (\n this.iframeRef &&\n this.iframeRef.contentWindow &&\n renewalState.data?.subscription?.customerId\n ) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CUSTOMER_ID',\n payload: {\n customerId: renewalState.data.subscription.customerId,\n },\n },\n '*',\n );\n } else if (this.iframeRef && this.iframeRef.contentWindow && sessionState.data.customerId) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CUSTOMER_ID',\n payload: { customerId: sessionState.data.customerId },\n },\n '*',\n );\n }\n }\n\n private postLanguageToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_LANGUAGE',\n payload: { lang: this.currentLang },\n },\n '*',\n );\n }\n }\n\n private postOrganizationIdToIframe(organizationId: string) {\n if (!!this.iframeRef && !!this.iframeRef.contentWindow) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_ORGANIZATION_ID',\n payload: { organizationId },\n },\n '*',\n );\n }\n }\n private postTokenToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow && renewalState.token) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_TOKEN',\n payload: {\n token: renewalState.token,\n },\n },\n '*',\n );\n } else if (this.iframeRef && this.iframeRef.contentWindow && sessionState.data.accessToken) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_TOKEN',\n payload: { token: sessionState.data.accessToken },\n },\n '*',\n );\n }\n }\n\n private postItemTypeToIframe() {\n if (!this.iframeRef || !this.iframeRef.contentWindow) {\n return;\n }\n\n if (renewalState.isInitialized && renewalState.data?.subscription?.type) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_ITEM_TYPE',\n payload: { itemType: renewalState.data.subscription.type },\n },\n '*',\n );\n } else if (sessionState.data?.itemInformation?.type) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_ITEM_TYPE',\n payload: { itemType: sessionState.data.itemInformation.type },\n },\n '*',\n );\n }\n }\n\n private postCurrencyToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow) {\n let currency: string;\n\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n currency = renewalState.data?.price?.currency || '';\n } else {\n currency = sessionState.data?.pricing?.currency || '';\n }\n\n if (currency) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CURRENCY',\n payload: {\n currency: currency,\n },\n },\n '*',\n );\n }\n }\n }\n\n private postCustomCSSToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow && this.customCSS) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CUSTOM_CSS',\n payload: {\n css: this.customCSS,\n },\n },\n '*',\n );\n }\n }\n\n private postClearCustomerIdToIframe() {\n if (\n this.iframeRef &&\n this.iframeRef.contentWindow &&\n (!sessionState.data.customerId || !sessionState.data.accessToken)\n ) {\n this.iframeRef.contentWindow.postMessage({ type: 'CLEAR_CUSTOMER_ID_AND_TOKEN' }, '*');\n }\n }\n\n componentWillLoad() {\n this.initialLang = sessionState.currentLocale;\n this.unsubscribeCurrentLocaleStore = onChange('currentLocale', () => {\n this.currentLang = sessionState.currentLocale;\n this.postLanguageToIframe();\n });\n\n this.unsubscribeDataStore = onChange('data', () => {\n // Only handle session store changes if renewal is not initialized\n if (!renewalState.isInitialized) {\n if (sessionState.data?.organization?.id) {\n this.postOrganizationIdToIframe(sessionState.data.organization.id);\n }\n if (\n sessionState.data?.pricing?.totalWithoutInstallment !== undefined &&\n sessionState.data?.pricing?.totalWithoutInstallment !== null\n ) {\n this.postTotalPriceToIframe();\n }\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n this.postClearCustomerIdToIframe();\n }\n });\n\n // Listen for renewal store changes\n this.unsubscribeRenewalStore = renewalOnChange('data', () => {\n if (renewalState.isInitialized) {\n if (renewalState.data?.organization?.id) {\n this.postOrganizationIdToIframe(renewalState.data.organization.id);\n }\n if (renewalState.data?.price?.amount !== undefined) {\n this.postTotalPriceToIframe();\n }\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n }\n });\n\n setTimeout(() => {\n this.postInitialDataToIframe();\n }, 1000);\n }\n\n componentWillUpdate() {\n // Send CSS when customCSS prop changes\n if (this.iframeLoaded) {\n this.postCustomCSSToIframe();\n }\n }\n\n componentDidLoad() {\n window.addEventListener('message', this.handleIframeMessage);\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) this.unsubscribeCurrentLocaleStore();\n if (this.unsubscribeDataStore) this.unsubscribeDataStore();\n if (this.unsubscribeRenewalStore) this.unsubscribeRenewalStore();\n window.removeEventListener('message', this.handleIframeMessage);\n }\n\n private handleIframeLoad = () => {\n this.iframeLoaded = true;\n this.postLanguageToIframe();\n\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n if (renewalState.data?.organization?.id) {\n this.postOrganizationIdToIframe(renewalState.data.organization.id);\n }\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n }\n\n // Send custom CSS immediately when iframe loads\n this.postCustomCSSToIframe();\n\n setTimeout(() => {\n this.postInitialDataToIframe();\n }, 500);\n };\n\n private handleIframeMessage = (event: MessageEvent) => {\n if (\n event.data &&\n event.data.type === 'IFRAME_HEIGHT' &&\n event.data.payload &&\n typeof event.data.payload.height === 'number'\n ) {\n this.iframeHeight = `${event.data.payload.height}px`;\n }\n if (event.data && event.data.type === 'FORM_STATE') {\n if (renewalState.isInitialized) {\n if (!event.data.payload?.complete) {\n RenewalStore.setCardId(null);\n RenewalStore.setCardTokenId(null);\n }\n } else if (sessionState.isInitialized) {\n if (!event.data.payload?.complete) {\n SessionStore.setCardId(null);\n SessionStore.setCardTokenId(null);\n }\n }\n }\n if (event.data && event.data.type === 'INSTALLMENTS' && event.data.payload) {\n if (renewalState.isInitialized) {\n RenewalStore.setCardInformation(event.data.payload);\n } else {\n SessionStore.setCardInformation(event.data.payload);\n }\n }\n // if (event.data && event.data.type === 'CARD_TOKENIZED' && event.data.payload) {\n if (event.data && event.data.type === 'CARD_TOKENIZED') {\n if (renewalState.isInitialized) {\n RenewalStore.setCardTokenId(event.data?.payload?.token);\n } else if (sessionState.isInitialized) {\n SessionStore.setCardTokenId(event.data?.payload?.token);\n }\n }\n if (event.data && event.data.type === 'CARD_ID') {\n if (renewalState.isInitialized) {\n RenewalStore.setCardId(event.data.payload?.id);\n } else if (sessionState.isInitialized) {\n SessionStore.setCardId(event.data.payload?.id);\n }\n }\n if (event.data && event.data.type === 'SAVE_CARD') {\n if (sessionState.isInitialized) {\n SessionStore.setSaveCard(event.data.payload?.saveCard);\n }\n }\n if (event.data && event.data.type === 'FETCHING_INSTALLMENTS') {\n const isFetching = event.data.payload?.fetching || false;\n if (renewalState.isInitialized) {\n RenewalStore.setFetchingInstallments(isFetching);\n } else if (sessionState.isInitialized) {\n SessionStore.setFetchingInstallments(isFetching);\n }\n }\n if (event.data && event.data.type === 'NEW_CARD_MODE') {\n const mode = event.data.payload?.mode;\n\n if (mode && (mode === 'input' || mode === 'select')) {\n if (renewalState.isInitialized) {\n RenewalStore.setCardMode(mode);\n } else if (sessionState.isInitialized) {\n SessionStore.setCardMode(mode);\n }\n }\n }\n };\n\n render() {\n return (\n <div\n style={{\n width: '100%',\n height: this.iframeHeight,\n position: 'relative',\n overflow: 'hidden',\n }}\n >\n {!this.iframeLoaded && <card-skeleton />}\n <iframe\n ref={el => (this.iframeRef = el as HTMLIFrameElement)}\n src={this.getIframeURL()}\n style={{\n width: '100%',\n height: '100%',\n border: 'none',\n overflow: 'hidden',\n }}\n title=\"Card Payment Component\"\n allow=\"payment\"\n onLoad={this.handleIframeLoad}\n />\n </div>\n );\n }\n}\n","@import '../../../../../../styles/variables.css';\n\n.iframe-skeleton {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.input-skeleton {\n width: 100%;\n height: 40px;\n background: var(--rebill-color-border-primary);\n border-radius: 8px;\n border: 1px solid var(--rebill-color-border-primary);\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'card-skeleton',\n styleUrl: './cardSkeleton.css',\n shadow: false,\n})\nexport class CardSkeleton {\n render() {\n return (\n <div class=\"iframe-skeleton\">\n <div class=\"input-skeleton\" />\n <div class=\"input-skeleton\" />\n </div>\n );\n }\n}\n","@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","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","","import { Component, Element, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../../../i18n/i18n.service';\nimport { ENUM_INSTALLMENT_MODEL } from '../../../../../models/enums/installment.enum';\nimport { sessionState, SessionStore } from '../../../../../store/session.store';\nimport { COLORS_ENUM } from '../../../../../utils/color-class-mapper';\nimport {\n getInstallmentDisabledPlaceholderByCurrency,\n getInstallmentLabel,\n getInstallmentPlaceholderByCurrency,\n getRecalculatedInstallmentAmount,\n} from '../../../../../utils/installment-utils';\n\n@Component({\n tag: 'rebill-installments',\n styleUrl: 'installments.css',\n shadow: false,\n})\nexport class Installments {\n @Element() el: HTMLElement;\n @Prop() error?: string;\n @State() currentValue: string | null = null;\n @State() isDisabled: boolean = false;\n @State() value: string | null = null;\n @State() placeholder: string | null = null;\n\n handleInstallments = (event: any) => {\n if (this.isDisabled) {\n const inputEvent = new CustomEvent('input', {\n detail: { id: 'installments', value: '', disabled: true },\n bubbles: true,\n });\n this.el.dispatchEvent(inputEvent);\n return;\n }\n this.currentValue = event.detail.value;\n SessionStore.setSelectedInstallment(event.detail.value);\n };\n\n componentWillLoad() {\n SessionStore.onChange('data', () => {\n this.isDisabled = !sessionState.data.cardInformation?.installments?.isAvailableInstallments;\n this.placeholder = !sessionState.data.cardInformation?.installments?.isAvailableInstallments\n ? getInstallmentDisabledPlaceholderByCurrency(sessionState.data.pricing?.currency)\n : getInstallmentPlaceholderByCurrency(sessionState.data.pricing?.currency);\n this.value = this.isDisabled ? '' : this.value;\n\n if (this.isDisabled) {\n const inputEvent = new CustomEvent('input', {\n detail: { id: 'installments', value: '', disabled: true },\n bubbles: true,\n });\n this.el.dispatchEvent(inputEvent);\n }\n });\n }\n\n render() {\n return (\n <div>\n <rebill-input-select\n key={this.isDisabled.toString()}\n id=\"installments\"\n variant=\"outlined\"\n value={this.value}\n options={\n sessionState.data.cardInformation?.installments?.installments.map(installment => ({\n label: getInstallmentLabel(\n installment.installment,\n getRecalculatedInstallmentAmount(installment.installmentAmount),\n sessionState.data.pricing?.currency,\n installment.cft,\n installment.model,\n ),\n value: installment?.installment?.toString(),\n })) || []\n }\n loading={sessionState.data.fetchingInstallments}\n placeholder={this.placeholder}\n disabled={this.isDisabled}\n on-input={this.handleInstallments}\n error={I18nService.translate(this.error)}\n ></rebill-input-select>\n {sessionState.data.cardInformation?.installments?.installments.find(\n installment =>\n installment.installment ===\n sessionState.data.cardInformation?.installments?.selectedInstallment?.installment,\n )?.model === ENUM_INSTALLMENT_MODEL.CUSTOMER_FINANCED && (\n <rebill-typography variant=\"italic\" color={COLORS_ENUM.SECONDARY}>\n {I18nService.translate('installments.interest')}\n </rebill-typography>\n )}\n </div>\n );\n }\n}\n"],"names":["I18nService","renewalState","sessionState","api","i18n","SessionStore","onChange","RenewalStore","h","getAPIConfig","renewalOnChange","index","getInstallmentDisabledPlaceholderByCurrency","getInstallmentPlaceholderByCurrency","getInstallmentLabel","getRecalculatedInstallmentAmount","ENUM_INSTALLMENT_MODEL","COLORS_ENUM"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card-identification.card-iframe.card-skeleton.rebill-input-combo.rebill-installments.entry.cjs.js","sources":["src/components/checkout/payment-method-selector/card-fields/identification/identification.tsx","src/components/checkout/payment-method-selector/card-fields/iframe/CardIframe.tsx","src/components/checkout/payment-method-selector/card-fields/iframe/skeleton/cardSkeleton.css?tag=card-skeleton","src/components/checkout/payment-method-selector/card-fields/iframe/skeleton/CardSkeleton.tsx","src/components/shared/inputs/input-combo/input-combo.css?tag=rebill-input-combo","src/components/shared/inputs/input-combo/input-combo.tsx","src/components/checkout/payment-method-selector/card-fields/installments/installments.css?tag=rebill-installments","src/components/checkout/payment-method-selector/card-fields/installments/installments.tsx"],"sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\nimport { api, DocumentType } from '../../../../../api';\nimport i18n from '../../../../../i18n/i18n.config';\nimport { I18nService } from '../../../../../i18n/i18n.service';\nimport { onChange, renewalState, RenewalStore } from '../../../../../store/renewal.store';\nimport { sessionState, SessionStore } from '../../../../../store/session.store';\n\n@Component({\n tag: 'card-identification',\n shadow: false,\n})\nexport class Identification {\n @State() documentTypes: DocumentType[] = [];\n @State() country: string = '';\n @State() currentLanguage: string = I18nService.getCurrentLanguage();\n @Prop() documentTypeError: string = '';\n @Prop() documentNumberError: string = '';\n @Prop() disabled?: boolean = false;\n\n loadDocumentTypes = async () => {\n const currentCountry = renewalState.isInitialized\n ? renewalState.data?.price?.country\n : sessionState?.data?.pricing?.country;\n\n if (currentCountry && currentCountry !== this.country) {\n try {\n const response = await api.data.getDocumentTypes(currentCountry);\n this.documentTypes = response.data;\n this.country = currentCountry;\n } catch (error) {\n console.error('Error loading document types:', error);\n }\n }\n };\n\n async componentWillLoad() {\n i18n.on('languageChanged', this.handleLanguageChange);\n\n SessionStore.onChange('data', () => {\n if (!renewalState.isInitialized) {\n this.loadDocumentTypes();\n }\n });\n\n onChange('data', () => {\n if (renewalState.isInitialized) {\n this.loadDocumentTypes();\n }\n });\n\n await this.loadDocumentTypes();\n }\n\n handleInputChange = (event: CustomEvent) => {\n const { id, value } = event.detail;\n\n if (renewalState.isInitialized) {\n RenewalStore.setUserIdentification({ [id]: value });\n } else {\n SessionStore.setUserInformation({ [id]: value });\n }\n };\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.currentLanguage = I18nService.getCurrentLanguage();\n };\n\n render() {\n // Determinar qué error mostrar (priorizar documentTypeError si ambos están presentes)\n const error = this.documentTypeError || this.documentNumberError;\n\n const options = this.documentTypes.map(documentType => ({\n label: documentType.value,\n value: documentType.value,\n }));\n\n return (\n <>\n <rebill-input-combo\n select-id=\"documentType\"\n input-id=\"documentNumber\"\n on-input={this.handleInputChange}\n select-placeholder={I18nService.translate('document.typePlaceholder')}\n input-placeholder={I18nService.translate('document.numberPlaceholder')}\n error={I18nService.translate(error)}\n options={options}\n disabled={this.disabled}\n />\n </>\n );\n }\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { getAPIConfig } from 'api/config';\nimport { onChange as renewalOnChange, renewalState, RenewalStore } from 'store/renewal.store';\nimport { onChange, sessionState, SessionStore } from 'store/session.store';\n\n@Component({\n tag: 'card-iframe',\n shadow: false,\n})\nexport class CardIframe {\n @Prop() customCSS?: string;\n @State() iframeLoaded: boolean = false;\n @State() currentLang: string = sessionState.currentLocale;\n @State() initialLang: string = sessionState.currentLocale;\n @State() iframeHeight: string = '100px';\n\n private getIframeURL(): string {\n const baseURL = getAPIConfig().iframeURL;\n const url = new URL(baseURL);\n url.searchParams.set('lang', this.initialLang);\n\n if (renewalState.data?.subscription?.customerId && renewalState.token) {\n url.searchParams.set('customerId', renewalState.data.subscription.customerId);\n url.searchParams.set('token', renewalState.token);\n }\n return url.toString();\n }\n\n private iframeRef?: HTMLIFrameElement;\n private unsubscribeCurrentLocaleStore?: () => void;\n private unsubscribeDataStore?: () => void;\n private unsubscribeRenewalStore?: () => void;\n // private lastTotalPrice?: number;\n\n private postInitialDataToIframe() {\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n if (renewalState.data?.organization?.id) {\n this.postOrganizationIdToIframe(renewalState.data.organization.id);\n }\n this.postLanguageToIframe();\n this.postTotalPriceToIframe();\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n } else {\n if (sessionState.data?.organization?.id) {\n this.postOrganizationIdToIframe(sessionState.data.organization.id);\n }\n if (sessionState?.currentLocale) {\n this.postLanguageToIframe();\n }\n this.postTotalPriceToIframe();\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n }\n\n // Always send custom CSS if available\n this.postCustomCSSToIframe();\n }\n\n private postTotalPriceToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow) {\n let totalPrice: number;\n\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n totalPrice = renewalState.data?.price?.amount || 0;\n } else {\n totalPrice = sessionState.data?.pricing?.totalWithoutInstallment || 0;\n }\n\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_TOTAL_PRICE',\n payload: {\n total: totalPrice,\n },\n },\n '*',\n );\n }\n }\n\n private postCustomerIdToIframe() {\n if (\n this.iframeRef &&\n this.iframeRef.contentWindow &&\n renewalState.data?.subscription?.customerId\n ) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CUSTOMER_ID',\n payload: {\n customerId: renewalState.data.subscription.customerId,\n },\n },\n '*',\n );\n } else if (this.iframeRef && this.iframeRef.contentWindow && sessionState.data.customerId) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CUSTOMER_ID',\n payload: { customerId: sessionState.data.customerId },\n },\n '*',\n );\n }\n }\n\n private postLanguageToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_LANGUAGE',\n payload: { lang: this.currentLang },\n },\n '*',\n );\n }\n }\n\n private postOrganizationIdToIframe(organizationId: string) {\n if (!!this.iframeRef && !!this.iframeRef.contentWindow) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_ORGANIZATION_ID',\n payload: { organizationId },\n },\n '*',\n );\n }\n }\n private postTokenToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow && renewalState.token) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_TOKEN',\n payload: {\n token: renewalState.token,\n },\n },\n '*',\n );\n } else if (this.iframeRef && this.iframeRef.contentWindow && sessionState.data.accessToken) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_TOKEN',\n payload: { token: sessionState.data.accessToken },\n },\n '*',\n );\n }\n }\n\n private postItemTypeToIframe() {\n if (!this.iframeRef || !this.iframeRef.contentWindow) {\n return;\n }\n\n if (renewalState.isInitialized && renewalState.data?.subscription?.type) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_ITEM_TYPE',\n payload: { itemType: renewalState.data.subscription.type },\n },\n '*',\n );\n } else if (sessionState.data?.itemInformation?.type) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_ITEM_TYPE',\n payload: { itemType: sessionState.data.itemInformation.type },\n },\n '*',\n );\n }\n }\n\n private postCurrencyToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow) {\n let currency: string;\n\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n currency = renewalState.data?.price?.currency || '';\n } else {\n currency = sessionState.data?.pricing?.currency || '';\n }\n\n if (currency) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CURRENCY',\n payload: {\n currency: currency,\n },\n },\n '*',\n );\n }\n }\n }\n\n private postCustomCSSToIframe() {\n if (this.iframeRef && this.iframeRef.contentWindow && this.customCSS) {\n this.iframeRef.contentWindow.postMessage(\n {\n type: 'SET_CUSTOM_CSS',\n payload: {\n css: this.customCSS,\n },\n },\n '*',\n );\n }\n }\n\n private postClearCustomerIdToIframe() {\n if (\n this.iframeRef &&\n this.iframeRef.contentWindow &&\n (!sessionState.data.customerId || !sessionState.data.accessToken)\n ) {\n this.iframeRef.contentWindow.postMessage({ type: 'CLEAR_CUSTOMER_ID_AND_TOKEN' }, '*');\n }\n }\n\n componentWillLoad() {\n this.initialLang = sessionState.currentLocale;\n this.unsubscribeCurrentLocaleStore = onChange('currentLocale', () => {\n this.currentLang = sessionState.currentLocale;\n this.postLanguageToIframe();\n });\n\n this.unsubscribeDataStore = onChange('data', () => {\n // Only handle session store changes if renewal is not initialized\n if (!renewalState.isInitialized) {\n if (sessionState.data?.organization?.id) {\n this.postOrganizationIdToIframe(sessionState.data.organization.id);\n }\n if (\n sessionState.data?.pricing?.totalWithoutInstallment !== undefined &&\n sessionState.data?.pricing?.totalWithoutInstallment !== null\n ) {\n this.postTotalPriceToIframe();\n }\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n this.postClearCustomerIdToIframe();\n }\n });\n\n // Listen for renewal store changes\n this.unsubscribeRenewalStore = renewalOnChange('data', () => {\n if (renewalState.isInitialized) {\n if (renewalState.data?.organization?.id) {\n this.postOrganizationIdToIframe(renewalState.data.organization.id);\n }\n if (renewalState.data?.price?.amount !== undefined) {\n this.postTotalPriceToIframe();\n }\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n }\n });\n\n setTimeout(() => {\n this.postInitialDataToIframe();\n }, 1000);\n }\n\n componentWillUpdate() {\n // Send CSS when customCSS prop changes\n if (this.iframeLoaded) {\n this.postCustomCSSToIframe();\n }\n }\n\n componentDidLoad() {\n window.addEventListener('message', this.handleIframeMessage);\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) this.unsubscribeCurrentLocaleStore();\n if (this.unsubscribeDataStore) this.unsubscribeDataStore();\n if (this.unsubscribeRenewalStore) this.unsubscribeRenewalStore();\n window.removeEventListener('message', this.handleIframeMessage);\n }\n\n private handleIframeLoad = () => {\n this.iframeLoaded = true;\n this.postLanguageToIframe();\n\n // Use renewal store data if initialized, otherwise use session store\n if (renewalState.isInitialized) {\n if (renewalState.data?.organization?.id) {\n this.postOrganizationIdToIframe(renewalState.data.organization.id);\n }\n this.postCurrencyToIframe();\n this.postCustomerIdToIframe();\n this.postTokenToIframe();\n this.postItemTypeToIframe();\n }\n\n // Send custom CSS immediately when iframe loads\n this.postCustomCSSToIframe();\n\n setTimeout(() => {\n this.postInitialDataToIframe();\n }, 500);\n };\n\n private handleIframeMessage = (event: MessageEvent) => {\n if (\n event.data &&\n event.data.type === 'IFRAME_HEIGHT' &&\n event.data.payload &&\n typeof event.data.payload.height === 'number'\n ) {\n this.iframeHeight = `${event.data.payload.height}px`;\n }\n if (event.data && event.data.type === 'FORM_STATE') {\n if (renewalState.isInitialized) {\n if (!event.data.payload?.complete) {\n RenewalStore.setCardId(null);\n RenewalStore.setCardTokenId(null);\n }\n } else if (sessionState.isInitialized) {\n if (!event.data.payload?.complete) {\n SessionStore.setCardId(null);\n SessionStore.setCardTokenId(null);\n }\n }\n }\n if (event.data && event.data.type === 'INSTALLMENTS' && event.data.payload) {\n if (renewalState.isInitialized) {\n RenewalStore.setCardInformation(event.data.payload);\n } else {\n SessionStore.setCardInformation(event.data.payload);\n }\n }\n // if (event.data && event.data.type === 'CARD_TOKENIZED' && event.data.payload) {\n if (event.data && event.data.type === 'CARD_TOKENIZED') {\n if (renewalState.isInitialized) {\n RenewalStore.setCardTokenId(event.data?.payload?.token);\n } else if (sessionState.isInitialized) {\n SessionStore.setCardTokenId(event.data?.payload?.token);\n }\n }\n if (event.data && event.data.type === 'CARD_ID') {\n if (renewalState.isInitialized) {\n RenewalStore.setCardId(event.data.payload?.id);\n } else if (sessionState.isInitialized) {\n SessionStore.setCardId(event.data.payload?.id);\n }\n }\n if (event.data && event.data.type === 'SAVE_CARD') {\n if (sessionState.isInitialized) {\n SessionStore.setSaveCard(event.data.payload?.saveCard);\n }\n }\n if (event.data && event.data.type === 'FETCHING_INSTALLMENTS') {\n const isFetching = event.data.payload?.fetching || false;\n if (renewalState.isInitialized) {\n RenewalStore.setFetchingInstallments(isFetching);\n } else if (sessionState.isInitialized) {\n SessionStore.setFetchingInstallments(isFetching);\n }\n }\n if (event.data && event.data.type === 'NEW_CARD_MODE') {\n const mode = event.data.payload?.mode;\n\n if (mode && (mode === 'input' || mode === 'select')) {\n if (renewalState.isInitialized) {\n RenewalStore.setCardMode(mode);\n } else if (sessionState.isInitialized) {\n SessionStore.setCardMode(mode);\n }\n }\n }\n };\n\n render() {\n return (\n <div\n style={{\n width: '100%',\n height: this.iframeHeight,\n position: 'relative',\n overflow: 'hidden',\n }}\n >\n {!this.iframeLoaded && <card-skeleton />}\n <iframe\n ref={el => (this.iframeRef = el as HTMLIFrameElement)}\n src={this.getIframeURL()}\n style={{\n width: '100%',\n height: '100%',\n border: 'none',\n overflow: 'hidden',\n }}\n title=\"Card Payment Component\"\n allow=\"payment\"\n onLoad={this.handleIframeLoad}\n />\n </div>\n );\n }\n}\n","@import '../../../../../../styles/variables.css';\n\n.iframe-skeleton {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.input-skeleton {\n width: 100%;\n height: 40px;\n background: var(--rebill-color-border-primary);\n border-radius: 8px;\n border: 1px solid var(--rebill-color-border-primary);\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'card-skeleton',\n styleUrl: './cardSkeleton.css',\n shadow: false,\n})\nexport class CardSkeleton {\n render() {\n return (\n <div class=\"iframe-skeleton\">\n <div class=\"input-skeleton\" />\n <div class=\"input-skeleton\" />\n </div>\n );\n }\n}\n","@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","","import { Component, Element, h, Prop, State } from '@stencil/core';\nimport { I18nService } from '../../../../../i18n/i18n.service';\nimport { ENUM_INSTALLMENT_MODEL } from '../../../../../models/enums/installment.enum';\nimport { sessionState, SessionStore } from '../../../../../store/session.store';\nimport { COLORS_ENUM } from '../../../../../utils/color-class-mapper';\nimport {\n getInstallmentDisabledPlaceholderByCurrency,\n getInstallmentLabel,\n getInstallmentPlaceholderByCurrency,\n getRecalculatedInstallmentAmount,\n} from '../../../../../utils/installment-utils';\n\n@Component({\n tag: 'rebill-installments',\n styleUrl: 'installments.css',\n shadow: false,\n})\nexport class Installments {\n @Element() el: HTMLElement;\n @Prop() error?: string;\n @State() currentValue: string | null = null;\n @State() isDisabled: boolean = false;\n @State() value: string | null = null;\n @State() placeholder: string | null = null;\n\n handleInstallments = (event: any) => {\n if (this.isDisabled) {\n const inputEvent = new CustomEvent('input', {\n detail: { id: 'installments', value: '', disabled: true },\n bubbles: true,\n });\n this.el.dispatchEvent(inputEvent);\n return;\n }\n this.currentValue = event.detail.value;\n SessionStore.setSelectedInstallment(event.detail.value);\n };\n\n componentWillLoad() {\n SessionStore.onChange('data', () => {\n this.isDisabled = !sessionState.data.cardInformation?.installments?.isAvailableInstallments;\n this.placeholder = !sessionState.data.cardInformation?.installments?.isAvailableInstallments\n ? getInstallmentDisabledPlaceholderByCurrency(sessionState.data.pricing?.currency)\n : getInstallmentPlaceholderByCurrency(sessionState.data.pricing?.currency);\n this.value = this.isDisabled ? '' : this.value;\n\n if (this.isDisabled) {\n const inputEvent = new CustomEvent('input', {\n detail: { id: 'installments', value: '', disabled: true },\n bubbles: true,\n });\n this.el.dispatchEvent(inputEvent);\n }\n });\n }\n\n render() {\n return (\n <div>\n <rebill-input-select\n key={this.isDisabled.toString()}\n id=\"installments\"\n variant=\"outlined\"\n value={this.value}\n options={\n sessionState.data.cardInformation?.installments?.installments.map(installment => ({\n label: getInstallmentLabel(\n installment.installment,\n getRecalculatedInstallmentAmount(installment.installmentAmount),\n sessionState.data.pricing?.currency,\n installment.cft,\n installment.model,\n ),\n value: installment?.installment?.toString(),\n })) || []\n }\n loading={sessionState.data.fetchingInstallments}\n placeholder={this.placeholder}\n disabled={this.isDisabled}\n on-input={this.handleInstallments}\n error={I18nService.translate(this.error)}\n ></rebill-input-select>\n {sessionState.data.cardInformation?.installments?.installments.find(\n installment =>\n installment.installment ===\n sessionState.data.cardInformation?.installments?.selectedInstallment?.installment,\n )?.model === ENUM_INSTALLMENT_MODEL.CUSTOMER_FINANCED && (\n <rebill-typography variant=\"italic\" color={COLORS_ENUM.SECONDARY}>\n {I18nService.translate('installments.interest')}\n </rebill-typography>\n )}\n </div>\n );\n }\n}\n"],"names":["I18nService","renewalState","sessionState","api","i18n","SessionStore","onChange","RenewalStore","h","getAPIConfig","renewalOnChange","index","getInstallmentDisabledPlaceholderByCurrency","getInstallmentPlaceholderByCurrency","getInstallmentLabel","getRecalculatedInstallmentAmount","ENUM_INSTALLMENT_MODEL","COLORS_ENUM"],"mappings":"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"}
|
|
@@ -427,7 +427,7 @@ const CardSkeleton = class {
|
|
|
427
427
|
};
|
|
428
428
|
CardSkeleton.style = cardSkeletonCss;
|
|
429
429
|
|
|
430
|
-
const inputComboCss = ".input-container{display:flex;flex-direction:column}.input-label{font-size:0.875rem;color:var(--rebill-color-text-primary);font-weight:500;margin-bottom:0.375rem}.input-label.disabled{cursor:not-allowed}.input-element{border-radius:var(--input-group-inner-border-radius, 8px);border:1.5px solid var(--rebill-color-border);padding:10px 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);outline:none;transition:border-color 0.2s;background:var(--rebill-color-background);height:38.33px;box-sizing:border-box}.input-element.input-error{border-color:var(--rebill-color-error)}.input-element:disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);color:var(--rebill-color-text-secondary);cursor:not-allowed;opacity:0.7}select.input-element{padding:10px 30px 10px 14px;appearance:none;cursor:pointer}select.input-element:disabled{cursor:not-allowed}.input-element:focus{border-color:var(--rebill-color-primary)}.input-element:disabled:focus{border-color:var(--rebill-color-disabled)}.input-element::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.select-wrapper.disabled .select-icon{color:var(--rebill-color-disabled)}.error-message{color:var(--rebill-color-error);font-size:0.75rem;margin-top:0.375rem}:host{display:block;width:100%;box-sizing:border-box}.combo-wrapper{display:flex;align-items:stretch;width:100%;height:38.33px;border-radius:var(--input-group-inner-border-radius, 8px);border:1.5px solid var(--rebill-color-border);background:var(--rebill-color-background);transition:border-color 0.2s;position:relative;box-sizing:border-box}.combo-wrapper:focus-within{border-color:var(--rebill-color-primary);box-shadow:0 0 0 2px var(--rebill-color-primary-light)}.combo-wrapper.error{border-color:var(--rebill-color-error)}.combo-wrapper.disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);color:var(--rebill-color-text-secondary);cursor:not-allowed;opacity:0.7}.select-section{position:relative;flex-shrink:0;min-width:80px;display:flex;align-items:center}.select-combo-trigger{width:100%;height:100%;padding:0 30px 0 14px;font-size:0.875rem;font-weight:normal;color:var(--rebill-color-text-primary);background:transparent;border:none;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;box-sizing:border-box;position:relative;transition:border-color 0.2s}.select-combo-trigger:focus{outline:none}.select-combo-trigger:hover:not(.disabled){border-color:var(--rebill-color-primary)}.select-combo-trigger.placeholder .select-value{color:var(--rebill-color-text-secondary-light)}.combo-wrapper.disabled .select-combo-trigger{cursor:not-allowed;color:var(--rebill-color-text-secondary)}.select-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-section .icon-wrapper{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;height:20px;width:20px}.select-icon{color:var(--rebill-color-text-secondary);transition:transform 0.2s ease;transform-origin:50% 50%;display:block}.combo-wrapper.disabled .select-icon{color:var(--rebill-color-disabled)}.select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--rebill-color-background);border:1px solid var(--rebill-color-border);border-radius:0.375rem;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);margin-top:0.25rem;max-height:200px;overflow-y:auto;animation:slideDown 0.15s ease-out;box-sizing:border-box;width:100%}.select-option{padding:0.75rem;font-size:0.875rem;color:var(--rebill-color-text-primary);cursor:pointer;border-bottom:1px solid var(--rebill-color-border);transition:background-color 0.15s ease}.select-option:last-child{border-bottom:none}.select-option:hover,.select-option.highlighted{background-color:#f0f9ff}.select-option.selected{background-color:var(--rebill-color-primary);color:white}.select-option.selected:hover,.select-option.selected.highlighted{background-color:var(--rebill-color-primary)}.select-dropdown::-webkit-scrollbar{width:6px}.select-dropdown::-webkit-scrollbar-track{background:transparent}.select-dropdown::-webkit-scrollbar-thumb{background-color:var(--rebill-color-border);border-radius:3px}.select-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--rebill-color-text-secondary)}.combo-divider{width:1px;background-color:var(--rebill-color-border);margin:0;flex-shrink:0}.input-section{flex:1;min-width:0;display:flex;align-items:center}.combo-input{width:100%;height:100%;padding:0 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);background:transparent;border:none;outline:none;box-sizing:border-box}.combo-input:focus{outline:none}.combo-input::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.combo-wrapper.disabled .combo-input{color:var(--rebill-color-text-secondary);cursor:not-allowed}.combo-wrapper.disabled .combo-input::placeholder{color:var(--rebill-color-text-secondary)}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.select-dropdown::-webkit-scrollbar{width:6px}.select-dropdown::-webkit-scrollbar-track{background:transparent}.select-dropdown::-webkit-scrollbar-thumb{background-color:var(--rebill-color-border);border-radius:3px}.select-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--rebill-color-text-secondary)}";
|
|
430
|
+
const inputComboCss = ".input-container{display:flex;flex-direction:column}.input-label{font-size:0.875rem;color:var(--rebill-color-text-primary);font-weight:500;margin-bottom:0.375rem}.input-label.disabled{cursor:not-allowed}.input-element{border-radius:var(--input-group-inner-border-radius, 8px);border:1.5px solid var(--rebill-color-border);padding:10px 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);outline:none;transition:border-color 0.2s;background:var(--rebill-color-background);height:38.33px;box-sizing:border-box}.input-element.input-error{border-color:var(--rebill-color-error)}.input-element:disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);color:var(--rebill-color-text-secondary);cursor:not-allowed;opacity:0.7}select.input-element{padding:10px 30px 10px 14px;appearance:none;cursor:pointer}select.input-element:disabled{cursor:not-allowed}.input-element:focus{border-color:var(--rebill-color-primary)}.input-element:disabled:focus{border-color:var(--rebill-color-disabled)}.input-element::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.select-wrapper.disabled .select-icon{color:var(--rebill-color-disabled)}.error-message{color:var(--rebill-color-error);font-size:0.75rem;margin-top:0.375rem}@media screen and (max-width: 768px){.input-element{font-size:1rem}.input-element::placeholder{font-size:1rem}}:host{display:block;width:100%;box-sizing:border-box}.combo-wrapper{display:flex;align-items:stretch;width:100%;height:38.33px;border-radius:var(--input-group-inner-border-radius, 8px);border:1.5px solid var(--rebill-color-border);background:var(--rebill-color-background);transition:border-color 0.2s;position:relative;box-sizing:border-box}.combo-wrapper:focus-within{border-color:var(--rebill-color-primary);box-shadow:0 0 0 2px var(--rebill-color-primary-light)}.combo-wrapper.error{border-color:var(--rebill-color-error)}.combo-wrapper.disabled{background-color:var(--rebill-color-background);border-color:var(--rebill-color-disabled);color:var(--rebill-color-text-secondary);cursor:not-allowed;opacity:0.7}.select-section{position:relative;flex-shrink:0;min-width:80px;display:flex;align-items:center}.select-combo-trigger{width:100%;height:100%;padding:0 30px 0 14px;font-size:0.875rem;font-weight:normal;color:var(--rebill-color-text-primary);background:transparent;border:none;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;box-sizing:border-box;position:relative;transition:border-color 0.2s}.select-combo-trigger:focus{outline:none}.select-combo-trigger:hover:not(.disabled){border-color:var(--rebill-color-primary)}.select-combo-trigger.placeholder .select-value{color:var(--rebill-color-text-secondary-light)}.combo-wrapper.disabled .select-combo-trigger{cursor:not-allowed;color:var(--rebill-color-text-secondary)}.select-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-section .icon-wrapper{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;height:20px;width:20px}.select-icon{color:var(--rebill-color-text-secondary);transition:transform 0.2s ease;transform-origin:50% 50%;display:block}.combo-wrapper.disabled .select-icon{color:var(--rebill-color-disabled)}.select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--rebill-color-background);border:1px solid var(--rebill-color-border);border-radius:0.375rem;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),\n 0 2px 4px -1px rgba(0, 0, 0, 0.06);margin-top:0.25rem;max-height:200px;overflow-y:auto;animation:slideDown 0.15s ease-out;box-sizing:border-box;width:100%}.select-option{padding:0.75rem;font-size:0.875rem;color:var(--rebill-color-text-primary);cursor:pointer;border-bottom:1px solid var(--rebill-color-border);transition:background-color 0.15s ease}.select-option:last-child{border-bottom:none}.select-option:hover,.select-option.highlighted{background-color:#f0f9ff}.select-option.selected{background-color:var(--rebill-color-primary);color:white}.select-option.selected:hover,.select-option.selected.highlighted{background-color:var(--rebill-color-primary)}.select-dropdown::-webkit-scrollbar{width:6px}.select-dropdown::-webkit-scrollbar-track{background:transparent}.select-dropdown::-webkit-scrollbar-thumb{background-color:var(--rebill-color-border);border-radius:3px}.select-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--rebill-color-text-secondary)}.combo-divider{width:1px;background-color:var(--rebill-color-border);margin:0;flex-shrink:0}.input-section{flex:1;min-width:0;display:flex;align-items:center}.combo-input{width:100%;height:100%;padding:0 14px;font-size:0.875rem;color:var(--rebill-color-text-primary);background:transparent;border:none;outline:none;box-sizing:border-box}.combo-input:focus{outline:none}.combo-input::placeholder{color:var(--rebill-color-text-secondary-light);font-size:0.875rem;opacity:1}.combo-wrapper.disabled .combo-input{color:var(--rebill-color-text-secondary);cursor:not-allowed}.combo-wrapper.disabled .combo-input::placeholder{color:var(--rebill-color-text-secondary)}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.select-dropdown::-webkit-scrollbar{width:6px}.select-dropdown::-webkit-scrollbar-track{background:transparent}.select-dropdown::-webkit-scrollbar-thumb{background-color:var(--rebill-color-border);border-radius:3px}.select-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--rebill-color-text-secondary)}@media screen and (max-width: 768px){.select-combo-trigger{font-size:1rem}.select-option{font-size:1rem}.combo-input{font-size:1rem}.combo-input::placeholder{font-size:1rem}}";
|
|
431
431
|
|
|
432
432
|
const InputCombo = class {
|
|
433
433
|
constructor(hostRef) {
|