@gataca/qr 3.0.10 → 4.0.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/qr-code-styling-0eeb38d5.js → cjs/gat-icon-check-c88a30ed.js} +15 -1
- package/dist/cjs/gataca-autoqr.cjs.entry.js +9 -9
- package/dist/cjs/gataca-qr_3.cjs.entry.js +620 -0
- package/dist/cjs/gataca-qrws.cjs.entry.js +39 -47
- package/dist/cjs/gataca-ssibuttonws.cjs.entry.js +61 -0
- package/dist/cjs/gatacaqr.cjs.js +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-ef28b844.js → utils-b4e62bc0.js} +1 -1
- package/dist/collection/components/gataca-autoqr/gataca-autoqr.js +13 -13
- package/dist/collection/components/gataca-qr/components/qr/QR.js +3 -3
- package/dist/collection/components/gataca-qr/components/readQR/ReadQR.js +7 -5
- package/dist/collection/components/gataca-qr/components/readQR/components/AnimatedLoader.js +1 -1
- package/dist/collection/components/gataca-qr/components/retryButton/RetryButton.js +8 -8
- package/dist/collection/components/gataca-qr/components/success/Success.js +4 -4
- package/dist/collection/components/gataca-qr/gataca-qr.js +64 -55
- package/dist/collection/components/gataca-qrdisplay/gataca-qrdisplay.js +33 -11
- package/dist/collection/components/gataca-qrws/components/qr/QR.js +2 -2
- package/dist/collection/components/gataca-qrws/components/readQR/ReadQR.js +4 -4
- package/dist/collection/components/gataca-qrws/components/readQR/components/AnimatedLoader.js +1 -1
- package/dist/collection/components/gataca-qrws/components/retryButton/RetryButton.js +8 -8
- package/dist/collection/components/gataca-qrws/components/success/Success.js +4 -4
- package/dist/collection/components/gataca-qrws/gataca-qrws.js +49 -56
- package/dist/collection/components/gataca-ssibutton/gataca-ssibutton.js +224 -54
- package/dist/collection/components/gataca-ssibuttonws/gataca-ssibuttonws.js +12 -12
- package/dist/collection/index.js +2 -2
- package/dist/collection/utils/index.js +1 -1
- package/dist/collection/utils/utils.js +1 -1
- package/dist/components/{gat-icon-alert.js → gat-icon-check.js} +4 -4
- package/dist/components/gataca-autoqr.js +9 -9
- package/dist/components/gataca-qr2.js +56 -63
- package/dist/components/gataca-qrdisplay2.js +11 -6
- package/dist/components/gataca-qrws2.js +35 -42
- package/dist/components/gataca-ssibutton2.js +114 -34
- package/dist/components/gataca-ssibuttonws2.js +6 -6
- package/dist/components/index.js +1 -1
- package/dist/{cjs/qr-code-styling-412bbc7a.js → esm/gat-icon-check-c188cd29.js} +8 -2
- package/dist/esm/gataca-autoqr.entry.js +9 -9
- package/dist/esm/gataca-qr_3.entry.js +614 -0
- package/dist/esm/gataca-qrws.entry.js +36 -44
- package/dist/esm/gataca-ssibuttonws.entry.js +57 -0
- package/dist/esm/gatacaqr.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-63e7a33b.js → utils-21ffcc1e.js} +1 -1
- package/dist/gatacaqr/gatacaqr.esm.js +1 -1
- package/dist/gatacaqr/index.esm.js +1 -1
- package/dist/gatacaqr/p-5be73956.js +1 -0
- package/dist/gatacaqr/p-948e7d94.entry.js +1 -0
- package/dist/gatacaqr/p-e94e9be8.entry.js +1 -0
- package/dist/gatacaqr/p-fb41fad9.entry.js +1 -0
- package/dist/types/components/gataca-autoqr/gataca-autoqr.d.ts +7 -7
- package/dist/types/components/gataca-qr/components/qr/QR.d.ts +4 -2
- package/dist/types/components/gataca-qr/components/readQR/ReadQR.d.ts +3 -1
- package/dist/types/components/gataca-qr/components/readQR/components/AnimatedLoader.d.ts +1 -1
- package/dist/types/components/gataca-qr/components/retryButton/RetryButton.d.ts +1 -1
- package/dist/types/components/gataca-qr/components/success/Success.d.ts +1 -1
- package/dist/types/components/gataca-qr/gataca-qr.d.ts +13 -4
- package/dist/types/components/gataca-qrdisplay/gataca-qrdisplay.d.ts +6 -1
- package/dist/types/components/gataca-qrws/components/qr/QR.d.ts +2 -2
- package/dist/types/components/gataca-qrws/components/readQR/ReadQR.d.ts +1 -1
- package/dist/types/components/gataca-qrws/components/readQR/components/AnimatedLoader.d.ts +1 -1
- package/dist/types/components/gataca-qrws/components/retryButton/RetryButton.d.ts +1 -1
- package/dist/types/components/gataca-qrws/components/success/Success.d.ts +1 -1
- package/dist/types/components/gataca-qrws/gataca-qrws.d.ts +4 -4
- package/dist/types/components/gataca-ssibutton/gataca-ssibutton.d.ts +38 -5
- package/dist/types/components/gataca-ssibuttonws/gataca-ssibuttonws.d.ts +3 -3
- package/dist/types/components.d.ts +78 -36
- package/dist/types/index.d.ts +2 -2
- package/dist/types/utils/index.d.ts +1 -1
- package/package.json +30 -7
- package/dist/cjs/gat-icon-alert-0ad19b26.js +0 -14
- package/dist/cjs/gataca-qr_2.cjs.entry.js +0 -295
- package/dist/cjs/gataca-ssibutton_2.cjs.entry.js +0 -317
- package/dist/esm/gat-icon-alert-7b06ef3a.js +0 -9
- package/dist/esm/gataca-qr_2.entry.js +0 -290
- package/dist/esm/gataca-ssibutton_2.entry.js +0 -312
- package/dist/gatacaqr/p-0be4566d.js +0 -1
- package/dist/gatacaqr/p-3500ae66.entry.js +0 -1
- package/dist/gatacaqr/p-68272823.entry.js +0 -1
- package/dist/gatacaqr/p-92a2e6f0.entry.js +0 -1
- package/dist/gatacaqr/p-ea783014.js +0 -1
- /package/dist/gatacaqr/{p-2cd7b062.js → p-bce7e590.js} +0 -0
|
@@ -7,7 +7,7 @@ import { d as defineCustomElement$2 } from './gataca-ssibuttonws2.js';
|
|
|
7
7
|
|
|
8
8
|
const gatacaAutoqrCss = "@import url(\"https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400&display=swap\"); html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:\"\";content:none}table{border-collapse:collapse;border-spacing:0}.img-fluid{height:auto;max-width:50%}img{margin-left:auto;margin-right:auto}.buttonContainer{display:inline-block;text-align:right;padding:10px;position:relative}.gatacaButtonWrapper{margin:8px}.gatacaButtonWrapper .gatacaButton{display:flex;min-width:100px;padding:8px 8px;background-color:white;font-size:12px;font-family:\"Work Sans\", sans-serif;letter-spacing:1px;font-weight:2;justify-content:space-between;align-items:center;border-radius:6px;border:1px solid rgba(24, 27, 94, 0.5);color:rgba(24, 27, 94, 0.8);box-shadow:0px 1px 3px rgba(48, 48, 48, 0.15);cursor:pointer}.gatacaButtonWrapper .gatacaButton>span{margin-right:10px}.gatacaButtonWrapper .gatacaButton:hover{box-shadow:0px 2px 8px rgba(48, 48, 48, 0.1)}.gatacaButtonWrapper .buttonText{text-align:right;font-size:8px;color:rgba(24, 27, 94, 0.5);font-family:\"Helvetica Neue\", sans-serif;letter-spacing:1px;padding-right:8px;font-weight:1}.gatacaButtonWrapper .buttonImg{height:25px;width:25px;margin:0;margin-right:20px}";
|
|
9
9
|
|
|
10
|
-
const DEFAULT_REPOSITORY =
|
|
10
|
+
const DEFAULT_REPOSITORY = 'https://studio.gataca.io/api/v1/qrconfigs';
|
|
11
11
|
const fixFunctions = (data) => {
|
|
12
12
|
var _a, _b, _c, _d, _e, _f;
|
|
13
13
|
data.errorCallback = deserializeFunction((_a = data.errorCallback) === null || _a === void 0 ? void 0 : _a.toString());
|
|
@@ -20,7 +20,7 @@ const fixFunctions = (data) => {
|
|
|
20
20
|
};
|
|
21
21
|
const deserializeFunction = (data) => {
|
|
22
22
|
if (data) {
|
|
23
|
-
return new Function(
|
|
23
|
+
return new Function('return ' + data)();
|
|
24
24
|
}
|
|
25
25
|
return undefined;
|
|
26
26
|
};
|
|
@@ -32,7 +32,7 @@ const GatacaAutoQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
32
32
|
this.gatacaLoginCompleted = createEvent(this, "gatacaLoginCompleted", 7);
|
|
33
33
|
this.gatacaLoginFailed = createEvent(this, "gatacaLoginFailed", 7);
|
|
34
34
|
this.configId = undefined;
|
|
35
|
-
this.qrType =
|
|
35
|
+
this.qrType = 'svg';
|
|
36
36
|
this.configRepository = DEFAULT_REPOSITORY;
|
|
37
37
|
this.successCallback = undefined;
|
|
38
38
|
this.errorCallback = undefined;
|
|
@@ -43,11 +43,11 @@ const GatacaAutoQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
43
43
|
this.config = undefined;
|
|
44
44
|
this.loading = undefined;
|
|
45
45
|
this.loading = true;
|
|
46
|
-
fetch(this.configRepository +
|
|
47
|
-
method:
|
|
46
|
+
fetch(this.configRepository + '/' + this.configId, {
|
|
47
|
+
method: 'GET',
|
|
48
48
|
headers: {
|
|
49
|
-
|
|
50
|
-
}
|
|
49
|
+
'Content-Type': 'application/json'
|
|
50
|
+
}
|
|
51
51
|
})
|
|
52
52
|
.then((response) => {
|
|
53
53
|
response
|
|
@@ -58,12 +58,12 @@ const GatacaAutoQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
58
58
|
this.loading = false;
|
|
59
59
|
})
|
|
60
60
|
.catch((err) => {
|
|
61
|
-
console.log(
|
|
61
|
+
console.log('Cannot retrieve selected config', err);
|
|
62
62
|
this.loading = false;
|
|
63
63
|
});
|
|
64
64
|
})
|
|
65
65
|
.catch((err) => {
|
|
66
|
-
console.log(
|
|
66
|
+
console.log('Cannot retrieve selected config', err);
|
|
67
67
|
this.loading = false;
|
|
68
68
|
});
|
|
69
69
|
}
|
|
@@ -1,35 +1,10 @@
|
|
|
1
1
|
import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
|
|
2
2
|
import { l as logoGatacaSvg, d as defineCustomElement$1 } from './gataca-qrdisplay2.js';
|
|
3
|
-
import { g as
|
|
3
|
+
import { g as gatIconRefreshSvg, a as gatIconAlertSvg, d as gatIconCheckSvg, R as RESULT_STATUS, c as checkMobile, b as base64UrlEncode } from './gat-icon-check.js';
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
const {
|
|
7
|
-
return
|
|
8
|
-
height: modalHeight ? (modalHeight === null || modalHeight === void 0 ? void 0 : modalHeight.toString()) + "px" : "300px",
|
|
9
|
-
} },
|
|
10
|
-
h("img", { src: gatIconCheckSvg, height: 52, width: 52 }),
|
|
11
|
-
h("p", { class: "successMsg" }, successLoginLabel)));
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const RetryButton = (props) => {
|
|
15
|
-
var _a;
|
|
16
|
-
const { errorMessage, modalWidth, clickInsideBoxLabel, refreshQrLabel, scanQrLabel, waitingStartSessionLabel, display, renderRetryQR, } = props;
|
|
17
|
-
return (h("div", { class: "reload", style: {
|
|
18
|
-
width: (modalWidth - 48).toString() + "px",
|
|
19
|
-
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) + "px" : "",
|
|
20
|
-
} },
|
|
21
|
-
h("div", { id: "notify", onClick: () => display() },
|
|
22
|
-
h("img", { src: gatIconRefreshSvg, height: 24, width: 24 }),
|
|
23
|
-
h("p", { class: "notify-text" },
|
|
24
|
-
clickInsideBoxLabel,
|
|
25
|
-
" "),
|
|
26
|
-
errorMessage ? (h("p", { class: "notify-text bold" }, refreshQrLabel)) : (h("p", { class: "notify-text bold" }, scanQrLabel)),
|
|
27
|
-
errorMessage && (h("div", { class: "alert", style: {
|
|
28
|
-
width: (modalWidth - 48).toString() + "px",
|
|
29
|
-
} },
|
|
30
|
-
h("img", { src: gatIconAlertSvg, height: 24, width: 24 }),
|
|
31
|
-
h("p", null, errorMessage)))),
|
|
32
|
-
h("div", { id: "qrwait" }, renderRetryQR(waitingStartSessionLabel))));
|
|
5
|
+
const QR = (props) => {
|
|
6
|
+
const { value, useLogo, logoSrc, size, qrType, style } = props;
|
|
7
|
+
return h("gataca-qrdisplay", { qrData: value, rounded: true, qrType: qrType, size: size, "logo-size": useLogo ? 0.33 : 0, "logo-src": logoSrc, qrColor: style === null || style === void 0 ? void 0 : style.color, bgColor: style === null || style === void 0 ? void 0 : style.bgColor });
|
|
33
8
|
};
|
|
34
9
|
|
|
35
10
|
const AnimatedLoader = () => {
|
|
@@ -47,10 +22,12 @@ const AnimatedLoader = () => {
|
|
|
47
22
|
|
|
48
23
|
const ReadQR = (props) => {
|
|
49
24
|
var _a;
|
|
50
|
-
const { modalWidth, readQrMessages, renderQR, url, sizeQR } = props;
|
|
25
|
+
const { modalWidth, readQrMessages, renderQR, url, sizeQR, style } = props;
|
|
51
26
|
return (h("div", { class: "blured", style: {
|
|
52
|
-
width: (modalWidth - 48).toString() +
|
|
53
|
-
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) +
|
|
27
|
+
width: (modalWidth - 48).toString() + 'px',
|
|
28
|
+
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) + 'px' : '',
|
|
29
|
+
backgroundColor: style === null || style === void 0 ? void 0 : style.bgColor,
|
|
30
|
+
color: style === null || style === void 0 ? void 0 : style.color
|
|
54
31
|
} },
|
|
55
32
|
h("div", { id: "notify" },
|
|
56
33
|
h(AnimatedLoader, null),
|
|
@@ -61,19 +38,44 @@ const ReadQR = (props) => {
|
|
|
61
38
|
h("div", { id: "qrwait" }, renderQR(url, false, sizeQR))));
|
|
62
39
|
};
|
|
63
40
|
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
41
|
+
const RetryButton = (props) => {
|
|
42
|
+
var _a;
|
|
43
|
+
const { errorMessage, modalWidth, clickInsideBoxLabel, refreshQrLabel, scanQrLabel, waitingStartSessionLabel, display, renderRetryQR } = props;
|
|
44
|
+
return (h("div", { class: "reload", style: {
|
|
45
|
+
width: (modalWidth - 48).toString() + 'px',
|
|
46
|
+
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) + 'px' : ''
|
|
47
|
+
} },
|
|
48
|
+
h("div", { id: "notify", onClick: () => display() },
|
|
49
|
+
h("img", { src: gatIconRefreshSvg, height: 24, width: 24 }),
|
|
50
|
+
h("p", { class: "notify-text" },
|
|
51
|
+
clickInsideBoxLabel,
|
|
52
|
+
" "),
|
|
53
|
+
errorMessage ? h("p", { class: "notify-text bold" }, refreshQrLabel) : h("p", { class: "notify-text bold" }, scanQrLabel),
|
|
54
|
+
errorMessage && (h("div", { class: "alert", style: {
|
|
55
|
+
width: (modalWidth - 48).toString() + 'px'
|
|
56
|
+
} },
|
|
57
|
+
h("img", { src: gatIconAlertSvg, height: 24, width: 24 }),
|
|
58
|
+
h("p", null, errorMessage)))),
|
|
59
|
+
h("div", { id: "qrwait" }, renderRetryQR(waitingStartSessionLabel))));
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const Success = (props) => {
|
|
63
|
+
const { modalHeight, successLoginLabel } = props;
|
|
64
|
+
return (h("div", { class: 'success', style: {
|
|
65
|
+
height: modalHeight ? (modalHeight === null || modalHeight === void 0 ? void 0 : modalHeight.toString()) + 'px' : '300px'
|
|
66
|
+
} },
|
|
67
|
+
h("img", { src: gatIconCheckSvg, height: 52, width: 52 }),
|
|
68
|
+
h("p", { class: "successMsg" }, successLoginLabel)));
|
|
67
69
|
};
|
|
68
70
|
|
|
69
71
|
const gatacaQrCss = "@import url(\"https://fonts.googleapis.com/css2?family=Ubuntu:wght@100;300;400;500;600;700&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;500;600;700&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400&display=swap\"); html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:\"\";content:none}table{border-collapse:collapse;border-spacing:0}.img-fluid{height:auto;max-width:50%}img{margin-left:auto;margin-right:auto}.brandSection{padding-top:5px;display:flex;align-items:center}.brandSection .gatacaImgSmall{height:13px;width:13px;margin:0;margin-right:10px}.popUpContainer .large-modal{width:300px;min-height:350px}.popUpContainer .modal-window{position:relative;border-radius:6px;overflow:hidden;color:rgba(24, 27, 94, 0.8);box-shadow:0px 3px 10px rgba(48, 48, 48, 0.1);display:flex;flex-direction:column;justify-content:space-between;align-items:center;display:flex;z-index:1001;padding:1px;background-color:white;border-radius:12px;-webkit-transition:opacity 0.5s, visibility 0s 0.5s;transition:opacity 0.5s, visibility 0s 0.5s;visibility:hidden;opacity:0}.popUpContainer .modal-window__content{width:100%;height:100%;text-align:left}.popUpContainer .modal-window__content .hidenText{display:none}.popUpContainer .modal-window .modalText{font-family:\"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:20px;font-style:normal;font-weight:700;line-height:24px;margin-top:10px;letter-spacing:1px}.popUpContainer .modal-window .qrTitleContainer{padding:14px 24px;padding-bottom:0px}.popUpContainer .modal-window .qrTitle{font-size:20px;font-weight:600;line-height:23.5px}.popUpContainer .modal-window .qrDescription{font-family:\"Poppins\", \"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px;color:#707074}.popUpContainer .modal-window .bold{font-weight:700}.popUpContainer .modal-window .qrBrand{margin-top:4px;font-size:14px;font-weight:400;line-height:16.5px;display:flex;align-items:center}.popUpContainer .modal-window .qrBrand img{margin-left:5px;height:12px}.popUpContainer .modal-window .qr-section{width:252px;height:252px}.popUpContainer .noBoxShadow{box-shadow:none}.popUpContainer .is-visible{opacity:1;visibility:visible}.is-transparent{opacity:0}.success{display:flex;height:300px;flex-direction:column;justify-content:center;align-items:center;padding:0px}.success>img{padding-bottom:12px}.success>.successMsg{line-height:23.5px;color:var(--neutral-1000, #1e1e20);text-align:center;font-family:\"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:20px;font-style:normal;font-weight:700;line-height:24px}.reload,.blured{height:252px;width:252px;border:1px dashed #a1a1a1;border-radius:12px;position:relative;top:24px;margin:0 24px 24px;display:flex;overflow:hidden;justify-content:center;align-items:center}#qrwait{display:flex;justify-content:center}#qrwait,#notify{width:100%;height:100%;top:0;left:0;border-radius:20px}#notify{z-index:10;position:absolute;justify-self:center;justify-items:center;justify-content:center;align-items:center;align-content:center;display:flex;flex-direction:column;box-sizing:border-box;padding:20px;background:rgba(255, 255, 255, 0.95)}#notify>img{padding-bottom:12px}.alert{display:flex;flex-direction:row;justify-content:start;width:252px;position:absolute;bottom:0px;border:1px solid #ee888c;background:#ffdedf;border-radius:11px;box-sizing:border-box;padding:12px;align-items:center;gap:12px}.alert>img{margin:0}.alert>p{font-family:\"Poppins\", \"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:14px;font-style:normal;font-weight:400;margin-top:0;line-height:16px;color:#1e1e20}.notify-text{font-family:\"Poppins\", \"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px;color:#707074;text-align:center}.containerLoader{display:flex;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:12px}.loader{position:relative;margin-left:0 !important}.loader__item{position:absolute;width:9.68px;height:4px;background:transparent;border-radius:2px}.loader__item__1{transform:translate(2.5846212025px, 5.4246212025px) rotate(45deg);-webkit-animation:translate(2.5846212025px, 5.4246212025px) rotate(45deg);-moz-animation:translate(2.5846212025px, 5.4246212025px) rotate(45deg);-o-animation:translate(2.5846212025px, 5.4246212025px) rotate(45deg);animation:blink 0.8333333333s linear 0.1041666667s infinite;-webkit-animation:blink 0.8333333333s linear 0.1041666667s infinite;-moz-animation:blink 0.8333333333s linear 0.1041666667s infinite;-o-animation:blink 0.8333333333s linear 0.1041666667s infinite}.loader__item__2{transform:translate(-4.84px, 8.5px) rotate(90deg);-webkit-animation:translate(-4.84px, 8.5px) rotate(90deg);-moz-animation:translate(-4.84px, 8.5px) rotate(90deg);-o-animation:translate(-4.84px, 8.5px) rotate(90deg);animation:blink 0.8333333333s linear 0.2083333333s infinite;-webkit-animation:blink 0.8333333333s linear 0.2083333333s infinite;-moz-animation:blink 0.8333333333s linear 0.2083333333s infinite;-o-animation:blink 0.8333333333s linear 0.2083333333s infinite}.loader__item__3{transform:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);-webkit-animation:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);-moz-animation:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);-o-animation:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);animation:blink 0.8333333333s linear 0.3125s infinite;-webkit-animation:blink 0.8333333333s linear 0.3125s infinite;-moz-animation:blink 0.8333333333s linear 0.3125s infinite;-o-animation:blink 0.8333333333s linear 0.3125s infinite}.loader__item__4{transform:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);-webkit-animation:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);-moz-animation:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);-o-animation:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);animation:blink 0.8333333333s linear 0.4166666667s infinite;-webkit-animation:blink 0.8333333333s linear 0.4166666667s infinite;-moz-animation:blink 0.8333333333s linear 0.4166666667s infinite;-o-animation:blink 0.8333333333s linear 0.4166666667s infinite}.loader__item__5{transform:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);-webkit-animation:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);-moz-animation:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);-o-animation:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);animation:blink 0.8333333333s linear 0.5208333333s infinite;-webkit-animation:blink 0.8333333333s linear 0.5208333333s infinite;-moz-animation:blink 0.8333333333s linear 0.5208333333s infinite;-o-animation:blink 0.8333333333s linear 0.5208333333s infinite}.loader__item__6{transform:translate(-4.8399941857px, -12.499998805px) rotate(270deg);-webkit-animation:translate(-4.8399941857px, -12.499998805px) rotate(270deg);-moz-animation:translate(-4.8399941857px, -12.499998805px) rotate(270deg);-o-animation:translate(-4.8399941857px, -12.499998805px) rotate(270deg);animation:blink 0.8333333333s linear 0.625s infinite;-webkit-animation:blink 0.8333333333s linear 0.625s infinite;-moz-animation:blink 0.8333333333s linear 0.625s infinite;-o-animation:blink 0.8333333333s linear 0.625s infinite}.loader__item__7{transform:translate(2.5847915061px, -9.4245803212px) rotate(315deg);-webkit-animation:translate(2.5847915061px, -9.4245803212px) rotate(315deg);-moz-animation:translate(2.5847915061px, -9.4245803212px) rotate(315deg);-o-animation:translate(2.5847915061px, -9.4245803212px) rotate(315deg);animation:blink 0.8333333333s linear 0.7291666667s infinite;-webkit-animation:blink 0.8333333333s linear 0.7291666667s infinite;-moz-animation:blink 0.8333333333s linear 0.7291666667s infinite;-o-animation:blink 0.8333333333s linear 0.7291666667s infinite}.loader__item__8{transform:translate(5.6631628524px, -1.99913122px) rotate(360deg);-webkit-animation:translate(5.6631628524px, -1.99913122px) rotate(360deg);-moz-animation:translate(5.6631628524px, -1.99913122px) rotate(360deg);-o-animation:translate(5.6631628524px, -1.99913122px) rotate(360deg);animation:blink 0.8333333333s linear 0.8333333333s infinite;-webkit-animation:blink 0.8333333333s linear 0.8333333333s infinite;-moz-animation:blink 0.8333333333s linear 0.8333333333s infinite;-o-animation:blink 0.8333333333s linear 0.8333333333s infinite}.loader__item__8{max-width:8.5px}@keyframes blink{0%{background:#4745B7}100%{background:#CCCBF8}}@keyframes rotate{0%{transform:rotate(0deg)}100%{background:rotate(360deg)}}";
|
|
70
72
|
|
|
71
|
-
const DEEP_LINK_PREFIX =
|
|
73
|
+
const DEEP_LINK_PREFIX = 'https://api.gataca.io/qr/redirect.html';
|
|
72
74
|
//Default values
|
|
73
75
|
const DEFAULT_SESSION_TIMEOUT = 300; //5mins as in connect
|
|
74
76
|
const DEFAULT_POLLING_FREQ = 3;
|
|
75
77
|
const GatacaQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
76
|
-
constructor() { super(); this.__registerHost(); this.__attachShadow(); this.gatacaLoginCompleted = createEvent(this, "gatacaLoginCompleted", 7); this.gatacaLoginFailed = createEvent(this, "gatacaLoginFailed", 7); this.checkStatus = undefined; this.createSession = undefined; this.successCallback = undefined; this.errorCallback = undefined; this.qrRole = undefined; this.qrType =
|
|
78
|
+
constructor() { super(); this.__registerHost(); this.__attachShadow(); this.gatacaLoginCompleted = createEvent(this, "gatacaLoginCompleted", 7); this.gatacaLoginFailed = createEvent(this, "gatacaLoginFailed", 7); this.checkStatus = undefined; this.createSession = undefined; this.successCallback = undefined; this.errorCallback = undefined; this.qrRole = undefined; this.qrType = 'svg'; this.callbackServer = undefined; this.autostart = true; this.autorefresh = false; this.v = '3'; this.qrModalTitle = 'Quick Access'; this.modalTitleColor = '#4745B7'; this.qrModalDescription = 'Sign up or sign in by scanning the QR Code with the Gataca Wallet'; this.hideModalTexts = false; this.hideModalBoxShadow = false; this.hideBrandTitle = false; this.logoSize = 0; this.logoSrc = logoGatacaSvg; this.qrSize = 300; this.modalWidth = 300; this.modalHeight = undefined; this.qrCodeExpiredLabel = 'QR Code expired'; this.credentialsNotValidatedLabel = 'User credentials not validated'; this.clickInsideBoxLabel = 'Click inside the box to'; this.refreshQrLabel = 'Refresh QR Code'; this.scanQrLabel = 'Scan QR Code'; this.userNotScanInTimeErrorLabel = 'User did not scan the QR in the allowed time'; this.credsNotValidatedErrorLabel = "Provided user credentials couldn't be validated"; this.failedLoginErrorLabel = 'No successful login'; this.successLoginLabel = 'Successful Connection!'; this.byBrandLabel = 'by Gataca'; this.waitingStartSessionLabel = 'waiting to start a session'; this.readQrTitle = 'Processing...'; this.readQrDescription = 'Please wait a moment'; this.hideQrModalDescription = false; this.sessionTimeout = DEFAULT_SESSION_TIMEOUT; this.pollingFrequency = DEFAULT_POLLING_FREQ; this.dynamicLink = true; this.qrStyle = undefined; this.sessionId = undefined; this.authenticationRequest = undefined; this.sessionData = undefined; this.result = RESULT_STATUS.NOT_STARTED; }
|
|
77
79
|
disconnectedCallback() {
|
|
78
80
|
this.stop();
|
|
79
81
|
}
|
|
@@ -103,9 +105,7 @@ const GatacaQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
103
105
|
}
|
|
104
106
|
else {
|
|
105
107
|
if (err !== RESULT_STATUS.NOT_STARTED) {
|
|
106
|
-
let error = expired
|
|
107
|
-
? new Error(this.userNotScanInTimeErrorLabel)
|
|
108
|
-
: new Error(this.credsNotValidatedErrorLabel);
|
|
108
|
+
let error = expired ? new Error(this.userNotScanInTimeErrorLabel) : new Error(this.credsNotValidatedErrorLabel);
|
|
109
109
|
this.result = err;
|
|
110
110
|
this.gatacaLoginFailed.emit(error);
|
|
111
111
|
this.errorCallback(error);
|
|
@@ -133,9 +133,7 @@ const GatacaQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
133
133
|
* Retrieve manually the session data on a successful login
|
|
134
134
|
*/
|
|
135
135
|
async getSessionData() {
|
|
136
|
-
return this.sessionData
|
|
137
|
-
? Promise.resolve(this.sessionData)
|
|
138
|
-
: Promise.reject(new Error(this.failedLoginErrorLabel));
|
|
136
|
+
return this.sessionData ? Promise.resolve(this.sessionData) : Promise.reject(new Error(this.failedLoginErrorLabel));
|
|
139
137
|
}
|
|
140
138
|
async getSessionId() {
|
|
141
139
|
if (this.sessionId) {
|
|
@@ -147,15 +145,14 @@ const GatacaQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
147
145
|
return this.sessionId;
|
|
148
146
|
}
|
|
149
147
|
getLink() {
|
|
150
|
-
if (this.v ===
|
|
148
|
+
if (this.v === '2') {
|
|
151
149
|
return this.authenticationRequest;
|
|
152
150
|
}
|
|
153
|
-
const authRequestEncoded =
|
|
151
|
+
const authRequestEncoded = '?dl=' + base64UrlEncode(this.authenticationRequest);
|
|
154
152
|
return DEEP_LINK_PREFIX + authRequestEncoded;
|
|
155
153
|
}
|
|
156
154
|
async poll() {
|
|
157
|
-
let endTime = new Date().getTime() +
|
|
158
|
-
(this.sessionTimeout || DEFAULT_SESSION_TIMEOUT) * 1000;
|
|
155
|
+
let endTime = new Date().getTime() + (this.sessionTimeout || DEFAULT_SESSION_TIMEOUT) * 1000;
|
|
159
156
|
let interval = (this.pollingFrequency || DEFAULT_POLLING_FREQ) * 1000;
|
|
160
157
|
let checkFunc = async (component) => {
|
|
161
158
|
if (component.result === RESULT_STATUS.NOT_STARTED) {
|
|
@@ -204,40 +201,35 @@ const GatacaQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
204
201
|
case RESULT_STATUS.READ:
|
|
205
202
|
return this.renderReadQR({
|
|
206
203
|
title: this === null || this === void 0 ? void 0 : this.readQrTitle,
|
|
207
|
-
description: this === null || this === void 0 ? void 0 : this.readQrDescription
|
|
204
|
+
description: this === null || this === void 0 ? void 0 : this.readQrDescription
|
|
208
205
|
});
|
|
209
206
|
}
|
|
210
207
|
}
|
|
211
208
|
renderSuccess() {
|
|
212
|
-
return
|
|
209
|
+
return h(Success, { modalHeight: this === null || this === void 0 ? void 0 : this.modalHeight, successLoginLabel: this === null || this === void 0 ? void 0 : this.successLoginLabel });
|
|
213
210
|
}
|
|
214
211
|
renderRetryButton(errorMessage) {
|
|
215
212
|
return (h(RetryButton, { errorMessage: errorMessage, modalWidth: this === null || this === void 0 ? void 0 : this.modalWidth, clickInsideBoxLabel: this === null || this === void 0 ? void 0 : this.clickInsideBoxLabel, refreshQrLabel: this === null || this === void 0 ? void 0 : this.refreshQrLabel, scanQrLabel: this === null || this === void 0 ? void 0 : this.scanQrLabel, waitingStartSessionLabel: this === null || this === void 0 ? void 0 : this.waitingStartSessionLabel, display: this.display.bind(this), renderRetryQR: this.renderRetryQR.bind(this) }));
|
|
216
213
|
}
|
|
217
214
|
renderReadQR(readQrMessages) {
|
|
218
|
-
return
|
|
215
|
+
return h(ReadQR, { modalWidth: this === null || this === void 0 ? void 0 : this.modalWidth, readQrMessages: readQrMessages, url: this.getLink(), sizeQR: (this === null || this === void 0 ? void 0 : this.qrSize) ? (this === null || this === void 0 ? void 0 : this.qrSize) - 50 : undefined, renderQR: this.renderQR.bind(this) });
|
|
219
216
|
}
|
|
220
217
|
renderQR(value, useLogo, sizeQR) {
|
|
221
|
-
return
|
|
218
|
+
return h(QR, { value: value, qrType: this.qrType, useLogo: useLogo && this.logoSize !== 0, size: sizeQR || (this === null || this === void 0 ? void 0 : this.qrSize) || undefined, logoSrc: this === null || this === void 0 ? void 0 : this.logoSrc, style: this === null || this === void 0 ? void 0 : this.qrStyle });
|
|
222
219
|
}
|
|
223
220
|
renderRetryQR(value, useLogo) {
|
|
224
|
-
return
|
|
221
|
+
return h(QR, { value: value, useLogo: useLogo && this.logoSize !== 0, qrType: this.qrType, size: (this === null || this === void 0 ? void 0 : this.qrSize) ? (this === null || this === void 0 ? void 0 : this.qrSize) - 50 : undefined, logoSrc: this === null || this === void 0 ? void 0 : this.logoSrc, style: this === null || this === void 0 ? void 0 : this.qrStyle });
|
|
225
222
|
}
|
|
226
223
|
render() {
|
|
227
224
|
var _a, _b;
|
|
228
|
-
return (h("div", { class: "popUpContainer" }, h("div", { class: `is-visible modal-window ${this.hideModalTexts ?
|
|
229
|
-
width: (this.modalWidth - 2).toString() +
|
|
230
|
-
height: this.modalHeight
|
|
231
|
-
? ((_a = (this.modalHeight - 2)) === null || _a === void 0 ? void 0 : _a.toString()) + "px"
|
|
232
|
-
: "",
|
|
225
|
+
return (h("div", { class: "popUpContainer" }, h("div", { class: `is-visible modal-window ${this.hideModalTexts ? '' : 'large-modal'} ${this.hideModalBoxShadow ? 'noBoxShadow' : ''}`, style: {
|
|
226
|
+
width: (this.modalWidth - 2).toString() + 'px',
|
|
227
|
+
height: this.modalHeight ? ((_a = (this.modalHeight - 2)) === null || _a === void 0 ? void 0 : _a.toString()) + 'px' : ''
|
|
233
228
|
}, onClick: (event) => {
|
|
234
229
|
event.stopPropagation();
|
|
235
|
-
} }, h("div", { class: "modal-window__content" }, h("div", { class: `qrTitleContainer ${this.hideModalTexts ?
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
height: this.modalWidth
|
|
239
|
-
? ((_b = this.modalWidth) === null || _b === void 0 ? void 0 : _b.toString()) + "px"
|
|
240
|
-
: "",
|
|
230
|
+
} }, h("div", { class: "modal-window__content" }, h("div", { class: `qrTitleContainer ${this.hideModalTexts ? 'hidenText' : ''}` }, h("p", { class: "qrTitle modalText", style: { color: this.modalTitleColor || '#1e1e20' } }, this.qrModalTitle), !this.hideBrandTitle && (h("p", { class: "qrBrand modalText" }, this.byBrandLabel, ' ', h("span", null, h("img", { src: logoGatacaSvg })))), this.result !== RESULT_STATUS.SUCCESS && !this.hideQrModalDescription && h("p", { class: "qrDescription modalText" }, this.qrModalDescription)), h("div", { class: "qrSection", style: {
|
|
231
|
+
width: this.modalWidth.toString() + 'px',
|
|
232
|
+
height: this.modalWidth ? ((_b = this.modalWidth) === null || _b === void 0 ? void 0 : _b.toString()) + 'px' : ''
|
|
241
233
|
} }, this.renderQRSection())))));
|
|
242
234
|
}
|
|
243
235
|
static get style() { return gatacaQrCss; }
|
|
@@ -280,6 +272,7 @@ const GatacaQR = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
280
272
|
"sessionTimeout": [2, "session-timeout"],
|
|
281
273
|
"pollingFrequency": [2, "polling-frequency"],
|
|
282
274
|
"dynamicLink": [4, "dynamic-link"],
|
|
275
|
+
"qrStyle": [16],
|
|
283
276
|
"sessionId": [32],
|
|
284
277
|
"authenticationRequest": [32],
|
|
285
278
|
"sessionData": [32],
|
|
@@ -32,11 +32,12 @@ const GatacaQRDisplay = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
32
32
|
super();
|
|
33
33
|
this.__registerHost();
|
|
34
34
|
this.qrData = undefined;
|
|
35
|
-
this.qrType =
|
|
35
|
+
this.qrType = 'svg';
|
|
36
36
|
this.size = 256;
|
|
37
37
|
this.logoSize = 0;
|
|
38
38
|
this.logoSrc = undefined;
|
|
39
|
-
this.qrColor =
|
|
39
|
+
this.qrColor = '#1E1E20';
|
|
40
|
+
this.bgColor = '#FFFFFF';
|
|
40
41
|
this.rounded = true;
|
|
41
42
|
}
|
|
42
43
|
componentDidLoad() {
|
|
@@ -49,18 +50,21 @@ const GatacaQRDisplay = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
49
50
|
type: this.qrType,
|
|
50
51
|
dotsOptions: {
|
|
51
52
|
color: this.qrColor,
|
|
52
|
-
type: this.rounded ?
|
|
53
|
+
type: this.rounded ? 'dots' : 'square'
|
|
53
54
|
},
|
|
54
55
|
cornersSquareOptions: {
|
|
55
|
-
type: this.rounded ?
|
|
56
|
+
type: this.rounded ? 'extra-rounded' : 'square'
|
|
56
57
|
},
|
|
57
58
|
cornersDotOptions: {
|
|
58
|
-
type: this.rounded ?
|
|
59
|
+
type: this.rounded ? 'dot' : 'square'
|
|
59
60
|
},
|
|
60
61
|
imageOptions: {
|
|
61
62
|
margin: 2,
|
|
62
|
-
imageSize: this.logoSize
|
|
63
|
+
imageSize: this.logoSize
|
|
63
64
|
},
|
|
65
|
+
backgroundOptions: {
|
|
66
|
+
color: this.bgColor
|
|
67
|
+
}
|
|
64
68
|
});
|
|
65
69
|
qrCode.append(this.qr);
|
|
66
70
|
}
|
|
@@ -76,6 +80,7 @@ const GatacaQRDisplay = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
76
80
|
"logoSize": [2, "logo-size"],
|
|
77
81
|
"logoSrc": [1, "logo-src"],
|
|
78
82
|
"qrColor": [1, "qr-color"],
|
|
83
|
+
"bgColor": [1, "bg-color"],
|
|
79
84
|
"rounded": [4]
|
|
80
85
|
}]);
|
|
81
86
|
function defineCustomElement() {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
|
|
2
2
|
import { l as logoGatacaSvg, d as defineCustomElement$1 } from './gataca-qrdisplay2.js';
|
|
3
|
-
import {
|
|
3
|
+
import { d as gatIconCheckSvg, g as gatIconRefreshSvg, a as gatIconAlertSvg, R as RESULT_STATUS, c as checkMobile, b as base64UrlEncode } from './gat-icon-check.js';
|
|
4
4
|
|
|
5
5
|
const Success = (props) => {
|
|
6
6
|
const { modalHeight, successLoginLabel } = props;
|
|
7
|
-
return (h("div", { class:
|
|
8
|
-
height: modalHeight ? (modalHeight === null || modalHeight === void 0 ? void 0 : modalHeight.toString()) +
|
|
7
|
+
return (h("div", { class: 'success', style: {
|
|
8
|
+
height: modalHeight ? (modalHeight === null || modalHeight === void 0 ? void 0 : modalHeight.toString()) + 'px' : '300px'
|
|
9
9
|
} },
|
|
10
10
|
h("img", { src: gatIconCheckSvg, height: 52, width: 52 }),
|
|
11
11
|
h("p", { class: "successMsg" }, successLoginLabel)));
|
|
@@ -13,19 +13,19 @@ const Success = (props) => {
|
|
|
13
13
|
|
|
14
14
|
const RetryButton = (props) => {
|
|
15
15
|
var _a;
|
|
16
|
-
const { errorMessage, modalWidth, clickInsideBoxLabel, refreshQrLabel, scanQrLabel, waitingStartSessionLabel, display, renderRetryQR
|
|
16
|
+
const { errorMessage, modalWidth, clickInsideBoxLabel, refreshQrLabel, scanQrLabel, waitingStartSessionLabel, display, renderRetryQR } = props;
|
|
17
17
|
return (h("div", { class: "reload", style: {
|
|
18
|
-
width: (modalWidth - 48).toString() +
|
|
19
|
-
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) +
|
|
18
|
+
width: (modalWidth - 48).toString() + 'px',
|
|
19
|
+
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) + 'px' : ''
|
|
20
20
|
} },
|
|
21
21
|
h("div", { id: "notify", onClick: () => display() },
|
|
22
22
|
h("img", { src: gatIconRefreshSvg, height: 24, width: 24 }),
|
|
23
23
|
h("p", { class: "notify-text" },
|
|
24
24
|
clickInsideBoxLabel,
|
|
25
25
|
" "),
|
|
26
|
-
errorMessage ?
|
|
26
|
+
errorMessage ? h("p", { class: "notify-text bold" }, refreshQrLabel) : h("p", { class: "notify-text bold" }, scanQrLabel),
|
|
27
27
|
errorMessage && (h("div", { class: "alert", style: {
|
|
28
|
-
width: (modalWidth - 48).toString() +
|
|
28
|
+
width: (modalWidth - 48).toString() + 'px'
|
|
29
29
|
} },
|
|
30
30
|
h("img", { src: gatIconAlertSvg, height: 24, width: 24 }),
|
|
31
31
|
h("p", null, errorMessage)))),
|
|
@@ -34,7 +34,7 @@ const RetryButton = (props) => {
|
|
|
34
34
|
|
|
35
35
|
const QR = (props) => {
|
|
36
36
|
const { value, useLogo, logoSrc, size, qrType } = props;
|
|
37
|
-
return
|
|
37
|
+
return h("gataca-qrdisplay", { qrData: value, rounded: true, size: size, qrType: qrType, "logo-size": useLogo ? 0.33 : 0, "logo-src": logoSrc });
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
const AnimatedLoader = () => {
|
|
@@ -54,8 +54,8 @@ const ReadQR = (props) => {
|
|
|
54
54
|
var _a;
|
|
55
55
|
const { modalWidth, readQrMessages, renderQR, url, sizeQR } = props;
|
|
56
56
|
return (h("div", { class: "blured", style: {
|
|
57
|
-
width: (modalWidth - 48).toString() +
|
|
58
|
-
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) +
|
|
57
|
+
width: (modalWidth - 48).toString() + 'px',
|
|
58
|
+
height: modalWidth ? ((_a = (modalWidth - 48)) === null || _a === void 0 ? void 0 : _a.toString()) + 'px' : ''
|
|
59
59
|
} },
|
|
60
60
|
h("div", { id: "notify" },
|
|
61
61
|
h(AnimatedLoader, null),
|
|
@@ -68,11 +68,11 @@ const ReadQR = (props) => {
|
|
|
68
68
|
|
|
69
69
|
const gatacaQrwsCss = "@import url(\"https://fonts.googleapis.com/css2?family=Ubuntu:wght@100;300;400;500;600;700&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;500;600;700&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400&display=swap\"); html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:\"\";content:none}table{border-collapse:collapse;border-spacing:0}.img-fluid{height:auto;max-width:50%}img{margin-left:auto;margin-right:auto}.brandSection{padding-top:5px;display:flex;align-items:center}.brandSection .gatacaImgSmall{height:13px;width:13px;margin:0;margin-right:10px}.popUpContainer .large-modal{width:300px;min-height:350px}.popUpContainer .modal-window{position:relative;border-radius:6px;overflow:hidden;color:rgba(24, 27, 94, 0.8);box-shadow:0px 3px 10px rgba(48, 48, 48, 0.1);display:flex;flex-direction:column;justify-content:space-between;align-items:center;display:flex;z-index:1001;padding:1px;background-color:white;border-radius:12px;-webkit-transition:opacity 0.5s, visibility 0s 0.5s;transition:opacity 0.5s, visibility 0s 0.5s;visibility:hidden;opacity:0}.popUpContainer .modal-window__content{width:100%;height:100%;text-align:left}.popUpContainer .modal-window__content .hidenText{display:none}.popUpContainer .modal-window .modalText{font-family:\"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:20px;font-style:normal;font-weight:700;line-height:24px;margin-top:10px;letter-spacing:1px}.popUpContainer .modal-window .qrTitleContainer{padding:14px 24px;padding-bottom:0px}.popUpContainer .modal-window .qrTitle{font-size:20px;font-weight:600;line-height:23.5px}.popUpContainer .modal-window .qrDescription{font-family:\"Poppins\", \"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px;color:#707074}.popUpContainer .modal-window .bold{font-weight:700}.popUpContainer .modal-window .qrBrand{margin-top:4px;font-size:14px;font-weight:400;line-height:16.5px;display:flex;align-items:center}.popUpContainer .modal-window .qrBrand img{margin-left:5px;height:12px}.popUpContainer .modal-window .qr-section{width:252px;height:252px}.popUpContainer .noBoxShadow{box-shadow:none}.popUpContainer .is-visible{opacity:1;visibility:visible}.is-transparent{opacity:0}.success{display:flex;height:300px;flex-direction:column;justify-content:center;align-items:center;padding:0px}.success>img{padding-bottom:12px}.success>.successMsg{line-height:23.5px;color:var(--neutral-1000, #1e1e20);text-align:center;font-family:\"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:20px;font-style:normal;font-weight:700;line-height:24px}.reload,.blured{height:252px;width:252px;border:1px dashed #a1a1a1;border-radius:12px;position:relative;top:24px;margin:0 24px 24px;display:flex;overflow:hidden;justify-content:center;align-items:center}#qrwait{display:flex;justify-content:center}#qrwait,#notify{width:100%;height:100%;top:0;left:0;border-radius:20px}#notify{z-index:10;position:absolute;justify-self:center;justify-items:center;justify-content:center;align-items:center;align-content:center;display:flex;flex-direction:column;box-sizing:border-box;padding:20px;background:rgba(255, 255, 255, 0.95)}#notify>img{padding-bottom:12px}.alert{display:flex;flex-direction:row;justify-content:start;width:252px;position:absolute;bottom:0px;border:1px solid #ee888c;background:#ffdedf;border-radius:11px;box-sizing:border-box;padding:12px;align-items:center;gap:12px}.alert>img{margin:0}.alert>p{font-family:\"Poppins\", \"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:14px;font-style:normal;font-weight:400;margin-top:0;line-height:16px;color:#1e1e20}.notify-text{font-family:\"Poppins\", \"Ubuntu\", \"Work Sans\", \"Helvetica Neue\", sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px;color:#707074;text-align:center}.containerLoader{display:flex;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:12px}.loader{position:relative;margin-left:0 !important}.loader__item{position:absolute;width:9.68px;height:4px;background:transparent;border-radius:2px}.loader__item__1{transform:translate(2.5846212025px, 5.4246212025px) rotate(45deg);-webkit-animation:translate(2.5846212025px, 5.4246212025px) rotate(45deg);-moz-animation:translate(2.5846212025px, 5.4246212025px) rotate(45deg);-o-animation:translate(2.5846212025px, 5.4246212025px) rotate(45deg);animation:blink 0.8333333333s linear 0.1041666667s infinite;-webkit-animation:blink 0.8333333333s linear 0.1041666667s infinite;-moz-animation:blink 0.8333333333s linear 0.1041666667s infinite;-o-animation:blink 0.8333333333s linear 0.1041666667s infinite}.loader__item__2{transform:translate(-4.84px, 8.5px) rotate(90deg);-webkit-animation:translate(-4.84px, 8.5px) rotate(90deg);-moz-animation:translate(-4.84px, 8.5px) rotate(90deg);-o-animation:translate(-4.84px, 8.5px) rotate(90deg);animation:blink 0.8333333333s linear 0.2083333333s infinite;-webkit-animation:blink 0.8333333333s linear 0.2083333333s infinite;-moz-animation:blink 0.8333333333s linear 0.2083333333s infinite;-o-animation:blink 0.8333333333s linear 0.2083333333s infinite}.loader__item__3{transform:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);-webkit-animation:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);-moz-animation:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);-o-animation:translate(-12.2646212025px, 5.4246212025px) rotate(135deg);animation:blink 0.8333333333s linear 0.3125s infinite;-webkit-animation:blink 0.8333333333s linear 0.3125s infinite;-moz-animation:blink 0.8333333333s linear 0.3125s infinite;-o-animation:blink 0.8333333333s linear 0.3125s infinite}.loader__item__4{transform:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);-webkit-animation:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);-moz-animation:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);-o-animation:translate(-15.3399999992px, -1.9999999999px) rotate(180deg);animation:blink 0.8333333333s linear 0.4166666667s infinite;-webkit-animation:blink 0.8333333333s linear 0.4166666667s infinite;-moz-animation:blink 0.8333333333s linear 0.4166666667s infinite;-o-animation:blink 0.8333333333s linear 0.4166666667s infinite}.loader__item__5{transform:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);-webkit-animation:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);-moz-animation:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);-o-animation:translate(-12.2646210959px, -9.4246211842px) rotate(225deg);animation:blink 0.8333333333s linear 0.5208333333s infinite;-webkit-animation:blink 0.8333333333s linear 0.5208333333s infinite;-moz-animation:blink 0.8333333333s linear 0.5208333333s infinite;-o-animation:blink 0.8333333333s linear 0.5208333333s infinite}.loader__item__6{transform:translate(-4.8399941857px, -12.499998805px) rotate(270deg);-webkit-animation:translate(-4.8399941857px, -12.499998805px) rotate(270deg);-moz-animation:translate(-4.8399941857px, -12.499998805px) rotate(270deg);-o-animation:translate(-4.8399941857px, -12.499998805px) rotate(270deg);animation:blink 0.8333333333s linear 0.625s infinite;-webkit-animation:blink 0.8333333333s linear 0.625s infinite;-moz-animation:blink 0.8333333333s linear 0.625s infinite;-o-animation:blink 0.8333333333s linear 0.625s infinite}.loader__item__7{transform:translate(2.5847915061px, -9.4245803212px) rotate(315deg);-webkit-animation:translate(2.5847915061px, -9.4245803212px) rotate(315deg);-moz-animation:translate(2.5847915061px, -9.4245803212px) rotate(315deg);-o-animation:translate(2.5847915061px, -9.4245803212px) rotate(315deg);animation:blink 0.8333333333s linear 0.7291666667s infinite;-webkit-animation:blink 0.8333333333s linear 0.7291666667s infinite;-moz-animation:blink 0.8333333333s linear 0.7291666667s infinite;-o-animation:blink 0.8333333333s linear 0.7291666667s infinite}.loader__item__8{transform:translate(5.6631628524px, -1.99913122px) rotate(360deg);-webkit-animation:translate(5.6631628524px, -1.99913122px) rotate(360deg);-moz-animation:translate(5.6631628524px, -1.99913122px) rotate(360deg);-o-animation:translate(5.6631628524px, -1.99913122px) rotate(360deg);animation:blink 0.8333333333s linear 0.8333333333s infinite;-webkit-animation:blink 0.8333333333s linear 0.8333333333s infinite;-moz-animation:blink 0.8333333333s linear 0.8333333333s infinite;-o-animation:blink 0.8333333333s linear 0.8333333333s infinite}.loader__item__8{max-width:8.5px}@keyframes blink{0%{background:#4745B7}100%{background:#CCCBF8}}@keyframes rotate{0%{transform:rotate(0deg)}100%{background:rotate(360deg)}}";
|
|
70
70
|
|
|
71
|
-
const DEEP_LINK_PREFIX =
|
|
71
|
+
const DEEP_LINK_PREFIX = 'https://api.gataca.io/qr/redirect.html';
|
|
72
72
|
const DEFAULT_SESSION_TIMEOUT = 300;
|
|
73
|
-
const QR_ROLE_CONNECT =
|
|
73
|
+
const QR_ROLE_CONNECT = 'connect';
|
|
74
74
|
const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
75
|
-
constructor() { super(); this.__registerHost(); this.__attachShadow(); this.gatacaLoginCompleted = createEvent(this, "gatacaLoginCompleted", 7); this.gatacaLoginFailed = createEvent(this, "gatacaLoginFailed", 7); this.successCallback = undefined; this.errorCallback = undefined; this.qrRole = undefined; this.qrType =
|
|
75
|
+
constructor() { super(); this.__registerHost(); this.__attachShadow(); this.gatacaLoginCompleted = createEvent(this, "gatacaLoginCompleted", 7); this.gatacaLoginFailed = createEvent(this, "gatacaLoginFailed", 7); this.successCallback = undefined; this.errorCallback = undefined; this.qrRole = undefined; this.qrType = 'svg'; this.callbackServer = undefined; this.socketEndpoint = undefined; this.sessionTimeout = DEFAULT_SESSION_TIMEOUT; this.wsOnOpen = undefined; this.wsOnMessage = undefined; this.autostart = true; this.autorefresh = false; this.v = '3'; this.qrModalTitle = 'Quick Access'; this.modalTitleColor = '#4745B7'; this.qrModalDescription = 'Sign up or sign in by scanning the QR Code with the Gataca Wallet'; this.hideModalTexts = false; this.hideModalBoxShadow = false; this.hideBrandTitle = false; this.logoSize = 0; this.logoSrc = logoGatacaSvg; this.qrSize = 300; this.modalWidth = 300; this.modalHeight = undefined; this.qrCodeExpiredLabel = 'QR Code expired'; this.credentialsNotValidatedLabel = 'User credentials not validated'; this.clickInsideBoxLabel = 'Click inside the box to'; this.refreshQrLabel = 'Refresh QR Code'; this.scanQrLabel = 'Scan QR Code'; this.userNotScanInTimeErrorLabel = 'User did not scan the QR in the allowed time'; this.credsNotValidatedErrorLabel = "Provided user credentials couldn't be validated"; this.failedLoginErrorLabel = 'No successful login'; this.successLoginLabel = 'Successful Connection!'; this.byBrandLabel = 'by Gataca'; this.waitingStartSessionLabel = 'waiting to start a session'; this.readQrTitle = 'Processing...'; this.readQrDescription = 'Please wait a moment'; this.hideQrModalDescription = false; this.dynamicLink = true; this.sessionId = undefined; this.authenticationRequest = undefined; this.sessionData = undefined; this.result = RESULT_STATUS.NOT_STARTED; }
|
|
76
76
|
disconnectedCallback() {
|
|
77
77
|
this.stop();
|
|
78
78
|
}
|
|
@@ -87,7 +87,7 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
87
87
|
async display() {
|
|
88
88
|
let socket = new WebSocket(this.socketEndpoint);
|
|
89
89
|
setTimeout(() => {
|
|
90
|
-
this.socket.close(1000,
|
|
90
|
+
this.socket.close(1000, '');
|
|
91
91
|
}, 1000 * this.sessionTimeout);
|
|
92
92
|
this.socket = socket;
|
|
93
93
|
socket.onopen = () => {
|
|
@@ -106,11 +106,11 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
106
106
|
}
|
|
107
107
|
};
|
|
108
108
|
socket.onerror = () => {
|
|
109
|
-
let error = new Error(
|
|
109
|
+
let error = new Error('Error connecting with server');
|
|
110
110
|
this.result = RESULT_STATUS.FAILED;
|
|
111
111
|
this.gatacaLoginFailed.emit(error);
|
|
112
112
|
this.errorCallback(error);
|
|
113
|
-
socket.close(1000,
|
|
113
|
+
socket.close(1000, '');
|
|
114
114
|
};
|
|
115
115
|
socket.onclose = () => {
|
|
116
116
|
if (this.result === RESULT_STATUS.ONGOING || RESULT_STATUS.READ) {
|
|
@@ -121,7 +121,7 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
121
121
|
this.display();
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
|
-
let error = new Error(
|
|
124
|
+
let error = new Error('User did not scan the QR in the alloted time');
|
|
125
125
|
this.gatacaLoginFailed.emit(error);
|
|
126
126
|
this.errorCallback(error);
|
|
127
127
|
}
|
|
@@ -147,7 +147,7 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
147
147
|
this.sessionData = wsresp.authenticatedUserData;
|
|
148
148
|
this.gatacaLoginCompleted.emit(wsresp.authenticatedUserData);
|
|
149
149
|
this.successCallback(wsresp.authenticatedUserData);
|
|
150
|
-
this.socket.close(1000,
|
|
150
|
+
this.socket.close(1000, '');
|
|
151
151
|
break;
|
|
152
152
|
case RESULT_STATUS.FAILED:
|
|
153
153
|
this.socket.close();
|
|
@@ -161,7 +161,7 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
161
161
|
this.display();
|
|
162
162
|
}
|
|
163
163
|
else {
|
|
164
|
-
let error = new Error(
|
|
164
|
+
let error = new Error('User did not scan the QR in the alloted time');
|
|
165
165
|
this.gatacaLoginFailed.emit(error);
|
|
166
166
|
this.errorCallback(error);
|
|
167
167
|
}
|
|
@@ -173,21 +173,19 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
173
173
|
async stop() {
|
|
174
174
|
this.sessionData = undefined;
|
|
175
175
|
this.sessionId = undefined;
|
|
176
|
-
this.socket.close(1000,
|
|
176
|
+
this.socket.close(1000, 'Client stopped the connection');
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
179
179
|
* Retrieve manually the session data on a successful login
|
|
180
180
|
*/
|
|
181
181
|
async getSessionData() {
|
|
182
|
-
return this.sessionData
|
|
183
|
-
? Promise.resolve(this.sessionData)
|
|
184
|
-
: Promise.reject(new Error("No successful login"));
|
|
182
|
+
return this.sessionData ? Promise.resolve(this.sessionData) : Promise.reject(new Error('No successful login'));
|
|
185
183
|
}
|
|
186
184
|
getLink() {
|
|
187
|
-
if (this.v ===
|
|
185
|
+
if (this.v === '2' && this.qrRole == QR_ROLE_CONNECT) {
|
|
188
186
|
return this.authenticationRequest;
|
|
189
187
|
}
|
|
190
|
-
const authRequestEncoded =
|
|
188
|
+
const authRequestEncoded = '?dl=' + base64UrlEncode(this.authenticationRequest);
|
|
191
189
|
return DEEP_LINK_PREFIX + authRequestEncoded;
|
|
192
190
|
}
|
|
193
191
|
renderQRSection() {
|
|
@@ -205,40 +203,35 @@ const GatacaQRWS = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
205
203
|
case RESULT_STATUS.READ:
|
|
206
204
|
return this.renderReadQR({
|
|
207
205
|
title: this === null || this === void 0 ? void 0 : this.readQrTitle,
|
|
208
|
-
description: this === null || this === void 0 ? void 0 : this.readQrDescription
|
|
206
|
+
description: this === null || this === void 0 ? void 0 : this.readQrDescription
|
|
209
207
|
});
|
|
210
208
|
}
|
|
211
209
|
}
|
|
212
210
|
renderSuccess() {
|
|
213
|
-
return
|
|
211
|
+
return h(Success, { modalHeight: this === null || this === void 0 ? void 0 : this.modalHeight, successLoginLabel: this === null || this === void 0 ? void 0 : this.successLoginLabel });
|
|
214
212
|
}
|
|
215
213
|
renderRetryButton(errorMessage) {
|
|
216
214
|
return (h(RetryButton, { errorMessage: errorMessage, modalWidth: this === null || this === void 0 ? void 0 : this.modalWidth, clickInsideBoxLabel: this === null || this === void 0 ? void 0 : this.clickInsideBoxLabel, refreshQrLabel: this === null || this === void 0 ? void 0 : this.refreshQrLabel, scanQrLabel: this === null || this === void 0 ? void 0 : this.scanQrLabel, waitingStartSessionLabel: this === null || this === void 0 ? void 0 : this.waitingStartSessionLabel, display: this.display.bind(this), renderRetryQR: this.renderRetryQR.bind(this) }));
|
|
217
215
|
}
|
|
218
216
|
renderReadQR(readQrMessages) {
|
|
219
|
-
return
|
|
217
|
+
return h(ReadQR, { modalWidth: this === null || this === void 0 ? void 0 : this.modalWidth, readQrMessages: readQrMessages, url: this.getLink(), sizeQR: (this === null || this === void 0 ? void 0 : this.qrSize) ? (this === null || this === void 0 ? void 0 : this.qrSize) - 50 : undefined, renderQR: this.renderQR.bind(this) });
|
|
220
218
|
}
|
|
221
219
|
renderQR(value, useLogo, sizeQR) {
|
|
222
|
-
return
|
|
220
|
+
return h(QR, { value: value, qrType: this.qrType, useLogo: useLogo && this.logoSize !== 0, size: sizeQR || (this === null || this === void 0 ? void 0 : this.qrSize) || undefined, logoSrc: this === null || this === void 0 ? void 0 : this.logoSrc });
|
|
223
221
|
}
|
|
224
222
|
renderRetryQR(value, useLogo) {
|
|
225
|
-
return
|
|
223
|
+
return h(QR, { value: value, qrType: this.qrType, useLogo: useLogo && this.logoSize !== 0, size: (this === null || this === void 0 ? void 0 : this.qrSize) ? (this === null || this === void 0 ? void 0 : this.qrSize) - 50 : undefined, logoSrc: this === null || this === void 0 ? void 0 : this.logoSrc });
|
|
226
224
|
}
|
|
227
225
|
render() {
|
|
228
226
|
var _a, _b;
|
|
229
|
-
return (h("div", { class: "popUpContainer" }, h("div", { class: `is-visible modal-window ${this.hideModalTexts ?
|
|
230
|
-
width: (this.modalWidth - 2).toString() +
|
|
231
|
-
height: this.modalHeight
|
|
232
|
-
? ((_a = (this.modalHeight - 2)) === null || _a === void 0 ? void 0 : _a.toString()) + "px"
|
|
233
|
-
: "",
|
|
227
|
+
return (h("div", { class: "popUpContainer" }, h("div", { class: `is-visible modal-window ${this.hideModalTexts ? '' : 'large-modal'} ${this.hideModalBoxShadow ? 'noBoxShadow' : ''}`, style: {
|
|
228
|
+
width: (this.modalWidth - 2).toString() + 'px',
|
|
229
|
+
height: this.modalHeight ? ((_a = (this.modalHeight - 2)) === null || _a === void 0 ? void 0 : _a.toString()) + 'px' : ''
|
|
234
230
|
}, onClick: (event) => {
|
|
235
231
|
event.stopPropagation();
|
|
236
|
-
} }, h("div", { class: "modal-window__content" }, h("div", { class: `qrTitleContainer ${this.hideModalTexts ?
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
height: this.modalWidth
|
|
240
|
-
? ((_b = this.modalWidth) === null || _b === void 0 ? void 0 : _b.toString()) + "px"
|
|
241
|
-
: "",
|
|
232
|
+
} }, h("div", { class: "modal-window__content" }, h("div", { class: `qrTitleContainer ${this.hideModalTexts ? 'hidenText' : ''}` }, h("p", { class: "qrTitle modalText", style: { color: this.modalTitleColor || '#1e1e20' } }, this.qrModalTitle), !this.hideBrandTitle && (h("p", { class: "qrBrand modalText" }, this.byBrandLabel, ' ', h("span", null, h("img", { src: logoGatacaSvg })))), this.result !== RESULT_STATUS.SUCCESS && !this.hideQrModalDescription && h("p", { class: "qrDescription modalText" }, this.qrModalDescription)), h("div", { class: "qrSection", style: {
|
|
233
|
+
width: this.modalWidth.toString() + 'px',
|
|
234
|
+
height: this.modalWidth ? ((_b = this.modalWidth) === null || _b === void 0 ? void 0 : _b.toString()) + 'px' : ''
|
|
242
235
|
} }, this.renderQRSection())))));
|
|
243
236
|
}
|
|
244
237
|
static get style() { return gatacaQrwsCss; }
|