@blateral/b.kit 2.5.0-beta.1.1 → 2.5.0-beta.1.2

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 (79) hide show
  1. package/cjs/{FilterField-b1547fb4.js → FilterField-cce38ffb.js} +2 -2
  2. package/cjs/{FilterField-b1547fb4.js.map → FilterField-cce38ffb.js.map} +1 -1
  3. package/cjs/Navigation-d205ed34.js +2 -0
  4. package/cjs/Navigation-d205ed34.js.map +1 -0
  5. package/cjs/{Textarea-485efa2d.js → Textarea-03bd2c34.js} +2 -2
  6. package/cjs/{Textarea-485efa2d.js.map → Textarea-03bd2c34.js.map} +1 -1
  7. package/cjs/{VideoCard-d48a37fe.js → VideoCard-703df8bc.js} +2 -2
  8. package/cjs/{VideoCard-d48a37fe.js.map → VideoCard-703df8bc.js.map} +1 -1
  9. package/cjs/cookies.js +1 -1
  10. package/cjs/fields.js +1 -1
  11. package/cjs/headers.js +1 -1
  12. package/cjs/hooks.js +1 -1
  13. package/cjs/hooks.js.map +1 -1
  14. package/cjs/navigation-bf154e6e.js +2 -0
  15. package/cjs/navigation-bf154e6e.js.map +1 -0
  16. package/cjs/navigation.js +1 -1
  17. package/cjs/sections.dynamicform.js +1 -1
  18. package/cjs/sections.jobs.js +1 -1
  19. package/cjs/sections.js +1 -1
  20. package/cjs/sections.js.map +1 -1
  21. package/cjs/sections.news.js +1 -1
  22. package/cjs/sections.pois.js +1 -1
  23. package/cjs/useCookieConsent-aa9f1104.js +2 -0
  24. package/cjs/{useCookieConsent-1af2af74.js.map → useCookieConsent-aa9f1104.js.map} +1 -1
  25. package/cjs/useEqualSheetHeight-501f4c5f.js +2 -0
  26. package/cjs/useEqualSheetHeight-501f4c5f.js.map +1 -0
  27. package/cjs/useIE-aef9decc.js +2 -0
  28. package/cjs/useIE-aef9decc.js.map +1 -0
  29. package/cjs/useLazyInput-f71c221b.js +2 -0
  30. package/cjs/useLazyInput-f71c221b.js.map +1 -0
  31. package/cjs/useMediaQuery-3d1054e5.js +2 -0
  32. package/cjs/{useMediaQuery-0bd70e6a.js.map → useMediaQuery-3d1054e5.js.map} +1 -1
  33. package/esm/{FilterField-7805bdb4.js → FilterField-962ec61f.js} +2 -2
  34. package/esm/{FilterField-7805bdb4.js.map → FilterField-962ec61f.js.map} +1 -1
  35. package/esm/{Navigation-3ded0cfc.js → Navigation-42c123d2.js} +3 -52
  36. package/esm/Navigation-42c123d2.js.map +1 -0
  37. package/esm/{Textarea-380665db.js → Textarea-266f1e45.js} +2 -2
  38. package/esm/{Textarea-380665db.js.map → Textarea-266f1e45.js.map} +1 -1
  39. package/esm/{VideoCard-784c2a51.js → VideoCard-e6f342b8.js} +2 -2
  40. package/esm/{VideoCard-784c2a51.js.map → VideoCard-e6f342b8.js.map} +1 -1
  41. package/esm/cookies.js +1 -1
  42. package/esm/fields.js +3 -3
  43. package/esm/headers.js +3 -3
  44. package/esm/hooks.js +168 -9
  45. package/esm/hooks.js.map +1 -1
  46. package/esm/{navigation-ada7fd84.js → navigation-b89325f8.js} +52 -2
  47. package/esm/navigation-b89325f8.js.map +1 -0
  48. package/esm/navigation.js +4 -4
  49. package/esm/sections.dynamicform.js +2 -2
  50. package/esm/sections.jobs.js +4 -4
  51. package/esm/sections.js +8 -18
  52. package/esm/sections.js.map +1 -1
  53. package/esm/sections.news.js +4 -4
  54. package/esm/sections.pois.js +5 -5
  55. package/esm/{useCookieConsent-0fc8667c.js → useCookieConsent-6b2d4d93.js} +2 -8
  56. package/esm/{useCookieConsent-0fc8667c.js.map → useCookieConsent-6b2d4d93.js.map} +1 -1
  57. package/esm/{useEqualSheetHeight-4030635e.js → useEqualSheetHeight-97420d63.js} +3 -3
  58. package/esm/{useEqualSheetHeight-4030635e.js.map → useEqualSheetHeight-97420d63.js.map} +1 -1
  59. package/esm/useIE-a9c56989.js +15 -0
  60. package/esm/useIE-a9c56989.js.map +1 -0
  61. package/esm/{useLazyInput-16a0b633.js → useLazyInput-54d1785c.js} +2 -2
  62. package/esm/{useLazyInput-16a0b633.js.map → useLazyInput-54d1785c.js.map} +1 -1
  63. package/esm/{useMediaQuery-b08dda62.js → useMediaQuery-b42fd64e.js} +2 -2
  64. package/esm/{useMediaQuery-b08dda62.js.map → useMediaQuery-b42fd64e.js.map} +1 -1
  65. package/package.json +1 -1
  66. package/types/hooks.d.ts +32 -33
  67. package/types/hooks.d.ts.map +1 -1
  68. package/cjs/Navigation-ca78100c.js +0 -2
  69. package/cjs/Navigation-ca78100c.js.map +0 -1
  70. package/cjs/navigation-389b22e2.js +0 -2
  71. package/cjs/navigation-389b22e2.js.map +0 -1
  72. package/cjs/useCookieConsent-1af2af74.js +0 -2
  73. package/cjs/useEqualSheetHeight-8f92c912.js +0 -2
  74. package/cjs/useEqualSheetHeight-8f92c912.js.map +0 -1
  75. package/cjs/useLazyInput-0b912584.js +0 -2
  76. package/cjs/useLazyInput-0b912584.js.map +0 -1
  77. package/cjs/useMediaQuery-0bd70e6a.js +0 -2
  78. package/esm/Navigation-3ded0cfc.js.map +0 -1
  79. package/esm/navigation-ada7fd84.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("./LibThemeProvider-4823de57.js"),i=require("./useMediaQuery-0bd70e6a.js"),a=require("./Link-5a6f1633.js"),o=require("styled-components"),r=require("./arrays-c272ed59.js"),l=require("./clamp-bd21d587.js"),s=require("./navigation-389b22e2.js"),u=require("./styles-3a495a2d.js"),d=require("./Copy-ea6ab025.js"),c=require("./Image-c72f7a80.js"),p=require("./LanguageSwitcher-8fdd22ba.js");function m(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var f,g=m(e),v=m(o);!function(n){n[n.UP=0]="UP",n[n.DOWN=1]="DOWN"}(f||(f={}));var h,b,x,w,y,_,k,C,I,N,O,B,E,S,F,M=function(n){var t,i,a=e.useState(!0),o=a[0],r=a[1],l=e.useState(!0),s=l[0],u=l[1],d=e.useState(!1),c=d[0],p=d[1],m=e.useRef(0),g=e.useRef(0),v=e.useState(f.DOWN),h=v[0],b=v[1],x=(null===(t=null==n?void 0:n.directionOffset)||void 0===t?void 0:t.down)||0,w=(null===(i=null==n?void 0:n.directionOffset)||void 0===i?void 0:i.up)||0,y=function(n,t){void 0===n&&(n=0);var i=e.useState(null),a=i[0],o=i[1],r=e.useRef(-1),l=e.useRef({scrollX:0,scrollY:0}),s=function(){"undefined"!=typeof window&&(l.current={scrollX:window.scrollX,scrollY:window.scrollY})};return e.useEffect((function(){if("undefined"!=typeof window){var e=function(){s(),-1===r.current&&(r.current=window.setTimeout((function(){null==t||t(l.current),o(l.current),r.current=-1}),n))};return s(),null==t||t(l.current),o(l.current),window.addEventListener("scroll",e),function(){window.removeEventListener("scroll",e)}}}),[t,n]),a}(void 0!==(null==n?void 0:n.resizeThrottleTimeout)?n.resizeThrottleTimeout:200);return e.useEffect((function(){if(y&&"undefined"!=typeof window){var e=y.scrollY,t=e<=0;r(t),(null==n?void 0:n.offset)&&e<=n.offset?u(!0):u((function(e){var t;return e&&(null===(t=null==n?void 0:n.onLeftOffset)||void 0===t||t.call(n,h),p(!0)),!1}));var i=e-m.current,a=Math.abs(g.current);i<0&&g.current>0||i>0&&g.current<0?g.current=0:g.current+=i,a=Math.abs(g.current),t?b(f.DOWN):i<0&&a>=w?b(f.UP):i>0&&a>=x&&b(f.DOWN),m.current=e}}),[x,w,h,y,n]),e.useEffect((function(){o&&p(!1)}),[o]),{isTop:o,scrollDirection:h,isInOffset:s,leftOffsetFromTop:c}},T=v.default.nav.withConfig({displayName:"BarBreadCrumbs__View",componentId:"sc-bian0m-0"})(h||(h=n.__makeTemplateObject(["\n min-width: 0;\n"],["\n min-width: 0;\n"]))),j=v.default.ul.withConfig({displayName:"BarBreadCrumbs__List",componentId:"sc-bian0m-1"})(b||(b=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: inherit;\n\n & > li:first-child {\n flex: 1 0 auto;\n }\n\n @media "," {\n & > li + li {\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: inherit;\n\n & > li:first-child {\n flex: 1 0 auto;\n }\n\n @media "," {\n & > li + li {\n margin-left: ","px;\n }\n }\n"])),u.mq.semilarge,u.spacings.nudge),z=v.default.li.withConfig({displayName:"BarBreadCrumbs__ListItem",componentId:"sc-bian0m-2"})(x||(x=n.__makeTemplateObject(["\n display: ",";\n min-width: inherit;\n\n @media "," {\n display: flex;\n\n & > * + * {\n margin-left: ","px;\n }\n }\n"],["\n display: ",";\n min-width: inherit;\n\n @media "," {\n display: flex;\n\n & > * + * {\n margin-left: ","px;\n }\n }\n"])),(function(n){return n.isCurrent?"flex":"none"}),u.mq.semilarge,u.spacings.nudge),L=v.default(a.Link).withConfig({displayName:"BarBreadCrumbs__NavLink",componentId:"sc-bian0m-3"})(w||(w=n.__makeTemplateObject(["\n display: ",";\n align-items: center;\n max-width: ",";\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ","\n color: ",";\n text-decoration: underline;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n @media "," {\n display: ",";\n }\n"],["\n display: ",";\n align-items: center;\n max-width: ",";\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ","\n color: ",";\n text-decoration: underline;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n @media "," {\n display: ",";\n }\n"])),(function(n){return n.showOnMobile?"inline-flex":"none"}),(function(n){return n.clamp&&"120px"}),d.copyStyle("copy","small"),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).text.inverted:u.getColors(e).text.default}),u.spacings.nudge,(function(n){var e=n.theme;return n.isInverted?u.getColors(e).text.inverted:u.getColors(e).text.default}),u.mq.semilarge,(function(n){return n.showOnDesktop?"inline-block":"none"})),q=v.default.span.withConfig({displayName:"BarBreadCrumbs__NavLabel",componentId:"sc-bian0m-4"})(y||(y=n.__makeTemplateObject(["\n display: ",";\n align-items: center;\n max-width: ",";\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ","\n color: ",";\n text-decoration: none;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media "," {\n display: ",";\n }\n"],["\n display: ",";\n align-items: center;\n max-width: ",";\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ","\n color: ",";\n text-decoration: none;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media "," {\n display: ",";\n }\n"])),(function(n){return n.showOnMobile?"inline-flex":"none"}),(function(n){return n.clamp&&"120px"}),d.copyStyle("copy","small"),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).text.inverted:u.getColors(e).text.default}),u.spacings.nudge,u.mq.semilarge,(function(n){return n.showOnDesktop?"inline-block":"none"})),H=v.default(d.Copy).withConfig({displayName:"BarBreadCrumbs__Seperator",componentId:"sc-bian0m-5"})(_||(_=n.__makeTemplateObject(["\n display: none;\n\n transition: color 0.2s ease-in-out;\n\n @media "," {\n display: inline-block;\n }\n"],["\n display: none;\n\n transition: color 0.2s ease-in-out;\n\n @media "," {\n display: inline-block;\n }\n"])),u.mq.semilarge),A=v.default.span.withConfig({displayName:"BarBreadCrumbs__BackIconContainer",componentId:"sc-bian0m-6"})(k||(k=n.__makeTemplateObject(["\n flex: 0 0 auto;\n"],["\n flex: 0 0 auto;\n"]))),P=function(e){var t=e.isInverted,i=e.label,a=e.link,o=e.showOnMobile,r=e.showOnDesktop,l=e.children;return(null==a?void 0:a.href)?g.default.createElement(L,n.__assign({},a,{isInverted:t,showOnMobile:o,showOnDesktop:r}),l||i):g.default.createElement(q,{isInverted:t,showOnMobile:o,showOnDesktop:r},l||i)},V=v.default.div.withConfig({displayName:"BarColumn__Column",componentId:"sc-1sqtyni-0"})(C||(C=n.__makeTemplateObject(["\n flex: ",";\n\n padding: ","px 0;\n min-width: -webkit-min-content;\n align-self: ",";\n\n text-align: center;\n color: ",";\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n\n &:not(:first-child):not(:last-child) {\n margin: 0 ","px;\n }\n"],["\n flex: ",";\n\n padding: ","px 0;\n min-width: -webkit-min-content;\n align-self: ",";\n\n text-align: center;\n color: ",";\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n\n &:not(:first-child):not(:last-child) {\n margin: 0 ","px;\n }\n"])),(function(n){return n.takeSpace?1:void 0}),u.spacings.nudge,(function(n){switch(n.vAlign){case"center":return"center";case"bottom":return"flex-end";case"top":return"flex-start";default:return}}),(function(n){var e=n.theme;n.isInverted;return u.getColors(e).text.inverted}),2*u.spacings.nudge),D=v.default(a.Link).withConfig({displayName:"BarLogo__View",componentId:"sc-jul8nq-0"})(I||(I=n.__makeTemplateObject(["\n display: block;\n display: flex;\n justify-content: center;\n min-width: 60px;\n max-width: 100%;\n max-height: 100%;\n\n &:focus {\n outline: 2px solid ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"],["\n display: block;\n display: flex;\n justify-content: center;\n min-width: 60px;\n max-width: 100%;\n max-height: 100%;\n\n &:focus {\n outline: 2px solid ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"])),(function(n){var e=n.theme;return u.getColors(e).primary.default})),R=v.default(c.Image).withConfig({displayName:"BarLogo__Logo",componentId:"sc-jul8nq-1"})(N||(N=n.__makeTemplateObject(["\n width: auto;\n height: 100%;\n object-fit: contain;\n"],["\n width: auto;\n height: 100%;\n object-fit: contain;\n"]))),W=v.default.button.withConfig({displayName:"BarMenuToggle__Toggle",componentId:"sc-5pjose-0"})(O||(O=n.__makeTemplateObject(["\n background: transparent;\n border: none;\n color: ",";\n\n padding: ","px;\n margin-left: -","px;\n outline: none;\n\n cursor: pointer;\n\n transition: color 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n &:focus > * {\n outline: dotted 2px\n ",";\n outline-offset: 4px;\n\n color: ",";\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n"],["\n background: transparent;\n border: none;\n color: ",";\n\n padding: ","px;\n margin-left: -","px;\n outline: none;\n\n cursor: pointer;\n\n transition: color 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n &:focus > * {\n outline: dotted 2px\n ",";\n outline-offset: 4px;\n\n color: ",";\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n"])),(function(n){var e=n.isInverted,t=n.theme;return e?u.getColors(t).text.inverted:u.getColors(t).text.default}),u.spacings.nudge,u.spacings.nudge,(function(n){var e=n.theme;return n.isInverted?u.getColors(e).primary.invertedHover:u.getColors(e).primary.hover}),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).primary.inverted:u.getColors(e).primary.default}),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).primary.invertedHover:u.getColors(e).primary.hover})),G=function(n){var e=n.isInverted,t=n.isExpanded,i=void 0!==t&&t,a=n.onClick,o=n.children,r=n.className;return g.default.createElement(W,{isInverted:e,"aria-expanded":i,"aria-label":i?"close menu":"open menu","aria-haspopup":"true","aria-controls":"mainMenu",onClick:a,className:r},o)},U=v.default.nav.withConfig({displayName:"BarNavList__View",componentId:"sc-1r50tdm-0"})(B||(B=n.__makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"],["\n display: inline-flex;\n align-items: center;\n\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"])),u.spacings.nudge,(function(n){var e=n.isInverted,t=n.theme;return e?u.getColors(t).text.inverted:u.getColors(t).text.default})),X=v.default(a.Link).withConfig({displayName:"BarNavList__NavLink",componentId:"sc-1r50tdm-1"})(E||(E=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"],["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"])),u.spacings.nudge,d.copyStyle("copy","medium"),(function(n){return n.isActive&&"700"}),(function(n){var e=n.isInverted,t=n.theme;return e?u.getColors(t).text.inverted:u.getColors(t).text.default}),(function(n){var e=n.isInverted,t=n.theme;return e?u.getColors(t).text.inverted:u.getColors(t).text.default})),Y=v.default.div.withConfig({displayName:"MenuHeader__Header",componentId:"sc-1tk7hrl-0"})(S||(S=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n padding: 0 ","px;\n padding-top: ","px;\n"],["\n display: flex;\n align-items: center;\n\n padding: 0 ","px;\n padding-top: ","px;\n"])),2*u.spacings.nudge,5*u.spacings.nudge),Q=v.default.div.withConfig({displayName:"MenuHeader__LanguageCol",componentId:"sc-1tk7hrl-1"})(F||(F=n.__makeTemplateObject(["\n display: block;\n margin-left: ","px;\n margin-top: 2px;\n"],["\n display: block;\n margin-left: ","px;\n margin-top: 2px;\n"])),3*u.spacings.nudge),J=function(e){var t=e.isInverted,i=e.customToggle,a=e.menuStates,o=e.langs,l=e.action;return g.default.createElement(g.default.Fragment,null,g.default.createElement(Y,null,g.default.createElement(G,{isInverted:t,isExpanded:!0,onClick:null==a?void 0:a.closeMenu},i?i({isInverted:t}):g.default.createElement(n.Cross,{ariaHidden:!0})),r.isValidArray(o,!1)&&g.default.createElement(Q,null,g.default.createElement(p.LanguageSwitcher,{isInverted:t,langs:o})),l&&l(n.__assign({isInverted:t},a))))},K=function(e){return o.css(yn||(yn=n.__makeTemplateObject(["\n font-family: ",";\n font-weight: ",";\n font-style: ",";\n ","\n line-height: ",";\n letter-spacing: ",";\n text-transform: ",";\n text-decoration: ",";\n"],["\n font-family: ",";\n font-weight: ",";\n font-style: ",";\n ","\n line-height: ",";\n letter-spacing: ",";\n text-transform: ",";\n text-decoration: ",";\n"])),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].family}),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].weight}),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].style}),(function(n){var t=n.theme;return u.withRange(u.getFonts(t).navigation[e].size,"font-size")}),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].lineHeight}),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].letterSpacing}),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].textTransform}),(function(n){var t=n.theme;return u.getFonts(t).navigation[e].textDecoration}))},Z=v.default.div.withConfig({displayName:"MenuFlyout__Backdrop",componentId:"sc-19pnt0u-0"})(_n||(_n=n.__makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: ",";\n pointer-events: ",";\n z-index: 101;\n\n transition: opacity 0.3s ease-in-out;\n\n @supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {\n backdrop-filter: ",";\n }\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: ",";\n pointer-events: ",";\n z-index: 101;\n\n transition: opacity 0.3s ease-in-out;\n\n @supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {\n backdrop-filter: ",";\n }\n"])),(function(n){return n.isOpen?1:0}),(function(n){return n.isOpen?"all":"none"}),(function(n){return n.filter})),$=v.default.div.withConfig({displayName:"MenuFlyout__Stage",componentId:"sc-19pnt0u-1"})(kn||(kn=n.__makeTemplateObject(["\n position: fixed;\n top: 0;\n left: ",";\n height: 100vh;\n width: 100vw;\n max-width: ","px;\n pointer-events: none;\n\n z-index: 102;\n\n transform: translate(",", 0px);\n\n transition: transform 0.4s ease-in-out, left 0.4s ease-in-out;\n will-change: transform;\n"],["\n position: fixed;\n top: 0;\n left: ",";\n height: 100vh;\n width: 100vw;\n max-width: ","px;\n pointer-events: none;\n\n z-index: 102;\n\n transform: translate(",", 0px);\n\n transition: transform 0.4s ease-in-out, left 0.4s ease-in-out;\n will-change: transform;\n"])),(function(n){return n.isOpen?"50%":"0px"}),(function(n){return"content"===n.clampWidth?u.spacings.wrapper:u.spacings.wrapperLarge}),(function(n){return n.isOpen?"-50%":"-100%"})),nn=v.default.div.withConfig({displayName:"MenuFlyout__Flyout",componentId:"sc-19pnt0u-2"})(Cn||(Cn=n.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n visibility: visible;\n\n position: relative;\n width: 100%;\n height: 100%;\n background-color: ",";\n\n pointer-events: ",";\n\n /** Animation to disable keyboard tabbing if flyout is closed */\n animation: ",";\n\n @media "," {\n width: 384px;\n }\n\n @media "," {\n width: 460px;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 2px;\n height: 100%;\n width: 40vw;\n background-color: ",";\n z-index: -1;\n\n transform: translateX(-100%);\n }\n\n @keyframes hideAnim {\n to {\n visibility: hidden;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n visibility: visible;\n\n position: relative;\n width: 100%;\n height: 100%;\n background-color: ",";\n\n pointer-events: ",";\n\n /** Animation to disable keyboard tabbing if flyout is closed */\n animation: ",";\n\n @media "," {\n width: 384px;\n }\n\n @media "," {\n width: 460px;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 2px;\n height: 100%;\n width: 40vw;\n background-color: ",";\n z-index: -1;\n\n transform: translateX(-100%);\n }\n\n @keyframes hideAnim {\n to {\n visibility: hidden;\n }\n }\n"])),(function(n){var e=n.theme;return u.getColors(e).elementBg.light}),(function(n){return n.isOpen?"all":"none"}),(function(n){return!n.isOpen&&"hideAnim 0s ease-in 2s forwards"}),u.mq.medium,u.mq.large,(function(n){var e=n.theme;return u.getColors(e).elementBg.light})),en=function(n,e){var t="large"===e?u.getGlobals(n).navigation.menu.headerHeight.large:u.getGlobals(n).navigation.menu.headerHeight.small;return[l.clampValue(t[0],0),l.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},tn=v.default.div.withConfig({displayName:"MenuFlyout__Header",componentId:"sc-19pnt0u-3"})(In||(In=n.__makeTemplateObject(["\n flex: 0 0\n ","px;\n height: ","px;\n\n @media "," {\n height: ","px;\n flex: 0 0\n ","px;\n }\n"],["\n flex: 0 0\n ","px;\n height: ","px;\n\n @media "," {\n height: ","px;\n flex: 0 0\n ","px;\n }\n"])),(function(n){var e=n.theme,t=n.navBarSize;return en(e,t)[0]}),(function(n){var e=n.theme,t=n.navBarSize;return en(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.navBarSize;return en(e,t)[1]}),(function(n){var e=n.theme,t=n.navBarSize;return en(e,t)[1]})),an=v.default.div.withConfig({displayName:"MenuFlyout__ScrollContainer",componentId:"sc-19pnt0u-4"})(Nn||(Nn=n.__makeTemplateObject(["\n display: block;\n max-height: 100%;\n min-height: 0;\n"],["\n display: block;\n max-height: 100%;\n min-height: 0;\n"]))),on=v.default.div.withConfig({displayName:"MenuFlyout__ScrollArea",componentId:"sc-19pnt0u-5"})(On||(On=n.__makeTemplateObject(["\n display: block;\n width: 100vw;\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n & > *:last-child {\n margin-bottom: ","px;\n }\n\n @media "," {\n max-width: 100%;\n }\n"],["\n display: block;\n width: 100vw;\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n & > *:last-child {\n margin-bottom: ","px;\n }\n\n @media "," {\n max-width: 100%;\n }\n"])),10*u.spacings.nudge,u.mq.medium),rn=v.default.nav.withConfig({displayName:"MenuFlyout__NavView",componentId:"sc-19pnt0u-6"})(Bn||(Bn=n.__makeTemplateObject([""],[""]))),ln=v.default.ul.withConfig({displayName:"MenuFlyout__NavList",componentId:"sc-19pnt0u-7"})(En||(En=n.__makeTemplateObject(["\n margin: 0;\n padding: 0;\n list-style: none;\n margin: ","px 0;\n\n border-bottom: ",";\n"],["\n margin: 0;\n padding: 0;\n list-style: none;\n margin: ","px 0;\n\n border-bottom: ",";\n"])),2*u.spacings.nudge,(function(n){var e=n.hasNonFeaturedItems,t=n.theme;return e&&"solid 2px ".concat(u.getColors(t).elementBg.medium)})),sn=v.default.li.withConfig({displayName:"MenuFlyout__NavItemView",componentId:"sc-19pnt0u-8"})(Sn||(Sn=n.__makeTemplateObject(["\n flex: 0 0 80px;\n\n height: 100%;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n\n li + &:not([data-featured='true']) {\n border-top: solid 2px ",";\n }\n\n li[data-featured='true'] + &:not([data-featured='true']) {\n margin-top: ","px;\n }\n\n &:not([data-featured='true']):first-child {\n border-top: solid 2px ",";\n }\n\n @media "," {\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background-color: ",";\n }\n }\n"],["\n flex: 0 0 80px;\n\n height: 100%;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n\n li + &:not([data-featured='true']) {\n border-top: solid 2px ",";\n }\n\n li[data-featured='true'] + &:not([data-featured='true']) {\n margin-top: ","px;\n }\n\n &:not([data-featured='true']):first-child {\n border-top: solid 2px ",";\n }\n\n @media "," {\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background-color: ",";\n }\n }\n"])),(function(n){var e=n.theme;return n.isActive?u.getColors(e).elementBg.medium:u.getColors(e).elementBg.light}),(function(n){var e=n.theme;return u.getColors(e).elementBg.medium}),u.spacings.spacer,(function(n){var e=n.theme;return u.getColors(e).elementBg.medium}),u.mq.semilarge,(function(n){var e=n.theme;return u.getColors(e).elementBg.medium})),un=v.default.span.withConfig({displayName:"MenuFlyout__NavItemContent",componentId:"sc-19pnt0u-9"})(Fn||(Fn=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n position: relative;\n min-height: 80px;\n\n padding: 0 ","px;\n\n ","\n color: ",";\n text-decoration: ",";\n"],["\n display: flex;\n align-items: center;\n position: relative;\n min-height: 80px;\n\n padding: 0 ","px;\n\n ","\n color: ",";\n text-decoration: ",";\n"])),2*u.spacings.nudge,(function(n){var e=n.isFeatured;return K(e?"featured":"main")}),(function(n){var e=n.theme;return n.isFeatured?u.getFonts(e).navigation.featured.color:u.getFonts(e).navigation.main.color}),(function(n){return n.isCurrent?"underline":"none"})),dn=v.default.span.withConfig({displayName:"MenuFlyout__NavItemIcon",componentId:"sc-19pnt0u-10"})(Mn||(Mn=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n width: 48px;\n max-width: 48px;\n\n * {\n width: 100%;\n max-width: 48px;\n max-height: 80px;\n }\n"],["\n display: flex;\n align-items: center;\n width: 48px;\n max-width: 48px;\n\n * {\n width: 100%;\n max-width: 48px;\n max-height: 80px;\n }\n"]))),cn=v.default.span.withConfig({displayName:"MenuFlyout__NavItemLabel",componentId:"sc-19pnt0u-11"})(Tn||(Tn=n.__makeTemplateObject(["\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:not(:first-child) {\n margin-left: ","px;\n }\n"],["\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:not(:first-child) {\n margin-left: ","px;\n }\n"])),2*u.spacings.nudge),pn=v.default.span.withConfig({displayName:"MenuFlyout__NavItemCollapse",componentId:"sc-19pnt0u-12"})(jn||(jn=n.__makeTemplateObject(["\n display: block;\n margin-left: auto;\n padding-left: ","px;\n"],["\n display: block;\n margin-left: auto;\n padding-left: ","px;\n"])),3*u.spacings.nudge),mn=v.default(n.AngleRight).withConfig({displayName:"MenuFlyout__NavItemCollapseIcon",componentId:"sc-19pnt0u-13"})(zn||(zn=n.__makeTemplateObject(["\n transform: ",";\n\n transition: transform 0.2s ease-in-out;\n\n @media "," {\n transform: rotate(0deg);\n }\n"],["\n transform: ",";\n\n transition: transform 0.2s ease-in-out;\n\n @media "," {\n transform: rotate(0deg);\n }\n"])),(function(n){return!n.isCollapsed&&"rotate(90deg)"}),u.mq.semilarge),fn=v.default(a.Link).withConfig({displayName:"MenuFlyout__NavItemLink",componentId:"sc-19pnt0u-14"})(Ln||(Ln=n.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n &:focus {\n outline: solid 2px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"],["\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n &:focus {\n outline: solid 2px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"])),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).primary.inverted:u.getColors(e).primary.default})),gn=v.default.button.withConfig({displayName:"MenuFlyout__NavItemButton",componentId:"sc-19pnt0u-15"})(qn||(qn=n.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background: none;\n border: none;\n border-bottom: solid 2px ",";\n width: 100%;\n cursor: pointer;\n outline: none;\n border-radius: 0px;\n\n &:focus {\n outline: solid 2px ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n @media "," {\n border-bottom: none;\n }\n"],["\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background: none;\n border: none;\n border-bottom: solid 2px ",";\n width: 100%;\n cursor: pointer;\n outline: none;\n border-radius: 0px;\n\n &:focus {\n outline: solid 2px ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n @media "," {\n border-bottom: none;\n }\n"])),(function(n){var e=n.theme;return u.getColors(e).elementBg.light}),(function(n){var e=n.theme;return u.getColors(e).primary.default}),u.mq.semilarge),vn=v.default.ul.withConfig({displayName:"MenuFlyout__SubNavList",componentId:"sc-19pnt0u-16"})(Hn||(Hn=n.__makeTemplateObject(["\n display: ",";\n position: relative;\n margin: 0;\n padding: 0;\n padding-left: ","px;\n padding-right: ","px;\n list-style: none;\n\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n background-color: ",";\n\n @media "," {\n position: absolute;\n top: 0;\n left: calc(100% - 1px);\n width: 100vw;\n height: 100%;\n max-width: 384px;\n padding-left: ","px;\n }\n"],["\n display: ",";\n position: relative;\n margin: 0;\n padding: 0;\n padding-left: ","px;\n padding-right: ","px;\n list-style: none;\n\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n background-color: ",";\n\n @media "," {\n position: absolute;\n top: 0;\n left: calc(100% - 1px);\n width: 100vw;\n height: 100%;\n max-width: 384px;\n padding-left: ","px;\n }\n"])),(function(n){return!n.isActive&&"none"}),(function(n){return n.isIndented?48+4*u.spacings.nudge:2*u.spacings.nudge}),2*u.spacings.nudge,(function(n){var e=n.theme;return u.getColors(e).elementBg.medium}),u.mq.semilarge,3*u.spacings.nudge),hn=e.forwardRef((function(e,t){var i=e.isCurrent,a=e.isActive,o=e.isFeatured,r=e.label,l=e.link,s=e.icon,u=e.subNavTitle,d=e.navBarSize,c=e.onItemClick,p=e.collapseIcon,m=e.canFocus,f=e.children,v=!!f&&g.default.Children.count(f)>0;return g.default.createElement(sn,{ref:t,isActive:a,"data-featured":o},g.default.createElement(un,{isCurrent:i,isFeatured:o},s&&g.default.createElement(dn,null,s),r&&g.default.createElement(cn,null,r),v&&g.default.createElement(pn,null,p?p({isCollapsed:!a}):g.default.createElement(mn,{ariaHidden:!0,isCollapsed:!a})),!v&&(null==l?void 0:l.href)&&g.default.createElement(fn,n.__assign({},l,{ariaLabel:r,tabIndex:m?void 0:-1})),v&&g.default.createElement(g.default.Fragment,null,g.default.createElement(gn,{"aria-label":r,"aria-expanded":a,onClick:c,tabIndex:m?void 0:-1}))),v&&g.default.createElement(vn,{isActive:a,isIndented:!!s},(null==l?void 0:l.href)&&g.default.createElement($n.SubItem,{key:"overview",link:l,label:u||"Overview",navBarSize:d,canFocus:m}),f))}));hn.displayName="NavigationItem";var bn=v.default.li.withConfig({displayName:"MenuFlyout__SubNavItem",componentId:"sc-19pnt0u-17"})(An||(An=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n height: 56px;\n\n ","\n color: ",";\n\n @media "," {\n &:first-child {\n margin-top: ","px;\n }\n\n &:last-child {\n margin-bottom: ","px;\n }\n }\n"],["\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n height: 56px;\n\n ","\n color: ",";\n\n @media "," {\n &:first-child {\n margin-top: ","px;\n }\n\n &:last-child {\n margin-bottom: ","px;\n }\n }\n"])),K("main"),(function(n){var e=n.theme;return u.getFonts(e).navigation.sub.color}),u.mq.semilarge,(function(n){var e=n.theme,t=n.navBarSize;return en(e,t)[1]+2*u.spacings.nudge}),u.spacings.spacer),xn=v.default(a.Link).withConfig({displayName:"MenuFlyout__SubNavLink",componentId:"sc-19pnt0u-18"})(Pn||(Pn=n.__makeTemplateObject(["\n /* width: 100%; */\n padding: ","px 0;\n outline-color: ",";\n vertical-align: middle;\n\n ","\n color: ",";\n text-decoration: ",";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * {\n margin: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus > * {\n outline: dashed 1px\n ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n"],["\n /* width: 100%; */\n padding: ","px 0;\n outline-color: ",";\n vertical-align: middle;\n\n ","\n color: ",";\n text-decoration: ",";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * {\n margin: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus > * {\n outline: dashed 1px\n ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n"])),u.spacings.nudge,(function(n){var e=n.theme;return u.getColors(e).primary.default}),K("sub"),(function(n){var e=n.theme;return u.getFonts(e).navigation.sub.color}),(function(n){return n.isCurrent?"underline":"none"}),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).primary.inverted:u.getColors(e).primary.default})),wn=e.forwardRef((function(e,t){var i=e.isCurrent,a=e.label,o=e.link,r=e.navBarSize,l=e.canFocus;return g.default.createElement(bn,{ref:t,navBarSize:r},g.default.createElement(xn,n.__assign({tabIndex:l?void 0:-1,isCurrent:i},o),g.default.createElement("span",null,a)))}));wn.displayName="NavigationSubItem";var yn,_n,kn,Cn,In,Nn,On,Bn,En,Sn,Fn,Mn,Tn,jn,zn,Ln,qn,Hn,An,Pn,Vn,Dn,Rn,Wn,Gn,Un,Xn,Yn,Qn,Jn,Kn=v.default.ul.withConfig({displayName:"MenuFlyout__SecondaryNavList",componentId:"sc-19pnt0u-19"})(Vn||(Vn=n.__makeTemplateObject(["\n display: block;\n list-style: none;\n padding: 0 ","px;\n margin: ","px 0;\n\n li {\n display: flex;\n margin: 0;\n padding: 0;\n }\n"],["\n display: block;\n list-style: none;\n padding: 0 ","px;\n margin: ","px 0;\n\n li {\n display: flex;\n margin: 0;\n padding: 0;\n }\n"])),2*u.spacings.nudge,u.spacings.spacer),Zn=v.default(a.Link).withConfig({displayName:"MenuFlyout__SecondaryNavLink",componentId:"sc-19pnt0u-20"})(Dn||(Dn=n.__makeTemplateObject(["\n display: inline-block;\n padding: ","px 0;\n outline-color: ",";\n vertical-align: middle;\n\n ","\n color: ",";\n text-decoration: ",";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:focus {\n outline: dashed 2px\n ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"],["\n display: inline-block;\n padding: ","px 0;\n outline-color: ",";\n vertical-align: middle;\n\n ","\n color: ",";\n text-decoration: ",";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:focus {\n outline: dashed 2px\n ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"])),.5*u.spacings.nudge,(function(n){var e=n.theme;return u.getColors(e).primary.default}),K("secondary"),(function(n){var e=n.theme;return u.getFonts(e).navigation.secondary.color}),(function(n){return n.isCurrent?"underline":"none"}),(function(n){var e=n.theme;return n.isInverted?u.getColors(e).primary.inverted:u.getColors(e).primary.default})),$n={View:function(n){var e=n.children;return g.default.createElement(rn,{"aria-label":"menu"},e)},List:ln,Item:hn,SubItem:wn,SubList:function(n){var e=n.items,t=n.canFocus;return e&&e.length>0?g.default.createElement(Kn,null,null==e?void 0:e.filter((function(n){var e;return null===(e=n.link)||void 0===e?void 0:e.href})).map((function(n,e){var i;return g.default.createElement("li",{key:e},g.default.createElement(Zn,{isCurrent:n.isCurrent,href:null===(i=n.link)||void 0===i?void 0:i.href,tabIndex:t?void 0:-1},n.label))}))):null}},ne=function(n){return!n.hideFromMenu&&n.uid&&n.label},ee=function(i){var a=i.isOpen,o=i.clampWidth,l=i.isIndexPage,u=i.mainNavigation,d=i.subNavigation,c=i.navBarSize,p=i.subNavTitle,m=i.backdropFilter,f=void 0===m?"grayscale(1)":m,v=i.header,h=i.footer,b=i.onClose,x=i.collapseIcon,w=i.navItemsHeader,y=t.useLibTheme().theme,_=e.useRef(null),k=e.useMemo((function(){return function(n){var e=en(n,"large"),t=en(n,"small");return e[0]>0||e[1]>0||t[0]>0||t[1]>0}(y)}),[y]),C=e.useMemo((function(){var e=(null==u?void 0:u.filter((function(n){return n.isFeatured})))||[],t=(null==u?void 0:u.filter((function(n){return!n.isFeatured})))||[];return n.__spreadArray(n.__spreadArray([],e,!0),t,!0).filter(ne)}),[u]),I=e.useMemo((function(){var n=(null==u?void 0:u.filter((function(n){return!n.isFeatured})))||[];return n&&n.length>0}),[u]),N=e.useMemo((function(){return null==d?void 0:d.filter(ne)}),[d]),O=e.useState((function(){var n,e,t=null===(e=null===(n=s.getCurrentNavItem(C,!0))||void 0===n?void 0:n.root)||void 0===e?void 0:e.uid;return t?[t]:[""]})),B=O[0],E=O[1],S=e.useState(null),F=S[0],M=S[1],T=e.useState(null),j=T[0],z=T[1];return e.useEffect((function(){var n=function(n){_.current&&n.target&&(_.current.contains(n.target)||b&&b())};return a?document.addEventListener("focusin",n):document.removeEventListener("focusin",n),function(){document.removeEventListener("focusin",n)}}),[a,b]),e.useEffect((function(){try{null==F||F.scrollIntoView({block:"center",inline:"start"}),null==j||j.scrollIntoView({block:"center",inline:"start"})}catch(n){}}),[F,j]),g.default.createElement(g.default.Fragment,null,g.default.createElement(Z,{isOpen:a,filter:f,onClick:b}),g.default.createElement($,{isOpen:a,clampWidth:o},g.default.createElement(nn,{ref:_,isOpen:a},k&&g.default.createElement(tn,{navBarSize:c},v?v({isOpen:a,mainNavigation:C,subNavigation:N,isIndexPage:l,navBarSize:c}):g.default.createElement(J,{menuStates:{isOpen:a,mainNavigation:u,subNavigation:d,isIndexPage:l,navBarSize:c}})),g.default.createElement(an,null,g.default.createElement(on,null,w&&w({isOpen:a,mainNavigation:C,subNavigation:N,isIndexPage:l,navBarSize:c}),g.default.createElement($n.View,null,r.isValidArray(C,!1)&&g.default.createElement($n.List,{id:"mainMenu",hasNonFeaturedItems:I},C.map((function(e){var t,i=B.includes(e.uid),o=!!(null==e?void 0:e.subItems)&&e.subItems.findIndex((function(n){return n.isCurrent}))>=0,r=e.isCurrent||o;return g.default.createElement($n.Item,n.__assign({key:e.uid},e,{ref:r?M:void 0,isActive:i,isCurrent:r,subNavTitle:p,navBarSize:c,collapseIcon:x,onItemClick:function(){return n=e.uid,void E((function(e){return e.includes(n)?[]:[n]}));var n},canFocus:a}),null===(t=null==e?void 0:e.subItems)||void 0===t?void 0:t.filter(ne).map((function(e){return g.default.createElement($n.SubItem,n.__assign({key:e.uid,ref:e.isCurrent?z:void 0},e,{navBarSize:c,canFocus:a}))})))}))),r.isValidArray(N,!1)&&g.default.createElement($n.SubList,{items:N,canFocus:a})),h?h({isOpen:a,mainNavigation:C,subNavigation:N,isIndexPage:l}):"")))))},te=function(e){var t=e.isOpen,i=e.clampWidth,a=e.isIndexPage,o=e.mainNavigation,r=e.subNavigation,l=e.navBarSize,s=e.header,u=e.footer,d=e.navItemsHeader,c=e.onClose,p=e.typeSettings;return p||(p={type:"flyout"}),null==p||p.type,g.default.createElement(ee,n.__assign({isOpen:t,clampWidth:i,isIndexPage:a,mainNavigation:o,subNavigation:r,navBarSize:l,header:s,footer:u,onClose:c,navItemsHeader:d},p))},ie=function(n,e){var t="large"===e?u.getGlobals(n).navigation.navBar.topHeight.large:u.getGlobals(n).navigation.navBar.topHeight.small;return[l.clampValue(t[0],0),l.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},ae=function(n){var e=ie(n,"large"),t=ie(n,"small");return e[0]>0||e[1]>0||t[0]>0||t[1]>0},oe=function(n,e){var t="large"===e?u.getGlobals(n).navigation.navBar.mainHeight.large:u.getGlobals(n).navigation.navBar.mainHeight.small;return[l.clampValue(t[0],0),l.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},re=function(n,e){var t="large"===e?u.getGlobals(n).navigation.navBar.bottomHeight.large:u.getGlobals(n).navigation.navBar.bottomHeight.small;return[l.clampValue(t[0],0),l.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},le=function(n){var e=re(n,"large"),t=re(n,"small");return e[0]>0||e[1]>0||t[0]>0||t[1]>0},se=function(n,e,t){var i=!t||-1===t.indexOf("top"),a=!t||-1===t.indexOf("main"),o=!t||-1===t.indexOf("bottom"),r=i?ie(n,e):[0,0],l=a?oe(n,e):[0,0],s=o?re(n,e):[0,0];return[r[0]+l[0]+s[0],r[1]+l[1]+s[1]]},ue=v.default.div.withConfig({displayName:"NavBar__View",componentId:"sc-f6gpx5-0"})(Rn||(Rn=n.__makeTemplateObject(["\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n\n transform: ",";\n\n margin: 0 auto;\n /* max-width: ","px; */\n z-index: 100;\n\n ","\n will-change: transform;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ",";\n margin: 0 auto;\n max-width: ","px;\n z-index: -1;\n }\n\n // print version\n @media print {\n position: relative;\n }\n"],["\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n\n transform: ",";\n\n margin: 0 auto;\n /* max-width: ","px; */\n z-index: 100;\n\n ","\n will-change: transform;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ",";\n margin: 0 auto;\n max-width: ","px;\n z-index: -1;\n }\n\n // print version\n @media print {\n position: relative;\n }\n"])),(function(n){return n.isSticky?"fixed":"absolute"}),(function(n){return!n.isOpen&&"translate3d(0, -101%, 0)"}),u.spacings.wrapperLarge,(function(n){var e=n.isAnimated;return"transition: ".concat(e?"transform 0.3s ease-in-out, ":"","height 0.3s ease-in-out,\n opacity 0.3s ease-in-out;")}),(function(n){return n.bgGradient||""}),u.spacings.wrapperLarge),de=v.default.div.withConfig({displayName:"NavBar__Header",componentId:"sc-f6gpx5-1"})(Wn||(Wn=n.__makeTemplateObject(["\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n\n background-color: ",";\n color: ",";\n\n transition: background-color 0.2s ease-in-out;\n\n @media "," {\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n }\n"],["\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n\n background-color: ",";\n color: ",";\n\n transition: background-color 0.2s ease-in-out;\n\n @media "," {\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n }\n"])),(function(n){var e=n.theme,t=n.size;return ie(e,t)[0]>0?1:0}),(function(n){var e=n.theme,t=n.size;return ie(e,t)[0]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return ie(e,t)[0]<=0&&"hidden"}),(function(n){return n.background}),(function(n){var e=n.theme;return n.background?u.getColors(e).text.default:u.getColors(e).text.inverted}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return ie(e,t)[1]>0?1:0}),(function(n){var e=n.theme,t=n.size;return ie(e,t)[1]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return ie(e,t)[1]<=0&&"hidden"})),ce=v.default.div.withConfig({displayName:"NavBar__Main",componentId:"sc-f6gpx5-2"})(Gn||(Gn=n.__makeTemplateObject(["\n background-color: ",";\n color: ",";\n\n transition: background-color 0.2s ease-in-out;\n"],["\n background-color: ",";\n color: ",";\n\n transition: background-color 0.2s ease-in-out;\n"])),(function(n){return n.background}),(function(n){var e=n.theme;return n.background?u.getColors(e).text.default:u.getColors(e).text.inverted})),pe=v.default.div.withConfig({displayName:"NavBar__Footer",componentId:"sc-f6gpx5-3"})(Un||(Un=n.__makeTemplateObject(["\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n\n background-color: ",";\n color: ",";\n\n opacity: ",";\n\n transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media "," {\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n\n opacity: ",";\n }\n"],["\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n\n background-color: ",";\n color: ",";\n\n opacity: ",";\n\n transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media "," {\n opacity: ",";\n pointer-events: ",";\n overflow: ",";\n\n opacity: ",";\n }\n"])),(function(n){var e=n.theme,t=n.size;return re(e,t)[0]>0?1:0}),(function(n){var e=n.theme,t=n.size;return re(e,t)[0]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return re(e,t)[0]<=0&&"hidden"}),(function(n){return n.background}),(function(n){var e=n.theme;return n.background?u.getColors(e).text.default:u.getColors(e).text.inverted}),(function(n){var e=n.theme,t=n.size;return re(e,t)[0]>0?1:0}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return re(e,t)[1]>0?1:0}),(function(n){var e=n.theme,t=n.size;return re(e,t)[1]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return re(e,t)[1]<=0&&"hidden"}),(function(n){var e=n.theme,t=n.size;return re(e,t)[1]>0?1:0})),me=v.default.div.withConfig({displayName:"NavBar__TopContent",componentId:"sc-f6gpx5-4"})(Xn||(Xn=n.__makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n position: relative;\n max-width: ","px;\n padding: ",";\n margin: 0 auto;\n\n height: ","px;\n\n transition: height 0.2s ease-in-out, padding-top 0.2s ease-in-out,\n padding-bottom 0.2s ease-in-out;\n will-change: height;\n\n @media "," {\n height: ","px;\n padding: ",";\n }\n"],["\n display: flex;\n justify-content: flex-end;\n position: relative;\n max-width: ","px;\n padding: ",";\n margin: 0 auto;\n\n height: ","px;\n\n transition: height 0.2s ease-in-out, padding-top 0.2s ease-in-out,\n padding-bottom 0.2s ease-in-out;\n will-change: height;\n\n @media "," {\n height: ","px;\n padding: ",";\n }\n"])),(function(n){return n.clamp?u.spacings.wrapper:u.spacings.wrapperLarge}),(function(n){var e=n.size,t=n.theme;return ie(t,e)[0]>0&&"0 ".concat(2*u.spacings.nudge,"px")}),(function(n){var e=n.theme,t=n.size;return ie(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return ie(e,t)[1]}),(function(n){var e=n.size,t=n.theme;return ie(t,e)[1]>0&&"0 ".concat(2*u.spacings.nudge,"px")})),fe=v.default.div.withConfig({displayName:"NavBar__Content",componentId:"sc-f6gpx5-5"})(Yn||(Yn=n.__makeTemplateObject(["\n display: flex;\n position: relative;\n max-width: ","px;\n padding: 0 ","px;\n margin: 0 auto;\n\n height: ","px;\n\n transition: height 0.2s ease-in-out;\n will-change: height;\n\n @media "," {\n height: ","px;\n }\n"],["\n display: flex;\n position: relative;\n max-width: ","px;\n padding: 0 ","px;\n margin: 0 auto;\n\n height: ","px;\n\n transition: height 0.2s ease-in-out;\n will-change: height;\n\n @media "," {\n height: ","px;\n }\n"])),(function(n){return n.clamp?u.spacings.wrapper:u.spacings.wrapperLarge}),2*u.spacings.nudge,(function(n){var e=n.theme,t=n.size;return oe(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return oe(e,t)[1]||oe(e,t)[0]})),ge=v.default.div.withConfig({displayName:"NavBar__BottomContent",componentId:"sc-f6gpx5-6"})(Qn||(Qn=n.__makeTemplateObject(["\n display: flex;\n justify-content: flex-start;\n position: relative;\n max-width: ","px;\n padding: 0 ","px;\n margin: 0 auto;\n\n height: ","px;\n transition: 0.2s height ease-in-out;\n\n @media "," {\n height: ","px;\n padding: 0 ","px;\n }\n"],["\n display: flex;\n justify-content: flex-start;\n position: relative;\n max-width: ","px;\n padding: 0 ","px;\n margin: 0 auto;\n\n height: ","px;\n transition: 0.2s height ease-in-out;\n\n @media "," {\n height: ","px;\n padding: 0 ","px;\n }\n"])),(function(n){return n.clamp?u.spacings.wrapper:u.spacings.wrapperLarge}),2*u.spacings.nudge,(function(n){var e=n.theme,t=n.size;return re(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return re(e,t)[1]}),2*u.spacings.nudge),ve=v.default.div.withConfig({displayName:"NavBar__BarSpacer",componentId:"sc-f6gpx5-7"})(Jn||(Jn=n.__makeTemplateObject(["\n height: ","px;\n\n @media "," {\n height: ","px;\n }\n\n // print version\n @media print {\n display: none;\n }\n"],["\n height: ","px;\n\n @media "," {\n height: ","px;\n }\n\n // print version\n @media print {\n display: none;\n }\n"])),(function(n){var e=n.theme,t=n.hasHeader,i=n.hasFooter,a=[];return t||a.push("top"),i||a.push("bottom"),se(e,"large",a)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.hasHeader,i=n.hasFooter,a=[];return t||a.push("top"),i||a.push("bottom"),se(e,"large",a)[1]})),he=function(n){var i=n.size,a=void 0===i?"large":i,o=n.isOpen,r=void 0!==o&&o,l=n.isSticky,s=void 0!==l&&l,u=n.isAnimated,d=void 0!==u&&u,c=n.clampWidth,p=void 0!==c&&c,m=n.pageFlow,f=void 0===m?"beforeContent":m,v=n.topBg,h=n.mainBg,b=n.bottomBg,x=n.onContentBg,w=n.topBar,y=n.mainBar,_=n.bottomBar,k=n.className,C=t.useLibTheme(),I=C.theme,N=C.colors,O="content"===p,B="overContent"===f,E=e.useMemo((function(){return ae(I)&&null!==w}),[I,w]),S=e.useMemo((function(){return le(I)&&null!==_}),[_,I]),F=e.useMemo((function(){return"small"===a||"large"===a&&!B}),[B,a]),M=v||N.elementBg.light,T=h||N.elementBg.light,j=b||N.elementBg.light,z=x||"linear-gradient(180deg,rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%)",L=e.useMemo((function(){return w&&w({size:a,isOpen:r,isSticky:s,pageFlow:f})}),[r,s,f,a,w]),q=e.useMemo((function(){return y&&y({size:a,isOpen:r,isSticky:s,pageFlow:f})}),[r,s,y,f,a]),H=e.useMemo((function(){return _&&_({size:a,isOpen:r,isSticky:s,pageFlow:f})}),[_,r,s,f,a]);return g.default.createElement(g.default.Fragment,null,"beforeContent"===f&&g.default.createElement(ve,{hasHeader:E,hasFooter:S}),g.default.createElement(ue,{isOpen:r,isSticky:s,isAnimated:d,bgGradient:"large"===a&&B?z:void 0,className:k},E&&g.default.createElement(de,{size:a,background:F?M:void 0},g.default.createElement(me,{size:a,clamp:O},L||g.default.createElement(V,{isInverted:!0},"Top Nav"))),null!==y&&g.default.createElement(ce,{background:F?T:void 0},g.default.createElement(fe,{size:a,clamp:O},q||g.default.createElement(g.default.Fragment,null,g.default.createElement(V,{takeSpace:!0,isInverted:"large"===a&&B},"Left"),g.default.createElement(V,{isInverted:"large"===a&&B},"Center"),g.default.createElement(V,{takeSpace:!0,isInverted:"large"===a&&B},"Right")))),S&&g.default.createElement(pe,{size:a,background:F?j:void 0},g.default.createElement(ge,{size:a,clamp:O},H||"bottom bar"))))},be=function(n){var e=n||"",t=void 0;switch(!0){case-1!==e.search("overContent"):t="overContent";break;case-1!==e.search("beforeContent"):t="beforeContent"}return{hasTop:-1!==e.search("top"),hasMain:-1!==e.search("main"),hasBottom:-1!==e.search("bottom"),pageFlow:t,isStickable:-1!==e.search("stickable")}},xe=function(n){if(!n)return"";var e=[];return n.hasTop&&e.push("top"),n.hasMain&&e.push("main"),n.hasBottom&&e.push("bottom"),n.isStickable&&e.push("stickable"),n.pageFlow&&e.push(n.pageFlow),e.join("-")};exports.BarBreadcrumbs=function(t){var i=t.isInverted,a=void 0!==i&&i,o=t.rootLink,r=t.rootLabel,l=t.navItems,u=t.seperator,d=t.back,c=t.className,p=e.useMemo((function(){return s.getCurrentNavPath(l,(null==o?void 0:o.href)?[null==o?void 0:o.href]:[])}),[l,null==o?void 0:o.href]),m={uid:"root",label:r||"Home",link:o};return g.default.createElement(T,{"aria-label":"breadcrumbs",className:c},g.default.createElement(j,null,g.default.createElement(z,null,g.default.createElement(P,n.__assign({showOnDesktop:!0,isInverted:a},m))),null==p?void 0:p.map((function(e,t){var i=t===p.length-1,o=t-1>=0?p[t-1]:m;return g.default.createElement(z,{key:t,isCurrent:i},g.default.createElement(H,{size:"small",isInverted:a},u?u({isInverted:a}):"/"),i?g.default.createElement(g.default.Fragment,null,o&&g.default.createElement(P,n.__assign({},o,{showOnMobile:!0,isInverted:a}),g.default.createElement(A,null,d?d({isInverted:a}):g.default.createElement(n.AngleLeft,null)),g.default.createElement("span",null,o.label)),g.default.createElement(P,n.__assign({},e,{link:{},showOnDesktop:!0,isInverted:a}))):g.default.createElement(P,n.__assign({},e,{showOnDesktop:!0,isInverted:a})))}))))},exports.BarLogo=function(e){var t=e.link,i=e.logo,a=e.className;return g.default.createElement(D,n.__assign({},t,{className:a}),(null==i?void 0:i.small)&&g.default.createElement(R,n.__assign({},i,{coverSpace:!1,ratios:void 0,showPlaceholder:!1})))},exports.BarMenuToggle=G,exports.BarNavList=function(e){var t=e.isInverted,i=e.navLinks,a=e.className;return g.default.createElement(U,{isInverted:t,className:a},null==i?void 0:i.map((function(e,i){return g.default.createElement(X,n.__assign({key:i},e.link,{isInverted:t,isActive:e.isCurrent}),e.label)})))},exports.Column=V,exports.MenuHeader=J,exports.Navigation=function(a){var o=a.clampWidth,r=void 0===o?"content":o,l=a.navBar,s=a.menu,u=(null==l?void 0:l.isStickable)||!1,d=(null==l?void 0:l.isCollapsible)||!1,c=i.useMediaQueries(),p=t.useLibTheme().theme,m=e.useState(!1),v=m[0],h=m[1],b=e.useState(!0),x=b[0],w=b[1],y=M({directionOffset:{up:40,down:40},offset:se(p,"large")[c.semilarge?1:0]}),_=y.isTop,k=y.scrollDirection,C=y.isInOffset,I=y.leftOffsetFromTop,N=e.useMemo((function(){return _||C||!u?"large":"small"}),[_,C,u]);e.useEffect((function(){u&&d&&w(_||C||k===f.UP)}),[k,_,u,C,d]),e.useEffect((function(){u&&(!d||I&&k===f.UP?h(!0):_&&h(!1))}),[d,u,_,I,k]);var O=function(t,i){var a=e.useState(t),o=a[0],r=a[1],l=e.useRef(!1),s=e.useState(null),u=s[0],d=s[1],c=e.useRef(null),p=e.useRef(null),m=n.__assign({openMenuIdent:'button[aria-label="open menu"]',closeMenuIdent:'button[aria-label="close menu"]'},i);return e.useEffect((function(){u&&(c.current||(c.current=u.querySelector(m.openMenuIdent)),p.current||(p.current=u.querySelector(m.closeMenuIdent)))}),[m.closeMenuIdent,m.openMenuIdent,o,u]),e.useEffect((function(){var n,e,t=function(n){"Escape"===n.key&&o&&r(!1)};return o?null===(n=null==p?void 0:p.current)||void 0===n||n.focus():l.current&&(null===(e=null==c?void 0:c.current)||void 0===e||e.focus()),l.current=o,window.addEventListener("keydown",t),function(){window.removeEventListener("keydown",t)}}),[o]),{setRoot:d,isMenuOpen:o,setIsMenuOpen:r}}(!1,{}),B=O.isMenuOpen,E=O.setIsMenuOpen,S=O.setRoot,F=function(){E(!0)},T=function(){E(!1)};e.useEffect((function(){document.body.style.overflow=B?"hidden":"visible"}),[B]);var j=(null==l?void 0:l.topBar)?function(e){return(null==l?void 0:l.topBar)?l.topBar(n.__assign(n.__assign({},e),{isMenuOpen:B,openMenu:F,closeMenu:T,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,isOnPageTop:_,isInTopOffset:C})):""}:null==l?void 0:l.topBar,z=(null==l?void 0:l.mainBar)?function(e){return(null==l?void 0:l.mainBar)?l.mainBar(n.__assign(n.__assign({},e),{isMenuOpen:B,openMenu:F,closeMenu:T,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,isOnPageTop:_,isInTopOffset:C})):""}:null==l?void 0:l.mainBar,L=(null==l?void 0:l.bottomBar)?function(e){return(null==l?void 0:l.bottomBar)?l.bottomBar(n.__assign(n.__assign({},e),{isMenuOpen:B,openMenu:F,closeMenu:T,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,isOnPageTop:_,isInTopOffset:C})):""}:null==l?void 0:l.bottomBar,q=(null==s?void 0:s.header)?function(e){return(null==s?void 0:s.header)?null==s?void 0:s.header(n.__assign(n.__assign({},e),{openMenu:F,closeMenu:T,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,navBarSize:N})):""}:void 0,H=(null==s?void 0:s.footer)?function(e){return(null==s?void 0:s.footer)?null==s?void 0:s.footer(n.__assign(n.__assign({},e),{openMenu:F,closeMenu:T,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,navBarSize:N})):""}:void 0,A=(null==s?void 0:s.navItemsHeader)?function(e){return(null==s?void 0:s.navItemsHeader)?null==s?void 0:s.navItemsHeader(n.__assign(n.__assign({},e),{openMenu:F,closeMenu:T,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,navBarSize:N})):""}:void 0;return g.default.createElement("header",{ref:S,"data-navbar-ident":function(n){return xe({hasTop:null!==j&&ae(n),hasMain:null!==z,hasBottom:null!==L&&le(n),isStickable:null==l?void 0:l.isStickable,pageFlow:null==l?void 0:l.pageFlow})}(p)},g.default.createElement(t.LibThemeProvider,{theme:null==l?void 0:l.theme},g.default.createElement(he,{isOpen:x,isSticky:v,isAnimated:!0,size:N,clampWidth:r,pageFlow:null==l?void 0:l.pageFlow,topBar:j,mainBar:z,bottomBar:L,topBg:null==l?void 0:l.topBg,mainBg:null==l?void 0:l.mainBg,bottomBg:null==l?void 0:l.bottomBg,onContentBg:null==l?void 0:l.onContentBg})),g.default.createElement(t.LibThemeProvider,{theme:null==s?void 0:s.theme},g.default.createElement(te,{isOpen:B,clampWidth:r,isIndexPage:null==s?void 0:s.isIndexPage,mainNavigation:null==s?void 0:s.mainNavigation,subNavigation:null==s?void 0:s.subNavigation,typeSettings:null==s?void 0:s.typeSettings,navBarSize:N,header:q,footer:H,navItemsHeader:A,onClose:T})))},exports.generateNavbarIdent=xe,exports.getFullNavbarHeights=function(n,e){var t=be(e||""),i=t.hasTop,a=t.hasBottom,o=[];return i||o.push("top"),a||o.push("bottom"),{large:se(n,"large",o),small:se(n,"small",o)}},exports.getNavbarState=be;
2
- //# sourceMappingURL=Navigation-ca78100c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Navigation-ca78100c.js","sources":["../src/utils/usePageScroll.ts","../src/utils/useScrollThrottle.ts","../src/components/sections/navigation/skeletons/BarBreadCrumbs.tsx","../src/components/sections/navigation/skeletons/BarColumn.tsx","../src/components/sections/navigation/skeletons/BarLogo.tsx","../src/components/sections/navigation/skeletons/BarMenuToggle.tsx","../src/components/sections/navigation/skeletons/BarNavList.tsx","../src/components/sections/navigation/partials/MenuHeader.tsx","../src/components/sections/navigation/menu/variations/MenuFlyout.tsx","../src/components/sections/navigation/menu/Menu.tsx","../src/components/sections/navigation/NavBar.tsx","../src/components/sections/navigation/Navigation.tsx","../src/utils/menuHooks.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport useScrollThrottle from './useScrollThrottle';\n\nexport enum PageScrollDirection {\n UP,\n DOWN,\n}\n\ninterface ScrollSettings {\n /** Direction state change delay in pixels */\n directionOffset?: {\n up?: number;\n down?: number;\n };\n /** Set top offset area */\n offset?: number;\n /** On leave top offset callback */\n onLeftOffset?: (dir: PageScrollDirection) => void;\n /** Throttle timeout of resize event. Default: 200ms */\n resizeThrottleTimeout?: number;\n}\n\nconst usePageScroll = (settings?: ScrollSettings) => {\n const [isTop, setIsTop] = useState<boolean>(true);\n const [isInOffset, setIsInOffset] = useState<boolean>(true);\n const [leftOffsetFromTop, setLeftOffsetFromTop] = useState<boolean>(false);\n\n const lastScrollPos = useRef<number>(0);\n const pxSinceLastSwitch = useRef<number>(0);\n\n const [scrollDirection, setScrollDirection] = useState<PageScrollDirection>(\n PageScrollDirection.DOWN\n );\n\n const directionDownOffset = settings?.directionOffset?.down || 0;\n const directionUpOffset = settings?.directionOffset?.up || 0;\n\n // Throttle scroll event for perfomance\n const scrollState = useScrollThrottle(\n settings?.resizeThrottleTimeout !== undefined\n ? settings.resizeThrottleTimeout\n : 200\n );\n\n useEffect(() => {\n if (!scrollState) return;\n if (typeof window === 'undefined') return;\n\n const scrollY = scrollState.scrollY;\n const isTop = scrollY <= 0;\n\n // check if page is scroll on top\n setIsTop(isTop);\n\n // check offset\n if (settings?.offset && scrollY <= settings.offset) {\n setIsInOffset(true);\n } else {\n setIsInOffset((prev) => {\n if (prev) {\n settings?.onLeftOffset?.(scrollDirection);\n setLeftOffsetFromTop(true);\n }\n return false;\n });\n }\n\n /**\n * calculate direction changes\n */\n\n // get difference between current and last scrollY position\n const diff = scrollY - lastScrollPos.current;\n // get accumulated pixels since last direction change\n let absAccPx = Math.abs(pxSinceLastSwitch.current);\n\n // check if direction changed. if not iterate accumulated pixels value\n if (diff < 0 && pxSinceLastSwitch.current > 0) {\n pxSinceLastSwitch.current = 0;\n } else if (diff > 0 && pxSinceLastSwitch.current < 0) {\n pxSinceLastSwitch.current = 0;\n } else {\n pxSinceLastSwitch.current += diff;\n }\n\n // set current accumulated value\n absAccPx = Math.abs(pxSinceLastSwitch.current);\n\n // set direction states\n if (isTop) {\n setScrollDirection(PageScrollDirection.DOWN);\n } else if (diff < 0 && absAccPx >= directionUpOffset) {\n setScrollDirection(PageScrollDirection.UP);\n } else if (diff > 0 && absAccPx >= directionDownOffset) {\n setScrollDirection(PageScrollDirection.DOWN);\n }\n\n // save last scroll position\n lastScrollPos.current = scrollY;\n }, [\n directionDownOffset,\n directionUpOffset,\n scrollDirection,\n scrollState,\n settings,\n ]);\n\n useEffect(() => {\n // reset left offset flag on top\n if (isTop) setLeftOffsetFromTop(false);\n }, [isTop]);\n\n return {\n isTop,\n scrollDirection,\n isInOffset,\n leftOffsetFromTop,\n };\n};\n\nexport default usePageScroll;\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ScrollState {\n scrollY: number;\n scrollX: number;\n}\n\nconst useScrollThrottle = (\n timeout = 0,\n callback?: (state: ScrollState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ScrollState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ScrollState>({\n scrollX: 0,\n scrollY: 0,\n });\n\n const updateScrollState = () => {\n if (typeof window === 'undefined') return;\n\n lastState.current = {\n scrollX: window.scrollX,\n scrollY: window.scrollY,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleScroll = () => {\n updateScrollState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateScrollState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useScrollThrottle;\n","import React, { FC, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../menu/Menu';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport AngleLeft from 'components/base/icons/AngleLeft';\nimport { getCurrentNavPath } from 'utils/navigation';\n\nconst View = styled.nav`\n min-width: 0;\n`;\n\nconst List = styled.ul`\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: inherit;\n\n & > li:first-child {\n flex: 1 0 auto;\n }\n\n @media ${mq.semilarge} {\n & > li + li {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst ListItem = styled.li<{ isCurrent?: boolean }>`\n display: ${({ isCurrent }) => (isCurrent ? 'flex' : 'none')};\n min-width: inherit;\n\n @media ${mq.semilarge} {\n display: flex;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst NavLink = styled(Link)<{\n isInverted?: boolean;\n clamp?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n}>`\n display: ${({ showOnMobile }) => (showOnMobile ? 'inline-flex' : 'none')};\n align-items: center;\n max-width: ${({ clamp }) => clamp && '120px'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: underline;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ showOnDesktop }) =>\n showOnDesktop ? 'inline-block' : 'none'};\n }\n`;\n\nconst NavLabel = styled.span<{\n isInverted?: boolean;\n clamp?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n}>`\n display: ${({ showOnMobile }) => (showOnMobile ? 'inline-flex' : 'none')};\n align-items: center;\n max-width: ${({ clamp }) => clamp && '120px'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n display: ${({ showOnDesktop }) =>\n showOnDesktop ? 'inline-block' : 'none'};\n }\n`;\n\nconst Seperator = styled(Copy)`\n display: none;\n\n transition: color 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n display: inline-block;\n }\n`;\n\nconst BackIconContainer = styled.span`\n flex: 0 0 auto;\n`;\n\nconst BreadcrumbItem: FC<\n NavItem & {\n isInverted?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n children?: React.ReactNode;\n }\n> = ({ isInverted, label, link, showOnMobile, showOnDesktop, children }) => {\n if (link?.href) {\n return (\n <NavLink\n {...link}\n isInverted={isInverted}\n showOnMobile={showOnMobile}\n showOnDesktop={showOnDesktop}\n >\n {children || label}\n </NavLink>\n );\n } else {\n return (\n <NavLabel\n isInverted={isInverted}\n showOnMobile={showOnMobile}\n showOnDesktop={showOnDesktop}\n >\n {children || label}\n </NavLabel>\n );\n }\n};\n\nconst BarBreadcrumbs: FC<{\n isInverted?: boolean;\n rootLink?: LinkProps;\n rootLabel?: string;\n navItems?: Array<NavItem>;\n seperator?: (props: { isInverted?: boolean }) => React.ReactNode;\n back?: (props: { isInverted?: boolean }) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted = false,\n rootLink,\n rootLabel,\n navItems,\n seperator,\n back,\n className,\n}) => {\n const currentNavPath = useMemo(() => {\n return getCurrentNavPath(\n navItems,\n rootLink?.href ? [rootLink?.href] : []\n );\n }, [navItems, rootLink?.href]);\n\n const rootItem: NavItem = {\n uid: 'root',\n label: rootLabel || 'Home',\n link: rootLink,\n };\n\n return (\n <View aria-label=\"breadcrumbs\" className={className}>\n <List>\n <ListItem>\n <BreadcrumbItem\n showOnDesktop\n isInverted={isInverted}\n {...rootItem}\n />\n </ListItem>\n\n {currentNavPath?.map((item, i) => {\n const isCurrent = i === currentNavPath.length - 1;\n const prev = i - 1 >= 0 ? currentNavPath[i - 1] : rootItem;\n\n return (\n <ListItem key={i} isCurrent={isCurrent}>\n <Seperator size=\"small\" isInverted={isInverted}>\n {seperator ? seperator({ isInverted }) : '/'}\n </Seperator>\n {isCurrent ? (\n <>\n {prev && (\n <BreadcrumbItem\n {...prev}\n showOnMobile\n isInverted={isInverted}\n >\n <BackIconContainer>\n {back ? (\n back({ isInverted })\n ) : (\n <AngleLeft />\n )}\n </BackIconContainer>\n <span>{prev.label}</span>\n </BreadcrumbItem>\n )}\n <BreadcrumbItem\n {...item}\n link={{}}\n showOnDesktop\n isInverted={isInverted}\n />\n </>\n ) : (\n <BreadcrumbItem\n {...item}\n showOnDesktop\n isInverted={isInverted}\n />\n )}\n </ListItem>\n );\n })}\n </List>\n </View>\n );\n};\n\nexport default BarBreadcrumbs;\n","import styled from 'styled-components';\nimport { spacings, getColors as color } from 'utils/styles';\n\nconst Column = styled.div<{\n isInverted?: boolean;\n takeSpace?: boolean;\n vAlign?: 'top' | 'center' | 'bottom';\n}>`\n flex: ${({ takeSpace }) => (takeSpace ? 1 : undefined)};\n\n padding: ${spacings.nudge}px 0;\n min-width: -webkit-min-content;\n align-self: ${({ vAlign }) => {\n switch (vAlign) {\n case 'center':\n return 'center';\n\n case 'bottom':\n return 'flex-end';\n\n case 'top':\n return 'flex-start';\n\n default:\n return undefined;\n }\n }};\n\n text-align: center;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.inverted};\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n\n &:not(:first-child):not(:last-child) {\n margin: 0 ${spacings.nudge * 2}px;\n }\n`;\n\nexport default Column;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors } from 'utils/styles';\n\nconst View = styled(Link)`\n display: block;\n display: flex;\n justify-content: center;\n min-width: 60px;\n max-width: 100%;\n max-height: 100%;\n\n &:focus {\n outline: 2px solid ${({ theme }) => getColors(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Logo = styled(Image)`\n width: auto;\n height: 100%;\n object-fit: contain;\n`;\n\nexport interface Logo {\n src?: string;\n alt?: string;\n}\n\nconst BarLogo: FC<{\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n logo?: ImageProps;\n className?: string;\n}> = ({ link, logo, className }) => {\n return (\n <View {...link} className={className}>\n {logo?.small && (\n <Logo\n {...logo}\n coverSpace={false}\n ratios={undefined}\n showPlaceholder={false}\n />\n )}\n </View>\n );\n};\n\nexport default BarLogo;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, spacings } from 'utils/styles';\n\nconst Toggle = styled.button<{ isInverted?: boolean }>`\n background: transparent;\n border: none;\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n padding: ${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n outline: none;\n\n cursor: pointer;\n\n transition: color 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n\n &:focus > * {\n outline: dotted 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n`;\n\nconst BarMenuToggle: FC<{\n isInverted?: boolean;\n isExpanded?: boolean;\n onClick?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({ isInverted, isExpanded = false, onClick, children, className }) => {\n return (\n <Toggle\n isInverted={isInverted}\n aria-expanded={isExpanded}\n aria-label={isExpanded ? 'close menu' : 'open menu'}\n aria-haspopup=\"true\"\n aria-controls=\"mainMenu\"\n onClick={onClick}\n className={className}\n >\n {children}\n </Toggle>\n );\n};\n\nexport default BarMenuToggle;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link from 'components/typography/Link';\nimport { spacings, getColors as color } from 'utils/styles';\nimport { copyStyle } from 'components/typography/Copy';\nimport { NavItem } from '../menu/Menu';\n\nconst View = styled.nav<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n\n margin: 0 -${spacings.nudge}px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n`;\n\nconst NavLink = styled(Link)<{ isInverted?: boolean; isActive?: boolean }>`\n display: inline-block;\n position: relative;\n padding: 0 ${spacings.nudge}px;\n\n ${copyStyle('copy', 'medium')}\n font-weight: ${({ isActive }) => isActive && '700'};\n\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-decoration: underline;\n }\n }\n`;\n\nconst BarNavList: FC<{\n isInverted?: boolean;\n navLinks?: NavItem[];\n className?: string;\n}> = ({ isInverted, navLinks, className }) => {\n return (\n <View isInverted={isInverted} className={className}>\n {navLinks?.map((item, i) => (\n <NavLink\n key={i}\n {...item.link}\n isInverted={isInverted}\n isActive={item.isCurrent}\n >\n {item.label}\n </NavLink>\n ))}\n </View>\n );\n};\n\nexport default BarNavList;\n","import Cross from 'components/base/icons/Cross';\nimport React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n\n padding: 0 ${spacings.nudge * 2}px;\n padding-top: ${spacings.nudge * 5}px;\n`;\n\nconst LanguageCol = styled.div`\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n`;\n\nconst MenuHeader: FC<{\n isInverted?: boolean;\n menuStates?: NavMenuStates;\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n action?: (\n props: { isInverted?: boolean } & NavMenuStates\n ) => React.ReactNode;\n}> = ({ isInverted, customToggle, menuStates, langs, action }) => {\n return (\n <React.Fragment>\n <Header>\n <Skeletons.MenuToggle\n isInverted={isInverted}\n isExpanded={true}\n onClick={menuStates?.closeMenu}\n >\n {customToggle ? (\n customToggle({ isInverted })\n ) : (\n <Cross ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageCol>\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n </LanguageCol>\n )}\n {action && action({ isInverted, ...menuStates })}\n </Header>\n </React.Fragment>\n );\n};\n\nexport default MenuHeader;\n","import AngleRight from 'components/base/icons/AngleRight';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React, {\n FC,\n useState,\n useMemo,\n useRef,\n useEffect,\n forwardRef,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { clampValue } from 'utils/clamp';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { getCurrentNavItem } from 'utils/navigation';\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n Fonts,\n} from 'utils/styles';\nimport { NavBarSize } from '../../NavBar';\nimport MenuHeader from '../../partials/MenuHeader';\nimport { MenuBaseProps, NavItem } from '../Menu';\nimport { css } from 'styled-components';\n\ntype NavigationFontType = keyof Fonts['navigation'];\n\nconst navigationStyle = (type: NavigationFontType) => css`\n font-family: ${({ theme }) => font(theme).navigation[type].family};\n font-weight: ${({ theme }) => font(theme).navigation[type].weight};\n font-style: ${({ theme }) => font(theme).navigation[type].style};\n ${({ theme }) => withRange(font(theme).navigation[type].size, 'font-size')}\n line-height: ${({ theme }) => font(theme).navigation[type].lineHeight};\n letter-spacing: ${({ theme }) =>\n font(theme).navigation[type].letterSpacing};\n text-transform: ${({ theme }) =>\n font(theme).navigation[type].textTransform};\n text-decoration: ${({ theme }) =>\n font(theme).navigation[type].textDecoration};\n`;\n\nconst Backdrop = styled.div<{ isOpen?: boolean; filter?: string }>`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: ${({ isOpen }) => (isOpen ? 1 : 0)};\n pointer-events: ${({ isOpen }) => (isOpen ? 'all' : 'none')};\n z-index: 101;\n\n transition: opacity 0.3s ease-in-out;\n\n @supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {\n backdrop-filter: ${({ filter }) => filter};\n }\n`;\n\nconst Stage = styled.div<{ isOpen?: boolean; clampWidth?: 'content' | 'full' }>`\n position: fixed;\n top: 0;\n left: ${({ isOpen }) => (isOpen ? '50%' : '0px')};\n height: 100vh;\n width: 100vw;\n max-width: ${({ clampWidth }) =>\n clampWidth === 'content' ? spacings.wrapper : spacings.wrapperLarge}px;\n pointer-events: none;\n\n z-index: 102;\n\n transform: translate(${({ isOpen }) => (isOpen ? '-50%' : '-100%')}, 0px);\n\n transition: transform 0.4s ease-in-out, left 0.4s ease-in-out;\n will-change: transform;\n`;\n\nconst Flyout = styled.div<{ isOpen?: boolean }>`\n display: flex;\n flex-direction: column;\n visibility: visible;\n\n position: relative;\n width: 100%;\n height: 100%;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n\n pointer-events: ${({ isOpen }) => (isOpen ? 'all' : 'none')};\n\n /** Animation to disable keyboard tabbing if flyout is closed */\n animation: ${({ isOpen }) => !isOpen && 'hideAnim 0s ease-in 2s forwards'};\n\n @media ${mq.medium} {\n width: 384px;\n }\n\n @media ${mq.large} {\n width: 460px;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 2px;\n height: 100%;\n width: 40vw;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n z-index: -1;\n\n transform: translateX(-100%);\n }\n\n @keyframes hideAnim {\n to {\n visibility: hidden;\n }\n }\n`;\n\nexport const getMenuHeaderHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.menu.headerHeight.large\n : global(theme).navigation.menu.headerHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasMenuHeader = (theme: DefaultTheme) => {\n const largeHeights = getMenuHeaderHeights(theme, 'large');\n const smallHeights = getMenuHeaderHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nconst Header = styled.div<{ navBarSize?: NavBarSize }>`\n flex: 0 0\n ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[0]}px;\n height: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[0]}px;\n\n @media ${mq.semilarge} {\n height: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1]}px;\n flex: 0 0\n ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1]}px;\n }\n`;\n\nconst ScrollContainer = styled.div`\n display: block;\n max-height: 100%;\n min-height: 0;\n`;\n\nconst ScrollArea = styled.div`\n display: block;\n width: 100vw;\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n & > *:last-child {\n margin-bottom: ${spacings.nudge * 10}px;\n }\n\n @media ${mq.medium} {\n max-width: 100%;\n }\n`;\n\n//#region NAVIGATION\n//#region NAVIGATION.Containers\nconst NavView = styled.nav``;\n\nconst Navigation: FC<{ children?: React.ReactNode }> = ({ children }) => {\n return <NavView aria-label=\"menu\">{children}</NavView>;\n};\n\nconst NavList = styled.ul<{ hasNonFeaturedItems?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n margin: ${spacings.nudge * 2}px 0;\n\n border-bottom: ${({ hasNonFeaturedItems, theme }) =>\n hasNonFeaturedItems && `solid 2px ${color(theme).elementBg.medium}`};\n`;\n\n// #endregion\n// #region NAVIGATION.NavItem\nconst NavItemView = styled.li<{ isActive?: boolean }>`\n flex: 0 0 80px;\n\n height: 100%;\n background-color: ${({ theme, isActive }) =>\n isActive\n ? color(theme).elementBg.medium\n : color(theme).elementBg.light};\n\n transition: background-color 0.2s ease-in-out;\n\n li + &:not([data-featured='true']) {\n border-top: solid 2px ${({ theme }) => color(theme).elementBg.medium};\n }\n\n li[data-featured='true'] + &:not([data-featured='true']) {\n margin-top: ${spacings.spacer}px;\n }\n\n &:not([data-featured='true']):first-child {\n border-top: solid 2px ${({ theme }) => color(theme).elementBg.medium};\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n }\n }\n`;\n\nconst NavItemContent = styled.span<{\n isCurrent?: boolean;\n isFeatured?: boolean;\n}>`\n display: flex;\n align-items: center;\n position: relative;\n min-height: 80px;\n\n padding: 0 ${spacings.nudge * 2}px;\n\n ${({ isFeatured }) => navigationStyle(isFeatured ? 'featured' : 'main')}\n color: ${({ theme, isFeatured }) =>\n isFeatured\n ? font(theme).navigation.featured.color\n : font(theme).navigation.main.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n`;\n\nconst NavItemIcon = styled.span`\n display: flex;\n align-items: center;\n width: 48px;\n max-width: 48px;\n\n * {\n width: 100%;\n max-width: 48px;\n max-height: 80px;\n }\n`;\n\nconst NavItemLabel = styled.span`\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:not(:first-child) {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst NavItemCollapse = styled.span`\n display: block;\n margin-left: auto;\n padding-left: ${spacings.nudge * 3}px;\n`;\n\nconst NavItemCollapseIcon = styled(AngleRight)<{ isCollapsed?: boolean }>`\n transform: ${({ isCollapsed }) => !isCollapsed && 'rotate(90deg)'};\n\n transition: transform 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n transform: rotate(0deg);\n }\n`;\n\nconst NavItemLink = styled(Link)`\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n &:focus {\n outline: solid 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst NavItemButton = styled.button`\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background: none;\n border: none;\n border-bottom: solid 2px ${({ theme }) => color(theme).elementBg.light};\n width: 100%;\n cursor: pointer;\n outline: none;\n border-radius: 0px;\n\n &:focus {\n outline: solid 2px ${({ theme }) => color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n @media ${mq.semilarge} {\n border-bottom: none;\n }\n`;\n\nconst SubNavList = styled.ul<{ isActive?: boolean; isIndented?: boolean }>`\n display: ${({ isActive }) => !isActive && 'none'};\n position: relative;\n margin: 0;\n padding: 0;\n padding-left: ${({ isIndented }) =>\n isIndented ? 48 + spacings.nudge * 4 : spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n list-style: none;\n\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n\n @media ${mq.semilarge} {\n position: absolute;\n top: 0;\n left: calc(100% - 1px);\n width: 100vw;\n height: 100%;\n max-width: 384px;\n padding-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst NavigationItem = forwardRef<\n HTMLLIElement,\n {\n isCurrent?: boolean;\n isActive?: boolean;\n isFeatured?: boolean;\n label?: string;\n link?: LinkProps;\n icon?: React.ReactNode;\n\n subNavTitle?: string;\n\n navBarSize?: NavBarSize;\n onItemClick?: () => void;\n collapseIcon?: (props: { isCollapsed?: boolean }) => React.ReactNode;\n canFocus?: boolean;\n children?: React.ReactNode;\n }\n>(\n (\n {\n isCurrent,\n isActive,\n isFeatured,\n label,\n link,\n icon,\n subNavTitle,\n navBarSize,\n onItemClick,\n collapseIcon,\n canFocus,\n children,\n },\n ref\n ) => {\n const hasSubItems = !!children && React.Children.count(children) > 0;\n\n return (\n <NavItemView\n ref={ref}\n isActive={isActive}\n data-featured={isFeatured}\n >\n <NavItemContent isCurrent={isCurrent} isFeatured={isFeatured}>\n {icon && <NavItemIcon>{icon}</NavItemIcon>}\n {label && <NavItemLabel>{label}</NavItemLabel>}\n {hasSubItems && (\n <NavItemCollapse>\n {collapseIcon ? (\n collapseIcon({\n isCollapsed: !isActive,\n })\n ) : (\n <NavItemCollapseIcon\n ariaHidden\n isCollapsed={!isActive}\n />\n )}\n </NavItemCollapse>\n )}\n {!hasSubItems && link?.href && (\n <NavItemLink\n {...link}\n ariaLabel={label}\n tabIndex={!canFocus ? -1 : undefined}\n />\n )}\n {hasSubItems && (\n <React.Fragment>\n <NavItemButton\n aria-label={label}\n aria-expanded={isActive}\n onClick={onItemClick}\n tabIndex={!canFocus ? -1 : undefined}\n />\n </React.Fragment>\n )}\n </NavItemContent>\n {hasSubItems && (\n <SubNavList isActive={isActive} isIndented={!!icon}>\n {link?.href && (\n <MenuNav.SubItem\n key=\"overview\"\n link={link}\n label={subNavTitle || 'Overview'}\n navBarSize={navBarSize}\n canFocus={canFocus}\n />\n )}\n {children}\n </SubNavList>\n )}\n </NavItemView>\n );\n }\n);\n\nNavigationItem.displayName = 'NavigationItem';\n\n//#endregion NAVIGATION.NavItem\n//#region NAVIGATION.SubNavItem\nconst SubNavItem = styled.li<{ navBarSize?: NavBarSize }>`\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n height: 56px;\n\n ${navigationStyle('main')}\n color: ${({ theme }) => font(theme).navigation.sub.color};\n\n @media ${mq.semilarge} {\n &:first-child {\n margin-top: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1] +\n spacings.nudge * 2}px;\n }\n\n &:last-child {\n margin-bottom: ${spacings.spacer}px;\n }\n }\n`;\n\nconst SubNavLink = styled(Link)<{ isCurrent?: boolean }>`\n /* width: 100%; */\n padding: ${spacings.nudge}px 0;\n outline-color: ${({ theme }) => color(theme).primary.default};\n vertical-align: middle;\n\n ${navigationStyle('sub')}\n color: ${({ theme }) => font(theme).navigation.sub.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * {\n margin: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus > * {\n outline: dashed 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n`;\n\nconst NavigationSubItem = forwardRef<\n HTMLLIElement,\n {\n isCurrent?: boolean;\n label: string;\n link?: LinkProps;\n navBarSize?: NavBarSize;\n canFocus?: boolean;\n }\n>(({ isCurrent, label, link, navBarSize, canFocus }, ref) => {\n return (\n <SubNavItem ref={ref} navBarSize={navBarSize}>\n <SubNavLink\n tabIndex={!canFocus ? -1 : undefined}\n isCurrent={isCurrent}\n {...link}\n >\n <span>{label}</span>\n </SubNavLink>\n </SubNavItem>\n );\n});\n\nNavigationSubItem.displayName = 'NavigationSubItem';\n//#endregion\n//#region NAVIGATION.SecondaryNavigation\nconst SecondaryNavList = styled.ul`\n display: block;\n list-style: none;\n padding: 0 ${spacings.nudge * 2}px;\n margin: ${spacings.spacer}px 0;\n\n li {\n display: flex;\n margin: 0;\n padding: 0;\n }\n`;\n\nconst SecondaryNavLink = styled(Link)<{ isCurrent?: boolean }>`\n display: inline-block;\n padding: ${spacings.nudge * 0.5}px 0;\n outline-color: ${({ theme }) => color(theme).primary.default};\n vertical-align: middle;\n\n ${navigationStyle('secondary')}\n color: ${({ theme }) => font(theme).navigation.secondary.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:focus {\n outline: dashed 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst SecondaryNavigation: FC<{\n items?: NavItem[];\n canFocus?: boolean;\n}> = ({ items, canFocus }) => {\n return items && items.length > 0 ? (\n <SecondaryNavList>\n {items\n ?.filter((n) => n.link?.href)\n .map((item, i) => (\n <li key={i}>\n <SecondaryNavLink\n isCurrent={item.isCurrent}\n href={item.link?.href}\n tabIndex={!canFocus ? -1 : undefined}\n >\n {item.label}\n </SecondaryNavLink>\n </li>\n ))}\n </SecondaryNavList>\n ) : null;\n};\n//#endregion\n\nconst MenuNav = {\n View: Navigation,\n List: NavList,\n Item: NavigationItem,\n SubItem: NavigationSubItem,\n SubList: SecondaryNavigation,\n};\n// #endregion\n\nexport interface FlyoutMenuProps {\n type: 'flyout';\n collapseIcon?: (props: { isCollapsed?: boolean }) => React.ReactNode;\n subNavTitle?: string;\n backdropFilter?: string;\n}\n\nconst menuFilter = (item: NavItem) =>\n !item.hideFromMenu && item.uid && item.label;\n\nconst MenuFlyout: FC<MenuBaseProps & FlyoutMenuProps> = ({\n isOpen,\n clampWidth,\n isIndexPage,\n mainNavigation,\n subNavigation,\n navBarSize,\n subNavTitle,\n backdropFilter = 'grayscale(1)',\n header,\n footer,\n onClose,\n collapseIcon,\n navItemsHeader,\n}) => {\n const { theme } = useLibTheme();\n const flyoutRef = useRef<HTMLDivElement>(null);\n const hasHeader = useMemo(() => hasMenuHeader(theme), [theme]);\n\n const mainList = useMemo(() => {\n const featured = mainNavigation?.filter((n) => n.isFeatured) || [];\n const main = mainNavigation?.filter((n) => !n.isFeatured) || [];\n\n return [...featured, ...main].filter(menuFilter);\n }, [mainNavigation]);\n\n const hasNonFeaturedItems = useMemo(() => {\n const main = mainNavigation?.filter((n) => !n.isFeatured) || [];\n return main && main.length > 0;\n }, [mainNavigation]);\n\n const subList = useMemo(() => {\n return subNavigation?.filter(menuFilter);\n }, [subNavigation]);\n\n const [activeItems, setActiveItems] = useState<string[]>(() => {\n const initial = getCurrentNavItem(mainList, true)?.root?.uid;\n return initial ? [initial] : [''];\n });\n const [currentNavEl, setCurrentNavEl] =\n useState<HTMLLIElement | null>(null);\n const [currentSubNavEl, setCurrentSubNavEl] =\n useState<HTMLLIElement | null>(null);\n\n const toggleActiveItem = (uid: string) => {\n setActiveItems((prev) => (prev.includes(uid) ? [] : [uid]));\n\n // if multiple nav items can be selected:\n // setActiveItems((prev) => {\n // const copy = [...prev];\n // const activeIndex = activeItems.indexOf(index);\n // if (activeIndex !== -1) {\n // copy.splice(activeIndex, 1);\n // } else {\n // copy.push(index);\n // }\n // return copy;\n // });\n };\n\n // check if flyout lost focus\n useEffect(() => {\n const handleFocus = (ev: FocusEvent) => {\n if (!flyoutRef.current || !ev.target) return;\n const isFlyoutChild = flyoutRef.current.contains(\n ev.target as Element\n );\n\n if (!isFlyoutChild) onClose && onClose();\n };\n\n if (isOpen) {\n document.addEventListener('focusin', handleFocus);\n } else {\n document.removeEventListener('focusin', handleFocus);\n }\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n };\n }, [isOpen, onClose]);\n\n // scroll to current nav items\n useEffect(() => {\n try {\n currentNavEl?.scrollIntoView({\n block: 'center',\n inline: 'start',\n });\n currentSubNavEl?.scrollIntoView({\n block: 'center',\n inline: 'start',\n });\n } catch (e) {\n // console.log(e);\n }\n }, [currentNavEl, currentSubNavEl]);\n\n return (\n <React.Fragment>\n <Backdrop\n isOpen={isOpen}\n filter={backdropFilter}\n onClick={onClose}\n />\n <Stage isOpen={isOpen} clampWidth={clampWidth}>\n <Flyout ref={flyoutRef} isOpen={isOpen}>\n {hasHeader && (\n <Header navBarSize={navBarSize}>\n {header ? (\n header({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n navBarSize,\n })\n ) : (\n <MenuHeader\n menuStates={{\n isOpen,\n mainNavigation,\n subNavigation,\n isIndexPage,\n navBarSize,\n }}\n />\n )}\n </Header>\n )}\n\n <ScrollContainer>\n <ScrollArea>\n {navItemsHeader &&\n navItemsHeader({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n navBarSize,\n })}\n <MenuNav.View>\n {isValidArray(mainList, false) && (\n <MenuNav.List\n id=\"mainMenu\"\n hasNonFeaturedItems={\n hasNonFeaturedItems\n }\n >\n {mainList.map((item) => {\n const isActive =\n activeItems.includes(item.uid);\n const hasCurrentSubItem =\n item?.subItems\n ? item.subItems.findIndex(\n (n) => n.isCurrent\n ) >= 0\n : false;\n\n const isCurrent =\n item.isCurrent ||\n hasCurrentSubItem;\n\n return (\n <MenuNav.Item\n key={item.uid}\n {...item}\n ref={\n isCurrent\n ? setCurrentNavEl\n : undefined\n }\n isActive={isActive}\n isCurrent={isCurrent}\n subNavTitle={subNavTitle}\n navBarSize={navBarSize}\n collapseIcon={collapseIcon}\n onItemClick={() =>\n toggleActiveItem(\n item.uid\n )\n }\n canFocus={isOpen}\n >\n {item?.subItems\n ?.filter(menuFilter)\n .map((subItem) => (\n <MenuNav.SubItem\n key={\n subItem.uid\n }\n ref={\n subItem.isCurrent\n ? setCurrentSubNavEl\n : undefined\n }\n {...subItem}\n navBarSize={\n navBarSize\n }\n canFocus={\n isOpen\n }\n />\n ))}\n </MenuNav.Item>\n );\n })}\n </MenuNav.List>\n )}\n {isValidArray(subList, false) && (\n <MenuNav.SubList\n items={subList}\n canFocus={isOpen}\n />\n )}\n </MenuNav.View>\n {footer\n ? footer({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n })\n : ''}\n </ScrollArea>\n </ScrollContainer>\n </Flyout>\n </Stage>\n </React.Fragment>\n );\n};\n\nexport default MenuFlyout;\n","import React, { FC } from 'react';\n\nimport { LinkProps } from 'components/typography/Link';\n\n/** Menu Variations */\nimport MenuFlyout, { FlyoutMenuProps } from './variations/MenuFlyout';\nimport { /* MenuLarge,*/ LargeMenuProps } from './variations/MenuLarge';\nimport { NavBarSize } from '../NavBar';\n\n/** Navigation item types */\n\nexport interface NavItem {\n uid: string;\n label: string;\n link?: LinkProps;\n isCurrent?: boolean;\n subItems?: NavItem[];\n isFeatured?: boolean;\n icon?: React.ReactNode;\n hideFromMenu?: boolean;\n}\n\n/** Menu base type */\nexport interface MenuStates {\n isOpen?: boolean;\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n navBarSize?: NavBarSize;\n}\n\nexport interface MenuBaseProps {\n isOpen?: boolean;\n clampWidth?: 'content' | 'full';\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n navBarSize?: NavBarSize;\n header?: (props: MenuStates) => React.ReactNode;\n footer?: (props: MenuStates) => React.ReactNode;\n navItemsHeader?: (menuStates: MenuStates) => React.ReactNode;\n onClose?: () => void;\n}\n\nexport type MenuTypeProps = FlyoutMenuProps | LargeMenuProps;\n\nconst Menu: FC<MenuBaseProps & { typeSettings?: MenuTypeProps }> = ({\n isOpen,\n clampWidth,\n isIndexPage,\n mainNavigation,\n subNavigation,\n navBarSize,\n header,\n footer,\n navItemsHeader,\n onClose,\n typeSettings,\n}) => {\n if (!typeSettings) {\n typeSettings = { type: 'flyout' };\n }\n\n switch (typeSettings?.type) {\n // case 'large': {\n // return (\n // <MenuLarge\n // isOpen={isOpen}\n // clampWidth={clampWidth}\n // isIndexPage={isIndexPage}\n // mainNavigation={mainNavigation}\n // subNavigation={subNavigation}\n // navBarSize={navBarSize}\n // header={header}\n // footer={footer}\n // navItemsHeader={navItemsHeader}\n // onClose={onClose}\n // {...(typeSettings as LargeMenuProps)}\n // />\n // );\n // }\n\n default:\n case 'flyout': {\n return (\n <MenuFlyout\n isOpen={isOpen}\n clampWidth={clampWidth}\n isIndexPage={isIndexPage}\n mainNavigation={mainNavigation}\n subNavigation={subNavigation}\n navBarSize={navBarSize}\n header={header}\n footer={footer}\n onClose={onClose}\n navItemsHeader={navItemsHeader}\n {...(typeSettings as FlyoutMenuProps)}\n />\n );\n }\n }\n};\n\nexport default Menu;\n","import React, { FC, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport {\n spacings,\n mq,\n getGlobals as global,\n getColors as color,\n} from 'utils/styles';\nimport { clampValue } from 'utils/clamp';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\n\nexport const getTopHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.topHeight.large\n : global(theme).navigation.navBar.topHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasTopBar = (theme: DefaultTheme) => {\n const largeHeights = getTopHeights(theme, 'large');\n const smallHeights = getTopHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nexport const getMainHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.mainHeight.large\n : global(theme).navigation.navBar.mainHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const getBottomHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.bottomHeight.large\n : global(theme).navigation.navBar.bottomHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasBottomBar = (theme: DefaultTheme) => {\n const largeHeights = getBottomHeights(theme, 'large');\n const smallHeights = getBottomHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nexport type ExcludeType = 'top' | 'main' | 'bottom';\n\n/**\n * Get full height of navigation bar\n * @param theme Theme object\n * @param size Navigation bar size\n * @param exclude Exclude parts of the navbar for height calculation\n * @returns [mobile, desktop]\n */\nexport const getFullHeight = (\n theme: DefaultTheme,\n size?: NavBarSize,\n exclude?: ExcludeType[]\n): [number, number] => {\n const includeTop = exclude ? exclude.indexOf('top') === -1 : true;\n const includeMain = exclude ? exclude.indexOf('main') === -1 : true;\n const includeBottom = exclude ? exclude.indexOf('bottom') === -1 : true;\n\n const topHeights = includeTop ? getTopHeights(theme, size) : [0, 0];\n const mainHeights = includeMain ? getMainHeights(theme, size) : [0, 0];\n const bottomHeights = includeBottom\n ? getBottomHeights(theme, size)\n : [0, 0];\n\n // calculate mobile navbar height\n const mobile = topHeights[0] + mainHeights[0] + bottomHeights[0];\n\n // calculate desktop navbar height\n const desktop = topHeights[1] + mainHeights[1] + bottomHeights[1];\n\n return [mobile, desktop];\n};\n\nconst View = styled.div<{\n isOpen?: boolean;\n isSticky?: boolean;\n isAnimated?: boolean;\n bgGradient?: string;\n}>`\n position: ${({ isSticky }) => (isSticky ? 'fixed' : 'absolute')};\n top: 0;\n left: 0;\n right: 0;\n\n transform: ${({ isOpen }) => !isOpen && 'translate3d(0, -101%, 0)'};\n\n margin: 0 auto;\n /* max-width: ${spacings.wrapperLarge}px; */\n z-index: 100;\n\n ${({ isAnimated }) => `transition: ${\n isAnimated ? 'transform 0.3s ease-in-out, ' : ''\n }height 0.3s ease-in-out,\n opacity 0.3s ease-in-out;`}\n will-change: transform;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgGradient }) => bgGradient || ''};\n margin: 0 auto;\n max-width: ${spacings.wrapperLarge}px;\n z-index: -1;\n }\n\n // print version\n @media print {\n position: relative;\n }\n`;\n\nconst Header = styled.div<{ size?: NavBarSize; background?: string }>`\n opacity: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] <= 0 && 'hidden'};\n\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n transition: background-color 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n opacity: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] <= 0 && 'hidden'};\n }\n`;\n\nconst Main = styled.div<{ background?: string }>`\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n transition: background-color 0.2s ease-in-out;\n`;\n\nconst Footer = styled.div<{ size?: NavBarSize; background?: string }>`\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] <= 0 && 'hidden'};\n\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 1 : 0};\n\n transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] <= 0 && 'hidden'};\n\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 1 : 0};\n }\n`;\n\nconst TopContent = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n justify-content: flex-end;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: ${({ size, theme }) =>\n getTopHeights(theme, size)[0] > 0 && `0 ${spacings.nudge * 2}px`};\n margin: 0 auto;\n\n height: ${({ theme, size }) => getTopHeights(theme, size)[0]}px;\n\n transition: height 0.2s ease-in-out, padding-top 0.2s ease-in-out,\n padding-bottom 0.2s ease-in-out;\n will-change: height;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) => getTopHeights(theme, size)[1]}px;\n padding: ${({ size, theme }) =>\n getTopHeights(theme, size)[1] > 0 && `0 ${spacings.nudge * 2}px`};\n }\n`;\n\nconst Content = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: 0 ${spacings.nudge * 2}px;\n margin: 0 auto;\n\n height: ${({ theme, size }) => getMainHeights(theme, size)[0]}px;\n\n transition: height 0.2s ease-in-out;\n will-change: height;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) =>\n getMainHeights(theme, size)[1] || getMainHeights(theme, size)[0]}px;\n }\n`;\n\nconst BottomContent = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n justify-content: flex-start;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: 0 ${spacings.nudge * 2}px;\n margin: 0 auto;\n\n height: ${({ theme, size }) => getBottomHeights(theme, size)[0]}px;\n transition: 0.2s height ease-in-out;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) => getBottomHeights(theme, size)[1]}px;\n padding: 0 ${spacings.nudge * 2}px;\n }\n`;\n\nconst BarSpacer = styled.div<{ hasHeader?: boolean; hasFooter?: boolean }>`\n height: ${({ theme, hasHeader, hasFooter }) => {\n const excludes: ExcludeType[] = [];\n if (!hasHeader) excludes.push('top');\n if (!hasFooter) excludes.push('bottom');\n\n return getFullHeight(theme, 'large', excludes)[0];\n }}px;\n\n @media ${mq.semilarge} {\n height: ${({ theme, hasHeader, hasFooter }) => {\n const excludes: ExcludeType[] = [];\n if (!hasHeader) excludes.push('top');\n if (!hasFooter) excludes.push('bottom');\n\n return getFullHeight(theme, 'large', excludes)[1];\n }}px;\n }\n\n // print version\n @media print {\n display: none;\n }\n`;\n\nexport type NavBarSize = 'small' | 'large';\n\nexport interface BarStates {\n size: NavBarSize;\n isOpen?: boolean;\n isSticky?: boolean;\n pageFlow?: PageFlow;\n}\n\nexport type PageFlow = 'overContent' | 'beforeContent';\n\nexport interface NavBarProps {\n size?: NavBarSize;\n isOpen?: boolean;\n isSticky?: boolean;\n isAnimated?: boolean;\n clampWidth?: 'content' | 'full';\n pageFlow?: PageFlow;\n\n topBg?: string;\n mainBg?: string;\n bottomBg?: string;\n /** Custom background value for NavBar with pageFlow === overContent and large size */\n onContentBg?: string;\n\n topBar?: ((props: BarStates) => React.ReactNode) | null;\n mainBar?: ((props: BarStates) => React.ReactNode) | null;\n bottomBar?: ((props: BarStates) => React.ReactNode) | null;\n}\n\nconst NavBar: FC<\n NavBarProps & {\n className?: string;\n }\n> = ({\n size = 'large',\n isOpen = false,\n isSticky = false,\n isAnimated = false,\n clampWidth = false,\n pageFlow = 'beforeContent',\n topBg,\n mainBg,\n bottomBg,\n onContentBg,\n topBar,\n mainBar,\n bottomBar,\n className,\n}) => {\n const { theme, colors } = useLibTheme();\n const clampContent = clampWidth === 'content';\n const isOverContent = pageFlow === 'overContent';\n\n const hasHeader = useMemo(\n () => hasTopBar(theme) && topBar !== null,\n [theme, topBar]\n );\n const hasFooter = useMemo(\n () => hasBottomBar(theme) && bottomBar !== null,\n [bottomBar, theme]\n );\n const showBg = useMemo(\n () => size === 'small' || (size === 'large' && !isOverContent),\n [isOverContent, size]\n );\n\n const topBackground = topBg || colors.elementBg.light;\n const mainBackground = mainBg || colors.elementBg.light;\n const bottomBackground = bottomBg || colors.elementBg.light;\n const onContentBackground =\n onContentBg ||\n 'linear-gradient(180deg,rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%)';\n\n const topBarContent = useMemo(\n () =>\n topBar &&\n topBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [isOpen, isSticky, pageFlow, size, topBar]\n );\n\n const mainBarContent = useMemo(\n () =>\n mainBar &&\n mainBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [isOpen, isSticky, mainBar, pageFlow, size]\n );\n\n const bottomBarContent = useMemo(\n () =>\n bottomBar &&\n bottomBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [bottomBar, isOpen, isSticky, pageFlow, size]\n );\n\n return (\n <React.Fragment>\n {pageFlow === 'beforeContent' && (\n <BarSpacer hasHeader={hasHeader} hasFooter={hasFooter} />\n )}\n <View\n isOpen={isOpen}\n isSticky={isSticky}\n isAnimated={isAnimated}\n bgGradient={\n size === 'large' && isOverContent\n ? onContentBackground\n : undefined\n }\n className={className}\n >\n {hasHeader && (\n <Header\n size={size}\n background={showBg ? topBackground : undefined}\n >\n <TopContent size={size} clamp={clampContent}>\n {topBarContent ? (\n topBarContent\n ) : (\n <Skeletons.Column isInverted>\n Top Nav\n </Skeletons.Column>\n )}\n </TopContent>\n </Header>\n )}\n {mainBar !== null && (\n <Main background={showBg ? mainBackground : undefined}>\n <Content size={size} clamp={clampContent}>\n {mainBarContent ? (\n mainBarContent\n ) : (\n <React.Fragment>\n <Skeletons.Column\n takeSpace\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Left\n </Skeletons.Column>\n <Skeletons.Column\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Center\n </Skeletons.Column>\n <Skeletons.Column\n takeSpace\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Right\n </Skeletons.Column>\n </React.Fragment>\n )}\n </Content>\n </Main>\n )}\n {hasFooter && (\n <Footer\n size={size}\n background={showBg ? bottomBackground : undefined}\n >\n <BottomContent size={size} clamp={clampContent}>\n {bottomBarContent ? bottomBarContent : 'bottom bar'}\n </BottomContent>\n </Footer>\n )}\n </View>\n </React.Fragment>\n );\n};\n\nexport default NavBar;\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport { DefaultTheme } from 'styled-components';\nimport {\n LibThemeProvider,\n ThemeMods,\n useLibTheme,\n} from 'utils/LibThemeProvider';\nimport { useMediaQueries } from 'utils/useMediaQuery';\nimport { useMenuKeyboard } from 'utils/menuHooks';\nimport usePageScroll, { PageScrollDirection } from 'utils/usePageScroll';\nimport Menu, { MenuStates, MenuTypeProps, NavItem } from './menu/Menu';\n\nimport NavBar, {\n getFullHeight,\n NavBarSize,\n BarStates,\n hasTopBar,\n hasBottomBar,\n ExcludeType,\n PageFlow,\n} from './NavBar';\n\n/**\n * Checks which navbar parts are defined in navigation.\n * With this values you can calculate each height by the Navbar component functions\n * @param ident Identification string from Navigation component\n * @returns\n */\nexport const getNavbarState = (ident: string) => {\n const navbarIdent = ident || '';\n\n let pageFlow: PageFlow | undefined = undefined;\n switch (true) {\n case navbarIdent.search('overContent') !== -1: {\n pageFlow = 'overContent';\n break;\n }\n\n case navbarIdent.search('beforeContent') !== -1: {\n pageFlow = 'beforeContent';\n break;\n }\n }\n\n return {\n hasTop: navbarIdent.search('top') !== -1,\n hasMain: navbarIdent.search('main') !== -1,\n hasBottom: navbarIdent.search('bottom') !== -1,\n pageFlow: pageFlow,\n isStickable: navbarIdent.search('stickable') !== -1,\n };\n};\n\n/** Generate Navbar identifier */\nexport const generateNavbarIdent = (props: {\n hasTop?: boolean;\n hasMain?: boolean;\n hasBottom?: boolean;\n pageFlow?: PageFlow;\n isStickable?: boolean;\n}): string => {\n if (!props) return '';\n const stateArray: string[] = [];\n\n if (props.hasTop) stateArray.push('top');\n if (props.hasMain) stateArray.push('main');\n if (props.hasBottom) stateArray.push('bottom');\n if (props.isStickable) stateArray.push('stickable');\n if (props.pageFlow) stateArray.push(props.pageFlow);\n\n return stateArray.join('-');\n};\n\n/**\n * Get full navbar heights\n * @param theme Theme object\n * @param ident Indentification string from Navigation component\n * @returns\n */\nexport const getFullNavbarHeights = (theme: DefaultTheme, ident: string) => {\n const { hasTop, hasBottom } = getNavbarState(ident || '');\n const excludes: ExcludeType[] = [];\n if (!hasTop) excludes.push('top');\n if (!hasBottom) excludes.push('bottom');\n\n return {\n large: getFullHeight(theme, 'large', excludes),\n small: getFullHeight(theme, 'small', excludes),\n };\n};\n\nexport interface NavBarStates extends BarStates {\n isMenuOpen?: boolean;\n openMenu?: () => void;\n closeMenu?: () => void;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n isOnPageTop?: boolean;\n isInTopOffset?: boolean;\n}\n\nexport interface NavMenuStates extends MenuStates {\n isMenuOpen?: boolean;\n openMenu?: () => void;\n closeMenu?: () => void;\n navBarSize?: NavBarSize;\n}\n\nexport interface NavBarSettings {\n isStickable?: boolean;\n isCollapsible?: boolean;\n pageFlow?: 'overContent' | 'beforeContent';\n\n topBg?: string;\n mainBg?: string;\n bottomBg?: string;\n /** Custom background value for NavBar with pageFlow === overContent and large size */\n onContentBg?: string;\n\n topBar?: ((props: NavBarStates) => React.ReactNode) | null;\n mainBar?: ((props: NavBarStates) => React.ReactNode) | null;\n bottomBar?: ((props: NavBarStates) => React.ReactNode) | null;\n theme?: ThemeMods;\n}\n\nexport interface MenuSettings {\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n header?: (props: NavMenuStates) => React.ReactNode;\n footer?: (props: NavMenuStates) => React.ReactNode;\n navItemsHeader?: (props: NavMenuStates) => React.ReactNode;\n typeSettings: MenuTypeProps;\n\n theme?: ThemeMods;\n}\n\nexport interface NavigationProps {\n navBar?: NavBarSettings;\n menu?: MenuSettings;\n clampWidth?: 'content' | 'full';\n}\n\nconst Navigation: FC<NavigationProps> = ({\n clampWidth = 'content',\n navBar,\n menu,\n}) => {\n const isStickable = navBar?.isStickable || false;\n const isCollapsible = navBar?.isCollapsible || false;\n\n const mediaQueries = useMediaQueries();\n\n const { theme } = useLibTheme();\n\n /** Navigation bar states */\n const [isNavBarSticky, setIsNavBarSticky] = useState<boolean>(false);\n const [isNavBarOpen, setNavBarOpen] = useState<boolean>(true);\n const { isTop, scrollDirection, isInOffset, leftOffsetFromTop } =\n usePageScroll({\n directionOffset: { up: 40, down: 40 },\n offset: getFullHeight(theme, 'large')[\n mediaQueries.semilarge ? 1 : 0\n ],\n });\n\n const navbarSize = useMemo<NavBarSize>(() => {\n return isTop || isInOffset || !isStickable ? 'large' : 'small';\n }, [isTop, isInOffset, isStickable]);\n\n useEffect(() => {\n if (isStickable && isCollapsible) {\n setNavBarOpen(\n isTop ||\n isInOffset ||\n scrollDirection === PageScrollDirection.UP\n );\n }\n }, [scrollDirection, isTop, isStickable, isInOffset, isCollapsible]);\n\n useEffect(() => {\n if (!isStickable) return;\n if (\n !isCollapsible ||\n (leftOffsetFromTop && scrollDirection === PageScrollDirection.UP)\n ) {\n setIsNavBarSticky(true);\n } else if (isTop) {\n setIsNavBarSticky(false);\n }\n }, [isCollapsible, isStickable, isTop, leftOffsetFromTop, scrollDirection]);\n\n /** Menu states */\n const { isMenuOpen, setIsMenuOpen, setRoot } = useMenuKeyboard(false, {});\n\n const openMenu = () => {\n setIsMenuOpen(true);\n };\n\n const closeMenu = () => {\n setIsMenuOpen(false);\n };\n\n useEffect(() => {\n document.body.style.overflow = isMenuOpen ? 'hidden' : 'visible';\n }, [isMenuOpen]);\n\n const topBar = navBar?.topBar\n ? (props: BarStates) => {\n if (!navBar?.topBar) return '';\n return navBar.topBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.topBar;\n\n const mainBar = navBar?.mainBar\n ? (props: BarStates) => {\n if (!navBar?.mainBar) return '';\n return navBar.mainBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.mainBar;\n\n const bottomBar = navBar?.bottomBar\n ? (props: BarStates) => {\n if (!navBar?.bottomBar) return '';\n return navBar.bottomBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.bottomBar;\n\n const menuHeader = menu?.header\n ? (props: MenuStates) => {\n if (!menu?.header) return '';\n return menu?.header({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n const menuFooter = menu?.footer\n ? (props: MenuStates) => {\n if (!menu?.footer) return '';\n return menu?.footer({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n const menuNavItemsHeader = menu?.navItemsHeader\n ? (props: MenuStates) => {\n if (!menu?.navItemsHeader) return '';\n return menu?.navItemsHeader({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n /**\n * Get ident string that shows if each navbar section is defined.\n * @returns Navbar ident string\n */\n const getNavBarIdent = (theme: DefaultTheme) => {\n const ident = generateNavbarIdent({\n hasTop: topBar !== null && hasTopBar(theme),\n hasMain: mainBar !== null,\n hasBottom: bottomBar !== null && hasBottomBar(theme),\n isStickable: navBar?.isStickable,\n pageFlow: navBar?.pageFlow,\n });\n\n return ident;\n };\n\n return (\n <header ref={setRoot} data-navbar-ident={getNavBarIdent(theme)}>\n <LibThemeProvider theme={navBar?.theme}>\n <NavBar\n isOpen={isNavBarOpen}\n isSticky={isNavBarSticky}\n isAnimated\n size={navbarSize}\n clampWidth={clampWidth}\n pageFlow={navBar?.pageFlow}\n topBar={topBar}\n mainBar={mainBar}\n bottomBar={bottomBar}\n topBg={navBar?.topBg}\n mainBg={navBar?.mainBg}\n bottomBg={navBar?.bottomBg}\n onContentBg={navBar?.onContentBg}\n />\n </LibThemeProvider>\n <LibThemeProvider theme={menu?.theme}>\n <Menu\n isOpen={isMenuOpen}\n clampWidth={clampWidth}\n isIndexPage={menu?.isIndexPage}\n mainNavigation={menu?.mainNavigation}\n subNavigation={menu?.subNavigation}\n typeSettings={menu?.typeSettings}\n navBarSize={navbarSize}\n header={menuHeader}\n footer={menuFooter}\n navItemsHeader={menuNavItemsHeader}\n onClose={closeMenu}\n />\n </LibThemeProvider>\n </header>\n );\n};\n\nexport default Navigation;\n","import { useEffect, useRef, useState } from 'react';\n\ninterface Settings {\n openMenuIdent: string;\n closeMenuIdent: string;\n}\n\n/**\n * Hooks in to menu state to control it with keyboard inputs\n * @param initialMenuState\n * @param settings\n * @returns\n */\nexport const useMenuKeyboard = (\n initialMenuState: boolean,\n settings: Partial<Settings>\n) => {\n const [isMenuOpen, setIsMenuOpen] = useState(initialMenuState);\n const prevMenuState = useRef<boolean>(false);\n\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const openBtnRef = useRef<HTMLButtonElement | null>(null);\n const closeBtnRef = useRef<HTMLButtonElement | null>(null);\n\n const defaultSettings: Settings = {\n openMenuIdent: 'button[aria-label=\"open menu\"]',\n closeMenuIdent: 'button[aria-label=\"close menu\"]',\n ...settings,\n };\n\n useEffect(() => {\n if (!root) return;\n\n // setting up menu toggle button refs\n if (!openBtnRef.current) {\n openBtnRef.current = root.querySelector(\n defaultSettings.openMenuIdent\n );\n }\n if (!closeBtnRef.current) {\n closeBtnRef.current = root.querySelector(\n defaultSettings.closeMenuIdent\n );\n }\n }, [\n defaultSettings.closeMenuIdent,\n defaultSettings.openMenuIdent,\n isMenuOpen,\n root,\n ]);\n\n useEffect(() => {\n const handleKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape' && isMenuOpen) {\n setIsMenuOpen(false);\n }\n };\n\n // settings focus if menu is open\n if (isMenuOpen) {\n closeBtnRef?.current?.focus();\n } else if (prevMenuState.current) {\n openBtnRef?.current?.focus();\n }\n\n prevMenuState.current = isMenuOpen;\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [isMenuOpen]);\n\n return {\n setRoot,\n isMenuOpen,\n setIsMenuOpen,\n };\n};\n"],"names":["PageScrollDirection","usePageScroll","settings","_c","useState","isTop","setIsTop","_d","isInOffset","setIsInOffset","_e","leftOffsetFromTop","setLeftOffsetFromTop","lastScrollPos","useRef","pxSinceLastSwitch","_f","DOWN","scrollDirection","setScrollDirection","directionDownOffset","_a","directionOffset","down","directionUpOffset","_b","up","scrollState","timeout","callback","throttledState","setThrottledState","timeoutRef","lastState","scrollX","scrollY","updateScrollState","window","current","useEffect","handleScroll","setTimeout","addEventListener","removeEventListener","useScrollThrottle","undefined","resizeThrottleTimeout","offset","prev","onLeftOffset","call","diff","absAccPx","Math","abs","UP","View","styled","nav","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","List","ul","templateObject_2","mq","semilarge","spacings","nudge","ListItem","li","templateObject_3","isCurrent","NavLink","Link","templateObject_4","showOnMobile","clamp","copyStyle","theme","isInverted","color","text","inverted","default","showOnDesktop","NavLabel","span","templateObject_5","Seperator","Copy","templateObject_6","BackIconContainer","templateObject_7","BreadcrumbItem","label","link","children","href","React","__assign","Column","div","takeSpace","vAlign","getColors","primary","Logo","Image","Toggle","button","invertedHover","hover","BarMenuToggle","isExpanded","onClick","className","createElement","isActive","Header","LanguageCol","MenuHeader","customToggle","menuStates","langs","action","Fragment","Skeletons","closeMenu","Cross","ariaHidden","isValidArray","LanguageSwitcher","navigationStyle","type","css","font","navigation","family","weight","style","withRange","getFonts","size","lineHeight","letterSpacing","textTransform","textDecoration","Backdrop","isOpen","filter","Stage","clampWidth","wrapper","wrapperLarge","Flyout","elementBg","light","medium","large","getMenuHeaderHeights","heights","global","getGlobals","menu","headerHeight","small","clampValue","navBarSize","ScrollContainer","ScrollArea","NavView","templateObject_8","NavList","templateObject_9","hasNonFeaturedItems","concat","NavItemView","templateObject_10","spacer","NavItemContent","templateObject_11","isFeatured","featured","main","NavItemIcon","templateObject_12","NavItemLabel","NavItemCollapse","NavItemCollapseIcon","AngleRight","templateObject_15","isCollapsed","NavItemLink","templateObject_16","NavItemButton","templateObject_17","SubNavList","templateObject_18","isIndented","NavigationItem","forwardRef","ref","icon","subNavTitle","onItemClick","collapseIcon","canFocus","hasSubItems","Children","count","ariaLabel","tabIndex","MenuNav","SubItem","key","SubNavItem","sub","SubNavLink","templateObject_20","NavigationSubItem","SecondaryNavList","templateObject_21","SecondaryNavLink","templateObject_22","secondary","Item","SubList","items","length","n","map","item","i","menuFilter","hideFromMenu","uid","MenuFlyout","isIndexPage","mainNavigation","subNavigation","backdropFilter","header","footer","onClose","navItemsHeader","useLibTheme","flyoutRef","hasHeader","useMemo","hasMenuHeader","largeHeights","smallHeights","mainList","__spreadArray","subList","initial","getCurrentNavItem","root","activeItems","setActiveItems","currentNavEl","setCurrentNavEl","currentSubNavEl","setCurrentSubNavEl","handleFocus","ev","target","contains","document","scrollIntoView","block","inline","e","id","includes","hasCurrentSubItem","subItems","findIndex","subItem","Menu","typeSettings","getTopHeights","navBar","topHeight","hasTopBar","getMainHeights","mainHeight","getBottomHeights","bottomHeight","hasBottomBar","getFullHeight","exclude","includeTop","indexOf","includeMain","includeBottom","topHeights","mainHeights","bottomHeights","isSticky","isAnimated","bgGradient","background","Main","Footer","TopContent","Content","BottomContent","BarSpacer","hasFooter","excludes","push","NavBar","_g","pageFlow","topBg","mainBg","bottomBg","onContentBg","topBar","mainBar","bottomBar","_h","colors","clampContent","isOverContent","showBg","topBackground","mainBackground","bottomBackground","onContentBackground","topBarContent","mainBarContent","bottomBarContent","getNavbarState","ident","navbarIdent","search","hasTop","hasMain","hasBottom","isStickable","generateNavbarIdent","props","stateArray","join","rootLink","rootLabel","navItems","seperator","back","currentNavPath","getCurrentNavPath","rootItem","AngleLeft","logo","coverSpace","ratios","showPlaceholder","navLinks","isCollapsible","mediaQueries","useMediaQueries","isNavBarSticky","setIsNavBarSticky","isNavBarOpen","setNavBarOpen","navbarSize","initialMenuState","isMenuOpen","setIsMenuOpen","prevMenuState","setRoot","openBtnRef","closeBtnRef","defaultSettings","openMenuIdent","closeMenuIdent","querySelector","handleKeyDown","focus","useMenuKeyboard","openMenu","body","overflow","isOnPageTop","isInTopOffset","menuHeader","menuFooter","menuNavItemsHeader","getNavBarIdent","LibThemeProvider"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var r=require("./ClockFilled-2483aa4a.js");exports.getCurrentNavItem=function(r,e){if(!r||0===r.length)return null;for(var t=function(r){if(!r)return null;if(r.isCurrent&&(e||!r.hideFromMenu))return r;if(r.subItems&&r.subItems.length>0)for(var n=0;n<r.subItems.length;n++){var u=t(r.subItems[n]);if(u)return u}return null},n=0;n<r.length;n++){var u=t(r[n]);if(u)return{current:u,root:r[n],rootIndex:n}}return null},exports.getCurrentNavPath=function(e,t){if(!e||0===e.length)return[];for(var n=t||[],u=function(e){if(e.isCurrent&&function(r){var e;return(null===(e=r.link)||void 0===e?void 0:e.href)&&!n.includes(r.link.href)}(e))return[e];if(!e.subItems)return[];for(var t=0;t<e.subItems.length;t++){var i=u(e.subItems[t]);if(i.length>0)return r.__spreadArray([e],i,!0)}return[]},i=0;i<e.length;i++){var l=u(e[i]);if(l.length>0)return r.__spreadArray([],l,!0)}return[]};
2
- //# sourceMappingURL=navigation-389b22e2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-389b22e2.js","sources":["../src/utils/navigation.ts"],"sourcesContent":["import { NavItem } from 'components/sections/navigation/menu/Menu';\n\n/**\n * Get current navigation item\n * @param items Array of navItems\n * @param includeHidden Include items that are hidden for menu\n * @returns The current navItem\n */\nexport const getCurrentNavItem = (\n items?: NavItem[],\n includeHidden?: boolean\n) => {\n if (!items || items.length === 0) return null;\n\n const findCurrent = (item?: NavItem): NavItem | null => {\n if (!item) return null;\n if (item.isCurrent && (includeHidden || !item.hideFromMenu)) {\n return item;\n }\n if (item.subItems && item.subItems.length > 0) {\n for (let i = 0; i < item.subItems.length; i++) {\n const result = findCurrent(item.subItems[i]);\n if (result) return result;\n }\n }\n return null;\n };\n\n for (let i = 0; i < items.length; i++) {\n const result = findCurrent(items[i]);\n if (result) {\n return {\n current: result,\n root: items[i],\n rootIndex: i,\n };\n }\n }\n return null;\n};\n\n/**\n * Get naviation item path to current navItem\n * @param items Navigation array with navItems\n * @param exludeHrefs navItems with specific hrefs that should be excluded\n * @returns Array of NavItems\n */\nexport const getCurrentNavPath = (\n items?: NavItem[],\n exludeHrefs?: string[]\n) => {\n if (!items || items.length === 0) return [];\n const excludes = exludeHrefs || [];\n\n const isItemValid = (item: NavItem) => {\n return item.link?.href && !excludes.includes(item.link.href);\n };\n\n const getPathToCurrent = (item: NavItem): NavItem[] => {\n if (item.isCurrent && isItemValid(item)) return [item];\n if (!item.subItems) return [];\n\n for (let i = 0; i < item.subItems.length; i++) {\n const subPath = getPathToCurrent(item.subItems[i]);\n if (subPath.length > 0) return [item, ...subPath];\n }\n\n return [];\n };\n\n for (let i = 0; i < items.length; i++) {\n const path = getPathToCurrent(items[i]);\n if (path.length > 0) return [...path];\n }\n\n return [];\n};\n"],"names":["items","includeHidden","length","findCurrent","item","isCurrent","hideFromMenu","subItems","i","result","current","root","rootIndex","exludeHrefs","excludes","getPathToCurrent","_a","link","href","includes","isItemValid","subPath","__spreadArray","path"],"mappings":"kFAQiC,SAC7BA,EACAC,GAEI,IAACD,GAA0B,IAAjBA,EAAME,OAAc,OAAO,KAgBzC,IAdA,IAAMC,EAAc,SAACC,GACjB,IAAKA,EAAM,OAAO,KACdA,GAAAA,EAAKC,YAAcJ,IAAkBG,EAAKE,cAC1C,OAAOF,EAEPA,GAAAA,EAAKG,UAAYH,EAAKG,SAASL,OAAS,EACxC,IAAK,IAAIM,EAAI,EAAGA,EAAIJ,EAAKG,SAASL,OAAQM,IAAK,CACrCC,IAAAA,EAASN,EAAYC,EAAKG,SAASC,IACrCC,GAAAA,EAAQ,OAAOA,EAG3B,OAAO,MAGFD,EAAI,EAAGA,EAAIR,EAAME,OAAQM,IAAK,CAC7BC,IAAAA,EAASN,EAAYH,EAAMQ,IACjC,GAAIC,EACO,MAAA,CACHC,QAASD,EACTE,KAAMX,EAAMQ,GACZI,UAAWJ,GAIvB,OAAO,gCASsB,SAC7BR,EACAa,GAEI,IAACb,GAA0B,IAAjBA,EAAME,OAAc,MAAO,GAmBzC,IAlBA,IAAMY,EAAWD,GAAe,GAM1BE,EAAmB,SAACX,GACtB,GAAIA,EAAKC,WALO,SAACD,SACjB,OAAgB,QAATY,EAAAZ,EAAKa,YAAI,IAAAD,OAAA,EAAAA,EAAEE,QAASJ,EAASK,SAASf,EAAKa,KAAKC,MAIjCE,CAAYhB,GAAO,MAAO,CAACA,GACjD,IAAKA,EAAKG,SAAU,MAAO,GAE3B,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAKG,SAASL,OAAQM,IAAK,CACrCa,IAAAA,EAAUN,EAAiBX,EAAKG,SAASC,IAC/C,GAAIa,EAAQnB,OAAS,EAAG,OAAQoB,EAAAA,cAAA,CAAAlB,GAASiB,GAAS,GAGtD,MAAO,IAGFb,EAAI,EAAGA,EAAIR,EAAME,OAAQM,IAAK,CAC7Be,IAAAA,EAAOR,EAAiBf,EAAMQ,IACpC,GAAIe,EAAKrB,OAAS,EAAG,OAAAoB,EAAAA,cAAA,GAAWC,GAAM,GAG1C,MAAO"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./ClockFilled-2483aa4a.js"),t=require("react");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(require("react-dom/server")),i=function(e){var t=e.name,n=e.data,o=e.days,i=void 0===o?-1:o,a=e.path,c=void 0===a?"/":a,r="".concat(t,"=");try{var s=JSON.stringify(n);r+=encodeURIComponent(s)}catch(e){console.warn("Cannot save data to cookie!")}if(r+="; path=".concat(c,";"),i>=0){var u=new Date;u.setTime(u.getTime()+24*i*60*60*1e3),r+=" expires=".concat(u.toUTCString(),";")}document.cookie=r},a=function(e){var t=void 0;try{var n=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)"),o=n?n.pop():"";if(!(o=o?decodeURIComponent(o):""))return;t={name:e,data:JSON.parse(o)}}catch(e){console.warn(e)}return t},c={buttons:{class:"cookie-consent-button",attribute:"data-consent-button"},status:{class:"cookie-consent-status",attribute:"data-consent-status"},script:function(e){return"cookie-consent-script-".concat(e)}};exports.bindConsentButtons=function(e,t){void 0===t&&(t=[]);for(var n=document.querySelectorAll(t.join(", ")),o=0,i=n.length;o<i;o++)n[o].addEventListener("click",e)},exports.deleteCookie=function(e){i({name:e,data:{}})},exports.getCookie=a,exports.isUrlInWhitelist=function(e,t){void 0===t&&(t=[]);for(var n=!1,o=0;o<t.length;o++)if(e.indexOf(t[o])>-1){n=!0;break}return n},exports.selectors=c,exports.setCookie=i,exports.useCookieConsent=function(n,r,s){var u=t.useMemo((function(){return e.__assign({cookieName:"cookie-consent-v2",lifetime:365,initialCookieTypes:{essentials:{isEditable:!1,isAccepted:!0,label:"Essential functionalities"}}},n)}),[]),l=t.useState(u.initialCookieTypes),d=l[0],f=l[1],p=t.useCallback((function(){var e=a(u.cookieName),t="-";if(e&&e.data){var n=null==s?void 0:s({updatedAt:e.data.updatedAt,state:d});n&&(t=o.default.renderToStaticMarkup(n))}!function(e,t){if(void 0===t&&(t=[]),e)for(var n=document.querySelectorAll(t.join(", ")),o=0,i=n.length;o<i;o++)n[o].innerHTML=e}(t,["[".concat(c.status.attribute,"]"),".".concat(c.status.class)])}),[u.cookieName]);t.useEffect((function(){var t,n=a(u.cookieName);n&&(null===(t=n.data)||void 0===t?void 0:t.types)&&f((function(t){var o=e.__assign({},t);for(var i in o)n.data.types[i]&&(o[i].isAccepted=n.data.types[i]);return b(o),o})),p()}),[u,u.cookieName,p]);var m=function(e){var t={};if(!e)return t;for(var n in e)t[n]=e[n].isAccepted;return t},v=t.useCallback((function(){console.info("Accept all cookie types"),f((function(t){var n=e.__assign({},t);for(var o in n)n[o].isEditable&&(n[o].isAccepted=!0);return i({name:u.cookieName,data:{types:m(n),updatedAt:(new Date).getTime()},days:u.lifetime}),p(),b(n),n})),null==r||r()}),[r,u.cookieName,u.lifetime,p]),k=t.useCallback((function(){console.info("Decline all cookie types"),f((function(t){var n=e.__assign({},t);for(var o in n)n[o].isEditable&&(n[o].isAccepted=!1);return i({name:u.cookieName,data:{types:m(n),updatedAt:(new Date).getTime()},days:u.lifetime}),p(),b(n),n})),null==r||r()}),[r,u.cookieName,u.lifetime,p]),y=t.useCallback((function(){console.info("Accept selected cookie types"),i({name:u.cookieName,data:{types:m(d),updatedAt:(new Date).getTime()},days:u.lifetime}),p(),b(d),null==r||r()}),[d,r,u.cookieName,u.lifetime,p]),b=function(e){e&&function(e){var t;void 0===e&&(e=[]);for(var n=e.filter((function(e){return e})).map((function(e){return"script[type='text/".concat(e,"']")})).join(", "),o=n?document.querySelectorAll(n):[],i=o.length,a=[];i--;){var c=document.createElement("script");c.type="text/javascript",o[i].hasAttribute("src")?(c.src=o[i].getAttribute("src"),c.async=!0):c.innerHTML=o[i].innerHTML,a.push(c),o[i].parentNode&&(null===(t=o[i].parentNode)||void 0===t||t.removeChild(o[i]))}for(i=a.length;i--;)document.body.appendChild(a[i])}(Object.keys(e).filter((function(t){return e[t].isAccepted})).map((function(e){return c.script(e)})))};return{cookieTypes:d,acceptAll:v,acceptSelected:y,declineAll:k,setConsent:function(t,n){f((function(o){var i=e.__assign({},o);return i[t]&&i[t].isEditable?(i[t].isAccepted=void 0!==n?n:!i[t].isAccepted,i):i}))},getCookieValue:function(){return a(u.cookieName)}}};
2
- //# sourceMappingURL=useCookieConsent-1af2af74.js.map
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./ClockFilled-2483aa4a.js"),t=require("react"),n=require("./useMediaQuery-0bd70e6a.js"),r=require("./styles-3a495a2d.js"),i=function(){var e=t.useState(!1),n=e[0],r=e[1];return t.useEffect((function(){void 0===document.fonts?r(void 0):function(){var e,t;null===(t=null===(e=null===document||void 0===document?void 0:document.fonts)||void 0===e?void 0:e.ready)||void 0===t||t.then((function(){r(!0)}))}()}),[]),n};exports.useEqualSheetHeight=function(u){var o=e.__assign({small:1,medium:1,semilarge:2,large:3,xlarge:3},u.responsive),c=n.useDynamicMediaQueries(u.customMediaQueries||r.mq),l=o[Object.keys(c).reduce((function(e,t){return c[t]?t:e}),"small")],f=t.useState([]),s=f[0],a=f[1],d=i(),h=t.useCallback((function(e,t,n){e.reduce((function(e,t,n,r){return n%l==0&&e.push(r.slice(n,n+l)),e}),[]).forEach((function(e,r){var i=e.filter((function(e){return null!==e})).slice().sort((function(e,t){return e&&t?e>t?-1:1:0}))[0];if(e.length>1&&i)for(var u=0;u<e.length;u++){var o=n[u+r*l].current.querySelector(t);null==o||o.setAttribute("style","height: ".concat(i,"px"))}}))}),[l]),v=function(e,n){void 0===e&&(e=0);var r=t.useState(null),i=r[0],u=r[1],o=t.useRef(-1),c=t.useRef({clientWidth:0,clientHeight:0,innerHeight:0,innerWidth:0}),l=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(c.current={clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight,innerHeight:window.innerHeight,innerWidth:window.innerWidth})};return t.useEffect((function(){if("undefined"!=typeof window){var t=function(){l(),-1===o.current&&(o.current=window.setTimeout((function(){null==n||n(c.current),u(c.current),o.current=-1}),e))};return l(),null==n||n(c.current),u(c.current),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[n,e]),i}(void 0!==u.resizeThrottleTimeout?u.resizeThrottleTimeout:400);t.useEffect((function(){var t,n=(t=s,function(){for(var n=new Map,r=0;r<u.identifiers.length;r++)n.set(u.identifiers[r],[]);t.filter((function(e){return e.current})).forEach((function(t){var r=t.current;u.identifiers.forEach((function(t){var i=r.querySelector(t),u=n.get(t),o=null;i&&(i.removeAttribute("style"),o=i.getBoundingClientRect().height),u&&n.set(t,e.__spreadArray(e.__spreadArray([],u,!0),[o],!1))}))})),n.forEach((function(e,n){h(e,n,t)}))});n()}),[u.identifiers,v,h,s,d]);var m=t.useCallback((function(){a((function(e){return Array(u.listLength).fill(null).map((function(n,r){return e[r]||t.createRef()}))}))}),[u.listLength]);return t.useEffect((function(){a((function(e){return Array(u.listLength).fill(null).map((function(n,r){return e[r]||t.createRef()}))}))}),[u.listLength]),{sheetRefs:s,triggerCalculation:m}},exports.useFontsLoaded=i;
2
- //# sourceMappingURL=useEqualSheetHeight-8f92c912.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEqualSheetHeight-8f92c912.js","sources":["../src/utils/useFontsLoaded.ts","../src/utils/useEqualSheetHeight.ts","../src/utils/useResizeThrottle.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useFontsLoaded = () => {\n const [allFontsLoaded, setFontLoaded] = useState<boolean | undefined>(\n false\n );\n\n useEffect(() => {\n const waitForFonts = () => {\n (document as any)?.fonts?.ready?.then(() => {\n setFontLoaded(true);\n });\n };\n\n if ((document as any).fonts === undefined) setFontLoaded(undefined);\n else waitForFonts();\n }, []);\n\n return allFontsLoaded;\n};\n","import {\n useEffect,\n useState,\n MutableRefObject,\n createRef,\n useCallback,\n} from 'react';\nimport { useDynamicMediaQueries } from './useMediaQuery';\nimport { useFontsLoaded } from 'utils/useFontsLoaded';\nimport useResizeThrottle from './useResizeThrottle';\nimport { MediaQueryType, mq } from './styles';\n\ninterface ItemsPerRow {\n small?: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\ntype Mq = keyof ItemsPerRow;\n\n// ********************\n// useEqualSheetHeight\n// ********************\n\nexport const useEqualSheetHeight = <T extends HTMLElement>(props: {\n listLength: number;\n identifiers: string[];\n responsive?: ItemsPerRow;\n /** Throttle timeout for resize events. Default: 400ms */\n resizeThrottleTimeout?: number;\n customMediaQueries?: { [key in Exclude<Mq, 'small'>]: string };\n}) => {\n const defaultResponsive = {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n ...props.responsive,\n } as Record<MediaQueryType, number>;\n\n const queries = useDynamicMediaQueries(props.customMediaQueries || mq);\n const currentMq = Object.keys(queries).reduce<Mq>(\n (acc, key) => (queries[key] ? key : acc) as Mq,\n 'small'\n );\n const itemsPerRow = defaultResponsive[currentMq];\n\n const [sheetRefs, setSheetRefs] = useState<MutableRefObject<T>[]>([]);\n const fontsLoaded = useFontsLoaded();\n\n const setHeights = useCallback(\n (\n heights: (number | null)[],\n selector: string,\n refs: MutableRefObject<T>[]\n ) => {\n const makeRows = (\n result: Array<number | null>[],\n _: number,\n index: number,\n arr: Array<number | null>\n ) => {\n // make new row after 3 items\n if (index % itemsPerRow === 0) {\n result.push(\n arr.slice(index, index + itemsPerRow) as Array<number>\n );\n }\n return result;\n };\n\n // put item heights in 2-dimensional array to sort them in rows\n const heightsInRows = heights.reduce(makeRows, []);\n\n heightsInRows.forEach((rowHeights, y) => {\n const validHeights = rowHeights.filter(\n (height) => height !== null\n ) as number[];\n\n const highest = validHeights.slice().sort((vA, vB) => {\n if (vA && vB) {\n if (vA > vB) return -1;\n return 1;\n } else return 0;\n })[0];\n\n // set height of all items in row to the highest value\n if (rowHeights.length > 1 && highest) {\n for (let x = 0; x < rowHeights.length; x++) {\n const index = x + y * itemsPerRow;\n const el = refs[index].current.querySelector(selector);\n\n el?.setAttribute('style', `height: ${highest}px`);\n }\n }\n });\n },\n [itemsPerRow]\n );\n\n // Throttle viewport resize event for performance\n const resizeState = useResizeThrottle(\n props.resizeThrottleTimeout !== undefined\n ? props.resizeThrottleTimeout\n : 400\n );\n\n useEffect(() => {\n const resize = (refs: MutableRefObject<T>[]) => () => {\n const identifierSizes = new Map<string, Array<number | null>>();\n\n // create identifier map\n for (let i = 0; i < props.identifiers.length; i++) {\n identifierSizes.set(props.identifiers[i], []);\n }\n\n // set height values\n refs.filter((ref) => ref.current).forEach(({ current }) => {\n // get height for each element\n props.identifiers.forEach((id) => {\n const element = current.querySelector(id);\n const prevHeights = identifierSizes.get(id);\n let height: number | null = null;\n\n if (element) {\n element.removeAttribute('style');\n height = element.getBoundingClientRect().height;\n }\n\n if (prevHeights) {\n identifierSizes.set(id, [...prevHeights, height]);\n }\n });\n });\n\n // set heights for each identifier\n identifierSizes.forEach((value, key) => {\n setHeights(value, key, refs);\n });\n };\n\n const resizeHandler = resize(sheetRefs);\n resizeHandler();\n }, [props.identifiers, resizeState, setHeights, sheetRefs, fontsLoaded]);\n\n const triggerCalculation = useCallback(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n useEffect(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n return {\n sheetRefs,\n triggerCalculation,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ResizeState {\n clientWidth: number;\n clientHeight: number;\n innerHeight: number;\n innerWidth: number;\n}\n\nconst useResizeThrottle = (\n timeout = 0,\n callback?: (state: ResizeState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ResizeState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ResizeState>({\n clientWidth: 0,\n clientHeight: 0,\n innerHeight: 0,\n innerWidth: 0,\n });\n\n const updateResizeState = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n lastState.current = {\n clientWidth: document.documentElement.clientWidth,\n clientHeight: document.documentElement.clientHeight,\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleResize = () => {\n updateResizeState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateResizeState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useResizeThrottle;\n"],"names":["useFontsLoaded","_a","useState","allFontsLoaded","setFontLoaded","useEffect","undefined","document","fonts","_b","ready","then","waitForFonts","props","defaultResponsive","__assign","small","medium","semilarge","large","xlarge","responsive","queries","useDynamicMediaQueries","customMediaQueries","mq","itemsPerRow","Object","keys","reduce","acc","key","sheetRefs","setSheetRefs","fontsLoaded","setHeights","useCallback","heights","selector","refs","result","_","index","arr","push","slice","forEach","rowHeights","y","validHeights","highest","filter","height","sort","vA","vB","length","x","el","current","querySelector","setAttribute","concat","resizeState","timeout","callback","throttledState","setThrottledState","timeoutRef","useRef","lastState","clientWidth","clientHeight","innerHeight","innerWidth","updateResizeState","window","documentElement","handleResize","setTimeout","addEventListener","removeEventListener","useResizeThrottle","resizeThrottleTimeout","resizeHandler","identifierSizes","Map","i","identifiers","set","ref","id","element","prevHeights","get","removeAttribute","getBoundingClientRect","value","triggerCalculation","prev","Array","listLength","fill","map","createRef"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react"),r=require("./ClockFilled-2483aa4a.js"),u=function(u,n,t){var a=function(r,u){var n=e.useRef(r),t=e.useRef();e.useEffect((function(){n.current=r}),[r]);var a=e.useCallback((function(){t.current=window.setTimeout((function(){var e;return null===(e=n.current)||void 0===e?void 0:e.call(n)}),u)}),[u]),c=e.useCallback((function(){t.current&&window.clearTimeout(t.current)}),[]);e.useEffect((function(){return a(),c}),[u,a,c]);var l=e.useCallback((function(){c(),a()}),[c,a]);return{clear:c,reset:l}}(u,n),c=a.clear,l=a.reset;return e.useEffect(l,r.__spreadArray(r.__spreadArray([],t,!0),[l],!1)),e.useEffect(c,[]),{clear:c,reset:l}};exports.useLazyInput=function(r,n,t){void 0===t&&(t=600);var a=e.useState(n),c=a[0],l=a[1],i=u((function(){return null==r?void 0:r(c)}),t,[c]).clear,o=e.useCallback((function(e,u){void 0===u&&(u=!1),l(e),u&&(i(),null==r||r(e))}),[]),f=e.useCallback((function(){i(),null==r||r(c)}),[r,i,c]);return{update:o,value:c,forceUpdate:f}};
2
- //# sourceMappingURL=useLazyInput-0b912584.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLazyInput-0b912584.js","sources":["../src/utils/useDebounce.ts","../src/utils/useTimeout.ts","../src/utils/useLazyInput.ts"],"sourcesContent":["import { DependencyList, useEffect } from 'react';\nimport useTimeout from './useTimeout';\n\nconst useDebounce = (\n callback: () => void,\n delay: number,\n deps: DependencyList\n) => {\n const { clear, reset } = useTimeout(callback, delay);\n\n useEffect(reset, [...deps, reset]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(clear, []);\n\n return {\n clear,\n reset,\n };\n};\n\nexport default useDebounce;\n","import { useCallback, useEffect, useRef } from 'react';\n\nconst useTimeout = (callback: () => void, delay: number) => {\n const callbackRef = useRef(callback);\n const timeoutRef = useRef<number>();\n\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n timeoutRef.current = window.setTimeout(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n timeoutRef.current && window.clearTimeout(timeoutRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n};\n\nexport default useTimeout;\n","import { useCallback, useState } from 'react';\nimport useDebounce from './useDebounce';\n\nconst useLazyInput = (\n callback: (value: string) => void,\n initial: string,\n delay = 600\n) => {\n const [value, setValue] = useState<string>(initial);\n const { clear } = useDebounce(() => callback?.(value), delay, [value]);\n\n const update = useCallback((value: string, withoutDelay = false) => {\n setValue(value);\n if (withoutDelay) {\n clear();\n callback?.(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const forceUpdate = useCallback(() => {\n clear();\n callback?.(value);\n }, [callback, clear, value]);\n\n return {\n update,\n value,\n forceUpdate,\n };\n};\n\nexport default useLazyInput;\n"],"names":["useDebounce","callback","delay","deps","_a","callbackRef","useRef","timeoutRef","useEffect","current","set","useCallback","window","setTimeout","call","clear","clearTimeout","reset","useTimeout","__spreadArray","initial","useState","value","setValue","update","withoutDelay","forceUpdate"],"mappings":"2EAGMA,EAAc,SAChBC,EACAC,EACAC,GAEM,IAAAC,ECNS,SAACH,EAAsBC,GACtC,IAAMG,EAAcC,SAAOL,GACrBM,EAAaD,EAAAA,SAEnBE,EAAAA,WAAU,WACNH,EAAYI,QAAUR,IACvB,CAACA,IAEJ,IAAMS,EAAMC,EAAAA,aAAY,WACpBJ,EAAWE,QAAUG,OAAOC,YACxB,WAAM,IAAAT,EAAA,OAAuB,UAAvBC,EAAYI,eAAW,IAAAL,OAAA,EAAAA,EAAAU,KAAAT,KAC7BH,KAEL,CAACA,IAEEa,EAAQJ,EAAAA,aAAY,WACtBJ,EAAWE,SAAWG,OAAOI,aAAaT,EAAWE,WACtD,IAEHD,EAAAA,WAAU,WAEN,OADAE,IACOK,IACR,CAACb,EAAOQ,EAAKK,IAEhB,IAAME,EAAQN,EAAAA,aAAY,WACtBI,IACAL,MACD,CAACK,EAAOL,IAEJ,MAAA,CAAEK,MAAKA,EAAEE,MAAKA,GDvBIC,CAAWjB,EAAUC,GAAtCa,EAAKX,EAAAW,MAAEE,UAOR,OALPT,EAAAA,UAAUS,EAAKE,gBAAAA,EAAAA,cAAA,GAAMhB,GAAM,GAAA,CAAAc,QAG3BT,YAAUO,EAAO,IAEV,CACHA,MAAKA,EACLE,MAAKA,yBEdQ,SACjBhB,EACAmB,EACAlB,QAAA,IAAAA,IAAAA,EAAW,KAEL,IAAAE,EAAoBiB,EAAQA,SAASD,GAApCE,EAAKlB,EAAA,GAAEmB,EAAQnB,EAAA,GACdW,EAAUf,GAAY,WAAM,OAAAC,MAAAA,OAAQ,EAARA,EAAWqB,KAAQpB,EAAO,CAACoB,IAAOP,MAEhES,EAASb,EAAAA,aAAY,SAACW,EAAeG,QAAA,IAAAA,IAAAA,GAAoB,GAC3DF,EAASD,GACLG,IACAV,IACAd,MAAAA,GAAAA,EAAWqB,MAGhB,IAEGI,EAAcf,EAAAA,aAAY,WAC5BI,IACAd,MAAAA,GAAAA,EAAWqB,KACZ,CAACrB,EAAUc,EAAOO,IAEd,MAAA,CACHE,OAAMA,EACNF,MAAKA,EACLI,YAAWA"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./ClockFilled-2483aa4a.js"),r=require("react"),n=require("./styles-3a495a2d.js"),t="undefined"!=typeof window&&void 0!==window.document,i=function(e,r){return t&&(r.length<=0||r.indexOf(e)>-1)&&("small"===e||window.matchMedia(n.mq[e]).matches)},a=function(e){return i("xxlarge",e)?"xxlarge":i("xlarge",e)?"xlarge":i("large",e)?"large":i("semilarge",e)?"semilarge":i("medium",e)?"medium":"small"},u=function(){return{small:!0,medium:window.matchMedia(n.mq.medium).matches,semilarge:window.matchMedia(n.mq.semilarge).matches,large:window.matchMedia(n.mq.large).matches,xlarge:window.matchMedia(n.mq.xlarge).matches,xxlarge:window.matchMedia(n.mq.xxlarge).matches}};exports.getMediaQueries=u,exports.getMediaQuery=a,exports.isBrowser=t,exports.useDynamicMediaQueries=function(n){var t=r.useState((function(){return Object.keys(n).reduce((function(r,n){var t=e.__assign({},r);return t[n]=!1,t}),{})})),i=t[0],a=t[1];return r.useEffect((function(){var e=function(){var e={};for(var r in n)e[r]=window.matchMedia(n[r]).matches;return e},r=function(e){a((function(r){for(var n in e){if(void 0===r[n])return e;if(e[n]!==r[n])return e}return r}))},t=function(){r(e())};return window.addEventListener("resize",t),r(e()),function(){return window.removeEventListener("resize",t)}}),[n,i]),i},exports.useMediaQueries=function(){var e=r.useState({small:!0,medium:!1,semilarge:!1,large:!1,xlarge:!1,xxlarge:!1}),t=e[0],i=e[1];return r.useEffect((function(){var e=function(){var e=u();i((function(r){return function(e,r){var t=!1;for(var i in n.mq)if(e[i]!==r[i]){t=!0;break}return!t}(r,e)?r:e}))};return window.addEventListener("resize",e),i(u()),function(){return window.removeEventListener("resize",e)}}),[]),t},exports.useMediaQuery=function(e){var n=r.useMemo((function(){return e||[]}),[e]),t=r.useState(),i=t[0],u=t[1];return r.useEffect((function(){var e=function(){var e=a(n);e!==i&&u(e)};return window.addEventListener("resize",e),u(a(n)),function(){return window.removeEventListener("resize",e)}}),[n,i]),i};
2
- //# sourceMappingURL=useMediaQuery-0bd70e6a.js.map