@everymatrix/player-lugas-limit 1.72.1 → 1.72.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-0a905cca.js → index-bf3197ee.js} +14 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/player-lugas-limit.cjs.entry.js +155 -154
- package/dist/cjs/player-lugas-limit.cjs.js +2 -2
- package/dist/collection/components/player-lugas-limit/player-lugas-limit.css +51 -28
- package/dist/collection/components/player-lugas-limit/player-lugas-limit.js +192 -176
- package/dist/collection/utils/locale.utils.js +21 -5
- package/dist/esm/{index-6920b292.js → index-c89cfec9.js} +14 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/player-lugas-limit.entry.js +155 -154
- package/dist/esm/player-lugas-limit.js +3 -3
- package/dist/player-lugas-limit/index-c89cfec9.js +2 -0
- package/dist/player-lugas-limit/player-lugas-limit.entry.js +1 -1
- package/dist/player-lugas-limit/player-lugas-limit.esm.js +1 -1
- package/dist/types/components/player-lugas-limit/player-lugas-limit.d.ts +15 -82
- package/dist/types/components.d.ts +6 -81
- package/package.json +1 -1
- package/dist/player-lugas-limit/index-6920b292.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,c as t,h as i}from"./index-6920b292.js";let e={en:{LugasSetLimitDialogTitle:"Monthly Central Deposit Limit",LugasInfoBox:"The central limit is your monthly deposit limit for all licensed websites in Germany. Note that your limit and deposit details may vary if changed on other sites.",ChooseLimit:"Choose Limit",ButtonCustomValue:"Other",ButtonMax:"Max",LugasSetLimitDialogButtonSetLimit:"SET LIMIT {amount} {currency}",invalidInputMessageLimit:"The value entered must be between {minValue} {currency} and {maxValue} {currency}.",LugasSetLimitDialogPrivacyNote:{text:"The selected limit is connected to processing player's personal data due to our legal obligations. In some cases setting a limit is a consent to processing player's personal data. For details see our ",link:"Privacy Policy"},LugasSetLimitDialogExistingLimit:{text:"If you would like to use your existing limit ",link:"click here"},LugasNotSet:"No deposit limit set. Please enter a new limit.",loading:"Loading, please wait ...",error:"It was an error while trying to fetch the data",LugasF1002Error:'We were unable to set your cross-provider deposit limit at LUGAS due to a technical error. Please <a href="https://here-will-be-the-support-link/">contact our support team</a> and provide error code F1002. We\'ll be happy to assist you in resolving this issue.'},de:{LugasSetLimitDialogTitle:"Monatliches zentrales Einzahlungslimit",LugasInfoBox:"Das zentrale Limit ist Ihr monatliches Einzahlungslimit für alle lizenzierten Websites in Deutschland. Beachten Sie, dass sich Ihr Limit und der verbleibende Betrag ändern können, wenn Sie auf anderen Websites Einzahlungen vornehmen oder Ihr Limit anpassen.",ChooseLimit:"Limit wählen",ButtonCustomValue:"Eigener",ButtonMax:"Max",LugasSetLimitDialogButtonSetLimit:"LIMIT SETZEN {amount} {currency}",invalidInputMessageLimit:"Der eingegebene Wert muss zwischen {minValue} und {maxValue} {currency} liegen.",LugasSetLimitDialogPrivacyNote:{text:"Das gewählte Limit steht wegen unserer rechtlichen Verpflichtungen in Verbindung mit der Verarbeitung persönlicher Daten der Spieler. In manchen Fällen gilt das Setzen eines Limits als Einwilligung zur Verarbeitung persönlicher Daten des Spielers. Mehr Infos unter ",link:"Erklärung zum Datenschutz"},LugasSetLimitDialogExistingLimit:{text:"Wenn Sie Ihr bestehendes Limit nutzen möchten, ",link:"klicken Sie hier"},LugasNotSet:"Kein Einzahlungslimit festgelegt. Bitte geben Sie ein neues Limit ein.",loading:"Laden, bitte warten ...",error:"Beim Versuch, die Daten abzurufen, ist ein Fehler aufgetreten",LugasF1002Error:'Ihr anbieterübergreifendes Einzahlungslimit konnte aufgrund eines technischen Fehlers nicht in der LUGAS-Datenbank festgelegt werden. Bitte <a href="https://here-will-be-the-support-link/">wenden Sie sich an unseren Kundenservice</a> unter Angabe des Fehlercodes F1002. Wir helfen Ihnen dann gerne weiter.'}};const o=n=>new Promise((t=>{fetch(n).then((n=>n.json())).then((n=>{Object.keys(n).forEach((t=>{e[t]||(e[t]={});for(let i in n[t])e[t][i]=n[t][i]})),t(!0)}))})),a=(n,t,i)=>{let o=(a=e[t||"de"],n.split(".").reduce(((n,t)=>n&&void 0!==n[t]?n[t]:null),a));var a;if(null===o)return n;if(void 0!==i)for(const[n,t]of Object.entries(i.values)){const i=new RegExp(`{${n}}`,"g");o=o.replace(i,t)}return o};function r(n,t){if(n){const i=document.createElement("style");i.innerHTML=t,n.appendChild(i)}}function s(n,t){const i=new URL(t);fetch(i.href).then((n=>n.text())).then((t=>{const i=document.createElement("style");i.innerHTML=t,n&&n.appendChild(i)})).catch((n=>{console.error("There was an error while trying to load client styling from URL",n)}))}const l=class{constructor(i){n(this,i),this.closeLugasModal=t(this,"closeLugasModal",7),this.predefinedAmounts=[],this.displayedCurrency="",this.submitMonthlyDepositLimit=async(n,t=!1,i=!1)=>{if(t&&!this.isUseExistingLimitOptionActive)return;this.isSubmitted=!0,this.errorMessageOnSubmit="";const e=new URL(`${this.endpoint}v2/player/${this.userId}/limit/lugas`),o={method:"POST",headers:{"X-SessionId":this.session,"X-Session-Type":"others","Content-Type":"application/json",Authorization:`Bearer ${this.session}`},body:JSON.stringify({amount:n,keepLimit:t,roleLimitAmount:i?this.newAmount:0})};try{const n=await fetch(e.href,o);if(!n.ok)throw await n.json();this.closeLugasModal.emit()}catch(n){this.handleSubmissionError(n,t)}finally{this.isSubmitted=!1}},this.userId="",this.session="",this.endpoint="",this.currency="EUR",this.amount="",this.lang=void 0,this.clientStyling="",this.clientStylingUrl="",this.mbSource=void 0,this.translationUrl="",this.isLoading=!1,this.showCustomAmount=!1,this.isSubmitted=!1,this.isUseExistingLimitOptionActive=!0,this.selectedPredefinedAmount=void 0,this.errorMessageOnInitialization="",this.errorMessageOnSubmit="",this.errorMessageOnInput="",this.hasLugasError=!1,this.newAmount=""}handleNewTranslations(){o(this.translationUrl)}handleClientStylingChange(n,t){n!=t&&r(this.stylingContainer,this.clientStyling)}handleClientStylingUrlChange(n,t){n!=t&&this.clientStylingUrl&&s(this.stylingContainer,this.clientStylingUrl)}async componentWillLoad(){this.translationUrl.length>2&&await o(this.translationUrl),await this.getMonthlyDepositLimitConfig(),this.displayedCurrency="EUR"===this.currency?"€":this.currency}componentDidLoad(){this.stylingContainer&&(null!=window.emMessageBus?function(n,t){if(window.emMessageBus){const i=document.createElement("style");window.emMessageBus.subscribe(t,(t=>{i.innerHTML=t,n&&n.appendChild(i)}))}}(this.stylingContainer,`${this.mbSource}.Style`):(this.clientStyling&&r(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&s(this.stylingContainer,this.clientStylingUrl)))}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}async getMonthlyDepositLimitConfig(){const n=new URL(`${this.endpoint}api/v1/gm/legislation/config/month-deposit-limit`);return this.isLoading=!0,new Promise((t=>{fetch(n.href).then((n=>{if(n.status>=300)throw new Error("There was an error while fetching the configuration");return n.json()})).then((n=>{this.predefinedAmounts=n.preDefinedOptions,this.minAmount=n.minAmount,this.maxAmount=n.maxAmount,t(!0)})).catch((n=>{this.errorMessageOnInitialization=a("error",this.lang),console.log(n)})).finally((()=>this.isLoading=!1))}))}handleSubmissionError(n,t){var i,e;if(this.errorMessageOnSubmit=a("LugasNotSet",this.lang),t&&(this.isUseExistingLimitOptionActive=!1),3===n.errorCode&&"GmLegislation"===n.errorSourceName){const t=null!==(e=null===(i=n.thirdPartyResponse)||void 0===i?void 0:i.message)&&void 0!==e?e:"";t.includes("F1002")&&(this.errorMessageOnSubmit=a("LugasF1002Error",this.lang),this.hasLugasError=!0,this.isUseExistingLimitOptionActive=!1),console.error(n.error,t)}else console.error("Unexpected Error:",n)}handleSubmit(n){n.preventDefault(),this.errorMessageOnInput||this.submitMonthlyDepositLimit(this.newAmount,!1,!0)}handleInputChange(n){this.newAmount=n.target.value,this.isValidNumber=!isNaN(Number(this.newAmount)),this.isWithinRange=Number(this.newAmount)>=this.minAmount&&Number(this.newAmount)<=this.maxAmount,this.errorMessageOnInput=this.isWithinRange&&this.isValidNumber?"":a("invalidInputMessageLimit",this.lang,{values:{currency:this.displayedCurrency,minValue:this.minAmount,maxValue:this.maxAmount}});const t=this.newAmount.split(".");t.length>1&&(this.newAmount=`${t[0]}.${t[1].slice(0,2)}`,n.target.value=this.newAmount)}handleAmountClick(n){switch(this.showCustomAmount=!1,this.errorMessageOnInput="",this.selectedPredefinedAmount=n,n){case"Other":this.newAmount="",this.showCustomAmount=!0;break;case"Max":this.newAmount=this.maxAmount.toString(),this.showCustomAmount=!0;break;default:this.newAmount=n,this.submitMonthlyDepositLimit(this.newAmount,!1,!0)}}goToPrivacyPolicy(){window.postMessage({type:"GoToPrivacyPolicy"})}renderValidator(){return i("div",{class:"ValidatorContainer"},this.errorMessageOnSubmit&&i("div",{class:"ErrorContainer"},!this.hasLugasError&&i("span",{class:"DismissError",onClick:()=>this.errorMessageOnSubmit=""},i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"9",height:"9",viewBox:"0 0 9 9",fill:"none"},i("path",{d:"M8.18659 0.14708C8.37063 0.33182 8.38174 0.62421 8.21888 0.821452L8.18659 0.857219L4.87619 4.16727L8.18659 7.47732C8.27743 7.56861 8.32973 7.69132 8.33266 7.82007C8.3356 7.94883 8.28895 8.0738 8.20235 8.16913C8.11576 8.26446 7.99584 8.32288 7.86739 8.3323C7.73895 8.34172 7.61179 8.30143 7.51221 8.21975L7.47645 8.18746L4.1664 4.87706L0.856348 8.18746C0.765058 8.27831 0.64235 8.3306 0.513592 8.33354C0.384834 8.33647 0.25987 8.28982 0.164536 8.20322C0.0692018 8.11663 0.0107856 7.99671 0.00136402 7.86827C-0.00805761 7.73982 0.0322357 7.61266 0.113914 7.51308L0.146209 7.47732L3.4566 4.16727L0.146209 0.857219C0.0553613 0.765928 0.00306475 0.64322 0.000130477 0.514462C-0.0028038 0.385704 0.0438486 0.260741 0.130443 0.165407C0.217038 0.0700723 0.336953 0.0116562 0.4654 0.00223455C0.593846 -0.00718708 0.721002 0.0331062 0.820581 0.114785L0.856348 0.14708L4.1664 3.45748L7.47645 0.14708C7.52307 0.10045 7.57843 0.0634608 7.63935 0.0382248C7.70027 0.0129888 7.76557 0 7.83152 0C7.89746 0 7.96276 0.0129888 8.02368 0.0382248C8.0846 0.0634608 8.13996 0.10045 8.18659 0.14708Z",fill:"#111111"}))),i("p",{class:"ErrorParagraph"},i("span",{class:"ErrorIcon"},i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"9",height:"9",viewBox:"0 0 9 9"},i("path",{d:"M8.18659 0.14708C8.37063 0.33182 8.38174 0.62421 8.21888 0.821452L8.18659 0.857219L4.87619 4.16727L8.18659 7.47732C8.27743 7.56861 8.32973 7.69132 8.33266 7.82007C8.3356 7.94883 8.28895 8.0738 8.20235 8.16913C8.11576 8.26446 7.99584 8.32288 7.86739 8.3323C7.73895 8.34172 7.61179 8.30143 7.51221 8.21975L7.47645 8.18746L4.1664 4.87706L0.856348 8.18746C0.765058 8.27831 0.64235 8.3306 0.513592 8.33354C0.384834 8.33647 0.25987 8.28982 0.164536 8.20322C0.0692018 8.11663 0.0107856 7.99671 0.00136402 7.86827C-0.00805761 7.73982 0.0322357 7.61266 0.113914 7.51308L0.146209 7.47732L3.4566 4.16727L0.146209 0.857219C0.0553613 0.765928 0.00306475 0.64322 0.000130477 0.514462C-0.0028038 0.385704 0.0438486 0.260741 0.130443 0.165407C0.217038 0.0700723 0.336953 0.0116562 0.4654 0.00223455C0.593846 -0.00718708 0.721002 0.0331062 0.820581 0.114785L0.856348 0.14708L4.1664 3.45748L7.47645 0.14708C7.52307 0.10045 7.57843 0.0634608 7.63935 0.0382248C7.70027 0.0129888 7.76557 0 7.83152 0C7.89746 0 7.96276 0.0129888 8.02368 0.0382248C8.0846 0.0634608 8.13996 0.10045 8.18659 0.14708Z"}))),i("div",{innerHTML:this.errorMessageOnSubmit}))),i("div",{class:"Paragraphs"},i("p",null,a("LugasInfoBox",this.lang))),i("div",{class:"LimitAmountWrapper"},this.isSubmitted&&i("slot",{name:"spinner"})&&i("div",{class:"LoadingWrapper"},i("svg",{class:"spinner",viewBox:"0 0 50 50"},i("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none","stroke-width":"5"}))),i("p",{class:"ChooseLimitLabel"},a("ChooseLimit",this.lang)),i("div",{class:"PredefinedAmounts"},i("button",{class:"Other"===this.selectedPredefinedAmount?"Active":"",onClick:()=>this.handleAmountClick("Other")},a("ButtonCustomValue",this.lang)),(()=>this.predefinedAmounts.map((n=>i("button",{class:this.selectedPredefinedAmount===n?"Active":"",onClick:()=>this.handleAmountClick(n),disabled:this.hasLugasError},n))))(),i("button",{class:"Max"===this.selectedPredefinedAmount?"Active":"",onClick:()=>this.handleAmountClick("Max")},a("ButtonMax",this.lang))),this.showCustomAmount&&i("form",{onSubmit:n=>this.handleSubmit(n)},this.showCustomAmount&&i("div",null,i("input",{class:"CustomAmountInput "+(this.errorMessageOnInput?"InvalidInput":""),type:"number",value:"Max"===this.selectedPredefinedAmount?this.maxAmount:null,step:.01,placeholder:"0.00",disabled:this.hasLugasError||"Max"===this.selectedPredefinedAmount,onInput:n=>this.handleInputChange(n)}),this.errorMessageOnInput&&i("p",{class:"InvalidParagraph"},this.errorMessageOnInput)),this.selectedPredefinedAmount&&i("button",{class:"PrimaryButton SetLimitBtn",type:"submit",disabled:this.hasLugasError||this.isSubmitted||!Boolean(this.newAmount)||Boolean(this.errorMessageOnInput)},a("LugasSetLimitDialogButtonSetLimit",this.lang,{values:{currency:this.displayedCurrency,amount:Number.parseFloat(this.newAmount||"0").toFixed(2)}})))),i("div",{class:"ModalFooter"},i("hr",null),i("div",{class:"Paragraphs"},i("p",{class:"ExistingLimit"},a("LugasSetLimitDialogExistingLimit.text",this.lang),i("span",{class:this.isUseExistingLimitOptionActive?"Link":"Link Inactive",onClick:()=>this.submitMonthlyDepositLimit(this.amount,!0)},a("LugasSetLimitDialogExistingLimit.link",this.lang))),i("p",{class:"PrivacyNote"},a("LugasSetLimitDialogPrivacyNote.text",this.lang),i("span",{class:"Link",onClick:this.goToPrivacyPolicy},a("LugasSetLimitDialogPrivacyNote.link",this.lang))))))}render(){if(this.isLoading)return i("div",null,i("p",null,a("loading",this.lang,{values:{currency:this.currency}})));if(this.errorMessageOnInitialization)return i("div",null,i("p",null,this.errorMessageOnInitialization));{const n=this.renderValidator();return i("div",{class:"ModalContainer",ref:n=>this.stylingContainer=n},i("div",{class:"Container"},i("div",{class:"ModalHeader"},i("h2",null,a("LugasSetLimitDialogTitle",this.lang))),i("div",{class:"ModalBody"},n)))}}static get watchers(){return{translationUrl:["handleNewTranslations"],clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}}};l.style='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");\n:host {\n font-family: "Roboto", sans-serif;\n}\n\n.ModalContainer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: var(--emw--font-size-small, 12px);\n container-type: inline-size;\n}\n.ModalContainer hr {\n border: 1px solid rgba(0, 0, 0, 0.1);\n margin: 10px 0px;\n}\n.ModalContainer p {\n margin: 0;\n}\n.ModalContainer button {\n width: 100%;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n padding: 10px 0;\n cursor: pointer;\n width: 100%;\n border-radius: var(--emw--border-radius-small, 4px);\n}\n.ModalContainer button.PrimaryButton {\n background: var(--emw--color-primary, #6BB816);\n border: none;\n font-weight: 500;\n}\n.ModalContainer button.PrimaryButton:not(:disabled) {\n color: var(--emw--color-white, #FFF);\n}\n.ModalContainer button.PrimaryButton:disabled {\n cursor: default;\n}\n.ModalContainer .Container {\n position: fixed;\n top: 30vh;\n width: 320px;\n background: var(--emw--color-white, #fff);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n transform: scale(1.1);\n border-radius: 4px;\n overflow: hidden;\n}\n.ModalContainer .ValidatorContainer {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.ModalContainer .Paragraphs:not(:last-child) {\n margin-bottom: 20px;\n}\n.ModalContainer .ModalHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--emw--color-gray-50, #F7F8FA);\n padding: 12px;\n}\n.ModalContainer .ModalHeader h2 {\n font-weight: bold;\n font-size: var(--emw--font-size-small, 12px);\n margin: 0;\n}\n.ModalContainer .ModalBody {\n background: var(--emw--color-white, #FFF);\n padding: 12px;\n container-type: inline-size;\n border-radius: 4px;\n}\n.ModalContainer .ModalBody .ErrorContainer {\n display: flex;\n align-items: center;\n color: var(--emw--color-red-100, #E10014);\n border-bottom: 1px solid var(--emw--color-gray-100, #E8E9EB);\n margin: -12px;\n padding: 12px;\n margin-bottom: 12px;\n font-weight: bold;\n position: relative;\n background: linear-gradient(180deg, var(--emw--color-gray-100, #E8E9EB) 0%, rgba(255, 255, 255, 0.47) 30%);\n}\n.ModalContainer .ModalBody .DismissError {\n position: absolute;\n right: 12px;\n cursor: pointer;\n}\n.ModalContainer .ModalBody .ErrorParagraph {\n display: flex;\n align-items: center;\n}\n.ModalContainer .ModalBody .ErrorIcon {\n background: linear-gradient(180deg, var(--emw--color-red-100, #E10014) 0%, var(--emw--color-red-150, #D60080) 100%);\n text-align: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-right: 6px;\n flex-shrink: 0;\n}\n.ModalContainer .ModalBody .ErrorIcon svg {\n width: 6px;\n height: 6px;\n}\n.ModalContainer .ModalBody .ErrorIcon svg path {\n fill: var(--emw--color-white, #FFF);\n}\n.ModalContainer .ModalBody .ChooseLimitLabel {\n text-transform: uppercase;\n}\n.ModalContainer .ModalBody .LimitAmountWrapper {\n display: flex;\n flex-direction: column;\n gap: 10px;\n position: relative;\n}\n.ModalContainer .ModalBody .PredefinedAmounts {\n display: flex;\n justify-content: space-between;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button {\n background: none;\n margin: -1px 0 0 -1px;\n color: var(--emw--color-gray-150, #808080);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button.Active {\n font-weight: bold;\n background: var(--emw--color-gray-50, #F7F8FA);\n color: var(--emw--color-gray-200, #323233);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:first-child {\n border-radius: 4px 0 0 4px;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:last-child {\n border-radius: 0 4px 4px 0;\n}\n.ModalContainer .ModalBody .CustomAmountInput {\n width: 100%;\n padding: 10px;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n border-radius: 4px;\n box-sizing: border-box;\n margin-bottom: 6px;\n color: var(--emw--color-gray-200, #323233);\n font-weight: bold;\n}\n.ModalContainer .ModalBody .CustomAmountInput.InvalidInput {\n border: 1px solid var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .InvalidParagraph {\n font-size: var(--emw--font-size-small, 12px);\n color: var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .SetLimitBtn {\n margin-top: 10px;\n}\n.ModalContainer .ModalFooter {\n padding-top: 12px;\n margin: 5px 0px;\n}\n.ModalContainer .Link {\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n}\n.ModalContainer .Link.Inactive {\n cursor: default;\n color: var(--emw--color-gray-150, #808080);\n}\n.ModalContainer .PrivacyNote {\n font-size: var(--emw--font-size-x-small, 10px);\n font-style: italic;\n}\n.ModalContainer .ExistingLimit {\n margin-bottom: 15px;\n}\n\ninput {\n /* Firefox */\n -moz-appearance: textfield;\n /* Chrome, Safari, Edge, Opera */\n}\ninput::-webkit-outer-spin-button, input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n@container (max-width: 1300px) {\n .ModalContainer .Container {\n width: 50%;\n }\n}\n@container (max-width: 800px) {\n .ModalContainer .Container {\n width: 70%;\n }\n}\n.LoadingWrapper {\n width: 100%;\n height: 100%;\n background: rgba(255, 255, 255, 0.8);\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.spinner {\n animation: rotate 2s linear infinite;\n z-index: 2;\n width: 30px;\n height: 30px;\n}\n.spinner .path {\n stroke: var(--emw--color-primary, #6BB816);\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}';export{l as player_lugas_limit}
|
|
1
|
+
import{r as n,c as t,h as i}from"./index-c89cfec9.js";let e={en:{LugasSetLimitDialogTitle:"Monthly Central Deposit Limit",LugasInfoBox:"The central limit is your monthly deposit limit for all licensed websites in Germany. Note that your limit and deposit details may vary if changed on other sites.",ChooseLimit:"Choose Limit",ButtonCustomValue:"Other",ButtonMax:"Max",LugasSetLimitDialogButtonSetLimit:"SET LIMIT {amount} {currency}",invalidInputMessageLimit:"The value entered must be between {minValue} {currency} and {maxValue} {currency}.",LugasSetLimitDialogPrivacyNote:{text:"The selected limit is connected to processing player's personal data due to our legal obligations. In some cases setting a limit is a consent to processing player's personal data. For details see our ",link:"Privacy Policy"},LugasSetLimitDialogExistingLimit:{text:"If you would like to use your existing limit ",link:"click here"},LugasNotSet:"No deposit limit set. Please enter a new limit.",loading:"Loading, please wait ...",error:"It was an error while trying to fetch the data",kyc1:"All deposit limit changes must be reported to LUGAS in accordance with regulatory requirements. Please note that decreases in the limit will take effect immediately, while increases will only come into effect after 8 days at the latest.",kyc2:"We were able to set your monthly deposit limit to <b>{amount} {currency}</b>. For the selected limit, we require documents that show your economic capacity. Please upload your last payslip as well as a current bank statement, including the balance, that confirms that you received the payment.",kyc3:"We have transmitted your desired limit to Lugas Please be aware that the limit will only come into effect after 8 days at the latest.",kycThanks:"Thank you!",kycSure:"Are you sure?",setNewLimit:"SET NEW LIMIT",keepExistingLimit:"KEEP EXISTING LIMIT",Close:"CLOSE",UploadDocuments:"UPLOAD DOCUMENTS"},de:{LugasSetLimitDialogTitle:"Monatliches zentrales Einzahlungslimit",LugasInfoBox:"Das zentrale Limit ist Ihr monatliches Einzahlungslimit für alle lizenzierten Websites in Deutschland. Beachten Sie, dass sich Ihr Limit und der verbleibende Betrag ändern können, wenn Sie auf anderen Websites Einzahlungen vornehmen oder Ihr Limit anpassen.",ChooseLimit:"Choose Limit",ButtonCustomValue:"Eigener",ButtonMax:"Max",LugasSetLimitDialogButtonSetLimit:"LIMIT SETZEN {amount} {currency}",invalidInputMessageLimit:"Der eingegebene Wert muss zwischen {minValue} und {maxValue} {currency} liegen.",LugasSetLimitDialogPrivacyNote:{text:"Das gewählte Limit steht wegen unserer rechtlichen Verpflichtungen in Verbindung mit der Verarbeitung persönlicher Daten der Spieler. In manchen Fällen gilt das Setzen eines Limits als Einwilligung zur Verarbeitung persönlicher Daten des Spielers. Mehr Infos unter ",link:"Erklärung zum Datenschutz"},LugasSetLimitDialogExistingLimit:{text:"Wenn Sie Ihr bestehendes Limit nutzen möchten, ",link:"klicken Sie hier"},LugasNotSet:"Kein Einzahlungslimit festgelegt. Bitte geben Sie ein neues Limit ein.",loading:"Lade, bitte warten ...",error:"Beim Laden der Daten ist ein Fehler aufgetreten.",kyc1:"Alle Änderungen des Einzahlungslimits müssen gemäß den gesetzlichen Anforderungen an LUGAS gemeldet werden. Bitte beachten Sie, dass eine Senkung des Limits sofort wirksam wird, während eine Erhöhung spätestens nach 8 Tagen in Kraft tritt.",kyc2:"Wir konnten Ihr monatliches Einzahlungslimit auf <b>{amount} {currency}</b> festlegen. Für das gewählte Limit benötigen wir Nachweise über Ihre wirtschaftliche Leistungsfähigkeit. Bitte laden Sie Ihre letzte Gehaltsabrechnung sowie einen aktuellen Kontoauszug, einschließlich Kontostand, hoch, der den Zahlungseingang bestätigt.",kyc3:"Wir haben Ihr gewünschtes Limit an LUGAS übermittelt. Bitte beachten Sie, dass das Limit spätestens nach 8 Tagen in Kraft tritt.",kycThanks:"Vielen Dank!",kycSure:"Sind Sie sicher?",setNewLimit:"NEUES LIMIT FESTLEGEN",keepExistingLimit:"AKTUELLES LIMIT BEIBEHALTEN",Close:"SCHLIESSEN",UploadDocuments:"DOKUMENTE HOCHLADEN"}};const o=n=>new Promise((t=>{fetch(n).then((n=>n.json())).then((n=>{Object.keys(n).forEach((t=>{e[t]||(e[t]={});for(let i in n[t])e[t][i]=n[t][i]})),t(!0)}))})),s=(n,t,i)=>{let o=(s=e[t||"de"],n.split(".").reduce(((n,t)=>n&&void 0!==n[t]?n[t]:null),s));var s;if(null===o)return n;if(void 0!==i)for(const[n,t]of Object.entries(i.values)){const i=new RegExp(`{${n}}`,"g");o=o.replace(i,t)}return o};function a(n,t){if(n){const i=document.createElement("style");i.innerHTML=t,n.appendChild(i)}}function r(n,t){const i=new URL(t);fetch(i.href).then((n=>n.text())).then((t=>{const i=document.createElement("style");i.innerHTML=t,n&&n.appendChild(i)})).catch((n=>{console.error("There was an error while trying to load client styling from URL",n)}))}const l=class{constructor(i){n(this,i),this.uploadDocuments=t(this,"uploadDocuments",7),this.closePopup=t(this,"closePopup",7),this.predefinedAmounts=[],this.displayedCurrency="",this.handleClick=n=>{switch(n){case"UploadDocuments":this.uploadDocuments.emit(),window.postMessage({type:"uploadDocuments"},window.location.href);break;case"Close":this.closePopup.emit(),window.postMessage({type:"closePopup"},window.location.href)}},this.userId="",this.session="",this.endpoint="",this.currency="EUR",this.flow="",this.amount="",this.lang=void 0,this.clientStyling="",this.clientStylingUrl="",this.mbSource=void 0,this.translationUrl="",this.hasValidation=!0,this.kycStep=void 0,this.isLoading=!1,this.regularDepositLimitAmount="",this.isSubmitted=!1,this.isUseExistingLimitOptionActive=!0,this.selectedPredefinedAmount=void 0,this.errorMessageOnInitialization="",this.errorMessageOnSubmit="",this.errorMessageOnInput="",this.hasLugasError=!1,this.showCustomAmount=!1,this.newAmount=""}handleNewTranslations(){this.isLoading=!0,o(this.translationUrl).then((()=>{this.isLoading=!1}))}handleClientStylingChange(n,t){n!=t&&a(this.stylingContainer,this.clientStyling)}handleClientStylingUrlChange(n,t){n!=t&&this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)}async componentWillLoad(){this.translationUrl.length>2&&await o(this.translationUrl),await this.fetchDepositLimitConfig(),this.displayedCurrency="EUR"===this.currency?"€":this.currency}componentDidLoad(){this.stylingContainer&&(null!=window.emMessageBus?function(n,t){if(window.emMessageBus){const i=document.createElement("style");window.emMessageBus.subscribe(t,(t=>{i.innerHTML=t,n&&n.appendChild(i)}))}}(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()}async fetchDepositLimitConfig(){this.isLoading=!0;try{const n=new URL("/api/v1/gm/legislation/config/month-deposit-limit/",this.endpoint),t=await fetch(n.href);if(!t.ok)throw new Error("Failed to load config");const i=await t.json();this.predefinedAmounts=i.preDefinedOptions,this.minAmount=i.minAmount,this.maxAmount=i.maxAmount}catch(n){this.errorMessageOnInitialization=s("error",this.lang),console.error(n)}finally{this.isLoading=!1}}async postPlayerSituation(n,t=!1,i=!1){if(t&&!this.isUseExistingLimitOptionActive)return;this.isSubmitted=!0,this.errorMessageOnSubmit="";const e=new URL(`v2/player/${this.userId}/limit/lugas/`,this.endpoint),o=Object.assign({softMigration:"1"===this.flow,keepLimit:t,roleLimitAmount:i?this.amount:0},n&&{amount:n}),s={method:"POST",headers:{"X-SessionId":this.session,"Content-Type":"application/json",Authorization:`Bearer ${this.session}`},body:JSON.stringify(o)};try{const n=await fetch(e.href,s);if(!n.ok)throw new Error(`HTTP ${n.status}`);const t=await n.json();this.kycStep=t.popup,this.hasValidation=!1,this.regularDepositLimitAmount=t.regulatorDepositLimitAmount||""}catch(n){this.handleSubmissionError(n,t)}finally{this.isSubmitted=!1}}handleSubmissionError(n,t){var i,e;if(this.errorMessageOnSubmit=s("LugasNotSet",this.lang),t&&(this.isUseExistingLimitOptionActive=!1),3===n.errorCode&&"GmLegislation"===n.errorSourceName){const t=null!==(e=null===(i=n.thirdPartyResponse)||void 0===i?void 0:i.message)&&void 0!==e?e:"";t.includes("F1002")&&(this.errorMessageOnSubmit=s("LugasF1002Error",this.lang),this.hasLugasError=!0,this.isUseExistingLimitOptionActive=!1),console.error(n.error,t)}else console.error("Unexpected Error:",n)}handleAmountClick(n){switch(this.showCustomAmount=!1,this.errorMessageOnInput="",this.selectedPredefinedAmount=n,n){case"Other":this.newAmount="",this.showCustomAmount=!0;break;case"Max":this.newAmount=this.maxAmount.toString(),this.showCustomAmount=!0;break;default:this.newAmount=n,this.postPlayerSituation(this.newAmount,!1,!0)}}handleSubmit(n){n.preventDefault(),this.errorMessageOnInput||this.postPlayerSituation(this.newAmount,!1,!0)}handleValidatorInputChange(n){this.newAmount=n.target.value,this.isValidNumber=!isNaN(Number(this.newAmount)),this.isWithinRange=Number(this.newAmount)>=this.minAmount&&Number(this.newAmount)<=this.maxAmount,this.errorMessageOnInput=this.isWithinRange&&this.isValidNumber?"":s("invalidInputMessageLimit",this.lang,{values:{currency:this.displayedCurrency,minValue:this.minAmount,maxValue:this.maxAmount}});const t=this.newAmount.split(".");t.length>1&&(this.newAmount=`${t[0]}.${t[1].slice(0,2)}`,n.target.value=this.newAmount)}renderKYC(n){switch(n){case 0:return void this.handleClick("Close");case 1:return i("div",{class:"ValidatorContainer"},i("div",{class:"Paragraphs"},i("p",null,s("kycSure",this.lang,{values:{currency:this.currency}})),i("p",null,s("kyc1",this.lang,{values:{currency:this.currency}})),i("div",{class:"ContainerButtons"},i("button",{class:"FirstButton",onClick:()=>this.postPlayerSituation(this.newAmount,!1)},s("setNewLimit",this.lang,{values:{currency:this.currency}})),i("button",{class:"SecondButton",onClick:()=>this.postPlayerSituation(this.amount,!0)},s("keepExistingLimit",this.lang,{values:{currency:this.currency}})))));case 2:return i("div",{class:"ValidatorContainer"},i("div",{class:"Paragraphs"},i("p",null,s("kycThanks",this.lang,{values:{currency:this.currency}})),i("p",{innerHTML:s("kyc2",this.lang,{values:{currency:this.currency,amount:this.regularDepositLimitAmount}})}),i("div",{class:"ContainerButtons"},i("button",{class:"FirstButton",onClick:()=>this.handleClick("Close")},s("Close",this.lang,{values:{currency:this.currency}})),i("button",{class:"SecondButton",onClick:()=>this.handleClick("UploadDocuments")},s("UploadDocuments",this.lang,{values:{currency:this.currency}})))));default:return i("div",{class:"ValidatorContainer"},i("div",{class:"Paragraphs"},i("p",null,s("kycThanks",this.lang,{values:{currency:this.currency}})),i("p",null,s("kyc3",this.lang,{values:{currency:this.currency}})),i("div",{class:"ContainerButtons"},i("button",{class:"SecondButton",onClick:()=>this.handleClick("Close")},s("Close",this.lang,{values:{currency:this.currency}})))))}}renderPredefinedButtons(){return this.predefinedAmounts.map((n=>i("button",{class:this.selectedPredefinedAmount===n?"Active":"",onClick:()=>this.handleAmountClick(n),disabled:this.hasLugasError},n)))}goToPrivacyPolicy(){window.postMessage({type:"GoToPrivacyPolicy"})}renderValidator(){return i("div",{class:"ValidatorContainer"},this.errorMessageOnSubmit&&i("div",{class:"ErrorContainer"},!this.hasLugasError&&i("span",{class:"DismissError",onClick:()=>this.errorMessageOnSubmit=""},i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"9",height:"9",viewBox:"0 0 9 9",fill:"none"},i("path",{d:"M8.18659 0.14708C8.37063 0.33182 8.38174 0.62421 8.21888 0.821452L8.18659 0.857219L4.87619 4.16727L8.18659 7.47732C8.27743 7.56861 8.32973 7.69132 8.33266 7.82007C8.3356 7.94883 8.28895 8.0738 8.20235 8.16913C8.11576 8.26446 7.99584 8.32288 7.86739 8.3323C7.73895 8.34172 7.61179 8.30143 7.51221 8.21975L7.47645 8.18746L4.1664 4.87706L0.856348 8.18746C0.765058 8.27831 0.64235 8.3306 0.513592 8.33354C0.384834 8.33647 0.25987 8.28982 0.164536 8.20322C0.0692018 8.11663 0.0107856 7.99671 0.00136402 7.86827C-0.00805761 7.73982 0.0322357 7.61266 0.113914 7.51308L0.146209 7.47732L3.4566 4.16727L0.146209 0.857219C0.0553613 0.765928 0.00306475 0.64322 0.000130477 0.514462C-0.0028038 0.385704 0.0438486 0.260741 0.130443 0.165407C0.217038 0.0700723 0.336953 0.0116562 0.4654 0.00223455C0.593846 -0.00718708 0.721002 0.0331062 0.820581 0.114785L0.856348 0.14708L4.1664 3.45748L7.47645 0.14708C7.52307 0.10045 7.57843 0.0634608 7.63935 0.0382248C7.70027 0.0129888 7.76557 0 7.83152 0C7.89746 0 7.96276 0.0129888 8.02368 0.0382248C8.0846 0.0634608 8.13996 0.10045 8.18659 0.14708Z",fill:"#111111"}))),i("p",{class:"ErrorParagraph"},i("span",{class:"ErrorIcon"},i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"9",height:"9",viewBox:"0 0 9 9"},i("path",{d:"M8.18659 0.14708C8.37063 0.33182 8.38174 0.62421 8.21888 0.821452L8.18659 0.857219L4.87619 4.16727L8.18659 7.47732C8.27743 7.56861 8.32973 7.69132 8.33266 7.82007C8.3356 7.94883 8.28895 8.0738 8.20235 8.16913C8.11576 8.26446 7.99584 8.32288 7.86739 8.3323C7.73895 8.34172 7.61179 8.30143 7.51221 8.21975L7.47645 8.18746L4.1664 4.87706L0.856348 8.18746C0.765058 8.27831 0.64235 8.3306 0.513592 8.33354C0.384834 8.33647 0.25987 8.28982 0.164536 8.20322C0.0692018 8.11663 0.0107856 7.99671 0.00136402 7.86827C-0.00805761 7.73982 0.0322357 7.61266 0.113914 7.51308L0.146209 7.47732L3.4566 4.16727L0.146209 0.857219C0.0553613 0.765928 0.00306475 0.64322 0.000130477 0.514462C-0.0028038 0.385704 0.0438486 0.260741 0.130443 0.165407C0.217038 0.0700723 0.336953 0.0116562 0.4654 0.00223455C0.593846 -0.00718708 0.721002 0.0331062 0.820581 0.114785L0.856348 0.14708L4.1664 3.45748L7.47645 0.14708C7.52307 0.10045 7.57843 0.0634608 7.63935 0.0382248C7.70027 0.0129888 7.76557 0 7.83152 0C7.89746 0 7.96276 0.0129888 8.02368 0.0382248C8.0846 0.0634608 8.13996 0.10045 8.18659 0.14708Z"}))),i("div",{innerHTML:this.errorMessageOnSubmit}))),i("div",{class:"Paragraphs"},i("p",null,s("LugasInfoBox",this.lang))),i("div",{class:"LimitAmountWrapper"},this.isSubmitted&&i("slot",{name:"spinner"})&&i("div",{class:"LoadingWrapper"},i("svg",{class:"spinner",viewBox:"0 0 50 50"},i("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none","stroke-width":"5"}))),i("p",{class:"ChooseLimitLabel"},s("ChooseLimit",this.lang)),i("div",{class:"PredefinedAmounts"},i("button",{class:"Other"===this.selectedPredefinedAmount?"Active":"",onClick:()=>this.handleAmountClick("Other")},s("ButtonCustomValue",this.lang)),this.renderPredefinedButtons(),i("button",{class:"Max"===this.selectedPredefinedAmount?"Active":"",onClick:()=>this.handleAmountClick("Max")},s("ButtonMax",this.lang))),this.showCustomAmount&&i("form",{onSubmit:n=>this.handleSubmit(n)},this.showCustomAmount&&i("div",null,i("input",{class:"CustomAmountInput "+(this.errorMessageOnInput?"InvalidInput":""),type:"number",value:"Max"===this.selectedPredefinedAmount?this.maxAmount:null,step:.01,placeholder:"0.00",disabled:this.hasLugasError||"Max"===this.selectedPredefinedAmount,onInput:n=>this.handleValidatorInputChange(n)}),this.errorMessageOnInput&&i("p",{class:"InvalidParagraph"},this.errorMessageOnInput)),this.selectedPredefinedAmount&&i("button",{class:"PrimaryButton SetLimitBtn",type:"submit",disabled:this.hasLugasError||this.isSubmitted||!Boolean(this.newAmount)||Boolean(this.errorMessageOnInput)},s("LugasSetLimitDialogButtonSetLimit",this.lang,{values:{currency:this.displayedCurrency,amount:Number.parseFloat(this.newAmount||"0").toFixed(2)}})))))}render(){const n=this.renderKYC(this.kycStep),t=this.renderValidator();return this.isLoading?i("div",null,i("p",null,s("loading",this.lang,{values:{currency:this.currency}}))):this.errorMessageOnInitialization?i("div",null,i("p",null,this.errorMessageOnInitialization)):i("div",{class:"ModalContainer",ref:n=>this.stylingContainer=n},i("div",{class:"Container"},i("div",{class:"ModalHeader"},i("h2",null,s("LugasSetLimitDialogTitle",this.lang))),i("div",{class:"ModalBody"},this.hasValidation?t:n,this.hasValidation&&i("div",{class:"ModalFooter"},i("hr",null),i("div",{class:"Paragraphs"},i("p",{class:"ExistingLimit"},s("LugasSetLimitDialogExistingLimit.text",this.lang),i("span",{class:this.isUseExistingLimitOptionActive?"Link":"Link Inactive",onClick:()=>this.postPlayerSituation(this.amount,!0)},s("LugasSetLimitDialogExistingLimit.link",this.lang))),i("p",{class:"PrivacyNote"},s("LugasSetLimitDialogPrivacyNote.text",this.lang),i("span",{class:"Link",onClick:this.goToPrivacyPolicy},s("LugasSetLimitDialogPrivacyNote.link",this.lang))))))))}static get watchers(){return{translationUrl:["handleNewTranslations"],clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}}};l.style='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");\n:host {\n font-family: "Roboto", sans-serif;\n}\n\n.ModalContainer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: var(--emw--color-black-transparency-50, rgba(0, 0, 0, 0.5));\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: var(--emw--font-size-small, 12px);\n container-type: inline-size;\n}\n.ModalContainer hr {\n border: 1px solid var(--emw--color-black-transparency-10, rgba(0, 0, 0, 0.1));\n margin: 10px 0px;\n}\n.ModalContainer p {\n margin: 0;\n}\n.ModalContainer button {\n width: 100%;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n padding: 10px 0;\n cursor: pointer;\n width: 100%;\n border-radius: var(--emw--border-radius-small, 4px);\n}\n.ModalContainer button.PrimaryButton {\n background: var(--emw--color-primary, #6BB816);\n border: none;\n font-weight: 500;\n}\n.ModalContainer button.PrimaryButton:not(:disabled) {\n color: var(--emw--color-white, #FFF);\n}\n.ModalContainer button.PrimaryButton:disabled {\n cursor: default;\n}\n.ModalContainer .Container {\n position: fixed;\n top: 30vh;\n width: 320px;\n background: var(--emw--color-white, #FFF);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 4px;\n transform: scale(1.1);\n}\n.ModalContainer .ModalHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--emw--color-gray-50, #F7F8FA);\n padding: 12px;\n}\n.ModalContainer .ModalHeader h2 {\n font-weight: bold;\n font-size: var(--emw--font-size-small, 12px);\n margin: 0;\n}\n.ModalContainer .ModalBody {\n background: var(--emw--color-white, #FFF);\n padding: 12px;\n container-type: inline-size;\n border-radius: 4px;\n}\n.ModalContainer .ModalBody .ErrorContainer {\n display: flex;\n align-items: center;\n color: var(--emw--color-red-100, #E10014);\n border-bottom: 1px solid var(--emw--color-gray-100, #E8E9EB);\n margin: -12px;\n padding: 12px;\n margin-bottom: 12px;\n font-weight: bold;\n position: relative;\n background: linear-gradient(180deg, var(--emw--color-gray-100, #E8E9EB) 0%, rgba(255, 255, 255, 0.47) 30%);\n}\n.ModalContainer .ModalBody .DismissError {\n position: absolute;\n right: 12px;\n cursor: pointer;\n}\n.ModalContainer .ModalBody .ErrorParagraph {\n display: flex;\n align-items: center;\n}\n.ModalContainer .ModalBody .ErrorIcon {\n background: linear-gradient(180deg, var(--emw--color-red-100, #E10014) 0%, var(--emw--color-red-150, #D60080) 100%);\n text-align: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-right: 6px;\n flex-shrink: 0;\n}\n.ModalContainer .ModalBody .ErrorIcon svg {\n width: 6px;\n height: 6px;\n}\n.ModalContainer .ModalBody .ErrorIcon svg path {\n fill: var(--emw--color-white, #FFF);\n}\n.ModalContainer .ModalBody .ChooseLimitLabel {\n text-transform: uppercase;\n}\n.ModalContainer .ModalBody .PredefinedAmounts {\n display: flex;\n justify-content: space-between;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button {\n background: none;\n margin: -1px 0 0 -1px;\n color: var(--emw--color-gray-150, #808080);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button.Active {\n font-weight: bold;\n background: var(--emw--color-gray-50, #F7F8FA);\n color: var(--emw--color-gray-200, #323233);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:first-child {\n border-radius: 4px 0 0 4px;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:last-child {\n border-radius: 0 4px 4px 0;\n}\n.ModalContainer .ModalBody .CustomAmountInput {\n width: 100%;\n padding: 10px;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n border-radius: 4px;\n box-sizing: border-box;\n margin-bottom: 6px;\n color: var(--emw--color-gray-200, #323233);\n font-weight: bold;\n}\n.ModalContainer .ModalBody .CustomAmountInput.InvalidInput {\n border: 1px solid var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .InvalidParagraph {\n font-size: var(--emw--font-size-small, 12px);\n color: var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .SetLimitBtn {\n margin-top: 10px;\n}\n.ModalContainer .ValidatorContainer {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.ModalContainer .Paragraphs:not(:last-child) {\n margin-bottom: 20px;\n}\n.ModalContainer .LimitAmountWrapper {\n display: flex;\n flex-direction: column;\n gap: 10px;\n position: relative;\n}\n\n.ModalFooter {\n padding-top: 12px;\n margin: 5px 0px;\n}\n\n.Link {\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n}\n.Link.Inactive {\n cursor: default;\n color: var(--emw--color-gray-150, #808080);\n}\n\n.ContainerButtons {\n display: flex;\n justify-content: space-around;\n gap: 10px;\n padding-top: 5px;\n}\n.ContainerButtons .FirstButton {\n background-color: var(--emw--color-white, #FFF);\n font-weight: bold;\n color: var(--emw--button-color, #002554);\n font-size: var(--emw--font-size-small, 10px);\n border: 2.5px solid var(--emw--button-border-color, #DEE2E6);\n width: 100%;\n cursor: pointer;\n}\n.ContainerButtons .SecondButton {\n background-color: var(--emw--color-primary, #6BB816);\n border: none;\n cursor: pointer;\n font-weight: bold;\n font-size: var(--emw--font-size-small, 10px);\n color: var(--emw--color-white, #FFF);\n width: 100%;\n}\n.ContainerButtons button {\n width: 240px;\n height: 30px;\n}\n\ninput {\n /* Firefox */\n -moz-appearance: textfield;\n /* Chrome, Safari, Edge, Opera */\n}\ninput::-webkit-outer-spin-button, input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n@container (max-width: 1300px) {\n .ModalContainer .Container {\n width: 50%;\n }\n}\n@container (max-width: 800px) {\n .ModalContainer .Container {\n width: 70%;\n }\n}\n.LoadingWrapper {\n width: 100%;\n height: 100%;\n background: var(--emw--color-white-transparency-80, rgba(255, 255, 255, 0.8));\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.spinner {\n animation: rotate 2s linear infinite;\n z-index: 2;\n width: 30px;\n height: 30px;\n}\n.spinner .path {\n stroke: var(--emw--color-primary, #6BB816);\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}';export{l as player_lugas_limit}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,b as e}from"./index-
|
|
1
|
+
import{p as n,b as e}from"./index-c89cfec9.js";export{s as setNonce}from"./index-c89cfec9.js";import{g as t}from"./app-globals-0f993ce5.js";(()=>{const e=import.meta.url,t={};return""!==e&&(t.resourcesUrl=new URL(".",e).href),n(t)})().then((async n=>(await t(),e([["player-lugas-limit",[[1,"player-lugas-limit",{userId:[513,"user-id"],session:[513],endpoint:[513],currency:[513],flow:[513],amount:[513],lang:[513],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],mbSource:[513,"mb-source"],translationUrl:[513,"translation-url"],hasValidation:[32],kycStep:[32],isLoading:[32],regularDepositLimitAmount:[32],isSubmitted:[32],isUseExistingLimitOptionActive:[32],selectedPredefinedAmount:[32],errorMessageOnInitialization:[32],errorMessageOnSubmit:[32],errorMessageOnInput:[32],hasLugasError:[32],showCustomAmount:[32],newAmount:[32]},null,{translationUrl:["handleNewTranslations"],clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}]]]],n))));
|
|
@@ -1,122 +1,55 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
/**
|
|
3
|
-
* PlayerLugasLimit Component
|
|
4
|
-
* Handles UI and logic for setting deposit limits for a user in a specific flow.
|
|
5
|
-
*/
|
|
6
2
|
export declare class PlayerLugasLimit {
|
|
7
|
-
/** User identifier */
|
|
8
3
|
userId: string;
|
|
9
|
-
/** Session ID for the user */
|
|
10
4
|
session: string;
|
|
11
|
-
/** Endpoint URL for the API */
|
|
12
5
|
endpoint: string;
|
|
13
|
-
/** Currency of the player */
|
|
14
6
|
currency: string;
|
|
15
|
-
|
|
7
|
+
flow: string;
|
|
16
8
|
amount: string;
|
|
17
|
-
/** Language for translations */
|
|
18
9
|
lang: string;
|
|
19
|
-
/** Custom client styling as inline CSS */
|
|
20
10
|
clientStyling: string;
|
|
21
|
-
/** URL for fetching client-specific styling */
|
|
22
11
|
clientStylingUrl: string;
|
|
23
|
-
/** Client custom styling via streamStyling */
|
|
24
12
|
mbSource: string;
|
|
25
|
-
/** URL for fetching translation strings */
|
|
26
13
|
translationUrl: string;
|
|
27
|
-
|
|
14
|
+
hasValidation: boolean;
|
|
15
|
+
kycStep: number;
|
|
28
16
|
isLoading: boolean;
|
|
29
|
-
|
|
30
|
-
showCustomAmount: boolean;
|
|
31
|
-
/** Flag for checking if the limit amount has been submitted successfully */
|
|
17
|
+
regularDepositLimitAmount: string;
|
|
32
18
|
isSubmitted: boolean;
|
|
33
|
-
/** Flag for checking if the 'use your existing limit' button is available. Turns false after first failed attempt */
|
|
34
19
|
isUseExistingLimitOptionActive: boolean;
|
|
35
|
-
/** Selected predefined amount */
|
|
36
20
|
selectedPredefinedAmount: string;
|
|
37
|
-
/** Error state for the component */
|
|
38
21
|
errorMessageOnInitialization: string;
|
|
39
|
-
/** Error message on limit submission */
|
|
40
22
|
errorMessageOnSubmit: string;
|
|
41
|
-
/** Error message on custom amount input */
|
|
42
23
|
errorMessageOnInput: string;
|
|
43
|
-
/** Flag for checking F1002 Lugas error that should be handled differently */
|
|
44
24
|
hasLugasError: boolean;
|
|
45
|
-
|
|
25
|
+
showCustomAmount: boolean;
|
|
46
26
|
newAmount: string;
|
|
47
|
-
/** Event to emit for closing the popup */
|
|
48
|
-
closeLugasModal: EventEmitter<object>;
|
|
49
|
-
/** Array of predefined limit amounts */
|
|
50
27
|
predefinedAmounts: string[];
|
|
51
|
-
/** Flag for checking if input is a valid number */
|
|
52
28
|
isValidNumber: boolean;
|
|
53
|
-
/** Flag for checking if input is within range */
|
|
54
29
|
isWithinRange: boolean;
|
|
55
|
-
/** Minimum limit amount */
|
|
56
30
|
minAmount: number;
|
|
57
|
-
/** Maximum limit amount */
|
|
58
31
|
maxAmount: number;
|
|
59
|
-
/** Displayed currency */
|
|
60
32
|
displayedCurrency: string;
|
|
61
|
-
/** Container for applying dynamic styling */
|
|
62
33
|
private stylingContainer;
|
|
63
34
|
private stylingSubscription;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*/
|
|
35
|
+
uploadDocuments: EventEmitter;
|
|
36
|
+
closePopup: EventEmitter;
|
|
67
37
|
handleNewTranslations(): void;
|
|
68
38
|
handleClientStylingChange(newValue: any, oldValue: any): void;
|
|
69
39
|
handleClientStylingUrlChange(newValue: any, oldValue: any): void;
|
|
70
|
-
/**
|
|
71
|
-
* Lifecycle method that fetches translations when the component is loaded.
|
|
72
|
-
*/
|
|
73
40
|
componentWillLoad(): Promise<void>;
|
|
74
41
|
componentDidLoad(): void;
|
|
75
42
|
disconnectedCallback(): void;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
*
|
|
79
|
-
* @returns Promise - Promise that resolves when the configuration is fetched
|
|
80
|
-
*/
|
|
81
|
-
getMonthlyDepositLimitConfig(): Promise<boolean>;
|
|
82
|
-
/**
|
|
83
|
-
* Submits the new monthly deposit limit set by the player.
|
|
84
|
-
* @param amount - User-defined amount
|
|
85
|
-
* @param keepLimit - Whether to keep the current limit
|
|
86
|
-
* @param isInitialLimit - Whether the limit is being set initially
|
|
87
|
-
*/
|
|
88
|
-
submitMonthlyDepositLimit: (amount: string, keepLimit?: boolean, isInitialLimit?: boolean) => Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* Handles errors during the submission of the monthly deposit limit.
|
|
91
|
-
* @param error - Error response from the server
|
|
92
|
-
* @param keepLimit - Whether the user opted to keep the current limit
|
|
93
|
-
*/
|
|
43
|
+
fetchDepositLimitConfig(): Promise<void>;
|
|
44
|
+
postPlayerSituation(userAmount?: string, keepLimit?: boolean, initialNewLimit?: boolean): Promise<void>;
|
|
94
45
|
handleSubmissionError(error: any, keepLimit: boolean): void;
|
|
95
|
-
/**
|
|
96
|
-
* Handles form submission.
|
|
97
|
-
* @param event - The form submission event
|
|
98
|
-
*/
|
|
99
|
-
handleSubmit(event: Event): void;
|
|
100
|
-
/**
|
|
101
|
-
* Handles input changes.
|
|
102
|
-
* @param event - The input change event
|
|
103
|
-
*/
|
|
104
|
-
handleInputChange(event: Event): void;
|
|
105
|
-
/**
|
|
106
|
-
* Handles predefined amount clicks.
|
|
107
|
-
* @param amount - The predefined amount to set
|
|
108
|
-
*/
|
|
109
46
|
handleAmountClick(amount: string): void;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
47
|
+
handleClick: (input: string) => void;
|
|
48
|
+
handleSubmit(event: Event): void;
|
|
49
|
+
handleValidatorInputChange(event: Event): void;
|
|
50
|
+
renderKYC(step: any): any;
|
|
51
|
+
renderPredefinedButtons(): any[];
|
|
113
52
|
goToPrivacyPolicy(): void;
|
|
114
|
-
|
|
115
|
-
* Renders the validator.
|
|
116
|
-
*/
|
|
117
|
-
renderValidator(): string;
|
|
118
|
-
/**
|
|
119
|
-
* Renders the component.
|
|
120
|
-
*/
|
|
53
|
+
renderValidator(): any;
|
|
121
54
|
render(): any;
|
|
122
55
|
}
|
|
@@ -6,50 +6,17 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
8
|
export namespace Components {
|
|
9
|
-
/**
|
|
10
|
-
* PlayerLugasLimit Component
|
|
11
|
-
* Handles UI and logic for setting deposit limits for a user in a specific flow.
|
|
12
|
-
*/
|
|
13
9
|
interface PlayerLugasLimit {
|
|
14
|
-
/**
|
|
15
|
-
* The amount
|
|
16
|
-
*/
|
|
17
10
|
"amount": string;
|
|
18
|
-
/**
|
|
19
|
-
* Custom client styling as inline CSS
|
|
20
|
-
*/
|
|
21
11
|
"clientStyling": string;
|
|
22
|
-
/**
|
|
23
|
-
* URL for fetching client-specific styling
|
|
24
|
-
*/
|
|
25
12
|
"clientStylingUrl": string;
|
|
26
|
-
/**
|
|
27
|
-
* Currency of the player
|
|
28
|
-
*/
|
|
29
13
|
"currency": string;
|
|
30
|
-
/**
|
|
31
|
-
* Endpoint URL for the API
|
|
32
|
-
*/
|
|
33
14
|
"endpoint": string;
|
|
34
|
-
|
|
35
|
-
* Language for translations
|
|
36
|
-
*/
|
|
15
|
+
"flow": string;
|
|
37
16
|
"lang": string;
|
|
38
|
-
/**
|
|
39
|
-
* Client custom styling via streamStyling
|
|
40
|
-
*/
|
|
41
17
|
"mbSource": string;
|
|
42
|
-
/**
|
|
43
|
-
* Session ID for the user
|
|
44
|
-
*/
|
|
45
18
|
"session": string;
|
|
46
|
-
/**
|
|
47
|
-
* URL for fetching translation strings
|
|
48
|
-
*/
|
|
49
19
|
"translationUrl": string;
|
|
50
|
-
/**
|
|
51
|
-
* User identifier
|
|
52
|
-
*/
|
|
53
20
|
"userId": string;
|
|
54
21
|
}
|
|
55
22
|
}
|
|
@@ -59,12 +26,9 @@ export interface PlayerLugasLimitCustomEvent<T> extends CustomEvent<T> {
|
|
|
59
26
|
}
|
|
60
27
|
declare global {
|
|
61
28
|
interface HTMLPlayerLugasLimitElementEventMap {
|
|
62
|
-
"
|
|
29
|
+
"uploadDocuments": any;
|
|
30
|
+
"closePopup": any;
|
|
63
31
|
}
|
|
64
|
-
/**
|
|
65
|
-
* PlayerLugasLimit Component
|
|
66
|
-
* Handles UI and logic for setting deposit limits for a user in a specific flow.
|
|
67
|
-
*/
|
|
68
32
|
interface HTMLPlayerLugasLimitElement extends Components.PlayerLugasLimit, HTMLStencilElement {
|
|
69
33
|
addEventListener<K extends keyof HTMLPlayerLugasLimitElementEventMap>(type: K, listener: (this: HTMLPlayerLugasLimitElement, ev: PlayerLugasLimitCustomEvent<HTMLPlayerLugasLimitElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
70
34
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -84,54 +48,19 @@ declare global {
|
|
|
84
48
|
}
|
|
85
49
|
}
|
|
86
50
|
declare namespace LocalJSX {
|
|
87
|
-
/**
|
|
88
|
-
* PlayerLugasLimit Component
|
|
89
|
-
* Handles UI and logic for setting deposit limits for a user in a specific flow.
|
|
90
|
-
*/
|
|
91
51
|
interface PlayerLugasLimit {
|
|
92
|
-
/**
|
|
93
|
-
* The amount
|
|
94
|
-
*/
|
|
95
52
|
"amount"?: string;
|
|
96
|
-
/**
|
|
97
|
-
* Custom client styling as inline CSS
|
|
98
|
-
*/
|
|
99
53
|
"clientStyling"?: string;
|
|
100
|
-
/**
|
|
101
|
-
* URL for fetching client-specific styling
|
|
102
|
-
*/
|
|
103
54
|
"clientStylingUrl"?: string;
|
|
104
|
-
/**
|
|
105
|
-
* Currency of the player
|
|
106
|
-
*/
|
|
107
55
|
"currency"?: string;
|
|
108
|
-
/**
|
|
109
|
-
* Endpoint URL for the API
|
|
110
|
-
*/
|
|
111
56
|
"endpoint"?: string;
|
|
112
|
-
|
|
113
|
-
* Language for translations
|
|
114
|
-
*/
|
|
57
|
+
"flow"?: string;
|
|
115
58
|
"lang"?: string;
|
|
116
|
-
/**
|
|
117
|
-
* Client custom styling via streamStyling
|
|
118
|
-
*/
|
|
119
59
|
"mbSource"?: string;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
*/
|
|
123
|
-
"onCloseLugasModal"?: (event: PlayerLugasLimitCustomEvent<object>) => void;
|
|
124
|
-
/**
|
|
125
|
-
* Session ID for the user
|
|
126
|
-
*/
|
|
60
|
+
"onClosePopup"?: (event: PlayerLugasLimitCustomEvent<any>) => void;
|
|
61
|
+
"onUploadDocuments"?: (event: PlayerLugasLimitCustomEvent<any>) => void;
|
|
127
62
|
"session"?: string;
|
|
128
|
-
/**
|
|
129
|
-
* URL for fetching translation strings
|
|
130
|
-
*/
|
|
131
63
|
"translationUrl"?: string;
|
|
132
|
-
/**
|
|
133
|
-
* User identifier
|
|
134
|
-
*/
|
|
135
64
|
"userId"?: string;
|
|
136
65
|
}
|
|
137
66
|
interface IntrinsicElements {
|
|
@@ -142,10 +71,6 @@ export { LocalJSX as JSX };
|
|
|
142
71
|
declare module "@stencil/core" {
|
|
143
72
|
export namespace JSX {
|
|
144
73
|
interface IntrinsicElements {
|
|
145
|
-
/**
|
|
146
|
-
* PlayerLugasLimit Component
|
|
147
|
-
* Handles UI and logic for setting deposit limits for a user in a specific flow.
|
|
148
|
-
*/
|
|
149
74
|
"player-lugas-limit": LocalJSX.PlayerLugasLimit & JSXBase.HTMLAttributes<HTMLPlayerLugasLimitElement>;
|
|
150
75
|
}
|
|
151
76
|
}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var t=Object.defineProperty,e=new WeakMap,n=t=>e.get(t),o=(t,n)=>e.set(n.t=t,n),l=(t,e)=>e in t,s=(t,e)=>(0,console.error)(t,e),r=new Map,i=new Map,c="slot-fb{display:contents}slot-fb[hidden]{display:none}",u="undefined"!=typeof window?window:{},a=u.document||{head:{}},f={o:0,l:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,o)=>t.addEventListener(e,n,o),rel:(t,e,n,o)=>t.removeEventListener(e,n,o),ce:(t,e)=>new CustomEvent(t,e)},h=t=>Promise.resolve(t),p=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),m=!1,d=[],w=[],y=(t,e)=>n=>{t.push(n),m||(m=!0,e&&4&f.o?v($):f.raf($))},b=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){s(t)}t.length=0},$=()=>{b(d),b(w),(m=d.length>0)&&f.raf($)},v=t=>h().then(t),g=y(w,!0),S={},j=t=>"object"==(t=typeof t)||"function"===t;function O(t){var e,n,o;return null!=(o=null==(n=null==(e=t.head)?void 0:e.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})({},{err:()=>E,map:()=>C,ok:()=>k,unwrap:()=>P,unwrapErr:()=>L});var k=t=>({isOk:!0,isErr:!1,value:t}),E=t=>({isOk:!1,isErr:!0,value:t});function C(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>k(t))):k(n)}if(t.isErr)return E(t.value);throw"should never get here"}var M,x,P=t=>{if(t.isOk)return t.value;throw t.value},L=t=>{if(t.isErr)return t.value;throw t.value},R=(t,e,...n)=>{let o=null,l=!1,s=!1;const r=[],i=e=>{for(let n=0;n<e.length;n++)o=e[n],Array.isArray(o)?i(o):null!=o&&"boolean"!=typeof o&&((l="function"!=typeof t&&!j(o))&&(o+=""),l&&s?r[r.length-1].i+=o:r.push(l?T(null,o):o),s=l)};if(i(n),e){const t=e.className||e.class;t&&(e.class="object"!=typeof t?t:Object.keys(t).filter((e=>t[e])).join(" "))}const c=T(t,null);return c.u=e,r.length>0&&(c.h=r),c},T=(t,e)=>({o:0,p:t,i:e,m:null,h:null,u:null}),A={},N=(t,e,o)=>{const l=(t=>n(t).$hostElement$)(t);return{emit:t=>U(l,e,{bubbles:!!(4&o),composed:!!(2&o),cancelable:!!(1&o),detail:t})}},U=(t,e,n)=>{const o=f.ce(e,n);return t.dispatchEvent(o),o},W=new WeakMap,D=t=>"sc-"+t.$,F=(t,e,n,o,s,r)=>{if(n!==o){let i=l(t,e),c=e.toLowerCase();if("class"===e){const e=t.classList,l=q(n),s=q(o);e.remove(...l.filter((t=>t&&!s.includes(t)))),e.add(...s.filter((t=>t&&!l.includes(t))))}else if("ref"===e)o&&o(t);else if(i||"o"!==e[0]||"n"!==e[1]){const l=j(o);if((i||l&&null!==o)&&!s)try{if(t.tagName.includes("-"))t[e]=o;else{const l=null==o?"":o;"list"===e?i=!1:null!=n&&t[e]==l||(t[e]=l)}}catch(t){}null==o||!1===o?!1===o&&""!==t.getAttribute(e)||t.removeAttribute(e):(!i||4&r||s)&&!l&&t.setAttribute(e,o=!0===o?"":o)}else if(e="-"===e[2]?e.slice(3):l(u,c)?c.slice(2):c[2]+e.slice(3),n||o){const l=e.endsWith(G);e=e.replace(V,""),n&&f.rel(t,e,n,l),o&&f.ael(t,e,o,l)}}},H=/\s/,q=t=>t?t.split(H):[],G="Capture",V=RegExp(G+"$"),_=(t,e,n)=>{const o=11===e.m.nodeType&&e.m.host?e.m.host:e.m,l=t&&t.u||S,s=e.u||S;for(const t of z(Object.keys(l)))t in s||F(o,t,l[t],void 0,n,e.o);for(const t of z(Object.keys(s)))F(o,t,l[t],s[t],n,e.o)};function z(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var B=!1,I=!1,J=(t,e,n)=>{const o=e.h[n];let l,s,r=0;if(null!==o.i)l=o.m=a.createTextNode(o.i);else{if(I||(I="svg"===o.p),l=o.m=a.createElementNS(I?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",o.p),I&&"foreignObject"===o.p&&(I=!1),_(null,o,I),null!=M&&l["s-si"]!==M&&l.classList.add(l["s-si"]=M),o.h)for(r=0;r<o.h.length;++r)s=J(t,o,r),s&&l.appendChild(s);"svg"===o.p?I=!1:"foreignObject"===l.tagName&&(I=!0)}return l["s-hn"]=x,l},K=(t,e,n,o,l,s)=>{let r,i=t;for(i.shadowRoot&&i.tagName===x&&(i=i.shadowRoot);l<=s;++l)o[l]&&(r=J(null,n,l),r&&(o[l].m=r,tt(i,r,e)))},Q=(t,e,n)=>{for(let o=e;o<=n;++o){const e=t[o];if(e){const t=e.m;Z(e),t&&t.remove()}}},X=(t,e)=>t.p===e.p,Y=(t,e,n=!1)=>{const o=e.m=t.m,l=t.h,s=e.h,r=e.p,i=e.i;null===i?(I="svg"===r||"foreignObject"!==r&&I,("slot"!==r||B)&&_(t,e,I),null!==l&&null!==s?((t,e,n,o,l=!1)=>{let s,r=0,i=0,c=e.length-1,u=e[0],a=e[c],f=o.length-1,h=o[0],p=o[f];for(;r<=c&&i<=f;)null==u?u=e[++r]:null==a?a=e[--c]:null==h?h=o[++i]:null==p?p=o[--f]:X(u,h)?(Y(u,h,l),u=e[++r],h=o[++i]):X(a,p)?(Y(a,p,l),a=e[--c],p=o[--f]):X(u,p)?(Y(u,p,l),tt(t,u.m,a.m.nextSibling),u=e[++r],p=o[--f]):X(a,h)?(Y(a,h,l),tt(t,a.m,u.m),a=e[--c],h=o[++i]):(s=J(e&&e[i],n,i),h=o[++i],s&&tt(u.m.parentNode,s,u.m));r>c?K(t,null==o[f+1]?null:o[f+1].m,n,o,i,f):i>f&&Q(e,r,c)})(o,l,e,s,n):null!==s?(null!==t.i&&(o.textContent=""),K(o,null,e,s,0,s.length-1)):null!==l&&Q(l,0,l.length-1),I&&"svg"===r&&(I=!1)):t.i!==i&&(o.data=i)},Z=t=>{t.u&&t.u.ref&&t.u.ref(null),t.h&&t.h.map(Z)},tt=(t,e,n)=>null==t?void 0:t.insertBefore(e,n),et=(t,e)=>{e&&!t.v&&e["s-p"]&&e["s-p"].push(new Promise((e=>t.v=e)))},nt=(t,e)=>{if(t.o|=16,!(4&t.o))return et(t,t.S),g((()=>ot(t,e)));t.o|=512},ot=(t,e)=>{const n=t.t;if(!n)throw Error(`Can't render component <${t.$hostElement$.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let o;return e&&(o=at(n,"componentWillLoad")),lt(o,(()=>rt(t,n,e)))},lt=(t,e)=>st(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),st=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,rt=async(t,e,n)=>{var o;const l=t.$hostElement$,s=l["s-rc"];n&&(t=>{const e=t.j,n=t.$hostElement$,o=e.o,l=((t,e)=>{var n;const o=D(e),l=i.get(o);if(t=11===t.nodeType?t:a,l)if("string"==typeof l){let s,r=W.get(t=t.head||t);if(r||W.set(t,r=new Set),!r.has(o)){{s=a.createElement("style"),s.innerHTML=l;const e=null!=(n=f.O)?n:O(a);null!=e&&s.setAttribute("nonce",e),t.insertBefore(s,t.querySelector("link"))}4&e.o&&(s.innerHTML+=c),r&&r.add(o)}}else t.adoptedStyleSheets.includes(l)||(t.adoptedStyleSheets=[...t.adoptedStyleSheets,l]);return o})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&o&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(t);it(t,e,l,n),s&&(s.map((t=>t())),l["s-rc"]=void 0);{const e=null!=(o=l["s-p"])?o:[],n=()=>ct(t);0===e.length?n():(Promise.all(e).then(n),t.o|=4,e.length=0)}},it=(t,e,n,o)=>{try{e=e.render(),t.o&=-17,t.o|=2,((t,e,n=!1)=>{const o=t.$hostElement$,l=t.j,s=t.k||T(null,null),r=(t=>t&&t.p===A)(e)?e:R(null,null,e);if(x=o.tagName,n&&r.u)for(const t of Object.keys(r.u))o.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(r.u[t]=o[t]);r.p=null,r.o|=4,t.k=r,r.m=s.m=o.shadowRoot||o,M=o["s-sc"],B=!!(1&l.o),Y(s,r,n)})(t,e,o)}catch(e){s(e,t.$hostElement$)}return null},ct=t=>{const e=t.$hostElement$,n=t.t,o=t.S;64&t.o||(t.o|=64,ft(e),at(n,"componentDidLoad"),t.C(e),o||ut()),t.v&&(t.v(),t.v=void 0),512&t.o&&v((()=>nt(t,!1))),t.o&=-517},ut=()=>{ft(a.documentElement),v((()=>U(u,"appload",{detail:{namespace:"player-lugas-limit"}})))},at=(t,e,n)=>{if(t&&t[e])try{return t[e](n)}catch(t){s(t)}},ft=t=>t.classList.add("hydrated"),ht=(t,e,o)=>{var l,r;const i=t.prototype;if(e.M||e.P||t.watchers){t.watchers&&!e.P&&(e.P=t.watchers);const c=Object.entries(null!=(l=e.M)?l:{});if(c.map((([t,[l]])=>{(31&l||2&o&&32&l)&&Object.defineProperty(i,t,{get(){return((t,e)=>n(this).L.get(e))(0,t)},set(o){((t,e,o,l)=>{const r=n(t);if(!r)throw Error(`Couldn't find host element for "${l.$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const i=r.$hostElement$,c=r.L.get(e),u=r.o,a=r.t;if(o=((t,e)=>null==t||j(t)?t:1&e?t+"":t)(o,l.M[e][0]),(!(8&u)||void 0===c)&&o!==c&&(!Number.isNaN(c)||!Number.isNaN(o))&&(r.L.set(e,o),a)){if(l.P&&128&u){const t=l.P[e];t&&t.map((t=>{try{a[t](o,c,e)}catch(t){s(t,i)}}))}2==(18&u)&&nt(r,!1)}})(this,t,o,e)},configurable:!0,enumerable:!0})})),1&o){const o=new Map;i.attributeChangedCallback=function(t,l,s){f.jmp((()=>{var r;const c=o.get(t);if(this.hasOwnProperty(c))s=this[c],delete this[c];else{if(i.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const o=n(this),i=null==o?void 0:o.o;if(i&&!(8&i)&&128&i&&s!==l){const n=o.t,i=null==(r=e.P)?void 0:r[t];null==i||i.forEach((e=>{null!=n[e]&&n[e].call(n,s,l,t)}))}return}}this[c]=(null!==s||"boolean"!=typeof this[c])&&s}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(r=e.P)?r:{}),...c.filter((([t,e])=>15&e[0])).map((([t,e])=>{const n=e[1]||t;return o.set(n,t),n}))]))}}return t},pt=t=>{at(t,"disconnectedCallback")},mt=(t,o={})=>{var l;const h=[],m=o.exclude||[],d=u.customElements,w=a.head,y=w.querySelector("meta[charset]"),b=a.createElement("style"),$=[];let v,g=!0;Object.assign(f,o),f.l=new URL(o.resourcesUrl||"./",a.baseURI).href;let S=!1;if(t.map((t=>{t[1].map((o=>{var l;const c={o:o[0],$:o[1],M:o[2],R:o[3]};4&c.o&&(S=!0),c.M=o[2],c.P=null!=(l=o[4])?l:{};const u=c.$,a=class extends HTMLElement{constructor(t){if(super(t),this.hasRegisteredEventListeners=!1,((t,n)=>{const o={o:0,$hostElement$:t,j:n,L:new Map};o.T=new Promise((t=>o.C=t)),t["s-p"]=[],t["s-rc"]=[],e.set(t,o)})(t=this,c),1&c.o)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${c.$}! Mode is set to ${t.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else t.attachShadow({mode:"open"})}connectedCallback(){this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),v&&(clearTimeout(v),v=null),g?$.push(this):f.jmp((()=>(t=>{if(!(1&f.o)){const e=n(t),o=e.j,l=()=>{};if(1&e.o)(null==e?void 0:e.t)||(null==e?void 0:e.T)&&e.T.then((()=>{}));else{e.o|=1;{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){et(e,e.S=n);break}}o.M&&Object.entries(o.M).map((([e,[n]])=>{if(31&n&&t.hasOwnProperty(e)){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n)=>{let o;if(!(32&e.o)){if(e.o|=32,n.A){const t=(t=>{const e=t.$.replace(/-/g,"_"),n=t.A;if(!n)return;const o=r.get(n);return o?o[e]:import(`./${n}.entry.js`).then((t=>(r.set(n,t),t[e])),s)
|
|
2
|
-
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n);if(t&&"then"in t){const e=()=>{};o=await t,e()}else o=t;if(!o)throw Error(`Constructor for "${n.$}#${e.N}" was not found`);o.isProxied||(n.P=o.watchers,ht(o,n,2),o.isProxied=!0);const l=()=>{};e.o|=8;try{new o(e)}catch(t){s(t)}e.o&=-9,e.o|=128,l()}else o=t.constructor,customElements.whenDefined(t.localName).then((()=>e.o|=128));if(o&&o.style){let t;"string"==typeof o.style&&(t=o.style);const e=D(n);if(!i.has(e)){const o=()=>{};((t,e,n)=>{let o=i.get(t);p&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=e:o.replaceSync(e)):o=e,i.set(t,o)})(e,t,!!(1&n.o)),o()}}}const l=e.S,c=()=>nt(e,!0);l&&l["s-rc"]?l["s-rc"].push(c):c()})(t,e,o)}l()}})(this)))}disconnectedCallback(){f.jmp((()=>(async()=>{if(!(1&f.o)){const t=n(this);(null==t?void 0:t.t)?pt(t.t):(null==t?void 0:t.T)&&t.T.then((()=>pt(t.t)))}})()))}componentOnReady(){return n(this).T}};c.A=t[0],m.includes(u)||d.get(u)||(h.push(u),d.define(u,ht(a,c,1)))}))})),h.length>0&&(S&&(b.textContent+=c),b.textContent+=h.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",b.innerHTML.length)){b.setAttribute("data-styles","");const t=null!=(l=f.O)?l:O(a);null!=t&&b.setAttribute("nonce",t),w.insertBefore(b,y?y.nextSibling:w.firstChild)}g=!1,$.length?$.map((t=>t.connectedCallback())):f.jmp((()=>v=setTimeout(ut,30)))},dt=t=>f.O=t;export{mt as b,N as c,R as h,h as p,o as r,dt as s}
|