@everymatrix/player-sms-verification 0.0.1

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 (45) hide show
  1. package/dist/cjs/index-64b46357.js +1191 -0
  2. package/dist/cjs/index.cjs.js +2 -0
  3. package/dist/cjs/loader.cjs.js +21 -0
  4. package/dist/cjs/player-sms-verification.cjs.entry.js +302 -0
  5. package/dist/cjs/player-sms-verification.cjs.js +19 -0
  6. package/dist/collection/collection-manifest.json +12 -0
  7. package/dist/collection/components/player-sms-verification/player-sms-verification.css +82 -0
  8. package/dist/collection/components/player-sms-verification/player-sms-verification.js +304 -0
  9. package/dist/collection/index.js +1 -0
  10. package/dist/collection/utils/utils.js +120 -0
  11. package/dist/components/index.d.ts +26 -0
  12. package/dist/components/index.js +1 -0
  13. package/dist/components/player-sms-verification.d.ts +11 -0
  14. package/dist/components/player-sms-verification.js +327 -0
  15. package/dist/esm/index-87b20f11.js +1166 -0
  16. package/dist/esm/index.js +1 -0
  17. package/dist/esm/loader.js +17 -0
  18. package/dist/esm/player-sms-verification.entry.js +298 -0
  19. package/dist/esm/player-sms-verification.js +17 -0
  20. package/dist/esm/polyfills/core-js.js +11 -0
  21. package/dist/esm/polyfills/css-shim.js +1 -0
  22. package/dist/esm/polyfills/dom.js +79 -0
  23. package/dist/esm/polyfills/es5-html-element.js +1 -0
  24. package/dist/esm/polyfills/index.js +34 -0
  25. package/dist/esm/polyfills/system.js +6 -0
  26. package/dist/index.cjs.js +1 -0
  27. package/dist/index.js +1 -0
  28. package/dist/player-sms-verification/index.esm.js +0 -0
  29. package/dist/player-sms-verification/p-3bfbf014.entry.js +1 -0
  30. package/dist/player-sms-verification/p-616d438d.js +1 -0
  31. package/dist/player-sms-verification/player-sms-verification.esm.js +1 -0
  32. package/dist/stencil.config.js +22 -0
  33. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/player-sms-verification/.stencil/packages/player-sms-verification/stencil.config.d.ts +2 -0
  34. package/dist/types/components/player-sms-verification/player-sms-verification.d.ts +47 -0
  35. package/dist/types/components.d.ts +85 -0
  36. package/dist/types/index.d.ts +1 -0
  37. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  38. package/dist/types/utils/utils.d.ts +2 -0
  39. package/loader/cdn.js +3 -0
  40. package/loader/index.cjs.js +3 -0
  41. package/loader/index.d.ts +12 -0
  42. package/loader/index.es2017.js +3 -0
  43. package/loader/index.js +4 -0
  44. package/loader/package.json +10 -0
  45. package/package.json +19 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-64b46357.js');
6
+
7
+ /*
8
+ Stencil Client Patch Esm v2.15.2 | MIT Licensed | https://stenciljs.com
9
+ */
10
+ const patchEsm = () => {
11
+ return index.promiseResolve();
12
+ };
13
+
14
+ const defineCustomElements = (win, options) => {
15
+ if (typeof window === 'undefined') return Promise.resolve();
16
+ return patchEsm().then(() => {
17
+ return index.bootstrapLazy([["player-sms-verification.cjs",[[1,"player-sms-verification",{"endpoint":[513],"userId":[513,"user-id"],"lang":[513],"clientStyling":[1537,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"tempBtnResendCount":[32],"code":[32],"errMsg":[32],"msgEnterCode":[32]}]]]], options);
18
+ });
19
+ };
20
+
21
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,302 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-64b46357.js');
6
+
7
+ const DEFAULT_LANGUAGE = 'en';
8
+ const TRANSLATIONS = {
9
+ en: {
10
+ btnSend: 'Send Code',
11
+ btnResend: 'Resend Code',
12
+ btnActivate: 'Activate',
13
+ msgEnterCode: 'Please enter the verification code you received on your number',
14
+ msgResendNotice: 'A new verification code has been sent to your phone number',
15
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
16
+ errInvalidCode: 'The code is incorrect',
17
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
18
+ errExpiredToken: 'The code expired, resend code'
19
+ },
20
+ ro: {
21
+ btnSend: 'Send Code',
22
+ btnResend: 'Resend Code',
23
+ btnActivate: 'Activate',
24
+ msgEnterCode: 'Please enter the verification code you received on your number',
25
+ msgResendNotice: 'A new verification code has been sent to your phone number',
26
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
27
+ errInvalidCode: 'The code is incorrect',
28
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
29
+ errExpiredToken: 'The code expired, resend code'
30
+ },
31
+ fr: {
32
+ btnSend: 'Send Code',
33
+ btnResend: 'Resend Code',
34
+ btnActivate: 'Activate',
35
+ msgEnterCode: 'Please enter the verification code you received on your number',
36
+ msgResendNotice: 'A new verification code has been sent to your phone number',
37
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
38
+ errInvalidCode: 'The code is incorrect',
39
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
40
+ errExpiredToken: 'The code expired, resend code'
41
+ },
42
+ hu: {
43
+ btnSend: 'Send Code',
44
+ btnResend: 'Resend Code',
45
+ btnActivate: 'Activate',
46
+ msgEnterCode: 'Please enter the verification code you received on your number',
47
+ msgResendNotice: 'A new verification code has been sent to your phone number',
48
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
49
+ errInvalidCode: 'The code is incorrect',
50
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
51
+ errExpiredToken: 'The code expired, resend code'
52
+ },
53
+ tr: {
54
+ btnSend: 'Send Code',
55
+ btnResend: 'Resend Code',
56
+ btnActivate: 'Activate',
57
+ msgEnterCode: 'Please enter the verification code you received on your number',
58
+ msgResendNotice: 'A new verification code has been sent to your phone number',
59
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
60
+ errInvalidCode: 'The code is incorrect',
61
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
62
+ errExpiredToken: 'The code expired, resend code'
63
+ },
64
+ el: {
65
+ btnSend: 'Send Code',
66
+ btnResend: 'Resend Code',
67
+ btnActivate: 'Activate',
68
+ msgEnterCode: 'Please enter the verification code you received on your number',
69
+ msgResendNotice: 'A new verification code has been sent to your phone number',
70
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
71
+ errInvalidCode: 'The code is incorrect',
72
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
73
+ errExpiredToken: 'The code expired, resend code'
74
+ },
75
+ es: {
76
+ btnSend: 'Send Code',
77
+ btnResend: 'Resend Code',
78
+ btnActivate: 'Activate',
79
+ msgEnterCode: 'Please enter the verification code you received on your number',
80
+ msgResendNotice: 'A new verification code has been sent to your phone number',
81
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
82
+ errInvalidCode: 'The code is incorrect',
83
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
84
+ errExpiredToken: 'The code expired, resend code'
85
+ },
86
+ pt: {
87
+ btnSend: 'Send Code',
88
+ btnResend: 'Resend Code',
89
+ btnActivate: 'Activate',
90
+ msgEnterCode: 'Please enter the verification code you received on your number',
91
+ msgResendNotice: 'A new verification code has been sent to your phone number',
92
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
93
+ errInvalidCode: 'The code is incorrect',
94
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
95
+ errExpiredToken: 'The code expired, resend code'
96
+ },
97
+ hr: {
98
+ btnSend: 'Send Code',
99
+ btnResend: 'Resend Code',
100
+ btnActivate: 'Activate',
101
+ msgEnterCode: 'Please enter the verification code you received on your number',
102
+ msgResendNotice: 'A new verification code has been sent to your phone number',
103
+ errGenerateCode: 'An error occurred while generating your code. Please click the resend button to generate a new code',
104
+ errInvalidCode: 'The code is incorrect',
105
+ errExceededAttempts: 'You have exceeded the maximum number of tries. Please try again later',
106
+ errExpiredToken: 'The code expired, resend code'
107
+ },
108
+ };
109
+ const getTranslations = (url) => {
110
+ return new Promise((resolve) => {
111
+ fetch(url)
112
+ .then((res) => res.json())
113
+ .then((data) => {
114
+ Object.keys(data).forEach((item) => {
115
+ for (let key in data[item]) {
116
+ TRANSLATIONS[item][key] = data[item][key];
117
+ }
118
+ });
119
+ resolve(true);
120
+ });
121
+ });
122
+ };
123
+ const translate = (key, customLang) => {
124
+ const lang = customLang;
125
+ return TRANSLATIONS[lang !== undefined ? lang : DEFAULT_LANGUAGE][key];
126
+ };
127
+
128
+ const playerSmsVerificationCss = ":host{display:block}.PlayerSmsVerification{padding:30px;display:flex;align-items:center;flex-direction:column;background:var(--emfe-w-registration-color-bg, var(--emfe-w-color-gray-50, #F9F8F8))}.PlayerSmsVerificationContainer{position:relative;width:100%;display:flex;flex-direction:column;margin-bottom:30px}.PlayerSmsVerificationButtonContainer{width:100%;display:flex;flex-direction:column;gap:25px}.PlayerSmsVerificationButton{color:var(--emfe-w-button-typography, var(--emfe-w-color-white, #FFFFFF));background:var(--emfe-w-registration-color-primary, var(--emfe-w-color-primary, #D0046C));border:1px solid var(--emfe-w-registration-color-primary, var(--emfe-w-color-primary, #D0046C));border-radius:5px;width:100%;height:60px;padding:0;text-transform:uppercase;font-size:18px;cursor:pointer;font-family:inherit}.PlayerSmsVerificationButton:disabled{background:var(--emfe-w-color-gray-100, #E6E6E6);border:1px solid var(--emfe-w-color-gray-150, #828282);cursor:not-allowed}.PlayerSmsVerificationInput{color:var(--emfe-w-registration-contrast, var(--emfe-w-color-gray-300, #58586B));display:flex;flex-direction:column;position:relative;width:100%}.PlayerSmsVerificationInput input{width:100%;height:44px;border:1px solid var(--emfe-w-color-gray-100, #E6E6E6);border-radius:5px;box-sizing:border-box;padding:5px 15px;font-size:16px;text-align:center;line-height:18px;font-family:inherit}.PlayerSmsVerificationInput.Hidden{display:none}.PlayerSmsVerificationMsg{font-size:12px;color:var(--emfe-w-registration-contrast, var(--emfe-w-color-gray-300, #58586B))}.PlayerSmsVerificationMsg.Hidden{display:none}.PlayerSmsVerificationErrMsg{font-size:12px;color:var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909))}";
129
+
130
+ const PlayerSmsVerification = class {
131
+ constructor(hostRef) {
132
+ index.registerInstance(this, hostRef);
133
+ /**
134
+ * Currently selected language
135
+ */
136
+ this.lang = 'en';
137
+ /**
138
+ * Client custom styling via inline styles
139
+ */
140
+ this.clientStyling = '';
141
+ /**
142
+ * Client custom styling via url
143
+ */
144
+ this.clientStylingUrl = '';
145
+ /**
146
+ * Translations via URL
147
+ */
148
+ this.translationUrl = '';
149
+ this.code = '';
150
+ this.errMsg = '';
151
+ this.msgEnterCode = '';
152
+ // Other variables
153
+ this.btnResendCount = 60;
154
+ this.isCodeSentOnce = false;
155
+ this.isBtnSendAvailable = true;
156
+ this.setClientStyling = () => {
157
+ let sheet = document.createElement('style');
158
+ sheet.innerHTML = this.clientStyling;
159
+ this.stylingContainer.prepend(sheet);
160
+ };
161
+ this.setClientStylingURL = () => {
162
+ let url = new URL(this.clientStylingUrl);
163
+ let cssFile = document.createElement('style');
164
+ fetch(url.href)
165
+ .then((res) => res.text())
166
+ .then((data) => {
167
+ cssFile.innerHTML = data;
168
+ setTimeout(() => { this.stylingContainer.prepend(cssFile); }, 1);
169
+ })
170
+ .catch((err) => {
171
+ console.log('error ', err);
172
+ });
173
+ };
174
+ }
175
+ updateClientStyling() {
176
+ if (this.clientStyling)
177
+ this.setClientStyling();
178
+ if (this.clientStylingUrl)
179
+ this.setClientStylingURL();
180
+ }
181
+ componentWillLoad() {
182
+ if (this.translationUrl) {
183
+ const translationPromise = getTranslations(this.translationUrl);
184
+ return translationPromise;
185
+ }
186
+ if (this.clientStyling)
187
+ this.setClientStyling();
188
+ if (this.clientStylingUrl)
189
+ this.setClientStylingURL();
190
+ }
191
+ startTimerBtnResendCode() {
192
+ this.isBtnSendAvailable = false;
193
+ this.tempBtnResendCount = this.btnResendCount;
194
+ this.btnResendTimer = setInterval(() => {
195
+ this.tempBtnResendCount--;
196
+ if (this.tempBtnResendCount < 0) {
197
+ clearInterval(this.btnResendTimer);
198
+ this.isBtnSendAvailable = true;
199
+ }
200
+ }, 1000);
201
+ }
202
+ setErrMsg(errMsg) {
203
+ if (errMsg === 'INVALID_CODE') {
204
+ this.errMsg = 'errInvalidCode';
205
+ }
206
+ else if (errMsg === 'BLOCK_USER_INCORRECT_CODE') {
207
+ this.errMsg = 'errExceededAttempts';
208
+ }
209
+ else if (errMsg === 'ExpiredToken') {
210
+ this.errMsg = 'errExpiredToken';
211
+ }
212
+ else if (errMsg === 'errGenerateCode') {
213
+ this.errMsg = 'errGenerateCode';
214
+ }
215
+ }
216
+ debounce(func, delay) {
217
+ return function (...args) {
218
+ clearTimeout(this.debounceTimer);
219
+ this.debounceTimer = setTimeout(() => {
220
+ func.apply(this, args);
221
+ }, delay);
222
+ };
223
+ }
224
+ handleSendCode() {
225
+ this.errMsg = '';
226
+ let url = new URL(`${this.endpoint}/v1/player/legislation/generate2FACode`);
227
+ const options = {
228
+ method: 'POST',
229
+ headers: {
230
+ 'accept': 'application/json',
231
+ 'Content-Type': 'application/json'
232
+ },
233
+ body: JSON.stringify({
234
+ 'userId': `${this.userId}`
235
+ })
236
+ };
237
+ fetch(url.href, options)
238
+ .then(() => {
239
+ this.msgEnterCode = 'msgEnterCode';
240
+ if (this.isCodeSentOnce) {
241
+ this.startTimerBtnResendCode();
242
+ }
243
+ this.isCodeSentOnce = true;
244
+ })
245
+ .catch((err) => {
246
+ this.setErrMsg('errGenerateCode');
247
+ window.postMessage({ type: 'WidgetNotification', data: {
248
+ type: 'error',
249
+ message: err
250
+ } }, window.location.href);
251
+ });
252
+ }
253
+ handleCheckCode() {
254
+ let url = new URL(`${this.endpoint}/v1/player/legislation/generate2FACode`);
255
+ url.searchParams.append('userId', this.userId);
256
+ url.searchParams.append('code', this.code);
257
+ const options = {
258
+ method: 'GET',
259
+ headers: {
260
+ 'accept': 'application/json',
261
+ }
262
+ };
263
+ fetch(url.href, options)
264
+ .then((res) => res.json())
265
+ .then((res) => {
266
+ if (res.httpStatusCode === 200) {
267
+ this.errMsg = '';
268
+ window.postMessage({ type: 'SmsVerificationSuccess' }, window.location.href);
269
+ }
270
+ else if (res.thirdPartyResponse) {
271
+ this.setErrMsg(res.thirdPartyResponse.message);
272
+ if (this.errMsg === 'errExceededAttempts') {
273
+ window.postMessage({ type: 'SmsVerificationErrExceededAttempts' }, window.location.href);
274
+ }
275
+ }
276
+ })
277
+ .catch((err) => {
278
+ window.postMessage({ type: 'WidgetNotification', data: {
279
+ type: 'error',
280
+ message: err
281
+ } }, window.location.href);
282
+ })
283
+ .finally(() => {
284
+ this.code = '';
285
+ });
286
+ }
287
+ handleInput(event) {
288
+ this.code = event.target.value;
289
+ }
290
+ render() {
291
+ return index.h("div", { class: "PlayerSmsVerification", ref: el => this.stylingContainer = el }, index.h("div", { class: "PlayerSmsVerificationContainer" }, index.h("p", { class: "PlayerSmsVerificationMsg" + (this.msgEnterCode ? "" : " " + "Hidden") }, translate(this.msgEnterCode, this.lang)), index.h("div", { class: "PlayerSmsVerificationInput" }, index.h("input", { type: "text", onInput: (event) => this.handleInput(event), value: this.code })), this.errMsg
292
+ ? index.h("p", { class: "PlayerSmsVerificationErrMsg" }, translate(this.errMsg, this.lang))
293
+ : index.h("p", { class: "PlayerSmsVerificationMsg" + (!this.isBtnSendAvailable && this.isCodeSentOnce ? "" : " " + "Hidden") }, translate('msgResendNotice', this.lang))), index.h("div", { class: "PlayerSmsVerificationButtonContainer" }, index.h("button", { class: "PlayerSmsVerificationButton", onClick: this.debounce(this.handleSendCode.bind(this), 850), disabled: !this.isBtnSendAvailable }, this.isCodeSentOnce ? this.isBtnSendAvailable ? translate('btnResend', this.lang) : this.tempBtnResendCount : translate('btnSend', this.lang)), index.h("button", { class: "PlayerSmsVerificationButton", onClick: this.debounce(this.handleCheckCode.bind(this), 850), disabled: !this.isCodeSentOnce || this.code === '' || this.code === undefined }, translate('btnActivate', this.lang))));
294
+ }
295
+ static get watchers() { return {
296
+ "clientStyling": ["updateClientStyling"],
297
+ "clientStylingUrl": ["updateClientStyling"]
298
+ }; }
299
+ };
300
+ PlayerSmsVerification.style = playerSmsVerificationCss;
301
+
302
+ exports.player_sms_verification = PlayerSmsVerification;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-64b46357.js');
4
+
5
+ /*
6
+ Stencil Client Patch Browser v2.15.2 | MIT Licensed | https://stenciljs.com
7
+ */
8
+ const patchBrowser = () => {
9
+ const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('player-sms-verification.cjs.js', document.baseURI).href));
10
+ const opts = {};
11
+ if (importMeta !== '') {
12
+ opts.resourcesUrl = new URL('.', importMeta).href;
13
+ }
14
+ return index.promiseResolve(opts);
15
+ };
16
+
17
+ patchBrowser().then(options => {
18
+ return index.bootstrapLazy([["player-sms-verification.cjs",[[1,"player-sms-verification",{"endpoint":[513],"userId":[513,"user-id"],"lang":[513],"clientStyling":[1537,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"tempBtnResendCount":[32],"code":[32],"errMsg":[32],"msgEnterCode":[32]}]]]], options);
19
+ });
@@ -0,0 +1,12 @@
1
+ {
2
+ "entries": [
3
+ "./components/player-sms-verification/player-sms-verification.js"
4
+ ],
5
+ "compiler": {
6
+ "name": "@stencil/core",
7
+ "version": "2.15.2",
8
+ "typescriptVersion": "4.5.4"
9
+ },
10
+ "collections": [],
11
+ "bundles": []
12
+ }
@@ -0,0 +1,82 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .PlayerSmsVerification {
6
+ padding: 30px;
7
+ display: flex;
8
+ align-items: center;
9
+ flex-direction: column;
10
+ background: var(--emfe-w-registration-color-bg, var(--emfe-w-color-gray-50, #F9F8F8));
11
+ }
12
+
13
+ .PlayerSmsVerificationContainer {
14
+ position: relative;
15
+ width: 100%;
16
+ display: flex;
17
+ flex-direction: column;
18
+ margin-bottom: 30px;
19
+ }
20
+
21
+ .PlayerSmsVerificationButtonContainer {
22
+ width: 100%;
23
+ display: flex;
24
+ flex-direction: column;
25
+ gap: 25px;
26
+ }
27
+
28
+ .PlayerSmsVerificationButton {
29
+ color: var(--emfe-w-button-typography, var(--emfe-w-color-white, #FFFFFF));
30
+ background: var(--emfe-w-registration-color-primary, var(--emfe-w-color-primary, #D0046C));
31
+ border: 1px solid var(--emfe-w-registration-color-primary, var(--emfe-w-color-primary, #D0046C));
32
+ border-radius: 5px;
33
+ width: 100%;
34
+ height: 60px;
35
+ padding: 0;
36
+ text-transform: uppercase;
37
+ font-size: 18px;
38
+ cursor: pointer;
39
+ font-family: inherit;
40
+ }
41
+
42
+ .PlayerSmsVerificationButton:disabled {
43
+ background: var(--emfe-w-color-gray-100, #E6E6E6);
44
+ border: 1px solid var(--emfe-w-color-gray-150, #828282);
45
+ cursor: not-allowed;
46
+ }
47
+
48
+ .PlayerSmsVerificationInput {
49
+ color: var(--emfe-w-registration-contrast, var(--emfe-w-color-gray-300, #58586B));
50
+ display: flex;
51
+ flex-direction: column;
52
+ position: relative;
53
+ width: 100%;
54
+ }
55
+ .PlayerSmsVerificationInput input {
56
+ width: 100%;
57
+ height: 44px;
58
+ border: 1px solid var(--emfe-w-color-gray-100, #E6E6E6);
59
+ border-radius: 5px;
60
+ box-sizing: border-box;
61
+ padding: 5px 15px;
62
+ font-size: 16px;
63
+ text-align: center;
64
+ line-height: 18px;
65
+ font-family: inherit;
66
+ }
67
+ .PlayerSmsVerificationInput.Hidden {
68
+ display: none;
69
+ }
70
+
71
+ .PlayerSmsVerificationMsg {
72
+ font-size: 12px;
73
+ color: var(--emfe-w-registration-contrast, var(--emfe-w-color-gray-300, #58586B));
74
+ }
75
+ .PlayerSmsVerificationMsg.Hidden {
76
+ display: none;
77
+ }
78
+
79
+ .PlayerSmsVerificationErrMsg {
80
+ font-size: 12px;
81
+ color: var(--emfe-w-color-error, var(--emfe-w-color-red, #ed0909));
82
+ }