@itcenteratunihelsinki/huds-lib 0.6.6 → 0.6.8

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 (38) hide show
  1. package/dist/cjs/huds-lib.cjs.js +1 -1
  2. package/dist/cjs/{hy-accordion-container_89.cjs.entry.js → hy-accordion-container_83.cjs.entry.js} +611 -1315
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/collection/collection-manifest.json +0 -12
  5. package/dist/collection/components/hy-video/hy-video.css +16 -2
  6. package/dist/collection/components/hy-video/hy-video.js +46 -3
  7. package/dist/collection/components/navigation/hy-menu-main-group/hy-menu-main-group.js +20 -1
  8. package/dist/collection/components/site-header/site-header.css +18 -1
  9. package/dist/collection/components/site-header/site-header.js +15 -37
  10. package/dist/esm/huds-lib.js +1 -1
  11. package/dist/esm/{hy-accordion-container_89.entry.js → hy-accordion-container_83.entry.js} +613 -1311
  12. package/dist/esm/loader.js +1 -1
  13. package/dist/huds-lib/huds-lib.esm.js +1 -1
  14. package/dist/huds-lib/p-e39d3bcc.entry.js +86 -0
  15. package/dist/types/components/hy-video/hy-video.d.ts +4 -0
  16. package/dist/types/components/navigation/hy-menu-main-group/hy-menu-main-group.d.ts +1 -0
  17. package/dist/types/components/site-header/site-header.d.ts +0 -1
  18. package/dist/types/components.d.ts +19 -212
  19. package/package.json +1 -1
  20. package/dist/collection/components/navigation/menu/menu.css +0 -262
  21. package/dist/collection/components/navigation/menu/menu.js +0 -431
  22. package/dist/collection/components/navigation/menu-item/menu-item.css +0 -348
  23. package/dist/collection/components/navigation/menu-item/menu-item.js +0 -557
  24. package/dist/collection/components/navigation/menu-level-container/menu-level-container.css +0 -129
  25. package/dist/collection/components/navigation/menu-level-container/menu-level-container.js +0 -300
  26. package/dist/collection/components/navigation/menu-mobile-breadcrumb/menu-mobile-breadcrumb.css +0 -90
  27. package/dist/collection/components/navigation/menu-mobile-breadcrumb/menu-mobile-breadcrumb.js +0 -151
  28. package/dist/collection/components/navigation/mobile-menu-shortcuts/mobile-menu-shortcuts.css +0 -140
  29. package/dist/collection/components/navigation/mobile-menu-shortcuts/mobile-menu-shortcuts.js +0 -68
  30. package/dist/collection/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.css +0 -469
  31. package/dist/collection/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.js +0 -482
  32. package/dist/huds-lib/p-f28263c0.entry.js +0 -86
  33. package/dist/types/components/navigation/menu/menu.d.ts +0 -30
  34. package/dist/types/components/navigation/menu-item/menu-item.d.ts +0 -31
  35. package/dist/types/components/navigation/menu-level-container/menu-level-container.d.ts +0 -27
  36. package/dist/types/components/navigation/menu-mobile-breadcrumb/menu-mobile-breadcrumb.d.ts +0 -12
  37. package/dist/types/components/navigation/mobile-menu-shortcuts/mobile-menu-shortcuts.d.ts +0 -13
  38. package/dist/types/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.d.ts +0 -60
@@ -30,7 +30,7 @@ AccordionContainer.style = accordionContainerCss;
30
30
 
31
31
  const accordionItemCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-accordion__item{margin-bottom:12px}.hy-accordion__item__is-open{border:1px solid var(--grayscale-dark)}.hy-accordion__item__is-open .hy-accordion--heading{margin:0 auto}.hy-accordion__item__is-open .hy-accordion--heading .hy-accordion--heading__icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.hy-accordion__item.mini{margin-bottom:1rem;margin-top:1rem}.hy-accordion__item__is-open.mini{margin-bottom:0;margin-top:0}.hy-accordion__item__is-open.mini .hy-accordion__item--container{border-bottom:1px solid var(--grayscale-medium-dark);border-top:1px solid var(--grayscale-medium-dark);padding-top:16px;padding-bottom:32px;margin-top:-1px;-webkit-transition:padding 0.5s ease-in-out;transition:padding 0.5s ease-in-out}@media (min-width: 30rem){.hy-accordion__item__is-open.mini .hy-accordion__item--container{padding-top:28px;padding-bottom:30px}}@media (min-width: 60rem){.hy-accordion__item__is-open.mini .hy-accordion__item--container{padding-top:32px;padding-bottom:40px}}.hy-accordion__item.hy-accordion__item__is-open.mini{background-color:var(--grayscale-white);border:none;-webkit-box-shadow:0 -10px 10px -10px rgba(0, 49, 70, 0.05);box-shadow:0 -10px 10px -10px rgba(0, 49, 70, 0.05)}.hy-accordion--heading{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;letter-spacing:-0.69px;line-height:28px;margin:0 auto;-webkit-transition:all 0.25s ease-in-out;transition:all 0.25s ease-in-out;width:100%}.hy-accordion--heading .hy-accordion__link{text-decoration:none}.hy-accordion--heading .hy-accordion__link:hover{text-decoration:none}.hy-accordion--heading .hy-accordion__button{font-size:1.125rem;line-height:22px;font-weight:700;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background-color:var(--grayscale-background-box);border:none;color:var(--brand-main-nearly-black);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-family:var(--main-font-family);height:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;letter-spacing:-0.45px;padding:13px 20px 13px 16px;-webkit-transition:all 0.35s ease-in;transition:all 0.35s ease-in;width:100%}.hy-accordion--heading .hy-accordion__button:hover{cursor:pointer}@media (min-width: 30rem){.hy-accordion--heading .hy-accordion__button{padding:1rem 2rem 1rem 1.25rem}}@media (min-width: 1601px){.hy-accordion--heading .hy-accordion__button{font-size:1.25rem;line-height:24px;letter-spacing:-0.5px}}@media (min-width: 75.0625rem){.hy-accordion--heading .hy-accordion__button--large{font-size:1.25rem;line-height:24px;letter-spacing:-0.5px}}@media (min-width: 75.0625rem){.hy-accordion--heading .hy-accordion__button--large .hy-accordion--heading__icon svg{height:20px;width:20px}}.hy-accordion--heading .hy-accordion__button span{text-align:left}.hy-accordion--heading .hy-accordion__button[aria-expanded=true]{background:none;position:relative}.hy-accordion--heading .hy-accordion__button[aria-expanded=true]:after{background-color:var(--grayscale-medium-dark);bottom:0;content:\"\";height:1px;left:16px;position:absolute;right:20px}.hy-accordion--heading .hy-accordion__button *{pointer-events:none}.hy-accordion--heading .hy-accordion--heading__icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:22px;margin-right:8px;z-index:0}.hy-accordion--heading .hy-accordion--heading__icon svg{fill:var(--brand-main)}@media (min-width: 30rem){.hy-accordion--heading .hy-accordion--heading__icon svg{height:18px;width:18px}}@media (min-width: 1601px){.hy-accordion--heading .hy-accordion--heading__icon svg{height:20px;width:20px}}.hy-accordion--heading.mini .hy-accordion__button{font-size:1.125rem;line-height:22px;background-color:var(--grayscale-white);color:var(--link-blue);letter-spacing:-0.56px;padding:0}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion__button{font-size:1.375rem;line-height:28px;letter-spacing:-0.69px;padding:0}}.hy-accordion--heading.mini .hy-accordion__button[aria-expanded=true]{color:var(--grayscale-black);margin-bottom:20px}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion__button[aria-expanded=true]{margin-bottom:28px}}@media (min-width: 60rem){.hy-accordion--heading.mini .hy-accordion__button[aria-expanded=true]{margin-bottom:32px}}.hy-accordion--heading.mini .hy-accordion--heading__icon{margin-right:0.5rem;z-index:0}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion--heading__icon{margin-right:10px}}.hy-accordion--heading.mini .hy-accordion--heading__icon svg{fill:var(--brand-main-light);height:14px;width:14px}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion--heading__icon svg{height:16px;width:16px}}.hy-accordion__content{display:block;height:0;padding:0;overflow:hidden;-webkit-transition:all 0.25s ease-in-out;transition:all 0.25s ease-in-out}.hy-accordion__content--inner-wrapper{display:block;padding:16px 12px}@media (min-width: 30rem){.hy-accordion__content--inner-wrapper{padding:15px 16px}}@media (min-width: 60rem){.hy-accordion__content--inner-wrapper{padding:16px}}@media (min-width: 75.0625rem){.hy-accordion__content--inner-wrapper--large{padding:24px 20px}}@media (min-width: 1601px){.hy-accordion__content--inner-wrapper{padding:24px 20px}}.hy-accordion__content--inner-wrapper--mini{padding:0}.hy-accordion__content--inner-wrapper--mini .course-heading h4{padding-top:0 !important}";
32
32
 
33
- let keys$5 = {
33
+ let keys$4 = {
34
34
  enter: 'Enter',
35
35
  tab: 'Tab',
36
36
  pageUp: 'PageUp',
@@ -85,25 +85,25 @@ let AccordionItem = class {
85
85
  const triggers = Array.prototype.slice.call(accordion.querySelectorAll('.hy-accordion__button'));
86
86
  let target = event.target;
87
87
  const key = event.code;
88
- const ctrlModifier = event.ctrlKey && [keys$5.pageDown, keys$5.pageUp].includes(key); //key.match(/33|34/);
88
+ const ctrlModifier = event.ctrlKey && [keys$4.pageDown, keys$4.pageUp].includes(key); //key.match(/33|34/);
89
89
  if (target.classList.contains('hy-accordion__button')) {
90
90
  // Up/ Down arrow and Control + Page Up/ Page Down keyboard operations
91
- if ([keys$5.arrowDown, keys$5.arrowUp].includes(key) || ctrlModifier) {
91
+ if ([keys$4.arrowDown, keys$4.arrowUp].includes(key) || ctrlModifier) {
92
92
  const index = triggers.indexOf(target);
93
- const direction = [keys$5.arrowDown, keys$5.pageDown].includes(key) ? 1 : -1;
93
+ const direction = [keys$4.arrowDown, keys$4.pageDown].includes(key) ? 1 : -1;
94
94
  const length = triggers.length;
95
95
  const newIndex = (index + length + direction) % length;
96
96
  triggers[newIndex].focus();
97
97
  event.preventDefault();
98
98
  }
99
- else if ([keys$5.home, keys$5.end].includes(key)) {
99
+ else if ([keys$4.home, keys$4.end].includes(key)) {
100
100
  switch (key) {
101
101
  // Go to first accordion
102
- case keys$5.home:
102
+ case keys$4.home:
103
103
  triggers[0].focus();
104
104
  break;
105
105
  // Go to last accordion
106
- case keys$5.end:
106
+ case keys$4.end:
107
107
  triggers[triggers.length - 1].focus();
108
108
  break;
109
109
  }
@@ -2332,7 +2332,7 @@ HyContentList.style = hyContentListCss;
2332
2332
 
2333
2333
  const hyContentListItemCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{background:radial-gradient(circle, #f8f8f8 0%, #f5f5f5 100%);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:16px;position:relative}@media (min-width: 30rem){:host{margin-bottom:24px}}:host([variant=row]),:host(.row){max-width:100%;padding:21px 0 60px 12px;width:100%}@media (min-width: 30rem){:host([variant=row]),:host(.row){padding:21px 0 12px 24px}}@media (min-width: 60rem){:host([variant=row]),:host(.row){margin-bottom:16px}}:host(.grid){max-width:100%;padding:21px 0 60px 12px;width:100%}@media (min-width: 30rem){:host(.grid){margin-right:var(--gutter-medium);max-width:calc(((100% - var(--gutter-medium) * 11) / 12) * 6 + var(--gutter-medium) * 5);padding:21px 0 60px 12px;width:calc(((100% - var(--gutter-medium) * 11) / 12) * 6 + var(--gutter-medium) * 5)}}@media (min-width: 60rem){:host(.grid){margin-bottom:27px;margin-right:var(--gutter-wide);max-width:calc(((100% - var(--gutter-wide) * 11) / 12) * 4 + var(--gutter-wide) * 3);width:calc(((100% - var(--gutter-wide) * 11) / 12) * 4 + var(--gutter-wide) * 3)}}@media (min-width: 75.0625rem){:host(.grid){margin-bottom:32px;margin-right:var(--gutter-extrawide);max-width:calc(((100% - var(--gutter-extrawide) * 11) / 12) * 4 + var(--gutter-extrawide) * 3);width:calc(((100% - var(--gutter-extrawide) * 11) / 12) * 4 + var(--gutter-extrawide) * 3)}}@media (min-width: 30rem){:host(.grid:nth-of-type(2n+0)){margin-right:0}}@media (min-width: 60rem){:host(.grid:nth-of-type(2n+0)){margin-right:var(--gutter-wide)}}@media (min-width: 75.0625rem){:host(.grid:nth-of-type(2n+0)){margin-right:var(--gutter-extrawide)}}@media (min-width: 60rem){:host(.grid:nth-of-type(3n+0)){margin-right:0}}.hy-content-list-item{font-family:var(--main-font-family);position:relative;width:100%}.hy-content-list-item a{text-decoration:none}.hy-content-list-item--container{cursor:pointer}.hy-content-list-item--item-name{color:var(--link-blue);font-size:1.25rem;line-height:24px;font-weight:700;letter-spacing:-0.6px;margin-bottom:16px;word-break:break-word}.hy-content-list-item--item-name--past-courses{color:var(--grayscale-dark)}.hy-content-list-item--metadata{font-size:0.875rem;line-height:16px;font-weight:600;color:var(--grayscale-black);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;letter-spacing:-0.44px;line-height:16px;margin-bottom:19px;padding-bottom:0}.hy-content-list-item--metadata--item{padding-bottom:6px}@media (min-width: 30rem){.hy-content-list-item--metadata{padding-bottom:1rem}}@media (min-width: 75.0625rem){.hy-content-list-item--metadata{padding-bottom:0}}.hy-content-list-item--metadata--item:after{content:\"|\";padding:0 8px}.hy-content-list-item--metadata--item--last:after{content:\" \"}.hy-content-list-item .cancelled span{font-size:0.75rem;line-height:12px;font-weight:700;background-color:var(--additional-red-light);color:var(--grayscale-white);letter-spacing:-0.5px;padding:6px 8px;text-transform:uppercase}.hy-content-list-item .cancelled--past-courses span{background-color:var(--grayscale-dark)}.hy-content-list-item .cancelled:not(.mobile){display:none}.hy-content-list-item .cancelled.mobile{bottom:-50px;display:block;margin:0;padding-bottom:12px;position:absolute}@media (min-width: 30rem){.hy-content-list-item .cancelled{margin-right:8px}.hy-content-list-item .cancelled.mobile{display:none}.hy-content-list-item .cancelled:not(.mobile){display:block}}.hy-content-list-item--link{position:absolute;right:-6px}.hy-content-list-item--link a{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;text-decoration:none}.hy-content-list-item--link a .label{font-size:1rem;line-height:16px;font-weight:700;color:var(--link-blue);letter-spacing:-0.5px;line-height:16px;margin-right:8px;text-align:right}.hy-content-list-item--link a .icon-wrapper{background-color:var(--brand-main-light);z-index:10}.hy-content-list-item--link a .icon-wrapper .icon{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);position:relative;overflow:hidden}.hy-content-list-item--link a .icon-wrapper .icon svg{background-color:transparent;-webkit-box-shadow:0 2px 8px 0 rgba(0, 0, 0, 0.1);box-shadow:0 2px 8px 0 rgba(0, 0, 0, 0.1);fill:var(--grayscale-white);padding:10.29px}.hy-content-list-item.row .hy-content-list-item--link{bottom:-60px;padding-bottom:12px}@media (min-width: 30rem){.hy-content-list-item.row .hy-content-list-item--link{bottom:0;padding-bottom:0}}.hy-content-list-item.row .hy-content-list-item--tags{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (min-width: 60rem){.hy-content-list-item.row .hy-content-list-item--tags{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding-right:200px}}.hy-content-list-item.grid .hy-content-list-item--link{bottom:-60px;padding-bottom:12px}.hy-content-list-item.grid .hy-content-list-item--tags{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap}";
2334
2334
 
2335
- let keys$4 = {
2335
+ let keys$3 = {
2336
2336
  enter: 'Enter',
2337
2337
  };
2338
2338
  let HyContentLstItem = class {
@@ -2360,7 +2360,7 @@ let HyContentLstItem = class {
2360
2360
  }
2361
2361
  handleKeyDown(event) {
2362
2362
  const key = event.code;
2363
- if (key == keys$4.enter) {
2363
+ if (key == keys$3.enter) {
2364
2364
  let card = this.el;
2365
2365
  window.open(card.dataset.location, '_blank', 'noopener');
2366
2366
  }
@@ -2444,219 +2444,500 @@ let CtaLink = class {
2444
2444
  };
2445
2445
  CtaLink.style = ctaLinkCss;
2446
2446
 
2447
- /**
2448
- * A collection of shims that provided minimal
2449
- * support of WeakMap and Map classes.
2450
- *
2451
- * These implementations are not meant to be used outside of
2452
- * ResizeObserver modules as they cover only a limited range
2453
- * of use cases.
2454
- */
2455
-
2456
- /* eslint-disable require-jsdoc */
2457
- const hasNativeCollections =
2458
- typeof window.WeakMap === 'function' &&
2459
- typeof window.Map === 'function';
2460
-
2461
- const WeakMap = (() => {
2462
- if (hasNativeCollections) {
2463
- return window.WeakMap;
2464
- }
2465
-
2466
- function getIndex(arr, key) {
2467
- let result = -1;
2468
-
2469
- arr.some((entry, index) => {
2470
- let matches = entry[0] === key;
2471
-
2472
- if (matches) {
2473
- result = index;
2474
- }
2475
-
2476
- return matches;
2477
- });
2478
-
2479
- return result;
2480
- }
2481
-
2482
- return class {
2483
- constructor() {
2484
- this.__entries__ = [];
2485
- }
2486
-
2487
- get(key) {
2488
- let index = getIndex(this.__entries__, key);
2489
-
2490
- return this.__entries__[index][1];
2491
- }
2492
-
2493
- set(key, value) {
2494
- let index = getIndex(this.__entries__, key);
2495
-
2496
- if (~index) {
2497
- this.__entries__[index][1] = value;
2498
- } else {
2499
- this.__entries__.push([key, value]);
2500
- }
2501
- }
2502
-
2503
- delete(key) {
2504
- let entries = this.__entries__,
2505
- index = getIndex(entries, key);
2506
-
2507
- if (~index) {
2508
- entries.splice(index, 1);
2509
- }
2510
- }
2511
-
2512
- has(key) {
2513
- return !!~getIndex(this.__entries__, key);
2514
- }
2515
- };
2516
- })();
2517
-
2518
- const Map = (() => {
2519
- if (hasNativeCollections) {
2520
- return window.Map;
2521
- }
2522
-
2523
- return class extends WeakMap {
2524
- get size() {
2525
- return this.__entries__.length;
2526
- }
2527
-
2528
- clear() {
2529
- this.__entries__.splice(0, this.__entries__.length);
2530
- }
2531
-
2532
- entries() {
2533
- return this.__entries__.slice();
2534
- }
2535
-
2536
- keys() {
2537
- return this.__entries__.map(entry => entry[0]);
2538
- }
2539
-
2540
- values() {
2541
- return this.__entries__.map(entry => entry[1]);
2542
- }
2543
-
2544
- forEach(callback, ctx = null) {
2545
- for (const entry of this.__entries__) {
2546
- callback.call(ctx, entry[1], entry[0]);
2547
- }
2548
- }
2549
- };
2550
- })();
2447
+ const hyDropdownCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-dropdown{display:inline-block;min-width:100%;position:relative}@media (min-width: 30rem){.hy-dropdown{min-width:48.3%}}@media (min-width: 75.0625rem){.hy-dropdown{min-width:23.03%}}.hy-dropdown label.hy-dropdown__button-label{font-size:1rem;line-height:20px;font-weight:700;display:block;font-family:var(--main-font-family);letter-spacing:-0.32px;margin-bottom:8px}.hy-dropdown--single .hy-dropdown__panel{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:330px;min-width:100%}.hy-dropdown__toggle{font-size:0.875rem;line-height:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-white);border-radius:0;border:1px solid var(--grayscale-medium-dark);color:var(--link-blue);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:600;min-height:40px;height:auto;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;letter-spacing:normal;padding:0 0 0 16px;text-align:left;max-width:280px;width:100%}@media (min-width: 30rem){.hy-dropdown__toggle{font-size:1rem;line-height:24px;min-height:44px}}@media (min-width: 75.0625rem){.hy-dropdown__toggle{min-height:48px}}.hy-dropdown__toggle:hover{border-color:var(--brand-main-light);cursor:pointer}.hy-dropdown__toggle:focus{border-color:var(--brand-main-light);border-style:solid inset solid solid;border-width:2px;outline:0;text-indent:-1px}.hy-dropdown__toggle svg{pointer-events:none}.hy-dropdown__toggle.is-open .hy-dropdown__icon{background-color:var(--brand-main-light);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.hy-dropdown__toggle.is-open .hy-dropdown__icon::before{display:none}.hy-dropdown__toggle.is-open .hy-dropdown__icon svg{fill:var(--grayscale-white)}.hy-dropdown__icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0;height:40px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 0 0 16px;position:relative;width:40px}.hy-dropdown__icon::before{border-left:0.5px solid var(--grayscale-medium-dark);content:\"\";display:inline-block;height:65%;left:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}@media (min-width: 30rem){.hy-dropdown__icon{height:44px;width:44px}}@media (min-width: 75.0625rem){.hy-dropdown__icon{height:48px;width:48px}}.hy-dropdown__icon svg{fill:var(--link-blue)}@media (min-width: 30rem){.hy-dropdown__icon svg{height:16px;width:16px}}.hy-dropdown__panel{background-color:var(--grayscale-white);-webkit-box-shadow:0 10px 20px 0 rgba(0, 49, 70, 0.2);box-shadow:0 10px 20px 0 rgba(0, 49, 70, 0.2);list-style:none;margin:0;padding:6px;position:absolute;width:100%;z-index:11}.hy-dropdown__panel.is-hidden{display:none;visibility:hidden}.hy-dropdown__panel-item{position:relative}.hy-dropdown__panel-item:not(.is-last){margin-bottom:6px}.hy-dropdown__label{font-size:0.875rem;line-height:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-white);border-radius:0;border:1px solid var(--grayscale-medium-dark);color:var(--link-blue);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:600;min-height:40px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;letter-spacing:normal;padding:0 16px;text-align:left;width:100%}@media (min-width: 30rem){.hy-dropdown__label{font-size:1rem;line-height:24px}}.hy-dropdown__label-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none !important;-ms-flex-negative:0;flex-shrink:0;height:40px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;visibility:hidden;width:40px}.hy-dropdown__checkbox{height:100%;margin:0;opacity:0;position:absolute;width:100%;z-index:10}.hy-dropdown__checkbox:checked+label{border-color:var(--grayscale-black);border-style:solid inset solid solid;border-width:2px;color:var(--grayscale-black);outline:0;text-indent:-1px}.hy-dropdown__checkbox:checked+label .hy-dropdown__label-icon{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important;visibility:visible}.hy-dropdown__checkbox:hover{cursor:pointer}.hy-dropdown__checkbox:hover+label{border-color:var(--brand-main-light)}.hy-dropdown__checkbox:focus+label{border-color:var(--brand-main-light);border-style:solid inset solid solid;border-width:2px;outline:0;text-indent:-1px}";
2551
2448
 
2552
- /**
2553
- * A shim for performance.now method which falls back
2554
- * to Date.now if the first one is not supported.
2555
- *
2556
- * @returns {Timestamp}
2557
- */
2558
- const now = (() => {
2559
- if (
2560
- window.performance &&
2561
- typeof window.performance.now === 'function'
2562
- ) {
2563
- return () => window.performance.now();
2564
- }
2565
-
2566
- return () => Date.now();
2567
- })();
2449
+ let HyDropdown = class {
2450
+ constructor(hostRef) {
2451
+ index.registerInstance(this, hostRef);
2452
+ this.single = false;
2453
+ this.dropdownLabel = null;
2454
+ this.dropdownId = 'dropdownToggle';
2455
+ this.defaultLabel = 'All';
2456
+ this.defaultOption = null;
2457
+ this.isPanelOpen = false;
2458
+ this.isChecked = false;
2459
+ this.currentSingle = [{ id: 0, label: this.defaultLabel, value: 0 }];
2460
+ }
2461
+ async componentWillLoad() {
2462
+ this._dropdownOptions = await globalScript.jsonParserWorker(this.dropdownOptions);
2463
+ }
2464
+ componentWillUpdate() {
2465
+ const items = this.el.querySelectorAll('.hy-dropdown__checkbox');
2466
+ if (items) {
2467
+ if ([...items].some((item) => item.checked == true)) {
2468
+ this.isChecked = true;
2469
+ }
2470
+ else {
2471
+ this.isChecked = false;
2472
+ }
2473
+ }
2474
+ }
2475
+ watchPropHandler(newValue, oldValue) {
2476
+ if (!this.single)
2477
+ return;
2478
+ if (newValue !== oldValue) {
2479
+ const dropdownPanelCheckboxElements = this.el.getElementsByClassName('hy-dropdown__checkbox');
2480
+ Array.from(dropdownPanelCheckboxElements).filter((item) => {
2481
+ if (item.id == newValue) {
2482
+ item.checked = true;
2483
+ this.currentSingle = this._dropdownOptions.filter((option) => option.id == newValue);
2484
+ return;
2485
+ }
2486
+ return null;
2487
+ });
2488
+ }
2489
+ }
2490
+ handlePanelToggle() {
2491
+ this.isPanelOpen = !this.isPanelOpen;
2492
+ }
2493
+ handleClick(event) {
2494
+ const dropdownToggleButtonElement = this.el.querySelector(`#${this.dropdownId}`);
2495
+ const dropdownPanelElement = this.el.querySelector('.hy-dropdown__panel');
2496
+ const dropdownPanelCheckboxElements = this.el.querySelectorAll('.hy-dropdown__checkbox');
2497
+ const dropdownToggleButtonIconElement = this.el.querySelector('.hy-dropdown__icon');
2498
+ const { target } = event;
2499
+ const allowedElements = [
2500
+ dropdownToggleButtonElement,
2501
+ dropdownPanelElement,
2502
+ dropdownToggleButtonIconElement,
2503
+ ...dropdownPanelCheckboxElements, // Spread ("copy") items to allowedElement array.
2504
+ ];
2505
+ if (this.isPanelOpen && !allowedElements.includes(target)) {
2506
+ this.isPanelOpen = false;
2507
+ }
2508
+ event.stopPropagation();
2509
+ }
2510
+ handleSingleClick(event) {
2511
+ if (!this.single || !this.isPanelOpen)
2512
+ return;
2513
+ const dropdownPanelCheckboxElements = this.el.getElementsByClassName('hy-dropdown__checkbox');
2514
+ const allowedElements = [...dropdownPanelCheckboxElements];
2515
+ const { target } = event;
2516
+ if (!allowedElements.includes(target))
2517
+ return;
2518
+ Array.from(dropdownPanelCheckboxElements).filter((item) => {
2519
+ if (item.id == target.id) {
2520
+ if (!item.checked) {
2521
+ this.currentSingle = [{ id: null, label: this.defaultLabel, value: null }];
2522
+ return;
2523
+ }
2524
+ this.currentSingle = this._dropdownOptions.filter((option) => option.id == target.id);
2525
+ return;
2526
+ }
2527
+ if (item.id !== target.id && item.checked) {
2528
+ item.checked = false;
2529
+ return;
2530
+ }
2531
+ return null;
2532
+ });
2533
+ event.stopPropagation();
2534
+ }
2535
+ render() {
2536
+ const { label: currentLabel, id: currentId, value: currentValue } = this.currentSingle[0];
2537
+ const classAttributes = ['hy-dropdown', this.single ? 'hy-dropdown--single' : ''].join(' ');
2538
+ if (this.single) {
2539
+ return (index.h(index.Host, { class: classAttributes }, this.dropdownLabel && (index.h("label", { class: "hy-dropdown__button-label", htmlFor: this.dropdownId }, this.dropdownLabel)), index.h("button", { id: this.dropdownId, class: `hy-dropdown__toggle ${this.isPanelOpen ? 'is-open' : ''}`, "aria-expanded": `${this.isPanelOpen || false}`, "aria-haspopup": "true", "aria-controls": "dropdownPanel", onClick: () => this.handlePanelToggle(), "aria-label": `${!this.isPanelOpen ? 'Open' : 'Close'} dropdown`, "data-current-id": currentId, "data-current-value": currentValue, value: currentId, type: "button" }, currentLabel, index.h("hy-icon", { class: "hy-dropdown__icon", icon: 'hy-icon-caret-down', size: 14, "aria-hidden": "true" })), index.h("hy-dropdown-panel", { "checkbox-checked": this.isChecked ? 'true' : 'false', "is-hidden": !this.isPanelOpen }, this._dropdownOptions.map(({ id, label, value }, index$1) => (index.h("hy-dropdown-panel-item", { "dropdown-item-id": id, "dropdown-item-label": label, "dropdown-item-value": value, "is-last": this._dropdownOptions.length - 1 === index$1 }))))));
2540
+ }
2541
+ else {
2542
+ return (index.h(index.Host, { class: classAttributes }, index.h("button", { id: this.dropdownId, class: `hy-dropdown__toggle ${this.isPanelOpen ? 'is-open' : ''}`, "aria-expanded": `${this.isPanelOpen || false}`, "aria-haspopup": "true", "aria-controls": "dropdownPanel", onClick: () => this.handlePanelToggle(), "aria-label": `${!this.isPanelOpen ? 'Open' : 'Close'} dropdown`, type: "button" }, this.dropdownLabel && this.dropdownLabel, index.h("hy-icon", { class: "hy-dropdown__icon", icon: 'hy-icon-caret-down', size: 14, "aria-hidden": "true" })), index.h("hy-dropdown-panel", { "checkbox-checked": this.isChecked ? 'true' : 'false', "is-hidden": !this.isPanelOpen }, this._dropdownOptions.map(({ id, label, value }, index$1) => (index.h("hy-dropdown-panel-item", { "dropdown-item-id": id, "dropdown-item-label": label, "dropdown-item-value": value, "is-last": this._dropdownOptions.length - 1 === index$1 }))))));
2543
+ }
2544
+ }
2545
+ get el() { return index.getElement(this); }
2546
+ static get watchers() { return {
2547
+ "defaultOption": ["watchPropHandler"]
2548
+ }; }
2549
+ };
2550
+ HyDropdown.style = hyDropdownCss;
2568
2551
 
2569
- /**
2570
- * A shim for requestAnimationFrame which falls back
2571
- * to setTimeout if the first one is not supported.
2572
- *
2573
- * @returns {Number} Requests' identifier.
2574
- */
2575
- const requestAnimFrame = (() => {
2576
- if (
2577
- window.requestAnimationFrame &&
2578
- typeof window.requestAnimationFrame === 'function'
2579
- ) {
2580
- return window.requestAnimationFrame;
2581
- }
2582
-
2583
- return callback => {
2584
- return setTimeout(() => callback(Date.now()), 1000 / 60);
2585
- };
2586
- })();
2552
+ let HyDropdownPanel = class {
2553
+ constructor(hostRef) {
2554
+ index.registerInstance(this, hostRef);
2555
+ }
2556
+ render() {
2557
+ return (index.h("ul", { id: "dropdownPanel", class: `hy-dropdown__panel ${this.isHidden ? 'is-hidden' : ''}`, "aria-hidden": `${this.isHidden || false}`, role: "region", "aria-labelledby": "dropdownToggle" }, index.h("slot", null)));
2558
+ }
2559
+ };
2587
2560
 
2588
- const mutationsSupported = typeof window.MutationObserver === 'function';
2589
-
2590
- /**
2591
- * Creates a wrapper function which ensures that
2592
- * provided callback will be invoked only once
2593
- * during the specified delay.
2561
+ let HyDropdownPanelItem = class {
2562
+ constructor(hostRef) {
2563
+ index.registerInstance(this, hostRef);
2564
+ this.isLast = false;
2565
+ }
2566
+ render() {
2567
+ return (index.h("li", { class: `hy-dropdown__panel-item ${this.isLast ? 'is-last' : ''}` }, index.h("input", { type: "checkbox", class: "hy-dropdown__checkbox", id: `${this.dropdownItemId}`, value: `${this.dropdownItemValue}` }), index.h("label", { class: "hy-dropdown__label", htmlFor: `${this.dropdownItemId}` }, this.dropdownItemLabel, index.h("hy-icon", { class: "hy-dropdown__label-icon", icon: 'hy-icon-done', size: 14, "aria-hidden": "true" }))));
2568
+ }
2569
+ };
2570
+
2571
+ const hyFilterGroupCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-filter-group{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:16px}.hy-filter-group__listing{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:0;padding:0}.hy-filter-group__label{font-size:0.75rem;line-height:16px;border-radius:2px;color:var(--grayscale-dark);font-family:var(--main-font-family);font-weight:normal;letter-spacing:-0.2px;margin:8px 4px 8px 0;padding:4px 0}@media (min-width: 30rem){.hy-filter-group__label{font-size:0.875rem;line-height:16px;letter-spacing:-0.3px;padding:6px 0}}.hy-filter-group__button{font-size:0.75rem;line-height:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-background-box);border-radius:2px;border:0;color:var(--grayscale-dark);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:normal;letter-spacing:-0.2px;margin:8px 4px;padding:4px 6px}@media (min-width: 30rem){.hy-filter-group__button{font-size:0.875rem;line-height:16px;letter-spacing:-0.3px;padding:6px 8px}}.hy-filter-group__button:hover{cursor:pointer}.hy-filter-group__button-icon{margin-left:6px}@media (min-width: 30rem){.hy-filter-group__button-icon{margin-left:8px}}.hy-filter-group__button-icon svg{pointer-events:none}@media (min-width: 30rem){.hy-filter-group__button-icon svg{height:12px;width:12px}}.hy-filter-group__divider{font-size:0.75rem;line-height:16px;color:var(--grayscale-dark);font-family:var(--main-font-family);margin:4px 6px}@media (min-width: 30rem){.hy-filter-group__divider{font-size:0.875rem;line-height:16px;letter-spacing:-0.3px}}";
2572
+
2573
+ let HyFilterGroup = class {
2574
+ constructor(hostRef) {
2575
+ index.registerInstance(this, hostRef);
2576
+ }
2577
+ arrayDataWatcher(newValue) {
2578
+ if (typeof newValue === 'string') {
2579
+ this._filterGroupFilters = JSON.parse(newValue);
2580
+ }
2581
+ else {
2582
+ this._filterGroupFilters = newValue;
2583
+ }
2584
+ }
2585
+ componentWillLoad() {
2586
+ this.arrayDataWatcher(this.filterGroupFilters);
2587
+ }
2588
+ // TODO: Finish handleFilterDeselect functionality with real data.
2589
+ handleFilterDeselect(id) {
2590
+ console.log(id);
2591
+ }
2592
+ render() {
2593
+ return (index.h(index.Host, { class: "hy-filter-group" }, index.h("ul", { class: "hy-filter-group__listing" }, index.h("li", null, index.h("h3", { class: "hy-filter-group__label" }, this.filterGroupLabel)), this._filterGroupFilters.map(({ id, label }) => (index.h("hy-filter-group-item", { "filter-group-item-id": id, "filter-group-item-label": label, onClick: () => this.handleFilterDeselect(id) }))))));
2594
+ }
2595
+ static get watchers() { return {
2596
+ "filterGroupFilters": ["arrayDataWatcher"]
2597
+ }; }
2598
+ };
2599
+ HyFilterGroup.style = hyFilterGroupCss;
2600
+
2601
+ let HyFilterGroupItem = class {
2602
+ constructor(hostRef) {
2603
+ index.registerInstance(this, hostRef);
2604
+ }
2605
+ render() {
2606
+ return (index.h("li", { class: "hy-filter-group__filter" }, index.h("button", { type: "button", class: "hy-filter-group__button", "aria-label": `Deselect ${this.filterGroupItemLabel}` }, this.filterGroupItemLabel, index.h("hy-icon", { class: "hy-filter-group__button-icon", icon: 'hy-icon-remove', size: 10, "aria-hidden": "true", fill: utils.ColorVariant.grey_dark })), index.h("slot", null)));
2607
+ }
2608
+ };
2609
+
2610
+ const hyFilterListTypeCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-filter__list-type{display:none}@media (min-width: 60rem){.hy-filter__list-type{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-family:var(--main-font-family)}}@media (min-width: 60rem){.hy-filter__list-type span{font-size:0.875rem;line-height:18px;font-weight:600;color:var(--grayscale-black);letter-spacing:-0.5px;text-align:right}}@media (min-width: 1601px){.hy-filter__list-type span{font-size:1rem;line-height:20px}}.hy-filter__list-type__list{background:var(--grayscale-background-box);border:none;margin:0 8px;padding:10px}.hy-filter__list-type__list svg{background-color:var(--grayscale-background-box);fill:var(--brand-main-light)}.hy-filter__list-type__list.is-active{background:white;border:black 1px solid}.hy-filter__list-type__list.is-active svg{background-color:var(--grayscale-white);fill:var(--grayscale-black)}.hy-filter__list-type__list:hover{cursor:pointer}.hy-filter__list-type__grid{background:var(--grayscale-background-box);border:none;padding:10px}.hy-filter__list-type__grid svg{background-color:var(--grayscale-background-box);fill:var(--brand-main-light)}.hy-filter__list-type__grid.is-active{background:white;border:black 1px solid}.hy-filter__list-type__grid.is-active svg{background-color:var(--grayscale-white);fill:var(--grayscale-black)}.hy-filter__list-type__grid:hover{cursor:pointer}";
2611
+
2612
+ let HyFilterListType = class {
2613
+ constructor(hostRef) {
2614
+ index.registerInstance(this, hostRef);
2615
+ }
2616
+ render() {
2617
+ return (index.h("div", { class: "hy-filter__list-type" }, index.h("span", null, this.filterLabel), index.h("button", { type: "button", class: {
2618
+ 'hy-filter-item': true,
2619
+ 'hy-filter__list-type__list': true,
2620
+ 'is-active': this.filterValue == utils.ListStyleVariants.list,
2621
+ }, "aria-label": `${this.filterLabel}--list` }, index.h("hy-icon", { class: "hy-filter-group__button-icon", icon: 'hy-icon-list-style-list', size: 16, "aria-hidden": "true" })), index.h("button", { type: "button", class: {
2622
+ 'hy-filter-item': true,
2623
+ 'hy-filter__list-type__grid': true,
2624
+ 'is-active': this.filterValue == utils.ListStyleVariants.grid,
2625
+ }, "aria-label": `${this.filterLabel}--grid` }, index.h("hy-icon", { class: "hy-filter-group__button-icon", icon: 'hy-icon-list-style-grid', size: 16, "aria-hidden": "true" }))));
2626
+ }
2627
+ };
2628
+ HyFilterListType.style = hyFilterListTypeCss;
2629
+
2630
+ const hyFilterVisibilityToolCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-filter-visibility-tool{font-size:0.875rem;line-height:20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:0;color:var(--link-blue);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.35px;padding:0;margin-right:1rem}@media (min-width: 30rem){.hy-filter-visibility-tool{font-size:1rem;line-height:20px;letter-spacing:-0.5px}}.hy-filter-visibility-tool:hover{color:var(--brand-main);cursor:pointer}.hy-filter-visibility-tool:hover svg{fill:var(--brand-main)}.hy-filter-visibility-tool:focus{color:var(--brand-main);outline-offset:1px;outline:2px solid var(--brand-main)}.hy-filter-visibility-tool:focus svg{fill:var(--brand-main)}.hy-filter-visibility-tool__icon{-ms-flex-negative:0;flex-shrink:0;margin-right:6px}.hy-filter-visibility-tool__icon svg{fill:var(--link-blue)}@media (min-width: 30rem){.hy-filter-visibility-tool__icon svg{height:16px;width:16px}}";
2631
+
2632
+ let HyFilterVisibilityTool = class {
2633
+ constructor(hostRef) {
2634
+ index.registerInstance(this, hostRef);
2635
+ }
2636
+ render() {
2637
+ switch (this.filterVisibilityToolType) {
2638
+ case 'toggle':
2639
+ return (index.h(index.Host, null, index.h("hy-filter-visibility-tool-toggle", null)));
2640
+ case 'reset':
2641
+ return (index.h(index.Host, null, index.h("hy-filter-visibility-tool-reset", null)));
2642
+ }
2643
+ }
2644
+ };
2645
+ HyFilterVisibilityTool.style = hyFilterVisibilityToolCss;
2646
+
2647
+ let HyFilterVisibilityToolReset = class {
2648
+ constructor(hostRef) {
2649
+ index.registerInstance(this, hostRef);
2650
+ }
2651
+ render() {
2652
+ return (index.h("button", { class: "hy-filter-visibility-tool hy-filter-visibility-tool--reset", type: "button" }, index.h("hy-icon", { class: "hy-filter-visibility-tool__icon", icon: 'hy-icon-remove', size: 14, "aria-hidden": "true" }), "Reset filters"));
2653
+ }
2654
+ };
2655
+
2656
+ let HyFilterVisibilityToolToggle = class {
2657
+ constructor(hostRef) {
2658
+ index.registerInstance(this, hostRef);
2659
+ }
2660
+ render() {
2661
+ return (index.h(index.Host, null, index.h("button", { class: "hy-filter-visibility-tool hy-filter-visibility-tool--show-more", type: "button" }, index.h("hy-icon", { class: "hy-filter-visibility-tool__icon", icon: 'hy-icon-plus', size: 12, "aria-hidden": "true" }), "Show more filters"), index.h("button", { class: "hy-filter-visibility-tool hy-filter-visibility-tool--show-less", type: "button" }, index.h("hy-icon", { class: "hy-filter-visibility-tool__icon", icon: 'hy-icon-minus', size: 12, "aria-hidden": "true" }), "Show less filters")));
2662
+ }
2663
+ };
2664
+
2665
+ const hyFooterCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-footer{display:block}";
2666
+
2667
+ let HyFooter = class {
2668
+ constructor(hostRef) {
2669
+ index.registerInstance(this, hostRef);
2670
+ }
2671
+ render() {
2672
+ const classAttributes = ['hy-footer'];
2673
+ return (index.h("footer", { class: classAttributes.join(' ') }, index.h("slot", null)));
2674
+ }
2675
+ };
2676
+ HyFooter.style = hyFooterCss;
2677
+
2678
+ const hyFooterActionCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-footer-action{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid var(--grayscale-medium-dark);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:8px 16px 16px 16px;place-content:center space-between;width:100%}@media (min-width: 30rem){.hy-footer-action{margin:0 auto;max-width:120.0625rem;padding:16px 24px 16px 24px}}@media (min-width: 60rem){.hy-footer-action{padding:16px 32px 24px 32px}}.hy-footer-action__updated-text{font-size:0.875rem;line-height:24px;color:var(--grayscale-dark);font-family:var(--main-font-family);letter-spacing:0}@media (min-width: 30rem){.hy-footer-action__updated-text{font-size:1rem;line-height:24px}}.hy-footer-action__scroll-up{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.hy-footer-action__scroll-up .hy-footer-action__up-button{background-color:var(--brand-main-light);border:0;-webkit-box-shadow:0 2px 8px 0 rgba(0, 0, 0, 0.05);box-shadow:0 2px 8px 0 rgba(0, 0, 0, 0.05);padding:8px}.hy-footer-action__scroll-up .hy-footer-action__up-button:hover{cursor:pointer}.hy-footer-action__scroll-up label{font-size:1rem;line-height:24px;color:var(--grayscale-dark);font-family:var(--main-font-family);letter-spacing:0;margin-right:8px}.hy-footer-action__scroll-up svg{fill:var(--grayscale-white)}.hy-footer-action__scroll-up:hover label{text-decoration:underline}.hy-footer-action__scroll-up:hover .hy-footer-action__up-button{background-color:var(--brand-main)}";
2679
+
2680
+ let HyFooterAction = class {
2681
+ constructor(hostRef) {
2682
+ index.registerInstance(this, hostRef);
2683
+ }
2684
+ scrollTop() {
2685
+ window.scrollTo({ top: 0, behavior: 'smooth' });
2686
+ }
2687
+ render() {
2688
+ const classAttributes = ['hy-footer-action'].join(' ');
2689
+ return (index.h(index.Host, { class: classAttributes }, index.h("span", { class: 'hy-footer-action__updated-text' }, this.updatedText), this.upButtonLabel && (index.h("span", { class: "hy-footer-action__scroll-up" }, index.h("label", { htmlFor: "scroll-up" }, this.upButtonLabel), index.h("button", { name: "scroll-up", onClick: () => this.scrollTop(), class: "hy-footer-action__up-button", type: "button" }, index.h("hy-icon", { class: 'hy-footer-action__up-icon', icon: 'hy-icon-arrow-up', size: 26 }))))));
2690
+ }
2691
+ };
2692
+ HyFooterAction.style = hyFooterActionCss;
2693
+
2694
+ const hyFooterBaseCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-footer-base--content-container{background-color:var(--grayscale-black);display:block;max-width:100%}.hy-footer-base{background-color:var(--grayscale-black);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;max-height:100%;padding:32px 16px 32px 16px;place-content:center space-between;position:relative;width:100%}@media (min-width: 30rem){.hy-footer-base{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin:0 auto;max-width:120.0625rem;padding:32px 24px 32px 24px}}@media (min-width: 60rem){.hy-footer-base{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:36px 32px 36px 32px}}@media (min-width: 75.0625rem){.hy-footer-base{padding:40px 32px 40px 32px}}.hy-footer-base__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:24px}@media (min-width: 30rem){.hy-footer-base__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}}@media (min-width: 60rem){.hy-footer-base__left{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:31.11%}}.hy-footer-base__logo{font-size:1.125rem;line-height:16px;font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.9px}.hy-footer-base__logo .hy-site-logo__label{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.hy-footer-base__content{font-size:1rem;line-height:24px;color:var(--grayscale-white);font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.1px;margin:32px 0;white-space:pre-line}@media (min-width: 30rem){.hy-footer-base__content{margin:32px 0}}@media (min-width: 60rem){.hy-footer-base__content{margin:42px 0}}@media (min-width: 75.0625rem){.hy-footer-base__content{margin:54px 0}}.hy-footer-base__some{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:64px;z-index:2}@media (min-width: 60rem){.hy-footer-base__some{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:0}}@media (min-width: 75.0625rem){.hy-footer-base__some{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.hy-footer-base__some__label{font-size:1rem;line-height:24px;color:var(--grayscale-white);font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.1px;margin-bottom:8px;margin-right:24px}@media (min-width: 60rem){.hy-footer-base__some__label{margin-bottom:8px}}.hy-footer-base__some__items{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.hy-footer-base__some__item{margin-right:24px}.hy-footer-base__some__item :last-child(){margin-right:0}.hy-footer-base__some__item:hover{color:var(--grayscale-medium) !important}.hy-footer-base__some__item:hover svg{fill:var(--grayscale-medium)}.hy-footer-base__some svg{fill:var(--grayscale-white)}.hy-footer-base__right{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;max-height:100%;width:100%}@media (min-width: 30rem){.hy-footer-base__right{margin-bottom:32px;max-height:300px;width:calc(100% + 24px)}}@media (min-width: 60rem){.hy-footer-base__right{max-height:350px;width:65.56%}}.hy-footer-base__copy{font-size:1rem;line-height:24px;bottom:40px;color:var(--grayscale-white);display:inline-block;font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.1px;position:absolute;right:50%;text-align:center;-webkit-transform:translateX(50%);transform:translateX(50%);width:100%}@media (min-width: 30rem){.hy-footer-base__copy{bottom:32px;right:50%;-webkit-transform:translateX(50%);transform:translateX(50%)}}@media (min-width: 60rem){.hy-footer-base__copy{bottom:36px;right:32px;text-align:right;-webkit-transform:none;transform:none}}@media (min-width: 75.0625rem){.hy-footer-base__copy{bottom:40px}}";
2695
+
2696
+ let HyFooterBase = class {
2697
+ constructor(hostRef) {
2698
+ index.registerInstance(this, hostRef);
2699
+ /**
2700
+ * Link item color
2701
+ */
2702
+ this.color = utils.FooterLinkItemColor.white;
2703
+ /**
2704
+ * Logo size
2705
+ */
2706
+ this.size = utils.SiteLogoSize.big;
2707
+ }
2708
+ async componentWillLoad() {
2709
+ this._dataFooterBaseLinks = await globalScript.jsonParserWorker(this.dataFooterBaseLinks);
2710
+ this._dataFooterBaseSome = await globalScript.jsonParserWorker(this.dataFooterBaseSome);
2711
+ }
2712
+ render() {
2713
+ const logoColor = utils.ColorVariant.white;
2714
+ const classAttributes = ['hy-footer-base--content-container'].join(' ');
2715
+ const links = this._dataFooterBaseLinks;
2716
+ const some = this._dataFooterBaseSome;
2717
+ return (index.h(index.Host, { class: classAttributes }, index.h("div", { class: "hy-footer-base" }, index.h("div", { class: "hy-footer-base__left" }, index.h("div", { class: "hy-footer-base__logo" }, index.h("hy-site-logo", { type: utils.FooterVariant.footer, size: 56, color: logoColor, url: this.logoUrl, label: this.logoLabel })), index.h("div", { class: "hy-footer-base__content" }, index.h("slot", { name: "content" })), index.h("div", { class: "hy-footer-base__some" }, index.h("span", { class: "hy-footer-base__some__label" }, this.someLabel), index.h("div", { class: "hy-footer-base__some__items" }, some &&
2718
+ some.map((s) => {
2719
+ return (index.h("a", { "aria-label": s.label, href: s.url, class: `hy-footer-base__some__item`, title: s.label, target: "_blank" }, index.h("hy-icon", { icon: `hy-icon-some-${s.type}`, size: 36 })));
2720
+ })))), index.h("div", { class: "hy-footer-base__right" }, links &&
2721
+ links.map((link) => {
2722
+ return (index.h("hy-footer-link-item", { label: link.label, url: link.url, color: utils.FooterLinkItemColor.white }));
2723
+ }), this.copyrightText && index.h("span", { class: "hy-footer-base__copy" }, this.copyrightText)))));
2724
+ }
2725
+ };
2726
+ HyFooterBase.style = hyFooterBaseCss;
2727
+
2728
+ /**
2729
+ * A collection of shims that provided minimal
2730
+ * support of WeakMap and Map classes.
2594
2731
  *
2595
- * @param {Function} callback - Function to be invoked.
2596
- * @param {Number} [delay = 0] - Delay after which to invoke callback.
2597
- * @returns {Function}
2732
+ * These implementations are not meant to be used outside of
2733
+ * ResizeObserver modules as they cover only a limited range
2734
+ * of use cases.
2598
2735
  */
2599
- function debounce(callback, delay = 0) {
2600
- let timeoutID = false;
2601
2736
 
2602
- return function (...args) {
2603
- if (timeoutID !== false) {
2604
- clearTimeout(timeoutID);
2605
- }
2737
+ /* eslint-disable require-jsdoc */
2738
+ const hasNativeCollections =
2739
+ typeof window.WeakMap === 'function' &&
2740
+ typeof window.Map === 'function';
2606
2741
 
2607
- timeoutID = setTimeout(() => {
2608
- timeoutID = false;
2742
+ const WeakMap = (() => {
2743
+ if (hasNativeCollections) {
2744
+ return window.WeakMap;
2745
+ }
2609
2746
 
2610
- /* eslint-disable no-invalid-this */
2611
- callback.apply(this, args);
2747
+ function getIndex(arr, key) {
2748
+ let result = -1;
2612
2749
 
2613
- /* eslint-enable no-invalid-this */
2614
- }, delay);
2615
- };
2616
- }
2750
+ arr.some((entry, index) => {
2751
+ let matches = entry[0] === key;
2617
2752
 
2618
- /**
2619
- * Controller class which handles updates of ResizeObserver instances.
2620
- * It's meant to decide when and for how long it's necessary to run updates by listening to the windows
2621
- * "resize" event along with a tracking of DOM mutations (nodes removal, changes of attributes, etc.).
2622
- *
2623
- * Transitions and animations are handled by running a repeatable update cycle either until the dimensions
2624
- * of observed elements are changing or the timeout is reached (default timeout is 50 milliseconds).
2625
- * Timeout value can be manually increased if transitions have a delay.
2626
- *
2627
- * Continuous update cycle will be used automatically in case if MutationObserver is not supported.
2628
- */
2629
- class ResizeObserverController {
2630
- /**
2631
- * Creates a new instance of ResizeObserverController.
2632
- *
2633
- * @param {Number} [idleTimeout = 0] - Idle timeout value.
2634
- * @param {Boolean} [continuousUpdates = false] - Whether to use a continuous update cycle.
2635
- */
2636
- constructor(idleTimeout = 50, continuousUpdates = false) {
2637
- this._idleTimeout = idleTimeout;
2638
- this._isCycleContinuous = continuousUpdates;
2753
+ if (matches) {
2754
+ result = index;
2755
+ }
2639
2756
 
2640
- this._cycleStartTime = 0;
2757
+ return matches;
2758
+ });
2641
2759
 
2642
- // Indicates whether the update cycle is currently running.
2643
- this._isCycleActive = false;
2760
+ return result;
2761
+ }
2644
2762
 
2645
- // Indicates whether the update of observers is scheduled.
2646
- this._isUpdateScheduled = false;
2763
+ return class {
2764
+ constructor() {
2765
+ this.__entries__ = [];
2766
+ }
2647
2767
 
2648
- // Indicates whether DOM listeners have been added.
2649
- this._listenersEnabled = false;
2768
+ get(key) {
2769
+ let index = getIndex(this.__entries__, key);
2650
2770
 
2651
- // Keeps reference to the instance of MutationObserver.
2652
- this._mutationsObserver = null;
2771
+ return this.__entries__[index][1];
2772
+ }
2653
2773
 
2654
- // A list of connected observers.
2655
- this._observers = [];
2774
+ set(key, value) {
2775
+ let index = getIndex(this.__entries__, key);
2656
2776
 
2657
- // Fix value of "this" binding for the following methods.
2658
- this.runUpdates = this.runUpdates.bind(this);
2659
- this._resolveScheduled = this._resolveScheduled.bind(this);
2777
+ if (~index) {
2778
+ this.__entries__[index][1] = value;
2779
+ } else {
2780
+ this.__entries__.push([key, value]);
2781
+ }
2782
+ }
2783
+
2784
+ delete(key) {
2785
+ let entries = this.__entries__,
2786
+ index = getIndex(entries, key);
2787
+
2788
+ if (~index) {
2789
+ entries.splice(index, 1);
2790
+ }
2791
+ }
2792
+
2793
+ has(key) {
2794
+ return !!~getIndex(this.__entries__, key);
2795
+ }
2796
+ };
2797
+ })();
2798
+
2799
+ const Map = (() => {
2800
+ if (hasNativeCollections) {
2801
+ return window.Map;
2802
+ }
2803
+
2804
+ return class extends WeakMap {
2805
+ get size() {
2806
+ return this.__entries__.length;
2807
+ }
2808
+
2809
+ clear() {
2810
+ this.__entries__.splice(0, this.__entries__.length);
2811
+ }
2812
+
2813
+ entries() {
2814
+ return this.__entries__.slice();
2815
+ }
2816
+
2817
+ keys() {
2818
+ return this.__entries__.map(entry => entry[0]);
2819
+ }
2820
+
2821
+ values() {
2822
+ return this.__entries__.map(entry => entry[1]);
2823
+ }
2824
+
2825
+ forEach(callback, ctx = null) {
2826
+ for (const entry of this.__entries__) {
2827
+ callback.call(ctx, entry[1], entry[0]);
2828
+ }
2829
+ }
2830
+ };
2831
+ })();
2832
+
2833
+ /**
2834
+ * A shim for performance.now method which falls back
2835
+ * to Date.now if the first one is not supported.
2836
+ *
2837
+ * @returns {Timestamp}
2838
+ */
2839
+ const now = (() => {
2840
+ if (
2841
+ window.performance &&
2842
+ typeof window.performance.now === 'function'
2843
+ ) {
2844
+ return () => window.performance.now();
2845
+ }
2846
+
2847
+ return () => Date.now();
2848
+ })();
2849
+
2850
+ /**
2851
+ * A shim for requestAnimationFrame which falls back
2852
+ * to setTimeout if the first one is not supported.
2853
+ *
2854
+ * @returns {Number} Requests' identifier.
2855
+ */
2856
+ const requestAnimFrame = (() => {
2857
+ if (
2858
+ window.requestAnimationFrame &&
2859
+ typeof window.requestAnimationFrame === 'function'
2860
+ ) {
2861
+ return window.requestAnimationFrame;
2862
+ }
2863
+
2864
+ return callback => {
2865
+ return setTimeout(() => callback(Date.now()), 1000 / 60);
2866
+ };
2867
+ })();
2868
+
2869
+ const mutationsSupported = typeof window.MutationObserver === 'function';
2870
+
2871
+ /**
2872
+ * Creates a wrapper function which ensures that
2873
+ * provided callback will be invoked only once
2874
+ * during the specified delay.
2875
+ *
2876
+ * @param {Function} callback - Function to be invoked.
2877
+ * @param {Number} [delay = 0] - Delay after which to invoke callback.
2878
+ * @returns {Function}
2879
+ */
2880
+ function debounce(callback, delay = 0) {
2881
+ let timeoutID = false;
2882
+
2883
+ return function (...args) {
2884
+ if (timeoutID !== false) {
2885
+ clearTimeout(timeoutID);
2886
+ }
2887
+
2888
+ timeoutID = setTimeout(() => {
2889
+ timeoutID = false;
2890
+
2891
+ /* eslint-disable no-invalid-this */
2892
+ callback.apply(this, args);
2893
+
2894
+ /* eslint-enable no-invalid-this */
2895
+ }, delay);
2896
+ };
2897
+ }
2898
+
2899
+ /**
2900
+ * Controller class which handles updates of ResizeObserver instances.
2901
+ * It's meant to decide when and for how long it's necessary to run updates by listening to the windows
2902
+ * "resize" event along with a tracking of DOM mutations (nodes removal, changes of attributes, etc.).
2903
+ *
2904
+ * Transitions and animations are handled by running a repeatable update cycle either until the dimensions
2905
+ * of observed elements are changing or the timeout is reached (default timeout is 50 milliseconds).
2906
+ * Timeout value can be manually increased if transitions have a delay.
2907
+ *
2908
+ * Continuous update cycle will be used automatically in case if MutationObserver is not supported.
2909
+ */
2910
+ class ResizeObserverController {
2911
+ /**
2912
+ * Creates a new instance of ResizeObserverController.
2913
+ *
2914
+ * @param {Number} [idleTimeout = 0] - Idle timeout value.
2915
+ * @param {Boolean} [continuousUpdates = false] - Whether to use a continuous update cycle.
2916
+ */
2917
+ constructor(idleTimeout = 50, continuousUpdates = false) {
2918
+ this._idleTimeout = idleTimeout;
2919
+ this._isCycleContinuous = continuousUpdates;
2920
+
2921
+ this._cycleStartTime = 0;
2922
+
2923
+ // Indicates whether the update cycle is currently running.
2924
+ this._isCycleActive = false;
2925
+
2926
+ // Indicates whether the update of observers is scheduled.
2927
+ this._isUpdateScheduled = false;
2928
+
2929
+ // Indicates whether DOM listeners have been added.
2930
+ this._listenersEnabled = false;
2931
+
2932
+ // Keeps reference to the instance of MutationObserver.
2933
+ this._mutationsObserver = null;
2934
+
2935
+ // A list of connected observers.
2936
+ this._observers = [];
2937
+
2938
+ // Fix value of "this" binding for the following methods.
2939
+ this.runUpdates = this.runUpdates.bind(this);
2940
+ this._resolveScheduled = this._resolveScheduled.bind(this);
2660
2941
  this._onMutation = this._onMutation.bind(this);
2661
2942
 
2662
2943
  // Function that will be invoked to re-run the
@@ -3304,723 +3585,109 @@ class ResizeObserver$3 {
3304
3585
  }
3305
3586
  }
3306
3587
 
3307
- // Controller which will be assigned to all instances of ResizeObserver.
3308
- const controller = new ResizeObserverController();
3309
-
3310
- // Registry of internal observers.
3311
- const observers = new WeakMap();
3312
-
3313
- /**
3314
- * ResizeObservers' "Proxy" class which is meant to hide private
3315
- * properties and methods from public instances.
3316
- *
3317
- * Additionally it implements "idleTimeout" and "continuousUpdates" static property
3318
- * accessors to give a control over the behavior of ResizeObserverController
3319
- * instance. Changes made to these properties will affect all future and
3320
- * existing observers.
3321
- */
3322
- class ResizeObserver$2 {
3323
- /**
3324
- * Creates a new instance of ResizeObserver.
3325
- *
3326
- * @param {Function} callback - Callback which will
3327
- * be invoked when dimensions of one of the
3328
- * observed elements have been changed.
3329
- */
3330
- constructor(callback) {
3331
- if (!arguments.length) {
3332
- throw new TypeError('1 argument required, but only 0 present.');
3333
- }
3334
-
3335
- const observer = new ResizeObserver$3(callback, controller, this);
3336
-
3337
- // Register an internal observer.
3338
- observers.set(this, observer);
3339
- }
3340
-
3341
- /**
3342
- * Extracts controllers' idle timeout value.
3343
- *
3344
- * @returns {Number}
3345
- */
3346
- static get idleTimeout() {
3347
- return controller.idleTimeout;
3348
- }
3349
-
3350
- /**
3351
- * Sets up new idle timeout.
3352
- *
3353
- * @param {Number} value - New timeout value.
3354
- */
3355
- static set idleTimeout(value) {
3356
- if (typeof value !== 'number') {
3357
- throw new TypeError('type of "idleTimeout" value must be a number.');
3358
- }
3359
-
3360
- if (typeof value < 0) {
3361
- throw new TypeError('"idleTimeout" value must be greater than 0.');
3362
- }
3363
-
3364
- controller.idleTimeout = value;
3365
- }
3366
-
3367
- /**
3368
- * Tells whether continuous updates are enabled.
3369
- *
3370
- * @returns {Boolean}
3371
- */
3372
- static get continuousUpdates() {
3373
- return controller.continuousUpdates;
3374
- }
3375
-
3376
- /**
3377
- * Enables or disables continuous updates.
3378
- *
3379
- * @param {Boolean} value - Whether to enable or disable
3380
- * continuous updates.
3381
- */
3382
- static set continuousUpdates(value) {
3383
- if (typeof value !== 'boolean') {
3384
- throw new TypeError('type of "continuousUpdates" value must be a boolean.');
3385
- }
3386
-
3387
- controller.continuousUpdates = value;
3388
- }
3389
- }
3390
-
3391
- // Expose public methods of ResizeObserver.
3392
- [
3393
- 'observe',
3394
- 'unobserve',
3395
- 'disconnect'
3396
- ].forEach(method => {
3397
- ResizeObserver$2.prototype[method] = function () {
3398
- return observers.get(this)[method](...arguments);
3399
- };
3400
- });
3401
-
3402
- let ResizeObserver = ResizeObserver$2;
3403
-
3404
- // Export existing implementation if it's available.
3405
- if (typeof window.ResizeObserver === 'function') {
3406
- ResizeObserver = window.ResizeObserver;
3407
- }
3408
-
3409
- const ResizeObserver$1 = ResizeObserver;
3410
-
3411
- const hyDesktopMenuLinksCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0}.hy-site-header__menu-desktop{height:100%;margin:0 32px}.hy-site-header__menu-desktop.is-group{margin:0}.hy-desktop-menu{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;list-style:none;margin:0;padding:0;width:100%}.is-dropdown .hy-desktop-menu__item{position:relative}.hy-desktop-menu__button{font-size:0.875rem;line-height:16px;font-weight:700;background-color:transparent;border:none;color:var(--brand-main-nearly-black);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-family:var(--main-font-family);height:100%;letter-spacing:-0.7px;padding:39px 10px 13px;text-transform:uppercase;text-decoration:none;text-align:left;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.is-group .hy-desktop-menu__button{padding:26px 10px;width:auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (min-width: 1601px){.hy-desktop-menu__button.is-long br{display:none}}@media (min-width: 1601px){.hy-desktop-menu__button{font-size:1rem;line-height:16px;width:auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:26px 10px}}.hy-desktop-menu__button:hover{cursor:pointer}.hy-desktop-menu__button:hover span{color:var(--brand-main)}.hy-desktop-menu__button:hover svg{fill:var(--brand-main)}.hy-desktop-menu__button:focus{outline:solid 2px var(--additional-yellow);outline-offset:2px;color:var(--link-blue)}.hy-desktop-menu__button span{pointer-events:none}.hy-desktop-menu__button hy-icon{pointer-events:none;margin-left:4px}.hy-desktop-menu__button hy-icon svg{height:10px;width:10px}.hy-desktop-menu__button[aria-expanded=true] hy-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.is-panel-open .hy-desktop-menu__button:not([aria-expanded=true]){-webkit-box-shadow:none;box-shadow:none}.is-panel-open .hy-desktop-menu__button:not([aria-expanded=true])::after,.is-panel-open .hy-desktop-menu__button:not([aria-expanded=true])::before{display:none}.hy-desktop-menu__button.is-active-trail,.hy-desktop-menu__button[aria-expanded=true]{-webkit-box-shadow:inset 0 -4px 0 0 var(--grayscale-black);box-shadow:inset 0 -4px 0 0 var(--grayscale-black);position:relative}.hy-desktop-menu__button.is-active-trail::after,.hy-desktop-menu__button.is-active-trail::before,.hy-desktop-menu__button[aria-expanded=true]::after,.hy-desktop-menu__button[aria-expanded=true]::before{background-color:var(--grayscale-white);content:\"\";height:5px;width:16px;position:absolute;bottom:-1px;z-index:1000}.hy-desktop-menu__button.is-active-trail::before,.hy-desktop-menu__button[aria-expanded=true]::before{left:-16px}.hy-desktop-menu__button.is-active-trail::after,.hy-desktop-menu__button[aria-expanded=true]::after{right:-16px}.hy-desktop-menu__panel{background-color:var(--grayscale-white);-webkit-transition:none;transition:none;position:absolute;top:0;z-index:100;display:-webkit-box;display:-ms-flexbox;display:flex}.hy-desktop-menu__panel[aria-hidden=true]{display:none;opacity:0}.hy-desktop-menu__panel:not(.is-dropdown){left:0;right:0;width:100%}.hy-desktop-menu__panel.is-dropdown{border:1px solid var(--grayscale-black);left:-17px;top:100%}.hy-desktop-menu__panel-container{margin:0 auto;padding:40px 24px;max-width:120.0625rem;width:100%;display:grid;grid-template-columns:1fr auto 1fr;justify-items:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.is-dropdown .hy-desktop-menu__panel-container{padding:24px 16px 40px}.hy-desktop-menu__panel-menu{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;grid-column-start:2}.hy-desktop-menu__panel-header{display:inline-grid;gap:8px 16px;grid-template-areas:\"icon link\" \"icon description\";grid-template-columns:auto;grid-template-rows:auto;margin-bottom:32px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.is-dropdown .hy-desktop-menu__panel-header{margin-bottom:16px}.hy-desktop-menu__panel-header>hy-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-black);display:-webkit-box;display:-ms-flexbox;display:flex;grid-area:icon;height:40px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:40px}.hy-desktop-menu__panel-header>hy-icon svg{fill:var(--grayscale-white)}.hy-desktop-menu__panel-header a{font-size:1.5625rem;line-height:32px;font-weight:700;color:var(--brand-main);font-family:var(--main-font-family);grid-area:link;letter-spacing:-0.5px;margin-top:4px;text-decoration:none;width:-webkit-max-content;width:-moz-max-content;width:max-content}.hy-desktop-menu__panel-header a:hover{text-decoration:underline}.hy-desktop-menu__panel-header p{font-size:1.0625rem;line-height:26px;font-weight:400;color:var(--grayscale-black);font-family:var(--main-font-family);grid-area:description;margin:0;width:690px}.hy-desktop-menu__panel-content{padding-left:56px;display:inline-grid;grid-template-columns:400px}.hy-desktop-menu__panel-content.has-shortcuts{grid-template-columns:400px 496px}.is-dropdown .hy-desktop-menu__panel-content{grid-template-columns:310px}.hy-desktop-menu__panel-shortcuts{margin-left:48px;padding-left:48px;border-left:1px solid var(--grayscale-medium)}.hy-desktop-menu__panel-shortcuts>h2{font-size:1.125rem;line-height:24px;font-weight:700;color:var(--grayscale-black);font-family:var(--main-font-family);letter-spacing:-0.36px;margin:0 0 24px}.hy-desktop-menu__panel-links{list-style:none;margin:0;padding:0;display:inline-grid;gap:20px}.hy-desktop-menu__panel-link{font-size:1rem;line-height:24px;font-weight:600;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;color:var(--brand-main);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);letter-spacing:-0.5px;overflow:hidden;text-decoration:none}.hy-desktop-menu__panel-link:hover{text-decoration:underline}.hy-desktop-menu__panel-link hy-icon{margin-right:12px;margin-top:12px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.hy-desktop-menu__panel-link hy-icon svg{fill:var(--grayscale-black)}.hy-desktop-menu__panel-link span hy-icon{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important;margin-left:6px;margin-right:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.hy-desktop-menu__panel-link span hy-icon svg{fill:var(--brand-main)}.hy-desktop-menu__panel-close-button{font-size:1rem;line-height:18px;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:none;color:var(--brand-main);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);letter-spacing:-0.3px;padding:16px;margin-left:auto;margin-right:-8px}.hy-desktop-menu__panel-close-button:hover{cursor:pointer}.hy-desktop-menu__panel-close-button hy-icon{margin-left:8px}.hy-desktop-menu__panel-close-button hy-icon svg{fill:var(--brand-main)}";
3412
-
3413
- let scrollTimer$1 = null;
3414
- let resizeTimer = null;
3415
- let keys$3 = {
3416
- enter: 'Enter',
3417
- tab: 'Tab',
3418
- space: 'Space',
3419
- };
3420
- let scrollTimeout$2 = null;
3421
- let resizeTimeout = null;
3422
- let HyDesktopMenuLinks = class {
3423
- constructor(hostRef) {
3424
- index.registerInstance(this, hostRef);
3425
- this.menuDesktopToggled = index.createEvent(this, "menuDesktopToggled", 7);
3426
- /*
3427
- First level menu links to be displayed on Desktop screens.
3428
- * */
3429
- this.isGroup = false;
3430
- this.isDropdown = false;
3431
- this.firstLevelLinksList = [];
3432
- this.menuLinkItems = [];
3433
- this.hasToolbar = false;
3434
- this.isDesktopMenuOpen = false;
3435
- this.currenOpenMenuId = 0;
3436
- this.isNewMenuIdOnHover = false;
3437
- // private _submenuLeftMargin: number = 32;
3438
- this._headerBorderOffset = 0;
3439
- this._hoverTimer = null;
3440
- this._fadeOutTimer = null;
3441
- this._mouseEnter = null;
3442
- this._mouseLeave = null;
3443
- }
3444
- async componentWillLoad() {
3445
- this._dataDesktopLinks = await globalScript.jsonParserWorker(this.dataDesktopLinks);
3446
- }
3447
- disconnectedCallback() {
3448
- clearTimeout(scrollTimer$1);
3449
- clearTimeout(resizeTimer);
3450
- }
3451
- removeBackdropShadow(size) {
3452
- // Close backdrop shadow if the screen is < 1200px
3453
- if (size < 1200) {
3454
- this.showBackdropShadow();
3455
- }
3456
- }
3457
- showBackdropShadow(state = 'close', top = 0) {
3458
- let hyHeader = this.el.closest('.hy-site-header');
3459
- if (!hyHeader)
3460
- return;
3461
- let hyBackdropDiv = hyHeader.children[0];
3462
- if (hyBackdropDiv && !this.isDropdown) {
3463
- if (state === 'open') {
3464
- const windowHeight = window.outerHeight;
3465
- hyBackdropDiv.style.height = `${windowHeight}px`;
3466
- hyBackdropDiv.style.top = `${top}px`;
3467
- hyBackdropDiv.style.position = 'absolute';
3468
- hyBackdropDiv.classList.add('is-active');
3469
- }
3470
- else {
3471
- hyBackdropDiv.removeAttribute('style');
3472
- hyBackdropDiv.classList.remove('is-active');
3473
- }
3474
- }
3475
- }
3476
- showPanel(id) {
3477
- // Close menu lang menu if it's open
3478
- this.menuDesktopToggled.emit();
3479
- clearTimeout(this._hoverTimer);
3480
- clearTimeout(this._fadeOutTimer);
3481
- // Open desktop menu panel
3482
- this.isDesktopMenuOpen = true;
3483
- const menuItems = this.el.shadowRoot.querySelectorAll(`.hy-desktop-menu__button`);
3484
- const menuPanelItems = this.el.shadowRoot.querySelectorAll('.hy-desktop-menu__panel'); // all panels
3485
- const activeMenuItem = this.el.shadowRoot.querySelector(`.hy-desktop-menu__button[link-id="${id}"]`);
3486
- const activeMenuItemSibling = activeMenuItem.nextElementSibling; // current panel
3487
- // Reset elements by removing the active classes.
3488
- menuItems.forEach((item) => {
3489
- item.setAttribute('aria-expanded', 'false');
3490
- });
3491
- menuPanelItems.forEach((item) => {
3492
- item.setAttribute('aria-hidden', 'true');
3493
- item.style.transition = 'none';
3494
- item.style.opacity = '0';
3495
- });
3496
- // Set active attributes to currently active panel.
3497
- activeMenuItem.setAttribute('aria-expanded', 'true');
3498
- activeMenuItemSibling.style.opacity = '1';
3499
- if (this.hasToolbar) {
3500
- activeMenuItemSibling.classList.add('has-toolbar');
3501
- }
3502
- activeMenuItemSibling.setAttribute('aria-hidden', 'false');
3503
- // Add panels top value automatically with the correct header height
3504
- let topOffset = window.pageYOffset;
3505
- const bodyElementClasses = document.body.classList;
3506
- const headerElement = document.querySelector('hy-site-header');
3507
- const headerShadowRootElement = headerElement.shadowRoot.querySelector('header');
3508
- let headerElementHeight = headerShadowRootElement.offsetHeight + this._headerBorderOffset;
3509
- let headerElementOffset = headerShadowRootElement.offsetTop;
3510
- let panelElementOffset = headerElementHeight + headerElementOffset;
3511
- // Add shadow backdrop
3512
- let rect = activeMenuItemSibling.getBoundingClientRect();
3513
- let backdropOffset = headerElementHeight + headerElementOffset + rect.height;
3514
- let backdropToolbarOffset = backdropOffset - 79;
3515
- if (!this.isDropdown) {
3516
- window.addEventListener('scroll', () => {
3517
- clearTimeout(scrollTimeout$2);
3518
- scrollTimeout$2 = setTimeout(() => {
3519
- topOffset = window.pageYOffset;
3520
- if (topOffset === 0) {
3521
- activeMenuItemSibling.style.top = `${panelElementOffset}px`;
3522
- }
3523
- if (headerShadowRootElement.classList.contains('hy-site-header--sticky-active') && topOffset > 0) {
3524
- if (bodyElementClasses.contains('toolbar-horizontal')) {
3525
- activeMenuItemSibling.style.top = `${headerElementHeight}px`;
3526
- if (this.isDesktopMenuOpen) {
3527
- this.showBackdropShadow('open', backdropToolbarOffset);
3528
- }
3529
- }
3530
- }
3531
- }, 250);
3532
- });
3533
- }
3534
- if (!this.isDropdown) {
3535
- if (headerShadowRootElement.classList.contains('hy-site-header--sticky-active') && topOffset > 0) {
3536
- if (bodyElementClasses.contains('toolbar-horizontal')) {
3537
- activeMenuItemSibling.style.top = `${headerElementHeight}px`;
3538
- if (this.isDesktopMenuOpen) {
3539
- this.showBackdropShadow('open', backdropToolbarOffset);
3540
- }
3541
- }
3542
- else {
3543
- activeMenuItemSibling.style.top = `${panelElementOffset}px`;
3544
- this.showBackdropShadow('open', backdropOffset);
3545
- }
3546
- }
3547
- else {
3548
- activeMenuItemSibling.style.top = `${panelElementOffset}px`;
3549
- this.showBackdropShadow('open', backdropOffset);
3550
- }
3551
- }
3552
- if (this.isDropdown) {
3553
- let windowWidth = window.outerWidth;
3554
- const desktopMenuPanelWidth = activeMenuItemSibling.offsetWidth;
3555
- if (windowWidth - activeMenuItem.getBoundingClientRect().left < desktopMenuPanelWidth) {
3556
- activeMenuItemSibling.style.left = `auto`;
3557
- activeMenuItemSibling.style.right = `-17px`;
3558
- }
3559
- window.addEventListener('resize', () => {
3560
- clearTimeout(resizeTimeout);
3561
- resizeTimeout = setTimeout(() => {
3562
- windowWidth = window.outerWidth;
3563
- if (windowWidth - activeMenuItem.getBoundingClientRect().left < desktopMenuPanelWidth) {
3564
- activeMenuItemSibling.style.left = `auto`;
3565
- activeMenuItemSibling.style.right = `-17px`;
3566
- }
3567
- else {
3568
- activeMenuItemSibling.style.left = `-17px`;
3569
- activeMenuItemSibling.style.right = `auto`;
3570
- }
3571
- }, 250);
3572
- });
3573
- }
3574
- }
3575
- closePanel(fadeOut = false) {
3576
- this.isDesktopMenuOpen = false;
3577
- this.isNewMenuIdOnHover = false;
3578
- this.currenOpenMenuId = 0;
3579
- this.showBackdropShadow();
3580
- this.clearPanelItemsStatus(fadeOut);
3581
- clearTimeout(this._hoverTimer);
3582
- }
3583
- clearPanelItemsStatus(fadeOut = false) {
3584
- const menuItems = this.el.shadowRoot.querySelectorAll(`.hy-desktop-menu__button`);
3585
- const menuPanelItems = this.el.shadowRoot.querySelectorAll('.hy-desktop-menu__panel');
3586
- // Reset elements by removing the active classes.
3587
- menuItems.forEach((item) => {
3588
- // item.classList.remove('desktop-menu-link--is-active');
3589
- item.setAttribute('aria-expanded', 'false');
3590
- });
3591
- if (fadeOut) {
3592
- menuPanelItems.forEach((item) => {
3593
- item.style.opacity = '0';
3594
- item.style.transition = 'opacity 1s';
3595
- });
3596
- this._fadeOutTimer = window.requestAnimationFrame(() => {
3597
- menuPanelItems.forEach((item) => {
3598
- // item.classList.remove('hy-desktop-menu-panel--is-active');
3599
- item.setAttribute('aria-hidden', 'true');
3600
- });
3601
- });
3602
- }
3603
- else {
3604
- menuPanelItems.forEach((item) => {
3605
- // item.classList.remove('hy-desktop-menu-panel--is-active');
3606
- item.setAttribute('aria-hidden', 'true');
3607
- item.style.opacity = '0';
3608
- item.style.transition = 'none';
3609
- });
3610
- }
3611
- }
3612
- handleDesktopMenuClose(event) {
3613
- let fadeOut = true;
3614
- this.closePanel(fadeOut);
3615
- event.stopPropagation();
3616
- }
3617
- // CLose the desktop menu panel if user opens the language menu.
3618
- menuLanguageToggled() {
3619
- let fadeOut = true;
3620
- this.closePanel(fadeOut);
3621
- }
3622
- // Close the desktop menu panel if user opens University main menu
3623
- universityMainMenuPanelToggled() {
3624
- let fadeOut = true;
3625
- this.closePanel(fadeOut);
3626
- }
3627
- // Close the desktop menu panel if user opens search panel
3628
- searchPanelToggled() {
3629
- let fadeOut = true;
3630
- this.closePanel(fadeOut);
3631
- }
3632
- // CLose the desktop menu panel if user scrolls Sticky Header till the very top.
3633
- headerScrollUp() {
3634
- let fadeOut = false;
3635
- this.closePanel(fadeOut);
3636
- }
3637
- handleDesktopMenuEnter(event, id) {
3638
- if (this.isDesktopMenuOpen && this._mouseEnter == null) {
3639
- clearTimeout(this._mouseLeave);
3640
- this._mouseLeave = null;
3641
- this._mouseEnter = setTimeout(() => {
3642
- this.isNewMenuIdOnHover = true;
3643
- clearTimeout(this._fadeOutTimer);
3644
- const activeMenuItem = this.el.shadowRoot.querySelector(`.hy-desktop-menu__button[link-id="${id}"]`);
3645
- // Set focus to the button.
3646
- if (activeMenuItem !== null)
3647
- activeMenuItem.focus();
3648
- this.currenOpenMenuId = id;
3649
- this.showPanel(id);
3650
- event.stopPropagation();
3651
- }, 500);
3652
- }
3653
- }
3654
- handleDesktopMenuLeave() {
3655
- clearTimeout(this._mouseEnter);
3656
- this._mouseEnter = null;
3657
- }
3658
- handleWindowClick(event) {
3659
- // Check if event is being fired during pressing a key (event.detail==0 in this case)
3660
- if (event.detail == 0)
3661
- return;
3662
- if (this.isDesktopMenuOpen) {
3663
- this.handleDesktopMenuClose(event);
3664
- event.stopPropagation();
3665
- }
3666
- }
3667
- handleDesktopMenuClick(event, id) {
3668
- // Check if event is being fired during pressing a key (event.detail==0 in this case)
3669
- if (event.detail == 0)
3670
- return;
3671
- event.stopPropagation();
3672
- if (!this.isDesktopMenuOpen) {
3673
- this.currenOpenMenuId = id;
3674
- this.showPanel(id);
3675
- }
3676
- else if (this.isDesktopMenuOpen) {
3677
- this.handleDesktopMenuClose(event);
3678
- }
3679
- if (this.isNewMenuIdOnHover) {
3680
- this.isNewMenuIdOnHover = false;
3681
- }
3682
- }
3683
- handleKeyDown(event, id) {
3684
- event.stopPropagation();
3685
- const key = event.code;
3686
- if ([keys$3.enter, keys$3.space].includes(key)) {
3687
- if (!this.isDesktopMenuOpen) {
3688
- this.currenOpenMenuId = id;
3689
- this.showPanel(id);
3690
- }
3691
- else {
3692
- this.handleDesktopMenuClose(event);
3693
- }
3694
- }
3695
- }
3696
- componentDidLoad() {
3697
- // Set the browser resize observer to gather information about browser width.
3698
- this.ro = new ResizeObserver$1((entries) => {
3699
- for (const entry of entries) {
3700
- this.removeBackdropShadow(entry.contentRect.width);
3701
- }
3702
- });
3703
- this.ro.observe(document.body);
3704
- let hyToolbar = document.querySelectorAll('#toolbar-administration')[0];
3705
- if (hyToolbar) {
3706
- this.hasToolbar = true;
3707
- }
3708
- const links = this._dataDesktopLinks;
3709
- let menuLinkItems = [];
3710
- if (links) {
3711
- links.map(({ menuLinkId: id, shortcuts, items, url, description, toggleOff, label, labelExtra, isExternal, isActive, shortcutsTitle, closeButtonTitle, }) => {
3712
- let target = isExternal ? '_blank' : '_self';
3713
- const isLabelLong = label.split(' ').length >= 3 ? true : false;
3714
- let customizedLabel = [];
3715
- if (isLabelLong && !this.isGroup) {
3716
- customizedLabel = label.split(' ');
3717
- customizedLabel.splice(2, 0, '</br>');
3718
- }
3719
- if (toggleOff) {
3720
- menuLinkItems.push(index.h("li", { onMouseEnter: (e) => this.handleDesktopMenuClose(e), class: `hy-desktop-menu__item ${isActive === 'true' ? 'is-active-trail' : ''}` }, index.h("a", { "aria-current": label, href: url, target: target, class: `hy-desktop-menu__button ${isLabelLong && !this.isGroup ? 'is-long' : ''}`, "menu-link-id": id }, labelExtra ? index.h("span", { class: "label" }, labelExtra) : index.h("span", { class: "label" }, label))));
3721
- }
3722
- else {
3723
- menuLinkItems.push(index.h("li", { class: "hy-desktop-menu__item" }, index.h("button", { tabindex: "0", type: "button", class: `hy-desktop-menu__button ${isActive === 'true' ? 'is-active-trail' : ''} ${isLabelLong && !this.isGroup ? 'is-long' : ''}`, "link-id": id, onClick: (e) => this.handleDesktopMenuClick(e, id), onKeyDown: (e) => this.handleKeyDown(e, id), onMouseEnter: (e) => this.handleDesktopMenuEnter(e, id), onMouseLeave: () => this.handleDesktopMenuLeave(), "aria-expanded": "false" }, index.h("span", { innerHTML: isLabelLong && !this.isGroup ? customizedLabel.join(' ') : label }), index.h("hy-icon", { icon: 'hy-icon-caret-down', size: 32 })), index.h("section", { class: `hy-desktop-menu__panel ${this.isDropdown ? 'is-dropdown' : ''}`, "aria-hidden": "true" }, index.h("div", { class: "hy-desktop-menu__panel-container" }, index.h("div", { class: "hy-desktop-menu__panel-menu" }, index.h("div", { class: "hy-desktop-menu__panel-header" }, index.h("hy-icon", { icon: 'hy-icon-arrow-right', size: 24 }), index.h("a", { "aria-current": label, href: url, target: target, "menu-link-id": id }, labelExtra || label), description && !this.isDropdown && index.h("p", null, description)), index.h("div", { class: `hy-desktop-menu__panel-content ${shortcuts.length > 0 ? 'has-shortcuts' : ''}` }, index.h("ul", { class: 'hy-desktop-menu__panel-links hy-desktop-menu__panel-links--menu', "menu-link-id": id }, items.map(({ label, url, isExternal }) => {
3724
- let subitemTarget = isExternal ? '_blank' : '_self';
3725
- return (index.h("li", { class: "hy-desktop-menu__panel-links-item" }, index.h("a", { class: "hy-desktop-menu__panel-link", href: url, target: subitemTarget }, index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 10 }), index.h("span", null, label, isExternal && index.h("hy-icon", { icon: 'hy-icon-arrow-right', size: 12 })))));
3726
- })), shortcuts.length > 0 && (index.h("div", { class: "hy-desktop-menu__panel-shortcuts" }, index.h("h2", null, shortcutsTitle), index.h("ul", { class: "hy-desktop-menu__panel-links hy-desktop-menu__panel-links--shortcuts" }, shortcuts.map(({ shortcut_title, shortcut_url, shortcut_is_external, shortcut_aria_label }) => {
3727
- let target = shortcut_is_external ? '_blank' : '_self';
3728
- return (index.h("li", { class: "hy-desktop-menu__panel-links-item" }, index.h("a", { "aria-current": shortcut_aria_label, href: shortcut_url, class: "hy-desktop-menu__panel-link", target: target, "aria-label": shortcut_aria_label }, index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 10 }), index.h("span", null, shortcut_title, shortcut_is_external && index.h("hy-icon", { icon: 'hy-icon-arrow-right', size: 12 })))));
3729
- })))))), !this.isDropdown && (index.h("button", { onClick: (e) => this.handleDesktopMenuClose(e), class: {
3730
- 'hy-desktop-menu__panel-close-button': true,
3731
- }, "aria-label": "Close menu" }, index.h("span", null, closeButtonTitle), index.h("hy-icon", { icon: 'hy-icon-remove', size: 16 })))))));
3732
- }
3733
- });
3734
- }
3735
- this.menuLinkItems = menuLinkItems;
3736
- }
3737
- render() {
3738
- return (index.h("nav", { role: 'navigation', class: `hy-site-header__menu-desktop ${this.isGroup ? 'is-group' : ''} ${this.isDropdown ? 'is-dropdown' : ''}` }, index.h("ul", { class: `hy-desktop-menu ${this.isDesktopMenuOpen ? 'is-panel-open' : ''}` }, this.menuLinkItems)));
3739
- }
3740
- get el() { return index.getElement(this); }
3741
- };
3742
- HyDesktopMenuLinks.style = hyDesktopMenuLinksCss;
3743
-
3744
- const hyDropdownCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-dropdown{display:inline-block;min-width:100%;position:relative}@media (min-width: 30rem){.hy-dropdown{min-width:48.3%}}@media (min-width: 75.0625rem){.hy-dropdown{min-width:23.03%}}.hy-dropdown label.hy-dropdown__button-label{font-size:1rem;line-height:20px;font-weight:700;display:block;font-family:var(--main-font-family);letter-spacing:-0.32px;margin-bottom:8px}.hy-dropdown--single .hy-dropdown__panel{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:330px;min-width:100%}.hy-dropdown__toggle{font-size:0.875rem;line-height:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-white);border-radius:0;border:1px solid var(--grayscale-medium-dark);color:var(--link-blue);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:600;min-height:40px;height:auto;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;letter-spacing:normal;padding:0 0 0 16px;text-align:left;max-width:280px;width:100%}@media (min-width: 30rem){.hy-dropdown__toggle{font-size:1rem;line-height:24px;min-height:44px}}@media (min-width: 75.0625rem){.hy-dropdown__toggle{min-height:48px}}.hy-dropdown__toggle:hover{border-color:var(--brand-main-light);cursor:pointer}.hy-dropdown__toggle:focus{border-color:var(--brand-main-light);border-style:solid inset solid solid;border-width:2px;outline:0;text-indent:-1px}.hy-dropdown__toggle svg{pointer-events:none}.hy-dropdown__toggle.is-open .hy-dropdown__icon{background-color:var(--brand-main-light);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.hy-dropdown__toggle.is-open .hy-dropdown__icon::before{display:none}.hy-dropdown__toggle.is-open .hy-dropdown__icon svg{fill:var(--grayscale-white)}.hy-dropdown__icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0;height:40px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 0 0 16px;position:relative;width:40px}.hy-dropdown__icon::before{border-left:0.5px solid var(--grayscale-medium-dark);content:\"\";display:inline-block;height:65%;left:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}@media (min-width: 30rem){.hy-dropdown__icon{height:44px;width:44px}}@media (min-width: 75.0625rem){.hy-dropdown__icon{height:48px;width:48px}}.hy-dropdown__icon svg{fill:var(--link-blue)}@media (min-width: 30rem){.hy-dropdown__icon svg{height:16px;width:16px}}.hy-dropdown__panel{background-color:var(--grayscale-white);-webkit-box-shadow:0 10px 20px 0 rgba(0, 49, 70, 0.2);box-shadow:0 10px 20px 0 rgba(0, 49, 70, 0.2);list-style:none;margin:0;padding:6px;position:absolute;width:100%;z-index:11}.hy-dropdown__panel.is-hidden{display:none;visibility:hidden}.hy-dropdown__panel-item{position:relative}.hy-dropdown__panel-item:not(.is-last){margin-bottom:6px}.hy-dropdown__label{font-size:0.875rem;line-height:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-white);border-radius:0;border:1px solid var(--grayscale-medium-dark);color:var(--link-blue);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:600;min-height:40px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;letter-spacing:normal;padding:0 16px;text-align:left;width:100%}@media (min-width: 30rem){.hy-dropdown__label{font-size:1rem;line-height:24px}}.hy-dropdown__label-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none !important;-ms-flex-negative:0;flex-shrink:0;height:40px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;visibility:hidden;width:40px}.hy-dropdown__checkbox{height:100%;margin:0;opacity:0;position:absolute;width:100%;z-index:10}.hy-dropdown__checkbox:checked+label{border-color:var(--grayscale-black);border-style:solid inset solid solid;border-width:2px;color:var(--grayscale-black);outline:0;text-indent:-1px}.hy-dropdown__checkbox:checked+label .hy-dropdown__label-icon{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important;visibility:visible}.hy-dropdown__checkbox:hover{cursor:pointer}.hy-dropdown__checkbox:hover+label{border-color:var(--brand-main-light)}.hy-dropdown__checkbox:focus+label{border-color:var(--brand-main-light);border-style:solid inset solid solid;border-width:2px;outline:0;text-indent:-1px}";
3745
-
3746
- let HyDropdown = class {
3747
- constructor(hostRef) {
3748
- index.registerInstance(this, hostRef);
3749
- this.single = false;
3750
- this.dropdownLabel = null;
3751
- this.dropdownId = 'dropdownToggle';
3752
- this.defaultLabel = 'All';
3753
- this.defaultOption = null;
3754
- this.isPanelOpen = false;
3755
- this.isChecked = false;
3756
- this.currentSingle = [{ id: 0, label: this.defaultLabel, value: 0 }];
3757
- }
3758
- async componentWillLoad() {
3759
- this._dropdownOptions = await globalScript.jsonParserWorker(this.dropdownOptions);
3760
- }
3761
- componentWillUpdate() {
3762
- const items = this.el.querySelectorAll('.hy-dropdown__checkbox');
3763
- if (items) {
3764
- if ([...items].some((item) => item.checked == true)) {
3765
- this.isChecked = true;
3766
- }
3767
- else {
3768
- this.isChecked = false;
3769
- }
3770
- }
3771
- }
3772
- watchPropHandler(newValue, oldValue) {
3773
- if (!this.single)
3774
- return;
3775
- if (newValue !== oldValue) {
3776
- const dropdownPanelCheckboxElements = this.el.getElementsByClassName('hy-dropdown__checkbox');
3777
- Array.from(dropdownPanelCheckboxElements).filter((item) => {
3778
- if (item.id == newValue) {
3779
- item.checked = true;
3780
- this.currentSingle = this._dropdownOptions.filter((option) => option.id == newValue);
3781
- return;
3782
- }
3783
- return null;
3784
- });
3785
- }
3786
- }
3787
- handlePanelToggle() {
3788
- this.isPanelOpen = !this.isPanelOpen;
3789
- }
3790
- handleClick(event) {
3791
- const dropdownToggleButtonElement = this.el.querySelector(`#${this.dropdownId}`);
3792
- const dropdownPanelElement = this.el.querySelector('.hy-dropdown__panel');
3793
- const dropdownPanelCheckboxElements = this.el.querySelectorAll('.hy-dropdown__checkbox');
3794
- const dropdownToggleButtonIconElement = this.el.querySelector('.hy-dropdown__icon');
3795
- const { target } = event;
3796
- const allowedElements = [
3797
- dropdownToggleButtonElement,
3798
- dropdownPanelElement,
3799
- dropdownToggleButtonIconElement,
3800
- ...dropdownPanelCheckboxElements, // Spread ("copy") items to allowedElement array.
3801
- ];
3802
- if (this.isPanelOpen && !allowedElements.includes(target)) {
3803
- this.isPanelOpen = false;
3804
- }
3805
- event.stopPropagation();
3806
- }
3807
- handleSingleClick(event) {
3808
- if (!this.single || !this.isPanelOpen)
3809
- return;
3810
- const dropdownPanelCheckboxElements = this.el.getElementsByClassName('hy-dropdown__checkbox');
3811
- const allowedElements = [...dropdownPanelCheckboxElements];
3812
- const { target } = event;
3813
- if (!allowedElements.includes(target))
3814
- return;
3815
- Array.from(dropdownPanelCheckboxElements).filter((item) => {
3816
- if (item.id == target.id) {
3817
- if (!item.checked) {
3818
- this.currentSingle = [{ id: null, label: this.defaultLabel, value: null }];
3819
- return;
3820
- }
3821
- this.currentSingle = this._dropdownOptions.filter((option) => option.id == target.id);
3822
- return;
3823
- }
3824
- if (item.id !== target.id && item.checked) {
3825
- item.checked = false;
3826
- return;
3827
- }
3828
- return null;
3829
- });
3830
- event.stopPropagation();
3831
- }
3832
- render() {
3833
- const { label: currentLabel, id: currentId, value: currentValue } = this.currentSingle[0];
3834
- const classAttributes = ['hy-dropdown', this.single ? 'hy-dropdown--single' : ''].join(' ');
3835
- if (this.single) {
3836
- return (index.h(index.Host, { class: classAttributes }, this.dropdownLabel && (index.h("label", { class: "hy-dropdown__button-label", htmlFor: this.dropdownId }, this.dropdownLabel)), index.h("button", { id: this.dropdownId, class: `hy-dropdown__toggle ${this.isPanelOpen ? 'is-open' : ''}`, "aria-expanded": `${this.isPanelOpen || false}`, "aria-haspopup": "true", "aria-controls": "dropdownPanel", onClick: () => this.handlePanelToggle(), "aria-label": `${!this.isPanelOpen ? 'Open' : 'Close'} dropdown`, "data-current-id": currentId, "data-current-value": currentValue, value: currentId, type: "button" }, currentLabel, index.h("hy-icon", { class: "hy-dropdown__icon", icon: 'hy-icon-caret-down', size: 14, "aria-hidden": "true" })), index.h("hy-dropdown-panel", { "checkbox-checked": this.isChecked ? 'true' : 'false', "is-hidden": !this.isPanelOpen }, this._dropdownOptions.map(({ id, label, value }, index$1) => (index.h("hy-dropdown-panel-item", { "dropdown-item-id": id, "dropdown-item-label": label, "dropdown-item-value": value, "is-last": this._dropdownOptions.length - 1 === index$1 }))))));
3837
- }
3838
- else {
3839
- return (index.h(index.Host, { class: classAttributes }, index.h("button", { id: this.dropdownId, class: `hy-dropdown__toggle ${this.isPanelOpen ? 'is-open' : ''}`, "aria-expanded": `${this.isPanelOpen || false}`, "aria-haspopup": "true", "aria-controls": "dropdownPanel", onClick: () => this.handlePanelToggle(), "aria-label": `${!this.isPanelOpen ? 'Open' : 'Close'} dropdown`, type: "button" }, this.dropdownLabel && this.dropdownLabel, index.h("hy-icon", { class: "hy-dropdown__icon", icon: 'hy-icon-caret-down', size: 14, "aria-hidden": "true" })), index.h("hy-dropdown-panel", { "checkbox-checked": this.isChecked ? 'true' : 'false', "is-hidden": !this.isPanelOpen }, this._dropdownOptions.map(({ id, label, value }, index$1) => (index.h("hy-dropdown-panel-item", { "dropdown-item-id": id, "dropdown-item-label": label, "dropdown-item-value": value, "is-last": this._dropdownOptions.length - 1 === index$1 }))))));
3840
- }
3841
- }
3842
- get el() { return index.getElement(this); }
3843
- static get watchers() { return {
3844
- "defaultOption": ["watchPropHandler"]
3845
- }; }
3846
- };
3847
- HyDropdown.style = hyDropdownCss;
3848
-
3849
- let HyDropdownPanel = class {
3850
- constructor(hostRef) {
3851
- index.registerInstance(this, hostRef);
3852
- }
3853
- render() {
3854
- return (index.h("ul", { id: "dropdownPanel", class: `hy-dropdown__panel ${this.isHidden ? 'is-hidden' : ''}`, "aria-hidden": `${this.isHidden || false}`, role: "region", "aria-labelledby": "dropdownToggle" }, index.h("slot", null)));
3855
- }
3856
- };
3857
-
3858
- let HyDropdownPanelItem = class {
3859
- constructor(hostRef) {
3860
- index.registerInstance(this, hostRef);
3861
- this.isLast = false;
3862
- }
3863
- render() {
3864
- return (index.h("li", { class: `hy-dropdown__panel-item ${this.isLast ? 'is-last' : ''}` }, index.h("input", { type: "checkbox", class: "hy-dropdown__checkbox", id: `${this.dropdownItemId}`, value: `${this.dropdownItemValue}` }), index.h("label", { class: "hy-dropdown__label", htmlFor: `${this.dropdownItemId}` }, this.dropdownItemLabel, index.h("hy-icon", { class: "hy-dropdown__label-icon", icon: 'hy-icon-done', size: 14, "aria-hidden": "true" }))));
3865
- }
3866
- };
3867
-
3868
- const hyFilterGroupCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-filter-group{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:16px}.hy-filter-group__listing{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:0;padding:0}.hy-filter-group__label{font-size:0.75rem;line-height:16px;border-radius:2px;color:var(--grayscale-dark);font-family:var(--main-font-family);font-weight:normal;letter-spacing:-0.2px;margin:8px 4px 8px 0;padding:4px 0}@media (min-width: 30rem){.hy-filter-group__label{font-size:0.875rem;line-height:16px;letter-spacing:-0.3px;padding:6px 0}}.hy-filter-group__button{font-size:0.75rem;line-height:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-background-box);border-radius:2px;border:0;color:var(--grayscale-dark);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:normal;letter-spacing:-0.2px;margin:8px 4px;padding:4px 6px}@media (min-width: 30rem){.hy-filter-group__button{font-size:0.875rem;line-height:16px;letter-spacing:-0.3px;padding:6px 8px}}.hy-filter-group__button:hover{cursor:pointer}.hy-filter-group__button-icon{margin-left:6px}@media (min-width: 30rem){.hy-filter-group__button-icon{margin-left:8px}}.hy-filter-group__button-icon svg{pointer-events:none}@media (min-width: 30rem){.hy-filter-group__button-icon svg{height:12px;width:12px}}.hy-filter-group__divider{font-size:0.75rem;line-height:16px;color:var(--grayscale-dark);font-family:var(--main-font-family);margin:4px 6px}@media (min-width: 30rem){.hy-filter-group__divider{font-size:0.875rem;line-height:16px;letter-spacing:-0.3px}}";
3869
-
3870
- let HyFilterGroup = class {
3871
- constructor(hostRef) {
3872
- index.registerInstance(this, hostRef);
3873
- }
3874
- arrayDataWatcher(newValue) {
3875
- if (typeof newValue === 'string') {
3876
- this._filterGroupFilters = JSON.parse(newValue);
3877
- }
3878
- else {
3879
- this._filterGroupFilters = newValue;
3880
- }
3881
- }
3882
- componentWillLoad() {
3883
- this.arrayDataWatcher(this.filterGroupFilters);
3884
- }
3885
- // TODO: Finish handleFilterDeselect functionality with real data.
3886
- handleFilterDeselect(id) {
3887
- console.log(id);
3888
- }
3889
- render() {
3890
- return (index.h(index.Host, { class: "hy-filter-group" }, index.h("ul", { class: "hy-filter-group__listing" }, index.h("li", null, index.h("h3", { class: "hy-filter-group__label" }, this.filterGroupLabel)), this._filterGroupFilters.map(({ id, label }) => (index.h("hy-filter-group-item", { "filter-group-item-id": id, "filter-group-item-label": label, onClick: () => this.handleFilterDeselect(id) }))))));
3891
- }
3892
- static get watchers() { return {
3893
- "filterGroupFilters": ["arrayDataWatcher"]
3894
- }; }
3895
- };
3896
- HyFilterGroup.style = hyFilterGroupCss;
3897
-
3898
- let HyFilterGroupItem = class {
3899
- constructor(hostRef) {
3900
- index.registerInstance(this, hostRef);
3901
- }
3902
- render() {
3903
- return (index.h("li", { class: "hy-filter-group__filter" }, index.h("button", { type: "button", class: "hy-filter-group__button", "aria-label": `Deselect ${this.filterGroupItemLabel}` }, this.filterGroupItemLabel, index.h("hy-icon", { class: "hy-filter-group__button-icon", icon: 'hy-icon-remove', size: 10, "aria-hidden": "true", fill: utils.ColorVariant.grey_dark })), index.h("slot", null)));
3904
- }
3905
- };
3906
-
3907
- const hyFilterListTypeCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-filter__list-type{display:none}@media (min-width: 60rem){.hy-filter__list-type{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-family:var(--main-font-family)}}@media (min-width: 60rem){.hy-filter__list-type span{font-size:0.875rem;line-height:18px;font-weight:600;color:var(--grayscale-black);letter-spacing:-0.5px;text-align:right}}@media (min-width: 1601px){.hy-filter__list-type span{font-size:1rem;line-height:20px}}.hy-filter__list-type__list{background:var(--grayscale-background-box);border:none;margin:0 8px;padding:10px}.hy-filter__list-type__list svg{background-color:var(--grayscale-background-box);fill:var(--brand-main-light)}.hy-filter__list-type__list.is-active{background:white;border:black 1px solid}.hy-filter__list-type__list.is-active svg{background-color:var(--grayscale-white);fill:var(--grayscale-black)}.hy-filter__list-type__list:hover{cursor:pointer}.hy-filter__list-type__grid{background:var(--grayscale-background-box);border:none;padding:10px}.hy-filter__list-type__grid svg{background-color:var(--grayscale-background-box);fill:var(--brand-main-light)}.hy-filter__list-type__grid.is-active{background:white;border:black 1px solid}.hy-filter__list-type__grid.is-active svg{background-color:var(--grayscale-white);fill:var(--grayscale-black)}.hy-filter__list-type__grid:hover{cursor:pointer}";
3908
-
3909
- let HyFilterListType = class {
3910
- constructor(hostRef) {
3911
- index.registerInstance(this, hostRef);
3912
- }
3913
- render() {
3914
- return (index.h("div", { class: "hy-filter__list-type" }, index.h("span", null, this.filterLabel), index.h("button", { type: "button", class: {
3915
- 'hy-filter-item': true,
3916
- 'hy-filter__list-type__list': true,
3917
- 'is-active': this.filterValue == utils.ListStyleVariants.list,
3918
- }, "aria-label": `${this.filterLabel}--list` }, index.h("hy-icon", { class: "hy-filter-group__button-icon", icon: 'hy-icon-list-style-list', size: 16, "aria-hidden": "true" })), index.h("button", { type: "button", class: {
3919
- 'hy-filter-item': true,
3920
- 'hy-filter__list-type__grid': true,
3921
- 'is-active': this.filterValue == utils.ListStyleVariants.grid,
3922
- }, "aria-label": `${this.filterLabel}--grid` }, index.h("hy-icon", { class: "hy-filter-group__button-icon", icon: 'hy-icon-list-style-grid', size: 16, "aria-hidden": "true" }))));
3923
- }
3924
- };
3925
- HyFilterListType.style = hyFilterListTypeCss;
3926
-
3927
- const hyFilterVisibilityToolCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-filter-visibility-tool{font-size:0.875rem;line-height:20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:0;color:var(--link-blue);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.35px;padding:0;margin-right:1rem}@media (min-width: 30rem){.hy-filter-visibility-tool{font-size:1rem;line-height:20px;letter-spacing:-0.5px}}.hy-filter-visibility-tool:hover{color:var(--brand-main);cursor:pointer}.hy-filter-visibility-tool:hover svg{fill:var(--brand-main)}.hy-filter-visibility-tool:focus{color:var(--brand-main);outline-offset:1px;outline:2px solid var(--brand-main)}.hy-filter-visibility-tool:focus svg{fill:var(--brand-main)}.hy-filter-visibility-tool__icon{-ms-flex-negative:0;flex-shrink:0;margin-right:6px}.hy-filter-visibility-tool__icon svg{fill:var(--link-blue)}@media (min-width: 30rem){.hy-filter-visibility-tool__icon svg{height:16px;width:16px}}";
3928
-
3929
- let HyFilterVisibilityTool = class {
3930
- constructor(hostRef) {
3931
- index.registerInstance(this, hostRef);
3932
- }
3933
- render() {
3934
- switch (this.filterVisibilityToolType) {
3935
- case 'toggle':
3936
- return (index.h(index.Host, null, index.h("hy-filter-visibility-tool-toggle", null)));
3937
- case 'reset':
3938
- return (index.h(index.Host, null, index.h("hy-filter-visibility-tool-reset", null)));
3939
- }
3940
- }
3941
- };
3942
- HyFilterVisibilityTool.style = hyFilterVisibilityToolCss;
3943
-
3944
- let HyFilterVisibilityToolReset = class {
3945
- constructor(hostRef) {
3946
- index.registerInstance(this, hostRef);
3947
- }
3948
- render() {
3949
- return (index.h("button", { class: "hy-filter-visibility-tool hy-filter-visibility-tool--reset", type: "button" }, index.h("hy-icon", { class: "hy-filter-visibility-tool__icon", icon: 'hy-icon-remove', size: 14, "aria-hidden": "true" }), "Reset filters"));
3950
- }
3951
- };
3952
-
3953
- let HyFilterVisibilityToolToggle = class {
3954
- constructor(hostRef) {
3955
- index.registerInstance(this, hostRef);
3956
- }
3957
- render() {
3958
- return (index.h(index.Host, null, index.h("button", { class: "hy-filter-visibility-tool hy-filter-visibility-tool--show-more", type: "button" }, index.h("hy-icon", { class: "hy-filter-visibility-tool__icon", icon: 'hy-icon-plus', size: 12, "aria-hidden": "true" }), "Show more filters"), index.h("button", { class: "hy-filter-visibility-tool hy-filter-visibility-tool--show-less", type: "button" }, index.h("hy-icon", { class: "hy-filter-visibility-tool__icon", icon: 'hy-icon-minus', size: 12, "aria-hidden": "true" }), "Show less filters")));
3959
- }
3960
- };
3961
-
3962
- const hyFooterCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-footer{display:block}";
3963
-
3964
- let HyFooter = class {
3965
- constructor(hostRef) {
3966
- index.registerInstance(this, hostRef);
3967
- }
3968
- render() {
3969
- const classAttributes = ['hy-footer'];
3970
- return (index.h("footer", { class: classAttributes.join(' ') }, index.h("slot", null)));
3971
- }
3972
- };
3973
- HyFooter.style = hyFooterCss;
3974
-
3975
- const hyFooterActionCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-footer-action{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid var(--grayscale-medium-dark);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:8px 16px 16px 16px;place-content:center space-between;width:100%}@media (min-width: 30rem){.hy-footer-action{margin:0 auto;max-width:120.0625rem;padding:16px 24px 16px 24px}}@media (min-width: 60rem){.hy-footer-action{padding:16px 32px 24px 32px}}.hy-footer-action__updated-text{font-size:0.875rem;line-height:24px;color:var(--grayscale-dark);font-family:var(--main-font-family);letter-spacing:0}@media (min-width: 30rem){.hy-footer-action__updated-text{font-size:1rem;line-height:24px}}.hy-footer-action__scroll-up{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.hy-footer-action__scroll-up .hy-footer-action__up-button{background-color:var(--brand-main-light);border:0;-webkit-box-shadow:0 2px 8px 0 rgba(0, 0, 0, 0.05);box-shadow:0 2px 8px 0 rgba(0, 0, 0, 0.05);padding:8px}.hy-footer-action__scroll-up .hy-footer-action__up-button:hover{cursor:pointer}.hy-footer-action__scroll-up label{font-size:1rem;line-height:24px;color:var(--grayscale-dark);font-family:var(--main-font-family);letter-spacing:0;margin-right:8px}.hy-footer-action__scroll-up svg{fill:var(--grayscale-white)}.hy-footer-action__scroll-up:hover label{text-decoration:underline}.hy-footer-action__scroll-up:hover .hy-footer-action__up-button{background-color:var(--brand-main)}";
3976
-
3977
- let HyFooterAction = class {
3978
- constructor(hostRef) {
3979
- index.registerInstance(this, hostRef);
3980
- }
3981
- scrollTop() {
3982
- window.scrollTo({ top: 0, behavior: 'smooth' });
3983
- }
3984
- render() {
3985
- const classAttributes = ['hy-footer-action'].join(' ');
3986
- return (index.h(index.Host, { class: classAttributes }, index.h("span", { class: 'hy-footer-action__updated-text' }, this.updatedText), this.upButtonLabel && (index.h("span", { class: "hy-footer-action__scroll-up" }, index.h("label", { htmlFor: "scroll-up" }, this.upButtonLabel), index.h("button", { name: "scroll-up", onClick: () => this.scrollTop(), class: "hy-footer-action__up-button", type: "button" }, index.h("hy-icon", { class: 'hy-footer-action__up-icon', icon: 'hy-icon-arrow-up', size: 26 }))))));
3987
- }
3988
- };
3989
- HyFooterAction.style = hyFooterActionCss;
3990
-
3991
- const hyFooterBaseCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-footer-base--content-container{background-color:var(--grayscale-black);display:block;max-width:100%}.hy-footer-base{background-color:var(--grayscale-black);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;max-height:100%;padding:32px 16px 32px 16px;place-content:center space-between;position:relative;width:100%}@media (min-width: 30rem){.hy-footer-base{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin:0 auto;max-width:120.0625rem;padding:32px 24px 32px 24px}}@media (min-width: 60rem){.hy-footer-base{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:36px 32px 36px 32px}}@media (min-width: 75.0625rem){.hy-footer-base{padding:40px 32px 40px 32px}}.hy-footer-base__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:24px}@media (min-width: 30rem){.hy-footer-base__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}}@media (min-width: 60rem){.hy-footer-base__left{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:31.11%}}.hy-footer-base__logo{font-size:1.125rem;line-height:16px;font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.9px}.hy-footer-base__logo .hy-site-logo__label{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.hy-footer-base__content{font-size:1rem;line-height:24px;color:var(--grayscale-white);font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.1px;margin:32px 0;white-space:pre-line}@media (min-width: 30rem){.hy-footer-base__content{margin:32px 0}}@media (min-width: 60rem){.hy-footer-base__content{margin:42px 0}}@media (min-width: 75.0625rem){.hy-footer-base__content{margin:54px 0}}.hy-footer-base__some{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:64px;z-index:2}@media (min-width: 60rem){.hy-footer-base__some{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:0}}@media (min-width: 75.0625rem){.hy-footer-base__some{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.hy-footer-base__some__label{font-size:1rem;line-height:24px;color:var(--grayscale-white);font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.1px;margin-bottom:8px;margin-right:24px}@media (min-width: 60rem){.hy-footer-base__some__label{margin-bottom:8px}}.hy-footer-base__some__items{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.hy-footer-base__some__item{margin-right:24px}.hy-footer-base__some__item :last-child(){margin-right:0}.hy-footer-base__some__item:hover{color:var(--grayscale-medium) !important}.hy-footer-base__some__item:hover svg{fill:var(--grayscale-medium)}.hy-footer-base__some svg{fill:var(--grayscale-white)}.hy-footer-base__right{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;max-height:100%;width:100%}@media (min-width: 30rem){.hy-footer-base__right{margin-bottom:32px;max-height:300px;width:calc(100% + 24px)}}@media (min-width: 60rem){.hy-footer-base__right{max-height:350px;width:65.56%}}.hy-footer-base__copy{font-size:1rem;line-height:24px;bottom:40px;color:var(--grayscale-white);display:inline-block;font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.1px;position:absolute;right:50%;text-align:center;-webkit-transform:translateX(50%);transform:translateX(50%);width:100%}@media (min-width: 30rem){.hy-footer-base__copy{bottom:32px;right:50%;-webkit-transform:translateX(50%);transform:translateX(50%)}}@media (min-width: 60rem){.hy-footer-base__copy{bottom:36px;right:32px;text-align:right;-webkit-transform:none;transform:none}}@media (min-width: 75.0625rem){.hy-footer-base__copy{bottom:40px}}";
3588
+ // Controller which will be assigned to all instances of ResizeObserver.
3589
+ const controller = new ResizeObserverController();
3590
+
3591
+ // Registry of internal observers.
3592
+ const observers = new WeakMap();
3593
+
3594
+ /**
3595
+ * ResizeObservers' "Proxy" class which is meant to hide private
3596
+ * properties and methods from public instances.
3597
+ *
3598
+ * Additionally it implements "idleTimeout" and "continuousUpdates" static property
3599
+ * accessors to give a control over the behavior of ResizeObserverController
3600
+ * instance. Changes made to these properties will affect all future and
3601
+ * existing observers.
3602
+ */
3603
+ class ResizeObserver$2 {
3604
+ /**
3605
+ * Creates a new instance of ResizeObserver.
3606
+ *
3607
+ * @param {Function} callback - Callback which will
3608
+ * be invoked when dimensions of one of the
3609
+ * observed elements have been changed.
3610
+ */
3611
+ constructor(callback) {
3612
+ if (!arguments.length) {
3613
+ throw new TypeError('1 argument required, but only 0 present.');
3614
+ }
3615
+
3616
+ const observer = new ResizeObserver$3(callback, controller, this);
3617
+
3618
+ // Register an internal observer.
3619
+ observers.set(this, observer);
3620
+ }
3621
+
3622
+ /**
3623
+ * Extracts controllers' idle timeout value.
3624
+ *
3625
+ * @returns {Number}
3626
+ */
3627
+ static get idleTimeout() {
3628
+ return controller.idleTimeout;
3629
+ }
3630
+
3631
+ /**
3632
+ * Sets up new idle timeout.
3633
+ *
3634
+ * @param {Number} value - New timeout value.
3635
+ */
3636
+ static set idleTimeout(value) {
3637
+ if (typeof value !== 'number') {
3638
+ throw new TypeError('type of "idleTimeout" value must be a number.');
3639
+ }
3640
+
3641
+ if (typeof value < 0) {
3642
+ throw new TypeError('"idleTimeout" value must be greater than 0.');
3643
+ }
3644
+
3645
+ controller.idleTimeout = value;
3646
+ }
3647
+
3648
+ /**
3649
+ * Tells whether continuous updates are enabled.
3650
+ *
3651
+ * @returns {Boolean}
3652
+ */
3653
+ static get continuousUpdates() {
3654
+ return controller.continuousUpdates;
3655
+ }
3656
+
3657
+ /**
3658
+ * Enables or disables continuous updates.
3659
+ *
3660
+ * @param {Boolean} value - Whether to enable or disable
3661
+ * continuous updates.
3662
+ */
3663
+ static set continuousUpdates(value) {
3664
+ if (typeof value !== 'boolean') {
3665
+ throw new TypeError('type of "continuousUpdates" value must be a boolean.');
3666
+ }
3667
+
3668
+ controller.continuousUpdates = value;
3669
+ }
3670
+ }
3671
+
3672
+ // Expose public methods of ResizeObserver.
3673
+ [
3674
+ 'observe',
3675
+ 'unobserve',
3676
+ 'disconnect'
3677
+ ].forEach(method => {
3678
+ ResizeObserver$2.prototype[method] = function () {
3679
+ return observers.get(this)[method](...arguments);
3680
+ };
3681
+ });
3992
3682
 
3993
- let HyFooterBase = class {
3994
- constructor(hostRef) {
3995
- index.registerInstance(this, hostRef);
3996
- /**
3997
- * Link item color
3998
- */
3999
- this.color = utils.FooterLinkItemColor.white;
4000
- /**
4001
- * Logo size
4002
- */
4003
- this.size = utils.SiteLogoSize.big;
4004
- }
4005
- async componentWillLoad() {
4006
- this._dataFooterBaseLinks = await globalScript.jsonParserWorker(this.dataFooterBaseLinks);
4007
- this._dataFooterBaseSome = await globalScript.jsonParserWorker(this.dataFooterBaseSome);
4008
- }
4009
- render() {
4010
- const logoColor = utils.ColorVariant.white;
4011
- const classAttributes = ['hy-footer-base--content-container'].join(' ');
4012
- const links = this._dataFooterBaseLinks;
4013
- const some = this._dataFooterBaseSome;
4014
- return (index.h(index.Host, { class: classAttributes }, index.h("div", { class: "hy-footer-base" }, index.h("div", { class: "hy-footer-base__left" }, index.h("div", { class: "hy-footer-base__logo" }, index.h("hy-site-logo", { type: utils.FooterVariant.footer, size: 56, color: logoColor, url: this.logoUrl, label: this.logoLabel })), index.h("div", { class: "hy-footer-base__content" }, index.h("slot", { name: "content" })), index.h("div", { class: "hy-footer-base__some" }, index.h("span", { class: "hy-footer-base__some__label" }, this.someLabel), index.h("div", { class: "hy-footer-base__some__items" }, some &&
4015
- some.map((s) => {
4016
- return (index.h("a", { "aria-label": s.label, href: s.url, class: `hy-footer-base__some__item`, title: s.label, target: "_blank" }, index.h("hy-icon", { icon: `hy-icon-some-${s.type}`, size: 36 })));
4017
- })))), index.h("div", { class: "hy-footer-base__right" }, links &&
4018
- links.map((link) => {
4019
- return (index.h("hy-footer-link-item", { label: link.label, url: link.url, color: utils.FooterLinkItemColor.white }));
4020
- }), this.copyrightText && index.h("span", { class: "hy-footer-base__copy" }, this.copyrightText)))));
4021
- }
4022
- };
4023
- HyFooterBase.style = hyFooterBaseCss;
3683
+ let ResizeObserver = ResizeObserver$2;
3684
+
3685
+ // Export existing implementation if it's available.
3686
+ if (typeof window.ResizeObserver === 'function') {
3687
+ ResizeObserver = window.ResizeObserver;
3688
+ }
3689
+
3690
+ const ResizeObserver$1 = ResizeObserver;
4024
3691
 
4025
3692
  const hyFooterInfoCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-footer-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:auto;padding:0 16px 40px 16px;place-content:center space-between}@media (min-width: 30rem){.hy-footer-info{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 auto;max-width:120.0625rem;padding:0 24px 32px 24px}}@media (min-width: 60rem){.hy-footer-info{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:0 32px 36px 32px}}@media (min-width: 75.0625rem){.hy-footer-info{padding:0 32px 40px 32px}}.hy-footer-info__content{margin-bottom:24px;width:100%}@media (min-width: 30rem){.hy-footer-info__content{margin-bottom:32px;width:100%}}@media (min-width: 60rem){.hy-footer-info__content{width:31.11%}}.hy-footer-info__content .hy-heading{padding-top:0 !important}.hy-footer-info__ingress{font-size:0.9375rem;line-height:20px;font-weight:400;letter-spacing:-0.09px;color:var(--grayscale-black);font-family:var(--main-font-family);padding-bottom:24px}@media (min-width: 60rem){.hy-footer-info__ingress{font-size:1rem;line-height:22px;letter-spacing:-0.1px;padding-bottom:16px}}@media (min-width: 1601px){.hy-footer-info__ingress{font-size:1.0625rem;line-height:26px}}@media (min-width: 75.0625rem){.hy-footer-info__ingress{padding-bottom:24px}}.hy-footer-info__ingress a{font-size:0.875rem;line-height:20px;color:var(--link-blue);font-family:var(--main-font-family);font-weight:600;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media (min-width: 30rem){.hy-footer-info__ingress a{font-size:1rem;line-height:24px;letter-spacing:-0.1px}}@media (min-width: 1601px){.hy-footer-info__ingress a{font-size:1.0625rem;line-height:26px}}.hy-footer-info__ingress a:hover{color:var(--brand-main)}.hy-footer-info__ingress a[target=_blank]:after{display:block;content:url(\"data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 30 29' fill='rgb(4,121,165)'> <polygon points='29.207 13.783 14.756 .717 14.055 0 11.402 3.118 10.732 3.835 19.665 11.974 0 11.974 0 17.026 19.756 17.026 11.494 24.447 10.823 25.071 11.402 25.882 13.476 28.189 14.055 29 30 14.594' /> </svg>\");margin-left:3px;-webkit-transform:rotate(315deg);transform:rotate(315deg)}.hy-footer-info__ingress a[target=_blank]:after:hover{content:url(\"data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 30 29' fill='pink'> <polygon points='29.207 13.783 14.756 .717 14.055 0 11.402 3.118 10.732 3.835 19.665 11.974 0 11.974 0 17.026 19.756 17.026 11.494 24.447 10.823 25.071 11.402 25.882 13.476 28.189 14.055 29 30 14.594' /> </svg>\")}.hy-footer-info__ingress a[target=_blank]:hover:after{content:url(\"data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 30 29' fill='rgb(14,104,139)'> <polygon points='29.207 13.783 14.756 .717 14.055 0 11.402 3.118 10.732 3.835 19.665 11.974 0 11.974 0 17.026 19.756 17.026 11.494 24.447 10.823 25.071 11.402 25.882 13.476 28.189 14.055 29 30 14.594' /> </svg>\")}.hy-footer-info__links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;max-height:auto;overflow:hidden;width:100%}@media (min-width: 30rem){.hy-footer-info__links{-ms-flex-line-pack:justify;align-content:space-between;max-height:555px;width:100%}}@media (min-width: 60rem){.hy-footer-info__links{max-height:530px;width:65.56%}}@media (min-width: 87.5rem){.hy-footer-info__links{max-height:460px}}@media (min-width: 30rem){.hy-footer-info__links.is-group:not(.luomus){-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-height:none}}.hy-footer-info .hy-accordion__content--inner-wrapper{width:100%}.hy-footer-info.luomus{background-color:var(--grayscale-black);color:var(--grayscale-white);padding-top:40px}.hy-footer-info.luomus .hy-footer-info__logo{font-size:1.125rem;line-height:16px;font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.9px}.hy-footer-info.luomus .hy-footer-info__logo .hy-site-logo__label{min-width:100%;max-width:100%}.hy-footer-info.luomus .hy-footer-info__branding{padding:22px 0 62px}.hy-footer-info.luomus .hy-footer-info__branding a img{height:32px;width:148px}.hy-footer-info.luomus .luomus-footer-content{color:var(--grayscale-white);margin:8px 0}.hy-footer-info.luomus .luomus-footer-content__link{font-size:1.125rem;line-height:24px;font-weight:700;color:var(--grayscale-white);font-family:var(--main-font-family);font-style:normal;letter-spacing:-0.36px;text-decoration:none}.hy-footer-info.luomus .luomus-footer-content__description{font-size:1rem;line-height:22px;font-weight:400;color:var(--grayscale-white);font-family:var(--main-font-family);font-style:normal;letter-spacing:-0.1px;padding-bottom:32px}";
4026
3693
 
@@ -5512,245 +5179,6 @@ let HyMainContentWrapper = class {
5512
5179
  };
5513
5180
  HyMainContentWrapper.style = hyMainContentWrapperCss;
5514
5181
 
5515
- const menuCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{margin:0;padding:0}.hy-mobile-menu__header{display:grid;grid-template-columns:1fr auto;padding:12px 16px;gap:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hy-mobile-menu__menu-close-button{font-size:1rem;line-height:18px;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:none;color:var(--brand-main);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);letter-spacing:-0.3px;padding:16px;margin-left:auto;margin-right:-16px;pointer-events:none;visibility:hidden}.hy-mobile-menu__menu-close-button:hover{cursor:pointer}.hy-mobile-menu__menu-close-button hy-icon{margin-left:8px}.hy-mobile-menu__menu-close-button hy-icon svg{fill:var(--brand-main)}.hy-menu-wrapper--mobile{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;justify-items:stretch;left:0;position:absolute;right:0;top:0;z-index:99}.hy-menu-wrapper--mobile.is-open{z-index:101}.hy-menu-wrapper--desktop{padding:0}.hy-menu-wrapper--sidenav{display:none}.hy-menu-wrapper--sidenav.is-demo{display:block}@media (min-width: 30rem){.hy-menu-wrapper--sidenav{display:block}}.hy-mobile-menu__menu-container{min-height:calc(100vh - 126px);overflow-x:hidden;overflow-y:visible}.hy-menu--mobile{-webkit-overflow-scrolling:touch;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:0.45s;transition:0.45s;width:100%;z-index:100}@media (min-width: 75.0625rem){.hy-menu--mobile:not(.is-demo){min-height:0;-webkit-transform:translateX(0);transform:translateX(0);visibility:visible}}.hy-menu--mobile.is-open{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1);transition:-webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1);transition:transform 0.3s cubic-bezier(0, 0, 0.3, 1);transition:transform 0.3s cubic-bezier(0, 0, 0.3, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1)}.hy-menu--mobile.is-open::after{opacity:1;visibility:visible}.hy-menu-breadcrumb-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.hy-menu__logo-container{display:inline-block;padding:16px;z-index:100}@media (min-width: 30rem){.hy-menu__logo-container{padding:16px 28px}}.hy-mobile-menu__donate{background-color:var(--grayscale-white);bottom:0;-webkit-box-shadow:rgba(14, 104, 139, 0.2) 0px -20px 20px -20px;box-shadow:rgba(14, 104, 139, 0.2) 0px -20px 20px -20px;position:sticky;z-index:102}.hy-mobile-menu__donate a{font-size:1rem;line-height:16px;font-weight:600;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-white);color:var(--grayscale-black);display:block;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;letter-spacing:-0.4px;padding:20px 0 16px;text-align:center;text-decoration:none}.hy-mobile-menu__donate a:focus{outline:solid 2px var(--additional-yellow)}.hy-mobile-menu__donate a svg{margin-right:5px}.hy-menu__breadcrumbs{display:block;position:relative}.hy-menu__breadcrumbs.is-empty{min-height:35px}";
5516
-
5517
- let breadcrumbTimeout = null;
5518
- let addbreadTimeout = null;
5519
- let Menu = class {
5520
- constructor(hostRef) {
5521
- index.registerInstance(this, hostRef);
5522
- this.menuContainerToggled = index.createEvent(this, "menuContainerToggled", 7);
5523
- this.isGroup = false;
5524
- this.isDemo = false;
5525
- this.menuIsOpen = true;
5526
- this.menuType = null;
5527
- }
5528
- // Listener for removing a breadcrumb from mobile menu breadcrumbs.
5529
- async removeBreadcrumb(data) {
5530
- clearTimeout(breadcrumbTimeout);
5531
- let breadcrumbs = await globalScript.jsonParserWorker(this.breadcrumbs);
5532
- breadcrumbTimeout = setTimeout(() => {
5533
- let currentBreadcrumb = breadcrumbs
5534
- .map(function (e) {
5535
- return e.bid;
5536
- })
5537
- .indexOf(data.detail.bid);
5538
- for (let i = currentBreadcrumb, l = this.breadcrumbs.length; i < l; i++) {
5539
- this.menuContainerToggled.emit({
5540
- triggerItem: this.breadcrumbs[i].bid,
5541
- triggerType: 'remove',
5542
- });
5543
- }
5544
- this.breadcrumbs = [];
5545
- this.breadcrumbs = breadcrumbs.slice(0, -1);
5546
- // Reset if home breadcrumb link has been clicked.
5547
- if (currentBreadcrumb === 0) {
5548
- this.breadcrumbs = [];
5549
- // Notify menu-level-container toggle listener about closing all levels.
5550
- let elements = this.el.querySelectorAll('.hy-menu-level-container--mobile');
5551
- elements.forEach((element) => {
5552
- if (!element.classList.contains('hy-menu-level-container--level-0')) {
5553
- this.menuContainerToggled.emit({
5554
- triggerItem: element.getAttribute('trigger-item'),
5555
- triggerType: 'remove',
5556
- });
5557
- }
5558
- });
5559
- }
5560
- }, 100);
5561
- }
5562
- // Listener for adding a breadcrumb to mobile menu breadcrumbs.
5563
- addBreadcrumb(event) {
5564
- clearTimeout(addbreadTimeout);
5565
- addbreadTimeout = setTimeout(() => {
5566
- this.breadcrumbs = [
5567
- ...this.breadcrumbs,
5568
- {
5569
- label: event.detail.label,
5570
- bid: event.detail.bid,
5571
- url: event.detail.url,
5572
- },
5573
- ];
5574
- }, 100);
5575
- }
5576
- async componentWillLoad() {
5577
- this.breadcrumbs = [];
5578
- }
5579
- disconnectedCallback() {
5580
- clearTimeout(breadcrumbTimeout);
5581
- clearTimeout(addbreadTimeout);
5582
- }
5583
- componentWillUpdate() {
5584
- // Pass the menu type and menu-button-submenu-expand attributes to
5585
- // the child menu-level-container component.
5586
- this.el.children[0].setAttribute('menu-type', this.menuType);
5587
- this.el.children[0].setAttribute('menu-button-submenu-expand', this.menuButtonSubmenuExpand);
5588
- }
5589
- componentWillRender() {
5590
- // Set the donate link data.
5591
- if (this.dataMenuDonate) {
5592
- this.donateLink = JSON.parse(this.dataMenuDonate);
5593
- }
5594
- // Set demo value to all children to provide better UI for DS users.
5595
- if (this.isDemo) {
5596
- const items = Array.from(this.el.children);
5597
- items.forEach((item) => {
5598
- item.setAttribute('is-demo', 'true');
5599
- });
5600
- }
5601
- }
5602
- render() {
5603
- if (this.menuType === null)
5604
- return;
5605
- switch (this.menuType) {
5606
- case utils.MenuType.desktop:
5607
- return (index.h("div", { class: 'hy-wrapper' }, index.h("nav", { role: 'navigation', class: {
5608
- 'hy-menu-wrapper--desktop': true,
5609
- 'is-open': this.menuIsOpen,
5610
- } }, index.h("div", { class: 'hy-menu hy-menu--desktop' }, index.h("slot", null)))));
5611
- case utils.MenuType.mobile:
5612
- return (index.h("nav", { "data-is-group": this.isGroup, role: 'navigation', class: "hy-mobile-menu" }, index.h("section", { class: "hy-mobile-menu__header" }, index.h("div", { id: 'menu-bc-container', class: {
5613
- 'hy-mobile-menu__breadcrumbs': true,
5614
- 'is-empty': this.breadcrumbs.length === 0,
5615
- } }, this.breadcrumbs.length ? (index.h("hy-menu-mobile-breadcrumb", { "label-back": this.menuButtonBreadcrumbReturn, "label-front-page": this.labelFrontPage, label: this.breadcrumbs[this.breadcrumbs.length - 1].label, bid: this.breadcrumbs[this.breadcrumbs.length - 1].bid })) : (index.h("hy-menu-mobile-breadcrumb", { "label-back": this.menuButtonBreadcrumbReturn, "label-front-page": this.menuButtonBreadcrumbHome, label: this.menuButtonBreadcrumbHome, "is-first": true, "logo-url": this.logoUrl }))), index.h("button", { class: `hy-mobile-menu__menu-close-button`, "aria-label": "Close menu", disabled: true, "aria-hidden": "true" }, index.h("span", null, "Close"), index.h("hy-icon", { icon: 'hy-icon-remove', size: 16 }))), index.h("section", { class: "hy-mobile-menu__menu-container" }, index.h("div", { "aria-hidden": `${!this.menuIsOpen}`, class: {
5616
- 'hy-menu': true,
5617
- 'hy-menu--mobile': true,
5618
- 'is-open': this.menuIsOpen,
5619
- 'is-demo': this.isDemo,
5620
- } }, index.h("slot", null))), !this.isGroup && (index.h("div", { class: 'hy-mobile-menu__donate' }, this.donateLink
5621
- ? this.donateLink.map((i) => (index.h("a", { href: i.url }, index.h("hy-icon", { icon: 'hy-icon-heart-support', fill: 'currentColor', size: 16 }), i.label)))
5622
- : ''))));
5623
- }
5624
- }
5625
- get el() { return index.getElement(this); }
5626
- };
5627
- Menu.style = menuCss;
5628
-
5629
- const menuItemCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host(.hy-menu-item--mobile){--menu-item-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:4px}:host(.hy-menu-item--mobile.hy-menu-item--alternative){border-bottom:0 none;border-top:1px solid black}:host(.hy-menu-item--mobile:last-of-type){border-bottom:0 none}:host(.hy-menu-item--mobile.is-hidden){visibility:hidden !important}:host(.hy-menu-item--mobile.is-hidden):focus{outline:none}:host(.hy-menu-item--sidenav){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;--hy-menu-item-sidenav-display:block}:host(.hy-menu-item--sidenav.is-active){display:block;visibility:visible}:host(.hy-menu-item--sidenav.is-active--child){display:block;visibility:visible}:host(.hy-menu-item--sidenav.in-active-trail){display:block;visibility:visible}:host(.hy-menu-item) a{font-size:1rem;line-height:20px;font-weight:600;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--brand-main);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);letter-spacing:-0.5px;text-decoration:none;width:100%;padding:12px 16px}:host(.hy-menu-item) a:focus{outline:solid 2px var(--additional-yellow);outline-offset:-2px}:host(.hy-menu-item) a .hy-menu-item__label hy-icon{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important;margin-left:6px;margin-right:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}:host(.hy-menu-item) a .hy-menu-item__label hy-icon svg{fill:var(--brand-main)}:host(.hy-menu-item) a.hy-menu-item--mobile.first{font-size:1.3125rem;line-height:28px;font-weight:700;color:var(--brand-main-light);letter-spacing:-0.42px;padding:16px 0 16px 16px}:host(.hy-menu-item) a.hy-menu-item--mobile.is-active{color:var(--grayscale-black);position:relative}:host(.hy-menu-item) a.hy-menu-item--mobile.is-active:before{border-left:3px solid var(--grayscale-black);content:\"\";height:75%;left:10px;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host(.hy-menu-item) a.hy-menu-item--mobile.in-active-trail{font-weight:700;color:var(--grayscale-black)}:host(.hy-menu-item) a.hy-menu-item--mobile.in-active-trail:before{border-left-width:3px;height:55%}:host(.hy-menu-item) a.hy-menu-item--mobile.is-heading{font-size:1.3125rem;line-height:28px;font-weight:700;color:var(--brand-main-light);letter-spacing:-0.42px;padding:16px}:host(.hy-menu-item) a.hy-menu-item--mobile.is-heading.is-active,:host(.hy-menu-item) a.hy-menu-item--mobile.is-heading.in-active-trail{font-weight:700;background:transparent;border-bottom:0;color:var(--grayscale-black)}:host(.hy-menu-item) a.hy-menu-item--mobile.is-heading.is-active:before,:host(.hy-menu-item) a.hy-menu-item--mobile.is-heading.in-active-trail:before{border-left-width:3px;height:55%}:host(.hy-menu-item) a.hy-menu-item--mobile>hy-icon{-ms-flex-item-align:start;align-self:flex-start;margin-top:10px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host(.hy-menu-item) a.hy-menu-item--mobile hy-icon+.hy-menu-item__label{margin-left:10px}:host(.hy-menu-item) a.is-heading{display:inherit}@media (min-width: 75.0625rem){:host(.hy-menu-item) a.is-heading{display:none}}:host(.hy-menu-item) a.hy-menu-item--sidenav{font-size:1.125rem;line-height:24px;font-weight:700;color:var(--brand-main-light);display:var(--hy-menu-item-sidenav-display);font-family:var(--main-font-family);margin:10px 0;padding:8px 0}:host(.hy-menu-item) a.hy-menu-item--sidenav:focus{outline-offset:4px}:host(.hy-menu-item) a.hy-menu-item--sidenav:hover{color:var(--brand-main-nearly-black)}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-active{color:var(--brand-main-nearly-black);text-decoration:none}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-active .hy-menu-item__label{padding-bottom:0}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-active--heading{font-size:1.625rem;line-height:40px;color:var(--brand-main-nearly-black);text-transform:uppercase}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-active--heading .hy-menu-item__label{border-bottom:4px solid var(--brand-main-nearly-black);padding:0}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-active--heading .hy-menu-item__label__icon{display:none}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-active--child{color:var(--brand-main-light);text-decoration:none}:host(.hy-menu-item) a.hy-menu-item--sidenav .hy-menu-item__label__icon{color:var(--brand-main-light);display:inline-block;padding-left:5px}.is-active :host(.hy-menu-item) a.hy-menu-item--sidenav .hy-menu-item__label__icon{display:none}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-parent{font-size:1rem;line-height:22px;font-weight:600;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--brand-main-light);display:-webkit-box;display:-ms-flexbox;display:flex;text-decoration:none}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-parent:hover{color:var(--brand-main-nearly-black)}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-parent:hover .hy-menu-item__label__icon{color:var(--brand-main-nearly-black)}:host(.hy-menu-item) a.hy-menu-item--sidenav.is-parent .hy-menu-item__label__icon{margin-right:8px}.hy-menu-item__button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;border:0;border-bottom:0;border-right:0;border-top:0;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;width:44px;position:relative;-ms-flex-negative:0;flex-shrink:0}.hy-menu-item__button:before{background-color:var(--grayscale-medium);width:1px;height:32px;content:\"\";display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);top:50%;left:0;position:absolute}.hy-menu-item__button svg{fill:var(--grayscale-black)}";
5630
-
5631
- let MenuItem = class {
5632
- constructor(hostRef) {
5633
- index.registerInstance(this, hostRef);
5634
- this.addBreadcrumb = index.createEvent(this, "addBreadcrumb", 7);
5635
- this.menuContainerActiveTrail = index.createEvent(this, "menuContainerActiveTrail", 7);
5636
- this.menuContainerToggled = index.createEvent(this, "menuContainerToggled", 7);
5637
- this.routeClicked = index.createEvent(this, "routeClicked", 7);
5638
- this.inActiveTrail = false;
5639
- this.isActive = false;
5640
- this.isActiveChild = false;
5641
- this.isHeading = false;
5642
- this.isParent = false;
5643
- this.isDemo = false;
5644
- this.isExternal = false;
5645
- //@Prop() depth: number = 0;
5646
- this.menuItemAlternative = false;
5647
- this.menuLinkId = '';
5648
- this.menuType = utils.MenuType.desktop;
5649
- this.menuButtonSubmenuExpand = '';
5650
- this.ariaExpanded = false;
5651
- this.depth = 0;
5652
- this.hasChildren = null;
5653
- this.label = '';
5654
- this.parentAsHeading = '';
5655
- this.parentExpanded = false;
5656
- this.url = '';
5657
- }
5658
- // Listener for submenu expand button. Listener will toggle menu level
5659
- // container and add its parent to breadcrumbs.
5660
- handleClick() {
5661
- this.menuContainerToggled.emit({
5662
- triggerItem: this.menuLinkId,
5663
- triggerType: 'add',
5664
- });
5665
- const currentParent = this.el.parentNode;
5666
- let parentLabel = currentParent.parentElement.getAttribute('label')
5667
- ? currentParent.parentElement.getAttribute('label')
5668
- : this.menuButtonBreadcrumbMain;
5669
- let isMainMenu = parentLabel == this.menuButtonBreadcrumbMain;
5670
- this.addBreadcrumb.emit({
5671
- url: this.url,
5672
- label: parentLabel,
5673
- bid: this.menuLinkId,
5674
- isMainMenu: isMainMenu,
5675
- });
5676
- }
5677
- componentWillLoad() {
5678
- // If is-active class is added by system, add it to menu component as well.
5679
- if (this.el.classList.contains('is-active')) {
5680
- this.isActive = true;
5681
- }
5682
- // Notify breadcrumbs if item is in active trail.
5683
- if (this.inActiveTrail && !this.isActive) {
5684
- const currentParent = this.el.parentNode;
5685
- let parentLabel = currentParent.parentElement.getAttribute('label')
5686
- ? currentParent.parentElement.getAttribute('label')
5687
- : this.menuButtonBreadcrumbMain;
5688
- this.addBreadcrumb.emit({
5689
- url: this.url,
5690
- label: parentLabel,
5691
- bid: this.menuLinkId,
5692
- });
5693
- }
5694
- // If current menu item is active, trigger all parent menuLevelContainer
5695
- // elements in the same active-trail to open the menu.
5696
- if (this.isActive) {
5697
- const getParents = (elem) => {
5698
- let parents = [];
5699
- while (elem.parentNode && elem.parentNode.nodeName.toLowerCase() != 'hy-menu') {
5700
- elem = elem.parentNode;
5701
- parents.push(elem);
5702
- }
5703
- return parents;
5704
- };
5705
- const parents = getParents(this.el);
5706
- parents.forEach((element) => {
5707
- if (element.tagName.toLowerCase() === 'hy-menu-item') {
5708
- this.menuContainerActiveTrail.emit({
5709
- triggerItem: element.getAttribute('menu-link-id'),
5710
- });
5711
- }
5712
- });
5713
- }
5714
- this.hasChildren = this.el.getElementsByTagName('hy-menu-level-container').length >= 1;
5715
- }
5716
- render() {
5717
- switch (this.menuType) {
5718
- case utils.MenuType.desktop:
5719
- return (index.h(index.Host, { class: {
5720
- 'is-active': this.isActive,
5721
- 'hy-menu-item': true,
5722
- 'hy-menu-item--alternative': this.menuItemAlternative,
5723
- 'hy-menu-item--desktop': true,
5724
- 'is-demo': this.isDemo,
5725
- } }, index.h("a", { "aria-current": this.isHeading.toString(), href: this.url, class: {
5726
- 'is-active': this.isActive,
5727
- 'in-active-trail': this.inActiveTrail,
5728
- 'is-heading': this.isHeading,
5729
- 'hy-menu-item--desktop': true,
5730
- 'is-demo': this.isDemo,
5731
- } }, this.depth == 1 && (index.h("span", { class: "hy-menu-item__heading__icon" }, index.h("hy-icon", { icon: 'hy-icon-arrow-right', size: 40 }))), this.depth == 2 && (index.h("span", { class: "hy-menu-item__heading__icon" }, index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 12 }))), index.h("span", { class: 'hy-menu-item__label' }, this.label)), this.hasChildren && index.h("slot", null)));
5732
- case utils.MenuType.mobile:
5733
- return (index.h(index.Host, { class: {
5734
- 'is-active': this.isActive,
5735
- 'hy-menu-item': true,
5736
- 'hy-menu-item--alternative': this.menuItemAlternative,
5737
- 'hy-menu-item--mobile': true,
5738
- 'is-demo': this.isDemo,
5739
- } }, index.h("a", { "aria-current": this.isHeading.toString(), href: this.url, class: {
5740
- 'is-active': this.isActive,
5741
- 'in-active-trail': this.inActiveTrail,
5742
- 'is-heading': this.isHeading,
5743
- 'hy-menu-item--mobile': true,
5744
- 'is-demo': this.isDemo,
5745
- 'is-external': this.isExternal,
5746
- first: this.depth == 1,
5747
- } }, this.depth !== 1 && !this.isHeading && index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 10 }), index.h("span", { class: 'hy-menu-item__label' }, this.label, this.isExternal && index.h("hy-icon", { icon: 'hy-icon-arrow-right', size: 12 }))), this.hasChildren && (index.h("button", { "aria-haspopup": 'true', "aria-label": `Open submenu for ${this.label}`, onClick: () => this.handleClick(), class: 'hy-menu-item__button' }, index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 16 }))), this.hasChildren && index.h("slot", null)));
5748
- }
5749
- }
5750
- get el() { return index.getElement(this); }
5751
- };
5752
- MenuItem.style = menuItemCss;
5753
-
5754
5182
  const menuLanguageCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.menu-language{position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%}.menu-language__toggle{font-size:1rem;line-height:16px;font-weight:700;color:var(--grayscale-black);-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:0;display:inline-grid;font-family:var(--main-font-family);gap:4px;grid-template-columns:repeat(2, auto);letter-spacing:-0.7px;margin:0;padding:14px 10px;text-transform:uppercase;height:100%}@media (min-width: 75.0625rem){.menu-language__toggle{font-size:0.75rem;line-height:24px;font-weight:400;color:var(--brand-main-nearly-black);letter-spacing:-0.5px;grid-template-columns:repeat(3, auto);padding:0}}@media (min-width: 1601px){.menu-language__toggle{font-size:0.875rem;line-height:24px}}.menu-language__toggle:hover{color:var(--brand-main);cursor:pointer}.menu-language__toggle:hover svg{fill:var(--brand-main)}.menu-language__toggle:focus{outline:solid 2px var(--additional-yellow);outline-offset:2px}.menu-language__toggle hy-icon:first-of-type{display:none !important}@media (min-width: 75.0625rem){.menu-language__toggle hy-icon:first-of-type{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}.menu-language__toggle[aria-expanded=true]{position:relative}.menu-language__toggle[aria-expanded=true]:after{content:\"\";position:absolute;height:4px;right:0;bottom:-1px;left:0;background-color:var(--grayscale-black)}.menu-language__toggle[aria-expanded=true] span+hy-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.is-group .menu-language__toggle{color:var(--grayscale-white)}.is-group .menu-language__toggle:hover{color:var(--grayscale-medium);cursor:pointer}.is-group .menu-language__toggle:hover svg{fill:var(--grayscale-medium)}.menu-language__dropdown{background-color:var(--grayscale-white);border-radius:0 0 5px 5px;-webkit-box-shadow:0 10px 10px rgba(0, 0, 0, 0.2);box-shadow:0 10px 10px rgba(0, 0, 0, 0.2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;justify-items:center;right:-15px;margin:0;padding:8px;position:absolute;text-transform:uppercase;visibility:visible;width:-webkit-max-content;width:-moz-max-content;width:max-content;z-index:100;min-width:160px}.menu-language__dropdown[aria-hidden=true]{display:none}@media (min-width: 75.0625rem){.menu-language__dropdown{left:-15px;right:0}}.menu-language__links{margin:0;padding:0;list-style:none;display:grid;gap:4px}";
5755
5183
 
5756
5184
  let MenuLanguage = class {
@@ -5852,101 +5280,6 @@ let SiteLanguage = class {
5852
5280
  };
5853
5281
  SiteLanguage.style = menuLanguageItemCss;
5854
5282
 
5855
- const menuLevelContainerCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-menu-level-container--mobile{background-color:var(--grayscale-white);display:block;height:0;left:0;position:absolute;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:visibility 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;transition:visibility 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;transition:transform 0.3s ease-in-out, visibility 0.3s ease-in-out, opacity 0.3s ease-in-out;transition:transform 0.3s ease-in-out, visibility 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;visibility:hidden !important;width:100%}.hy-menu-level-container--mobile.is-open{height:auto;-webkit-transform:translateX(0);transform:translateX(0);visibility:visible !important;padding-bottom:96px}.hy-menu-level-container--mobile.hy-menu-level-container--level-0{padding-top:8px;position:relative}.hy-menu-level-container--mobile.hy-menu-level-container--level-0:before{background-color:var(--brand-main-light);content:\"\";display:block;height:3px;left:0;position:absolute;right:0;top:0}.hy-menu-level-container--mobile:focus{outline:0}.hy-menu-level-container--desktop{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;width:100%}.hy-menu-level-container--desktop.is-open{display:block;visibility:visible}.hy-menu-level-container--desktop:not(.hy-menu-level-container--level-0):not(.hy-menu-level-container--level-2){display:none}.hy-menu-level-container--desktop.hy-menu-level-container--level-2{background-color:var(--grayscale-background-box)}";
5856
-
5857
- let MenuLevelContainer = class {
5858
- constructor(hostRef) {
5859
- index.registerInstance(this, hostRef);
5860
- this.menuType = utils.MenuType.mobile;
5861
- this.activeTrailTriggered = false;
5862
- this.depth = 0;
5863
- this.menuIsOpen = false;
5864
- }
5865
- // Add/Remove is-hidden class from each upper level menu-items
5866
- // to make browsing more accessible.
5867
- assignMenuItemClass(parentMenu, type) {
5868
- if (!parentMenu)
5869
- return;
5870
- const items = Array.from(parentMenu.children);
5871
- items.forEach((item) => {
5872
- if (type === 'remove') {
5873
- item.classList.remove('is-hidden');
5874
- }
5875
- else {
5876
- item.classList.add('is-hidden');
5877
- }
5878
- });
5879
- }
5880
- // Listener for assigning active-trail for parent menu level container.
5881
- menuContainerActiveTrail(data) {
5882
- const currentMenuContainer = this.el.getAttribute('trigger-item');
5883
- if (currentMenuContainer === data.detail.triggerItem) {
5884
- this.activeTrailTriggered = true;
5885
- this.menuIsOpen = true;
5886
- this.assignMenuItemClass(this.el.parentElement.closest('hy-menu-level-container'), 'add');
5887
- }
5888
- }
5889
- // Listener for opening and closing menu level container.
5890
- menuContainerToggled(data) {
5891
- // Toggle submenu.
5892
- if (this.triggerItem == data.detail.triggerItem) {
5893
- this.activeTrailTriggered = false;
5894
- this.menuIsOpen = data.detail.triggerType != 'remove';
5895
- this.assignMenuItemClass(this.el.parentElement.closest('hy-menu-level-container'), data.detail.triggerType);
5896
- // Scroll to .hy-menu top.
5897
- let hyMenu = this.el.parentElement.closest('hy-menu');
5898
- hyMenu.shadowRoot.querySelector('.hy-menu').scrollTop = 0;
5899
- }
5900
- }
5901
- componentWillUpdate() {
5902
- // Pass the menu type and menu-button-submenu-expand attributes to
5903
- // the child menu item component.
5904
- if (this.menuType) {
5905
- const items = Array.from(this.el.children);
5906
- items.forEach((item) => {
5907
- item.setAttribute('menu-type', this.menuType);
5908
- item.setAttribute('menu-button-submenu-expand', this.menuButtonSubmenuExpand);
5909
- });
5910
- }
5911
- }
5912
- componentWillLoad() {
5913
- // Set trigger item for each mobile menu level container and handle only submenus.
5914
- // Add a heading element foreach level.
5915
- if (this.menuType === utils.MenuType.mobile) {
5916
- if (this.menuLevel > 1) {
5917
- const parentMenuItem = this.el.closest('hy-menu-item');
5918
- this.triggerItem = parentMenuItem.getAttribute('menu-link-id');
5919
- this.headingItem = Object.assign(Object.assign({}, this.headingItem), { url: parentMenuItem.getAttribute('url') });
5920
- this.headingItem = Object.assign(Object.assign({}, this.headingItem), { label: parentMenuItem.getAttribute('label') });
5921
- this.headingItem = Object.assign(Object.assign({}, this.headingItem), { isActive: window.location.pathname === this.headingItem.url });
5922
- }
5923
- else {
5924
- this.triggerItem = 'home';
5925
- }
5926
- }
5927
- }
5928
- render() {
5929
- let classAttributes = ['hy-menu-level-container', 'hy-menu-level-container--level-' + this.depth];
5930
- switch (this.menuType) {
5931
- case utils.MenuType.desktop:
5932
- classAttributes = [...classAttributes, 'hy-menu-level-container--desktop'];
5933
- return (index.h(index.Host, { class: classAttributes.join(' ') }, index.h("slot", null)));
5934
- case utils.MenuType.mobile:
5935
- classAttributes = [...classAttributes, 'hy-menu-level-container--mobile'];
5936
- if (this.depth === 1) {
5937
- classAttributes = [...classAttributes, 'is-open'];
5938
- return (index.h(index.Host, { "aria-expanded": this.menuIsOpen.toString(), class: classAttributes.join(' '), tabindex: '-1' }, index.h("slot", null)));
5939
- }
5940
- else {
5941
- classAttributes = [...classAttributes, this.menuIsOpen ? 'is-open' : null];
5942
- return (index.h(index.Host, { "aria-expanded": this.menuIsOpen.toString(), class: classAttributes.join(' '), tabindex: '-1' }, index.h("hy-menu-item", { label: this.headingItem.label, url: this.headingItem.url, isHeading: true, isActive: this.headingItem.isActive, "menu-type": 'mobile', depth: this.menuLevel }), index.h("slot", null), index.h("slot", { name: "shortcuts" })));
5943
- }
5944
- }
5945
- }
5946
- get el() { return index.getElement(this); }
5947
- };
5948
- MenuLevelContainer.style = menuLevelContainerCss;
5949
-
5950
5283
  const hyMenuMainGroupCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}:host(.menu--main-group){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;margin-left:28px}@media (min-width: 75.0625rem){:host(.menu--main-group){margin-right:auto}}.menu--main-group__toggle{font-size:0.875rem;line-height:16px;font-weight:600;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--grayscale-black);border:0 none;color:var(--grayscale-white);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;font-family:var(--main-font-family);letter-spacing:-0.44px;margin:0 -4px;padding:0;position:relative}.menu--main-group__toggle:focus{outline:none}.menu--main-group__toggle:hover{cursor:pointer}.menu--main-group__toggle:hover span{color:var(--grayscale-medium)}.menu--main-group__toggle:hover svg{fill:var(--grayscale-medium)}@media (min-width: 60rem){.menu--main-group__toggle .toggle__caret svg{height:15.27px;width:3px}}@media (min-width: 75.0625rem){.menu--main-group__toggle .toggle__caret svg{height:14px;width:3px}}@media (min-width: 60rem){.menu--main-group__toggle span{margin-left:17px}}.menu--main-group__toggle.is-open:after{border-bottom:3px solid white;bottom:-10px;content:\" \";position:absolute;width:100%}@media (min-width: 60rem){.menu--main-group__toggle.is-open .toggle__close{height:15px;width:15px}.menu--main-group__toggle.is-open .toggle__close svg{height:15px;width:15px}}@media (min-width: 60rem){.menu--main-group__toggle.is-open span{margin-left:10px}}.menu--main-group__dropdown{display:none;visibility:hidden}.menu--main-group__dropdown.is-open{background-color:var(--grayscale-black);border-radius:0 0 5px 5px;-webkit-box-shadow:0 10px 10px rgba(0, 0, 0, 0.2);box-shadow:0 10px 10px rgba(0, 0, 0, 0.2);color:var(--grayscale-white);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);left:0;margin:0;padding:6px 0 20px;position:absolute;top:0;visibility:visible;width:100%;z-index:511}.menu--main-group__dropdown.is-open .list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;justify-items:center;padding-top:14px;position:relative}.menu--main-group__dropdown.is-open .panel-toggle{background-color:transparent;border:none;position:absolute;right:0;top:0}@media (min-width: 60rem){.menu--main-group__dropdown.is-open .panel-toggle{padding:26px 32px}}.menu--main-group__dropdown.is-open .panel-toggle__label{font-size:1rem;line-height:20px;font-weight:700;color:var(--grayscale-white);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);letter-spacing:-0.5px;text-transform:uppercase}.menu--main-group__dropdown.is-open .panel-toggle__label__title{padding-right:12px}.menu--main-group__dropdown.is-open .panel-toggle__label:hover{cursor:pointer}.menu--main-group__dropdown.is-open .panel-toggle__label:hover span{color:var(--grayscale-medium)}.menu--main-group__dropdown.is-open .panel-toggle__label:hover svg{fill:var(--grayscale-medium)}.menu--main-group__dropdown.is-open .menu-main-link{font-size:1rem;line-height:20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-bottom:20px;text-decoration:none}@media (min-width: 75.0625rem){.menu--main-group__dropdown.is-open .menu-main-link{font-size:0.875rem;line-height:18px}}.menu--main-group__dropdown.is-open .menu-main-link:hover span{color:var(--grayscale-medium)}.menu--main-group__dropdown.is-open .menu-main-link:hover svg{fill:var(--grayscale-medium)}.menu--main-group__dropdown.is-open .menu--main-group__label{color:var(--grayscale-white);margin-left:12px}:host(.menu--main-group--mobile){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;position:relative}.menu--main-group__mobile-toggle{border:none;background:transparent;padding:15px 12px}.menu--main-group__mobile-toggle:hover{cursor:pointer}.menu--main-group__dropdown__top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:23px}.menu--main-group__dropdown__close{border:none;background-color:transparent;padding:0;margin:0}.menu--main-group__dropdown__close:hover{cursor:pointer}.menu--main-group__logo-container .hy-site-logo__label.group{max-width:250px}.menu--main-group__dropdown__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu--main-group__dropdown__items .menu-main-link{font-size:0.9375rem;line-height:20px;background-color:var(--grayscale-dark-text);color:var(--grayscale-white);font-family:var(--main-font-family);letter-spacing:-0.5px;margin-bottom:8px;padding:14px 20px;text-decoration:none;width:100%}.menu--main-group__dropdown__items .menu-main-link:hover{text-decoration:underline}.menu--main-group__dropdown__donate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:var(--grayscale-dark-text);position:fixed;bottom:0;margin-left:-20px;width:100%}.menu--main-group__dropdown__donate .hy-link__donate.group{font-size:1rem;line-height:16px;font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;color:var(--grayscale-white);font-family:var(--main-font-family);margin:20px auto 16px auto;text-decoration:none}.menu--main-group__dropdown__donate .hy-link__donate.group .hy-link__donate__label{margin-left:6px}.menu--main-group__dropdown--mobile{-webkit-box-direction:normal;-webkit-box-orient:vertical;background-color:var(--grayscale-black);bottom:0px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-items:space-between;max-width:400px;overflow:hidden;padding:0px;place-items:stretch;position:fixed;right:0px;top:0px;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all 0.3s ease 0s;transition:all 0.3s ease 0s;visibility:hidden;width:0px}.menu--main-group__dropdown--mobile.is-open{padding:50px 20px 20px;-webkit-transform:translateX(0px);transform:translateX(0px);-webkit-transition:-webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1);transition:-webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1);transition:transform 0.3s cubic-bezier(0, 0, 0.3, 1);transition:transform 0.3s cubic-bezier(0, 0, 0.3, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1);visibility:visible;width:90%;z-index:101}.menu--main-group__dropdown--mobile.is-open::after{opacity:1;visibility:visible}";
5951
5284
 
5952
5285
  let keys$1 = {
@@ -5958,6 +5291,7 @@ let HyMenuMainGroup = class {
5958
5291
  this.universityMainMenuToggled = index.createEvent(this, "universityMainMenuToggled", 7);
5959
5292
  this.mobileMenuTopToggle = index.createEvent(this, "mobileMenuTopToggle", 7);
5960
5293
  this.menuLabel = 'University main menu';
5294
+ this.menuLabelClose = 'Close';
5961
5295
  this.isMobile = false;
5962
5296
  this.isMenuOpen = false;
5963
5297
  }
@@ -6083,48 +5417,12 @@ let HyMenuMainGroup = class {
6083
5417
  return (index.h("a", { href: item.url, class: { 'menu-main-link': true } }, index.h("span", { class: "heading-icon" }, index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 10, fill: white })), index.h("span", { class: 'menu--main-group__label' }, item.label)));
6084
5418
  })), index.h("button", { onClick: (e) => this.handleComponentClick(e), class: {
6085
5419
  'panel-toggle': true,
6086
- }, "aria-label": "Close menu" }, index.h("span", { class: "panel-toggle__label" }, index.h("span", { class: "panel-toggle__label__title" }, "Close"), index.h("hy-icon", { icon: 'hy-icon-remove', size: 20, fill: utils.ColorVariant.white }))))));
5420
+ }, "aria-label": "Close menu" }, index.h("span", { class: "panel-toggle__label" }, index.h("span", { class: "panel-toggle__label__title" }, this.menuLabelClose), index.h("hy-icon", { icon: 'hy-icon-remove', size: 20, fill: utils.ColorVariant.white }))))));
6087
5421
  }
6088
5422
  get el() { return index.getElement(this); }
6089
5423
  };
6090
5424
  HyMenuMainGroup.style = hyMenuMainGroupCss;
6091
5425
 
6092
- const menuMobileBreadcrumbCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-menu-mobile-breadcrumb{font-size:0.9375rem;line-height:22px;font-weight:400;color:var(--brand-main-light);-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:0 none;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);text-decoration:none;padding:11px 0;text-align:left}.hy-menu-mobile-breadcrumb:focus{outline:solid 2px var(--additional-yellow);outline-offset:2px}.hy-menu-mobile-breadcrumb hy-icon{margin-right:8px}.hy-menu-mobile-breadcrumb hy-icon svg{fill:var(--grayscale-black)}";
6093
-
6094
- let MenuMobileBreadcrumb = class {
6095
- constructor(hostRef) {
6096
- index.registerInstance(this, hostRef);
6097
- this.removeBreadcrumb = index.createEvent(this, "removeBreadcrumb", 7);
6098
- this.isFirst = false;
6099
- }
6100
- // Listener for a click. The current breadcrumb will be remove from the list.
6101
- handleClick() {
6102
- this.removeBreadcrumb.emit({ bid: this.bid });
6103
- }
6104
- render() {
6105
- return this.isFirst ? (index.h("a", { "aria-label": `${this.labelBack}: ${this.labelFrontPage}`, class: 'hy-menu-mobile-breadcrumb', href: this.logoUrl }, index.h("span", { class: 'hy-menu-mobile-breadcrumb__label' }, this.label))) : (index.h("button", { "aria-label": `${this.labelBack}: ${this.label}`, class: 'hy-menu-mobile-breadcrumb', onClick: () => this.handleClick() }, index.h("hy-icon", { icon: 'hy-icon-caret-left', size: 10 }), index.h("span", { class: 'hy-menu-mobile-breadcrumb__label' }, this.label)));
6106
- }
6107
- };
6108
- MenuMobileBreadcrumb.style = menuMobileBreadcrumbCss;
6109
-
6110
- const mobileMenuShortcutsCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host(.hy-mobile-menu-shortcuts){margin-top:24px}:host(.hy-mobile-menu-shortcuts)>h2{font-size:1rem;line-height:20px;font-weight:700;color:var(--grayscale-black);font-family:var(--main-font-family);letter-spacing:-0.32px;margin:0 15px 8px}:host(.hy-mobile-menu-shortcuts.is-hidden){visibility:hidden !important}:host(.hy-mobile-menu-shortcuts.is-hidden):focus{outline:none}.hy-mobile-menu-shortcuts__links{list-style:none;margin:0;padding:0;display:grid;gap:4px}.hy-mobile-menu-shortcuts__link{font-size:1rem;line-height:20px;font-weight:600;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--brand-main);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);letter-spacing:-0.5px;text-decoration:none;width:100%;padding:12px 16px}.hy-mobile-menu-shortcuts__link:focus{outline:solid 2px var(--additional-yellow);outline-offset:-2px}.hy-mobile-menu-shortcuts__link:hover{text-decoration:underline}.hy-mobile-menu-shortcuts__link>hy-icon{-ms-flex-item-align:start;align-self:flex-start;margin-top:10px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.hy-mobile-menu-shortcuts__link>hy-icon+span{margin-left:10px}.hy-mobile-menu-shortcuts__link span hy-icon{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important;margin-left:6px;margin-right:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.hy-mobile-menu-shortcuts__link span hy-icon svg{fill:var(--brand-main)}";
6111
-
6112
- let HyMobileMenuShortcuts = class {
6113
- constructor(hostRef) {
6114
- index.registerInstance(this, hostRef);
6115
- }
6116
- async componentWillLoad() {
6117
- this._dataShortcutLinks = await globalScript.jsonParserWorker(this.dataShortcutLinks);
6118
- }
6119
- render() {
6120
- return (index.h(index.Host, { class: "hy-mobile-menu-shortcuts" }, index.h("h2", null, this.shortcutsLabel), index.h("ul", { class: "hy-mobile-menu-shortcuts__links" }, this._dataShortcutLinks.map(({ title, url, is_external, aria_label }) => {
6121
- let target = is_external ? '_blank' : '_self';
6122
- return (index.h("li", { class: "hy-mobile-menu-shortcuts__links-item" }, index.h("a", { "aria-current": aria_label, href: url, class: "hy-mobile-menu-shortcuts__link", target: target, "aria-label": aria_label }, index.h("hy-icon", { icon: 'hy-icon-caret-right', size: 10 }), index.h("span", null, title, is_external && index.h("hy-icon", { icon: 'hy-icon-arrow-right', size: 12 })))));
6123
- }))));
6124
- }
6125
- };
6126
- HyMobileMenuShortcuts.style = mobileMenuShortcutsCss;
6127
-
6128
5426
  const hyOpeningHoursCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-open-hours--container{font-family:var(--main-font-family);max-width:50rem;overflow:hidden}.hy-open-hours--container--exceptional{max-width:100%}.open-hours__title{text-transform:uppercase}.open-hours__date-change{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-background-box);color:var(--brand-main);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.open-hours__date-change--title{font-size:1.25rem;line-height:24px;font-weight:700;color:var(--grayscale-black);font-family:var(--main-font-family);letter-spacing:-0.5px;text-align:center;text-transform:uppercase}.open-hours__date-change .open-hours__prev-date,.open-hours__date-change .open-hours__next-date{background:none;border:0;color:var(--brand-main);display:-webkit-box;display:-ms-flexbox;display:flex;height:44px;outline:5px solid var(--grayscale-white);position:relative;width:44px}.open-hours__date-change .open-hours__prev-date:hover,.open-hours__date-change .open-hours__next-date:hover{background-color:var(--hover-gray);color:var(--brand-main-active);cursor:pointer}.open-hours__date-change .open-hours__prev-date:focus,.open-hours__date-change .open-hours__next-date:focus{background-color:var(--hover-gray);color:var(--brand-main-active)}.open-hours__date-change .open-hours__prev-date:disabled,.open-hours__date-change .open-hours__next-date:disabled{cursor:none}.open-hours__date-change .open-hours__prev-date hy-icon,.open-hours__date-change .open-hours__next-date hy-icon{color:var(--link-blue);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.open-hours__date-change .open-hours__prev-date svg,.open-hours__date-change .open-hours__next-date svg{fill:currentColor;height:20px;width:20px}.open-hours__date-change .open-hours__prev-date{border-right:1px solid var(--link-blue)}.open-hours__date-change .open-hours__next-date{border-left:1px solid var(--link-blue)}.open-hours__content__top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-size:0.9rem;font-weight:700;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0.5rem 0}.open-hours__content__top-label{margin:0.5rem 0 0.5rem 0;text-align:left;width:calc(100vw / 3);word-break:break-word}.open-hours__content__top-label:first-child(){margin-right:1rem}.open-hours__content__top-label.luomus{width:calc(100vw / 2)}.open-hours__content__top-label.building.luomus{text-align:center}.open-hours__content{position:relative}.open-hours__content.open-hours__loading:after{-webkit-animation-duration:1s;animation-duration:1s;font-size:3.2rem;position:absolute;left:45%;top:35%;z-index:2}.open-hours__content.slide-left{-webkit-animation:slide-left 0.2s ease-in-out both;animation:slide-left 0.2s ease-in-out both}.open-hours__content.slide-left-reverse{-webkit-animation:slide-left-reverse 0.2s ease-in-out reverse both;animation:slide-left-reverse 0.2s ease-in-out reverse both}.open-hours__content.slide-right{-webkit-animation:slide-right 0.2s ease-in-out both;animation:slide-right 0.2s ease-in-out both}.open-hours__content.slide-right-reverse{-webkit-animation:slide-right-reverse 0.2s ease-in-out reverse both;animation:slide-right-reverse 0.2s ease-in-out reverse both}.open-hours__links{margin:1.5rem 0 1rem 0}.open-hours__links .open-hours__link .hy-cta-link{width:100% !important;-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.open-hours__links .open-hours__link .hy-cta-link .text{width:100% !important}@-webkit-keyframes slide-right{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(200px);transform:translateX(200px);opacity:0}}@keyframes slide-right{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(200px);transform:translateX(200px);opacity:0}}@-webkit-keyframes slide-right-reverse{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(200px);transform:translateX(200px);opacity:0}}@keyframes slide-right-reverse{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(200px);transform:translateX(200px);opacity:0}}@-webkit-keyframes slide-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-200px);transform:translateX(-200px);opacity:0}}@keyframes slide-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-200px);transform:translateX(-200px);opacity:0}}@-webkit-keyframes slide-left-reverse{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-200px);transform:translateX(-200px);opacity:0}}@keyframes slide-left-reverse{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-200px);transform:translateX(-200px);opacity:0}}";
6129
5427
 
6130
5428
  let HyOpeningHours = class {
@@ -6680,7 +5978,7 @@ let HyShortcuts = class {
6680
5978
  };
6681
5979
  HyShortcuts.style = hyShortcutsCss;
6682
5980
 
6683
- const siteHeaderCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-site-header{background-color:var(--grayscale-white);z-index:100;border-bottom:2px solid var(--grayscale-dark)}@media (min-width: 75.0625rem){.hy-site-header{border-bottom:1px solid var(--grayscale-black);margin:0 auto;max-width:120.0625rem}}.hy-site-header.hy-site-header--sticky-active{-webkit-transition:-webkit-transform 200ms linear;transition:-webkit-transform 200ms linear;transition:transform 200ms linear;transition:transform 200ms linear, -webkit-transform 200ms linear;-webkit-transition-duration:0.2s;transition-duration:0.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-shadow:rgba(14, 104, 139, 0.2) 0 20px 20px -20px;box-shadow:rgba(14, 104, 139, 0.2) 0 20px 20px -20px}.hy-site-header.hy-site-header--sticky-visible{left:0;position:fixed;right:0;top:0}.hy-site-header.hy-site-header--sticky-visible.has-toolbar{top:39px}.hy-site-header.hy-site-header--sticky-visible.has-toolbar--large{top:79px}.hy-site-header.hy-site-header--sticky-hidden{top:0}@media (min-width: 75.0625rem){.hy-site-header.is-group hy-desktop-menu-links{margin-left:-10px}}.hy-site-header__container{padding:0 8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 75.0625rem){.hy-site-header__container{padding:0 32px}}.hy-site-header__container.is-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}@media (min-width: 75.0625rem){.hy-site-header__container.is-group{min-height:82px}}.hy-site-header__branding{padding:12px 0}@media (min-width: 75.0625rem){.hy-site-header__branding{padding:26px 0}}.hy-site-header__content-top .hy-site-header__branding{padding:8px 0}@media (min-width: 75.0625rem){.hy-site-header__content-top .hy-site-header__branding{padding:8px 0}}.hy-site-header__branding>p{font-size:0.75rem;line-height:14px;font-weight:400;font-family:var(--main-font-family);color:var(--grayscale-dark-text);letter-spacing:-0.1px;margin-bottom:4px;text-transform:uppercase}.hy-site-header__branding>p+a{min-height:auto}@media (min-width: 75.0625rem){.hy-site-header__branding>p{margin-bottom:8px}}.hy-site-header__branding>a{font-size:1rem;line-height:16px;font-weight:700;font-family:var(--main-font-family);color:var(--brand-main-nearly-black);letter-spacing:-0.6px;text-transform:uppercase;text-decoration:none;min-height:48px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (min-width: 75.0625rem){.hy-site-header__branding>a{font-size:1.625rem;line-height:30px;letter-spacing:-0.8px;min-height:auto}}.hy-site-header__branding>a img{height:100%;max-height:48px}@media (min-width: 75.0625rem){.hy-site-header__branding>a img{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@media (min-width: 75.0625rem){.is-group:not(.is-research-group)>.hy-site-header__branding{margin-right:42px;padding-bottom:0;margin-bottom:-10px}}.hy-site-header__actions{display:inline-grid;gap:4px;grid-template-columns:repeat(3, auto);-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}@media (min-width: 1601px){.hy-site-header__actions{gap:16px}}.hy-site-header__menu-open-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:44px;background-color:transparent;border:0;padding:0;margin:0}.hy-site-header__menu-open-button[aria-expanded=true]{font-size:1rem;line-height:18px;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:none;color:var(--brand-main);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);height:auto;letter-spacing:-0.3px;margin-left:auto;margin-right:-16px;padding:16px;position:fixed;right:16px;top:12px;z-index:101;width:auto}.hy-site-header__menu-open-button[aria-expanded=true]:hover{cursor:pointer}.hy-site-header__menu-open-button[aria-expanded=true] hy-icon{margin-left:8px}.hy-site-header__menu-open-button[aria-expanded=true] hy-icon svg{fill:var(--brand-main)}.hy-site-header__donate-link{font-size:0.75rem;line-height:24px;font-weight:400;display:inline-grid;font-family:var(--main-font-family);-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;grid-template-columns:repeat(2, auto);color:var(--brand-main-nearly-black);letter-spacing:-0.5px;padding:0;text-decoration:none}@media (min-width: 1601px){.hy-site-header__donate-link{font-size:0.875rem;line-height:24px}}.hy-site-header__donate-link:hover{color:var(--brand-main);cursor:pointer}.hy-site-header__donate-link:hover svg{fill:var(--brand-main)}.hy-site-header__donate-link:focus{outline:solid 2px var(--additional-yellow);outline-offset:2px}.hy-site-header__content-top .hy-site-header__donate-link{color:var(--grayscale-white)}.hy-site-header__content-top .hy-site-header__donate-link svg{fill:var(--grayscale-white)}.hy-site-header__content-top .hy-site-header__donate-link:hover{color:var(--grayscale-medium);cursor:pointer}.hy-site-header__content-top .hy-site-header__donate-link:hover svg{fill:var(--grayscale-medium)}.hy-site-header__content-top{background-color:var(--grayscale-black);border-bottom:2px solid rgba(0, 0, 0, 0.7);position:relative}.hy-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;visibility:hidden}.hy-backdrop.is-active{background-color:rgba(0, 0, 0, 0.4);-webkit-transition:background-color 300ms;transition:background-color 300ms;visibility:visible;z-index:99}.hy-backdrop.is-active-top{background-color:rgba(0, 0, 0, 0.4);-webkit-transition:background-color 300ms;transition:background-color 300ms;visibility:visible;z-index:98}.hy-site-header__panel{background:var(--grayscale-white);bottom:0;overflow:hidden;position:fixed;right:0;top:0;visibility:visible;width:90%;z-index:100}@media (min-width: 30rem){.hy-site-header__panel{width:400px}}.hy-site-header__panel[aria-hidden=true]{visibility:hidden;padding:0;width:0}";
5981
+ const siteHeaderCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-site-header{background-color:var(--grayscale-white);z-index:100;border-bottom:2px solid var(--grayscale-dark)}@media (min-width: 75.0625rem){.hy-site-header{border-bottom:1px solid var(--grayscale-black);margin:0 auto;max-width:120.0625rem}}.hy-site-header.hy-site-header--sticky-active{-webkit-transition:-webkit-transform 200ms linear;transition:-webkit-transform 200ms linear;transition:transform 200ms linear;transition:transform 200ms linear, -webkit-transform 200ms linear;-webkit-transition-duration:0.2s;transition-duration:0.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-shadow:rgba(14, 104, 139, 0.2) 0 20px 20px -20px;box-shadow:rgba(14, 104, 139, 0.2) 0 20px 20px -20px}.hy-site-header.hy-site-header--sticky-visible{left:0;position:fixed;right:0;top:0}.hy-site-header.hy-site-header--sticky-visible.has-toolbar{top:39px}.hy-site-header.hy-site-header--sticky-visible.has-toolbar--large{top:79px}.hy-site-header.hy-site-header--sticky-hidden{top:0}@media (min-width: 75.0625rem){.hy-site-header.is-group hy-desktop-menu-links,.hy-site-header.is-group .hy-site-header__menu-desktop{margin-left:-10px}}.hy-site-header__container{padding:0 8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 75.0625rem){.hy-site-header__container{padding:0 32px}}.hy-site-header__container.is-group{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}@media (min-width: 75.0625rem){.hy-site-header__container.is-group{min-height:82px}}.hy-site-header__branding{padding:12px 0}@media (min-width: 75.0625rem){.hy-site-header__branding{padding:26px 0}}.hy-site-header__content-top .hy-site-header__branding{padding:8px 0}@media (min-width: 75.0625rem){.hy-site-header__content-top .hy-site-header__branding{padding:8px 0}}.hy-site-header__branding>p{font-size:0.75rem;line-height:14px;font-weight:400;font-family:var(--main-font-family);color:var(--grayscale-dark-text);letter-spacing:-0.1px;margin-bottom:4px;text-transform:uppercase}.hy-site-header__branding>p+a{min-height:auto}@media (min-width: 75.0625rem){.hy-site-header__branding>p{margin-bottom:8px}}.hy-site-header__branding>a{font-size:1rem;line-height:16px;font-weight:700;font-family:var(--main-font-family);color:var(--brand-main-nearly-black);letter-spacing:-0.6px;text-transform:uppercase;text-decoration:none;min-height:48px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (min-width: 75.0625rem){.hy-site-header__branding>a{font-size:1.625rem;line-height:30px;letter-spacing:-0.8px;min-height:auto}}.hy-site-header__branding>a img{height:100%;max-height:48px}@media (min-width: 75.0625rem){.hy-site-header__branding>a img{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@media (min-width: 75.0625rem){.is-group:not(.is-research-group)>.hy-site-header__branding{margin-right:42px;padding-bottom:0;margin-bottom:-10px}}.hy-site-header__actions{display:inline-grid;gap:4px;grid-template-columns:repeat(3, auto);-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}@media (min-width: 1601px){.hy-site-header__actions{gap:16px}}.hy-site-header__menu-open-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:44px;background-color:transparent;border:0;padding:0;margin:0}.hy-site-header__menu-open-button[aria-expanded=true]{font-size:1rem;line-height:18px;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border:none;color:var(--brand-main);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--main-font-family);height:auto;letter-spacing:-0.3px;margin-left:auto;margin-right:-16px;padding:16px;position:fixed;right:16px;top:12px;z-index:101;width:auto}.hy-site-header__menu-open-button[aria-expanded=true]:hover{cursor:pointer}.hy-site-header__menu-open-button[aria-expanded=true] hy-icon{margin-left:8px}.hy-site-header__menu-open-button[aria-expanded=true] hy-icon svg{fill:var(--brand-main)}.hy-site-header__donate-link{font-size:0.75rem;line-height:24px;font-weight:400;display:inline-grid;font-family:var(--main-font-family);-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;grid-template-columns:repeat(2, auto);color:var(--brand-main-nearly-black);letter-spacing:-0.5px;padding:0;text-decoration:none}@media (min-width: 1601px){.hy-site-header__donate-link{font-size:0.875rem;line-height:24px}}.hy-site-header__donate-link:hover{color:var(--brand-main);cursor:pointer}.hy-site-header__donate-link:hover svg{fill:var(--brand-main)}.hy-site-header__donate-link:focus{outline:solid 2px var(--additional-yellow);outline-offset:2px}.hy-site-header__content-top .hy-site-header__donate-link{color:var(--grayscale-white)}.hy-site-header__content-top .hy-site-header__donate-link svg{fill:var(--grayscale-white)}.hy-site-header__content-top .hy-site-header__donate-link:hover{color:var(--grayscale-medium);cursor:pointer}.hy-site-header__content-top .hy-site-header__donate-link:hover svg{fill:var(--grayscale-medium)}.hy-site-header__content-top{background-color:var(--grayscale-black);border-bottom:2px solid rgba(0, 0, 0, 0.7);position:relative}.hy-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;visibility:hidden}.hy-backdrop.is-active{background-color:rgba(0, 0, 0, 0.4);-webkit-transition:background-color 300ms;transition:background-color 300ms;visibility:visible;z-index:99}.hy-backdrop.is-active-top{background-color:rgba(0, 0, 0, 0.4);-webkit-transition:background-color 300ms;transition:background-color 300ms;visibility:visible;z-index:98}.hy-site-header__panel{background:var(--grayscale-white);bottom:0;overflow:hidden;position:fixed;right:0;top:0;visibility:visible;width:90%;z-index:100}@media (min-width: 30rem){.hy-site-header__panel{width:400px}}.hy-site-header__panel[aria-hidden=true]{visibility:hidden;padding:0;width:0}@media (min-width: 75.0625rem){.sticky-active{padding-top:var(--nav-height, 120px);-webkit-transition:-webkit-transform 200ms linear;transition:-webkit-transform 200ms linear;transition:transform 200ms linear;transition:transform 200ms linear, -webkit-transform 200ms linear;-webkit-transition-duration:0.2s;transition-duration:0.2s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform}}";
6684
5982
 
6685
5983
  let clickTimer = null;
6686
5984
  let scrollTimer = null;
@@ -6735,7 +6033,7 @@ let SiteHeader = class {
6735
6033
  clearTimeout(scrollTimeout$1);
6736
6034
  scrollTimeout$1 = setTimeout(() => {
6737
6035
  this.check();
6738
- }, 250);
6036
+ }, 50);
6739
6037
  }
6740
6038
  componentDidLoad() {
6741
6039
  // Set the browser resize observer to gather information about browser width.
@@ -6757,8 +6055,6 @@ let SiteHeader = class {
6757
6055
  this.languageLabels = labels.language_labels;
6758
6056
  this.searchLabels = labels.search_labels;
6759
6057
  this.groupPages = labels.group_pages;
6760
- this.el.children[0].setAttribute('menu-button-breadcrumb-home', this.menuLabels['home']);
6761
- this.el.children[0].setAttribute('menu-button-breadcrumb-main', this.menuLabels['main']);
6762
6058
  this.el.children[0].setAttribute('menu-button-breadcrumb-logourl', this.logoUrl);
6763
6059
  }
6764
6060
  // Check for the donation link information and set it to variables accordingly.
@@ -6774,10 +6070,6 @@ let SiteHeader = class {
6774
6070
  this.el.children[0].setAttribute('logo-url', this.logoUrl);
6775
6071
  this.el.children[0].setAttribute('site-label', this.siteLabel);
6776
6072
  this.el.children[0].setAttribute('site-url', this.siteUrl);
6777
- this.el.children[0].setAttribute('menu-button-submenu-expand', this.menuLabels['expand']);
6778
- this.el.children[0].setAttribute('menu-button-breadcrumb-return', this.menuLabels['return']);
6779
- this.el.children[0].setAttribute('menu-button-breadcrumb-home', this.menuLabels['home']);
6780
- this.el.children[0].setAttribute('menu-button-breadcrumb-main', this.menuLabels['main']);
6781
6073
  this.el.children[0].setAttribute('menu-button-breadcrumb-logourl', this.logoUrl);
6782
6074
  this.el.children[0].setAttribute('menu-language-label-open', this.languageLabels['open']);
6783
6075
  this.el.children[0].setAttribute('menu-language-label-close', this.languageLabels['close']);
@@ -6785,10 +6077,14 @@ let SiteHeader = class {
6785
6077
  if (this.groupType !== '') {
6786
6078
  this.isDesktopMenuDropdown = true;
6787
6079
  }
6080
+ const body = document.querySelector('body');
6081
+ body.style.setProperty('--nav-height', `${this.navbarHeight * 2}px`);
6788
6082
  }
6789
6083
  hasScrolled() {
6790
6084
  let topOffset = window.pageYOffset;
6791
6085
  const bodyElementClasses = document.querySelector('body').classList;
6086
+ const body = document.querySelector('body');
6087
+ body.style.setProperty('--nav-height', `${this.navbarHeight * 2}px`);
6792
6088
  if (bodyElementClasses.contains('hy-menu-sidepanel__no-scroll') ||
6793
6089
  bodyElementClasses.contains('hy-menu-sidebar__no-scroll')) {
6794
6090
  return;
@@ -6796,7 +6092,7 @@ let SiteHeader = class {
6796
6092
  if (Math.abs(this.lastScrollTop - topOffset) <= this.delta) {
6797
6093
  return;
6798
6094
  }
6799
- let hySiteHeader = this.el.shadowRoot.querySelector('.hy-site-header');
6095
+ let hySiteHeader = this.el.querySelector('.hy-site-header');
6800
6096
  if (!hySiteHeader)
6801
6097
  return;
6802
6098
  // If current position > last position AND scrolled past navbar...
@@ -6804,24 +6100,26 @@ let SiteHeader = class {
6804
6100
  // Scroll Down
6805
6101
  hySiteHeader.classList.remove('hy-site-header--sticky-visible');
6806
6102
  hySiteHeader.classList.remove('has-toolbar', 'has-toolbar--large');
6103
+ bodyElementClasses.remove('sticky-active');
6807
6104
  // Close Search panel
6808
6105
  //CludoSayt.hide();
6809
6106
  this.headerScrollDown.emit();
6810
6107
  }
6811
6108
  else {
6812
6109
  // Scroll Up
6813
- if (topOffset <= this.el.offsetTop + this.navbarHeight ||
6814
- (topOffset <= 10 && this.el.offsetTop + this.navbarHeight == 0)) {
6110
+ if (topOffset <= this.navbarHeight) {
6815
6111
  hySiteHeader.classList.remove('hy-site-header--sticky-active');
6816
6112
  hySiteHeader.classList.remove('hy-site-header--sticky-visible');
6817
6113
  hySiteHeader.classList.remove('hy-site-header--sticky-hidden');
6818
6114
  hySiteHeader.classList.remove('has-toolbar', 'has-toolbar--large');
6115
+ bodyElementClasses.remove('sticky-active');
6819
6116
  // Close desktop menu panel if it's open.
6820
6117
  }
6821
6118
  else {
6822
6119
  hySiteHeader.classList.add('hy-site-header--sticky-active');
6823
6120
  hySiteHeader.classList.remove('hy-site-header--sticky-hidden');
6824
6121
  hySiteHeader.classList.add('hy-site-header--sticky-visible');
6122
+ bodyElementClasses.add('sticky-active');
6825
6123
  if (bodyElementClasses.contains('toolbar-horizontal')) {
6826
6124
  hySiteHeader.classList.add('has-toolbar');
6827
6125
  if (bodyElementClasses.contains('toolbar-tray-open')) {
@@ -6893,18 +6191,18 @@ let SiteHeader = class {
6893
6191
  'hy-backdrop': true,
6894
6192
  'is-active': (this.isMenuOpen && !this.isDesktopMenuDropdown) ||
6895
6193
  (this.isTopMenuOpen && !this.isDesktopMenuDropdown),
6896
- } }), this.isGroup && (index.h("section", { class: `hy-site-header__content-top ${this.isTopMenuOpen ? 'is-open' : ''}` }, index.h("div", { class: "hy-site-header__container" }, index.h("div", { class: "hy-site-header__branding" }, index.h("hy-site-logo", { "is-group": true, "is-luomus-group": this.isLuomusGroup, size: logoSizeGroup, color: logoColorGroup, url: this.siteUrl, label: this.siteLabel })), this.dataMainMenuLinks.length > 2 && (index.h("hy-menu-main-group", { tabindex: "0", "is-mobile": false, "menu-label": (_a = this.groupPages['university_main_menu']) !== null && _a !== void 0 ? _a : null, "data-main-menu": this.dataMainMenuLinks })), index.h("div", { class: "hy-site-header__actions" }, index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels, isGroup: true }), !this.noSearch && (index.h("hy-site-search", { class: 'menu--secondary__item group', size: 18, color: logoColorGroup, "is-group": true, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.donateLink.map(({ label, url }) => {
6194
+ } }), this.isGroup && (index.h("section", { class: `hy-site-header__content-top ${this.isTopMenuOpen ? 'is-open' : ''}` }, index.h("div", { class: "hy-site-header__container" }, index.h("div", { class: "hy-site-header__branding" }, index.h("hy-site-logo", { "is-group": true, "is-luomus-group": this.isLuomusGroup, size: logoSizeGroup, color: logoColorGroup, url: this.siteUrl, label: this.siteLabel })), this.dataMainMenuLinks.length > 2 && (index.h("hy-menu-main-group", { tabindex: "0", "is-mobile": false, "menu-label": (_a = this.groupPages['university_main_menu']) !== null && _a !== void 0 ? _a : null, "data-main-menu": this.dataMainMenuLinks, "menu-label-close": this.menuLabelClose })), index.h("div", { class: "hy-site-header__actions" }, index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels, isGroup: true }), !this.noSearch && (index.h("hy-site-search", { class: 'menu--secondary__item group', size: 18, color: logoColorGroup, "is-group": true, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.donateLink.map(({ label, url }) => {
6897
6195
  return (index.h("a", { class: 'hy-site-header__donate-link', href: url }, index.h("hy-icon", { icon: 'hy-icon-heart-support', size: 14, fill: utils.ColorVariant.black }), index.h("span", null, label)));
6898
- }))))), index.h("section", { class: `hy-site-header__container ${this.isGroup ? 'is-group' : ''} ${this.groupType === 'research_group_menu' ? 'is-research-group' : ''}` }, index.h("div", { class: 'hy-site-header__branding' }, this.isGroup && this.groupType == 'research_group_menu' && index.h("p", null, this.researchGroupLabel), this.isGroup ? (index.h("a", { href: this.logoUrl }, this.groupType == 'generic_site_group_menu' && this.groupLogoUrl ? (index.h("img", { src: this.groupLogoUrl, alt: `${this.logoLabel} logo` })) : (this.logoLabel))) : (index.h("hy-site-logo", { size: logoSize, color: logoColor, url: this.logoUrl, label: this.logoLabel }))), this.groupType != 'research_group_menu' && (index.h("hy-desktop-menu-links", { "data-desktop-links": this.dataDesktopLinks, isGroup: this.isGroup, isDropdown: this.isDesktopMenuDropdown })), !this.isGroup && (index.h("div", { class: "hy-site-header__actions" }, index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels }), !this.noSearch && (index.h("hy-site-search", { size: 14, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, color: utils.ColorVariant.black, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.donateLink.map(({ label, url }) => {
6196
+ }))))), index.h("section", { class: `hy-site-header__container ${this.isGroup ? 'is-group' : ''} ${this.groupType === 'research_group_menu' ? 'is-research-group' : ''}` }, index.h("div", { class: 'hy-site-header__branding' }, this.isGroup && this.groupType == 'research_group_menu' && index.h("p", null, this.researchGroupLabel), this.isGroup ? (index.h("a", { href: this.logoUrl }, this.groupType == 'generic_site_group_menu' && this.groupLogoUrl ? (index.h("img", { src: this.groupLogoUrl, alt: `${this.logoLabel} logo` })) : (this.logoLabel))) : (index.h("hy-site-logo", { size: logoSize, color: logoColor, url: this.logoUrl, label: this.logoLabel }))), this.groupType != 'research_group_menu' && index.h("slot", { name: "menu" }), !this.isGroup && (index.h("div", { class: "hy-site-header__actions" }, index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels }), !this.noSearch && (index.h("hy-site-search", { size: 14, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, color: utils.ColorVariant.black, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.donateLink.map(({ label, url }) => {
6899
6197
  return (index.h("a", { class: 'hy-site-header__donate-link', href: url }, index.h("hy-icon", { icon: 'hy-icon-heart-support', size: 14, fill: utils.ColorVariant.black }), index.h("span", null, label)));
6900
6198
  }))))),
6901
6199
  ];
6902
6200
  case utils.MenuType.mobile:
6903
6201
  // Smaller than 960px screens
6904
- return (index.h("header", { class: classAttributes.join(' ') }, index.h("div", { class: { 'hy-backdrop': true, 'is-active': this.isMenuOpen } }), index.h("div", { class: { 'hy-backdrop': true, 'is-active-top': this.isTopMenuOpen } }), this.isGroup && (index.h("section", { class: `hy-site-header__content-top ${this.isTopMenuOpen ? 'is-open' : ''}` }, index.h("div", { class: "hy-site-header__container" }, index.h("div", { class: "hy-site-header__branding" }, index.h("hy-site-logo", { "is-group": true, "is-luomus-group": this.isLuomusGroup, size: logoSizeGroup, color: logoColorGroup, url: this.siteUrl, label: this.siteLabel })), index.h("div", { class: "hy-site-header__actions" }, index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels, isGroup: true }), !this.noSearch && (index.h("hy-site-search", { class: 'menu--secondary__item group', size: 18, color: logoColorGroup, "is-group": true, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.dataMainMenuLinks.length > 2 && (index.h("hy-menu-main-group", { "site-label": this.siteLabel, "site-url": this.siteUrl, "logo-label": this.logoLabel, "logo-url": this.logoUrl, "is-mobile": true, donate: this.donateLink, "data-main-menu": this.dataMainMenuLinks })))))), index.h("section", { class: "hy-site-header__container" }, index.h("div", { class: 'hy-site-header__branding' }, this.groupType == 'research_group_menu' && index.h("p", null, this.researchGroupLabel), this.isGroup ? (index.h("a", { href: this.logoUrl }, this.groupType == 'generic_site_group_menu' && this.groupLogoUrl ? (index.h("img", { src: this.groupLogoUrl, alt: `${this.logoLabel} logo` })) : (this.logoLabel))) : (index.h("hy-site-logo", { size: logoSize, color: logoColor, url: this.logoUrl, label: this.logoLabel }))), index.h("div", { class: "hy-site-header__actions" }, !this.isGroup && (index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels })), !this.isGroup && !this.noSearch && (index.h("hy-site-search", { size: 24, color: utils.ColorVariant.black, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), index.h("button", { onClick: () => toggleMenuMobileAndRemoveListener(), class: `hy-site-header__menu-open-button`, "aria-label": this.menuLabels['open'], "aria-expanded": `${this.isMenuOpen}` }, !this.isMenuOpen && index.h("hy-icon", { icon: 'hy-icon-hamburger', size: 24, fill: utils.ColorVariant.black }), this.isMenuOpen && (index.h(index.Fragment, null, index.h("span", null, "Close"), index.h("hy-icon", { icon: 'hy-icon-remove', size: 16 }))))), index.h("div", { class: {
6202
+ return (index.h("header", { class: classAttributes.join(' ') }, index.h("div", { class: { 'hy-backdrop': true, 'is-active': this.isMenuOpen } }), index.h("div", { class: { 'hy-backdrop': true, 'is-active-top': this.isTopMenuOpen } }), this.isGroup && (index.h("section", { class: `hy-site-header__content-top ${this.isTopMenuOpen ? 'is-open' : ''}` }, index.h("div", { class: "hy-site-header__container" }, index.h("div", { class: "hy-site-header__branding" }, index.h("hy-site-logo", { "is-group": true, "is-luomus-group": this.isLuomusGroup, size: logoSizeGroup, color: logoColorGroup, url: this.siteUrl, label: this.siteLabel })), index.h("div", { class: "hy-site-header__actions" }, index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels, isGroup: true }), !this.noSearch && (index.h("hy-site-search", { class: 'menu--secondary__item group', size: 18, color: logoColorGroup, "is-group": true, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.dataMainMenuLinks.length > 2 && (index.h("hy-menu-main-group", { "site-label": this.siteLabel, "site-url": this.siteUrl, "logo-label": this.logoLabel, "logo-url": this.logoUrl, "is-mobile": true, donate: this.donateLink, "data-main-menu": this.dataMainMenuLinks })))))), index.h("section", { class: "hy-site-header__container" }, index.h("div", { class: 'hy-site-header__branding' }, this.groupType == 'research_group_menu' && index.h("p", null, this.researchGroupLabel), this.isGroup ? (index.h("a", { href: this.logoUrl }, this.groupType == 'generic_site_group_menu' && this.groupLogoUrl ? (index.h("img", { src: this.groupLogoUrl, alt: `${this.logoLabel} logo` })) : (this.logoLabel))) : (index.h("hy-site-logo", { size: logoSize, color: logoColor, url: this.logoUrl, label: this.logoLabel }))), index.h("div", { class: "hy-site-header__actions" }, !this.isGroup && (index.h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels })), !this.isGroup && !this.noSearch && (index.h("hy-site-search", { size: 24, color: utils.ColorVariant.black, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), index.h("button", { onClick: () => toggleMenuMobileAndRemoveListener(), class: `hy-site-header__menu-open-button`, "aria-label": this.isMenuOpen ? this.menuLabels['close'] : this.menuLabels['open'], "aria-expanded": `${this.isMenuOpen}` }, !this.isMenuOpen && index.h("hy-icon", { icon: 'hy-icon-hamburger', size: 24, fill: utils.ColorVariant.black }), this.isMenuOpen && (index.h(index.Fragment, null, index.h("span", null, this.menuLabelClose), index.h("hy-icon", { icon: 'hy-icon-remove', size: 16 }))))), index.h("div", { class: {
6905
6203
  'is-open': this.isMenuOpen,
6906
6204
  'hy-site-header__panel': true,
6907
- }, "aria-hidden": `${!this.isMenuOpen}` }, index.h("slot", { name: 'menu' })))));
6205
+ }, "aria-hidden": `${!this.isMenuOpen}` }, index.h("slot", { name: 'menu_mobile' })))));
6908
6206
  }
6909
6207
  }
6910
6208
  get el() { return index.getElement(this); }
@@ -7516,7 +6814,7 @@ let HyUserLoginForm = class {
7516
6814
  };
7517
6815
  HyUserLoginForm.style = hyUserLoginFormCss;
7518
6816
 
7519
- const hyVideoCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}a.hy-video{text-decoration:none}.hy-video__video-container{display:inline-block;margin-bottom:22px;position:relative;width:100%}.hy-video__video-container iframe{border:0;height:100%;overflow:hidden;width:100%}@supports (aspect-ratio: 16/9){.hy-video__video-container iframe{aspect-ratio:16/9;height:auto}}.hy-video__video-container .hy-video__preview-image{height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}.hy-video__video-container .hy-video__play{background-color:var(--grayscale-white);left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.hy-video__video-container .hy-video__play button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:24px}@media (min-width: 30rem){.hy-video__video-container .hy-video__play button{padding:36px}}.hy-video__video-container .hy-video__play button:hover{cursor:pointer}.hy-video__video-container .hy-video__play button .hy-video__button-label{font-size:0.9375rem;line-height:18px;color:var(--link-blue);font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.1px;text-align:center;text-transform:uppercase}@media (min-width: 30rem){.hy-video__video-container .hy-video__play button .hy-video__button-label{font-size:1.0625rem;line-height:20px;letter-spacing:-0.14px}}@media (min-width: 75.0625rem){.hy-video__video-container .hy-video__play button .hy-video__button-label{font-size:1.0625rem;line-height:20px;letter-spacing:-0.16px}}.hy-video__video-container .hy-video__play button svg{fill:var(--link-blue);height:44px;width:44px}@media (min-width: 60rem){.hy-video__video-container .hy-video__play button svg{height:80px;width:80px}}.hy-video__video-container .hy-video__play__simple{background-color:rgba(0, 0, 0, 0.2);position:absolute;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.hy-video__video-container .hy-video__play__simple:hover{cursor:pointer}.hy-video__video-container .hy-video__play__simple button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;border:none;display:-webkit-box;display:-ms-flexbox;display:flex}.hy-video__video-container .hy-video__play__simple button svg{fill:var(--grayscale-white);height:44px;width:44px}@media (min-width: 60rem){.hy-video__video-container .hy-video__play__simple button svg{height:80px;width:80px}}.hy-video__video-container>*:not(.hy-video__label,.hy-video__play,.hy-video__play__simple){bottom:0;left:0;position:absolute;right:0;top:0}.hy-video__video-container:after{content:\"\";display:block;padding-top:56.25%}.hy-video:not(.hy-video--horizontal){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 1601px){.hy-video:not(.hy-video--horizontal):not(.hy-video__default,.hy-video--list){max-width:66%}}.hy-video__label{font-size:0.75rem;line-height:14px;display:inline-block;background-color:var(--grayscale-black);color:var(--grayscale-white);font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.5px;padding:6px 8px;margin:0 0 22px;text-transform:uppercase}.hy-video.hy-video--horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 60rem){.hy-video.hy-video--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.hy-video.hy-video--horizontal .hy-video__meta{padding-left:0;width:100%}@media (min-width: 60rem){.hy-video.hy-video--horizontal .hy-video__meta{padding-left:2.5%;width:57.24%}}.hy-video__meta__title h2.hy-heading{border:none;margin:8px 0 12px 0 !important;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;padding:0 !important}@media (min-width: 60rem){.hy-video__meta__title h2.hy-heading{margin:0 0 16px 0 !important}}.hy-video__meta__details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-bottom:12px}@media (min-width: 60rem){.hy-video__meta__details{margin-bottom:16px}}.hy-video__meta__details--item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:44px;min-width:87px;padding-right:46px;place-content:center space-between}.hy-video__meta__description__content{font-size:0.9375rem;line-height:22px;color:var(--grayscale-black);display:block;font-family:var(--main-font-family);letter-spacing:0;width:100%}@media (min-width: 30rem){.hy-video__meta__description__content{font-size:1.0625rem;line-height:26px}}.hy-video__meta__description__more-button{font-size:1rem;line-height:24px;color:var(--brand-main-light);font-family:var(--main-font-family)}.hy-video__meta__description__more-button:hover{cursor:pointer}.hy-video__meta__label{font-size:0.9375rem;line-height:18px;font-weight:700;color:var(--grayscale-black);font-family:var(--main-font-family);margin-bottom:4px}.hy-video__meta__content{font-size:0.9375rem;line-height:22px;color:var(--grayscale-black);font-family:var(--main-font-family);letter-spacing:-0.5px}@media (min-width: 30rem){.hy-video__meta__content{font-size:1.0625rem;line-height:26px;letter-spacing:-0.56px}}";
6817
+ const hyVideoCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}a.hy-video{text-decoration:none}.hy-video__video-container{display:inline-block;margin-bottom:22px;position:relative;width:100%}.hy-video__video-container iframe{border:0;height:100%;overflow:hidden;width:100%}@supports (aspect-ratio: 16/9){.hy-video__video-container iframe{aspect-ratio:16/9;height:auto}}.hy-video__video-container .hy-video__preview-image{height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}.hy-video__video-container .hy-video__play{background-color:var(--grayscale-white);left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.hy-video__video-container .hy-video__play button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:24px}@media (min-width: 30rem){.hy-video__video-container .hy-video__play button{padding:36px}}.hy-video__video-container .hy-video__play button:hover{cursor:pointer}.hy-video__video-container .hy-video__play button .hy-video__button-label{font-size:0.9375rem;line-height:18px;color:var(--link-blue);font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.1px;text-align:center;text-transform:uppercase}@media (min-width: 30rem){.hy-video__video-container .hy-video__play button .hy-video__button-label{font-size:1.0625rem;line-height:20px;letter-spacing:-0.14px}}@media (min-width: 75.0625rem){.hy-video__video-container .hy-video__play button .hy-video__button-label{font-size:1.0625rem;line-height:20px;letter-spacing:-0.16px}}.hy-video__video-container .hy-video__play button svg{fill:var(--link-blue);height:44px;width:44px}@media (min-width: 60rem){.hy-video__video-container .hy-video__play button svg{height:80px;width:80px}}.hy-video__video-container .hy-video__play__simple{background-color:rgba(0, 0, 0, 0.2);position:absolute;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.hy-video__video-container .hy-video__play__simple:hover{cursor:pointer}.hy-video__video-container .hy-video__play__simple button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;border:none;display:-webkit-box;display:-ms-flexbox;display:flex}.hy-video__video-container .hy-video__play__simple button svg{fill:var(--grayscale-white);height:44px;width:44px}@media (min-width: 60rem){.hy-video__video-container .hy-video__play__simple button svg{height:80px;width:80px}}.hy-video__video-container>*:not(.hy-video__label,.hy-video__play,.hy-video__play__simple){bottom:0;left:0;position:absolute;right:0;top:0}.hy-video__video-container:after{content:\"\";display:block;padding-top:56.25%}.hy-video:not(.hy-video--horizontal){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 1601px){.hy-video:not(.hy-video--horizontal):not(.hy-video__default,.hy-video--list){max-width:66%}}.hy-video--list .hy-video__meta__details{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;gap:32px}.hy-video--list .hy-video__meta__details--item{margin-right:0;padding-right:0}.hy-video__label{font-size:0.75rem;line-height:14px;display:inline-block;background-color:var(--grayscale-black);color:var(--grayscale-white);font-family:var(--main-font-family);font-weight:bold;letter-spacing:-0.5px;padding:6px 8px;margin:0 0 22px;text-transform:uppercase}.hy-video.hy-video--horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 60rem){.hy-video.hy-video--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.hy-video.hy-video--horizontal .hy-video__meta{padding-left:0;width:100%}@media (min-width: 60rem){.hy-video.hy-video--horizontal .hy-video__meta{padding-left:2.5%;width:57.24%}}.hy-video__meta__title h2.hy-heading,.hy-video__meta__title h3.hy-heading{border:none;margin:8px 0 12px 0 !important;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;padding:0 !important}@media (min-width: 60rem){.hy-video__meta__title h2.hy-heading,.hy-video__meta__title h3.hy-heading{margin:0 0 16px 0 !important}}.hy-video__meta__details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-bottom:12px}@media (min-width: 60rem){.hy-video__meta__details{margin-bottom:16px}}.hy-video__meta__details--item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:44px;min-width:87px;padding-right:46px;place-content:center space-between}.hy-video__meta__description__content{font-size:0.9375rem;line-height:22px;color:var(--grayscale-black);display:block;font-family:var(--main-font-family);letter-spacing:0;width:100%}@media (min-width: 30rem){.hy-video__meta__description__content{font-size:1.0625rem;line-height:26px}}.hy-video__meta__description__more-button{font-size:1rem;line-height:24px;color:var(--brand-main-light);font-family:var(--main-font-family)}.hy-video__meta__description__more-button:hover{cursor:pointer}.hy-video__meta__label{font-size:0.9375rem;line-height:18px;font-weight:700;color:var(--grayscale-black);font-family:var(--main-font-family);margin-bottom:4px}.hy-video__meta__content{font-size:0.9375rem;line-height:22px;color:var(--grayscale-black);font-family:var(--main-font-family);letter-spacing:-0.5px}@media (min-width: 30rem){.hy-video__meta__content{font-size:1.0625rem;line-height:26px;letter-spacing:-0.56px}}";
7520
6818
 
7521
6819
  let HyVideo = class {
7522
6820
  constructor(hostRef) {
@@ -7525,6 +6823,10 @@ let HyVideo = class {
7525
6823
  this.contextLabelVisible = false;
7526
6824
  /** Should play button be visible */
7527
6825
  this.playButtonVisible = false;
6826
+ /** Series label */
6827
+ this.seriesLabel = 'In this series';
6828
+ /** Series count */
6829
+ this.seriesCount = null;
7528
6830
  /** Use horizontal layout where metadata is on side */
7529
6831
  this.horizontal = false;
7530
6832
  this.disableLazy = false;
@@ -7572,7 +6874,7 @@ let HyVideo = class {
7572
6874
  if (this.linkToVideo && this.styleList) {
7573
6875
  return [
7574
6876
  index.h("a", { href: this.linkToVideo, class: classAttributes }, this.videoTitle && !this.horizontal && !this.styleList && (index.h("hy-heading", { class: "hy-video__meta__title", heading: utils.HeadingVarians.h2 }, this.videoTitle)), index.h("div", { class: "hy-video__video-container" }, this.previewImageUrl ? (index.h("div", null, this.renderPreviewWithLink(), index.h("slot", { name: "video" }))) : (index.h("slot", { name: "video" })), this.playButtonVisible && this.renderPlayButton()), index.h("div", { class: "hy-video__meta" }, (this.videoTitle && this.horizontal) ||
7575
- (this.styleList && (index.h("hy-heading", { class: "hy-video__meta__title", heading: utils.HeadingVarians.h2 }, this.videoTitle))), this.contextLabelVisible && index.h("span", { class: "hy-video__label" }, this.contextLabel), (this.duration || this.views || this.dateAdded) && (index.h("div", { class: "hy-video__meta__details" }, this.duration && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.durationLabel), index.h("span", { class: "hy-video__meta__content" }, this.duration))), this.views && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.viewsLabel), index.h("span", { class: "hy-video__meta__content" }, this.views))), this.dateAdded && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.dateAddedLabel), index.h("span", { class: "hy-video__meta__content" }, this.dateAdded))))), this.videoDescription && (index.h("div", { class: "hy-video__meta__description", "aria-expanded": this.descCollapsed ? 'false' : 'true' }, index.h("div", { class: "hy-video__meta__description__content" }, this.descCollapsed ? this.truncate(this.videoDescription, 255) : this.videoDescription), charCount > maxChars && (index.h("span", { class: "hy-video__meta__description__more-button", role: "button", tabindex: "0", "aria-expanded": this.descCollapsed ? 'false' : 'true', onClick: () => (this.descCollapsed = !this.descCollapsed), onKeyDown: (e) => {
6877
+ (this.styleList && (index.h("hy-heading", { class: "hy-video__meta__title", heading: utils.HeadingVarians.h3 }, this.videoTitle))), this.contextLabelVisible && index.h("span", { class: "hy-video__label" }, this.contextLabel), (this.duration || this.views || this.dateAdded || this.seriesCount) && (index.h("div", { class: "hy-video__meta__details" }, this.duration && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.durationLabel), index.h("span", { class: "hy-video__meta__content" }, this.duration))), this.views && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.viewsLabel), index.h("span", { class: "hy-video__meta__content" }, this.views))), this.dateAdded && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.dateAddedLabel), index.h("span", { class: "hy-video__meta__content" }, this.dateAdded))), !this.views && this.seriesCount && (index.h("div", { class: "hy-video__meta__details--item" }, index.h("span", { class: "hy-video__meta__label" }, this.seriesLabel), index.h("span", { class: "hy-video__meta__content" }, this.seriesCount))))), this.videoDescription && (index.h("div", { class: "hy-video__meta__description", "aria-expanded": this.descCollapsed ? 'false' : 'true' }, index.h("div", { class: "hy-video__meta__description__content" }, this.descCollapsed ? this.truncate(this.videoDescription, 255) : this.videoDescription), charCount > maxChars && (index.h("span", { class: "hy-video__meta__description__more-button", role: "button", tabindex: "0", "aria-expanded": this.descCollapsed ? 'false' : 'true', onClick: () => (this.descCollapsed = !this.descCollapsed), onKeyDown: (e) => {
7576
6878
  if (e.key != ' ')
7577
6879
  return;
7578
6880
  e.preventDefault();
@@ -7615,7 +6917,6 @@ exports.hy_content_list_item = HyContentLstItem;
7615
6917
  exports.hy_crisis_banner = HyCrisisBanner;
7616
6918
  exports.hy_cta_button = CtaButton;
7617
6919
  exports.hy_cta_link = CtaLink;
7618
- exports.hy_desktop_menu_links = HyDesktopMenuLinks;
7619
6920
  exports.hy_dropdown = HyDropdown;
7620
6921
  exports.hy_dropdown_panel = HyDropdownPanel;
7621
6922
  exports.hy_dropdown_panel_item = HyDropdownPanelItem;
@@ -7653,14 +6954,9 @@ exports.hy_logo_grid = HyLogoGrid;
7653
6954
  exports.hy_logo_grid_item = HyLogoGridItem;
7654
6955
  exports.hy_main = HyMain;
7655
6956
  exports.hy_main_content_wrapper = HyMainContentWrapper;
7656
- exports.hy_menu = Menu;
7657
- exports.hy_menu_item = MenuItem;
7658
6957
  exports.hy_menu_language = MenuLanguage;
7659
6958
  exports.hy_menu_language_item = SiteLanguage;
7660
- exports.hy_menu_level_container = MenuLevelContainer;
7661
6959
  exports.hy_menu_main_group = HyMenuMainGroup;
7662
- exports.hy_menu_mobile_breadcrumb = MenuMobileBreadcrumb;
7663
- exports.hy_mobile_menu_shortcuts = HyMobileMenuShortcuts;
7664
6960
  exports.hy_opening_hours = HyOpeningHours;
7665
6961
  exports.hy_opening_hours_content = HyOpeningHoursContent;
7666
6962
  exports.hy_pager = HyPager;