@smileid/web-components 11.2.0 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{DocumentCaptureScreens-BbtA-WkX.js → DocumentCaptureScreens-N-0o7eE5.js} +5 -5
- package/dist/esm/{DocumentCaptureScreens-BbtA-WkX.js.map → DocumentCaptureScreens-N-0o7eE5.js.map} +1 -1
- package/dist/esm/{EndUserConsent-HVufMamg.js → EndUserConsent-BgKCCMMn.js} +3 -3
- package/dist/esm/{EndUserConsent-HVufMamg.js.map → EndUserConsent-BgKCCMMn.js.map} +1 -1
- package/dist/esm/{Navigation-B-dqPkZj.js → Navigation-DOFYqTZt.js} +2 -2
- package/dist/esm/{Navigation-B-dqPkZj.js.map → Navigation-DOFYqTZt.js.map} +1 -1
- package/dist/esm/{SelfieCaptureScreens-ChAMfKi3.js → SelfieCaptureScreens-DKd0f7K8.js} +81 -81
- package/dist/esm/SelfieCaptureScreens-DKd0f7K8.js.map +1 -0
- package/dist/esm/{TotpConsent-XxR8TNxy.js → TotpConsent-BQm8j4-u.js} +2 -2
- package/dist/esm/{TotpConsent-XxR8TNxy.js.map → TotpConsent-BQm8j4-u.js.map} +1 -1
- package/dist/esm/combobox.js +1 -1
- package/dist/esm/document.js +1 -1
- package/dist/esm/end-user-consent.js +1 -1
- package/dist/esm/{index-B_ozpejI.js → index-Cjzs1eA_.js} +49 -49
- package/dist/esm/{index-B_ozpejI.js.map → index-Cjzs1eA_.js.map} +1 -1
- package/dist/esm/localisation.js +1 -1
- package/dist/esm/main.js +6 -6
- package/dist/esm/navigation.js +1 -1
- package/dist/esm/{package-u3FEJ3Fm.js → package-KQ2l43v1.js} +3 -3
- package/dist/esm/{package-u3FEJ3Fm.js.map → package-KQ2l43v1.js.map} +1 -1
- package/dist/esm/selfie.js +1 -1
- package/dist/esm/smart-camera-web.js +5 -5
- package/dist/esm/totp-consent.js +1 -1
- package/dist/package.json +1 -1
- package/dist/smart-camera-web.js +2 -2
- package/dist/smart-camera-web.js.map +1 -1
- package/lib/components/signature-pad/package.json +1 -1
- package/package.json +1 -1
- package/dist/esm/SelfieCaptureScreens-ChAMfKi3.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import d from "validate.js";
|
|
2
|
-
import {
|
|
2
|
+
import { b as l } from "./index-Cjzs1eA_.js";
|
|
3
3
|
function a(n, t) {
|
|
4
4
|
return fetch(n, {
|
|
5
5
|
body: JSON.stringify(t),
|
|
@@ -731,4 +731,4 @@ class h extends HTMLElement {
|
|
|
731
731
|
export {
|
|
732
732
|
h as T
|
|
733
733
|
};
|
|
734
|
-
//# sourceMappingURL=TotpConsent-
|
|
734
|
+
//# sourceMappingURL=TotpConsent-BQm8j4-u.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TotpConsent-XxR8TNxy.js","sources":["../../lib/components/totp-consent/src/TotpConsent.js"],"sourcesContent":["import validate from 'validate.js';\nimport { getDirection } from '../../../domain/localisation';\n\nfunction postData(url, data) {\n return fetch(url, {\n body: JSON.stringify(data),\n cache: 'no-cache',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n mode: 'cors',\n });\n}\n\nfunction markup() {\n return `\n <style>\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n }\n\n :host {\n --flow-space: 1.5rem;\n\n --color-dark: #404040;\n --color-grey: #555B69;\n\n --color-success: #1EB244;\n --color-failure: #FFEDEB;\n --color-failure-tint: #F86B58;\n\n --color-richblue: #043C93;\n --color-theme: ${this.themeColor};\n\n --color-active: #2D2B2A;\n --color-default: #001096;\n --color-disabled: #848282;\n }\n\n html {\n font-family: 'DM Sans', sans-serif;\n }\n\n [hidden] {\n display: none !important;\n }\n\n [disabled] {\n cursor: not-allowed !important;\n }\n\n .visually-hidden {\n border: 0;\n clip: rect(1px 1px 1px 1px);\n clip: rect(1px, 1px, 1px, 1px);\n height: auto;\n margin: 0;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n .color-dark {\n color: var(--color-dark);\n }\n\n .color-grey {\n color: var(--color-grey);\n }\n\n .flow > * + * {\n margin-top: var(--flow-space);\n }\n\n .center {\n margin-left: auto;\n margin-right: auto;\n\n text-align: center;\n }\n\n h1 {\n font-size: 1.5rem;\n font-weight: 700;\n }\n\n button, input, select, textarea {\n font: inherit\n }\n\n label,\n input,\n select,\n textarea {\n --flow-space: .5rem;\n display: block;\n width: 100%;\n }\n\n input,\n select,\n textarea {\n border: 1px solid #d1d8d6;\n border-radius: .5rem;\n padding: .75rem 1rem;\n }\n\n button {\n --button-color: var(--color-default);\n --flow-space: 3rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n align-items: center;\n appearance: none;\n background-color: transparent;\n border-radius: 2.5rem;\n border: none;\n color: #ffffff;\n cursor: pointer;\n display: inline-flex;\n font-size: 20px;\n font-weight: 500;\n inline-size: 100%;\n justify-content: center;\n letter-spacing: .05ch;\n line-height: 1;\n padding: 1rem 2.5rem;\n text-align: center;\n text-decoration: none;\n }\n\n button[data-variant='solid'] {\n background-color: var(--button-color);\n border: 2px solid var(--button-color);\n }\n\n button[data-variant='outline'] {\n color: var(--button-color);\n border: 2px solid var(--button-color);\n }\n\n button[data-variant='ghost'] {\n color: var(--button-color);\n }\n\n button:hover,\n button:focus,\n button:active {\n --button-color: var(--color-active);\n }\n\n button:disabled {\n --button-color: var(--color-disabled);\n }\n\n button[data-type='icon'] {\n height: 2rem;\n padding: 0;\n width: 2rem;\n background: transparent;\n }\n\n input {\n font: inherit;\n }\n\n fieldset {\n margin: 0;\n border: none;\n }\n\n .font-weight:bold {\n font-weight: bold;\n }\n\n .justify-right {\n justify-content: end !important;\n }\n .nav {\n display: flex;\n justify-content: space-between;\n }\n\n .back-wrapper {\n display: flex;\n align-items: center;\n }\n\n .back-button-text {\n font-size: 11px;\n line-height: 11px;\n color: ${this.themeColor || 'rgb(21, 31, 114)'};\n }\n\n #error,\n .validation-message {\n color: red;\n text-transform: capitalize;\n }\n\n .input-group {\n --flow-space: 1.5rem;\n text-align: initial;\n }\n\n .input-radio {\n --flow-space: 1.5rem;\n background-color: #F8F8F8;\n border-radius: .5rem;\n padding: .625rem 1rem;\n display: flex;\n align-items: center;\n }\n\n .otp-mode {\n display: flex;\n align-items: center;\n text-align: initial;\n }\n\n .otp-mode :first-child {\n margin: 0;\n margin-inline-end: 1rem;\n }\n\n .otp-mode :nth-child(2n) {\n --flow-space: .5rem;\n }\n\n .input-radio [type='radio'] {\n border-radius: 50%;\n inline-size: 2rem;\n block-size: 2rem;\n margin-inline-end: .5rem;\n background-color: white;\n border: .125rem solid #f5f5f5;\n }\n\n #totp-token {\n block-size: 3rem;\n inline-size: 20rem;\n max-inline-size: 100%;\n background-color: #F5F5F5;\n border: none;\n border-bottom: 2px solid #2F718D;\n font-size: 1.5rem;\n text-align: center;\n font-weight: 700;\n letter-spacing: 2rem;\n padding: .5rem 1rem;\n margin-inline: auto;\n }\n\n @keyframes spin {\n 0% {\n transform: translate3d(-50%, -50%, 0) rotate(0deg);\n }\n 100% {\n transform: translate3d(-50%, -50%, 0) rotate(360deg);\n }\n }\n\n .spinner {\n animation: 1.5s linear infinite spin;\n animation-play-state: inherit;\n border: solid 5px #cfd0d1;\n border-bottom-color: var(--color-active);\n border-radius: 50%;\n content: \"\";\n display: block;\n height: 25px;\n width: 25px;\n will-change: transform;\n position: relative;\n top: .675rem;\n left: 1.25rem;\n }\n </style>\n\n <div class='flow center' id='id-entry' dir='${this.direction}'>\n <div class=\"nav\">\n <div class=\"back-wrapper\">\n <button type='button' data-type='icon' id=\"back-button\" class=\"back-button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"${this.themeColor}\" d=\"M15.5 11.25h-5.19l1.72-1.72c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-3 3c-.29.29-.29.77 0 1.06l3 3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-1.72-1.72h5.19c.41 0 .75-.34.75-.75s-.34-.75-.75-.75Z\"/>\n </svg>\n </button>\n <div class=\"back-button-text\">Back</div>\n </div>\n <button data-type='icon' type='button' class='close-iframe'>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"#91190F\" d=\"m13.06 12 2.3-2.3c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-2.3 2.3-2.3-2.3a.754.754 0 0 0-1.06 0c-.29.29-.29.77 0 1.06l2.3 2.3-2.3 2.3c-.29.29-.29.77 0 1.06.15.15.34.22.53.22s.38-.07.53-.22l2.3-2.3 2.3 2.3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-2.3-2.3Z\"/>\n </svg>\n <span class='visually-hidden'>Close SmileIdentity Verification frame</span>\n </button>\n </div>\n <h1>\n Enter your ${this.idTypeLabel}\n </h1>\n\n <form name='id-entry-form' class='flow' novalidate style='--flow-space: 5.5rem'>\n <div id='id-number' class=\"input-group flow\">\n <label class='required' for=\"id_number\">\n ${this.idTypeLabel}\n </label>\n\n <input aria-required='true' id=\"id_number\" name=\"id_number\"\n maxlength='11' placeholder='' />\n\n <p>\n <small>${this.idHint}</small>\n </p>\n </div>\n\n <button data-variant='solid' id='query-otp-modes' type='submit'>\n <span class='text'>Continue</span>\n <svg aria-hidden='true' width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12h11m0 0-4.588-4M18 12l-4.588 4\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <span hidden class='spinner'></span>\n </button>\n </form>\n </div>\n\n <div hidden class='flow center' id='select-mode' dir='${this.direction}'>\n <div class=\"nav\">\n <div class=\"back-wrapper\">\n <button type='button' data-type='icon' id=\"back-to-entry-button\" class=\"back-button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"${this.themeColor}\" d=\"M15.5 11.25h-5.19l1.72-1.72c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-3 3c-.29.29-.29.77 0 1.06l3 3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-1.72-1.72h5.19c.41 0 .75-.34.75-.75s-.34-.75-.75-.75Z\"/>\n </svg>\n </button>\n <div class=\"back-button-text\">Back</div>\n </div>\n <button data-type='icon' type='button' class='close-iframe'>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"#91190F\" d=\"m13.06 12 2.3-2.3c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-2.3 2.3-2.3-2.3a.754.754 0 0 0-1.06 0c-.29.29-.29.77 0 1.06l2.3 2.3-2.3 2.3c-.29.29-.29.77 0 1.06.15.15.34.22.53.22s.38-.07.53-.22l2.3-2.3 2.3 2.3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-2.3-2.3Z\"/>\n </svg>\n <span class='visually-hidden'>Close SmileIdentity Verification frame</span>\n </button>\n </div>\n <h1>\n Select contact method\n </h1>\n\n <form name='select-mode-form' novalidate style='--flow-space: 4.25rem' id='otp-entry' class='flow center'>\n <fieldset class='flow center'>\n <legend class='flow' style='--flow-space: 1.5rem'>\n <p>\n NIBSS, the data custodian of BVN, \n will send you a One-Time Password (OTP) \n </p>\n\n <p>\n <small>\n The request will be from Chams Plc, who is NIBSS' technical partner.\n </small>\n </p>\n </legend>\n\n <div class='flow center'>\n ${\n this.modes.length\n ? this.modes\n .map(\n (mode) => `<label class='input-radio'>\n <input type=\"radio\" id=\"\" name=\"mode\" value=\"${Object.keys(mode)[0]}\">\n <div class='otp-mode'>\n ${\n Object.keys(mode)[0].includes('sms')\n ? `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"29\" height=\"37\" fill=\"none\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M16.697 24.12c4.914 0 7.37 0 8.897-1.652 1.527-1.651 1.527-4.31 1.527-9.625 0-5.316 0-7.974-1.527-9.625-1.526-1.651-3.983-1.651-8.897-1.651h-5.211c-4.914 0-7.37 0-8.897 1.651-1.527 1.651-1.527 4.31-1.527 9.625 0 5.316 0 7.974 1.527 9.625.85.92 1.991 1.328 3.685 1.508\"/>\n <g filter=\"url(#sms)\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-width=\"2\" d=\"M16.697 24.12c-1.61 0-3.384.703-5.005 1.613-2.602 1.462-3.903 2.193-4.545 1.727-.64-.465-.52-1.91-.277-4.799l.055-.656\" shape-rendering=\"crispEdges\"/>\n </g>\n <defs>\n <filter id=\"sms\" width=\"20.023\" height=\"15.595\" x=\"1.675\" y=\"21.005\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\n <feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/>\n <feOffset dy=\"4\"/>\n <feGaussianBlur stdDeviation=\"2\"/>\n <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/>\n <feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_404\"/>\n <feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_404\" result=\"shape\"/>\n </filter>\n </defs>\n </svg>\n `\n : `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"35\" height=\"24\" fill=\"none\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4.062 4.367c0-1.437 1.221-2.603 2.727-2.603h21.815c1.506 0 2.727 1.166 2.727 2.603v15.62c0 1.438-1.221 2.604-2.727 2.604H6.789c-1.506 0-2.727-1.166-2.727-2.604V4.367Z\"/>\n <g filter=\"url(#message)\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m5.426 3.066 8.647 7.338c2.067 1.754 5.18 1.754 7.247 0l8.648-7.338\" shape-rendering=\"crispEdges\"/>\n </g>\n <defs>\n <filter id=\"message\" width=\"34.042\" height=\"18.154\" x=\".676\" y=\"2.316\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\n <feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/>\n <feOffset dy=\"4\"/>\n <feGaussianBlur stdDeviation=\"2\"/>\n <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/>\n <feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_394\"/>\n <feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_394\" result=\"shape\"/>\n </filter>\n </defs>\n </svg>\n `\n }\n <div class='flow'>\n <p>\n ${Object.values(mode)[0]}\n </p>\n <p>\n <small>\n An OTP will be sent by ${\n Object.keys(mode)[0].includes(\n 'sms',\n )\n ? 'sms'\n : 'email'\n } to verify your identity\n </small>\n </p>\n </div>\n </div>\n </label>`,\n )\n .join('\\n')\n : 'No modes yet'\n }\n </div>\n </fieldset>\n\n <button data-variant='ghost' id='contact-methods-outdated' style='--flow-space: .5rem' class='' type='button'>\n I am no longer using any of these options\n </button>\n\n <button data-variant='solid' id='select-otp-mode' type='submit'>\n <span class='text'>Continue</span>\n <svg aria-hidden='true' width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12h11m0 0-4.588-4M18 12l-4.588 4\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <span hidden class='spinner'></span>\n </button>\n </form>\n </div>\n\n <div hidden class='flow center' id='otp-verification' dir='${this.direction}'>\n <div class=\"nav justify-right\">\n <button data-type='icon' type='button' class='close-iframe'>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"#91190F\" d=\"m13.06 12 2.3-2.3c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-2.3 2.3-2.3-2.3a.754.754 0 0 0-1.06 0c-.29.29-.29.77 0 1.06l2.3 2.3-2.3 2.3c-.29.29-.29.77 0 1.06.15.15.34.22.53.22s.38-.07.53-.22l2.3-2.3 2.3 2.3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-2.3-2.3Z\"/>\n </svg>\n <span class='visually-hidden'>Close SmileIdentity Verification frame</span>\n </button>\n </div>\n <h1>\n OTP Verification\n </h1>\n\n <div style='--flow-space: 4.25rem' id='otp-entry'>\n <form name='otp-submission-form' novalidate style='--flow-space: 1.5rem' class='flow center'>\n <label for='totp-token'>\n Enter the OTP sent to <span class='font-weight:bold'>${\n this.selectedOtpDeliveryMode\n }</span>\n </label>\n <input type='text' id='totp-token' maxlength='6' inputmode='numeric' autocomplete='one-time-code' />\n\n <p>\n Didn't receive the OTP${\n !this.selectedOtpDeliveryMode\n ? '?'\n : ` at <span class='font-weight:bold'>${this.selectedOtpDeliveryMode}</span>?`\n }\n </p>\n\n <button style='--flow-space: .5rem' data-variant='ghost' class='try-another-method' type='button'>\n Try another contact method\n </button>\n\n <button data-variant='solid' id='submit-otp' type='submit'>\n <span class='text'>Submit</span>\n <svg aria-hidden='true' width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12h11m0 0-4.588-4M18 12l-4.588 4\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <span hidden class='spinner'></span>\n </button>\n </form>\n </div>\n </div>\n `;\n}\n\nclass TotpConsent extends HTMLElement {\n constructor() {\n super();\n\n this.templateString = markup.bind(this);\n this.render = () => this.templateString();\n\n this.attachShadow({ mode: 'open' });\n\n this.modes = [];\n this['otp-delivery-mode'] = '';\n\n this.queryOtpModes = this.queryOtpModes.bind(this);\n this.selectOtpMode = this.selectOtpMode.bind(this);\n this.submitOtp = this.submitOtp.bind(this);\n this.switchContactMethod = this.switchContactMethod.bind(this);\n this.handleTotpConsentGrant = this.handleTotpConsentGrant.bind(this);\n this.handleTotpConsentContactMethodsOutdated =\n this.handleTotpConsentContactMethodsOutdated.bind(this);\n this.pages = [];\n }\n\n static get observedAttributes() {\n return ['modes', 'otp-delivery-mode'];\n }\n\n attributeChangedCallback(name) {\n switch (name) {\n case 'modes':\n case 'otp-delivery-mode': {\n const updatedTemplate = document.createElement('template');\n updatedTemplate.innerHTML = this.render();\n const updatedNode = updatedTemplate.content\n .cloneNode(true)\n .querySelector(`#${this.activeScreen.id}`);\n updatedNode.hidden = false;\n this.shadowRoot.replaceChild(updatedNode, this.activeScreen);\n this.setUpEventListeners();\n this.setActiveScreen(updatedNode);\n break;\n }\n default:\n break;\n }\n }\n\n setUpEventListeners() {\n // Screens\n this.idEntryScreen = this.shadowRoot.querySelector('#id-entry');\n this.selectModeScreen = this.shadowRoot.querySelector('#select-mode');\n this.otpVerificationScreen =\n this.shadowRoot.querySelector('#otp-verification');\n\n if (!this.activeScreen) {\n this.activeScreen = this.idEntryScreen;\n }\n\n // Buttons\n this.queryOtpModesButton =\n this.idEntryScreen.querySelector('#query-otp-modes');\n this.backButton = this.idEntryScreen.querySelector('#back-button');\n this.selectOtpModeButton =\n this.selectModeScreen.querySelector('#select-otp-mode');\n this.entryBackbutton = this.selectModeScreen.querySelector(\n '#back-to-entry-button',\n );\n this.contactMethodsOutdatedButton = this.selectModeScreen.querySelector(\n '#contact-methods-outdated',\n );\n this.submitOtpButton =\n this.otpVerificationScreen.querySelector('#submit-otp');\n this.switchContactMethodButton = this.otpVerificationScreen.querySelector(\n '.try-another-method',\n );\n const CloseIframeButtons =\n this.shadowRoot.querySelectorAll('.close-iframe');\n\n // Input Elements\n this.idNumberInput = this.idEntryScreen.querySelector('#id_number');\n this.modeInputs = this.selectModeScreen.querySelectorAll('[name=\"mode\"]');\n this.otpInput = this.otpVerificationScreen.querySelector('#totp-token');\n\n // Event Handlers\n this.queryOtpModesButton.addEventListener('click', (e) =>\n this.queryOtpModes(e),\n );\n this.selectOtpModeButton.addEventListener('click', (e) =>\n this.selectOtpMode(e),\n );\n this.submitOtpButton.addEventListener('click', (e) => this.submitOtp(e));\n this.switchContactMethodButton.addEventListener('click', (e) =>\n this.switchContactMethod(e),\n );\n this.contactMethodsOutdatedButton.addEventListener('click', (e) =>\n this.handleTotpConsentContactMethodsOutdated(e),\n );\n\n this.entryBackbutton.addEventListener('click', () => {\n this.handleBackClick();\n });\n\n this.backButton.addEventListener('click', () => {\n this.handleBackClick();\n });\n\n CloseIframeButtons.forEach((button) => {\n button.addEventListener(\n 'click',\n () => {\n this.closeWindow();\n },\n false,\n );\n });\n }\n\n closeWindow() {\n const referenceWindow = window.parent;\n [referenceWindow.parent, referenceWindow].forEach((win) => {\n win.postMessage('SmileIdentity::Close', '*');\n });\n }\n\n handleBackClick() {\n const page = this.pages.pop();\n if (page) {\n this.setActiveScreen(page);\n } else {\n this.dispatchEvent(\n new CustomEvent('end-user-consent.totp.cancelled', {}),\n );\n }\n }\n\n connectedCallback() {\n const template = document.createElement('template');\n template.innerHTML = this.render();\n\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n this.setUpEventListeners();\n }\n\n switchContactMethod() {\n this.queryOtpModes();\n }\n\n resetForm() {\n const invalidElements =\n this.activeScreen.querySelectorAll('[aria-invalid]');\n invalidElements.forEach((el) => el.removeAttribute('aria-invalid'));\n\n const validationMessages = this.activeScreen.querySelectorAll(\n '.validation-message',\n );\n validationMessages.forEach((el) => el.remove());\n }\n\n handleIdNumberValidationErrors(errors) {\n const fields = Object.keys(errors);\n\n fields.forEach((field) => {\n const input = this.activeScreen.querySelector(`#${field}`);\n input.setAttribute('aria-invalid', 'true');\n input.setAttribute('aria-describedby', `${field}-hint`);\n\n const errorDiv = document.createElement('div');\n errorDiv.setAttribute('id', `${field}-hint`);\n errorDiv.setAttribute('class', 'validation-message');\n // eslint-disable-next-line prefer-destructuring\n errorDiv.textContent = errors[field][0];\n\n input.insertAdjacentElement('afterend', errorDiv);\n });\n }\n\n handleActiveScreenErrors(error) {\n const submitButton = this.activeScreen.querySelector('[type=\"submit\"]');\n const errorDiv = document.createElement('div');\n errorDiv.setAttribute('class', 'validation-message');\n errorDiv.textContent = error;\n submitButton.insertAdjacentElement('beforebegin', errorDiv);\n }\n\n validateIdNumber(idNumber) {\n const validationConstraints = {\n id_number: {\n format: new RegExp(this.idRegex),\n presence: {\n allowEmpty: false,\n message: 'is required',\n },\n },\n };\n\n const errors = validate({ id_number: idNumber }, validationConstraints);\n\n if (errors) {\n this.handleIdNumberValidationErrors(errors);\n }\n\n return errors;\n }\n\n async queryOtpModes(event) {\n if (event) {\n // ACTION: disable another submission\n event.preventDefault();\n\n // ACTION: Reset any form validation errors'\n this.resetForm();\n }\n\n // ACTION: Validate idNumber\n const validationErrors = this.validateIdNumber(this.idNumberInput.value);\n\n // ACTION: Get and set idNumber\n localStorage.setItem('idNumber', this.idNumberInput.value || this.idNumber);\n\n if (!validationErrors) {\n const data = {\n country: this.country,\n id_number: this.idNumber,\n id_type: this.idType,\n partner_id: this.partnerId,\n token: this.token,\n };\n const url = `${this.baseUrl}/totp_consent`;\n\n try {\n this.toggleLoading();\n const response = await postData(url, data);\n const json = await response.json();\n this.toggleLoading();\n\n if (!response.ok) {\n this.handleActiveScreenErrors(json.error);\n } else {\n this.sessionId = json.session_id;\n this.modes = json.modes;\n this.setActiveScreen(this.selectModeScreen);\n this.setAttribute('modes', json.modes);\n }\n } catch (error) {\n this.toggleLoading();\n this.handleActiveScreenErrors(error.message);\n }\n }\n }\n\n async selectOtpMode(event) {\n // ACTION: disable another submission\n event.preventDefault();\n\n // ACTION: Reset any form validation errors'\n this.resetForm();\n\n // ACTION: Get mode\n this.mode = Array.prototype.find.call(\n this.modeInputs,\n (node) => node.checked,\n ).value;\n const data = {\n country: this.country,\n id_number: this.idNumber,\n id_type: this.idType,\n mode: this.mode,\n partner_id: this.partnerId,\n session_id: this.sessionId,\n token: this.token,\n };\n const url = `${this.baseUrl}/totp_consent/mode`;\n\n try {\n this.toggleLoading();\n const response = await postData(url, data);\n const json = await response.json();\n this.toggleLoading();\n\n if (!response.ok) {\n this.handleActiveScreenErrors(json.error);\n } else {\n this.selectedOtpDeliveryMode = this.modes.filter(\n (mode) => mode[this.mode],\n )[0][this.mode];\n this.setActiveScreen(this.otpVerificationScreen);\n this.setAttribute('otp-delivery-mode', this.selectedOtpDeliveryMode);\n }\n } catch (error) {\n this.toggleLoading();\n this.handleActiveScreenErrors(error.message);\n }\n }\n\n async submitOtp(event) {\n // ACTION: disable another submission\n event.preventDefault();\n\n // ACTION: Reset any form validation errors'\n this.resetForm();\n\n this.otp = this.otpInput.value;\n\n const data = {\n country: this.country,\n id_number: this.idNumber,\n id_type: this.idType,\n otp: this.otp,\n partner_id: this.partnerId,\n session_id: this.sessionId,\n token: this.token,\n };\n const url = `${this.baseUrl}/totp_consent/otp`;\n\n try {\n this.toggleLoading();\n const response = await postData(url, data);\n const json = await response.json();\n this.toggleLoading();\n\n if (!response.ok) {\n this.handleActiveScreenErrors(json.error);\n } else {\n this.handleTotpConsentGrant(event);\n }\n } catch (error) {\n this.toggleLoading();\n this.handleActiveScreenErrors(error.message);\n }\n }\n\n toggleLoading() {\n const button = this.activeScreen.querySelector('button[type=\"submit\"]');\n const text = button.querySelector('.text');\n const arrow = button.querySelector('svg');\n const spinner = button.querySelector('.spinner');\n\n button.toggleAttribute('disabled');\n text.toggleAttribute('hidden');\n arrow.toggleAttribute('hidden');\n spinner.toggleAttribute('hidden');\n }\n\n setActiveScreen(screen) {\n this.activeScreen.hidden = true;\n screen.hidden = false;\n this.activeScreen = screen;\n }\n\n get baseUrl() {\n return this.getAttribute('base-url');\n }\n\n get country() {\n return this.getAttribute('country');\n }\n\n get idHint() {\n return this.getAttribute('id-hint') || 'Your BVN should be 11 digits long';\n }\n\n get idNumber() {\n return localStorage.getItem('idNumber');\n }\n\n get idRegex() {\n return this.getAttribute('id-regex');\n }\n\n get idType() {\n return this.getAttribute('id-type');\n }\n\n get idTypeLabel() {\n return this.getAttribute('id-type-label');\n }\n\n get partnerId() {\n return this.getAttribute('partner-id');\n }\n\n get partnerName() {\n return this.getAttribute('partner-name');\n }\n\n get token() {\n return this.getAttribute('token');\n }\n\n get themeColor() {\n return this.getAttribute('theme-color') || '#001096';\n }\n\n get direction() {\n return this.getAttribute('dir') || getDirection() || 'ltr';\n }\n\n get hideBack() {\n return this.hasAttribute('hide-back');\n }\n\n get showNavigation() {\n return this.hasAttribute('show-navigation');\n }\n\n handleTotpConsentGrant() {\n const customEvent = new CustomEvent('end-user-consent.totp.granted', {\n detail: {\n consented: {\n contact_information: true,\n document_information: true,\n personal_details: true,\n },\n id_number: this.idNumber,\n session_id: this.sessionId,\n },\n });\n\n this.dispatchEvent(customEvent);\n }\n\n handleTotpConsentContactMethodsOutdated() {\n const tag = 'end-user-consent.totp.denied.contact-methods-outdated';\n const customEvent = new CustomEvent(tag, {\n detail: {\n data: {\n id_number: this.idNumber,\n session_id: this.sessionId,\n },\n message: tag,\n },\n });\n\n this.dispatchEvent(customEvent);\n }\n}\n\nif ('customElements' in window && !window.customElements.get('totp-consent')) {\n window.customElements.define('totp-consent', TotpConsent);\n}\n\nexport {\n // eslint-disable-next-line import/prefer-default-export\n TotpConsent,\n};\n"],"names":["postData","url","data","markup","mode","TotpConsent","name","updatedTemplate","updatedNode","CloseIframeButtons","button","referenceWindow","win","page","template","el","errors","field","input","errorDiv","error","submitButton","idNumber","validationConstraints","validate","event","validationErrors","response","json","node","text","arrow","spinner","screen","getDirection","customEvent","tag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TotpConsent-BQm8j4-u.js","sources":["../../lib/components/totp-consent/src/TotpConsent.js"],"sourcesContent":["import validate from 'validate.js';\nimport { getDirection } from '../../../domain/localisation';\n\nfunction postData(url, data) {\n return fetch(url, {\n body: JSON.stringify(data),\n cache: 'no-cache',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n mode: 'cors',\n });\n}\n\nfunction markup() {\n return `\n <style>\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n }\n\n :host {\n --flow-space: 1.5rem;\n\n --color-dark: #404040;\n --color-grey: #555B69;\n\n --color-success: #1EB244;\n --color-failure: #FFEDEB;\n --color-failure-tint: #F86B58;\n\n --color-richblue: #043C93;\n --color-theme: ${this.themeColor};\n\n --color-active: #2D2B2A;\n --color-default: #001096;\n --color-disabled: #848282;\n }\n\n html {\n font-family: 'DM Sans', sans-serif;\n }\n\n [hidden] {\n display: none !important;\n }\n\n [disabled] {\n cursor: not-allowed !important;\n }\n\n .visually-hidden {\n border: 0;\n clip: rect(1px 1px 1px 1px);\n clip: rect(1px, 1px, 1px, 1px);\n height: auto;\n margin: 0;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n .color-dark {\n color: var(--color-dark);\n }\n\n .color-grey {\n color: var(--color-grey);\n }\n\n .flow > * + * {\n margin-top: var(--flow-space);\n }\n\n .center {\n margin-left: auto;\n margin-right: auto;\n\n text-align: center;\n }\n\n h1 {\n font-size: 1.5rem;\n font-weight: 700;\n }\n\n button, input, select, textarea {\n font: inherit\n }\n\n label,\n input,\n select,\n textarea {\n --flow-space: .5rem;\n display: block;\n width: 100%;\n }\n\n input,\n select,\n textarea {\n border: 1px solid #d1d8d6;\n border-radius: .5rem;\n padding: .75rem 1rem;\n }\n\n button {\n --button-color: var(--color-default);\n --flow-space: 3rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n align-items: center;\n appearance: none;\n background-color: transparent;\n border-radius: 2.5rem;\n border: none;\n color: #ffffff;\n cursor: pointer;\n display: inline-flex;\n font-size: 20px;\n font-weight: 500;\n inline-size: 100%;\n justify-content: center;\n letter-spacing: .05ch;\n line-height: 1;\n padding: 1rem 2.5rem;\n text-align: center;\n text-decoration: none;\n }\n\n button[data-variant='solid'] {\n background-color: var(--button-color);\n border: 2px solid var(--button-color);\n }\n\n button[data-variant='outline'] {\n color: var(--button-color);\n border: 2px solid var(--button-color);\n }\n\n button[data-variant='ghost'] {\n color: var(--button-color);\n }\n\n button:hover,\n button:focus,\n button:active {\n --button-color: var(--color-active);\n }\n\n button:disabled {\n --button-color: var(--color-disabled);\n }\n\n button[data-type='icon'] {\n height: 2rem;\n padding: 0;\n width: 2rem;\n background: transparent;\n }\n\n input {\n font: inherit;\n }\n\n fieldset {\n margin: 0;\n border: none;\n }\n\n .font-weight:bold {\n font-weight: bold;\n }\n\n .justify-right {\n justify-content: end !important;\n }\n .nav {\n display: flex;\n justify-content: space-between;\n }\n\n .back-wrapper {\n display: flex;\n align-items: center;\n }\n\n .back-button-text {\n font-size: 11px;\n line-height: 11px;\n color: ${this.themeColor || 'rgb(21, 31, 114)'};\n }\n\n #error,\n .validation-message {\n color: red;\n text-transform: capitalize;\n }\n\n .input-group {\n --flow-space: 1.5rem;\n text-align: initial;\n }\n\n .input-radio {\n --flow-space: 1.5rem;\n background-color: #F8F8F8;\n border-radius: .5rem;\n padding: .625rem 1rem;\n display: flex;\n align-items: center;\n }\n\n .otp-mode {\n display: flex;\n align-items: center;\n text-align: initial;\n }\n\n .otp-mode :first-child {\n margin: 0;\n margin-inline-end: 1rem;\n }\n\n .otp-mode :nth-child(2n) {\n --flow-space: .5rem;\n }\n\n .input-radio [type='radio'] {\n border-radius: 50%;\n inline-size: 2rem;\n block-size: 2rem;\n margin-inline-end: .5rem;\n background-color: white;\n border: .125rem solid #f5f5f5;\n }\n\n #totp-token {\n block-size: 3rem;\n inline-size: 20rem;\n max-inline-size: 100%;\n background-color: #F5F5F5;\n border: none;\n border-bottom: 2px solid #2F718D;\n font-size: 1.5rem;\n text-align: center;\n font-weight: 700;\n letter-spacing: 2rem;\n padding: .5rem 1rem;\n margin-inline: auto;\n }\n\n @keyframes spin {\n 0% {\n transform: translate3d(-50%, -50%, 0) rotate(0deg);\n }\n 100% {\n transform: translate3d(-50%, -50%, 0) rotate(360deg);\n }\n }\n\n .spinner {\n animation: 1.5s linear infinite spin;\n animation-play-state: inherit;\n border: solid 5px #cfd0d1;\n border-bottom-color: var(--color-active);\n border-radius: 50%;\n content: \"\";\n display: block;\n height: 25px;\n width: 25px;\n will-change: transform;\n position: relative;\n top: .675rem;\n left: 1.25rem;\n }\n </style>\n\n <div class='flow center' id='id-entry' dir='${this.direction}'>\n <div class=\"nav\">\n <div class=\"back-wrapper\">\n <button type='button' data-type='icon' id=\"back-button\" class=\"back-button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"${this.themeColor}\" d=\"M15.5 11.25h-5.19l1.72-1.72c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-3 3c-.29.29-.29.77 0 1.06l3 3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-1.72-1.72h5.19c.41 0 .75-.34.75-.75s-.34-.75-.75-.75Z\"/>\n </svg>\n </button>\n <div class=\"back-button-text\">Back</div>\n </div>\n <button data-type='icon' type='button' class='close-iframe'>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"#91190F\" d=\"m13.06 12 2.3-2.3c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-2.3 2.3-2.3-2.3a.754.754 0 0 0-1.06 0c-.29.29-.29.77 0 1.06l2.3 2.3-2.3 2.3c-.29.29-.29.77 0 1.06.15.15.34.22.53.22s.38-.07.53-.22l2.3-2.3 2.3 2.3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-2.3-2.3Z\"/>\n </svg>\n <span class='visually-hidden'>Close SmileIdentity Verification frame</span>\n </button>\n </div>\n <h1>\n Enter your ${this.idTypeLabel}\n </h1>\n\n <form name='id-entry-form' class='flow' novalidate style='--flow-space: 5.5rem'>\n <div id='id-number' class=\"input-group flow\">\n <label class='required' for=\"id_number\">\n ${this.idTypeLabel}\n </label>\n\n <input aria-required='true' id=\"id_number\" name=\"id_number\"\n maxlength='11' placeholder='' />\n\n <p>\n <small>${this.idHint}</small>\n </p>\n </div>\n\n <button data-variant='solid' id='query-otp-modes' type='submit'>\n <span class='text'>Continue</span>\n <svg aria-hidden='true' width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12h11m0 0-4.588-4M18 12l-4.588 4\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <span hidden class='spinner'></span>\n </button>\n </form>\n </div>\n\n <div hidden class='flow center' id='select-mode' dir='${this.direction}'>\n <div class=\"nav\">\n <div class=\"back-wrapper\">\n <button type='button' data-type='icon' id=\"back-to-entry-button\" class=\"back-button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"${this.themeColor}\" d=\"M15.5 11.25h-5.19l1.72-1.72c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-3 3c-.29.29-.29.77 0 1.06l3 3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-1.72-1.72h5.19c.41 0 .75-.34.75-.75s-.34-.75-.75-.75Z\"/>\n </svg>\n </button>\n <div class=\"back-button-text\">Back</div>\n </div>\n <button data-type='icon' type='button' class='close-iframe'>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"#91190F\" d=\"m13.06 12 2.3-2.3c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-2.3 2.3-2.3-2.3a.754.754 0 0 0-1.06 0c-.29.29-.29.77 0 1.06l2.3 2.3-2.3 2.3c-.29.29-.29.77 0 1.06.15.15.34.22.53.22s.38-.07.53-.22l2.3-2.3 2.3 2.3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-2.3-2.3Z\"/>\n </svg>\n <span class='visually-hidden'>Close SmileIdentity Verification frame</span>\n </button>\n </div>\n <h1>\n Select contact method\n </h1>\n\n <form name='select-mode-form' novalidate style='--flow-space: 4.25rem' id='otp-entry' class='flow center'>\n <fieldset class='flow center'>\n <legend class='flow' style='--flow-space: 1.5rem'>\n <p>\n NIBSS, the data custodian of BVN, \n will send you a One-Time Password (OTP) \n </p>\n\n <p>\n <small>\n The request will be from Chams Plc, who is NIBSS' technical partner.\n </small>\n </p>\n </legend>\n\n <div class='flow center'>\n ${\n this.modes.length\n ? this.modes\n .map(\n (mode) => `<label class='input-radio'>\n <input type=\"radio\" id=\"\" name=\"mode\" value=\"${Object.keys(mode)[0]}\">\n <div class='otp-mode'>\n ${\n Object.keys(mode)[0].includes('sms')\n ? `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"29\" height=\"37\" fill=\"none\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M16.697 24.12c4.914 0 7.37 0 8.897-1.652 1.527-1.651 1.527-4.31 1.527-9.625 0-5.316 0-7.974-1.527-9.625-1.526-1.651-3.983-1.651-8.897-1.651h-5.211c-4.914 0-7.37 0-8.897 1.651-1.527 1.651-1.527 4.31-1.527 9.625 0 5.316 0 7.974 1.527 9.625.85.92 1.991 1.328 3.685 1.508\"/>\n <g filter=\"url(#sms)\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-width=\"2\" d=\"M16.697 24.12c-1.61 0-3.384.703-5.005 1.613-2.602 1.462-3.903 2.193-4.545 1.727-.64-.465-.52-1.91-.277-4.799l.055-.656\" shape-rendering=\"crispEdges\"/>\n </g>\n <defs>\n <filter id=\"sms\" width=\"20.023\" height=\"15.595\" x=\"1.675\" y=\"21.005\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\n <feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/>\n <feOffset dy=\"4\"/>\n <feGaussianBlur stdDeviation=\"2\"/>\n <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/>\n <feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_404\"/>\n <feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_404\" result=\"shape\"/>\n </filter>\n </defs>\n </svg>\n `\n : `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"35\" height=\"24\" fill=\"none\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4.062 4.367c0-1.437 1.221-2.603 2.727-2.603h21.815c1.506 0 2.727 1.166 2.727 2.603v15.62c0 1.438-1.221 2.604-2.727 2.604H6.789c-1.506 0-2.727-1.166-2.727-2.604V4.367Z\"/>\n <g filter=\"url(#message)\">\n <path stroke=\"#2F718D\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m5.426 3.066 8.647 7.338c2.067 1.754 5.18 1.754 7.247 0l8.648-7.338\" shape-rendering=\"crispEdges\"/>\n </g>\n <defs>\n <filter id=\"message\" width=\"34.042\" height=\"18.154\" x=\".676\" y=\"2.316\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\n <feColorMatrix in=\"SourceAlpha\" result=\"hardAlpha\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"/>\n <feOffset dy=\"4\"/>\n <feGaussianBlur stdDeviation=\"2\"/>\n <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"/>\n <feBlend in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_2_394\"/>\n <feBlend in=\"SourceGraphic\" in2=\"effect1_dropShadow_2_394\" result=\"shape\"/>\n </filter>\n </defs>\n </svg>\n `\n }\n <div class='flow'>\n <p>\n ${Object.values(mode)[0]}\n </p>\n <p>\n <small>\n An OTP will be sent by ${\n Object.keys(mode)[0].includes(\n 'sms',\n )\n ? 'sms'\n : 'email'\n } to verify your identity\n </small>\n </p>\n </div>\n </div>\n </label>`,\n )\n .join('\\n')\n : 'No modes yet'\n }\n </div>\n </fieldset>\n\n <button data-variant='ghost' id='contact-methods-outdated' style='--flow-space: .5rem' class='' type='button'>\n I am no longer using any of these options\n </button>\n\n <button data-variant='solid' id='select-otp-mode' type='submit'>\n <span class='text'>Continue</span>\n <svg aria-hidden='true' width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12h11m0 0-4.588-4M18 12l-4.588 4\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <span hidden class='spinner'></span>\n </button>\n </form>\n </div>\n\n <div hidden class='flow center' id='otp-verification' dir='${this.direction}'>\n <div class=\"nav justify-right\">\n <button data-type='icon' type='button' class='close-iframe'>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\">\n <path fill=\"#DBDBC4\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\" opacity=\".4\"/>\n <path fill=\"#91190F\" d=\"m13.06 12 2.3-2.3c.29-.29.29-.77 0-1.06a.754.754 0 0 0-1.06 0l-2.3 2.3-2.3-2.3a.754.754 0 0 0-1.06 0c-.29.29-.29.77 0 1.06l2.3 2.3-2.3 2.3c-.29.29-.29.77 0 1.06.15.15.34.22.53.22s.38-.07.53-.22l2.3-2.3 2.3 2.3c.15.15.34.22.53.22s.38-.07.53-.22c.29-.29.29-.77 0-1.06l-2.3-2.3Z\"/>\n </svg>\n <span class='visually-hidden'>Close SmileIdentity Verification frame</span>\n </button>\n </div>\n <h1>\n OTP Verification\n </h1>\n\n <div style='--flow-space: 4.25rem' id='otp-entry'>\n <form name='otp-submission-form' novalidate style='--flow-space: 1.5rem' class='flow center'>\n <label for='totp-token'>\n Enter the OTP sent to <span class='font-weight:bold'>${\n this.selectedOtpDeliveryMode\n }</span>\n </label>\n <input type='text' id='totp-token' maxlength='6' inputmode='numeric' autocomplete='one-time-code' />\n\n <p>\n Didn't receive the OTP${\n !this.selectedOtpDeliveryMode\n ? '?'\n : ` at <span class='font-weight:bold'>${this.selectedOtpDeliveryMode}</span>?`\n }\n </p>\n\n <button style='--flow-space: .5rem' data-variant='ghost' class='try-another-method' type='button'>\n Try another contact method\n </button>\n\n <button data-variant='solid' id='submit-otp' type='submit'>\n <span class='text'>Submit</span>\n <svg aria-hidden='true' width=\"25\" height=\"24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12h11m0 0-4.588-4M18 12l-4.588 4\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <span hidden class='spinner'></span>\n </button>\n </form>\n </div>\n </div>\n `;\n}\n\nclass TotpConsent extends HTMLElement {\n constructor() {\n super();\n\n this.templateString = markup.bind(this);\n this.render = () => this.templateString();\n\n this.attachShadow({ mode: 'open' });\n\n this.modes = [];\n this['otp-delivery-mode'] = '';\n\n this.queryOtpModes = this.queryOtpModes.bind(this);\n this.selectOtpMode = this.selectOtpMode.bind(this);\n this.submitOtp = this.submitOtp.bind(this);\n this.switchContactMethod = this.switchContactMethod.bind(this);\n this.handleTotpConsentGrant = this.handleTotpConsentGrant.bind(this);\n this.handleTotpConsentContactMethodsOutdated =\n this.handleTotpConsentContactMethodsOutdated.bind(this);\n this.pages = [];\n }\n\n static get observedAttributes() {\n return ['modes', 'otp-delivery-mode'];\n }\n\n attributeChangedCallback(name) {\n switch (name) {\n case 'modes':\n case 'otp-delivery-mode': {\n const updatedTemplate = document.createElement('template');\n updatedTemplate.innerHTML = this.render();\n const updatedNode = updatedTemplate.content\n .cloneNode(true)\n .querySelector(`#${this.activeScreen.id}`);\n updatedNode.hidden = false;\n this.shadowRoot.replaceChild(updatedNode, this.activeScreen);\n this.setUpEventListeners();\n this.setActiveScreen(updatedNode);\n break;\n }\n default:\n break;\n }\n }\n\n setUpEventListeners() {\n // Screens\n this.idEntryScreen = this.shadowRoot.querySelector('#id-entry');\n this.selectModeScreen = this.shadowRoot.querySelector('#select-mode');\n this.otpVerificationScreen =\n this.shadowRoot.querySelector('#otp-verification');\n\n if (!this.activeScreen) {\n this.activeScreen = this.idEntryScreen;\n }\n\n // Buttons\n this.queryOtpModesButton =\n this.idEntryScreen.querySelector('#query-otp-modes');\n this.backButton = this.idEntryScreen.querySelector('#back-button');\n this.selectOtpModeButton =\n this.selectModeScreen.querySelector('#select-otp-mode');\n this.entryBackbutton = this.selectModeScreen.querySelector(\n '#back-to-entry-button',\n );\n this.contactMethodsOutdatedButton = this.selectModeScreen.querySelector(\n '#contact-methods-outdated',\n );\n this.submitOtpButton =\n this.otpVerificationScreen.querySelector('#submit-otp');\n this.switchContactMethodButton = this.otpVerificationScreen.querySelector(\n '.try-another-method',\n );\n const CloseIframeButtons =\n this.shadowRoot.querySelectorAll('.close-iframe');\n\n // Input Elements\n this.idNumberInput = this.idEntryScreen.querySelector('#id_number');\n this.modeInputs = this.selectModeScreen.querySelectorAll('[name=\"mode\"]');\n this.otpInput = this.otpVerificationScreen.querySelector('#totp-token');\n\n // Event Handlers\n this.queryOtpModesButton.addEventListener('click', (e) =>\n this.queryOtpModes(e),\n );\n this.selectOtpModeButton.addEventListener('click', (e) =>\n this.selectOtpMode(e),\n );\n this.submitOtpButton.addEventListener('click', (e) => this.submitOtp(e));\n this.switchContactMethodButton.addEventListener('click', (e) =>\n this.switchContactMethod(e),\n );\n this.contactMethodsOutdatedButton.addEventListener('click', (e) =>\n this.handleTotpConsentContactMethodsOutdated(e),\n );\n\n this.entryBackbutton.addEventListener('click', () => {\n this.handleBackClick();\n });\n\n this.backButton.addEventListener('click', () => {\n this.handleBackClick();\n });\n\n CloseIframeButtons.forEach((button) => {\n button.addEventListener(\n 'click',\n () => {\n this.closeWindow();\n },\n false,\n );\n });\n }\n\n closeWindow() {\n const referenceWindow = window.parent;\n [referenceWindow.parent, referenceWindow].forEach((win) => {\n win.postMessage('SmileIdentity::Close', '*');\n });\n }\n\n handleBackClick() {\n const page = this.pages.pop();\n if (page) {\n this.setActiveScreen(page);\n } else {\n this.dispatchEvent(\n new CustomEvent('end-user-consent.totp.cancelled', {}),\n );\n }\n }\n\n connectedCallback() {\n const template = document.createElement('template');\n template.innerHTML = this.render();\n\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n this.setUpEventListeners();\n }\n\n switchContactMethod() {\n this.queryOtpModes();\n }\n\n resetForm() {\n const invalidElements =\n this.activeScreen.querySelectorAll('[aria-invalid]');\n invalidElements.forEach((el) => el.removeAttribute('aria-invalid'));\n\n const validationMessages = this.activeScreen.querySelectorAll(\n '.validation-message',\n );\n validationMessages.forEach((el) => el.remove());\n }\n\n handleIdNumberValidationErrors(errors) {\n const fields = Object.keys(errors);\n\n fields.forEach((field) => {\n const input = this.activeScreen.querySelector(`#${field}`);\n input.setAttribute('aria-invalid', 'true');\n input.setAttribute('aria-describedby', `${field}-hint`);\n\n const errorDiv = document.createElement('div');\n errorDiv.setAttribute('id', `${field}-hint`);\n errorDiv.setAttribute('class', 'validation-message');\n // eslint-disable-next-line prefer-destructuring\n errorDiv.textContent = errors[field][0];\n\n input.insertAdjacentElement('afterend', errorDiv);\n });\n }\n\n handleActiveScreenErrors(error) {\n const submitButton = this.activeScreen.querySelector('[type=\"submit\"]');\n const errorDiv = document.createElement('div');\n errorDiv.setAttribute('class', 'validation-message');\n errorDiv.textContent = error;\n submitButton.insertAdjacentElement('beforebegin', errorDiv);\n }\n\n validateIdNumber(idNumber) {\n const validationConstraints = {\n id_number: {\n format: new RegExp(this.idRegex),\n presence: {\n allowEmpty: false,\n message: 'is required',\n },\n },\n };\n\n const errors = validate({ id_number: idNumber }, validationConstraints);\n\n if (errors) {\n this.handleIdNumberValidationErrors(errors);\n }\n\n return errors;\n }\n\n async queryOtpModes(event) {\n if (event) {\n // ACTION: disable another submission\n event.preventDefault();\n\n // ACTION: Reset any form validation errors'\n this.resetForm();\n }\n\n // ACTION: Validate idNumber\n const validationErrors = this.validateIdNumber(this.idNumberInput.value);\n\n // ACTION: Get and set idNumber\n localStorage.setItem('idNumber', this.idNumberInput.value || this.idNumber);\n\n if (!validationErrors) {\n const data = {\n country: this.country,\n id_number: this.idNumber,\n id_type: this.idType,\n partner_id: this.partnerId,\n token: this.token,\n };\n const url = `${this.baseUrl}/totp_consent`;\n\n try {\n this.toggleLoading();\n const response = await postData(url, data);\n const json = await response.json();\n this.toggleLoading();\n\n if (!response.ok) {\n this.handleActiveScreenErrors(json.error);\n } else {\n this.sessionId = json.session_id;\n this.modes = json.modes;\n this.setActiveScreen(this.selectModeScreen);\n this.setAttribute('modes', json.modes);\n }\n } catch (error) {\n this.toggleLoading();\n this.handleActiveScreenErrors(error.message);\n }\n }\n }\n\n async selectOtpMode(event) {\n // ACTION: disable another submission\n event.preventDefault();\n\n // ACTION: Reset any form validation errors'\n this.resetForm();\n\n // ACTION: Get mode\n this.mode = Array.prototype.find.call(\n this.modeInputs,\n (node) => node.checked,\n ).value;\n const data = {\n country: this.country,\n id_number: this.idNumber,\n id_type: this.idType,\n mode: this.mode,\n partner_id: this.partnerId,\n session_id: this.sessionId,\n token: this.token,\n };\n const url = `${this.baseUrl}/totp_consent/mode`;\n\n try {\n this.toggleLoading();\n const response = await postData(url, data);\n const json = await response.json();\n this.toggleLoading();\n\n if (!response.ok) {\n this.handleActiveScreenErrors(json.error);\n } else {\n this.selectedOtpDeliveryMode = this.modes.filter(\n (mode) => mode[this.mode],\n )[0][this.mode];\n this.setActiveScreen(this.otpVerificationScreen);\n this.setAttribute('otp-delivery-mode', this.selectedOtpDeliveryMode);\n }\n } catch (error) {\n this.toggleLoading();\n this.handleActiveScreenErrors(error.message);\n }\n }\n\n async submitOtp(event) {\n // ACTION: disable another submission\n event.preventDefault();\n\n // ACTION: Reset any form validation errors'\n this.resetForm();\n\n this.otp = this.otpInput.value;\n\n const data = {\n country: this.country,\n id_number: this.idNumber,\n id_type: this.idType,\n otp: this.otp,\n partner_id: this.partnerId,\n session_id: this.sessionId,\n token: this.token,\n };\n const url = `${this.baseUrl}/totp_consent/otp`;\n\n try {\n this.toggleLoading();\n const response = await postData(url, data);\n const json = await response.json();\n this.toggleLoading();\n\n if (!response.ok) {\n this.handleActiveScreenErrors(json.error);\n } else {\n this.handleTotpConsentGrant(event);\n }\n } catch (error) {\n this.toggleLoading();\n this.handleActiveScreenErrors(error.message);\n }\n }\n\n toggleLoading() {\n const button = this.activeScreen.querySelector('button[type=\"submit\"]');\n const text = button.querySelector('.text');\n const arrow = button.querySelector('svg');\n const spinner = button.querySelector('.spinner');\n\n button.toggleAttribute('disabled');\n text.toggleAttribute('hidden');\n arrow.toggleAttribute('hidden');\n spinner.toggleAttribute('hidden');\n }\n\n setActiveScreen(screen) {\n this.activeScreen.hidden = true;\n screen.hidden = false;\n this.activeScreen = screen;\n }\n\n get baseUrl() {\n return this.getAttribute('base-url');\n }\n\n get country() {\n return this.getAttribute('country');\n }\n\n get idHint() {\n return this.getAttribute('id-hint') || 'Your BVN should be 11 digits long';\n }\n\n get idNumber() {\n return localStorage.getItem('idNumber');\n }\n\n get idRegex() {\n return this.getAttribute('id-regex');\n }\n\n get idType() {\n return this.getAttribute('id-type');\n }\n\n get idTypeLabel() {\n return this.getAttribute('id-type-label');\n }\n\n get partnerId() {\n return this.getAttribute('partner-id');\n }\n\n get partnerName() {\n return this.getAttribute('partner-name');\n }\n\n get token() {\n return this.getAttribute('token');\n }\n\n get themeColor() {\n return this.getAttribute('theme-color') || '#001096';\n }\n\n get direction() {\n return this.getAttribute('dir') || getDirection() || 'ltr';\n }\n\n get hideBack() {\n return this.hasAttribute('hide-back');\n }\n\n get showNavigation() {\n return this.hasAttribute('show-navigation');\n }\n\n handleTotpConsentGrant() {\n const customEvent = new CustomEvent('end-user-consent.totp.granted', {\n detail: {\n consented: {\n contact_information: true,\n document_information: true,\n personal_details: true,\n },\n id_number: this.idNumber,\n session_id: this.sessionId,\n },\n });\n\n this.dispatchEvent(customEvent);\n }\n\n handleTotpConsentContactMethodsOutdated() {\n const tag = 'end-user-consent.totp.denied.contact-methods-outdated';\n const customEvent = new CustomEvent(tag, {\n detail: {\n data: {\n id_number: this.idNumber,\n session_id: this.sessionId,\n },\n message: tag,\n },\n });\n\n this.dispatchEvent(customEvent);\n }\n}\n\nif ('customElements' in window && !window.customElements.get('totp-consent')) {\n window.customElements.define('totp-consent', TotpConsent);\n}\n\nexport {\n // eslint-disable-next-line import/prefer-default-export\n TotpConsent,\n};\n"],"names":["postData","url","data","markup","mode","TotpConsent","name","updatedTemplate","updatedNode","CloseIframeButtons","button","referenceWindow","win","page","template","el","errors","field","input","errorDiv","error","submitButton","idNumber","validationConstraints","validate","event","validationErrors","response","json","node","text","arrow","spinner","screen","getDirection","customEvent","tag"],"mappings":"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"}
|
package/dist/esm/combobox.js
CHANGED
package/dist/esm/document.js
CHANGED
|
@@ -47,10 +47,10 @@ function ra() {
|
|
|
47
47
|
}
|
|
48
48
|
return X = n, X;
|
|
49
49
|
}
|
|
50
|
-
var Z,
|
|
50
|
+
var Z, Hr;
|
|
51
51
|
function ta() {
|
|
52
|
-
if (
|
|
53
|
-
|
|
52
|
+
if (Hr) return Z;
|
|
53
|
+
Hr = 1;
|
|
54
54
|
var e = G();
|
|
55
55
|
function r(t) {
|
|
56
56
|
var n = this.__data__, a = e(n, t);
|
|
@@ -58,10 +58,10 @@ function ta() {
|
|
|
58
58
|
}
|
|
59
59
|
return Z = r, Z;
|
|
60
60
|
}
|
|
61
|
-
var ee,
|
|
61
|
+
var ee, $r;
|
|
62
62
|
function na() {
|
|
63
|
-
if (
|
|
64
|
-
|
|
63
|
+
if ($r) return ee;
|
|
64
|
+
$r = 1;
|
|
65
65
|
var e = G();
|
|
66
66
|
function r(t) {
|
|
67
67
|
return e(this.__data__, t) > -1;
|
|
@@ -295,7 +295,7 @@ function Fn() {
|
|
|
295
295
|
return qe = t, qe;
|
|
296
296
|
}
|
|
297
297
|
var Ce, vt;
|
|
298
|
-
function
|
|
298
|
+
function H() {
|
|
299
299
|
if (vt) return Ce;
|
|
300
300
|
vt = 1;
|
|
301
301
|
var e = Dr(), r = e(Object, "create");
|
|
@@ -305,7 +305,7 @@ var Se, ht;
|
|
|
305
305
|
function ma() {
|
|
306
306
|
if (ht) return Se;
|
|
307
307
|
ht = 1;
|
|
308
|
-
var e =
|
|
308
|
+
var e = H();
|
|
309
309
|
function r() {
|
|
310
310
|
this.__data__ = e ? e(null) : {}, this.size = 0;
|
|
311
311
|
}
|
|
@@ -325,7 +325,7 @@ var Te, gt;
|
|
|
325
325
|
function ya() {
|
|
326
326
|
if (gt) return Te;
|
|
327
327
|
gt = 1;
|
|
328
|
-
var e =
|
|
328
|
+
var e = H(), r = "__lodash_hash_undefined__", t = Object.prototype, n = t.hasOwnProperty;
|
|
329
329
|
function a(i) {
|
|
330
330
|
var o = this.__data__;
|
|
331
331
|
if (e) {
|
|
@@ -340,7 +340,7 @@ var Re, yt;
|
|
|
340
340
|
function ba() {
|
|
341
341
|
if (yt) return Re;
|
|
342
342
|
yt = 1;
|
|
343
|
-
var e =
|
|
343
|
+
var e = H(), r = Object.prototype, t = r.hasOwnProperty;
|
|
344
344
|
function n(a) {
|
|
345
345
|
var i = this.__data__;
|
|
346
346
|
return e ? i[a] !== void 0 : t.call(i, a);
|
|
@@ -351,7 +351,7 @@ var Ae, bt;
|
|
|
351
351
|
function _a() {
|
|
352
352
|
if (bt) return Ae;
|
|
353
353
|
bt = 1;
|
|
354
|
-
var e =
|
|
354
|
+
var e = H(), r = "__lodash_hash_undefined__";
|
|
355
355
|
function t(n, a) {
|
|
356
356
|
var i = this.__data__;
|
|
357
357
|
return this.size += this.has(n) ? 0 : 1, i[n] = e && a === void 0 ? r : a, this;
|
|
@@ -397,7 +397,7 @@ function Sa() {
|
|
|
397
397
|
return Pe = e, Pe;
|
|
398
398
|
}
|
|
399
399
|
var je, St;
|
|
400
|
-
function
|
|
400
|
+
function $() {
|
|
401
401
|
if (St) return je;
|
|
402
402
|
St = 1;
|
|
403
403
|
var e = Sa();
|
|
@@ -411,7 +411,7 @@ var Le, It;
|
|
|
411
411
|
function Ia() {
|
|
412
412
|
if (It) return Le;
|
|
413
413
|
It = 1;
|
|
414
|
-
var e =
|
|
414
|
+
var e = $();
|
|
415
415
|
function r(t) {
|
|
416
416
|
var n = e(this, t).delete(t);
|
|
417
417
|
return this.size -= n ? 1 : 0, n;
|
|
@@ -422,7 +422,7 @@ var Fe, Tt;
|
|
|
422
422
|
function Ta() {
|
|
423
423
|
if (Tt) return Fe;
|
|
424
424
|
Tt = 1;
|
|
425
|
-
var e =
|
|
425
|
+
var e = $();
|
|
426
426
|
function r(t) {
|
|
427
427
|
return e(this, t).get(t);
|
|
428
428
|
}
|
|
@@ -432,7 +432,7 @@ var ke, Rt;
|
|
|
432
432
|
function Ra() {
|
|
433
433
|
if (Rt) return ke;
|
|
434
434
|
Rt = 1;
|
|
435
|
-
var e =
|
|
435
|
+
var e = $();
|
|
436
436
|
function r(t) {
|
|
437
437
|
return e(this, t).has(t);
|
|
438
438
|
}
|
|
@@ -442,7 +442,7 @@ var Be, At;
|
|
|
442
442
|
function Aa() {
|
|
443
443
|
if (At) return Be;
|
|
444
444
|
At = 1;
|
|
445
|
-
var e =
|
|
445
|
+
var e = $();
|
|
446
446
|
function r(t, n) {
|
|
447
447
|
var a = e(this, t), i = a.size;
|
|
448
448
|
return a.set(t, n), this.size += a.size == i ? 0 : 1, this;
|
|
@@ -574,27 +574,27 @@ function ka() {
|
|
|
574
574
|
var e = O(), r = e.Uint8Array;
|
|
575
575
|
return Ue = r, Ue;
|
|
576
576
|
}
|
|
577
|
-
var
|
|
577
|
+
var He, Nt;
|
|
578
578
|
function Ba() {
|
|
579
|
-
if (Nt) return
|
|
579
|
+
if (Nt) return He;
|
|
580
580
|
Nt = 1;
|
|
581
581
|
var e = ka();
|
|
582
582
|
function r(t) {
|
|
583
583
|
var n = new t.constructor(t.byteLength);
|
|
584
584
|
return new e(n).set(new e(t)), n;
|
|
585
585
|
}
|
|
586
|
-
return
|
|
586
|
+
return He = r, He;
|
|
587
587
|
}
|
|
588
|
-
var
|
|
588
|
+
var $e, xt;
|
|
589
589
|
function Da() {
|
|
590
|
-
if (xt) return
|
|
590
|
+
if (xt) return $e;
|
|
591
591
|
xt = 1;
|
|
592
592
|
var e = Ba();
|
|
593
593
|
function r(t, n) {
|
|
594
594
|
var a = n ? e(t.buffer) : t.buffer;
|
|
595
595
|
return new t.constructor(a, t.byteOffset, t.length);
|
|
596
596
|
}
|
|
597
|
-
return
|
|
597
|
+
return $e = r, $e;
|
|
598
598
|
}
|
|
599
599
|
var Ke, Mt;
|
|
600
600
|
function za() {
|
|
@@ -656,20 +656,20 @@ function zn() {
|
|
|
656
656
|
}
|
|
657
657
|
return Qe = r, Qe;
|
|
658
658
|
}
|
|
659
|
-
var Xe,
|
|
659
|
+
var Xe, Ht;
|
|
660
660
|
function Ma() {
|
|
661
|
-
if (
|
|
662
|
-
|
|
661
|
+
if (Ht) return Xe;
|
|
662
|
+
Ht = 1;
|
|
663
663
|
var e = Na(), r = Dn(), t = zn();
|
|
664
664
|
function n(a) {
|
|
665
665
|
return typeof a.constructor == "function" && !t(a) ? e(r(a)) : {};
|
|
666
666
|
}
|
|
667
667
|
return Xe = n, Xe;
|
|
668
668
|
}
|
|
669
|
-
var Ze,
|
|
669
|
+
var Ze, $t;
|
|
670
670
|
function D() {
|
|
671
|
-
if (
|
|
672
|
-
|
|
671
|
+
if ($t) return Ze;
|
|
672
|
+
$t = 1;
|
|
673
673
|
function e(r) {
|
|
674
674
|
return r != null && typeof r == "object";
|
|
675
675
|
}
|
|
@@ -767,7 +767,7 @@ function Ua() {
|
|
|
767
767
|
return sr = c, sr;
|
|
768
768
|
}
|
|
769
769
|
var ur, tn;
|
|
770
|
-
function
|
|
770
|
+
function Ha() {
|
|
771
771
|
if (tn) return ur;
|
|
772
772
|
tn = 1;
|
|
773
773
|
var e = U(), r = Mn(), t = D(), n = "[object Arguments]", a = "[object Array]", i = "[object Boolean]", o = "[object Date]", s = "[object Error]", u = "[object Function]", c = "[object Map]", l = "[object Number]", f = "[object Object]", p = "[object RegExp]", y = "[object Set]", _ = "[object String]", C = "[object WeakMap]", S = "[object ArrayBuffer]", w = "[object DataView]", h = "[object Float32Array]", K = "[object Float64Array]", W = "[object Int8Array]", P = "[object Int16Array]", T = "[object Int32Array]", b = "[object Uint8Array]", m = "[object Uint8ClampedArray]", z = "[object Uint16Array]", g = "[object Uint32Array]", d = {};
|
|
@@ -778,7 +778,7 @@ function $a() {
|
|
|
778
778
|
return ur = j, ur;
|
|
779
779
|
}
|
|
780
780
|
var cr, nn;
|
|
781
|
-
function
|
|
781
|
+
function $a() {
|
|
782
782
|
if (nn) return cr;
|
|
783
783
|
nn = 1;
|
|
784
784
|
function e(r) {
|
|
@@ -807,7 +807,7 @@ var lr, on;
|
|
|
807
807
|
function Gn() {
|
|
808
808
|
if (on) return lr;
|
|
809
809
|
on = 1;
|
|
810
|
-
var e =
|
|
810
|
+
var e = Ha(), r = $a(), t = Ka(), n = t && t.isTypedArray, a = n ? r(n) : e;
|
|
811
811
|
return lr = a, lr;
|
|
812
812
|
}
|
|
813
813
|
var dr, sn;
|
|
@@ -915,7 +915,7 @@ function Za() {
|
|
|
915
915
|
return yr = i, yr;
|
|
916
916
|
}
|
|
917
917
|
var br, hn;
|
|
918
|
-
function
|
|
918
|
+
function Hn() {
|
|
919
919
|
if (hn) return br;
|
|
920
920
|
hn = 1;
|
|
921
921
|
var e = Qa(), r = Za(), t = Nr();
|
|
@@ -928,7 +928,7 @@ var _r, mn;
|
|
|
928
928
|
function ei() {
|
|
929
929
|
if (mn) return _r;
|
|
930
930
|
mn = 1;
|
|
931
|
-
var e = Ja(), r =
|
|
931
|
+
var e = Ja(), r = Hn();
|
|
932
932
|
function t(n) {
|
|
933
933
|
return e(n, r(n));
|
|
934
934
|
}
|
|
@@ -958,7 +958,7 @@ var Cr, yn;
|
|
|
958
958
|
function ti() {
|
|
959
959
|
if (yn) return Cr;
|
|
960
960
|
yn = 1;
|
|
961
|
-
var e = Pa(), r = Bn(), t = La(), n = ri(), a = A(), i =
|
|
961
|
+
var e = Pa(), r = Bn(), t = La(), n = ri(), a = A(), i = Hn(), o = Vn();
|
|
962
962
|
function s(u, c, l, f, p) {
|
|
963
963
|
u !== c && t(c, function(y, _) {
|
|
964
964
|
if (p || (p = new e()), a(y))
|
|
@@ -972,7 +972,7 @@ function ti() {
|
|
|
972
972
|
return Cr = s, Cr;
|
|
973
973
|
}
|
|
974
974
|
var Sr, bn;
|
|
975
|
-
function
|
|
975
|
+
function $n() {
|
|
976
976
|
if (bn) return Sr;
|
|
977
977
|
bn = 1;
|
|
978
978
|
function e(r) {
|
|
@@ -1031,7 +1031,7 @@ var Ar, Sn;
|
|
|
1031
1031
|
function oi() {
|
|
1032
1032
|
if (Sn) return Ar;
|
|
1033
1033
|
Sn = 1;
|
|
1034
|
-
var e = ii(), r = kn(), t =
|
|
1034
|
+
var e = ii(), r = kn(), t = $n(), n = r ? function(a, i) {
|
|
1035
1035
|
return r(a, "toString", {
|
|
1036
1036
|
configurable: !0,
|
|
1037
1037
|
enumerable: !1,
|
|
@@ -1071,7 +1071,7 @@ var Pr, Rn;
|
|
|
1071
1071
|
function ci() {
|
|
1072
1072
|
if (Rn) return Pr;
|
|
1073
1073
|
Rn = 1;
|
|
1074
|
-
var e =
|
|
1074
|
+
var e = $n(), r = ai(), t = ui();
|
|
1075
1075
|
function n(a, i) {
|
|
1076
1076
|
return t(r(a, i, e), a + "");
|
|
1077
1077
|
}
|
|
@@ -1139,7 +1139,7 @@ const vi = /* @__PURE__ */ Zn(pi), hi = "rtl", mi = { back: "رجوع", close: "
|
|
|
1139
1139
|
fileUpload: Fi,
|
|
1140
1140
|
consent: ki,
|
|
1141
1141
|
pages: Bi
|
|
1142
|
-
}, zi = "ltr", Ni = { back: "Retour", close: "Fermer", closeVerificationFrame: "Fermer la vérification Smile ID", allow: "Autoriser", cancel: "Annuler", continue: "Continuer", or: "ou", toggle: "Basculer" }, xi = { noItems: "Aucun article" }, Mi = { back: "Retour", closeVerificationFrame: "Fermer la vérification d'identité Smile ID" }, Ei = { permission: { description: "Autorisez l'accès à la caméra pour vérifier vos informations.", requestButton: "Demander l'accès à la caméra" }, error: { notAllowed: "L'accès à la caméra est refusé ou bloqué par votre navigateur/vos extensions. Pour continuer, autorisez l'accès dans votre navigateur/vos extensions. Il se peut que vous deviez actualiser la page.", abort: "Un problème est survenu et nous avons perdu l'accès à votre caméra. Veuillez actualiser.", notReadable: "Il semble y avoir un problème avec la connexion de votre caméra. Veuillez vérifier et réessayer, ou essayez d'utiliser un autre appareil.", notFound: "Nous ne parvenons pas à trouver votre caméra. Veuillez actualiser.", insecure: "Connexion sécurisée requise. L'accès à la caméra est désactivé sur les sites non sécurisés. Veuillez vous rendre sur la page sécurisée ou contacter le propriétaire de l'application." } }, Gi = { instructions: { title: "Ensuite, nous allons prendre un selfie rapide", allowButton: "Autoriser", tips: { goodLight: { header: "Bonne lumière", body: "Assurez-vous d'être dans un environnement bien éclairé." }, clearImage: { header: "Image Claire", body: "Tenez votre téléphone stable pour que le selfie soit net et clair." }, removeObstructions: { header: "Retirer les Obstructions", body: "Retirez tout ce qui vous couvre le visage, comme les lunettes, masques et chapeaux." }, wideSmile: { header: "large sourire", body: "Lorsque l'on vous demande de sourire, faites un large sourire, en montrant vos dents." } } }, capture: { tip: { fitHead: "Placez votre visage dans le cadre ovale" }, cta: { smile: "SOURIRE", widerSmile: "UN SOURIRE PLUS LARGE" }, button: { takeSelfie: "Prendre un selfie", startCapture: "Démarrer la capture" }, agentMode: { on: "Mode Agent Activé", off: "Mode Agent Désactivé" }, error: { minFrames: "SmartCameraWeb : Le nombre minimum d'images requis est de {{count}}", webcamCapture: "Impossible de capturer les images de la webcam - Veuillez essayer un autre appareil" }, loading: { progress: "Chargement... {{progress}}%", slowConnection: "La connexion Internet est trop lente, veuillez patienter...", connectionError: "Erreur de connexion Internet, vérifiez votre connexion et réessayez" } }, smart: { alert: { multipleFaces: "Assurez-vous qu'un seul visage soit visible", noFace: "Positionnez votre visage dans l'ovale", outOfBounds: "Positionnez votre visage dans l'ovale", tooClose: "Éloignez-vous", tooFar: "Rapprochez-vous", neutralExpression: "Expression neutre", smileRequired: "Souriez !", openMouthSmile: "Sourire plus large - dents visibles", initializing: "Initialisation en cours..." }, status: { capturing: "Capture en cours...", keepSmiling: "Continuez de sourire!", readyToCapture: "Prêt à enregistrer" } }, review: { title: "Vérification du selfie", question: "Votre visage est-il entièrement net ?", acceptButton: "Oui, utiliser ceci", retakeButton: "Non, refaire le selfie" } }, Vi = { name: { default: "Document" }, title: { front: "Soumettre le recto de la pièce d'identité", back: "Soumettre le verso de la pièce d'identité" }, capture: { checkingPermissions: "Vérification des autorisations...", instructionText: "Assurez-vous que tous les coins sont visibles et qu'il n'y a pas de reflet.", captureButton: "Capturez le document" }, instructions: { description: "Nous l'utiliserons pour vérifier votre identité.", followInstructions: "Veuillez suivre les instructions ci-dessous.", goodLight: { header: "Bonne lumière", body: "Assurez-vous que l'image est prise dans un environnement bien éclairé où le document d'identité est facile à lire." }, clearImage: { header: "Image Claire", body: "Tenez votre appareil photo fermement pour que les mots sur la pièce d'identité ne soient pas flous." }, takePhotoButton: "Prendre une photo", uploadPhotoButton: "Télécharger une photo" }, review: { question: "Le document est-il clair et lisible ?", description: "Assurez-vous que tous les coins du document sont visibles et qu'il n'y a pas de reflet.", acceptButton: "Oui, ma pièce d'identité est lisible", retakeButton: "Non, reprendre la photo" } }, Ui = { error: { readingFile: "Une erreur s'est produite lors de la lecture du fichier. Veuillez vérifier le fichier et réessayer.", multipleFiles: "Seulement un téléchargement de fichier est autorisé à la fois", unsupportedFormat: "Format de fichier non pris en charge. Veuillez vous assurer que vous fournissez une image JPG ou PNG", fileTooLarge: "{{filename}} est trop volumineux. Veuillez vous assurer que la taille du fichier est inférieure à {{size}}." } },
|
|
1142
|
+
}, zi = "ltr", Ni = { back: "Retour", close: "Fermer", closeVerificationFrame: "Fermer la vérification Smile ID", allow: "Autoriser", cancel: "Annuler", continue: "Continuer", or: "ou", toggle: "Basculer" }, xi = { noItems: "Aucun article" }, Mi = { back: "Retour", closeVerificationFrame: "Fermer la vérification d'identité Smile ID" }, Ei = { permission: { description: "Autorisez l'accès à la caméra pour vérifier vos informations.", requestButton: "Demander l'accès à la caméra" }, error: { notAllowed: "L'accès à la caméra est refusé ou bloqué par votre navigateur/vos extensions. Pour continuer, autorisez l'accès dans votre navigateur/vos extensions. Il se peut que vous deviez actualiser la page.", abort: "Un problème est survenu et nous avons perdu l'accès à votre caméra. Veuillez actualiser.", notReadable: "Il semble y avoir un problème avec la connexion de votre caméra. Veuillez vérifier et réessayer, ou essayez d'utiliser un autre appareil.", notFound: "Nous ne parvenons pas à trouver votre caméra. Veuillez actualiser.", insecure: "Connexion sécurisée requise. L'accès à la caméra est désactivé sur les sites non sécurisés. Veuillez vous rendre sur la page sécurisée ou contacter le propriétaire de l'application." } }, Gi = { instructions: { title: "Ensuite, nous allons prendre un selfie rapide", allowButton: "Autoriser", tips: { goodLight: { header: "Bonne lumière", body: "Assurez-vous d'être dans un environnement bien éclairé." }, clearImage: { header: "Image Claire", body: "Tenez votre téléphone stable pour que le selfie soit net et clair." }, removeObstructions: { header: "Retirer les Obstructions", body: "Retirez tout ce qui vous couvre le visage, comme les lunettes, masques et chapeaux." }, wideSmile: { header: "large sourire", body: "Lorsque l'on vous demande de sourire, faites un large sourire, en montrant vos dents." } } }, capture: { tip: { fitHead: "Placez votre visage dans le cadre ovale" }, cta: { smile: "SOURIRE", widerSmile: "UN SOURIRE PLUS LARGE" }, button: { takeSelfie: "Prendre un selfie", startCapture: "Démarrer la capture" }, agentMode: { on: "Mode Agent Activé", off: "Mode Agent Désactivé" }, error: { minFrames: "SmartCameraWeb : Le nombre minimum d'images requis est de {{count}}", webcamCapture: "Impossible de capturer les images de la webcam - Veuillez essayer un autre appareil" }, loading: { progress: "Chargement... {{progress}}%", slowConnection: "La connexion Internet est trop lente, veuillez patienter...", connectionError: "Erreur de connexion Internet, vérifiez votre connexion et réessayez" } }, smart: { alert: { multipleFaces: "Assurez-vous qu'un seul visage soit visible", noFace: "Positionnez votre visage dans l'ovale", outOfBounds: "Positionnez votre visage dans l'ovale", tooClose: "Éloignez-vous", tooFar: "Rapprochez-vous", neutralExpression: "Expression neutre", smileRequired: "Souriez !", openMouthSmile: "Sourire plus large - dents visibles", initializing: "Initialisation en cours..." }, status: { capturing: "Capture en cours...", keepSmiling: "Continuez de sourire!", readyToCapture: "Prêt à enregistrer" } }, review: { title: "Vérification du selfie", question: "Votre visage est-il entièrement net ?", acceptButton: "Oui, utiliser ceci", retakeButton: "Non, refaire le selfie" } }, Vi = { name: { default: "Document" }, title: { front: "Soumettre le recto de la pièce d'identité", back: "Soumettre le verso de la pièce d'identité" }, capture: { checkingPermissions: "Vérification des autorisations...", instructionText: "Assurez-vous que tous les coins sont visibles et qu'il n'y a pas de reflet.", captureButton: "Capturez le document" }, instructions: { description: "Nous l'utiliserons pour vérifier votre identité.", followInstructions: "Veuillez suivre les instructions ci-dessous.", goodLight: { header: "Bonne lumière", body: "Assurez-vous que l'image est prise dans un environnement bien éclairé où le document d'identité est facile à lire." }, clearImage: { header: "Image Claire", body: "Tenez votre appareil photo fermement pour que les mots sur la pièce d'identité ne soient pas flous." }, takePhotoButton: "Prendre une photo", uploadPhotoButton: "Télécharger une photo" }, review: { question: "Le document est-il clair et lisible ?", description: "Assurez-vous que tous les coins du document sont visibles et qu'il n'y a pas de reflet.", acceptButton: "Oui, ma pièce d'identité est lisible", retakeButton: "Non, reprendre la photo" } }, Ui = { error: { readingFile: "Une erreur s'est produite lors de la lecture du fichier. Veuillez vérifier le fichier et réessayer.", multipleFiles: "Seulement un téléchargement de fichier est autorisé à la fois", unsupportedFormat: "Format de fichier non pris en charge. Veuillez vous assurer que vous fournissez une image JPG ou PNG", fileTooLarge: "{{filename}} est trop volumineux. Veuillez vous assurer que la taille du fichier est inférieure à {{size}}." } }, Hi = { demoTip: "Cet écran de consentement est présenté à titre indicatif uniquement. L'application de démonstration ne collecte pas de données d'identification personnelle.", accessRequest: "{{partnerName}} veut accéder à vos informations {{idTypeLabel}}", allowPartner: "Ceci permettra à {{partnerName}} de :", processing: { personalDetails: { title: "Traiter vos informations personnelles", description: "Le partenaire peut traiter votre nom, date de naissance et sexe" }, contactInfo: { title: "Traiter vos coordonnées", description: "Le partenaire peut traiter vos numéros de téléphone et votre adresse" }, documentInfo: { title: "Traitez les informations de votre document", description: "Le partenaire peut traiter votre photo, la date d'expiration de votre pièce d'identité, le pays d'émission et le numéro de document" } }, privacyPolicy: "Vous pouvez consulter la politique de confidentialité de {{partnerName}}", privacyPolicyLink: "ici.", grantConsent: 'En choisissant "Autoriser", vous accordez à {{partnerName}} le consentement de traiter vos données personnelles pour permettre ce service', denied: { title: "Consentement refusé", message: "Nous ne pouvons pas vous vérifier sans votre consentement", prompt: "Souhaitez-vous corriger cela?", goBack: "Retour", confirmCancel: "Non, Annuler la vérification" } }, $i = { loading: { title: "Configuration", subtitle: "Juste quelques secondes de plus", description: "Nous mettons en place votre processus de vérification" }, idSelection: { title: "Sélectionner le type de pièce d'identité", selectCountry: "Sélectionnez le pays", selectIdType: "Sélectionnez le type de pièce d'identité", selectDocument: "Sélectionner le document", searchCountry: "Rechercher un pays", placeholder: "--Veuillez sélectionner--", selectCountryFirst: "--Sélectionnez le pays d'abord--", noCountryFound: "Aucun pays trouvé", noIdTypeFound: "Aucun type de pièce d'identité trouvé" }, upload: { title: "Téléchargement en cours", subtitle: "Plus que quelques secondes", description: "Nous traitons votre demande" }, complete: { title: "Envoie terminée", subtitle: "C'est tout ce dont vous avez besoin pour vérifier votre identité.", processingInfo: "Nous traiterons vos informations {{country}} - {{idType}} pour vérifier votre identité" }, smartSelfie: { authentication: { title: "Authentification SmartSelfie™", upload: "Authentification de l'utilisateur" }, registration: { title: "Inscription SmartSelfie™", upload: "Inscription de l'utilisateur" } }, eSignature: { fullName: "Nom complet", loading: { description: "Nous mettons en place" }, upload: { description: "Nous traitons votre demande" }, entry: { title: "Fournir une signature", subtitle: "Lisez et acceptez les accords que vous verrez à la page suivante" }, tips: { read: { title: "Lire le document", description: "Lisez attentivement le(s) document(s) fourni(s)" }, name: { title: "Ajouter votre nom complet", description: "Tapez votre nom complet une fois que vous êtes d'accord avec le(s) document(s) partagé(s) avec vous" }, signature: { title: "Ajouter votre signature", description: "Signez ou téléchargez votre signature pour certifier les documents" } }, getStarted: "Commencer", review: { title: "Examiner les documents", subtitle: "Veuillez lire attentivement le(s) document(s) avant d'accepter.", consent: "En cochant cette case, vous acceptez les conditions contenues dans le(s) document(s)" }, personalInfo: { title: "Ajoutez votre nom complet", subtitle: "Veuillez ajouter votre nom complet pour confirmer que vous avez lu le(s) document(s) fourni(s) précédemment.", placeholder: "James Doe" }, signature: { title: "Ajoutez votre signature", subtitle: "Signez ou téléchargez votre signature ci-dessous" }, confirmDetails: { title: "Confirmer les détails", subtitle: "Assurez-vous que votre nom est correctement orthographié et que la signature ressemble à celle de votre pièce d'identité", yes: "Oui, c'est exact", no: "Non, les changer" }, error: { uploadFailed: "Nous n'avons pas pu télécharger votre signature" } }, idInfo: { title: "Saisir les informations d'identité", idNumber: "Numéro d'identification", firstName: "Prénom", lastName: "Nom de famille", dateOfBirth: "Date de Naissance", day: "Jour", month: "Mois", year: "Année", bank: "Banque", selectBank: "--Sélectionner la banque--", searchBank: "Rechercher une banque", noBankFound: "Aucune banque trouvée", citizenship: "Citoyenneté", selectCitizenship: "Sélectionner le type de citoyenneté", dob: "Date de naissance" }, error: { title: "Une erreur est survenue", generic: "Quelque chose s'est mal passé", uploadFailed: "Nous n'avons pas pu télécharger vos informations", checkInternet: "Veuillez vérifier que vous disposez d'une connexion Internet stable. Ensuite, veuillez réessayer !", tryAgain: "Essayez à nouveau", countryNotSupported: "{{country}} n'est pas pris en charge" }, validation: { isRequired: "{{field}} est obligatoire", invalidFormat: "{{field}} n'est pas valide" } }, Ki = {
|
|
1143
1143
|
direction: zi,
|
|
1144
1144
|
common: Ni,
|
|
1145
1145
|
combobox: xi,
|
|
@@ -1148,8 +1148,8 @@ const vi = /* @__PURE__ */ Zn(pi), hi = "rtl", mi = { back: "رجوع", close: "
|
|
|
1148
1148
|
selfie: Gi,
|
|
1149
1149
|
document: Vi,
|
|
1150
1150
|
fileUpload: Ui,
|
|
1151
|
-
consent:
|
|
1152
|
-
pages:
|
|
1151
|
+
consent: Hi,
|
|
1152
|
+
pages: $i
|
|
1153
1153
|
}, Kn = {
|
|
1154
1154
|
ar: "ar-EG",
|
|
1155
1155
|
en: "en-GB",
|
|
@@ -1334,17 +1334,17 @@ const io = {
|
|
|
1334
1334
|
validateLocale: Qn
|
|
1335
1335
|
};
|
|
1336
1336
|
export {
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1337
|
+
ro as a,
|
|
1338
|
+
ao as b,
|
|
1339
|
+
Jn as c,
|
|
1340
1340
|
Wn as d,
|
|
1341
1341
|
x as e,
|
|
1342
|
-
|
|
1342
|
+
no as f,
|
|
1343
1343
|
eo as g,
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1344
|
+
to as h,
|
|
1345
|
+
Xn as i,
|
|
1346
|
+
Yi as j,
|
|
1347
|
+
Xi as k,
|
|
1348
1348
|
Yn as l,
|
|
1349
1349
|
O as m,
|
|
1350
1350
|
U as n,
|
|
@@ -1357,4 +1357,4 @@ export {
|
|
|
1357
1357
|
io as u,
|
|
1358
1358
|
Qn as v
|
|
1359
1359
|
};
|
|
1360
|
-
//# sourceMappingURL=index-
|
|
1360
|
+
//# sourceMappingURL=index-Cjzs1eA_.js.map
|