@everymatrix/blog-articles-grid 1.99.33 → 1.99.35

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.
@@ -1 +1 @@
1
- import{r as t,c as i,h as n}from"./index-6b3cf3ac.js";const e={en:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},ro:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},fr:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},ar:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},hu:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},hr:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},"pt-br":{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},"es-mx":{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."}},o=(t,i,n)=>{var o;const s=null!=i?i:"en",a=null===(o=null==n?void 0:n[s])||void 0===o?void 0:o[t];return"string"==typeof a?a:e[s in e?s:"en"][t]},s="__WIDGET_GLOBAL_STYLE_CACHE__";function a(t,i){if(t){const n=document.createElement("style");n.innerHTML=i,t.appendChild(n)}}function r(t,i){if(!t||!i)return;const n=new URL(i);fetch(n.href).then((t=>t.text())).then((i=>{const n=document.createElement("style");n.innerHTML=i,t&&t.appendChild(n)})).catch((t=>{console.error("There was an error while trying to load client styling from URL",t)}))}function h(t,i,n,e=!1){if(!window.emMessageBus)return;if(!("adoptedStyleSheets"in Document.prototype)||!e)return n=function(t,i){const n=document.createElement("style");return window.emMessageBus.subscribe(i,(i=>{t&&(n.innerHTML=i,t.appendChild(n))}))}(t,i),n;window[s]||(window[s]={}),n=function(t,i){return window.emMessageBus.subscribe(i,(n=>{if(!t)return;const e=t.getRootNode(),o=window[s];let a=o[i]&&o[i].sheet;a?o[i].refCount=o[i].refCount+1:(a=new CSSStyleSheet,a.replaceSync(n),o[i]={sheet:a,refCount:1});const r=e.adoptedStyleSheets||[];r.includes(a)||(e.adoptedStyleSheets=[...r,a])}))}(t,i);const o=n.unsubscribe.bind(n);return n.unsubscribe=()=>{if(window[s][i]){const t=window[s][i];t.refCount>1?t.refCount=t.refCount-1:delete window[s][i]}o()},n}function l(t){return t.includes("android")}const d="all",c=class{constructor(e){t(this,e),this.articleActionButton=i(this,"articleActionButton",7),this.lastPage=1,this.isInitialized=!1,this.paginationDefaultStyling="\n nav#PaginationContainer {\n justify-content: right;\n }\n .LeftItems .PaginationControl .NavigationButton {\n display: none;\n }\n .LeftItems .PaginationControl:after, .RightItems .PaginationControl:after {\n padding: 7px 12px;\n font-size: 18px;\n font-weight: 700;\n line-height: 46px;\n }\n .LeftItems .PaginationControl:after {\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.2em' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E\");\n }\n .RightItems .PaginationControl:after {\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.2em' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E\");\n display: block;\n height: 38px;\n }\n div.LeftItems .PaginationControl, div.RightItems .PaginationControl {\n width: unset;\n height: 40px;\n background-color: #fff;\n color: #000;\n border: 1px solid #000;\n overflow: hidden;\n &[aria-disabled=\"true\"] {\n background-color: #989898;\n }\n }\n div.LeftItems .PaginationControl {\n min-width: 60px;\n border-radius: 20px 0 0 20px;\n border-right: 0;\n }\n div.RightItems .PaginationControl {\n display: flex;\n min-width: 100px;\n justify-content: space-evenly;\n align-items: center;\n border-radius: 0 20px 20px 0;\n text-transform: none;\n }\n .RightItems .PaginationControl .NavigationButton {\n padding: 12px 0 12px 12px;\n font-weight: 700;\n }",this.renderContentConditionally=t=>t&&(!t.includes("<bannermatrix-banner")||this.bannerMatrixReady)?n("p",{class:"BlogContent",innerHTML:t}):null,this.cmsEndpoint=void 0,this.language="en",this.translationUrl="",this.userRoles="everyone",this.cmsEnv="stage",this.mbSource=void 0,this.clientStyling="",this.clientStylingUrl="",this.showPublishingDate=!0,this.showBlogSubcategories=!1,this.hideCategory="",this.showImage=!0,this.showTitle=!0,this.showPageTitle=!1,this.showBreadcrumb=!1,this.showContent=!0,this.showButton=!0,this.hideError=!1,this.usePostmessage=void 0,this.postMessageEvent="",this.blogsLimit="0",this.paginationActive=void 0,this.arrowsActive=!0,this.secondaryArrowsActive=!1,this.numberedNavActive=!1,this.intlDateTimeFormat="",this.page="1",this.category=void 0,this.pageQueryParam=void 0,this.eventId=void 0,this.paginationBlogList={offset:0},this.currentPage=0,this.hasErrors=!1,this.isLoading=!0,this.bannerMatrixReady=!1,this.nextPage="",this.previousPage="",this.device="mobile",this.displayedBlogResponse=void 0,this.paginationBlogResponse=void 0,this.allBlogResponse=void 0,this.totalBlogs=0,this.customTranslations={},this.selectedCategory=d,this.categories=[]}getArticleId(t,i){var n;if(0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return;const e={postId:i.postID.toString(),slug:i.slug,customPath:i.customPath};this.usePostmessage?(t.preventDefault(),window.postMessage(Object.assign({type:this.postMessageEvent},e))):null===(n=this.articleActionButton)||void 0===n||n.emit(e)}handleBannerReady(){this.bannerMatrixReady=!0}watchEndpoint(t,i){this.isInitialized&&(this.setCurrentPage(this.toPageNumber(this.page)),(t||""===t)&&t!=i&&this.cmsEndpoint&&this.language&&this.getBlogArticleGrid())}handlePageChange(t){if(!this.isInitialized)return;const i=this.toPageNumber(t);String(i)===t?i!==this.currentPage+1&&(this.setCurrentPage(i),this.cmsEndpoint&&this.language&&this.getBlogArticleGrid(!0)):this.page=String(i)}handlePopState(){this.pageQueryParam&&(this.page=String(this.toPageNumber(this.getPageFromUrl())))}toPageNumber(t){const i=parseInt(null!=t?t:"",10);return i>0?i:1}setCurrentPage(t){this.currentPage=t-1,this.paginationBlogList=Object.assign(Object.assign({},this.paginationBlogList),{offset:this.currentPage*(parseInt(this.blogsLimit,10)||0)})}getPageFromUrl(){return this.pageQueryParam?new URL(window.location.href).searchParams.get(this.pageQueryParam):null}pushPageToUrl(t){if(!this.pageQueryParam)return;const i=new URL(window.location.href);1===t?i.searchParams.delete(this.pageQueryParam):i.searchParams.set(this.pageQueryParam,String(t)),window.history.pushState(null,"",`${i.pathname}${i.search}${i.hash}`)}handleClientStylingChange(t,i){t!==i&&a(this.stylingContainer,this.clientStyling)}handleClientStylingChangeURL(t,i){t!==i&&this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)}async loadTranslations(){if(this.translationUrl)try{const t=await fetch(this.translationUrl);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);this.customTranslations=await t.json()}catch(t){console.error("Failed to fetch or parse translations from URL:",t)}else this.customTranslations={}}hpPageChange(t){const{offset:i,limit:n}=t.detail,e=Math.floor(i/n)+1;e>=1&&e<=this.lastPage&&e!==this.currentPage+1&&(this.announcePage(e),this.page=String(e))}announcePage(t){window.postMessage({type:"BlogArticlesGridActivePagination",currentPage:t-1},window.location.href),this.pushPageToUrl(t)}getActiveCategory(){return this.categories.find((t=>t.id===this.selectedCategory))}getCategorySlug(t){return t.slug||t.name.toLowerCase().replace(/\s+/g,"-")}getCategoryHref(t){const i=`/${encodeURIComponent(this.language)}/blog`;return t.id===d?i:`${i}/category/${encodeURIComponent(this.getCategorySlug(t))}`}sortArticlesByDate(t){return t.sort(((t,i)=>t.publishingDate>i.publishingDate?-1:t.publishingDate<i.publishingDate?1:0)),t}findLatestFeatured(t){let i=t.filter((t=>t.isFeaturedPost));return 0===i.length?null:(i=this.sortArticlesByDate(i),i[0])}moveLatestFeatureToStart(t,i){if(!i)return t;const n=t.indexOf(i);return-1!==n&&(t.splice(n,1),t.unshift(i)),t}async fetchBlogPosts(t,i=!1){const n=new URL(`${this.cmsEndpoint}/${this.language}/blog-posts`);if(this.selectedCategory&&this.selectedCategory!==d){const t=this.categories.find((t=>t.id==this.selectedCategory));t&&n.searchParams.append("category",this.getCategorySlug(t))}return n.searchParams.append("per_page",i?"300":this.blogsLimit),n.searchParams.append("page",`${t||this.currentPage+1}`),n.searchParams.append("env",this.cmsEnv),n.searchParams.append("userRoles",this.userRoles),n.searchParams.append("device",(()=>{const t=(()=>{let t=window.navigator.userAgent;return t.toLowerCase().match(/android/i)?"Android":t.toLowerCase().match(/iphone/i)?"iPhone":t.toLowerCase().match(/ipad|ipod/i)?"iPad":"PC"})();if(t){if("PC"===t)return"dk";if("iPad"===t||"iPhone"===t)return"mtWeb"}return"mtWeb"})()),fetch(n.href).then((t=>{if(t.status>=300)throw this.hasErrors=!0,new Error("There was an error while fetching the data");return t.json()})).then((t=>{let n=t.items;const e=this.findLatestFeatured(n);return n=this.sortArticlesByDate(n),n=this.moveLatestFeatureToStart(n,e),t=Object.assign(Object.assign({},t),{items:n}),i?this.allBlogResponse=t:this.paginationBlogResponse=t,t})).catch((t=>(this.hasErrors=!0,console.log("Error",t),{})))}async fetchCategories(){try{const t=new URL(`${this.cmsEndpoint}/${this.language}/blog-posts/category`),i=await fetch(t.href);if(!i.ok)throw new Error("Failed to fetch categories");const n=await i.json(),e=this.hideCategory.split(",").map((t=>t.trim().toLowerCase())).filter(Boolean),o=n.filter((t=>{var i;return!e.includes(null===(i=t.name)||void 0===i?void 0:i.toLowerCase())}));this.categories=[{id:d,name:"All"},...o]}catch(t){console.error("Error fetching categories",t)}}async getBlogArticleGrid(t=!1,i){var n,e,o,s,a,r,h;this.isLoading=!0;try{let l;if(this.eventId&&this.eventId.length>0){const s=(null===(n=this.allBlogResponse)||void 0===n?void 0:n.items)?this.allBlogResponse:await this.fetchBlogPosts(1,!0),a=s.items.filter((({eventIds:t})=>{var i;return t.includes(null!==(i=this.eventId)&&void 0!==i?i:"-")}));a.length?(l=Object.assign(Object.assign({},s),{items:a,total:Math.min(parseInt(this.blogsLimit),a.length)}),window.postMessage({type:"OP:blogReady",payload:{hasBlog:!0}},"*")):(window.postMessage({type:"OP:blogReady",payload:{hasBlog:!1}},"*"),l=(null===(o=null===(e=this.paginationBlogResponse)||void 0===e?void 0:e.items)||void 0===o?void 0:o.length)&&!t?this.paginationBlogResponse:await this.fetchBlogPosts(i))}else l=(null===(a=null===(s=this.paginationBlogResponse)||void 0===s?void 0:s.items)||void 0===a?void 0:a.length)&&!t?this.paginationBlogResponse:await this.fetchBlogPosts(i);this.displayedBlogResponse=l,this.totalBlogs=l.total,this.lastPage=+((null===(h=null===(r=l.pages.last)||void 0===r?void 0:r.match(/&page=(\d+)/))||void 0===h?void 0:h[1])||1),this.nextPage=l.pages.next,this.previousPage=l.pages.previous,this.isLoading=!1,this.hasErrors=!1}catch(t){this.hasErrors=!0,console.log("Error",t)}}async componentWillLoad(){var t;if(this.cmsEndpoint&&this.language&&(await this.fetchCategories(),this.category)){const t=this.categories.find((t=>t.id!==d&&this.getCategorySlug(t)===this.category));t?(this.selectedCategory=t.id,this.emitActiveCategory()):window.postMessage({type:"BlogCategoryNotFound"},window.location.href)}const i=this.toPageNumber(null!==(t=this.getPageFromUrl())&&void 0!==t?t:this.page);return this.page=String(i),this.setCurrentPage(i),this.cmsEndpoint&&this.language&&this.blogsLimit&&this.getBlogArticleGrid(),this.loadTranslations()}emitActiveCategory(){var t;const i=this.categories.find((t=>t.id===this.selectedCategory));window.postMessage({type:"BlogArticlesActiveCategory",category:this.selectedCategory===d?null:null==i?void 0:i.name,categorySlug:i&&this.selectedCategory!==d?this.getCategorySlug(i):null,metadata:this.selectedCategory===d?null:null!==(t=null==i?void 0:i.metadata)&&void 0!==t?t:null},window.location.href)}handleCategoryClick(t,i){!this.usePostmessage||0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),this.handleCategoryChange(i))}async handleCategoryChange(t){this.isLoading||this.selectedCategory===t||(this.selectedCategory=t,this.emitActiveCategory(),0!==this.currentPage&&(this.setCurrentPage(1),this.page="1"),await this.getBlogArticleGrid(!0,1))}handleClientStyling(){void 0===window.emMessageBus?(this.clientStyling&&a(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)):this.stylingSubscription=h(this.stylingContainer,`${this.mbSource}.Style`,this.stylingSubscription,!0)}componentDidLoad(){this.handleClientStyling(),this.isInitialized=!0,window.postMessage({type:"BlogArticlesGridLoaded"},window.location.href),this.device=((t=!1)=>{if("undefined"==typeof window||"undefined"==typeof navigator)return"desktop";const i=navigator.userAgent.toLowerCase(),n=window.innerWidth;if(function(t){return!!t.includes("ipad")||t.includes("macintosh")&&navigator.maxTouchPoints>0}(i))return"tablet";if(function(t){return t.includes("iphone")||t.includes("ipod")}(i))return"mobile";if(function(t,i){return l(t)&&(t.includes("mobile")||t.includes("mobi")||i<=599)}(i,n))return"mobile";if(function(t,i){return l(t)&&!t.includes("mobile")&&!t.includes("mobi")&&i>599}(i,n))return"tablet";if(t){if(n<=599)return"mobile";if(n<=1099)return"tablet"}return"desktop"})()}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}setImage(t){var i,n;return(null===(n=null===(i=t.sources)||void 0===i?void 0:i["mobile"===this.device?0:"tablet"===this.device?1:2])||void 0===n?void 0:n.pictureSource)||t.src}parseDate(t){const i=new Date(t);if(i instanceof Date&&!Number.isNaN(i.getTime()))return i;const[n,e,o]=t.trim().split("/").map(Number);return new Date(o,e-1,n)}formatDate(t){const i=this.parseDate(t);return new Intl.DateTimeFormat(this.intlDateTimeFormat||"en-GB",{day:"numeric",month:"short",year:"numeric"}).format(i)}render(){var t;if(this.hasErrors)return n("div",{class:"BlogsContainer"},!this.hideError&&n("div",{class:"ErrorMessage"},o("error",this.language,this.customTranslations)));const i=[];for(let t=0;t<parseInt(this.blogsLimit);t++)i.push(n("div",{class:"GridContainer FeaturedPost Skeleton"},n("div",{class:"GridWrapper"},n("div",{class:"GridSector"},n("div",{class:"VisualContent LoadingImage"})),n("div",{class:"GridSector"},n("div",{class:"BlogTitle LoadingStripe LoadingSmallStripe"}),n("div",{class:"BlogDetails LoadingStripe LoadingMediumStripe"}),n("div",{class:"BlogLink LoadingStripe LoadingLongStripe"})))));const e=Boolean(this.paginationActive)&&this.totalBlogs>+this.blogsLimit,s=this.mbSource?void 0:this.clientStyling||this.paginationDefaultStyling,a=this.getActiveCategory();return n("div",{ref:t=>this.stylingContainer=t},this.showBreadcrumb&&n("nav",{class:"breadcrumb","aria-label":"Breadcrumb"},n("a",{href:`/${encodeURIComponent(this.language)}`},o("home",this.language,this.customTranslations)),n("span",{"aria-hidden":"true"},"›"),a&&this.selectedCategory!==d?[n("a",{href:`/${encodeURIComponent(this.language)}/blog`},o("blog",this.language,this.customTranslations)),n("span",{"aria-hidden":"true"},"›"),n("span",{"aria-current":"page"},a.name)]:n("span",{"aria-current":"page"},o("blog",this.language,this.customTranslations))),this.showPageTitle&&n("h1",{class:"BlogPageTitle"}," ",this.selectedCategory!==d?null==a?void 0:a.name:o("blogPageTitle",this.language,this.customTranslations)," "),this.selectedCategory!==d&&(null==a?void 0:a.description)&&n("div",{class:"BlogPageDescription",innerHTML:a.description}),n("div",{class:"BlogPageContainer"},this.showBlogSubcategories&&n("div",{class:"BlogCategoriesSliderWrapper"},n("div",{class:"CarouselWrapper"},n("div",{class:"CarouselContainer"},n("div",{class:"BlogCategoriesWrapper"},n("div",{class:"CategoryButtons"},this.categories.map((t=>n("a",{href:this.getCategoryHref(t),"aria-current":this.selectedCategory===t.id?"page":void 0,key:t.id,class:{CategoryButton:!0,active:this.selectedCategory===t.id},onClick:i=>this.handleCategoryClick(i,t.id)},t.name)))))))),n("div",{class:"BlogGridPaginationWrapper"},e&&n("helper-pagination",{"next-page":this.nextPage,"prev-page":this.previousPage,offset:this.paginationBlogList.offset,limit:parseInt(this.blogsLimit,10),total:this.totalBlogs,language:this.language,"mb-source":this.mbSource,"client-styling":s,"client-styling-url":this.clientStylingUrl,"arrows-active":this.arrowsActive,"secondary-arrows-active":this.secondaryArrowsActive,"numbered-nav-active":this.numberedNavActive,"page-query-param":this.pageQueryParam})),!this.isLoading&&0===(null===(t=this.displayedBlogResponse)||void 0===t?void 0:t.items.length)&&n("p",{class:"EmptyState",role:"status"},o(this.selectedCategory===d?"emptyState":"emptyCategoryState",this.language,this.customTranslations)),!this.isLoading&&n("div",{class:`GridContainerWrapper BlogPage-${this.currentPage} ${this.device}`},this.displayedBlogResponse&&this.displayedBlogResponse.items.map((t=>{var i,e;const s=this.categories.filter((i=>{var n;return i.id!==d&&(null===(n=t.blogCategory)||void 0===n?void 0:n.includes(this.getCategorySlug(i)))}));return n("div",{key:t.postID,class:t.isFeaturedPost?"GridContainer FeaturedPost":"GridContainer"},n("div",{class:"GridWrapper"},n("div",{class:"GridSector"},this.showPublishingDate&&n("div",{class:"BlogDate"},n("time",{dateTime:t.publishingDate},this.formatDate(t.publishingDate))),this.showImage&&(null===(i=t.image)||void 0===i?void 0:i.src)?n("img",{class:"VisualContent",src:this.setImage(t.image),alt:t.image.alt||t.title,width:"400",height:"225",loading:"lazy"}):(null===(e=t.video)||void 0===e?void 0:e.sources[this.device])?n("video",{class:"VisualContent",src:t.video.sources[this.device]}):n("span",{class:"VisualContent",style:{color:"#fff"}},"No Image")),n("div",{class:"GridSector"},s.length>0&&n("div",{class:"CategoryButtons BlogCardCategories"},s.map((t=>n("a",{class:"CategoryButton",href:this.getCategoryHref(t),onClick:i=>this.handleCategoryClick(i,t.id)},t.name)))),this.showTitle&&n("h2",{class:"BlogTitle"},n("a",{class:"BlogCardLink",href:`/${encodeURIComponent(this.language)}/blog/${encodeURIComponent(t.customPath||t.slug)}`,onClick:i=>this.getArticleId(i,t)},t.title)),this.showContent&&this.renderContentConditionally(t.descriptionPreview),this.showButton&&n("span",{class:"BlogLink"},o("readmore",this.language,this.customTranslations)))))}))),this.isLoading&&n("div",{class:"GridContainerWrapper LoadingGrid"},i)))}static get watchers(){return{hasErrors:["watchEndpoint"],cmsEndpoint:["watchEndpoint"],language:["watchEndpoint"],cmsEnv:["watchEndpoint"],userRoles:["watchEndpoint"],blogsLimit:["watchEndpoint"],eventId:["watchEndpoint"],page:["handlePageChange"],clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingChangeURL"],translationUrl:["loadTranslations"]}}};c.style=':host {\n display: block;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.5rem;\n max-width: 1300px;\n padding: 0 20px;\n margin: 40px auto 20px;\n color: var(--emw--color-typography);\n}\n.breadcrumb a {\n color: inherit;\n}\n\n.BlogPageTitle {\n max-width: 1300px;\n padding: 0 20px;\n margin: 0 auto;\n color: var(--emw--color-primary);\n font-size: 22px;\n font-weight: 600;\n line-height: 1.2;\n}\n\n.BlogPageDescription {\n max-width: 1300px;\n padding: 0 20px;\n margin: 0 auto;\n color: var(--emw--color-typography);\n line-height: 1.2;\n}\n\n.BlogPageContainer {\n background: #0A0A17;\n padding: 20px;\n}\n\n.EmptyState {\n color: var(--emw--color-typography);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 325px;\n margin: 0;\n}\n\n.GridContainerWrapper {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 20px;\n}\n\n.BlogPage-0 .GridContainer.FeaturedPost:first-child {\n width: 100%;\n flex-basis: auto;\n}\n\n.GridContainer {\n position: relative;\n container-type: inline-size;\n container-name: article;\n border-radius: 15px;\n color: #000;\n overflow: hidden;\n}\n.GridContainer.FeaturedPost:first-child {\n grid-column: 1/-1;\n width: 100%;\n}\n.GridContainer .GridWrapper {\n display: flex;\n flex-direction: row;\n height: 280px;\n background: var(--emw--color-white, #FFFFFF);\n}\n.GridContainer:not(.Skeleton):hover .GridWrapper {\n background: color-mix(in srgb, var(--emw--color-white, #FFFFFF) 90%, #000);\n}\n.GridContainer .GridSector {\n flex-basis: 50%;\n position: relative;\n}\n.GridContainer .GridSector:first-of-type {\n height: 280px;\n display: flex;\n}\n.GridContainer .GridSector:last-of-type {\n position: static;\n padding: 20px 40px;\n display: flex;\n flex-direction: column;\n}\n.GridContainer .VisualContent {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.GridContainer .BlogDate {\n position: absolute;\n bottom: 0px;\n left: 30px;\n font-size: 12px;\n border-radius: 5px 5px 0 0;\n padding: 10px;\n width: fit-content;\n text-align: center;\n color: var(--emw--color-white, #FFFFFF);\n background-color: #CD0B5E;\n z-index: 1;\n pointer-events: none;\n}\n.GridContainer .BlogTitle {\n margin: 0;\n font-size: 24px;\n font-weight: 400;\n color: #000;\n padding-bottom: 10px;\n}\n.GridContainer .BlogTitle .BlogCardLink {\n display: block;\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n}\n.GridContainer .BlogTitle .BlogCardLink:focus-visible {\n outline: none;\n}\n.GridContainer .BlogTitle .BlogCardLink:focus-visible::after {\n border-radius: 15px;\n outline: 3px solid var(--emw--color-primary, #CD0B5E);\n outline-offset: -3px;\n}\n.GridContainer .BlogTitle .BlogCardLink::after {\n content: "";\n position: absolute;\n inset: 0;\n z-index: 2;\n}\n.GridContainer .BlogContent {\n margin: 0;\n display: -webkit-box;\n font-size: 14px;\n line-height: 1.2em;\n -webkit-line-clamp: 6;\n color: #000;\n -webkit-box-orient: vertical;\n box-sizing: border-box;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.GridContainer .BlogLink {\n color: #22B04E;\n font-size: 14px;\n position: absolute;\n bottom: 16px;\n padding-top: 2.5px;\n}\n\n@container article (max-width: 550px) {\n .GridContainer .GridWrapper {\n height: 380px;\n flex-direction: column;\n }\n .GridContainer .GridWrapper .GridSector:first-of-type {\n height: 120px;\n flex-shrink: 0;\n flex-basis: 150px;\n }\n .GridContainer .GridWrapper .GridSector:last-of-type {\n padding: 20px 20px 40px;\n }\n}\n.LoadingImage {\n width: 100%;\n height: 100%;\n background-color: var(--emw--color-gray-100, #E6E6E6);\n}\n\n.LoadingStripe {\n border: 1px solid var(--emw--color-white, #FFFFFF);\n height: 20%;\n background-color: var(--emw--color-gray-100, #E6E6E6);\n margin-bottom: 5px;\n}\n\n.LoadingSmallStripe {\n width: 40%;\n}\n\n.LoadingMediumStripe {\n width: 70%;\n}\n\n.BlogLink.LoadingLongStripe {\n position: static;\n width: 100%;\n}\n\n.GridContainerWrapper.LoadingGrid .GridSector {\n justify-content: space-around;\n}\n\n.GridContainerWrapper.LoadingGrid .LoadingImage, .GridContainerWrapper.LoadingGrid .LoadingStripe {\n animation: pulsatingLoader 2s ease-in-out 0s infinite reverse;\n -webkit-animation: pulsatingLoader 2s ease-in-out 0s infinite reverse;\n}\n\n@keyframes pulsatingLoader {\n 0% {\n opacity: 0.5;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.5;\n }\n}\n@-webkit-keyframes pulsatingLoader {\n 0% {\n opacity: 0.5;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.5;\n }\n}\n.BlogCategoriesWrapper {\n margin-bottom: 24px;\n}\n\n.FilterLabel {\n margin-bottom: 12px;\n color: var(--emw--color-white, #fff);\n font-weight: 600;\n}\n\n.CategoryButtons {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.CategoryButton {\n padding: 10px 20px;\n border-radius: 999px;\n border: 1px solid currentColor;\n text-decoration: none;\n background: transparent;\n color: var(--emw--color-white, #fff);\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.CategoryButton.active {\n background: var(--emw--casino-color-primary, var(--emw--color-primary, #22B04E));\n color: var(--emw--color-background, #fff);\n}\n\n.BlogCardCategories {\n margin-bottom: 10px;\n}\n.BlogCardCategories .CategoryButton {\n position: relative;\n z-index: 3;\n padding: 4px 10px;\n color: inherit;\n font-size: 12px;\n}';const g={en:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},ro:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},fr:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},ar:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},hu:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},hr:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"}},p=class{constructor(n){t(this,n),this.hpPageChange=i(this,"hpPageChange",7),this.userAgent=window.navigator.userAgent,this.currentPage=1,this.navigateTo=t=>{var i;switch(t){case"firstPage":this.offsetInt=0;break;case"lastPage":this.offsetInt=this.endInt*this.limitInt;break;case"previousPage":this.offsetInt-=this.limitInt;break;case"nextPage":this.offsetInt+=this.limitInt;break;case"fivePagesBack":this.offsetInt-=5*this.limitInt,this.offsetInt=this.offsetInt<=0?0:this.offsetInt;break;case"fivePagesForward":this.offsetInt+=5*this.limitInt,this.offsetInt=this.offsetInt/this.limitInt>=this.endInt?this.endInt*this.limitInt:this.offsetInt}this.previousPage=!!this.offsetInt,null===(i=this.hpPageChange)||void 0===i||i.emit({offset:this.offsetInt,limit:this.limitInt,total:this.totalInt})},this.paginationNavigation=(t,i)=>{var n;this.previousPage=!0,isNaN(t)?0===i&&this.currentPage<=4?this.navigateTo("firstPage"):0===i&&this.currentPage>4?this.navigateTo("fivePagesBack"):4===i&&this.endInt-this.currentPage>=2&&this.navigateTo("fivePagesForward"):1===t?(this.offsetInt=t-1,this.previousPage=!1):this.offsetInt=(t-1)*this.limitInt,null===(n=this.hpPageChange)||void 0===n||n.emit({offset:this.offsetInt,limit:this.limitInt,total:this.totalInt})},this.nextPage="",this.prevPage="",this.offset=0,this.limit=1,this.total=1,this.language="en",this.mbSource=void 0,this.clientStyling="",this.clientStylingUrl="",this.arrowsActive=!0,this.secondaryArrowsActive=!1,this.numberedNavActive=!1,this.pageQueryParam=void 0,this.page=1,this.offsetInt=0,this.lastPage=!1,this.previousPage=!1,this.limitInt=0,this.totalInt=0,this.pagesArray=[],this.endInt=0}handleClientStylingChange(t,i){t!==i&&a(this.stylingContainer,this.clientStyling)}handleClientStylingChangeURL(t,i){t!==i&&this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)}componentWillRender(){this.offsetInt=this.offset,this.limitInt=this.limit,this.currentPage=this.offsetInt/this.limitInt+1,this.limitInt=this.limit,this.totalInt=this.total,this.endInt=Math.ceil(this.totalInt/this.limitInt)-1,this.lastPage=!(this.offsetInt>=this.endInt*this.limitInt),this.endInt<4?this.pagesArray=Array.from({length:this.endInt+1},((t,i)=>i+1)):1==this.currentPage||2==this.currentPage?(this.pagesArray=Array.from({length:4},((t,i)=>i+1)),this.pagesArray.push("...")):this.currentPage>=3&&this.endInt-this.currentPage>=2?(this.pagesArray=Array.from({length:3},((t,i)=>this.currentPage+i-1)),this.pagesArray.push("..."),this.pagesArray.unshift("...")):this.endInt-this.currentPage<3&&(this.pagesArray=Array.from({length:4},((t,i)=>this.endInt-2+i)),this.pagesArray.unshift("..."))}handleClientStyling(){void 0===window.emMessageBus?(this.clientStyling&&a(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&r(this.stylingContainer,this.clientStylingUrl)):this.stylingSubscription=h(this.stylingContainer,`${this.mbSource}.Style`,this.stylingSubscription,!0)}componentDidLoad(){this.handleClientStyling()}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}pageHref(t){if(!this.pageQueryParam)return"#";const i=new URL(window.location.href),n=t+this.page-1;return 1===n?i.searchParams.delete(this.pageQueryParam):i.searchParams.set(this.pageQueryParam,String(n)),`${i.pathname}${i.search}${i.hash}`}renderNavigationButton(t,i,e,o){const s=g[void 0!==(a=this.language)&&a in g?a:"en"][i];var a;return n(e?"a":"span",{class:"PaginationControl",href:e?this.pageHref(t):void 0,rel:e?o:void 0,"aria-label":s,"aria-disabled":e?void 0:"true",onClick:e?t=>{0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),this.navigateTo(i))}:void 0},n("span",{class:"NavigationButton"},s),n("span",{class:"NavigationIcon"}))}render(){let t=n("ul",{class:"PaginationArea"},this.pagesArray.map(((t,i)=>{const e="number"==typeof t?t:0===i?Math.max(1,this.currentPage-5):Math.min(this.endInt+1,this.currentPage+5);return n("li",{class:"PaginationItem"+(t===this.currentPage?" ActiveItem":" ")+" "+(o=this.userAgent,o.toLowerCase().match(/android/i)||o.toLowerCase().match(/blackberry|bb/i)||o.toLowerCase().match(/iphone|ipad|ipod/i)||o.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i)?"MobileButtons":"")},n("a",{href:this.pageHref(e),"aria-current":t===this.currentPage?"page":void 0,"aria-disabled":t===this.currentPage?"true":void 0,tabIndex:t===this.currentPage?-1:void 0,onClick:n=>{0!==n.button||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||(n.preventDefault(),t!==this.currentPage&&this.paginationNavigation(t,i))}},n("span",null,t)));var o})));const i=n("div",{class:"LeftItems"},this.secondaryArrowsActive&&this.renderNavigationButton(1,"firstPage",Boolean(this.prevPage)),this.renderNavigationButton(this.currentPage-1,"previousPage",Boolean(this.prevPage),"prev")),e=n("div",{class:"RightItems"},this.renderNavigationButton(this.currentPage+1,"nextPage",Boolean(this.nextPage),"next"),this.secondaryArrowsActive&&this.renderNavigationButton(this.endInt+1,"lastPage",Boolean(this.nextPage)));return n("nav",{id:"PaginationContainer",class:"PaginationContainer","aria-label":"Blog pagination",ref:t=>this.stylingContainer=t},this.arrowsActive&&i,this.numberedNavActive&&t,this.arrowsActive&&e)}static get watchers(){return{clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingChangeURL"]}}};p.style='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");:host{display:block;font-family:"Roboto", sans-serif}#PaginationContainer{width:100%;margin:20px 0;display:inline-flex;justify-content:space-between;align-items:center}.LeftItems .PaginationControl:not(:first-child),.RightItems .PaginationControl:not(:last-child){margin:0 10px}.LeftItems .PaginationControl,.RightItems .PaginationControl{padding:0;background-color:#009993;border-color:#009993}.PaginationArea{display:inline-flex;gap:10px;list-style:none}.PaginationArea li{margin:0;padding:0}.PaginationArea li a{width:24px;height:24px;display:flex;border:0;padding:0;justify-content:center;align-items:center;background-color:transparent;color:#000;cursor:pointer;pointer-events:all}.PaginationItem.ActiveItem a{background:#009993;border-color:#009993;color:#fff}.PaginationItem.ActiveItem a[aria-disabled=true]{pointer-events:none;cursor:not-allowed}.PaginationItem a:hover,.PaginationItem a:active{background:#009993;border-color:#009993;color:#fff;opacity:0.8}a,.PaginationControl{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-decoration:none;width:100px;height:32px;border:1px solid #524e52;border-radius:5px;background:#524e52;color:#fff;font-size:14px;font:inherit;cursor:pointer;transition:background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, opacity 0.1s linear;text-transform:uppercase;text-align:center;letter-spacing:0}a:hover,a:active{background:#004D4A;border-color:#004D4A}a[aria-disabled=true],.PaginationControl[aria-disabled=true]{background-color:#ccc;border-color:#ccc;color:#fff;cursor:not-allowed}@media screen and (max-width: 720px){#PaginationContainer{flex-wrap:wrap;row-gap:10px}#PaginationContainer .LeftItems,#PaginationContainer .RightItems{display:flex;flex-direction:column;gap:10px}#PaginationContainer .RightItems{flex-direction:column-reverse}#PaginationContainer .PaginationControl{margin:0}#PaginationContainer .PaginationArea{order:1;flex-basis:100%;justify-content:center;margin:0;padding:0}a,.PaginationControl{width:90px;font-size:14px}}@media screen and (max-width: 480px){a,.PaginationControl{width:70px;font-size:14px}.paginationArea{padding:5px}}@media screen and (max-width: 320px){a,.PaginationControl{width:58px;font-size:12px}.paginationArea{padding:5px;gap:5px}}@media (hover: none){.paginationItem a:hover{background:inherit;border-color:inherit;color:inherit;opacity:1}.paginationItem.activeItem a:hover{background:#009993;border-color:#009993;color:#fff}}';export{c as blog_articles_grid,p as helper_pagination}
1
+ import{r as t,c as i,h as n}from"./index-6b3cf3ac.js";const e={en:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},ro:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},fr:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},ar:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},hu:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},hr:{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},"pt-br":{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."},"es-mx":{error:"Error",readmore:"Read more",home:"Home",blog:"Blog",blogPageTitle:"Blog",emptyState:"We haven’t published any posts yet. Check back soon.",emptyCategoryState:"We haven’t published any posts in this category. Check back soon, or browse all our articles."}},o=(t,i,n)=>{var o;const s=null!=i?i:"en",a=null===(o=null==n?void 0:n[s])||void 0===o?void 0:o[t];return"string"==typeof a?a:e[s in e?s:"en"][t]},s=t=>t.toLowerCase().replace(/[\s\/`~@\$%\^&\*\(\)_\+\[\]\\\{\}\|;':",\.<>\?#–]/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,""),a="__WIDGET_GLOBAL_STYLE_CACHE__";function r(t,i){if(t){const n=document.createElement("style");n.innerHTML=i,t.appendChild(n)}}function h(t,i){if(!t||!i)return;const n=new URL(i);fetch(n.href).then((t=>t.text())).then((i=>{const n=document.createElement("style");n.innerHTML=i,t&&t.appendChild(n)})).catch((t=>{console.error("There was an error while trying to load client styling from URL",t)}))}function l(t,i,n,e=!1){if(!window.emMessageBus)return;if(!("adoptedStyleSheets"in Document.prototype)||!e)return n=function(t,i){const n=document.createElement("style");return window.emMessageBus.subscribe(i,(i=>{t&&(n.innerHTML=i,t.appendChild(n))}))}(t,i),n;window[a]||(window[a]={}),n=function(t,i){return window.emMessageBus.subscribe(i,(n=>{if(!t)return;const e=t.getRootNode(),o=window[a];let s=o[i]&&o[i].sheet;s?o[i].refCount=o[i].refCount+1:(s=new CSSStyleSheet,s.replaceSync(n),o[i]={sheet:s,refCount:1});const r=e.adoptedStyleSheets||[];r.includes(s)||(e.adoptedStyleSheets=[...r,s])}))}(t,i);const o=n.unsubscribe.bind(n);return n.unsubscribe=()=>{if(window[a][i]){const t=window[a][i];t.refCount>1?t.refCount=t.refCount-1:delete window[a][i]}o()},n}function d(t){return t.includes("android")}const g="all",c=class{constructor(e){t(this,e),this.articleActionButton=i(this,"articleActionButton",7),this.lastPage=1,this.isInitialized=!1,this.paginationDefaultStyling="\n nav#PaginationContainer {\n justify-content: right;\n }\n .LeftItems .PaginationControl .NavigationButton {\n display: none;\n }\n .LeftItems .PaginationControl:after, .RightItems .PaginationControl:after {\n padding: 7px 12px;\n font-size: 18px;\n font-weight: 700;\n line-height: 46px;\n }\n .LeftItems .PaginationControl:after {\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.2em' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E\");\n }\n .RightItems .PaginationControl:after {\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.2em' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E\");\n display: block;\n height: 38px;\n }\n div.LeftItems .PaginationControl, div.RightItems .PaginationControl {\n width: unset;\n height: 40px;\n background-color: #fff;\n color: #000;\n border: 1px solid #000;\n overflow: hidden;\n &[aria-disabled=\"true\"] {\n background-color: #989898;\n }\n }\n div.LeftItems .PaginationControl {\n min-width: 60px;\n border-radius: 20px 0 0 20px;\n border-right: 0;\n }\n div.RightItems .PaginationControl {\n display: flex;\n min-width: 100px;\n justify-content: space-evenly;\n align-items: center;\n border-radius: 0 20px 20px 0;\n text-transform: none;\n }\n .RightItems .PaginationControl .NavigationButton {\n padding: 12px 0 12px 12px;\n font-weight: 700;\n }",this.renderContentConditionally=t=>t&&(!t.includes("<bannermatrix-banner")||this.bannerMatrixReady)?n("p",{class:"BlogContent",innerHTML:t}):null,this.cmsEndpoint=void 0,this.language="en",this.translationUrl="",this.userRoles="everyone",this.cmsEnv="stage",this.mbSource=void 0,this.clientStyling="",this.clientStylingUrl="",this.showPublishingDate=!0,this.showBlogSubcategories=!1,this.hideCategory="",this.showImage=!0,this.showTitle=!0,this.showPageTitle=!1,this.showBreadcrumb=!1,this.showContent=!0,this.showButton=!0,this.hideError=!1,this.usePostmessage=void 0,this.postMessageEvent="",this.blogsLimit="0",this.paginationActive=void 0,this.arrowsActive=!0,this.secondaryArrowsActive=!1,this.numberedNavActive=!1,this.intlDateTimeFormat="",this.page="1",this.category=void 0,this.pageQueryParam=void 0,this.eventId=void 0,this.paginationBlogList={offset:0},this.currentPage=0,this.hasErrors=!1,this.isLoading=!0,this.bannerMatrixReady=!1,this.nextPage="",this.previousPage="",this.device="mobile",this.displayedBlogResponse=void 0,this.paginationBlogResponse=void 0,this.allBlogResponse=void 0,this.totalBlogs=0,this.customTranslations={},this.selectedCategory=g,this.categories=[]}getArticleId(t,i){var n;if(0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return;const e={postId:i.postID.toString(),slug:i.slug,customPath:i.customPath};this.usePostmessage?(t.preventDefault(),window.postMessage(Object.assign({type:this.postMessageEvent},e))):null===(n=this.articleActionButton)||void 0===n||n.emit(e)}handleBannerReady(){this.bannerMatrixReady=!0}watchEndpoint(t,i){this.isInitialized&&(this.setCurrentPage(this.toPageNumber(this.page)),(t||""===t)&&t!=i&&this.cmsEndpoint&&this.language&&this.getBlogArticleGrid())}handlePageChange(t){if(!this.isInitialized)return;const i=this.toPageNumber(t);String(i)===t?i!==this.currentPage+1&&(this.setCurrentPage(i),this.cmsEndpoint&&this.language&&this.getBlogArticleGrid(!0)):this.page=String(i)}handlePopState(){this.pageQueryParam&&(this.page=String(this.toPageNumber(this.getPageFromUrl())))}toPageNumber(t){const i=parseInt(null!=t?t:"",10);return i>0?i:1}setCurrentPage(t){this.currentPage=t-1,this.paginationBlogList=Object.assign(Object.assign({},this.paginationBlogList),{offset:this.currentPage*(parseInt(this.blogsLimit,10)||0)})}getPageFromUrl(){return this.pageQueryParam?new URL(window.location.href).searchParams.get(this.pageQueryParam):null}pushPageToUrl(t){if(!this.pageQueryParam)return;const i=new URL(window.location.href);1===t?i.searchParams.delete(this.pageQueryParam):i.searchParams.set(this.pageQueryParam,String(t)),window.history.pushState(null,"",`${i.pathname}${i.search}${i.hash}`)}handleClientStylingChange(t,i){t!==i&&r(this.stylingContainer,this.clientStyling)}handleClientStylingChangeURL(t,i){t!==i&&this.clientStylingUrl&&h(this.stylingContainer,this.clientStylingUrl)}async loadTranslations(){if(this.translationUrl)try{const t=await fetch(this.translationUrl);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);this.customTranslations=await t.json()}catch(t){console.error("Failed to fetch or parse translations from URL:",t)}else this.customTranslations={}}hpPageChange(t){const{offset:i,limit:n}=t.detail,e=Math.floor(i/n)+1;e>=1&&e<=this.lastPage&&e!==this.currentPage+1&&(this.announcePage(e),this.page=String(e))}announcePage(t){window.postMessage({type:"BlogArticlesGridActivePagination",currentPage:t-1},window.location.href),this.pushPageToUrl(t)}getActiveCategory(){return this.categories.find((t=>t.id===this.selectedCategory))}getCategorySlug(t){return s(t.name)}getCategoryFetchSlug(t){return t.slug||s(t.name)}getCategoryHref(t){const i=`/${encodeURIComponent(this.language)}/blog`;return t.id===g?i:`${i}/category/${encodeURIComponent(this.getCategorySlug(t))}`}sortArticlesByDate(t){return t.sort(((t,i)=>t.publishingDate>i.publishingDate?-1:t.publishingDate<i.publishingDate?1:0)),t}findLatestFeatured(t){let i=t.filter((t=>t.isFeaturedPost));return 0===i.length?null:(i=this.sortArticlesByDate(i),i[0])}moveLatestFeatureToStart(t,i){if(!i)return t;const n=t.indexOf(i);return-1!==n&&(t.splice(n,1),t.unshift(i)),t}async fetchBlogPosts(t,i=!1){const n=new URL(`${this.cmsEndpoint}/${this.language}/blog-posts`);if(this.selectedCategory&&this.selectedCategory!==g){const t=this.categories.find((t=>t.id==this.selectedCategory));t&&n.searchParams.append("category",this.getCategoryFetchSlug(t))}return n.searchParams.append("per_page",i?"300":this.blogsLimit),n.searchParams.append("page",`${t||this.currentPage+1}`),n.searchParams.append("env",this.cmsEnv),n.searchParams.append("userRoles",this.userRoles),n.searchParams.append("device",(()=>{const t=(()=>{let t=window.navigator.userAgent;return t.toLowerCase().match(/android/i)?"Android":t.toLowerCase().match(/iphone/i)?"iPhone":t.toLowerCase().match(/ipad|ipod/i)?"iPad":"PC"})();if(t){if("PC"===t)return"dk";if("iPad"===t||"iPhone"===t)return"mtWeb"}return"mtWeb"})()),fetch(n.href).then((t=>{if(t.status>=300)throw this.hasErrors=!0,new Error("There was an error while fetching the data");return t.json()})).then((t=>{let n=t.items;const e=this.findLatestFeatured(n);return n=this.sortArticlesByDate(n),n=this.moveLatestFeatureToStart(n,e),t=Object.assign(Object.assign({},t),{items:n}),i?this.allBlogResponse=t:this.paginationBlogResponse=t,t})).catch((t=>(this.hasErrors=!0,console.log("Error",t),{})))}async fetchCategories(){try{const t=new URL(`${this.cmsEndpoint}/${this.language}/blog-posts/category`),i=await fetch(t.href);if(!i.ok)throw new Error("Failed to fetch categories");const n=await i.json(),e=this.hideCategory.split(",").map((t=>t.trim().toLowerCase())).filter(Boolean),o=n.filter((t=>{var i;return!e.includes(null===(i=t.name)||void 0===i?void 0:i.toLowerCase())}));this.categories=[{id:g,name:"All"},...o]}catch(t){console.error("Error fetching categories",t)}}async getBlogArticleGrid(t=!1,i){var n,e,o,s,a,r,h;this.isLoading=!0;try{let l;if(this.eventId&&this.eventId.length>0){const s=(null===(n=this.allBlogResponse)||void 0===n?void 0:n.items)?this.allBlogResponse:await this.fetchBlogPosts(1,!0),a=s.items.filter((({eventIds:t})=>{var i;return t.includes(null!==(i=this.eventId)&&void 0!==i?i:"-")}));a.length?(l=Object.assign(Object.assign({},s),{items:a,total:Math.min(parseInt(this.blogsLimit),a.length)}),window.postMessage({type:"OP:blogReady",payload:{hasBlog:!0}},"*")):(window.postMessage({type:"OP:blogReady",payload:{hasBlog:!1}},"*"),l=(null===(o=null===(e=this.paginationBlogResponse)||void 0===e?void 0:e.items)||void 0===o?void 0:o.length)&&!t?this.paginationBlogResponse:await this.fetchBlogPosts(i))}else l=(null===(a=null===(s=this.paginationBlogResponse)||void 0===s?void 0:s.items)||void 0===a?void 0:a.length)&&!t?this.paginationBlogResponse:await this.fetchBlogPosts(i);this.displayedBlogResponse=l,this.totalBlogs=l.total,this.lastPage=+((null===(h=null===(r=l.pages.last)||void 0===r?void 0:r.match(/&page=(\d+)/))||void 0===h?void 0:h[1])||1),this.nextPage=l.pages.next,this.previousPage=l.pages.previous,this.isLoading=!1,this.hasErrors=!1,this.emitContent(l.items)}catch(t){this.hasErrors=!0,console.log("Error",t)}}async componentWillLoad(){var t;if(this.cmsEndpoint&&this.language&&(await this.fetchCategories(),this.category)){const t=this.categories.find((t=>t.id!==g&&this.getCategorySlug(t)===this.category));t?(this.selectedCategory=t.id,this.emitActiveCategory()):window.postMessage({type:"BlogCategoryNotFound"},window.location.href)}const i=this.toPageNumber(null!==(t=this.getPageFromUrl())&&void 0!==t?t:this.page);return this.page=String(i),this.setCurrentPage(i),this.cmsEndpoint&&this.language&&this.blogsLimit&&this.getBlogArticleGrid(),this.loadTranslations()}emitActiveCategory(){var t;const i=this.categories.find((t=>t.id===this.selectedCategory));window.postMessage({type:"BlogArticlesActiveCategory",category:this.selectedCategory===g?null:null==i?void 0:i.name,categorySlug:i&&this.selectedCategory!==g?this.getCategorySlug(i):null,metadata:this.selectedCategory===g?null:null!==(t=null==i?void 0:i.metadata)&&void 0!==t?t:null},window.location.href)}emitContent(t){const i=this.getActiveCategory();window.postMessage({type:"BlogArticlesGridContent",page:this.currentPage+1,categorySlug:i&&i.id!==g?this.getCategorySlug(i):null,items:t.map((({title:t,slug:i,customPath:n,publishingDate:e,image:o})=>({title:t,slug:i,customPath:n,publishingDate:e,imageSrc:null==o?void 0:o.src})))},window.location.href)}handleCategoryClick(t,i){!this.usePostmessage||0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),this.handleCategoryChange(i))}async handleCategoryChange(t){this.isLoading||this.selectedCategory===t||(this.selectedCategory=t,this.emitActiveCategory(),0!==this.currentPage&&(this.setCurrentPage(1),this.page="1"),await this.getBlogArticleGrid(!0,1))}handleClientStyling(){void 0===window.emMessageBus?(this.clientStyling&&r(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&h(this.stylingContainer,this.clientStylingUrl)):this.stylingSubscription=l(this.stylingContainer,`${this.mbSource}.Style`,this.stylingSubscription,!0)}componentDidLoad(){this.handleClientStyling(),this.isInitialized=!0,window.postMessage({type:"BlogArticlesGridLoaded"},window.location.href),this.device=((t=!1)=>{if("undefined"==typeof window||"undefined"==typeof navigator)return"desktop";const i=navigator.userAgent.toLowerCase(),n=window.innerWidth;if(function(t){return!!t.includes("ipad")||t.includes("macintosh")&&navigator.maxTouchPoints>0}(i))return"tablet";if(function(t){return t.includes("iphone")||t.includes("ipod")}(i))return"mobile";if(function(t,i){return d(t)&&(t.includes("mobile")||t.includes("mobi")||i<=599)}(i,n))return"mobile";if(function(t,i){return d(t)&&!t.includes("mobile")&&!t.includes("mobi")&&i>599}(i,n))return"tablet";if(t){if(n<=599)return"mobile";if(n<=1099)return"tablet"}return"desktop"})()}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}setImage(t){var i,n;return(null===(n=null===(i=t.sources)||void 0===i?void 0:i["mobile"===this.device?0:"tablet"===this.device?1:2])||void 0===n?void 0:n.pictureSource)||t.src}parseDate(t){const i=new Date(t);if(i instanceof Date&&!Number.isNaN(i.getTime()))return i;const[n,e,o]=t.trim().split("/").map(Number);return new Date(o,e-1,n)}formatDate(t){const i=this.parseDate(t);return new Intl.DateTimeFormat(this.intlDateTimeFormat||"en-GB",{day:"numeric",month:"short",year:"numeric"}).format(i)}render(){var t;if(this.hasErrors)return n("div",{class:"BlogsContainer"},!this.hideError&&n("div",{class:"ErrorMessage"},o("error",this.language,this.customTranslations)));const i=[];for(let t=0;t<parseInt(this.blogsLimit);t++)i.push(n("div",{class:"GridContainer FeaturedPost Skeleton"},n("div",{class:"GridWrapper"},n("div",{class:"GridSector"},n("div",{class:"VisualContent LoadingImage"})),n("div",{class:"GridSector"},n("div",{class:"BlogTitle LoadingStripe LoadingSmallStripe"}),n("div",{class:"BlogDetails LoadingStripe LoadingMediumStripe"}),n("div",{class:"BlogLink LoadingStripe LoadingLongStripe"})))));const e=Boolean(this.paginationActive)&&this.totalBlogs>+this.blogsLimit,s=this.mbSource?void 0:this.clientStyling||this.paginationDefaultStyling,a=this.getActiveCategory();return n("div",{ref:t=>this.stylingContainer=t},this.showBreadcrumb&&n("nav",{class:"breadcrumb","aria-label":"Breadcrumb"},n("a",{href:`/${encodeURIComponent(this.language)}`},o("home",this.language,this.customTranslations)),n("span",{"aria-hidden":"true"},"›"),a&&this.selectedCategory!==g?[n("a",{href:`/${encodeURIComponent(this.language)}/blog`},o("blog",this.language,this.customTranslations)),n("span",{"aria-hidden":"true"},"›"),n("span",{"aria-current":"page"},a.name)]:n("span",{"aria-current":"page"},o("blog",this.language,this.customTranslations))),this.showPageTitle&&n("h1",{class:"BlogPageTitle"}," ",this.selectedCategory!==g?null==a?void 0:a.name:o("blogPageTitle",this.language,this.customTranslations)," "),this.selectedCategory!==g&&(null==a?void 0:a.description)&&n("div",{class:"BlogPageDescription",innerHTML:a.description}),n("div",{class:"BlogPageContainer"},this.showBlogSubcategories&&n("div",{class:"BlogCategoriesSliderWrapper"},n("div",{class:"CarouselWrapper"},n("div",{class:"CarouselContainer"},n("div",{class:"BlogCategoriesWrapper"},n("div",{class:"CategoryButtons"},this.categories.map((t=>n("a",{href:this.getCategoryHref(t),"aria-current":this.selectedCategory===t.id?"page":void 0,key:t.id,class:{CategoryButton:!0,active:this.selectedCategory===t.id},onClick:i=>this.handleCategoryClick(i,t.id)},t.name)))))))),n("div",{class:"BlogGridPaginationWrapper"},e&&n("helper-pagination",{"next-page":this.nextPage,"prev-page":this.previousPage,offset:this.paginationBlogList.offset,limit:parseInt(this.blogsLimit,10),total:this.totalBlogs,language:this.language,"mb-source":this.mbSource,"client-styling":s,"client-styling-url":this.clientStylingUrl,"arrows-active":this.arrowsActive,"secondary-arrows-active":this.secondaryArrowsActive,"numbered-nav-active":this.numberedNavActive,"page-query-param":this.pageQueryParam})),!this.isLoading&&0===(null===(t=this.displayedBlogResponse)||void 0===t?void 0:t.items.length)&&n("p",{class:"EmptyState",role:"status"},o(this.selectedCategory===g?"emptyState":"emptyCategoryState",this.language,this.customTranslations)),!this.isLoading&&n("div",{class:`GridContainerWrapper BlogPage-${this.currentPage} ${this.device}`},this.displayedBlogResponse&&this.displayedBlogResponse.items.map((t=>{var i,e;const s=this.categories.filter((i=>{var n;return i.id!==g&&(null===(n=t.blogCategory)||void 0===n?void 0:n.includes(this.getCategoryFetchSlug(i)))}));return n("div",{key:t.postID,class:t.isFeaturedPost?"GridContainer FeaturedPost":"GridContainer"},n("div",{class:"GridWrapper"},n("div",{class:"GridSector"},this.showPublishingDate&&n("div",{class:"BlogDate"},n("time",{dateTime:t.publishingDate},this.formatDate(t.publishingDate))),this.showImage&&(null===(i=t.image)||void 0===i?void 0:i.src)?n("img",{class:"VisualContent",src:this.setImage(t.image),alt:t.image.alt||t.title,width:"400",height:"225",loading:"lazy"}):(null===(e=t.video)||void 0===e?void 0:e.sources[this.device])?n("video",{class:"VisualContent",src:t.video.sources[this.device]}):n("span",{class:"VisualContent",style:{color:"#fff"}},"No Image")),n("div",{class:"GridSector"},s.length>0&&n("div",{class:"CategoryButtons BlogCardCategories"},s.map((t=>n("a",{class:"CategoryButton",href:this.getCategoryHref(t),onClick:i=>this.handleCategoryClick(i,t.id)},t.name)))),this.showTitle&&n("h2",{class:"BlogTitle"},n("a",{class:"BlogCardLink",href:`/${encodeURIComponent(this.language)}/blog/${encodeURIComponent(t.customPath||t.slug)}`,onClick:i=>this.getArticleId(i,t)},t.title)),this.showContent&&this.renderContentConditionally(t.descriptionPreview),this.showButton&&n("span",{class:"BlogLink"},o("readmore",this.language,this.customTranslations)))))}))),this.isLoading&&n("div",{class:"GridContainerWrapper LoadingGrid"},i)))}static get watchers(){return{hasErrors:["watchEndpoint"],cmsEndpoint:["watchEndpoint"],language:["watchEndpoint"],cmsEnv:["watchEndpoint"],userRoles:["watchEndpoint"],blogsLimit:["watchEndpoint"],eventId:["watchEndpoint"],page:["handlePageChange"],clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingChangeURL"],translationUrl:["loadTranslations"]}}};c.style=':host {\n display: block;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.5rem;\n max-width: 1300px;\n padding: 0 20px;\n margin: 40px auto 20px;\n color: var(--emw--color-typography);\n}\n.breadcrumb a {\n color: inherit;\n}\n\n.BlogPageTitle {\n max-width: 1300px;\n padding: 0 20px;\n margin: 0 auto;\n color: var(--emw--color-primary);\n font-size: 22px;\n font-weight: 600;\n line-height: 1.2;\n}\n\n.BlogPageDescription {\n max-width: 1300px;\n padding: 0 20px;\n margin: 0 auto;\n color: var(--emw--color-typography);\n line-height: 1.2;\n}\n\n.BlogPageContainer {\n background: #0A0A17;\n padding: 20px;\n}\n\n.EmptyState {\n color: var(--emw--color-typography);\n display: flex;\n align-items: center;\n justify-content: center;\n height: 325px;\n margin: 0;\n}\n\n.GridContainerWrapper {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 20px;\n}\n\n.BlogPage-0 .GridContainer.FeaturedPost:first-child {\n width: 100%;\n flex-basis: auto;\n}\n\n.GridContainer {\n position: relative;\n container-type: inline-size;\n container-name: article;\n border-radius: 15px;\n color: #000;\n overflow: hidden;\n}\n.GridContainer.FeaturedPost:first-child {\n grid-column: 1/-1;\n width: 100%;\n}\n.GridContainer .GridWrapper {\n display: flex;\n flex-direction: row;\n height: 280px;\n background: var(--emw--color-white, #FFFFFF);\n}\n.GridContainer:not(.Skeleton):hover .GridWrapper {\n background: color-mix(in srgb, var(--emw--color-white, #FFFFFF) 90%, #000);\n}\n.GridContainer .GridSector {\n flex-basis: 50%;\n position: relative;\n}\n.GridContainer .GridSector:first-of-type {\n height: 280px;\n display: flex;\n}\n.GridContainer .GridSector:last-of-type {\n position: static;\n padding: 20px 40px;\n display: flex;\n flex-direction: column;\n}\n.GridContainer .VisualContent {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.GridContainer .BlogDate {\n position: absolute;\n bottom: 0px;\n left: 30px;\n font-size: 12px;\n border-radius: 5px 5px 0 0;\n padding: 10px;\n width: fit-content;\n text-align: center;\n color: var(--emw--color-white, #FFFFFF);\n background-color: #CD0B5E;\n z-index: 1;\n pointer-events: none;\n}\n.GridContainer .BlogTitle {\n margin: 0;\n font-size: 24px;\n font-weight: 400;\n color: #000;\n padding-bottom: 10px;\n}\n.GridContainer .BlogTitle .BlogCardLink {\n display: block;\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n}\n.GridContainer .BlogTitle .BlogCardLink:focus-visible {\n outline: none;\n}\n.GridContainer .BlogTitle .BlogCardLink:focus-visible::after {\n border-radius: 15px;\n outline: 3px solid var(--emw--color-primary, #CD0B5E);\n outline-offset: -3px;\n}\n.GridContainer .BlogTitle .BlogCardLink::after {\n content: "";\n position: absolute;\n inset: 0;\n z-index: 2;\n}\n.GridContainer .BlogContent {\n margin: 0;\n display: -webkit-box;\n font-size: 14px;\n line-height: 1.2em;\n -webkit-line-clamp: 6;\n color: #000;\n -webkit-box-orient: vertical;\n box-sizing: border-box;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.GridContainer .BlogLink {\n color: #22B04E;\n font-size: 14px;\n position: absolute;\n bottom: 16px;\n padding-top: 2.5px;\n}\n\n@container article (max-width: 550px) {\n .GridContainer .GridWrapper {\n height: 380px;\n flex-direction: column;\n }\n .GridContainer .GridWrapper .GridSector:first-of-type {\n height: 120px;\n flex-shrink: 0;\n flex-basis: 150px;\n }\n .GridContainer .GridWrapper .GridSector:last-of-type {\n padding: 20px 20px 40px;\n }\n}\n.LoadingImage {\n width: 100%;\n height: 100%;\n background-color: var(--emw--color-gray-100, #E6E6E6);\n}\n\n.LoadingStripe {\n border: 1px solid var(--emw--color-white, #FFFFFF);\n height: 20%;\n background-color: var(--emw--color-gray-100, #E6E6E6);\n margin-bottom: 5px;\n}\n\n.LoadingSmallStripe {\n width: 40%;\n}\n\n.LoadingMediumStripe {\n width: 70%;\n}\n\n.BlogLink.LoadingLongStripe {\n position: static;\n width: 100%;\n}\n\n.GridContainerWrapper.LoadingGrid .GridSector {\n justify-content: space-around;\n}\n\n.GridContainerWrapper.LoadingGrid .LoadingImage, .GridContainerWrapper.LoadingGrid .LoadingStripe {\n animation: pulsatingLoader 2s ease-in-out 0s infinite reverse;\n -webkit-animation: pulsatingLoader 2s ease-in-out 0s infinite reverse;\n}\n\n@keyframes pulsatingLoader {\n 0% {\n opacity: 0.5;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.5;\n }\n}\n@-webkit-keyframes pulsatingLoader {\n 0% {\n opacity: 0.5;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.5;\n }\n}\n.BlogCategoriesWrapper {\n margin-bottom: 24px;\n}\n\n.FilterLabel {\n margin-bottom: 12px;\n color: var(--emw--color-white, #fff);\n font-weight: 600;\n}\n\n.CategoryButtons {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.CategoryButton {\n padding: 10px 20px;\n border-radius: 999px;\n border: 1px solid currentColor;\n text-decoration: none;\n background: transparent;\n color: var(--emw--color-white, #fff);\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.CategoryButton.active {\n background: var(--emw--casino-color-primary, var(--emw--color-primary, #22B04E));\n color: var(--emw--color-background, #fff);\n}\n\n.BlogCardCategories {\n margin-bottom: 10px;\n}\n.BlogCardCategories .CategoryButton {\n position: relative;\n z-index: 3;\n padding: 4px 10px;\n color: inherit;\n font-size: 12px;\n}';const p={en:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},ro:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},fr:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},ar:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},hu:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"},hr:{firstPage:"First",previousPage:"Previous",nextPage:"Next",lastPage:"Last"}},u=class{constructor(n){t(this,n),this.hpPageChange=i(this,"hpPageChange",7),this.userAgent=window.navigator.userAgent,this.currentPage=1,this.navigateTo=t=>{var i;switch(t){case"firstPage":this.offsetInt=0;break;case"lastPage":this.offsetInt=this.endInt*this.limitInt;break;case"previousPage":this.offsetInt-=this.limitInt;break;case"nextPage":this.offsetInt+=this.limitInt;break;case"fivePagesBack":this.offsetInt-=5*this.limitInt,this.offsetInt=this.offsetInt<=0?0:this.offsetInt;break;case"fivePagesForward":this.offsetInt+=5*this.limitInt,this.offsetInt=this.offsetInt/this.limitInt>=this.endInt?this.endInt*this.limitInt:this.offsetInt}this.previousPage=!!this.offsetInt,null===(i=this.hpPageChange)||void 0===i||i.emit({offset:this.offsetInt,limit:this.limitInt,total:this.totalInt})},this.paginationNavigation=(t,i)=>{var n;this.previousPage=!0,isNaN(t)?0===i&&this.currentPage<=4?this.navigateTo("firstPage"):0===i&&this.currentPage>4?this.navigateTo("fivePagesBack"):4===i&&this.endInt-this.currentPage>=2&&this.navigateTo("fivePagesForward"):1===t?(this.offsetInt=t-1,this.previousPage=!1):this.offsetInt=(t-1)*this.limitInt,null===(n=this.hpPageChange)||void 0===n||n.emit({offset:this.offsetInt,limit:this.limitInt,total:this.totalInt})},this.nextPage="",this.prevPage="",this.offset=0,this.limit=1,this.total=1,this.language="en",this.mbSource=void 0,this.clientStyling="",this.clientStylingUrl="",this.arrowsActive=!0,this.secondaryArrowsActive=!1,this.numberedNavActive=!1,this.pageQueryParam=void 0,this.page=1,this.offsetInt=0,this.lastPage=!1,this.previousPage=!1,this.limitInt=0,this.totalInt=0,this.pagesArray=[],this.endInt=0}handleClientStylingChange(t,i){t!==i&&r(this.stylingContainer,this.clientStyling)}handleClientStylingChangeURL(t,i){t!==i&&this.clientStylingUrl&&h(this.stylingContainer,this.clientStylingUrl)}componentWillRender(){this.offsetInt=this.offset,this.limitInt=this.limit,this.currentPage=this.offsetInt/this.limitInt+1,this.limitInt=this.limit,this.totalInt=this.total,this.endInt=Math.ceil(this.totalInt/this.limitInt)-1,this.lastPage=!(this.offsetInt>=this.endInt*this.limitInt),this.endInt<4?this.pagesArray=Array.from({length:this.endInt+1},((t,i)=>i+1)):1==this.currentPage||2==this.currentPage?(this.pagesArray=Array.from({length:4},((t,i)=>i+1)),this.pagesArray.push("...")):this.currentPage>=3&&this.endInt-this.currentPage>=2?(this.pagesArray=Array.from({length:3},((t,i)=>this.currentPage+i-1)),this.pagesArray.push("..."),this.pagesArray.unshift("...")):this.endInt-this.currentPage<3&&(this.pagesArray=Array.from({length:4},((t,i)=>this.endInt-2+i)),this.pagesArray.unshift("..."))}handleClientStyling(){void 0===window.emMessageBus?(this.clientStyling&&r(this.stylingContainer,this.clientStyling),this.clientStylingUrl&&h(this.stylingContainer,this.clientStylingUrl)):this.stylingSubscription=l(this.stylingContainer,`${this.mbSource}.Style`,this.stylingSubscription,!0)}componentDidLoad(){this.handleClientStyling()}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}pageHref(t){if(!this.pageQueryParam)return"#";const i=new URL(window.location.href),n=t+this.page-1;return 1===n?i.searchParams.delete(this.pageQueryParam):i.searchParams.set(this.pageQueryParam,String(n)),`${i.pathname}${i.search}${i.hash}`}renderNavigationButton(t,i,e,o){const s=p[void 0!==(a=this.language)&&a in p?a:"en"][i];var a;return n(e?"a":"span",{class:"PaginationControl",href:e?this.pageHref(t):void 0,rel:e?o:void 0,"aria-label":s,"aria-disabled":e?void 0:"true",onClick:e?t=>{0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),this.navigateTo(i))}:void 0},n("span",{class:"NavigationButton"},s),n("span",{class:"NavigationIcon"}))}render(){let t=n("ul",{class:"PaginationArea"},this.pagesArray.map(((t,i)=>{const e="number"==typeof t?t:0===i?Math.max(1,this.currentPage-5):Math.min(this.endInt+1,this.currentPage+5);return n("li",{class:"PaginationItem"+(t===this.currentPage?" ActiveItem":" ")+" "+(o=this.userAgent,o.toLowerCase().match(/android/i)||o.toLowerCase().match(/blackberry|bb/i)||o.toLowerCase().match(/iphone|ipad|ipod/i)||o.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i)?"MobileButtons":"")},n("a",{href:this.pageHref(e),"aria-current":t===this.currentPage?"page":void 0,"aria-disabled":t===this.currentPage?"true":void 0,tabIndex:t===this.currentPage?-1:void 0,onClick:n=>{0!==n.button||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||(n.preventDefault(),t!==this.currentPage&&this.paginationNavigation(t,i))}},n("span",null,t)));var o})));const i=n("div",{class:"LeftItems"},this.secondaryArrowsActive&&this.renderNavigationButton(1,"firstPage",Boolean(this.prevPage)),this.renderNavigationButton(this.currentPage-1,"previousPage",Boolean(this.prevPage),"prev")),e=n("div",{class:"RightItems"},this.renderNavigationButton(this.currentPage+1,"nextPage",Boolean(this.nextPage),"next"),this.secondaryArrowsActive&&this.renderNavigationButton(this.endInt+1,"lastPage",Boolean(this.nextPage)));return n("nav",{id:"PaginationContainer",class:"PaginationContainer","aria-label":"Blog pagination",ref:t=>this.stylingContainer=t},this.arrowsActive&&i,this.numberedNavActive&&t,this.arrowsActive&&e)}static get watchers(){return{clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingChangeURL"]}}};u.style='@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap");:host{display:block;font-family:"Roboto", sans-serif}#PaginationContainer{width:100%;margin:20px 0;display:inline-flex;justify-content:space-between;align-items:center}.LeftItems .PaginationControl:not(:first-child),.RightItems .PaginationControl:not(:last-child){margin:0 10px}.LeftItems .PaginationControl,.RightItems .PaginationControl{padding:0;background-color:#009993;border-color:#009993}.PaginationArea{display:inline-flex;gap:10px;list-style:none}.PaginationArea li{margin:0;padding:0}.PaginationArea li a{width:24px;height:24px;display:flex;border:0;padding:0;justify-content:center;align-items:center;background-color:transparent;color:#000;cursor:pointer;pointer-events:all}.PaginationItem.ActiveItem a{background:#009993;border-color:#009993;color:#fff}.PaginationItem.ActiveItem a[aria-disabled=true]{pointer-events:none;cursor:not-allowed}.PaginationItem a:hover,.PaginationItem a:active{background:#009993;border-color:#009993;color:#fff;opacity:0.8}a,.PaginationControl{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-decoration:none;width:100px;height:32px;border:1px solid #524e52;border-radius:5px;background:#524e52;color:#fff;font-size:14px;font:inherit;cursor:pointer;transition:background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, opacity 0.1s linear;text-transform:uppercase;text-align:center;letter-spacing:0}a:hover,a:active{background:#004D4A;border-color:#004D4A}a[aria-disabled=true],.PaginationControl[aria-disabled=true]{background-color:#ccc;border-color:#ccc;color:#fff;cursor:not-allowed}@media screen and (max-width: 720px){#PaginationContainer{flex-wrap:wrap;row-gap:10px}#PaginationContainer .LeftItems,#PaginationContainer .RightItems{display:flex;flex-direction:column;gap:10px}#PaginationContainer .RightItems{flex-direction:column-reverse}#PaginationContainer .PaginationControl{margin:0}#PaginationContainer .PaginationArea{order:1;flex-basis:100%;justify-content:center;margin:0;padding:0}a,.PaginationControl{width:90px;font-size:14px}}@media screen and (max-width: 480px){a,.PaginationControl{width:70px;font-size:14px}.paginationArea{padding:5px}}@media screen and (max-width: 320px){a,.PaginationControl{width:58px;font-size:12px}.paginationArea{padding:5px;gap:5px}}@media (hover: none){.paginationItem a:hover{background:inherit;border-color:inherit;color:inherit;opacity:1}.paginationItem.activeItem a:hover{background:#009993;border-color:#009993;color:#fff}}';export{c as blog_articles_grid,u as helper_pagination}
@@ -86,6 +86,12 @@ const translate$1 = (key, customLang, customTranslations) => {
86
86
  return typeof override === 'string' ? override : TRANSLATIONS$1[lang in TRANSLATIONS$1 ? lang : DEFAULT_LANGUAGE$1][key];
87
87
  };
88
88
 
89
+ const toSlug = (value) => value
90
+ .toLowerCase()
91
+ .replace(/[\s\/`~@\$%\^&\*\(\)_\+\[\]\\\{\}\|;':",\.<>\?#–]/g, '-')
92
+ .replace(/-{2,}/g, '-')
93
+ .replace(/^-|-$/g, '');
94
+
89
95
  const StyleCacheKey = '__WIDGET_GLOBAL_STYLE_CACHE__';
90
96
 
91
97
  /**
@@ -519,8 +525,13 @@ const BlogArticlesGrid = class {
519
525
  getActiveCategory() {
520
526
  return this.categories.find(category => category.id === this.selectedCategory);
521
527
  }
528
+ /** User-facing slug (URL path, `category` attribute): always derived from the name. */
522
529
  getCategorySlug(category) {
523
- return category.slug || category.name.toLowerCase().replace(/\s+/g, '-');
530
+ return toSlug(category.name);
531
+ }
532
+ /** Slug the CMS knows the category by (blog-posts `category` filter, `blogCategory` on posts). */
533
+ getCategoryFetchSlug(category) {
534
+ return category.slug || toSlug(category.name);
524
535
  }
525
536
  getCategoryHref(category) {
526
537
  const blogPath = `/${encodeURIComponent(this.language)}/blog`;
@@ -560,7 +571,7 @@ const BlogArticlesGrid = class {
560
571
  this.selectedCategory !== ALL_CATEGORY_ID) {
561
572
  const category = this.categories.find(cat => cat.id == this.selectedCategory);
562
573
  if (category) {
563
- url.searchParams.append('category', this.getCategorySlug(category));
574
+ url.searchParams.append('category', this.getCategoryFetchSlug(category));
564
575
  }
565
576
  }
566
577
  url.searchParams.append('per_page', allPosts ? '300' : this.blogsLimit);
@@ -664,6 +675,7 @@ const BlogArticlesGrid = class {
664
675
  this.previousPage = blogResponse.pages.previous;
665
676
  this.isLoading = false;
666
677
  this.hasErrors = false;
678
+ this.emitContent(blogResponse.items);
667
679
  }
668
680
  catch (err) {
669
681
  this.hasErrors = true;
@@ -709,6 +721,22 @@ const BlogArticlesGrid = class {
709
721
  : (_a = category === null || category === void 0 ? void 0 : category.metadata) !== null && _a !== void 0 ? _a : null,
710
722
  }, window.location.href);
711
723
  }
724
+ /** Reports what the grid currently shows, so hosts can build SEO schema without refetching. */
725
+ emitContent(items) {
726
+ const category = this.getActiveCategory();
727
+ window.postMessage({
728
+ type: 'BlogArticlesGridContent',
729
+ page: this.currentPage + 1,
730
+ categorySlug: category && category.id !== ALL_CATEGORY_ID ? this.getCategorySlug(category) : null,
731
+ items: items.map(({ title, slug, customPath, publishingDate, image }) => ({
732
+ title,
733
+ slug,
734
+ customPath,
735
+ publishingDate,
736
+ imageSrc: image === null || image === void 0 ? void 0 : image.src,
737
+ })),
738
+ }, window.location.href);
739
+ }
712
740
  handleCategoryClick(event, categoryId) {
713
741
  if (!this.usePostmessage || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)
714
742
  return;
@@ -793,7 +821,7 @@ const BlogArticlesGrid = class {
793
821
  const cardCategories = this.categories.filter(category => {
794
822
  var _a;
795
823
  return category.id !== ALL_CATEGORY_ID
796
- && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategorySlug(category)));
824
+ && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategoryFetchSlug(category)));
797
825
  });
798
826
  return (index.h("div", { key: data.postID, class: data.isFeaturedPost ? 'GridContainer FeaturedPost' : 'GridContainer' }, index.h("div", { class: "GridWrapper" }, index.h("div", { class: "GridSector" }, this.showPublishingDate &&
799
827
  index.h("div", { class: "BlogDate" }, index.h("time", { dateTime: data.publishingDate }, this.formatDate(data.publishingDate))), this.showImage && ((_a = data.image) === null || _a === void 0 ? void 0 : _a.src) ? (index.h("img", { class: "VisualContent", src: this.setImage(data.image), alt: data.image.alt || data.title, width: "400", height: "225", loading: "lazy" })) : (((_b = data.video) === null || _b === void 0 ? void 0 : _b.sources[this.device]) ? (index.h("video", { class: "VisualContent", src: data.video.sources[this.device] })) : (index.h("span", { class: "VisualContent", style: { color: "#fff" } }, "No Image")))), index.h("div", { class: "GridSector" }, cardCategories.length > 0 && index.h("div", { class: "CategoryButtons BlogCardCategories" }, cardCategories.map(category => (index.h("a", { class: "CategoryButton", href: this.getCategoryHref(category), onClick: event => this.handleCategoryClick(event, category.id) }, category.name)))), this.showTitle &&
@@ -1,5 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { translate } from "../../utils/locale.utils";
3
+ import { toSlug } from "../../utils/slug.utils";
3
4
  import { setClientStyling, setClientStylingURL, setStreamStyling } from "../../../../../../../../libs/common/src/styling/index";
4
5
  import { getDevicePlatform, getDeviceType } from "../../../../../../../../libs/common/src/device/index";
5
6
  import "../../../../../helper-pagination/dist/types/index";
@@ -226,8 +227,13 @@ export class BlogArticlesGrid {
226
227
  getActiveCategory() {
227
228
  return this.categories.find(category => category.id === this.selectedCategory);
228
229
  }
230
+ /** User-facing slug (URL path, `category` attribute): always derived from the name. */
229
231
  getCategorySlug(category) {
230
- return category.slug || category.name.toLowerCase().replace(/\s+/g, '-');
232
+ return toSlug(category.name);
233
+ }
234
+ /** Slug the CMS knows the category by (blog-posts `category` filter, `blogCategory` on posts). */
235
+ getCategoryFetchSlug(category) {
236
+ return category.slug || toSlug(category.name);
231
237
  }
232
238
  getCategoryHref(category) {
233
239
  const blogPath = `/${encodeURIComponent(this.language)}/blog`;
@@ -267,7 +273,7 @@ export class BlogArticlesGrid {
267
273
  this.selectedCategory !== ALL_CATEGORY_ID) {
268
274
  const category = this.categories.find(cat => cat.id == this.selectedCategory);
269
275
  if (category) {
270
- url.searchParams.append('category', this.getCategorySlug(category));
276
+ url.searchParams.append('category', this.getCategoryFetchSlug(category));
271
277
  }
272
278
  }
273
279
  url.searchParams.append('per_page', allPosts ? '300' : this.blogsLimit);
@@ -371,6 +377,7 @@ export class BlogArticlesGrid {
371
377
  this.previousPage = blogResponse.pages.previous;
372
378
  this.isLoading = false;
373
379
  this.hasErrors = false;
380
+ this.emitContent(blogResponse.items);
374
381
  }
375
382
  catch (err) {
376
383
  this.hasErrors = true;
@@ -416,6 +423,22 @@ export class BlogArticlesGrid {
416
423
  : (_a = category === null || category === void 0 ? void 0 : category.metadata) !== null && _a !== void 0 ? _a : null,
417
424
  }, window.location.href);
418
425
  }
426
+ /** Reports what the grid currently shows, so hosts can build SEO schema without refetching. */
427
+ emitContent(items) {
428
+ const category = this.getActiveCategory();
429
+ window.postMessage({
430
+ type: 'BlogArticlesGridContent',
431
+ page: this.currentPage + 1,
432
+ categorySlug: category && category.id !== ALL_CATEGORY_ID ? this.getCategorySlug(category) : null,
433
+ items: items.map(({ title, slug, customPath, publishingDate, image }) => ({
434
+ title,
435
+ slug,
436
+ customPath,
437
+ publishingDate,
438
+ imageSrc: image === null || image === void 0 ? void 0 : image.src,
439
+ })),
440
+ }, window.location.href);
441
+ }
419
442
  handleCategoryClick(event, categoryId) {
420
443
  if (!this.usePostmessage || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)
421
444
  return;
@@ -500,7 +523,7 @@ export class BlogArticlesGrid {
500
523
  const cardCategories = this.categories.filter(category => {
501
524
  var _a;
502
525
  return category.id !== ALL_CATEGORY_ID
503
- && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategorySlug(category)));
526
+ && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategoryFetchSlug(category)));
504
527
  });
505
528
  return (h("div", { key: data.postID, class: data.isFeaturedPost ? 'GridContainer FeaturedPost' : 'GridContainer' }, h("div", { class: "GridWrapper" }, h("div", { class: "GridSector" }, this.showPublishingDate &&
506
529
  h("div", { class: "BlogDate" }, h("time", { dateTime: data.publishingDate }, this.formatDate(data.publishingDate))), this.showImage && ((_a = data.image) === null || _a === void 0 ? void 0 : _a.src) ? (h("img", { class: "VisualContent", src: this.setImage(data.image), alt: data.image.alt || data.title, width: "400", height: "225", loading: "lazy" })) : (((_b = data.video) === null || _b === void 0 ? void 0 : _b.sources[this.device]) ? (h("video", { class: "VisualContent", src: data.video.sources[this.device] })) : (h("span", { class: "VisualContent", style: { color: "#fff" } }, "No Image")))), h("div", { class: "GridSector" }, cardCategories.length > 0 && h("div", { class: "CategoryButtons BlogCardCategories" }, cardCategories.map(category => (h("a", { class: "CategoryButton", href: this.getCategoryHref(category), onClick: event => this.handleCategoryClick(event, category.id) }, category.name)))), this.showTitle &&
@@ -0,0 +1,5 @@
1
+ export const toSlug = (value) => value
2
+ .toLowerCase()
3
+ .replace(/[\s\/`~@\$%\^&\*\(\)_\+\[\]\\\{\}\|;':",\.<>\?#–]/g, '-')
4
+ .replace(/-{2,}/g, '-')
5
+ .replace(/^-|-$/g, '');
@@ -82,6 +82,12 @@ const translate$1 = (key, customLang, customTranslations) => {
82
82
  return typeof override === 'string' ? override : TRANSLATIONS$1[lang in TRANSLATIONS$1 ? lang : DEFAULT_LANGUAGE$1][key];
83
83
  };
84
84
 
85
+ const toSlug = (value) => value
86
+ .toLowerCase()
87
+ .replace(/[\s\/`~@\$%\^&\*\(\)_\+\[\]\\\{\}\|;':",\.<>\?#–]/g, '-')
88
+ .replace(/-{2,}/g, '-')
89
+ .replace(/^-|-$/g, '');
90
+
85
91
  const StyleCacheKey = '__WIDGET_GLOBAL_STYLE_CACHE__';
86
92
 
87
93
  /**
@@ -515,8 +521,13 @@ const BlogArticlesGrid = class {
515
521
  getActiveCategory() {
516
522
  return this.categories.find(category => category.id === this.selectedCategory);
517
523
  }
524
+ /** User-facing slug (URL path, `category` attribute): always derived from the name. */
518
525
  getCategorySlug(category) {
519
- return category.slug || category.name.toLowerCase().replace(/\s+/g, '-');
526
+ return toSlug(category.name);
527
+ }
528
+ /** Slug the CMS knows the category by (blog-posts `category` filter, `blogCategory` on posts). */
529
+ getCategoryFetchSlug(category) {
530
+ return category.slug || toSlug(category.name);
520
531
  }
521
532
  getCategoryHref(category) {
522
533
  const blogPath = `/${encodeURIComponent(this.language)}/blog`;
@@ -556,7 +567,7 @@ const BlogArticlesGrid = class {
556
567
  this.selectedCategory !== ALL_CATEGORY_ID) {
557
568
  const category = this.categories.find(cat => cat.id == this.selectedCategory);
558
569
  if (category) {
559
- url.searchParams.append('category', this.getCategorySlug(category));
570
+ url.searchParams.append('category', this.getCategoryFetchSlug(category));
560
571
  }
561
572
  }
562
573
  url.searchParams.append('per_page', allPosts ? '300' : this.blogsLimit);
@@ -660,6 +671,7 @@ const BlogArticlesGrid = class {
660
671
  this.previousPage = blogResponse.pages.previous;
661
672
  this.isLoading = false;
662
673
  this.hasErrors = false;
674
+ this.emitContent(blogResponse.items);
663
675
  }
664
676
  catch (err) {
665
677
  this.hasErrors = true;
@@ -705,6 +717,22 @@ const BlogArticlesGrid = class {
705
717
  : (_a = category === null || category === void 0 ? void 0 : category.metadata) !== null && _a !== void 0 ? _a : null,
706
718
  }, window.location.href);
707
719
  }
720
+ /** Reports what the grid currently shows, so hosts can build SEO schema without refetching. */
721
+ emitContent(items) {
722
+ const category = this.getActiveCategory();
723
+ window.postMessage({
724
+ type: 'BlogArticlesGridContent',
725
+ page: this.currentPage + 1,
726
+ categorySlug: category && category.id !== ALL_CATEGORY_ID ? this.getCategorySlug(category) : null,
727
+ items: items.map(({ title, slug, customPath, publishingDate, image }) => ({
728
+ title,
729
+ slug,
730
+ customPath,
731
+ publishingDate,
732
+ imageSrc: image === null || image === void 0 ? void 0 : image.src,
733
+ })),
734
+ }, window.location.href);
735
+ }
708
736
  handleCategoryClick(event, categoryId) {
709
737
  if (!this.usePostmessage || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)
710
738
  return;
@@ -789,7 +817,7 @@ const BlogArticlesGrid = class {
789
817
  const cardCategories = this.categories.filter(category => {
790
818
  var _a;
791
819
  return category.id !== ALL_CATEGORY_ID
792
- && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategorySlug(category)));
820
+ && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategoryFetchSlug(category)));
793
821
  });
794
822
  return (h("div", { key: data.postID, class: data.isFeaturedPost ? 'GridContainer FeaturedPost' : 'GridContainer' }, h("div", { class: "GridWrapper" }, h("div", { class: "GridSector" }, this.showPublishingDate &&
795
823
  h("div", { class: "BlogDate" }, h("time", { dateTime: data.publishingDate }, this.formatDate(data.publishingDate))), this.showImage && ((_a = data.image) === null || _a === void 0 ? void 0 : _a.src) ? (h("img", { class: "VisualContent", src: this.setImage(data.image), alt: data.image.alt || data.title, width: "400", height: "225", loading: "lazy" })) : (((_b = data.video) === null || _b === void 0 ? void 0 : _b.sources[this.device]) ? (h("video", { class: "VisualContent", src: data.video.sources[this.device] })) : (h("span", { class: "VisualContent", style: { color: "#fff" } }, "No Image")))), h("div", { class: "GridSector" }, cardCategories.length > 0 && h("div", { class: "CategoryButtons BlogCardCategories" }, cardCategories.map(category => (h("a", { class: "CategoryButton", href: this.getCategoryHref(category), onClick: event => this.handleCategoryClick(event, category.id) }, category.name)))), this.showTitle &&
@@ -159,7 +159,10 @@ export declare class BlogArticlesGrid {
159
159
  }>): void;
160
160
  private announcePage;
161
161
  private getActiveCategory;
162
+ /** User-facing slug (URL path, `category` attribute): always derived from the name. */
162
163
  private getCategorySlug;
164
+ /** Slug the CMS knows the category by (blog-posts `category` filter, `blogCategory` on posts). */
165
+ private getCategoryFetchSlug;
163
166
  private getCategoryHref;
164
167
  sortArticlesByDate(blogItems: BlogPost[]): BlogPost[];
165
168
  findLatestFeatured(blogItems: BlogPost[]): BlogPost;
@@ -169,6 +172,8 @@ export declare class BlogArticlesGrid {
169
172
  getBlogArticleGrid(forceFetch?: boolean, page?: number): Promise<void>;
170
173
  componentWillLoad(): Promise<void>;
171
174
  emitActiveCategory(): void;
175
+ /** Reports what the grid currently shows, so hosts can build SEO schema without refetching. */
176
+ private emitContent;
172
177
  private handleCategoryClick;
173
178
  handleCategoryChange(categoryId: BlogCategory['id']): Promise<void>;
174
179
  handleClientStyling(): void;
@@ -0,0 +1 @@
1
+ export declare const toSlug: (value: string) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/blog-articles-grid",
3
- "version": "1.99.33",
3
+ "version": "1.99.35",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",