@itcenteratunihelsinki/huds-lib 0.8.55 → 0.8.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/components/emotion.esm.js.map +1 -1
  2. package/components/hy-hero-carousel.js +2 -5
  3. package/components/hy-hero-carousel.js.map +1 -1
  4. package/components/hy-site-header.js +1 -1
  5. package/components/hy-site-header.js.map +1 -1
  6. package/components/index2.js.map +1 -1
  7. package/dist/cjs/color-box_91.cjs.entry.js +3 -3
  8. package/dist/cjs/color-box_91.cjs.entry.js.map +1 -1
  9. package/dist/cjs/{globalScript-d341436f.js → globalScript-42d6be40.js} +2 -2
  10. package/dist/cjs/{globalScript-d341436f.js.map → globalScript-42d6be40.js.map} +1 -1
  11. package/dist/cjs/huds-lib.cjs.js +3 -3
  12. package/dist/cjs/huds-lib.cjs.js.map +1 -1
  13. package/dist/cjs/hy-event-item.cjs.entry.js +1 -1
  14. package/dist/cjs/hy-events.cjs.entry.js +1 -1
  15. package/dist/cjs/hy-hero-carousel.cjs.entry.js +4 -7
  16. package/dist/cjs/hy-hero-carousel.cjs.entry.js.map +1 -1
  17. package/dist/cjs/{index-ca4e37f2.js → index-8fc99295.js} +35 -88
  18. package/dist/cjs/index-8fc99295.js.map +1 -0
  19. package/dist/cjs/loader.cjs.js +3 -3
  20. package/dist/cjs/loader.cjs.js.map +1 -1
  21. package/dist/collection/collection-manifest.json +1 -1
  22. package/dist/collection/components/hy-hero-carousel/hy-hero-carousel.css +7 -0
  23. package/dist/collection/components/site-header/site-header.css +7 -0
  24. package/dist/esm/color-box_91.entry.js +3 -3
  25. package/dist/esm/color-box_91.entry.js.map +1 -1
  26. package/dist/esm/{globalScript-3c6fab71.js → globalScript-784ce932.js} +2 -2
  27. package/dist/esm/{globalScript-3c6fab71.js.map → globalScript-784ce932.js.map} +1 -1
  28. package/dist/esm/huds-lib.js +4 -4
  29. package/dist/esm/huds-lib.js.map +1 -1
  30. package/dist/esm/hy-event-item.entry.js +1 -1
  31. package/dist/esm/hy-events.entry.js +1 -1
  32. package/dist/esm/hy-hero-carousel.entry.js +4 -7
  33. package/dist/esm/hy-hero-carousel.entry.js.map +1 -1
  34. package/dist/esm/{index-9920074a.js → index-f9deccc3.js} +35 -88
  35. package/dist/esm/index-f9deccc3.js.map +1 -0
  36. package/dist/esm/loader.js +4 -4
  37. package/dist/esm/loader.js.map +1 -1
  38. package/dist/huds-lib/color-box_91.entry.js +2 -2
  39. package/dist/huds-lib/color-box_91.entry.js.map +1 -1
  40. package/dist/huds-lib/{globalScript-3c6fab71.js → globalScript-784ce932.js} +2 -2
  41. package/dist/huds-lib/huds-lib.esm.js +1 -1
  42. package/dist/huds-lib/huds-lib.esm.js.map +1 -1
  43. package/dist/huds-lib/hy-event-item.entry.js +1 -1
  44. package/dist/huds-lib/hy-events.entry.js +1 -1
  45. package/dist/huds-lib/hy-hero-carousel.entry.js +1 -1
  46. package/dist/huds-lib/hy-hero-carousel.entry.js.map +1 -1
  47. package/dist/huds-lib/index-f9deccc3.js +3 -0
  48. package/dist/huds-lib/index-f9deccc3.js.map +1 -0
  49. package/dist/types/stencil-public-runtime.d.ts +0 -1
  50. package/package.json +2 -2
  51. package/dist/cjs/index-ca4e37f2.js.map +0 -1
  52. package/dist/esm/index-9920074a.js.map +0 -1
  53. package/dist/huds-lib/index-9920074a.js +0 -3
  54. package/dist/huds-lib/index-9920074a.js.map +0 -1
  55. /package/dist/huds-lib/{globalScript-3c6fab71.js.map → globalScript-784ce932.js.map} +0 -0
@@ -11,7 +11,7 @@ import { d as defineCustomElement$4 } from './hy-search-field2.js';
11
11
  import { d as defineCustomElement$3 } from './site-logo.js';
12
12
  import { d as defineCustomElement$2 } from './site-search.js';
13
13
 
14
- 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-light:#f9a21a;--additional-yellow:#c47f1b;--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);-webkit-transform:none;transform:none}.hy-site-header:not(.is-at-top){top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}@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:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-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;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transition-delay:0.2s;transition-delay:0.2s}.hy-site-header.hy-site-header--sticky-visible.hy-site-header--mobile{-webkit-transform:none;transform:none}.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}";
14
+ 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-light:#f9a21a;--additional-yellow:#c47f1b;--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);-webkit-transform:none;transform:none}.hy-site-header:not(.is-at-top){top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}@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:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-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;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transition-delay:0.2s;transition-delay:0.2s}.hy-site-header.hy-site-header--sticky-visible.hy-site-header--mobile{-webkit-transform:none;transform:none}.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;min-width:150px}@media (min-width: 60rem){.hy-site-header__actions{min-width:none}}@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}";
15
15
 
16
16
  let clickTimer = null;
17
17
  let clickTimeout = null;
@@ -1 +1 @@
1
- {"file":"hy-site-header.js","mappings":";;;;;;;;;;;;;AAAA,MAAM,aAAa,GAAG,ugPAAugP;;ACgB7hP,IAAI,UAAU,GAAG,IAAI,CAAC;AAOtB,IAAI,YAAY,GAAG,IAAI,CAAC;MAOX,UAAU;;;;;;;;mBAEM,KAAK;yBACC,KAAK;uBACP,KAAK;8BACC,EAAE;qBACX,EAAE;wBACC,EAAE;;;;;;;;;2BASE,IAAI;oBACX,KAAK;qBACL,MAAM;;;oBAGU,IAAI;;;;sBAMjB,KAAK;6BACE,KAAK;iCACD,KAAK;yBACb,KAAK;2BACH,KAAK;wBACR,KAAK;yBAgBb,CAAC;iBACT,EAAE;wBACK,CAAC;;;EAGG,gBAAgB;IAC1C,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAgB,CAAC;IAE1E,IAAI,IAAI,CAAC,UAAU,EAAE;MACnB,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACvC;SAAM;MACL,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;KACxC;GACF;;EAG8B,mBAAmB;IAChD,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;GAClC;EAE0C,eAAe;IACxD,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;GAClD;EAGD,YAAY;IACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;GAC5B;EAED,mBAAmB;IACjB,IAAI,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;MAC1D,OAAO;KACR;IAED,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;MAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;KAC9B;;IAED,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;MACxB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC5B;;IAED,IAAI,IAAI,CAAC,YAAY,EAAE;MACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;GAChC;EAED,gBAAgB,CAAC,QAAQ,GAAG,IAAI;IAC9B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;IACpE,IAAI,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAgB,CAAC;IAC3E,IAAI,CAAC,YAAY;MAAE,OAAO;IAE1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEzG,IAAI,QAAQ,EAAE;MACZ,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,EAAE,gCAAgC,CAAC,CAAC;MAC9F,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;MAE/D,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;MAEvF,IAAI,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QACrD,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE1C,IAAI,kBAAkB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;UACpD,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SAClD;OACF;KACF;IAED,IAAI,CAAC,QAAQ,EAAE;MACb,YAAY,CAAC,SAAS,CAAC,MAAM,CAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,aAAa,EACb,oBAAoB,CACrB,CAAC;MACF,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KAC5C;GACF;EAED,gBAAgB;;IAEd,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO;MACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;OAChD;KACF,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG;MACjB,IAAI,EAAE,IAAI;MACV,UAAU,EAAE,OAAO;MACnB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACtB,CAAC;IAEF,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO;MAClD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;QACpB,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;UACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC;SAC1C;OACF,CAAC,CAAC;KACJ,EAAE,UAAU,CAAC,CAAC;IAEf,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,EAAE;MACV,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAClC;IAED,MAAM,aAAa,GAAG;MACpB,IAAI,EAAE,IAAI;MACV,UAAU,EAAE,KAAK;MACjB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACtB,CAAC;IAEF,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO;MACrD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;QACpB,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;UACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC;SAC1C;OACF,CAAC,CAAC;KACJ,EAAE,aAAa,CAAC,CAAC;IAElB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,MAAM,EAAE;MACV,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACrC;;IAGD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9E,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC;GACtE;EAED,MAAM,iBAAiB;;IAErB,IAAI,IAAI,CAAC,oBAAoB,EAAE;MAC7B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;MACjE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;MACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC;MAC7C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;MACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;MAErC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClF;;;IAID,IAAI,IAAI,CAAC,cAAc,EAAE;MACvB,IAAI,CAAC,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;MAC9D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KAC3E;;;IAGD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,0BAA0B,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,2BAA2B,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpF,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;MACzB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;KACnC;GACF;EAED,oBAAoB;IAClB,YAAY,CAAC,UAAU,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAC9B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACjC,YAAY,CAAC,YAAY,CAAC,CAAC;GAC5B;EAED,gBAAgB,CAAC,IAAY;;IAE3B,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;;IAGtF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;GAC9D;EAED,MAAM;;IACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;MAAE,OAAO;IAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC;IACvE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IACrC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC;IAE1C,IAAI,eAAe,GAAG;MACpB,gBAAgB;MAChB,mBAAmB,IAAI,CAAC,QAAQ,EAAE;MAClC,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,EAAE;MAC9B,WAAW;KACZ,CAAC;IAEF,MAAM,iCAAiC,GAAG;MACxC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;MACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,KAAiB;MAC3C,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,YAAY,EAAmB,CAAC;MAC9D,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;QACnD,iCAAiC,EAAE,CAAC;OACrC;KACF,CAAC;IAEF,IAAI,IAAI,CAAC,UAAU,EAAE;MACnB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAC/B,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3B,YAAY,GAAG,UAAU,CAAC;SAEzB,EAAE,GAAG,CAAC,CAAC;OACT,CAAC,CAAC;KACJ;IAED,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9D,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI;MACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;OAC5B;KACF,CAAC,CAAC;IAEH,QAAQ,IAAI,CAAC,QAAQ;MACnB,KAAK,QAAQ,CAAC,OAAO;;QAEnB,OAAO;UACL,cAAQ,KAAK,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAC3C,WACE,KAAK,EAAE;cACL,aAAa,EAAE,IAAI;cACnB,WAAW,EACT,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB;iBAC9C,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;aACtD,GACD,EACD,IAAI,CAAC,OAAO,KACX,eAAS,KAAK,EAAE,+BAA+B,IAAI,CAAC,aAAa,GAAG,SAAS,GAAG,EAAE,EAAE,IAClF,WAAK,KAAK,EAAC,2BAA2B,IACpC,WAAK,KAAK,EAAC,0BAA0B,IACnC,gCACY,IAAI,qBACG,IAAI,CAAC,aAAa,EACnC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,KAAK,EAAE,IAAI,CAAC,SAAS,GACrB,CACE,EACL,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,KAChC,0BACE,QAAQ,EAAC,GAAG,eACD,KAAK,gBACJ,MAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,mCAAI,IAAI,oBAC3C,IAAI,CAAC,iBAAiB,sBACpB,IAAI,CAAC,cAAc,GACrC,CACH,EACD,WAAK,KAAK,EAAC,yBAAyB,IAClC,8CAAsC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,SAAG,EACnG,CAAC,IAAI,CAAC,QAAQ,KACb,sBACE,KAAK,EAAE,6BAA6B,EACpC,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,cAAc,cACX,IAAI,qBACG,IAAI,CAAC,aAAa,mBACpB,IAAI,CAAC,WAAW,qBACd,UAAU,gBACf,IAAI,CAAC,eAAe,EAChC,MAAM,EAAE,IAAI,CAAC,YAAY,mBACV,IAAI,CAAC,oBAAoB,kBAC1B,IAAI,CAAC,eAAe,GAClC,CACH,EACA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC;YAChC,QACE,SAAG,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,GAAG,IAChD,eAAS,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,GAAI,EAC9E,gBAAO,KAAK,CAAQ,CAClB,EACJ;WACH,CAAC,CACE,CACF,CACE,CACX,EACD,eACE,KAAK,EAAE,6BAA6B,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,EAAE,IAChE,IAAI,CAAC,SAAS,KAAK,qBAAqB,GAAG,mBAAmB,GAAG,EACnE,EAAE,IAEF,WAAK,KAAK,EAAE,0BAA0B,IACnC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,qBAAqB,IAAI,aAAI,IAAI,CAAC,kBAAkB,CAAK,EAC3F,IAAI,CAAC,OAAO,IACX,SAAG,IAAI,EAAE,IAAI,CAAC,OAAO,IAClB,IAAI,CAAC,SAAS,IAAI,yBAAyB,IAAI,IAAI,CAAC,YAAY,IAC/D,WAAK,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,GAAI,KAE9D,IAAI,CAAC,SAAS,CACf,CACC,KAEJ,oBAAc,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,GAAI,CAC7F,CACG,EACL,IAAI,CAAC,SAAS,IAAI,qBAAqB,IAAI,YAAM,IAAI,EAAC,MAAM,GAAQ,EACpE,CAAC,IAAI,CAAC,OAAO,KACZ,WAAK,KAAK,EAAC,yBAAyB,IAClC,8CAAsC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,GAAI,EAC3F,CAAC,IAAI,CAAC,QAAQ,KACb,sBACE,IAAI,EAAE,EAAE,qBACS,IAAI,CAAC,aAAa,mBACpB,IAAI,CAAC,WAAW,qBACd,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,KAAK,gBACb,IAAI,CAAC,eAAe,EAChC,MAAM,EAAE,IAAI,CAAC,YAAY,mBACV,IAAI,CAAC,oBAAoB,kBAC1B,IAAI,CAAC,eAAe,GAClC,CACH,EACA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC;YAChC,QACE,SAAG,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,GAAG,IAChD,eAAS,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,GAAI,EAC9E,gBAAO,KAAK,CAAQ,CAClB,EACJ;WACH,CAAC,CACE,CACP,CACO,CACH;SACV,CAAC;MAEJ,KAAK,QAAQ,CAAC,MAAM;;QAElB,QACE,cAAQ,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAoB,IAAI,CAAC,UAAU,IACzE,WAAK,KAAK,EAAE,EAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAC,GAAI,EACnE,WAAK,KAAK,EAAE,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAC,GAAI,EACzE,IAAI,CAAC,OAAO,KACX,eAAS,KAAK,EAAE,+BAA+B,IAAI,CAAC,aAAa,GAAG,SAAS,GAAG,EAAE,EAAE,IAClF,WAAK,KAAK,EAAC,2BAA2B,IACpC,WAAK,KAAK,EAAC,0BAA0B,IACnC,gCACY,IAAI,qBACG,IAAI,CAAC,aAAa,EACnC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,KAAK,EAAE,IAAI,CAAC,SAAS,GACrB,CACE,EACN,WAAK,KAAK,EAAC,yBAAyB,IAClC,8CAAsC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,SAAG,EACnG,CAAC,IAAI,CAAC,QAAQ,KACb,sBACE,KAAK,EAAE,6BAA6B,EACpC,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,cAAc,cACX,IAAI,qBACG,IAAI,CAAC,aAAa,mBACpB,IAAI,CAAC,WAAW,qBACd,UAAU,gBACf,IAAI,CAAC,eAAe,EAChC,MAAM,EAAE,IAAI,CAAC,YAAY,mBACV,IAAI,CAAC,oBAAoB,kBAC1B,IAAI,CAAC,eAAe,GAClC,CACH,EACA,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,KAChC,wCACc,IAAI,CAAC,SAAS,cAChB,IAAI,CAAC,OAAO,gBACV,IAAI,CAAC,SAAS,cAChB,IAAI,CAAC,OAAO,eACX,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,UAAU,oBACP,IAAI,CAAC,iBAAiB,GACtC,CACH,CACG,CACF,CACE,CACX,EACD,eAAS,KAAK,EAAC,2BAA2B,IACxC,WAAK,KAAK,EAAE,0BAA0B,IACnC,IAAI,CAAC,SAAS,IAAI,qBAAqB,IAAI,aAAI,IAAI,CAAC,kBAAkB,CAAK,EAC3E,IAAI,CAAC,OAAO,IACX,SAAG,IAAI,EAAE,IAAI,CAAC,OAAO,IAClB,IAAI,CAAC,SAAS,IAAI,yBAAyB,IAAI,IAAI,CAAC,YAAY,IAC/D,WAAK,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,GAAI,KAE9D,IAAI,CAAC,SAAS,CACf,CACC,KAEJ,oBAAc,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,GAAI,CAC7F,CACG,EACN,WAAK,KAAK,EAAC,yBAAyB,IACjC,CAAC,IAAI,CAAC,OAAO,KACZ,8CAAsC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,GAAI,CAC7F,EACA,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAC9B,sBACE,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,YAAY,CAAC,KAAK,qBACR,IAAI,CAAC,aAAa,mBACpB,IAAI,CAAC,WAAW,qBACd,UAAU,gBACf,IAAI,CAAC,eAAe,EAChC,MAAM,EAAE,IAAI,CAAC,YAAY,mBACV,IAAI,CAAC,oBAAoB,kBAC1B,IAAI,CAAC,eAAe,GAClC,CACH,EACD,cACE,OAAO,EAAE,MAAM,iCAAiC,EAAE,EAClD,KAAK,EAAE,kCAAkC,gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBACjE,GAAG,IAAI,CAAC,UAAU,EAAE,IAElC,CAAC,IAAI,CAAC,UAAU,IAAI,eAAS,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,GAAI,EAC9F,IAAI,CAAC,UAAU,KACd,EAAC,QAAQ,QACP,gBAAO,IAAI,CAAC,cAAc,CAAQ,EAClC,eAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,GAAI,CACpC,CACZ,CACM,CACL,EACN,WACE,KAAK,EAAE;YACL,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,uBAAuB,EAAE,IAAI;WAC9B,iBACY,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAElC,YAAM,IAAI,EAAE,aAAa,GAAI,CACzB,CACE,CACH,EACT;KACL;GACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/site-header/site-header.scss?tag=hy-site-header","./src/components/site-header/site-header.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hy-site-header {\n background-color: var(--grayscale-white);\n z-index: 100;\n border-bottom: 2px solid var(--grayscale-dark);\n transform: none;\n\n &:not(.is-at-top) {\n top: 0;\n transform: translateY(-100%);\n transition: all 0.2s ease-in-out;\n }\n\n @include breakpoint($extrawide) {\n border-bottom: 1px solid var(--grayscale-black);\n margin: 0 auto;\n max-width: $fullhd;\n }\n\n &.hy-site-header--sticky-active {\n transition: all 0.2s ease-in-out;\n box-shadow: rgba(14, 104, 139, 0.2) 0 20px 20px -20px;\n }\n\n &.hy-site-header--sticky-visible {\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n transform: translateY(0);\n transition: all 0.2s ease-in-out;\n transition-delay: 0.2s;\n\n &.hy-site-header--mobile {\n transform: none;\n }\n\n &.has-toolbar {\n top: 39px;\n\n &--large {\n top: 79px;\n }\n }\n }\n\n &.hy-site-header--sticky-hidden {\n top: 0;\n }\n\n &.is-group {\n hy-desktop-menu-links,\n .hy-site-header__menu-desktop {\n @include breakpoint($extrawide) {\n margin-left: -10px;\n }\n }\n }\n}\n\n.hy-site-header__container {\n padding: 0 8px;\n display: flex;\n justify-content: space-between;\n\n @include breakpoint($extrawide) {\n padding: 0 32px;\n }\n\n &.is-group {\n flex-wrap: wrap;\n justify-content: flex-start;\n\n @include breakpoint($extrawide) {\n min-height: 82px;\n }\n }\n}\n\n.hy-site-header__branding {\n padding: 12px 0;\n\n @include breakpoint($extrawide) {\n padding: 26px 0;\n }\n\n .hy-site-header__content-top & {\n padding: 8px 0;\n\n @include breakpoint($extrawide) {\n padding: 8px 0;\n }\n }\n\n // Research group label\n > p {\n @include font-size(12px, 14px);\n @include font-weight($regular);\n font-family: var(--main-font-family);\n color: var(--grayscale-dark-text);\n letter-spacing: -0.1px;\n margin-bottom: 4px;\n text-transform: uppercase;\n\n + a {\n min-height: auto;\n }\n\n @include breakpoint($extrawide) {\n margin-bottom: 8px;\n }\n }\n\n // Group name link\n > a {\n @include font-size(16px, 16px);\n @include font-weight($bold);\n font-family: var(--main-font-family);\n color: var(--brand-main-nearly-black);\n letter-spacing: -0.6px;\n text-transform: uppercase;\n text-decoration: none;\n min-height: 48px;\n display: inline-flex;\n align-items: center;\n\n @include breakpoint($extrawide) {\n @include font-size(26px, 30px);\n letter-spacing: -0.8px;\n min-height: auto;\n }\n\n img {\n height: 100%;\n max-height: 48px;\n\n @include breakpoint($extrawide) {\n transform: translateY(-10px);\n }\n }\n }\n\n // Main container\n .is-group:not(.is-research-group) > & {\n @include breakpoint($extrawide) {\n margin-right: 32px + 10px;\n padding-bottom: 0;\n margin-bottom: -10px;\n }\n }\n}\n\n.hy-site-header__actions {\n display: inline-grid;\n gap: 4px;\n grid-template-columns: repeat(3, auto);\n justify-content: flex-end;\n\n @include breakpoint($xlarge) {\n gap: 16px;\n }\n}\n\n.hy-site-header__menu-open-button {\n align-items: center;\n display: inline-flex;\n height: 100%;\n justify-content: center;\n width: 44px;\n background-color: transparent;\n border: 0;\n padding: 0;\n margin: 0;\n\n &[aria-expanded=\"true\"] {\n @include font-size(16px, 18px);\n @include font-weight($bold);\n align-items: center;\n background-color: transparent;\n border: none;\n color: var(--brand-main);\n display: inline-flex;\n font-family: var(--main-font-family);\n height: auto;\n letter-spacing: -0.3px;\n margin-left: auto;\n margin-right: -16px;\n padding: 16px;\n position: fixed;\n right: 16px;\n top: 12px;\n z-index: 101;\n width: auto;\n\n &:hover {\n cursor: pointer;\n }\n\n hy-icon {\n margin-left: 8px;\n\n svg {\n fill: var(--brand-main);\n }\n }\n }\n}\n\n.hy-site-header__donate-link {\n @include font-size(12px, 24px);\n @include font-weight($regular);\n display: inline-grid;\n font-family: var(--main-font-family);\n align-items: center;\n gap: 4px;\n grid-template-columns: repeat(2, auto);\n color: var(--brand-main-nearly-black);\n letter-spacing: -0.5px;\n padding: 0;\n text-decoration: none;\n\n @include breakpoint($xlarge) {\n @include font-size(14px, 24px);\n }\n\n &:hover {\n color: var(--brand-main);\n cursor: pointer;\n\n svg {\n fill: var(--brand-main);\n }\n }\n\n &:focus {\n outline: solid 2px var(--additional-yellow);\n outline-offset: 2px;\n }\n\n .hy-site-header__content-top & {\n color: var(--grayscale-white);\n\n svg {\n fill: var(--grayscale-white);\n }\n\n &:hover {\n color: var(--grayscale-medium);\n cursor: pointer;\n\n svg {\n fill: var(--grayscale-medium);\n }\n }\n }\n}\n\n.hy-site-header__content-top {\n background-color: var(--grayscale-black);\n border-bottom: 2px solid rgb(000, 000, 000, 0.7);\n position: relative;\n}\n\n.hy-backdrop {\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n visibility: hidden;\n\n &.is-active {\n background-color: rgba(0, 0, 0, 0.4);\n transition: background-color 300ms;\n visibility: visible;\n z-index: 99;\n }\n\n &.is-active-top {\n background-color: rgba(0, 0, 0, 0.4);\n transition: background-color 300ms;\n visibility: visible;\n z-index: 98;\n }\n}\n\n.hy-site-header__panel {\n background: var(--grayscale-white);\n bottom: 0;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n visibility: visible;\n width: 90%;\n z-index: 100;\n\n @include breakpoint($narrow) {\n width: 400px;\n }\n\n &[aria-hidden=\"true\"] {\n visibility: hidden;\n padding: 0;\n width: 0;\n }\n}\n","export interface DesktopLinks {\n label: string;\n url: string;\n menuLinkId: string;\n}\nexport interface DonateLink {\n url: string;\n label: string;\n}\nexport interface ComponentLabels {\n open: string;\n close: string;\n expand?: string;\n label?: string;\n}\n\nlet clickTimer = null;\n\nimport {Component, Element, Event, EventEmitter, Fragment, h, Listen, Prop, State} from \"@stencil/core\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport {MenuType, ColorVariant, SiteLogoSize} from \"../../utils/utils\";\nimport {jsonParserWorker} from \"../../global/globalScript\";\n\nlet clickTimeout = null;\n\n@Component({\n tag: \"hy-site-header\",\n styleUrl: \"site-header.scss\",\n shadow: false,\n})\nexport class SiteHeader {\n @Element() el: HTMLElement;\n @Prop() isGroup: boolean = false;\n @Prop() isLuomusGroup: boolean = false;\n @Prop() isBetaGroup: boolean = false;\n @Prop() researchGroupLabel: string = \"\";\n @Prop() groupType: string = \"\";\n @Prop() groupLogoUrl: string = \"\";\n @Prop() dataMenuLanguage: string;\n @Prop() dataMenuDonate: string;\n @Prop() dataSiteHeaderLabels: string;\n @Prop() dataSiteSearchLabels: string;\n @Prop() logoUrl?: string;\n @Prop() logoLabel?: string;\n @Prop() siteLabel?: string;\n @Prop() siteUrl?: string;\n @Prop() showSearchLabel: boolean = true;\n @Prop() noSearch: boolean = false;\n @Prop() menuLabel: string = \"Menu\";\n @Prop() menuLabelOpen?: string;\n @Prop() menuLabelClose?: string;\n @Prop({reflect: true}) menuType: MenuType = null;\n\n @Prop() dataMainMenuLinks: DesktopLinks[] | string;\n @Prop() dataSearchTools: DesktopLinks[] | string;\n\n @State() isMobile: boolean;\n @State() isMenuOpen: boolean = false;\n @State() isDesktopMenuOpen: boolean = false;\n @State() isDesktopMenuDropdown: boolean = false;\n @State() isTopMenuOpen: boolean = false;\n @State() isBottomVisible: boolean = false;\n @State() isTopVisible: boolean = false;\n\n @Event() headerScrollUp: EventEmitter;\n @Event() headerScrollDown: EventEmitter;\n @Event() menuMobileToggled: EventEmitter;\n @Event() menuMobileTopToggled: EventEmitter;\n\n private ro: ResizeObserver;\n private bottomObserver: IntersectionObserver;\n private topObserver: IntersectionObserver;\n private donateLink: DonateLink[];\n private menuLabels: ComponentLabels[];\n private searchLabels: ComponentLabels[];\n private groupPages: ComponentLabels[];\n private languageLabels: ComponentLabels[];\n\n @State() lastScrollTop = 0;\n @State() delta = 50;\n @State() navbarHeight = 0;\n\n // Listener for toggling mobile menu panel on or off.\n @Listen(\"mobileMenuToggle\") mobileMenuToggle() {\n this.isMenuOpen = !this.isMenuOpen;\n this.menuMobileToggled.emit();\n let bodyElement = document.getElementsByTagName(\"body\")[0] as HTMLElement;\n\n if (this.isMenuOpen) {\n bodyElement.style.overflow = \"hidden\";\n } else {\n bodyElement.style.overflow = \"initial\";\n }\n }\n\n // Listener for toggling mobile menu top panel on or off.\n @Listen(\"mobileMenuTopToggle\") mobileMenuTopToggle() {\n this.isTopMenuOpen = !this.isTopMenuOpen;\n this.menuMobileTopToggled.emit();\n }\n\n @Listen(\"menuToggled\", {target: \"window\"}) mainMenuToggled() {\n this.isDesktopMenuOpen = !this.isDesktopMenuOpen;\n }\n\n @Listen(\"scroll\", {target: \"window\"})\n handleScroll() {\n this.headerScrollHandler();\n }\n\n headerScrollHandler() {\n let topOffset = window.pageYOffset;\n if (Math.abs(this.lastScrollTop - topOffset) <= this.delta) {\n return;\n }\n\n if (topOffset > this.lastScrollTop && !this.isTopVisible) {\n this.toggleStickyness(false);\n this.headerScrollDown.emit();\n }\n // Scrolling up\n if (topOffset < this.lastScrollTop && !this.isTopVisible) {\n this.toggleStickyness();\n this.headerScrollUp.emit();\n }\n // At the top of the page\n if (this.isTopVisible) {\n this.toggleStickyness(false);\n }\n\n this.lastScrollTop = topOffset;\n }\n\n toggleStickyness(toggleOn = true) {\n const bodyElementClasses = document.querySelector(\"body\").classList;\n let hySiteHeader = this.el.querySelector(\".hy-site-header\") as HTMLElement;\n if (!hySiteHeader) return;\n\n this.isTopVisible ? hySiteHeader.classList.add(\"is-at-top\") : hySiteHeader.classList.remove(\"is-at-top\");\n\n if (toggleOn) {\n hySiteHeader.classList.add(\"hy-site-header--sticky-active\", \"hy-site-header--sticky-visible\");\n hySiteHeader.classList.remove(\"hy-site-header--sticky-hidden\");\n\n !this.isBottomVisible && !this.isTopVisible && bodyElementClasses.add(\"sticky-active\");\n\n if (bodyElementClasses.contains(\"toolbar-horizontal\")) {\n hySiteHeader.classList.add(\"has-toolbar\");\n\n if (bodyElementClasses.contains(\"toolbar-tray-open\")) {\n hySiteHeader.classList.add(\"has-toolbar--large\");\n }\n }\n }\n\n if (!toggleOn) {\n hySiteHeader.classList.remove(\n \"hy-site-header--sticky-active\",\n \"hy-site-header--sticky-visible\",\n \"hy-site-header--sticky-hidden\",\n \"has-toolbar\",\n \"has-toolbar--large\"\n );\n bodyElementClasses.remove(\"sticky-active\");\n }\n }\n\n componentDidLoad() {\n // Set the browser resize observer to gather information about browser width.\n this.ro = new ResizeObserver((entries) => {\n for (const entry of entries) {\n this.applySizeClasses(entry.contentRect.width);\n }\n });\n this.ro.observe(document.body);\n\n const topOptions = {\n root: null,\n rootMargin: \"250px\",\n threshold: [0.0, 1.0],\n };\n\n this.topObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.target.nodeName === \"HEADER\") {\n this.isTopVisible = entry.isIntersecting;\n }\n });\n }, topOptions);\n\n const header = document.querySelector(\"header\");\n if (header) {\n this.topObserver.observe(header);\n }\n\n const bottomOptions = {\n root: null,\n rootMargin: \"0px\",\n threshold: [0.0, 1.0],\n };\n\n this.bottomObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.target.nodeName === \"HEADER\") {\n this.isTopVisible = entry.isIntersecting;\n }\n });\n }, bottomOptions);\n\n const footer = document.querySelector(\"hy-footer\");\n if (footer) {\n this.bottomObserver.observe(footer);\n }\n\n // Pass the dataMenuLanguage prop to menu component.\n this.el.children[0].setAttribute(\"data-menu-language\", this.dataMenuLanguage);\n this.navbarHeight = 120;\n const body = document.querySelector(\"body\");\n body.style.setProperty(\"--nav-height\", `${this.navbarHeight * 2}px`);\n }\n\n async componentWillLoad() {\n // Check for site header labels and set them to variables accordingly.\n if (this.dataSiteHeaderLabels) {\n const labels = await jsonParserWorker(this.dataSiteHeaderLabels);\n this.menuLabels = labels.menu_labels;\n this.languageLabels = labels.language_labels;\n this.searchLabels = labels.search_labels;\n this.groupPages = labels.group_pages;\n\n this.el.children[0].setAttribute(\"menu-button-breadcrumb-logourl\", this.logoUrl);\n }\n\n // Check for the donation link information and set it to variables accordingly.\n // Also pass the donation link data to menu-component.\n if (this.dataMenuDonate) {\n this.donateLink = await jsonParserWorker(this.dataMenuDonate);\n this.el.children[0].setAttribute(\"data-menu-donate\", this.dataMenuDonate);\n }\n // Pass the necessary information to menu component. These props will be\n // used in mobile menu.\n this.el.children[0].setAttribute(\"open\", this.isMenuOpen.toString());\n this.el.children[0].setAttribute(\"logo-label\", this.logoLabel);\n this.el.children[0].setAttribute(\"logo-url\", this.logoUrl);\n this.el.children[0].setAttribute(\"site-label\", this.siteLabel);\n this.el.children[0].setAttribute(\"site-url\", this.siteUrl);\n this.el.children[0].setAttribute(\"menu-button-breadcrumb-logourl\", this.logoUrl);\n this.el.children[0].setAttribute(\"menu-language-label-open\", this.languageLabels[\"open\"]);\n this.el.children[0].setAttribute(\"menu-language-label-close\", this.languageLabels[\"close\"]);\n this.el.children[0].setAttribute(\"label-front-page\", this.menuLabels[\"front_page\"]);\n\n if (this.groupType !== \"\") {\n this.isDesktopMenuDropdown = true;\n }\n }\n\n disconnectedCallback() {\n clearTimeout(clickTimer);\n this.ro.disconnect();\n this.topObserver.disconnect();\n this.bottomObserver.disconnect();\n clearTimeout(clickTimeout);\n }\n\n applySizeClasses(size: number) {\n // Set the menu-type based on the width of the browser.\n size <= 1200 ? (this.menuType = MenuType.mobile) : (this.menuType = MenuType.desktop);\n\n // Pass the menu type to menu component.\n this.isMobile = this.menuType === (MenuType.mobile || MenuType.tablet);\n const menuAttribute = this.menuType;\n this.el.children[0].setAttribute(\"menu-type\", menuAttribute);\n }\n\n render() {\n if (this.menuType === null) return;\n\n const logoSize = this.isMobile ? SiteLogoSize.small : SiteLogoSize.big;\n const logoSizeGroup = this.isMobile ? SiteLogoSize.small : SiteLogoSize.small;\n const logoColor = ColorVariant.black;\n const logoColorGroup = ColorVariant.white;\n\n let classAttributes = [\n \"hy-site-header\",\n `hy-site-header--${this.menuType}`,\n this.isGroup ? \"is-group\" : \"\",\n \"is-at-top\",\n ];\n\n const toggleMenuMobileAndRemoveListener = () => {\n window.removeEventListener(\"click\", handleClickOutside);\n this.mobileMenuToggle();\n };\n\n const handleClickOutside = (event: MouseEvent) => {\n const [targetElement] = event.composedPath() as HTMLElement[];\n if (targetElement.classList.contains(\"hy-backdrop\")) {\n toggleMenuMobileAndRemoveListener();\n }\n };\n\n if (this.isMenuOpen) {\n window.addEventListener(\"click\", () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n handleClickOutside;\n }, 250);\n });\n }\n\n let activeLang = \"en\";\n let dataMenuLanguageArray = JSON.parse(this.dataMenuLanguage);\n dataMenuLanguageArray.forEach((lang) => {\n if (lang.isActive) {\n activeLang = lang.langCode;\n }\n });\n\n switch (this.menuType) {\n case MenuType.desktop:\n // Larger than 1200px screens\n return [\n <header class={`${classAttributes.join(\" \")}`}>\n <div\n class={{\n \"hy-backdrop\": true,\n \"is-active\":\n (this.isMenuOpen && !this.isDesktopMenuDropdown) ||\n (this.isTopMenuOpen && !this.isDesktopMenuDropdown),\n }}\n />\n {this.isGroup && (\n <section class={`hy-site-header__content-top ${this.isTopMenuOpen ? \"is-open\" : \"\"}`}>\n <div class=\"hy-site-header__container\">\n <div class=\"hy-site-header__branding\">\n <hy-site-logo\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n size={logoSizeGroup}\n color={logoColorGroup}\n url={this.siteUrl}\n label={this.siteLabel}\n />\n </div>\n {this.dataMainMenuLinks.length > 2 && (\n <hy-menu-main-group\n tabindex=\"0\"\n is-mobile={false}\n menu-label={this.groupPages[\"university_main_menu\"] ?? null}\n data-main-menu={this.dataMainMenuLinks}\n menu-label-close={this.menuLabelClose}\n />\n )}\n <div class=\"hy-site-header__actions\">\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} isGroup />\n {!this.noSearch && (\n <hy-site-search\n class={\"menu--secondary__item group\"}\n size={18}\n color={logoColorGroup}\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n {this.donateLink.map(({label, url}) => {\n return (\n <a class={\"hy-site-header__donate-link\"} href={url}>\n <hy-icon icon={\"hy-icon-heart-support\"} size={14} fill={ColorVariant.black} />\n <span>{label}</span>\n </a>\n );\n })}\n </div>\n </div>\n </section>\n )}\n <section\n class={`hy-site-header__container ${this.isGroup ? \"is-group\" : \"\"} ${\n this.groupType === \"research_group_menu\" ? \"is-research-group\" : \"\"\n }`}\n >\n <div class={\"hy-site-header__branding\"}>\n {this.isGroup && this.groupType == \"research_group_menu\" && <p>{this.researchGroupLabel}</p>}\n {this.isGroup ? (\n <a href={this.logoUrl}>\n {this.groupType == \"generic_site_group_menu\" && this.groupLogoUrl ? (\n <img src={this.groupLogoUrl} alt={`${this.logoLabel} logo`} />\n ) : (\n this.logoLabel\n )}\n </a>\n ) : (\n <hy-site-logo size={logoSize} color={logoColor} url={this.logoUrl} label={this.logoLabel} />\n )}\n </div>\n {this.groupType != \"research_group_menu\" && <slot name=\"menu\"></slot>}\n {!this.isGroup && (\n <div class=\"hy-site-header__actions\">\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} />\n {!this.noSearch && (\n <hy-site-search\n size={14}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n color={ColorVariant.black}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n {this.donateLink.map(({label, url}) => {\n return (\n <a class={\"hy-site-header__donate-link\"} href={url}>\n <hy-icon icon={\"hy-icon-heart-support\"} size={14} fill={ColorVariant.black} />\n <span>{label}</span>\n </a>\n );\n })}\n </div>\n )}\n </section>\n </header>,\n ];\n\n case MenuType.mobile:\n // Smaller than 960px screens\n return (\n <header class={classAttributes.join(\" \")} data-menu-active={this.isMenuOpen}>\n <div class={{\"hy-backdrop\": true, \"is-active\": this.isMenuOpen}} />\n <div class={{\"hy-backdrop\": true, \"is-active-top\": this.isTopMenuOpen}} />\n {this.isGroup && (\n <section class={`hy-site-header__content-top ${this.isTopMenuOpen ? \"is-open\" : \"\"}`}>\n <div class=\"hy-site-header__container\">\n <div class=\"hy-site-header__branding\">\n <hy-site-logo\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n size={logoSizeGroup}\n color={logoColorGroup}\n url={this.siteUrl}\n label={this.siteLabel}\n />\n </div>\n <div class=\"hy-site-header__actions\">\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} isGroup />\n {!this.noSearch && (\n <hy-site-search\n class={\"menu--secondary__item group\"}\n size={18}\n color={logoColorGroup}\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n {this.dataMainMenuLinks.length > 2 && (\n <hy-menu-main-group\n site-label={this.siteLabel}\n site-url={this.siteUrl}\n logo-label={this.logoLabel}\n logo-url={this.logoUrl}\n is-mobile={true}\n donate={this.donateLink}\n data-main-menu={this.dataMainMenuLinks}\n />\n )}\n </div>\n </div>\n </section>\n )}\n <section class=\"hy-site-header__container\">\n <div class={\"hy-site-header__branding\"}>\n {this.groupType == \"research_group_menu\" && <p>{this.researchGroupLabel}</p>}\n {this.isGroup ? (\n <a href={this.logoUrl}>\n {this.groupType == \"generic_site_group_menu\" && this.groupLogoUrl ? (\n <img src={this.groupLogoUrl} alt={`${this.logoLabel} logo`} />\n ) : (\n this.logoLabel\n )}\n </a>\n ) : (\n <hy-site-logo size={logoSize} color={logoColor} url={this.logoUrl} label={this.logoLabel} />\n )}\n </div>\n <div class=\"hy-site-header__actions\">\n {!this.isGroup && (\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} />\n )}\n {!this.isGroup && !this.noSearch && (\n <hy-site-search\n size={24}\n color={ColorVariant.black}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n <button\n onClick={() => toggleMenuMobileAndRemoveListener()}\n class={`hy-site-header__menu-open-button`}\n aria-label={this.isMenuOpen ? this.menuLabels[\"close\"] : this.menuLabels[\"open\"]}\n aria-expanded={`${this.isMenuOpen}`}\n >\n {!this.isMenuOpen && <hy-icon icon={\"hy-icon-hamburger\"} size={24} fill={ColorVariant.black} />}\n {this.isMenuOpen && (\n <Fragment>\n <span>{this.menuLabelClose}</span>\n <hy-icon icon={\"hy-icon-remove\"} size={16} />\n </Fragment>\n )}\n </button>\n </div>\n <div\n class={{\n \"is-open\": this.isMenuOpen,\n \"hy-site-header__panel\": true,\n }}\n aria-hidden={`${!this.isMenuOpen}`}\n >\n <slot name={\"menu_mobile\"} />\n </div>\n </section>\n </header>\n );\n }\n }\n}\n"],"version":3}
1
+ {"file":"hy-site-header.js","mappings":"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","names":[],"sources":["./src/components/site-header/site-header.scss?tag=hy-site-header","./src/components/site-header/site-header.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hy-site-header {\n background-color: var(--grayscale-white);\n z-index: 100;\n border-bottom: 2px solid var(--grayscale-dark);\n transform: none;\n\n &:not(.is-at-top) {\n top: 0;\n transform: translateY(-100%);\n transition: all 0.2s ease-in-out;\n }\n\n @include breakpoint($extrawide) {\n border-bottom: 1px solid var(--grayscale-black);\n margin: 0 auto;\n max-width: $fullhd;\n }\n\n &.hy-site-header--sticky-active {\n transition: all 0.2s ease-in-out;\n box-shadow: rgba(14, 104, 139, 0.2) 0 20px 20px -20px;\n }\n\n &.hy-site-header--sticky-visible {\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n transform: translateY(0);\n transition: all 0.2s ease-in-out;\n transition-delay: 0.2s;\n\n &.hy-site-header--mobile {\n transform: none;\n }\n\n &.has-toolbar {\n top: 39px;\n\n &--large {\n top: 79px;\n }\n }\n }\n\n &.hy-site-header--sticky-hidden {\n top: 0;\n }\n\n &.is-group {\n hy-desktop-menu-links,\n .hy-site-header__menu-desktop {\n @include breakpoint($extrawide) {\n margin-left: -10px;\n }\n }\n }\n}\n\n.hy-site-header__container {\n padding: 0 8px;\n display: flex;\n justify-content: space-between;\n\n @include breakpoint($extrawide) {\n padding: 0 32px;\n }\n\n &.is-group {\n flex-wrap: wrap;\n justify-content: flex-start;\n\n @include breakpoint($extrawide) {\n min-height: 82px;\n }\n }\n}\n\n.hy-site-header__branding {\n padding: 12px 0;\n\n @include breakpoint($extrawide) {\n padding: 26px 0;\n }\n\n .hy-site-header__content-top & {\n padding: 8px 0;\n\n @include breakpoint($extrawide) {\n padding: 8px 0;\n }\n }\n\n // Research group label\n > p {\n @include font-size(12px, 14px);\n @include font-weight($regular);\n font-family: var(--main-font-family);\n color: var(--grayscale-dark-text);\n letter-spacing: -0.1px;\n margin-bottom: 4px;\n text-transform: uppercase;\n\n + a {\n min-height: auto;\n }\n\n @include breakpoint($extrawide) {\n margin-bottom: 8px;\n }\n }\n\n // Group name link\n > a {\n @include font-size(16px, 16px);\n @include font-weight($bold);\n font-family: var(--main-font-family);\n color: var(--brand-main-nearly-black);\n letter-spacing: -0.6px;\n text-transform: uppercase;\n text-decoration: none;\n min-height: 48px;\n display: inline-flex;\n align-items: center;\n\n @include breakpoint($extrawide) {\n @include font-size(26px, 30px);\n letter-spacing: -0.8px;\n min-height: auto;\n }\n\n img {\n height: 100%;\n max-height: 48px;\n\n @include breakpoint($extrawide) {\n transform: translateY(-10px);\n }\n }\n }\n\n // Main container\n .is-group:not(.is-research-group) > & {\n @include breakpoint($extrawide) {\n margin-right: 32px + 10px;\n padding-bottom: 0;\n margin-bottom: -10px;\n }\n }\n}\n\n.hy-site-header__actions {\n display: inline-grid;\n gap: 4px;\n grid-template-columns: repeat(3, auto);\n justify-content: flex-end;\n min-width: 150px;\n \n @include breakpoint($wide) {\n min-width: none;\n }\n\n @include breakpoint($xlarge) {\n gap: 16px;\n }\n}\n\n.hy-site-header__menu-open-button {\n align-items: center;\n display: inline-flex;\n height: 100%;\n justify-content: center;\n width: 44px;\n background-color: transparent;\n border: 0;\n padding: 0;\n margin: 0;\n\n &[aria-expanded=\"true\"] {\n @include font-size(16px, 18px);\n @include font-weight($bold);\n align-items: center;\n background-color: transparent;\n border: none;\n color: var(--brand-main);\n display: inline-flex;\n font-family: var(--main-font-family);\n height: auto;\n letter-spacing: -0.3px;\n margin-left: auto;\n margin-right: -16px;\n padding: 16px;\n position: fixed;\n right: 16px;\n top: 12px;\n z-index: 101;\n width: auto;\n\n &:hover {\n cursor: pointer;\n }\n\n hy-icon {\n margin-left: 8px;\n\n svg {\n fill: var(--brand-main);\n }\n }\n }\n}\n\n.hy-site-header__donate-link {\n @include font-size(12px, 24px);\n @include font-weight($regular);\n display: inline-grid;\n font-family: var(--main-font-family);\n align-items: center;\n gap: 4px;\n grid-template-columns: repeat(2, auto);\n color: var(--brand-main-nearly-black);\n letter-spacing: -0.5px;\n padding: 0;\n text-decoration: none;\n\n @include breakpoint($xlarge) {\n @include font-size(14px, 24px);\n }\n\n &:hover {\n color: var(--brand-main);\n cursor: pointer;\n\n svg {\n fill: var(--brand-main);\n }\n }\n\n &:focus {\n outline: solid 2px var(--additional-yellow);\n outline-offset: 2px;\n }\n\n .hy-site-header__content-top & {\n color: var(--grayscale-white);\n\n svg {\n fill: var(--grayscale-white);\n }\n\n &:hover {\n color: var(--grayscale-medium);\n cursor: pointer;\n\n svg {\n fill: var(--grayscale-medium);\n }\n }\n }\n}\n\n.hy-site-header__content-top {\n background-color: var(--grayscale-black);\n border-bottom: 2px solid rgb(000, 000, 000, 0.7);\n position: relative;\n}\n\n.hy-backdrop {\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n visibility: hidden;\n\n &.is-active {\n background-color: rgba(0, 0, 0, 0.4);\n transition: background-color 300ms;\n visibility: visible;\n z-index: 99;\n }\n\n &.is-active-top {\n background-color: rgba(0, 0, 0, 0.4);\n transition: background-color 300ms;\n visibility: visible;\n z-index: 98;\n }\n}\n\n.hy-site-header__panel {\n background: var(--grayscale-white);\n bottom: 0;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n visibility: visible;\n width: 90%;\n z-index: 100;\n\n @include breakpoint($narrow) {\n width: 400px;\n }\n\n &[aria-hidden=\"true\"] {\n visibility: hidden;\n padding: 0;\n width: 0;\n }\n}\n","export interface DesktopLinks {\n label: string;\n url: string;\n menuLinkId: string;\n}\nexport interface DonateLink {\n url: string;\n label: string;\n}\nexport interface ComponentLabels {\n open: string;\n close: string;\n expand?: string;\n label?: string;\n}\n\nlet clickTimer = null;\n\nimport {Component, Element, Event, EventEmitter, Fragment, h, Listen, Prop, State} from \"@stencil/core\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport {MenuType, ColorVariant, SiteLogoSize} from \"../../utils/utils\";\nimport {jsonParserWorker} from \"../../global/globalScript\";\n\nlet clickTimeout = null;\n\n@Component({\n tag: \"hy-site-header\",\n styleUrl: \"site-header.scss\",\n shadow: false,\n})\nexport class SiteHeader {\n @Element() el: HTMLElement;\n @Prop() isGroup: boolean = false;\n @Prop() isLuomusGroup: boolean = false;\n @Prop() isBetaGroup: boolean = false;\n @Prop() researchGroupLabel: string = \"\";\n @Prop() groupType: string = \"\";\n @Prop() groupLogoUrl: string = \"\";\n @Prop() dataMenuLanguage: string;\n @Prop() dataMenuDonate: string;\n @Prop() dataSiteHeaderLabels: string;\n @Prop() dataSiteSearchLabels: string;\n @Prop() logoUrl?: string;\n @Prop() logoLabel?: string;\n @Prop() siteLabel?: string;\n @Prop() siteUrl?: string;\n @Prop() showSearchLabel: boolean = true;\n @Prop() noSearch: boolean = false;\n @Prop() menuLabel: string = \"Menu\";\n @Prop() menuLabelOpen?: string;\n @Prop() menuLabelClose?: string;\n @Prop({reflect: true}) menuType: MenuType = null;\n\n @Prop() dataMainMenuLinks: DesktopLinks[] | string;\n @Prop() dataSearchTools: DesktopLinks[] | string;\n\n @State() isMobile: boolean;\n @State() isMenuOpen: boolean = false;\n @State() isDesktopMenuOpen: boolean = false;\n @State() isDesktopMenuDropdown: boolean = false;\n @State() isTopMenuOpen: boolean = false;\n @State() isBottomVisible: boolean = false;\n @State() isTopVisible: boolean = false;\n\n @Event() headerScrollUp: EventEmitter;\n @Event() headerScrollDown: EventEmitter;\n @Event() menuMobileToggled: EventEmitter;\n @Event() menuMobileTopToggled: EventEmitter;\n\n private ro: ResizeObserver;\n private bottomObserver: IntersectionObserver;\n private topObserver: IntersectionObserver;\n private donateLink: DonateLink[];\n private menuLabels: ComponentLabels[];\n private searchLabels: ComponentLabels[];\n private groupPages: ComponentLabels[];\n private languageLabels: ComponentLabels[];\n\n @State() lastScrollTop = 0;\n @State() delta = 50;\n @State() navbarHeight = 0;\n\n // Listener for toggling mobile menu panel on or off.\n @Listen(\"mobileMenuToggle\") mobileMenuToggle() {\n this.isMenuOpen = !this.isMenuOpen;\n this.menuMobileToggled.emit();\n let bodyElement = document.getElementsByTagName(\"body\")[0] as HTMLElement;\n\n if (this.isMenuOpen) {\n bodyElement.style.overflow = \"hidden\";\n } else {\n bodyElement.style.overflow = \"initial\";\n }\n }\n\n // Listener for toggling mobile menu top panel on or off.\n @Listen(\"mobileMenuTopToggle\") mobileMenuTopToggle() {\n this.isTopMenuOpen = !this.isTopMenuOpen;\n this.menuMobileTopToggled.emit();\n }\n\n @Listen(\"menuToggled\", {target: \"window\"}) mainMenuToggled() {\n this.isDesktopMenuOpen = !this.isDesktopMenuOpen;\n }\n\n @Listen(\"scroll\", {target: \"window\"})\n handleScroll() {\n this.headerScrollHandler();\n }\n\n headerScrollHandler() {\n let topOffset = window.pageYOffset;\n if (Math.abs(this.lastScrollTop - topOffset) <= this.delta) {\n return;\n }\n\n if (topOffset > this.lastScrollTop && !this.isTopVisible) {\n this.toggleStickyness(false);\n this.headerScrollDown.emit();\n }\n // Scrolling up\n if (topOffset < this.lastScrollTop && !this.isTopVisible) {\n this.toggleStickyness();\n this.headerScrollUp.emit();\n }\n // At the top of the page\n if (this.isTopVisible) {\n this.toggleStickyness(false);\n }\n\n this.lastScrollTop = topOffset;\n }\n\n toggleStickyness(toggleOn = true) {\n const bodyElementClasses = document.querySelector(\"body\").classList;\n let hySiteHeader = this.el.querySelector(\".hy-site-header\") as HTMLElement;\n if (!hySiteHeader) return;\n\n this.isTopVisible ? hySiteHeader.classList.add(\"is-at-top\") : hySiteHeader.classList.remove(\"is-at-top\");\n\n if (toggleOn) {\n hySiteHeader.classList.add(\"hy-site-header--sticky-active\", \"hy-site-header--sticky-visible\");\n hySiteHeader.classList.remove(\"hy-site-header--sticky-hidden\");\n\n !this.isBottomVisible && !this.isTopVisible && bodyElementClasses.add(\"sticky-active\");\n\n if (bodyElementClasses.contains(\"toolbar-horizontal\")) {\n hySiteHeader.classList.add(\"has-toolbar\");\n\n if (bodyElementClasses.contains(\"toolbar-tray-open\")) {\n hySiteHeader.classList.add(\"has-toolbar--large\");\n }\n }\n }\n\n if (!toggleOn) {\n hySiteHeader.classList.remove(\n \"hy-site-header--sticky-active\",\n \"hy-site-header--sticky-visible\",\n \"hy-site-header--sticky-hidden\",\n \"has-toolbar\",\n \"has-toolbar--large\"\n );\n bodyElementClasses.remove(\"sticky-active\");\n }\n }\n\n componentDidLoad() {\n // Set the browser resize observer to gather information about browser width.\n this.ro = new ResizeObserver((entries) => {\n for (const entry of entries) {\n this.applySizeClasses(entry.contentRect.width);\n }\n });\n this.ro.observe(document.body);\n\n const topOptions = {\n root: null,\n rootMargin: \"250px\",\n threshold: [0.0, 1.0],\n };\n\n this.topObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.target.nodeName === \"HEADER\") {\n this.isTopVisible = entry.isIntersecting;\n }\n });\n }, topOptions);\n\n const header = document.querySelector(\"header\");\n if (header) {\n this.topObserver.observe(header);\n }\n\n const bottomOptions = {\n root: null,\n rootMargin: \"0px\",\n threshold: [0.0, 1.0],\n };\n\n this.bottomObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.target.nodeName === \"HEADER\") {\n this.isTopVisible = entry.isIntersecting;\n }\n });\n }, bottomOptions);\n\n const footer = document.querySelector(\"hy-footer\");\n if (footer) {\n this.bottomObserver.observe(footer);\n }\n\n // Pass the dataMenuLanguage prop to menu component.\n this.el.children[0].setAttribute(\"data-menu-language\", this.dataMenuLanguage);\n this.navbarHeight = 120;\n const body = document.querySelector(\"body\");\n body.style.setProperty(\"--nav-height\", `${this.navbarHeight * 2}px`);\n }\n\n async componentWillLoad() {\n // Check for site header labels and set them to variables accordingly.\n if (this.dataSiteHeaderLabels) {\n const labels = await jsonParserWorker(this.dataSiteHeaderLabels);\n this.menuLabels = labels.menu_labels;\n this.languageLabels = labels.language_labels;\n this.searchLabels = labels.search_labels;\n this.groupPages = labels.group_pages;\n\n this.el.children[0].setAttribute(\"menu-button-breadcrumb-logourl\", this.logoUrl);\n }\n\n // Check for the donation link information and set it to variables accordingly.\n // Also pass the donation link data to menu-component.\n if (this.dataMenuDonate) {\n this.donateLink = await jsonParserWorker(this.dataMenuDonate);\n this.el.children[0].setAttribute(\"data-menu-donate\", this.dataMenuDonate);\n }\n // Pass the necessary information to menu component. These props will be\n // used in mobile menu.\n this.el.children[0].setAttribute(\"open\", this.isMenuOpen.toString());\n this.el.children[0].setAttribute(\"logo-label\", this.logoLabel);\n this.el.children[0].setAttribute(\"logo-url\", this.logoUrl);\n this.el.children[0].setAttribute(\"site-label\", this.siteLabel);\n this.el.children[0].setAttribute(\"site-url\", this.siteUrl);\n this.el.children[0].setAttribute(\"menu-button-breadcrumb-logourl\", this.logoUrl);\n this.el.children[0].setAttribute(\"menu-language-label-open\", this.languageLabels[\"open\"]);\n this.el.children[0].setAttribute(\"menu-language-label-close\", this.languageLabels[\"close\"]);\n this.el.children[0].setAttribute(\"label-front-page\", this.menuLabels[\"front_page\"]);\n\n if (this.groupType !== \"\") {\n this.isDesktopMenuDropdown = true;\n }\n }\n\n disconnectedCallback() {\n clearTimeout(clickTimer);\n this.ro.disconnect();\n this.topObserver.disconnect();\n this.bottomObserver.disconnect();\n clearTimeout(clickTimeout);\n }\n\n applySizeClasses(size: number) {\n // Set the menu-type based on the width of the browser.\n size <= 1200 ? (this.menuType = MenuType.mobile) : (this.menuType = MenuType.desktop);\n\n // Pass the menu type to menu component.\n this.isMobile = this.menuType === (MenuType.mobile || MenuType.tablet);\n const menuAttribute = this.menuType;\n this.el.children[0].setAttribute(\"menu-type\", menuAttribute);\n }\n\n render() {\n if (this.menuType === null) return;\n\n const logoSize = this.isMobile ? SiteLogoSize.small : SiteLogoSize.big;\n const logoSizeGroup = this.isMobile ? SiteLogoSize.small : SiteLogoSize.small;\n const logoColor = ColorVariant.black;\n const logoColorGroup = ColorVariant.white;\n\n let classAttributes = [\n \"hy-site-header\",\n `hy-site-header--${this.menuType}`,\n this.isGroup ? \"is-group\" : \"\",\n \"is-at-top\",\n ];\n\n const toggleMenuMobileAndRemoveListener = () => {\n window.removeEventListener(\"click\", handleClickOutside);\n this.mobileMenuToggle();\n };\n\n const handleClickOutside = (event: MouseEvent) => {\n const [targetElement] = event.composedPath() as HTMLElement[];\n if (targetElement.classList.contains(\"hy-backdrop\")) {\n toggleMenuMobileAndRemoveListener();\n }\n };\n\n if (this.isMenuOpen) {\n window.addEventListener(\"click\", () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n handleClickOutside;\n }, 250);\n });\n }\n\n let activeLang = \"en\";\n let dataMenuLanguageArray = JSON.parse(this.dataMenuLanguage);\n dataMenuLanguageArray.forEach((lang) => {\n if (lang.isActive) {\n activeLang = lang.langCode;\n }\n });\n\n switch (this.menuType) {\n case MenuType.desktop:\n // Larger than 1200px screens\n return [\n <header class={`${classAttributes.join(\" \")}`}>\n <div\n class={{\n \"hy-backdrop\": true,\n \"is-active\":\n (this.isMenuOpen && !this.isDesktopMenuDropdown) ||\n (this.isTopMenuOpen && !this.isDesktopMenuDropdown),\n }}\n />\n {this.isGroup && (\n <section class={`hy-site-header__content-top ${this.isTopMenuOpen ? \"is-open\" : \"\"}`}>\n <div class=\"hy-site-header__container\">\n <div class=\"hy-site-header__branding\">\n <hy-site-logo\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n size={logoSizeGroup}\n color={logoColorGroup}\n url={this.siteUrl}\n label={this.siteLabel}\n />\n </div>\n {this.dataMainMenuLinks.length > 2 && (\n <hy-menu-main-group\n tabindex=\"0\"\n is-mobile={false}\n menu-label={this.groupPages[\"university_main_menu\"] ?? null}\n data-main-menu={this.dataMainMenuLinks}\n menu-label-close={this.menuLabelClose}\n />\n )}\n <div class=\"hy-site-header__actions\">\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} isGroup />\n {!this.noSearch && (\n <hy-site-search\n class={\"menu--secondary__item group\"}\n size={18}\n color={logoColorGroup}\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n {this.donateLink.map(({label, url}) => {\n return (\n <a class={\"hy-site-header__donate-link\"} href={url}>\n <hy-icon icon={\"hy-icon-heart-support\"} size={14} fill={ColorVariant.black} />\n <span>{label}</span>\n </a>\n );\n })}\n </div>\n </div>\n </section>\n )}\n <section\n class={`hy-site-header__container ${this.isGroup ? \"is-group\" : \"\"} ${\n this.groupType === \"research_group_menu\" ? \"is-research-group\" : \"\"\n }`}\n >\n <div class={\"hy-site-header__branding\"}>\n {this.isGroup && this.groupType == \"research_group_menu\" && <p>{this.researchGroupLabel}</p>}\n {this.isGroup ? (\n <a href={this.logoUrl}>\n {this.groupType == \"generic_site_group_menu\" && this.groupLogoUrl ? (\n <img src={this.groupLogoUrl} alt={`${this.logoLabel} logo`} />\n ) : (\n this.logoLabel\n )}\n </a>\n ) : (\n <hy-site-logo size={logoSize} color={logoColor} url={this.logoUrl} label={this.logoLabel} />\n )}\n </div>\n {this.groupType != \"research_group_menu\" && <slot name=\"menu\"></slot>}\n {!this.isGroup && (\n <div class=\"hy-site-header__actions\">\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} />\n {!this.noSearch && (\n <hy-site-search\n size={14}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n color={ColorVariant.black}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n {this.donateLink.map(({label, url}) => {\n return (\n <a class={\"hy-site-header__donate-link\"} href={url}>\n <hy-icon icon={\"hy-icon-heart-support\"} size={14} fill={ColorVariant.black} />\n <span>{label}</span>\n </a>\n );\n })}\n </div>\n )}\n </section>\n </header>,\n ];\n\n case MenuType.mobile:\n // Smaller than 960px screens\n return (\n <header class={classAttributes.join(\" \")} data-menu-active={this.isMenuOpen}>\n <div class={{\"hy-backdrop\": true, \"is-active\": this.isMenuOpen}} />\n <div class={{\"hy-backdrop\": true, \"is-active-top\": this.isTopMenuOpen}} />\n {this.isGroup && (\n <section class={`hy-site-header__content-top ${this.isTopMenuOpen ? \"is-open\" : \"\"}`}>\n <div class=\"hy-site-header__container\">\n <div class=\"hy-site-header__branding\">\n <hy-site-logo\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n size={logoSizeGroup}\n color={logoColorGroup}\n url={this.siteUrl}\n label={this.siteLabel}\n />\n </div>\n <div class=\"hy-site-header__actions\">\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} isGroup />\n {!this.noSearch && (\n <hy-site-search\n class={\"menu--secondary__item group\"}\n size={18}\n color={logoColorGroup}\n is-group={true}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n {this.dataMainMenuLinks.length > 2 && (\n <hy-menu-main-group\n site-label={this.siteLabel}\n site-url={this.siteUrl}\n logo-label={this.logoLabel}\n logo-url={this.logoUrl}\n is-mobile={true}\n donate={this.donateLink}\n data-main-menu={this.dataMainMenuLinks}\n />\n )}\n </div>\n </div>\n </section>\n )}\n <section class=\"hy-site-header__container\">\n <div class={\"hy-site-header__branding\"}>\n {this.groupType == \"research_group_menu\" && <p>{this.researchGroupLabel}</p>}\n {this.isGroup ? (\n <a href={this.logoUrl}>\n {this.groupType == \"generic_site_group_menu\" && this.groupLogoUrl ? (\n <img src={this.groupLogoUrl} alt={`${this.logoLabel} logo`} />\n ) : (\n this.logoLabel\n )}\n </a>\n ) : (\n <hy-site-logo size={logoSize} color={logoColor} url={this.logoUrl} label={this.logoLabel} />\n )}\n </div>\n <div class=\"hy-site-header__actions\">\n {!this.isGroup && (\n <hy-menu-language data-menu-language={this.dataMenuLanguage} labels={this.languageLabels} />\n )}\n {!this.isGroup && !this.noSearch && (\n <hy-site-search\n size={24}\n color={ColorVariant.black}\n is-luomus-group={this.isLuomusGroup}\n is-beta-group={this.isBetaGroup}\n search-language={activeLang}\n show-label={this.showSearchLabel}\n labels={this.searchLabels}\n search-labels={this.dataSiteSearchLabels}\n search-tools={this.dataSearchTools}\n />\n )}\n <button\n onClick={() => toggleMenuMobileAndRemoveListener()}\n class={`hy-site-header__menu-open-button`}\n aria-label={this.isMenuOpen ? this.menuLabels[\"close\"] : this.menuLabels[\"open\"]}\n aria-expanded={`${this.isMenuOpen}`}\n >\n {!this.isMenuOpen && <hy-icon icon={\"hy-icon-hamburger\"} size={24} fill={ColorVariant.black} />}\n {this.isMenuOpen && (\n <Fragment>\n <span>{this.menuLabelClose}</span>\n <hy-icon icon={\"hy-icon-remove\"} size={16} />\n </Fragment>\n )}\n </button>\n </div>\n <div\n class={{\n \"is-open\": this.isMenuOpen,\n \"hy-site-header__panel\": true,\n }}\n aria-hidden={`${!this.isMenuOpen}`}\n >\n <slot name={\"menu_mobile\"} />\n </div>\n </section>\n </header>\n );\n }\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"index2.js","mappings":"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","names":["ResizeObserver","_ResizeObserver","ResizeObserverPolyfill"],"sources":["../node_modules/resize-observer-polyfill/src/shims/es6-collections.js","../node_modules/resize-observer-polyfill/src/shims/performance.now.js","../node_modules/resize-observer-polyfill/src/shims/requestAnimationFrame.js","../node_modules/resize-observer-polyfill/src/ResizeObserverController.js","../node_modules/resize-observer-polyfill/src/ResizeObservation.js","../node_modules/resize-observer-polyfill/src/ResizeObserverEntry.js","../node_modules/resize-observer-polyfill/src/_ResizeObserver.js","../node_modules/resize-observer-polyfill/src/ResizeObserver.js","../node_modules/resize-observer-polyfill/index.js"],"sourcesContent":["/**\r\n * A collection of shims that provided minimal\r\n * support of WeakMap and Map classes.\r\n *\r\n * These implementations are not meant to be used outside of\r\n * ResizeObserver modules as they cover only a limited range\r\n * of use cases.\r\n */\r\n\r\n/* eslint-disable require-jsdoc */\r\nconst hasNativeCollections =\r\n typeof window.WeakMap === 'function' &&\r\n typeof window.Map === 'function';\r\n\r\nconst WeakMap = (() => {\r\n if (hasNativeCollections) {\r\n return window.WeakMap;\r\n }\r\n\r\n function getIndex(arr, key) {\r\n let result = -1;\r\n\r\n arr.some((entry, index) => {\r\n let matches = entry[0] === key;\r\n\r\n if (matches) {\r\n result = index;\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n return result;\r\n }\r\n\r\n return class {\r\n constructor() {\r\n this.__entries__ = [];\r\n }\r\n\r\n get(key) {\r\n let index = getIndex(this.__entries__, key);\r\n\r\n return this.__entries__[index][1];\r\n }\r\n\r\n set(key, value) {\r\n let index = getIndex(this.__entries__, key);\r\n\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n } else {\r\n this.__entries__.push([key, value]);\r\n }\r\n }\r\n\r\n delete(key) {\r\n let entries = this.__entries__,\r\n index = getIndex(entries, key);\r\n\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n }\r\n\r\n has(key) {\r\n return !!~getIndex(this.__entries__, key);\r\n }\r\n };\r\n})();\r\n\r\nconst Map = (() => {\r\n if (hasNativeCollections) {\r\n return window.Map;\r\n }\r\n\r\n return class extends WeakMap {\r\n get size() {\r\n return this.__entries__.length;\r\n }\r\n\r\n clear() {\r\n this.__entries__.splice(0, this.__entries__.length);\r\n }\r\n\r\n entries() {\r\n return this.__entries__.slice();\r\n }\r\n\r\n keys() {\r\n return this.__entries__.map(entry => entry[0]);\r\n }\r\n\r\n values() {\r\n return this.__entries__.map(entry => entry[1]);\r\n }\r\n\r\n forEach(callback, ctx = null) {\r\n for (const entry of this.__entries__) {\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n }\r\n };\r\n})();\r\n\r\nexport {Map, WeakMap};\r\n","/**\r\n * A shim for performance.now method which falls back\r\n * to Date.now if the first one is not supported.\r\n *\r\n * @returns {Timestamp}\r\n */\r\nexport default (() => {\r\n if (\r\n window.performance &&\r\n typeof window.performance.now === 'function'\r\n ) {\r\n return () => window.performance.now();\r\n }\r\n\r\n return () => Date.now();\r\n})();\r\n","/**\r\n * A shim for requestAnimationFrame which falls back\r\n * to setTimeout if the first one is not supported.\r\n *\r\n * @returns {Number} Requests' identifier.\r\n */\r\nexport default (() => {\r\n if (\r\n window.requestAnimationFrame &&\r\n typeof window.requestAnimationFrame === 'function'\r\n ) {\r\n return window.requestAnimationFrame;\r\n }\r\n\r\n return callback => {\r\n return setTimeout(() => callback(Date.now()), 1000 / 60);\r\n };\r\n})();\r\n","import now from './shims/performance.now';\r\nimport requestAnimFrame from './shims/requestAnimationFrame';\r\n\r\nconst mutationsSupported = typeof window.MutationObserver === 'function';\r\n\r\n/**\r\n * Creates a wrapper function which ensures that\r\n * provided callback will be invoked only once\r\n * during the specified delay.\r\n *\r\n * @param {Function} callback - Function to be invoked.\r\n * @param {Number} [delay = 0] - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction debounce(callback, delay = 0) {\r\n let timeoutID = false;\r\n\r\n return function (...args) {\r\n if (timeoutID !== false) {\r\n clearTimeout(timeoutID);\r\n }\r\n\r\n timeoutID = setTimeout(() => {\r\n timeoutID = false;\r\n\r\n /* eslint-disable no-invalid-this */\r\n callback.apply(this, args);\r\n\r\n /* eslint-enable no-invalid-this */\r\n }, delay);\r\n };\r\n}\r\n\r\n/**\r\n * Controller class which handles updates of ResizeObserver instances.\r\n * It's meant to decide when and for how long it's necessary to run updates by listening to the windows\r\n * \"resize\" event along with a tracking of DOM mutations (nodes removal, changes of attributes, etc.).\r\n *\r\n * Transitions and animations are handled by running a repeatable update cycle either until the dimensions\r\n * of observed elements are changing or the timeout is reached (default timeout is 50 milliseconds).\r\n * Timeout value can be manually increased if transitions have a delay.\r\n *\r\n * Continuous update cycle will be used automatically in case if MutationObserver is not supported.\r\n */\r\nexport default class ResizeObserverController {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @param {Number} [idleTimeout = 0] - Idle timeout value.\r\n * @param {Boolean} [continuousUpdates = false] - Whether to use a continuous update cycle.\r\n */\r\n constructor(idleTimeout = 50, continuousUpdates = false) {\r\n this._idleTimeout = idleTimeout;\r\n this._isCycleContinuous = continuousUpdates;\r\n\r\n this._cycleStartTime = 0;\r\n\r\n // Indicates whether the update cycle is currently running.\r\n this._isCycleActive = false;\r\n\r\n // Indicates whether the update of observers is scheduled.\r\n this._isUpdateScheduled = false;\r\n\r\n // Indicates whether DOM listeners have been added.\r\n this._listenersEnabled = false;\r\n\r\n // Keeps reference to the instance of MutationObserver.\r\n this._mutationsObserver = null;\r\n\r\n // A list of connected observers.\r\n this._observers = [];\r\n\r\n // Fix value of \"this\" binding for the following methods.\r\n this.runUpdates = this.runUpdates.bind(this);\r\n this._resolveScheduled = this._resolveScheduled.bind(this);\r\n this._onMutation = this._onMutation.bind(this);\r\n\r\n // Function that will be invoked to re-run the\r\n // update cycle if continuous cycles are enabled.\r\n this._continuousCycleHandler = debounce(this.runUpdates, 200);\r\n }\r\n\r\n /**\r\n * Returns current idle timeout value.\r\n *\r\n * @returns {Number}\r\n */\r\n get idleTimeout() {\r\n return this._idleTimeout;\r\n }\r\n\r\n /**\r\n * Sets up new idle timeout value.\r\n *\r\n * @param {Number} value - New timeout value.\r\n */\r\n set idleTimeout(value) {\r\n this._idleTimeout = value;\r\n }\r\n\r\n /**\r\n * Tells whether continuous updates are enabled.\r\n *\r\n * @returns {Boolean}\r\n */\r\n get continuousUpdates() {\r\n return this._isCycleContinuous;\r\n }\r\n\r\n /**\r\n * Enables or disables continuous updates.\r\n *\r\n * @param {Boolean} value - Whether to enable or disable\r\n * continuous updates. Note that the value won't be applied\r\n * if MutationObserver is not supported.\r\n */\r\n set continuousUpdates(value) {\r\n if (mutationsSupported) {\r\n this._isCycleContinuous = value;\r\n }\r\n }\r\n\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserver} observer - Observer to be added.\r\n */\r\n connect(observer) {\r\n if (!this.isConnected(observer)) {\r\n this._observers.push(observer);\r\n }\r\n\r\n // Add listeners if they haven't been added yet.\r\n if (!this._listenersEnabled) {\r\n this._addListeners();\r\n }\r\n }\r\n\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserver} observer - Observer to be removed.\r\n */\r\n disconnect(observer) {\r\n let observers = this._observers,\r\n index = observers.indexOf(observer);\r\n\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n\r\n // Remove listeners if controller\r\n // has no connected observers.\r\n if (!observers.length && this._listenersEnabled) {\r\n this._removeListeners();\r\n }\r\n }\r\n\r\n /**\r\n * Tells whether provided observer is connected to controller.\r\n *\r\n * @param {ResizeObserver} observer - Observer to be checked.\r\n * @returns {Boolean}\r\n */\r\n isConnected(observer) {\r\n return !!~this._observers.indexOf(observer);\r\n }\r\n\r\n /**\r\n * Updates every observer from observers list and\r\n * notifies them of queued entries.\r\n *\r\n * @private\r\n * @returns {Boolean} Returns \"true\" if any observer\r\n * has detected changes in dimensions of its' elements.\r\n */\r\n _updateObservers() {\r\n let hasChanges = false;\r\n\r\n for (const observer of this._observers) {\r\n observer.gatherActive();\r\n\r\n if (observer.hasActive()) {\r\n hasChanges = true;\r\n\r\n observer.broadcastActive();\r\n }\r\n }\r\n\r\n return hasChanges;\r\n }\r\n\r\n /**\r\n * Starts the update cycle which will run either\r\n * until it detects changes in the dimensions of\r\n * elements or the idle timeout is reached.\r\n */\r\n runUpdates() {\r\n this._cycleStartTime = now();\r\n this._isCycleActive = true;\r\n\r\n this.scheduleUpdate();\r\n }\r\n\r\n /**\r\n * Schedules the update of observers.\r\n *\r\n * @private\r\n */\r\n scheduleUpdate() {\r\n if (!this._isUpdateScheduled) {\r\n this._isUpdateScheduled = true;\r\n\r\n requestAnimFrame(this._resolveScheduled);\r\n }\r\n }\r\n\r\n /**\r\n * Invokes the update of observers. It may re-run the\r\n * cycle if changes in observers have been detected.\r\n *\r\n * @private\r\n */\r\n _resolveScheduled() {\r\n const hasChanges = this._updateObservers();\r\n\r\n this._isUpdateScheduled = false;\r\n\r\n // Do nothing if cycle wasn't started.\r\n if (!this._isCycleActive) {\r\n return;\r\n }\r\n\r\n // Re-start cycle if changes have been detected.\r\n if (hasChanges) {\r\n this.runUpdates();\r\n } else if (this._hasRemainingTime()) {\r\n this.scheduleUpdate();\r\n } else {\r\n this._endUpdates();\r\n }\r\n }\r\n\r\n /**\r\n * Tells whether the update cycle has time remaining.\r\n *\r\n * @private\r\n * @returns {Boolean}\r\n */\r\n _hasRemainingTime() {\r\n const timePassed = now() - this._cycleStartTime;\r\n\r\n return this._idleTimeout - timePassed > 0;\r\n }\r\n\r\n /**\r\n * Callback which is invoked when update cycle\r\n * is finished. It may start a new cycle if continuous\r\n * updates are enabled.\r\n *\r\n * @private\r\n */\r\n _endUpdates() {\r\n this._isCycleActive = false;\r\n\r\n if (this._isCycleContinuous && this._listenersEnabled) {\r\n this._continuousCycleHandler();\r\n }\r\n }\r\n\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n */\r\n _addListeners() {\r\n // Do nothing if listeners have been already added.\r\n if (this._listenersEnabled) {\r\n return;\r\n }\r\n\r\n this._listenersEnabled = true;\r\n\r\n // Repeatable cycle is used here because the resize event may\r\n // lead to continuous changes, e.g. when width or height of an element\r\n // are controlled by CSS transitions.\r\n window.addEventListener('resize', this.runUpdates);\r\n\r\n // Fall back to an infinite cycle.\r\n if (!mutationsSupported) {\r\n this._isCycleContinuous = true;\r\n\r\n this.runUpdates();\r\n } else {\r\n // Subscribe to DOM mutations as they may lead to\r\n // changes in dimensions of elements.\r\n this._mutationsObserver = new MutationObserver(this._onMutation);\r\n\r\n this._mutationsObserver.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n */\r\n _removeListeners() {\r\n // Do nothing if listeners have been already removed.\r\n if (!this._listenersEnabled) {\r\n return;\r\n }\r\n\r\n window.removeEventListener('resize', this.runUpdates);\r\n\r\n if (this._mutationsObserver) {\r\n this._mutationsObserver.disconnect();\r\n }\r\n\r\n this._mutationsObserver = null;\r\n this._listenersEnabled = false;\r\n }\r\n\r\n /**\r\n * DOM mutations handler.\r\n *\r\n * @private\r\n * @param {Array<MutationRecord>} entries - An array of mutation records.\r\n */\r\n _onMutation(entries) {\r\n // Check if at least one entry\r\n // contains attributes changes.\r\n const attrsChanged = entries.some(entry => {\r\n return entry.type === 'attributes';\r\n });\r\n\r\n // It's expected that animations may start only\r\n // after some attribute changes its' value.\r\n attrsChanged ?\r\n this.runUpdates() :\r\n this.scheduleUpdate();\r\n }\r\n}\r\n","// Placeholder of a content rectangle.\r\nconst emptyRect = {\r\n width: 0,\r\n height: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0\r\n};\r\n\r\n/**\r\n * Extracts paddings data from the provided element.\r\n *\r\n * @param {Element} target - Element whose paddings to be extracted.\r\n * @returns {Object} Object that contains\r\n * left, top, right and bottom padding values.\r\n */\r\nfunction getPaddings(target) {\r\n const styles = window.getComputedStyle(target);\r\n const keys = ['top', 'right', 'bottom', 'left'];\r\n\r\n const paddings = {};\r\n\r\n for (const key of keys) {\r\n const value = styles['padding-' + key].replace('px', '');\r\n\r\n paddings[key] = parseFloat(value);\r\n }\r\n\r\n return paddings;\r\n}\r\n\r\n/**\r\n* Subtracts paddings from provided\r\n* dimensions and creates a content rectangle.\r\n*\r\n* @param {Number} clientWidth - Width including paddings.\r\n* @param {Number} clientHeight - Height including paddings.\r\n* @param {Object} paddings - Paddings data.\r\n* @returns {ClientRect}\r\n*/\r\nfunction createContentRect(clientWidth, clientHeight, paddings) {\r\n const top = paddings.top;\r\n const left = paddings.left;\r\n\r\n const width = clientWidth - (left + paddings.right);\r\n const height = clientHeight - (top + paddings.bottom);\r\n\r\n return {\r\n width,\r\n height,\r\n top,\r\n right: width + left,\r\n bottom: height + top,\r\n left\r\n };\r\n}\r\n\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGElement} target - Element whose content\r\n * rectangle needs to be calculated.\r\n * @returns {ClientRect}\r\n */\r\nfunction getSVGContentRect(target) {\r\n const bbox = target.getBBox();\r\n\r\n return createContentRect(bbox.width, bbox.height, emptyRect);\r\n}\r\n\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element whose content\r\n * rectangle needs to be calculated.\r\n * @returns {ClientRect}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n const width = target.clientWidth;\r\n const height = target.clientHeight;\r\n\r\n // It's not necessary to proceed with calculations\r\n // as it's already known that the rectangle is empty.\r\n if (!width && !height) {\r\n return emptyRect;\r\n }\r\n\r\n return createContentRect(width, height, getPaddings(target));\r\n}\r\n\r\n/**\r\n * Checks whether provided element\r\n * is an instance of SVGElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {Boolean}\r\n */\r\nfunction isSVGElement(target) {\r\n return target instanceof window.SVGElement;\r\n}\r\n\r\n/**\r\n * Calculates an appropriate content rectangle\r\n * for provided html or svg element.\r\n *\r\n * @param {Element} target - Element whose content rectangle\r\n * needs to be calculated.\r\n * @returns {ClientRect}\r\n */\r\nfunction getContentRect(target) {\r\n return isSVGElement(target) ?\r\n getSVGContentRect(target) :\r\n getHTMLElementContentRect(target);\r\n}\r\n\r\n/**\r\n * Class that is responsible for computations of the\r\n * content rectangle of provided DOM element and\r\n * for keeping track of its' changes.\r\n */\r\nexport default class ResizeObservation {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element whose content\r\n * rectangle needs to be observed.\r\n */\r\n constructor(target) {\r\n this.target = target;\r\n\r\n // Keeps reference to the last observed content rectangle.\r\n this._contentRect = emptyRect;\r\n\r\n // Broadcasted width of content rectangle.\r\n this.broadcastWidth = 0;\r\n\r\n // Broadcasted height of content rectangle.\r\n this.broadcastHeight = 0;\r\n }\r\n\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight'\r\n * properties with a data from the corresponding\r\n * properties of the last observed content rectangle.\r\n *\r\n * @returns {ClientRect} Last observed content rectangle.\r\n */\r\n broadcastRect() {\r\n const rect = this._contentRect;\r\n\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n\r\n return rect;\r\n }\r\n\r\n /**\r\n * Updates content rectangle and tells whether its'\r\n * width or height properties have changed since\r\n * the last broadcast.\r\n *\r\n * @returns {Boolean}\r\n */\r\n isActive() {\r\n const rect = getContentRect(this.target);\r\n\r\n this._contentRect = rect;\r\n\r\n return (\r\n rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight\r\n );\r\n }\r\n}\r\n","export default class ResizeObserverEntry {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {ClientRect} rectData - Data of the elements' content rectangle.\r\n */\r\n constructor(target, rectData) {\r\n const contentRect = {};\r\n\r\n // According to the specification following properties\r\n // are not writable and in native implementation\r\n // they are also not enumerable.\r\n Object.defineProperties(contentRect, {\r\n width: {value: rectData.width},\r\n height: {value: rectData.height},\r\n top: {value: rectData.top},\r\n right: {value: rectData.right},\r\n bottom: {value: rectData.bottom},\r\n left: {value: rectData.left}\r\n });\r\n\r\n Object.defineProperties(this, {\r\n target: {value: target},\r\n contentRect: {value: contentRect}\r\n });\r\n }\r\n}\r\n","import {Map} from './shims/es6-collections';\r\nimport ResizeObservation from './ResizeObservation';\r\nimport ResizeObserverEntry from './ResizeObserverEntry';\r\n\r\nexport default class ResizeObserver {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {Function} callback - Callback function which will be invoked\r\n * when one of the observed elements changes its' content rectangle.\r\n * @param {ResizeObsreverController} controller - Controller instance\r\n * which is responsible for the updates of observer.\r\n * @param {ResizeObserver} publicObserver - Reference\r\n * to the public ResizeObserver instance which will be passed\r\n * to callback function.\r\n */\r\n constructor(callback, controller, publicObserver) {\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n\r\n // Reference to the callback function.\r\n this._callback = callback;\r\n\r\n // A registry of ResizeObservation instances.\r\n this._targets = new Map();\r\n\r\n // A collection of resize observations that have detected\r\n // changes in dimensions of elements.\r\n this._activeTargets = [];\r\n\r\n // Reference to associated ResizeObserverController.\r\n this._controller = controller;\r\n\r\n // Public ResizeObserver instance which will be passed\r\n // to callback function.\r\n this._publicObserver = publicObserver;\r\n }\r\n\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n observe(target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n\r\n if (!(target instanceof Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n\r\n const targets = this._targets;\r\n\r\n // Do nothing if element is already being observed.\r\n if (targets.has(target)) {\r\n return;\r\n }\r\n\r\n targets.set(target, new ResizeObservation(target));\r\n\r\n // Add observer to controller\r\n // if it hasn't been connected yet.\r\n if (!this._controller.isConnected(this)) {\r\n this._controller.connect(this);\r\n }\r\n\r\n // Update observations.\r\n this._controller.runUpdates();\r\n }\r\n\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n */\r\n unobserve(target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n\r\n if (!(target instanceof Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n\r\n const targets = this._targets;\r\n\r\n // Do nothing if element is not being observed.\r\n if (!targets.has(target)) {\r\n return;\r\n }\r\n\r\n // Remove element and an associated with\r\n // it ResizeObsrvation instance from registry.\r\n targets.delete(target);\r\n\r\n if (!targets.size) {\r\n this.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Stops observing all elements and\r\n * clears the observations list.\r\n */\r\n disconnect() {\r\n this.clearActive();\r\n this._targets.clear();\r\n\r\n this._controller.disconnect(this);\r\n }\r\n\r\n /**\r\n * Invokes initial callback function with a list\r\n * of ResizeObserverEntry instances collected from\r\n * active resize observations.\r\n */\r\n broadcastActive() {\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n\r\n const publicObserver = this._publicObserver;\r\n\r\n const entries = this._activeTargets.map(observation => {\r\n return new ResizeObserverEntry(\r\n observation.target,\r\n observation.broadcastRect()\r\n );\r\n });\r\n\r\n this.clearActive();\r\n\r\n this._callback.call(publicObserver, entries, publicObserver);\r\n }\r\n\r\n /**\r\n * Clears the collection of pending/active observations.\r\n */\r\n clearActive() {\r\n this._activeTargets.splice(0);\r\n }\r\n\r\n /**\r\n * Tells whether the observer has\r\n * pending observations.\r\n *\r\n * @returns {Boolean}\r\n */\r\n hasActive() {\r\n return !!this._activeTargets.length;\r\n }\r\n\r\n /**\r\n * Clears an array of previously collected active observations\r\n * and collects observation instances whose associated element\r\n * has changes in its' content rectangle.\r\n */\r\n gatherActive() {\r\n this.clearActive();\r\n\r\n const activeTargets = this._activeTargets;\r\n\r\n this._targets.forEach(observation => {\r\n if (observation.isActive()) {\r\n activeTargets.push(observation);\r\n }\r\n });\r\n }\r\n}\r\n","import {WeakMap} from './shims/es6-collections';\r\nimport ResizeObserverController from './ResizeObserverController';\r\nimport _ResizeObserver from './_ResizeObserver';\r\n\r\n// Controller which will be assigned to all instances of ResizeObserver.\r\nconst controller = new ResizeObserverController();\r\n\r\n// Registry of internal observers.\r\nconst observers = new WeakMap();\r\n\r\n/**\r\n * ResizeObservers' \"Proxy\" class which is meant to hide private\r\n * properties and methods from public instances.\r\n *\r\n * Additionally it implements \"idleTimeout\" and \"continuousUpdates\" static property\r\n * accessors to give a control over the behavior of ResizeObserverController\r\n * instance. Changes made to these properties will affect all future and\r\n * existing observers.\r\n */\r\nclass ResizeObserver {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {Function} callback - Callback which will\r\n * be invoked when dimensions of one of the\r\n * observed elements have been changed.\r\n */\r\n constructor(callback) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n\r\n const observer = new _ResizeObserver(callback, controller, this);\r\n\r\n // Register an internal observer.\r\n observers.set(this, observer);\r\n }\r\n\r\n /**\r\n * Extracts controllers' idle timeout value.\r\n *\r\n * @returns {Number}\r\n */\r\n static get idleTimeout() {\r\n return controller.idleTimeout;\r\n }\r\n\r\n /**\r\n * Sets up new idle timeout.\r\n *\r\n * @param {Number} value - New timeout value.\r\n */\r\n static set idleTimeout(value) {\r\n if (typeof value !== 'number') {\r\n throw new TypeError('type of \"idleTimeout\" value must be a number.');\r\n }\r\n\r\n if (typeof value < 0) {\r\n throw new TypeError('\"idleTimeout\" value must be greater than 0.');\r\n }\r\n\r\n controller.idleTimeout = value;\r\n }\r\n\r\n /**\r\n * Tells whether continuous updates are enabled.\r\n *\r\n * @returns {Boolean}\r\n */\r\n static get continuousUpdates() {\r\n return controller.continuousUpdates;\r\n }\r\n\r\n /**\r\n * Enables or disables continuous updates.\r\n *\r\n * @param {Boolean} value - Whether to enable or disable\r\n * continuous updates.\r\n */\r\n static set continuousUpdates(value) {\r\n if (typeof value !== 'boolean') {\r\n throw new TypeError('type of \"continuousUpdates\" value must be a boolean.');\r\n }\r\n\r\n controller.continuousUpdates = value;\r\n }\r\n}\r\n\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(method => {\r\n ResizeObserver.prototype[method] = function () {\r\n return observers.get(this)[method](...arguments);\r\n };\r\n});\r\n\r\nexport default ResizeObserver;\r\n","import ResizeObserverPolyfill from './src/ResizeObserver';\r\n\r\nlet ResizeObserver = ResizeObserverPolyfill;\r\n\r\n// Export existing implementation if it's available.\r\nif (typeof window.ResizeObserver === 'function') {\r\n ResizeObserver = window.ResizeObserver;\r\n}\r\n\r\nexport default ResizeObserver;\r\n"],"version":3}
1
+ {"file":"index2.js","mappings":"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","names":["ResizeObserver","_ResizeObserver","ResizeObserverPolyfill"],"sources":["./node_modules/resize-observer-polyfill/src/shims/es6-collections.js","./node_modules/resize-observer-polyfill/src/shims/performance.now.js","./node_modules/resize-observer-polyfill/src/shims/requestAnimationFrame.js","./node_modules/resize-observer-polyfill/src/ResizeObserverController.js","./node_modules/resize-observer-polyfill/src/ResizeObservation.js","./node_modules/resize-observer-polyfill/src/ResizeObserverEntry.js","./node_modules/resize-observer-polyfill/src/_ResizeObserver.js","./node_modules/resize-observer-polyfill/src/ResizeObserver.js","./node_modules/resize-observer-polyfill/index.js"],"sourcesContent":["/**\r\n * A collection of shims that provided minimal\r\n * support of WeakMap and Map classes.\r\n *\r\n * These implementations are not meant to be used outside of\r\n * ResizeObserver modules as they cover only a limited range\r\n * of use cases.\r\n */\r\n\r\n/* eslint-disable require-jsdoc */\r\nconst hasNativeCollections =\r\n typeof window.WeakMap === 'function' &&\r\n typeof window.Map === 'function';\r\n\r\nconst WeakMap = (() => {\r\n if (hasNativeCollections) {\r\n return window.WeakMap;\r\n }\r\n\r\n function getIndex(arr, key) {\r\n let result = -1;\r\n\r\n arr.some((entry, index) => {\r\n let matches = entry[0] === key;\r\n\r\n if (matches) {\r\n result = index;\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n return result;\r\n }\r\n\r\n return class {\r\n constructor() {\r\n this.__entries__ = [];\r\n }\r\n\r\n get(key) {\r\n let index = getIndex(this.__entries__, key);\r\n\r\n return this.__entries__[index][1];\r\n }\r\n\r\n set(key, value) {\r\n let index = getIndex(this.__entries__, key);\r\n\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n } else {\r\n this.__entries__.push([key, value]);\r\n }\r\n }\r\n\r\n delete(key) {\r\n let entries = this.__entries__,\r\n index = getIndex(entries, key);\r\n\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n }\r\n\r\n has(key) {\r\n return !!~getIndex(this.__entries__, key);\r\n }\r\n };\r\n})();\r\n\r\nconst Map = (() => {\r\n if (hasNativeCollections) {\r\n return window.Map;\r\n }\r\n\r\n return class extends WeakMap {\r\n get size() {\r\n return this.__entries__.length;\r\n }\r\n\r\n clear() {\r\n this.__entries__.splice(0, this.__entries__.length);\r\n }\r\n\r\n entries() {\r\n return this.__entries__.slice();\r\n }\r\n\r\n keys() {\r\n return this.__entries__.map(entry => entry[0]);\r\n }\r\n\r\n values() {\r\n return this.__entries__.map(entry => entry[1]);\r\n }\r\n\r\n forEach(callback, ctx = null) {\r\n for (const entry of this.__entries__) {\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n }\r\n };\r\n})();\r\n\r\nexport {Map, WeakMap};\r\n","/**\r\n * A shim for performance.now method which falls back\r\n * to Date.now if the first one is not supported.\r\n *\r\n * @returns {Timestamp}\r\n */\r\nexport default (() => {\r\n if (\r\n window.performance &&\r\n typeof window.performance.now === 'function'\r\n ) {\r\n return () => window.performance.now();\r\n }\r\n\r\n return () => Date.now();\r\n})();\r\n","/**\r\n * A shim for requestAnimationFrame which falls back\r\n * to setTimeout if the first one is not supported.\r\n *\r\n * @returns {Number} Requests' identifier.\r\n */\r\nexport default (() => {\r\n if (\r\n window.requestAnimationFrame &&\r\n typeof window.requestAnimationFrame === 'function'\r\n ) {\r\n return window.requestAnimationFrame;\r\n }\r\n\r\n return callback => {\r\n return setTimeout(() => callback(Date.now()), 1000 / 60);\r\n };\r\n})();\r\n","import now from './shims/performance.now';\r\nimport requestAnimFrame from './shims/requestAnimationFrame';\r\n\r\nconst mutationsSupported = typeof window.MutationObserver === 'function';\r\n\r\n/**\r\n * Creates a wrapper function which ensures that\r\n * provided callback will be invoked only once\r\n * during the specified delay.\r\n *\r\n * @param {Function} callback - Function to be invoked.\r\n * @param {Number} [delay = 0] - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction debounce(callback, delay = 0) {\r\n let timeoutID = false;\r\n\r\n return function (...args) {\r\n if (timeoutID !== false) {\r\n clearTimeout(timeoutID);\r\n }\r\n\r\n timeoutID = setTimeout(() => {\r\n timeoutID = false;\r\n\r\n /* eslint-disable no-invalid-this */\r\n callback.apply(this, args);\r\n\r\n /* eslint-enable no-invalid-this */\r\n }, delay);\r\n };\r\n}\r\n\r\n/**\r\n * Controller class which handles updates of ResizeObserver instances.\r\n * It's meant to decide when and for how long it's necessary to run updates by listening to the windows\r\n * \"resize\" event along with a tracking of DOM mutations (nodes removal, changes of attributes, etc.).\r\n *\r\n * Transitions and animations are handled by running a repeatable update cycle either until the dimensions\r\n * of observed elements are changing or the timeout is reached (default timeout is 50 milliseconds).\r\n * Timeout value can be manually increased if transitions have a delay.\r\n *\r\n * Continuous update cycle will be used automatically in case if MutationObserver is not supported.\r\n */\r\nexport default class ResizeObserverController {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @param {Number} [idleTimeout = 0] - Idle timeout value.\r\n * @param {Boolean} [continuousUpdates = false] - Whether to use a continuous update cycle.\r\n */\r\n constructor(idleTimeout = 50, continuousUpdates = false) {\r\n this._idleTimeout = idleTimeout;\r\n this._isCycleContinuous = continuousUpdates;\r\n\r\n this._cycleStartTime = 0;\r\n\r\n // Indicates whether the update cycle is currently running.\r\n this._isCycleActive = false;\r\n\r\n // Indicates whether the update of observers is scheduled.\r\n this._isUpdateScheduled = false;\r\n\r\n // Indicates whether DOM listeners have been added.\r\n this._listenersEnabled = false;\r\n\r\n // Keeps reference to the instance of MutationObserver.\r\n this._mutationsObserver = null;\r\n\r\n // A list of connected observers.\r\n this._observers = [];\r\n\r\n // Fix value of \"this\" binding for the following methods.\r\n this.runUpdates = this.runUpdates.bind(this);\r\n this._resolveScheduled = this._resolveScheduled.bind(this);\r\n this._onMutation = this._onMutation.bind(this);\r\n\r\n // Function that will be invoked to re-run the\r\n // update cycle if continuous cycles are enabled.\r\n this._continuousCycleHandler = debounce(this.runUpdates, 200);\r\n }\r\n\r\n /**\r\n * Returns current idle timeout value.\r\n *\r\n * @returns {Number}\r\n */\r\n get idleTimeout() {\r\n return this._idleTimeout;\r\n }\r\n\r\n /**\r\n * Sets up new idle timeout value.\r\n *\r\n * @param {Number} value - New timeout value.\r\n */\r\n set idleTimeout(value) {\r\n this._idleTimeout = value;\r\n }\r\n\r\n /**\r\n * Tells whether continuous updates are enabled.\r\n *\r\n * @returns {Boolean}\r\n */\r\n get continuousUpdates() {\r\n return this._isCycleContinuous;\r\n }\r\n\r\n /**\r\n * Enables or disables continuous updates.\r\n *\r\n * @param {Boolean} value - Whether to enable or disable\r\n * continuous updates. Note that the value won't be applied\r\n * if MutationObserver is not supported.\r\n */\r\n set continuousUpdates(value) {\r\n if (mutationsSupported) {\r\n this._isCycleContinuous = value;\r\n }\r\n }\r\n\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserver} observer - Observer to be added.\r\n */\r\n connect(observer) {\r\n if (!this.isConnected(observer)) {\r\n this._observers.push(observer);\r\n }\r\n\r\n // Add listeners if they haven't been added yet.\r\n if (!this._listenersEnabled) {\r\n this._addListeners();\r\n }\r\n }\r\n\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserver} observer - Observer to be removed.\r\n */\r\n disconnect(observer) {\r\n let observers = this._observers,\r\n index = observers.indexOf(observer);\r\n\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n\r\n // Remove listeners if controller\r\n // has no connected observers.\r\n if (!observers.length && this._listenersEnabled) {\r\n this._removeListeners();\r\n }\r\n }\r\n\r\n /**\r\n * Tells whether provided observer is connected to controller.\r\n *\r\n * @param {ResizeObserver} observer - Observer to be checked.\r\n * @returns {Boolean}\r\n */\r\n isConnected(observer) {\r\n return !!~this._observers.indexOf(observer);\r\n }\r\n\r\n /**\r\n * Updates every observer from observers list and\r\n * notifies them of queued entries.\r\n *\r\n * @private\r\n * @returns {Boolean} Returns \"true\" if any observer\r\n * has detected changes in dimensions of its' elements.\r\n */\r\n _updateObservers() {\r\n let hasChanges = false;\r\n\r\n for (const observer of this._observers) {\r\n observer.gatherActive();\r\n\r\n if (observer.hasActive()) {\r\n hasChanges = true;\r\n\r\n observer.broadcastActive();\r\n }\r\n }\r\n\r\n return hasChanges;\r\n }\r\n\r\n /**\r\n * Starts the update cycle which will run either\r\n * until it detects changes in the dimensions of\r\n * elements or the idle timeout is reached.\r\n */\r\n runUpdates() {\r\n this._cycleStartTime = now();\r\n this._isCycleActive = true;\r\n\r\n this.scheduleUpdate();\r\n }\r\n\r\n /**\r\n * Schedules the update of observers.\r\n *\r\n * @private\r\n */\r\n scheduleUpdate() {\r\n if (!this._isUpdateScheduled) {\r\n this._isUpdateScheduled = true;\r\n\r\n requestAnimFrame(this._resolveScheduled);\r\n }\r\n }\r\n\r\n /**\r\n * Invokes the update of observers. It may re-run the\r\n * cycle if changes in observers have been detected.\r\n *\r\n * @private\r\n */\r\n _resolveScheduled() {\r\n const hasChanges = this._updateObservers();\r\n\r\n this._isUpdateScheduled = false;\r\n\r\n // Do nothing if cycle wasn't started.\r\n if (!this._isCycleActive) {\r\n return;\r\n }\r\n\r\n // Re-start cycle if changes have been detected.\r\n if (hasChanges) {\r\n this.runUpdates();\r\n } else if (this._hasRemainingTime()) {\r\n this.scheduleUpdate();\r\n } else {\r\n this._endUpdates();\r\n }\r\n }\r\n\r\n /**\r\n * Tells whether the update cycle has time remaining.\r\n *\r\n * @private\r\n * @returns {Boolean}\r\n */\r\n _hasRemainingTime() {\r\n const timePassed = now() - this._cycleStartTime;\r\n\r\n return this._idleTimeout - timePassed > 0;\r\n }\r\n\r\n /**\r\n * Callback which is invoked when update cycle\r\n * is finished. It may start a new cycle if continuous\r\n * updates are enabled.\r\n *\r\n * @private\r\n */\r\n _endUpdates() {\r\n this._isCycleActive = false;\r\n\r\n if (this._isCycleContinuous && this._listenersEnabled) {\r\n this._continuousCycleHandler();\r\n }\r\n }\r\n\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n */\r\n _addListeners() {\r\n // Do nothing if listeners have been already added.\r\n if (this._listenersEnabled) {\r\n return;\r\n }\r\n\r\n this._listenersEnabled = true;\r\n\r\n // Repeatable cycle is used here because the resize event may\r\n // lead to continuous changes, e.g. when width or height of an element\r\n // are controlled by CSS transitions.\r\n window.addEventListener('resize', this.runUpdates);\r\n\r\n // Fall back to an infinite cycle.\r\n if (!mutationsSupported) {\r\n this._isCycleContinuous = true;\r\n\r\n this.runUpdates();\r\n } else {\r\n // Subscribe to DOM mutations as they may lead to\r\n // changes in dimensions of elements.\r\n this._mutationsObserver = new MutationObserver(this._onMutation);\r\n\r\n this._mutationsObserver.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n */\r\n _removeListeners() {\r\n // Do nothing if listeners have been already removed.\r\n if (!this._listenersEnabled) {\r\n return;\r\n }\r\n\r\n window.removeEventListener('resize', this.runUpdates);\r\n\r\n if (this._mutationsObserver) {\r\n this._mutationsObserver.disconnect();\r\n }\r\n\r\n this._mutationsObserver = null;\r\n this._listenersEnabled = false;\r\n }\r\n\r\n /**\r\n * DOM mutations handler.\r\n *\r\n * @private\r\n * @param {Array<MutationRecord>} entries - An array of mutation records.\r\n */\r\n _onMutation(entries) {\r\n // Check if at least one entry\r\n // contains attributes changes.\r\n const attrsChanged = entries.some(entry => {\r\n return entry.type === 'attributes';\r\n });\r\n\r\n // It's expected that animations may start only\r\n // after some attribute changes its' value.\r\n attrsChanged ?\r\n this.runUpdates() :\r\n this.scheduleUpdate();\r\n }\r\n}\r\n","// Placeholder of a content rectangle.\r\nconst emptyRect = {\r\n width: 0,\r\n height: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0\r\n};\r\n\r\n/**\r\n * Extracts paddings data from the provided element.\r\n *\r\n * @param {Element} target - Element whose paddings to be extracted.\r\n * @returns {Object} Object that contains\r\n * left, top, right and bottom padding values.\r\n */\r\nfunction getPaddings(target) {\r\n const styles = window.getComputedStyle(target);\r\n const keys = ['top', 'right', 'bottom', 'left'];\r\n\r\n const paddings = {};\r\n\r\n for (const key of keys) {\r\n const value = styles['padding-' + key].replace('px', '');\r\n\r\n paddings[key] = parseFloat(value);\r\n }\r\n\r\n return paddings;\r\n}\r\n\r\n/**\r\n* Subtracts paddings from provided\r\n* dimensions and creates a content rectangle.\r\n*\r\n* @param {Number} clientWidth - Width including paddings.\r\n* @param {Number} clientHeight - Height including paddings.\r\n* @param {Object} paddings - Paddings data.\r\n* @returns {ClientRect}\r\n*/\r\nfunction createContentRect(clientWidth, clientHeight, paddings) {\r\n const top = paddings.top;\r\n const left = paddings.left;\r\n\r\n const width = clientWidth - (left + paddings.right);\r\n const height = clientHeight - (top + paddings.bottom);\r\n\r\n return {\r\n width,\r\n height,\r\n top,\r\n right: width + left,\r\n bottom: height + top,\r\n left\r\n };\r\n}\r\n\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGElement} target - Element whose content\r\n * rectangle needs to be calculated.\r\n * @returns {ClientRect}\r\n */\r\nfunction getSVGContentRect(target) {\r\n const bbox = target.getBBox();\r\n\r\n return createContentRect(bbox.width, bbox.height, emptyRect);\r\n}\r\n\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element whose content\r\n * rectangle needs to be calculated.\r\n * @returns {ClientRect}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n const width = target.clientWidth;\r\n const height = target.clientHeight;\r\n\r\n // It's not necessary to proceed with calculations\r\n // as it's already known that the rectangle is empty.\r\n if (!width && !height) {\r\n return emptyRect;\r\n }\r\n\r\n return createContentRect(width, height, getPaddings(target));\r\n}\r\n\r\n/**\r\n * Checks whether provided element\r\n * is an instance of SVGElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {Boolean}\r\n */\r\nfunction isSVGElement(target) {\r\n return target instanceof window.SVGElement;\r\n}\r\n\r\n/**\r\n * Calculates an appropriate content rectangle\r\n * for provided html or svg element.\r\n *\r\n * @param {Element} target - Element whose content rectangle\r\n * needs to be calculated.\r\n * @returns {ClientRect}\r\n */\r\nfunction getContentRect(target) {\r\n return isSVGElement(target) ?\r\n getSVGContentRect(target) :\r\n getHTMLElementContentRect(target);\r\n}\r\n\r\n/**\r\n * Class that is responsible for computations of the\r\n * content rectangle of provided DOM element and\r\n * for keeping track of its' changes.\r\n */\r\nexport default class ResizeObservation {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element whose content\r\n * rectangle needs to be observed.\r\n */\r\n constructor(target) {\r\n this.target = target;\r\n\r\n // Keeps reference to the last observed content rectangle.\r\n this._contentRect = emptyRect;\r\n\r\n // Broadcasted width of content rectangle.\r\n this.broadcastWidth = 0;\r\n\r\n // Broadcasted height of content rectangle.\r\n this.broadcastHeight = 0;\r\n }\r\n\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight'\r\n * properties with a data from the corresponding\r\n * properties of the last observed content rectangle.\r\n *\r\n * @returns {ClientRect} Last observed content rectangle.\r\n */\r\n broadcastRect() {\r\n const rect = this._contentRect;\r\n\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n\r\n return rect;\r\n }\r\n\r\n /**\r\n * Updates content rectangle and tells whether its'\r\n * width or height properties have changed since\r\n * the last broadcast.\r\n *\r\n * @returns {Boolean}\r\n */\r\n isActive() {\r\n const rect = getContentRect(this.target);\r\n\r\n this._contentRect = rect;\r\n\r\n return (\r\n rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight\r\n );\r\n }\r\n}\r\n","export default class ResizeObserverEntry {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {ClientRect} rectData - Data of the elements' content rectangle.\r\n */\r\n constructor(target, rectData) {\r\n const contentRect = {};\r\n\r\n // According to the specification following properties\r\n // are not writable and in native implementation\r\n // they are also not enumerable.\r\n Object.defineProperties(contentRect, {\r\n width: {value: rectData.width},\r\n height: {value: rectData.height},\r\n top: {value: rectData.top},\r\n right: {value: rectData.right},\r\n bottom: {value: rectData.bottom},\r\n left: {value: rectData.left}\r\n });\r\n\r\n Object.defineProperties(this, {\r\n target: {value: target},\r\n contentRect: {value: contentRect}\r\n });\r\n }\r\n}\r\n","import {Map} from './shims/es6-collections';\r\nimport ResizeObservation from './ResizeObservation';\r\nimport ResizeObserverEntry from './ResizeObserverEntry';\r\n\r\nexport default class ResizeObserver {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {Function} callback - Callback function which will be invoked\r\n * when one of the observed elements changes its' content rectangle.\r\n * @param {ResizeObsreverController} controller - Controller instance\r\n * which is responsible for the updates of observer.\r\n * @param {ResizeObserver} publicObserver - Reference\r\n * to the public ResizeObserver instance which will be passed\r\n * to callback function.\r\n */\r\n constructor(callback, controller, publicObserver) {\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n\r\n // Reference to the callback function.\r\n this._callback = callback;\r\n\r\n // A registry of ResizeObservation instances.\r\n this._targets = new Map();\r\n\r\n // A collection of resize observations that have detected\r\n // changes in dimensions of elements.\r\n this._activeTargets = [];\r\n\r\n // Reference to associated ResizeObserverController.\r\n this._controller = controller;\r\n\r\n // Public ResizeObserver instance which will be passed\r\n // to callback function.\r\n this._publicObserver = publicObserver;\r\n }\r\n\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n observe(target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n\r\n if (!(target instanceof Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n\r\n const targets = this._targets;\r\n\r\n // Do nothing if element is already being observed.\r\n if (targets.has(target)) {\r\n return;\r\n }\r\n\r\n targets.set(target, new ResizeObservation(target));\r\n\r\n // Add observer to controller\r\n // if it hasn't been connected yet.\r\n if (!this._controller.isConnected(this)) {\r\n this._controller.connect(this);\r\n }\r\n\r\n // Update observations.\r\n this._controller.runUpdates();\r\n }\r\n\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n */\r\n unobserve(target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n\r\n if (!(target instanceof Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n\r\n const targets = this._targets;\r\n\r\n // Do nothing if element is not being observed.\r\n if (!targets.has(target)) {\r\n return;\r\n }\r\n\r\n // Remove element and an associated with\r\n // it ResizeObsrvation instance from registry.\r\n targets.delete(target);\r\n\r\n if (!targets.size) {\r\n this.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Stops observing all elements and\r\n * clears the observations list.\r\n */\r\n disconnect() {\r\n this.clearActive();\r\n this._targets.clear();\r\n\r\n this._controller.disconnect(this);\r\n }\r\n\r\n /**\r\n * Invokes initial callback function with a list\r\n * of ResizeObserverEntry instances collected from\r\n * active resize observations.\r\n */\r\n broadcastActive() {\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n\r\n const publicObserver = this._publicObserver;\r\n\r\n const entries = this._activeTargets.map(observation => {\r\n return new ResizeObserverEntry(\r\n observation.target,\r\n observation.broadcastRect()\r\n );\r\n });\r\n\r\n this.clearActive();\r\n\r\n this._callback.call(publicObserver, entries, publicObserver);\r\n }\r\n\r\n /**\r\n * Clears the collection of pending/active observations.\r\n */\r\n clearActive() {\r\n this._activeTargets.splice(0);\r\n }\r\n\r\n /**\r\n * Tells whether the observer has\r\n * pending observations.\r\n *\r\n * @returns {Boolean}\r\n */\r\n hasActive() {\r\n return !!this._activeTargets.length;\r\n }\r\n\r\n /**\r\n * Clears an array of previously collected active observations\r\n * and collects observation instances whose associated element\r\n * has changes in its' content rectangle.\r\n */\r\n gatherActive() {\r\n this.clearActive();\r\n\r\n const activeTargets = this._activeTargets;\r\n\r\n this._targets.forEach(observation => {\r\n if (observation.isActive()) {\r\n activeTargets.push(observation);\r\n }\r\n });\r\n }\r\n}\r\n","import {WeakMap} from './shims/es6-collections';\r\nimport ResizeObserverController from './ResizeObserverController';\r\nimport _ResizeObserver from './_ResizeObserver';\r\n\r\n// Controller which will be assigned to all instances of ResizeObserver.\r\nconst controller = new ResizeObserverController();\r\n\r\n// Registry of internal observers.\r\nconst observers = new WeakMap();\r\n\r\n/**\r\n * ResizeObservers' \"Proxy\" class which is meant to hide private\r\n * properties and methods from public instances.\r\n *\r\n * Additionally it implements \"idleTimeout\" and \"continuousUpdates\" static property\r\n * accessors to give a control over the behavior of ResizeObserverController\r\n * instance. Changes made to these properties will affect all future and\r\n * existing observers.\r\n */\r\nclass ResizeObserver {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {Function} callback - Callback which will\r\n * be invoked when dimensions of one of the\r\n * observed elements have been changed.\r\n */\r\n constructor(callback) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n\r\n const observer = new _ResizeObserver(callback, controller, this);\r\n\r\n // Register an internal observer.\r\n observers.set(this, observer);\r\n }\r\n\r\n /**\r\n * Extracts controllers' idle timeout value.\r\n *\r\n * @returns {Number}\r\n */\r\n static get idleTimeout() {\r\n return controller.idleTimeout;\r\n }\r\n\r\n /**\r\n * Sets up new idle timeout.\r\n *\r\n * @param {Number} value - New timeout value.\r\n */\r\n static set idleTimeout(value) {\r\n if (typeof value !== 'number') {\r\n throw new TypeError('type of \"idleTimeout\" value must be a number.');\r\n }\r\n\r\n if (typeof value < 0) {\r\n throw new TypeError('\"idleTimeout\" value must be greater than 0.');\r\n }\r\n\r\n controller.idleTimeout = value;\r\n }\r\n\r\n /**\r\n * Tells whether continuous updates are enabled.\r\n *\r\n * @returns {Boolean}\r\n */\r\n static get continuousUpdates() {\r\n return controller.continuousUpdates;\r\n }\r\n\r\n /**\r\n * Enables or disables continuous updates.\r\n *\r\n * @param {Boolean} value - Whether to enable or disable\r\n * continuous updates.\r\n */\r\n static set continuousUpdates(value) {\r\n if (typeof value !== 'boolean') {\r\n throw new TypeError('type of \"continuousUpdates\" value must be a boolean.');\r\n }\r\n\r\n controller.continuousUpdates = value;\r\n }\r\n}\r\n\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(method => {\r\n ResizeObserver.prototype[method] = function () {\r\n return observers.get(this)[method](...arguments);\r\n };\r\n});\r\n\r\nexport default ResizeObserver;\r\n","import ResizeObserverPolyfill from './src/ResizeObserver';\r\n\r\nlet ResizeObserver = ResizeObserverPolyfill;\r\n\r\n// Export existing implementation if it's available.\r\nif (typeof window.ResizeObserver === 'function') {\r\n ResizeObserver = window.ResizeObserver;\r\n}\r\n\r\nexport default ResizeObserver;\r\n"],"version":3}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ca4e37f2.js');
5
+ const index = require('./index-8fc99295.js');
6
6
  const utils = require('./utils-14d5aa6f.js');
7
- const globalScript = require('./globalScript-d341436f.js');
7
+ const globalScript = require('./globalScript-42d6be40.js');
8
8
 
9
9
  const colorBoxCss = ":host{display:block}";
10
10
 
@@ -6570,7 +6570,7 @@ const HyShortcuts = class {
6570
6570
  };
6571
6571
  HyShortcuts.style = hyShortcutsCss;
6572
6572
 
6573
- 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-light:#f9a21a;--additional-yellow:#c47f1b;--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);-webkit-transform:none;transform:none}.hy-site-header:not(.is-at-top){top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}@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:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-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;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transition-delay:0.2s;transition-delay:0.2s}.hy-site-header.hy-site-header--sticky-visible.hy-site-header--mobile{-webkit-transform:none;transform:none}.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}";
6573
+ 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-light:#f9a21a;--additional-yellow:#c47f1b;--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);-webkit-transform:none;transform:none}.hy-site-header:not(.is-at-top){top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}@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:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-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;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transition-delay:0.2s;transition-delay:0.2s}.hy-site-header.hy-site-header--sticky-visible.hy-site-header--mobile{-webkit-transform:none;transform:none}.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;min-width:150px}@media (min-width: 60rem){.hy-site-header__actions{min-width:none}}@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}";
6574
6574
 
6575
6575
  let clickTimer = null;
6576
6576
  let clickTimeout = null;