@blateral/b.kit 2.5.0-beta.1.1 → 2.5.0
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/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 +4 -4
- 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/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
package/esm/sections.news.js
CHANGED
|
@@ -11,8 +11,8 @@ import { T as Tag } from './Tag-ac51e916.js';
|
|
|
11
11
|
import { S as StatusFormatter } from './statusFormatter-9be0fbff.js';
|
|
12
12
|
import { L as Link } from './Link-3fd9c9b8.js';
|
|
13
13
|
import { i as isValidArray } from './arrays-65b644ef.js';
|
|
14
|
-
import { u as useMediaQuery } from './useMediaQuery-
|
|
15
|
-
import { u as useEqualSheetHeight } from './useEqualSheetHeight-
|
|
14
|
+
import { u as useMediaQuery } from './useMediaQuery-b42fd64e.js';
|
|
15
|
+
import { u as useEqualSheetHeight } from './useEqualSheetHeight-97420d63.js';
|
|
16
16
|
import { G as Grid } from './Grid-5eec127f.js';
|
|
17
17
|
import { u as useObserverSupport } from './useObserverSupport-02bce7f5.js';
|
|
18
18
|
import { u as useScrollTo } from './useScrollTo-70af34bf.js';
|
|
@@ -22,11 +22,11 @@ import { F as Filter } from './Filter-2b5f5e53.js';
|
|
|
22
22
|
import { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
|
|
23
23
|
import { u as useMounted } from './useMounted-1e4cc87b.js';
|
|
24
24
|
import { T as Title, a as TableBlock } from './TableBlock-cc49e089.js';
|
|
25
|
-
import { V as VideoCard } from './VideoCard-
|
|
25
|
+
import { V as VideoCard } from './VideoCard-e6f342b8.js';
|
|
26
26
|
import './concat-ab3c66f2.js';
|
|
27
27
|
import './clamp-12d37b65.js';
|
|
28
28
|
import 'react-dom/server';
|
|
29
|
-
import './useCookieConsent-
|
|
29
|
+
import './useCookieConsent-6b2d4d93.js';
|
|
30
30
|
import './ButtonGhost-ae2e97a2.js';
|
|
31
31
|
import './hexRgbConverter-edb91624.js';
|
|
32
32
|
|
package/esm/sections.pois.js
CHANGED
|
@@ -11,21 +11,21 @@ import { G as Grid } from './Grid-5eec127f.js';
|
|
|
11
11
|
import { I as InfoList } from './InfoList-5c4586ed.js';
|
|
12
12
|
import { P as POIFacts, a as POICard } from './POICard-96ec71d8.js';
|
|
13
13
|
import { i as isValidArray } from './arrays-65b644ef.js';
|
|
14
|
-
import { F as FilterField } from './FilterField-
|
|
14
|
+
import { F as FilterField } from './FilterField-962ec61f.js';
|
|
15
15
|
import { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
|
|
16
16
|
import { e as escapeRegExp } from './escape-cbff9c25.js';
|
|
17
17
|
import { u as useMounted } from './useMounted-1e4cc87b.js';
|
|
18
18
|
import { g as getUrlParams, s as setUrlParam, d as deleteUrlParam } from './urlParams-9cfdaf71.js';
|
|
19
19
|
import { u as useLeafletMap } from './useLeafletMap-84170d32.js';
|
|
20
|
-
import { g as generateNavbarIdent, a as getFullNavbarHeights } from './Navigation-
|
|
20
|
+
import { g as generateNavbarIdent, a as getFullNavbarHeights } from './Navigation-42c123d2.js';
|
|
21
21
|
import { u as useGeolocation } from './useGeolocation-f9f073cc.js';
|
|
22
22
|
import './concat-ab3c66f2.js';
|
|
23
23
|
import './clamp-12d37b65.js';
|
|
24
24
|
import 'react-dom/server';
|
|
25
|
-
import './useLazyInput-
|
|
26
|
-
import './useMediaQuery-
|
|
25
|
+
import './useLazyInput-54d1785c.js';
|
|
26
|
+
import './useMediaQuery-b42fd64e.js';
|
|
27
|
+
import './navigation-b89325f8.js';
|
|
27
28
|
import './Link-3fd9c9b8.js';
|
|
28
|
-
import './navigation-ada7fd84.js';
|
|
29
29
|
import './LanguageSwitcher-3fa20077.js';
|
|
30
30
|
|
|
31
31
|
var StyledImage = styled(Image).withConfig({
|
|
@@ -133,12 +133,6 @@ var getCookie = function (name) {
|
|
|
133
133
|
|
|
134
134
|
return cookie;
|
|
135
135
|
};
|
|
136
|
-
var deleteCookie = function (name) {
|
|
137
|
-
setCookie({
|
|
138
|
-
name: name,
|
|
139
|
-
data: {}
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
136
|
|
|
143
137
|
var selectors = {
|
|
144
138
|
buttons: {
|
|
@@ -335,5 +329,5 @@ var useCookieConsent = function (props, onSubmit, statusRenderer) {
|
|
|
335
329
|
};
|
|
336
330
|
};
|
|
337
331
|
|
|
338
|
-
export {
|
|
339
|
-
//# sourceMappingURL=useCookieConsent-
|
|
332
|
+
export { bindConsentButtons as b, getCookie as g, isUrlInWhitelist as i, selectors as s, useCookieConsent as u };
|
|
333
|
+
//# sourceMappingURL=useCookieConsent-6b2d4d93.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCookieConsent-0fc8667c.js","sources":["../src/utils/cookie-consent/mutations.ts","../src/utils/cookie-consent/cookie.ts","../src/utils/cookie-consent/useCookieConsent.tsx"],"sourcesContent":["export const isUrlInWhitelist = (\n urlString: string,\n whitelist: string[] = []\n) => {\n let isInWhiteList = false;\n for (let i = 0; i < whitelist.length; i++) {\n if (urlString.indexOf(whitelist[i]) > -1) {\n isInWhiteList = true;\n break;\n }\n }\n return isInWhiteList;\n};\n\nexport const bindConsentButtons = (\n callback: () => void,\n selectors: string[] = []\n) => {\n const allConsentButtons = document.querySelectorAll(selectors.join(', '));\n\n for (let i = 0, len = allConsentButtons.length; i < len; i++) {\n allConsentButtons[i].addEventListener('click', callback);\n }\n};\n\nexport const activateTrackingScripts = (scriptTypeSelectors: string[] = []) => {\n const selectors = scriptTypeSelectors\n .filter((selector) => selector)\n .map((selector) => `script[type='text/${selector}']`)\n .join(', ');\n\n const scriptElements = selectors\n ? document.querySelectorAll(selectors)\n : [];\n\n let i = scriptElements.length;\n const newScriptElements: HTMLScriptElement[] = [];\n while (i--) {\n // create new script element to call it\n const newScriptElement = document.createElement('script');\n newScriptElement.type = 'text/javascript';\n\n if (scriptElements[i].hasAttribute('src')) {\n newScriptElement.src = scriptElements[i].getAttribute('src')!;\n newScriptElement.async = true;\n } else {\n newScriptElement.innerHTML = scriptElements[i].innerHTML;\n }\n\n // add new script tags to list\n newScriptElements.push(newScriptElement);\n\n // delete old helper element\n if (scriptElements[i].parentNode) {\n // eslint-disable-next-line no-unused-expressions\n scriptElements[i].parentNode?.removeChild(scriptElements[i]);\n }\n }\n\n // append new script tags\n i = newScriptElements.length;\n while (i--) {\n // append / activate script\n document.body.appendChild(newScriptElements[i]);\n }\n};\n\nexport const updateConsentStatus = (\n content: string,\n selectors: string[] = []\n) => {\n if (!content) return;\n const statusElements = document.querySelectorAll(selectors.join(', '));\n\n for (let i = 0, len = statusElements.length; i < len; i++) {\n statusElements[i].innerHTML = content;\n }\n};\n","export interface Cookie<T extends object> {\n name: string;\n data: T;\n}\n\nexport const setCookie = <T extends object>({\n name,\n data,\n days = -1,\n path = '/',\n}: {\n name: string;\n data: T;\n days?: number;\n path?: string;\n}) => {\n let cookieString = `${name}=`;\n\n try {\n const stringifiedData = JSON.stringify(data);\n cookieString += encodeURIComponent(stringifiedData);\n } catch (err) {\n console.warn('Cannot save data to cookie!');\n }\n\n // specify path\n cookieString += `; path=${path};`;\n\n // check if cookie should have lifetime\n if (days >= 0) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n cookieString += ` expires=${date.toUTCString()};`;\n }\n document.cookie = cookieString;\n};\n\nexport const getCookie = <T extends object>(\n name: string\n): Cookie<T> | undefined => {\n let cookie = undefined;\n\n try {\n // get cookie value\n const b = document.cookie.match(\n '(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)'\n );\n let cookieValue = b ? b.pop() : '';\n cookieValue = cookieValue ? decodeURIComponent(cookieValue) : '';\n\n if (!cookieValue) return;\n\n cookie = {\n name: name,\n data: JSON.parse(cookieValue) as T,\n } as Cookie<T>;\n } catch (err) {\n console.warn(err);\n }\n\n return cookie;\n};\n\nexport const deleteCookie = (name: string) => {\n setCookie<any>({ name, data: {} });\n};\n","import React, { useEffect, useState, useMemo, useCallback } from 'react';\nimport ReactDOMServer from 'react-dom/server';\n\nimport { Cookie, getCookie, setCookie } from './cookie';\nimport { activateTrackingScripts, updateConsentStatus } from './mutations';\n\nexport interface CookieType {\n label: string;\n isAccepted: boolean;\n isEditable: boolean;\n}\n\nexport interface CookieTypes {\n [key: string]: CookieType;\n}\n\nexport interface CookieConsentData {\n types: Record<string, boolean>;\n updatedAt: number;\n}\n\nexport interface CookieConsentSettings {\n cookieName?: string;\n initialCookieTypes?: CookieTypes;\n lifetime?: number;\n}\n\nexport const selectors = {\n buttons: {\n class: 'cookie-consent-button',\n attribute: 'data-consent-button',\n },\n status: {\n class: 'cookie-consent-status',\n attribute: 'data-consent-status',\n },\n script: (key: string) => `cookie-consent-script-${key}`,\n};\n\nconst useCookieConsent = (\n props: CookieConsentSettings,\n onSubmit?: () => void,\n statusRenderer?: (props: {\n updatedAt: number;\n state: CookieTypes;\n }) => React.ReactElement\n) => {\n const settings: Required<CookieConsentSettings> = useMemo(() => {\n return {\n cookieName: 'cookie-consent-v2',\n lifetime: 365,\n initialCookieTypes: {\n essentials: {\n isEditable: false,\n isAccepted: true,\n label: 'Essential functionalities',\n },\n },\n ...props,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const [cookieTypes, setCookieTypes] = useState<CookieTypes>(\n settings.initialCookieTypes\n );\n\n const updateStatus = useCallback(() => {\n const cookie = getCookie(\n settings.cookieName\n ) as Cookie<CookieConsentData>;\n\n let statusMsg = '-';\n\n if (cookie && cookie.data) {\n const statusHtml = statusRenderer?.({\n updatedAt: cookie.data.updatedAt,\n state: cookieTypes,\n });\n if (statusHtml) {\n statusMsg = ReactDOMServer.renderToStaticMarkup(statusHtml);\n }\n }\n\n updateConsentStatus(statusMsg, [\n `[${selectors.status.attribute}]`,\n `.${selectors.status.class}`,\n ]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [settings.cookieName]);\n\n useEffect(() => {\n const cookie = getCookie(\n settings.cookieName\n ) as Cookie<CookieConsentData>;\n\n if (cookie && cookie.data?.types) {\n setCookieTypes((prev) => {\n const cPrev = { ...prev };\n for (const key in cPrev) {\n if (!cookie.data.types[key]) continue;\n cPrev[key].isAccepted = cookie.data.types[key];\n }\n\n handleScriptActivation(cPrev);\n\n return cPrev;\n });\n }\n updateStatus();\n }, [settings, settings.cookieName, updateStatus]);\n\n const mapToCookieData = (types: CookieTypes): Record<string, boolean> => {\n const data = {};\n if (!types) return data;\n\n for (const key in types) {\n data[key] = types[key].isAccepted;\n }\n\n return data;\n };\n\n /** Accept all types of cookies */\n const acceptAll = useCallback(() => {\n console.info('Accept all cookie types');\n\n setCookieTypes((prev) => {\n const types = { ...prev };\n for (const key in types) {\n if (!types[key].isEditable) continue;\n types[key].isAccepted = true;\n }\n\n setCookie<CookieConsentData>({\n name: settings.cookieName,\n data: {\n types: mapToCookieData(types),\n updatedAt: new Date().getTime(),\n },\n days: settings.lifetime,\n });\n\n updateStatus();\n handleScriptActivation(types);\n return types;\n });\n onSubmit?.();\n }, [onSubmit, settings.cookieName, settings.lifetime, updateStatus]);\n\n /** Decline all types of cookies (except required ones) */\n const declineAll = useCallback(() => {\n console.info('Decline all cookie types');\n\n setCookieTypes((prev) => {\n const types = { ...prev };\n for (const key in types) {\n if (!types[key].isEditable) continue;\n types[key].isAccepted = false;\n }\n\n setCookie<CookieConsentData>({\n name: settings.cookieName,\n data: {\n types: mapToCookieData(types),\n updatedAt: new Date().getTime(),\n },\n days: settings.lifetime,\n });\n\n updateStatus();\n handleScriptActivation(types);\n return types;\n });\n onSubmit?.();\n }, [onSubmit, settings.cookieName, settings.lifetime, updateStatus]);\n\n /** Accept selected types of cookies */\n const acceptSelected = useCallback(() => {\n console.info('Accept selected cookie types');\n\n setCookie<CookieConsentData>({\n name: settings.cookieName,\n data: {\n types: mapToCookieData(cookieTypes),\n updatedAt: new Date().getTime(),\n },\n days: settings.lifetime,\n });\n\n updateStatus();\n handleScriptActivation(cookieTypes);\n onSubmit?.();\n }, [\n cookieTypes,\n onSubmit,\n settings.cookieName,\n settings.lifetime,\n updateStatus,\n ]);\n\n const handleScriptActivation = (types: CookieTypes) => {\n if (!types) return;\n\n // activate scripts from cookie types\n const acceptedKeys = Object.keys(types).filter(\n (key) => types[key].isAccepted\n );\n activateTrackingScripts(\n acceptedKeys.map((key) => selectors.script(key))\n );\n };\n\n /** Set or toggle consent status of cookie type */\n const setConsent = (type: keyof CookieTypes, isAccepted?: boolean) => {\n setCookieTypes((prev) => {\n const types = { ...prev };\n if (!types[type] || !types[type].isEditable) return types;\n\n if (isAccepted !== undefined) {\n types[type].isAccepted = isAccepted;\n } else {\n types[type].isAccepted = !types[type].isAccepted;\n }\n\n return types;\n });\n };\n\n const getCookieValue = (): Cookie<CookieConsentData> | undefined => {\n return getCookie(settings.cookieName) as Cookie<CookieConsentData>;\n };\n\n return {\n cookieTypes,\n acceptAll,\n acceptSelected,\n declineAll,\n setConsent,\n getCookieValue,\n };\n};\n\nexport default useCookieConsent;\n"],"names":["isUrlInWhitelist","urlString","whitelist","isInWhiteList","i","length","indexOf","bindConsentButtons","callback","selectors","allConsentButtons","document","querySelectorAll","join","len","addEventListener","activateTrackingScripts","scriptTypeSelectors","filter","selector","map","scriptElements","newScriptElements","newScriptElement","createElement","type","hasAttribute","src","getAttribute","async","innerHTML","push","parentNode","_a","removeChild","body","appendChild","updateConsentStatus","content","statusElements","setCookie","name","data","_b","days","_c","path","cookieString","concat","stringifiedData","JSON","stringify","encodeURIComponent","err","console","warn","date","Date","setTime","getTime","toUTCString","cookie","getCookie","undefined","b","match","cookieValue","pop","decodeURIComponent","parse","deleteCookie","buttons","class","attribute","status","script","key","useCookieConsent","props","onSubmit","statusRenderer","settings","useMemo","__assign","cookieName","lifetime","initialCookieTypes","essentials","isEditable","isAccepted","label","useState","cookieTypes","setCookieTypes","updateStatus","useCallback","statusMsg","statusHtml","updatedAt","state","ReactDOMServer","renderToStaticMarkup","useEffect","types","prev","cPrev","handleScriptActivation","mapToCookieData","acceptAll","info","declineAll","acceptSelected","acceptedKeys","Object","keys","setConsent","getCookieValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCookieConsent-6b2d4d93.js","sources":["../src/utils/cookie-consent/mutations.ts","../src/utils/cookie-consent/cookie.ts","../src/utils/cookie-consent/useCookieConsent.tsx"],"sourcesContent":["export const isUrlInWhitelist = (\n urlString: string,\n whitelist: string[] = []\n) => {\n let isInWhiteList = false;\n for (let i = 0; i < whitelist.length; i++) {\n if (urlString.indexOf(whitelist[i]) > -1) {\n isInWhiteList = true;\n break;\n }\n }\n return isInWhiteList;\n};\n\nexport const bindConsentButtons = (\n callback: () => void,\n selectors: string[] = []\n) => {\n const allConsentButtons = document.querySelectorAll(selectors.join(', '));\n\n for (let i = 0, len = allConsentButtons.length; i < len; i++) {\n allConsentButtons[i].addEventListener('click', callback);\n }\n};\n\nexport const activateTrackingScripts = (scriptTypeSelectors: string[] = []) => {\n const selectors = scriptTypeSelectors\n .filter((selector) => selector)\n .map((selector) => `script[type='text/${selector}']`)\n .join(', ');\n\n const scriptElements = selectors\n ? document.querySelectorAll(selectors)\n : [];\n\n let i = scriptElements.length;\n const newScriptElements: HTMLScriptElement[] = [];\n while (i--) {\n // create new script element to call it\n const newScriptElement = document.createElement('script');\n newScriptElement.type = 'text/javascript';\n\n if (scriptElements[i].hasAttribute('src')) {\n newScriptElement.src = scriptElements[i].getAttribute('src')!;\n newScriptElement.async = true;\n } else {\n newScriptElement.innerHTML = scriptElements[i].innerHTML;\n }\n\n // add new script tags to list\n newScriptElements.push(newScriptElement);\n\n // delete old helper element\n if (scriptElements[i].parentNode) {\n // eslint-disable-next-line no-unused-expressions\n scriptElements[i].parentNode?.removeChild(scriptElements[i]);\n }\n }\n\n // append new script tags\n i = newScriptElements.length;\n while (i--) {\n // append / activate script\n document.body.appendChild(newScriptElements[i]);\n }\n};\n\nexport const updateConsentStatus = (\n content: string,\n selectors: string[] = []\n) => {\n if (!content) return;\n const statusElements = document.querySelectorAll(selectors.join(', '));\n\n for (let i = 0, len = statusElements.length; i < len; i++) {\n statusElements[i].innerHTML = content;\n }\n};\n","export interface Cookie<T extends object> {\n name: string;\n data: T;\n}\n\nexport const setCookie = <T extends object>({\n name,\n data,\n days = -1,\n path = '/',\n}: {\n name: string;\n data: T;\n days?: number;\n path?: string;\n}) => {\n let cookieString = `${name}=`;\n\n try {\n const stringifiedData = JSON.stringify(data);\n cookieString += encodeURIComponent(stringifiedData);\n } catch (err) {\n console.warn('Cannot save data to cookie!');\n }\n\n // specify path\n cookieString += `; path=${path};`;\n\n // check if cookie should have lifetime\n if (days >= 0) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n cookieString += ` expires=${date.toUTCString()};`;\n }\n document.cookie = cookieString;\n};\n\nexport const getCookie = <T extends object>(\n name: string\n): Cookie<T> | undefined => {\n let cookie = undefined;\n\n try {\n // get cookie value\n const b = document.cookie.match(\n '(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)'\n );\n let cookieValue = b ? b.pop() : '';\n cookieValue = cookieValue ? decodeURIComponent(cookieValue) : '';\n\n if (!cookieValue) return;\n\n cookie = {\n name: name,\n data: JSON.parse(cookieValue) as T,\n } as Cookie<T>;\n } catch (err) {\n console.warn(err);\n }\n\n return cookie;\n};\n\nexport const deleteCookie = (name: string) => {\n setCookie<any>({ name, data: {} });\n};\n","import React, { useEffect, useState, useMemo, useCallback } from 'react';\nimport ReactDOMServer from 'react-dom/server';\n\nimport { Cookie, getCookie, setCookie } from './cookie';\nimport { activateTrackingScripts, updateConsentStatus } from './mutations';\n\nexport interface CookieType {\n label: string;\n isAccepted: boolean;\n isEditable: boolean;\n}\n\nexport interface CookieTypes {\n [key: string]: CookieType;\n}\n\nexport interface CookieConsentData {\n types: Record<string, boolean>;\n updatedAt: number;\n}\n\nexport interface CookieConsentSettings {\n cookieName?: string;\n initialCookieTypes?: CookieTypes;\n lifetime?: number;\n}\n\nexport const selectors = {\n buttons: {\n class: 'cookie-consent-button',\n attribute: 'data-consent-button',\n },\n status: {\n class: 'cookie-consent-status',\n attribute: 'data-consent-status',\n },\n script: (key: string) => `cookie-consent-script-${key}`,\n};\n\nconst useCookieConsent = (\n props: CookieConsentSettings,\n onSubmit?: () => void,\n statusRenderer?: (props: {\n updatedAt: number;\n state: CookieTypes;\n }) => React.ReactElement\n) => {\n const settings: Required<CookieConsentSettings> = useMemo(() => {\n return {\n cookieName: 'cookie-consent-v2',\n lifetime: 365,\n initialCookieTypes: {\n essentials: {\n isEditable: false,\n isAccepted: true,\n label: 'Essential functionalities',\n },\n },\n ...props,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const [cookieTypes, setCookieTypes] = useState<CookieTypes>(\n settings.initialCookieTypes\n );\n\n const updateStatus = useCallback(() => {\n const cookie = getCookie(\n settings.cookieName\n ) as Cookie<CookieConsentData>;\n\n let statusMsg = '-';\n\n if (cookie && cookie.data) {\n const statusHtml = statusRenderer?.({\n updatedAt: cookie.data.updatedAt,\n state: cookieTypes,\n });\n if (statusHtml) {\n statusMsg = ReactDOMServer.renderToStaticMarkup(statusHtml);\n }\n }\n\n updateConsentStatus(statusMsg, [\n `[${selectors.status.attribute}]`,\n `.${selectors.status.class}`,\n ]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [settings.cookieName]);\n\n useEffect(() => {\n const cookie = getCookie(\n settings.cookieName\n ) as Cookie<CookieConsentData>;\n\n if (cookie && cookie.data?.types) {\n setCookieTypes((prev) => {\n const cPrev = { ...prev };\n for (const key in cPrev) {\n if (!cookie.data.types[key]) continue;\n cPrev[key].isAccepted = cookie.data.types[key];\n }\n\n handleScriptActivation(cPrev);\n\n return cPrev;\n });\n }\n updateStatus();\n }, [settings, settings.cookieName, updateStatus]);\n\n const mapToCookieData = (types: CookieTypes): Record<string, boolean> => {\n const data = {};\n if (!types) return data;\n\n for (const key in types) {\n data[key] = types[key].isAccepted;\n }\n\n return data;\n };\n\n /** Accept all types of cookies */\n const acceptAll = useCallback(() => {\n console.info('Accept all cookie types');\n\n setCookieTypes((prev) => {\n const types = { ...prev };\n for (const key in types) {\n if (!types[key].isEditable) continue;\n types[key].isAccepted = true;\n }\n\n setCookie<CookieConsentData>({\n name: settings.cookieName,\n data: {\n types: mapToCookieData(types),\n updatedAt: new Date().getTime(),\n },\n days: settings.lifetime,\n });\n\n updateStatus();\n handleScriptActivation(types);\n return types;\n });\n onSubmit?.();\n }, [onSubmit, settings.cookieName, settings.lifetime, updateStatus]);\n\n /** Decline all types of cookies (except required ones) */\n const declineAll = useCallback(() => {\n console.info('Decline all cookie types');\n\n setCookieTypes((prev) => {\n const types = { ...prev };\n for (const key in types) {\n if (!types[key].isEditable) continue;\n types[key].isAccepted = false;\n }\n\n setCookie<CookieConsentData>({\n name: settings.cookieName,\n data: {\n types: mapToCookieData(types),\n updatedAt: new Date().getTime(),\n },\n days: settings.lifetime,\n });\n\n updateStatus();\n handleScriptActivation(types);\n return types;\n });\n onSubmit?.();\n }, [onSubmit, settings.cookieName, settings.lifetime, updateStatus]);\n\n /** Accept selected types of cookies */\n const acceptSelected = useCallback(() => {\n console.info('Accept selected cookie types');\n\n setCookie<CookieConsentData>({\n name: settings.cookieName,\n data: {\n types: mapToCookieData(cookieTypes),\n updatedAt: new Date().getTime(),\n },\n days: settings.lifetime,\n });\n\n updateStatus();\n handleScriptActivation(cookieTypes);\n onSubmit?.();\n }, [\n cookieTypes,\n onSubmit,\n settings.cookieName,\n settings.lifetime,\n updateStatus,\n ]);\n\n const handleScriptActivation = (types: CookieTypes) => {\n if (!types) return;\n\n // activate scripts from cookie types\n const acceptedKeys = Object.keys(types).filter(\n (key) => types[key].isAccepted\n );\n activateTrackingScripts(\n acceptedKeys.map((key) => selectors.script(key))\n );\n };\n\n /** Set or toggle consent status of cookie type */\n const setConsent = (type: keyof CookieTypes, isAccepted?: boolean) => {\n setCookieTypes((prev) => {\n const types = { ...prev };\n if (!types[type] || !types[type].isEditable) return types;\n\n if (isAccepted !== undefined) {\n types[type].isAccepted = isAccepted;\n } else {\n types[type].isAccepted = !types[type].isAccepted;\n }\n\n return types;\n });\n };\n\n const getCookieValue = (): Cookie<CookieConsentData> | undefined => {\n return getCookie(settings.cookieName) as Cookie<CookieConsentData>;\n };\n\n return {\n cookieTypes,\n acceptAll,\n acceptSelected,\n declineAll,\n setConsent,\n getCookieValue,\n };\n};\n\nexport default useCookieConsent;\n"],"names":["isUrlInWhitelist","urlString","whitelist","isInWhiteList","i","length","indexOf","bindConsentButtons","callback","selectors","allConsentButtons","document","querySelectorAll","join","len","addEventListener","activateTrackingScripts","scriptTypeSelectors","filter","selector","map","scriptElements","newScriptElements","newScriptElement","createElement","type","hasAttribute","src","getAttribute","async","innerHTML","push","parentNode","_a","removeChild","body","appendChild","updateConsentStatus","content","statusElements","setCookie","name","data","_b","days","_c","path","cookieString","concat","stringifiedData","JSON","stringify","encodeURIComponent","err","console","warn","date","Date","setTime","getTime","toUTCString","cookie","getCookie","undefined","b","match","cookieValue","pop","decodeURIComponent","parse","buttons","class","attribute","status","script","key","useCookieConsent","props","onSubmit","statusRenderer","settings","useMemo","__assign","cookieName","lifetime","initialCookieTypes","essentials","isEditable","isAccepted","label","useState","cookieTypes","setCookieTypes","updateStatus","useCallback","statusMsg","statusHtml","updatedAt","state","ReactDOMServer","renderToStaticMarkup","useEffect","types","prev","cPrev","handleScriptActivation","mapToCookieData","acceptAll","info","declineAll","acceptSelected","acceptedKeys","Object","keys","setConsent","getCookieValue"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as __assign, e as __spreadArray } from './ClockFilled-62515a8f.js';
|
|
2
2
|
import { useState, useEffect, useRef, useCallback, createRef } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { b as useDynamicMediaQueries } from './useMediaQuery-b42fd64e.js';
|
|
4
4
|
import { m as mq } from './styles-da982973.js';
|
|
5
5
|
|
|
6
6
|
var useFontsLoaded = function () {
|
|
@@ -195,5 +195,5 @@ var useEqualSheetHeight = function (props) {
|
|
|
195
195
|
};
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
export { useFontsLoaded as a, useEqualSheetHeight as u };
|
|
199
|
-
//# sourceMappingURL=useEqualSheetHeight-
|
|
198
|
+
export { useFontsLoaded as a, useResizeThrottle as b, useEqualSheetHeight as u };
|
|
199
|
+
//# sourceMappingURL=useEqualSheetHeight-97420d63.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEqualSheetHeight-4030635e.js","sources":["../src/utils/useFontsLoaded.ts","../src/utils/useResizeThrottle.ts","../src/utils/useEqualSheetHeight.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useFontsLoaded = () => {\n const [allFontsLoaded, setFontLoaded] = useState<boolean | undefined>(\n false\n );\n\n useEffect(() => {\n const waitForFonts = () => {\n (document as any)?.fonts?.ready?.then(() => {\n setFontLoaded(true);\n });\n };\n\n if ((document as any).fonts === undefined) setFontLoaded(undefined);\n else waitForFonts();\n }, []);\n\n return allFontsLoaded;\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ResizeState {\n clientWidth: number;\n clientHeight: number;\n innerHeight: number;\n innerWidth: number;\n}\n\nconst useResizeThrottle = (\n timeout = 0,\n callback?: (state: ResizeState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ResizeState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ResizeState>({\n clientWidth: 0,\n clientHeight: 0,\n innerHeight: 0,\n innerWidth: 0,\n });\n\n const updateResizeState = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n lastState.current = {\n clientWidth: document.documentElement.clientWidth,\n clientHeight: document.documentElement.clientHeight,\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleResize = () => {\n updateResizeState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateResizeState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useResizeThrottle;\n","import {\n useEffect,\n useState,\n MutableRefObject,\n createRef,\n useCallback,\n} from 'react';\nimport { useDynamicMediaQueries } from './useMediaQuery';\nimport { useFontsLoaded } from 'utils/useFontsLoaded';\nimport useResizeThrottle from './useResizeThrottle';\nimport { MediaQueryType, mq } from './styles';\n\ninterface ItemsPerRow {\n small?: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\ntype Mq = keyof ItemsPerRow;\n\n// ********************\n// useEqualSheetHeight\n// ********************\n\nexport const useEqualSheetHeight = <T extends HTMLElement>(props: {\n listLength: number;\n identifiers: string[];\n responsive?: ItemsPerRow;\n /** Throttle timeout for resize events. Default: 400ms */\n resizeThrottleTimeout?: number;\n customMediaQueries?: { [key in Exclude<Mq, 'small'>]: string };\n}) => {\n const defaultResponsive = {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n ...props.responsive,\n } as Record<MediaQueryType, number>;\n\n const queries = useDynamicMediaQueries(props.customMediaQueries || mq);\n const currentMq = Object.keys(queries).reduce<Mq>(\n (acc, key) => (queries[key] ? key : acc) as Mq,\n 'small'\n );\n const itemsPerRow = defaultResponsive[currentMq];\n\n const [sheetRefs, setSheetRefs] = useState<MutableRefObject<T>[]>([]);\n const fontsLoaded = useFontsLoaded();\n\n const setHeights = useCallback(\n (\n heights: (number | null)[],\n selector: string,\n refs: MutableRefObject<T>[]\n ) => {\n const makeRows = (\n result: Array<number | null>[],\n _: number,\n index: number,\n arr: Array<number | null>\n ) => {\n // make new row after 3 items\n if (index % itemsPerRow === 0) {\n result.push(\n arr.slice(index, index + itemsPerRow) as Array<number>\n );\n }\n return result;\n };\n\n // put item heights in 2-dimensional array to sort them in rows\n const heightsInRows = heights.reduce(makeRows, []);\n\n heightsInRows.forEach((rowHeights, y) => {\n const validHeights = rowHeights.filter(\n (height) => height !== null\n ) as number[];\n\n const highest = validHeights.slice().sort((vA, vB) => {\n if (vA && vB) {\n if (vA > vB) return -1;\n return 1;\n } else return 0;\n })[0];\n\n // set height of all items in row to the highest value\n if (rowHeights.length > 1 && highest) {\n for (let x = 0; x < rowHeights.length; x++) {\n const index = x + y * itemsPerRow;\n const el = refs[index].current.querySelector(selector);\n\n el?.setAttribute('style', `height: ${highest}px`);\n }\n }\n });\n },\n [itemsPerRow]\n );\n\n // Throttle viewport resize event for performance\n const resizeState = useResizeThrottle(\n props.resizeThrottleTimeout !== undefined\n ? props.resizeThrottleTimeout\n : 400\n );\n\n useEffect(() => {\n const resize = (refs: MutableRefObject<T>[]) => () => {\n const identifierSizes = new Map<string, Array<number | null>>();\n\n // create identifier map\n for (let i = 0; i < props.identifiers.length; i++) {\n identifierSizes.set(props.identifiers[i], []);\n }\n\n // set height values\n refs.filter((ref) => ref.current).forEach(({ current }) => {\n // get height for each element\n props.identifiers.forEach((id) => {\n const element = current.querySelector(id);\n const prevHeights = identifierSizes.get(id);\n let height: number | null = null;\n\n if (element) {\n element.removeAttribute('style');\n height = element.getBoundingClientRect().height;\n }\n\n if (prevHeights) {\n identifierSizes.set(id, [...prevHeights, height]);\n }\n });\n });\n\n // set heights for each identifier\n identifierSizes.forEach((value, key) => {\n setHeights(value, key, refs);\n });\n };\n\n const resizeHandler = resize(sheetRefs);\n resizeHandler();\n }, [props.identifiers, resizeState, setHeights, sheetRefs, fontsLoaded]);\n\n const triggerCalculation = useCallback(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n useEffect(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n return {\n sheetRefs,\n triggerCalculation,\n };\n};\n"],"names":["useFontsLoaded","_a","useState","allFontsLoaded","setFontLoaded","useEffect","waitForFonts","_b","document","fonts","ready","then","undefined","useResizeThrottle","timeout","callback","throttledState","setThrottledState","timeoutRef","useRef","lastState","clientWidth","clientHeight","innerHeight","innerWidth","updateResizeState","window","current","documentElement","handleResize","setTimeout","addEventListener","removeEventListener","useEqualSheetHeight","props","defaultResponsive","__assign","small","medium","semilarge","large","xlarge","responsive","queries","useDynamicMediaQueries","customMediaQueries","mq","currentMq","Object","keys","reduce","acc","key","itemsPerRow","sheetRefs","setSheetRefs","fontsLoaded","setHeights","useCallback","heights","selector","refs","makeRows","result","_","index","arr","push","slice","heightsInRows","forEach","rowHeights","y","validHeights","filter","height","highest","sort","vA","vB","length","x","el","querySelector","setAttribute","concat","resizeState","resizeThrottleTimeout","resize","identifierSizes","Map","i","identifiers","set","ref","id","element","prevHeights","get","removeAttribute","getBoundingClientRect","value","resizeHandler","triggerCalculation","prev","Array","listLength","fill","map","createRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useEqualSheetHeight-97420d63.js","sources":["../src/utils/useFontsLoaded.ts","../src/utils/useResizeThrottle.ts","../src/utils/useEqualSheetHeight.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useFontsLoaded = () => {\n const [allFontsLoaded, setFontLoaded] = useState<boolean | undefined>(\n false\n );\n\n useEffect(() => {\n const waitForFonts = () => {\n (document as any)?.fonts?.ready?.then(() => {\n setFontLoaded(true);\n });\n };\n\n if ((document as any).fonts === undefined) setFontLoaded(undefined);\n else waitForFonts();\n }, []);\n\n return allFontsLoaded;\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ResizeState {\n clientWidth: number;\n clientHeight: number;\n innerHeight: number;\n innerWidth: number;\n}\n\nconst useResizeThrottle = (\n timeout = 0,\n callback?: (state: ResizeState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ResizeState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ResizeState>({\n clientWidth: 0,\n clientHeight: 0,\n innerHeight: 0,\n innerWidth: 0,\n });\n\n const updateResizeState = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n lastState.current = {\n clientWidth: document.documentElement.clientWidth,\n clientHeight: document.documentElement.clientHeight,\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleResize = () => {\n updateResizeState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateResizeState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useResizeThrottle;\n","import {\n useEffect,\n useState,\n MutableRefObject,\n createRef,\n useCallback,\n} from 'react';\nimport { useDynamicMediaQueries } from './useMediaQuery';\nimport { useFontsLoaded } from 'utils/useFontsLoaded';\nimport useResizeThrottle from './useResizeThrottle';\nimport { MediaQueryType, mq } from './styles';\n\ninterface ItemsPerRow {\n small?: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\ntype Mq = keyof ItemsPerRow;\n\n// ********************\n// useEqualSheetHeight\n// ********************\n\nexport const useEqualSheetHeight = <T extends HTMLElement>(props: {\n listLength: number;\n identifiers: string[];\n responsive?: ItemsPerRow;\n /** Throttle timeout for resize events. Default: 400ms */\n resizeThrottleTimeout?: number;\n customMediaQueries?: { [key in Exclude<Mq, 'small'>]: string };\n}) => {\n const defaultResponsive = {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n ...props.responsive,\n } as Record<MediaQueryType, number>;\n\n const queries = useDynamicMediaQueries(props.customMediaQueries || mq);\n const currentMq = Object.keys(queries).reduce<Mq>(\n (acc, key) => (queries[key] ? key : acc) as Mq,\n 'small'\n );\n const itemsPerRow = defaultResponsive[currentMq];\n\n const [sheetRefs, setSheetRefs] = useState<MutableRefObject<T>[]>([]);\n const fontsLoaded = useFontsLoaded();\n\n const setHeights = useCallback(\n (\n heights: (number | null)[],\n selector: string,\n refs: MutableRefObject<T>[]\n ) => {\n const makeRows = (\n result: Array<number | null>[],\n _: number,\n index: number,\n arr: Array<number | null>\n ) => {\n // make new row after 3 items\n if (index % itemsPerRow === 0) {\n result.push(\n arr.slice(index, index + itemsPerRow) as Array<number>\n );\n }\n return result;\n };\n\n // put item heights in 2-dimensional array to sort them in rows\n const heightsInRows = heights.reduce(makeRows, []);\n\n heightsInRows.forEach((rowHeights, y) => {\n const validHeights = rowHeights.filter(\n (height) => height !== null\n ) as number[];\n\n const highest = validHeights.slice().sort((vA, vB) => {\n if (vA && vB) {\n if (vA > vB) return -1;\n return 1;\n } else return 0;\n })[0];\n\n // set height of all items in row to the highest value\n if (rowHeights.length > 1 && highest) {\n for (let x = 0; x < rowHeights.length; x++) {\n const index = x + y * itemsPerRow;\n const el = refs[index].current.querySelector(selector);\n\n el?.setAttribute('style', `height: ${highest}px`);\n }\n }\n });\n },\n [itemsPerRow]\n );\n\n // Throttle viewport resize event for performance\n const resizeState = useResizeThrottle(\n props.resizeThrottleTimeout !== undefined\n ? props.resizeThrottleTimeout\n : 400\n );\n\n useEffect(() => {\n const resize = (refs: MutableRefObject<T>[]) => () => {\n const identifierSizes = new Map<string, Array<number | null>>();\n\n // create identifier map\n for (let i = 0; i < props.identifiers.length; i++) {\n identifierSizes.set(props.identifiers[i], []);\n }\n\n // set height values\n refs.filter((ref) => ref.current).forEach(({ current }) => {\n // get height for each element\n props.identifiers.forEach((id) => {\n const element = current.querySelector(id);\n const prevHeights = identifierSizes.get(id);\n let height: number | null = null;\n\n if (element) {\n element.removeAttribute('style');\n height = element.getBoundingClientRect().height;\n }\n\n if (prevHeights) {\n identifierSizes.set(id, [...prevHeights, height]);\n }\n });\n });\n\n // set heights for each identifier\n identifierSizes.forEach((value, key) => {\n setHeights(value, key, refs);\n });\n };\n\n const resizeHandler = resize(sheetRefs);\n resizeHandler();\n }, [props.identifiers, resizeState, setHeights, sheetRefs, fontsLoaded]);\n\n const triggerCalculation = useCallback(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n useEffect(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n return {\n sheetRefs,\n triggerCalculation,\n };\n};\n"],"names":["useFontsLoaded","_a","useState","allFontsLoaded","setFontLoaded","useEffect","waitForFonts","_b","document","fonts","ready","then","undefined","useResizeThrottle","timeout","callback","throttledState","setThrottledState","timeoutRef","useRef","lastState","clientWidth","clientHeight","innerHeight","innerWidth","updateResizeState","window","current","documentElement","handleResize","setTimeout","addEventListener","removeEventListener","useEqualSheetHeight","props","defaultResponsive","__assign","small","medium","semilarge","large","xlarge","responsive","queries","useDynamicMediaQueries","customMediaQueries","mq","currentMq","Object","keys","reduce","acc","key","itemsPerRow","sheetRefs","setSheetRefs","fontsLoaded","setHeights","useCallback","heights","selector","refs","makeRows","result","_","index","arr","push","slice","heightsInRows","forEach","rowHeights","y","validHeights","filter","height","highest","sort","vA","vB","length","x","el","querySelector","setAttribute","concat","resizeState","resizeThrottleTimeout","resize","identifierSizes","Map","i","identifiers","set","ref","id","element","prevHeights","get","removeAttribute","getBoundingClientRect","value","resizeHandler","triggerCalculation","prev","Array","listLength","fill","map","createRef"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
var useIE = function (initialValue) {
|
|
4
|
+
var _a = useState(initialValue || false),
|
|
5
|
+
isIE = _a[0],
|
|
6
|
+
setIE = _a[1];
|
|
7
|
+
|
|
8
|
+
useEffect(function () {
|
|
9
|
+
setIE(document.body.style.msTouchAction !== undefined);
|
|
10
|
+
}, []);
|
|
11
|
+
return isIE;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { useIE as u };
|
|
15
|
+
//# sourceMappingURL=useIE-a9c56989.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIE-a9c56989.js","sources":["../src/utils/useIE.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useIE = (initialValue?: boolean) => {\n const [isIE, setIE] = useState(initialValue || false);\n\n useEffect(() => {\n setIE((document.body.style as any).msTouchAction !== undefined);\n }, []);\n return isIE;\n};\n\nexport default useIE;\n"],"names":["useIE","initialValue","_a","useState","isIE","setIE","useEffect","document","body","style","msTouchAction","undefined"],"mappings":";;AAEA,IAAMA,KAAK,GAAG,UAACC,YAAD,EAAuB;AAC3B,EAAA,IAAAC,EAAgB,GAAAC,QAAQ,CAACF,YAAY,IAAI,KAAjB,CAAxB;AAAA,MAACG,IAAI,GAAAF,EAAA,CAAA,CAAA,CAAL;AAAA,MAAOG,KAAK,QAAZ,CAAA;;AAENC,EAAAA,SAAS,CAAC,YAAA;AACND,IAAAA,KAAK,CAAEE,QAAQ,CAACC,IAAT,CAAcC,KAAd,CAA4BC,aAA5B,KAA8CC,SAAhD,CAAL,CAAA;AACH,GAFQ,EAEN,EAFM,CAAT,CAAA;AAGA,EAAA,OAAOP,IAAP,CAAA;AACH;;;;"}
|
|
@@ -81,5 +81,5 @@ var useLazyInput = function (callback, initial, delay) {
|
|
|
81
81
|
};
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
-
export { useLazyInput as u };
|
|
85
|
-
//# sourceMappingURL=useLazyInput-
|
|
84
|
+
export { useTimeout as a, useDebounce as b, useLazyInput as u };
|
|
85
|
+
//# sourceMappingURL=useLazyInput-54d1785c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLazyInput-
|
|
1
|
+
{"version":3,"file":"useLazyInput-54d1785c.js","sources":["../src/utils/useTimeout.ts","../src/utils/useDebounce.ts","../src/utils/useLazyInput.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nconst useTimeout = (callback: () => void, delay: number) => {\n const callbackRef = useRef(callback);\n const timeoutRef = useRef<number>();\n\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n timeoutRef.current = window.setTimeout(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n timeoutRef.current && window.clearTimeout(timeoutRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n};\n\nexport default useTimeout;\n","import { DependencyList, useEffect } from 'react';\nimport useTimeout from './useTimeout';\n\nconst useDebounce = (\n callback: () => void,\n delay: number,\n deps: DependencyList\n) => {\n const { clear, reset } = useTimeout(callback, delay);\n\n useEffect(reset, [...deps, reset]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(clear, []);\n\n return {\n clear,\n reset,\n };\n};\n\nexport default useDebounce;\n","import { useCallback, useState } from 'react';\nimport useDebounce from './useDebounce';\n\nconst useLazyInput = (\n callback: (value: string) => void,\n initial: string,\n delay = 600\n) => {\n const [value, setValue] = useState<string>(initial);\n const { clear } = useDebounce(() => callback?.(value), delay, [value]);\n\n const update = useCallback((value: string, withoutDelay = false) => {\n setValue(value);\n if (withoutDelay) {\n clear();\n callback?.(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const forceUpdate = useCallback(() => {\n clear();\n callback?.(value);\n }, [callback, clear, value]);\n\n return {\n update,\n value,\n forceUpdate,\n };\n};\n\nexport default useLazyInput;\n"],"names":["useTimeout","callback","delay","callbackRef","useRef","timeoutRef","useEffect","current","set","useCallback","window","setTimeout","_a","call","clear","clearTimeout","reset","useDebounce","deps","__spreadArray","useLazyInput","initial","useState","value","setValue","update","withoutDelay","forceUpdate"],"mappings":"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"}
|
|
@@ -155,5 +155,5 @@ var useDynamicMediaQueries = function (mq) {
|
|
|
155
155
|
return mediaQueries;
|
|
156
156
|
};
|
|
157
157
|
|
|
158
|
-
export { useMediaQueries as a,
|
|
159
|
-
//# sourceMappingURL=useMediaQuery-
|
|
158
|
+
export { useMediaQueries as a, useDynamicMediaQueries as b, getMediaQuery as g, isBrowser as i, useMediaQuery as u };
|
|
159
|
+
//# sourceMappingURL=useMediaQuery-b42fd64e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaQuery-b08dda62.js","sources":["../src/utils/useMediaQuery.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { MediaQueryType, mq } from './styles';\n\nexport const isBrowser =\n typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n// *****************\n// useBreakpoint\n// *****************\nconst checkMq = (cmq: MediaQueryType, checkMqs: MediaQueryType[]) => {\n return (\n isBrowser &&\n (checkMqs.length <= 0 || checkMqs.indexOf(cmq) > -1) &&\n (cmq !== 'small' ? window.matchMedia(mq[cmq]).matches : true)\n );\n};\n\nexport const getMediaQuery = (checkMqs: MediaQueryType[]): MediaQueryType => {\n if (checkMq('xxlarge', checkMqs)) {\n return 'xxlarge';\n } else if (checkMq('xlarge', checkMqs)) {\n return 'xlarge';\n } else if (checkMq('large', checkMqs)) {\n return 'large';\n } else if (checkMq('semilarge', checkMqs)) {\n return 'semilarge';\n } else if (checkMq('medium', checkMqs)) {\n return 'medium';\n } else {\n return 'small';\n }\n};\n\nexport const getMediaQueries = (): { [key in MediaQueryType]: boolean } => {\n return {\n small: true,\n medium: window.matchMedia(mq['medium']).matches,\n semilarge: window.matchMedia(mq['semilarge']).matches,\n large: window.matchMedia(mq['large']).matches,\n xlarge: window.matchMedia(mq['xlarge']).matches,\n xxlarge: window.matchMedia(mq['xxlarge']).matches,\n };\n};\n\nconst isEqual = (\n currentMqs: { [key in MediaQueryType]: boolean },\n newMqs: { [key in MediaQueryType]: boolean }\n) => {\n let isDifferent = false;\n\n for (const key in mq) {\n if (currentMqs[key] !== newMqs[key]) {\n isDifferent = true;\n break;\n }\n }\n\n return !isDifferent;\n};\n\nexport const useMediaQueries = () => {\n const [mediaQueries, setMediaQueries] = useState<\n { [key in MediaQueryType]: boolean }\n >({\n small: true,\n medium: false,\n semilarge: false,\n large: false,\n xlarge: false,\n xxlarge: false,\n });\n\n useEffect(() => {\n const handleResize = () => {\n const newMediaQueries = getMediaQueries();\n setMediaQueries((prev) => {\n if (!isEqual(prev, newMediaQueries)) {\n return newMediaQueries;\n } else return prev;\n });\n };\n\n window.addEventListener('resize', handleResize);\n setMediaQueries(getMediaQueries());\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return mediaQueries;\n};\n\nexport const useMediaQuery = (mqs?: MediaQueryType[]) => {\n const checkMqs = useMemo(() => mqs || [], [mqs]);\n const [mediaQuery, setMediaQuery] = useState<MediaQueryType | undefined>();\n\n useEffect(() => {\n const handleResize = () => {\n const newMediaQuery = getMediaQuery(checkMqs);\n\n if (newMediaQuery !== mediaQuery) {\n setMediaQuery(newMediaQuery);\n }\n };\n\n window.addEventListener('resize', handleResize);\n setMediaQuery(getMediaQuery(checkMqs));\n\n return () => window.removeEventListener('resize', handleResize);\n }, [checkMqs, mediaQuery]);\n\n return mediaQuery;\n};\n\nexport interface MediaQueries {\n [key: string]: string;\n}\n\nexport const useDynamicMediaQueries = <QueryMap extends MediaQueries>(\n mq: QueryMap\n) => {\n const [mediaQueries, setMediaQueries] = useState<\n { [key in keyof QueryMap]: boolean }\n >(() => {\n return Object.keys(mq).reduce((acc, current) => {\n const copy = { ...acc };\n copy[current] = false;\n return copy;\n }, {}) as Record<keyof QueryMap, boolean>;\n });\n\n useEffect(() => {\n const getMq = () => {\n const newQueryState = {};\n\n for (const key in mq) {\n newQueryState[key as string] = window.matchMedia(\n mq[key]\n ).matches;\n }\n return newQueryState as Record<keyof QueryMap, boolean>;\n };\n\n const setQueries = (newQueries: Record<keyof QueryMap, boolean>) => {\n setMediaQueries((prev) => {\n for (const key in newQueries) {\n if (prev[key] === undefined) return newQueries;\n if (newQueries[key] !== prev[key]) {\n return newQueries;\n }\n }\n return prev;\n });\n };\n\n const handleResize = () => {\n setQueries(getMq());\n };\n\n window.addEventListener('resize', handleResize);\n setQueries(getMq());\n\n return () => window.removeEventListener('resize', handleResize);\n }, [mq, mediaQueries]);\n\n return mediaQueries;\n};\n"],"names":["isBrowser","window","document","checkMq","cmq","checkMqs","length","indexOf","matchMedia","mq","matches","getMediaQuery","getMediaQueries","small","medium","semilarge","large","xlarge","xxlarge","isEqual","currentMqs","newMqs","isDifferent","key","useMediaQueries","_a","useState","mediaQueries","setMediaQueries","useEffect","handleResize","newMediaQueries","prev","addEventListener","removeEventListener","useMediaQuery","mqs","useMemo","mediaQuery","setMediaQuery","newMediaQuery","useDynamicMediaQueries","Object","keys","reduce","acc","current","copy","__assign","getMq","newQueryState","setQueries","newQueries","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMediaQuery-b42fd64e.js","sources":["../src/utils/useMediaQuery.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { MediaQueryType, mq } from './styles';\n\nexport const isBrowser =\n typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n// *****************\n// useBreakpoint\n// *****************\nconst checkMq = (cmq: MediaQueryType, checkMqs: MediaQueryType[]) => {\n return (\n isBrowser &&\n (checkMqs.length <= 0 || checkMqs.indexOf(cmq) > -1) &&\n (cmq !== 'small' ? window.matchMedia(mq[cmq]).matches : true)\n );\n};\n\nexport const getMediaQuery = (checkMqs: MediaQueryType[]): MediaQueryType => {\n if (checkMq('xxlarge', checkMqs)) {\n return 'xxlarge';\n } else if (checkMq('xlarge', checkMqs)) {\n return 'xlarge';\n } else if (checkMq('large', checkMqs)) {\n return 'large';\n } else if (checkMq('semilarge', checkMqs)) {\n return 'semilarge';\n } else if (checkMq('medium', checkMqs)) {\n return 'medium';\n } else {\n return 'small';\n }\n};\n\nexport const getMediaQueries = (): { [key in MediaQueryType]: boolean } => {\n return {\n small: true,\n medium: window.matchMedia(mq['medium']).matches,\n semilarge: window.matchMedia(mq['semilarge']).matches,\n large: window.matchMedia(mq['large']).matches,\n xlarge: window.matchMedia(mq['xlarge']).matches,\n xxlarge: window.matchMedia(mq['xxlarge']).matches,\n };\n};\n\nconst isEqual = (\n currentMqs: { [key in MediaQueryType]: boolean },\n newMqs: { [key in MediaQueryType]: boolean }\n) => {\n let isDifferent = false;\n\n for (const key in mq) {\n if (currentMqs[key] !== newMqs[key]) {\n isDifferent = true;\n break;\n }\n }\n\n return !isDifferent;\n};\n\nexport const useMediaQueries = () => {\n const [mediaQueries, setMediaQueries] = useState<\n { [key in MediaQueryType]: boolean }\n >({\n small: true,\n medium: false,\n semilarge: false,\n large: false,\n xlarge: false,\n xxlarge: false,\n });\n\n useEffect(() => {\n const handleResize = () => {\n const newMediaQueries = getMediaQueries();\n setMediaQueries((prev) => {\n if (!isEqual(prev, newMediaQueries)) {\n return newMediaQueries;\n } else return prev;\n });\n };\n\n window.addEventListener('resize', handleResize);\n setMediaQueries(getMediaQueries());\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return mediaQueries;\n};\n\nexport const useMediaQuery = (mqs?: MediaQueryType[]) => {\n const checkMqs = useMemo(() => mqs || [], [mqs]);\n const [mediaQuery, setMediaQuery] = useState<MediaQueryType | undefined>();\n\n useEffect(() => {\n const handleResize = () => {\n const newMediaQuery = getMediaQuery(checkMqs);\n\n if (newMediaQuery !== mediaQuery) {\n setMediaQuery(newMediaQuery);\n }\n };\n\n window.addEventListener('resize', handleResize);\n setMediaQuery(getMediaQuery(checkMqs));\n\n return () => window.removeEventListener('resize', handleResize);\n }, [checkMqs, mediaQuery]);\n\n return mediaQuery;\n};\n\nexport interface MediaQueries {\n [key: string]: string;\n}\n\nexport const useDynamicMediaQueries = <QueryMap extends MediaQueries>(\n mq: QueryMap\n) => {\n const [mediaQueries, setMediaQueries] = useState<\n { [key in keyof QueryMap]: boolean }\n >(() => {\n return Object.keys(mq).reduce((acc, current) => {\n const copy = { ...acc };\n copy[current] = false;\n return copy;\n }, {}) as Record<keyof QueryMap, boolean>;\n });\n\n useEffect(() => {\n const getMq = () => {\n const newQueryState = {};\n\n for (const key in mq) {\n newQueryState[key as string] = window.matchMedia(\n mq[key]\n ).matches;\n }\n return newQueryState as Record<keyof QueryMap, boolean>;\n };\n\n const setQueries = (newQueries: Record<keyof QueryMap, boolean>) => {\n setMediaQueries((prev) => {\n for (const key in newQueries) {\n if (prev[key] === undefined) return newQueries;\n if (newQueries[key] !== prev[key]) {\n return newQueries;\n }\n }\n return prev;\n });\n };\n\n const handleResize = () => {\n setQueries(getMq());\n };\n\n window.addEventListener('resize', handleResize);\n setQueries(getMq());\n\n return () => window.removeEventListener('resize', handleResize);\n }, [mq, mediaQueries]);\n\n return mediaQueries;\n};\n"],"names":["isBrowser","window","document","checkMq","cmq","checkMqs","length","indexOf","matchMedia","mq","matches","getMediaQuery","getMediaQueries","small","medium","semilarge","large","xlarge","xxlarge","isEqual","currentMqs","newMqs","isDifferent","key","useMediaQueries","_a","useState","mediaQueries","setMediaQueries","useEffect","handleResize","newMediaQueries","prev","addEventListener","removeEventListener","useMediaQuery","mqs","useMemo","mediaQuery","setMediaQuery","newMediaQuery","useDynamicMediaQueries","Object","keys","reduce","acc","current","copy","__assign","getMq","newQueryState","setQueries","newQueries","undefined"],"mappings":"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"}
|
package/package.json
CHANGED
package/types/hooks.d.ts
CHANGED
|
@@ -1,37 +1,36 @@
|
|
|
1
1
|
/***** Hooks *****/
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export * from "./utils/useObserverSupport";
|
|
2
|
+
export { useEqualSheetHeight } from "./utils/useEqualSheetHeight";
|
|
3
|
+
export { default as useIE } from "./utils/useIE";
|
|
4
|
+
export { useItemHeight } from "./utils/useItemHeight";
|
|
5
|
+
export { useFontsLoaded } from "./utils/useFontsLoaded";
|
|
6
|
+
export { getMediaQuery, isBrowser, useMediaQuery, useMediaQueries, useDynamicMediaQueries, } from "./utils/useMediaQuery";
|
|
7
|
+
export { useScroll, ScrollDirection } from "./utils/useScroll";
|
|
8
|
+
export { useScrollTo } from "./utils/useScrollTo";
|
|
9
|
+
export { usePoster, canUseWebP } from "./utils/usePoster";
|
|
10
|
+
export { default as useInterval } from "./utils/useInterval";
|
|
11
|
+
export { default as useTouch } from "./utils/useTouch";
|
|
12
|
+
export { default as useUpdateEffect } from "./utils/useUpdateEffect";
|
|
13
|
+
export { default as useMounted } from "./utils/useMounted";
|
|
14
|
+
export { default as useTimeout } from "./utils/useTimeout";
|
|
15
|
+
export { default as useDebounce } from "./utils/useDebounce";
|
|
16
|
+
export { default as useScrollThrottle } from "./utils/useScrollThrottle";
|
|
17
|
+
export { default as useResizeThrottle } from "./utils/useResizeThrottle";
|
|
18
|
+
export { default as useLazyInput } from "./utils/useLazyInput";
|
|
19
|
+
export { default as useArray } from "./utils/useArray";
|
|
20
|
+
export { useImgPreload } from "./utils/useImgPreload";
|
|
21
|
+
export { hexToRgba } from "./utils/hexRgbConverter";
|
|
22
|
+
export { getBgImage } from "./utils/backgroundImage";
|
|
23
|
+
export { clampValue } from "./utils/clamp";
|
|
24
|
+
export { importFonts } from "./utils/fontLoading";
|
|
25
|
+
export { getCurrentNavItem, getCurrentNavPath } from "./utils/navigation";
|
|
26
|
+
export { isEmptyArray, isValidArray } from "./utils/arrays";
|
|
27
|
+
export { concat, printAnchorTag } from "./utils/concat";
|
|
28
|
+
export { getLinkIcon } from "./utils/getLinkIcon";
|
|
29
|
+
export { default as useLeafletMap } from "./utils/useLeafletMap";
|
|
30
|
+
export { default as useParams } from "./utils/useParams";
|
|
31
|
+
export { default as useGeolocation } from "./utils/useGeolocation";
|
|
32
|
+
export { useObserverSupport } from "./utils/useObserverSupport";
|
|
34
33
|
export * from "./utils/urlParams";
|
|
35
34
|
export * from "./utils/dataURI";
|
|
36
|
-
export
|
|
35
|
+
export { default as useCookieConsent, selectors, } from "./utils/cookie-consent/useCookieConsent";
|
|
37
36
|
//# sourceMappingURL=hooks.d.ts.map
|
package/types/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,mBAAmB,EAAE,MA2C2sB,6BAA6B,CA3CtsB;AAChE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MA0C2uB,eAAe,CA1CtuB;AAC/C,OAAO,EAAE,aAAa,EAAE,MAyC6vB,uBAAuB,CAzCxvB;AACpD,OAAO,EAAE,cAAc,EAAE,MAwCmxB,wBAAwB,CAxC9wB;AACtD,OAAO,EACH,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,sBAAsB,GACzB,MAiCm0B,uBAAuB,CAjC9zB;AAC7B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAgCszB,mBAAmB,CAhCjzB;AAC7D,OAAO,EAAE,WAAW,EAAE,MA+Bw1B,qBAAqB,CA/Bn1B;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MA8Bm2B,mBAAmB,CA9B91B;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MA6Bq3B,qBAAqB,CA7Bh3B;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MA4B64B,kBAAkB,CA5Bx4B;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MA2Bw5B,yBAAyB,CA3Bn5B;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MA0Bs7B,oBAAoB,CA1Bj7B;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAyB08B,oBAAoB,CAzBr8B;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAwB69B,qBAAqB,CAxBx9B;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAuB4+B,2BAA2B,CAvBv+B;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAsBugC,2BAA2B,CAtBlgC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAqBuiC,sBAAsB,CArBliC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAoBikC,kBAAkB,CApB5jC;AACrD,OAAO,EAAE,aAAa,EAAE,MAmBylC,uBAAuB,CAnBplC;AACpD,OAAO,EAAE,SAAS,EAAE,MAkBonC,yBAAyB,CAlB/mC;AAClD,OAAO,EAAE,UAAU,EAAE,MAiB4oC,yBAAyB,CAjBvoC;AACnD,OAAO,EAAE,UAAU,EAAE,MAgBqqC,eAAe,CAhBhqC;AACzC,OAAO,EAAE,WAAW,EAAE,MAemrC,qBAAqB,CAf9qC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAc+qC,oBAAoB,CAd1qC;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAa6sC,gBAAgB,CAbxsC;AAC1D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAYiuC,gBAAgB,CAZ5tC;AACtD,OAAO,EAAE,WAAW,EAAE,MAW4vC,qBAAqB,CAXvvC;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAUowC,uBAAuB,CAV/vC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAS+xC,mBAAmB,CAT1xC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAQ6yC,wBAAwB,CARxyC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAO40C,4BAA4B,CAPv0C;AAC9D,cAMq4C,mBAAmB,CANx3C;AAChC,cAKw5C,iBAAiB,CAL34C;AAC9B,OAAO,EACH,OAAO,IAAI,gBAAgB,EAC3B,SAAS,GACZ,MACw6C,yCAAyC,CADn6C"}
|