@blateral/b.kit 2.5.0-beta.1.0 → 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 (83) 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/navigation.js.map +1 -1
  18. package/cjs/sections.dynamicform.js +1 -1
  19. package/cjs/sections.jobs.js +1 -1
  20. package/cjs/sections.js +1 -1
  21. package/cjs/sections.js.map +1 -1
  22. package/cjs/sections.news.js +1 -1
  23. package/cjs/sections.pois.js +1 -1
  24. package/cjs/useCookieConsent-aa9f1104.js +2 -0
  25. package/cjs/{useCookieConsent-1af2af74.js.map → useCookieConsent-aa9f1104.js.map} +1 -1
  26. package/cjs/useEqualSheetHeight-501f4c5f.js +2 -0
  27. package/cjs/useEqualSheetHeight-501f4c5f.js.map +1 -0
  28. package/cjs/useIE-aef9decc.js +2 -0
  29. package/cjs/useIE-aef9decc.js.map +1 -0
  30. package/cjs/useLazyInput-f71c221b.js +2 -0
  31. package/cjs/useLazyInput-f71c221b.js.map +1 -0
  32. package/cjs/useMediaQuery-3d1054e5.js +2 -0
  33. package/cjs/{useMediaQuery-0bd70e6a.js.map → useMediaQuery-3d1054e5.js.map} +1 -1
  34. package/esm/{FilterField-7805bdb4.js → FilterField-962ec61f.js} +2 -2
  35. package/esm/{FilterField-7805bdb4.js.map → FilterField-962ec61f.js.map} +1 -1
  36. package/esm/{Navigation-3ded0cfc.js → Navigation-42c123d2.js} +3 -52
  37. package/esm/Navigation-42c123d2.js.map +1 -0
  38. package/esm/{Textarea-380665db.js → Textarea-266f1e45.js} +2 -2
  39. package/esm/{Textarea-380665db.js.map → Textarea-266f1e45.js.map} +1 -1
  40. package/esm/{VideoCard-784c2a51.js → VideoCard-e6f342b8.js} +2 -2
  41. package/esm/{VideoCard-784c2a51.js.map → VideoCard-e6f342b8.js.map} +1 -1
  42. package/esm/cookies.js +1 -1
  43. package/esm/fields.js +3 -3
  44. package/esm/headers.js +3 -3
  45. package/esm/hooks.js +168 -9
  46. package/esm/hooks.js.map +1 -1
  47. package/esm/{navigation-ada7fd84.js → navigation-b89325f8.js} +52 -2
  48. package/esm/navigation-b89325f8.js.map +1 -0
  49. package/esm/navigation.js +5 -5
  50. package/esm/navigation.js.map +1 -1
  51. package/esm/sections.dynamicform.js +2 -2
  52. package/esm/sections.jobs.js +4 -4
  53. package/esm/sections.js +8 -18
  54. package/esm/sections.js.map +1 -1
  55. package/esm/sections.news.js +4 -4
  56. package/esm/sections.pois.js +5 -5
  57. package/esm/{useCookieConsent-0fc8667c.js → useCookieConsent-6b2d4d93.js} +2 -8
  58. package/esm/{useCookieConsent-0fc8667c.js.map → useCookieConsent-6b2d4d93.js.map} +1 -1
  59. package/esm/{useEqualSheetHeight-4030635e.js → useEqualSheetHeight-97420d63.js} +3 -3
  60. package/esm/{useEqualSheetHeight-4030635e.js.map → useEqualSheetHeight-97420d63.js.map} +1 -1
  61. package/esm/useIE-a9c56989.js +15 -0
  62. package/esm/useIE-a9c56989.js.map +1 -0
  63. package/esm/{useLazyInput-16a0b633.js → useLazyInput-54d1785c.js} +2 -2
  64. package/esm/{useLazyInput-16a0b633.js.map → useLazyInput-54d1785c.js.map} +1 -1
  65. package/esm/{useMediaQuery-b08dda62.js → useMediaQuery-b42fd64e.js} +2 -2
  66. package/esm/{useMediaQuery-b08dda62.js.map → useMediaQuery-b42fd64e.js.map} +1 -1
  67. package/package.json +1 -1
  68. package/types/hooks.d.ts +32 -33
  69. package/types/hooks.d.ts.map +1 -1
  70. package/types/navigation.d.ts +6 -6
  71. package/types/navigation.d.ts.map +1 -1
  72. package/cjs/Navigation-ca78100c.js +0 -2
  73. package/cjs/Navigation-ca78100c.js.map +0 -1
  74. package/cjs/navigation-389b22e2.js +0 -2
  75. package/cjs/navigation-389b22e2.js.map +0 -1
  76. package/cjs/useCookieConsent-1af2af74.js +0 -2
  77. package/cjs/useEqualSheetHeight-8f92c912.js +0 -2
  78. package/cjs/useEqualSheetHeight-8f92c912.js.map +0 -1
  79. package/cjs/useLazyInput-0b912584.js +0 -2
  80. package/cjs/useLazyInput-0b912584.js.map +0 -1
  81. package/cjs/useMediaQuery-0bd70e6a.js +0 -2
  82. package/esm/Navigation-3ded0cfc.js.map +0 -1
  83. package/esm/navigation-ada7fd84.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),i=require("./Copy-ea6ab025.js"),o=require("./styles-3a495a2d.js"),r=require("./useLazyInput-0b912584.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function l(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var d,s,c,u,p,f=l(e),m=a(e),g=a(t),h=g.default.svg.withConfig({displayName:"Magnifier__SVG",componentId:"sc-1i44xjf-0"})(d||(d=n.__makeTemplateObject(["\n display: block;\n"],["\n display: block;\n"]))),x=function(n){var e=n.iconColor,t=void 0===e?"currentColor":e,i=n.className,o=n.ariaHidden,r=void 0===o||o;return f.createElement(h,{viewBox:"0 0 18 18",width:"18",height:"18",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":r,className:i},f.createElement("path",{d:"M12.5 11h-.79l-.28-.27A6.471 6.471 0 0 0 13 6.5 6.5 6.5 0 1 0 6.5 13c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L17.49 16l-4.99-5Zm-6 0C4.01 11 2 8.99 2 6.5S4.01 2 6.5 2 11 4.01 11 6.5 8.99 11 6.5 11Z",fill:t}))},b=g.default.div.withConfig({displayName:"FilterField__View",componentId:"sc-1reb7yx-0"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n min-height: 50px;\n border: solid 1px\n ",";\n\n color: ",";\n\n &:focus-within {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media "," {\n max-width: 400px;\n }\n"],["\n display: flex;\n min-height: 50px;\n border: solid 1px\n ",";\n\n color: ",";\n\n &:focus-within {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media "," {\n max-width: 400px;\n }\n"])),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).elementBg.light:o.getColors(e).elementBg.dark}),(function(n){var e=n.theme;return n.isInverted?o.getFonts(e).copy.medium.colorInverted:o.getFonts(e).copy.medium.color}),(function(n){var e=n.theme,t=n.isInverted;return"1px solid ".concat(t?o.getColors(e).primary.inverted:o.getColors(e).primary.default)}),o.mq.medium),v=g.default.input.withConfig({displayName:"FilterField__Field",componentId:"sc-1reb7yx-1"})(c||(c=n.__makeTemplateObject(["\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ","\n line-height: 1;\n\n padding: ","px;\n padding-right: ","px;\n\n &::placeholder {\n color: ",";\n }\n"],["\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ","\n line-height: 1;\n\n padding: ","px;\n padding-right: ","px;\n\n &::placeholder {\n color: ",";\n }\n"])),i.copyStyle("copy","medium"),2*o.spacings.nudge,o.spacings.nudge,(function(n){var e=n.theme;return n.isInverted?o.getColors(e).text.subtileInverted:o.getColors(e).text.subtile})),y=g.default.div.withConfig({displayName:"FilterField__SearchIcon",componentId:"sc-1reb7yx-2"})(u||(u=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"],["\n display: flex;\n align-items: center;\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"])),2*o.spacings.nudge,2*o.spacings.nudge),w=g.default.button.withConfig({displayName:"FilterField__ClearBtn",componentId:"sc-1reb7yx-3"})(p||(p=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ",";\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"],["\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ",";\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"])),2*o.spacings.nudge,2*o.spacings.nudge,(function(n){var e=n.theme,t=n.isInverted;return"2px solid ".concat(t?o.getColors(e).primary.inverted:o.getColors(e).primary.default)}));exports.FilterField=function(t){var i=t.isInverted,o=t.value,a=t.initialValue,l=t.placeholder,d=t.onSubmit,s=t.onBlur,c=t.submitIcon,u=t.clearIcon,p=t.className,f=r.useLazyInput((function(n){null==d||d(n)}),a||""),g=f.update,h=f.value,C=f.forceUpdate;return e.useEffect((function(){void 0!==o&&g(o)}),[g,o]),m.default.createElement(b,{isInverted:i,className:p},m.default.createElement(v,{type:"text",isInverted:i,value:h,placeholder:l,onChange:function(n){var e,t=null===(e=null==n?void 0:n.currentTarget)||void 0===e?void 0:e.value;void 0!==t&&g(t,""===t)},onBlur:s,onKeyDown:function(n){"Enter"===n.key&&C()}}),""===h&&m.default.createElement(y,null,c?c(i):m.default.createElement(x,null)),""!==h&&m.default.createElement(w,{isInverted:i,"aria-label":"clear filter",onClick:function(){g("",!0)}},u?u(i):m.default.createElement(n.Cross,null)))};
2
- //# sourceMappingURL=FilterField-b1547fb4.js.map
1
+ "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),i=require("./Copy-ea6ab025.js"),o=require("./styles-3a495a2d.js"),r=require("./useLazyInput-f71c221b.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function l(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var d,s,c,u,p,f=l(e),m=a(e),g=a(t),h=g.default.svg.withConfig({displayName:"Magnifier__SVG",componentId:"sc-1i44xjf-0"})(d||(d=n.__makeTemplateObject(["\n display: block;\n"],["\n display: block;\n"]))),x=function(n){var e=n.iconColor,t=void 0===e?"currentColor":e,i=n.className,o=n.ariaHidden,r=void 0===o||o;return f.createElement(h,{viewBox:"0 0 18 18",width:"18",height:"18",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":r,className:i},f.createElement("path",{d:"M12.5 11h-.79l-.28-.27A6.471 6.471 0 0 0 13 6.5 6.5 6.5 0 1 0 6.5 13c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L17.49 16l-4.99-5Zm-6 0C4.01 11 2 8.99 2 6.5S4.01 2 6.5 2 11 4.01 11 6.5 8.99 11 6.5 11Z",fill:t}))},b=g.default.div.withConfig({displayName:"FilterField__View",componentId:"sc-1reb7yx-0"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n min-height: 50px;\n border: solid 1px\n ",";\n\n color: ",";\n\n &:focus-within {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media "," {\n max-width: 400px;\n }\n"],["\n display: flex;\n min-height: 50px;\n border: solid 1px\n ",";\n\n color: ",";\n\n &:focus-within {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media "," {\n max-width: 400px;\n }\n"])),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).elementBg.light:o.getColors(e).elementBg.dark}),(function(n){var e=n.theme;return n.isInverted?o.getFonts(e).copy.medium.colorInverted:o.getFonts(e).copy.medium.color}),(function(n){var e=n.theme,t=n.isInverted;return"1px solid ".concat(t?o.getColors(e).primary.inverted:o.getColors(e).primary.default)}),o.mq.medium),v=g.default.input.withConfig({displayName:"FilterField__Field",componentId:"sc-1reb7yx-1"})(c||(c=n.__makeTemplateObject(["\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ","\n line-height: 1;\n\n padding: ","px;\n padding-right: ","px;\n\n &::placeholder {\n color: ",";\n }\n"],["\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ","\n line-height: 1;\n\n padding: ","px;\n padding-right: ","px;\n\n &::placeholder {\n color: ",";\n }\n"])),i.copyStyle("copy","medium"),2*o.spacings.nudge,o.spacings.nudge,(function(n){var e=n.theme;return n.isInverted?o.getColors(e).text.subtileInverted:o.getColors(e).text.subtile})),y=g.default.div.withConfig({displayName:"FilterField__SearchIcon",componentId:"sc-1reb7yx-2"})(u||(u=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"],["\n display: flex;\n align-items: center;\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"])),2*o.spacings.nudge,2*o.spacings.nudge),w=g.default.button.withConfig({displayName:"FilterField__ClearBtn",componentId:"sc-1reb7yx-3"})(p||(p=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ",";\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"],["\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ",";\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"])),2*o.spacings.nudge,2*o.spacings.nudge,(function(n){var e=n.theme,t=n.isInverted;return"2px solid ".concat(t?o.getColors(e).primary.inverted:o.getColors(e).primary.default)}));exports.FilterField=function(t){var i=t.isInverted,o=t.value,a=t.initialValue,l=t.placeholder,d=t.onSubmit,s=t.onBlur,c=t.submitIcon,u=t.clearIcon,p=t.className,f=r.useLazyInput((function(n){null==d||d(n)}),a||""),g=f.update,h=f.value,C=f.forceUpdate;return e.useEffect((function(){void 0!==o&&g(o)}),[g,o]),m.default.createElement(b,{isInverted:i,className:p},m.default.createElement(v,{type:"text",isInverted:i,value:h,placeholder:l,onChange:function(n){var e,t=null===(e=null==n?void 0:n.currentTarget)||void 0===e?void 0:e.value;void 0!==t&&g(t,""===t)},onBlur:s,onKeyDown:function(n){"Enter"===n.key&&C()}}),""===h&&m.default.createElement(y,null,c?c(i):m.default.createElement(x,null)),""!==h&&m.default.createElement(w,{isInverted:i,"aria-label":"clear filter",onClick:function(){g("",!0)}},u?u(i):m.default.createElement(n.Cross,null)))};
2
+ //# sourceMappingURL=FilterField-cce38ffb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterField-b1547fb4.js","sources":["../src/components/base/icons/Magnifier.tsx","../src/components/fields/FilterField.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nconst SVG = styled.svg`\n display: block;\n`;\n\nconst Magnifier: React.FC<{\n iconColor?: string;\n className?: string;\n ariaHidden?: boolean;\n}> = ({ iconColor = 'currentColor', className, ariaHidden = true }) => (\n <SVG\n viewBox=\"0 0 18 18\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden={ariaHidden}\n className={className}\n >\n <path\n d=\"M12.5 11h-.79l-.28-.27A6.471 6.471 0 0 0 13 6.5 6.5 6.5 0 1 0 6.5 13c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L17.49 16l-4.99-5Zm-6 0C4.01 11 2 8.99 2 6.5S4.01 2 6.5 2 11 4.01 11 6.5 8.99 11 6.5 11Z\"\n fill={iconColor}\n />\n </SVG>\n);\n\nexport default Magnifier;\n","import React, { FC, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { copyStyle } from 'components/typography/Copy';\nimport {\n spacings,\n getColors as color,\n getFonts as font,\n mq,\n} from 'utils/styles';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport useLazyInput from 'utils/useLazyInput';\nimport Cross from 'components/base/icons/Cross';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: flex;\n min-height: 50px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.medium.colorInverted\n : font(theme).copy.medium.color};\n\n &:focus-within {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst Field = styled.input<{ isInverted?: boolean }>`\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ${copyStyle('copy', 'medium')}\n line-height: 1;\n\n padding: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge}px;\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nconst SearchIcon = styled.div`\n display: flex;\n align-items: center;\n padding-right: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n`;\n\nconst ClearBtn = styled.button<{ isInverted?: boolean }>`\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ${({ theme, isInverted }) =>\n `2px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nconst FilterField: FC<{\n isInverted?: boolean;\n value?: string;\n initialValue?: string;\n placeholder?: string;\n onSubmit?: (value: string) => void;\n onBlur?: (ev: React.SyntheticEvent<HTMLInputElement>) => void;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted,\n value,\n initialValue,\n placeholder,\n onSubmit,\n onBlur,\n submitIcon,\n clearIcon,\n className,\n}) => {\n const {\n update,\n value: getValue,\n forceUpdate,\n } = useLazyInput((value) => {\n onSubmit?.(value);\n }, initialValue || '');\n\n useEffect(() => {\n if (value !== undefined) {\n update(value);\n }\n }, [update, value]);\n\n return (\n <View isInverted={isInverted} className={className}>\n <Field\n type=\"text\"\n isInverted={isInverted}\n value={getValue}\n placeholder={placeholder}\n onChange={(ev) => {\n const newValue = ev?.currentTarget?.value;\n if (newValue !== undefined) {\n update(newValue, newValue === '');\n }\n }}\n onBlur={onBlur}\n onKeyDown={(ev) => {\n if (ev.key === 'Enter') {\n forceUpdate();\n }\n }}\n />\n {getValue === '' && (\n <SearchIcon>\n {submitIcon ? submitIcon(isInverted) : <Magnifier />}\n </SearchIcon>\n )}\n {getValue !== '' && (\n <ClearBtn\n isInverted={isInverted}\n aria-label=\"clear filter\"\n onClick={() => {\n update('', true);\n }}\n >\n {clearIcon ? clearIcon(isInverted) : <Cross />}\n </ClearBtn>\n )}\n </View>\n );\n};\n\nexport default FilterField;\n"],"names":["SVG","styled","svg","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Magnifier","_a","_b","iconColor","className","_c","ariaHidden","React","createElement","viewBox","width","height","fill","xmlns","d","View","div","theme","isInverted","color","elementBg","light","dark","font","getFonts","copy","medium","colorInverted","primary","inverted","default","mq","Field","input","templateObject_2","copyStyle","spacings","nudge","text","subtileInverted","subtile","SearchIcon","ClearBtn","button","templateObject_4","value","initialValue","placeholder","onSubmit","onBlur","submitIcon","clearIcon","useLazyInput","update","getValue","forceUpdate","useEffect","undefined","type","onChange","ev","newValue","currentTarget","onKeyDown","key","onClick","Cross"],"mappings":"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"}
1
+ {"version":3,"file":"FilterField-cce38ffb.js","sources":["../src/components/base/icons/Magnifier.tsx","../src/components/fields/FilterField.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nconst SVG = styled.svg`\n display: block;\n`;\n\nconst Magnifier: React.FC<{\n iconColor?: string;\n className?: string;\n ariaHidden?: boolean;\n}> = ({ iconColor = 'currentColor', className, ariaHidden = true }) => (\n <SVG\n viewBox=\"0 0 18 18\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden={ariaHidden}\n className={className}\n >\n <path\n d=\"M12.5 11h-.79l-.28-.27A6.471 6.471 0 0 0 13 6.5 6.5 6.5 0 1 0 6.5 13c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L17.49 16l-4.99-5Zm-6 0C4.01 11 2 8.99 2 6.5S4.01 2 6.5 2 11 4.01 11 6.5 8.99 11 6.5 11Z\"\n fill={iconColor}\n />\n </SVG>\n);\n\nexport default Magnifier;\n","import React, { FC, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { copyStyle } from 'components/typography/Copy';\nimport {\n spacings,\n getColors as color,\n getFonts as font,\n mq,\n} from 'utils/styles';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport useLazyInput from 'utils/useLazyInput';\nimport Cross from 'components/base/icons/Cross';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: flex;\n min-height: 50px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.medium.colorInverted\n : font(theme).copy.medium.color};\n\n &:focus-within {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst Field = styled.input<{ isInverted?: boolean }>`\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ${copyStyle('copy', 'medium')}\n line-height: 1;\n\n padding: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge}px;\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nconst SearchIcon = styled.div`\n display: flex;\n align-items: center;\n padding-right: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n`;\n\nconst ClearBtn = styled.button<{ isInverted?: boolean }>`\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ${({ theme, isInverted }) =>\n `2px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nconst FilterField: FC<{\n isInverted?: boolean;\n value?: string;\n initialValue?: string;\n placeholder?: string;\n onSubmit?: (value: string) => void;\n onBlur?: (ev: React.SyntheticEvent<HTMLInputElement>) => void;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted,\n value,\n initialValue,\n placeholder,\n onSubmit,\n onBlur,\n submitIcon,\n clearIcon,\n className,\n}) => {\n const {\n update,\n value: getValue,\n forceUpdate,\n } = useLazyInput((value) => {\n onSubmit?.(value);\n }, initialValue || '');\n\n useEffect(() => {\n if (value !== undefined) {\n update(value);\n }\n }, [update, value]);\n\n return (\n <View isInverted={isInverted} className={className}>\n <Field\n type=\"text\"\n isInverted={isInverted}\n value={getValue}\n placeholder={placeholder}\n onChange={(ev) => {\n const newValue = ev?.currentTarget?.value;\n if (newValue !== undefined) {\n update(newValue, newValue === '');\n }\n }}\n onBlur={onBlur}\n onKeyDown={(ev) => {\n if (ev.key === 'Enter') {\n forceUpdate();\n }\n }}\n />\n {getValue === '' && (\n <SearchIcon>\n {submitIcon ? submitIcon(isInverted) : <Magnifier />}\n </SearchIcon>\n )}\n {getValue !== '' && (\n <ClearBtn\n isInverted={isInverted}\n aria-label=\"clear filter\"\n onClick={() => {\n update('', true);\n }}\n >\n {clearIcon ? clearIcon(isInverted) : <Cross />}\n </ClearBtn>\n )}\n </View>\n );\n};\n\nexport default FilterField;\n"],"names":["SVG","styled","svg","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Magnifier","_a","_b","iconColor","className","_c","ariaHidden","React","createElement","viewBox","width","height","fill","xmlns","d","View","div","theme","isInverted","color","elementBg","light","dark","font","getFonts","copy","medium","colorInverted","primary","inverted","default","mq","Field","input","templateObject_2","copyStyle","spacings","nudge","text","subtileInverted","subtile","SearchIcon","ClearBtn","button","templateObject_4","value","initialValue","placeholder","onSubmit","onBlur","submitIcon","clearIcon","useLazyInput","update","getValue","forceUpdate","useEffect","undefined","type","onChange","ev","newValue","currentTarget","onKeyDown","key","onClick","Cross"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("./LibThemeProvider-4823de57.js"),i=require("./useMediaQuery-3d1054e5.js"),a=require("./navigation-bf154e6e.js"),o=require("./Link-5a6f1633.js"),r=require("styled-components"),l=require("./arrays-c272ed59.js"),s=require("./clamp-bd21d587.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(r);!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=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"]))),T=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),j=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),z=v.default(o.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"})),L=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"})),q=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),H=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"]))),A=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(z,n.__assign({},a,{isInverted:t,showOnMobile:o,showOnDesktop:r}),l||i):g.default.createElement(L,{isInverted:t,showOnMobile:o,showOnDesktop:r},l||i)},P=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),V=v.default(o.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})),D=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})),R=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)},G=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})),U=v.default(o.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})),Q=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),X=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),Y=function(e){var t=e.isInverted,i=e.customToggle,a=e.menuStates,o=e.langs,r=e.action;return g.default.createElement(g.default.Fragment,null,g.default.createElement(Q,null,g.default.createElement(R,{isInverted:t,isExpanded:!0,onClick:null==a?void 0:a.closeMenu},i?i({isInverted:t}):g.default.createElement(n.Cross,{ariaHidden:!0})),l.isValidArray(o,!1)&&g.default.createElement(X,null,g.default.createElement(p.LanguageSwitcher,{isInverted:t,langs:o})),r&&r(n.__assign({isInverted:t},a))))},J=function(e){return r.css(wn||(wn=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}))},K=v.default.div.withConfig({displayName:"MenuFlyout__Backdrop",componentId:"sc-19pnt0u-0"})(yn||(yn=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})),Z=v.default.div.withConfig({displayName:"MenuFlyout__Stage",componentId:"sc-19pnt0u-1"})(_n||(_n=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%"})),$=v.default.div.withConfig({displayName:"MenuFlyout__Flyout",componentId:"sc-19pnt0u-2"})(kn||(kn=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})),nn=function(n,e){var t="large"===e?u.getGlobals(n).navigation.menu.headerHeight.large:u.getGlobals(n).navigation.menu.headerHeight.small;return[s.clampValue(t[0],0),s.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},en=v.default.div.withConfig({displayName:"MenuFlyout__Header",componentId:"sc-19pnt0u-3"})(Cn||(Cn=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 nn(e,t)[0]}),(function(n){var e=n.theme,t=n.navBarSize;return nn(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.navBarSize;return nn(e,t)[1]}),(function(n){var e=n.theme,t=n.navBarSize;return nn(e,t)[1]})),tn=v.default.div.withConfig({displayName:"MenuFlyout__ScrollContainer",componentId:"sc-19pnt0u-4"})(In||(In=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"]))),an=v.default.div.withConfig({displayName:"MenuFlyout__ScrollArea",componentId:"sc-19pnt0u-5"})(Nn||(Nn=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),on=v.default.nav.withConfig({displayName:"MenuFlyout__NavView",componentId:"sc-19pnt0u-6"})(On||(On=n.__makeTemplateObject([""],[""]))),rn=v.default.ul.withConfig({displayName:"MenuFlyout__NavList",componentId:"sc-19pnt0u-7"})(Bn||(Bn=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)})),ln=v.default.li.withConfig({displayName:"MenuFlyout__NavItemView",componentId:"sc-19pnt0u-8"})(En||(En=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})),sn=v.default.span.withConfig({displayName:"MenuFlyout__NavItemContent",componentId:"sc-19pnt0u-9"})(Sn||(Sn=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 J(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"})),un=v.default.span.withConfig({displayName:"MenuFlyout__NavItemIcon",componentId:"sc-19pnt0u-10"})(Fn||(Fn=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"]))),dn=v.default.span.withConfig({displayName:"MenuFlyout__NavItemLabel",componentId:"sc-19pnt0u-11"})(Mn||(Mn=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),cn=v.default.span.withConfig({displayName:"MenuFlyout__NavItemCollapse",componentId:"sc-19pnt0u-12"})(Tn||(Tn=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),pn=v.default(n.AngleRight).withConfig({displayName:"MenuFlyout__NavItemCollapseIcon",componentId:"sc-19pnt0u-13"})(jn||(jn=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),mn=v.default(o.Link).withConfig({displayName:"MenuFlyout__NavItemLink",componentId:"sc-19pnt0u-14"})(zn||(zn=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})),fn=v.default.button.withConfig({displayName:"MenuFlyout__NavItemButton",componentId:"sc-19pnt0u-15"})(Ln||(Ln=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),gn=v.default.ul.withConfig({displayName:"MenuFlyout__SubNavList",componentId:"sc-19pnt0u-16"})(qn||(qn=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),vn=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(ln,{ref:t,isActive:a,"data-featured":o},g.default.createElement(sn,{isCurrent:i,isFeatured:o},s&&g.default.createElement(un,null,s),r&&g.default.createElement(dn,null,r),v&&g.default.createElement(cn,null,p?p({isCollapsed:!a}):g.default.createElement(pn,{ariaHidden:!0,isCollapsed:!a})),!v&&(null==l?void 0:l.href)&&g.default.createElement(mn,n.__assign({},l,{ariaLabel:r,tabIndex:m?void 0:-1})),v&&g.default.createElement(g.default.Fragment,null,g.default.createElement(fn,{"aria-label":r,"aria-expanded":a,onClick:c,tabIndex:m?void 0:-1}))),v&&g.default.createElement(gn,{isActive:a,isIndented:!!s},(null==l?void 0:l.href)&&g.default.createElement(Zn.SubItem,{key:"overview",link:l,label:u||"Overview",navBarSize:d,canFocus:m}),f))}));vn.displayName="NavigationItem";var hn=v.default.li.withConfig({displayName:"MenuFlyout__SubNavItem",componentId:"sc-19pnt0u-17"})(Hn||(Hn=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"])),J("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 nn(e,t)[1]+2*u.spacings.nudge}),u.spacings.spacer),bn=v.default(o.Link).withConfig({displayName:"MenuFlyout__SubNavLink",componentId:"sc-19pnt0u-18"})(An||(An=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}),J("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})),xn=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(hn,{ref:t,navBarSize:r},g.default.createElement(bn,n.__assign({tabIndex:l?void 0:-1,isCurrent:i},o),g.default.createElement("span",null,a)))}));xn.displayName="NavigationSubItem";var wn,yn,_n,kn,Cn,In,Nn,On,Bn,En,Sn,Fn,Mn,Tn,jn,zn,Ln,qn,Hn,An,Pn,Vn,Dn,Wn,Rn,Gn,Un,Qn,Xn,Yn,Jn=v.default.ul.withConfig({displayName:"MenuFlyout__SecondaryNavList",componentId:"sc-19pnt0u-19"})(Pn||(Pn=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),Kn=v.default(o.Link).withConfig({displayName:"MenuFlyout__SecondaryNavLink",componentId:"sc-19pnt0u-20"})(Vn||(Vn=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}),J("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})),Zn={View:function(n){var e=n.children;return g.default.createElement(on,{"aria-label":"menu"},e)},List:rn,Item:vn,SubItem:xn,SubList:function(n){var e=n.items,t=n.canFocus;return e&&e.length>0?g.default.createElement(Jn,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(Kn,{isCurrent:n.isCurrent,href:null===(i=n.link)||void 0===i?void 0:i.href,tabIndex:t?void 0:-1},n.label))}))):null}},$n=function(n){return!n.hideFromMenu&&n.uid&&n.label},ne=function(i){var o=i.isOpen,r=i.clampWidth,s=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=nn(n,"large"),t=nn(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($n)}),[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($n)}),[d]),O=e.useState((function(){var n,e,t=null===(e=null===(n=a.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 o?document.addEventListener("focusin",n):document.removeEventListener("focusin",n),function(){document.removeEventListener("focusin",n)}}),[o,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(K,{isOpen:o,filter:f,onClick:b}),g.default.createElement(Z,{isOpen:o,clampWidth:r},g.default.createElement($,{ref:_,isOpen:o},k&&g.default.createElement(en,{navBarSize:c},v?v({isOpen:o,mainNavigation:C,subNavigation:N,isIndexPage:s,navBarSize:c}):g.default.createElement(Y,{menuStates:{isOpen:o,mainNavigation:u,subNavigation:d,isIndexPage:s,navBarSize:c}})),g.default.createElement(tn,null,g.default.createElement(an,null,w&&w({isOpen:o,mainNavigation:C,subNavigation:N,isIndexPage:s,navBarSize:c}),g.default.createElement(Zn.View,null,l.isValidArray(C,!1)&&g.default.createElement(Zn.List,{id:"mainMenu",hasNonFeaturedItems:I},C.map((function(e){var t,i=B.includes(e.uid),a=!!(null==e?void 0:e.subItems)&&e.subItems.findIndex((function(n){return n.isCurrent}))>=0,r=e.isCurrent||a;return g.default.createElement(Zn.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:o}),null===(t=null==e?void 0:e.subItems)||void 0===t?void 0:t.filter($n).map((function(e){return g.default.createElement(Zn.SubItem,n.__assign({key:e.uid,ref:e.isCurrent?z:void 0},e,{navBarSize:c,canFocus:o}))})))}))),l.isValidArray(N,!1)&&g.default.createElement(Zn.SubList,{items:N,canFocus:o})),h?h({isOpen:o,mainNavigation:C,subNavigation:N,isIndexPage:s}):"")))))},ee=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(ne,n.__assign({isOpen:t,clampWidth:i,isIndexPage:a,mainNavigation:o,subNavigation:r,navBarSize:l,header:s,footer:u,onClose:c,navItemsHeader:d},p))},te=function(n,e){var t="large"===e?u.getGlobals(n).navigation.navBar.topHeight.large:u.getGlobals(n).navigation.navBar.topHeight.small;return[s.clampValue(t[0],0),s.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},ie=function(n){var e=te(n,"large"),t=te(n,"small");return e[0]>0||e[1]>0||t[0]>0||t[1]>0},ae=function(n,e){var t="large"===e?u.getGlobals(n).navigation.navBar.mainHeight.large:u.getGlobals(n).navigation.navBar.mainHeight.small;return[s.clampValue(t[0],0),s.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},oe=function(n,e){var t="large"===e?u.getGlobals(n).navigation.navBar.bottomHeight.large:u.getGlobals(n).navigation.navBar.bottomHeight.small;return[s.clampValue(t[0],0),s.clampValue(void 0===(null==t?void 0:t[1])?t[0]:t[1],0)]},re=function(n){var e=oe(n,"large"),t=oe(n,"small");return e[0]>0||e[1]>0||t[0]>0||t[1]>0},le=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?te(n,e):[0,0],l=a?ae(n,e):[0,0],s=o?oe(n,e):[0,0];return[r[0]+l[0]+s[0],r[1]+l[1]+s[1]]},se=v.default.div.withConfig({displayName:"NavBar__View",componentId:"sc-f6gpx5-0"})(Dn||(Dn=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),ue=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 te(e,t)[0]>0?1:0}),(function(n){var e=n.theme,t=n.size;return te(e,t)[0]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return te(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 te(e,t)[1]>0?1:0}),(function(n){var e=n.theme,t=n.size;return te(e,t)[1]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return te(e,t)[1]<=0&&"hidden"})),de=v.default.div.withConfig({displayName:"NavBar__Main",componentId:"sc-f6gpx5-2"})(Rn||(Rn=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})),ce=v.default.div.withConfig({displayName:"NavBar__Footer",componentId:"sc-f6gpx5-3"})(Gn||(Gn=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 oe(e,t)[0]>0?1:0}),(function(n){var e=n.theme,t=n.size;return oe(e,t)[0]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return oe(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 oe(e,t)[0]>0?1:0}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return oe(e,t)[1]>0?1:0}),(function(n){var e=n.theme,t=n.size;return oe(e,t)[1]>0?"all":"none"}),(function(n){var e=n.theme,t=n.size;return oe(e,t)[1]<=0&&"hidden"}),(function(n){var e=n.theme,t=n.size;return oe(e,t)[1]>0?1:0})),pe=v.default.div.withConfig({displayName:"NavBar__TopContent",componentId:"sc-f6gpx5-4"})(Un||(Un=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 te(t,e)[0]>0&&"0 ".concat(2*u.spacings.nudge,"px")}),(function(n){var e=n.theme,t=n.size;return te(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return te(e,t)[1]}),(function(n){var e=n.size,t=n.theme;return te(t,e)[1]>0&&"0 ".concat(2*u.spacings.nudge,"px")})),me=v.default.div.withConfig({displayName:"NavBar__Content",componentId:"sc-f6gpx5-5"})(Qn||(Qn=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 ae(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return ae(e,t)[1]||ae(e,t)[0]})),fe=v.default.div.withConfig({displayName:"NavBar__BottomContent",componentId:"sc-f6gpx5-6"})(Xn||(Xn=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 oe(e,t)[0]}),u.mq.semilarge,(function(n){var e=n.theme,t=n.size;return oe(e,t)[1]}),2*u.spacings.nudge),ge=v.default.div.withConfig({displayName:"NavBar__BarSpacer",componentId:"sc-f6gpx5-7"})(Yn||(Yn=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"),le(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"),le(e,"large",a)[1]})),ve=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 ie(I)&&null!==w}),[I,w]),S=e.useMemo((function(){return re(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(ge,{hasHeader:E,hasFooter:S}),g.default.createElement(se,{isOpen:r,isSticky:s,isAnimated:d,bgGradient:"large"===a&&B?z:void 0,className:k},E&&g.default.createElement(ue,{size:a,background:F?M:void 0},g.default.createElement(pe,{size:a,clamp:O},L||g.default.createElement(P,{isInverted:!0},"Top Nav"))),null!==y&&g.default.createElement(de,{background:F?T:void 0},g.default.createElement(me,{size:a,clamp:O},q||g.default.createElement(g.default.Fragment,null,g.default.createElement(P,{takeSpace:!0,isInverted:"large"===a&&B},"Left"),g.default.createElement(P,{isInverted:"large"===a&&B},"Center"),g.default.createElement(P,{takeSpace:!0,isInverted:"large"===a&&B},"Right")))),S&&g.default.createElement(ce,{size:a,background:F?j:void 0},g.default.createElement(fe,{size:a,clamp:O},H||"bottom bar"))))},he=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")}},be=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,o=void 0!==i&&i,r=t.rootLink,l=t.rootLabel,s=t.navItems,u=t.seperator,d=t.back,c=t.className,p=e.useMemo((function(){return a.getCurrentNavPath(s,(null==r?void 0:r.href)?[null==r?void 0:r.href]:[])}),[s,null==r?void 0:r.href]),m={uid:"root",label:l||"Home",link:r};return g.default.createElement(M,{"aria-label":"breadcrumbs",className:c},g.default.createElement(T,null,g.default.createElement(j,null,g.default.createElement(A,n.__assign({showOnDesktop:!0,isInverted:o},m))),null==p?void 0:p.map((function(e,t){var i=t===p.length-1,a=t-1>=0?p[t-1]:m;return g.default.createElement(j,{key:t,isCurrent:i},g.default.createElement(q,{size:"small",isInverted:o},u?u({isInverted:o}):"/"),i?g.default.createElement(g.default.Fragment,null,a&&g.default.createElement(A,n.__assign({},a,{showOnMobile:!0,isInverted:o}),g.default.createElement(H,null,d?d({isInverted:o}):g.default.createElement(n.AngleLeft,null)),g.default.createElement("span",null,a.label)),g.default.createElement(A,n.__assign({},e,{link:{},showOnDesktop:!0,isInverted:o}))):g.default.createElement(A,n.__assign({},e,{showOnDesktop:!0,isInverted:o})))}))))},exports.BarLogo=function(e){var t=e.link,i=e.logo,a=e.className;return g.default.createElement(V,n.__assign({},t,{className:a}),(null==i?void 0:i.small)&&g.default.createElement(D,n.__assign({},i,{coverSpace:!1,ratios:void 0,showPlaceholder:!1})))},exports.BarMenuToggle=R,exports.BarNavList=function(e){var t=e.isInverted,i=e.navLinks,a=e.className;return g.default.createElement(G,{isInverted:t,className:a},null==i?void 0:i.map((function(e,i){return g.default.createElement(U,n.__assign({key:i},e.link,{isInverted:t,isActive:e.isCurrent}),e.label)})))},exports.Column=P,exports.MenuHeader=Y,exports.Navigation=function(o){var r=o.clampWidth,l=void 0===r?"content":r,s=o.navBar,u=o.menu,d=(null==s?void 0:s.isStickable)||!1,c=(null==s?void 0:s.isCollapsible)||!1,p=i.useMediaQueries(),m=t.useLibTheme().theme,v=e.useState(!1),h=v[0],b=v[1],x=e.useState(!0),w=x[0],y=x[1],_=function(n){var t,i,o=e.useState(!0),r=o[0],l=o[1],s=e.useState(!0),u=s[0],d=s[1],c=e.useState(!1),p=c[0],m=c[1],g=e.useRef(0),v=e.useRef(0),h=e.useState(f.DOWN),b=h[0],x=h[1],w=(null===(t=null==n?void 0:n.directionOffset)||void 0===t?void 0:t.down)||0,y=(null===(i=null==n?void 0:n.directionOffset)||void 0===i?void 0:i.up)||0,_=a.useScrollThrottle(void 0!==(null==n?void 0:n.resizeThrottleTimeout)?n.resizeThrottleTimeout:200);return e.useEffect((function(){if(_&&"undefined"!=typeof window){var e=_.scrollY,t=e<=0;l(t),(null==n?void 0:n.offset)&&e<=n.offset?d(!0):d((function(e){var t;return e&&(null===(t=null==n?void 0:n.onLeftOffset)||void 0===t||t.call(n,b),m(!0)),!1}));var i=e-g.current,a=Math.abs(v.current);i<0&&v.current>0||i>0&&v.current<0?v.current=0:v.current+=i,a=Math.abs(v.current),t?x(f.DOWN):i<0&&a>=y?x(f.UP):i>0&&a>=w&&x(f.DOWN),g.current=e}}),[w,y,b,_,n]),e.useEffect((function(){r&&m(!1)}),[r]),{isTop:r,scrollDirection:b,isInOffset:u,leftOffsetFromTop:p}}({directionOffset:{up:40,down:40},offset:le(m,"large")[p.semilarge?1:0]}),k=_.isTop,C=_.scrollDirection,I=_.isInOffset,N=_.leftOffsetFromTop,O=e.useMemo((function(){return k||I||!d?"large":"small"}),[k,I,d]);e.useEffect((function(){d&&c&&y(k||I||C===f.UP)}),[C,k,d,I,c]),e.useEffect((function(){d&&(!c||N&&C===f.UP?b(!0):k&&b(!1))}),[c,d,k,N,C]);var B=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,{}),E=B.isMenuOpen,S=B.setIsMenuOpen,F=B.setRoot,M=function(){S(!0)},T=function(){S(!1)};e.useEffect((function(){document.body.style.overflow=E?"hidden":"visible"}),[E]);var j=(null==s?void 0:s.topBar)?function(e){return(null==s?void 0:s.topBar)?s.topBar(n.__assign(n.__assign({},e),{isMenuOpen:E,openMenu:M,closeMenu:T,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,isOnPageTop:k,isInTopOffset:I})):""}:null==s?void 0:s.topBar,z=(null==s?void 0:s.mainBar)?function(e){return(null==s?void 0:s.mainBar)?s.mainBar(n.__assign(n.__assign({},e),{isMenuOpen:E,openMenu:M,closeMenu:T,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,isOnPageTop:k,isInTopOffset:I})):""}:null==s?void 0:s.mainBar,L=(null==s?void 0:s.bottomBar)?function(e){return(null==s?void 0:s.bottomBar)?s.bottomBar(n.__assign(n.__assign({},e),{isMenuOpen:E,openMenu:M,closeMenu:T,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,isOnPageTop:k,isInTopOffset:I})):""}:null==s?void 0:s.bottomBar,q=(null==u?void 0:u.header)?function(e){return(null==u?void 0:u.header)?null==u?void 0:u.header(n.__assign(n.__assign({},e),{openMenu:M,closeMenu:T,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,navBarSize:O})):""}:void 0,H=(null==u?void 0:u.footer)?function(e){return(null==u?void 0:u.footer)?null==u?void 0:u.footer(n.__assign(n.__assign({},e),{openMenu:M,closeMenu:T,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,navBarSize:O})):""}:void 0,A=(null==u?void 0:u.navItemsHeader)?function(e){return(null==u?void 0:u.navItemsHeader)?null==u?void 0:u.navItemsHeader(n.__assign(n.__assign({},e),{openMenu:M,closeMenu:T,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,navBarSize:O})):""}:void 0;return g.default.createElement("header",{ref:F,"data-navbar-ident":function(n){return be({hasTop:null!==j&&ie(n),hasMain:null!==z,hasBottom:null!==L&&re(n),isStickable:null==s?void 0:s.isStickable,pageFlow:null==s?void 0:s.pageFlow})}(m)},g.default.createElement(t.LibThemeProvider,{theme:null==s?void 0:s.theme},g.default.createElement(ve,{isOpen:w,isSticky:h,isAnimated:!0,size:O,clampWidth:l,pageFlow:null==s?void 0:s.pageFlow,topBar:j,mainBar:z,bottomBar:L,topBg:null==s?void 0:s.topBg,mainBg:null==s?void 0:s.mainBg,bottomBg:null==s?void 0:s.bottomBg,onContentBg:null==s?void 0:s.onContentBg})),g.default.createElement(t.LibThemeProvider,{theme:null==u?void 0:u.theme},g.default.createElement(ee,{isOpen:E,clampWidth:l,isIndexPage:null==u?void 0:u.isIndexPage,mainNavigation:null==u?void 0:u.mainNavigation,subNavigation:null==u?void 0:u.subNavigation,typeSettings:null==u?void 0:u.typeSettings,navBarSize:O,header:q,footer:H,navItemsHeader:A,onClose:T})))},exports.generateNavbarIdent=be,exports.getFullNavbarHeights=function(n,e){var t=he(e||""),i=t.hasTop,a=t.hasBottom,o=[];return i||o.push("top"),a||o.push("bottom"),{large:le(n,"large",o),small:le(n,"small",o)}},exports.getNavbarState=he;
2
+ //# sourceMappingURL=Navigation-d205ed34.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigation-d205ed34.js","sources":["../src/utils/usePageScroll.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 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","View","styled","nav","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","List","ul","templateObject_2","mq","semilarge","spacings","nudge","ListItem","li","templateObject_3","_a","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","undefined","vAlign","getColors","primary","Logo","Image","Toggle","button","invertedHover","hover","BarMenuToggle","_b","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","useRef","hasHeader","useMemo","hasMenuHeader","largeHeights","smallHeights","mainList","__spreadArray","subList","_c","useState","initial","getCurrentNavItem","root","activeItems","setActiveItems","_d","currentNavEl","setCurrentNavEl","_e","currentSubNavEl","setCurrentSubNavEl","useEffect","handleFocus","ev","current","target","contains","document","addEventListener","removeEventListener","scrollIntoView","block","inline","e","id","includes","hasCurrentSubItem","subItems","findIndex","prev","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","_f","_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","settings","isTop","setIsTop","isInOffset","setIsInOffset","leftOffsetFromTop","setLeftOffsetFromTop","lastScrollPos","pxSinceLastSwitch","DOWN","scrollDirection","setScrollDirection","directionDownOffset","directionOffset","down","directionUpOffset","up","scrollState","useScrollThrottle","resizeThrottleTimeout","window","scrollY","offset","onLeftOffset","call","diff","absAccPx","Math","abs","UP","usePageScroll","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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"}