1import{getTermsAndConditions as getTermsAndConditionsEEAT}from"api";import{__translate as __cbeeat_translate}from"translate";import{buildExternalId,eventID as eventIDEEAT,getWidgetAffLinkClickIndex as getWidgetAffLinkClickIndexEEAT,hexToHsl as hexToHslEEAT,navAff as navAffEEAT,utmParams as utmParamsEEAT}from"globals";import{centrifugeManager as centrifugeManagerEEAT}from"CentrifugeManager";import{reactionsPopup as reactionsPopupEEAT}from"reactionsPopup";import{bonusReactions as bonusReactionsEEAT}from"BonusReactions";import{sendBonusClick}from"../api/bonus/bonusClickCounterApi";import{IssueReportPopup as IssueReportPopupEEAT}from"issueReportPopup";import{appendIntentFitInfoHTML as appendIntentFitInfoHTMLEEAT,appendIntentFitTagsHTML as appendIntentFitTagsHTMLEEAT}from"adminPanel";import{bonusCoins as bonusCoinsEEAT}from"bonusCoinsPopup";import{SponsoredBonusCardRenderer}from"./SponsoredBonusCardRenderer";class CasinoBonusEEAT{LOCALE_COUNTRY=document.querySelector("body").dataset.localeCountry.toLowerCase();promoCode=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="bonus_promo-code"]');bonusCardsBtn=document.querySelectorAll('[data-element="bonus-card"] [data-element="bonus_btn"]');bonusCardsTnc=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="bonus_terms-btn"]');bonusCardsTooltip=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="bonus-card__tooltip"]');bonusCardsScoreToggle=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="bonus-card__score-toggle"]');bonusCardsReviewsToggle=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="bonus-card__review-toggle"]');btnBonusAjax=document.querySelectorAll('[data-element="bonusEEATWidget"] [data-element="table-bonus-ajax"]');showMoreBtn=document.querySelectorAll("button.table-show-more-eeat");btnBonusAjaxClicks=0;tncCountries=["GB"];bonuses={};bonusesWithCoins=["17221","15819","17013","17579","14169","15981","17936","17317","17221","17468","15764","17936","16743","19819","17825","15981","17317","16743","16075","13847","17221","18289","19009","19008","18511","16790","17223","18622","19155","17232"];tooltipOptions=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-tooltip-option]');reactionPopupTrigger=document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="reactions_popup"]');disclaimerTooltipDocumentInited=!1;sponsoredBonusCardRenderer=new SponsoredBonusCardRenderer(this);init(){this.normalizeDbDesignRuntime(),this.noAmplitudeParam=new URLSearchParams(document.location.search).get("no-amplitude"),this.onClickPromoCodeLoop(),this.onClickTncLoop(),this.affiliateRedirect(),this.tncShow(),this.toggleTooltip(),this.toggleScore(),this.toggleScoreComponent(),this.toggleReviews(),this.commentReadMore(),this.initReviewCarousel(),this.onClickBtnBonusAjax(),this.showMore(),this.generateDisclaimerTooltip(),reactionsPopupEEAT.init(),bonusReactionsEEAT.init(),this.initRatingTooltip(),this.sponsoredTooltip(),this.amplitudeTooltips(),this.amplitudeReactionPopup()}generateDisclaimerTooltip(){const e=document.querySelectorAll('[data-element="bonusEEATWidget"] .bonus_disclaimer_wrapper');e.length&&(e.forEach(e=>{if("true"===e.dataset.disclaimerTooltipInited)return;const t=e.querySelector(".bonus_disclaimer_popup");t&&(e.dataset.disclaimerTooltipInited="true",e.addEventListener("click",e=>{const{target:a}=e;if(a.closest(".bonus_disclaimer--title")){e.stopPropagation();const a=t.classList.contains("show");return document.querySelectorAll('[data-element="bonusEEATWidget"] .bonus_disclaimer_popup.show').forEach(e=>{e!==t&&e.classList.remove("show")}),void t.classList.toggle("show",!a)}a.closest(".bonus_disclaimer_popup--close")&&(e.stopPropagation(),t.classList.remove("show"))}))}),this.disclaimerTooltipDocumentInited||(this.disclaimerTooltipDocumentInited=!0,document.addEventListener("click",e=>{e.target.closest('[data-element="bonusEEATWidget"] .bonus_disclaimer_wrapper')||document.querySelectorAll('[data-element="bonusEEATWidget"] .bonus_disclaimer_popup.show').forEach(e
1=>e.classList.remove("show"))})))}onClickPromoCodeLoop(){this.promoCode.forEach(e=>this.onClickPromoCodeItem(e))}bindOnce(e,t){return!(!e||"1"===e.dataset[`bound${t}`])&&(e.dataset[`bound${t}`]="1",!0)}onClickPromoCodeItem(e){if(!this.bindOnce(e,"PromoCode"))return;e.addEventListener("click",t=>{t.stopPropagation();const a=e.closest('[data-element="bonus-card"]').querySelector('[data-element="bonus_promo-value"]'),n=a.innerText||a.dataset?.textBefore,s=e.dataset.textAfter?e.dataset.textAfter:this.translate("Copied!");this.copyText(n).then(async()=>{var t;e.classList.add("coping"),a.innerHTML=s,await(t=1500,new Promise(e=>setTimeout(e,t))),e.classList.remove("coping"),a.innerHTML=n})})}copyText(e){return navigator.clipboard.writeText(e)}onClickTncLoop(){this.bonusCardsTnc.forEach(e=>this.onClickTncItem(e))}onClickTncItem(e,t){this.bindOnce(e,"Tnc")&&e.addEventListener("click",async a=>{a.stopPropagation(),setTimeout(async()=>{let a=e.querySelector("span"),n=e.closest("[data-element=bonus-card]"),s=n.dataset.bonus,o=n.querySelector("[data-element=bonus_terms-block]"),i=e.closest("[data-element=bonus-card] .promoCard"),r=i||e.closest("[data-alt-bonus-popup]");if(e.classList.contains("shown"))o.classList.remove("shown"),e.classList.remove("shown"),n.classList.remove("showTerms"),i&&i.classList.remove("tnc-shown"),r&&(a.innerHTML=`${this.translate("Show T&C")}`);else{if(o.classList.add("shown"),e.classList.add("shown"),n.classList.add("showTerms"),i&&i.classList.add("tnc-shown"),!o.innerHTML.trim()){o.innerHTML=this.renderTermsSkeleton();let e=await getTermsAndConditionsEEAT(s);o.innerHTML=e||this.translate("18+. New players only. General withdrawal restrictions & full T&Cs apply.")}n.classList.remove("showTerms"),r&&(a.innerHTML=`${this.translate("Hide T&C")}`),setTimeout(()=>{t&&this.amplitudeTCShowBlock(n)},0),this.tncShowMore(o.innerText,o)}},100)})}renderTermsSkeleton(){return'<div class="skeleton__wrapper">\n <div class="skeleton skeleton__line"></div>\n <div class="skeleton skeleton__line"></div>\n </div>'}getFullCasinoTermsUrl(e){const t=e?.termsUrl??e?.terms_url??"";if("string"!=typeof t)return"";const a=t.trim();return!a||["-","â","â","n/a"].includes(a.toLowerCase())?"":a}translate(e,t=!1){return __cbeeat_translate(e,this.LOCALE_COUNTRY,t)??e}affiliateRedirect(){this.bonusCardsBtn.forEach((e,t)=>this.affiliateItemRedirect(e,t))}affiliateItemRedirect(e,t){this.bindOnce(e,"Affiliate")&&e.addEventListener("click",a=>{const n=e.closest('[data-element="bonus-card"]');if(!n)return;if(n.closest("[data-alt-bonus-popup]")){if(sendBonusClick(n.dataset.bonus),"A"===e.tagName&&e.href)return;return a.preventDefault(),a.stopPropagation(),void this.affiliateRedirectItem(n,t)}const s=this.classifyBonusCard(n);if(s){if(this.openAltBonusPopup(s))return a.preventDefault(),void a.stopPropagation();if("A"!==e.tagName||!e.href)return a.preventDefault(),void a.stopPropagation()}this.amplitudeClickAffLink(e),centrifugeManagerEEAT.publishCustomEvent("bonusClicked",{bonusId:n.dataset.bonus,isSponsored:n.dataset.promo}),sendBonusClick(n.dataset.bonus),"A"===e.tagName&&e.href||(a.preventDefault(),a.stopPropagation(),this.affiliateRedirectItem(n,t))})}classifyBonusCard(e){const t=e.dataset;if(e.closest("[data-alt-bonus-popup]"))return null;if("true"===(t.casinoClosed||"").toLowerCase())return"disabled-casino";const a=(document.body.dataset.geo||document.body.dataset.geoFact||"").trim().toLowerCase(),n=(t.restricted||"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean);if("false"===t.accepted||a&&n.includes(a))return"geo-restricted";const s=e.closest('[data-element="bonus_table-eeat"]');if(s&&"true"===s.dataset.widgetActiveAllNotActiveBonuses)return null;const o=(t.affiliate||"").trim().toLowerCase(),i=!o||"null"===o||"undefined"===o;return"true"===(t.expired||"").toLowerCase()||i?"inactive":null}openAltBonusPopup(e){const t=document.querySelector("[data-alt-bonus-popup]");if(!t)return!1;const a=t.dataset[{"disabled-casino":"titleDisabledCasino","geo-restricted":"titleGeoRestricted",inactive:"titleInactive"}[e]]||"";if(!a)return!1;const n=t.querySelector('[data-element="alt-bonus-popup-title"]');return n&&(n.textContent=a),t.setAttribute("aria-label",a),t.dataset.element=`${e}-bonus-popup`,this.initAltBonusPopupHandlers(t),t.classList.add("is-visible"),t.setAttribute("aria-hidden","false"),document.body.classList.add("altBonusPopup--locked"),!0}closeAltBonusPopup(e){e.classList.remove("is-visible"),e.setAttribute("aria-hidden","true"),document.body.classList.remove("altBonusPopup--locked")}initAltBonusPopupHandlers(e){if("true"===e.dataset.altInited)return;e.dataset.altInited="true",e.querySelectorAll("[data-alt-bonus-popup-close]").forEach(t=>t.addEventListener("click",()=>this.closeAltBonusPopup(e))),e.addEventListener("click",t=>{(t.target===e||t.target.classList.contains("altBonusPopup__backdrop"))&&this.closeAltBonusPopup(e)}),document.addEventListener("keydown",t=>{"Escape"===t.key&&e.classList.contains("is-visible")&&this.closeAltBonusPopup(e)});const t=e.querySelector('[data-element="bonus_terms-btn"]');t&&this.onClickTncItem(t,!1),this.initAltPromoCopy(e)}initAltPromoCopy(e){const t=e.querySelector('[data-element="bonus_promo-code"]');t&&t.addEventListener("click",e=>{e.stopPropagation();const a=t.querySelector('[data-element="bonus_promo-value"]'),n=a?(a.innerText||"").trim():"";n&&this.copyText(n).then(()=>{t.classList.add("coping"),setTimeout(()=>t.classList.remove("coping"),1500)})})}affiliateRedirectItem(e,t){let a=e.dataset.domain+`?bonus=${e.dataset.bonus}&offer_type=${e.offerType}`,n={event:"TrackOffersClickMainBonusesTableAffiliateLink",eventCategory:"TrackOffers",eventAction:"ClickMainBonusesTableAffiliateLink",eventLabel:e.dataset.domain,eventValue:t+1},s=e.dataset.affiliate;const o=e.querySelector('[data-element="bonus_btn"]');sendBonusClick(e.dataset.bonus),navAffEEAT(a,!0,n,"",s,o)}
1tncShow(){this.bonusCardsTnc.forEach(e=>this.tncShowItem(e))}async tncShowItem(e){let t=document.body.dataset.geo;if(this.tncCountries.includes(t)){let t=e.querySelector("span"),a=e.closest('[data-element="bonus-card"]'),n=a.dataset.bonus,s=a.querySelector('[data-element="bonus_terms-block"]');if(!s.innerHTML.trim()){let e=await getTermsAndConditionsEEAT(n);s.innerHTML=e||this.translate("18+. New players only. General withdrawal restrictions & full T&Cs apply.")}t&&(t.dataset.textBefore?t.dataset.textBefore=`${this.translate("Hide T&C")}`:t.innerHTML=`${this.translate("Hide T&C")}`),s.classList.add("shown"),e.classList.add("shown"),this.tncShowMore(s.innerText,s)}}tncShowMore(e,t){if(t.querySelector('[data-element="bonus_terms-summary"]'))return;const a=t.querySelector("a");let n="",s="",o="",i=e;if(a&&(n=a.getAttribute("href")||"",s=a.getAttribute("target")||"",o=a.getAttribute("rel")||"",i=a.textContent.trim()),i.length>160){const e=i.slice(0,160),a=i.slice(160);t.innerHTML=e+`<span class="hidden-text">${a}</span><span class="show-more-link"><i>...</i> ${this.translate("Show more")}</span>`;const r=t.querySelector(".show-more-link"),c=t.querySelector(".hidden-text");return c.style.display="none",r.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),"none"===c.style.display?n?t.innerHTML=`<a href="${n}"${s?` target="${s}"`:""}${o?` rel="${o}"`:""}>${i}</a>`:(c.style.display="inline",r.textContent=""):(c.style.display="none",r.textContent=`... ${this.translate("Show more")}`)}),t}return t.innerHTML}toggleTooltip(){this.bonusCardsTooltip.forEach(e=>this.toggleTooltipItem(e))}toggleTooltipItem(e){const t=e.querySelector('[data-element="bonus-card__tooltip-block"]');if(!t)return;if(!this.bindOnce(e,"Tooltip"))return;const a=e.classList.contains("bonus-card__featured-partner"),n=a?e.querySelector(".bonus-card__featured-partner-label"):null,s=()=>window.matchMedia("(hover: none), (pointer: coarse)").matches,o=e=>{n&&n.setAttribute("aria-expanded",e?"true":"false")},i=()=>{e.classList.remove("active"),t.classList.remove("active"),o(!1),(()=>{if(!a||!s())return;t.style.display="none";const n=document.activeElement;n&&e.contains(n)&&"function"==typeof n.blur&&n.blur()})(),e._outsideClickHandler&&(document.removeEventListener("click",e._outsideClickHandler),e._outsideClickHandler=null)},r=()=>{a&&t.style.removeProperty("display"),e.classList.add("active"),t.classList.add("active"),o(!0),e._outsideClickHandler=t=>{e.contains(t.target)||i()},setTimeout(()=>{document.addEventListener("click",e._outsideClickHandler)},0)};(n||e).addEventListener("click",a=>{if(!s())return;if(t.contains(a.target))return;a.preventDefault(),a.stopPropagation();e.classList.contains("active")?i():(this.bonusCardsTooltip.forEach(t=>{if(t!==e){const e=t.querySelector('[data-element="bonus-card__tooltip-block"]'),a=t.classList.contains("bonus-card__featured-partner")?t.querySelector(".bonus-card__featured-partner-label"):null;t.classList.remove("active"),e&&(e.classList.remove("active"),t.classList.contains("bonus-card__featured-partner")&&s()&&(e.style.display="none")),a&&a.setAttribute("aria-expanded","false"),t._outsideClickHandler&&(document.removeEventListener("click",t._outsideClickHandler),t._outsideClickHandler=null)}}),r())})}toggleScore(){this.bonusCardsScoreToggle.forEach(e=>this.toggleScoreItem(e))}toggleScoreItem(e){const t=e.closest('[data-element="bonus-card__score"]');t&&this.bindOnce(e,"Score")&&e.addEventListener("click",()=>t.classList.toggle("hide"))}toggleScoreComponent(){this.bonusCardsScoreToggle.forEach(e=>this.toggleScoreComponentItem(e))}toggleScoreComponentItem(e,t=null,a=null){this.bindOnce(e,"ScoreComponent")&&e.addEventListener("click",()=>{const t=e.closest('[data-element="bonus-card__score"]');setTimeout(()=>{this.syncScorePerformanceClone(t)},0)})}toggleReviews(){this.bonusCardsReviewsToggle.forEach(e=>this.toggleReviewsItem(e))}toggleReviewsItem(e){const t=e.closest('[data-element="bonus-card__review"]');t&&this.bindOnce(e,"Reviews")&&e.addEventListener("click",()=>{t.classList.toggle("hide"),t.classList.contains("hide")||t.querySelector('[data-element="reviewCarou
1sel"]')?._refreshCarousel?.();const e=t.querySelector('[data-element="bonusCardFeedbackText"]');if(e){!e.querySelector(".truncate-text")&&this.commentShowMore(t)}})}syncScorePerformanceClone(e){if(!e)return;const t=e.closest('[data-element="bonus-card"]'),a=e.querySelector('[data-element="bonus-card__score-header"]'),n=e.querySelector('[data-element="bonus-card__performance"]')||t?.querySelector('[data-element="bonus-card__performance"]');if(!a||!n)return;const s=a.querySelector(".cloned");if(s&&s.remove(),!e.classList.contains("hide"))return;const o=n.cloneNode(!0);o.classList.add("cloned"),a.append(o)}commentReadMore(){document.querySelectorAll('[data-element="bonus-card"] [data-element="comment__toggle"]').forEach(e=>{this.commentReadMoreToggle(e)})}commentReadMoreItem(e){this.bindOnce(e,"Comment")&&this.commentReadMoreToggle(e)}commentReadMoreToggle(e){e.addEventListener("click",t=>{t.stopPropagation();const a=e.closest(".truncate-text"),n=a.querySelector(".short"),s=a.querySelector(".full");n.hidden=!0,s.hidden=!1,e.remove()})}initReviewCarousel(){document.querySelectorAll('[data-element="reviewCarousel"]').forEach(e=>{this.initReviewCarouselItem(e)})}initReviewCarouselItem(e){const t=e.querySelector('[data-element="reviewCarousel-track"]');if(!t)return;const a=Array.from(t.children);if(!a.length)return;const n=Array.from(e.querySelectorAll(".bonus-card__feedback-carousel-dot")),s=e.querySelector('[data-element="reviewCarousel-prev"]'),o=e.querySelector('[data-element="reviewCarousel-next"]');let i=0,r=!1;const c=e=>{i=e;const t=Math.min(e,n.length-1);n.forEach((e,a)=>e.classList.toggle("active",a===t))},l=()=>{s&&s.classList.toggle("is-disabled",t.scrollLeft<=1),o&&o.classList.toggle("is-disabled",t.scrollLeft+t.clientWidth>=t.scrollWidth-1)},d=e=>{r=!0,t.scrollTo({left:a[e].offsetLeft,behavior:"smooth"}),c(e),setTimeout(()=>{r=!1,l()},300)};t.addEventListener("scroll",()=>{if(l(),r)return;const e=(()=>{let e=0,n=1/0;return a.forEach((a,s)=>{const o=Math.abs(a.offsetLeft-t.scrollLeft);o<n&&(n=o,e=s)}),e})();e!==i&&c(e)}),n.forEach((e,t)=>e.addEventListener("click",()=>d(t))),o&&o.addEventListener("click",()=>{i<a.length-1&&d(i+1)}),s&&s.addEventListener("click",()=>{i>0&&d(i-1)}),e._refreshCarousel=()=>{e.querySelectorAll('[data-element="reviewCarousel-text"]').forEach(e=>{const t=e.parentElement.querySelector('[data-element="reviewCarousel-more"]');t&&t.hidden&&e.scrollHeight-e.clientHeight>1&&(t.hidden=!1,t.addEventListener("click",a=>{a.stopPropagation();const n=e.classList.toggle("expanded");t.classList.toggle("is-expanded",n),t.textContent=n?"Read less":"Read more"}))}),l()},c(0),l()}sponsoredTooltip(){const e=()=>window.innerWidth<=768;document.querySelectorAll('[data-element="promoTooltip"]').forEach(t=>{if("true"===t.dataset.tooltipInited)return;t.dataset.tooltipInited="true";const a=t.querySelector(".promoCard__tooltip--title"),n=t.querySelector(".promoCard__tooltip--text");a&&n&&(a.addEventListener("click",a=>{if(!e())return;a.preventDefault(),a.stopPropagation();const n=t.classList.contains("active");document.querySelectorAll('[data-element="promoTooltip"].active').forEach(e=>{e!==t&&e.classList.remove("active")}),t.classList.toggle("active",!n)}),n.addEventListener("click",e=>{e.stopPropagation()}))}),document.body.dataset.promoTooltipGlobalInited||(document.body.dataset.promoTooltipGlobalInited="true",document.addEventListener("click",()=>{e()&&document.querySelectorAll('[data-element="promoTooltip"].active').forEach(e=>e.classList.remove("active"))}))}normalizeDbDesignRuntime(){document.querySelectorAll('[data-db-design-host="true"][data-widget-id]').forEach(e=>{const t=e.dataset.widgetId,a=e.querySelector('[data-element="bonus_table-eeat"]');a&&(a.dataset.widgetId=a.dataset.widgetId||t,a.dataset.widgetTitle=a.dataset.widgetTitle||e.dataset.widgetTitle||"",a.dataset.widgetHandler=a.dataset.widgetHandler||e.dataset.widgetHandler||"",a.dataset.widgetSection=a.dataset.widgetSection||e.dataset.widgetSection||"",a.dataset.widgetPosition=a.dataset.widgetPosition||e.dataset.widgetPosition||"",a.dataset.widgetArguments=a.dataset.widgetArguments||e.dataset.widgetArguments||"{}"),e.querySelectorAll('[data-element="table-bonus-ajax"]').forEach(e
1=>{e.dataset.widgetId=e.dataset.widgetId||t})})}isDbDesignWidget(e){return Boolean(document.querySelector(`[data-db-design-host="true"][data-widget-id="${e}"]`))}getDbDesignPreviewId(e){const t=document.querySelector(`[data-db-design-host="true"][data-widget-id="${e}"]`),a=t?.dataset?.bonusDesignPreview||"";return String(a)===String(e)?a:""}getDbDesignPreviewToken(e){const t=document.querySelector(`[data-db-design-host="true"][data-widget-id="${e}"]`);return t?.dataset?.bonusDesignPreviewToken||""}findBonusTable(e){return document.querySelector(`[data-element="bonus_table-eeat"][data-widget-id="${e}"]`)||document.querySelector(`[data-db-design-host="true"][data-widget-id="${e}"] [data-element="bonus_table-eeat"]`)}normalizeBonusResponse(e){if(Array.isArray(e))return e;const t=Array.isArray(e?.items)?e.items:[],a=Array.isArray(e?.design_html)?e.design_html:[];return a.length?t.map((e,t)=>({...e,__designHtml:a[t]||null})):t}createDesignCard(e){if(!e||"string"!=typeof e)return null;const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstElementChild}hydrateDynamicCard(e,t=0){if(!e||"true"===e.dataset.dbDesignHydrated)return;e.dataset.dbDesignHydrated="true",e.querySelectorAll('[data-element="bonus_promo-code"]').forEach(e=>{this.onClickPromoCodeItem(e)}),e.querySelectorAll('[data-element="bonus_terms-btn"]').forEach(e=>{this.onClickTncItem(e,!0),this.tncShowItem(e)}),e.querySelectorAll('[data-element="bonus-card__tooltip"]').forEach(e=>{this.toggleTooltipItem(e)}),e.querySelectorAll('[data-element="bonus-card__score-toggle"]').forEach(e=>{this.toggleScoreItem(e),this.toggleScoreComponentItem(e)}),e.querySelectorAll('[data-element="bonus-card__review-toggle"]').forEach(e=>{this.toggleReviewsItem(e)}),e.querySelectorAll('[data-element="comment__toggle"]').forEach(e=>{this.commentReadMoreItem(e)}),e.querySelectorAll('[data-element="reviewCarousel"]').forEach(e=>{this.initReviewCarouselItem(e)});const a=e.querySelector('[data-element="bonus_btn"]');a&&this.affiliateItemRedirect(a,t)}onClickBtnBonusAjax(){this.btnBonusAjax.forEach(e=>e.addEventListener("click",()=>this.handleBonusBtnClick(e)))}async handleBonusBtnClick(e){const t=[];let a=e.getBoundingClientRect().bottom+window.scrollY-window.innerHeight/2+e.offsetHeight/2;storage.getScrollPosition()||storage.setScrollPosition(a),e.classList.add("loading");const n=e.dataset.widgetId,s=this.findBonusTable(n);if(!s)return void e.classList.remove("loading");const o=this.getCurrentExcludeBonuses(s),i=s.dataset.excludes;let r=this.bonuses[n];if(r&&r.length&&1!==+e.dataset.page||(r=await this.fetchBonuses(n,e.dataset.page,this.getSlugFromPath(),document.body.dataset.pageId,o,i,e.dataset.sort||""),this.bonuses[n]=r),r=this.bonuses[n],r.length&&(r.forEach((e,a)=>{const n=this.renderBonusTr(s,e,a),o=this.getVisibleAppendTarget(s);if(!n)return;o.append(n),this.hydrateDynamicCard(n,a);const i=n.querySelector("[data-issue-type]");i&&t.push(i)}),t.length)){(new IssueReportPopupEEAT).init(t)}e.dataset.page=+e.dataset.page+1,e.dataset.excludeBonuses=this.getCurrentExcludeBonuses(s),e.classList.remove("loading"),e.dataset.authCondition||this.preloadBonuses(e,s);const c={route:s.dataset.route,widgetId:s.dataset.widgetId,widgetTitle:s.dataset.widgetTitle,widgetHandler:s.dataset.widgetHandler,widgetSection:s.dataset.widgetSection,widgetPosition:s.dataset.widgetPosition};setTimeout(()=>{this.noAmplitudeParam||this.btnBonusAjaxAmplitude(c)},0)}getCurrentExcludeBonuses(e){const t=[...e.querySelectorAll('[data-element="bonus-card"][data-bonus]'),...document.querySelectorAll('[data-element="bonusWelcomeTypeWidgetCardDark"][data-bonus]')].map(e=>Number(e.dataset.bonus)).filter(Number.isFinite);return`[${[...new Set(t)].join(",")}]`}getVisibleAppendTarget(e){const t=[...e.querySelectorAll('[data-element="defaultTbody"], [data-element="sortedTbody"], [data-element="bonus-design-items"], .bonus-section-wrapper')].find(e=>!e.classList.contains("hide"));return t||(e.querySelector('[data-element="defaultTbody"]')||e)}renderBonusTr(e,t,a){if(t?.__designHtml)return this.createDesignCard(t.__designHtml);const n="sponsored"===String(t?.offerType||"").toLowerCase(),s=n&&"bonusEEATpartner"===e.dataset.promoTemplate;return n&&!s?this.sponsoredBonusCardRenderer.render(t,e,a):this.buildStandardCard(e,t,a,s)}buildStandardCard(e,t,a,n){const s=document.createElement("article");s.className="bonus-card",s.dataset.element="bonus-card";const o=e.querySelectorAll('[data-element="bonus-card"]:not(.hide)').length+1,i=this.isBonusExpired(t);this.isRestricted(e)&&s.classList.add("bonus-card-restricted"),t.affiliateUrl&&!i||s.classList.add("bonus-card-inactive"),this.getAmplitudeParams(t,s,e,o,i),n&&(s.classList.add("bonus-card-featured-partner"),s.dataset.promo="1"),this.getBonusCoin(t,s),n&&s.append(this.getFeaturedPartnerLabel(t,a,e));const r=this.getLabel(t);r&&s.append(r),s.append(this.getHeader(t,e)),s.append(this.getBody(t)),s.append(this.getFooter(t,e,a)),s.append(this.getTnc(t,e)),s.append(this.getScore(t,e));const c=this.getReviews(t,e);return c&&s.append(c),this.getAdminLinks(t,s),s}getFeaturedPartnerLabel(e,t,a){const n=a.querySelector('[data-element="featured-partner-disclosure"]').content.firstElementChild.cloneNode(!0),s=`featured-partner-disclosure-${e.id}-${t}`;return n.querySelector(".bonus-card__featured-partner-tooltip").id=s,n.querySelector(".bonus-card__featured-partner-label").setAttribute("aria-describedby",s),this.toggleTooltipItem(n),n}getAdminLinks(e,t){storage.getIntentFitLog()&&(appendIntentFitInfoHTMLEEAT(!0),appendIntentFitTagsHTMLEEAT(!0));if(!!storage.getWidgetQuickLinks()&&storage.getWidgetQuickLinks()){const a=document.createElement("a");a.className="widgetSelection_bonus-label",a.target="_blank",a.href=`${window.location.origin}/admin/app/casino/newbonus/${e.id}/edit`,a.textContent=e.id,a.addEventListener("click",e=>e.stopPropagation()),t.append(a)}}initRestrictedScorePerformanceClone(){document.querySelectorAll('[data-element="bonus_table-eeat"] [data-element="bonus-card"]').forEach(e
1=>{const t=e.closest('[data-element="bonus_table-eeat"]'),a=e.querySelector('[data-element="bonus-card__score"]');if(!t||!a)return;const n={bonusCountries:e.dataset.bonusCountries?e.dataset.bonusCountries.split(","):[]};(this.isRestricted(t)||this.isBonusRestricted(n))&&this.syncScorePerformanceClone(a)})}initRatingTooltip(){const e="data-open",t=".card-tooltip-popup",a=".card-tooltip",n=".card-td-rating",s=n=>{const s=n.querySelector(t),o=n.querySelector(a);s&&o&&(s.setAttribute(e,"0"),s.setAttribute("aria-hidden","true"),o.setAttribute("aria-expanded","false"),o.classList.remove("is-active"))},o=o=>{const i=o.querySelector(t),r=o.querySelector(a);i&&r&&(document.querySelectorAll(n).forEach(e=>{e!==o&&s(e)}),i.setAttribute(e,"1"),i.setAttribute("aria-hidden","false"),r.setAttribute("aria-expanded","true"),r.classList.add("is-active"),this.positionRatingTooltip&&this.positionRatingTooltip(o,i))},i=a=>{const n=a.querySelector(t);if(!n)return;"1"===n.getAttribute(e)?s(a):o(a)};if(document.querySelectorAll(n).forEach(e=>{if("true"===e.dataset.tooltipInited)return;e.dataset.tooltipInited="true";const n=e.querySelector(a),r=e.querySelector(t),c=e.querySelector(".card-casino-rating");if(!n||!r)return;let l=null;const d=()=>{clearTimeout(l),l=setTimeout(()=>s(e),120)},u=()=>{clearTimeout(l)};e.addEventListener("click",e=>{e.stopPropagation()}),n.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),i(e)}),c&&c.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),i(e)}),r.addEventListener("click",t=>{t.target.closest("a")||(t.stopPropagation(),s(e))}),window.innerWidth<=768||(e.addEventListener("mouseenter",()=>{u(),o(e)}),e.addEventListener("mouseleave",()=>{d()}),r.addEventListener("mouseenter",u),r.addEventListener("mouseleave",d))}),!document.body.dataset.ratingTooltipGlobalInited){document.body.dataset.ratingTooltipGlobalInited="true",document.addEventListener("click",()=>{document.querySelectorAll(n).forEach(e=>s(e))});const a=()=>{const a=document.querySelector(`${t}[${e}="1"]`);if(!a)return;const s=a.closest(n);s&&this.positionRatingTooltip&&this.positionRatingTooltip(s,a)};window.addEventListener("resize",a,{passive:!0}),window.addEventListener("scroll",a,{passive:!0})}}async preloadBonuses(e=null,t=null){const a=e?[e]:this.btnBonusAjax;for(const e of a){const a=e.dataset.widgetId,n=e.dataset.page,s=document.body.dataset.pageId,o=t||document.querySelector(`[data-element="bonus_table-eeat"][data-widget-id="${a}"]`);if(!o)continue;const i=this.getCurrentExcludeBonuses(o),r=o.dataset.excludes,c=this.getSlugFromPath();this.bonuses[a]=await this.fetchBonuses(a,n,c,s,i,r,e.dataset.sort||""),this.bonuses[a]?.length||(e.remove(),o&&this.noDepositExpiredBonuses&&o.insertAdjacentHTML("beforeend",this.noDepositExpiredBonuses))}}getSlugFromPath(){const e=document.location.pathname.split("/");return e[e.length-1]}async fetchBonuses(e,t,a,n,s,o,i=""){const r=document.body.dataset.geo.toLowerCase();let c=`/api/bonuses?widget=${e}&page=${t}&slug=${a}&page_id=${n}&exclude_widgets=${o}&exclude=${s}`;if(i&&(c=`${c}&sort=${encodeURIComponent(i)}`),this.isDbDesignWidget(e)){c=`${c}&render_design=1`;const t=this.getDbDesignPreviewId(e),a=this.getDbDesignPreviewToken(e);t&&a&&(c=`${c}&bonus_design_preview=${encodeURIComponent(t)}`,c=`${c}&bonus_design_preview_token=${encodeURIComponent(a)}`)}r&&["mx","cl","pe"].includes(r)&&(c=`${c}&locale=${r}`);try{const e=await fetch(c,{credentials:"include"}),t=await e.json(),a=this.normalizeBonusResponse(t);return a.length?a:[]}catch(e){return[]}}isBonusExpired(e){let t=!1;if(e?.expiredDate){const a=new Date,n=new Date(e.expiredDate);n&&a>n&&(t=!0)}return t}getDaysUntilExpiration(e){if(!e?.expiredDate)return null;const t=new Date,a=new Date(e.expiredDate);if(a<=t)return 0;const n=a-t;return Math.floor(n/864e5)+1}getAmplitudeParams(e,t,a,n,s){const o=new URLSearchParams(window.location.search).get("no-amplitude"),i=this.getDaysUntilExpiration(e);if(t.dataset.bonus=e.id,t.dataset.affiliate=e.affiliateUrl||"",t.dataset.casinoClosed=e.casinoClosed?"true":"false",t.dataset.restricted=(e.restrictedCountries||[]).filter(
1Boolean).join(","),t.dataset.url=`${e.casino.domain}?bonus=${e.id}&offer_type=${e.offerType}`,t.dataset.name=e.casino.name,t.dataset.domain=e.casino.domain,t.dataset.generated=JSON.stringify(!0),t.dataset.expired=s,t.dataset.casino_bonus_active_days_left=i,t.dataset.path=a.dataset.widgetPath,!o){t.dataset.bonusCountries=(e.bonusCountries||[]).filter(Boolean).join(","),t.dataset.widget_list_index=n,t.dataset.casino=e.casino.name,t.dataset.casino_bonus_button_name=a.querySelector(`[data-element="bonus_table-eeat"][data-widget_list_index="${+t.dataset.widget_list_index-1}"]`)?.dataset.casino_bonus_button_name,t.dataset.casinoLogoBackground=`#${e.casino.background}`,t.dataset.casinoLogo=e.casino.logo?e.casino.logo:`/build/${document.body.dataset.templateName}/img/logo__default.svg`,t.dataset.score=e.score,t.dataset.wagering_requirements=e.wageringRequirements,t.dataset.deposit_min=e.depositMinValue,t.dataset.bonus_categories=JSON.stringify(Array.isArray(e.bonusCategories)?e.bonusCategories.map(e=>e.name):""),t.dataset.bonus_types=JSON.stringify(Array.isArray(e.bonusTypes)?e.bonusTypes.map(e=>e.name):""),t.dataset.free_spins=e.freeSpins,t.dataset.amount_max=e.amountMax,t.dataset.percent=e.percent,t.dataset.accepted=!(Array.isArray(e.restrictedCountries)&&e.restrictedCountries.indexOf(document.body.dataset.geo)>-1),t.dataset.currency=JSON.stringify(e.currency),t.dataset.casino_bonus_active="true"==a.dataset.widgetActiveAllNotActiveBonuses||e.affiliateUrl&&!s,t.dataset.bonus_slots=JSON.stringify((e.slots||[]).map(e=>e.name)),t.dataset.casino_bonus_category_display=Array.isArray(e.bonusCategories)&&e.bonusCategories.length&&e.bonusCategories[0].name,t.dataset.casino_geo_rating=e.score,t.dataset.brand_score=e.brandScore,t.dataset.newness=e.newness?.toFixed?.(4),t.dataset.tags=e.matchedTags,t.dataset.intentFit=e.intentFit?e.intentFit:0,t.dataset.bonusScore=e.bonusScore?e.bonusScore:0,t.dataset.bonusGenerosity=e.bonusGenerosity?e.bonusGenerosity:0,t.dataset.brandScore=e.brandScore?e.brandScore:0,t.dataset.summator=e.summator?e.summator:0;let o=0;if(e.created){const t=(new Date).getTime(),a="object"==typeof e.created?new Date(e.created.date).getTime():null;if(a){const e=Math.abs(new Date(t)-new Date(a));o=Math.floor(e/864e5)}}t.dataset.casino_bonus_days_after_create=o,t.dataset.casino_bonus_exclusive=JSON.stringify(!!e.exclusive&&e.exclusive),t.dataset.casino_bonus_code=e.code,t.dataset.casino_bonus_cashable=JSON.stringify(!!e.cashable&&e.cashable)}}getBonusCoin(e,t){if(this.bonusesWithCoins.includes(`${e.id}`)){const e=document.createElement("div");e.className="card-td-coin",e.dataset.element="card-td-coin",e.innerHTML=`<div class="bonusCoin">\n <img src="/build/midori/assets/icons/icons_264.svg#coin" class="bonusCoin__img" alt="coin" loading="lazy" width="20" height="20">\n <span class="bonusCoin__price" data-text-before="+250"></span>\n </div>\n <div class="bonusCoin__tooltip" data-element="bonusCoin__tooltip" data-text-before="${this.translate("Earn 250 coins for")}" data-text-after=" ${this.translate("joining this casino")}"></div>`,t.append(e),bonusCoinsEEAT.handleCoinHoverClick(e),bonusCoinsEEAT.handleDOM()}}getCardLogoStyle(e){if("FFFFFF"===e)return"border: 1px solid #DBD8D8;";return` background: linear-gradient(220deg, ${hexToHslEEAT(e)}, ${hexToHslEEAT(e,50)});`}parseDateValue(e){if(!e)return null;const t="object"==typeof e&&e.date?e.date:e,a=new Date(t);return Number.isNaN(a.getTime())?null:a}getLabelData(e){let t="",a="";if(e?.expiredDate){const n=new Date,s=this.parseDateValue(e.expiredDate);if(s&&s>n){const e=s-n;let o=Math.floor(e/36e5);e%36e5>0&&(o+=1),o<=48&&(t=this.translate("expires in %hours%h").replace("%hours%",o),a="label-expires")}s&&n>s&&(t=this.translate("Expired"),a="label-expired")}if(!t){const n=e?.casino?.created;if(n){const e=new Date-new Date(n);Math.floor(e/864e5)<30&&(t=this.translate("new brand"),a="label-new-brand")}}if(!t&&e?.created){const n=new Date-new Date(e.created);let s=Math.floor(n/36e5);n%36e5>0&&(s+=1),s<48&&(t=this.translate("new bonus"),a="label-new-bonus")}if(!t){const n=e?.casino?.created;if(n){const e=new Date,s=this.parseDateValue(n);if(s&&s<=e){const n=e-s;Math.floor(n/864e5)<30&&(t="new brand",a="label-new-brand")}
1}}return{labelText:t,labelClass:a}}getLabel(e){const{labelText:t,labelClass:a}=this.getLabelData(e);if(t){const e=document.createElement("div");return e.className=`bonus-card__label ${a}`,e.innerHTML=t,e}}getHeader(e,t){const a=document.createElement("div");return a.className="bonus-card__header",a.append(this.getHeaderLogo(e),this.getHeaderInfo(e,t)),a}getHeaderLogo(e){const t=document.createElement("div");t.className="bonus-card__logo";const a=e.casino.logo?e.casino.logo:`/build/${document.body.dataset.templateName}/img/logo__default.svg`;t.style=this.getCardLogoStyle(e.casino.background);const n=e.casino.logo||"",s=`${n.replace(".webp",".r80.webp")} 320w, ${n.replace(".webp",".r124.webp")} 768w`;return t.innerHTML=`<img srcset="${s}"\n src="${a}"\n alt="${e.casino.name} ${this.translate("gives")}"\n title="${e.casino.name}"\n class="card-logo-image"\n width="124" height="124"\n loading="lazy">`,t}getHeaderInfo(e,t){const a=document.createElement("div");return a.className="bonus-card__info",a.append(this.getHeaderTitle(e,t),this.getHeaderMeta(e,t)),a}getHeaderTitle(e,t){const a=document.createElement(t.dataset.widgetH3BonusTitle?"h3":"p");return a.className="bonus-card__title",a.dataset.element="bonus_title",a.innerHTML=this.translate(e.titleShort,!0),a}getHeaderMeta(e,t){const a=document.createElement("div");return a.className="bonus-card__meta",a.append(this.getHeaderRegion(e,t,"desktop"),this.getHeaderBrand(e)),a}getHeaderRegion(e,t,a){const n=document.createElement("div");return n.className=`bonus-card__region bonus-card__region-${a}`,this.isRestricted(t)&&n.classList.add("bonus-card__region-restricted"),n.append(this.getHeaderFlag(e,t),this.getHeaderAvaliable(e,t)),n}getHeaderFlag(e,t){const a=document.createElement("div");return a.className="bonus-card__region-flag",this.isCountryDeclined(t)?a.innerHTML='<div class="bonus-card__flag" style="background-image: url(\'/build/midori/assets/icons/icons_264.svg#earth_vector\'); background-size: cover"></div>':a.innerHTML=`<div class="bonus-card__flag fflag ff-round fflag-${document.body.dataset.geo.toUpperCase()}"></div>`,this.isRestricted(t)||this.isBonusRestricted(e)?a.innerHTML+='<img src="/build/midori/assets/icons/tableEEAT.svg#not-accept" class="bonus-card__accept" alt="" aria-hidden="true">':a.innerHTML+='<img src="/build/midori/assets/icons/tableEEAT.svg#accept" class="bonus-card__accept" alt="" aria-hidden="true">',a}isCountryDeclined(e){return(e.dataset.widgetCountryFlagsDeclined||"").split(",").map(e=>e.trim()).filter(Boolean).includes(document.body.dataset.geo)}isRestricted(e){return Boolean(e.dataset.casinoRestricted)}isBonusRestricted(e){return!e.bonusCountries.includes(document.body.dataset.geo)}getClientLocationName(){const e=(document.body.dataset.geo||"").trim().toUpperCase();if(!e||"US"===e)return"Worldwide";const t=document.querySelector(`#geoSwitcherFilterPopupBox .country[data-geo="${e}"] .country_name`)?.textContent?.trim();return t||document.body.dataset.clientLocationName||e}getHeaderAvaliable(e,t){const a=document.createElement("span");return a.className="bonus-card__region-text",this.isRestricted(t)||this.isBonusRestricted(e)?(a.classList.add("bonus-card__region-restricted"),a.innerHTML=""+(this.isCountryDeclined(t)?`${this.translate("Unavailable in your region")}`:`${this.translate("Unavailable in")} <span class="bonus-card__country">${this.getClientLocationName()}</span>`)):a.innerHTML=""+(this.isCountryDeclined(t)?`${this.translate("Available in your region")}`:`${this.translate("Available in your region")} <span class="bonus-card__country">${this.getClientLocationName()}</span>`),a}getCasinoConfidenceLabelName(e){switch(e.casinoConfidenceLabelKey){case"VERIFIED":return"verified";case"LIMITED_DATA":return"limited";default:return"unverified"}}getHeaderBrand(e){const t=document.createElement("div");t.className=`bonus-card__brand bonus-card__brand-${this.getCasinoConfidenceLabelName(e)}`,t.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"\n viewB
1ox="0 0 12 13" fill="none" class="bonus-card__brand-icon" data-tooltip-option="${this.getTooltipOption(e.casinoConfidenceLabelName)}">\n <path d="M10.7619 2.40089L6.23248 0.125016C5.90042 -0.0416719 5.50885 -0.0416719 5.17679 0.125016L0.647792 2.40089C0.240917 2.6052 -0.00977051 3.02477 0.000291994 3.4802C0.041417 5.35883 0.579104 10.2072 4.89679 12.0823C5.41129 12.3059 5.99929 12.3059 6.51379 12.0823C10.831 10.2072 11.3687 5.35883 11.4103 3.4802C11.4199 3.02477 11.1688 2.6052 10.7619 2.40089ZM7.92429 5.61039L7.15385 6.36158C7.08123 6.43245 7.04798 6.53439 7.06548 6.63414L7.24748 7.69464C7.29079 7.9462 7.02654 8.13827 6.80079 8.01927L5.84835 7.51877C5.75867 7.47152 5.65148 7.47152 5.56179 7.51877L4.60935 8.01927C4.3836 8.13783 4.11935 7.9462 4.16267 7.69464L4.34467 6.63414C4.36173 6.53439 4.32848 6.43245 4.25629 6.36158L3.48585 5.61039C3.30298 5.43233 3.40404 5.1217 3.65648 5.08495L4.72135 4.93008C4.82154 4.91564 4.90817 4.85264 4.95323 4.76164L5.42923 3.79695C5.5421 3.56814 5.86848 3.56814 5.98135 3.79695L6.45735 4.76164C6.50242 4.85264 6.58904 4.91564 6.68923 4.93008L7.7541 5.08495C8.00654 5.1217 8.10717 5.43233 7.92429 5.61039Z"\n fill="#FF455B"/>\n </svg>\n <span class="bonus-card__brand-text">${e.casino.name}</span>`;const a=t.querySelector(".bonus-card__brand-icon");return a&&this.amplitudeTooltipItem(a),t}getBody(e){const t=document.createElement("ul");t.className="bonus-card__body",t.append(this.getBodyCurrency(e,t));let a=this.getBodyWR(e);a&&t.append(a);let n=this.getBodyCategories(e);n&&t.append(n);let s=this.getBodyGroupType(e);s&&t.append(s);let o=this.getBodyMaxCashout(e);return o&&t.append(o),t}getBodyCurrency(e){const t=document.createElement("li");t.className="bonus-card__feature";const a=e.depositMinFormatted;return t.innerHTML='<img src="/build/midori/assets/icons/tableEEAT.svg#minDep" class="bonus-card__feature-icon" alt="" aria-hidden="true" width="16" height="16" loading="lazy">\n '+(e.depositMin?`<p class="bonus-card__feature-text">${a} ${this.translate("Min deposit")}</p>`:`<p class="bonus-card__feature-text">${a}</p>`),t}getBodyWR(e){if(null===e.wageringRequirements)return;const t=document.createElement("li");return t.className="bonus-card__feature",t.innerHTML=`<img src="/build/midori/assets/icons/tableEEAT.svg#wager"\n class="bonus-card__feature-icon" alt="" aria-hidden="true" width="16"\n height="16" loading="lazy"><p class="bonus-card__feature-text">\n ${0===Number(e.wageringRequirements)?`${this.translate("No wager")}`:`${e.wageringRequirements} ${this.translate("Wager")}`}\n </p>`,t}getBodyCategories(e){if(null===e.bonusCategories)return;const t=document.createElement("li");t.className="bonus-card__feature";let a=this.getAdditionCategories(e);return a?(t.innerHTML=`<img src="/build/midori/assets/icons/tableEEAT.svg#category"\n class="bonus-card__feature-icon" alt="" aria-hidden="true" width="16"\n height="16" loading="lazy">\n <span class="bonus-card__feature-text">${a.join(", ")}</span>`,t):void 0}getAdditionCategories(e){let t=!1;if(Array.isArray(e?.bonusCategories)&&e.bonusCategories.length>0)for(const a of e.bonusCategories){const e=(a?.slug||"").toLowerCase().trim();if("reload-bonuses"===e||"existing-players"===e||"for-existing-players"===e){t=!0;break}}return[this.translate(t?"Account holders":"New players")]}getBodyGroupType(e){if(!e.groupType)return;const t=document.createElement("li");t.className="bonus-card__feature";let{gameTypeLabel:a,gameTypeTooltip:n}=this.getGameType(e);if(!a)return;const s=document.createElement("img");s.src="/build/midori/assets/icons/tableEEAT.svg#games",s.className="bonus-card__feature-icon",s.alt="",s.ariaHidden="true",s.width="16",s.height="16",s.loading="lazy",t.append(s);const o=document.createElement("div");o.className="bonus-card__feature-text",t.append(o);const i=document.createElement("span");if(i.innerHTML=a,o.append(i),n.length){const e=document.createElement("div");e.className="bonus-card__tooltip",e.dataset.element="bonus-card__tooltip",e.dataset.tooltipOption="games_restriction",e.innerHTML=`<svg class="icon_
1info bonus-card__tooltip-trigger" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n\t\t\t\t\t <path d="M10 17.5C14.1422 17.5 17.5 14.1423 17.5 10C17.5 5.85775 14.1422 2.5 10 2.5C5.85775 2.5 2.5 5.85775 2.5 10C2.5 14.1422 5.85775 17.5 10 17.5ZM10 16C8.4087 16 6.88257 15.3679 5.75736 14.2426C4.63214 13.1174 4 11.5913 4 10C4 8.4087 4.63214 6.88258 5.75736 5.75736C6.88258 4.63214 8.4087 4 10 4C11.5913 4 13.1174 4.63214 14.2426 5.75736C15.3679 6.88258 16 8.4087 16 10C16 11.5913 15.3679 13.1174 14.2426 14.2426C13.1174 15.3679 11.5913 16 10 16ZM10.75 6.25L9.25 6.25L9.25 7.75L10.75 7.75L10.75 6.25ZM10.75 9.25L9.25 9.25L9.25 13.75L10.75 13.75L10.75 9.25Z"\n\t\t\t\t\t fill="#000"/>\n\t\t\t\t\t</svg>\n <div class="bonus-card__tooltip-block" data-element="bonus-card__tooltip-block">\n <p>\n <img src="/build/midori/assets/icons/tableEEAT.svg#dice"\n alt=""\n aria-hidden="true"\n width="16"\n height="16"\n loading="lazy"><b>${this.translate("Which games qualify for this bonus?")}</b>\n </p>\n <p>${n.join(", ")}</p>\n </div>`,o.append(e),this.toggleTooltipItem(e),this.amplitudeTooltipItem(e)}return t}getGameType(e){const t=(e?.groupType||"").trim().toLowerCase(),a=Array.isArray(e?.bonusSlots)?e.bonusSlots:[],n=a.length;let s="",o=[];if("slot"===t){if(1===n)a[0]?.name&&(s=`${a[0].name} Slot`);else if(n>1){s=this.translate("Slots");for(const e of a)e?.name&&o.push(e.name)}}else"betting"===t&&(s=this.translate("Betting"));return{gameTypeLabel:s,gameTypeTooltip:o}}getBodyMaxCashout(e){if(!e.maxCashout)return;const t=document.createElement("li");return t.className="bonus-card__feature bonus-card__feature-cashout",t.innerHTML=`<img src="/build/midori/assets/icons/tableEEAT.svg#cashout"\n class="bonus-card__feature-icon" alt="" aria-hidden="true" width="16"\n height="16" loading="lazy">\n <p class="bonus-card__feature-text">${e.maxCashout} ${this.translate("Max cashout")}</p>`,t}getFooter(e,t,a){const n=document.createElement("div");n.className="bonus-card__footer",n.append(this.getHeaderRegion(e,t,"mob"));let s=this.getFooterCode(e);return s&&n.append(s),n.append(this.getFooterBtn(e,t,a)),n.append(this.getFooterTnc()),n}getFooterCode(e){if(!e.code)return;const t=document.createElement("div");return t.className="bonus-card__promo",this.isBonusRestricted(e)&&t.classList.add("bonus-card__promo-restricted"),e.affiliateUrl&&!this.isBonusExpired(e)||t.classList.add("bonus-card__promo-inactive"),t.dataset.element="bonus_promo-code",t.innerHTML=`<span class="bonus-card__promo-label">${this.translate("Bonus code")}</span>\n <span class="bonus-card__promo-code" data-element="bonus_promo-value"\n data-text-after="{% trans %}Copied!{% endtrans %}">${e.code}</span>\n <img src="/build/midori/assets/icons/tableEEAT.svg#copy" alt=""\n aria-hidden="true" width="20" height="20" loading="lazy">`,this.onClickPromoCodeItem(t),t}getFooterBtn(e,t,a){const n=!(!e.affiliateUrl||this.isBonusExpired(e)||this.isBonusRestricted(e)||this.isRestricted(t)),s=document.createElement(n?"a":"button");return s.className="bonus-card__button",s.dataset.element="bonus_btn",n&&
1(s.href=`/redirect?domain=${encodeURIComponent(e.casino.domain)}&bonus=${encodeURIComponent(e.id)}&offer_type=${e.offerType}`,s.target="_blank",s.rel="nofollow noopener"),this.isBonusRestricted(e)?(s.ariaLabel=this.translate("Not available"),s.innerHTML=this.translate("Not available"),s.classList.add("bonus-card__button-restricted")):this.isRestricted(t)?(s.ariaLabel=this.translate("Visit Casino"),s.innerHTML=this.translate("Visit Casino")):!e.affiliateUrl||this.isBonusExpired(e)?(s.ariaLabel="Inactive",s.innerHTML="Inactive",s.classList.add("bonus-card__button-inactive")):(s.ariaLabel=this.translate("Play Now"),s.innerHTML=this.translate("Play Now")),this.affiliateItemRedirect(s,a),s}getFooterTnc(){const e=document.createElement("div");return e.className="bonus-card__terms-toggle",e.dataset.element="bonus_terms-btn",e.innerHTML=`<div class="bonus-card__terms-toggle-text" data-element="bonus_terms-btn-text">${this.translate("T&Cs Apply")} <svg class="bonus-card__terms-toggle-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20"\n\t\t\t viewBox="0 0 20 20" fill="none">\n\t\t\t<path\n\t\t\t\td="M10.7071 13.2929C10.3166 13.6834 9.68342 13.6834 9.29289 13.2929L5.70711 9.70711C5.07714 9.07714 5.52331 8 6.41421 8H13.5858C14.4767 8 14.9229 9.07714 14.2929 9.70711L10.7071 13.2929Z"\n\t\t\t\tfill="#000"/>\n\t\t\t</svg>\n </div>`,this.onClickTncItem(e,!0),e}getTnc(e){const t=document.createElement("div");return t.className="bonus-card__terms",t.dataset.element="bonus_terms-block",e.tncSummary?t.innerHTML=this.getTncSummary(e):e.tncContent&&(t.innerHTML=this.getTncContent(e)),this.tncShowItem(e),t}getTncSummary(e){return this.renderTermsSummary(e)}getTncContent(e){const t=this.getFullCasinoTermsUrl(e);return t?`<a href="${t}" target="_blank" rel="noopener">${e.tncContent}</a>`:e.tncContent}renderTermsSummary(e){const t=e?.tncSummary,a=this.getFullCasinoTermsUrl(e),n=[["bonus-terms__info","bonus-terms__success","bonus-terms__warning"],["bonus-terms__success","bonus-terms__warning","bonus-terms__info"],["bonus-terms__warning","bonus-terms__info","bonus-terms__success"]],s=["example","ejemplo","exemple","beispiel","voorbeeld","przyklad","przykÅad"];if(!t||0===Object.keys(t).length)return"";const o=n[e.id%3]||n[0];let i=0;let r='<div class="bonus-card__ts" data-element="bonus_terms-summary">';e?.expiredDate&&(r+=`<p class="bonus-card__ts-date">${this.translate("Valid until:")} ${(e=>{const t=new Date(String(e).replace(" ","T")+"Z");return`${String(t.getUTCDate()).padStart(2,"0")} ${t.toLocaleString(document.documentElement.lang||"en",{month:"short",timeZone:"UTC"})} ${t.getUTCFullYear()}`})(e.expiredDate)}</p>`),r+='<ul class="bonus-card__ts-list">';for(const[e,a]of Object.entries(t)){if(!a||"object"!=typeof a||0===Object.keys(a).length)continue;let t=`\n <li class="bonus-terms__item">\n <p class="bonus-terms__title">${e}</p>\n `,n=null;for(const[e,o]of Object.entries(a)){if(null==o||""===o)continue;const a=e.toLowerCase();
1s.includes(a)?n=o:t+=`\n <p class="bonus-terms__text">\n <b>${e}:</b> ${o}\n </p>\n `}if(null!==n){t+=`\n <p class="bonus-terms__text ${o[i%3]}">\n ${n}\n </p>\n `,i++}t+="</li>",r+=t}return r+="</ul>",a&&(r+=`\n\t\t\t\t<p class="bonus-card__terms-link-wrap">\n\t\t\t\t\t<a href="${a}" target="_blank" rel="noopener" class="bonus-card__terms-link">${this.translate("Full Casino T&C Apply")}</a>\n\t\t\t\t</p>\n\t\t\t`),r+="</div>",r}getScore(e,t){if(this.bonusScoreInfoUrl=t?.dataset.bonusScoreInfoUrl||"/how-we-calculate-bonus-score",this.bonusScoreInfoText=t?.dataset.bonusScoreInfoText||"How bonus scores work",e.qualityTier)switch(e.qualityTier.toLowerCase()){case"uncertain":return this.getScoreComponent({item:e,label:"uncertain",title:this.translate("Uncertain"),tooltip:this.translate("We're still collecting feedback. Results are mixed so far â check back later or try it yourself!")});case"promising":return this.getScoreComponent({item:e,label:"gaining",title:this.translate("Gaining popularity"),tooltip:this.translate("We're still collecting user feedback to give it verified status but we see positive dynamics of users marks.")});case"trusted":return this.getScoreComponent({item:e,label:"verified",title:this.translate("Verified bonus"),tooltip:this.translate("This bonus is marked as working by most of the players! Enjoy the game!")});case"poor":return this.getScoreComponent({item:e,label:"low",title:this.translate("Low quality"),tooltip:this.translate("Most of our users marked this bonus as not working or they faced troubles in their casino experience."),showAuthor:!1});case"new":return this.getScoreComponent({item:e,label:"gathering",title:this.translate("Gathering data"),tooltip:this.translate("It means we're still collecting user feedback â current rating may change as more reviews come in."),showMetrics:!1})}}getScoreComponent({item:e,label:t,title:a,tooltip:n,showAuthor:s,showMetrics:o=!0}){const i=document.createElement("div");i.className=`bonus-card__score bonus-card__score-${t}`,i.dataset.element="bonus-card__score",i.dataset.type=t,i.append(this.getScoreHeader(t,a,n)),i.append(this.getScoreContent(e,s,o));const r=i.querySelector('[data-element="bonus-card__score-toggle"]');return r&&(this.toggleScoreItem(r),this.toggleScoreComponentItem(r)),i}getScoreHeader(e,t,a){const n=document.createElement("div");n.className="bonus-card__score-header",n.dataset.element="bonus-card__score-header",n.dataset.type=e;const s=document.createElement("p");s.className="bonus-card__score-title",s.innerHTML=this.translate("Bonus score"),n.append(s);const o=document.createElement("div");o.className="bonus-card__score-label",n.append(o);const i=document.createElement("div");i.className="bonus-card__score-label-block",i.innerHTML=`<img src="/build/midori/assets/icons/tableEEAT.svg#${e}" alt="" aria-hidden="true"> ${t}`,o.append(i);const r=document.createElement("div");r.className="bonus-card__score-tooltip",r.dataset.element="bonus-card__tooltip",r.dataset.tooltipOption=this.getTooltipOption(t),this.amplitudeTooltipItem(r),r.innerHTML=`<svg class="icon_info bonus-card__score-tooltip-trigger" width="20" height="20"\n\t\t\t\t viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n\t\t\t\t<path\n\t\t\t\t\td="M10 17.5C14.1422 17.5 17.5 14.1423 17.5 10C17.5 5.85775 14.1422 2.5 10 2.5C5.85775 2.5 2.5 5.85775 2.5 10C2.5 14.1422 5.85775 17.5 10 17.5ZM10 16C8.4087 16 6.88257 15.3679 5.75736 14.2426C4.63214 13.1174 4 11.5913 4 10C4 8.4087 4.63214 6.88258 5.75736 5.75736C6.88258 4.63214 8.4087 4 10 4C11.5913 4 13.1174 4.63214 14.2426 5.75736C15.3679 6.88258 16 8.4087 16 10C16 11.5913 15.3679 13.1174 14.2426 14.2426C13.1174 15.3679 11.5913 16 10 16ZM10.75 6.25L9.25 6.25L9.25 7.75L10.75 7.75L10.75 6.25ZM10.75 9.25L9.25 9.25L9.25 13.75L10.75 13.75L10.75 9.25Z"\n\t\t\t\t\tfill="#000"/>\n\t\t\t\t</svg>\n <div class="bonus-card__score-tooltip-content" data-element="bonus-card__tooltip-block">\n <p class="title"><img src="/build/midori/assets/icons/tableEEAT.svg#${e}" alt="" aria-hidden="true">${t}</p>\n <p class="text">${a} <a href="${this.bonusScoreInfoUrl}" target="_blank">${this.bonusScoreInfoText}</a></p>\n </div>`,o.append(r),this.toggleTooltipItem(r);const c=document.createElement("button");return c.className="bonus-card__score-toggle",c.dataset.element="bonus-card__score-toggle",c.innerHTML='<svg class="icon_drop-down" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n\t\t <path d="M10.7071 13.2929C10.3166 13.6834 9.68342 13.6834 9.29289 13.2929L5.70711 9.70711C5.07714 9.07714 5.52331 8 6.41421 8H13.5858C14.4767 8 14.9229 9.07714 14.2929 9.70711L10.7071 13.2929Z" fill="#000"/>\n\t\t</svg>\n\t\t',n.append(c),n}
1getScoreContent(e,t=!0,a=!0){const n=document.createElement("div");if(n.className="bonus-card__score-content",t){const t=this.getScoreAuthor(e);t&&n.append(t)}return a&&n.append(this.getScoreMetrics(e)),n.append(this.getScoreVote(e)),n}getScoreAuthor(e){if(!e.author)return;const t=document.createElement("div");t.className="bonus-card__author";const a=this.getCheckedDate(e),n=document.createElement("div"),s=e.author.bioPageUrl?`<a href="${e.author.bioPageUrl}">${e.author.name}</a>`:e.author.is_bio_exists?`<a href="/teambio/${e.author.slug}">${e.author.name}</a>`:`<span>${e.author.name}</span>`;if(n.className="bonus-card__author-data",n.innerHTML=`\n <div class="bonus-card__author-img" style="background-image: url(${e.author.photo})"></div>\n <div class="bonus-card__author-info">\n <p class="title">${this.translate("Verified by")}\n ${s}\n <img src="/build/midori/assets/icons/tableEEAT.svg#verified" alt="" aria-hidden="true">\n </p>\n ${a?`<p class="bonus-card__author-date-mob">Checked ${a}</p>`:""}\n </div>\n `,t.append(n),a){const e=document.createElement("p");e.className="bonus-card__author-date",e.innerHTML=this.translate("Checked %when%").replace("%when%",a),t.append(e)}return t}getCheckedDate(e){const t=e?.updated||e?.casino?.updated;if(!t)return"";const a="object"==typeof t?t.date:t;if(!a)return"";const n=a.split(".")[0].replace(" ","T")+"Z",s=new Date(n),o=(new Date).getTime()-s.getTime();if(o<864e5){if(o<36e5){const e=Math.ceil(o/6e4);return this.translate("%count%m ago").replace("%count%",e>0?e:1)}{const e=Math.ceil(o/36e5);return this.translate("%count%h ago").replace("%count%",e)}}{const e=String(s.getUTCDate()).padStart(2,"0"),t=s.toLocaleString(document.documentElement.lang||"en",{month:"short",timeZone:"UTC"}),a=s.getUTCFullYear();return this.translate("on %date%").replace("%date%",`${e} ${t} ${a}`)}}getScoreMetrics(e){const t=document.createElement("div");t.className="bonus-card__metrics",e.performance&&Object.keys(e.performance).length&&t.append(this.getScorePerformance(e)),e.textGeography&&Object.keys(e.textGeography).length&&t.append(this.getScoreCountries(e));const a=this.getScorePopularity(e);return a&&t.append(a),t}getScorePerformance(e){const t=document.createElement("div");t.className="bonus-card__performance";const a=e.id%20+1,n=(a+7)%20+1,s=(n+7)%20+1,o=e.performance.is_worked?`<span class="bonus-card__performance-worked">${this.translate("Worked")} <img src="/build/midori/assets/icons/modern.svg#like" alt="" aria-hidden="true" loading="lazy" width="16" height="16"></span>`:`<span class="bonus-card__performance-not-worked">${this.translate("Not working")} <img src="/build/midori/assets/icons/modern.svg#dislike" alt="" aria-hidden="true" loading="lazy" width="16" height="16"></span>`,i=`<div class="bonus-card__performance-status" data-element="bonus-card__performance-status">\n\t\t\t<b>${e.performance.is_worked?`${e.performance.users_like}`:`${e.performance.users_dislike}`}</b> of <b>${e.performance.all_reactions_count}</b> users say it ${o}</div>`;return t.innerHTML=`<p class="bonus-card__performance-title">${this.translate(e.performance.status)}</p>\n\t\t<div class="bonus-card__performance-data" data-element="bonus-card__performance">\n\t\t\t<div class="bonus-card__performance-users">\n <div class="bonus-card__performance-user">\n <img src="/build/midori/assets/icons/tableEEAT/users/user_${a}.webp" alt="" aria-hidden="true" loading="lazy" width="32" height="32">\n </div>\n <div class="bonus-card__performance-user">\n <img src="/build/midori/assets/icons/tableEEAT/users/user_${n}.webp" alt="" aria-hidden="true" loading="lazy" width="32" height="32">\n </div>\n <div class="bonus-card__performance-user">\n <img src="/build/midori/assets/icons/tableEEAT/users/user_${s}.webp" alt="" aria-hidden="true" loading="lazy" width="32" height="32">\n </div>\n </div>${i}\n\t\t</div>`,t}getScoreCountries(e){const t=document.createElement("div");return t.className="bonus-card__claimed",e.reactions.all_reactions_count>0&&(t.dataset.element="reactions_popup",reactionsPopupEEAT.initReactionPopup(t),this.amplitudeReactionPopupTriggerItem(t)),t.innerHTML=`<div class="bonus-card__claimed-content">\n <p class="bonus-card__claimed-title">${this.translate(e.textGeography.is_claimed?"Claimed in %count% countries":"Works in %count% countries").replace("%count%",e.textGeography.count)}</p>\n <div class="bonus-card__claimed-data">\n <div class="bonus-card__claimed-countries">\n \t${e.textGeography.last_countries.map(e=>"US"===e.code.toUpperCase()?'<div class="bonus-card__claimed-country fflag-global"></div>':`<div class="bonus-card__claimed-country fflag ff-round fflag-${e.code.toUpperCase()}"></div>`).join("")}\n </div>\n <div class="bonus-card__claimed-status">${"US"===e.textGeography.popular_country.code.toUpperCase()?this.translate("Popular Worldwide (%percent%%)").replace("%percent%",e.textGeography.percent):`${this.translate("Popular in %country% (%percent%%)").replace("%country%",`<span class="bonus-card__claimed-status-flag fflag ff-round fflag-${e.textGeography.popular_country.code.toUpperCase()}"></span> ${e.textGeography.popular_country.name}`).replace("%percent%",e.textGeography.percent)}
1`}</div>\n </div>\n </div>`,e.reactions.all_reactions_count>0&&(t.innerHTML+='<button class="bonus-card__claimed-arrow">\n\t\t\t\t<svg class="icon_arrow-right" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n\t\t\t\t <path d="M14.2929 19L12.8787 17.5858L17.172 13.293L4 13.2929V11.2929L17.172 11.293L12.8787 7L14.2929 5.58579L21 12.2929L14.2929 19Z"\n\t\t\t\t fill="#000"/>\n\t\t\t\t</svg>\n\t\t\t</button>'),t}getScorePopularity(e){const t=document.createElement("div");t.className="bonus-card__popularity";const a=e.clickCounter??0;return t.innerHTML=`<span>${this.translate("%count% People clicked").replace("%count%",`<b>${a}</b>`)}</span>${this.getLastAppliedLabel(e)}`,t}getLastAppliedLabel(e){const t=e?.clickCounterLastClickedAt;if(!t)return"";const a="object"==typeof t?t.date:t;if(!a)return"";const n=a.split(".")[0].replace(" ","T")+"Z",s=new Date(n),o=(new Date).getTime()-s.getTime();if(o<864e5){if(o<36e5){const e=Math.ceil(o/6e4),t=e>0?e:1;return`<span>${this.translate("%count%m ago last clicked").replace("%count%",`<b>${t}</b>`)}</span>`}{const e=Math.ceil(o/36e5);return`<span>${this.translate("%count%h ago last clicked").replace("%count%",`<b>${e}</b>`)}</span>`}}{const e=String(s.getUTCDate()).padStart(2,"0"),t=s.toLocaleString(document.documentElement.lang||"en",{month:"short",timeZone:"UTC"}),a=s.getUTCFullYear();return`<span>${this.translate("%date% last clicked").replace("%date%",`${e} ${t} ${a}`)}</span>`}}getScoreVote(e){const t=document.createElement("div");t.className="bonus-card__vote";const a=document.createElement("p");a.className="bonus-card__vote-title",a.innerHTML=this.translate("Did the bonus work?"),t.append(a);const n=document.createElement("div");n.className="bonus-card__vote-actions",t.append(n);const s=document.createElement("div");s.className="bonus-card__vote-action like",s.dataset.element="reaction-like",s.dataset.action="like",s.innerHTML=`<input id="reaction-like-${e.id}" type="radio" name="reaction_${e.id}" value="like">\n\t <label for="reaction-like-${e.id}">\n\t <img src="/build/midori/assets/icons/modern.svg#like" alt="" aria-hidden="true" loading="lazy" width="16" height="16">\n\t\t\t\t\t${e.reactions.likes>0?`<span class="count" data-element="reaction-count">${e.reactions.likes}</span>`:""}\n\t </label>`,n.append(s),bonusReactionsEEAT.likeActionsItem(s);const o=document.createElement("div");return o.className="bonus-card__vote-action dislike",o.dataset.element="reaction-dislike",o.dataset.action="dislike",document.body.dataset.userId&&(o.dataset.issueType="bonus",o.dataset.bonusId=e.id),o.innerHTML=`<input id="reaction-dislike-${e.id}" type="radio" name="reaction_${e.id}" value="dislike">\n\t <label for="reaction-dislike-${e.id}">\n\t <img src="/build/midori/assets/icons/modern.svg#dislike" alt="" aria-hidden="true" loading="lazy" width="16" height="16">\n\t\t\t\t\t${e.reactions.dislikes>0?`<span class="count" data-element="reaction-count">${e.reactions.dislikes}</span>`:""}\n\t </label>`,n.append(o),bonusReactionsEEAT.likeActionsItem(o),t}getReviews(e,t){const a=JSON.parse(t.dataset.widgetArguments);if("true"===a.hideRatingEEAT)return;const n=document.createElement("div");n.className="bonus-card__review hide",n.dataset.element="bonus-card__review",n.append(this.getReviewsHeader(e),this.getReviewsBody(e,"true"===a.enableReviewCarousel));const s=n.querySelector('[data-element="bonus-card__review-toggle"]');return this.toggleReviewsItem(s),n}getReviewsCarousel(e){const t=e?.reviews?.items;if(!Array.isArray(t)||0===t.length)return null;const a=e.reviews.all_reviews_count??0,n=t.length>1,s=document.createElement("div");s.className="bonus-card__feedback-carousel",s.dataset.element="reviewCarousel";const o=document.createElement("p");o.className="bonus-card__feedback-carousel-title",o.textContent=`Players feedback (${a})`,s.append(o);const i=document.createElement("div");if(i.className="bonus-card__feedback-carousel-viewport",n){const e=document.createElement("button");e.type="button",e.className="bonus-card__feedback-carousel-arrow bonus-card__feedback-carousel-arrow--prev",e.dataset.element="reviewCarou
1sel-prev",e.setAttribute("aria-label",this.translate("Previous")),e.innerHTML='<svg class="icon_chevron-left" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.9859 6.85745L9.84308 12.0003L14.9859 17.1432L13.5717 18.5574L7.01465 12.0003L13.5717 5.44324L14.9859 6.85745Z" fill="#5554de"/></svg>',i.append(e)}const r=document.createElement("div");if(r.className="bonus-card__feedback-carousel-track",r.dataset.element="reviewCarousel-track",t.forEach(e=>r.append(this.getReviewsCarouselSlide(e,'<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M15.17 6.228c-.245-.324-.477-.631-.608-.946-.138-.335-.199-.746-.257-1.145-.096-.659-.195-1.34-.649-1.794-.452-.453-1.134-.552-1.793-.649-.399-.058-.81-.118-1.145-.257-.315-.13-.622-.362-.946-.607C9.232.422 8.672 0 8 0 7.328 0 6.77.422 6.228.83c-.324.245-.631.477-.946.607-.335.139-.746.2-1.145.257-.66.097-1.34.196-1.794.649-.453.453-.552 1.135-.648 1.794-.059.398-.119.81-.257 1.145-.131.315-.363.621-.608.946C.422 6.768 0 7.328 0 8c0 .672.422 1.231.83 1.772.245.325.477.631.608.946.138.335.198.747.257 1.145.096.66.195 1.341.648 1.794.453.453 1.135.552 1.794.649.399.058.81.118 1.145.257.315.13.622.362.946.607.54.408 1.1.83 1.772.83.673 0 1.231-.422 1.772-.83.325-.245.631-.477.946-.607.335-.139.746-.2 1.145-.257.659-.097 1.34-.196 1.794-.649.453-.453.552-1.135.649-1.794.058-.398.118-.81.257-1.145.13-.315.362-.621.607-.946.408-.54.83-1.1.83-1.772 0-.672-.422-1.231-.83-1.772zm-3.192.57l-4.47 4.471a.476.476 0 01-.673 0L4.022 8.457a.476.476 0 010-.673l.685-.685a.476.476 0 01.673 0L7.17 8.891l3.45-3.45a.476.476 0 01.672 0l.685.685a.476.476 0 010 .673z" fill="currentColor"/></svg>'))),a>3){const e=document.createElement("div");e.className="bonus-card__feedback-carousel-slide bonus-card__feedback-carousel-cta-slide";const t=document.createElement("button");t.className="bonus-card__review-trigger bonus-card__feedback-carousel-cta",t.dataset.element="reviews_popup",t.innerHTML=`View all ${a} comments <svg class="icon_arrow-right" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.2929 19L12.8787 17.5858L17.172 13.293L4 13.2929V11.2929L17.172 11.293L12.8787 7L14.2929 5.58579L21 12.2929L14.2929 19Z" fill="#5554de"/></svg>`,reactionsPopupEEAT.initReviewsPopup(t),e.append(t),r.append(e)}if(i.append(r),n){const e=document.createElement("button");e.type="button",e.className="bonus-card__feedback-carousel-arrow bonus-card__feedback-carousel-arrow--next",e.dataset.element="reviewCarousel-next",e.setAttribute("aria-label","Next"),e.innerHTML='<svg class="icon_chevron-right" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.4289 5.44324L16.9859 12.0003L10.4289 18.5574L9.01465 17.1432L14.1575 12.0003L9.01465 6.85745L10.4289 5.44324Z" fill="#5554de"/></svg>',i.append(e)}if(s.append(i),t.length>2){const e=document.createElement("div");e.className="bonus-card__feedback-carousel-pagination",e.dataset.element="reviewCarousel-pagination",t.forEach((t,a)=>{const n=document.createElement("span");n.className="bonus-card__feedback-carousel-dot"+(0===a?" active":""),n.innerHTML='<svg width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="16" height="8" rx="2" fill="#fff"/></svg>',e.append(n)}),s.append(e)}return s}getReviewsCarouselSlide(e,t){const a=e.country?e.country.toUpperCase():"",n=a&&"US"!==a?`fflag ff-round fflag-${a}`:"fflag-global",s=e.registration_via&&"google"===e.registration_via.toLowerCase(),o=document.createElement("div");return o.className="bonus-card__feedback-carousel-slide",o.innerHTML=`<div class="bonus-card__feedback-carousel-header">\n <div class="bonus-card__feedback-carousel-user">\n <div class="bonus-card__feedback-carousel-avatar" style="background-image: url(${e.avatar})"></div>\n <div class="bonus-card__feedback-carousel-meta">\n <p class="bonus-card__feedback-carousel-name"><span class="bonus-card__feedback-carousel-country ${n}"></span></p>\n ${s?`<p class="bonus-card__feedback-carousel-signed">Signed in with ${e.registration_via} ${t}</p>`:""}\n </div>\n </div>\n <div class="bonus-card__feedback-carousel-date">${this.getFeedbackDate(e)}</div>\n </div>\n <div class="bonus-card__feedback-carousel-comment">\n <div class="bonus-card__feedback-carousel-text" data-element="reviewCarou
1sel-text"></div>\n <button type="button" class="bonus-card__feedback-carousel-more" data-element="reviewCarousel-more" hidden>${this.translate("Read more")}</button>\n </div>`,o.querySelector(".bonus-card__feedback-carousel-name").prepend(`${e.username??""} `),o.querySelector('[data-element="reviewCarousel-text"]').textContent=e.comment??"",o}getReviewsHeader(e){const t=document.createElement("div");t.className="bonus-card__review-header",t.dataset.element="bonus-card__review-header";const a=document.createElement("div");a.className=`bonus-card__review-brand bonus-card__review-brand-${this.getCasinoConfidenceLabelName(e)}`,a.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"\n viewBox="0 0 12 13" fill="none" class="bonus-card__review-brand-icon" data-tooltip-option="${this.getTooltipOption(e.casinoConfidenceLabelName)}">\n <path d="M10.7619 2.40089L6.23248 0.125016C5.90042 -0.0416719 5.50885 -0.0416719 5.17679 0.125016L0.647792 2.40089C0.240917 2.6052 -0.00977051 3.02477 0.000291994 3.4802C0.041417 5.35883 0.579104 10.2072 4.89679 12.0823C5.41129 12.3059 5.99929 12.3059 6.51379 12.0823C10.831 10.2072 11.3687 5.35883 11.4103 3.4802C11.4199 3.02477 11.1688 2.6052 10.7619 2.40089ZM7.92429 5.61039L7.15385 6.36158C7.08123 6.43245 7.04798 6.53439 7.06548 6.63414L7.24748 7.69464C7.29079 7.9462 7.02654 8.13827 6.80079 8.01927L5.84835 7.51877C5.75867 7.47152 5.65148 7.47152 5.56179 7.51877L4.60935 8.01927C4.3836 8.13783 4.11935 7.9462 4.16267 7.69464L4.34467 6.63414C4.36173 6.53439 4.32848 6.43245 4.25629 6.36158L3.48585 5.61039C3.30298 5.43233 3.40404 5.1217 3.65648 5.08495L4.72135 4.93008C4.82154 4.91564 4.90817 4.85264 4.95323 4.76164L5.42923 3.79695C5.5421 3.56814 5.86848 3.56814 5.98135 3.79695L6.45735 4.76164C6.50242 4.85264 6.58904 4.91564 6.68923 4.93008L7.7541 5.08495C8.00654 5.1217 8.10717 5.43233 7.92429 5.61039Z"\n fill="#FF455B"/>\n </svg>\n <span class="bonus-card__review-brand-text">${e.casino.name}</span>`,t.append(a);const n=t.querySelector(".bonus-card__review-brand-icon");n&&this.amplitudeTooltipItem(n);const s=document.createElement("div");s.className="bonus-card__review-label",t.append(s);const o={VERIFIED:"verified",LIMITED_DATA:"limited"}[e.casinoConfidenceLabelKey]??"unverified",i=document.createElement("div");let r,c;switch(i.className="bonus-card__review-status",i.innerHTML=`${e.casinoRatingLabelEmoji} ${this.translate(e.casinoRatingLabelName)} ${e.casinoRatingPercent?`<b>(${e.casinoRatingPercent}%)</b>`:""}`,s.append(i),e.casinoRatingLabelKey){case"BEST_CHOICE":r=this.translate('Highly-scored casino across all key categories â reputation, player experience, bonus quality, and regional reliability. Learn more about <a href="/how-we-rate" target="_blank" class="card-tooltip-popup__link">How we rate</a> casinos.');break;case"HIGHLY_RATED":r=this.translate('Well-rated casino with good overall performance. Solid reputation backed by user feedback. Learn more about <a href="/how-we-rate" target="_blank" class="card-tooltip-popup__link">How we rate</a> casinos.');break;case"TRUSTED":r=this.translate('Casino meets basic quality standards but falls below average in one or more areas â such as bonus terms, player feedback or brand reputation. It may still suit some players depending on their priorities. Learn more about <a href="/how-we-rate" target="_blank" class="card-tooltip-popup__link">How we rate</a> casinos.');break;default:r=this.translate('Casino shows poor scores in one or more rating categories. We recommend approaching it with caution. Learn more about <a href="/how-we-rate" target="_blank" class="card-tooltip-popup__link">How we rate</a> casinos.')}switch(e.casinoConfidenceLabelKey){case"VERIFIED":c=this.translate("Sufficient data to trust this rating. Based on players' reactions, bonus history, and brand information.");break;case"LIMITED_DATA":c=this.translate("Still collecting data. The current casino rating may shift, as it is approximate.");break;default:c=this.translate("The current casino rating is based on very limited data â and could shift significantly.")}const l=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"\n\t\t\t class="confidence-emoji--${o}
1"\n\t\t\t viewBox="0 0 12 13" fill="none" data-tooltip-option="data_confidence_${o}">\n\t\t <path d="M10.7619 2.40089L6.23248 0.125016C5.90042 -0.0416719 5.50885 -0.0416719 5.17679 0.125016L0.647792 2.40089C0.240917 2.6052 -0.00977051 3.02477 0.000291994 3.4802C0.041417 5.35883 0.579104 10.2072 4.89679 12.0823C5.41129 12.3059 5.99929 12.3059 6.51379 12.0823C10.831 10.2072 11.3687 5.35883 11.4103 3.4802C11.4199 3.02477 11.1688 2.6052 10.7619 2.40089ZM7.92429 5.61039L7.15385 6.36158C7.08123 6.43245 7.04798 6.53439 7.06548 6.63414L7.24748 7.69464C7.29079 7.9462 7.02654 8.13827 6.80079 8.01927L5.84835 7.51877C5.75867 7.47152 5.65148 7.47152 5.56179 7.51877L4.60935 8.01927C4.3836 8.13783 4.11935 7.9462 4.16267 7.69464L4.34467 6.63414C4.36173 6.53439 4.32848 6.43245 4.25629 6.36158L3.48585 5.61039C3.30298 5.43233 3.40404 5.1217 3.65648 5.08495L4.72135 4.93008C4.82154 4.91564 4.90817 4.85264 4.95323 4.76164L5.42923 3.79695C5.5421 3.56814 5.86848 3.56814 5.98135 3.79695L6.45735 4.76164C6.50242 4.85264 6.58904 4.91564 6.68923 4.93008L7.7541 5.08495C8.00654 5.1217 8.10717 5.43233 7.92429 5.61039Z"\n\t\t\t\tfill="#FF455B"/>\n\t\t</svg>`,d=`<div class="bonus-card__review-tooltip-content" data-element="bonus-card__tooltip-block">\n\t <p class="title"><span class="card-tooltip-popup__emoji">${e.casinoRatingLabelEmoji}</span>\n\t <span class="card-tooltip-popup__item-title">${this.translate(e.casinoRatingLabelName)}</span></p>\n\t <p class="text">${r}</p>\n\t <p class="title">\n\t\t\t <span class="card-tooltip-popup__confidence-emoji">${l}</span>\n\t\t\t <span class="card-tooltip-popup__item-title">${this.translate(e.casinoConfidenceLabelName)}</span>\n\t </p>\n\t <p class="text">${c}</p>\n\t </div>`,u=document.createElement("div");if(u.className="bonus-card__review-tooltip",u.dataset.element="bonus-card__tooltip",u.dataset.tooltipOption=this.getTooltipOption(e.casinoRatingLabelName),u.innerHTML=`<svg class="icon_info bonus-card__review-tooltip-trigger" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n\t\t <path d="M10 17.5C14.1422 17.5 17.5 14.1423 17.5 10C17.5 5.85775 14.1422 2.5 10 2.5C5.85775 2.5 2.5 5.85775 2.5 10C2.5 14.1422 5.85775 17.5 10 17.5ZM10 16C8.4087 16 6.88257 15.3679 5.75736 14.2426C4.63214 13.1174 4 11.5913 4 10C4 8.4087 4.63214 6.88258 5.75736 5.75736C6.88258 4.63214 8.4087 4 10 4C11.5913 4 13.1174 4.63214 14.2426 5.75736C15.3679 6.88258 16 8.4087 16 10C16 11.5913 15.3679 13.1174 14.2426 14.2426C13.1174 15.3679 11.5913 16 10 16ZM10.75 6.25L9.25 6.25L9.25 7.75L10.75 7.75L10.75 6.25ZM10.75 9.25L9.25 9.25L9.25 13.75L10.75 13.75L10.75 9.25Z"\n\t\t fill="#000"/>\n\t\t</svg>${d}`,s.append(u),this.toggleTooltipItem(u),this.amplitudeTooltipItem(u),e.casinoRatingPercent){const a=document.createElement("div");a.className="bonus-card__review-info",e.casinoRatingPercent>=55?a.innerHTML=this.translate("The casino is above average, based on %reviews% reviews and %reactions% bonus reactions.").replace("%reviews%",`<b>${e.reviews.all_reviews_count}</b>`).replace("%reactions%",`<b>${e.casinoRatingTotalReactions}</b>`):a.innerHTML=this.translate("The casino is below average, based on %reviews% reviews and %reactions% bonus reactions.").replace("%reviews%",`<b>${e.reviews.all_reviews_count}</b>`).replace("%reactions%",`<b>${e.casinoRatingTotalReactions}</b>`),t.append(a)}
1const m=document.createElement("button");return m.className="bonus-card__review-toggle",m.dataset.element="bonus-card__review-toggle",m.innerHTML=`<svg class="icon_drop-down" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n\t\t <path d="M10.7071 13.2929C10.3166 13.6834 9.68342 13.6834 9.29289 13.2929L5.70711 9.70711C5.07714 9.07714 5.52331 8 6.41421 8H13.5858C14.4767 8 14.9229 9.07714 14.2929 9.70711L10.7071 13.2929Z" fill="#000"/>\n\t\t</svg>${d}`,t.append(m),t}getReviewsBody(e,t=!1){const a=document.createElement("div");a.className="bonus-card__review-body";const n=document.createElement("div");n.className="bonus-card__review-content";const s=this.getExplicitCasinoBonusPageUrl(e);if(n.innerHTML=` <p class="bonus-card__review-date">${this.translate("Status checked on:")} <b>${this.formatDate(e.casino.updated)}</b></p>\n\t\t\t${s?`<a href="${s}" class="bonus-card__review-link">${this.translate("All Bonuses")}</a>`:""}`,a.append(n),t){const t=this.getReviewsCarousel(e);t&&a.append(t)}else e.reviews.all_reviews_count>0&&a.append(this.getReviewsFeedbacks(e),this.getAllFeedbacks(e));return a}formatDate(e){if(!e)return"";const t=e.date;if(!t)return"";const a=t.split(".")[0].replace(" ","T")+"Z",n=new Date(a);return`${String(n.getUTCDate()).padStart(2,"0")} ${n.toLocaleString(document.documentElement.lang||"en",{month:"short",timeZone:"UTC"})} ${n.getUTCFullYear()}`}getExplicitCasinoBonusPageUrl(e){const t=e?.casino??{},a=t.bonusPageUrl??t.bonus_page_url??"";if("string"!=typeof a)return"";const n=a.trim();return n?n.startsWith("/")?n:`/${n}`:""}getCasinoBonusPageUrl(e){return this.getExplicitCasinoBonusPageUrl(e)}getReviewsFeedbacks(e){const t=document.createElement("div");t.className="bonus-card__feedbacks";const a=document.createElement("p");return a.className="bonus-card__feedbacks-title",a.innerHTML="The latest feedback from our player",t.append(a),e.reviews.items.forEach(e=>{t.append(this.getReviewsFeedback(e))}),t}getReviewsFeedback(e){const t=document.createElement("div");t.className="bonus-card__feedback";const a=e.country?e.country.toUpperCase():null,n=this.getFeedbackDate(e),s=document.createElement("div");s.className="bonus-card__feedback-header",s.innerHTML=`<div class="bonus-card__feedback-data">\n <div class="bonus-card__feedback-user" style="background-image: url(${e.avatar})"></div>\n <div class="bonus-card__feedback-info">\n <p class="bonus-card__feedback-name">${e.username} <span class="bonus-card__feedback-country ${a&&"US"!==a?`fflag ff-round fflag-${a}`:"fflag-global"}"></span></p>\n ${e.registration_via&&"google"===e.registration_via.toLowerCase()?`<p class="bonus-card__feedback-signed">Signed in with ${e.registration_via} <img src="/build/midori/assets/icons/tableEEAT.svg#verified" alt="" aria-hidden="true"></p>`:""}\n </div>\n </div>\n <div class="bonus-card__feedback-date">${n}</div>`,t.append(s);const o=document.createElement("div");return o.className="bonus-card__feedback-text",o.dataset.element="bonusCardFeedbackText",o.append(e.comment),t.append(o),t}getFeedbackDate(e){const t=e?.date;if(!t)return"";const a="object"==typeof t?t.date:t;if(!a)return"";const n=a.split(".")[0].replace(" ","T")+"Z",s=new Date(n),o=Date.now()-s.getTime();if(o<864e5){if(o<36e5){const e=Math.ceil(o/6e4);return this.translate("%count%m ago").replace("%count%",e>0?e:1)}{const e=Math.ceil(o/36e5);return this.translate("%count%h ago").replace("%count%",e)}}return`${String(s.getUTCDate()).padStart(2,"0")} ${s.toLocaleString(document.documentElement.lang||"en",{month:"short",timeZone:"UTC"})} ${s.getUTCFullYear()}`}getFeedbackText(e){const t=(e?.comment||"").replace(/<\/?[^>]+(>|$)/g,"").trim(),a=t.length>80,n=document.createElement("div");n.className="truncate-text";const s=document.createElement("span");if(s.className="short",s.textContent=t.slice(0,80)+(a?"â¦":""),n.appendChild(s),a){const e=document.createElement("span");e.className="full",e.hidden=!0,e.textContent=t,n.appendChild(e);const a=document.createElement("span");a.className="toggle",a.setAttribute("data-element","comment__toggle"),a.textContent="Read more",this.commentReadMoreItem(a),n.appendChild(a)}return n}getAllFeedbacks(e){const t=document.createElement("button");return t.className="bonus-card__review-trigger",t.dataset.element="reviews_popup",t.innerHTML=`View all ${e.reviews.all_reviews_count} comments`,reactionsPopupEEAT.initReviewsPopup(t),t}btnBonusAjaxAmplitude(e){let t=document.body.dataset.routeBonus,a=document.body.dataset.routeId,n=eventIDEEAT.findIndex(e=>e===t),s=n>-1?eventIDEEAT[n]:eventIDEEAT[eventIDEEAT.length-1],o=document.location.pathname,i=document.location.origin+document.location.pathname,r=document.location.href;this.btnBonusAjaxClicks++,"undefined"!=typeof dataLayer&&Array.isArray(dataLayer)&&dataLayer.push(Object.assign({event:"addEvents_click",event_id:"d-v1-e1",event_cat:"w_website",event_name:"showMoreAjax",page_current_path:JSON.stringify(o),page_url:JSON.stringify(i),page_url_full:JSON.stringify(r),page_group:JSON.stringify(s),widget_title:JSON.stringify(e.widgetTitle),widget_id:JSON.stringify(e.widgetId),page_route_id:JSON.stringify(a),widget_handler:JSON.stringify(e.widgetHandler),widget_section:JSON.stringify(e.widgetSection),widget_position:JSON.stringify(e.widgetPosition),website_domain:JSON.stringify(document.location.hostname),btn_click_index:JSON.stringify(this.btnBonusAjaxClicks)}
1,utmParamsEEAT()))}getTooltipOption(e){let t;switch(e.toLowerCase()){case"verified":t="data_confidence_verified";break;case"limited data":t="data_confidence_limited";break;case"unverified":t="data_confidence_unverified";break;case"gathering data":t="bonus_status_gathering_data";break;case"uncertain":t="bonus_status_uncertain";break;case"gaining popularity":t="bonus_status_gaining_popularity";break;case"verified bonus":t="bonus_status_verified";break;case"low quality":t="bonus_status_low_quality";break;case"best choice":t="casino_rating_best_choice";break;case"highly rated":t="casino_rating_highly_rated";break;case"trusted":t="casino_rating_trusted";break;case"caution":t="casino_rating_caution"}return t}amplitudeTooltips(){this.tooltipOptions.forEach(e=>this.amplitudeTooltipItem(e))}amplitudeReactionPopup(){this.reactionPopupTrigger.forEach(e=>this.amplitudeReactionPopupTriggerItem(e))}amplitudeReactionPopupTriggerItem(e){e.addEventListener("click",()=>this.amplitudeReactionPopupTrigger(e))}amplitudeReactionPopupTrigger(e){this.pushAmplitudeEvent({event:"addEvents_click",eventName:"view",el:e,overrideEventCat:"w_bonus_list_country_stats",includeWidgetAffLinkClickIndex:!0})}amplitudeTooltipItem(e){e.addEventListener("click",()=>this.showTooltipAmplitude(e)),e.addEventListener("mouseenter",()=>this.showTooltipAmplitude(e))}getBonusTableElement(e){return e.closest('[data-element="bonus_table-eeat"]')}getBonusCardElement(e){return e.closest('[data-element="bonus-card"]')}getBaseAmplitudeElementData(e,t){return{route:e.dataset.route,widgetId:e.dataset.widgetId,widgetTitle:e.dataset.widgetTitle,widgetHandler:e.dataset.widgetHandler,widgetSection:e.dataset.widgetSection,widgetPosition:e.dataset.widgetPosition,widgetNotice:e.dataset.widgetNotice,widgetBonusCountry:e.dataset.widgetBonusCountry,widgetCasinoCountry:e.dataset.widgetCasinoCountry,widgetArguments:e.dataset.widgetArguments?JSON.parse(e.dataset.widgetArguments):"",eventCat:"w_bonus_list",eventAffClickName:t,clickAffLinkVersion:48}}getBaseAmplitudeBonusData(e){const t=this.getBonusCardElement(e);return{article:t,btnName:t.dataset.casino_bonus_button_name,tncLink:e.dataset.termsUrl,casinoUserCountryAllowed:t.dataset.accepted,widgetListIndex:t.dataset.widget_list_index}}getNextPageAffLinkClickIndex(){let e=storage.getPageAffLinkClickIndex();return e++,storage.setPageAffLinkClickIndex(e),e}async pushAmplitudeEvent({event:e,eventName:t,el:a,includeWidgetAffLinkClickIndex:n=!1,extraPayload:s={},overrideEventCat:o=null}){const i=this.getBonusTableElement(a),r=this.getBaseAmplitudeElementData(i,t);o&&(r.eventCat=o);const{article:c,btnName:l,tncLink:d,casinoUserCountryAllowed:u,widgetListIndex:m}=this.getBaseAmplitudeBonusData(a),p=this.getNextPageAffLinkClickIndex(),g="addEvents_clickAffLink"===e?await buildExternalId(c?.dataset?.bonus):null,b={event:e,...g?{external_id:JSON.stringify(g)}:{},event_id:`d-v1-e${r.clickAffLinkVersion}`,event_cat:r.eventCat,event_name:r.eventAffClickName,casino_bonus_button_name:JSON.stringify(l),widget_list_index:JSON.stringify(m),casino_user_country_allowed:JSON.stringify(u),page_afflink_click_index:JSON.stringify(p),redirect_link:JSON.stringify(d),...s};n&&(b.widget_afflink_click_index=JSON.stringify(getWidgetAffLinkClickIndexEEAT(i.dataset.widgetId))),dataLayer.push(Object.assign(b,this.newPageData(r),this.newBonusData(c),utmParam
1sEEAT()))}amplitudeClickAffLink(e){this.pushAmplitudeEvent({event:"addEvents_clickAffLink",eventName:"casino_visit",el:e,includeWidgetAffLinkClickIndex:!0})}amplitudeTCShowBlock(e){this.pushAmplitudeEvent({event:"addEvents_showBlock",eventName:"casino_bonus_tc_open",el:e})}showTooltipAmplitude(e){this.pushAmplitudeEvent({event:"addEvents_showBlock",eventName:"view",el:e,overrideEventCat:"w_bonus_list_tooltip",extraPayload:{tooltip_option:JSON.stringify(e.dataset.tooltipOption||"Not Set")}})}showMore(){this.showMoreBtn.length&&this.showMoreBtn.forEach(e=>{e.addEventListener("click",()=>{if(!e.isConnected)return;const t=e.closest(".widget, [data-admin-widget], .bonusCardsTableWidget");if(!t)return;const a=t.querySelector('section[data-element="bonus_table-eeat"]');if(!a)return;const n=e.getBoundingClientRect().bottom+window.scrollY-window.innerHeight/2+e.offsetHeight/2;storage.getScrollPosition()||storage.setScrollPosition(n);const s=[...a.querySelectorAll("article")];let o=s.filter(e=>e.classList.contains("hide"));const i=Number(e.dataset.count)||0;0!==o.length?(o.slice(0,i).forEach(e=>{const t=e.querySelector("[data-src]");if(t){const e=t.closest(".card-logo");if(e){const a=document.createElement("img");a.className="card-logo-image",a.src=t.dataset.src||"",a.alt=t.dataset.alt||"",a.width=124,a.height=124,a.loading="lazy",t.remove(),e.append(a)}}e.classList.remove("hide")}),o=s.filter(e=>e.classList.contains("hide")),o.length>0?e.innerHTML=`${e.dataset.text} (+${o.length})`:e.remove(),this.sponsoredTooltip()):e.remove()})})}newPageData=e=>{let t=document.body.dataset.routeBonus,a=document.body.dataset.routeId,n=eventIDEEAT.findIndex(e=>e===t),s=(n>-1||eventIDEEAT.length,n>-1?eventIDEEAT[n]:eventIDEEAT[eventIDEEAT.length-1]),o=document.location.pathname,i=document.location.origin+document.location.pathname,r=document.location.href,c=document.location.hostname,l=(document.body.dataset.localeLang,document.body.dataset.websiteEnv,document.body.dataset.geo,document.body.dataset.geo);return{page_current_path:JSON.stringify(o),page_url:JSON.stringify(i),page_url_full:JSON.stringify(r),website_domain:JSON.stringify(c),page_group:JSON.stringify(s),widget_title:JSON.stringify(e.widgetTitle),widget_id:JSON.stringify(e.widgetId),page_route_id:JSON.stringify(a),widget_handler:JSON.stringify(e.widgetHandler),widget_section:JSON.stringify(e.widgetSection),widget_position:JSON.stringify(e.widgetPosition),casino_list_user_country:JSON.stringify(l),casino_user_country:JSON.stringify(l),casino_list_for_geo:JSON.stringify(e.widgetBonusCountry?e.widgetBonusCountry:!!e.widgetCasinoCountry&&e.widgetCasinoCountry)}};newBonusData=e=>{let t=e.dataset,a={};e.querySelector('[data-element="bonus_title"]')&&(a=e.querySelector('[data-element="bonus_title"]')),e.querySelector(".bonusWelcomeTypeWidget__card__top__title")&&(a=e.querySelector(".bonusWelcomeTypeWidget__card__top__title")),e.querySelector(".restrictedBlock__card__content--main")&&(a=e.querySelector(".restrictedBlock__card__content--main"));let n=this.translate(a.innerHTML,!0),s=e.querySelector('[data-element="bonus_label"]')?e.querySelector('[data-element="bonus_label"]').innerHTML:"Not Set",o="";switch(!0){case 5===t.score:o="A";break;case t.score>4.5&&t.score<=4.9:o="B";break;case t.score>4&&t.score<=4.5:o="C";break;case t.score<=4:o="D"}return{casino_bonus_title_short:JSON.stringify(n),casino_domain:JSON.stringify(t.domain),casino_bonus_amount_max:JSON.stringify(t.amount_max&&!isNaN(parseInt(t.amount_max))?parseInt(t.amount_max):0),casino_bonus_percent:JSON.stringify(t.percent?t.percent:0),casino_bonus_expired:JSON.stringify(!!JSON.parse(t.expired)),casino_bonus_id:JSON.stringify(t.bonus),casino_afflink_exist:JSON.stringify(!!t.affiliate),casino_bonus_wagering_requirements:JSON.stringify(t.wagering_requirements&&!isNaN(parseInt(t.wagering_requirements))?parseInt(t.wagering_requirements):0),casino_bonus_deposit_min:JSON.stringify(t.deposit_min?parseInt(t.deposit_min):0),casino_bonus_category:JSON.stringify(t.bonus_categories?Object.values(JSON.parse(t.bonus_categories)):""),casino_bonus_type:JSON.stringify(t.bonus_types?Object.values(JSON.parse(t.bonus_types)):""),casino_bonus_label:JSON.stringify(s),casino_bonus_free_spins:JSON.stringify(t.free_spins?+t.free_spins:0),casino_bonus_currency:JSON.stringify(t.currency&&!JSON.parse(t.currency).every(e=>null===e)?Object.values(JSON.parse(t.currency)):["Not Set"]),casino_bonus_slots:JSON.stringify(JSON.parse(t.bonus_slots).length?Object.values(JSON.parse(t.bonus_slots)):["Not Set"]),casino_bonus_category_display:JSON.stringify(t.casino_bonus_category_display?t.casino_bonus_category_display:"Not Set"),casino_geo_rating:JSON.stringify(t.casino_geo_rating?+t.casino_geo_rating:0),casino_bonus_active_days_left:JSON.stringify(+t.casino_bonus_active_days_left),casino_bonus_days_after_create:JSON.stringify(t.casino_bonus_days_after_create?+t.casino_bonus_days_after_create:0),casino_bonus_exclusive:JSON.stringify(!!t.casino_bonus_exclusive&&JSON.parse(t.casino_bonus_exclusive)),casino_bonus_code:JSON.stringify(t.casino_bonus_code?t.casino_bonus_code:"Not Set"),casino_bonus_cashable:JSON.stringify(!!t.casino_bonus_cashable&&JSON.parse(t.casino_bonus_cashable)),sponsored:JSON.stringify(!!t.promo)}};commentShowMore(e){const t=e.querySelector('[data-element="bonusCardFeedbackText"]'),a=this.getFeedbackText({comment:t.innerText});t.innerHTML="",t.append(a)}}
1const casinoBonusEEAT=new CasinoBonusEEAT;export{casinoBonusEEAT};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.