@everymatrix/general-footer-template 1.77.3 → 1.77.5

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 +1 -1
  3. package/dist/cjs/footer-logo.cjs.entry.js +61 -0
  4. package/dist/cjs/general-footer-template.cjs.entry.js +6 -2
  5. package/dist/cjs/general-footer-template.cjs.js +2 -2
  6. package/dist/cjs/image-list.cjs.entry.js +1 -1
  7. package/dist/cjs/{index-4f1d0ebb.js → index-13599735.js} +38 -5
  8. package/dist/cjs/link-section-list.cjs.entry.js +19 -5
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/ui-image_2.cjs.entry.js +1 -1
  11. package/dist/collection/collection-manifest.json +1 -0
  12. package/dist/collection/components/footer-logo-section/footer-logo.css +12 -0
  13. package/dist/collection/components/footer-logo-section/footer-logo.js +110 -0
  14. package/dist/collection/components/general-footer-template/general-footer-template.js +20 -1
  15. package/dist/collection/components/link-section-list/link-section-list.css +46 -0
  16. package/dist/collection/components/link-section-list/link-section-list.js +40 -3
  17. package/dist/collection/utils/utils.js +3 -0
  18. package/dist/esm/custom-clock.entry.js +1 -1
  19. package/dist/esm/custom-content-section.entry.js +1 -1
  20. package/dist/esm/footer-logo.entry.js +57 -0
  21. package/dist/esm/general-footer-template.entry.js +6 -2
  22. package/dist/esm/general-footer-template.js +3 -3
  23. package/dist/esm/image-list.entry.js +1 -1
  24. package/dist/esm/{index-83985f06.js → index-4b819858.js} +38 -5
  25. package/dist/esm/link-section-list.entry.js +19 -5
  26. package/dist/esm/loader.js +3 -3
  27. package/dist/esm/ui-image_2.entry.js +1 -1
  28. package/dist/general-footer-template/custom-clock.entry.js +1 -1
  29. package/dist/general-footer-template/custom-content-section.entry.js +1 -1
  30. package/dist/general-footer-template/footer-logo.entry.js +1 -0
  31. package/dist/general-footer-template/general-footer-template.entry.js +1 -1
  32. package/dist/general-footer-template/general-footer-template.esm.js +1 -1
  33. package/dist/general-footer-template/image-list.entry.js +1 -1
  34. package/dist/general-footer-template/index-4b819858.js +2 -0
  35. package/dist/general-footer-template/link-section-list.entry.js +1 -1
  36. package/dist/general-footer-template/ui-image_2.entry.js +1 -1
  37. 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
  38. 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
  39. package/dist/types/components/footer-logo-section/footer-logo.d.ts +16 -0
  40. package/dist/types/components/general-footer-template/general-footer-template.d.ts +4 -0
  41. package/dist/types/components/link-section-list/link-section-list.d.ts +7 -0
  42. package/dist/types/components.d.ts +45 -0
  43. package/dist/types/utils/utils.d.ts +3 -0
  44. package/package.json +1 -1
  45. package/dist/general-footer-template/index-83985f06.js +0 -2
  46. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.d.ts +0 -2
  47. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/stencil.config.dev.d.ts +0 -2
  48. /package/dist/types/{builds/emfe-widgets → Users/adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/libs/common/src/storybook/storybook-utils.d.ts +0 -0
  49. /package/dist/types/{builds/emfe-widgets → Users/adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/storybook/main.d.ts +0 -0
  50. /package/dist/types/{builds/emfe-widgets → Users/adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/packages/stencil/general-footer-template/storybook/preview.d.ts +0 -0
  51. /package/dist/types/{builds/emfe-widgets → Users/adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/index.d.ts +0 -0
  52. /package/dist/types/{builds/emfe-widgets → Users/adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/lazy-load-chunk-plugin.d.ts +0 -0
  53. /package/dist/types/{builds/emfe-widgets → Users/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/{builds/emfe-widgets → Users/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/{builds/emfe-widgets → Users/adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/general-footer-template/.stencil/tools/plugins/vite-clean-deps-plugin.d.ts +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.js');
6
6
  const _commonjsHelpers = require('./_commonjsHelpers-68cdf74f.js');
7
7
 
8
8
  const DEFAULT_LANGUAGE = 'en';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.js');
6
6
  const _commonjsHelpers = require('./_commonjsHelpers-68cdf74f.js');
7
7
 
8
8
  var purify = {exports: {}};
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-13599735.js');
6
+
7
+ const footerLogoCss = ".HeaderBranding.sc-footer-logo{text-align:center;width:100%;display:flex;justify-content:center;align-items:center}img.sc-footer-logo{width:10rem;height:auto}";
8
+ const FooterLogoStyle0 = footerLogoCss;
9
+
10
+ const FooterLogo = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.isLogoFromCMS = false;
14
+ this.endpoint = undefined;
15
+ this.language = 'en';
16
+ this.logoContent = null;
17
+ }
18
+ onConfigChange(newValue, oldValue) {
19
+ if (newValue !== oldValue && this.endpoint && this.language) {
20
+ this.getLogo();
21
+ }
22
+ }
23
+ getLogo() {
24
+ const logoURL = new URL(`${this.endpoint}/${this.language.toLowerCase()}/op-options/style`);
25
+ return fetch(logoURL)
26
+ .then((res) => res.json())
27
+ .then((data) => {
28
+ if (data.logoUrl.length > 0 && (data.logoUrl != "null" || data.logoUrl != "false")) {
29
+ this.isLogoFromCMS = true;
30
+ return data.logoUrl;
31
+ }
32
+ else {
33
+ this.isLogoFromCMS = false;
34
+ console.error("Invalid logo URL:", data);
35
+ return null;
36
+ }
37
+ })
38
+ .catch((error) => {
39
+ console.error("Error fetching logo:", error);
40
+ return null;
41
+ });
42
+ }
43
+ async connectedCallback() {
44
+ if (this.endpoint && this.language) {
45
+ const logo = await this.getLogo();
46
+ if (this.isLogoFromCMS && logo) {
47
+ this.logoContent = logo;
48
+ }
49
+ }
50
+ }
51
+ render() {
52
+ return (this.logoContent ? (index.h("div", { class: "HeaderBranding" }, index.h("img", { src: this.logoContent, alt: "Logo" }))) : null);
53
+ }
54
+ static get watchers() { return {
55
+ "endpoint": ["onConfigChange"],
56
+ "language": ["onConfigChange"]
57
+ }; }
58
+ };
59
+ FooterLogo.style = FooterLogoStyle0;
60
+
61
+ exports.footer_logo = FooterLogo;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.js');
6
6
 
7
7
  /**
8
8
  * custom rules for component types
@@ -71,6 +71,9 @@ const componentRules = {
71
71
  "clock": {
72
72
  component: 'custom-clock',
73
73
  },
74
+ "logo": {
75
+ component: 'footer-logo'
76
+ }
74
77
  };
75
78
  // 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
76
79
  // ex. if helpLinks repeaters use "helpImage" and socialLinks repeaters use "socialImage", both will use "image" after the normalization
@@ -303,6 +306,7 @@ const GeneralFooterTemplate = class {
303
306
  this.clockFormat = 'HH:MM:ss';
304
307
  this.timeZone = '';
305
308
  this.mbSource = undefined;
309
+ this.dropdownLinks = false;
306
310
  this.hasErrors = false;
307
311
  this.footerContent = undefined;
308
312
  }
@@ -366,7 +370,7 @@ const GeneralFooterTemplate = class {
366
370
  const FooterElement = componentRules[section].component;
367
371
  const elementIsRepeater = this.footerContent.repeaters.hasOwnProperty(section);
368
372
  const elementIsCustom = this.footerContent.wysiwyg.hasOwnProperty(section);
369
- 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, "time-zone": this.timeZone });
373
+ return index.h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, "base-url": this.baseUrl, endpoint: this.endpoint, 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, "time-zone": this.timeZone, "dropdown-links": this.dropdownLinks });
370
374
  });
371
375
  return (index.h("footer", { class: "FooterContainer", ref: el => this.stylingContainer = el }, index.h("div", { class: "FooterGrid customStyle" }, footerSections)));
372
376
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.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"]}]]],["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"]}]]],["custom-clock.cjs",[[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.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"],"customCss":[513,"custom-css"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"hasErrors":[32],"footerContent":[32]},null,{"language":["watchLanguage"]}]]],["ui-image_2.cjs",[[0,"ui-image",{"src":[1],"width":[1],"height":[1],"alt":[1],"styles":[8],"detectDistance":[1,"detect-distance"],"loading":[1],"imgLoaded":[32]},null,{"src":["onSrcChange"],"loading":["onLoadingChange"]}],[0,"ui-skeleton",{"structure":[1],"width":[1],"height":[1],"borderRadius":[8,"border-radius"],"marginBottom":[8,"margin-bottom"],"marginTop":[8,"margin-top"],"marginLeft":[8,"margin-left"],"marginRight":[8,"margin-right"],"animation":[4],"rows":[2],"size":[1]},null,{"structure":["handleStructureChange"]}]]],["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"]}]]],["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"],"dropdownLinks":[516,"dropdown-links"],"openCategory":[32]}]]],["custom-clock.cjs",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["footer-logo.cjs",[[2,"footer-logo",{"endpoint":[513],"language":[513],"logoContent":[32]},null,{"endpoint":["onConfigChange"],"language":["onConfigChange"]}]]],["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"],"customCss":[513,"custom-css"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"dropdownLinks":[516,"dropdown-links"],"hasErrors":[32],"footerContent":[32]},null,{"language":["watchLanguage"]}]]],["ui-image_2.cjs",[[0,"ui-image",{"src":[1],"width":[1],"height":[1],"alt":[1],"styles":[8],"detectDistance":[1,"detect-distance"],"loading":[1],"imgLoaded":[32]},null,{"src":["onSrcChange"],"loading":["onLoadingChange"]}],[0,"ui-skeleton",{"structure":[1],"width":[1],"height":[1],"borderRadius":[8,"border-radius"],"marginBottom":[8,"margin-bottom"],"marginTop":[8,"margin-top"],"marginLeft":[8,"margin-left"],"marginRight":[8,"margin-right"],"animation":[4],"rows":[2],"size":[1]},null,{"structure":["handleStructureChange"]}]]],["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-4f1d0ebb.js');
5
+ const index = require('./index-13599735.js');
6
6
 
7
7
  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 width: 50px;\n height: 40px;\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;
@@ -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: 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 };
24
+ 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: true, 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: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -83,6 +83,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
83
83
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
84
84
  /* webpackMode: "lazy" */
85
85
  './custom-content-section.cjs.entry.js')); }).then(processMod, consoleError);
86
+ case 'footer-logo.cjs':
87
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
88
+ /* webpackMode: "lazy" */
89
+ './footer-logo.cjs.entry.js')); }).then(processMod, consoleError);
86
90
  case 'link-section-list.cjs':
87
91
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
88
92
  /* webpackMode: "lazy" */
@@ -173,6 +177,8 @@ var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
173
177
 
174
178
  // src/utils/constants.ts
175
179
  var EMPTY_OBJ = {};
180
+ var SVG_NS = "http://www.w3.org/2000/svg";
181
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
176
182
 
177
183
  // src/utils/helpers.ts
178
184
  var isDef = (v) => v != null;
@@ -569,9 +575,16 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
569
575
  if (newVNode2.$text$ !== null) {
570
576
  elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
571
577
  } else {
572
- elm = newVNode2.$elm$ = doc.createElement(
578
+ if (!isSvgMode) {
579
+ isSvgMode = newVNode2.$tag$ === "svg";
580
+ }
581
+ elm = newVNode2.$elm$ = doc.createElementNS(
582
+ isSvgMode ? SVG_NS : HTML_NS,
573
583
  !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
574
- );
584
+ ) ;
585
+ if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
586
+ isSvgMode = false;
587
+ }
575
588
  {
576
589
  updateElement(null, newVNode2, isSvgMode);
577
590
  }
@@ -589,6 +602,13 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
589
602
  }
590
603
  }
591
604
  }
605
+ {
606
+ if (newVNode2.$tag$ === "svg") {
607
+ isSvgMode = false;
608
+ } else if (elm.tagName === "foreignObject") {
609
+ isSvgMode = true;
610
+ }
611
+ }
592
612
  }
593
613
  elm["s-hn"] = hostTagName;
594
614
  return elm;
@@ -718,8 +738,12 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
718
738
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
719
739
  const oldChildren = oldVNode.$children$;
720
740
  const newChildren = newVNode2.$children$;
741
+ const tag = newVNode2.$tag$;
721
742
  const text = newVNode2.$text$;
722
743
  if (text === null) {
744
+ {
745
+ isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
746
+ }
723
747
  {
724
748
  {
725
749
  updateElement(oldVNode, newVNode2, isSvgMode);
@@ -735,6 +759,9 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
735
759
  } else if (oldChildren !== null) {
736
760
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
737
761
  }
762
+ if (isSvgMode && tag === "svg") {
763
+ isSvgMode = false;
764
+ }
738
765
  } else if (oldVNode.$text$ !== text) {
739
766
  elm.data = text;
740
767
  }
@@ -1105,6 +1132,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1105
1132
  hostRef.$flags$ |= 128 /* isWatchReady */;
1106
1133
  }
1107
1134
  endNewInstance();
1135
+ fireConnectedCallback(hostRef.$lazyInstance$);
1108
1136
  } else {
1109
1137
  Cstr = elm.constructor;
1110
1138
  const cmpTag = elm.localName;
@@ -1132,6 +1160,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1132
1160
  }
1133
1161
  };
1134
1162
  var fireConnectedCallback = (instance) => {
1163
+ {
1164
+ safeCall(instance, "connectedCallback");
1165
+ }
1135
1166
  };
1136
1167
 
1137
1168
  // src/runtime/connected-callback.ts
@@ -1164,8 +1195,10 @@ var connectedCallback = (elm) => {
1164
1195
  initializeComponent(elm, hostRef, cmpMeta);
1165
1196
  }
1166
1197
  } else {
1167
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1168
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1198
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1199
+ fireConnectedCallback(hostRef.$lazyInstance$);
1200
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1201
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
1169
1202
  }
1170
1203
  }
1171
1204
  endConnected();
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.js');
6
6
 
7
- const linkSectionListCss = ":host {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.SkeletonWrapper {\n width: 25px;\n height: 25px;\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 position: relative;\n}\nul li .LinkSectionListLinkText {\n display: flex;\n gap: 5px;\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}\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}";
7
+ const linkSectionListCss = ":host {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.SkeletonWrapper {\n width: 25px;\n height: 25px;\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.LinkSectionListDropdownHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n background: var(--emw--color-primary, #184026);\n color: var(--emw--color-typography, #FFFFFF);\n text-align: left;\n padding: 10px;\n border: none;\n border-radius: var(--emw--button-border-radius, 4px);\n margin-bottom: 3px;\n cursor: pointer;\n font-size: 1rem;\n}\n.LinkSectionListDropdownHeader:hover {\n color: var(--emw--color-secondary, #52d004);\n}\n.LinkSectionListDropdownHeader:hover svg {\n fill: var(--emw--color-secondary, #52d004);\n}\n.LinkSectionListDropdownHeader.IsOpen {\n color: var(--emw--color-secondary, #52d004);\n}\n.LinkSectionListDropdownHeader.IsOpen svg {\n fill: var(--emw--color-secondary, #52d004);\n}\n.LinkSectionListDropdownHeader .TriangleActive {\n transform: rotate(90deg);\n -webkit-transform: rotate(90deg);\n}\n.LinkSectionListDropdownHeader svg {\n fill: var(--emw--color-typography, #FFFFFF);\n margin-left: 8px;\n width: 16px;\n transform: rotate(-90deg);\n -webkit-transform: rotate(-90deg);\n}\n.LinkSectionListDropdownList {\n list-style: none;\n display: none;\n}\n.LinkSectionListDropdownList.open {\n display: flex;\n margin: 5px 0;\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 position: relative;\n}\nul li .LinkSectionListLinkText {\n display: flex;\n gap: 5px;\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}\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;
9
9
 
10
10
  const LinkSectionList = class {
@@ -15,10 +15,18 @@ const LinkSectionList = class {
15
15
  this.language = undefined;
16
16
  this.navigateViaEvent = false;
17
17
  this.postMessageEvent = '';
18
+ this.dropdownLinks = true;
19
+ this.openCategory = null;
18
20
  }
19
21
  navigateLink(link) {
20
22
  window.postMessage({ type: this.postMessageEvent, path: link.linkUrl, url: link.linkUrl, target: link.target, externalLink: link.externalLink }, window.location.href);
21
23
  }
24
+ toggleCategory(cat) {
25
+ this.openCategory = this.openCategory === cat ? null : cat;
26
+ }
27
+ createHrefLink(link) {
28
+ return link.externalLink ? link.linkUrl : `${this.baseUrl}/${this.language}${link.linkUrl}`;
29
+ }
22
30
  render() {
23
31
  var _a, _b;
24
32
  const linkSections = (_b = (_a = this.repeaterContent) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.reduce((obj, elem) => {
@@ -48,13 +56,19 @@ const LinkSectionList = class {
48
56
  }
49
57
  return obj;
50
58
  }, []);
51
- return index.h("div", { class: "LinkSectionListContainer" }, index.h("div", { class: "LinkSectionListWrapper" }, this.repeaterContent.categoryTitle && index.h("h2", { class: "LinkSectionListTitle" }, this.repeaterContent.categoryTitle), linkSections.map(category => index.h("ul", null, category.categoryTitle && index.h("p", null, category.categoryTitle), category.links.map(link => index.h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (index.h("span", null, link.linkName && link.icon ? (index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })), index.h("span", { class: '' }, link.linkName, " "))) :
59
+ return index.h("div", { class: "LinkSectionListContainer" }, index.h("div", { class: "LinkSectionListWrapper" }, this.repeaterContent.categoryTitle && index.h("h2", { class: "LinkSectionListTitle" }, this.repeaterContent.categoryTitle), linkSections.map(category => this.dropdownLinks ? (index.h("div", { class: "LinkSectionListDropdown" }, index.h("button", { type: 'button', class: `LinkSectionListDropdownHeader ${this.openCategory === category.categoryTitle ? 'IsOpen' : ''}`, onClick: () => this.toggleCategory(category.categoryTitle) }, category.categoryTitle, index.h("span", { class: this.openCategory === category.categoryTitle ? 'TriangleActive' : 'TriangleInactive' }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "6.835", viewBox: "0 0 14 6.835" }, index.h("path", { id: "arrow", d: "M281.541,447.921a.488.488,0,0,0,.295-.122l6.5-5.851a.488.488,0,1,0-.65-.726l-6.176,5.556-6.176-5.556h0a.488.488,0,1,0-.65.726l6.5,5.851a.488.488,0,0,0,.355.122Z", transform: "translate(-274.511 -441.088)" })))), index.h("ul", { class: { 'LinkSectionListDropdownList': true, open: this.openCategory === category.categoryTitle } }, category.links.map(link => index.h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (index.h("span", null, link.linkName && link.icon ? (index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })), index.h("span", { class: '' }, link.linkName, " "))) :
60
+ link.linkName ?
61
+ index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("span", null, link.linkName, " "))
62
+ :
63
+ index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }))))) : (index.h("a", { class: "LinkSectionListLink", href: this.createHrefLink(link), target: link.target || '_blank' }, link.linkName && link.icon ? (index.h("span", { class: "LinkSectionListLinkText" }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })), index.h("span", null, link.linkName))) :
64
+ link.linkName ? (index.h("span", { class: "LinkSectionListLinkText" }, index.h("span", null, link.linkName))) :
65
+ index.h("span", { class: "LinkSectionListLinkText" }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })))))))))) : (index.h("ul", null, category.categoryTitle && index.h("p", null, category.categoryTitle), category.links.map(link => index.h("li", { class: "LinkSectionListLink", key: link.linkName }, this.navigateViaEvent === true ? (index.h("span", null, link.linkName && link.icon ? (index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })), index.h("span", { class: '' }, link.linkName, " "))) :
52
66
  link.linkName ?
53
67
  index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("span", null, link.linkName, " "))
54
68
  :
55
- index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }))))) : (index.h("a", { class: "LinkSectionListLink", href: link.externalLink ? link.linkUrl : `${this.baseUrl}/${this.language}${link.linkUrl}`, target: link.target || '_blank' }, link.linkName && link.icon ? (index.h("span", { class: "LinkSectionListLinkText" }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })), index.h("span", null, link.linkName))) :
69
+ index.h("span", { class: "LinkSectionListLinkText", onClick: () => this.navigateLink(link) }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }))))) : (index.h("a", { class: "LinkSectionListLink", href: this.createHrefLink(link), target: link.target || '_blank' }, link.linkName && link.icon ? (index.h("span", { class: "LinkSectionListLinkText" }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })), index.h("span", null, link.linkName))) :
56
70
  link.linkName ? (index.h("span", { class: "LinkSectionListLinkText" }, index.h("span", null, link.linkName))) :
57
- index.h("span", { class: "LinkSectionListLinkText" }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" })))))))))));
71
+ index.h("span", { class: "LinkSectionListLinkText" }, index.h("div", { class: "ContainerImage" }, index.h("ui-image", { class: "LinkSectionIcon", src: link.icon, alt: "icon" }))))))))))));
58
72
  }
59
73
  };
60
74
  LinkSectionList.style = LinkSectionListStyle0;
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.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"]}]]],["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"]}]]],["custom-clock.cjs",[[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.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"],"customCss":[513,"custom-css"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"hasErrors":[32],"footerContent":[32]},null,{"language":["watchLanguage"]}]]],["ui-image_2.cjs",[[0,"ui-image",{"src":[1],"width":[1],"height":[1],"alt":[1],"styles":[8],"detectDistance":[1,"detect-distance"],"loading":[1],"imgLoaded":[32]},null,{"src":["onSrcChange"],"loading":["onLoadingChange"]}],[0,"ui-skeleton",{"structure":[1],"width":[1],"height":[1],"borderRadius":[8,"border-radius"],"marginBottom":[8,"margin-bottom"],"marginTop":[8,"margin-top"],"marginLeft":[8,"margin-left"],"marginRight":[8,"margin-right"],"animation":[4],"rows":[2],"size":[1]},null,{"structure":["handleStructureChange"]}]]],["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"]}]]],["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"],"dropdownLinks":[516,"dropdown-links"],"openCategory":[32]}]]],["custom-clock.cjs",[[2,"custom-clock",{"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"translationUrl":[513,"translation-url"],"language":[513],"timeString":[32]},null,{"translationUrl":["handleNewTranslations"]}]]],["footer-logo.cjs",[[2,"footer-logo",{"endpoint":[513],"language":[513],"logoContent":[32]},null,{"endpoint":["onConfigChange"],"language":["onConfigChange"]}]]],["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"],"customCss":[513,"custom-css"],"translationUrl":[513,"translation-url"],"clockFormat":[513,"clock-format"],"timeZone":[513,"time-zone"],"mbSource":[513,"mb-source"],"dropdownLinks":[516,"dropdown-links"],"hasErrors":[32],"footerContent":[32]},null,{"language":["watchLanguage"]}]]],["ui-image_2.cjs",[[0,"ui-image",{"src":[1],"width":[1],"height":[1],"alt":[1],"styles":[8],"detectDistance":[1,"detect-distance"],"loading":[1],"imgLoaded":[32]},null,{"src":["onSrcChange"],"loading":["onLoadingChange"]}],[0,"ui-skeleton",{"structure":[1],"width":[1],"height":[1],"borderRadius":[8,"border-radius"],"marginBottom":[8,"margin-bottom"],"marginTop":[8,"margin-top"],"marginLeft":[8,"margin-left"],"marginRight":[8,"margin-right"],"animation":[4],"rows":[2],"size":[1]},null,{"structure":["handleStructureChange"]}]]],["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;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4f1d0ebb.js');
5
+ const index = require('./index-13599735.js');
6
6
 
7
7
  const uiImageCss = ".HostContainer{display:block}.UiContainer{height:100%;width:100%;border-radius:inherit;object-fit:inherit}.UiContainer .Image{border-radius:inherit}.Hidden{opacity:0;transition:opacity 0.5s ease-in-out}.Visible{opacity:1;border-radius:var(--emw--border-radius-medium, 10px);transition:opacity 0.5s ease-in-out}";
8
8
  const UiImageStyle0 = uiImageCss;
@@ -3,6 +3,7 @@
3
3
  "components/general-footer-template/general-footer-template.js",
4
4
  "components/custom-clock/custom-clock.js",
5
5
  "components/custom-content-section/custom-content-section.js",
6
+ "components/footer-logo-section/footer-logo.js",
6
7
  "components/image-list/image-list.js",
7
8
  "components/link-section-list/link-section-list.js"
8
9
  ],
@@ -0,0 +1,12 @@
1
+ .HeaderBranding {
2
+ text-align: center;
3
+ width: 100%;
4
+ display: flex;
5
+ justify-content: center;
6
+ align-items: center;
7
+ }
8
+
9
+ img {
10
+ width: 10rem;
11
+ height: auto;
12
+ }
@@ -0,0 +1,110 @@
1
+ import { h } from "@stencil/core";
2
+ export class FooterLogo {
3
+ constructor() {
4
+ this.isLogoFromCMS = false;
5
+ this.endpoint = undefined;
6
+ this.language = 'en';
7
+ this.logoContent = null;
8
+ }
9
+ onConfigChange(newValue, oldValue) {
10
+ if (newValue !== oldValue && this.endpoint && this.language) {
11
+ this.getLogo();
12
+ }
13
+ }
14
+ getLogo() {
15
+ const logoURL = new URL(`${this.endpoint}/${this.language.toLowerCase()}/op-options/style`);
16
+ return fetch(logoURL)
17
+ .then((res) => res.json())
18
+ .then((data) => {
19
+ if (data.logoUrl.length > 0 && (data.logoUrl != "null" || data.logoUrl != "false")) {
20
+ this.isLogoFromCMS = true;
21
+ return data.logoUrl;
22
+ }
23
+ else {
24
+ this.isLogoFromCMS = false;
25
+ console.error("Invalid logo URL:", data);
26
+ return null;
27
+ }
28
+ })
29
+ .catch((error) => {
30
+ console.error("Error fetching logo:", error);
31
+ return null;
32
+ });
33
+ }
34
+ async connectedCallback() {
35
+ if (this.endpoint && this.language) {
36
+ const logo = await this.getLogo();
37
+ if (this.isLogoFromCMS && logo) {
38
+ this.logoContent = logo;
39
+ }
40
+ }
41
+ }
42
+ render() {
43
+ return (this.logoContent ? (h("div", { class: "HeaderBranding" }, h("img", { src: this.logoContent, alt: "Logo" }))) : null);
44
+ }
45
+ static get is() { return "footer-logo"; }
46
+ static get encapsulation() { return "scoped"; }
47
+ static get originalStyleUrls() {
48
+ return {
49
+ "$": ["footer-logo.scss"]
50
+ };
51
+ }
52
+ static get styleUrls() {
53
+ return {
54
+ "$": ["footer-logo.css"]
55
+ };
56
+ }
57
+ static get properties() {
58
+ return {
59
+ "endpoint": {
60
+ "type": "string",
61
+ "mutable": false,
62
+ "complexType": {
63
+ "original": "string",
64
+ "resolved": "string",
65
+ "references": {}
66
+ },
67
+ "required": true,
68
+ "optional": false,
69
+ "docs": {
70
+ "tags": [],
71
+ "text": "endpoint for data retrieval"
72
+ },
73
+ "attribute": "endpoint",
74
+ "reflect": true
75
+ },
76
+ "language": {
77
+ "type": "string",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "string",
81
+ "resolved": "string",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": "language"
89
+ },
90
+ "attribute": "language",
91
+ "reflect": true,
92
+ "defaultValue": "'en'"
93
+ }
94
+ };
95
+ }
96
+ static get states() {
97
+ return {
98
+ "logoContent": {}
99
+ };
100
+ }
101
+ static get watchers() {
102
+ return [{
103
+ "propName": "endpoint",
104
+ "methodName": "onConfigChange"
105
+ }, {
106
+ "propName": "language",
107
+ "methodName": "onConfigChange"
108
+ }];
109
+ }
110
+ }
@@ -26,6 +26,7 @@ export class GeneralFooterTemplate {
26
26
  this.clockFormat = 'HH:MM:ss';
27
27
  this.timeZone = '';
28
28
  this.mbSource = undefined;
29
+ this.dropdownLinks = false;
29
30
  this.hasErrors = false;
30
31
  this.footerContent = undefined;
31
32
  }
@@ -89,7 +90,7 @@ export class GeneralFooterTemplate {
89
90
  const FooterElement = componentRules[section].component;
90
91
  const elementIsRepeater = this.footerContent.repeaters.hasOwnProperty(section);
91
92
  const elementIsCustom = this.footerContent.wysiwyg.hasOwnProperty(section);
92
- 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, "time-zone": this.timeZone });
93
+ return h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, "base-url": this.baseUrl, endpoint: this.endpoint, 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, "time-zone": this.timeZone, "dropdown-links": this.dropdownLinks });
93
94
  });
94
95
  return (h("footer", { class: "FooterContainer", ref: el => this.stylingContainer = el }, h("div", { class: "FooterGrid customStyle" }, footerSections)));
95
96
  }
@@ -405,6 +406,24 @@ export class GeneralFooterTemplate {
405
406
  },
406
407
  "attribute": "mb-source",
407
408
  "reflect": true
409
+ },
410
+ "dropdownLinks": {
411
+ "type": "boolean",
412
+ "mutable": false,
413
+ "complexType": {
414
+ "original": "boolean",
415
+ "resolved": "boolean",
416
+ "references": {}
417
+ },
418
+ "required": false,
419
+ "optional": false,
420
+ "docs": {
421
+ "tags": [],
422
+ "text": "whether dropdown behavior is enabled for the link-section-list"
423
+ },
424
+ "attribute": "dropdown-links",
425
+ "reflect": true,
426
+ "defaultValue": "false"
408
427
  }
409
428
  };
410
429
  }
@@ -23,6 +23,52 @@
23
23
  font-weight: var(--emw--font-weight-semibold, 500);
24
24
  text-transform: uppercase;
25
25
  }
26
+ .LinkSectionListDropdownHeader {
27
+ display: flex;
28
+ justify-content: space-between;
29
+ align-items: center;
30
+ width: 100%;
31
+ background: var(--emw--color-primary, #184026);
32
+ color: var(--emw--color-typography, #FFFFFF);
33
+ text-align: left;
34
+ padding: 10px;
35
+ border: none;
36
+ border-radius: var(--emw--button-border-radius, 4px);
37
+ margin-bottom: 3px;
38
+ cursor: pointer;
39
+ font-size: 1rem;
40
+ }
41
+ .LinkSectionListDropdownHeader:hover {
42
+ color: var(--emw--color-secondary, #52d004);
43
+ }
44
+ .LinkSectionListDropdownHeader:hover svg {
45
+ fill: var(--emw--color-secondary, #52d004);
46
+ }
47
+ .LinkSectionListDropdownHeader.IsOpen {
48
+ color: var(--emw--color-secondary, #52d004);
49
+ }
50
+ .LinkSectionListDropdownHeader.IsOpen svg {
51
+ fill: var(--emw--color-secondary, #52d004);
52
+ }
53
+ .LinkSectionListDropdownHeader .TriangleActive {
54
+ transform: rotate(90deg);
55
+ -webkit-transform: rotate(90deg);
56
+ }
57
+ .LinkSectionListDropdownHeader svg {
58
+ fill: var(--emw--color-typography, #FFFFFF);
59
+ margin-left: 8px;
60
+ width: 16px;
61
+ transform: rotate(-90deg);
62
+ -webkit-transform: rotate(-90deg);
63
+ }
64
+ .LinkSectionListDropdownList {
65
+ list-style: none;
66
+ display: none;
67
+ }
68
+ .LinkSectionListDropdownList.open {
69
+ display: flex;
70
+ margin: 5px 0;
71
+ }
26
72
  .LinkSectionListLink {
27
73
  font-weight: var(--emw--font-weight-light, 300);
28
74
  }