@everymatrix/blog-articles-grid 1.99.27 → 1.99.28

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d9577f9e.js');
5
+ const index = require('./index-96fb13fd.js');
6
6
 
7
7
  const DEFAULT_LANGUAGE$1 = 'en';
8
8
  const TRANSLATIONS$1 = {
@@ -16,9 +16,9 @@ const TRANSLATIONS$1 = {
16
16
  emptyCategoryState: 'We haven’t published any posts in this category. Check back soon, or browse all our articles.',
17
17
  },
18
18
  ro: {
19
- error: 'Eroare',
19
+ error: 'Error',
20
20
  readmore: 'Read more',
21
- home: 'Acasă',
21
+ home: 'Home',
22
22
  blog: 'Blog',
23
23
  blogPageTitle: 'Blog',
24
24
  emptyState: 'We haven’t published any posts yet. Check back soon.',
@@ -27,43 +27,43 @@ const TRANSLATIONS$1 = {
27
27
  fr: {
28
28
  error: 'Error',
29
29
  readmore: 'Read more',
30
- home: 'Accueil',
30
+ home: 'Home',
31
31
  blog: 'Blog',
32
32
  blogPageTitle: 'Blog',
33
33
  emptyState: 'We haven’t published any posts yet. Check back soon.',
34
34
  emptyCategoryState: 'We haven’t published any posts in this category. Check back soon, or browse all our articles.',
35
35
  },
36
36
  ar: {
37
- error: 'خطأ',
37
+ error: 'Error',
38
38
  readmore: 'Read more',
39
- home: 'الرئيسية',
40
- blog: 'المدونة',
41
- blogPageTitle: 'المدونة',
39
+ home: 'Home',
40
+ blog: 'Blog',
41
+ blogPageTitle: 'Blog',
42
42
  emptyState: 'We haven’t published any posts yet. Check back soon.',
43
43
  emptyCategoryState: 'We haven’t published any posts in this category. Check back soon, or browse all our articles.',
44
44
  },
45
45
  hu: {
46
- error: 'خطأ',
47
- readmore: 'Tovább olvasom',
48
- home: 'Kezdőlap',
46
+ error: 'Error',
47
+ readmore: 'Read more',
48
+ home: 'Home',
49
49
  blog: 'Blog',
50
50
  blogPageTitle: 'Blog',
51
51
  emptyState: 'We haven’t published any posts yet. Check back soon.',
52
52
  emptyCategoryState: 'We haven’t published any posts in this category. Check back soon, or browse all our articles.',
53
53
  },
54
54
  hr: {
55
- error: 'Greška',
56
- readmore: 'Pročitaj više',
57
- home: 'Početna',
55
+ error: 'Error',
56
+ readmore: 'Read more',
57
+ home: 'Home',
58
58
  blog: 'Blog',
59
59
  blogPageTitle: 'Blog',
60
60
  emptyState: 'We haven’t published any posts yet. Check back soon.',
61
61
  emptyCategoryState: 'We haven’t published any posts in this category. Check back soon, or browse all our articles.',
62
62
  },
63
63
  'pt-br': {
64
- error: 'Erro',
65
- readmore: 'Ler mais',
66
- home: 'Início',
64
+ error: 'Error',
65
+ readmore: 'Read more',
66
+ home: 'Home',
67
67
  blog: 'Blog',
68
68
  blogPageTitle: 'Blog',
69
69
  emptyState: 'We haven’t published any posts yet. Check back soon.',
@@ -71,8 +71,8 @@ const TRANSLATIONS$1 = {
71
71
  },
72
72
  'es-mx': {
73
73
  error: 'Error',
74
- readmore: 'Leer más',
75
- home: 'Inicio',
74
+ readmore: 'Read more',
75
+ home: 'Home',
76
76
  blog: 'Blog',
77
77
  blogPageTitle: 'Blog',
78
78
  emptyState: 'We haven’t published any posts yet. Check back soon.',
@@ -291,9 +291,10 @@ const getDevicePlatform = () => {
291
291
  return 'mtWeb';
292
292
  };
293
293
 
294
- const blogArticlesGridCss = ":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-white, #FFFFFF);\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-white, #FFFFFF);\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 .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::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 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}";
294
+ const blogArticlesGridCss = ":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}";
295
295
  const BlogArticlesGridStyle0 = blogArticlesGridCss;
296
296
 
297
+ const ALL_CATEGORY_ID = 'all';
297
298
  const BlogArticlesGrid = class {
298
299
  constructor(hostRef) {
299
300
  index.registerInstance(this, hostRef);
@@ -304,24 +305,24 @@ const BlogArticlesGrid = class {
304
305
  nav#PaginationContainer {
305
306
  justify-content: right;
306
307
  }
307
- .LeftItems a .NavigationButton {
308
+ .LeftItems .PaginationControl .NavigationButton {
308
309
  display: none;
309
310
  }
310
- .LeftItems a:after, .RightItems a:after {
311
+ .LeftItems .PaginationControl:after, .RightItems .PaginationControl:after {
311
312
  padding: 7px 12px;
312
313
  font-size: 18px;
313
314
  font-weight: 700;
314
315
  line-height: 46px;
315
316
  }
316
- .LeftItems a:after {
317
+ .LeftItems .PaginationControl:after {
317
318
  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");
318
319
  }
319
- .RightItems a:after {
320
+ .RightItems .PaginationControl:after {
320
321
  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");
321
322
  display: block;
322
323
  height: 38px;
323
324
  }
324
- div.LeftItems a, div.RightItems a {
325
+ div.LeftItems .PaginationControl, div.RightItems .PaginationControl {
325
326
  width: unset;
326
327
  height: 40px;
327
328
  background-color: #fff;
@@ -332,12 +333,12 @@ const BlogArticlesGrid = class {
332
333
  background-color: #989898;
333
334
  }
334
335
  }
335
- div.LeftItems a {
336
+ div.LeftItems .PaginationControl {
336
337
  min-width: 60px;
337
338
  border-radius: 20px 0 0 20px;
338
339
  border-right: 0;
339
340
  }
340
- div.RightItems a {
341
+ div.RightItems .PaginationControl {
341
342
  display: flex;
342
343
  min-width: 100px;
343
344
  justify-content: space-evenly;
@@ -345,7 +346,7 @@ const BlogArticlesGrid = class {
345
346
  border-radius: 0 20px 20px 0;
346
347
  text-transform: none;
347
348
  }
348
- .RightItems a .NavigationButton {
349
+ .RightItems .PaginationControl .NavigationButton {
349
350
  padding: 12px 0 12px 12px;
350
351
  font-weight: 700;
351
352
  }`;
@@ -403,7 +404,7 @@ const BlogArticlesGrid = class {
403
404
  this.allBlogResponse = undefined;
404
405
  this.totalBlogs = 0;
405
406
  this.customTranslations = {};
406
- this.selectedCategory = 'all';
407
+ this.selectedCategory = ALL_CATEGORY_ID;
407
408
  this.categories = [];
408
409
  }
409
410
  getArticleId(event, post) {
@@ -469,7 +470,12 @@ const BlogArticlesGrid = class {
469
470
  if (!this.pageQueryParam)
470
471
  return;
471
472
  const url = new URL(window.location.href);
472
- url.searchParams.set(this.pageQueryParam, String(pageNumber));
473
+ if (pageNumber === 1) {
474
+ url.searchParams.delete(this.pageQueryParam);
475
+ }
476
+ else {
477
+ url.searchParams.set(this.pageQueryParam, String(pageNumber));
478
+ }
473
479
  window.history.pushState(null, '', `${url.pathname}${url.search}${url.hash}`);
474
480
  }
475
481
  handleClientStylingChange(newValue, oldValue) {
@@ -513,6 +519,13 @@ const BlogArticlesGrid = class {
513
519
  getActiveCategory() {
514
520
  return this.categories.find(category => category.id === this.selectedCategory);
515
521
  }
522
+ getCategorySlug(category) {
523
+ return category.slug || category.name.toLowerCase().replace(/\s+/g, '-');
524
+ }
525
+ getCategoryHref(category) {
526
+ const blogPath = `/${encodeURIComponent(this.language)}/blog`;
527
+ return category.id === ALL_CATEGORY_ID ? blogPath : `${blogPath}/category/${encodeURIComponent(this.getCategorySlug(category))}`;
528
+ }
516
529
  sortArticlesByDate(blogItems) {
517
530
  blogItems.sort((a, b) => {
518
531
  if (a.publishingDate > b.publishingDate)
@@ -543,12 +556,11 @@ const BlogArticlesGrid = class {
543
556
  }
544
557
  async fetchBlogPosts(page, allPosts = false) {
545
558
  const url = new URL(`${this.cmsEndpoint}/${this.language}/blog-posts`);
546
- if (this.showBlogSubcategories &&
547
- this.selectedCategory &&
548
- this.selectedCategory !== 'all') {
559
+ if (this.selectedCategory &&
560
+ this.selectedCategory !== ALL_CATEGORY_ID) {
549
561
  const category = this.categories.find(cat => cat.id == this.selectedCategory);
550
- if (category === null || category === void 0 ? void 0 : category.slug) {
551
- url.searchParams.append('category', category.slug);
562
+ if (category) {
563
+ url.searchParams.append('category', this.getCategorySlug(category));
552
564
  }
553
565
  }
554
566
  url.searchParams.append('per_page', allPosts ? '300' : this.blogsLimit);
@@ -599,7 +611,7 @@ const BlogArticlesGrid = class {
599
611
  const visibleCategories = categories.filter(category => { var _a; return !hiddenCategories.includes((_a = category.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
600
612
  this.categories = [
601
613
  {
602
- id: 'all',
614
+ id: ALL_CATEGORY_ID,
603
615
  name: 'All',
604
616
  },
605
617
  ...visibleCategories,
@@ -660,13 +672,10 @@ const BlogArticlesGrid = class {
660
672
  }
661
673
  async componentWillLoad() {
662
674
  var _a;
663
- if (this.showBlogSubcategories) {
675
+ if (this.cmsEndpoint && this.language) {
664
676
  await this.fetchCategories();
665
677
  if (this.category) {
666
- const category = this.categories.find(cat => {
667
- var _a;
668
- return ((_a = cat.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().replace(/\s+/g, '-')) === this.category;
669
- });
678
+ const category = this.categories.find(cat => cat.id !== ALL_CATEGORY_ID && this.getCategorySlug(cat) === this.category);
670
679
  if (category) {
671
680
  this.selectedCategory = category.id;
672
681
  this.emitActiveCategory();
@@ -691,14 +700,21 @@ const BlogArticlesGrid = class {
691
700
  const category = this.categories.find(cat => cat.id === this.selectedCategory);
692
701
  window.postMessage({
693
702
  type: 'BlogArticlesActiveCategory',
694
- category: this.selectedCategory === 'all'
703
+ category: this.selectedCategory === ALL_CATEGORY_ID
695
704
  ? null
696
705
  : category === null || category === void 0 ? void 0 : category.name,
697
- metadata: this.selectedCategory === 'all'
706
+ categorySlug: category && this.selectedCategory !== ALL_CATEGORY_ID ? this.getCategorySlug(category) : null,
707
+ metadata: this.selectedCategory === ALL_CATEGORY_ID
698
708
  ? null
699
709
  : (_a = category === null || category === void 0 ? void 0 : category.metadata) !== null && _a !== void 0 ? _a : null,
700
710
  }, window.location.href);
701
711
  }
712
+ handleCategoryClick(event, categoryId) {
713
+ if (!this.usePostmessage || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)
714
+ return;
715
+ event.preventDefault();
716
+ this.handleCategoryChange(categoryId);
717
+ }
702
718
  async handleCategoryChange(categoryId) {
703
719
  if (this.isLoading || this.selectedCategory === categoryId) {
704
720
  return;
@@ -746,7 +762,7 @@ const BlogArticlesGrid = class {
746
762
  }
747
763
  formatDate(dateString) {
748
764
  const date = this.parseDate(dateString);
749
- return new Intl.DateTimeFormat(this.intlDateTimeFormat).format(date);
765
+ return new Intl.DateTimeFormat(this.intlDateTimeFormat || 'en-GB', { day: 'numeric', month: 'short', year: 'numeric' }).format(date);
750
766
  }
751
767
  render() {
752
768
  var _a;
@@ -762,21 +778,28 @@ const BlogArticlesGrid = class {
762
778
  const showPagination = Boolean(this.paginationActive) && this.totalBlogs > +this.blogsLimit;
763
779
  const paginationClientStyling = !this.mbSource ? (this.clientStyling || this.paginationDefaultStyling) : undefined;
764
780
  const activeCategory = this.getActiveCategory();
765
- return (index.h("div", { ref: el => this.stylingContainer = el }, this.showBreadcrumb && (index.h("nav", { class: "breadcrumb", "aria-label": "Breadcrumb" }, index.h("a", { href: `/${encodeURIComponent(this.language)}` }, translate$1('home', this.language, this.customTranslations)), index.h("span", { "aria-hidden": "true" }, "\u203A"), index.h("span", { "aria-current": "page" }, translate$1('blog', this.language, this.customTranslations)))), this.showPageTitle && index.h("h1", { class: "BlogPageTitle" }, " ", this.selectedCategory !== 'all' ? activeCategory === null || activeCategory === void 0 ? void 0 : activeCategory.name : translate$1('blogPageTitle', this.language, this.customTranslations), " "), this.selectedCategory !== 'all' &&
781
+ return (index.h("div", { ref: el => this.stylingContainer = el }, this.showBreadcrumb && (index.h("nav", { class: "breadcrumb", "aria-label": "Breadcrumb" }, index.h("a", { href: `/${encodeURIComponent(this.language)}` }, translate$1('home', this.language, this.customTranslations)), index.h("span", { "aria-hidden": "true" }, "\u203A"), activeCategory && this.selectedCategory !== ALL_CATEGORY_ID ? [
782
+ index.h("a", { href: `/${encodeURIComponent(this.language)}/blog` }, translate$1('blog', this.language, this.customTranslations)),
783
+ index.h("span", { "aria-hidden": "true" }, "\u203A"),
784
+ index.h("span", { "aria-current": "page" }, activeCategory.name),
785
+ ] : index.h("span", { "aria-current": "page" }, translate$1('blog', this.language, this.customTranslations)))), this.showPageTitle && index.h("h1", { class: "BlogPageTitle" }, " ", this.selectedCategory !== ALL_CATEGORY_ID ? activeCategory === null || activeCategory === void 0 ? void 0 : activeCategory.name : translate$1('blogPageTitle', this.language, this.customTranslations), " "), this.selectedCategory !== ALL_CATEGORY_ID &&
766
786
  (activeCategory === null || activeCategory === void 0 ? void 0 : activeCategory.description) && (index.h("div", { class: "BlogPageDescription", innerHTML: activeCategory.description })), index.h("div", { class: "BlogPageContainer" }, this.showBlogSubcategories &&
767
- index.h("div", { class: "BlogCategoriesSliderWrapper" }, index.h("div", { class: "CarouselWrapper" }, index.h("div", { class: "CarouselContainer" }, index.h("div", { class: "BlogCategoriesWrapper" }, index.h("div", { class: "CategoryButtons" }, this.categories.map(category => (index.h("button", { disabled: this.isLoading || this.selectedCategory === category.id, key: category.id, class: {
787
+ index.h("div", { class: "BlogCategoriesSliderWrapper" }, index.h("div", { class: "CarouselWrapper" }, index.h("div", { class: "CarouselContainer" }, index.h("div", { class: "BlogCategoriesWrapper" }, index.h("div", { class: "CategoryButtons" }, this.categories.map(category => (index.h("a", { href: this.getCategoryHref(category), "aria-current": this.selectedCategory === category.id ? 'page' : undefined, key: category.id, class: {
768
788
  CategoryButton: true,
769
789
  active: this.selectedCategory === category.id,
770
- }, onClick: () => {
771
- this.handleCategoryChange(category.id);
772
- } }, category.name)))))))), index.h("div", { class: "BlogGridPaginationWrapper" }, showPagination && index.h("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": paginationClientStyling, "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 && ((_a = this.displayedBlogResponse) === null || _a === void 0 ? void 0 : _a.items.length) === 0 && (index.h("p", { class: "EmptyState", role: "status" }, translate$1(this.selectedCategory === 'all' ? 'emptyState' : 'emptyCategoryState', this.language, this.customTranslations))), (!this.isLoading) &&
790
+ }, onClick: event => this.handleCategoryClick(event, category.id) }, category.name)))))))), index.h("div", { class: "BlogGridPaginationWrapper" }, showPagination && index.h("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": paginationClientStyling, "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 && ((_a = this.displayedBlogResponse) === null || _a === void 0 ? void 0 : _a.items.length) === 0 && (index.h("p", { class: "EmptyState", role: "status" }, translate$1(this.selectedCategory === ALL_CATEGORY_ID ? 'emptyState' : 'emptyCategoryState', this.language, this.customTranslations))), (!this.isLoading) &&
773
791
  index.h("div", { class: `GridContainerWrapper BlogPage-${this.currentPage} ${this.device}` }, this.displayedBlogResponse && this.displayedBlogResponse.items.map((data) => {
774
792
  var _a, _b;
775
- 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 &&
776
- 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" }, this.showTitle &&
793
+ const cardCategories = this.categories.filter(category => {
794
+ var _a;
795
+ return category.id !== ALL_CATEGORY_ID
796
+ && ((_a = data.blogCategory) === null || _a === void 0 ? void 0 : _a.includes(this.getCategorySlug(category)));
797
+ });
798
+ 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
+ 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 &&
777
800
  index.h("h2", { class: "BlogTitle" }, index.h("a", { class: "BlogCardLink", href: `/${encodeURIComponent(this.language)}/blog/${encodeURIComponent(data.customPath || data.slug)}`, onClick: event => this.getArticleId(event, data) }, data.title)), this.showContent &&
778
801
  this.renderContentConditionally(data.descriptionPreview), this.showButton &&
779
- index.h("span", { class: "BlogLink" }, translate$1('readmore', this.language, this.customTranslations)))));
802
+ index.h("span", { class: "BlogLink" }, translate$1('readmore', this.language, this.customTranslations))))));
780
803
  })), (this.isLoading) &&
781
804
  index.h("div", { class: "GridContainerWrapper LoadingGrid" }, placeholderCards))));
782
805
  }
@@ -818,10 +841,10 @@ const TRANSLATIONS = {
818
841
  lastPage: 'Last'
819
842
  },
820
843
  ro: {
821
- firstPage: 'Prima',
822
- previousPage: 'Anterior',
823
- nextPage: 'Urmatoarea',
824
- lastPage: 'Ultima'
844
+ firstPage: 'First',
845
+ previousPage: 'Previous',
846
+ nextPage: 'Next',
847
+ lastPage: 'Last'
825
848
  },
826
849
  fr: {
827
850
  firstPage: 'First',
@@ -838,14 +861,14 @@ const TRANSLATIONS = {
838
861
  hu: {
839
862
  firstPage: 'First',
840
863
  previousPage: 'Previous',
841
- nextPage: 'Következő',
864
+ nextPage: 'Next',
842
865
  lastPage: 'Last'
843
866
  },
844
867
  hr: {
845
- firstPage: 'Prva',
846
- previousPage: 'Prethodna',
847
- nextPage: 'Slijedeća',
848
- lastPage: 'Zadnja'
868
+ firstPage: 'First',
869
+ previousPage: 'Previous',
870
+ nextPage: 'Next',
871
+ lastPage: 'Last'
849
872
  }
850
873
  };
851
874
  const translate = (key, customLang) => {
@@ -853,7 +876,7 @@ const translate = (key, customLang) => {
853
876
  return TRANSLATIONS[(lang !== undefined) && (lang in TRANSLATIONS) ? lang : DEFAULT_LANGUAGE][key];
854
877
  };
855
878
 
856
- const helperPaginationCss = "@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 a:not(:first-child),.RightItems a:not(:last-child){margin:0 10px}.LeftItems a,.RightItems a{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{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:all 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]{background-color:#ccc;border-color:#ccc;color:#fff;cursor:not-allowed}@media screen and (max-width: 720px){a{width:90px;font-size:14px}}@media screen and (max-width: 480px){a{width:70px;font-size:14px}.paginationArea{padding:5px}}@media screen and (max-width: 320px){a{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}}";
879
+ const helperPaginationCss = "@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}}";
857
880
  const HelperPaginationStyle0 = helperPaginationCss;
858
881
 
859
882
  const HelperPagination = class {
@@ -964,7 +987,10 @@ const HelperPagination = class {
964
987
  /**
965
988
  * Construct numbered navigation area based on current page position
966
989
  */
967
- if (this.currentPage == 1 || this.currentPage == 2) {
990
+ if (this.endInt < 4) {
991
+ this.pagesArray = Array.from({ length: this.endInt + 1 }, (_, i) => i + 1);
992
+ }
993
+ else if (this.currentPage == 1 || this.currentPage == 2) {
968
994
  this.pagesArray = Array.from({ length: 4 }, (_, i) => i + 1);
969
995
  this.pagesArray.push('...');
970
996
  }
@@ -998,8 +1024,24 @@ const HelperPagination = class {
998
1024
  if (!this.pageQueryParam)
999
1025
  return '#';
1000
1026
  const url = new URL(window.location.href);
1001
- url.searchParams.set(this.pageQueryParam, String(page + this.page - 1));
1002
- return `${url.search}${url.hash}`;
1027
+ const pageNumber = page + this.page - 1;
1028
+ if (pageNumber === 1) {
1029
+ url.searchParams.delete(this.pageQueryParam);
1030
+ }
1031
+ else {
1032
+ url.searchParams.set(this.pageQueryParam, String(pageNumber));
1033
+ }
1034
+ return `${url.pathname}${url.search}${url.hash}`;
1035
+ }
1036
+ renderNavigationButton(page, navigation, enabled, rel) {
1037
+ const Tag = enabled ? 'a' : 'span';
1038
+ const label = translate(navigation, this.language);
1039
+ return (index.h(Tag, { class: "PaginationControl", href: enabled ? this.pageHref(page) : undefined, rel: enabled ? rel : undefined, "aria-label": label, "aria-disabled": !enabled ? 'true' : undefined, onClick: enabled ? event => {
1040
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)
1041
+ return;
1042
+ event.preventDefault();
1043
+ this.navigateTo(navigation);
1044
+ } : undefined }, index.h("span", { class: "NavigationButton" }, label), index.h("span", { class: "NavigationIcon" })));
1003
1045
  }
1004
1046
  render() {
1005
1047
  /**
@@ -1010,6 +1052,8 @@ const HelperPagination = class {
1010
1052
  ? Math.max(1, this.currentPage - 5)
1011
1053
  : Math.min(this.endInt + 1, this.currentPage + 5);
1012
1054
  return (index.h("li", { class: 'PaginationItem' + (item === this.currentPage ? ' ActiveItem' : ' ') + ' ' + (isMobile(this.userAgent) ? 'MobileButtons' : '') }, index.h("a", { href: this.pageHref(page), "aria-current": item === this.currentPage ? 'page' : undefined, "aria-disabled": item === this.currentPage ? 'true' : undefined, tabIndex: item === this.currentPage ? -1 : undefined, onClick: event => {
1055
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)
1056
+ return;
1013
1057
  event.preventDefault();
1014
1058
  if (item !== this.currentPage)
1015
1059
  this.paginationNavigation(item, index$1);
@@ -1018,45 +1062,11 @@ const HelperPagination = class {
1018
1062
  /**
1019
1063
  * Left navigation area
1020
1064
  */
1021
- let buttonSecondaryLeftSide = index.h("a", { href: this.prevPage ? this.pageHref(1) : '#', "aria-disabled": !this.prevPage ? 'true' : undefined, tabIndex: !this.prevPage ? -1 : undefined, onClick: event => {
1022
- event.preventDefault();
1023
- if (this.prevPage)
1024
- this.navigateTo('firstPage');
1025
- } }, index.h("span", { class: "NavigationButton" }, translate('firstPage', this.language)), index.h("span", { class: "NavigationIcon" }));
1026
- let buttonsLeftSide = index.h("div", { class: "LeftItems" }, this.secondaryArrowsActive && buttonSecondaryLeftSide, index.h("a", { href: this.prevPage ? this.pageHref(this.currentPage - 1) : '#', rel: "prev", "aria-label": translate('previousPage', this.language), "aria-disabled": !this.prevPage ? 'true' : undefined, tabIndex: !this.prevPage ? -1 : undefined, onClick: event => {
1027
- event.preventDefault();
1028
- if (this.prevPage)
1029
- this.navigateTo('previousPage');
1030
- } }, index.h("span", { class: "NavigationButton" }, translate('previousPage', this.language)), index.h("span", { class: "NavigationIcon" })));
1031
- if (isMobile(this.userAgent)) {
1032
- buttonsLeftSide =
1033
- index.h("div", { class: "LeftItems" }, index.h("a", { href: this.prevPage ? this.pageHref(this.currentPage - 1) : '#', rel: "prev", "aria-label": translate('previousPage', this.language), "aria-disabled": !this.prevPage ? 'true' : undefined, tabIndex: !this.prevPage ? -1 : undefined, onClick: event => {
1034
- event.preventDefault();
1035
- if (this.prevPage)
1036
- this.navigateTo('previousPage');
1037
- } }, index.h("span", { class: "NavigationButton" }, translate('previousPage', this.language)), index.h("span", { class: "NavigationIcon" })));
1038
- }
1065
+ const buttonsLeftSide = index.h("div", { class: "LeftItems" }, this.secondaryArrowsActive && this.renderNavigationButton(1, 'firstPage', Boolean(this.prevPage)), this.renderNavigationButton(this.currentPage - 1, 'previousPage', Boolean(this.prevPage), 'prev'));
1039
1066
  /**
1040
1067
  * Right navigation area
1041
1068
  */
1042
- let buttonSecondaryRightSide = index.h("a", { href: this.nextPage ? this.pageHref(this.endInt + 1) : '#', "aria-disabled": !this.nextPage ? 'true' : undefined, tabIndex: !this.nextPage ? -1 : undefined, onClick: event => {
1043
- event.preventDefault();
1044
- if (this.nextPage)
1045
- this.navigateTo('lastPage');
1046
- } }, index.h("span", { class: "NavigationButton" }, translate('lastPage', this.language)), index.h("span", { class: "NavigationIcon" }));
1047
- let buttonsRightSide = index.h("div", { class: "RightItems" }, index.h("a", { href: this.nextPage ? this.pageHref(this.currentPage + 1) : '#', rel: "next", "aria-label": translate('nextPage', this.language), "aria-disabled": !this.nextPage ? 'true' : undefined, tabIndex: !this.nextPage ? -1 : undefined, onClick: event => {
1048
- event.preventDefault();
1049
- if (this.nextPage)
1050
- this.navigateTo('nextPage');
1051
- } }, index.h("span", { class: "NavigationButton" }, translate('nextPage', this.language)), index.h("span", { class: "NavigationIcon" })), this.secondaryArrowsActive && buttonSecondaryRightSide);
1052
- if (isMobile(this.userAgent)) {
1053
- buttonsRightSide =
1054
- index.h("div", { class: "RightItems" }, index.h("a", { href: this.nextPage ? this.pageHref(this.currentPage + 1) : '#', rel: "next", "aria-label": translate('nextPage', this.language), "aria-disabled": !this.nextPage ? 'true' : undefined, tabIndex: !this.nextPage ? -1 : undefined, onClick: event => {
1055
- event.preventDefault();
1056
- if (this.nextPage)
1057
- this.navigateTo('nextPage');
1058
- } }, index.h("span", { class: "NavigationButton" }, translate('nextPage', this.language)), index.h("span", { class: "NavigationIcon" })));
1059
- }
1069
+ const buttonsRightSide = index.h("div", { class: "RightItems" }, this.renderNavigationButton(this.currentPage + 1, 'nextPage', Boolean(this.nextPage), 'next'), this.secondaryArrowsActive && this.renderNavigationButton(this.endInt + 1, 'lastPage', Boolean(this.nextPage)));
1060
1070
  return (index.h("nav", { id: "PaginationContainer", class: "PaginationContainer", "aria-label": "Blog pagination", ref: el => this.stylingContainer = el }, this.arrowsActive && buttonsLeftSide, this.numberedNavActive && navigationArea, this.arrowsActive && buttonsRightSide));
1061
1071
  }
1062
1072
  static get watchers() { return {
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'blog-articles-grid';
24
- const BUILD = /* blog-articles-grid */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
24
+ const BUILD = /* blog-articles-grid */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -281,6 +281,13 @@ var h = (nodeName, vnodeData, ...children) => {
281
281
  }
282
282
  }
283
283
  }
284
+ if (typeof nodeName === "function") {
285
+ return nodeName(
286
+ vnodeData === null ? {} : vnodeData,
287
+ vNodeChildren,
288
+ vdomFnUtils
289
+ );
290
+ }
284
291
  const vnode = newVNode(nodeName, null);
285
292
  vnode.$attrs$ = vnodeData;
286
293
  if (vNodeChildren.length > 0) {
@@ -309,6 +316,36 @@ var newVNode = (tag, text) => {
309
316
  };
310
317
  var Host = {};
311
318
  var isHost = (node) => node && node.$tag$ === Host;
319
+ var vdomFnUtils = {
320
+ forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
321
+ map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)
322
+ };
323
+ var convertToPublic = (node) => ({
324
+ vattrs: node.$attrs$,
325
+ vchildren: node.$children$,
326
+ vkey: node.$key$,
327
+ vname: node.$name$,
328
+ vtag: node.$tag$,
329
+ vtext: node.$text$
330
+ });
331
+ var convertToPrivate = (node) => {
332
+ if (typeof node.vtag === "function") {
333
+ const vnodeData = { ...node.vattrs };
334
+ if (node.vkey) {
335
+ vnodeData.key = node.vkey;
336
+ }
337
+ if (node.vname) {
338
+ vnodeData.name = node.vname;
339
+ }
340
+ return h(node.vtag, vnodeData, ...node.vchildren || []);
341
+ }
342
+ const vnode = newVNode(node.vtag, node.vtext);
343
+ vnode.$attrs$ = node.vattrs;
344
+ vnode.$children$ = node.vchildren;
345
+ vnode.$key$ = node.vkey;
346
+ vnode.$name$ = node.vname;
347
+ return vnode;
348
+ };
312
349
  var parsePropertyValue = (propValue, propType) => {
313
350
  if (propValue != null && !isComplexType(propValue)) {
314
351
  if (propType & 4 /* Boolean */) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d9577f9e.js');
5
+ const index = require('./index-96fb13fd.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
@@ -10,7 +10,7 @@
10
10
  max-width: 1300px;
11
11
  padding: 0 20px;
12
12
  margin: 40px auto 20px;
13
- color: var(--emw--color-white, #FFFFFF);
13
+ color: var(--emw--color-typography);
14
14
  }
15
15
  .breadcrumb a {
16
16
  color: inherit;
@@ -40,7 +40,7 @@
40
40
  }
41
41
 
42
42
  .EmptyState {
43
- color: var(--emw--color-white, #FFFFFF);
43
+ color: var(--emw--color-typography);
44
44
  display: flex;
45
45
  align-items: center;
46
46
  justify-content: center;
@@ -77,6 +77,9 @@
77
77
  height: 280px;
78
78
  background: var(--emw--color-white, #FFFFFF);
79
79
  }
80
+ .GridContainer:not(.Skeleton):hover .GridWrapper {
81
+ background: color-mix(in srgb, var(--emw--color-white, #FFFFFF) 90%, #000);
82
+ }
80
83
  .GridContainer .GridSector {
81
84
  flex-basis: 50%;
82
85
  position: relative;
@@ -124,6 +127,14 @@
124
127
  text-decoration: none;
125
128
  cursor: pointer;
126
129
  }
130
+ .GridContainer .BlogTitle .BlogCardLink:focus-visible {
131
+ outline: none;
132
+ }
133
+ .GridContainer .BlogTitle .BlogCardLink:focus-visible::after {
134
+ border-radius: 15px;
135
+ outline: 3px solid var(--emw--color-primary, #CD0B5E);
136
+ outline-offset: -3px;
137
+ }
127
138
  .GridContainer .BlogTitle .BlogCardLink::after {
128
139
  content: "";
129
140
  position: absolute;
@@ -241,6 +252,7 @@
241
252
  padding: 10px 20px;
242
253
  border-radius: 999px;
243
254
  border: 1px solid currentColor;
255
+ text-decoration: none;
244
256
  background: transparent;
245
257
  color: var(--emw--color-white, #fff);
246
258
  cursor: pointer;
@@ -250,4 +262,15 @@
250
262
  .CategoryButton.active {
251
263
  background: var(--emw--casino-color-primary, var(--emw--color-primary, #22B04E));
252
264
  color: var(--emw--color-background, #fff);
265
+ }
266
+
267
+ .BlogCardCategories {
268
+ margin-bottom: 10px;
269
+ }
270
+ .BlogCardCategories .CategoryButton {
271
+ position: relative;
272
+ z-index: 3;
273
+ padding: 4px 10px;
274
+ color: inherit;
275
+ font-size: 12px;
253
276
  }