rebill-web-components-sdk 1.8.3-beta.3 → 1.8.3-beta.4
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/otp-component.cjs.entry.js +5 -5
- package/dist/cjs/otp-component.cjs.entry.js.map +1 -1
- package/dist/cjs/otp-component.entry.cjs.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 +9 -9
- package/dist/cjs/otp-component_7.cjs.entry.js.map +1 -1
- package/dist/cjs/rebill-mode-sandbox-mobile.cjs.entry.js +4 -4
- package/dist/cjs/rebill-mode-sandbox-mobile.cjs.entry.js.map +1 -1
- package/dist/cjs/rebill-mode-sandbox-mobile.entry.cjs.js.map +1 -1
- package/dist/collection/components/checkout/otp/otp.css +16 -16
- package/dist/collection/components/checkout/otp/otp.js +4 -4
- package/dist/collection/components/checkout/otp/otp.js.map +1 -1
- package/dist/collection/components/shared/mode-sandbox/mode-sandbox-mobile.css +21 -16
- package/dist/collection/components/shared/mode-sandbox/mode-sandbox-mobile.js +3 -3
- package/dist/collection/components/shared/mode-sandbox/mode-sandbox-mobile.js.map +1 -1
- package/dist/components/mode-sandbox-mobile.js +4 -4
- package/dist/components/mode-sandbox-mobile.js.map +1 -1
- package/dist/components/otp.js +5 -5
- package/dist/components/otp.js.map +1 -1
- package/dist/components/{p-C-BFyHag.js → p-D3tnZHAe.js} +7 -7
- package/dist/components/p-D3tnZHAe.js.map +1 -0
- package/dist/components/p-Dp3ocPYP.js +85 -0
- package/dist/components/p-Dp3ocPYP.js.map +1 -0
- package/dist/esm/otp-component.entry.js +5 -5
- package/dist/esm/otp-component.entry.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 +9 -9
- package/dist/esm/otp-component_7.entry.js.map +1 -1
- package/dist/esm/rebill-mode-sandbox-mobile.entry.js +4 -4
- package/dist/esm/rebill-mode-sandbox-mobile.entry.js.map +1 -1
- package/dist/rebill-web-components-sdk/otp-component.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/otp-component.entry.js +5 -5
- package/dist/rebill-web-components-sdk/otp-component.entry.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-8f949cf1.entry.js +2 -0
- package/dist/rebill-web-components-sdk/p-8f949cf1.entry.js.map +1 -0
- package/dist/rebill-web-components-sdk/rebill-mode-sandbox-mobile.entry.esm.js.map +1 -1
- package/dist/rebill-web-components-sdk/rebill-mode-sandbox-mobile.entry.js +4 -4
- package/dist/rebill-web-components-sdk/rebill-mode-sandbox-mobile.entry.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/p-Bl3lkRJY.js +0 -85
- package/dist/components/p-Bl3lkRJY.js.map +0 -1
- package/dist/components/p-C-BFyHag.js.map +0 -1
- package/dist/rebill-web-components-sdk/p-daa7cbb2.entry.js +0 -2
- package/dist/rebill-web-components-sdk/p-daa7cbb2.entry.js.map +0 -1
|
@@ -9,7 +9,7 @@ require('./_commonjsHelpers-C4WPPtrG.js');
|
|
|
9
9
|
require('./config-DXXQevZh.js');
|
|
10
10
|
require('./cdn-DuxoLczM.js');
|
|
11
11
|
|
|
12
|
-
const otpCss = ".
|
|
12
|
+
const otpCss = ".otp__otp-container{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;position:relative;margin-top:2rem}.otp__user-information{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;gap:8px}.otp__otp-description-container{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px}.otp__change-email{cursor:pointer;text-decoration:underline;margin-left:0}.otp__change-email:hover{color:var(--rebill-primary-color);text-decoration:underline}.otp__alternative{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;margin:32px;width:100%}.otp__rebill-alert{width:100%}.otp__guest-options{display:flex;flex-direction:column;width:100%;gap:8px;margin-top:auto}.otp__verifying-container{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0}.otp__code-resent-container rebill-typography{display:flex;line-height:1}.otp__code-resent-container rebill-icon{flex-shrink:0;display:inline-flex;vertical-align:middle;margin-right:8px}.otp__spinner{width:15px;height:15px;border:2px solid rgba(255, 255, 255, 0.3);border-radius:50%;border-top-color:var(--rebill-color-primary);animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.otp__otp-container{min-height:calc(100vh - 40px)}.otp__guest-options{margin-top:32px}}@media (min-width: 1025px){.otp__otp-container{justify-content:flex-start}.otp__guest-options{margin-top:auto;padding-bottom:2rem}}";
|
|
13
13
|
|
|
14
14
|
const Otp = class {
|
|
15
15
|
constructor(hostRef) {
|
|
@@ -107,17 +107,17 @@ const Otp = class {
|
|
|
107
107
|
}
|
|
108
108
|
};
|
|
109
109
|
render() {
|
|
110
|
-
return (index.h("div", { key: '
|
|
110
|
+
return (index.h("div", { key: '342b5631b2dfe15cc24880cf7d6d77b6c10ab12d', class: "otp__otp-container" }, index.h("div", { key: 'c6bf7502fa3f9c1940d1d07360a47c17cc2fdeb2', class: "otp__user-information" }, index.h("div", { key: '078a4cb4dd563ff1ddfbc02f70e8c923f6973d0f', class: "otp__otp-description-container" }, index.h("rebill-typography", { key: 'd8ae4e71ee4e35b033347c6bc99200e48e5b9705', variant: "body2", class: "otp__otp-description" }, i18n_service.I18nService.translate('otp.description')), index.h("rebill-typography", { key: '2466a357c835bcd8314aa5f53aefabb474fdf55f', variant: "subtitle-bold", class: "otp__otp-description-digits" }, ' ', index.h("strong", { key: '3a4263b93f5ad7f9aec482f1d1eef76952cf60d3' }, i18n_service.I18nService.translate('otp.descriptionDigits')), ' '), index.h("rebill-typography", { key: 'd77b23e3581d353e2fdd73debe4fbc0e987376c4', variant: "body2", class: "otp__otp-description-email" }, i18n_service.I18nService.translate('otp.descriptionEmail'))), index.h("rebill-typography", { key: '723a510062706eed71186cf6b1a252f58554a4fc', variant: "body2", class: "otp__otp-email-line" }, i18n_service.state.data.userInformation.email, ' ', !i18n_service.state.data.prefilledData?.email && (index.h("span", { key: '46fb8563cb20d2ae7a6d8bc8d369d8a985ff85f3', class: "otp__change-email", onClick: () => {
|
|
111
111
|
this.otpValue = '';
|
|
112
112
|
this.error = false;
|
|
113
113
|
this.returnForm.emit(false);
|
|
114
|
-
} }, i18n_service.I18nService.translate('otp.change'))))), index.h("input-otp", { key: '
|
|
114
|
+
} }, i18n_service.I18nService.translate('otp.change'))))), index.h("input-otp", { key: '8ed8dc00b9131753f6f23178e607049e6bc4ea72', otp: this.otpValue, onOtpChange: event => this.handleOtpChange(event.detail), error: this.error ? i18n_service.I18nService.translate('otp.error') : '' }), this.isVerifying && (index.h("div", { key: '364e208afc986a3272bf24b282c169fb243b86db', class: "otp__verifying-container" }, index.h("rebill-typography", { key: '02cec9d49145d0f953b84d9ee0fbf015f5004d8d', variant: "subtitle2", color: colorClassMapper.COLORS_ENUM.PRIMARY }, i18n_service.I18nService.translate('otp.verifyingCode')), index.h("div", { key: 'b436acb222dd7db455a86e4063567519e309d85e', class: "otp__spinner" }))), index.h("rebill-button", { key: 'ac5bcb96f2fac2426579ac33ca2f84f36e3dda51', type: "button", variant: "outline", theme: this.isTimerRunning ? 'secondary' : 'primary', disabled: this.isTimerRunning, onClick: this.handleResendCode, size: "small", style: { height: '24px', marginBottom: '8px' } }, this.isTimerRunning
|
|
115
115
|
? `${i18n_service.I18nService.translate('otp.resendCodeIn')} (${this.timer.getFormattedTime()})`
|
|
116
|
-
: i18n_service.I18nService.translate('otp.resendCode')), this.codeResent && (index.h("div", { key: '
|
|
116
|
+
: i18n_service.I18nService.translate('otp.resendCode')), this.codeResent && (index.h("div", { key: 'b5f54b7f537c0e382d2c1a3ff79a24f2cf4e63a9', class: "otp__code-resent-container" }, index.h("rebill-typography", { key: '4aeaeb7d4d37eab63ca63419dccb54e1b7d2fda8', variant: "subtitle2", color: colorClassMapper.COLORS_ENUM.GREEN }, index.h("rebill-icon", { key: '4fea914f167a28bb06e0cf69d833fda493752d55', name: "check-radio" }), i18n_service.I18nService.translate('otp.codeResent')))), index.h("rebill-alert", { key: 'a8bcbdbc5af7a9e6a12bc842dd8142812638f3fa', class: "otp__rebill-alert", type: "secure", variant: "variant-info", message: i18n_service.I18nService.translate('otp.infoMessage'), icon: "circle-info", alertTitle: i18n_service.I18nService.translate('otp.infoTitle'), colorIcon: colorClassMapper.COLORS_ENUM.PRIMARY_DARK_LIGHT }), index.h("div", { key: '9ff81fa5dce0deaec0a292d2e25d396f559a27a5', class: "otp__alternative" }, index.h("rebill-typography", { key: 'b8e4f23db473f1049f4f6eae5a489722053aa24a', variant: "body2", color: colorClassMapper.COLORS_ENUM.PRIMARY_DARK }, "o")), index.h("div", { key: '87a52e07d7c709c95517f0f3606d843c6580f9bf', class: "otp__guest-options" }, index.h("rebill-button", { key: '3fb138f038065cb6ec2852f313de1eae3d194748', type: "button", variant: "outline", theme: "secondary", size: "medium", onClick: () => {
|
|
117
117
|
this.otpValue = '';
|
|
118
118
|
this.error = false;
|
|
119
119
|
this.returnForm.emit(false);
|
|
120
|
-
} }, i18n_service.I18nService.translate('otp.continueAsGuest')), index.h("rebill-alert", { key: '
|
|
120
|
+
} }, i18n_service.I18nService.translate('otp.continueAsGuest')), index.h("rebill-alert", { key: '3bd11b6a8a91c2690998c2f7af36e872e485fffe', type: "secure", variant: "variant-secure", icon: "lock-outline", message: i18n_service.I18nService.translate('otp.secureMessage') }))));
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
Otp.style = otpCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"otp-component.entry.cjs.js","mappings":"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","names":["createCountdownTimer","api","sessionState","SessionStore","h","I18nService","COLORS_ENUM"],"sources":["src/components/checkout/otp/otp.css?tag=otp-component","src/components/checkout/otp/otp.tsx"],"sourcesContent":[".otp-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n width: 100%;\n position: relative;\n margin-top: 2rem;\n}\n\n.user-information {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n}\n\n.otp-description-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n.change-email {\n cursor: pointer;\n text-decoration: underline;\n margin-left: 0;\n}\n\n.change-email:hover {\n color: var(--rebill-primary-color);\n text-decoration: underline;\n}\n\n.alternative {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 32px;\n width: 100%;\n}\n\n.rebill-alert {\n width: 100%;\n}\n\n.guest-options {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n margin-top: auto;\n}\n\n.verifying-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 8px 0;\n}\n\n.code-resent-container rebill-typography {\n display: flex;\n line-height: 1;\n}\n\n.code-resent-container rebill-icon {\n flex-shrink: 0;\n display: inline-flex;\n vertical-align: middle;\n margin-right: 8px;\n}\n\n.spinner {\n width: 15px;\n height: 15px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: var(--rebill-color-primary);\n animation: spin 1s linear infinite;\n display: inline-block;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Responsive adjustments */\n@media (max-width: 1024px) {\n .otp-container {\n min-height: calc(100vh - 40px);\n }\n\n .guest-options {\n margin-top: 32px;\n }\n}\n\n@media (min-width: 1025px) {\n .otp-container {\n justify-content: flex-start;\n }\n\n .guest-options {\n margin-top: auto;\n padding-bottom: 2rem;\n }\n}\n","import { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { OTPVerifyResponse } from '../../../api/entities/OTP/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport { createCountdownTimer } from '../../../utils/timer';\n\n@Component({\n tag: 'otp-component',\n styleUrl: 'otp.css',\n shadow: false,\n})\nexport class Otp {\n @Event() changeEmailClick: EventEmitter<void>;\n @State() timeLeft: number = 59;\n @State() isTimerRunning: boolean = false;\n @State() codeResent: boolean = false;\n @State() isVerifying: boolean = false;\n @State() otpValue: string = '';\n @Event() returnForm: EventEmitter<boolean>;\n @Event() codeVerified: EventEmitter<OTPVerifyResponse>;\n @State() error: boolean = false;\n\n private timer = createCountdownTimer({\n duration: 59,\n onTick: timeLeft => {\n this.timeLeft = timeLeft;\n },\n onComplete: () => {\n this.isTimerRunning = false;\n },\n });\n\n private messageTimer = createCountdownTimer({\n duration: 5,\n onComplete: () => {\n this.codeResent = false;\n },\n });\n\n disconnectedCallback() {\n this.timer.stop();\n }\n\n startTimer() {\n this.timer.start();\n this.isTimerRunning = true;\n }\n\n handleResendCode = async () => {\n if (!this.isTimerRunning) {\n await api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.codeResent = true;\n this.messageTimer.start();\n this.startTimer();\n\n this.error = false;\n }\n };\n\n handleOtpChange = (value: string) => {\n this.otpValue = value;\n\n if (value.length === 6) {\n this.handleVerifyOtp(value);\n this.error = false;\n }\n };\n\n handleVerifyOtp = async (otp: string) => {\n this.isVerifying = true;\n try {\n const response = await api.otp.verify(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n code: otp,\n });\n\n this.codeVerified.emit(response.data);\n SessionStore.setUserInformation({\n ...response.data.customer,\n fullName: `${response.data.customer.firstName} ${response.data.customer.lastName}`.trim(),\n phoneNumber: {\n number: response.data.customer.phoneNumbers[0].number,\n countryCode: response.data.customer.phoneNumbers[0].countryCode,\n },\n address: {\n billingAddress: {\n address: response.data.customer.addresses[0].lineOne,\n zip: response.data.customer.addresses[0].zipCode,\n city: response.data.customer.addresses[0].city,\n state: response.data.customer.addresses[0].state,\n country: response.data.customer.addresses[0].country,\n },\n },\n documentType: response.data.customer.identifications[0].type,\n documentNumber: response.data.customer.identifications[0].value,\n });\n SessionStore.setAccessToken(response.data.accessToken);\n SessionStore.setCustomerId(response.data.customer.id);\n this.otpValue = '';\n this.error = false;\n } catch (error) {\n this.error = true;\n } finally {\n this.isVerifying = false;\n }\n };\n\n render() {\n return (\n <div class=\"otp-container\">\n <div class=\"user-information\">\n <div class=\"otp-description-container\">\n <rebill-typography variant=\"body2\" class=\"otp-description\">\n {I18nService.translate('otp.description')}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" class=\"otp-description-digits\">\n {' '}\n <strong>{I18nService.translate('otp.descriptionDigits')}</strong>{' '}\n </rebill-typography>\n <rebill-typography variant=\"body2\" class=\"otp-description-email\">\n {I18nService.translate('otp.descriptionEmail')}\n </rebill-typography>\n </div>\n <rebill-typography variant=\"body2\" class=\"otp-email-line\">\n {sessionState.data.userInformation.email}{' '}\n {!sessionState.data.prefilledData?.email && (\n <span\n class=\"change-email\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.change')}\n </span>\n )}\n </rebill-typography>\n </div>\n <input-otp\n otp={this.otpValue}\n onOtpChange={event => this.handleOtpChange(event.detail)}\n error={this.error ? I18nService.translate('otp.error') : ''}\n />\n\n {this.isVerifying && (\n <div class=\"verifying-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY}>\n {I18nService.translate('otp.verifyingCode')}\n </rebill-typography>\n <div class=\"spinner\"></div>\n </div>\n )}\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme={this.isTimerRunning ? 'secondary' : 'primary'}\n disabled={this.isTimerRunning}\n onClick={this.handleResendCode}\n size=\"small\"\n style={{ height: '24px', marginBottom: '8px' }}\n >\n {this.isTimerRunning\n ? `${I18nService.translate('otp.resendCodeIn')} (${this.timer.getFormattedTime()})`\n : I18nService.translate('otp.resendCode')}\n </rebill-button>\n\n {this.codeResent && (\n <div class=\"code-resent-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.GREEN}>\n <rebill-icon name=\"check-radio\" />\n {I18nService.translate('otp.codeResent')}\n </rebill-typography>\n </div>\n )}\n <rebill-alert\n class=\"rebill-alert\"\n type=\"secure\"\n variant=\"variant-info\"\n message={I18nService.translate('otp.infoMessage')}\n icon=\"circle-info\"\n alertTitle={I18nService.translate('otp.infoTitle')}\n colorIcon={COLORS_ENUM.PRIMARY_DARK_LIGHT}\n />\n <div class=\"alternative\">\n <rebill-typography variant=\"body2\" color={COLORS_ENUM.PRIMARY_DARK}>\n o\n </rebill-typography>\n </div>\n <div class=\"guest-options\">\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme=\"secondary\"\n size=\"medium\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.continueAsGuest')}\n </rebill-button>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"otp-component.entry.cjs.js","mappings":"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","names":["createCountdownTimer","api","sessionState","SessionStore","h","I18nService","COLORS_ENUM"],"sources":["src/components/checkout/otp/otp.css?tag=otp-component","src/components/checkout/otp/otp.tsx"],"sourcesContent":[".otp__otp-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n width: 100%;\n position: relative;\n margin-top: 2rem;\n}\n\n.otp__user-information {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n}\n\n.otp__otp-description-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n.otp__change-email {\n cursor: pointer;\n text-decoration: underline;\n margin-left: 0;\n}\n\n.otp__change-email:hover {\n color: var(--rebill-primary-color);\n text-decoration: underline;\n}\n\n.otp__alternative {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 32px;\n width: 100%;\n}\n\n.otp__rebill-alert {\n width: 100%;\n}\n\n.otp__guest-options {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n margin-top: auto;\n}\n\n.otp__verifying-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 8px 0;\n}\n\n.otp__code-resent-container rebill-typography {\n display: flex;\n line-height: 1;\n}\n\n.otp__code-resent-container rebill-icon {\n flex-shrink: 0;\n display: inline-flex;\n vertical-align: middle;\n margin-right: 8px;\n}\n\n.otp__spinner {\n width: 15px;\n height: 15px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: var(--rebill-color-primary);\n animation: spin 1s linear infinite;\n display: inline-block;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Responsive adjustments */\n@media (max-width: 1024px) {\n .otp__otp-container {\n min-height: calc(100vh - 40px);\n }\n\n .otp__guest-options {\n margin-top: 32px;\n }\n}\n\n@media (min-width: 1025px) {\n .otp__otp-container {\n justify-content: flex-start;\n }\n\n .otp__guest-options {\n margin-top: auto;\n padding-bottom: 2rem;\n }\n}\n","import { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { OTPVerifyResponse } from '../../../api/entities/OTP/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport { createCountdownTimer } from '../../../utils/timer';\n\n@Component({\n tag: 'otp-component',\n styleUrl: 'otp.css',\n shadow: false,\n})\nexport class Otp {\n @Event() changeEmailClick: EventEmitter<void>;\n @State() timeLeft: number = 59;\n @State() isTimerRunning: boolean = false;\n @State() codeResent: boolean = false;\n @State() isVerifying: boolean = false;\n @State() otpValue: string = '';\n @Event() returnForm: EventEmitter<boolean>;\n @Event() codeVerified: EventEmitter<OTPVerifyResponse>;\n @State() error: boolean = false;\n\n private timer = createCountdownTimer({\n duration: 59,\n onTick: timeLeft => {\n this.timeLeft = timeLeft;\n },\n onComplete: () => {\n this.isTimerRunning = false;\n },\n });\n\n private messageTimer = createCountdownTimer({\n duration: 5,\n onComplete: () => {\n this.codeResent = false;\n },\n });\n\n disconnectedCallback() {\n this.timer.stop();\n }\n\n startTimer() {\n this.timer.start();\n this.isTimerRunning = true;\n }\n\n handleResendCode = async () => {\n if (!this.isTimerRunning) {\n await api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.codeResent = true;\n this.messageTimer.start();\n this.startTimer();\n\n this.error = false;\n }\n };\n\n handleOtpChange = (value: string) => {\n this.otpValue = value;\n\n if (value.length === 6) {\n this.handleVerifyOtp(value);\n this.error = false;\n }\n };\n\n handleVerifyOtp = async (otp: string) => {\n this.isVerifying = true;\n try {\n const response = await api.otp.verify(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n code: otp,\n });\n\n this.codeVerified.emit(response.data);\n SessionStore.setUserInformation({\n ...response.data.customer,\n fullName: `${response.data.customer.firstName} ${response.data.customer.lastName}`.trim(),\n phoneNumber: {\n number: response.data.customer.phoneNumbers[0].number,\n countryCode: response.data.customer.phoneNumbers[0].countryCode,\n },\n address: {\n billingAddress: {\n address: response.data.customer.addresses[0].lineOne,\n zip: response.data.customer.addresses[0].zipCode,\n city: response.data.customer.addresses[0].city,\n state: response.data.customer.addresses[0].state,\n country: response.data.customer.addresses[0].country,\n },\n },\n documentType: response.data.customer.identifications[0].type,\n documentNumber: response.data.customer.identifications[0].value,\n });\n SessionStore.setAccessToken(response.data.accessToken);\n SessionStore.setCustomerId(response.data.customer.id);\n this.otpValue = '';\n this.error = false;\n } catch (error) {\n this.error = true;\n } finally {\n this.isVerifying = false;\n }\n };\n\n render() {\n return (\n <div class=\"otp__otp-container\">\n <div class=\"otp__user-information\">\n <div class=\"otp__otp-description-container\">\n <rebill-typography variant=\"body2\" class=\"otp__otp-description\">\n {I18nService.translate('otp.description')}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" class=\"otp__otp-description-digits\">\n {' '}\n <strong>{I18nService.translate('otp.descriptionDigits')}</strong>{' '}\n </rebill-typography>\n <rebill-typography variant=\"body2\" class=\"otp__otp-description-email\">\n {I18nService.translate('otp.descriptionEmail')}\n </rebill-typography>\n </div>\n <rebill-typography variant=\"body2\" class=\"otp__otp-email-line\">\n {sessionState.data.userInformation.email}{' '}\n {!sessionState.data.prefilledData?.email && (\n <span\n class=\"otp__change-email\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.change')}\n </span>\n )}\n </rebill-typography>\n </div>\n <input-otp\n otp={this.otpValue}\n onOtpChange={event => this.handleOtpChange(event.detail)}\n error={this.error ? I18nService.translate('otp.error') : ''}\n />\n\n {this.isVerifying && (\n <div class=\"otp__verifying-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY}>\n {I18nService.translate('otp.verifyingCode')}\n </rebill-typography>\n <div class=\"otp__spinner\"></div>\n </div>\n )}\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme={this.isTimerRunning ? 'secondary' : 'primary'}\n disabled={this.isTimerRunning}\n onClick={this.handleResendCode}\n size=\"small\"\n style={{ height: '24px', marginBottom: '8px' }}\n >\n {this.isTimerRunning\n ? `${I18nService.translate('otp.resendCodeIn')} (${this.timer.getFormattedTime()})`\n : I18nService.translate('otp.resendCode')}\n </rebill-button>\n\n {this.codeResent && (\n <div class=\"otp__code-resent-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.GREEN}>\n <rebill-icon name=\"check-radio\" />\n {I18nService.translate('otp.codeResent')}\n </rebill-typography>\n </div>\n )}\n <rebill-alert\n class=\"otp__rebill-alert\"\n type=\"secure\"\n variant=\"variant-info\"\n message={I18nService.translate('otp.infoMessage')}\n icon=\"circle-info\"\n alertTitle={I18nService.translate('otp.infoTitle')}\n colorIcon={COLORS_ENUM.PRIMARY_DARK_LIGHT}\n />\n <div class=\"otp__alternative\">\n <rebill-typography variant=\"body2\" color={COLORS_ENUM.PRIMARY_DARK}>\n o\n </rebill-typography>\n </div>\n <div class=\"otp__guest-options\">\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme=\"secondary\"\n size=\"medium\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.continueAsGuest')}\n </rebill-button>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otp-component.entry.cjs.js","sources":["src/components/checkout/otp/otp.css?tag=otp-component","src/components/checkout/otp/otp.tsx"],"sourcesContent":[".otp-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n width: 100%;\n position: relative;\n margin-top: 2rem;\n}\n\n.user-information {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n}\n\n.otp-description-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n.change-email {\n cursor: pointer;\n text-decoration: underline;\n margin-left: 0;\n}\n\n.change-email:hover {\n color: var(--rebill-primary-color);\n text-decoration: underline;\n}\n\n.alternative {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 32px;\n width: 100%;\n}\n\n.rebill-alert {\n width: 100%;\n}\n\n.guest-options {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n margin-top: auto;\n}\n\n.verifying-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 8px 0;\n}\n\n.code-resent-container rebill-typography {\n display: flex;\n line-height: 1;\n}\n\n.code-resent-container rebill-icon {\n flex-shrink: 0;\n display: inline-flex;\n vertical-align: middle;\n margin-right: 8px;\n}\n\n.spinner {\n width: 15px;\n height: 15px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: var(--rebill-color-primary);\n animation: spin 1s linear infinite;\n display: inline-block;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Responsive adjustments */\n@media (max-width: 1024px) {\n .otp-container {\n min-height: calc(100vh - 40px);\n }\n\n .guest-options {\n margin-top: 32px;\n }\n}\n\n@media (min-width: 1025px) {\n .otp-container {\n justify-content: flex-start;\n }\n\n .guest-options {\n margin-top: auto;\n padding-bottom: 2rem;\n }\n}\n","import { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { OTPVerifyResponse } from '../../../api/entities/OTP/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport { createCountdownTimer } from '../../../utils/timer';\n\n@Component({\n tag: 'otp-component',\n styleUrl: 'otp.css',\n shadow: false,\n})\nexport class Otp {\n @Event() changeEmailClick: EventEmitter<void>;\n @State() timeLeft: number = 59;\n @State() isTimerRunning: boolean = false;\n @State() codeResent: boolean = false;\n @State() isVerifying: boolean = false;\n @State() otpValue: string = '';\n @Event() returnForm: EventEmitter<boolean>;\n @Event() codeVerified: EventEmitter<OTPVerifyResponse>;\n @State() error: boolean = false;\n\n private timer = createCountdownTimer({\n duration: 59,\n onTick: timeLeft => {\n this.timeLeft = timeLeft;\n },\n onComplete: () => {\n this.isTimerRunning = false;\n },\n });\n\n private messageTimer = createCountdownTimer({\n duration: 5,\n onComplete: () => {\n this.codeResent = false;\n },\n });\n\n disconnectedCallback() {\n this.timer.stop();\n }\n\n startTimer() {\n this.timer.start();\n this.isTimerRunning = true;\n }\n\n handleResendCode = async () => {\n if (!this.isTimerRunning) {\n await api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.codeResent = true;\n this.messageTimer.start();\n this.startTimer();\n\n this.error = false;\n }\n };\n\n handleOtpChange = (value: string) => {\n this.otpValue = value;\n\n if (value.length === 6) {\n this.handleVerifyOtp(value);\n this.error = false;\n }\n };\n\n handleVerifyOtp = async (otp: string) => {\n this.isVerifying = true;\n try {\n const response = await api.otp.verify(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n code: otp,\n });\n\n this.codeVerified.emit(response.data);\n SessionStore.setUserInformation({\n ...response.data.customer,\n fullName: `${response.data.customer.firstName} ${response.data.customer.lastName}`.trim(),\n phoneNumber: {\n number: response.data.customer.phoneNumbers[0].number,\n countryCode: response.data.customer.phoneNumbers[0].countryCode,\n },\n address: {\n billingAddress: {\n address: response.data.customer.addresses[0].lineOne,\n zip: response.data.customer.addresses[0].zipCode,\n city: response.data.customer.addresses[0].city,\n state: response.data.customer.addresses[0].state,\n country: response.data.customer.addresses[0].country,\n },\n },\n documentType: response.data.customer.identifications[0].type,\n documentNumber: response.data.customer.identifications[0].value,\n });\n SessionStore.setAccessToken(response.data.accessToken);\n SessionStore.setCustomerId(response.data.customer.id);\n this.otpValue = '';\n this.error = false;\n } catch (error) {\n this.error = true;\n } finally {\n this.isVerifying = false;\n }\n };\n\n render() {\n return (\n <div class=\"otp-container\">\n <div class=\"user-information\">\n <div class=\"otp-description-container\">\n <rebill-typography variant=\"body2\" class=\"otp-description\">\n {I18nService.translate('otp.description')}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" class=\"otp-description-digits\">\n {' '}\n <strong>{I18nService.translate('otp.descriptionDigits')}</strong>{' '}\n </rebill-typography>\n <rebill-typography variant=\"body2\" class=\"otp-description-email\">\n {I18nService.translate('otp.descriptionEmail')}\n </rebill-typography>\n </div>\n <rebill-typography variant=\"body2\" class=\"otp-email-line\">\n {sessionState.data.userInformation.email}{' '}\n {!sessionState.data.prefilledData?.email && (\n <span\n class=\"change-email\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.change')}\n </span>\n )}\n </rebill-typography>\n </div>\n <input-otp\n otp={this.otpValue}\n onOtpChange={event => this.handleOtpChange(event.detail)}\n error={this.error ? I18nService.translate('otp.error') : ''}\n />\n\n {this.isVerifying && (\n <div class=\"verifying-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY}>\n {I18nService.translate('otp.verifyingCode')}\n </rebill-typography>\n <div class=\"spinner\"></div>\n </div>\n )}\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme={this.isTimerRunning ? 'secondary' : 'primary'}\n disabled={this.isTimerRunning}\n onClick={this.handleResendCode}\n size=\"small\"\n style={{ height: '24px', marginBottom: '8px' }}\n >\n {this.isTimerRunning\n ? `${I18nService.translate('otp.resendCodeIn')} (${this.timer.getFormattedTime()})`\n : I18nService.translate('otp.resendCode')}\n </rebill-button>\n\n {this.codeResent && (\n <div class=\"code-resent-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.GREEN}>\n <rebill-icon name=\"check-radio\" />\n {I18nService.translate('otp.codeResent')}\n </rebill-typography>\n </div>\n )}\n <rebill-alert\n class=\"rebill-alert\"\n type=\"secure\"\n variant=\"variant-info\"\n message={I18nService.translate('otp.infoMessage')}\n icon=\"circle-info\"\n alertTitle={I18nService.translate('otp.infoTitle')}\n colorIcon={COLORS_ENUM.PRIMARY_DARK_LIGHT}\n />\n <div class=\"alternative\">\n <rebill-typography variant=\"body2\" color={COLORS_ENUM.PRIMARY_DARK}>\n o\n </rebill-typography>\n </div>\n <div class=\"guest-options\">\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme=\"secondary\"\n size=\"medium\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.continueAsGuest')}\n </rebill-button>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n );\n }\n}\n"],"names":["createCountdownTimer","api","sessionState","SessionStore","h","I18nService","COLORS_ENUM"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"otp-component.entry.cjs.js","sources":["src/components/checkout/otp/otp.css?tag=otp-component","src/components/checkout/otp/otp.tsx"],"sourcesContent":[".otp__otp-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n width: 100%;\n position: relative;\n margin-top: 2rem;\n}\n\n.otp__user-information {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n}\n\n.otp__otp-description-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n.otp__change-email {\n cursor: pointer;\n text-decoration: underline;\n margin-left: 0;\n}\n\n.otp__change-email:hover {\n color: var(--rebill-primary-color);\n text-decoration: underline;\n}\n\n.otp__alternative {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 32px;\n width: 100%;\n}\n\n.otp__rebill-alert {\n width: 100%;\n}\n\n.otp__guest-options {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 8px;\n margin-top: auto;\n}\n\n.otp__verifying-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n margin: 8px 0;\n}\n\n.otp__code-resent-container rebill-typography {\n display: flex;\n line-height: 1;\n}\n\n.otp__code-resent-container rebill-icon {\n flex-shrink: 0;\n display: inline-flex;\n vertical-align: middle;\n margin-right: 8px;\n}\n\n.otp__spinner {\n width: 15px;\n height: 15px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: var(--rebill-color-primary);\n animation: spin 1s linear infinite;\n display: inline-block;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Responsive adjustments */\n@media (max-width: 1024px) {\n .otp__otp-container {\n min-height: calc(100vh - 40px);\n }\n\n .otp__guest-options {\n margin-top: 32px;\n }\n}\n\n@media (min-width: 1025px) {\n .otp__otp-container {\n justify-content: flex-start;\n }\n\n .otp__guest-options {\n margin-top: auto;\n padding-bottom: 2rem;\n }\n}\n","import { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { api } from '../../../api';\nimport { OTPVerifyResponse } from '../../../api/entities/OTP/types';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState, SessionStore } from '../../../store/session.store';\nimport { COLORS_ENUM } from '../../../utils/color-class-mapper';\nimport { createCountdownTimer } from '../../../utils/timer';\n\n@Component({\n tag: 'otp-component',\n styleUrl: 'otp.css',\n shadow: false,\n})\nexport class Otp {\n @Event() changeEmailClick: EventEmitter<void>;\n @State() timeLeft: number = 59;\n @State() isTimerRunning: boolean = false;\n @State() codeResent: boolean = false;\n @State() isVerifying: boolean = false;\n @State() otpValue: string = '';\n @Event() returnForm: EventEmitter<boolean>;\n @Event() codeVerified: EventEmitter<OTPVerifyResponse>;\n @State() error: boolean = false;\n\n private timer = createCountdownTimer({\n duration: 59,\n onTick: timeLeft => {\n this.timeLeft = timeLeft;\n },\n onComplete: () => {\n this.isTimerRunning = false;\n },\n });\n\n private messageTimer = createCountdownTimer({\n duration: 5,\n onComplete: () => {\n this.codeResent = false;\n },\n });\n\n disconnectedCallback() {\n this.timer.stop();\n }\n\n startTimer() {\n this.timer.start();\n this.isTimerRunning = true;\n }\n\n handleResendCode = async () => {\n if (!this.isTimerRunning) {\n await api.otp.generate(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n });\n this.codeResent = true;\n this.messageTimer.start();\n this.startTimer();\n\n this.error = false;\n }\n };\n\n handleOtpChange = (value: string) => {\n this.otpValue = value;\n\n if (value.length === 6) {\n this.handleVerifyOtp(value);\n this.error = false;\n }\n };\n\n handleVerifyOtp = async (otp: string) => {\n this.isVerifying = true;\n try {\n const response = await api.otp.verify(sessionState.data.sessionId, {\n email: sessionState.data.userInformation.email,\n code: otp,\n });\n\n this.codeVerified.emit(response.data);\n SessionStore.setUserInformation({\n ...response.data.customer,\n fullName: `${response.data.customer.firstName} ${response.data.customer.lastName}`.trim(),\n phoneNumber: {\n number: response.data.customer.phoneNumbers[0].number,\n countryCode: response.data.customer.phoneNumbers[0].countryCode,\n },\n address: {\n billingAddress: {\n address: response.data.customer.addresses[0].lineOne,\n zip: response.data.customer.addresses[0].zipCode,\n city: response.data.customer.addresses[0].city,\n state: response.data.customer.addresses[0].state,\n country: response.data.customer.addresses[0].country,\n },\n },\n documentType: response.data.customer.identifications[0].type,\n documentNumber: response.data.customer.identifications[0].value,\n });\n SessionStore.setAccessToken(response.data.accessToken);\n SessionStore.setCustomerId(response.data.customer.id);\n this.otpValue = '';\n this.error = false;\n } catch (error) {\n this.error = true;\n } finally {\n this.isVerifying = false;\n }\n };\n\n render() {\n return (\n <div class=\"otp__otp-container\">\n <div class=\"otp__user-information\">\n <div class=\"otp__otp-description-container\">\n <rebill-typography variant=\"body2\" class=\"otp__otp-description\">\n {I18nService.translate('otp.description')}\n </rebill-typography>\n <rebill-typography variant=\"subtitle-bold\" class=\"otp__otp-description-digits\">\n {' '}\n <strong>{I18nService.translate('otp.descriptionDigits')}</strong>{' '}\n </rebill-typography>\n <rebill-typography variant=\"body2\" class=\"otp__otp-description-email\">\n {I18nService.translate('otp.descriptionEmail')}\n </rebill-typography>\n </div>\n <rebill-typography variant=\"body2\" class=\"otp__otp-email-line\">\n {sessionState.data.userInformation.email}{' '}\n {!sessionState.data.prefilledData?.email && (\n <span\n class=\"otp__change-email\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.change')}\n </span>\n )}\n </rebill-typography>\n </div>\n <input-otp\n otp={this.otpValue}\n onOtpChange={event => this.handleOtpChange(event.detail)}\n error={this.error ? I18nService.translate('otp.error') : ''}\n />\n\n {this.isVerifying && (\n <div class=\"otp__verifying-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.PRIMARY}>\n {I18nService.translate('otp.verifyingCode')}\n </rebill-typography>\n <div class=\"otp__spinner\"></div>\n </div>\n )}\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme={this.isTimerRunning ? 'secondary' : 'primary'}\n disabled={this.isTimerRunning}\n onClick={this.handleResendCode}\n size=\"small\"\n style={{ height: '24px', marginBottom: '8px' }}\n >\n {this.isTimerRunning\n ? `${I18nService.translate('otp.resendCodeIn')} (${this.timer.getFormattedTime()})`\n : I18nService.translate('otp.resendCode')}\n </rebill-button>\n\n {this.codeResent && (\n <div class=\"otp__code-resent-container\">\n <rebill-typography variant=\"subtitle2\" color={COLORS_ENUM.GREEN}>\n <rebill-icon name=\"check-radio\" />\n {I18nService.translate('otp.codeResent')}\n </rebill-typography>\n </div>\n )}\n <rebill-alert\n class=\"otp__rebill-alert\"\n type=\"secure\"\n variant=\"variant-info\"\n message={I18nService.translate('otp.infoMessage')}\n icon=\"circle-info\"\n alertTitle={I18nService.translate('otp.infoTitle')}\n colorIcon={COLORS_ENUM.PRIMARY_DARK_LIGHT}\n />\n <div class=\"otp__alternative\">\n <rebill-typography variant=\"body2\" color={COLORS_ENUM.PRIMARY_DARK}>\n o\n </rebill-typography>\n </div>\n <div class=\"otp__guest-options\">\n <rebill-button\n type=\"button\"\n variant=\"outline\"\n theme=\"secondary\"\n size=\"medium\"\n onClick={() => {\n this.otpValue = '';\n this.error = false;\n this.returnForm.emit(false);\n }}\n >\n {I18nService.translate('otp.continueAsGuest')}\n </rebill-button>\n\n <rebill-alert\n type=\"secure\"\n variant=\"variant-secure\"\n icon=\"lock-outline\"\n message={I18nService.translate('otp.secureMessage')}\n />\n </div>\n </div>\n );\n }\n}\n"],"names":["createCountdownTimer","api","sessionState","SessionStore","h","I18nService","COLORS_ENUM"],"mappings":"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"}
|