@gataca/qr 0.0.28 → 0.0.29

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.
Files changed (91) hide show
  1. package/dist/{esm/qr-code-styling-0eeb38d5.js → cjs/gat-icon-check-6b6780eb.js} +12 -1
  2. package/dist/cjs/gataca-autoqr.cjs.entry.js +10 -10
  3. package/dist/cjs/gataca-qr_3.cjs.entry.js +639 -0
  4. package/dist/cjs/gataca-qrws.cjs.entry.js +42 -48
  5. package/dist/cjs/gataca-ssibuttonws.cjs.entry.js +61 -0
  6. package/dist/cjs/gatacaqr.cjs.js +2 -2
  7. package/dist/cjs/{index-93d47a75.js → index-1332a8ce.js} +32 -1
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/{utils-ef28b844.js → utils-b4e62bc0.js} +1 -1
  11. package/dist/collection/assets/icons/RefreshIcon.js +6 -0
  12. package/dist/collection/components/gataca-autoqr/gataca-autoqr.js +13 -13
  13. package/dist/collection/components/gataca-qr/components/qr/QR.js +3 -3
  14. package/dist/collection/components/gataca-qr/components/readQR/ReadQR.js +12 -7
  15. package/dist/collection/components/gataca-qr/components/readQR/components/AnimatedLoader.js +5 -3
  16. package/dist/collection/components/gataca-qr/components/retryButton/RetryButton.js +12 -9
  17. package/dist/collection/components/gataca-qr/components/success/Success.js +7 -6
  18. package/dist/collection/components/gataca-qr/gataca-qr.css +15 -5
  19. package/dist/collection/components/gataca-qr/gataca-qr.js +68 -57
  20. package/dist/collection/components/gataca-qrdisplay/gataca-qrdisplay.js +33 -11
  21. package/dist/collection/components/gataca-qrws/components/qr/QR.js +2 -2
  22. package/dist/collection/components/gataca-qrws/components/readQR/ReadQR.js +4 -4
  23. package/dist/collection/components/gataca-qrws/components/readQR/components/AnimatedLoader.js +1 -1
  24. package/dist/collection/components/gataca-qrws/components/retryButton/RetryButton.js +8 -8
  25. package/dist/collection/components/gataca-qrws/components/success/Success.js +4 -4
  26. package/dist/collection/components/gataca-qrws/gataca-qrws.js +49 -56
  27. package/dist/collection/components/gataca-ssibutton/gataca-ssibutton.js +224 -54
  28. package/dist/collection/components/gataca-ssibuttonws/gataca-ssibuttonws.js +12 -12
  29. package/dist/collection/index.js +2 -2
  30. package/dist/collection/utils/index.js +1 -1
  31. package/dist/collection/utils/utils.js +1 -1
  32. package/dist/components/{gat-icon-alert.js → gat-icon-check.js} +4 -6
  33. package/dist/components/gataca-autoqr.js +9 -9
  34. package/dist/components/gataca-qr2.js +85 -73
  35. package/dist/components/gataca-qrdisplay2.js +11 -6
  36. package/dist/components/gataca-qrws2.js +37 -42
  37. package/dist/components/gataca-ssibutton2.js +114 -34
  38. package/dist/components/gataca-ssibuttonws2.js +6 -6
  39. package/dist/components/index.js +1 -1
  40. package/dist/{cjs/qr-code-styling-412bbc7a.js → esm/gat-icon-check-7320c81b.js} +6 -2
  41. package/dist/esm/gataca-autoqr.entry.js +10 -10
  42. package/dist/esm/gataca-qr_3.entry.js +633 -0
  43. package/dist/esm/gataca-qrws.entry.js +39 -45
  44. package/dist/esm/gataca-ssibuttonws.entry.js +57 -0
  45. package/dist/esm/gatacaqr.js +2 -2
  46. package/dist/esm/{index-2be54f32.js → index-055790a7.js} +32 -1
  47. package/dist/esm/index.js +1 -1
  48. package/dist/esm/loader.js +2 -2
  49. package/dist/esm/{utils-63e7a33b.js → utils-21ffcc1e.js} +1 -1
  50. package/dist/gatacaqr/gatacaqr.esm.js +1 -1
  51. package/dist/gatacaqr/index.esm.js +1 -1
  52. package/dist/gatacaqr/p-1d1129b7.entry.js +1 -0
  53. package/dist/gatacaqr/p-29119208.js +1 -0
  54. package/dist/gatacaqr/p-49cf321c.entry.js +1 -0
  55. package/dist/gatacaqr/p-9f83bae1.entry.js +1 -0
  56. package/dist/gatacaqr/{p-5e81ab9e.entry.js → p-c65f810b.entry.js} +1 -1
  57. package/dist/gatacaqr/p-fccf9d4d.js +2 -0
  58. package/dist/types/assets/icons/RefreshIcon.d.ts +8 -0
  59. package/dist/types/components/gataca-autoqr/gataca-autoqr.d.ts +7 -7
  60. package/dist/types/components/gataca-qr/components/qr/QR.d.ts +4 -2
  61. package/dist/types/components/gataca-qr/components/readQR/ReadQR.d.ts +3 -1
  62. package/dist/types/components/gataca-qr/components/readQR/components/AnimatedLoader.d.ts +6 -2
  63. package/dist/types/components/gataca-qr/components/retryButton/RetryButton.d.ts +3 -1
  64. package/dist/types/components/gataca-qr/components/success/Success.d.ts +3 -1
  65. package/dist/types/components/gataca-qr/gataca-qr.d.ts +16 -4
  66. package/dist/types/components/gataca-qrdisplay/gataca-qrdisplay.d.ts +6 -1
  67. package/dist/types/components/gataca-qrws/components/qr/QR.d.ts +2 -2
  68. package/dist/types/components/gataca-qrws/components/readQR/ReadQR.d.ts +1 -1
  69. package/dist/types/components/gataca-qrws/components/readQR/components/AnimatedLoader.d.ts +1 -1
  70. package/dist/types/components/gataca-qrws/components/retryButton/RetryButton.d.ts +1 -1
  71. package/dist/types/components/gataca-qrws/components/success/Success.d.ts +1 -1
  72. package/dist/types/components/gataca-qrws/gataca-qrws.d.ts +4 -4
  73. package/dist/types/components/gataca-ssibutton/gataca-ssibutton.d.ts +38 -5
  74. package/dist/types/components/gataca-ssibuttonws/gataca-ssibuttonws.d.ts +3 -3
  75. package/dist/types/components.d.ts +78 -36
  76. package/dist/types/index.d.ts +2 -2
  77. package/dist/types/utils/index.d.ts +1 -1
  78. package/package.json +30 -7
  79. package/dist/cjs/gat-icon-alert-0ad19b26.js +0 -14
  80. package/dist/cjs/gataca-qr_2.cjs.entry.js +0 -295
  81. package/dist/cjs/gataca-ssibutton_2.cjs.entry.js +0 -317
  82. package/dist/esm/gat-icon-alert-7b06ef3a.js +0 -9
  83. package/dist/esm/gataca-qr_2.entry.js +0 -290
  84. package/dist/esm/gataca-ssibutton_2.entry.js +0 -312
  85. package/dist/gatacaqr/p-0be4566d.js +0 -1
  86. package/dist/gatacaqr/p-3500ae66.entry.js +0 -1
  87. package/dist/gatacaqr/p-5ae5f952.js +0 -2
  88. package/dist/gatacaqr/p-68272823.entry.js +0 -1
  89. package/dist/gatacaqr/p-92a2e6f0.entry.js +0 -1
  90. package/dist/gatacaqr/p-ea783014.js +0 -1
  91. /package/dist/gatacaqr/{p-2cd7b062.js → p-bce7e590.js} +0 -0
@@ -1,17 +1,38 @@
1
- import { h, } from "@stencil/core";
2
- import "../gataca-qrdisplay/gataca-qrdisplay";
3
- import { RESULT_STATUS } from "../../utils/utils";
4
- const PHONE_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHvSURBVHgB3ZZPTttAFMbfe3YjL7qYLopcpZXSG7Q3CDfIsqrSJpyg5QQtJ2h7glgUdVs4AeEE5AYEQSDAgtnw357Hm0hAQDaeIRFCfFKyeKPxzzPzvc+DUKCZN80GEv1ABgWOQgSdGbOwv7u0nDueV4zjTzUIKhuAZna4vdQFR828azbI0K/TI/qodaLvjlP+tLDGDCs+IKv9Lbsi7kcv0w9541Q0EREPYcoieEQ9KiyECRXHzbpBUOcnYTfPFOOaaGVx9WsLiDrSIp0iU0wFNgIx/AQyc9I/OmOjy+Y8aBvHQcDUYebewc6/Xtk8J5htcg5efEPGhk0JtqkyBjo7DuZcnuO2sqCyKv8rUDmfTS9IBURqBAL+I6CkzBjOMOs22TLY21n8fl17KzXR3uDvb/CQk0GEdfvN07QvpnAOaGfYaRT25JzU6+rnG2tTpcWAy+Cp0m3U/URLms8HWfg/rn6RFaGSs9KQkZMpvGBWNs2Vandt46ac6YNBuc0fDLMaOU5DFybQ8039p/KJ4bq4rwPewtqoM/1gsCm/NfBXvWjgHhhuDAeLyd3qVSifHQULeZkou9EqemLhmUmav8qrZ4GEMGA7ivzjKvfeqGptFV2YdWPMPHHq0cCh3DdpVdLl/XCY9J1gVvbCiWa6N+JLocPFjCsx9cAAAAAASUVORK5CYII=";
1
+ import { h } from '@stencil/core';
2
+ import '../gataca-qrdisplay/gataca-qrdisplay';
3
+ import { RESULT_STATUS } from '../../utils/utils';
4
+ const PHONE_ICON = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHvSURBVHgB3ZZPTttAFMbfe3YjL7qYLopcpZXSG7Q3CDfIsqrSJpyg5QQtJ2h7glgUdVs4AeEE5AYEQSDAgtnw357Hm0hAQDaeIRFCfFKyeKPxzzPzvc+DUKCZN80GEv1ABgWOQgSdGbOwv7u0nDueV4zjTzUIKhuAZna4vdQFR828azbI0K/TI/qodaLvjlP+tLDGDCs+IKv9Lbsi7kcv0w9541Q0EREPYcoieEQ9KiyECRXHzbpBUOcnYTfPFOOaaGVx9WsLiDrSIp0iU0wFNgIx/AQyc9I/OmOjy+Y8aBvHQcDUYebewc6/Xtk8J5htcg5efEPGhk0JtqkyBjo7DuZcnuO2sqCyKv8rUDmfTS9IBURqBAL+I6CkzBjOMOs22TLY21n8fl17KzXR3uDvb/CQk0GEdfvN07QvpnAOaGfYaRT25JzU6+rnG2tTpcWAy+Cp0m3U/URLms8HWfg/rn6RFaGSs9KQkZMpvGBWNs2Vandt46ac6YNBuc0fDLMaOU5DFybQ8039p/KJ4bq4rwPewtqoM/1gsCm/NfBXvWjgHhhuDAeLyd3qVSifHQULeZkou9EqemLhmUmav8qrZ4GEMGA7ivzjKvfeqGptFV2YdWPMPHHq0cCh3DdpVdLl/XCY9J1gVvbCiWa6N+JLocPFjCsx9cAAAAAASUVORK5CYII=';
5
5
  //Default values
6
6
  const DEFAULT_SESSION_TIMEOUT = 300; //5mins as in connect
7
7
  const DEFAULT_POLLING_FREQ = 3;
8
8
  export class GatacaSSIButton {
9
9
  constructor() {
10
- this.buttonText = "Easy login";
11
- this.qrType = "svg";
10
+ this.getRequestFromUri = async (authRequest) => {
11
+ const requrl = new URL(authRequest);
12
+ const requri = requrl.searchParams.get('request_uri');
13
+ if (requri) {
14
+ const response = await fetch(requri, {
15
+ method: 'GET',
16
+ headers: {
17
+ 'Content-Type': 'application/json'
18
+ }
19
+ });
20
+ const jwt = await response.json();
21
+ const parts = jwt.split('.');
22
+ const base64 = parts[1].replace(/-/g, '+').replace(/_/g, '/');
23
+ const decoded = window.atob(base64);
24
+ let parsed = JSON.parse(decoded);
25
+ parsed.response_mode = 'dc_api';
26
+ return parsed;
27
+ }
28
+ };
29
+ this.buttonText = 'Easy login';
30
+ this.buttonDCAPIText = 'Login with Device Credentials';
31
+ this.qrType = 'svg';
12
32
  this.autostart = true;
13
33
  this.checkStatus = undefined;
14
34
  this.createSession = undefined;
35
+ this.fillSession = undefined;
15
36
  this.successCallback = undefined;
16
37
  this.errorCallback = undefined;
17
38
  this.handleCheckAppLoading = undefined;
@@ -21,32 +42,49 @@ export class GatacaSSIButton {
21
42
  this.sessionTimeout = undefined;
22
43
  this.pollingFrequency = undefined;
23
44
  this.autorefresh = false;
24
- this.v = "3";
25
- this.qrModalTitle = "Quick Access";
26
- this.modalTitleColor = "#4745B7";
27
- this.qrModalDescription = "Sign up or sign in by scanning the QR Code with the Gataca Wallet";
45
+ this.v = '3';
46
+ this.qrModalTitle = 'Quick Access';
47
+ this.modalTitleColor = '#4745B7';
48
+ this.qrModalDescription = 'Sign up or sign in by scanning the QR Code with the Gataca Wallet';
28
49
  this.hideBrandTitle = false;
29
50
  this.dynamicLink = true;
30
51
  this.logoSize = 0;
31
52
  this.logoSrc = undefined;
32
- this.qrCodeExpiredLabel = "QR Code expired";
33
- this.credentialsNotValidatedLabel = "User credentials not validated";
34
- this.clickInsideBoxLabel = "Click inside the box to";
35
- this.refreshQrLabel = "Refresh QR Code";
36
- this.scanQrLabel = "Scan QR Code";
37
- this.userNotScanInTimeErrorLabel = "User did not scan the QR in the allowed time";
53
+ this.qrCodeExpiredLabel = 'QR Code expired';
54
+ this.credentialsNotValidatedLabel = 'User credentials not validated';
55
+ this.clickInsideBoxLabel = 'Click inside the box to';
56
+ this.refreshQrLabel = 'Refresh QR Code';
57
+ this.scanQrLabel = 'Scan QR Code';
58
+ this.userNotScanInTimeErrorLabel = 'User did not scan the QR in the allowed time';
38
59
  this.credsNotValidatedErrorLabel = "Provided user credentials couldn't be validated";
39
- this.failedLoginErrorLabel = "No successful login";
40
- this.successLoginLabel = "Successful Connection!";
41
- this.byBrandLabel = "by Gataca";
42
- this.waitingStartSessionLabel = "waiting to start a session";
60
+ this.failedLoginErrorLabel = 'No successful login';
61
+ this.successLoginLabel = 'Successful Connection!';
62
+ this.byBrandLabel = 'by Gataca';
63
+ this.waitingStartSessionLabel = 'waiting to start a session';
64
+ this.enableDcApi = false;
43
65
  this.hideQrModalDescription = false;
66
+ this.qrStyle = undefined;
44
67
  this.open = false;
45
68
  this.sessionId = undefined;
46
69
  this.authenticationRequest = undefined;
47
70
  this.sessionData = undefined;
48
71
  this.result = RESULT_STATUS.NOT_STARTED;
49
- this.qr = (h("gataca-qr", { ref: (el) => (this.qrElement = el), checkStatus: this.checkStatus, createSession: this.createSession, successCallback: this.successCallback, errorCallback: this.errorCallback, qrRole: this.qrRole, qrType: this.qrType, callbackServer: this.callbackServer, sessionTimeout: this.sessionTimeout, pollingFrequency: this.pollingFrequency, autostart: this.autostart, autorefresh: this.autorefresh, v: this.v, qrModalTitle: this.qrModalTitle, qrModalDescription: this.qrModalDescription, hideBrandTitle: this.hideBrandTitle, dynamicLink: this.dynamicLink, logoSize: this.logoSize, logoSrc: this.logoSrc, modalTitleColor: this.modalTitleColor, qrCodeExpiredLabel: this.qrCodeExpiredLabel, credentialsNotValidatedLabel: this.credentialsNotValidatedLabel, clickInsideBoxLabel: this.clickInsideBoxLabel, refreshQrLabel: this.refreshQrLabel, scanQrLabel: this.scanQrLabel, userNotScanInTimeErrorLabel: this.userNotScanInTimeErrorLabel, credsNotValidatedErrorLabel: this.credsNotValidatedErrorLabel, failedLoginErrorLabel: this.failedLoginErrorLabel, successLoginLabel: this.successLoginLabel, byBrandLabel: this.byBrandLabel, waitingStartSessionLabel: this.waitingStartSessionLabel, hideQrModalDescription: this.hideQrModalDescription }));
72
+ this.qr = (h("gataca-qr", { ref: (el) => (this.qrElement = el), checkStatus: this.checkStatus, createSession: this.createSession, successCallback: this.successCallback, errorCallback: this.errorCallback, qrRole: this.qrRole, qrType: this.qrType, callbackServer: this.callbackServer, sessionTimeout: this.sessionTimeout, pollingFrequency: this.pollingFrequency, autostart: this.autostart, autorefresh: this.autorefresh, v: this.v, qrModalTitle: this.qrModalTitle, qrModalDescription: this.qrModalDescription, hideBrandTitle: this.hideBrandTitle, dynamicLink: this.dynamicLink, logoSize: this.logoSize, logoSrc: this.logoSrc, modalTitleColor: this.modalTitleColor, qrCodeExpiredLabel: this.qrCodeExpiredLabel, credentialsNotValidatedLabel: this.credentialsNotValidatedLabel, clickInsideBoxLabel: this.clickInsideBoxLabel, refreshQrLabel: this.refreshQrLabel, scanQrLabel: this.scanQrLabel, userNotScanInTimeErrorLabel: this.userNotScanInTimeErrorLabel, credsNotValidatedErrorLabel: this.credsNotValidatedErrorLabel, failedLoginErrorLabel: this.failedLoginErrorLabel, successLoginLabel: this.successLoginLabel, byBrandLabel: this.byBrandLabel, waitingStartSessionLabel: this.waitingStartSessionLabel, hideQrModalDescription: this.hideQrModalDescription, qrStyle: this.qrStyle }));
73
+ }
74
+ supportsDCAPI() {
75
+ // let mobile = checkMobile();
76
+ // if (!mobile) return false;
77
+ if (!this.enableDcApi) {
78
+ return false;
79
+ }
80
+ //@ts-ignore
81
+ if (typeof window.DigitalCredential === 'undefined')
82
+ return false;
83
+ const protocols = ['org-iso-mdoc', 'openid4vp', 'openid4vci'];
84
+ //@ts-ignore
85
+ const supportedProtocols = protocols.filter(window.DigitalCredential.userAgentAllowsProtocol);
86
+ console.log(supportedProtocols, protocols);
87
+ return true;
50
88
  }
51
89
  /**
52
90
  * Retrieve manually the session data on a successful login
@@ -84,9 +122,7 @@ export class GatacaSSIButton {
84
122
  }
85
123
  else {
86
124
  if (err !== RESULT_STATUS.NOT_STARTED) {
87
- let error = expired
88
- ? new Error(this.userNotScanInTimeErrorLabel)
89
- : new Error(this.credsNotValidatedErrorLabel);
125
+ let error = expired ? new Error(this.userNotScanInTimeErrorLabel) : new Error(this.credsNotValidatedErrorLabel);
90
126
  this.result = err;
91
127
  this.gatacaLoginFailed.emit(error);
92
128
  this.errorCallback(error);
@@ -111,8 +147,7 @@ export class GatacaSSIButton {
111
147
  return this.qr;
112
148
  }
113
149
  async poll() {
114
- let endTime = new Date().getTime() +
115
- (this.sessionTimeout || DEFAULT_SESSION_TIMEOUT) * 1000;
150
+ let endTime = new Date().getTime() + (this.sessionTimeout || DEFAULT_SESSION_TIMEOUT) * 1000;
116
151
  let interval = (this.pollingFrequency || DEFAULT_POLLING_FREQ) * 1000;
117
152
  let checkFunc = async (component) => {
118
153
  if (component.result === RESULT_STATUS.NOT_STARTED) {
@@ -169,10 +204,10 @@ export class GatacaSSIButton {
169
204
  cleanup();
170
205
  }
171
206
  };
172
- document.addEventListener("visibilitychange", handleVisibilityChange);
207
+ document.addEventListener('visibilitychange', handleVisibilityChange);
173
208
  function cleanup() {
174
209
  clearTimeout(timeout);
175
- document.removeEventListener("visibilitychange", handleVisibilityChange);
210
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
176
211
  }
177
212
  }
178
213
  renderDesktopButton() {
@@ -194,7 +229,7 @@ export class GatacaSSIButton {
194
229
  return authenticationRequest;
195
230
  }
196
231
  renderMobileButton(isAndroid, isIos) {
197
- if (this.autostart) {
232
+ if (this.autostart && !this.supportsDCAPI()) {
198
233
  this.startMobilePolling();
199
234
  }
200
235
  let loading = false;
@@ -206,8 +241,8 @@ export class GatacaSSIButton {
206
241
  };
207
242
  const executeRedirection = async () => {
208
243
  handleLoading(true);
209
- const androidStoreLink = "https://play.google.com/store/apps/details?id=com.gataca.identity";
210
- const iosStoreLink = "https://apps.apple.com/us/app/gataca/id1498607616";
244
+ const androidStoreLink = 'https://play.google.com/store/apps/details?id=com.gataca.identity';
245
+ const iosStoreLink = 'https://apps.apple.com/us/app/gataca/id1498607616';
211
246
  try {
212
247
  const appScheme = await this.getAuthRequest();
213
248
  this.isAppInstalled(appScheme, (installed) => {
@@ -229,9 +264,51 @@ export class GatacaSSIButton {
229
264
  }
230
265
  };
231
266
  return (h("div", { class: "gatacaButtonWrapper" }, h("button", { class: "gatacaButton", onClick: () => {
267
+ this.gatacaButtonPushed.emit();
232
268
  executeRedirection();
233
269
  }, disabled: loading }, h("img", { src: PHONE_ICON, class: "buttonImg", alt: this.buttonText }), h("span", null, this.buttonText))));
234
270
  }
271
+ renderDCAPIButton(isAndroid, isIos) {
272
+ let loading = false;
273
+ console.log('Maybe act different', isAndroid, isIos);
274
+ const handleLoading = (isLoading) => {
275
+ loading = isLoading;
276
+ if (this.handleCheckAppLoading) {
277
+ this.handleCheckAppLoading(isLoading);
278
+ }
279
+ };
280
+ const executeDCAPICall = async () => {
281
+ handleLoading(true);
282
+ try {
283
+ const authRequest = await this.getAuthRequest();
284
+ let request = await this.getRequestFromUri(authRequest);
285
+ let credentialResponse = await navigator.credentials.get({
286
+ //@ts-ignore
287
+ digital: {
288
+ requests: [
289
+ {
290
+ protocol: 'openid4vp-v1-unsigned',
291
+ data: request
292
+ }
293
+ ]
294
+ }
295
+ });
296
+ if (credentialResponse.constructor.name == 'DigitalCredential') {
297
+ console.log('Digital Credential - Response Data: ' + credentialResponse);
298
+ }
299
+ //@ts-ignore
300
+ await this.fillSession(request, credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.data);
301
+ }
302
+ catch (error) {
303
+ this.stop();
304
+ handleLoading(false);
305
+ }
306
+ };
307
+ return (h("div", { class: "gatacaButtonWrapper" }, h("button", { class: "gatacaButton", onClick: () => {
308
+ this.gatacaButtonPushed.emit();
309
+ executeDCAPICall();
310
+ }, disabled: loading }, h("img", { src: PHONE_ICON, class: "buttonImg", alt: this.buttonDCAPIText }), h("span", null, this.buttonDCAPIText))));
311
+ }
235
312
  render() {
236
313
  const userAgent =
237
314
  // @ts-ignore
@@ -239,12 +316,10 @@ export class GatacaSSIButton {
239
316
  const isAndroid = /android/i.test(userAgent);
240
317
  const isIos =
241
318
  // @ts-ignore
242
- (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) ||
243
- (navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1);
319
+ (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
244
320
  const isMobile = isAndroid || isIos;
245
- return (h("div", { class: "buttonContainer" }, isMobile && this.v === "3"
246
- ? this.renderMobileButton(isAndroid, isIos)
247
- : this.renderDesktopButton(), this.open && (!isMobile || this.v === "3") && this.renderModal()));
321
+ const displayDCApi = this.supportsDCAPI();
322
+ return (h("div", null, h("div", { class: "buttonContainer" }, isMobile && this.v === '3' ? this.renderMobileButton(isAndroid, isIos) : this.renderDesktopButton(), this.open && (!isMobile || this.v === '3') && this.renderModal()), displayDCApi /** && isMobile */ && h("div", { class: "buttonContainer" }, this.renderDCAPIButton(isAndroid, isIos))));
248
323
  }
249
324
  static get is() { return "gataca-ssibutton"; }
250
325
  static get encapsulation() { return "shadow"; }
@@ -276,7 +351,25 @@ export class GatacaSSIButton {
276
351
  },
277
352
  "attribute": "button-text",
278
353
  "reflect": false,
279
- "defaultValue": "\"Easy login\""
354
+ "defaultValue": "'Easy login'"
355
+ },
356
+ "buttonDCAPIText": {
357
+ "type": "string",
358
+ "mutable": false,
359
+ "complexType": {
360
+ "original": "string",
361
+ "resolved": "string",
362
+ "references": {}
363
+ },
364
+ "required": false,
365
+ "optional": true,
366
+ "docs": {
367
+ "tags": [],
368
+ "text": "_[Optional]_\nIn the case of enabling DCAPI button, allows to configure the text displayed"
369
+ },
370
+ "attribute": "button-d-c-a-p-i-text",
371
+ "reflect": false,
372
+ "defaultValue": "'Login with Device Credentials'"
280
373
  },
281
374
  "qrType": {
282
375
  "type": "string",
@@ -299,7 +392,7 @@ export class GatacaSSIButton {
299
392
  },
300
393
  "attribute": "qr-type",
301
394
  "reflect": false,
302
- "defaultValue": "\"svg\""
395
+ "defaultValue": "'svg'"
303
396
  },
304
397
  "autostart": {
305
398
  "type": "boolean",
@@ -323,7 +416,7 @@ export class GatacaSSIButton {
323
416
  "type": "unknown",
324
417
  "mutable": false,
325
418
  "complexType": {
326
- "original": "(\n id?: string\n ) => Promise<{ result: RESULT_STATUS; data?: any }>",
419
+ "original": "(id?: string) => Promise<{result: RESULT_STATUS; data?: any}>",
327
420
  "resolved": "(id?: string) => Promise<{ result: RESULT_STATUS; data?: any; }>",
328
421
  "references": {
329
422
  "Promise": {
@@ -347,7 +440,7 @@ export class GatacaSSIButton {
347
440
  "type": "unknown",
348
441
  "mutable": false,
349
442
  "complexType": {
350
- "original": "() => Promise<{\n sessionId: string;\n authenticationRequest?: string;\n }>",
443
+ "original": "() => Promise<{\n sessionId: string;\n authenticationRequest?: string;\n }>",
351
444
  "resolved": "() => Promise<{ sessionId: string; authenticationRequest?: string; }>",
352
445
  "references": {
353
446
  "Promise": {
@@ -363,6 +456,30 @@ export class GatacaSSIButton {
363
456
  },
364
457
  "defaultValue": "undefined"
365
458
  },
459
+ "fillSession": {
460
+ "type": "unknown",
461
+ "mutable": false,
462
+ "complexType": {
463
+ "original": "(request: any, sessionData?: any) => Promise<{result: RESULT_STATUS; data?: any}>",
464
+ "resolved": "(request: any, sessionData?: any) => Promise<{ result: RESULT_STATUS; data?: any; }>",
465
+ "references": {
466
+ "Promise": {
467
+ "location": "global"
468
+ },
469
+ "RESULT_STATUS": {
470
+ "location": "import",
471
+ "path": "../../utils/utils"
472
+ }
473
+ }
474
+ },
475
+ "required": false,
476
+ "optional": true,
477
+ "docs": {
478
+ "tags": [],
479
+ "text": "***Mandatory if DC API***\nSends the API response"
480
+ },
481
+ "defaultValue": "undefined"
482
+ },
366
483
  "successCallback": {
367
484
  "type": "unknown",
368
485
  "mutable": false,
@@ -535,7 +652,7 @@ export class GatacaSSIButton {
535
652
  },
536
653
  "attribute": "v",
537
654
  "reflect": false,
538
- "defaultValue": "\"3\""
655
+ "defaultValue": "'3'"
539
656
  },
540
657
  "qrModalTitle": {
541
658
  "type": "string",
@@ -553,7 +670,7 @@ export class GatacaSSIButton {
553
670
  },
554
671
  "attribute": "qr-modal-title",
555
672
  "reflect": false,
556
- "defaultValue": "\"Quick Access\""
673
+ "defaultValue": "'Quick Access'"
557
674
  },
558
675
  "modalTitleColor": {
559
676
  "type": "string",
@@ -571,7 +688,7 @@ export class GatacaSSIButton {
571
688
  },
572
689
  "attribute": "modal-title-color",
573
690
  "reflect": false,
574
- "defaultValue": "\"#4745B7\""
691
+ "defaultValue": "'#4745B7'"
575
692
  },
576
693
  "qrModalDescription": {
577
694
  "type": "string",
@@ -589,7 +706,7 @@ export class GatacaSSIButton {
589
706
  },
590
707
  "attribute": "qr-modal-description",
591
708
  "reflect": false,
592
- "defaultValue": "\"Sign up or sign in by scanning the QR Code with the Gataca Wallet\""
709
+ "defaultValue": "'Sign up or sign in by scanning the QR Code with the Gataca Wallet'"
593
710
  },
594
711
  "hideBrandTitle": {
595
712
  "type": "boolean",
@@ -678,7 +795,7 @@ export class GatacaSSIButton {
678
795
  },
679
796
  "attribute": "qr-code-expired-label",
680
797
  "reflect": false,
681
- "defaultValue": "\"QR Code expired\""
798
+ "defaultValue": "'QR Code expired'"
682
799
  },
683
800
  "credentialsNotValidatedLabel": {
684
801
  "type": "string",
@@ -696,7 +813,7 @@ export class GatacaSSIButton {
696
813
  },
697
814
  "attribute": "credentials-not-validated-label",
698
815
  "reflect": false,
699
- "defaultValue": "\"User credentials not validated\""
816
+ "defaultValue": "'User credentials not validated'"
700
817
  },
701
818
  "clickInsideBoxLabel": {
702
819
  "type": "string",
@@ -714,7 +831,7 @@ export class GatacaSSIButton {
714
831
  },
715
832
  "attribute": "click-inside-box-label",
716
833
  "reflect": false,
717
- "defaultValue": "\"Click inside the box to\""
834
+ "defaultValue": "'Click inside the box to'"
718
835
  },
719
836
  "refreshQrLabel": {
720
837
  "type": "string",
@@ -732,7 +849,7 @@ export class GatacaSSIButton {
732
849
  },
733
850
  "attribute": "refresh-qr-label",
734
851
  "reflect": false,
735
- "defaultValue": "\"Refresh QR Code\""
852
+ "defaultValue": "'Refresh QR Code'"
736
853
  },
737
854
  "scanQrLabel": {
738
855
  "type": "string",
@@ -750,7 +867,7 @@ export class GatacaSSIButton {
750
867
  },
751
868
  "attribute": "scan-qr-label",
752
869
  "reflect": false,
753
- "defaultValue": "\"Scan QR Code\""
870
+ "defaultValue": "'Scan QR Code'"
754
871
  },
755
872
  "userNotScanInTimeErrorLabel": {
756
873
  "type": "string",
@@ -768,7 +885,7 @@ export class GatacaSSIButton {
768
885
  },
769
886
  "attribute": "user-not-scan-in-time-error-label",
770
887
  "reflect": false,
771
- "defaultValue": "\"User did not scan the QR in the allowed time\""
888
+ "defaultValue": "'User did not scan the QR in the allowed time'"
772
889
  },
773
890
  "credsNotValidatedErrorLabel": {
774
891
  "type": "string",
@@ -804,7 +921,7 @@ export class GatacaSSIButton {
804
921
  },
805
922
  "attribute": "failed-login-error-label",
806
923
  "reflect": false,
807
- "defaultValue": "\"No successful login\""
924
+ "defaultValue": "'No successful login'"
808
925
  },
809
926
  "successLoginLabel": {
810
927
  "type": "string",
@@ -822,7 +939,7 @@ export class GatacaSSIButton {
822
939
  },
823
940
  "attribute": "success-login-label",
824
941
  "reflect": false,
825
- "defaultValue": "\"Successful Connection!\""
942
+ "defaultValue": "'Successful Connection!'"
826
943
  },
827
944
  "byBrandLabel": {
828
945
  "type": "string",
@@ -840,7 +957,7 @@ export class GatacaSSIButton {
840
957
  },
841
958
  "attribute": "by-brand-label",
842
959
  "reflect": false,
843
- "defaultValue": "\"by Gataca\""
960
+ "defaultValue": "'by Gataca'"
844
961
  },
845
962
  "waitingStartSessionLabel": {
846
963
  "type": "string",
@@ -858,7 +975,25 @@ export class GatacaSSIButton {
858
975
  },
859
976
  "attribute": "waiting-start-session-label",
860
977
  "reflect": false,
861
- "defaultValue": "\"waiting to start a session\""
978
+ "defaultValue": "'waiting to start a session'"
979
+ },
980
+ "enableDcApi": {
981
+ "type": "boolean",
982
+ "mutable": false,
983
+ "complexType": {
984
+ "original": "boolean",
985
+ "resolved": "boolean",
986
+ "references": {}
987
+ },
988
+ "required": false,
989
+ "optional": true,
990
+ "docs": {
991
+ "tags": [],
992
+ "text": "_[Optional]_\nString to show \"waiting start session\" label"
993
+ },
994
+ "attribute": "enable-dc-api",
995
+ "reflect": false,
996
+ "defaultValue": "false"
862
997
  },
863
998
  "hideQrModalDescription": {
864
999
  "type": "boolean",
@@ -877,6 +1012,26 @@ export class GatacaSSIButton {
877
1012
  "attribute": "hide-qr-modal-description",
878
1013
  "reflect": false,
879
1014
  "defaultValue": "false"
1015
+ },
1016
+ "qrStyle": {
1017
+ "type": "unknown",
1018
+ "mutable": false,
1019
+ "complexType": {
1020
+ "original": "qrStyle",
1021
+ "resolved": "{ color: string; bgColor: string; alertBgColor?: string; alertBorderColor?: string; boxShadow?: string; }",
1022
+ "references": {
1023
+ "qrStyle": {
1024
+ "location": "import",
1025
+ "path": "../gataca-qr/gataca-qr"
1026
+ }
1027
+ }
1028
+ },
1029
+ "required": false,
1030
+ "optional": true,
1031
+ "docs": {
1032
+ "tags": [],
1033
+ "text": "_[Optional]_\nAdjust the color styles of the QR"
1034
+ }
880
1035
  }
881
1036
  };
882
1037
  }
@@ -920,6 +1075,21 @@ export class GatacaSSIButton {
920
1075
  "resolved": "any",
921
1076
  "references": {}
922
1077
  }
1078
+ }, {
1079
+ "method": "gatacaButtonPushed",
1080
+ "name": "gatacaButtonPushed",
1081
+ "bubbles": true,
1082
+ "cancelable": true,
1083
+ "composed": true,
1084
+ "docs": {
1085
+ "tags": [],
1086
+ "text": "GatacaLoginCompleted event, triggered with session data upon login success"
1087
+ },
1088
+ "complexType": {
1089
+ "original": "any",
1090
+ "resolved": "any",
1091
+ "references": {}
1092
+ }
923
1093
  }];
924
1094
  }
925
1095
  static get methods() {
@@ -1,11 +1,11 @@
1
- import { h, } from "@stencil/core";
2
- const PHONE_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHvSURBVHgB3ZZPTttAFMbfe3YjL7qYLopcpZXSG7Q3CDfIsqrSJpyg5QQtJ2h7glgUdVs4AeEE5AYEQSDAgtnw357Hm0hAQDaeIRFCfFKyeKPxzzPzvc+DUKCZN80GEv1ABgWOQgSdGbOwv7u0nDueV4zjTzUIKhuAZna4vdQFR828azbI0K/TI/qodaLvjlP+tLDGDCs+IKv9Lbsi7kcv0w9541Q0EREPYcoieEQ9KiyECRXHzbpBUOcnYTfPFOOaaGVx9WsLiDrSIp0iU0wFNgIx/AQyc9I/OmOjy+Y8aBvHQcDUYebewc6/Xtk8J5htcg5efEPGhk0JtqkyBjo7DuZcnuO2sqCyKv8rUDmfTS9IBURqBAL+I6CkzBjOMOs22TLY21n8fl17KzXR3uDvb/CQk0GEdfvN07QvpnAOaGfYaRT25JzU6+rnG2tTpcWAy+Cp0m3U/URLms8HWfg/rn6RFaGSs9KQkZMpvGBWNs2Vandt46ac6YNBuc0fDLMaOU5DFybQ8039p/KJ4bq4rwPewtqoM/1gsCm/NfBXvWjgHhhuDAeLyd3qVSifHQULeZkou9EqemLhmUmav8qrZ4GEMGA7ivzjKvfeqGptFV2YdWPMPHHq0cCh3DdpVdLl/XCY9J1gVvbCiWa6N+JLocPFjCsx9cAAAAAASUVORK5CYII=";
1
+ import { h } from '@stencil/core';
2
+ const PHONE_ICON = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHvSURBVHgB3ZZPTttAFMbfe3YjL7qYLopcpZXSG7Q3CDfIsqrSJpyg5QQtJ2h7glgUdVs4AeEE5AYEQSDAgtnw357Hm0hAQDaeIRFCfFKyeKPxzzPzvc+DUKCZN80GEv1ABgWOQgSdGbOwv7u0nDueV4zjTzUIKhuAZna4vdQFR828azbI0K/TI/qodaLvjlP+tLDGDCs+IKv9Lbsi7kcv0w9541Q0EREPYcoieEQ9KiyECRXHzbpBUOcnYTfPFOOaaGVx9WsLiDrSIp0iU0wFNgIx/AQyc9I/OmOjy+Y8aBvHQcDUYebewc6/Xtk8J5htcg5efEPGhk0JtqkyBjo7DuZcnuO2sqCyKv8rUDmfTS9IBURqBAL+I6CkzBjOMOs22TLY21n8fl17KzXR3uDvb/CQk0GEdfvN07QvpnAOaGfYaRT25JzU6+rnG2tTpcWAy+Cp0m3U/URLms8HWfg/rn6RFaGSs9KQkZMpvGBWNs2Vandt46ac6YNBuc0fDLMaOU5DFybQ8039p/KJ4bq4rwPewtqoM/1gsCm/NfBXvWjgHhhuDAeLyd3qVSifHQULeZkou9EqemLhmUmav8qrZ4GEMGA7ivzjKvfeqGptFV2YdWPMPHHq0cCh3DdpVdLl/XCY9J1gVvbCiWa6N+JLocPFjCsx9cAAAAAASUVORK5CYII=';
3
3
  export class GatacaSSIButtonWS {
4
4
  constructor() {
5
- this.buttonText = "Easy login";
5
+ this.buttonText = 'Easy login';
6
6
  this.successCallback = undefined;
7
7
  this.errorCallback = undefined;
8
- this.qrType = "svg";
8
+ this.qrType = 'svg';
9
9
  this.qrRole = undefined;
10
10
  this.callbackServer = undefined;
11
11
  this.socketEndpoint = undefined;
@@ -14,9 +14,9 @@ export class GatacaSSIButtonWS {
14
14
  this.wsOnMessage = undefined;
15
15
  this.autostart = true;
16
16
  this.autorefresh = false;
17
- this.v = "3";
18
- this.qrModalTitle = "Quick Access";
19
- this.qrModalDescription = "Sign up or sign in by scanning the QR Code with the Gataca Wallet";
17
+ this.v = '3';
18
+ this.qrModalTitle = 'Quick Access';
19
+ this.qrModalDescription = 'Sign up or sign in by scanning the QR Code with the Gataca Wallet';
20
20
  this.hideBrandTitle = false;
21
21
  this.dynamicLink = true;
22
22
  this.open = false;
@@ -75,7 +75,7 @@ export class GatacaSSIButtonWS {
75
75
  },
76
76
  "attribute": "button-text",
77
77
  "reflect": false,
78
- "defaultValue": "\"Easy login\""
78
+ "defaultValue": "'Easy login'"
79
79
  },
80
80
  "successCallback": {
81
81
  "type": "unknown",
@@ -134,7 +134,7 @@ export class GatacaSSIButtonWS {
134
134
  },
135
135
  "attribute": "qr-type",
136
136
  "reflect": false,
137
- "defaultValue": "\"svg\""
137
+ "defaultValue": "'svg'"
138
138
  },
139
139
  "qrRole": {
140
140
  "type": "string",
@@ -297,7 +297,7 @@ export class GatacaSSIButtonWS {
297
297
  },
298
298
  "attribute": "v",
299
299
  "reflect": false,
300
- "defaultValue": "\"3\""
300
+ "defaultValue": "'3'"
301
301
  },
302
302
  "qrModalTitle": {
303
303
  "type": "string",
@@ -315,7 +315,7 @@ export class GatacaSSIButtonWS {
315
315
  },
316
316
  "attribute": "qr-modal-title",
317
317
  "reflect": false,
318
- "defaultValue": "\"Quick Access\""
318
+ "defaultValue": "'Quick Access'"
319
319
  },
320
320
  "qrModalDescription": {
321
321
  "type": "string",
@@ -333,7 +333,7 @@ export class GatacaSSIButtonWS {
333
333
  },
334
334
  "attribute": "qr-modal-description",
335
335
  "reflect": false,
336
- "defaultValue": "\"Sign up or sign in by scanning the QR Code with the Gataca Wallet\""
336
+ "defaultValue": "'Sign up or sign in by scanning the QR Code with the Gataca Wallet'"
337
337
  },
338
338
  "hideBrandTitle": {
339
339
  "type": "boolean",
@@ -1,2 +1,2 @@
1
- export * from "./components";
2
- export * from "./utils";
1
+ export * from './components';
2
+ export * from './utils';
@@ -1 +1 @@
1
- export * from "./utils";
1
+ export * from './utils';
@@ -9,7 +9,7 @@ export function checkMobile() {
9
9
  }
10
10
  export function base64UrlEncode(str) {
11
11
  let b64 = btoa(str);
12
- return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/\=+$/, "");
12
+ return b64.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, '');
13
13
  }
14
14
  export var RESULT_STATUS;
15
15
  (function (RESULT_STATUS) {
@@ -9,7 +9,7 @@ function checkMobile() {
9
9
  }
10
10
  function base64UrlEncode(str) {
11
11
  let b64 = btoa(str);
12
- return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/\=+$/, "");
12
+ return b64.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, '');
13
13
  }
14
14
  var RESULT_STATUS;
15
15
  (function (RESULT_STATUS) {
@@ -21,10 +21,8 @@ var RESULT_STATUS;
21
21
  RESULT_STATUS[RESULT_STATUS["READ"] = 5] = "READ";
22
22
  })(RESULT_STATUS || (RESULT_STATUS = {}));
23
23
 
24
- const gatIconCheckSvg = 'data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjUyIiBoZWlnaHQ9IjUzIiB2aWV3Qm94PSIwIDAgNTIgNTMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjI2IiBjeT0iMjYuNjcxOSIgcj0iMjYiIGZpbGw9IiMzRDlBNTAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zOC41MiAxNy43NDk1QzM5LjU4MDUgMTguODA5OSAzOS41ODA1IDIwLjUyOTMgMzguNTIgMjEuNTg5OEwyMy41ODQ2IDM2LjUyNTFDMjIuNTI0MiAzNy41ODU2IDIwLjgwNDggMzcuNTg1NiAxOS43NDQzIDM2LjUyNTFMMTIuOTU1NSAyOS43MzYzQzExLjg5NSAyOC42NzU5IDExLjg5NSAyNi45NTY1IDEyLjk1NTUgMjUuODk2QzE0LjAxNiAyNC44MzU1IDE1LjczNTQgMjQuODM1NSAxNi43OTU4IDI1Ljg5NkwyMS42NjQ1IDMwLjc2NDdMMzQuNjc5NyAxNy43NDk1QzM1Ljc0MDIgMTYuNjg5IDM3LjQ1OTUgMTYuNjg5IDM4LjUyIDE3Ljc0OTVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K';
25
-
26
- const gatIconRefreshSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIzIDRWMTBIMTciIHN0cm9rZT0iIzhCOEI4QiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTIwLjQ4OTkgMTVDMTkuODM5OSAxNi44Mzk5IDE4LjYwOTQgMTguNDE4NyAxNi45ODQgMTkuNDk4NUMxNS4zNTg2IDIwLjU3ODMgMTMuNDI2MyAyMS4xMDA2IDExLjQ3ODMgMjAuOTg2NkM5LjUzMDI2IDIwLjg3MjYgNy42NzIwMyAyMC4xMjg2IDYuMTgzNjMgMTguODY2N0M0LjY5NTI0IDE3LjYwNDcgMy42NTczIDE1Ljg5MzIgMy4yMjYyNSAxMy45OTAxQzIuNzk1MTkgMTIuMDg2OSAyLjk5NDM2IDEwLjA5NTIgMy43OTM3NCA4LjMxNTA4QzQuNTkzMTMgNi41MzQ5NiA1Ljk0OTQyIDUuMDYyODggNy42NTgyMyA0LjEyMDY1QzkuMzY3MDUgMy4xNzg0MyAxMS4zMzU4IDIuODE3MTEgMTMuMjY3OCAzLjA5MTE2QzE1LjE5OTkgMy4zNjUyIDE2Ljk5MDUgNC4yNTk3NSAxOC4zNjk5IDUuNjQwMDFMMjIuOTk5OSAxMCIgc3Ryb2tlPSIjOEI4QjhCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K';
27
-
28
24
  const gatIconAlertSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjI5MDggMy44NjAyTDEuODIwNzUgMTguMDAwMkMxLjY0NjEyIDE4LjMwMjYgMS41NTM3MiAxOC42NDU1IDEuNTUyNzQgMTguOTk0N0MxLjU1MTc2IDE5LjM0MzkgMS42NDIyNCAxOS42ODczIDEuODE1MTggMTkuOTkwN0MxLjk4ODEyIDIwLjI5NDEgMi4yMzc0OCAyMC41NDcgMi41Mzg0NiAyMC43MjQxQzIuODM5NDQgMjAuOTAxMiAzLjE4MTU1IDIwLjk5NjQgMy41MzA3NSAyMS4wMDAySDIwLjQ3MDhDMjAuODIgMjAuOTk2NCAyMS4xNjIxIDIwLjkwMTIgMjEuNDYzIDIwLjcyNDFDMjEuNzY0IDIwLjU0NyAyMi4wMTM0IDIwLjI5NDEgMjIuMTg2MyAxOS45OTA3QzIyLjM1OTMgMTkuNjg3MyAyMi40NDk3IDE5LjM0MzkgMjIuNDQ4OCAxOC45OTQ3QzIyLjQ0NzggMTguNjQ1NSAyMi4zNTU0IDE4LjMwMjYgMjIuMTgwOCAxOC4wMDAyTDEzLjcxMDggMy44NjAyQzEzLjUzMjUgMy41NjYzMSAxMy4yODE1IDMuMzIzMzIgMTIuOTgxOSAzLjE1NDY5QzEyLjY4MjQgMi45ODYwNSAxMi4zNDQ1IDIuODk3NDYgMTIuMDAwOCAyLjg5NzQ2QzExLjY1NyAyLjg5NzQ2IDExLjMxOTEgMi45ODYwNSAxMS4wMTk2IDMuMTU0NjlDMTAuNzIgMy4zMjMzMiAxMC40NjkgMy41NjYzMSAxMC4yOTA4IDMuODYwMlYzLjg2MDJaIiBzdHJva2U9IiNDRDJCMzEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMiA5VjEzIiBzdHJva2U9IiNDRDJCMzEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMiAxN0gxMi4wMSIgc3Ryb2tlPSIjQ0QyQjMxIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K';
29
25
 
30
- export { RESULT_STATUS as R, gatIconRefreshSvg as a, base64UrlEncode as b, checkMobile as c, gatIconAlertSvg as d, gatIconCheckSvg as g };
26
+ const gatIconCheckSvg = 'data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjUyIiBoZWlnaHQ9IjUzIiB2aWV3Qm94PSIwIDAgNTIgNTMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjI2IiBjeT0iMjYuNjcxOSIgcj0iMjYiIGZpbGw9IiMzRDlBNTAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zOC41MiAxNy43NDk1QzM5LjU4MDUgMTguODA5OSAzOS41ODA1IDIwLjUyOTMgMzguNTIgMjEuNTg5OEwyMy41ODQ2IDM2LjUyNTFDMjIuNTI0MiAzNy41ODU2IDIwLjgwNDggMzcuNTg1NiAxOS43NDQzIDM2LjUyNTFMMTIuOTU1NSAyOS43MzYzQzExLjg5NSAyOC42NzU5IDExLjg5NSAyNi45NTY1IDEyLjk1NTUgMjUuODk2QzE0LjAxNiAyNC44MzU1IDE1LjczNTQgMjQuODM1NSAxNi43OTU4IDI1Ljg5NkwyMS42NjQ1IDMwLjc2NDdMMzQuNjc5NyAxNy43NDk1QzM1Ljc0MDIgMTYuNjg5IDM3LjQ1OTUgMTYuNjg5IDM4LjUyIDE3Ljc0OTVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K';
27
+
28
+ export { RESULT_STATUS as R, gatIconCheckSvg as a, base64UrlEncode as b, checkMobile as c, gatIconAlertSvg as g };