@everymatrix/general-footer-template 1.49.2 → 1.50.0

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 (44) hide show
  1. package/dist/cjs/custom-clock.cjs.entry.js +2285 -0
  2. package/dist/cjs/custom-content-section.cjs.entry.js +2 -2
  3. package/dist/cjs/general-footer-template.cjs.entry.js +8 -3
  4. package/dist/cjs/general-footer-template.cjs.js +2 -2
  5. package/dist/cjs/image-list.cjs.entry.js +2 -2
  6. package/dist/cjs/{index-4c3922ac.js → index-5df9aa92.js} +42 -4
  7. package/dist/cjs/link-section-list.cjs.entry.js +1 -1
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/collection/collection-manifest.json +1 -0
  10. package/dist/collection/components/custom-clock/custom-clock.css +8 -0
  11. package/dist/collection/components/custom-clock/custom-clock.js +114 -0
  12. package/dist/collection/components/custom-content-section/custom-content-section.js +1 -1
  13. package/dist/collection/components/general-footer-template/general-footer-template.css +3 -3
  14. package/dist/collection/components/general-footer-template/general-footer-template.js +39 -1
  15. package/dist/collection/components/image-list/image-list.js +1 -1
  16. package/dist/collection/utils/locale.utils.js +42 -0
  17. package/dist/collection/utils/utils.js +3 -0
  18. package/dist/esm/custom-clock.entry.js +2281 -0
  19. package/dist/esm/custom-content-section.entry.js +2 -2
  20. package/dist/esm/general-footer-template.entry.js +8 -3
  21. package/dist/esm/general-footer-template.js +3 -3
  22. package/dist/esm/image-list.entry.js +2 -2
  23. package/dist/esm/{index-7361445e.js → index-73d3bdf3.js} +42 -4
  24. package/dist/esm/link-section-list.entry.js +1 -1
  25. package/dist/esm/loader.js +3 -3
  26. package/dist/general-footer-template/general-footer-template.esm.js +1 -1
  27. package/dist/general-footer-template/p-12f3ff37.entry.js +1 -0
  28. package/dist/general-footer-template/{p-853dab90.entry.js → p-516893f4.entry.js} +2 -2
  29. package/dist/general-footer-template/p-5a1612c1.entry.js +1 -0
  30. package/dist/general-footer-template/{p-0a75f723.entry.js → p-bbe2c383.entry.js} +1 -1
  31. package/dist/general-footer-template/{p-4f676786.entry.js → p-c559c8bc.entry.js} +1 -1
  32. package/dist/general-footer-template/p-fbe51a04.js +2 -0
  33. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.d.ts +2 -0
  34. 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 +2 -0
  35. package/dist/types/components/custom-clock/custom-clock.d.ts +22 -0
  36. package/dist/types/components/general-footer-template/general-footer-template.d.ts +8 -0
  37. package/dist/types/components.d.ts +53 -0
  38. package/dist/types/utils/locale.utils.d.ts +2 -0
  39. package/dist/types/utils/utils.d.ts +3 -0
  40. package/package.json +1 -1
  41. package/dist/general-footer-template/p-26b76a9c.js +0 -2
  42. package/dist/general-footer-template/p-35120834.entry.js +0 -1
  43. 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 +0 -2
  44. 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 +0 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index$2 = require('./index-4c3922ac.js');
5
+ const index$2 = require('./index-5df9aa92.js');
6
6
 
7
7
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
8
8
 
@@ -9631,7 +9631,7 @@ const CustomContentSection = class {
9631
9631
  img: ['src', 'srcset', 'alt', 'title', 'width', 'height', 'loading']
9632
9632
  }
9633
9633
  });
9634
- return index$2.h("div", { key: '818f883a9cf68c04ed29572bd6b5949e0ebb41e6', class: "CustomContentSectionContainer" }, index$2.h("div", { key: '63f78d30acf7a3e3b1f672317342dc4c58669c9b', class: "CustomContentSectionWrapper" }, index$2.h("div", { key: '920f2c9f25f3c2e39bae12969aef06f6ee8b58fa', class: "CustomContentSectionContent", innerHTML: clean }), this.repeaterContent ? index$2.h("image-list", { style: { width: "100%" }, repeaterContent: this.repeaterContent ? this.repeaterContent : null, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent }) : ''));
9634
+ return index$2.h("div", { key: '894fdc79eb310d5a7cfde48445afd3d1d464359e', class: "CustomContentSectionContainer" }, index$2.h("div", { key: 'cfecce550a4e9b6b692ff12de96262e1413f8f2b', class: "CustomContentSectionWrapper" }, index$2.h("div", { key: '1e76edcbb408a184848bda0c86a99d2467e3e081', class: "CustomContentSectionContent", innerHTML: clean }), this.repeaterContent ? index$2.h("image-list", { style: { width: "100%" }, repeaterContent: this.repeaterContent ? this.repeaterContent : null, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent }) : ''));
9635
9635
  }
9636
9636
  };
9637
9637
  CustomContentSection.style = CustomContentSectionStyle0;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4c3922ac.js');
5
+ const index = require('./index-5df9aa92.js');
6
6
 
7
7
  /**
8
8
  * custom rules for component types
@@ -68,6 +68,9 @@ const componentRules = {
68
68
  "vendors": {
69
69
  component: 'image-list',
70
70
  },
71
+ "clock": {
72
+ component: 'custom-clock',
73
+ },
71
74
  };
72
75
  // This method takes repeater content and changes it to fit an uniform standard for property names in order to be treated in a general case by the footer
73
76
  // ex. if helpLinks repeaters use "helpImage" and socialLinks repeaters use "socialImage", both will use "image" after the normalization
@@ -219,7 +222,7 @@ const GeneralFooterTemplateStyle1 = pariuriPlusVariantCss;
219
222
  const variantStyle1Css = ":host {\n display: block;\n}\n\n/* $-background-primary: #14202d; */\n\n* {\n font-family: sans-serif;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n\n.footer-section__container {\n color: #777;\n padding: 12px;\n}\n\n/* // FOOTER CONTAINER - only serves to be read as a container */\n.footer-container {\n container-type: inline-size;\n container-name: footerContainer;\n}\n\n\n.footer-grid {\n background-color: #14202d;\n display: grid;\n padding: 0 50px;\n grid-template-rows: repeat(9, auto);\n grid-template-areas: \"one\"\n \"two\"\n \"three\"\n \"four\"\n \"five\"\n \"six\"\n \"seven\";\n}\n\n \n\n.footer-section__container--1 {\n grid-area: one;\n border-bottom: 1px solid #444;\n}\n.footer-section__container--2 {\n position: relative;\n grid-area: two;\n border-bottom: 1px solid #444;\n}\n.footer-section__container--3 {\n grid-area: three;\n border-bottom: 1px solid #444;\n}\n.footer-section__container--4 {\n position: relative;\n grid-area: four;\n border-bottom: 1px solid #444;\n}\n.footer-section__container--5 {\n grid-area: five;\n border-bottom: 1px solid #444;\n}\n.footer-section__container--6 {\n padding-top: 22px;\n grid-area: six;\n}\n.footer-section__container--7 {\n grid-area: seven;\n}\n\n/* // remove paddings */\n.footer-section__container--7 div{\n padding: 0;\n}\n\n\n\n/* // STYLES FOR TABLET / DESKTOP */\n@container (min-width: 750px) {\n .footer-grid {\n background: $-background-primary;\n display: grid;\n grid-template-rows: repeat(5, auto);\n grid-template-columns: 1fr 1fr;\n grid-template-areas: \"one one\"\n \"two three\"\n \"four five\"\n \"six six\"\n \"seven seven\";\n }\n \n \n .footer-section__container--1 {\n grid-area: one;\n }\n .footer-section__container--2 {\n grid-area: two;\n }\n .footer-section__container--3 {\n grid-area: three;\n }\n .footer-section__container--4 {\n grid-area: four;\n }\n .footer-section__container--5 {\n grid-area: five;\n }\n .footer-section__container--6 {\n grid-area: six;\n padding: 0;\n }\n .footer-section__container--7 {\n grid-area: seven;\n padding: 0;\n }\n\n /* VERTICAL BARS */\n .footer-section__container--2:after,\n .footer-section__container--4:after {\n position: absolute;\n content: \"\";\n top: 10%;\n right: 0;\n width: 1px;\n height: 80%;\n background-color: #444;\n }\n\n /* // remove paddings */\n .footer-section__container--6 .image-list__wrapper {\n padding: 22px 0 0 0;\n }\n\n .footer-section__container--7 .custom-content-section__wrapper {\n padding: 0;\n padding-bottom: 22px;\n font-size: 14px;\n }\n\n \n}";
220
223
  const GeneralFooterTemplateStyle2 = variantStyle1Css;
221
224
 
222
- const generalFooterTemplateCss = ":host {\n display: block;\n}\n\n* {\n font-family: sans-serif;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n\n.footer-section__container {\n color: var(--emfe-w-footer-typography, var(--emfe-w-color-white, #FFFFFF));\n padding: 12px;\n}\n\n.footer-container {\n container-type: inline-size;\n container-name: footerContainer;\n}\n\n.footer-grid {\n background-color: var(--emfe-w-footer-color-bg, var(--emfe-w-color-dark-blue, #07072A));\n display: grid;\n grid-template-rows: repeat(9, auto);\n grid-template-areas: \"one\" \"two\" \"three\" \"four\" \"five\" \"six\" \"seven\";\n}\n\n.footer-section__container--1 {\n grid-area: one;\n}\n.footer-section__container--2 {\n grid-area: two;\n}\n.footer-section__container--3 {\n grid-area: three;\n}\n.footer-section__container--4 {\n grid-area: four;\n}\n.footer-section__container--5 {\n grid-area: five;\n}\n.footer-section__container--6 {\n grid-area: six;\n}\n.footer-section__container--7 {\n grid-area: seven;\n}\n\n@container (min-width: 750px) {\n .footer-grid {\n background: var(--emfe-w-footer-color-bg, var(--emfe-w-color-dark-blue, #07072A));\n display: grid;\n grid-template-rows: repeat(7, auto);\n grid-template-columns: 2fr 1fr;\n grid-template-areas: \"one two\" \"three four\" \"five five\" \"six six\" \"seven seven\" \"eight eight\" \"nine nine\";\n }\n .footer-section__container--1 {\n grid-area: one;\n }\n .footer-section__container--2 {\n grid-area: two;\n }\n .footer-section__container--3 {\n grid-area: three;\n }\n .footer-section__container--4 {\n grid-area: four;\n }\n .footer-section__container--5 {\n grid-area: five;\n }\n .footer-section__container--6 {\n grid-area: six;\n }\n .footer-section__container--7 {\n grid-area: seven;\n }\n}";
225
+ const generalFooterTemplateCss = ":host {\n display: block;\n}\n\n* {\n font-family: sans-serif;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n\n.footer-section__container {\n color: var(--emw--footer-typography, var(--emw--color-white, #FFFFFF));\n padding: 12px;\n}\n\n.footer-container {\n container-type: inline-size;\n container-name: footerContainer;\n}\n\n.footer-grid {\n background-color: var(--emw--footer-color-bg, var(--emw--color-dark-blue, #07072A));\n display: grid;\n grid-template-rows: repeat(9, auto);\n grid-template-areas: \"one\" \"two\" \"three\" \"four\" \"five\" \"six\" \"seven\";\n}\n\n.footer-section__container--1 {\n grid-area: one;\n}\n.footer-section__container--2 {\n grid-area: two;\n}\n.footer-section__container--3 {\n grid-area: three;\n}\n.footer-section__container--4 {\n grid-area: four;\n}\n.footer-section__container--5 {\n grid-area: five;\n}\n.footer-section__container--6 {\n grid-area: six;\n}\n.footer-section__container--7 {\n grid-area: seven;\n}\n\n@container (min-width: 750px) {\n .footer-grid {\n background: var(--emw--footer-color-bg, var(--emw--color-dark-blue, #07072A));\n display: grid;\n grid-template-rows: repeat(7, auto);\n grid-template-columns: 2fr 1fr;\n grid-template-areas: \"one two\" \"three four\" \"five five\" \"six six\" \"seven seven\" \"eight eight\" \"nine nine\";\n }\n .footer-section__container--1 {\n grid-area: one;\n }\n .footer-section__container--2 {\n grid-area: two;\n }\n .footer-section__container--3 {\n grid-area: three;\n }\n .footer-section__container--4 {\n grid-area: four;\n }\n .footer-section__container--5 {\n grid-area: five;\n }\n .footer-section__container--6 {\n grid-area: six;\n }\n .footer-section__container--7 {\n grid-area: seven;\n }\n}";
223
226
  const GeneralFooterTemplateStyle3 = generalFooterTemplateCss;
224
227
 
225
228
  const GeneralFooterTemplate = class {
@@ -260,6 +263,8 @@ const GeneralFooterTemplate = class {
260
263
  this.postMessageEvent = 'NavigateTo';
261
264
  this.clientStyling = '';
262
265
  this.clientStylingUrl = '';
266
+ this.translationUrl = '';
267
+ this.clockFormat = 'HH:MM:ss';
263
268
  this.hasErrors = false;
264
269
  this.stylingAppends = false;
265
270
  }
@@ -309,7 +314,7 @@ const GeneralFooterTemplate = class {
309
314
  const FooterElement = componentRules[section].component;
310
315
  const elementIsRepeater = this.footerContent.repeaters.hasOwnProperty(section);
311
316
  const elementIsCustom = this.footerContent.wysiwyg.hasOwnProperty(section);
312
- return index.h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, "base-url": this.baseUrl, language: this.language, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent, ruleset: componentRules[section], repeaterContent: elementIsRepeater ? this.footerContent.repeaters[section] : null, customContent: elementIsCustom ? this.footerContent.wysiwyg[section].content : null });
317
+ return index.h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, "base-url": this.baseUrl, language: this.language, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent, ruleset: componentRules[section], repeaterContent: elementIsRepeater ? this.footerContent.repeaters[section] : null, customContent: elementIsCustom ? this.footerContent.wysiwyg[section].content : null, "translation-url": this.translationUrl, "clock-format": this.clockFormat });
313
318
  });
314
319
  return (index.h("footer", { class: "FooterContainer", ref: el => this.stylingContainer = el }, index.h("div", { class: "FooterGrid customStyle" }, footerSections)));
315
320
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4c3922ac.js');
5
+ const index = require('./index-5df9aa92.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["custom-content-section.cjs",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["general-footer-template.cjs",[[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"],"hasErrors":[32],"stylingAppends":[32]}]]],["link-section-list.cjs",[[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.cjs",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]]], options);
22
+ return index.bootstrapLazy([["custom-content-section.cjs",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["custom-clock.cjs",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["general-footer-template.cjs",[[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"],"hasErrors":[32],"stylingAppends":[32]}]]],["link-section-list.cjs",[[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.cjs",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4c3922ac.js');
5
+ const index = require('./index-5df9aa92.js');
6
6
 
7
7
  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}";
8
8
  const ImageListStyle0 = imageListCss;
@@ -19,7 +19,7 @@ const ImageList = class {
19
19
  }
20
20
  render() {
21
21
  var _a, _b, _c;
22
- return index.h("div", { key: '990c05b19c4bdc808285cf496d1dfc0fe94ef69d', class: "ImageListContainer" }, index.h("div", { key: '7f76aaf461bc9d55e19685171645e1445d783f47', class: "ImageListWrapper" }, index.h("div", { key: 'a40d5b077871924e845cf0eecbd4b9732771da9f', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), index.h("div", { key: '44efb7430dfb7c0b4a5ae826f4406b385de80b74', class: "ImageListLineup" }, (_c = (_b = this.repeaterContent) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.map(repeater => {
22
+ return index.h("div", { key: '904d6e891d4533b61fa5b5d56d94fef1b64e254f', class: "ImageListContainer" }, index.h("div", { key: '2519ef8038b27175a5cede599561d235e29ef1ee', class: "ImageListWrapper" }, index.h("div", { key: '10b2280a935e16b046ee3bac0a34c84740350b30', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), index.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 => {
23
23
  return (index.h("div", { class: 'ImageListIcon' }, this.navigateViaEvent === true ? (index.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) }, index.h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "" }), index.h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title))) : (index.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' }, index.h("div", { class: "ImageListPositioner" }, index.h("img", { src: repeater === null || repeater === void 0 ? void 0 : repeater.image, alt: "" })), index.h("p", null, repeater === null || repeater === void 0 ? void 0 : repeater.title)))));
24
24
  }))));
25
25
  }
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'general-footer-template';
24
- const BUILD = /* general-footer-template */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, 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: false };
24
+ const BUILD = /* general-footer-template */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, 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 };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.20.0 | MIT Licensed | https://stenciljs.com
@@ -75,6 +75,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
75
75
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
76
76
  /* webpackMode: "lazy" */
77
77
  './general-footer-template.cjs.entry.js')); }).then(processMod, consoleError);
78
+ case 'custom-clock.cjs':
79
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
80
+ /* webpackMode: "lazy" */
81
+ './custom-clock.cjs.entry.js')); }).then(processMod, consoleError);
78
82
  case 'custom-content-section.cjs':
79
83
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
80
84
  /* webpackMode: "lazy" */
@@ -918,6 +922,9 @@ var postUpdateComponent = (hostRef) => {
918
922
  {
919
923
  addHydratedFlag(elm);
920
924
  }
925
+ {
926
+ safeCall(instance, "componentDidLoad");
927
+ }
921
928
  endPostUpdate();
922
929
  {
923
930
  hostRef.$onReadyResolve$(elm);
@@ -969,6 +976,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
969
976
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`
970
977
  );
971
978
  }
979
+ const elm = hostRef.$hostElement$ ;
972
980
  const oldVal = hostRef.$instanceValues$.get(propName);
973
981
  const flags = hostRef.$flags$;
974
982
  const instance = hostRef.$lazyInstance$ ;
@@ -978,6 +986,18 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
978
986
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
979
987
  hostRef.$instanceValues$.set(propName, newVal);
980
988
  if (instance) {
989
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
990
+ const watchMethods = cmpMeta.$watchers$[propName];
991
+ if (watchMethods) {
992
+ watchMethods.map((watchMethodName) => {
993
+ try {
994
+ instance[watchMethodName](newVal, oldVal, propName);
995
+ } catch (e) {
996
+ consoleError(e, elm);
997
+ }
998
+ });
999
+ }
1000
+ }
981
1001
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
982
1002
  scheduleUpdate(hostRef, false);
983
1003
  }
@@ -989,7 +1009,10 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
989
1009
  var proxyComponent = (Cstr, cmpMeta, flags) => {
990
1010
  var _a, _b;
991
1011
  const prototype = Cstr.prototype;
992
- if (cmpMeta.$members$ || BUILD.watchCallback ) {
1012
+ if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
1013
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1014
+ cmpMeta.$watchers$ = Cstr.watchers;
1015
+ }
993
1016
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
994
1017
  members.map(([memberName, [memberFlags]]) => {
995
1018
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
@@ -1072,6 +1095,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1072
1095
  throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1073
1096
  }
1074
1097
  if (!Cstr.isProxied) {
1098
+ {
1099
+ cmpMeta.$watchers$ = Cstr.watchers;
1100
+ }
1075
1101
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1076
1102
  Cstr.isProxied = true;
1077
1103
  }
@@ -1087,6 +1113,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1087
1113
  {
1088
1114
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
1089
1115
  }
1116
+ {
1117
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1118
+ }
1090
1119
  endNewInstance();
1091
1120
  } else {
1092
1121
  Cstr = elm.constructor;
@@ -1155,12 +1184,17 @@ var connectedCallback = (elm) => {
1155
1184
  }
1156
1185
  };
1157
1186
  var disconnectInstance = (instance) => {
1187
+ {
1188
+ safeCall(instance, "disconnectedCallback");
1189
+ }
1158
1190
  };
1159
1191
  var disconnectedCallback = async (elm) => {
1160
1192
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1161
1193
  const hostRef = getHostRef(elm);
1162
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1163
- hostRef.$onReadyPromise$.then(() => disconnectInstance());
1194
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1195
+ disconnectInstance(hostRef.$lazyInstance$);
1196
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1197
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1164
1198
  }
1165
1199
  }
1166
1200
  };
@@ -1183,6 +1217,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1183
1217
  let hasSlotRelocation = false;
1184
1218
  lazyBundles.map((lazyBundle) => {
1185
1219
  lazyBundle[1].map((compactMeta) => {
1220
+ var _a2;
1186
1221
  const cmpMeta = {
1187
1222
  $flags$: compactMeta[0],
1188
1223
  $tagName$: compactMeta[1],
@@ -1198,6 +1233,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1198
1233
  {
1199
1234
  cmpMeta.$attrsToReflect$ = [];
1200
1235
  }
1236
+ {
1237
+ cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
1238
+ }
1201
1239
  const tagName = cmpMeta.$tagName$;
1202
1240
  const HostElement = class extends HTMLElement {
1203
1241
  // StencilLazyHost
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4c3922ac.js');
5
+ const index = require('./index-5df9aa92.js');
6
6
 
7
7
  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}";
8
8
  const LinkSectionListStyle0 = linkSectionListCss;
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4c3922ac.js');
5
+ const index = require('./index-5df9aa92.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["custom-content-section.cjs",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["general-footer-template.cjs",[[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"],"hasErrors":[32],"stylingAppends":[32]}]]],["link-section-list.cjs",[[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.cjs",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]]], options);
11
+ return index.bootstrapLazy([["custom-content-section.cjs",[[2,"custom-content-section",{"customContent":[1,"custom-content"],"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[516,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]],["custom-clock.cjs",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["general-footer-template.cjs",[[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"],"hasErrors":[32],"stylingAppends":[32]}]]],["link-section-list.cjs",[[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.cjs",[[2,"image-list",{"repeaterContent":[8,"repeater-content"],"navigateViaEvent":[4,"navigate-via-event"],"postMessageEvent":[513,"post-message-event"]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "entries": [
3
3
  "components/general-footer-template/general-footer-template.js",
4
+ "components/custom-clock/custom-clock.js",
4
5
  "components/custom-content-section/custom-content-section.js",
5
6
  "components/image-list/image-list.js",
6
7
  "components/link-section-list/link-section-list.js"
@@ -0,0 +1,8 @@
1
+ .CustomClockContainer.sc-custom-clock {
2
+ display: flex;
3
+ justify-content: center;
4
+ align-items: center;
5
+ }
6
+ .CustomClockContainer.sc-custom-clock p {
7
+ font-size: 16px;
8
+ }
@@ -0,0 +1,114 @@
1
+ import { h } from "@stencil/core";
2
+ import { translate, getTranslations } from "../../utils/locale.utils";
3
+ import { format } from "date-fns";
4
+ export class CustomClock {
5
+ constructor() {
6
+ this.startClock = () => {
7
+ this.intervalId = setInterval(() => {
8
+ this.timeString = format(new Date(), this.clockFormat);
9
+ }, 1000);
10
+ };
11
+ this.clockFormat = 'hh:MM a';
12
+ this.translationUrl = '';
13
+ this.language = 'en';
14
+ this.timeString = '';
15
+ }
16
+ handleNewTranslations() {
17
+ getTranslations(this.translationUrl);
18
+ }
19
+ async componentWillLoad() {
20
+ if (this.translationUrl.length > 2) {
21
+ await getTranslations(this.translationUrl);
22
+ }
23
+ }
24
+ componentDidLoad() {
25
+ this.startClock();
26
+ }
27
+ disconnectedCallback() {
28
+ clearInterval(this.intervalId);
29
+ }
30
+ render() {
31
+ return (h("div", { key: '35cc9ba979bdc24b138d98d94f5a68139b126634', class: "CustomClockContainer" }, h("p", { key: '49654823c681d720bdb2beca7516395afadfe123' }, translate('currentTime', this.language), ": ", this.timeString)));
32
+ }
33
+ static get is() { return "custom-clock"; }
34
+ static get encapsulation() { return "scoped"; }
35
+ static get originalStyleUrls() {
36
+ return {
37
+ "$": ["custom-clock.scss"]
38
+ };
39
+ }
40
+ static get styleUrls() {
41
+ return {
42
+ "$": ["custom-clock.css"]
43
+ };
44
+ }
45
+ static get properties() {
46
+ return {
47
+ "clockFormat": {
48
+ "type": "string",
49
+ "mutable": false,
50
+ "complexType": {
51
+ "original": "string",
52
+ "resolved": "string",
53
+ "references": {}
54
+ },
55
+ "required": false,
56
+ "optional": false,
57
+ "docs": {
58
+ "tags": [],
59
+ "text": "clockformat"
60
+ },
61
+ "attribute": "clock-format",
62
+ "reflect": true,
63
+ "defaultValue": "'hh:MM a'"
64
+ },
65
+ "translationUrl": {
66
+ "type": "string",
67
+ "mutable": false,
68
+ "complexType": {
69
+ "original": "string",
70
+ "resolved": "string",
71
+ "references": {}
72
+ },
73
+ "required": false,
74
+ "optional": false,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": "custom translation by href"
78
+ },
79
+ "attribute": "translation-url",
80
+ "reflect": true,
81
+ "defaultValue": "''"
82
+ },
83
+ "language": {
84
+ "type": "string",
85
+ "mutable": false,
86
+ "complexType": {
87
+ "original": "string",
88
+ "resolved": "string",
89
+ "references": {}
90
+ },
91
+ "required": false,
92
+ "optional": false,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": "language"
96
+ },
97
+ "attribute": "language",
98
+ "reflect": true,
99
+ "defaultValue": "'en'"
100
+ }
101
+ };
102
+ }
103
+ static get states() {
104
+ return {
105
+ "timeString": {}
106
+ };
107
+ }
108
+ static get watchers() {
109
+ return [{
110
+ "propName": "translationUrl",
111
+ "methodName": "handleNewTranslations"
112
+ }];
113
+ }
114
+ }
@@ -14,7 +14,7 @@ export class CustomContentSection {
14
14
  img: ['src', 'srcset', 'alt', 'title', 'width', 'height', 'loading']
15
15
  }
16
16
  });
17
- return h("div", { key: '818f883a9cf68c04ed29572bd6b5949e0ebb41e6', class: "CustomContentSectionContainer" }, h("div", { key: '63f78d30acf7a3e3b1f672317342dc4c58669c9b', class: "CustomContentSectionWrapper" }, h("div", { key: '920f2c9f25f3c2e39bae12969aef06f6ee8b58fa', 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 }) : ''));
17
+ return h("div", { key: '894fdc79eb310d5a7cfde48445afd3d1d464359e', class: "CustomContentSectionContainer" }, h("div", { key: 'cfecce550a4e9b6b692ff12de96262e1413f8f2b', class: "CustomContentSectionWrapper" }, h("div", { key: '1e76edcbb408a184848bda0c86a99d2467e3e081', 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 }) : ''));
18
18
  }
19
19
  static get is() { return "custom-content-section"; }
20
20
  static get encapsulation() { return "scoped"; }
@@ -14,7 +14,7 @@ body {
14
14
  }
15
15
 
16
16
  .footer-section__container {
17
- color: var(--emfe-w-footer-typography, var(--emfe-w-color-white, #FFFFFF));
17
+ color: var(--emw--footer-typography, var(--emw--color-white, #FFFFFF));
18
18
  padding: 12px;
19
19
  }
20
20
 
@@ -24,7 +24,7 @@ body {
24
24
  }
25
25
 
26
26
  .footer-grid {
27
- background-color: var(--emfe-w-footer-color-bg, var(--emfe-w-color-dark-blue, #07072A));
27
+ background-color: var(--emw--footer-color-bg, var(--emw--color-dark-blue, #07072A));
28
28
  display: grid;
29
29
  grid-template-rows: repeat(9, auto);
30
30
  grid-template-areas: "one" "two" "three" "four" "five" "six" "seven";
@@ -54,7 +54,7 @@ body {
54
54
 
55
55
  @container (min-width: 750px) {
56
56
  .footer-grid {
57
- background: var(--emfe-w-footer-color-bg, var(--emfe-w-color-dark-blue, #07072A));
57
+ background: var(--emw--footer-color-bg, var(--emw--color-dark-blue, #07072A));
58
58
  display: grid;
59
59
  grid-template-rows: repeat(7, auto);
60
60
  grid-template-columns: 2fr 1fr;
@@ -37,6 +37,8 @@ export class GeneralFooterTemplate {
37
37
  this.postMessageEvent = 'NavigateTo';
38
38
  this.clientStyling = '';
39
39
  this.clientStylingUrl = '';
40
+ this.translationUrl = '';
41
+ this.clockFormat = 'HH:MM:ss';
40
42
  this.hasErrors = false;
41
43
  this.stylingAppends = false;
42
44
  }
@@ -86,7 +88,7 @@ export class GeneralFooterTemplate {
86
88
  const FooterElement = componentRules[section].component;
87
89
  const elementIsRepeater = this.footerContent.repeaters.hasOwnProperty(section);
88
90
  const elementIsCustom = this.footerContent.wysiwyg.hasOwnProperty(section);
89
- return h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, "base-url": this.baseUrl, language: this.language, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent, ruleset: componentRules[section], repeaterContent: elementIsRepeater ? this.footerContent.repeaters[section] : null, customContent: elementIsCustom ? this.footerContent.wysiwyg[section].content : null });
91
+ return h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, "base-url": this.baseUrl, language: this.language, "navigate-via-event": this.navigateViaEvent, "post-message-event": this.postMessageEvent, ruleset: componentRules[section], repeaterContent: elementIsRepeater ? this.footerContent.repeaters[section] : null, customContent: elementIsCustom ? this.footerContent.wysiwyg[section].content : null, "translation-url": this.translationUrl, "clock-format": this.clockFormat });
90
92
  });
91
93
  return (h("footer", { class: "FooterContainer", ref: el => this.stylingContainer = el }, h("div", { class: "FooterGrid customStyle" }, footerSections)));
92
94
  }
@@ -314,6 +316,42 @@ export class GeneralFooterTemplate {
314
316
  "attribute": "client-styling-url",
315
317
  "reflect": true,
316
318
  "defaultValue": "''"
319
+ },
320
+ "translationUrl": {
321
+ "type": "string",
322
+ "mutable": false,
323
+ "complexType": {
324
+ "original": "string",
325
+ "resolved": "string",
326
+ "references": {}
327
+ },
328
+ "required": false,
329
+ "optional": false,
330
+ "docs": {
331
+ "tags": [],
332
+ "text": "custom translation by href"
333
+ },
334
+ "attribute": "translation-url",
335
+ "reflect": true,
336
+ "defaultValue": "''"
337
+ },
338
+ "clockFormat": {
339
+ "type": "string",
340
+ "mutable": false,
341
+ "complexType": {
342
+ "original": "string",
343
+ "resolved": "string",
344
+ "references": {}
345
+ },
346
+ "required": false,
347
+ "optional": false,
348
+ "docs": {
349
+ "tags": [],
350
+ "text": "clockformat"
351
+ },
352
+ "attribute": "clock-format",
353
+ "reflect": true,
354
+ "defaultValue": "'HH:MM:ss'"
317
355
  }
318
356
  };
319
357
  }
@@ -10,7 +10,7 @@ export class ImageList {
10
10
  }
11
11
  render() {
12
12
  var _a, _b, _c;
13
- return h("div", { key: '990c05b19c4bdc808285cf496d1dfc0fe94ef69d', class: "ImageListContainer" }, h("div", { key: '7f76aaf461bc9d55e19685171645e1445d783f47', class: "ImageListWrapper" }, h("div", { key: 'a40d5b077871924e845cf0eecbd4b9732771da9f', class: "ImageListSectionTitle" }, (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.categoryTitle), h("div", { key: '44efb7430dfb7c0b4a5ae826f4406b385de80b74', class: "ImageListLineup" }, (_c = (_b = this.repeaterContent) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.map(repeater => {
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
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)))));
15
15
  }))));
16
16
  }
@@ -0,0 +1,42 @@
1
+ const DEFAULT_LANGUAGE = 'en';
2
+ const TRANSLATIONS = {
3
+ en: {
4
+ currentTime: 'Current Time',
5
+ },
6
+ hu: {
7
+ currentTime: 'Jelenlegi idő',
8
+ },
9
+ ro: {
10
+ currentTime: 'Ora curentă',
11
+ },
12
+ fr: {
13
+ currentTime: 'Heure actuelle',
14
+ },
15
+ ar: {
16
+ currentTime: 'الوقت الحالي',
17
+ },
18
+ hr: {
19
+ currentTime: 'Trenutno vrijeme',
20
+ }
21
+ };
22
+ export const getTranslations = (url) => {
23
+ return new Promise((resolve) => {
24
+ fetch(url)
25
+ .then((res) => res.json())
26
+ .then((data) => {
27
+ Object.keys(data).forEach((lang) => {
28
+ if (!TRANSLATIONS[lang]) {
29
+ TRANSLATIONS[lang] = {};
30
+ }
31
+ for (let key in data[lang]) {
32
+ TRANSLATIONS[lang][key] = data[lang][key];
33
+ }
34
+ });
35
+ resolve(true);
36
+ });
37
+ });
38
+ };
39
+ export const translate = (key, customLang) => {
40
+ const lang = customLang;
41
+ return TRANSLATIONS[(lang !== undefined) && (lang in TRANSLATIONS) ? lang : DEFAULT_LANGUAGE][key];
42
+ };
@@ -69,6 +69,9 @@ export const componentRules = {
69
69
  "vendors": {
70
70
  component: 'image-list',
71
71
  },
72
+ "clock": {
73
+ component: 'custom-clock',
74
+ },
72
75
  };
73
76
  // This method takes repeater content and changes it to fit an uniform standard for property names in order to be treated in a general case by the footer
74
77
  // ex. if helpLinks repeaters use "helpImage" and socialLinks repeaters use "socialImage", both will use "image" after the normalization