rebill-web-components-sdk 1.8.34-beta.1 → 1.8.34
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/discount-coupon.rebill-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/discount-coupon_2.cjs.entry.js +26 -7
- package/dist/cjs/index-C-VTnc0I.js.map +1 -1
- package/dist/cjs/organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/organization-logo_4.cjs.entry.js +1 -1
- package/dist/collection/components/checkout/discount-coupon/discount-coupon.js +26 -7
- package/dist/collection/components/checkout/discount-coupon/discount-coupon.js.map +1 -1
- package/dist/collection/components/checkout/rebill-footer/rebill-footer.css +2 -1
- package/dist/components/discount-coupon.js +1 -1
- package/dist/components/p-8BpuJ_V5.js.map +1 -1
- package/dist/components/{p-DbfmzIIw.js → p-B9sgr8Yu.js} +3 -3
- package/dist/components/{p-DbfmzIIw.js.map → p-B9sgr8Yu.js.map} +1 -1
- package/dist/components/{p-FjaOut9O.js → p-BZUoWYrL.js} +4 -4
- package/dist/components/{p-FjaOut9O.js.map → p-BZUoWYrL.js.map} +1 -1
- package/dist/components/{p-r2jtUw42.js → p-B_lR-4t9.js} +3 -3
- package/dist/components/{p-r2jtUw42.js.map → p-B_lR-4t9.js.map} +1 -1
- package/dist/components/{p-B-sufB9-.js → p-CM-_FFDG.js} +4 -4
- package/dist/components/{p-B-sufB9-.js.map → p-CM-_FFDG.js.map} +1 -1
- package/dist/components/{p-CtTqLwLn.js → p-D5TXI2Hb.js} +28 -9
- package/dist/components/p-D5TXI2Hb.js.map +1 -0
- package/dist/components/{p-BCu7Nkqb.js → p-DWIWSpMW.js} +3 -3
- package/dist/components/p-DWIWSpMW.js.map +1 -0
- package/dist/components/{p-Cnr-CyGT.js → p-Db7dntOn.js} +4 -4
- package/dist/components/{p-Cnr-CyGT.js.map → p-Db7dntOn.js.map} +1 -1
- package/dist/components/{p-rO7aLibt.js → p-VskO2WrV.js} +3 -3
- package/dist/components/{p-rO7aLibt.js.map → p-VskO2WrV.js.map} +1 -1
- package/dist/components/rebill-checkout-single-column.js +1 -1
- package/dist/components/rebill-checkout.js +6 -6
- package/dist/components/rebill-footer.js +1 -1
- package/dist/components/rebill-processing-payment.js +1 -1
- package/dist/components/rebill-renewal.js +6 -6
- package/dist/components/rebill-summary.js +1 -1
- package/dist/components/renewal-success-page.js +1 -1
- package/dist/components/renewal-summary.js +1 -1
- package/dist/components/success-page.js +1 -1
- package/dist/esm/discount-coupon.rebill-divider.entry.js.map +1 -1
- package/dist/esm/discount-coupon_2.entry.js +26 -7
- package/dist/esm/index-D8cwEAmw.js.map +1 -1
- package/dist/esm/organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.js.map +1 -1
- package/dist/esm/organization-logo_4.entry.js +1 -1
- package/dist/rebill-web-components-sdk/discount-coupon.rebill-divider.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/p-8bf5ce94.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-8bf5ce94.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/p-D8cwEAmw.js.map +1 -1
- package/dist/rebill-web-components-sdk/{p-e68db8f7.entry.js → p-d0636f82.entry.js} +2 -2
- package/dist/rebill-web-components-sdk/{p-e68db8f7.entry.js.map → p-d0636f82.entry.js.map} +1 -1
- package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
- package/dist/types/components/checkout/discount-coupon/discount-coupon.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/p-BCu7Nkqb.js.map +0 -1
- package/dist/components/p-CtTqLwLn.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-5eda5359.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-5eda5359.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.cjs.js","sources":["src/components/shared/card-icon/card-icon.css?tag=rebill-card-icon","src/components/shared/card-icon/card-icon.tsx","src/components/shared/organization-logo/organization-logo.css?tag=organization-logo","src/components/shared/organization-logo/organization-logo.tsx","src/components/shared/layouts/custom/single-column/checkout-single-column.css?tag=rebill-checkout-single-column","src/components/shared/layouts/custom/single-column/checkout-single-column.tsx","src/components/checkout/rebill-footer/rebill-footer.css?tag=rebill-footer","src/components/checkout/rebill-footer/rebill-footer.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.card-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 8px;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nenum PAYMENT_ICON_TYPE_ENUM {\n VISA = 'visa',\n MASTERCARD = 'mastercard',\n DISCOVER = 'discover',\n JCB = 'jcb',\n UNIONPAY = 'unionpay',\n MAESTRO = 'maestro',\n MIR = 'mir',\n ELO = 'elo',\n HIPER = 'hiper',\n HIPERCARD = 'hipercard',\n GENERIC = 'generic',\n AMEX = 'amex',\n DINERS = 'diners',\n}\n\nconst CARD_TYPE_MAP: Record<string, PAYMENT_ICON_TYPE_ENUM> = {\n 'visa': PAYMENT_ICON_TYPE_ENUM.VISA,\n 'mastercard': PAYMENT_ICON_TYPE_ENUM.MASTERCARD,\n 'american-express': PAYMENT_ICON_TYPE_ENUM.AMEX,\n 'amex': PAYMENT_ICON_TYPE_ENUM.AMEX,\n 'diners-club': PAYMENT_ICON_TYPE_ENUM.DINERS,\n 'discover': PAYMENT_ICON_TYPE_ENUM.DISCOVER,\n 'jcb': PAYMENT_ICON_TYPE_ENUM.JCB,\n 'unionpay': PAYMENT_ICON_TYPE_ENUM.UNIONPAY,\n 'maestro': PAYMENT_ICON_TYPE_ENUM.MAESTRO,\n 'mir': PAYMENT_ICON_TYPE_ENUM.MIR,\n 'elo': PAYMENT_ICON_TYPE_ENUM.ELO,\n 'hiper': PAYMENT_ICON_TYPE_ENUM.HIPER,\n 'hipercard': PAYMENT_ICON_TYPE_ENUM.HIPERCARD,\n};\n\n@Component({\n tag: 'rebill-card-icon',\n styleUrl: 'card-icon.css',\n shadow: false,\n})\nexport class CardIcon {\n @Prop() cardBrand?: string;\n @Prop() width?: number = 35;\n @Prop() height?: number = 24;\n\n private getCardType(): PAYMENT_ICON_TYPE_ENUM {\n if (this.cardBrand) {\n const brandLower = this.cardBrand.toLowerCase();\n return CARD_TYPE_MAP[brandLower] || PAYMENT_ICON_TYPE_ENUM.GENERIC;\n }\n return PAYMENT_ICON_TYPE_ENUM.GENERIC;\n }\n\n private renderVisaIcon() {\n return (\n <svg\n width=\"23\"\n height=\"16\"\n viewBox=\"0 0 23 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"0.5\" y=\"0.5\" width=\"22\" height=\"15\" rx=\"2\" fill=\"white\" stroke=\"#D9D9D9\" />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.02517 10.8392H5.63182L4.58697 6.79524C4.53738 6.60922 4.43208 6.44477 4.27718 6.36726C3.89063 6.17248 3.46468 6.01746 3 5.93928V5.78359H5.24458C5.55437 5.78359 5.78671 6.01746 5.82543 6.28908L6.36756 9.20609L7.76023 5.78359H9.11486L7.02517 10.8392ZM9.88932 10.8392H8.57341L9.65698 5.78359H10.9729L9.88932 10.8392ZM12.6754 7.18413C12.7141 6.91184 12.9464 6.75615 13.2175 6.75615C13.6434 6.71706 14.1074 6.79524 14.4947 6.98935L14.727 5.90087C14.3398 5.74517 13.9138 5.66699 13.5273 5.66699C12.2501 5.66699 11.3207 6.36726 11.3207 7.33915C11.3207 8.07851 11.979 8.46673 12.4437 8.7006C12.9464 8.9338 13.14 9.08949 13.1013 9.32269C13.1013 9.67249 12.7141 9.82818 12.3275 9.82818C11.8629 9.82818 11.3982 9.71158 10.9729 9.5168L10.7406 10.606C11.2052 10.8001 11.708 10.8783 12.1726 10.8783C13.6047 10.9167 14.4947 10.2171 14.4947 9.167C14.4947 7.84464 12.6754 7.76713 12.6754 7.18413ZM19.1 10.8392L18.0552 5.78359H16.9329C16.7005 5.78359 16.4682 5.93928 16.3907 6.17248L14.4559 10.8392H15.8106L16.081 10.1005H17.7454L17.9003 10.8392H19.1ZM17.1265 7.14505L17.513 9.05041H16.4294L17.1265 7.14505Z\"\n fill=\"#172B85\"\n />\n </svg>\n );\n }\n\n private renderMastercardIcon() {\n return (\n <svg\n width=\"35\"\n height=\"25\"\n viewBox=\"0 0 35 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"0.5\" y=\"1.01758\" width=\"34\" height=\"23\" rx=\"3.5\" fill=\"white\" stroke=\"#D9D9D9\" />\n <path\n d=\"M22.1758 5.51758C25.9444 5.51758 29 8.60848 29 12.4209C28.9998 16.2332 25.9443 19.3232 22.1758 19.3232C20.4864 19.3231 18.9416 18.7007 17.75 17.6719C16.5584 18.7007 15.0137 19.3231 13.3242 19.3232C9.55566 19.3232 6.50018 16.2332 6.5 12.4209C6.5 8.60848 9.55555 5.51758 13.3242 5.51758C15.0134 5.51769 16.5584 6.13943 17.75 7.16797C18.9416 6.13943 20.4866 5.51769 22.1758 5.51758Z\"\n fill=\"#ED0006\"\n />\n <path\n d=\"M22.1758 5.51758C25.9444 5.51758 29 8.60848 29 12.4209C28.9998 16.2332 25.9443 19.3232 22.1758 19.3232C20.4863 19.3231 18.9416 18.7007 17.75 17.6719C19.2164 16.4058 20.1474 14.524 20.1475 12.4209C20.1475 10.3174 19.2168 8.4341 17.75 7.16797C18.9416 6.13943 20.4866 5.51769 22.1758 5.51758Z\"\n fill=\"#F9A000\"\n />\n <path\n d=\"M17.75 7.16895C19.2166 8.43507 20.1475 10.3176 20.1475 12.4209C20.1475 14.524 19.2163 16.4058 17.75 17.6719C16.2837 16.4058 15.3525 14.524 15.3525 12.4209C15.3525 10.3176 16.2834 8.43507 17.75 7.16895Z\"\n fill=\"#FF5E00\"\n />\n </svg>\n );\n }\n\n private renderAmexIcon() {\n return (\n <svg\n width=\"23\"\n height=\"16\"\n viewBox=\"0 0 23 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.216981\"\n y=\"0.216981\"\n width=\"22.566\"\n height=\"15.566\"\n rx=\"0.867925\"\n fill=\"#1F72CD\"\n stroke=\"#D9D9D9\"\n stroke-width=\"0.433962\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.1443 5.62012L2 10.5758H4.56703L4.88527 9.78562H5.61269L5.93093 10.5758H8.75651V9.9727L9.00828 10.5758H10.4699L10.7217 9.95995V10.5758H16.5981L17.3127 9.80614L17.9817 10.5758L21 10.5821L18.8489 8.11177L21 5.62012H18.0285L17.333 6.37551L16.685 5.62012H10.2922L9.74322 6.89921L9.18139 5.62012H6.61972V6.20265L6.33475 5.62012H4.1443ZM12.9196 6.32403H16.2941L17.3262 7.48832L18.3916 6.32403H19.4237L17.8555 8.11127L19.4237 9.87792H18.3448L17.3127 8.7001L16.2419 9.87792H12.9196V6.32403ZM13.7529 7.70949V7.06035V7.05973H15.8585L16.7772 8.09788L15.8178 9.1417H13.7529V8.43302H15.5938V7.70949H13.7529ZM4.64096 6.32403H5.89225L7.31456 9.68447V6.32403H8.68531L9.78388 8.73345L10.7963 6.32403H12.1602V9.88002H11.3303L11.3236 7.09356L10.1137 9.88002H9.37127L8.15459 7.09356V9.88002H6.4473L6.12363 9.08281H4.37497L4.05197 9.87932H3.13722L4.64096 6.32403ZM4.67357 8.34576L5.24969 6.9256L5.82513 8.34576H4.67357Z\"\n fill=\"white\"\n />\n </svg>\n );\n }\n\n private renderGenericIcon() {\n return (\n <svg\n width={this.width}\n height={this.height}\n viewBox=\"0 0 14 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0.833984 4.50036V10.1644C0.833984 10.5326 1.13246 10.8311 1.50065 10.8311L12.498 10.8311C12.8662 10.8311 13.1647 10.5326 13.1647 10.1644V4.50036M0.833984 4.50036V1.83561C0.833984 1.46742 1.13246 1.16895 1.50065 1.16895H12.4974C12.8648 1.16895 13.163 1.46624 13.1636 1.83367C13.1651 2.72257 13.1647 3.61146 13.1647 4.50036M0.833984 4.50036H13.1647\"\n stroke=\"#788191\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n );\n }\n\n render() {\n const cardType = this.getCardType();\n\n switch (cardType) {\n case PAYMENT_ICON_TYPE_ENUM.VISA:\n return this.renderVisaIcon();\n case PAYMENT_ICON_TYPE_ENUM.MASTERCARD:\n return this.renderMastercardIcon();\n case PAYMENT_ICON_TYPE_ENUM.AMEX:\n return this.renderAmexIcon();\n default:\n return this.renderGenericIcon();\n }\n }\n}\n","@import '../../../styles/variables.css';\n\n.organization-logo {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n}\n\n.logo-image {\n max-height: 40px;\n max-width: 120px;\n width: auto;\n height: auto;\n object-fit: contain;\n border-radius: 8px;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'organization-logo',\n styleUrl: 'organization-logo.css',\n shadow: false,\n})\nexport class OrganizationLogo {\n /**\n * The organization data containing logo URL and name\n */\n @Prop() organization!: {\n name: string;\n logoUrl?: string;\n };\n\n render() {\n return (\n <div class=\"organization-logo\">\n {this.organization.logoUrl ? (\n <img src={this.organization.logoUrl} alt={this.organization.name} class=\"logo-image\" />\n ) : (\n <rebill-icon name=\"logo-default\" class=\"logo-image\" />\n )}\n </div>\n );\n }\n}\n",".checkout-single-column {\n min-height: 100vh;\n background: var(--rebill-color-background);\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-x: hidden;\n min-width: 320px;\n}\n\n.checkout-single-column__header {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n height: 72px;\n width: 100%;\n max-width: 1448px;\n min-width: 348px;\n background: var(--rebill-color-background);\n margin-left: 30px;\n box-sizing: border-box;\n}\n\n.checkout-single-column__main-content {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 0;\n width: 100%;\n box-sizing: border-box;\n /* padding: 0 20px; */\n max-width: 450px;\n\n margin: 0 auto;\n gap: 2rem;\n}\n\n.checkout-single-column__footer-container {\n margin-top: auto;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n box-sizing: border-box;\n}\n\n.checkout-single-column__footer-content {\n width: 100%;\n max-width: 450px;\n min-width: auto;\n flex-shrink: 1;\n flex-basis: auto;\n box-sizing: border-box;\n}\n\n@media (max-width: 1024px) {\n .checkout-single-column__header {\n width: 100%;\n max-width: 100%;\n\n justify-content: flex-start;\n }\n\n .checkout-single-column__main-content {\n /* padding: 0 20px; */\n gap: 0;\n align-items: center;\n justify-content: center;\n padding-top: 2rem;\n flex: 1;\n min-height: 0;\n width: 100%;\n }\n\n .checkout-single-column__footer-container {\n width: 100%;\n height: auto;\n min-height: 60px;\n justify-content: center;\n }\n\n .checkout-single-column__footer-content {\n width: 100%;\n min-width: auto;\n max-width: 100%;\n flex-basis: auto;\n }\n}\n\n@media (max-width: 767px) {\n .checkout-single-column__header {\n height: 60px;\n margin-left: 12px;\n margin-right: 12px;\n width: 100%;\n }\n\n .checkout-single-column__main-content {\n padding-top: 1rem;\n align-items: center;\n justify-content: center;\n flex: 1;\n width: 100%;\n }\n\n .checkout-single-column__footer-container {\n margin-left: 12px;\n margin-right: 12px;\n height: auto;\n min-height: 60px;\n width: 100%;\n justify-content: center;\n }\n}\n\n@media (min-width: 1025px) {\n .checkout-single-column {\n background: var(--rebill-color-background-left);\n }\n .checkout-single-column__footer-container {\n margin-left: 16px;\n }\n\n .checkout-single-column__header {\n background: var(--rebill-color-background-left);\n }\n}\n","import { Component, h } from '@stencil/core';\nimport { sessionState } from '../../../../../store/session.store';\n\n@Component({\n tag: 'rebill-checkout-single-column',\n styleUrl: 'checkout-single-column.css',\n shadow: false,\n})\nexport class LayoutCheckoutSingleColumn {\n render() {\n return (\n <div class=\"checkout-single-column\">\n <header class=\"checkout-single-column__header\">\n <div class=\"header-container\">\n <organization-logo organization={sessionState.data.organization} />\n </div>\n </header>\n <main class=\"checkout-single-column__main-content\">\n <slot />\n </main>\n <div class=\"checkout-single-column__footer-container\">\n <rebill-footer class=\"checkout-single-column__footer-content\" />\n </div>\n </div>\n );\n }\n}\n",".language-selector {\n display: flex;\n align-items: center;\n margin-right: 12px;\n height: 24px;\n}\n.rebill-footer__footer-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin: 18px;\n}\n\n.terms-and-conditions {\n display: flex;\n align-items: center;\n gap: 4px;\n margin-left: 12px;\n}\n\n.footer-powered {\n margin-right: 4px;\n}\n\n.footer-separator {\n margin-right: 6px;\n margin-left: 6px;\n}\n\n.footer-link,\n.footer-powered,\n.footer-separator {\n display: flex;\n align-items: center;\n}\n\n.footer-link a {\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n text-decoration: none;\n}\n","import { Component, h, State } from '@stencil/core';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { LOCALES_ENUM } from '../../../models/enums/locales.enum';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { BREAKPOINT_ENUM, getBreakpoint, isBreakpointBelow } from '../../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\n@Component({\n tag: 'rebill-footer',\n styleUrl: 'rebill-footer.css',\n shadow: false,\n})\nexport class RebillFooter {\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n\n resizeHandler = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n\n async componentWillLoad() {\n this.resizeHandler();\n window.addEventListener('resize', this.resizeHandler);\n const language = I18nService.getCurrentLanguage();\n SessionStore.changeLanguage(language);\n }\n private handleLanguageChange = (event: any) => {\n I18nService.changeLanguage(event.detail.value);\n SessionStore.changeLanguage(event.detail.value);\n };\n render() {\n return (\n <div class=\"rebill-footer__footer-content\">\n <div class=\"terms-and-conditions\">\n {!isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) && (\n <rebill-typography\n variant=\"subtitle3\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-powered\"\n >\n {I18nService.translate('footer.poweredBy')}\n </rebill-typography>\n )}\n <rebill-icon name=\"rebill-logo\" color={COLORS_ENUM.SECONDARY} />\n <rebill-icon name=\"rebill\" color={COLORS_ENUM.SECONDARY} />\n <rebill-typography\n variant=\"subtitle3\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-separator\"\n >\n |\n </rebill-typography>\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.SECONDARY} class=\"footer-link\">\n <a\n href=\"https://www.rebill.com/terminos-y-condiciones-usuarios-finales\"\n target=\"_blank\"\n >\n {I18nService.translate('footer.termsAndConditions')}\n </a>\n </rebill-typography>\n </div>\n <div class=\"language-selector\">\n <rebill-icon name=\"world\" />\n <rebill-input-select\n id=\"language-selector\"\n variant=\"underlined\"\n backgroundColor={\n isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP)\n ? ''\n : 'var(--rebill-color-background-left)'\n }\n options={[\n { label: 'EN', value: LOCALES_ENUM.EN },\n { label: 'ES', value: LOCALES_ENUM.ES },\n { label: 'PT', value: LOCALES_ENUM.PT },\n ]}\n value={sessionState.currentLocale}\n on-input={this.handleLanguageChange}\n fontSize=\"10px\"\n dropPosition=\"up\"\n arrowIcon=\"down\"\n class=\"language-selector-input\"\n />\n </div>\n </div>\n );\n }\n}\n"],"names":["h","sessionState","BREAKPOINT_ENUM","getBreakpoint","I18nService","SessionStore","isBreakpointBelow","COLORS_ENUM","LOCALES_ENUM"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"organization-logo.rebill-card-icon.rebill-checkout-single-column.rebill-footer.entry.cjs.js","sources":["src/components/shared/card-icon/card-icon.css?tag=rebill-card-icon","src/components/shared/card-icon/card-icon.tsx","src/components/shared/organization-logo/organization-logo.css?tag=organization-logo","src/components/shared/organization-logo/organization-logo.tsx","src/components/shared/layouts/custom/single-column/checkout-single-column.css?tag=rebill-checkout-single-column","src/components/shared/layouts/custom/single-column/checkout-single-column.tsx","src/components/checkout/rebill-footer/rebill-footer.css?tag=rebill-footer","src/components/checkout/rebill-footer/rebill-footer.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.card-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 8px;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nenum PAYMENT_ICON_TYPE_ENUM {\n VISA = 'visa',\n MASTERCARD = 'mastercard',\n DISCOVER = 'discover',\n JCB = 'jcb',\n UNIONPAY = 'unionpay',\n MAESTRO = 'maestro',\n MIR = 'mir',\n ELO = 'elo',\n HIPER = 'hiper',\n HIPERCARD = 'hipercard',\n GENERIC = 'generic',\n AMEX = 'amex',\n DINERS = 'diners',\n}\n\nconst CARD_TYPE_MAP: Record<string, PAYMENT_ICON_TYPE_ENUM> = {\n 'visa': PAYMENT_ICON_TYPE_ENUM.VISA,\n 'mastercard': PAYMENT_ICON_TYPE_ENUM.MASTERCARD,\n 'american-express': PAYMENT_ICON_TYPE_ENUM.AMEX,\n 'amex': PAYMENT_ICON_TYPE_ENUM.AMEX,\n 'diners-club': PAYMENT_ICON_TYPE_ENUM.DINERS,\n 'discover': PAYMENT_ICON_TYPE_ENUM.DISCOVER,\n 'jcb': PAYMENT_ICON_TYPE_ENUM.JCB,\n 'unionpay': PAYMENT_ICON_TYPE_ENUM.UNIONPAY,\n 'maestro': PAYMENT_ICON_TYPE_ENUM.MAESTRO,\n 'mir': PAYMENT_ICON_TYPE_ENUM.MIR,\n 'elo': PAYMENT_ICON_TYPE_ENUM.ELO,\n 'hiper': PAYMENT_ICON_TYPE_ENUM.HIPER,\n 'hipercard': PAYMENT_ICON_TYPE_ENUM.HIPERCARD,\n};\n\n@Component({\n tag: 'rebill-card-icon',\n styleUrl: 'card-icon.css',\n shadow: false,\n})\nexport class CardIcon {\n @Prop() cardBrand?: string;\n @Prop() width?: number = 35;\n @Prop() height?: number = 24;\n\n private getCardType(): PAYMENT_ICON_TYPE_ENUM {\n if (this.cardBrand) {\n const brandLower = this.cardBrand.toLowerCase();\n return CARD_TYPE_MAP[brandLower] || PAYMENT_ICON_TYPE_ENUM.GENERIC;\n }\n return PAYMENT_ICON_TYPE_ENUM.GENERIC;\n }\n\n private renderVisaIcon() {\n return (\n <svg\n width=\"23\"\n height=\"16\"\n viewBox=\"0 0 23 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"0.5\" y=\"0.5\" width=\"22\" height=\"15\" rx=\"2\" fill=\"white\" stroke=\"#D9D9D9\" />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.02517 10.8392H5.63182L4.58697 6.79524C4.53738 6.60922 4.43208 6.44477 4.27718 6.36726C3.89063 6.17248 3.46468 6.01746 3 5.93928V5.78359H5.24458C5.55437 5.78359 5.78671 6.01746 5.82543 6.28908L6.36756 9.20609L7.76023 5.78359H9.11486L7.02517 10.8392ZM9.88932 10.8392H8.57341L9.65698 5.78359H10.9729L9.88932 10.8392ZM12.6754 7.18413C12.7141 6.91184 12.9464 6.75615 13.2175 6.75615C13.6434 6.71706 14.1074 6.79524 14.4947 6.98935L14.727 5.90087C14.3398 5.74517 13.9138 5.66699 13.5273 5.66699C12.2501 5.66699 11.3207 6.36726 11.3207 7.33915C11.3207 8.07851 11.979 8.46673 12.4437 8.7006C12.9464 8.9338 13.14 9.08949 13.1013 9.32269C13.1013 9.67249 12.7141 9.82818 12.3275 9.82818C11.8629 9.82818 11.3982 9.71158 10.9729 9.5168L10.7406 10.606C11.2052 10.8001 11.708 10.8783 12.1726 10.8783C13.6047 10.9167 14.4947 10.2171 14.4947 9.167C14.4947 7.84464 12.6754 7.76713 12.6754 7.18413ZM19.1 10.8392L18.0552 5.78359H16.9329C16.7005 5.78359 16.4682 5.93928 16.3907 6.17248L14.4559 10.8392H15.8106L16.081 10.1005H17.7454L17.9003 10.8392H19.1ZM17.1265 7.14505L17.513 9.05041H16.4294L17.1265 7.14505Z\"\n fill=\"#172B85\"\n />\n </svg>\n );\n }\n\n private renderMastercardIcon() {\n return (\n <svg\n width=\"35\"\n height=\"25\"\n viewBox=\"0 0 35 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect x=\"0.5\" y=\"1.01758\" width=\"34\" height=\"23\" rx=\"3.5\" fill=\"white\" stroke=\"#D9D9D9\" />\n <path\n d=\"M22.1758 5.51758C25.9444 5.51758 29 8.60848 29 12.4209C28.9998 16.2332 25.9443 19.3232 22.1758 19.3232C20.4864 19.3231 18.9416 18.7007 17.75 17.6719C16.5584 18.7007 15.0137 19.3231 13.3242 19.3232C9.55566 19.3232 6.50018 16.2332 6.5 12.4209C6.5 8.60848 9.55555 5.51758 13.3242 5.51758C15.0134 5.51769 16.5584 6.13943 17.75 7.16797C18.9416 6.13943 20.4866 5.51769 22.1758 5.51758Z\"\n fill=\"#ED0006\"\n />\n <path\n d=\"M22.1758 5.51758C25.9444 5.51758 29 8.60848 29 12.4209C28.9998 16.2332 25.9443 19.3232 22.1758 19.3232C20.4863 19.3231 18.9416 18.7007 17.75 17.6719C19.2164 16.4058 20.1474 14.524 20.1475 12.4209C20.1475 10.3174 19.2168 8.4341 17.75 7.16797C18.9416 6.13943 20.4866 5.51769 22.1758 5.51758Z\"\n fill=\"#F9A000\"\n />\n <path\n d=\"M17.75 7.16895C19.2166 8.43507 20.1475 10.3176 20.1475 12.4209C20.1475 14.524 19.2163 16.4058 17.75 17.6719C16.2837 16.4058 15.3525 14.524 15.3525 12.4209C15.3525 10.3176 16.2834 8.43507 17.75 7.16895Z\"\n fill=\"#FF5E00\"\n />\n </svg>\n );\n }\n\n private renderAmexIcon() {\n return (\n <svg\n width=\"23\"\n height=\"16\"\n viewBox=\"0 0 23 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.216981\"\n y=\"0.216981\"\n width=\"22.566\"\n height=\"15.566\"\n rx=\"0.867925\"\n fill=\"#1F72CD\"\n stroke=\"#D9D9D9\"\n stroke-width=\"0.433962\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.1443 5.62012L2 10.5758H4.56703L4.88527 9.78562H5.61269L5.93093 10.5758H8.75651V9.9727L9.00828 10.5758H10.4699L10.7217 9.95995V10.5758H16.5981L17.3127 9.80614L17.9817 10.5758L21 10.5821L18.8489 8.11177L21 5.62012H18.0285L17.333 6.37551L16.685 5.62012H10.2922L9.74322 6.89921L9.18139 5.62012H6.61972V6.20265L6.33475 5.62012H4.1443ZM12.9196 6.32403H16.2941L17.3262 7.48832L18.3916 6.32403H19.4237L17.8555 8.11127L19.4237 9.87792H18.3448L17.3127 8.7001L16.2419 9.87792H12.9196V6.32403ZM13.7529 7.70949V7.06035V7.05973H15.8585L16.7772 8.09788L15.8178 9.1417H13.7529V8.43302H15.5938V7.70949H13.7529ZM4.64096 6.32403H5.89225L7.31456 9.68447V6.32403H8.68531L9.78388 8.73345L10.7963 6.32403H12.1602V9.88002H11.3303L11.3236 7.09356L10.1137 9.88002H9.37127L8.15459 7.09356V9.88002H6.4473L6.12363 9.08281H4.37497L4.05197 9.87932H3.13722L4.64096 6.32403ZM4.67357 8.34576L5.24969 6.9256L5.82513 8.34576H4.67357Z\"\n fill=\"white\"\n />\n </svg>\n );\n }\n\n private renderGenericIcon() {\n return (\n <svg\n width={this.width}\n height={this.height}\n viewBox=\"0 0 14 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0.833984 4.50036V10.1644C0.833984 10.5326 1.13246 10.8311 1.50065 10.8311L12.498 10.8311C12.8662 10.8311 13.1647 10.5326 13.1647 10.1644V4.50036M0.833984 4.50036V1.83561C0.833984 1.46742 1.13246 1.16895 1.50065 1.16895H12.4974C12.8648 1.16895 13.163 1.46624 13.1636 1.83367C13.1651 2.72257 13.1647 3.61146 13.1647 4.50036M0.833984 4.50036H13.1647\"\n stroke=\"#788191\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n );\n }\n\n render() {\n const cardType = this.getCardType();\n\n switch (cardType) {\n case PAYMENT_ICON_TYPE_ENUM.VISA:\n return this.renderVisaIcon();\n case PAYMENT_ICON_TYPE_ENUM.MASTERCARD:\n return this.renderMastercardIcon();\n case PAYMENT_ICON_TYPE_ENUM.AMEX:\n return this.renderAmexIcon();\n default:\n return this.renderGenericIcon();\n }\n }\n}\n","@import '../../../styles/variables.css';\n\n.organization-logo {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n}\n\n.logo-image {\n max-height: 40px;\n max-width: 120px;\n width: auto;\n height: auto;\n object-fit: contain;\n border-radius: 8px;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'organization-logo',\n styleUrl: 'organization-logo.css',\n shadow: false,\n})\nexport class OrganizationLogo {\n /**\n * The organization data containing logo URL and name\n */\n @Prop() organization!: {\n name: string;\n logoUrl?: string;\n };\n\n render() {\n return (\n <div class=\"organization-logo\">\n {this.organization.logoUrl ? (\n <img src={this.organization.logoUrl} alt={this.organization.name} class=\"logo-image\" />\n ) : (\n <rebill-icon name=\"logo-default\" class=\"logo-image\" />\n )}\n </div>\n );\n }\n}\n",".checkout-single-column {\n min-height: 100vh;\n background: var(--rebill-color-background);\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-x: hidden;\n min-width: 320px;\n}\n\n.checkout-single-column__header {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n height: 72px;\n width: 100%;\n max-width: 1448px;\n min-width: 348px;\n background: var(--rebill-color-background);\n margin-left: 30px;\n box-sizing: border-box;\n}\n\n.checkout-single-column__main-content {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 0;\n width: 100%;\n box-sizing: border-box;\n /* padding: 0 20px; */\n max-width: 450px;\n\n margin: 0 auto;\n gap: 2rem;\n}\n\n.checkout-single-column__footer-container {\n margin-top: auto;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n box-sizing: border-box;\n}\n\n.checkout-single-column__footer-content {\n width: 100%;\n max-width: 450px;\n min-width: auto;\n flex-shrink: 1;\n flex-basis: auto;\n box-sizing: border-box;\n}\n\n@media (max-width: 1024px) {\n .checkout-single-column__header {\n width: 100%;\n max-width: 100%;\n\n justify-content: flex-start;\n }\n\n .checkout-single-column__main-content {\n /* padding: 0 20px; */\n gap: 0;\n align-items: center;\n justify-content: center;\n padding-top: 2rem;\n flex: 1;\n min-height: 0;\n width: 100%;\n }\n\n .checkout-single-column__footer-container {\n width: 100%;\n height: auto;\n min-height: 60px;\n justify-content: center;\n }\n\n .checkout-single-column__footer-content {\n width: 100%;\n min-width: auto;\n max-width: 100%;\n flex-basis: auto;\n }\n}\n\n@media (max-width: 767px) {\n .checkout-single-column__header {\n height: 60px;\n margin-left: 12px;\n margin-right: 12px;\n width: 100%;\n }\n\n .checkout-single-column__main-content {\n padding-top: 1rem;\n align-items: center;\n justify-content: center;\n flex: 1;\n width: 100%;\n }\n\n .checkout-single-column__footer-container {\n margin-left: 12px;\n margin-right: 12px;\n height: auto;\n min-height: 60px;\n width: 100%;\n justify-content: center;\n }\n}\n\n@media (min-width: 1025px) {\n .checkout-single-column {\n background: var(--rebill-color-background-left);\n }\n .checkout-single-column__footer-container {\n margin-left: 16px;\n }\n\n .checkout-single-column__header {\n background: var(--rebill-color-background-left);\n }\n}\n","import { Component, h } from '@stencil/core';\nimport { sessionState } from '../../../../../store/session.store';\n\n@Component({\n tag: 'rebill-checkout-single-column',\n styleUrl: 'checkout-single-column.css',\n shadow: false,\n})\nexport class LayoutCheckoutSingleColumn {\n render() {\n return (\n <div class=\"checkout-single-column\">\n <header class=\"checkout-single-column__header\">\n <div class=\"header-container\">\n <organization-logo organization={sessionState.data.organization} />\n </div>\n </header>\n <main class=\"checkout-single-column__main-content\">\n <slot />\n </main>\n <div class=\"checkout-single-column__footer-container\">\n <rebill-footer class=\"checkout-single-column__footer-content\" />\n </div>\n </div>\n );\n }\n}\n",".language-selector {\n display: flex;\n align-items: center;\n margin-right: 12px;\n height: 24px;\n}\n.rebill-footer__footer-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin-bottom: 18px;\n margin-top: 18px;\n}\n\n.terms-and-conditions {\n display: flex;\n align-items: center;\n gap: 4px;\n margin-left: 12px;\n}\n\n.footer-powered {\n margin-right: 4px;\n}\n\n.footer-separator {\n margin-right: 6px;\n margin-left: 6px;\n}\n\n.footer-link,\n.footer-powered,\n.footer-separator {\n display: flex;\n align-items: center;\n}\n\n.footer-link a {\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n text-decoration: none;\n}\n","import { Component, h, State } from '@stencil/core';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { LOCALES_ENUM } from '../../../models/enums/locales.enum';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { BREAKPOINT_ENUM, getBreakpoint, isBreakpointBelow } from '../../../utils/breakpoint';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\n@Component({\n tag: 'rebill-footer',\n styleUrl: 'rebill-footer.css',\n shadow: false,\n})\nexport class RebillFooter {\n @State() breakpoint: BREAKPOINT_ENUM = BREAKPOINT_ENUM.DESKTOP;\n\n resizeHandler = () => {\n this.breakpoint = getBreakpoint(window.innerWidth);\n };\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n\n async componentWillLoad() {\n this.resizeHandler();\n window.addEventListener('resize', this.resizeHandler);\n const language = I18nService.getCurrentLanguage();\n SessionStore.changeLanguage(language);\n }\n private handleLanguageChange = (event: any) => {\n I18nService.changeLanguage(event.detail.value);\n SessionStore.changeLanguage(event.detail.value);\n };\n render() {\n return (\n <div class=\"rebill-footer__footer-content\">\n <div class=\"terms-and-conditions\">\n {!isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP) && (\n <rebill-typography\n variant=\"subtitle3\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-powered\"\n >\n {I18nService.translate('footer.poweredBy')}\n </rebill-typography>\n )}\n <rebill-icon name=\"rebill-logo\" color={COLORS_ENUM.SECONDARY} />\n <rebill-icon name=\"rebill\" color={COLORS_ENUM.SECONDARY} />\n <rebill-typography\n variant=\"subtitle3\"\n color={COLORS_ENUM.SECONDARY}\n class=\"footer-separator\"\n >\n |\n </rebill-typography>\n <rebill-typography variant=\"subtitle3\" color={COLORS_ENUM.SECONDARY} class=\"footer-link\">\n <a\n href=\"https://www.rebill.com/terminos-y-condiciones-usuarios-finales\"\n target=\"_blank\"\n >\n {I18nService.translate('footer.termsAndConditions')}\n </a>\n </rebill-typography>\n </div>\n <div class=\"language-selector\">\n <rebill-icon name=\"world\" />\n <rebill-input-select\n id=\"language-selector\"\n variant=\"underlined\"\n backgroundColor={\n isBreakpointBelow(this.breakpoint, BREAKPOINT_ENUM.DESKTOP)\n ? ''\n : 'var(--rebill-color-background-left)'\n }\n options={[\n { label: 'EN', value: LOCALES_ENUM.EN },\n { label: 'ES', value: LOCALES_ENUM.ES },\n { label: 'PT', value: LOCALES_ENUM.PT },\n ]}\n value={sessionState.currentLocale}\n on-input={this.handleLanguageChange}\n fontSize=\"10px\"\n dropPosition=\"up\"\n arrowIcon=\"down\"\n class=\"language-selector-input\"\n />\n </div>\n </div>\n );\n }\n}\n"],"names":["h","sessionState","BREAKPOINT_ENUM","getBreakpoint","I18nService","SessionStore","isBreakpointBelow","COLORS_ENUM","LOCALES_ENUM"],"mappings":"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"}
|
|
@@ -109,7 +109,7 @@ const LayoutCheckoutSingleColumn = class {
|
|
|
109
109
|
};
|
|
110
110
|
LayoutCheckoutSingleColumn.style = checkoutSingleColumnCss;
|
|
111
111
|
|
|
112
|
-
const rebillFooterCss = ".language-selector{display:flex;align-items:center;margin-right:12px;height:24px}.rebill-footer__footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;margin:18px}.terms-and-conditions{display:flex;align-items:center;gap:4px;margin-left:12px}.footer-powered{margin-right:4px}.footer-separator{margin-right:6px;margin-left:6px}.footer-link,.footer-powered,.footer-separator{display:flex;align-items:center}.footer-link a{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;text-decoration:none}";
|
|
112
|
+
const rebillFooterCss = ".language-selector{display:flex;align-items:center;margin-right:12px;height:24px}.rebill-footer__footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:18px;margin-top:18px}.terms-and-conditions{display:flex;align-items:center;gap:4px;margin-left:12px}.footer-powered{margin-right:4px}.footer-separator{margin-right:6px;margin-left:6px}.footer-link,.footer-powered,.footer-separator{display:flex;align-items:center}.footer-link a{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;text-decoration:none}";
|
|
113
113
|
|
|
114
114
|
const RebillFooter = class {
|
|
115
115
|
constructor(hostRef) {
|
|
@@ -99,11 +99,23 @@ export class DiscountCoupon {
|
|
|
99
99
|
this.couponCode = '';
|
|
100
100
|
this.isError = false;
|
|
101
101
|
}
|
|
102
|
+
renderCouponChip({ couponCode, discountAmount, currency, readonly = false, onClick, onRemove, }) {
|
|
103
|
+
if (!couponCode) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
const hasDiscountAmount = typeof discountAmount === 'number';
|
|
107
|
+
return (h("div", { class: `coupon-chip${readonly ? ' coupon-chip--readonly' : ''}` }, h("rebill-icon", { name: "tag-sale", size: "16px" }), h("div", { class: "coupon-content", onClick: !readonly ? onClick : undefined }, h("rebill-typography", { variant: "overline", color: COLORS_ENUM.PRIMARY_DARK_TEXT }, couponCode), hasDiscountAmount && (h("rebill-typography", { variant: "overline", color: COLORS_ENUM.GREEN }, "-$", formatAmountWithoutCurrency(discountAmount, currency)))), !readonly && onRemove && (h("div", { class: "coupon-close", onClick: onRemove }, h("rebill-icon", { name: "x", size: "20px", color: COLORS_ENUM.PRIMARY_DARK_TEXT })))));
|
|
108
|
+
}
|
|
102
109
|
renderReadonlyView() {
|
|
103
110
|
if (!this.readonlyCouponCode && this.readonlyDiscountAmount) {
|
|
104
111
|
return null;
|
|
105
112
|
}
|
|
106
|
-
return
|
|
113
|
+
return this.renderCouponChip({
|
|
114
|
+
couponCode: this.readonlyCouponCode,
|
|
115
|
+
discountAmount: this.readonlyDiscountAmount ?? null,
|
|
116
|
+
currency: this.readonlyCurrency ?? null,
|
|
117
|
+
readonly: true,
|
|
118
|
+
});
|
|
107
119
|
}
|
|
108
120
|
render() {
|
|
109
121
|
if (this.readonlyCouponCode) {
|
|
@@ -121,12 +133,19 @@ export class DiscountCoupon {
|
|
|
121
133
|
if (!this.couponCode.trim()) {
|
|
122
134
|
this.onCancelCoupon();
|
|
123
135
|
}
|
|
124
|
-
} }), h("rebill-button", { variant: "filled", theme: "primary-dark", size: "small", loading: this.isLoading, disabled: this.isLoading || !this.couponCode.trim(), onClick: () => this.onApplyCoupon(), style: { marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '3px' : '0px' } }, I18nService.translate('discountCoupons.apply')))), this.actionStatus === ACTION_STATUS.APPLIED &&
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
136
|
+
} }), h("rebill-button", { variant: "filled", theme: "primary-dark", size: "small", loading: this.isLoading, disabled: this.isLoading || !this.couponCode.trim(), onClick: () => this.onApplyCoupon(), style: { marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '3px' : '0px' } }, I18nService.translate('discountCoupons.apply')))), this.actionStatus === ACTION_STATUS.APPLIED &&
|
|
137
|
+
this.renderCouponChip({
|
|
138
|
+
couponCode: sessionState.data.pricing.discountCouponCode,
|
|
139
|
+
discountAmount: sessionState.data.pricing.discountAmount,
|
|
140
|
+
currency: sessionState.data.pricing.currency,
|
|
141
|
+
onClick: () => (this.actionStatus = ACTION_STATUS.EDITING),
|
|
142
|
+
onRemove: () => {
|
|
143
|
+
this.actionStatus = ACTION_STATUS.NOT_APPLIED;
|
|
144
|
+
this.couponCode = '';
|
|
145
|
+
SessionStore.setDiscount(null);
|
|
146
|
+
this.discountApplied.emit(false);
|
|
147
|
+
},
|
|
148
|
+
}))));
|
|
130
149
|
}
|
|
131
150
|
static get is() { return "discount-coupon"; }
|
|
132
151
|
static get originalStyleUrls() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discount-coupon.js","sourceRoot":"","sources":["../../../../src/components/checkout/discount-coupon/discount-coupon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { formatAmountWithoutCurrency } from '../../../utils';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\nenum ACTION_STATUS {\n EDITING = 'editing',\n APPLIED = 'applied',\n NOT_APPLIED = 'not_applied',\n}\n\n@Component({\n tag: 'discount-coupon',\n styleUrl: 'discount-coupon.css',\n shadow: false,\n})\nexport class DiscountCoupon {\n @Element() el: HTMLElement;\n @Prop() hideLabel: boolean = false;\n @Prop() displayMode: 'editable' | 'readonly' = 'editable';\n @Prop() readonlyCouponCode?: string;\n @Prop() readonlyDiscountAmount?: number;\n @Prop() readonlyCurrency?: string;\n @State() couponCode: string = '';\n @State() actionStatus: ACTION_STATUS = ACTION_STATUS.NOT_APPLIED;\n @State() isLoading: boolean = false;\n @State() isError: boolean = false;\n @State() currentLocale: string = sessionState.currentLocale;\n @Event() discountApplied: EventEmitter<boolean>;\n private inputRef: HTMLRebillInputTextElement;\n private unsubscribeCurrentLocaleStore?: () => void;\n\n componentWillLoad() {\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.currentLocale = sessionState.currentLocale;\n });\n\n if (this.readonlyCouponCode) {\n return;\n }\n\n if (\n sessionState.data.pricing.discountCouponCode &&\n sessionState.data.pricing.discountAmount > 0\n ) {\n this.actionStatus = ACTION_STATUS.APPLIED;\n this.couponCode = sessionState.data.pricing.discountCouponCode;\n }\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n }\n componentDidUpdate() {\n if (this.readonlyCouponCode) {\n return;\n }\n\n if (this.actionStatus === ACTION_STATUS.EDITING && this.inputRef) {\n setTimeout(async () => {\n const inputElement = await this.inputRef.getInputElement();\n if (inputElement) {\n inputElement.focus();\n }\n }, 0);\n }\n }\n\n private async onApplyCoupon() {\n if (this.readonlyCouponCode) return;\n const sessionId = sessionState.data.sessionId;\n if (!sessionId) {\n return;\n }\n this.isLoading = true;\n try {\n const response = await api.discountCoupon.applyDiscountCoupon({\n couponCode: this.couponCode,\n quantity: 1,\n sessionId: sessionId,\n organizationId: sessionState.data.organization.id,\n });\n this.actionStatus = ACTION_STATUS.APPLIED;\n SessionStore.setDiscount({\n couponCode: this.couponCode,\n amount: response.amount,\n discountType: response.discountType,\n discountAmount: response.discountedAmount,\n discountedPercentage: response?.discountedPercentage || 0,\n discountDuration: response?.discountDuration || null,\n });\n this.discountApplied.emit(true);\n } catch (error) {\n this.actionStatus = ACTION_STATUS.EDITING;\n this.discountApplied.emit(false);\n this.isError = true;\n SessionStore.setDiscount(null);\n } finally {\n this.isLoading = false;\n }\n }\n\n private onCancelCoupon() {\n if (this.readonlyCouponCode) return;\n this.actionStatus = ACTION_STATUS.NOT_APPLIED;\n this.couponCode = '';\n this.isError = false;\n }\n\n private renderReadonlyView() {\n if (!this.readonlyCouponCode && this.readonlyDiscountAmount) {\n return null;\n }\n\n return (\n <div class=\"coupon-chip coupon-chip--readonly\">\n <rebill-icon name=\"tag-sale\" size=\"16px\" />\n <div class=\"coupon-content\">\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {this.readonlyCouponCode}\n </rebill-typography>\n {this.readonlyDiscountAmount && (\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.GREEN}>\n -$\n {formatAmountWithoutCurrency(\n this.readonlyDiscountAmount,\n this.readonlyCurrency as any,\n )}\n </rebill-typography>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n if (this.readonlyCouponCode) {\n return this.renderReadonlyView();\n }\n\n return (\n <div>\n <div\n class=\"summary-row\"\n style={{\n alignItems: this.actionStatus === ACTION_STATUS.EDITING ? 'flex-start' : 'center',\n display: 'flex',\n }}\n >\n {!this.hideLabel && (\n <rebill-typography\n variant=\"body2\"\n style={{ marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '7px' : '0px' }}\n >\n {I18nService.translate('discountCoupons.discount')}\n </rebill-typography>\n )}\n {this.actionStatus === ACTION_STATUS.NOT_APPLIED && (\n <rebill-button\n variant=\"filled\"\n size=\"small\"\n theme=\"primary-dark\"\n onClick={() => (this.actionStatus = ACTION_STATUS.EDITING)}\n >\n {I18nService.translate('discountCoupons.addDiscount')}\n </rebill-button>\n )}\n {this.actionStatus === ACTION_STATUS.EDITING && (\n <div class=\"summary-row\" style={{ alignItems: 'flex-start', display: 'flex' }}>\n <rebill-input-text\n ref={el => (this.inputRef = el)}\n id=\"discountCoupon\"\n value={this.couponCode}\n placeholder={I18nService.translate('discountCoupons.addDiscount')}\n disabled={this.isLoading}\n error={this.isError ? I18nService.translate('discountCoupons.error') : ''}\n clearable={true}\n uppercase={true}\n onInput={e => {\n e.stopPropagation();\n if (e.detail && e.detail.value !== undefined) {\n this.couponCode = e.detail.value;\n }\n }}\n onBlur={() => {\n if (!this.couponCode.trim()) {\n this.onCancelCoupon();\n }\n }}\n />\n <rebill-button\n variant=\"filled\"\n theme=\"primary-dark\"\n size=\"small\"\n loading={this.isLoading}\n disabled={this.isLoading || !this.couponCode.trim()}\n onClick={() => this.onApplyCoupon()}\n style={{ marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '3px' : '0px' }}\n >\n {I18nService.translate('discountCoupons.apply')}\n </rebill-button>\n </div>\n )}\n {this.actionStatus === ACTION_STATUS.APPLIED && (\n <div class=\"coupon-chip\">\n <rebill-icon name=\"tag-sale\" size=\"16px\" />\n <div\n class=\"coupon-content\"\n onClick={() => (this.actionStatus = ACTION_STATUS.EDITING)}\n >\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {sessionState.data.pricing.discountCouponCode}\n </rebill-typography>\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.GREEN}>\n -$\n {formatAmountWithoutCurrency(\n sessionState.data.pricing.discountAmount,\n sessionState.data.pricing.currency,\n )}\n </rebill-typography>\n </div>\n <div\n class=\"coupon-close\"\n onClick={() => {\n this.actionStatus = ACTION_STATUS.NOT_APPLIED;\n this.couponCode = '';\n SessionStore.setDiscount(null);\n this.discountApplied.emit(false);\n }}\n >\n <rebill-icon name=\"x\" size=\"20px\" color={COLORS_ENUM.PRIMARY_DARK_TEXT} />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"discount-coupon.js","sourceRoot":"","sources":["../../../../src/components/checkout/discount-coupon/discount-coupon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, JSX, Prop, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { formatAmountWithoutCurrency } from '../../../utils';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\n\nenum ACTION_STATUS {\n EDITING = 'editing',\n APPLIED = 'applied',\n NOT_APPLIED = 'not_applied',\n}\n\n@Component({\n tag: 'discount-coupon',\n styleUrl: 'discount-coupon.css',\n shadow: false,\n})\nexport class DiscountCoupon {\n @Element() el: HTMLElement;\n @Prop() hideLabel: boolean = false;\n @Prop() displayMode: 'editable' | 'readonly' = 'editable';\n @Prop() readonlyCouponCode?: string;\n @Prop() readonlyDiscountAmount?: number;\n @Prop() readonlyCurrency?: string;\n @State() couponCode: string = '';\n @State() actionStatus: ACTION_STATUS = ACTION_STATUS.NOT_APPLIED;\n @State() isLoading: boolean = false;\n @State() isError: boolean = false;\n @State() currentLocale: string = sessionState.currentLocale;\n @Event() discountApplied: EventEmitter<boolean>;\n private inputRef: HTMLRebillInputTextElement;\n private unsubscribeCurrentLocaleStore?: () => void;\n\n componentWillLoad() {\n this.unsubscribeCurrentLocaleStore = SessionStore.onChange('currentLocale', () => {\n this.currentLocale = sessionState.currentLocale;\n });\n\n if (this.readonlyCouponCode) {\n return;\n }\n\n if (\n sessionState.data.pricing.discountCouponCode &&\n sessionState.data.pricing.discountAmount > 0\n ) {\n this.actionStatus = ACTION_STATUS.APPLIED;\n this.couponCode = sessionState.data.pricing.discountCouponCode;\n }\n }\n\n disconnectedCallback() {\n if (this.unsubscribeCurrentLocaleStore) {\n this.unsubscribeCurrentLocaleStore();\n }\n }\n componentDidUpdate() {\n if (this.readonlyCouponCode) {\n return;\n }\n\n if (this.actionStatus === ACTION_STATUS.EDITING && this.inputRef) {\n setTimeout(async () => {\n const inputElement = await this.inputRef.getInputElement();\n if (inputElement) {\n inputElement.focus();\n }\n }, 0);\n }\n }\n\n private async onApplyCoupon() {\n if (this.readonlyCouponCode) return;\n const sessionId = sessionState.data.sessionId;\n if (!sessionId) {\n return;\n }\n this.isLoading = true;\n try {\n const response = await api.discountCoupon.applyDiscountCoupon({\n couponCode: this.couponCode,\n quantity: 1,\n sessionId: sessionId,\n organizationId: sessionState.data.organization.id,\n });\n this.actionStatus = ACTION_STATUS.APPLIED;\n SessionStore.setDiscount({\n couponCode: this.couponCode,\n amount: response.amount,\n discountType: response.discountType,\n discountAmount: response.discountedAmount,\n discountedPercentage: response?.discountedPercentage || 0,\n discountDuration: response?.discountDuration || null,\n });\n this.discountApplied.emit(true);\n } catch (error) {\n this.actionStatus = ACTION_STATUS.EDITING;\n this.discountApplied.emit(false);\n this.isError = true;\n SessionStore.setDiscount(null);\n } finally {\n this.isLoading = false;\n }\n }\n\n private onCancelCoupon() {\n if (this.readonlyCouponCode) return;\n this.actionStatus = ACTION_STATUS.NOT_APPLIED;\n this.couponCode = '';\n this.isError = false;\n }\n\n private renderCouponChip({\n couponCode,\n discountAmount,\n currency,\n readonly = false,\n onClick,\n onRemove,\n }: {\n couponCode?: string;\n discountAmount?: number | null;\n currency?: string | null;\n readonly?: boolean;\n onClick?: () => void;\n onRemove?: () => void;\n }): JSX.Element | null {\n if (!couponCode) {\n return null;\n }\n\n const hasDiscountAmount = typeof discountAmount === 'number';\n\n return (\n <div class={`coupon-chip${readonly ? ' coupon-chip--readonly' : ''}`}>\n <rebill-icon name=\"tag-sale\" size=\"16px\" />\n <div class=\"coupon-content\" onClick={!readonly ? onClick : undefined}>\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.PRIMARY_DARK_TEXT}>\n {couponCode}\n </rebill-typography>\n {hasDiscountAmount && (\n <rebill-typography variant=\"overline\" color={COLORS_ENUM.GREEN}>\n -$\n {formatAmountWithoutCurrency(discountAmount as number, currency as any)}\n </rebill-typography>\n )}\n </div>\n {!readonly && onRemove && (\n <div class=\"coupon-close\" onClick={onRemove}>\n <rebill-icon name=\"x\" size=\"20px\" color={COLORS_ENUM.PRIMARY_DARK_TEXT} />\n </div>\n )}\n </div>\n );\n }\n\n private renderReadonlyView() {\n if (!this.readonlyCouponCode && this.readonlyDiscountAmount) {\n return null;\n }\n\n return this.renderCouponChip({\n couponCode: this.readonlyCouponCode,\n discountAmount: this.readonlyDiscountAmount ?? null,\n currency: this.readonlyCurrency ?? null,\n readonly: true,\n });\n }\n\n render() {\n if (this.readonlyCouponCode) {\n return this.renderReadonlyView();\n }\n\n return (\n <div>\n <div\n class=\"summary-row\"\n style={{\n alignItems: this.actionStatus === ACTION_STATUS.EDITING ? 'flex-start' : 'center',\n display: 'flex',\n }}\n >\n {!this.hideLabel && (\n <rebill-typography\n variant=\"body2\"\n style={{ marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '7px' : '0px' }}\n >\n {I18nService.translate('discountCoupons.discount')}\n </rebill-typography>\n )}\n {this.actionStatus === ACTION_STATUS.NOT_APPLIED && (\n <rebill-button\n variant=\"filled\"\n size=\"small\"\n theme=\"primary-dark\"\n onClick={() => (this.actionStatus = ACTION_STATUS.EDITING)}\n >\n {I18nService.translate('discountCoupons.addDiscount')}\n </rebill-button>\n )}\n {this.actionStatus === ACTION_STATUS.EDITING && (\n <div class=\"summary-row\" style={{ alignItems: 'flex-start', display: 'flex' }}>\n <rebill-input-text\n ref={el => (this.inputRef = el)}\n id=\"discountCoupon\"\n value={this.couponCode}\n placeholder={I18nService.translate('discountCoupons.addDiscount')}\n disabled={this.isLoading}\n error={this.isError ? I18nService.translate('discountCoupons.error') : ''}\n clearable={true}\n uppercase={true}\n onInput={e => {\n e.stopPropagation();\n if (e.detail && e.detail.value !== undefined) {\n this.couponCode = e.detail.value;\n }\n }}\n onBlur={() => {\n if (!this.couponCode.trim()) {\n this.onCancelCoupon();\n }\n }}\n />\n <rebill-button\n variant=\"filled\"\n theme=\"primary-dark\"\n size=\"small\"\n loading={this.isLoading}\n disabled={this.isLoading || !this.couponCode.trim()}\n onClick={() => this.onApplyCoupon()}\n style={{ marginTop: this.actionStatus === ACTION_STATUS.EDITING ? '3px' : '0px' }}\n >\n {I18nService.translate('discountCoupons.apply')}\n </rebill-button>\n </div>\n )}\n {this.actionStatus === ACTION_STATUS.APPLIED &&\n this.renderCouponChip({\n couponCode: sessionState.data.pricing.discountCouponCode,\n discountAmount: sessionState.data.pricing.discountAmount,\n currency: sessionState.data.pricing.currency,\n onClick: () => (this.actionStatus = ACTION_STATUS.EDITING),\n onRemove: () => {\n this.actionStatus = ACTION_STATUS.NOT_APPLIED;\n this.couponCode = '';\n SessionStore.setDiscount(null);\n this.discountApplied.emit(false);\n },\n })}\n </div>\n </div>\n );\n }\n}\n"]}
|