@everymatrix/player-lugas-limit 1.72.0 → 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.
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'player-lugas-limit';
24
- const BUILD = /* player-lugas-limit */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: false, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
24
+ const BUILD = /* player-lugas-limit */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: false, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -668,6 +668,12 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
668
668
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
669
669
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
670
670
  hostTagName = hostElm.tagName;
671
+ if (cmpMeta.$attrsToReflect$) {
672
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
673
+ cmpMeta.$attrsToReflect$.map(
674
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
675
+ );
676
+ }
671
677
  if (isInitialLoad && rootVnode.$attrs$) {
672
678
  for (const key of Object.keys(rootVnode.$attrs$)) {
673
679
  if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
@@ -927,8 +933,12 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
927
933
  /* @__PURE__ */ new Set([
928
934
  ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
929
935
  ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {
936
+ var _a2;
930
937
  const attrName = m[1] || propName;
931
938
  attrNameToPropName.set(attrName, propName);
939
+ if (m[0] & 512 /* ReflectAttr */) {
940
+ (_a2 = cmpMeta.$attrsToReflect$) == null ? void 0 : _a2.push([propName, attrName]);
941
+ }
932
942
  return attrName;
933
943
  })
934
944
  ])
@@ -1092,6 +1102,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1092
1102
  {
1093
1103
  cmpMeta.$members$ = compactMeta[2];
1094
1104
  }
1105
+ {
1106
+ cmpMeta.$attrsToReflect$ = [];
1107
+ }
1095
1108
  {
1096
1109
  cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
1097
1110
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0a905cca.js');
5
+ const index = require('./index-bf3197ee.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["player-lugas-limit.cjs",[[1,"player-lugas-limit",{"userId":[1,"user-id"],"session":[1],"endpoint":[1],"currency":[1],"amount":[1],"lang":[1],"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"mbSource":[1,"mb-source"],"translationUrl":[1,"translation-url"],"isLoading":[32],"showCustomAmount":[32],"isSubmitted":[32],"isUseExistingLimitOptionActive":[32],"selectedPredefinedAmount":[32],"errorMessageOnInitialization":[32],"errorMessageOnSubmit":[32],"errorMessageOnInput":[32],"hasLugasError":[32],"newAmount":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
11
+ return index.bootstrapLazy([["player-lugas-limit.cjs",[[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"]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0a905cca.js');
5
+ const index = require('./index-bf3197ee.js');
6
6
 
7
7
  const DEFAULT_LANGUAGE = 'de';
8
8
  let TRANSLATIONS = {
@@ -25,12 +25,20 @@ let TRANSLATIONS = {
25
25
  LugasNotSet: 'No deposit limit set. Please enter a new limit.',
26
26
  loading: 'Loading, please wait ...',
27
27
  error: 'It was an error while trying to fetch the data',
28
- 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.'
28
+ 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.',
29
+ 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.',
30
+ 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.',
31
+ kycThanks: 'Thank you!',
32
+ kycSure: 'Are you sure?',
33
+ setNewLimit: 'SET NEW LIMIT',
34
+ keepExistingLimit: 'KEEP EXISTING LIMIT',
35
+ Close: 'CLOSE',
36
+ UploadDocuments: 'UPLOAD DOCUMENTS',
29
37
  },
30
38
  de: {
31
39
  LugasSetLimitDialogTitle: 'Monatliches zentrales Einzahlungslimit',
32
40
  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.',
33
- ChooseLimit: 'Limit wählen',
41
+ ChooseLimit: 'Choose Limit',
34
42
  ButtonCustomValue: 'Eigener',
35
43
  ButtonMax: 'Max',
36
44
  LugasSetLimitDialogButtonSetLimit: 'LIMIT SETZEN {amount} {currency}',
@@ -44,9 +52,17 @@ let TRANSLATIONS = {
44
52
  link: 'klicken Sie hier',
45
53
  },
46
54
  LugasNotSet: 'Kein Einzahlungslimit festgelegt. Bitte geben Sie ein neues Limit ein.',
47
- loading: 'Laden, bitte warten ...',
48
- error: 'Beim Versuch, die Daten abzurufen, ist ein Fehler aufgetreten',
49
- 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.'
55
+ loading: "Lade, bitte warten ...",
56
+ error: "Beim Laden der Daten ist ein Fehler aufgetreten.",
57
+ 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.",
58
+ 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.",
59
+ kyc3: "Wir haben Ihr gewünschtes Limit an LUGAS übermittelt. Bitte beachten Sie, dass das Limit spätestens nach 8 Tagen in Kraft tritt.",
60
+ kycThanks: "Vielen Dank!",
61
+ kycSure: "Sind Sie sicher?",
62
+ setNewLimit: "NEUES LIMIT FESTLEGEN",
63
+ keepExistingLimit: "AKTUELLES LIMIT BEIBEHALTEN",
64
+ Close: "SCHLIESSEN",
65
+ UploadDocuments: "DOKUMENTE HOCHLADEN"
50
66
  },
51
67
  };
52
68
  const getTranslations = (url) => {
@@ -141,73 +157,44 @@ function setStreamStyling(stylingContainer, domain, subscription) {
141
157
  }
142
158
  }
143
159
 
144
- const playerLugasLimitCss = "@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}";
160
+ const playerLugasLimitCss = "@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}";
145
161
  const PlayerLugasLimitStyle0 = playerLugasLimitCss;
146
162
 
147
163
  const PlayerLugasLimit = class {
148
164
  constructor(hostRef) {
149
165
  index.registerInstance(this, hostRef);
150
- this.closeLugasModal = index.createEvent(this, "closeLugasModal", 7);
151
- /** Array of predefined limit amounts */
166
+ this.uploadDocuments = index.createEvent(this, "uploadDocuments", 7);
167
+ this.closePopup = index.createEvent(this, "closePopup", 7);
168
+ // Internal variables
152
169
  this.predefinedAmounts = [];
153
- /** Displayed currency */
154
170
  this.displayedCurrency = '';
155
- /**
156
- * Submits the new monthly deposit limit set by the player.
157
- * @param amount - User-defined amount
158
- * @param keepLimit - Whether to keep the current limit
159
- * @param isInitialLimit - Whether the limit is being set initially
160
- */
161
- this.submitMonthlyDepositLimit = async (amount, keepLimit = false, isInitialLimit = false) => {
162
- if (keepLimit && !this.isUseExistingLimitOptionActive) {
163
- return;
164
- }
165
- this.isSubmitted = true;
166
- this.errorMessageOnSubmit = '';
167
- const url = new URL(`${this.endpoint}v2/player/${this.userId}/limit/lugas`);
168
- const roleLimitAmount = isInitialLimit ? this.newAmount : 0;
169
- const requestBody = {
170
- amount,
171
- keepLimit,
172
- roleLimitAmount
173
- };
174
- const requestOptions = {
175
- method: 'POST',
176
- headers: {
177
- 'X-SessionId': this.session,
178
- 'X-Session-Type': 'others',
179
- 'Content-Type': 'application/json',
180
- 'Authorization': `Bearer ${this.session}`
181
- },
182
- body: JSON.stringify(requestBody)
183
- };
184
- try {
185
- const response = await fetch(url.href, requestOptions);
186
- if (!response.ok) {
187
- const error = await response.json();
188
- throw error;
189
- }
190
- this.closeLugasModal.emit();
191
- }
192
- catch (error) {
193
- this.handleSubmissionError(error, keepLimit);
194
- }
195
- finally {
196
- this.isSubmitted = false;
171
+ this.handleClick = (input) => {
172
+ switch (input) {
173
+ case 'UploadDocuments':
174
+ this.uploadDocuments.emit();
175
+ window.postMessage({ type: 'uploadDocuments' }, window.location.href);
176
+ break;
177
+ case 'Close':
178
+ this.closePopup.emit();
179
+ window.postMessage({ type: 'closePopup' }, window.location.href);
180
+ break;
197
181
  }
198
182
  };
199
183
  this.userId = '';
200
184
  this.session = '';
201
185
  this.endpoint = '';
202
186
  this.currency = 'EUR';
187
+ this.flow = '';
203
188
  this.amount = '';
204
189
  this.lang = undefined;
205
190
  this.clientStyling = '';
206
191
  this.clientStylingUrl = '';
207
192
  this.mbSource = undefined;
208
193
  this.translationUrl = '';
194
+ this.hasValidation = true;
195
+ this.kycStep = undefined;
209
196
  this.isLoading = false;
210
- this.showCustomAmount = false;
197
+ this.regularDepositLimitAmount = '';
211
198
  this.isSubmitted = false;
212
199
  this.isUseExistingLimitOptionActive = true;
213
200
  this.selectedPredefinedAmount = undefined;
@@ -215,13 +202,15 @@ const PlayerLugasLimit = class {
215
202
  this.errorMessageOnSubmit = '';
216
203
  this.errorMessageOnInput = '';
217
204
  this.hasLugasError = false;
205
+ this.showCustomAmount = false;
218
206
  this.newAmount = '';
219
207
  }
220
- /**
221
- * Watch for changes in the translation URL and fetch new translations
222
- */
208
+ // Watchers
223
209
  handleNewTranslations() {
224
- getTranslations(this.translationUrl);
210
+ this.isLoading = true;
211
+ getTranslations(this.translationUrl).then(() => {
212
+ this.isLoading = false;
213
+ });
225
214
  }
226
215
  handleClientStylingChange(newValue, oldValue) {
227
216
  if (newValue != oldValue) {
@@ -234,65 +223,84 @@ const PlayerLugasLimit = class {
234
223
  setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
235
224
  }
236
225
  }
237
- /**
238
- * Lifecycle method that fetches translations when the component is loaded.
239
- */
226
+ // Lifecycle methods
240
227
  async componentWillLoad() {
241
228
  if (this.translationUrl.length > 2) {
242
229
  await getTranslations(this.translationUrl);
243
230
  }
244
- await this.getMonthlyDepositLimitConfig();
231
+ await this.fetchDepositLimitConfig();
245
232
  this.displayedCurrency = this.currency === 'EUR' ? '€' : this.currency;
246
233
  }
247
234
  componentDidLoad() {
248
- if (this.stylingContainer) {
249
- if (window.emMessageBus != undefined) {
250
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
251
- }
252
- else {
253
- if (this.clientStyling)
254
- setClientStyling(this.stylingContainer, this.clientStyling);
255
- if (this.clientStylingUrl)
256
- setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
257
- }
235
+ if (!this.stylingContainer)
236
+ return;
237
+ if (window.emMessageBus != undefined) {
238
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
239
+ }
240
+ else {
241
+ if (this.clientStyling)
242
+ setClientStyling(this.stylingContainer, this.clientStyling);
243
+ if (this.clientStylingUrl)
244
+ setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
258
245
  }
259
246
  }
260
247
  disconnectedCallback() {
261
248
  this.stylingSubscription && this.stylingSubscription.unsubscribe();
262
249
  }
263
- /**
264
- * Fetches the monthly deposit limit configuration from the API.
265
- *
266
- * @returns Promise - Promise that resolves when the configuration is fetched
267
- */
268
- async getMonthlyDepositLimitConfig() {
269
- const url = new URL(`${this.endpoint}api/v1/gm/legislation/config/month-deposit-limit`);
250
+ async fetchDepositLimitConfig() {
270
251
  this.isLoading = true;
271
- return new Promise((resolve) => {
272
- fetch(url.href)
273
- .then((res) => {
274
- if (res.status >= 300) {
275
- throw new Error('There was an error while fetching the configuration');
276
- }
277
- return res.json();
278
- })
279
- .then((data) => {
280
- this.predefinedAmounts = data.preDefinedOptions;
281
- this.minAmount = data.minAmount;
282
- this.maxAmount = data.maxAmount;
283
- resolve(true);
284
- }).catch((err) => {
285
- this.errorMessageOnInitialization = translate('error', this.lang);
286
- console.log(err);
287
- })
288
- .finally(() => this.isLoading = false);
289
- });
252
+ try {
253
+ const url = new URL('/api/v1/gm/legislation/config/month-deposit-limit/', this.endpoint);
254
+ const response = await fetch(url.href);
255
+ if (!response.ok)
256
+ throw new Error('Failed to load config');
257
+ const data = await response.json();
258
+ this.predefinedAmounts = data.preDefinedOptions;
259
+ this.minAmount = data.minAmount;
260
+ this.maxAmount = data.maxAmount;
261
+ }
262
+ catch (error) {
263
+ this.errorMessageOnInitialization = translate('error', this.lang);
264
+ console.error(error);
265
+ }
266
+ finally {
267
+ this.isLoading = false;
268
+ }
269
+ }
270
+ async postPlayerSituation(userAmount, keepLimit = false, initialNewLimit = false) {
271
+ if (keepLimit && !this.isUseExistingLimitOptionActive)
272
+ return;
273
+ this.isSubmitted = true;
274
+ this.errorMessageOnSubmit = '';
275
+ const url = new URL(`v2/player/${this.userId}/limit/lugas/`, this.endpoint);
276
+ const roleLimitAmount = initialNewLimit ? this.amount : 0;
277
+ const body = Object.assign({ softMigration: this.flow === '1', keepLimit,
278
+ roleLimitAmount }, (userAmount && { amount: userAmount }));
279
+ const options = {
280
+ method: 'POST',
281
+ headers: {
282
+ 'X-SessionId': this.session,
283
+ 'Content-Type': 'application/json',
284
+ 'Authorization': `Bearer ${this.session}`
285
+ },
286
+ body: JSON.stringify(body)
287
+ };
288
+ try {
289
+ const response = await fetch(url.href, options);
290
+ if (!response.ok)
291
+ throw new Error(`HTTP ${response.status}`);
292
+ const data = await response.json();
293
+ this.kycStep = data.popup;
294
+ this.hasValidation = false;
295
+ this.regularDepositLimitAmount = data.regulatorDepositLimitAmount || '';
296
+ }
297
+ catch (error) {
298
+ this.handleSubmissionError(error, keepLimit);
299
+ }
300
+ finally {
301
+ this.isSubmitted = false;
302
+ }
290
303
  }
291
- /**
292
- * Handles errors during the submission of the monthly deposit limit.
293
- * @param error - Error response from the server
294
- * @param keepLimit - Whether the user opted to keep the current limit
295
- */
296
304
  handleSubmissionError(error, keepLimit) {
297
305
  var _a, _b;
298
306
  this.errorMessageOnSubmit = translate('LugasNotSet', this.lang);
@@ -312,23 +320,34 @@ const PlayerLugasLimit = class {
312
320
  console.error('Unexpected Error:', error);
313
321
  }
314
322
  }
315
- /**
316
- * Handles form submission.
317
- * @param event - The form submission event
318
- */
323
+ handleAmountClick(amount) {
324
+ this.showCustomAmount = false;
325
+ this.errorMessageOnInput = '';
326
+ this.selectedPredefinedAmount = amount;
327
+ switch (amount) {
328
+ case 'Other':
329
+ this.newAmount = '';
330
+ this.showCustomAmount = true;
331
+ break;
332
+ case 'Max':
333
+ this.newAmount = this.maxAmount.toString();
334
+ this.showCustomAmount = true;
335
+ break;
336
+ default:
337
+ this.newAmount = amount;
338
+ this.postPlayerSituation(this.newAmount, false, true);
339
+ break;
340
+ }
341
+ }
319
342
  handleSubmit(event) {
320
343
  event.preventDefault();
321
- if (!this.errorMessageOnInput) {
322
- this.submitMonthlyDepositLimit(this.newAmount, false, true);
344
+ if (this.errorMessageOnInput) {
345
+ return;
323
346
  }
347
+ this.postPlayerSituation(this.newAmount, false, true);
324
348
  }
325
- /**
326
- * Handles input changes.
327
- * @param event - The input change event
328
- */
329
- handleInputChange(event) {
349
+ handleValidatorInputChange(event) {
330
350
  this.newAmount = event.target.value;
331
- // Perform validation checks
332
351
  this.isValidNumber = !isNaN(Number(this.newAmount));
333
352
  this.isWithinRange = (Number(this.newAmount) >= this.minAmount) && (Number(this.newAmount) <= this.maxAmount);
334
353
  if (!this.isWithinRange || !this.isValidNumber) {
@@ -343,68 +362,50 @@ const PlayerLugasLimit = class {
343
362
  event.target.value = this.newAmount;
344
363
  }
345
364
  }
346
- /**
347
- * Handles predefined amount clicks.
348
- * @param amount - The predefined amount to set
349
- */
350
- handleAmountClick(amount) {
351
- this.showCustomAmount = false;
352
- this.errorMessageOnInput = '';
353
- this.selectedPredefinedAmount = amount;
354
- switch (amount) {
355
- case 'Other':
356
- this.newAmount = '';
357
- this.showCustomAmount = true;
358
- break;
359
- case 'Max':
360
- this.newAmount = this.maxAmount.toString();
361
- this.showCustomAmount = true;
362
- break;
365
+ renderKYC(step) {
366
+ switch (step) {
367
+ case 0:
368
+ this.handleClick('Close');
369
+ return;
370
+ case 1:
371
+ return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('kycSure', this.lang, { values: { currency: this.currency } })), index.h("p", null, translate('kyc1', this.lang, { values: { currency: this.currency } })), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "FirstButton", onClick: () => this.postPlayerSituation(this.newAmount, false) }, translate('setNewLimit', this.lang, { values: { currency: this.currency } })), index.h("button", { class: "SecondButton", onClick: () => this.postPlayerSituation(this.amount, true) }, translate('keepExistingLimit', this.lang, { values: { currency: this.currency } }))))));
372
+ case 2:
373
+ return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('kycThanks', this.lang, { values: { currency: this.currency } })), index.h("p", { innerHTML: translate('kyc2', this.lang, { values: { currency: this.currency, amount: this.regularDepositLimitAmount } }) }), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "FirstButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } })), index.h("button", { class: "SecondButton", onClick: () => this.handleClick('UploadDocuments') }, translate('UploadDocuments', this.lang, { values: { currency: this.currency } }))))));
363
374
  default:
364
- this.newAmount = amount;
365
- this.submitMonthlyDepositLimit(this.newAmount, false, true);
366
- break;
375
+ return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('kycThanks', this.lang, { values: { currency: this.currency } })), index.h("p", null, translate('kyc3', this.lang, { values: { currency: this.currency } })), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "SecondButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } }))))));
367
376
  }
368
377
  }
369
- /**
370
- * Navigates to the privacy policy page.
371
- */
378
+ renderPredefinedButtons() {
379
+ return this.predefinedAmounts.map((currentAmount) => (index.h("button", { class: this.selectedPredefinedAmount === currentAmount ? 'Active' : '', onClick: () => this.handleAmountClick(currentAmount), disabled: this.hasLugasError }, currentAmount)));
380
+ }
381
+ ;
372
382
  goToPrivacyPolicy() {
373
383
  window.postMessage({ type: 'GoToPrivacyPolicy' });
374
384
  }
375
385
  ;
376
- /**
377
- * Renders the validator.
378
- */
379
386
  renderValidator() {
380
- const renderPredefinedButtons = () => {
381
- return this.predefinedAmounts.map((currentAmount) => (index.h("button", { class: this.selectedPredefinedAmount === currentAmount ? 'Active' : '', onClick: () => this.handleAmountClick(currentAmount), disabled: this.hasLugasError }, currentAmount)));
382
- };
383
387
  return (index.h("div", { class: "ValidatorContainer" }, this.errorMessageOnSubmit && (index.h("div", { class: "ErrorContainer" }, !this.hasLugasError && (index.h("span", { class: "DismissError", onClick: () => this.errorMessageOnSubmit = '' }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "9", height: "9", viewBox: "0 0 9 9", fill: "none" }, index.h("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" })))), index.h("p", { class: "ErrorParagraph" }, index.h("span", { class: "ErrorIcon" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "9", height: "9", viewBox: "0 0 9 9" }, index.h("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" }))), index.h("div", { innerHTML: this.errorMessageOnSubmit })))), index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('LugasInfoBox', this.lang))), index.h("div", { class: "LimitAmountWrapper" }, this.isSubmitted
384
388
  && index.h("slot", { name: 'spinner' })
385
- && index.h("div", { class: "LoadingWrapper" }, index.h("svg", { class: "spinner", viewBox: "0 0 50 50" }, index.h("circle", { class: "path", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "5" }))), index.h("p", { class: "ChooseLimitLabel" }, translate('ChooseLimit', this.lang)), index.h("div", { class: "PredefinedAmounts" }, index.h("button", { class: this.selectedPredefinedAmount === 'Other' ? 'Active' : '', onClick: () => this.handleAmountClick('Other') }, translate('ButtonCustomValue', this.lang)), renderPredefinedButtons(), index.h("button", { class: this.selectedPredefinedAmount === 'Max' ? 'Active' : '', onClick: () => this.handleAmountClick('Max') }, translate('ButtonMax', this.lang))), this.showCustomAmount && (index.h("form", { onSubmit: (event) => this.handleSubmit(event) }, this.showCustomAmount &&
386
- index.h("div", null, index.h("input", { class: `CustomAmountInput ${this.errorMessageOnInput ? 'InvalidInput' : ''}`, type: "number", value: this.selectedPredefinedAmount === 'Max' ? this.maxAmount : null, step: 0.01, placeholder: "0.00", disabled: this.hasLugasError || this.selectedPredefinedAmount === 'Max', onInput: (event) => this.handleInputChange(event) }), this.errorMessageOnInput && index.h("p", { class: "InvalidParagraph" }, this.errorMessageOnInput)), this.selectedPredefinedAmount &&
389
+ && index.h("div", { class: "LoadingWrapper" }, index.h("svg", { class: "spinner", viewBox: "0 0 50 50" }, index.h("circle", { class: "path", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "5" }))), index.h("p", { class: "ChooseLimitLabel" }, translate('ChooseLimit', this.lang)), index.h("div", { class: "PredefinedAmounts" }, index.h("button", { class: this.selectedPredefinedAmount === 'Other' ? 'Active' : '', onClick: () => this.handleAmountClick('Other') }, translate('ButtonCustomValue', this.lang)), this.renderPredefinedButtons(), index.h("button", { class: this.selectedPredefinedAmount === 'Max' ? 'Active' : '', onClick: () => this.handleAmountClick('Max') }, translate('ButtonMax', this.lang))), this.showCustomAmount && (index.h("form", { onSubmit: (event) => this.handleSubmit(event) }, this.showCustomAmount &&
390
+ index.h("div", null, index.h("input", { class: `CustomAmountInput ${this.errorMessageOnInput ? 'InvalidInput' : ''}`, type: "number", value: this.selectedPredefinedAmount === 'Max' ? this.maxAmount : null, step: 0.01, placeholder: "0.00", disabled: this.hasLugasError || this.selectedPredefinedAmount === 'Max', onInput: (event) => this.handleValidatorInputChange(event) }), this.errorMessageOnInput && index.h("p", { class: "InvalidParagraph" }, this.errorMessageOnInput)), this.selectedPredefinedAmount &&
387
391
  index.h("button", { class: "PrimaryButton SetLimitBtn", type: "submit", disabled: this.hasLugasError || this.isSubmitted || !Boolean(this.newAmount) || Boolean(this.errorMessageOnInput) }, translate('LugasSetLimitDialogButtonSetLimit', this.lang, {
388
392
  values: {
389
393
  currency: this.displayedCurrency,
390
394
  amount: Number.parseFloat(this.newAmount || '0').toFixed(2)
391
395
  }
392
- }))))), index.h("div", { class: "ModalFooter" }, index.h("hr", null), index.h("div", { class: "Paragraphs" }, index.h("p", { class: "ExistingLimit" }, translate('LugasSetLimitDialogExistingLimit.text', this.lang), index.h("span", { class: this.isUseExistingLimitOptionActive ? 'Link' : 'Link Inactive', onClick: () => this.submitMonthlyDepositLimit(this.amount, true) }, translate('LugasSetLimitDialogExistingLimit.link', this.lang))), index.h("p", { class: "PrivacyNote" }, translate('LugasSetLimitDialogPrivacyNote.text', this.lang), index.h("span", { class: "Link", onClick: this.goToPrivacyPolicy }, translate('LugasSetLimitDialogPrivacyNote.link', this.lang)))))));
396
+ })))))));
393
397
  }
394
- /**
395
- * Renders the component.
396
- */
397
398
  render() {
399
+ const kycConfirmation = this.renderKYC(this.kycStep);
400
+ const validationContainer = this.renderValidator();
398
401
  if (this.isLoading) {
399
402
  return (index.h("div", null, index.h("p", null, translate('loading', this.lang, { values: { currency: this.currency } }))));
400
403
  }
401
- else if (this.errorMessageOnInitialization) {
404
+ if (this.errorMessageOnInitialization) {
402
405
  return (index.h("div", null, index.h("p", null, this.errorMessageOnInitialization)));
403
406
  }
404
- else {
405
- const validationContainer = this.renderValidator();
406
- return (index.h("div", { class: "ModalContainer", ref: el => this.stylingContainer = el }, index.h("div", { class: "Container" }, index.h("div", { class: "ModalHeader" }, index.h("h2", null, translate('LugasSetLimitDialogTitle', this.lang))), index.h("div", { class: "ModalBody" }, validationContainer))));
407
- }
407
+ return (index.h("div", { class: "ModalContainer", ref: el => this.stylingContainer = el }, index.h("div", { class: "Container" }, index.h("div", { class: "ModalHeader" }, index.h("h2", null, translate('LugasSetLimitDialogTitle', this.lang))), index.h("div", { class: "ModalBody" }, this.hasValidation ? validationContainer : kycConfirmation, this.hasValidation &&
408
+ index.h("div", { class: "ModalFooter" }, index.h("hr", null), index.h("div", { class: "Paragraphs" }, index.h("p", { class: "ExistingLimit" }, translate('LugasSetLimitDialogExistingLimit.text', this.lang), index.h("span", { class: this.isUseExistingLimitOptionActive ? 'Link' : 'Link Inactive', onClick: () => this.postPlayerSituation(this.amount, true) }, translate('LugasSetLimitDialogExistingLimit.link', this.lang))), index.h("p", { class: "PrivacyNote" }, translate('LugasSetLimitDialogPrivacyNote.text', this.lang), index.h("span", { class: "Link", onClick: this.goToPrivacyPolicy }, translate('LugasSetLimitDialogPrivacyNote.link', this.lang)))))))));
408
409
  }
409
410
  static get watchers() { return {
410
411
  "translationUrl": ["handleNewTranslations"],
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0a905cca.js');
5
+ const index = require('./index-bf3197ee.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["player-lugas-limit.cjs",[[1,"player-lugas-limit",{"userId":[1,"user-id"],"session":[1],"endpoint":[1],"currency":[1],"amount":[1],"lang":[1],"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"mbSource":[1,"mb-source"],"translationUrl":[1,"translation-url"],"isLoading":[32],"showCustomAmount":[32],"isSubmitted":[32],"isUseExistingLimitOptionActive":[32],"selectedPredefinedAmount":[32],"errorMessageOnInitialization":[32],"errorMessageOnSubmit":[32],"errorMessageOnInput":[32],"hasLugasError":[32],"newAmount":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
22
+ return index.bootstrapLazy([["player-lugas-limit.cjs",[[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"]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;