@everymatrix/player-account-anonymization 1.87.25 → 1.87.27

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const playerAccountAnonymization = require('./player-account-anonymization-6b5d35e0.js');
5
+ const playerAccountAnonymization = require('./player-account-anonymization-b93565f1.js');
6
6
  require('./index-f3ae2fb4.js');
7
7
 
8
8
 
@@ -132,6 +132,8 @@ function checkDeviceType() {
132
132
  return 'desktop';
133
133
  }
134
134
 
135
+ const StyleCacheKey = '__WIDGET_GLOBAL_STYLE_CACHE__';
136
+
135
137
  /**
136
138
  * @name setClientStyling
137
139
  * @description Method used to create and append to the passed element of the widget a style element with the content received
@@ -177,18 +179,75 @@ function setClientStylingURL(stylingContainer, clientStylingUrl) {
177
179
  * @param {HTMLElement} stylingContainer The highest element of the widget
178
180
  * @param {string} domain The domain from where the content should be fetched (e.g. 'Casino.Style', 'App.Style', 'casino-footer.style', etc.)
179
181
  * @param {ref} subscription A reference to a variable where the subscription should be saved for unsubscribing when no longer needed
182
+ * @param {boolean} useAdoptedStyleSheets A flag to gradually enable testing of adoptedStyleSheets
180
183
  */
181
- function setStreamStyling(stylingContainer, domain, subscription) {
182
- if (window.emMessageBus) {
183
- const sheet = document.createElement('style');
184
+ function setStreamStyling(stylingContainer, domain, subscription, useAdoptedStyleSheets = false) {
185
+ if (!window.emMessageBus) return;
184
186
 
185
- window.emMessageBus.subscribe(domain, (data) => {
186
- sheet.innerHTML = data;
187
- if (stylingContainer) {
188
- stylingContainer.appendChild(sheet);
189
- }
190
- });
187
+ const supportAdoptStyle = 'adoptedStyleSheets' in Document.prototype;
188
+
189
+ if (!supportAdoptStyle || !useAdoptedStyleSheets) {
190
+ subscription = getStyleTagSubscription(stylingContainer, domain);
191
+
192
+ return subscription;
193
+ }
194
+
195
+ if (!window[StyleCacheKey]) {
196
+ window[StyleCacheKey] = {};
191
197
  }
198
+ subscription = getAdoptStyleSubscription(stylingContainer, domain);
199
+
200
+ const originalUnsubscribe = subscription.unsubscribe.bind(subscription);
201
+ const wrappedUnsubscribe = () => {
202
+ if (window[StyleCacheKey][domain]) {
203
+ const cachedObject = window[StyleCacheKey][domain];
204
+ cachedObject.refCount > 1
205
+ ? (cachedObject.refCount = cachedObject.refCount - 1)
206
+ : delete window[StyleCacheKey][domain];
207
+ }
208
+
209
+ originalUnsubscribe();
210
+ };
211
+ subscription.unsubscribe = wrappedUnsubscribe;
212
+
213
+ return subscription;
214
+ }
215
+
216
+ function getStyleTagSubscription(stylingContainer, domain) {
217
+ const sheet = document.createElement('style');
218
+
219
+ return window.emMessageBus.subscribe(domain, (data) => {
220
+ if (stylingContainer) {
221
+ sheet.innerHTML = data;
222
+ stylingContainer.appendChild(sheet);
223
+ }
224
+ });
225
+ }
226
+
227
+ function getAdoptStyleSubscription(stylingContainer, domain) {
228
+ return window.emMessageBus.subscribe(domain, (data) => {
229
+ if (!stylingContainer) return;
230
+
231
+ const shadowRoot = stylingContainer.getRootNode();
232
+ const cacheStyleObject = window[StyleCacheKey];
233
+ let cachedStyle = cacheStyleObject[domain]?.sheet;
234
+
235
+ if (!cachedStyle) {
236
+ cachedStyle = new CSSStyleSheet();
237
+ cachedStyle.replaceSync(data);
238
+ cacheStyleObject[domain] = {
239
+ sheet: cachedStyle,
240
+ refCount: 1
241
+ };
242
+ } else {
243
+ cacheStyleObject[domain].refCount = cacheStyleObject[domain].refCount + 1;
244
+ }
245
+
246
+ const currentSheets = shadowRoot.adoptedStyleSheets || [];
247
+ if (!currentSheets.includes(cachedStyle)) {
248
+ shadowRoot.adoptedStyleSheets = [...currentSheets, cachedStyle];
249
+ }
250
+ });
192
251
  }
193
252
 
194
253
  const playerAccountAnonymizationCss = ":host{display:block}.PlayerAccountAnonymization{font-family:inherit;width:100%;height:100%}.PlayerAccountAnonymization .Title{font-size:var(--emw--font-size-x-large, 26px);color:var(--emw--color-primary, #22B04E);font-weight:var(--emw--font-weight-semibold, 500)}.PlayerAccountAnonymization .Title.Mobile{font-size:var(--emw--font-size-x-large, 20px);color:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization svg{fill:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization .ButtonReturn{font-family:inherit;display:inline-flex;align-items:center;gap:10px}.PlayerAccountAnonymization .Button{font-family:inherit;border-radius:var(--emw--button-border-radius, var(--emw--border-radius-large, 50px));background-image:linear-gradient(to bottom, color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, black 20%), var(--emw--color-primary, #22B04E), color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, white 30%));border:2px solid var(--emw--button-border-color, #0E5924);color:var(--emw--button-text-color, var(--emw--color-white, #FFFFFF));font-size:var(--emw--font-size-large, 20px);font-weight:var(--emw--font-weight-normal, 400);height:50px;width:100%;text-transform:uppercase;cursor:pointer}.PlayerAccountAnonymization .Button.Mobile{font-size:var(--emw--font-size-small, 14px);height:40px}.PlayerAccountAnonymization .Description{padding:10px;text-align:left;font-size:var(--emw--font-size-small, 14px)}.PlayerAccountAnonymization .ConfirmationPopupWindow{z-index:99999;background-color:var(--emw--color-gray-transparency-40, rgba(0, 0, 0, 0.4));display:flex;position:fixed;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup{max-width:600px;max-height:800px;align-items:center;position:relative;border:1px solid black;background-color:var(--emw--color-background, #FFFFFF);display:flex;flex-direction:column;gap:100px;padding:15px;border-radius:var(--emw--border-radius-medium, 10px)}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup.Mobile{max-width:300px;max-height:600px}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup .ButtonContainer{width:100%;display:flex;flex-direction:row;gap:20px;align-items:center}";
@@ -273,7 +332,7 @@ const PlayerAccountAnonymization = class {
273
332
  componentDidLoad() {
274
333
  if (this.stylingContainer) {
275
334
  if (window.emMessageBus != undefined) {
276
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
335
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
277
336
  }
278
337
  else {
279
338
  if (this.clientStyling)
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const playerAccountAnonymization = require('./player-account-anonymization-6b5d35e0.js');
5
+ const playerAccountAnonymization = require('./player-account-anonymization-b93565f1.js');
6
6
  require('./index-f3ae2fb4.js');
7
7
 
8
8
 
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { P as PlayerAccountAnonymization } from './player-account-anonymization-a4ba56b2.js';
1
+ export { P as PlayerAccountAnonymization } from './player-account-anonymization-4bc0f373.js';
2
2
  import './index-56f1d6dd.js';
@@ -130,6 +130,8 @@ function checkDeviceType() {
130
130
  return 'desktop';
131
131
  }
132
132
 
133
+ const StyleCacheKey = '__WIDGET_GLOBAL_STYLE_CACHE__';
134
+
133
135
  /**
134
136
  * @name setClientStyling
135
137
  * @description Method used to create and append to the passed element of the widget a style element with the content received
@@ -175,18 +177,75 @@ function setClientStylingURL(stylingContainer, clientStylingUrl) {
175
177
  * @param {HTMLElement} stylingContainer The highest element of the widget
176
178
  * @param {string} domain The domain from where the content should be fetched (e.g. 'Casino.Style', 'App.Style', 'casino-footer.style', etc.)
177
179
  * @param {ref} subscription A reference to a variable where the subscription should be saved for unsubscribing when no longer needed
180
+ * @param {boolean} useAdoptedStyleSheets A flag to gradually enable testing of adoptedStyleSheets
178
181
  */
179
- function setStreamStyling(stylingContainer, domain, subscription) {
180
- if (window.emMessageBus) {
181
- const sheet = document.createElement('style');
182
+ function setStreamStyling(stylingContainer, domain, subscription, useAdoptedStyleSheets = false) {
183
+ if (!window.emMessageBus) return;
182
184
 
183
- window.emMessageBus.subscribe(domain, (data) => {
184
- sheet.innerHTML = data;
185
- if (stylingContainer) {
186
- stylingContainer.appendChild(sheet);
187
- }
188
- });
185
+ const supportAdoptStyle = 'adoptedStyleSheets' in Document.prototype;
186
+
187
+ if (!supportAdoptStyle || !useAdoptedStyleSheets) {
188
+ subscription = getStyleTagSubscription(stylingContainer, domain);
189
+
190
+ return subscription;
191
+ }
192
+
193
+ if (!window[StyleCacheKey]) {
194
+ window[StyleCacheKey] = {};
189
195
  }
196
+ subscription = getAdoptStyleSubscription(stylingContainer, domain);
197
+
198
+ const originalUnsubscribe = subscription.unsubscribe.bind(subscription);
199
+ const wrappedUnsubscribe = () => {
200
+ if (window[StyleCacheKey][domain]) {
201
+ const cachedObject = window[StyleCacheKey][domain];
202
+ cachedObject.refCount > 1
203
+ ? (cachedObject.refCount = cachedObject.refCount - 1)
204
+ : delete window[StyleCacheKey][domain];
205
+ }
206
+
207
+ originalUnsubscribe();
208
+ };
209
+ subscription.unsubscribe = wrappedUnsubscribe;
210
+
211
+ return subscription;
212
+ }
213
+
214
+ function getStyleTagSubscription(stylingContainer, domain) {
215
+ const sheet = document.createElement('style');
216
+
217
+ return window.emMessageBus.subscribe(domain, (data) => {
218
+ if (stylingContainer) {
219
+ sheet.innerHTML = data;
220
+ stylingContainer.appendChild(sheet);
221
+ }
222
+ });
223
+ }
224
+
225
+ function getAdoptStyleSubscription(stylingContainer, domain) {
226
+ return window.emMessageBus.subscribe(domain, (data) => {
227
+ if (!stylingContainer) return;
228
+
229
+ const shadowRoot = stylingContainer.getRootNode();
230
+ const cacheStyleObject = window[StyleCacheKey];
231
+ let cachedStyle = cacheStyleObject[domain]?.sheet;
232
+
233
+ if (!cachedStyle) {
234
+ cachedStyle = new CSSStyleSheet();
235
+ cachedStyle.replaceSync(data);
236
+ cacheStyleObject[domain] = {
237
+ sheet: cachedStyle,
238
+ refCount: 1
239
+ };
240
+ } else {
241
+ cacheStyleObject[domain].refCount = cacheStyleObject[domain].refCount + 1;
242
+ }
243
+
244
+ const currentSheets = shadowRoot.adoptedStyleSheets || [];
245
+ if (!currentSheets.includes(cachedStyle)) {
246
+ shadowRoot.adoptedStyleSheets = [...currentSheets, cachedStyle];
247
+ }
248
+ });
190
249
  }
191
250
 
192
251
  const playerAccountAnonymizationCss = ":host{display:block}.PlayerAccountAnonymization{font-family:inherit;width:100%;height:100%}.PlayerAccountAnonymization .Title{font-size:var(--emw--font-size-x-large, 26px);color:var(--emw--color-primary, #22B04E);font-weight:var(--emw--font-weight-semibold, 500)}.PlayerAccountAnonymization .Title.Mobile{font-size:var(--emw--font-size-x-large, 20px);color:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization svg{fill:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization .ButtonReturn{font-family:inherit;display:inline-flex;align-items:center;gap:10px}.PlayerAccountAnonymization .Button{font-family:inherit;border-radius:var(--emw--button-border-radius, var(--emw--border-radius-large, 50px));background-image:linear-gradient(to bottom, color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, black 20%), var(--emw--color-primary, #22B04E), color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, white 30%));border:2px solid var(--emw--button-border-color, #0E5924);color:var(--emw--button-text-color, var(--emw--color-white, #FFFFFF));font-size:var(--emw--font-size-large, 20px);font-weight:var(--emw--font-weight-normal, 400);height:50px;width:100%;text-transform:uppercase;cursor:pointer}.PlayerAccountAnonymization .Button.Mobile{font-size:var(--emw--font-size-small, 14px);height:40px}.PlayerAccountAnonymization .Description{padding:10px;text-align:left;font-size:var(--emw--font-size-small, 14px)}.PlayerAccountAnonymization .ConfirmationPopupWindow{z-index:99999;background-color:var(--emw--color-gray-transparency-40, rgba(0, 0, 0, 0.4));display:flex;position:fixed;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup{max-width:600px;max-height:800px;align-items:center;position:relative;border:1px solid black;background-color:var(--emw--color-background, #FFFFFF);display:flex;flex-direction:column;gap:100px;padding:15px;border-radius:var(--emw--border-radius-medium, 10px)}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup.Mobile{max-width:300px;max-height:600px}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup .ButtonContainer{width:100%;display:flex;flex-direction:row;gap:20px;align-items:center}";
@@ -271,7 +330,7 @@ const PlayerAccountAnonymization = class {
271
330
  componentDidLoad() {
272
331
  if (this.stylingContainer) {
273
332
  if (window.emMessageBus != undefined) {
274
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
333
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription);
275
334
  }
276
335
  else {
277
336
  if (this.clientStyling)
@@ -1,2 +1,2 @@
1
- export { P as player_account_anonymization } from './player-account-anonymization-a4ba56b2.js';
1
+ export { P as player_account_anonymization } from './player-account-anonymization-4bc0f373.js';
2
2
  import './index-56f1d6dd.js';
@@ -1 +1 @@
1
- export{P as PlayerAccountAnonymization}from"./player-account-anonymization-a4ba56b2.js";import"./index-56f1d6dd.js";
1
+ export{P as PlayerAccountAnonymization}from"./player-account-anonymization-4bc0f373.js";import"./index-56f1d6dd.js";
@@ -0,0 +1 @@
1
+ import{r as i,h as e}from"./index-56f1d6dd.js";const n={en:{title:"Account Anonymization",description:"According to the General Data Protection Regulation (GDPR), you have the right to anonymize your personal information from the system. This process will take up to 30 days, once started.",confirmation:"Please confirm that you wish to start the personal information anonymization process.",btnSubmit:"Submit Request",btnCancel:"Cancel",btnOpenConfirmationPopup:"Request Anonymization",successMsg:"The anonymization process was started successfully.",errorMsg:"An error occurred. Please try again later."},ro:{title:"Anonimizarea contului",description:"Conform Regulamentului General privind Protecția Datelor (GDPR), aveți dreptul de a anonimiza informațiile dvs. personale din sistem. Acest proces va dura până la 30 de zile de la inițiere.",confirmation:"Vă rugăm să confirmați că doriți să începeți procesul de anonimizare a informațiilor personale.",btnSubmit:"Trimite solicitarea",btnCancel:"Anulează",btnOpenConfirmationPopup:"Solicită anonimizarea",successMsg:"Procesul de anonimizare a fost inițiat cu succes.",errorMsg:"A apărut o eroare. Vă rugăm să încercați din nou mai târziu."},fr:{title:"Anonymisation du compte",description:"Conformément au Règlement général sur la protection des données (RGPD), vous avez le droit d'anonymiser vos informations personnelles du système. Ce processus prendra jusqu'à 30 jours une fois commencé.",confirmation:"Veuillez confirmer que vous souhaitez commencer le processus d'anonymisation de vos informations personnelles.",btnSubmit:"Soumettre la demande",btnCancel:"Annuler",btnOpenConfirmationPopup:"Demander l'anonymisation",successMsg:"Le processus d'anonymisation a été lancé avec succès.",errorMsg:"Une erreur s'est produite. Veuillez réessayer plus tard."},hu:{title:"Fiók anonimizálása",description:"A General Data Protection Regulation (GDPR) szerint joga van anonimizálni személyes adatait a rendszerből. Ez a folyamat legfeljebb 30 napig tart, miután elindult.",confirmation:"Kérjük, erősítse meg, hogy el kívánja indítani a személyes adatok anonimizálási folyamatát.",btnSubmit:"Kérelem benyújtása",btnCancel:"Mégse",btnOpenConfirmationPopup:"Anonimizálás kérése",successMsg:"Az anonimizálási folyamat sikeresen elindult.",errorMsg:"Hiba történt. Kérjük, próbálja meg később."},tr:{title:"Hesap Anonimleştirme",description:"Genel Veri Koruma Yönetmeliği'ne (GDPR) göre, kişisel bilgilerinizi sistemden anonimleştirme hakkına sahipsiniz. Bu işlem başlatıldıktan sonra 30 güne kadar sürebilir.",confirmation:"Kişisel bilgilerin anonimleştirilme sürecini başlatmak istediğinizi lütfen onaylayın.",btnSubmit:"Talebi Gönder",btnCancel:"İptal",btnOpenConfirmationPopup:"Anonimleştirme Talebi",successMsg:"Anonimleştirme süreci başarıyla başlatıldı.",errorMsg:"Bir hata oluştu. Lütfen daha sonra tekrar deneyin."},el:{title:"Ανωνυμοποίηση Λογαριασμού",description:"Σύμφωνα με τον Γενικό Κανονισμό Προστασίας Δεδομένων (GDPR), έχετε το δικαίωμα να ανωνυμοποιήσετε τα προσωπικά σας δεδομένα από το σύστημα. Αυτή η διαδικασία θα διαρκέσει έως και 30 ημέρες από την έναρξή της.",confirmation:"Παρακαλούμε επιβεβαιώστε ότι επιθυμείτε να ξεκινήσετε τη διαδικασία ανωνυμοποίησης προσωπικών δεδομένων.",btnSubmit:"Υποβολή Αιτήματος",btnCancel:"Ακύρωση",btnOpenConfirmationPopup:"Αίτημα Ανωνυμοποίησης",successMsg:"Η διαδικασία ανωνυμοποίησης ξεκίνησε με επιτυχία.",errorMsg:"Παρουσιάστηκε σφάλμα. Παρακαλούμε δοκιμάστε ξανά αργότερα."},es:{title:"Anonimización de Cuenta",description:"De acuerdo con el Reglamento General de Protección de Datos (GDPR), tiene el derecho de anonimizar su información personal del sistema. Este proceso tardará hasta 30 días una vez iniciado.",confirmation:"Por favor, confirme que desea iniciar el proceso de anonimización de la información personal.",btnSubmit:"Enviar Solicitud",btnCancel:"Cancelar",btnOpenConfirmationPopup:"Solicitar Anonimización",successMsg:"El proceso de anonimización se ha iniciado correctamente.",errorMsg:"Ocurrió un error. Por favor, inténtelo de nuevo más tarde."},pt:{title:"Anonimização de Conta",description:"De acordo com o Regulamento Geral de Proteção de Dados (GDPR), você tem o direito de anonimizar suas informações pessoais do sistema. Este processo levará até 30 dias após o início.",confirmation:"Por favor, confirme que deseja iniciar o processo de anonimização das informações pessoais.",btnSubmit:"Enviar Solicitação",btnCancel:"Cancelar",btnOpenConfirmationPopup:"Solicitar Anonimização",successMsg:"O processo de anonimização foi iniciado com sucesso.",errorMsg:"Ocorreu um erro. Por favor, tente novamente mais tarde."},hr:{title:"Anonimizacija računa",description:"Prema Općoj uredbi o zaštiti podataka (GDPR), imate pravo anonimizirati svoje osobne podatke iz sustava. Ovaj proces može potrajati do 30 dana nakon početka.",confirmation:"Molimo potvrdite da želite započeti proces anonimizacije osobnih podataka.",btnSubmit:"Pošalji zahtjev",btnCancel:"Otkaži",btnOpenConfirmationPopup:"Zatraži anonimizaciju",successMsg:"Proces anonimizacije uspješno je započeo.",errorMsg:"Došlo je do pogreške. Molimo pokušajte ponovno kasnije."}},o=(i,e)=>n[void 0!==e?e:"en"][i];function t(){const i=navigator.userAgent.toLowerCase(),e=screen.availWidth,n=screen.availHeight;if(i.includes("iphone"))return"mobile";if(i.includes("android")){if(n>e&&e<800)return"mobile";if(e>n&&n<800)return"tablet"}return"desktop"}const a="__WIDGET_GLOBAL_STYLE_CACHE__";function r(i,e){if(i){const n=document.createElement("style");n.innerHTML=e,i.appendChild(n)}}function s(i,e){if(!i||!e)return;const n=new URL(e);fetch(n.href).then((i=>i.text())).then((e=>{const n=document.createElement("style");n.innerHTML=e,i&&i.appendChild(n)})).catch((i=>{console.error("There was an error while trying to load client styling from URL",i)}))}const c=class{constructor(e){i(this,e),this.setClientStyling=()=>{const i=document.createElement("style");i.innerHTML=this.clientStyling,this.stylingContainer.prepend(i)},this.setClientStylingURL=()=>{const i=new URL(this.clientStylingUrl),e=document.createElement("style");fetch(i.href).then((i=>i.text())).then((i=>{e.innerHTML=i,setTimeout((()=>{this.stylingContainer.prepend(e)}),1)})).catch((i=>{console.log("error ",i)}))},this.toggleScreen=()=>{window.postMessage({type:"PlayerAccountMenuActive",isMobile:this.isMobile},window.location.href)},this.openConfirmationPopup=()=>{this.displayConfirmationPopup=!0},this.closeConfirmationPopup=()=>{this.displayConfirmationPopup=!1},this.submitRequest=()=>{const i=new URL(`${this.endpoint}/api/v1/players/legislation/anonymization`),e=new Headers;e.append("X-SessionId",this.session),fetch(i.href,{method:"POST",headers:e}).then((i=>{console.log("res :>> ",i),i.status<300?(window.postMessage({type:"PlayerAccountAnonymizationSuccessful"}),window.postMessage({type:"WidgetNotification",data:{type:"success",message:o("successMsg",this.language)}},window.location.href)):window.postMessage({type:"WidgetNotification",data:{type:"error",message:o("errorMsg",this.language)}},window.location.href)}))},this.endpoint=void 0,this.language=void 0,this.session=void 0,this.clientStyling=void 0,this.clientStylingUrl=void 0,this.mbSource=void 0,this.translationUrl=void 0,this.isMobile="mobile"===t()||"tablet"===t(),this.displayConfirmationPopup=!1}handleClientStylingChange(i,e){i!=e&&r(this.stylingContainer,this.clientStyling)}handleClientStylingUrlChange(i,e){i!=e&&this.clientStylingUrl&&s(this.stylingContainer,this.clientStylingUrl)}async componentWillLoad(){var i;this.translationUrl&&await(i=this.translationUrl,new Promise((e=>{fetch(i).then((i=>i.json())).then((i=>{Object.keys(i).forEach((e=>{for(let o in i[e])n[e][o]=i[e][o]})),e(!0)}))})))}componentDidLoad(){this.stylingContainer&&(null!=window.emMessageBus?function(i,e,n,o=!1){if(!window.emMessageBus)return;if(!("adoptedStyleSheets"in Document.prototype)||!o)return function(i,e){const n=document.createElement("style");return window.emMessageBus.subscribe(e,(e=>{i&&(n.innerHTML=e,i.appendChild(n))}))}(i,e);window[a]||(window[a]={});const t=(n=function(i,e){return window.emMessageBus.subscribe(e,(n=>{if(!i)return;const o=i.getRootNode(),t=window[a];let r=t[e]?.sheet;r?t[e].refCount=t[e].refCount+1:(r=new CSSStyleSheet,r.replaceSync(n),t[e]={sheet:r,refCount:1});const s=o.adoptedStyleSheets||[];s.includes(r)||(o.adoptedStyleSheets=[...s,r])}))}(i,e)).unsubscribe.bind(n);n.unsubscribe=()=>{if(window[a][e]){const i=window[a][e];i.refCount>1?i.refCount=i.refCount-1:delete window[a][e]}t()}}(this.stylingContainer,`${this.mbSource}.Style`,this.stylingSubscription):(this.clientStyling&&r(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&s(this.stylingContainer,this.clientStylingUrl)))}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}debounce(i,e){return function(...n){clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>{i.apply(this,n)}),e)}}render(){return e("div",{key:"5b5971f67a3dab5bc0fa0ebda1003fdda80e07a3",class:"PlayerAccountAnonymization",ref:i=>this.stylingContainer=i},this.isMobile?e("div",{class:"ButtonReturn",onClick:this.toggleScreen},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 15 15"},e("g",{transform:"translate(-20 -158)"},e("g",{transform:"translate(20 158)"},e("path",{class:"aaa",d:"M7.5,0,6.136,1.364,11.3,6.526H0V8.474H11.3L6.136,13.636,7.5,15,15,7.5Z",transform:"translate(15 15) rotate(180)"})))),e("h2",{class:"Title Mobile"},o("title",this.language))):e("h2",{class:"Title"},o("title",this.language)),e("div",{key:"664847ea06fc76c6a1a2dd889aedeee662410fd6",class:"Description"},e("p",{key:"880be51ca500d44469fdf1bd9c16cb20c513e4c9"},o("description",this.language))),e("button",{key:"3fec26dc395295dee1aad17b645f24a7d5bf1607",class:"Button",onClick:this.openConfirmationPopup},o("btnOpenConfirmationPopup",this.language)),this.displayConfirmationPopup&&e("div",{key:"c8cf4cefcf6712582fd5ec56afb82866cc2e2ebc",class:"ConfirmationPopupWindow"},e("div",{key:"3441fc2d49d17b2a0dfbe6779eceebdc385738e3",class:"ConfirmationPopup"+(this.isMobile?" Mobile":"")},e("div",{key:"05c9c8da93fff89a38ca631b5c020e5871882d17",class:"Description"},e("p",{key:"6209af233f9e0258c368f90ccbd452aca8266b6e"},o("confirmation",this.language))),e("div",{key:"53f94e08d6087a4bfee970e5bd3ca76880940763",class:"ButtonContainer"},e("button",{key:"6062ba5208d653dcab5f330139bbfc9880795bdf",class:"Button"+(this.isMobile?" Mobile":""),onClick:this.debounce(this.submitRequest,850)},o("btnSubmit",this.language)),e("button",{key:"80aff49d71f9acc660cc2696eeb71fc52be97c28",class:"Button"+(this.isMobile?" Mobile":""),onClick:this.closeConfirmationPopup},o("btnCancel",this.language))))))}static get watchers(){return{clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}}};c.style=":host{display:block}.PlayerAccountAnonymization{font-family:inherit;width:100%;height:100%}.PlayerAccountAnonymization .Title{font-size:var(--emw--font-size-x-large, 26px);color:var(--emw--color-primary, #22B04E);font-weight:var(--emw--font-weight-semibold, 500)}.PlayerAccountAnonymization .Title.Mobile{font-size:var(--emw--font-size-x-large, 20px);color:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization svg{fill:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization .ButtonReturn{font-family:inherit;display:inline-flex;align-items:center;gap:10px}.PlayerAccountAnonymization .Button{font-family:inherit;border-radius:var(--emw--button-border-radius, var(--emw--border-radius-large, 50px));background-image:linear-gradient(to bottom, color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, black 20%), var(--emw--color-primary, #22B04E), color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, white 30%));border:2px solid var(--emw--button-border-color, #0E5924);color:var(--emw--button-text-color, var(--emw--color-white, #FFFFFF));font-size:var(--emw--font-size-large, 20px);font-weight:var(--emw--font-weight-normal, 400);height:50px;width:100%;text-transform:uppercase;cursor:pointer}.PlayerAccountAnonymization .Button.Mobile{font-size:var(--emw--font-size-small, 14px);height:40px}.PlayerAccountAnonymization .Description{padding:10px;text-align:left;font-size:var(--emw--font-size-small, 14px)}.PlayerAccountAnonymization .ConfirmationPopupWindow{z-index:99999;background-color:var(--emw--color-gray-transparency-40, rgba(0, 0, 0, 0.4));display:flex;position:fixed;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup{max-width:600px;max-height:800px;align-items:center;position:relative;border:1px solid black;background-color:var(--emw--color-background, #FFFFFF);display:flex;flex-direction:column;gap:100px;padding:15px;border-radius:var(--emw--border-radius-medium, 10px)}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup.Mobile{max-width:300px;max-height:600px}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup .ButtonContainer{width:100%;display:flex;flex-direction:row;gap:20px;align-items:center}";export{c as P}
@@ -1 +1 @@
1
- export{P as player_account_anonymization}from"./player-account-anonymization-a4ba56b2.js";import"./index-56f1d6dd.js";
1
+ export{P as player_account_anonymization}from"./player-account-anonymization-4bc0f373.js";import"./index-56f1d6dd.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/player-account-anonymization",
3
- "version": "1.87.25",
3
+ "version": "1.87.27",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",
@@ -1 +0,0 @@
1
- import{r as i,h as e}from"./index-56f1d6dd.js";const n={en:{title:"Account Anonymization",description:"According to the General Data Protection Regulation (GDPR), you have the right to anonymize your personal information from the system. This process will take up to 30 days, once started.",confirmation:"Please confirm that you wish to start the personal information anonymization process.",btnSubmit:"Submit Request",btnCancel:"Cancel",btnOpenConfirmationPopup:"Request Anonymization",successMsg:"The anonymization process was started successfully.",errorMsg:"An error occurred. Please try again later."},ro:{title:"Anonimizarea contului",description:"Conform Regulamentului General privind Protecția Datelor (GDPR), aveți dreptul de a anonimiza informațiile dvs. personale din sistem. Acest proces va dura până la 30 de zile de la inițiere.",confirmation:"Vă rugăm să confirmați că doriți să începeți procesul de anonimizare a informațiilor personale.",btnSubmit:"Trimite solicitarea",btnCancel:"Anulează",btnOpenConfirmationPopup:"Solicită anonimizarea",successMsg:"Procesul de anonimizare a fost inițiat cu succes.",errorMsg:"A apărut o eroare. Vă rugăm să încercați din nou mai târziu."},fr:{title:"Anonymisation du compte",description:"Conformément au Règlement général sur la protection des données (RGPD), vous avez le droit d'anonymiser vos informations personnelles du système. Ce processus prendra jusqu'à 30 jours une fois commencé.",confirmation:"Veuillez confirmer que vous souhaitez commencer le processus d'anonymisation de vos informations personnelles.",btnSubmit:"Soumettre la demande",btnCancel:"Annuler",btnOpenConfirmationPopup:"Demander l'anonymisation",successMsg:"Le processus d'anonymisation a été lancé avec succès.",errorMsg:"Une erreur s'est produite. Veuillez réessayer plus tard."},hu:{title:"Fiók anonimizálása",description:"A General Data Protection Regulation (GDPR) szerint joga van anonimizálni személyes adatait a rendszerből. Ez a folyamat legfeljebb 30 napig tart, miután elindult.",confirmation:"Kérjük, erősítse meg, hogy el kívánja indítani a személyes adatok anonimizálási folyamatát.",btnSubmit:"Kérelem benyújtása",btnCancel:"Mégse",btnOpenConfirmationPopup:"Anonimizálás kérése",successMsg:"Az anonimizálási folyamat sikeresen elindult.",errorMsg:"Hiba történt. Kérjük, próbálja meg később."},tr:{title:"Hesap Anonimleştirme",description:"Genel Veri Koruma Yönetmeliği'ne (GDPR) göre, kişisel bilgilerinizi sistemden anonimleştirme hakkına sahipsiniz. Bu işlem başlatıldıktan sonra 30 güne kadar sürebilir.",confirmation:"Kişisel bilgilerin anonimleştirilme sürecini başlatmak istediğinizi lütfen onaylayın.",btnSubmit:"Talebi Gönder",btnCancel:"İptal",btnOpenConfirmationPopup:"Anonimleştirme Talebi",successMsg:"Anonimleştirme süreci başarıyla başlatıldı.",errorMsg:"Bir hata oluştu. Lütfen daha sonra tekrar deneyin."},el:{title:"Ανωνυμοποίηση Λογαριασμού",description:"Σύμφωνα με τον Γενικό Κανονισμό Προστασίας Δεδομένων (GDPR), έχετε το δικαίωμα να ανωνυμοποιήσετε τα προσωπικά σας δεδομένα από το σύστημα. Αυτή η διαδικασία θα διαρκέσει έως και 30 ημέρες από την έναρξή της.",confirmation:"Παρακαλούμε επιβεβαιώστε ότι επιθυμείτε να ξεκινήσετε τη διαδικασία ανωνυμοποίησης προσωπικών δεδομένων.",btnSubmit:"Υποβολή Αιτήματος",btnCancel:"Ακύρωση",btnOpenConfirmationPopup:"Αίτημα Ανωνυμοποίησης",successMsg:"Η διαδικασία ανωνυμοποίησης ξεκίνησε με επιτυχία.",errorMsg:"Παρουσιάστηκε σφάλμα. Παρακαλούμε δοκιμάστε ξανά αργότερα."},es:{title:"Anonimización de Cuenta",description:"De acuerdo con el Reglamento General de Protección de Datos (GDPR), tiene el derecho de anonimizar su información personal del sistema. Este proceso tardará hasta 30 días una vez iniciado.",confirmation:"Por favor, confirme que desea iniciar el proceso de anonimización de la información personal.",btnSubmit:"Enviar Solicitud",btnCancel:"Cancelar",btnOpenConfirmationPopup:"Solicitar Anonimización",successMsg:"El proceso de anonimización se ha iniciado correctamente.",errorMsg:"Ocurrió un error. Por favor, inténtelo de nuevo más tarde."},pt:{title:"Anonimização de Conta",description:"De acordo com o Regulamento Geral de Proteção de Dados (GDPR), você tem o direito de anonimizar suas informações pessoais do sistema. Este processo levará até 30 dias após o início.",confirmation:"Por favor, confirme que deseja iniciar o processo de anonimização das informações pessoais.",btnSubmit:"Enviar Solicitação",btnCancel:"Cancelar",btnOpenConfirmationPopup:"Solicitar Anonimização",successMsg:"O processo de anonimização foi iniciado com sucesso.",errorMsg:"Ocorreu um erro. Por favor, tente novamente mais tarde."},hr:{title:"Anonimizacija računa",description:"Prema Općoj uredbi o zaštiti podataka (GDPR), imate pravo anonimizirati svoje osobne podatke iz sustava. Ovaj proces može potrajati do 30 dana nakon početka.",confirmation:"Molimo potvrdite da želite započeti proces anonimizacije osobnih podataka.",btnSubmit:"Pošalji zahtjev",btnCancel:"Otkaži",btnOpenConfirmationPopup:"Zatraži anonimizaciju",successMsg:"Proces anonimizacije uspješno je započeo.",errorMsg:"Došlo je do pogreške. Molimo pokušajte ponovno kasnije."}},o=(i,e)=>n[void 0!==e?e:"en"][i];function t(){const i=navigator.userAgent.toLowerCase(),e=screen.availWidth,n=screen.availHeight;if(i.includes("iphone"))return"mobile";if(i.includes("android")){if(n>e&&e<800)return"mobile";if(e>n&&n<800)return"tablet"}return"desktop"}function a(i,e){if(i){const n=document.createElement("style");n.innerHTML=e,i.appendChild(n)}}function r(i,e){if(!i||!e)return;const n=new URL(e);fetch(n.href).then((i=>i.text())).then((e=>{const n=document.createElement("style");n.innerHTML=e,i&&i.appendChild(n)})).catch((i=>{console.error("There was an error while trying to load client styling from URL",i)}))}const s=class{constructor(e){i(this,e),this.setClientStyling=()=>{const i=document.createElement("style");i.innerHTML=this.clientStyling,this.stylingContainer.prepend(i)},this.setClientStylingURL=()=>{const i=new URL(this.clientStylingUrl),e=document.createElement("style");fetch(i.href).then((i=>i.text())).then((i=>{e.innerHTML=i,setTimeout((()=>{this.stylingContainer.prepend(e)}),1)})).catch((i=>{console.log("error ",i)}))},this.toggleScreen=()=>{window.postMessage({type:"PlayerAccountMenuActive",isMobile:this.isMobile},window.location.href)},this.openConfirmationPopup=()=>{this.displayConfirmationPopup=!0},this.closeConfirmationPopup=()=>{this.displayConfirmationPopup=!1},this.submitRequest=()=>{const i=new URL(`${this.endpoint}/api/v1/players/legislation/anonymization`),e=new Headers;e.append("X-SessionId",this.session),fetch(i.href,{method:"POST",headers:e}).then((i=>{console.log("res :>> ",i),i.status<300?(window.postMessage({type:"PlayerAccountAnonymizationSuccessful"}),window.postMessage({type:"WidgetNotification",data:{type:"success",message:o("successMsg",this.language)}},window.location.href)):window.postMessage({type:"WidgetNotification",data:{type:"error",message:o("errorMsg",this.language)}},window.location.href)}))},this.endpoint=void 0,this.language=void 0,this.session=void 0,this.clientStyling=void 0,this.clientStylingUrl=void 0,this.mbSource=void 0,this.translationUrl=void 0,this.isMobile="mobile"===t()||"tablet"===t(),this.displayConfirmationPopup=!1}handleClientStylingChange(i,e){i!=e&&a(this.stylingContainer,this.clientStyling)}handleClientStylingUrlChange(i,e){i!=e&&this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)}async componentWillLoad(){var i;this.translationUrl&&await(i=this.translationUrl,new Promise((e=>{fetch(i).then((i=>i.json())).then((i=>{Object.keys(i).forEach((e=>{for(let o in i[e])n[e][o]=i[e][o]})),e(!0)}))})))}componentDidLoad(){this.stylingContainer&&(null!=window.emMessageBus?function(i,e){if(window.emMessageBus){const n=document.createElement("style");window.emMessageBus.subscribe(e,(e=>{n.innerHTML=e,i&&i.appendChild(n)}))}}(this.stylingContainer,`${this.mbSource}.Style`):(this.clientStyling&&a(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)))}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}debounce(i,e){return function(...n){clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>{i.apply(this,n)}),e)}}render(){return e("div",{key:"5b5971f67a3dab5bc0fa0ebda1003fdda80e07a3",class:"PlayerAccountAnonymization",ref:i=>this.stylingContainer=i},this.isMobile?e("div",{class:"ButtonReturn",onClick:this.toggleScreen},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 15 15"},e("g",{transform:"translate(-20 -158)"},e("g",{transform:"translate(20 158)"},e("path",{class:"aaa",d:"M7.5,0,6.136,1.364,11.3,6.526H0V8.474H11.3L6.136,13.636,7.5,15,15,7.5Z",transform:"translate(15 15) rotate(180)"})))),e("h2",{class:"Title Mobile"},o("title",this.language))):e("h2",{class:"Title"},o("title",this.language)),e("div",{key:"664847ea06fc76c6a1a2dd889aedeee662410fd6",class:"Description"},e("p",{key:"880be51ca500d44469fdf1bd9c16cb20c513e4c9"},o("description",this.language))),e("button",{key:"3fec26dc395295dee1aad17b645f24a7d5bf1607",class:"Button",onClick:this.openConfirmationPopup},o("btnOpenConfirmationPopup",this.language)),this.displayConfirmationPopup&&e("div",{key:"c8cf4cefcf6712582fd5ec56afb82866cc2e2ebc",class:"ConfirmationPopupWindow"},e("div",{key:"3441fc2d49d17b2a0dfbe6779eceebdc385738e3",class:"ConfirmationPopup"+(this.isMobile?" Mobile":"")},e("div",{key:"05c9c8da93fff89a38ca631b5c020e5871882d17",class:"Description"},e("p",{key:"6209af233f9e0258c368f90ccbd452aca8266b6e"},o("confirmation",this.language))),e("div",{key:"53f94e08d6087a4bfee970e5bd3ca76880940763",class:"ButtonContainer"},e("button",{key:"6062ba5208d653dcab5f330139bbfc9880795bdf",class:"Button"+(this.isMobile?" Mobile":""),onClick:this.debounce(this.submitRequest,850)},o("btnSubmit",this.language)),e("button",{key:"80aff49d71f9acc660cc2696eeb71fc52be97c28",class:"Button"+(this.isMobile?" Mobile":""),onClick:this.closeConfirmationPopup},o("btnCancel",this.language))))))}static get watchers(){return{clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}}};s.style=":host{display:block}.PlayerAccountAnonymization{font-family:inherit;width:100%;height:100%}.PlayerAccountAnonymization .Title{font-size:var(--emw--font-size-x-large, 26px);color:var(--emw--color-primary, #22B04E);font-weight:var(--emw--font-weight-semibold, 500)}.PlayerAccountAnonymization .Title.Mobile{font-size:var(--emw--font-size-x-large, 20px);color:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization svg{fill:var(--emw--color-primary, #22B04E)}.PlayerAccountAnonymization .ButtonReturn{font-family:inherit;display:inline-flex;align-items:center;gap:10px}.PlayerAccountAnonymization .Button{font-family:inherit;border-radius:var(--emw--button-border-radius, var(--emw--border-radius-large, 50px));background-image:linear-gradient(to bottom, color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, black 20%), var(--emw--color-primary, #22B04E), color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, white 30%));border:2px solid var(--emw--button-border-color, #0E5924);color:var(--emw--button-text-color, var(--emw--color-white, #FFFFFF));font-size:var(--emw--font-size-large, 20px);font-weight:var(--emw--font-weight-normal, 400);height:50px;width:100%;text-transform:uppercase;cursor:pointer}.PlayerAccountAnonymization .Button.Mobile{font-size:var(--emw--font-size-small, 14px);height:40px}.PlayerAccountAnonymization .Description{padding:10px;text-align:left;font-size:var(--emw--font-size-small, 14px)}.PlayerAccountAnonymization .ConfirmationPopupWindow{z-index:99999;background-color:var(--emw--color-gray-transparency-40, rgba(0, 0, 0, 0.4));display:flex;position:fixed;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup{max-width:600px;max-height:800px;align-items:center;position:relative;border:1px solid black;background-color:var(--emw--color-background, #FFFFFF);display:flex;flex-direction:column;gap:100px;padding:15px;border-radius:var(--emw--border-radius-medium, 10px)}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup.Mobile{max-width:300px;max-height:600px}.PlayerAccountAnonymization .ConfirmationPopupWindow .ConfirmationPopup .ButtonContainer{width:100%;display:flex;flex-direction:row;gap:20px;align-items:center}";export{s as P}