@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.
- package/cjs/{FilterField-b1547fb4.js → FilterField-cce38ffb.js} +2 -2
- package/cjs/{FilterField-b1547fb4.js.map → FilterField-cce38ffb.js.map} +1 -1
- package/cjs/Navigation-d205ed34.js +2 -0
- package/cjs/Navigation-d205ed34.js.map +1 -0
- package/cjs/{Textarea-485efa2d.js → Textarea-03bd2c34.js} +2 -2
- package/cjs/{Textarea-485efa2d.js.map → Textarea-03bd2c34.js.map} +1 -1
- package/cjs/{VideoCard-d48a37fe.js → VideoCard-703df8bc.js} +2 -2
- package/cjs/{VideoCard-d48a37fe.js.map → VideoCard-703df8bc.js.map} +1 -1
- package/cjs/cookies.js +1 -1
- package/cjs/fields.js +1 -1
- package/cjs/headers.js +1 -1
- package/cjs/hooks.js +1 -1
- package/cjs/hooks.js.map +1 -1
- package/cjs/navigation-bf154e6e.js +2 -0
- package/cjs/navigation-bf154e6e.js.map +1 -0
- package/cjs/navigation.js +1 -1
- package/cjs/navigation.js.map +1 -1
- package/cjs/sections.dynamicform.js +1 -1
- package/cjs/sections.jobs.js +1 -1
- package/cjs/sections.js +1 -1
- package/cjs/sections.js.map +1 -1
- package/cjs/sections.news.js +1 -1
- package/cjs/sections.pois.js +1 -1
- package/cjs/useCookieConsent-aa9f1104.js +2 -0
- package/cjs/{useCookieConsent-1af2af74.js.map → useCookieConsent-aa9f1104.js.map} +1 -1
- package/cjs/useEqualSheetHeight-501f4c5f.js +2 -0
- package/cjs/useEqualSheetHeight-501f4c5f.js.map +1 -0
- package/cjs/useIE-aef9decc.js +2 -0
- package/cjs/useIE-aef9decc.js.map +1 -0
- package/cjs/useLazyInput-f71c221b.js +2 -0
- package/cjs/useLazyInput-f71c221b.js.map +1 -0
- package/cjs/useMediaQuery-3d1054e5.js +2 -0
- package/cjs/{useMediaQuery-0bd70e6a.js.map → useMediaQuery-3d1054e5.js.map} +1 -1
- package/esm/{FilterField-7805bdb4.js → FilterField-962ec61f.js} +2 -2
- package/esm/{FilterField-7805bdb4.js.map → FilterField-962ec61f.js.map} +1 -1
- package/esm/{Navigation-3ded0cfc.js → Navigation-42c123d2.js} +3 -52
- package/esm/Navigation-42c123d2.js.map +1 -0
- package/esm/{Textarea-380665db.js → Textarea-266f1e45.js} +2 -2
- package/esm/{Textarea-380665db.js.map → Textarea-266f1e45.js.map} +1 -1
- package/esm/{VideoCard-784c2a51.js → VideoCard-e6f342b8.js} +2 -2
- package/esm/{VideoCard-784c2a51.js.map → VideoCard-e6f342b8.js.map} +1 -1
- package/esm/cookies.js +1 -1
- package/esm/fields.js +3 -3
- package/esm/headers.js +3 -3
- package/esm/hooks.js +168 -9
- package/esm/hooks.js.map +1 -1
- package/esm/{navigation-ada7fd84.js → navigation-b89325f8.js} +52 -2
- package/esm/navigation-b89325f8.js.map +1 -0
- package/esm/navigation.js +5 -5
- package/esm/navigation.js.map +1 -1
- package/esm/sections.dynamicform.js +2 -2
- package/esm/sections.jobs.js +4 -4
- package/esm/sections.js +8 -18
- package/esm/sections.js.map +1 -1
- package/esm/sections.news.js +4 -4
- package/esm/sections.pois.js +5 -5
- package/esm/{useCookieConsent-0fc8667c.js → useCookieConsent-6b2d4d93.js} +2 -8
- package/esm/{useCookieConsent-0fc8667c.js.map → useCookieConsent-6b2d4d93.js.map} +1 -1
- package/esm/{useEqualSheetHeight-4030635e.js → useEqualSheetHeight-97420d63.js} +3 -3
- package/esm/{useEqualSheetHeight-4030635e.js.map → useEqualSheetHeight-97420d63.js.map} +1 -1
- package/esm/useIE-a9c56989.js +15 -0
- package/esm/useIE-a9c56989.js.map +1 -0
- package/esm/{useLazyInput-16a0b633.js → useLazyInput-54d1785c.js} +2 -2
- package/esm/{useLazyInput-16a0b633.js.map → useLazyInput-54d1785c.js.map} +1 -1
- package/esm/{useMediaQuery-b08dda62.js → useMediaQuery-b42fd64e.js} +2 -2
- package/esm/{useMediaQuery-b08dda62.js.map → useMediaQuery-b42fd64e.js.map} +1 -1
- package/package.json +1 -1
- package/types/hooks.d.ts +32 -33
- package/types/hooks.d.ts.map +1 -1
- package/types/navigation.d.ts +6 -6
- package/types/navigation.d.ts.map +1 -1
- package/cjs/Navigation-ca78100c.js +0 -2
- package/cjs/Navigation-ca78100c.js.map +0 -1
- package/cjs/navigation-389b22e2.js +0 -2
- package/cjs/navigation-389b22e2.js.map +0 -1
- package/cjs/useCookieConsent-1af2af74.js +0 -2
- package/cjs/useEqualSheetHeight-8f92c912.js +0 -2
- package/cjs/useEqualSheetHeight-8f92c912.js.map +0 -1
- package/cjs/useLazyInput-0b912584.js +0 -2
- package/cjs/useLazyInput-0b912584.js.map +0 -1
- package/cjs/useMediaQuery-0bd70e6a.js +0 -2
- package/esm/Navigation-3ded0cfc.js.map +0 -1
- package/esm/navigation-ada7fd84.js.map +0 -1
|
@@ -2,7 +2,7 @@ import { a as __makeTemplateObject, J as Play } from './ClockFilled-62515a8f.js'
|
|
|
2
2
|
import React__default, { useState } from 'react';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
import { c as getGlobals, m as mq, g as getColors, s as spacings } from './styles-da982973.js';
|
|
5
|
-
import { s as selectors, g as getCookie } from './useCookieConsent-
|
|
5
|
+
import { s as selectors, g as getCookie } from './useCookieConsent-6b2d4d93.js';
|
|
6
6
|
import { C as Copy } from './Copy-a28aeb61.js';
|
|
7
7
|
import { B as ButtonGhost } from './ButtonGhost-ae2e97a2.js';
|
|
8
8
|
import { u as useLibTheme } from './LibThemeProvider-52555ac9.js';
|
|
@@ -157,4 +157,4 @@ var VideoCard = function (_a) {
|
|
|
157
157
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
158
158
|
|
|
159
159
|
export { VideoCard as V };
|
|
160
|
-
//# sourceMappingURL=VideoCard-
|
|
160
|
+
//# sourceMappingURL=VideoCard-e6f342b8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoCard-784c2a51.js","sources":["../src/components/blocks/VideoCard.tsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport {\n CookieConsentData,\n selectors,\n} from 'utils/cookie-consent/useCookieConsent';\nimport { Cookie, getCookie } from 'utils/cookie-consent/cookie';\nimport Copy from 'components/typography/Copy';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport { useLibTheme } from 'utils/LibThemeProvider';\n\nconst View = styled.div<{\n bgImage?: ImageProps;\n isActive?: boolean;\n onClick?: () => void;\n}>`\n text-align: center;\n\n cursor: ${({ onClick }) => onClick && 'pointer'};\n position: relative;\n\n padding-bottom: 56.25%;\n\n background-image: url('${({ bgImage }) => (bgImage ? bgImage.small : '')}');\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:before {\n content: ${({ isActive, bgImage }) => !isActive && bgImage && '\"\"'};\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n opacity: ${({ bgImage }) => (bgImage ? '0.3' : '0')};\n\n pointer-events: none;\n }\n\n &:after {\n content: ${({ isActive, bgImage }) => !isActive && bgImage && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${View}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${View}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst ConsentOverlay = styled.div<{ isVisible?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'none')};\n justify-content: center;\n align-items: center;\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: rgba(0, 0, 0, 0.6);\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst ConsentContent = styled.div`\n max-width: 330px;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ConsentText = styled(Copy)``;\n\nconst Iframe = styled.iframe`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n border: none;\n`;\n\nexport interface VideoCardProps {\n bgImage: ImageProps;\n embedId: string;\n playIcon?: React.ReactNode;\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n}\n\nconst VideoCard: FC<VideoCardProps & { className?: string }> = ({\n bgImage,\n embedId,\n playIcon,\n consentText = 'Für die Wiedergabe von Videos muss der Nutzung von Cookies & Daten zugestimmt werden.',\n consentAction,\n className,\n}) => {\n const { globals } = useLibTheme();\n const [isActive, setIsActive] = useState(false);\n const [showConsent, setShowConsent] = useState(false);\n\n const handlePlayClick = () => {\n const cookie = getCookie(\n globals.cookie.name\n ) as Cookie<CookieConsentData>;\n\n const isAccepted =\n globals.cookie.videoCookieTypeRestrictions.reduce<boolean>(\n (acc, current) => {\n if (!acc) return acc;\n if (!cookie || !cookie?.data.types) return false;\n\n // set acc to false if type is not defined or set to false\n acc = !!cookie?.data?.types?.[current];\n return acc;\n },\n true\n );\n\n if (isAccepted) {\n setIsActive(true);\n setShowConsent(false);\n } else {\n setShowConsent(true);\n }\n };\n\n const handleConsentActionClick = () => {\n setShowConsent(false);\n };\n\n return (\n <View\n onClick={!showConsent ? handlePlayClick : undefined}\n bgImage={isActive ? undefined : bgImage}\n isActive={isActive}\n className={className}\n >\n {!isActive && !showConsent && (\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n )}\n {isActive && (\n <Iframe\n id=\"ytplayer\"\n src={`https://www.youtube.com/embed/${embedId}?autoplay=1`}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n />\n )}\n <ConsentOverlay isVisible={showConsent}>\n <ConsentContent>\n {consentText && (\n <ConsentText isInverted>{consentText}</ConsentText>\n )}\n {consentAction ? (\n consentAction({\n handleClick: handleConsentActionClick,\n consentProps: {\n [selectors.buttons.attribute]: '',\n },\n })\n ) : (\n <ButtonGhost.View\n as=\"button\"\n isInverted\n onClick={handleConsentActionClick}\n className={selectors.buttons.class}\n >\n <ButtonGhost.Label>\n Zustimmung ändern\n </ButtonGhost.Label>\n </ButtonGhost.View>\n )}\n </ConsentContent>\n </ConsentOverlay>\n </View>\n );\n};\n\nexport default VideoCard;\n"],"names":["View","styled","div","_a","onClick","bgImage","small","theme","global","sections","edgeRadius","mq","medium","concat","semilarge","large","xlarge","isActive","color","elementBg","VideoControls","button","templateObject_2","__makeTemplateObject","light","dark","primary","default","ConsentOverlay","templateObject_3","isVisible","ConsentContent","spacings","nudge","ConsentText","Copy","templateObject_5","Iframe","iframe","templateObject_6","VideoCard","embedId","playIcon","_c","consentText","consentAction","className","globals","useLibTheme","_d","useState","setIsActive","_e","showConsent","setShowConsent","handlePlayClick","cookie","getCookie","name","isAccepted","videoCookieTypeRestrictions","reduce","acc","current","data","types","_b","handleConsentActionClick","React","createElement","undefined","Play","iconColor","id","src","allow","isInverted","handleClick","consentProps","selectors","buttons","attribute","ButtonGhost","as","class","Label"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VideoCard-e6f342b8.js","sources":["../src/components/blocks/VideoCard.tsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport {\n CookieConsentData,\n selectors,\n} from 'utils/cookie-consent/useCookieConsent';\nimport { Cookie, getCookie } from 'utils/cookie-consent/cookie';\nimport Copy from 'components/typography/Copy';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport { useLibTheme } from 'utils/LibThemeProvider';\n\nconst View = styled.div<{\n bgImage?: ImageProps;\n isActive?: boolean;\n onClick?: () => void;\n}>`\n text-align: center;\n\n cursor: ${({ onClick }) => onClick && 'pointer'};\n position: relative;\n\n padding-bottom: 56.25%;\n\n background-image: url('${({ bgImage }) => (bgImage ? bgImage.small : '')}');\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:before {\n content: ${({ isActive, bgImage }) => !isActive && bgImage && '\"\"'};\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n opacity: ${({ bgImage }) => (bgImage ? '0.3' : '0')};\n\n pointer-events: none;\n }\n\n &:after {\n content: ${({ isActive, bgImage }) => !isActive && bgImage && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${View}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${View}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst ConsentOverlay = styled.div<{ isVisible?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'none')};\n justify-content: center;\n align-items: center;\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: rgba(0, 0, 0, 0.6);\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst ConsentContent = styled.div`\n max-width: 330px;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ConsentText = styled(Copy)``;\n\nconst Iframe = styled.iframe`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n border: none;\n`;\n\nexport interface VideoCardProps {\n bgImage: ImageProps;\n embedId: string;\n playIcon?: React.ReactNode;\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n}\n\nconst VideoCard: FC<VideoCardProps & { className?: string }> = ({\n bgImage,\n embedId,\n playIcon,\n consentText = 'Für die Wiedergabe von Videos muss der Nutzung von Cookies & Daten zugestimmt werden.',\n consentAction,\n className,\n}) => {\n const { globals } = useLibTheme();\n const [isActive, setIsActive] = useState(false);\n const [showConsent, setShowConsent] = useState(false);\n\n const handlePlayClick = () => {\n const cookie = getCookie(\n globals.cookie.name\n ) as Cookie<CookieConsentData>;\n\n const isAccepted =\n globals.cookie.videoCookieTypeRestrictions.reduce<boolean>(\n (acc, current) => {\n if (!acc) return acc;\n if (!cookie || !cookie?.data.types) return false;\n\n // set acc to false if type is not defined or set to false\n acc = !!cookie?.data?.types?.[current];\n return acc;\n },\n true\n );\n\n if (isAccepted) {\n setIsActive(true);\n setShowConsent(false);\n } else {\n setShowConsent(true);\n }\n };\n\n const handleConsentActionClick = () => {\n setShowConsent(false);\n };\n\n return (\n <View\n onClick={!showConsent ? handlePlayClick : undefined}\n bgImage={isActive ? undefined : bgImage}\n isActive={isActive}\n className={className}\n >\n {!isActive && !showConsent && (\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n )}\n {isActive && (\n <Iframe\n id=\"ytplayer\"\n src={`https://www.youtube.com/embed/${embedId}?autoplay=1`}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n />\n )}\n <ConsentOverlay isVisible={showConsent}>\n <ConsentContent>\n {consentText && (\n <ConsentText isInverted>{consentText}</ConsentText>\n )}\n {consentAction ? (\n consentAction({\n handleClick: handleConsentActionClick,\n consentProps: {\n [selectors.buttons.attribute]: '',\n },\n })\n ) : (\n <ButtonGhost.View\n as=\"button\"\n isInverted\n onClick={handleConsentActionClick}\n className={selectors.buttons.class}\n >\n <ButtonGhost.Label>\n Zustimmung ändern\n </ButtonGhost.Label>\n </ButtonGhost.View>\n )}\n </ConsentContent>\n </ConsentOverlay>\n </View>\n );\n};\n\nexport default VideoCard;\n"],"names":["View","styled","div","_a","onClick","bgImage","small","theme","global","sections","edgeRadius","mq","medium","concat","semilarge","large","xlarge","isActive","color","elementBg","VideoControls","button","templateObject_2","__makeTemplateObject","light","dark","primary","default","ConsentOverlay","templateObject_3","isVisible","ConsentContent","spacings","nudge","ConsentText","Copy","templateObject_5","Iframe","iframe","templateObject_6","VideoCard","embedId","playIcon","_c","consentText","consentAction","className","globals","useLibTheme","_d","useState","setIsActive","_e","showConsent","setShowConsent","handlePlayClick","cookie","getCookie","name","isAccepted","videoCookieTypeRestrictions","reduce","acc","current","data","types","_b","handleConsentActionClick","React","createElement","undefined","Play","iconColor","id","src","allow","isInverted","handleClick","consentProps","selectors","buttons","attribute","ButtonGhost","as","class","Label"],"mappings":"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"}
|
package/esm/cookies.js
CHANGED
|
@@ -4,7 +4,7 @@ import { C as Checkbox } from './Checkbox-dd12facd.js';
|
|
|
4
4
|
import { C as Copy } from './Copy-a28aeb61.js';
|
|
5
5
|
import React__default, { useCallback, useState, useEffect, useRef } from 'react';
|
|
6
6
|
import styled from 'styled-components';
|
|
7
|
-
import { u as useCookieConsent, b as bindConsentButtons, s as selectors, i as isUrlInWhitelist } from './useCookieConsent-
|
|
7
|
+
import { u as useCookieConsent, b as bindConsentButtons, s as selectors, i as isUrlInWhitelist } from './useCookieConsent-6b2d4d93.js';
|
|
8
8
|
import { h as hexToRgba } from './hexRgbConverter-edb91624.js';
|
|
9
9
|
import { u as useLibTheme, L as LibThemeProvider } from './LibThemeProvider-52555ac9.js';
|
|
10
10
|
import { S as StatusFormatter } from './statusFormatter-9be0fbff.js';
|
package/esm/fields.js
CHANGED
|
@@ -3,14 +3,14 @@ import React__default from 'react';
|
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
import { u as useLibTheme } from './LibThemeProvider-52555ac9.js';
|
|
5
5
|
import { g as getColors, m as mq, s as spacings, a as getFonts, w as withRange } from './styles-da982973.js';
|
|
6
|
-
export { F as FilterField } from './FilterField-
|
|
6
|
+
export { F as FilterField } from './FilterField-962ec61f.js';
|
|
7
7
|
export { F as FormField, T as Textfield } from './Textfield-d2f201a9.js';
|
|
8
|
-
export { D as Datepicker, F as FileUpload, L as LocationField, R as Radio, S as SelectDropdown, T as Textarea } from './Textarea-
|
|
8
|
+
export { D as Datepicker, F as FileUpload, L as LocationField, R as Radio, S as SelectDropdown, T as Textarea } from './Textarea-266f1e45.js';
|
|
9
9
|
export { C as Checkbox } from './Checkbox-dd12facd.js';
|
|
10
10
|
import 'react-dom/server';
|
|
11
11
|
import './Copy-a28aeb61.js';
|
|
12
12
|
import './clamp-12d37b65.js';
|
|
13
|
-
import './useLazyInput-
|
|
13
|
+
import './useLazyInput-54d1785c.js';
|
|
14
14
|
import './ButtonGhost-ae2e97a2.js';
|
|
15
15
|
import './hexRgbConverter-edb91624.js';
|
|
16
16
|
import './Button-f9279013.js';
|
package/esm/headers.js
CHANGED
|
@@ -3,7 +3,7 @@ import React__default, { useState, useEffect, useRef } from 'react';
|
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
4
|
import { m as mq, s as spacings, w as withRange } from './styles-da982973.js';
|
|
5
5
|
import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-52555ac9.js';
|
|
6
|
-
import { u as useMediaQuery } from './useMediaQuery-
|
|
6
|
+
import { u as useMediaQuery } from './useMediaQuery-b42fd64e.js';
|
|
7
7
|
import { I as Image } from './Image-dc2b33c1.js';
|
|
8
8
|
import { c as clampValue } from './clamp-12d37b65.js';
|
|
9
9
|
import { A as Actions } from './Actions-21372b3a.js';
|
|
@@ -11,12 +11,12 @@ import { u as useObserverSupport } from './useObserverSupport-02bce7f5.js';
|
|
|
11
11
|
import { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
|
|
12
12
|
import { H as Heading, C as Copy } from './Copy-a28aeb61.js';
|
|
13
13
|
import { S as Section, m as mapToBgMode } from './Section-b76e6909.js';
|
|
14
|
-
import { g as generateNavbarIdent, a as getFullNavbarHeights } from './Navigation-
|
|
14
|
+
import { g as generateNavbarIdent, a as getFullNavbarHeights } from './Navigation-42c123d2.js';
|
|
15
15
|
import 'react-dom/server';
|
|
16
16
|
import './concat-ab3c66f2.js';
|
|
17
17
|
import './arrays-65b644ef.js';
|
|
18
|
+
import './navigation-b89325f8.js';
|
|
18
19
|
import './Link-3fd9c9b8.js';
|
|
19
|
-
import './navigation-ada7fd84.js';
|
|
20
20
|
import './LanguageSwitcher-3fa20077.js';
|
|
21
21
|
|
|
22
22
|
var AnimationContainer = styled.div.withConfig({
|
package/esm/hooks.js
CHANGED
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
export { u as useEqualSheetHeight, a as useFontsLoaded } from './useEqualSheetHeight-
|
|
2
|
-
export {
|
|
3
|
-
import React__default, { useState, useEffect, useRef } from 'react';
|
|
4
|
-
import { i as isBrowser, u as useMediaQuery } from './useMediaQuery-
|
|
5
|
-
export {
|
|
1
|
+
export { u as useEqualSheetHeight, a as useFontsLoaded, b as useResizeThrottle } from './useEqualSheetHeight-97420d63.js';
|
|
2
|
+
export { u as useIE } from './useIE-a9c56989.js';
|
|
3
|
+
import React__default, { useState, useEffect, useRef, useCallback } from 'react';
|
|
4
|
+
import { i as isBrowser, u as useMediaQuery } from './useMediaQuery-b42fd64e.js';
|
|
5
|
+
export { g as getMediaQuery, i as isBrowser, b as useDynamicMediaQueries, a as useMediaQueries, u as useMediaQuery } from './useMediaQuery-b42fd64e.js';
|
|
6
6
|
export { u as useScrollTo } from './useScrollTo-70af34bf.js';
|
|
7
|
-
|
|
7
|
+
export { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
|
|
8
|
+
export { u as useMounted } from './useMounted-1e4cc87b.js';
|
|
9
|
+
export { b as useDebounce, u as useLazyInput, a as useTimeout } from './useLazyInput-54d1785c.js';
|
|
10
|
+
export { a as getCurrentNavItem, g as getCurrentNavPath, u as useScrollThrottle } from './navigation-b89325f8.js';
|
|
11
|
+
import { e as __spreadArray, h as __awaiter, i as __generator, _ as __assign } from './ClockFilled-62515a8f.js';
|
|
8
12
|
export { h as hexToRgba } from './hexRgbConverter-edb91624.js';
|
|
9
13
|
export { c as clampValue } from './clamp-12d37b65.js';
|
|
10
|
-
export { a as getCurrentNavItem, g as getCurrentNavPath } from './navigation-ada7fd84.js';
|
|
11
14
|
export { a as isEmptyArray, i as isValidArray } from './arrays-65b644ef.js';
|
|
12
15
|
export { c as concat, p as printAnchorTag } from './concat-ab3c66f2.js';
|
|
13
16
|
import { c as getGlobals } from './styles-da982973.js';
|
|
14
17
|
export { f as getSVGDataImg } from './styles-da982973.js';
|
|
18
|
+
export { u as useLeafletMap } from './useLeafletMap-84170d32.js';
|
|
19
|
+
export { u as useGeolocation } from './useGeolocation-f9f073cc.js';
|
|
15
20
|
export { u as useObserverSupport } from './useObserverSupport-02bce7f5.js';
|
|
16
21
|
export { d as deleteUrlParam, g as getUrlParams, s as setUrlParam } from './urlParams-9cfdaf71.js';
|
|
17
|
-
|
|
22
|
+
export { s as selectors, u as useCookieConsent } from './useCookieConsent-6b2d4d93.js';
|
|
18
23
|
import 'styled-components';
|
|
24
|
+
import 'react-dom/server';
|
|
19
25
|
|
|
20
26
|
var useItemHeight = function () {
|
|
21
27
|
var _a = useState(null),
|
|
@@ -145,6 +151,110 @@ var usePoster = function (posterImage, mqs) {
|
|
|
145
151
|
return currentImage;
|
|
146
152
|
};
|
|
147
153
|
|
|
154
|
+
function useInterval(callback, delay) {
|
|
155
|
+
var callbackRef = useRef(callback);
|
|
156
|
+
var intervalRef = useRef(); // Remember the latest callback.
|
|
157
|
+
|
|
158
|
+
useEffect(function () {
|
|
159
|
+
callbackRef.current = callback;
|
|
160
|
+
}, [callback]);
|
|
161
|
+
var set = useCallback(function () {
|
|
162
|
+
intervalRef.current = window.setInterval(function () {
|
|
163
|
+
var _a;
|
|
164
|
+
|
|
165
|
+
return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef);
|
|
166
|
+
}, delay);
|
|
167
|
+
}, [delay]);
|
|
168
|
+
var clear = useCallback(function () {
|
|
169
|
+
intervalRef.current && window.clearTimeout(intervalRef.current);
|
|
170
|
+
}, []);
|
|
171
|
+
useEffect(function () {
|
|
172
|
+
set();
|
|
173
|
+
return clear;
|
|
174
|
+
}, [delay, set, clear]);
|
|
175
|
+
var reset = useCallback(function () {
|
|
176
|
+
clear();
|
|
177
|
+
set();
|
|
178
|
+
}, [clear, set]);
|
|
179
|
+
return {
|
|
180
|
+
clear: clear,
|
|
181
|
+
reset: reset
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var useTouch = function () {
|
|
186
|
+
var _a = useState(false),
|
|
187
|
+
canTouch = _a[0],
|
|
188
|
+
setCanTouch = _a[1];
|
|
189
|
+
|
|
190
|
+
useEffect(function () {
|
|
191
|
+
setCanTouch('ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0);
|
|
192
|
+
}, []);
|
|
193
|
+
return canTouch;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
var useArray = function (defaultValue) {
|
|
197
|
+
var _a = useState(defaultValue || []),
|
|
198
|
+
array = _a[0],
|
|
199
|
+
setArray = _a[1];
|
|
200
|
+
|
|
201
|
+
var push = function (element) {
|
|
202
|
+
if (Array.isArray(element)) {
|
|
203
|
+
setArray(function (prev) {
|
|
204
|
+
return __spreadArray(__spreadArray([], prev, true), element, true);
|
|
205
|
+
});
|
|
206
|
+
} else {
|
|
207
|
+
setArray(function (prev) {
|
|
208
|
+
return __spreadArray(__spreadArray([], prev, true), [element], false);
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
var pop = function () {
|
|
214
|
+
var lastEl;
|
|
215
|
+
setArray(function (prev) {
|
|
216
|
+
var copy = __spreadArray([], prev, true);
|
|
217
|
+
|
|
218
|
+
lastEl = copy.pop();
|
|
219
|
+
return copy;
|
|
220
|
+
});
|
|
221
|
+
return lastEl;
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
var filter = function (callback) {
|
|
225
|
+
setArray(function (prev) {
|
|
226
|
+
return prev.filter(callback);
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var update = function (index, newEl) {
|
|
231
|
+
setArray(function (prev) {
|
|
232
|
+
return __spreadArray(__spreadArray(__spreadArray([], prev.slice(0, index), true), [newEl], false), prev.slice(index + 1, prev.length), true);
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
var remove = function (index) {
|
|
237
|
+
setArray(function (prev) {
|
|
238
|
+
return __spreadArray(__spreadArray([], prev.slice(0, index), true), prev.slice(index + 1, prev.length), true);
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
var clear = function () {
|
|
243
|
+
setArray([]);
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
return {
|
|
247
|
+
array: array,
|
|
248
|
+
set: setArray,
|
|
249
|
+
push: push,
|
|
250
|
+
filter: filter,
|
|
251
|
+
update: update,
|
|
252
|
+
remove: remove,
|
|
253
|
+
clear: clear,
|
|
254
|
+
pop: pop
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
|
|
148
258
|
var useImgPreload = function (imageUrls, mqs) {
|
|
149
259
|
if (mqs === void 0) {
|
|
150
260
|
mqs = ['semilarge', 'large'];
|
|
@@ -368,5 +478,54 @@ var getLinkIcon = function (theme, href, isInverted) {
|
|
|
368
478
|
return (result === null || result === void 0 ? void 0 : result.iconChar) || ((_a = result === null || result === void 0 ? void 0 : result.iconUrl) === null || _a === void 0 ? void 0 : _a.call(result, isInverted)) || '';
|
|
369
479
|
};
|
|
370
480
|
|
|
371
|
-
|
|
481
|
+
var isSupported = typeof window !== 'undefined' && 'URLSearchParams' in window;
|
|
482
|
+
|
|
483
|
+
var getParamsObj = function (params) {
|
|
484
|
+
var obj = {};
|
|
485
|
+
var paramsObj = Object.fromEntries(params || new URLSearchParams(window.location.search));
|
|
486
|
+
|
|
487
|
+
for (var param in paramsObj) {
|
|
488
|
+
var value = paramsObj[param];
|
|
489
|
+
|
|
490
|
+
if (typeof value === 'string') {
|
|
491
|
+
value = decodeURIComponent(value);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
obj[param] = value;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
return obj;
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
var useParams = function () {
|
|
501
|
+
var _a = useState({}),
|
|
502
|
+
params = _a[0],
|
|
503
|
+
setParams = _a[1];
|
|
504
|
+
|
|
505
|
+
useEffect(function () {
|
|
506
|
+
if (!isSupported) return;
|
|
507
|
+
setParams(getParamsObj());
|
|
508
|
+
}, []);
|
|
509
|
+
var update = useCallback(function (key, value) {
|
|
510
|
+
if (!isSupported) return;
|
|
511
|
+
|
|
512
|
+
var newParams = __assign({}, params);
|
|
513
|
+
|
|
514
|
+
newParams[key] = value;
|
|
515
|
+
var currentParams = new URLSearchParams(window.location.search);
|
|
516
|
+
|
|
517
|
+
for (var param in newParams) {
|
|
518
|
+
currentParams.set(param, encodeURIComponent(newParams[param]));
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
setParams(getParamsObj(currentParams));
|
|
522
|
+
window.history.replaceState({}, '', "".concat(location.pathname, "?").concat(currentParams.toString() + location.hash));
|
|
523
|
+
}, [params]);
|
|
524
|
+
return {
|
|
525
|
+
params: params,
|
|
526
|
+
update: update
|
|
527
|
+
};
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
export { ScrollDirection, canUseWebP, getBgImage, getLinkIcon, importFonts, useArray, useImgPreload, useInterval, useItemHeight, useParams, usePoster, useScroll, useTouch };
|
|
372
531
|
//# sourceMappingURL=hooks.js.map
|
package/esm/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../src/utils/useItemHeight.ts","../src/utils/useScroll.ts","../src/utils/usePoster.ts","../src/utils/useImgPreload.ts","../src/utils/backgroundImage.ts","../src/utils/fontLoading.tsx","../src/utils/getLinkIcon.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useItemHeight = () => {\n const [element, setElement] = useState<HTMLElement | null>(null);\n const [height, setHeight] = useState<number>(0);\n\n useEffect(() => {\n const calcHeight = () => {\n if (element) setHeight(element.offsetHeight);\n };\n\n if (element) {\n calcHeight();\n window.addEventListener('resize', calcHeight);\n }\n\n return () => {\n window.removeEventListener('resize', calcHeight);\n };\n }, [element]);\n\n return {\n setElement,\n height,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport enum ScrollDirection {\n UP,\n DOWN,\n}\n\nexport const useScroll = ({\n initialTopOffset = 0,\n onLeftOffset,\n onEnterOffset,\n}: {\n initialTopOffset?: number;\n onLeftOffset?: () => void;\n onEnterOffset?: () => void;\n}) => {\n const [topOffset, setTopOffset] = useState<number>(initialTopOffset);\n const [isTop, setIsTop] = useState<boolean>(true);\n const [isInOffset, setIsInOffset] = useState<boolean>(true);\n const [scrollDirection, setScrollDirection] = useState<ScrollDirection>(\n ScrollDirection.DOWN\n );\n const lastScrollPos = useRef<number>(0);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const handleScroll = () => {\n setIsTop(window.pageYOffset <= 1);\n setIsInOffset(window.pageYOffset <= 1 + topOffset);\n\n if (lastScrollPos.current) {\n // check if top offset is left\n if (\n window.pageYOffset > 1 + topOffset &&\n lastScrollPos.current <= 1 + topOffset\n ) {\n onLeftOffset && onLeftOffset();\n }\n\n // check if top offset was joined\n if (\n window.pageYOffset <= 1 + topOffset &&\n lastScrollPos.current > 1 + topOffset\n ) {\n onEnterOffset && onEnterOffset();\n }\n\n setScrollDirection((prev) => {\n if (window.pageYOffset <= 1) return ScrollDirection.DOWN;\n return window.pageYOffset > lastScrollPos.current\n ? ScrollDirection.DOWN\n : window.pageYOffset < lastScrollPos.current\n ? ScrollDirection.UP\n : prev;\n });\n }\n lastScrollPos.current = window.pageYOffset;\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [\n lastScrollPos,\n onLeftOffset,\n onEnterOffset,\n scrollDirection,\n topOffset,\n ]);\n\n return {\n isTop,\n isInOffset,\n scrollDirection,\n setTopOffset,\n topOffset,\n };\n};\n","import { useEffect, useState } from 'react';\nimport { isBrowser, useMediaQuery } from './useMediaQuery';\n\n// *****************\n// usePoster\n// *****************\n\ninterface PosterImage {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n}\n\nexport const canUseWebP = () => {\n if (!isBrowser) return false;\n\n const elem = document.createElement('canvas');\n\n if (!(elem.getContext && elem.getContext('2d'))) {\n // was able or not to get WebP representation\n return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\n }\n\n // very old browser like IE 8, canvas not supported\n return false;\n};\n\nexport type PosterMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nexport const usePoster = (\n posterImage: PosterImage & {\n webp?: PosterImage;\n },\n mqs?: PosterMq[]\n) => {\n const [currentImage, setCurrentImage] = useState<string | undefined>();\n\n const workingImage =\n posterImage.webp && canUseWebP() ? posterImage.webp : posterImage;\n const currentMq = useMediaQuery(\n mqs || ['small', 'medium', 'semilarge', 'large', 'xlarge']\n ) as PosterMq | undefined;\n\n useEffect(() => {\n if (\n currentMq &&\n workingImage[currentMq] &&\n workingImage[currentMq] !== currentImage\n ) {\n setCurrentImage(workingImage[currentMq]);\n }\n }, [currentImage, currentMq, workingImage]);\n\n return currentImage;\n};\n","import { ImageProps } from 'components/blocks/Image';\nimport { useEffect, useState } from 'react';\nimport { MediaQueryType } from './styles';\nimport { useMediaQuery } from './useMediaQuery';\n\nexport const useImgPreload = (\n imageUrls: ImageProps[],\n mqs: MediaQueryType[] = ['semilarge', 'large']\n) => {\n const [isReady, setReady] = useState(false);\n const [isLoaded, setLoaded] = useState(false);\n const currentMq = useMediaQuery(mqs as MediaQueryType[]);\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: { id: number | string; image: string }[];\n }>({\n small: [],\n medium: [],\n semilarge: [],\n large: [],\n xlarge: [],\n xxlarge: [],\n xxxLarge: [],\n });\n\n const preloadImages = (imageUrls: (string | undefined)[]) => {\n const images = (imageUrls.filter((img) => img) as string[]).map(\n (src, i) => {\n return new Promise((res) => {\n const img = new window.Image();\n img.src = src;\n img.onload = () => res({ url: src, i });\n });\n }\n );\n\n return images;\n };\n\n useEffect(() => {\n if (isReady && loadedImages && currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < imageUrls.length && imageUrls.length > 0) {\n const requestedImages = imageUrls.map((img) => img[currentMq]);\n\n const resolve = async (items: any) => {\n for (const item of items) {\n const x = await item;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (!prev[currentMq].find((e) => e.id === x.i)) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n {\n id: x.i,\n image: x.url,\n },\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, imageUrls, isReady, loadedImages]);\n\n useEffect(() => {\n if (loadedImages && currentMq) {\n const imgCount = imageUrls.filter((img) => img[currentMq]).length;\n setLoaded(loadedImages[currentMq].length >= imgCount);\n }\n }, [currentMq, imageUrls, loadedImages]);\n\n return {\n loadedImages: currentMq && loadedImages[currentMq],\n isLoaded,\n setReady,\n };\n};\n","export const getBgImage = (\n bgImage: {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n },\n mq?: 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge'\n): string => {\n switch (mq) {\n default:\n case 'small':\n return bgImage.small;\n\n case 'medium':\n return (\n bgImage.medium ||\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.small\n );\n\n case 'semilarge':\n return (\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'large':\n return (\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'xlarge':\n return (\n bgImage.xlarge ||\n bgImage.large ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n }\n};\n","import React from 'react';\n\ninterface FontFallback {\n name: string;\n altFont: string;\n sizeAdjust: string;\n}\n\nexport interface Font {\n rootPath: string;\n sourcePath: string;\n fallbacks?: FontFallback[];\n}\n\nexport const importFonts = (fonts: Font[]) => {\n return (\n <React.Fragment>\n {fonts && fonts.length > 0 && (\n <style\n dangerouslySetInnerHTML={{\n __html: fonts?.reduce((acc, current) => {\n if (current?.fallbacks) {\n acc += current?.fallbacks?.reduce(\n (fallAcc, f) => {\n fallAcc += `@font-face { font-family: '${f.name}'; size-adjust: ${f.sizeAdjust}; src: local('${f.altFont}'); } `;\n return fallAcc;\n },\n\n ''\n );\n return acc;\n } else return acc;\n }, ''),\n }}\n />\n )}\n\n {fonts?.map((font, i) => (\n <link\n key={i}\n rel=\"preconnect\"\n href={font.rootPath}\n crossOrigin=\"true\"\n />\n ))}\n {fonts?.map((font, i) => (\n <link key={i} rel=\"preload\" as=\"style\" href={font.sourcePath} />\n ))}\n\n <style\n dangerouslySetInnerHTML={{\n __html: `</style>${fonts?.reduce<string>(\n (prev, current) => {\n return (prev += `\n <link rel=\"stylesheet\" href=\"${current.sourcePath}\" media=\"print\" onload=\"this.media='all'\" />`);\n },\n ''\n )}<style>`,\n }}\n />\n\n <noscript>\n {fonts?.map((font, i) => (\n <link key={i} rel=\"stylesheet\" href={font.sourcePath} />\n ))}\n </noscript>\n </React.Fragment>\n );\n};\n","import { DefaultTheme } from 'styled-components';\nimport { getGlobals as global } from 'utils/styles';\n\nexport const getLinkIcon = (\n theme: DefaultTheme,\n href: string,\n isInverted?: boolean\n): string => {\n const linkIcons = global(theme).icons.linkIcons;\n\n const fileExtension = `.${href?.split('.').pop() || ''}`;\n const result = linkIcons.find((icon) => {\n return icon.patterns?.find((pattern) => pattern.match(fileExtension));\n });\n\n return result?.iconChar || result?.iconUrl?.(isInverted) || '';\n};\n"],"names":["useItemHeight","_a","useState","element","setElement","_b","height","setHeight","useEffect","calcHeight","offsetHeight","window","addEventListener","removeEventListener","ScrollDirection","useScroll","initialTopOffset","onLeftOffset","onEnterOffset","_c","topOffset","setTopOffset","_d","isTop","setIsTop","_e","isInOffset","setIsInOffset","_f","DOWN","scrollDirection","setScrollDirection","lastScrollPos","useRef","handleScroll","pageYOffset","current","prev","UP","canUseWebP","isBrowser","elem","document","createElement","getContext","toDataURL","indexOf","usePoster","posterImage","mqs","currentImage","setCurrentImage","workingImage","webp","currentMq","useMediaQuery","useImgPreload","imageUrls","isReady","setReady","isLoaded","setLoaded","small","medium","semilarge","large","xlarge","xxlarge","xxxLarge","loadedImages","setLoadedImages","preloadImages","images","filter","img","map","src","i","Promise","res","Image","onload","url","loadedForMq","length","requestedImages","resolve","items","__awaiter","item","x","sent","find","e","id","__assign","image","_i","items_1","imgCount","getBgImage","bgImage","mq","importFonts","fonts","React","Fragment","dangerouslySetInnerHTML","__html","reduce","acc","fallbacks","fallAcc","f","concat","name","sizeAdjust","altFont","font","key","rel","href","rootPath","crossOrigin","as","sourcePath","getLinkIcon","theme","isInverted","linkIcons","global","icons","fileExtension","split","pop","result","icon","patterns","pattern","match","iconChar","iconUrl","call"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../src/utils/useItemHeight.ts","../src/utils/useScroll.ts","../src/utils/usePoster.ts","../src/utils/useInterval.ts","../src/utils/useTouch.ts","../src/utils/useArray.ts","../src/utils/useImgPreload.ts","../src/utils/backgroundImage.ts","../src/utils/fontLoading.tsx","../src/utils/getLinkIcon.ts","../src/utils/useParams.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useItemHeight = () => {\n const [element, setElement] = useState<HTMLElement | null>(null);\n const [height, setHeight] = useState<number>(0);\n\n useEffect(() => {\n const calcHeight = () => {\n if (element) setHeight(element.offsetHeight);\n };\n\n if (element) {\n calcHeight();\n window.addEventListener('resize', calcHeight);\n }\n\n return () => {\n window.removeEventListener('resize', calcHeight);\n };\n }, [element]);\n\n return {\n setElement,\n height,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport enum ScrollDirection {\n UP,\n DOWN,\n}\n\nexport const useScroll = ({\n initialTopOffset = 0,\n onLeftOffset,\n onEnterOffset,\n}: {\n initialTopOffset?: number;\n onLeftOffset?: () => void;\n onEnterOffset?: () => void;\n}) => {\n const [topOffset, setTopOffset] = useState<number>(initialTopOffset);\n const [isTop, setIsTop] = useState<boolean>(true);\n const [isInOffset, setIsInOffset] = useState<boolean>(true);\n const [scrollDirection, setScrollDirection] = useState<ScrollDirection>(\n ScrollDirection.DOWN\n );\n const lastScrollPos = useRef<number>(0);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const handleScroll = () => {\n setIsTop(window.pageYOffset <= 1);\n setIsInOffset(window.pageYOffset <= 1 + topOffset);\n\n if (lastScrollPos.current) {\n // check if top offset is left\n if (\n window.pageYOffset > 1 + topOffset &&\n lastScrollPos.current <= 1 + topOffset\n ) {\n onLeftOffset && onLeftOffset();\n }\n\n // check if top offset was joined\n if (\n window.pageYOffset <= 1 + topOffset &&\n lastScrollPos.current > 1 + topOffset\n ) {\n onEnterOffset && onEnterOffset();\n }\n\n setScrollDirection((prev) => {\n if (window.pageYOffset <= 1) return ScrollDirection.DOWN;\n return window.pageYOffset > lastScrollPos.current\n ? ScrollDirection.DOWN\n : window.pageYOffset < lastScrollPos.current\n ? ScrollDirection.UP\n : prev;\n });\n }\n lastScrollPos.current = window.pageYOffset;\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [\n lastScrollPos,\n onLeftOffset,\n onEnterOffset,\n scrollDirection,\n topOffset,\n ]);\n\n return {\n isTop,\n isInOffset,\n scrollDirection,\n setTopOffset,\n topOffset,\n };\n};\n","import { useEffect, useState } from 'react';\nimport { isBrowser, useMediaQuery } from './useMediaQuery';\n\n// *****************\n// usePoster\n// *****************\n\ninterface PosterImage {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n}\n\nexport const canUseWebP = () => {\n if (!isBrowser) return false;\n\n const elem = document.createElement('canvas');\n\n if (!(elem.getContext && elem.getContext('2d'))) {\n // was able or not to get WebP representation\n return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\n }\n\n // very old browser like IE 8, canvas not supported\n return false;\n};\n\nexport type PosterMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nexport const usePoster = (\n posterImage: PosterImage & {\n webp?: PosterImage;\n },\n mqs?: PosterMq[]\n) => {\n const [currentImage, setCurrentImage] = useState<string | undefined>();\n\n const workingImage =\n posterImage.webp && canUseWebP() ? posterImage.webp : posterImage;\n const currentMq = useMediaQuery(\n mqs || ['small', 'medium', 'semilarge', 'large', 'xlarge']\n ) as PosterMq | undefined;\n\n useEffect(() => {\n if (\n currentMq &&\n workingImage[currentMq] &&\n workingImage[currentMq] !== currentImage\n ) {\n setCurrentImage(workingImage[currentMq]);\n }\n }, [currentImage, currentMq, workingImage]);\n\n return currentImage;\n};\n","import { useCallback, useEffect, useRef } from 'react';\n\nexport default function useInterval(callback: () => void, delay: number) {\n const callbackRef = useRef(callback);\n const intervalRef = useRef<number>();\n\n // Remember the latest callback.\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n intervalRef.current = window.setInterval(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n intervalRef.current && window.clearTimeout(intervalRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n}\n","import { useState, useEffect } from 'react';\n\nconst useTouch = () => {\n const [canTouch, setCanTouch] = useState(false);\n\n useEffect(() => {\n setCanTouch(\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n (navigator as any).msMaxTouchPoints > 0\n );\n }, []);\n return canTouch;\n};\n\nexport default useTouch;\n","import { useState } from 'react';\n\nconst useArray = <T>(defaultValue?: Array<T>) => {\n const [array, setArray] = useState<Array<T>>(defaultValue || []);\n\n const push = (element: T | T[]) => {\n if (Array.isArray(element)) {\n setArray((prev) => [...prev, ...element]);\n } else {\n setArray((prev) => [...prev, element]);\n }\n };\n\n const pop = () => {\n let lastEl: T | undefined;\n\n setArray((prev) => {\n const copy = [...prev];\n lastEl = copy.pop();\n return copy;\n });\n return lastEl;\n };\n\n const filter = (\n callback: (value: T, index: number, array: T[]) => void\n ) => {\n setArray((prev) => prev.filter(callback));\n };\n\n const update = (index: number, newEl: T) => {\n setArray((prev) => [\n ...prev.slice(0, index),\n newEl,\n ...prev.slice(index + 1, prev.length),\n ]);\n };\n\n const remove = (index: number) => {\n setArray((prev) => [\n ...prev.slice(0, index),\n ...prev.slice(index + 1, prev.length),\n ]);\n };\n\n const clear = () => {\n setArray([]);\n };\n\n return {\n array,\n set: setArray,\n push,\n filter,\n update,\n remove,\n clear,\n pop,\n };\n};\n\nexport default useArray;\n","import { ImageProps } from 'components/blocks/Image';\nimport { useEffect, useState } from 'react';\nimport { MediaQueryType } from './styles';\nimport { useMediaQuery } from './useMediaQuery';\n\nexport const useImgPreload = (\n imageUrls: ImageProps[],\n mqs: MediaQueryType[] = ['semilarge', 'large']\n) => {\n const [isReady, setReady] = useState(false);\n const [isLoaded, setLoaded] = useState(false);\n const currentMq = useMediaQuery(mqs as MediaQueryType[]);\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: { id: number | string; image: string }[];\n }>({\n small: [],\n medium: [],\n semilarge: [],\n large: [],\n xlarge: [],\n xxlarge: [],\n xxxLarge: [],\n });\n\n const preloadImages = (imageUrls: (string | undefined)[]) => {\n const images = (imageUrls.filter((img) => img) as string[]).map(\n (src, i) => {\n return new Promise((res) => {\n const img = new window.Image();\n img.src = src;\n img.onload = () => res({ url: src, i });\n });\n }\n );\n\n return images;\n };\n\n useEffect(() => {\n if (isReady && loadedImages && currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < imageUrls.length && imageUrls.length > 0) {\n const requestedImages = imageUrls.map((img) => img[currentMq]);\n\n const resolve = async (items: any) => {\n for (const item of items) {\n const x = await item;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (!prev[currentMq].find((e) => e.id === x.i)) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n {\n id: x.i,\n image: x.url,\n },\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, imageUrls, isReady, loadedImages]);\n\n useEffect(() => {\n if (loadedImages && currentMq) {\n const imgCount = imageUrls.filter((img) => img[currentMq]).length;\n setLoaded(loadedImages[currentMq].length >= imgCount);\n }\n }, [currentMq, imageUrls, loadedImages]);\n\n return {\n loadedImages: currentMq && loadedImages[currentMq],\n isLoaded,\n setReady,\n };\n};\n","export const getBgImage = (\n bgImage: {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n },\n mq?: 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge'\n): string => {\n switch (mq) {\n default:\n case 'small':\n return bgImage.small;\n\n case 'medium':\n return (\n bgImage.medium ||\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.small\n );\n\n case 'semilarge':\n return (\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'large':\n return (\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'xlarge':\n return (\n bgImage.xlarge ||\n bgImage.large ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n }\n};\n","import React from 'react';\n\ninterface FontFallback {\n name: string;\n altFont: string;\n sizeAdjust: string;\n}\n\nexport interface Font {\n rootPath: string;\n sourcePath: string;\n fallbacks?: FontFallback[];\n}\n\nexport const importFonts = (fonts: Font[]) => {\n return (\n <React.Fragment>\n {fonts && fonts.length > 0 && (\n <style\n dangerouslySetInnerHTML={{\n __html: fonts?.reduce((acc, current) => {\n if (current?.fallbacks) {\n acc += current?.fallbacks?.reduce(\n (fallAcc, f) => {\n fallAcc += `@font-face { font-family: '${f.name}'; size-adjust: ${f.sizeAdjust}; src: local('${f.altFont}'); } `;\n return fallAcc;\n },\n\n ''\n );\n return acc;\n } else return acc;\n }, ''),\n }}\n />\n )}\n\n {fonts?.map((font, i) => (\n <link\n key={i}\n rel=\"preconnect\"\n href={font.rootPath}\n crossOrigin=\"true\"\n />\n ))}\n {fonts?.map((font, i) => (\n <link key={i} rel=\"preload\" as=\"style\" href={font.sourcePath} />\n ))}\n\n <style\n dangerouslySetInnerHTML={{\n __html: `</style>${fonts?.reduce<string>(\n (prev, current) => {\n return (prev += `\n <link rel=\"stylesheet\" href=\"${current.sourcePath}\" media=\"print\" onload=\"this.media='all'\" />`);\n },\n ''\n )}<style>`,\n }}\n />\n\n <noscript>\n {fonts?.map((font, i) => (\n <link key={i} rel=\"stylesheet\" href={font.sourcePath} />\n ))}\n </noscript>\n </React.Fragment>\n );\n};\n","import { DefaultTheme } from 'styled-components';\nimport { getGlobals as global } from 'utils/styles';\n\nexport const getLinkIcon = (\n theme: DefaultTheme,\n href: string,\n isInverted?: boolean\n): string => {\n const linkIcons = global(theme).icons.linkIcons;\n\n const fileExtension = `.${href?.split('.').pop() || ''}`;\n const result = linkIcons.find((icon) => {\n return icon.patterns?.find((pattern) => pattern.match(fileExtension));\n });\n\n return result?.iconChar || result?.iconUrl?.(isInverted) || '';\n};\n","import { useCallback, useEffect, useState } from 'react';\n\nconst isSupported =\n typeof window !== 'undefined' && 'URLSearchParams' in window;\n\nconst getParamsObj = (params?: URLSearchParams) => {\n const obj: Record<string, string> = {};\n\n const paramsObj = Object.fromEntries(\n params || new URLSearchParams(window.location.search)\n );\n\n for (const param in paramsObj) {\n let value = paramsObj[param];\n if (typeof value === 'string') {\n value = decodeURIComponent(value);\n }\n obj[param] = value;\n }\n\n return obj;\n};\n\nconst useParams = () => {\n const [params, setParams] = useState<Record<string, string>>({});\n\n useEffect(() => {\n if (!isSupported) return;\n\n setParams(getParamsObj());\n }, []);\n\n const update = useCallback(\n (key: string, value: string) => {\n if (!isSupported) return;\n\n const newParams = { ...params };\n newParams[key] = value;\n\n const currentParams = new URLSearchParams(window.location.search);\n for (const param in newParams) {\n currentParams.set(param, encodeURIComponent(newParams[param]));\n }\n\n setParams(getParamsObj(currentParams));\n\n window.history.replaceState(\n {},\n '',\n `${location.pathname}?${\n currentParams.toString() + location.hash\n }`\n );\n },\n [params]\n );\n\n return { params, update };\n};\n\nexport default useParams;\n"],"names":["useItemHeight","_a","useState","element","setElement","_b","height","setHeight","useEffect","calcHeight","offsetHeight","window","addEventListener","removeEventListener","ScrollDirection","useScroll","initialTopOffset","onLeftOffset","onEnterOffset","_c","topOffset","setTopOffset","_d","isTop","setIsTop","_e","isInOffset","setIsInOffset","_f","DOWN","scrollDirection","setScrollDirection","lastScrollPos","useRef","handleScroll","pageYOffset","current","prev","UP","canUseWebP","isBrowser","elem","document","createElement","getContext","toDataURL","indexOf","usePoster","posterImage","mqs","currentImage","setCurrentImage","workingImage","webp","currentMq","useMediaQuery","useInterval","callback","delay","callbackRef","intervalRef","set","useCallback","setInterval","call","clear","clearTimeout","reset","useTouch","canTouch","setCanTouch","navigator","maxTouchPoints","msMaxTouchPoints","useArray","defaultValue","array","setArray","push","Array","isArray","__spreadArray","pop","lastEl","copy","filter","update","index","newEl","slice","length","remove","useImgPreload","imageUrls","isReady","setReady","isLoaded","setLoaded","small","medium","semilarge","large","xlarge","xxlarge","xxxLarge","loadedImages","setLoadedImages","preloadImages","images","img","map","src","i","Promise","res","Image","onload","url","loadedForMq","requestedImages","resolve","items","__awaiter","item","x","sent","find","e","id","__assign","image","_i","items_1","imgCount","getBgImage","bgImage","mq","importFonts","fonts","React","Fragment","dangerouslySetInnerHTML","__html","reduce","acc","fallbacks","fallAcc","f","concat","name","sizeAdjust","altFont","font","key","rel","href","rootPath","crossOrigin","as","sourcePath","getLinkIcon","theme","isInverted","linkIcons","global","icons","fileExtension","split","result","icon","patterns","pattern","match","iconChar","iconUrl","isSupported","getParamsObj","params","obj","paramsObj","Object","fromEntries","URLSearchParams","location","search","param","value","decodeURIComponent","useParams","setParams","newParams","currentParams","encodeURIComponent","history","replaceState","pathname","toString","hash"],"mappings":"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"}
|
|
@@ -1,5 +1,55 @@
|
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
1
2
|
import { e as __spreadArray } from './ClockFilled-62515a8f.js';
|
|
2
3
|
|
|
4
|
+
var useScrollThrottle = function (timeout, callback) {
|
|
5
|
+
if (timeout === void 0) {
|
|
6
|
+
timeout = 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
var _a = useState(null),
|
|
10
|
+
throttledState = _a[0],
|
|
11
|
+
setThrottledState = _a[1];
|
|
12
|
+
|
|
13
|
+
var timeoutRef = useRef(-1);
|
|
14
|
+
var lastState = useRef({
|
|
15
|
+
scrollX: 0,
|
|
16
|
+
scrollY: 0
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var updateScrollState = function () {
|
|
20
|
+
if (typeof window === 'undefined') return;
|
|
21
|
+
lastState.current = {
|
|
22
|
+
scrollX: window.scrollX,
|
|
23
|
+
scrollY: window.scrollY
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
useEffect(function () {
|
|
28
|
+
if (typeof window === 'undefined') return;
|
|
29
|
+
|
|
30
|
+
var handleScroll = function () {
|
|
31
|
+
updateScrollState();
|
|
32
|
+
|
|
33
|
+
if (timeoutRef.current === -1) {
|
|
34
|
+
timeoutRef.current = window.setTimeout(function () {
|
|
35
|
+
callback === null || callback === void 0 ? void 0 : callback(lastState.current);
|
|
36
|
+
setThrottledState(lastState.current);
|
|
37
|
+
timeoutRef.current = -1;
|
|
38
|
+
}, timeout);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
updateScrollState();
|
|
43
|
+
callback === null || callback === void 0 ? void 0 : callback(lastState.current);
|
|
44
|
+
setThrottledState(lastState.current);
|
|
45
|
+
window.addEventListener('scroll', handleScroll);
|
|
46
|
+
return function () {
|
|
47
|
+
window.removeEventListener('scroll', handleScroll);
|
|
48
|
+
};
|
|
49
|
+
}, [callback, timeout]);
|
|
50
|
+
return throttledState;
|
|
51
|
+
};
|
|
52
|
+
|
|
3
53
|
/**
|
|
4
54
|
* Get current navigation item
|
|
5
55
|
* @param items Array of navItems
|
|
@@ -78,5 +128,5 @@ var getCurrentNavPath = function (items, exludeHrefs) {
|
|
|
78
128
|
return [];
|
|
79
129
|
};
|
|
80
130
|
|
|
81
|
-
export { getCurrentNavItem as a, getCurrentNavPath as g };
|
|
82
|
-
//# sourceMappingURL=navigation-
|
|
131
|
+
export { getCurrentNavItem as a, getCurrentNavPath as g, useScrollThrottle as u };
|
|
132
|
+
//# sourceMappingURL=navigation-b89325f8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-b89325f8.js","sources":["../src/utils/useScrollThrottle.ts","../src/utils/navigation.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface ScrollState {\n scrollY: number;\n scrollX: number;\n}\n\nconst useScrollThrottle = (\n timeout = 0,\n callback?: (state: ScrollState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ScrollState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ScrollState>({\n scrollX: 0,\n scrollY: 0,\n });\n\n const updateScrollState = () => {\n if (typeof window === 'undefined') return;\n\n lastState.current = {\n scrollX: window.scrollX,\n scrollY: window.scrollY,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleScroll = () => {\n updateScrollState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateScrollState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useScrollThrottle;\n","import { NavItem } from 'components/sections/navigation/menu/Menu';\n\n/**\n * Get current navigation item\n * @param items Array of navItems\n * @param includeHidden Include items that are hidden for menu\n * @returns The current navItem\n */\nexport const getCurrentNavItem = (\n items?: NavItem[],\n includeHidden?: boolean\n) => {\n if (!items || items.length === 0) return null;\n\n const findCurrent = (item?: NavItem): NavItem | null => {\n if (!item) return null;\n if (item.isCurrent && (includeHidden || !item.hideFromMenu)) {\n return item;\n }\n if (item.subItems && item.subItems.length > 0) {\n for (let i = 0; i < item.subItems.length; i++) {\n const result = findCurrent(item.subItems[i]);\n if (result) return result;\n }\n }\n return null;\n };\n\n for (let i = 0; i < items.length; i++) {\n const result = findCurrent(items[i]);\n if (result) {\n return {\n current: result,\n root: items[i],\n rootIndex: i,\n };\n }\n }\n return null;\n};\n\n/**\n * Get naviation item path to current navItem\n * @param items Navigation array with navItems\n * @param exludeHrefs navItems with specific hrefs that should be excluded\n * @returns Array of NavItems\n */\nexport const getCurrentNavPath = (\n items?: NavItem[],\n exludeHrefs?: string[]\n) => {\n if (!items || items.length === 0) return [];\n const excludes = exludeHrefs || [];\n\n const isItemValid = (item: NavItem) => {\n return item.link?.href && !excludes.includes(item.link.href);\n };\n\n const getPathToCurrent = (item: NavItem): NavItem[] => {\n if (item.isCurrent && isItemValid(item)) return [item];\n if (!item.subItems) return [];\n\n for (let i = 0; i < item.subItems.length; i++) {\n const subPath = getPathToCurrent(item.subItems[i]);\n if (subPath.length > 0) return [item, ...subPath];\n }\n\n return [];\n };\n\n for (let i = 0; i < items.length; i++) {\n const path = getPathToCurrent(items[i]);\n if (path.length > 0) return [...path];\n }\n\n return [];\n};\n"],"names":["useScrollThrottle","timeout","callback","_a","useState","throttledState","setThrottledState","timeoutRef","useRef","lastState","scrollX","scrollY","updateScrollState","window","current","useEffect","handleScroll","setTimeout","addEventListener","removeEventListener","getCurrentNavItem","items","includeHidden","length","findCurrent","item","isCurrent","hideFromMenu","subItems","i","result","root","rootIndex","getCurrentNavPath","exludeHrefs","excludes","isItemValid","link","href","includes","getPathToCurrent","subPath","__spreadArray","path"],"mappings":"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"}
|