@everymatrix/blog-articles-grid 1.99.34 → 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.
- package/dist/blog-articles-grid/blog-articles-grid_2.entry.js +1 -1
- package/dist/cjs/blog-articles-grid_2.cjs.entry.js +31 -3
- package/dist/collection/components/blog-articles-grid/blog-articles-grid.js +26 -3
- package/dist/collection/utils/slug.utils.js +5 -0
- package/dist/esm/blog-articles-grid_2.entry.js +31 -3
- package/dist/types/components/blog-articles-grid/blog-articles-grid.d.ts +5 -0
- package/dist/types/utils/slug.utils.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 &&
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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;
|