@everymatrix/general-footer-template 1.59.2 → 1.59.3

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.
Files changed (55) hide show
  1. package/dist/cjs/custom-clock.cjs.entry.js +1 -1
  2. package/dist/cjs/custom-content-section.cjs.entry.js +32 -21
  3. package/dist/cjs/general-footer-template.cjs.entry.js +2 -2
  4. package/dist/cjs/general-footer-template.cjs.js +2 -2
  5. package/dist/cjs/image-list.cjs.entry.js +29 -4
  6. package/dist/cjs/{index-a7f717fa.js → index-a589a1e7.js} +10 -1
  7. package/dist/cjs/link-section-list.cjs.entry.js +29 -4
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/ui-skeleton.cjs.entry.js +148 -0
  10. package/dist/collection/collection-manifest.json +8 -1
  11. package/dist/collection/components/custom-content-section/custom-content-section.js +2 -1
  12. package/dist/collection/components/general-footer-template/demo-footer.css +31 -0
  13. package/dist/collection/components/general-footer-template/general-footer-template.js +1 -0
  14. package/dist/collection/components/general-footer-template/general-footer-template.stories.js +1 -1
  15. package/dist/collection/components/image-list/image-list.css +10 -0
  16. package/dist/collection/components/image-list/image-list.js +32 -2
  17. package/dist/collection/components/link-section-list/link-section-list.js +33 -3
  18. package/dist/esm/custom-clock.entry.js +1 -1
  19. package/dist/esm/custom-content-section.entry.js +32 -21
  20. package/dist/esm/general-footer-template.entry.js +2 -2
  21. package/dist/esm/general-footer-template.js +3 -3
  22. package/dist/esm/image-list.entry.js +29 -4
  23. package/dist/esm/{index-e6e68604.js → index-0dd7df9f.js} +10 -2
  24. package/dist/esm/link-section-list.entry.js +29 -4
  25. package/dist/esm/loader.js +3 -3
  26. package/dist/esm/ui-skeleton.entry.js +144 -0
  27. package/dist/general-footer-template/general-footer-template.esm.js +1 -1
  28. package/dist/general-footer-template/p-13856e75.entry.js +1 -0
  29. package/dist/general-footer-template/p-15f41686.entry.js +1 -0
  30. package/dist/general-footer-template/p-2b4944f2.js +2 -0
  31. package/dist/general-footer-template/{p-f12f5263.entry.js → p-5816ee0c.entry.js} +1 -1
  32. package/dist/general-footer-template/p-8665d213.entry.js +1 -0
  33. package/dist/general-footer-template/{p-5f13c34b.entry.js → p-a9ca9542.entry.js} +2 -2
  34. package/dist/general-footer-template/p-abe53f3b.entry.js +1 -0
  35. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.d.ts +2 -0
  36. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.dev.d.ts +2 -0
  37. package/dist/types/components/custom-content-section/custom-content-section.d.ts +1 -0
  38. package/dist/types/components/general-footer-template/general-footer-template.d.ts +1 -0
  39. package/dist/types/components/general-footer-template/general-footer-template.stories.d.ts +1 -1
  40. package/dist/types/components/image-list/image-list.d.ts +8 -0
  41. package/dist/types/components/link-section-list/link-section-list.d.ts +8 -0
  42. package/package.json +1 -1
  43. package/dist/general-footer-template/p-076550c8.entry.js +0 -1
  44. package/dist/general-footer-template/p-16bd4237.js +0 -2
  45. package/dist/general-footer-template/p-2879096a.entry.js +0 -1
  46. package/dist/general-footer-template/p-d7132f51.entry.js +0 -1
  47. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.d.ts +0 -2
  48. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.dev.d.ts +0 -2
  49. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/libs/common/src/storybook/storybook-utils.d.ts +0 -0
  50. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/storybook/main.d.ts +0 -0
  51. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/storybook/preview.d.ts +0 -0
  52. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/index.d.ts +0 -0
  53. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/stencil-clean-deps-plugin.d.ts +0 -0
  54. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/vite-chunk-plugin.d.ts +0 -0
  55. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/vite-clean-deps-plugin.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { componentRules, normalizeRepeaterContent, getDevicePlatform } from "../../utils/utils";
3
3
  import { setClientStyling, setClientStylingURL, setStreamStyling } from "../../../../../../../../libs/common/src/styling/index";
4
+ import "../../../../../ui-skeleton/dist/types/index";
4
5
  export class GeneralFooterTemplate {
5
6
  constructor() {
6
7
  this.platform = getDevicePlatform();
@@ -1,5 +1,5 @@
1
1
  import { html } from "lit";
2
- import "@everymatrix/general-footer-template";
2
+ import "../../../types/index";
3
3
  const meta = {
4
4
  title: 'General/Components/general-footer-template',
5
5
  component: 'general-footer-template',
@@ -4,6 +4,16 @@
4
4
  padding: 0;
5
5
  }
6
6
 
7
+ .ContainerImage {
8
+ position: relative;
9
+ display: inline-block;
10
+ width: 100%;
11
+ }
12
+
13
+ .SkeletonWrapper {
14
+ background-color: #f0f0f0;
15
+ }
16
+
7
17
  .ImageListContainer {
8
18
  height: 100%;
9
19
  }
@@ -4,14 +4,38 @@ export class ImageList {
4
4
  this.navigateLink = (url, target, externalLink) => {
5
5
  window.postMessage({ type: this.postMessageEvent, path: url, url, target, externalLink }, window.location.href);
6
6
  };
7
+ this.onImageLoad = () => {
8
+ this.removeLoadingState();
9
+ this.cleanupListeners();
10
+ };
7
11
  this.repeaterContent = undefined;
8
12
  this.navigateViaEvent = false;
9
13
  this.postMessageEvent = '';
14
+ this.skeletonLoading = true;
15
+ }
16
+ componentDidLoad() {
17
+ this.initImageListeners();
18
+ }
19
+ initImageListeners() {
20
+ if (!this.imgRef)
21
+ return;
22
+ if (this.imgRef.complete) {
23
+ this.onImageLoad();
24
+ return;
25
+ }
26
+ this.imgRef.addEventListener('load', this.onImageLoad);
27
+ }
28
+ removeLoadingState() {
29
+ this.skeletonLoading = false;
30
+ }
31
+ cleanupListeners() {
32
+ var _a;
33
+ (_a = this.imgRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('load', this.onImageLoad);
10
34
  }
11
35
  render() {
12
36
  var _a, _b, _c;
13
- return h("div", { key: '904d6e891d4533b61fa5b5d56d94fef1b64e254f', class: "ImageListContainer" }, h("div", { key: '2519ef8038b27175a5cede599561d235e29ef1ee', class: "ImageListWrapper" }, h("div", { key: '10b2280a935e16b046ee3bac0a34c84740350b30', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), h("div", { key: '11fb15bd73372b2e9bbec9250195a7a93f62e935', class: "ImageListLineup" }, (_c = (_b = this.repeaterContent) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.map(repeater => {
14
- return (h("div", { class: 'ImageListIcon' }, this.navigateViaEvent === true ? (h("div", { class: 'ImageListIcon', style: { cursor: 'pointer' }, onClick: () => this.navigateLink(repeater === null || repeater === void 0 ? void 0 : repeater.url, repeater === null || repeater === void 0 ? void 0 : repeater.target, repeater === null || repeater === void 0 ? void 0 : repeater.isExternalLink) }, h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "" }), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title))) : (h("a", { href: (repeater === null || repeater === void 0 ? void 0 : repeater.url) || 'javascript:void(0)', target: (repeater === null || repeater === void 0 ? void 0 : repeater.target) || '_parent' }, h("div", { class: "ImageListPositioner" }, h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "" })), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title)))));
37
+ return h("div", { key: '9a0f6ba04dc838fe6fe02baf854fdd86f51a5107', class: "ImageListContainer" }, h("div", { key: '3eaaaed1c03bd32a48ea2449ce6f28c7dc5787d0', class: "ImageListWrapper" }, h("div", { key: '3f92875995f098dac4225ca2cc789e63c4689817', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), h("div", { key: '0b36613e5d4522b6dd3801031c29cb3a8fedc625', class: "ImageListLineup" }, (_c = (_b = this.repeaterContent) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.map(repeater => {
38
+ return (h("div", { class: 'ImageListIcon' }, this.navigateViaEvent === true ? (h("div", { class: 'ImageListIcon', style: { cursor: 'pointer' }, onClick: () => this.navigateLink(repeater === null || repeater === void 0 ? void 0 : repeater.url, repeater === null || repeater === void 0 ? void 0 : repeater.target, repeater === null || repeater === void 0 ? void 0 : repeater.isExternalLink) }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "40px" }))), h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "", ref: (el) => (this.imgRef = el) })), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title))) : (h("a", { href: (repeater === null || repeater === void 0 ? void 0 : repeater.url) || 'javascript:void(0)', target: (repeater === null || repeater === void 0 ? void 0 : repeater.target) || '_parent' }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "40px" }))), h("div", { class: "ImageListPositioner" }, h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "", ref: (el) => (this.imgRef = el) }))), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title)))));
15
39
  }))));
16
40
  }
17
41
  static get is() { return "image-list"; }
@@ -83,4 +107,10 @@ export class ImageList {
83
107
  }
84
108
  };
85
109
  }
110
+ static get states() {
111
+ return {
112
+ "skeletonLoading": {}
113
+ };
114
+ }
115
+ static get elementRef() { return "el"; }
86
116
  }
@@ -1,11 +1,35 @@
1
1
  import { h } from "@stencil/core";
2
2
  export class LinkSectionList {
3
3
  constructor() {
4
+ this.onImageLoad = () => {
5
+ this.removeLoadingState();
6
+ this.cleanupListeners();
7
+ };
4
8
  this.repeaterContent = undefined;
5
9
  this.baseUrl = undefined;
6
10
  this.language = undefined;
7
11
  this.navigateViaEvent = false;
8
12
  this.postMessageEvent = '';
13
+ this.skeletonLoading = true;
14
+ }
15
+ componentDidLoad() {
16
+ this.initImageListeners();
17
+ }
18
+ initImageListeners() {
19
+ if (!this.imgRef)
20
+ return;
21
+ if (this.imgRef.complete) {
22
+ this.onImageLoad();
23
+ return;
24
+ }
25
+ this.imgRef.addEventListener('load', this.onImageLoad);
26
+ }
27
+ removeLoadingState() {
28
+ this.skeletonLoading = false;
29
+ }
30
+ cleanupListeners() {
31
+ var _a;
32
+ (_a = this.imgRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('load', this.onImageLoad);
9
33
  }
10
34
  navigateLink(link) {
11
35
  window.postMessage({ type: this.postMessageEvent, path: link.linkUrl, url: link.linkUrl, target: link.target, externalLink: link.externalLink }, window.location.href);
@@ -39,13 +63,13 @@ export class LinkSectionList {
39
63
  }
40
64
  return obj;
41
65
  }, []);
42
- return h("div", { class: "LinkSectionListContainer" }, h("div", { class: "LinkSectionListWrapper" }, this.repeaterContent.categoryTitle && h("h2", { class: "LinkSectionListTitle" }, this.repeaterContent.categoryTitle), linkSections.map(category => h("ul", null, category.categoryTitle && h("p", null, category.categoryTitle), category.links.map(link => h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (h("span", null, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }), h("span", null, link.linkName, " "))) :
66
+ return h("div", { class: "LinkSectionListContainer" }, h("div", { class: "LinkSectionListWrapper" }, this.repeaterContent.categoryTitle && h("h2", { class: "LinkSectionListTitle" }, this.repeaterContent.categoryTitle), linkSections.map(category => h("ul", null, category.categoryTitle && h("p", null, category.categoryTitle), category.links.map(link => h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (h("span", null, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) })), h("span", null, link.linkName, " "))) :
43
67
  link.linkName ?
44
68
  h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("span", null, link.linkName, " "))
45
69
  :
46
- h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })))) : (h("a", { class: "LinkSectionListLink", href: link.externalLink ? link.linkUrl : `${this.baseUrl}/${this.language}${link.linkUrl}`, target: link.target || '_blank' }, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText" }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }), h("span", null, link.linkName))) :
70
+ h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) }))))) : (h("a", { class: "LinkSectionListLink", href: link.externalLink ? link.linkUrl : `${this.baseUrl}/${this.language}${link.linkUrl}`, target: link.target || '_blank' }, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText" }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) })), h("span", null, link.linkName))) :
47
71
  link.linkName ? (h("span", { class: "LinkSectionListLinkText" }, h("span", null, link.linkName))) :
48
- h("span", { class: "LinkSectionListLinkText" }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }))))))))));
72
+ h("span", { class: "LinkSectionListLinkText" }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) })))))))))));
49
73
  }
50
74
  static get is() { return "link-section-list"; }
51
75
  static get originalStyleUrls() {
@@ -149,4 +173,10 @@ export class LinkSectionList {
149
173
  }
150
174
  };
151
175
  }
176
+ static get states() {
177
+ return {
178
+ "skeletonLoading": {}
179
+ };
180
+ }
181
+ static get elementRef() { return "el"; }
152
182
  }
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-e6e68604.js';
1
+ import { r as registerInstance, h } from './index-0dd7df9f.js';
2
2
  import { c as commonjsGlobal } from './_commonjsHelpers-57e89916.js';
3
3
 
4
4
  const DEFAULT_LANGUAGE = 'en';
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-e6e68604.js';
1
+ import { r as registerInstance, h } from './index-0dd7df9f.js';
2
2
  import { c as commonjsGlobal, g as getAugmentedNamespace } from './_commonjsHelpers-57e89916.js';
3
3
 
4
4
  var decode = {};
@@ -3327,7 +3327,7 @@ function filter$1(test, node, recurse = true, limit = Infinity) {
3327
3327
  function find(test, nodes, recurse, limit) {
3328
3328
  const result = [];
3329
3329
  /** Stack of the arrays we are looking at. */
3330
- const nodeStack = [nodes];
3330
+ const nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];
3331
3331
  /** Stack of the indices within the arrays. */
3332
3332
  const indexStack = [0];
3333
3333
  for (;;) {
@@ -3381,20 +3381,19 @@ function findOneChild(test, nodes) {
3381
3381
  * @returns The first node that passes `test`.
3382
3382
  */
3383
3383
  function findOne(test, nodes, recurse = true) {
3384
- let elem = null;
3385
- for (let i = 0; i < nodes.length && !elem; i++) {
3386
- const node = nodes[i];
3387
- if (!isTag(node)) {
3388
- continue;
3389
- }
3390
- else if (test(node)) {
3391
- elem = node;
3384
+ const searchedNodes = Array.isArray(nodes) ? nodes : [nodes];
3385
+ for (let i = 0; i < searchedNodes.length; i++) {
3386
+ const node = searchedNodes[i];
3387
+ if (isTag(node) && test(node)) {
3388
+ return node;
3392
3389
  }
3393
- else if (recurse && node.children.length > 0) {
3394
- elem = findOne(test, node.children, true);
3390
+ if (recurse && hasChildren(node) && node.children.length > 0) {
3391
+ const found = findOne(test, node.children, true);
3392
+ if (found)
3393
+ return found;
3395
3394
  }
3396
3395
  }
3397
- return elem;
3396
+ return null;
3398
3397
  }
3399
3398
  /**
3400
3399
  * Checks if a tree of nodes contains at least one node passing a test.
@@ -3405,8 +3404,8 @@ function findOne(test, nodes, recurse = true) {
3405
3404
  * @returns Whether a tree of nodes contains at least one node passing the test.
3406
3405
  */
3407
3406
  function existsOne(test, nodes) {
3408
- return nodes.some((checked) => isTag(checked) &&
3409
- (test(checked) || existsOne(test, checked.children)));
3407
+ return (Array.isArray(nodes) ? nodes : [nodes]).some((node) => (isTag(node) && test(node)) ||
3408
+ (hasChildren(node) && existsOne(test, node.children)));
3410
3409
  }
3411
3410
  /**
3412
3411
  * Search an array of nodes and their children for elements passing a test function.
@@ -3420,7 +3419,7 @@ function existsOne(test, nodes) {
3420
3419
  */
3421
3420
  function findAll(test, nodes) {
3422
3421
  const result = [];
3423
- const nodeStack = [nodes];
3422
+ const nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];
3424
3423
  const indexStack = [0];
3425
3424
  for (;;) {
3426
3425
  if (indexStack[0] >= nodeStack[0].length) {
@@ -3434,11 +3433,9 @@ function findAll(test, nodes) {
3434
3433
  continue;
3435
3434
  }
3436
3435
  const elem = nodeStack[0][indexStack[0]++];
3437
- if (!isTag(elem))
3438
- continue;
3439
- if (test(elem))
3436
+ if (isTag(elem) && test(elem))
3440
3437
  result.push(elem);
3441
- if (elem.children.length > 0) {
3438
+ if (hasChildren(elem) && elem.children.length > 0) {
3442
3439
  indexStack.unshift(0);
3443
3440
  nodeStack.unshift(elem.children);
3444
3441
  }
@@ -3568,6 +3565,19 @@ function getElementById(id, nodes, recurse = true) {
3568
3565
  function getElementsByTagName(tagName, nodes, recurse = true, limit = Infinity) {
3569
3566
  return filter$1(Checks["tag_name"](tagName), nodes, recurse, limit);
3570
3567
  }
3568
+ /**
3569
+ * Returns all nodes with the supplied `className`.
3570
+ *
3571
+ * @category Legacy Query Functions
3572
+ * @param className Class name to search for.
3573
+ * @param nodes Nodes to search through.
3574
+ * @param recurse Also consider child nodes.
3575
+ * @param limit Maximum number of nodes to return.
3576
+ * @returns All nodes with the supplied `className`.
3577
+ */
3578
+ function getElementsByClassName(className, nodes, recurse = true, limit = Infinity) {
3579
+ return filter$1(getAttribCheck("class", className), nodes, recurse, limit);
3580
+ }
3571
3581
  /**
3572
3582
  * Returns all nodes with the supplied `type`.
3573
3583
  *
@@ -3935,6 +3945,7 @@ const index = /*#__PURE__*/Object.freeze({
3935
3945
  getElements: getElements,
3936
3946
  getElementById: getElementById,
3937
3947
  getElementsByTagName: getElementsByTagName,
3948
+ getElementsByClassName: getElementsByClassName,
3938
3949
  getElementsByTagType: getElementsByTagType,
3939
3950
  removeSubsets: removeSubsets,
3940
3951
  get DocumentPosition () { return DocumentPosition; },
@@ -9546,7 +9557,7 @@ const CustomContentSection = class {
9546
9557
  a: ['href', 'target', 'rel']
9547
9558
  }
9548
9559
  });
9549
- return h("div", { key: '7cfcf732fff969c5bcd0b08a4b921ae3592732b3', class: "CustomContentSectionContainer" }, h("div", { key: 'c5cf9a5ada78c792ebb778d3d3084e0b0b938ed4', class: "CustomContentSectionWrapper" }, h("div", { key: 'abc8184b4eb9c97e0261bec4baebfb7e272cd3bb', class: "CustomContentSectionContent", innerHTML: clean }), this.repeaterContent ? h("image-list", { style: { width: "100%" }, repeaterContent: this.repeaterContent ? this.repeaterContent : null, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent }) : ''));
9560
+ return h("div", { key: '9990a716f474932b66644b13ec3ef378302dfaeb', class: "CustomContentSectionContainer" }, h("div", { key: '0ff21f48796f21dee167a686e3e346896a56cf71', class: "CustomContentSectionWrapper" }, h("div", { key: '6b8be4492fdb7f8c3b07545089a2e4dd47a1d8c8', class: "CustomContentSectionContent", innerHTML: clean }), this.repeaterContent ? h("image-list", { style: { width: "100%" }, repeaterContent: this.repeaterContent ? this.repeaterContent : null, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent }) : ''));
9550
9561
  }
9551
9562
  };
9552
9563
  CustomContentSection.style = CustomContentSectionStyle0;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-e6e68604.js';
1
+ import { r as registerInstance, h } from './index-0dd7df9f.js';
2
2
 
3
3
  /**
4
4
  * custom rules for component types
@@ -266,7 +266,7 @@ function setStreamStyling(stylingContainer, domain, subscription) {
266
266
  }
267
267
  }
268
268
 
269
- const demoFooterCss = ":host {\n display: block;\n}\n\n/* $-background-primary: #14202d; */\n* {\n font-family: sans-serif;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n\n.FooterSectionContainer {\n color: var(--emw--footer-typography, var(--emw--color-thpography, #fff));\n padding: 15px 20px 0;\n}\n\n/* // FOOTER CONTAINER - only serves to be read as a container */\n.FooterContainer {\n container-type: inline-size;\n container-name: footerContainer;\n}\n\n.FooterGrid {\n background-color: var(--emw--footer-color-bg, var(--emw--color-background, #0E1511));\n display: grid;\n grid-template-rows: repeat(9, auto);\n grid-template-areas: \"one\" \"two\" \"three\" \"four\" \"five\" \"six\" \"seven\";\n}\n\n.FooterSectionContainer1 {\n position: relative;\n grid-area: one;\n}\n\n.FooterSectionContainer2 {\n position: relative;\n grid-area: two;\n}\n\n.FooterSectionContainer3 {\n position: relative;\n grid-area: three;\n}\n\n.FooterSectionContainer4 {\n position: relative;\n grid-area: four;\n}\n\n.FooterSectionContainer5 {\n grid-area: five;\n}\n\n.FooterSectionContainer6 {\n padding-top: 22px;\n grid-area: six;\n}\n\n.FooterSectionContainer7 {\n grid-area: seven;\n}\n\n/* // remove paddings */\n.FooterSectionContainer7 div {\n padding: 0;\n}\n\n@container (max-width: 750px) {\n .FooterSectionContainer3:after,\n .FooterSectionContainer2:after {\n position: absolute;\n content: \"\";\n height: 1px;\n width: 90%;\n background-color: var(--emw--color-gray-100, #444);\n }\n .FooterSectionContainer5 {\n grid-area: five;\n background-color: var(--emw--color-background-secondary, #060706);\n padding: 30px 0;\n font-size: var(--emw--font-size-medium, 16px);\n min-height: var(--emw--size-medium-plus, 100px);\n justify-self: center;\n }\n}\n/* // STYLES FOR TABLET / DESKTOP */\n@container (min-width: 750px) {\n .FooterGrid {\n background: var(--emw--footer-color-bg, var(--emw--color-background, #0E1511));\n display: grid;\n border-top: 5px solid var(--emw--footer-color-primary, var(--emw--color-primary, #22B04E));\n grid-template-rows: repeat(5, auto);\n grid-template-columns: 1fr 1fr 1fr 1fr;\n grid-template-areas: \"one two three four\" \"five five five five\" \"six six six six\" \"seven seven seven seven\";\n }\n .FooterSectionContainer1 {\n padding: 30px 40px;\n grid-area: one;\n background: var(--emw--color-background, #000000);\n }\n .FooterSectionContainer2 {\n grid-area: two;\n min-height: var(--emw--size-4x-medium, 500px);\n }\n .FooterSectionContainer3 {\n grid-area: three;\n }\n .FooterSectionContainer4 {\n grid-area: four;\n }\n .FooterSectionContainer5 {\n grid-area: five;\n background-color: var(--emw--color-background-secondary, #091217);\n padding: var(--emw--spacing-x-large, 30px) 0;\n font-size: var(--emw--font-size-medium, 16px);\n min-height: var(--emw--size-medium-plus, 100px);\n }\n .FooterSectionContainer6 {\n grid-area: six;\n padding: 0;\n }\n .FooterSectionContainer7 {\n grid-area: seven;\n padding: 0;\n }\n /* // remove paddings */\n .FooterSectionContainer5 .CustomContentSectionWrapper {\n padding: 0;\n }\n .FooterSectionContainer5 .CustomContentSectionWrapper div {\n display: flex;\n flex-direction: left;\n align-items: center;\n padding-left: var(--emw--spacing-large, 20px);\n }\n .FooterSectionContainer5 .CustomContentSectionWrapper div p {\n margin: var(--emw--spacing-2x-small, 5px);\n text-align: center;\n }\n .FooterSectionContainer6 .CustomContentSectionWrapper div p {\n text-align: center;\n }\n .FooterSectionContainer6 .ImageListWrapper {\n padding: 0;\n }\n .FooterSectionContainer6 .ImageListWrapper {\n padding: 0;\n }\n .FooterSectionContainer7 .CustomContentSectionWrapper {\n padding: 0;\n padding-bottom: var(--emw--spacing-large, 22px);\n font-size: var(--emw--font-size-small, 14px);\n }\n}";
269
+ const demoFooterCss = ":host {\n display: block;\n}\n\n/* $-background-primary: #14202d; */\n* {\n font-family: sans-serif;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n\n.SkeletonContainer {\n width: 100%;\n height: 1800px;\n background-color: var(--emw--footer-color-bg, var(--emw-color-dark-blue, #07072A));\n background-color: green !important;\n display: flex;\n gap: 100px;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n}\n.SkeletonContainer .FirstRow {\n display: grid;\n grid-template-columns: 100%;\n column-gap: 20px;\n gap: 10px;\n}\n.SkeletonContainer .FirstRow .SkeletonImage {\n display: flex;\n width: 20%;\n}\n.SkeletonContainer .SecondRow {\n display: flex;\n flex-direction: row;\n}\n.SkeletonContainer .SecondRow .SkeletonMenu {\n display: flex;\n gap: 10px;\n flex-direction: column;\n}\n\n.FooterSectionContainer {\n color: var(--emw--footer-typography, var(--emw--color-thpography, #fff));\n padding: 15px 20px 0;\n}\n\n/* // FOOTER CONTAINER - only serves to be read as a container */\n.FooterContainer {\n container-type: inline-size;\n container-name: footerContainer;\n}\n\n.FooterGrid {\n background-color: var(--emw--footer-color-bg, var(--emw--color-background, #0E1511));\n display: grid;\n grid-template-rows: repeat(9, auto);\n grid-template-areas: \"one\" \"two\" \"three\" \"four\" \"five\" \"six\" \"seven\";\n}\n\n.FooterSectionContainer1 {\n position: relative;\n grid-area: one;\n}\n\n.FooterSectionContainer2 {\n position: relative;\n grid-area: two;\n}\n\n.FooterSectionContainer3 {\n position: relative;\n grid-area: three;\n}\n\n.FooterSectionContainer4 {\n position: relative;\n grid-area: four;\n}\n\n.FooterSectionContainer5 {\n grid-area: five;\n}\n\n.FooterSectionContainer6 {\n padding-top: 22px;\n grid-area: six;\n}\n\n.FooterSectionContainer7 {\n grid-area: seven;\n}\n\n/* // remove paddings */\n.FooterSectionContainer7 div {\n padding: 0;\n}\n\n@container (max-width: 750px) {\n .FooterSectionContainer3:after,\n .FooterSectionContainer2:after {\n position: absolute;\n content: \"\";\n height: 1px;\n width: 90%;\n background-color: var(--emw--color-gray-100, #444);\n }\n .FooterSectionContainer5 {\n grid-area: five;\n background-color: var(--emw--color-background-secondary, #060706);\n padding: 30px 0;\n font-size: var(--emw--font-size-medium, 16px);\n min-height: var(--emw--size-medium-plus, 100px);\n justify-self: center;\n }\n}\n/* // STYLES FOR TABLET / DESKTOP */\n@container (min-width: 750px) {\n .FooterGrid {\n background: var(--emw--footer-color-bg, var(--emw--color-background, #0E1511));\n display: grid;\n border-top: 5px solid var(--emw--footer-color-primary, var(--emw--color-primary, #22B04E));\n grid-template-rows: repeat(5, auto);\n grid-template-columns: 1fr 1fr 1fr 1fr;\n grid-template-areas: \"one two three four\" \"five five five five\" \"six six six six\" \"seven seven seven seven\";\n }\n .FooterSectionContainer1 {\n padding: 30px 40px;\n grid-area: one;\n background: var(--emw--color-background, #000000);\n }\n .FooterSectionContainer2 {\n grid-area: two;\n min-height: var(--emw--size-4x-medium, 500px);\n }\n .FooterSectionContainer3 {\n grid-area: three;\n }\n .FooterSectionContainer4 {\n grid-area: four;\n }\n .FooterSectionContainer5 {\n grid-area: five;\n background-color: var(--emw--color-background-secondary, #091217);\n padding: var(--emw--spacing-x-large, 30px) 0;\n font-size: var(--emw--font-size-medium, 16px);\n min-height: var(--emw--size-medium-plus, 100px);\n }\n .FooterSectionContainer6 {\n grid-area: six;\n padding: 0;\n }\n .FooterSectionContainer7 {\n grid-area: seven;\n padding: 0;\n }\n /* // remove paddings */\n .FooterSectionContainer5 .CustomContentSectionWrapper {\n padding: 0;\n }\n .FooterSectionContainer5 .CustomContentSectionWrapper div {\n display: flex;\n flex-direction: left;\n align-items: center;\n padding-left: var(--emw--spacing-large, 20px);\n }\n .FooterSectionContainer5 .CustomContentSectionWrapper div p {\n margin: var(--emw--spacing-2x-small, 5px);\n text-align: center;\n }\n .FooterSectionContainer6 .CustomContentSectionWrapper div p {\n text-align: center;\n }\n .FooterSectionContainer6 .ImageListWrapper {\n padding: 0;\n }\n .FooterSectionContainer6 .ImageListWrapper {\n padding: 0;\n }\n .FooterSectionContainer7 .CustomContentSectionWrapper {\n padding: 0;\n padding-bottom: var(--emw--spacing-large, 22px);\n font-size: var(--emw--font-size-small, 14px);\n }\n}";
270
270
  const GeneralFooterTemplateStyle0 = demoFooterCss;
271
271
 
272
272
  const GeneralFooterTemplate = class {
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-e6e68604.js';
2
- export { s as setNonce } from './index-e6e68604.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-0dd7df9f.js';
2
+ export { s as setNonce } from './index-0dd7df9f.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  /*
@@ -16,5 +16,5 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["custom-content-section",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["custom-clock",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["general-footer-template",[[1,"general-footer-template",{"language":[513],"sections":[513],"endpoint":[513],"env":[513],"userRoles":[513,"user-roles"],"userid":[513],"session":[513],"baseUrl":[513,"base-url"],"navigateViaEvent":[513,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"hasErrors":[32]}]]],["link-section-list",[[0,"link-section-list",{"repeaterContent":[8,"repeater-content"],"baseUrl":[513,"base-url"],"language":[513],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["image-list",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]]], options);
19
+ return bootstrapLazy([["custom-content-section",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["link-section-list",[[0,"link-section-list",{"repeaterContent":[8,"repeater-content"],"baseUrl":[513,"base-url"],"language":[513],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"skeletonLoading":[32]}]]],["custom-clock",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["general-footer-template",[[1,"general-footer-template",{"language":[513],"sections":[513],"endpoint":[513],"env":[513],"userRoles":[513,"user-roles"],"userid":[513],"session":[513],"baseUrl":[513,"base-url"],"navigateViaEvent":[513,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"hasErrors":[32]}]]],["ui-skeleton",[[0,"ui-skeleton",{"structure":[1],"width":[1],"height":[1],"borderRadius":[2,"border-radius"],"marginBottom":[2,"margin-bottom"],"marginTop":[2,"margin-top"],"marginLeft":[2,"margin-left"],"marginRight":[2,"margin-right"],"animation":[4],"rows":[2],"size":[1],"color":[1],"primaryColor":[1,"primary-color"],"secondaryColor":[1,"secondary-color"]},null,{"structure":["handleStructureChange"],"primaryColor":["updateStyles"],"secondaryColor":["updateStyles"]}]]],["image-list",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"skeletonLoading":[32]}]]]], options);
20
20
  });
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, h } from './index-e6e68604.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-0dd7df9f.js';
2
2
 
3
- const imageListCss = ".sc-image-list-h {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.ImageListContainer.sc-image-list {\n height: 100%;\n}\n.ImageListWrapper.sc-image-list {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n max-width: 90%;\n margin: auto;\n padding: var(--emw--spacing-large, 20px) 0;\n}\n.ImageListSectionTitle.sc-image-list {\n width: 100%;\n display: flex;\n justify-content: left;\n align-content: center;\n padding: var(--emw--spacing-large, 20px) var(--emw--spacing-medium, 14px) var(--emw--spacing-x-large, 30px);\n color: var(--emw--footer-typography, var(--emw--color-thpography, #fff));\n text-transform: uppercase;\n font-size: 24px;\n font-weight: 100;\n}\n.ImageListLineup.sc-image-list {\n box-sizing: border-box;\n display: flex;\n flex-wrap: wrap;\n gap: var(--emw--spacing-x-large, 30px);\n justify-content: left;\n align-items: flex-start;\n padding-left: var(--emw--spacing-large, 20px);\n}\n.ImageListIcon.sc-image-list img.sc-image-list {\n max-height: var(--emw--size-medium-2x-minus, 40px);\n}\n\na.sc-image-list {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n text-decoration: none;\n}\n\na.sc-image-list p.sc-image-list {\n text-decoration: none;\n color: var(--emw--color-gray-100, #666);\n margin: 0;\n}\n\n@container (max-width: 750px) {\n .ImageListSectionTitle.sc-image-list {\n justify-content: center;\n font-size: var(--emw--font-size-medium, 16px);\n color: var(--emw--footer-typography, var(--emw--color-thpography, #fff));\n padding: var(--emw--spacing-large, 20px) 0 var(--emw--spacing-x-large, 30px);\n justify-content: center;\n }\n .ImageListLineup.sc-image-list {\n justify-content: center;\n padding: 0;\n }\n}";
3
+ const imageListCss = ".sc-image-list-h {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.ContainerImage.sc-image-list {\n position: relative;\n display: inline-block;\n width: 100%;\n}\n\n.SkeletonWrapper.sc-image-list {\n background-color: #f0f0f0;\n}\n\n.ImageListContainer.sc-image-list {\n height: 100%;\n}\n.ImageListWrapper.sc-image-list {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n max-width: 90%;\n margin: auto;\n padding: var(--emw--spacing-large, 20px) 0;\n}\n.ImageListSectionTitle.sc-image-list {\n width: 100%;\n display: flex;\n justify-content: left;\n align-content: center;\n padding: var(--emw--spacing-large, 20px) var(--emw--spacing-medium, 14px) var(--emw--spacing-x-large, 30px);\n color: var(--emw--footer-typography, var(--emw--color-thpography, #fff));\n text-transform: uppercase;\n font-size: 24px;\n font-weight: 100;\n}\n.ImageListLineup.sc-image-list {\n box-sizing: border-box;\n display: flex;\n flex-wrap: wrap;\n gap: var(--emw--spacing-x-large, 30px);\n justify-content: left;\n align-items: flex-start;\n padding-left: var(--emw--spacing-large, 20px);\n}\n.ImageListIcon.sc-image-list img.sc-image-list {\n max-height: var(--emw--size-medium-2x-minus, 40px);\n}\n\na.sc-image-list {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n text-decoration: none;\n}\n\na.sc-image-list p.sc-image-list {\n text-decoration: none;\n color: var(--emw--color-gray-100, #666);\n margin: 0;\n}\n\n@container (max-width: 750px) {\n .ImageListSectionTitle.sc-image-list {\n justify-content: center;\n font-size: var(--emw--font-size-medium, 16px);\n color: var(--emw--footer-typography, var(--emw--color-thpography, #fff));\n padding: var(--emw--spacing-large, 20px) 0 var(--emw--spacing-x-large, 30px);\n justify-content: center;\n }\n .ImageListLineup.sc-image-list {\n justify-content: center;\n padding: 0;\n }\n}";
4
4
  const ImageListStyle0 = imageListCss;
5
5
 
6
6
  const ImageList = class {
@@ -9,16 +9,41 @@ const ImageList = class {
9
9
  this.navigateLink = (url, target, externalLink) => {
10
10
  window.postMessage({ type: this.postMessageEvent, path: url, url, target, externalLink }, window.location.href);
11
11
  };
12
+ this.onImageLoad = () => {
13
+ this.removeLoadingState();
14
+ this.cleanupListeners();
15
+ };
12
16
  this.repeaterContent = undefined;
13
17
  this.navigateViaEvent = false;
14
18
  this.postMessageEvent = '';
19
+ this.skeletonLoading = true;
20
+ }
21
+ componentDidLoad() {
22
+ this.initImageListeners();
23
+ }
24
+ initImageListeners() {
25
+ if (!this.imgRef)
26
+ return;
27
+ if (this.imgRef.complete) {
28
+ this.onImageLoad();
29
+ return;
30
+ }
31
+ this.imgRef.addEventListener('load', this.onImageLoad);
32
+ }
33
+ removeLoadingState() {
34
+ this.skeletonLoading = false;
35
+ }
36
+ cleanupListeners() {
37
+ var _a;
38
+ (_a = this.imgRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('load', this.onImageLoad);
15
39
  }
16
40
  render() {
17
41
  var _a, _b, _c;
18
- return h("div", { key: '904d6e891d4533b61fa5b5d56d94fef1b64e254f', class: "ImageListContainer" }, h("div", { key: '2519ef8038b27175a5cede599561d235e29ef1ee', class: "ImageListWrapper" }, h("div", { key: '10b2280a935e16b046ee3bac0a34c84740350b30', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), h("div", { key: '11fb15bd73372b2e9bbec9250195a7a93f62e935', class: "ImageListLineup" }, (_c = (_b = this.repeaterContent) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.map(repeater => {
19
- return (h("div", { class: 'ImageListIcon' }, this.navigateViaEvent === true ? (h("div", { class: 'ImageListIcon', style: { cursor: 'pointer' }, onClick: () => this.navigateLink(repeater === null || repeater === void 0 ? void 0 : repeater.url, repeater === null || repeater === void 0 ? void 0 : repeater.target, repeater === null || repeater === void 0 ? void 0 : repeater.isExternalLink) }, h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "" }), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title))) : (h("a", { href: (repeater === null || repeater === void 0 ? void 0 : repeater.url) || 'javascript:void(0)', target: (repeater === null || repeater === void 0 ? void 0 : repeater.target) || '_parent' }, h("div", { class: "ImageListPositioner" }, h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "" })), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title)))));
42
+ return h("div", { key: '9a0f6ba04dc838fe6fe02baf854fdd86f51a5107', class: "ImageListContainer" }, h("div", { key: '3eaaaed1c03bd32a48ea2449ce6f28c7dc5787d0', class: "ImageListWrapper" }, h("div", { key: '3f92875995f098dac4225ca2cc789e63c4689817', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), h("div", { key: '0b36613e5d4522b6dd3801031c29cb3a8fedc625', class: "ImageListLineup" }, (_c = (_b = this.repeaterContent) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.map(repeater => {
43
+ return (h("div", { class: 'ImageListIcon' }, this.navigateViaEvent === true ? (h("div", { class: 'ImageListIcon', style: { cursor: 'pointer' }, onClick: () => this.navigateLink(repeater === null || repeater === void 0 ? void 0 : repeater.url, repeater === null || repeater === void 0 ? void 0 : repeater.target, repeater === null || repeater === void 0 ? void 0 : repeater.isExternalLink) }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "40px" }))), h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "", ref: (el) => (this.imgRef = el) })), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title))) : (h("a", { href: (repeater === null || repeater === void 0 ? void 0 : repeater.url) || 'javascript:void(0)', target: (repeater === null || repeater === void 0 ? void 0 : repeater.target) || '_parent' }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "40px" }))), h("div", { class: "ImageListPositioner" }, h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "", ref: (el) => (this.imgRef = el) }))), h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title)))));
20
44
  }))));
21
45
  }
46
+ get el() { return getElement(this); }
22
47
  };
23
48
  ImageList.style = ImageListStyle0;
24
49
 
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'general-footer-template';
2
- const BUILD = /* general-footer-template */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: true, 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 };
2
+ const BUILD = /* general-footer-template */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: true, 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 };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -69,6 +69,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
69
69
  return import(
70
70
  /* webpackMode: "lazy" */
71
71
  './image-list.entry.js').then(processMod, consoleError);
72
+ case 'ui-skeleton':
73
+ return import(
74
+ /* webpackMode: "lazy" */
75
+ './ui-skeleton.entry.js').then(processMod, consoleError);
72
76
  }
73
77
  }
74
78
  return import(
@@ -329,6 +333,9 @@ var parsePropertyValue = (propValue, propType) => {
329
333
  if (propType & 4 /* Boolean */) {
330
334
  return propValue === "false" ? false : propValue === "" || !!propValue;
331
335
  }
336
+ if (propType & 2 /* Number */) {
337
+ return parseFloat(propValue);
338
+ }
332
339
  if (propType & 1 /* String */) {
333
340
  return String(propValue);
334
341
  }
@@ -336,6 +343,7 @@ var parsePropertyValue = (propValue, propType) => {
336
343
  }
337
344
  return propValue;
338
345
  };
346
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
339
347
  var emitEvent = (elm, name, opts) => {
340
348
  const ev = plt.ce(name, opts);
341
349
  elm.dispatchEvent(ev);
@@ -1280,4 +1288,4 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1280
1288
  // src/runtime/nonce.ts
1281
1289
  var setNonce = (nonce) => plt.$nonce$ = nonce;
1282
1290
 
1283
- export { bootstrapLazy as b, h, promiseResolve as p, registerInstance as r, setNonce as s };
1291
+ export { bootstrapLazy as b, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-e6e68604.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-0dd7df9f.js';
2
2
 
3
3
  const linkSectionListCss = ":host {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.LinkSectionListContainer {\n display: block;\n container-type: inline-size;\n}\n.LinkSectionListWrapper {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n grid-template-columns: 1fr;\n}\n.LinkSectionListTitle {\n font-weight: var(--emw--font-weight-semibold, 500);\n text-transform: uppercase;\n}\n.LinkSectionListLink {\n font-weight: var(--emw--font-weight-light, 300);\n}\n\nul {\n width: fit-content;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--emw--spacing-medium, 16px);\n padding-left: var(--emw--spacing-small-minus, 10px);\n font-size: var(--emw--font-size-small, 16px);\n text-transform: uppercase;\n}\nul li {\n list-style: disc;\n display: flex;\n align-items: center;\n padding-left: 25px;\n position: relative;\n}\nul li::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 8px;\n height: 8px;\n background-color: var(--emw--footer-color-primary, var(--emw--color-primary, #22B04E));\n border-radius: 50%;\n}\nul li .LinkSectionListLinkText {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\nul li .LinkSectionListLinkText span {\n text-align: center;\n cursor: pointer;\n}\nul li .LinkSectionListLinkText img.LinkSectionIcon {\n position: relative;\n height: 25px;\n padding: 0 5px;\n}\n\na {\n color: inherit;\n}\n\n@container (min-width: 280px) {\n .LinkSectionListWrapper {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n@container (min-width: 650px) {\n .LinkSectionListWrapper {\n grid-gap: 2rem;\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: 1fr;\n }\n}";
4
4
  const LinkSectionListStyle0 = linkSectionListCss;
@@ -6,11 +6,35 @@ const LinkSectionListStyle0 = linkSectionListCss;
6
6
  const LinkSectionList = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
+ this.onImageLoad = () => {
10
+ this.removeLoadingState();
11
+ this.cleanupListeners();
12
+ };
9
13
  this.repeaterContent = undefined;
10
14
  this.baseUrl = undefined;
11
15
  this.language = undefined;
12
16
  this.navigateViaEvent = false;
13
17
  this.postMessageEvent = '';
18
+ this.skeletonLoading = true;
19
+ }
20
+ componentDidLoad() {
21
+ this.initImageListeners();
22
+ }
23
+ initImageListeners() {
24
+ if (!this.imgRef)
25
+ return;
26
+ if (this.imgRef.complete) {
27
+ this.onImageLoad();
28
+ return;
29
+ }
30
+ this.imgRef.addEventListener('load', this.onImageLoad);
31
+ }
32
+ removeLoadingState() {
33
+ this.skeletonLoading = false;
34
+ }
35
+ cleanupListeners() {
36
+ var _a;
37
+ (_a = this.imgRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('load', this.onImageLoad);
14
38
  }
15
39
  navigateLink(link) {
16
40
  window.postMessage({ type: this.postMessageEvent, path: link.linkUrl, url: link.linkUrl, target: link.target, externalLink: link.externalLink }, window.location.href);
@@ -44,14 +68,15 @@ const LinkSectionList = class {
44
68
  }
45
69
  return obj;
46
70
  }, []);
47
- return h("div", { class: "LinkSectionListContainer" }, h("div", { class: "LinkSectionListWrapper" }, this.repeaterContent.categoryTitle && h("h2", { class: "LinkSectionListTitle" }, this.repeaterContent.categoryTitle), linkSections.map(category => h("ul", null, category.categoryTitle && h("p", null, category.categoryTitle), category.links.map(link => h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (h("span", null, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }), h("span", null, link.linkName, " "))) :
71
+ return h("div", { class: "LinkSectionListContainer" }, h("div", { class: "LinkSectionListWrapper" }, this.repeaterContent.categoryTitle && h("h2", { class: "LinkSectionListTitle" }, this.repeaterContent.categoryTitle), linkSections.map(category => h("ul", null, category.categoryTitle && h("p", null, category.categoryTitle), category.links.map(link => h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (h("span", null, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) })), h("span", null, link.linkName, " "))) :
48
72
  link.linkName ?
49
73
  h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("span", null, link.linkName, " "))
50
74
  :
51
- h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })))) : (h("a", { class: "LinkSectionListLink", href: link.externalLink ? link.linkUrl : `${this.baseUrl}/${this.language}${link.linkUrl}`, target: link.target || '_blank' }, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText" }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }), h("span", null, link.linkName))) :
75
+ h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) }))))) : (h("a", { class: "LinkSectionListLink", href: link.externalLink ? link.linkUrl : `${this.baseUrl}/${this.language}${link.linkUrl}`, target: link.target || '_blank' }, link.linkName && link.icon ? (h("span", { class: "LinkSectionListLinkText" }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) })), h("span", null, link.linkName))) :
52
76
  link.linkName ? (h("span", { class: "LinkSectionListLinkText" }, h("span", null, link.linkName))) :
53
- h("span", { class: "LinkSectionListLinkText" }, h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }))))))))));
77
+ h("span", { class: "LinkSectionListLinkText" }, h("div", { class: "ContainerImage" }, this.skeletonLoading && (h("div", { class: "SkeletonWrapper" }, h("ui-skeleton", { structure: "text", rows: "1", width: "100%", height: "20px" }))), h("img", { class: "LinkSectionIcon", src: link.icon, alt: "icon", ref: (el) => (this.imgRef = el) })))))))))));
54
78
  }
79
+ get el() { return getElement(this); }
55
80
  };
56
81
  LinkSectionList.style = LinkSectionListStyle0;
57
82
 
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-e6e68604.js';
2
- export { s as setNonce } from './index-e6e68604.js';
1
+ import { b as bootstrapLazy } from './index-0dd7df9f.js';
2
+ export { s as setNonce } from './index-0dd7df9f.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["custom-content-section",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["custom-clock",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["general-footer-template",[[1,"general-footer-template",{"language":[513],"sections":[513],"endpoint":[513],"env":[513],"userRoles":[513,"user-roles"],"userid":[513],"session":[513],"baseUrl":[513,"base-url"],"navigateViaEvent":[513,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"hasErrors":[32]}]]],["link-section-list",[[0,"link-section-list",{"repeaterContent":[8,"repeater-content"],"baseUrl":[513,"base-url"],"language":[513],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["image-list",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]]], options);
8
+ return bootstrapLazy([["custom-content-section",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["link-section-list",[[0,"link-section-list",{"repeaterContent":[8,"repeater-content"],"baseUrl":[513,"base-url"],"language":[513],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"skeletonLoading":[32]}]]],["custom-clock",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["general-footer-template",[[1,"general-footer-template",{"language":[513],"sections":[513],"endpoint":[513],"env":[513],"userRoles":[513,"user-roles"],"userid":[513],"session":[513],"baseUrl":[513,"base-url"],"navigateViaEvent":[513,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"hasErrors":[32]}]]],["ui-skeleton",[[0,"ui-skeleton",{"structure":[1],"width":[1],"height":[1],"borderRadius":[2,"border-radius"],"marginBottom":[2,"margin-bottom"],"marginTop":[2,"margin-top"],"marginLeft":[2,"margin-left"],"marginRight":[2,"margin-right"],"animation":[4],"rows":[2],"size":[1],"color":[1],"primaryColor":[1,"primary-color"],"secondaryColor":[1,"secondary-color"]},null,{"structure":["handleStructureChange"],"primaryColor":["updateStyles"],"secondaryColor":["updateStyles"]}]]],["image-list",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"],"skeletonLoading":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };