Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@haensl/react-hooks

Package Overview
Dependencies
Maintainers
0
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@haensl/react-hooks - npm Package Compare versions

Comparing version
1.14.0
to
1.14.1
+2
-2
dist/hooks.cjs.js

@@ -1,2 +0,2 @@

// https://github.com/haensl/hooks#readme v1.14.0 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>
// https://github.com/haensl/hooks#readme v1.14.1 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>
'use strict';

@@ -68,3 +68,3 @@

// https://github.com/haensl/services#readme v1.4.8 Copyright 2023 HP Dietz <h.p.dietz@gmail.com>
// https://github.com/haensl/services#readme v1.5.1 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>

@@ -71,0 +71,0 @@ var hasWindow = (() => {

@@ -1,1 +0,1 @@

{"version":3,"file":"hooks.cjs.js","sources":["../src/useAnimationFrame/index.js","../src/useBoundingClientRect/index.js","../src/useClassNames/index.js","../node_modules/@haensl/services/dist/services.esm.js","../src/useDebounce/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useInterval/index.js","../src/useIsMounted/index.js","../src/useIsScrolling/index.js","../src/useLang/index.js","../src/useOnScroll/index.js","../src/usePrevious/index.js","../src/useTimeout/index.js","../src/useWindowScroll/index.js","../src/useWindowSize/index.js","../src/index.js"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nconst useAnimationFrame = (callback) => {\n const requestRef = useRef();\n const previousTimeRef = useRef();\n const animate = useCallback((time) => {\n if (typeof previousTimeRef.current !== 'undefined') {\n const deltaTime = time - previousTimeRef.current;\n callback(deltaTime);\n }\n\n previousTimeRef.current = time;\n requestRef.current = requestAnimationFrame(animate);\n }, [previousTimeRef, requestRef, callback]);\n\n useEffect(() => {\n requestRef.current = requestAnimationFrame(animate);\n return () => {\n cancelAnimationFrame(requestRef.current);\n };\n }, [animate]);\n};\n\nexport default useAnimationFrame;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsomorphicLayoutEffect, useWindowSize } from '../';\n\nconst useBoundingClientRect = (ref, debounceMs = 25) => {\n const [boundingClientRect, setBoundingClientRect] = useState(null);\n const windowSize = useWindowSize(debounceMs);\n\n const onResize = useCallback(({ target }) => {\n if (!target) {\n return;\n }\n\n const clientRect = target.getBoundingClientRect();\n setBoundingClientRect(clientRect);\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref.current;\n\n if (!current) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(onResizeDebounced);\n resizeObserver.observe(current);\n onResize({ target: current });\n return () => {\n resizeObserver.unobserve(current);\n };\n }, [ ref, onResize, onResizeDebounced]);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref && ref.current;\n if (!current || typeof onResize !== 'function') {\n return;\n }\n\n onResize({\n target: current\n });\n }, [ref, onResize, windowSize]);\n\n return boundingClientRect;\n};\n\nexport default useBoundingClientRect;\n","import { useMemo } from 'react';\n\nconst useClassNames = (states = {}, separator = ' ') =>\n useMemo(\n () =>\n Object.keys(states)\n .filter((key) => states[key])\n .join(separator)\n .trim(),\n [states, separator]\n );\n\nexport default useClassNames;\n","// https://github.com/haensl/services#readme v1.4.8 Copyright 2023 HP Dietz <h.p.dietz@gmail.com>\nvar className = function className(states, basename) {\n var separator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '--';\n return \"\".concat(basename, \" \").concat(Object.keys(states).filter(state => states[state]).map(state => \"\".concat(basename).concat(separator).concat(state)).join(' ')).trim();\n};\nvar setInputValue = (input, value) => {\n Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set.call(input, value);\n input.dispatchEvent(new Event('input', {\n bubbles: true\n }));\n};\nvar _component = {\n className,\n setInputValue\n};\n\nvar rand = function rand() {\n var {\n min = 0,\n max = 1\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Math.random() * (max - min) + min;\n};\nvar randInt = _ref => {\n var {\n min,\n max\n } = _ref;\n return Math.floor(Math.random() * (max + 1 - min) + min);\n};\nvar _numbers = {\n rand,\n randInt\n};\n\nvar hasWindow = (() => {\n try {\n return typeof window === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocument = (() => {\n try {\n return typeof document === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocumentElement = hasDocument && typeof document.documentElement === 'object';\nvar hasSessionStorage = hasWindow && typeof window.sessionStorage === 'object';\nvar hasLocalStorage = hasWindow && typeof window.localStorage === 'object';\nvar scrollPosition = () => {\n if (hasWindow && typeof window.scrollX === 'number' && !Number.isNaN(window.scrollX)) {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n } else if (hasDocumentElement && typeof document.documentElement.scrollLeft === 'number' && !Number.isNaN(document.documentElement.scrollLeft)) {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop\n };\n }\n return null;\n};\nvar _platform = {\n hasDocument,\n hasDocumentElement,\n hasLocalStorage,\n hasSessionStorage,\n hasWindow,\n scrollPosition\n};\n\nvar debounce = function debounce(fun, waitMs, immediate) {\n var timeout;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var context = this;\n var later = () => {\n timeout = null;\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n if (callNow) {\n fun.apply(context, args);\n }\n };\n};\nvar _throttle = {\n debounce\n};\n\nvar component = _component;\nvar numbers = _numbers;\nvar platform = _platform;\nvar throttle = _throttle;\nvar index = {\n component,\n numbers,\n platform,\n throttle\n};\n\nexport { component, index as default, numbers, platform, throttle };\n//# sourceMappingURL=services.esm.js.map\n","import { useMemo } from 'react';\nimport { throttle } from '@haensl/services';\n\nconst useDebounce = (fn, debounceMs) => {\n if (typeof fn !== 'function') {\n throw new TypeError(`Invalid type. Expected function but received ${typeof fn}`);\n }\n\n if (typeof debounceMs !== 'number') {\n throw new TypeError(`Invalid type. Expected number but received ${typeof debounceMs}`);\n }\n\n return useMemo(\n () => throttle.debounce(fn, parseInt(debounceMs, 10)),\n [fn, debounceMs]\n );\n};\n\nexport default useDebounce;\n\n","import { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useInterval = (callback, intervalMs) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (typeof cb.current !== 'function') {\n return;\n }\n\n const intervalId = setInterval(() => cb.current(), intervalMs);\n return () => {\n clearInterval(intervalId);\n };\n }, [intervalMs]);\n};\n\nexport default useInterval;\n","import { useCallback, useEffect, useRef } from 'react';\n\nconst useIsMounted = () => {\n const mountRef = useRef(true);\n const isMounted = useCallback(() => mountRef.current, [mountRef]);\n\n useEffect(() => {\n return () => {\n mountRef.current = false;\n };\n }, []);\n\n return isMounted;\n};\n\nexport default useIsMounted;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsMounted, useOnScroll } from '../';\n\nconst useIsScrolling = (\n el = window,\n scrollEndMs = 100\n) => {\n const [isScrolling, setIsScrolling] = useState(false);\n const isMounted = useIsMounted();\n const onScroll = useCallback(() => {\n setIsScrolling(true);\n }, []);\n const onScrollEnd = useCallback(() => {\n if (isMounted()) {\n setIsScrolling(false);\n }\n }, [isMounted]);\n\n useOnScroll(onScroll, el);\n useOnScroll(useDebounce(onScrollEnd, scrollEndMs), el);\n\n return isScrolling;\n};\n\nexport default useIsScrolling;\n","const useLang = ({ defaultLang = 'en' } = {}) => {\n if (typeof navigator === 'object') {\n return (navigator.language || navigator.userLanguage || defaultLang).slice(0, 2);\n }\n\n return defaultLang;\n};\n\nexport default useLang;\n","import { useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useOnScroll = (callback, el = platform.hasWindow && window) => {\n useEffect(() => {\n el.addEventListener('scroll', callback);\n\n return () => {\n el.removeEventListener('scroll', callback);\n };\n }, [callback, el]);\n};\n\nexport default useOnScroll;\n","import { useEffect, useRef } from 'react';\n\nconst usePrevious = (value) => {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n};\n\nexport default usePrevious;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useTimeout = (callback, timeoutMs = 0) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n cb.current();\n }, timeoutMs);\n\n return () => {\n clearTimeout(timeoutId);\n };\n }, [timeoutMs]);\n};\n\nexport default useTimeout;\n","import { useCallback, useState } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce, useOnScroll } from '../';\n\nconst useWindowScroll = (debounceMs = 25) => {\n const [scrollPosition, setScrollPosition]\n = useState(platform.scrollPosition());\n\n const onScroll = useCallback(() => {\n setScrollPosition(platform.scrollPosition());\n }, []);\n\n const onScrollDebounced = useDebounce(onScroll, debounceMs);\n\n useOnScroll(onScrollDebounced);\n\n return scrollPosition;\n};\n\nexport default useWindowScroll;\n\n","import { useState, useCallback, useEffect } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce } from '../';\n\nconst useWindowSize = (debounceMs = 25) => {\n const [size, setSize] = useState(null);\n const onResize = useCallback(() => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useEffect(() => {\n if (!platform.hasWindow) {\n return;\n }\n\n window.addEventListener('resize', onResizeDebounced);\n onResize();\n return () => {\n window.removeEventListener('resize', onResizeDebounced);\n };\n }, [onResize, onResizeDebounced]);\n\n return size;\n};\n\nexport default useWindowSize;\n","import _useAnimationFrame from './useAnimationFrame';\nimport _useBoundingClientRect from './useBoundingClientRect';\nimport _useClassNames from './useClassNames';\nimport _useDebounce from './useDebounce';\nimport _useInterval from './useInterval';\nimport _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useLang from './useLang';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\nimport _useTimeout from './useTimeout';\nimport _useWindowScroll from './useWindowScroll';\nimport _useWindowSize from './useWindowSize';\n\nexport const useAnimationFrame = _useAnimationFrame;\nexport const useBoundingClientRect = _useBoundingClientRect;\nexport const useClassNames = _useClassNames;\nexport const useDebounce = _useDebounce;\nexport const useInterval = _useInterval;\nexport const useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useLang = _useLang;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useTimeout = _useTimeout;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useInterval,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useLang,\n useOnScroll,\n usePrevious,\n useTimeout,\n useWindowScroll,\n useWindowSize\n};\n\nexport default exports;\n"],"names":["useAnimationFrame","callback","requestRef","useRef","previousTimeRef","animate","useCallback","time","current","deltaTime","requestAnimationFrame","useEffect","cancelAnimationFrame","useBoundingClientRect","ref","debounceMs","boundingClientRect","setBoundingClientRect","useState","windowSize","useWindowSize","onResize","target","clientRect","getBoundingClientRect","onResizeDebounced","useDebounce","useIsomorphicLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","useClassNames","states","separator","useMemo","Object","keys","filter","key","join","trim","fn","TypeError","throttle","debounce","parseInt","platform","hasWindow","useLayoutEffect","useInterval","intervalMs","cb","intervalId","setInterval","clearInterval","useIsMounted","mountRef","isMounted","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","useLang","defaultLang","navigator","language","userLanguage","slice","addEventListener","removeEventListener","usePrevious","value","useTimeout","timeoutMs","timeoutId","setTimeout","clearTimeout","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useInterval","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useLang","_useOnScroll","_usePrevious","_useTimeout","_useWindowScroll","_useWindowSize","exports"],"mappings":";;;;;;;AAEA,MAAMA,mBAAiB,GAAIC,QAAQ,IAAK;AACtC,EAAA,MAAMC,UAAU,GAAGC,YAAM,EAAE,CAAA;AAC3B,EAAA,MAAMC,eAAe,GAAGD,YAAM,EAAE,CAAA;AAChC,EAAA,MAAME,OAAO,GAAGC,iBAAW,CAAEC,IAAI,IAAK;AACpC,IAAA,IAAI,OAAOH,eAAe,CAACI,OAAO,KAAK,WAAW,EAAE;AAClD,MAAA,MAAMC,SAAS,GAAGF,IAAI,GAAGH,eAAe,CAACI,OAAO,CAAA;MAChDP,QAAQ,CAACQ,SAAS,CAAC,CAAA;AACrB,KAAA;IAEAL,eAAe,CAACI,OAAO,GAAGD,IAAI,CAAA;AAC9BL,IAAAA,UAAU,CAACM,OAAO,GAAGE,qBAAqB,CAACL,OAAO,CAAC,CAAA;GACpD,EAAE,CAACD,eAAe,EAAEF,UAAU,EAAED,QAAQ,CAAC,CAAC,CAAA;AAE3CU,EAAAA,eAAS,CAAC,MAAM;AACdT,IAAAA,UAAU,CAACM,OAAO,GAAGE,qBAAqB,CAACL,OAAO,CAAC,CAAA;AACnD,IAAA,OAAO,MAAM;AACXO,MAAAA,oBAAoB,CAACV,UAAU,CAACM,OAAO,CAAC,CAAA;KACzC,CAAA;AACH,GAAC,EAAE,CAACH,OAAO,CAAC,CAAC,CAAA;AACf,CAAC;;AClBD,MAAMQ,uBAAqB,GAAGA,CAACC,GAAG,EAAEC,UAAU,GAAG,EAAE,KAAK;EACtD,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGC,cAAQ,CAAC,IAAI,CAAC,CAAA;AAClE,EAAA,MAAMC,UAAU,GAAGC,aAAa,CAACL,UAAU,CAAC,CAAA;AAE5C,EAAA,MAAMM,QAAQ,GAAGf,iBAAW,CAAC,CAAC;AAAEgB,IAAAA,MAAAA;AAAO,GAAC,KAAK;IAC3C,IAAI,CAACA,MAAM,EAAE;AACX,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMC,UAAU,GAAGD,MAAM,CAACE,qBAAqB,EAAE,CAAA;IACjDP,qBAAqB,CAACM,UAAU,CAAC,CAAA;GAClC,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAME,iBAAiB,GAAGC,WAAW,CAACL,QAAQ,EAAEN,UAAU,CAAC,CAAA;AAE3DY,EAAAA,yBAAyB,CAAC,MAAM;AAC9B,IAAA,MAAMnB,OAAO,GAAGM,GAAG,CAACN,OAAO,CAAA;IAE3B,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMoB,cAAc,GAAG,IAAIC,cAAc,CAACJ,iBAAiB,CAAC,CAAA;AAC5DG,IAAAA,cAAc,CAACE,OAAO,CAACtB,OAAO,CAAC,CAAA;AAC/Ba,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,MAAM,EAAEd,OAAAA;AAAQ,KAAC,CAAC,CAAA;AAC7B,IAAA,OAAO,MAAM;AACXoB,MAAAA,cAAc,CAACG,SAAS,CAACvB,OAAO,CAAC,CAAA;KAClC,CAAA;GACF,EAAE,CAAEM,GAAG,EAAEO,QAAQ,EAAEI,iBAAiB,CAAC,CAAC,CAAA;AAEvCE,EAAAA,yBAAyB,CAAC,MAAM;AAC9B,IAAA,MAAMnB,OAAO,GAAGM,GAAG,IAAIA,GAAG,CAACN,OAAO,CAAA;AAClC,IAAA,IAAI,CAACA,OAAO,IAAI,OAAOa,QAAQ,KAAK,UAAU,EAAE;AAC9C,MAAA,OAAA;AACF,KAAA;AAEAA,IAAAA,QAAQ,CAAC;AACPC,MAAAA,MAAM,EAAEd,OAAAA;AACV,KAAC,CAAC,CAAA;GACH,EAAE,CAACM,GAAG,EAAEO,QAAQ,EAAEF,UAAU,CAAC,CAAC,CAAA;AAE/B,EAAA,OAAOH,kBAAkB,CAAA;AAC3B,CAAC;;AC3CD,MAAMgB,eAAa,GAAGA,CAACC,MAAM,GAAG,EAAE,EAAEC,SAAS,GAAG,GAAG,KACjDC,aAAO,CACL,MACEC,MAAM,CAACC,IAAI,CAACJ,MAAM,CAAC,CAChBK,MAAM,CAAEC,GAAG,IAAKN,MAAM,CAACM,GAAG,CAAC,CAAC,CAC5BC,IAAI,CAACN,SAAS,CAAC,CACfO,IAAI,EAAE,EACX,CAACR,MAAM,EAAEC,SAAS,CACpB,CAAC;;ACVH;AAkCA;AACA,IAAI,SAAS,GAAG,CAAC,MAAM;AACvB,EAAE,IAAI;AACN,IAAI,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACtC,GAAG,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,CAAC,GAAG,CAAC;AACL,IAAI,WAAW,GAAG,CAAC,MAAM;AACzB,EAAE,IAAI;AACN,IAAI,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC;AACxC,GAAG,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,CAAC,GAAG,CAAC;AACL,IAAI,kBAAkB,GAAG,WAAW,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC;AACrF,IAAI,iBAAiB,GAAG,SAAS,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC;AAC/E,IAAI,eAAe,GAAG,SAAS,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC;AAC3E,IAAI,cAAc,GAAG,MAAM;AAC3B,EAAE,IAAI,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;AACxF,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;AACvB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;AACvB,KAAK,CAAC;AACN,GAAG,MAAM,IAAI,kBAAkB,IAAI,OAAO,QAAQ,CAAC,eAAe,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;AAClJ,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU;AAC5C,MAAM,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS;AAC3C,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,IAAI,SAAS,GAAG;AAChB,EAAE,WAAW;AACb,EAAE,kBAAkB;AACpB,EAAE,eAAe;AACjB,EAAE,iBAAiB;AACnB,EAAE,SAAS;AACX,EAAE,cAAc;AAChB,CAAC,CAAC;AACF;AACA,IAAI,QAAQ,GAAG,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;AACzD,EAAE,IAAI,OAAO,CAAC;AACd,EAAE,OAAO,YAAY;AACrB,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;AACvB,IAAI,IAAI,KAAK,GAAG,MAAM;AACtB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,IAAI,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;AACxC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1B,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxC,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/B,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,IAAI,SAAS,GAAG;AAChB,EAAE,QAAQ;AACV,CAAC,CAAC;AAIF,IAAI,QAAQ,GAAG,SAAS,CAAC;AACzB,IAAI,QAAQ,GAAG,SAAS;;ACpGxB,MAAMR,aAAW,GAAGA,CAACgB,EAAE,EAAE3B,UAAU,KAAK;AACtC,EAAA,IAAI,OAAO2B,EAAE,KAAK,UAAU,EAAE;AAC5B,IAAA,MAAM,IAAIC,SAAS,CAAE,gDAA+C,OAAOD,EAAG,EAAC,CAAC,CAAA;AAClF,GAAA;AAEA,EAAA,IAAI,OAAO3B,UAAU,KAAK,QAAQ,EAAE;AAClC,IAAA,MAAM,IAAI4B,SAAS,CAAE,8CAA6C,OAAO5B,UAAW,EAAC,CAAC,CAAA;AACxF,GAAA;EAEA,OAAOoB,aAAO,CACZ,MAAMS,QAAQ,CAACC,QAAQ,CAACH,EAAE,EAAEI,QAAQ,CAAC/B,UAAU,EAAE,EAAE,CAAC,CAAC,EACrD,CAAC2B,EAAE,EAAE3B,UAAU,CACjB,CAAC,CAAA;AACH,CAAC;;ACbD,MAAMY,2BAAyB,GAAGoB,QAAQ,CAACC,SAAS,GAChDC,qBAAe,GACftC,eAAS;;ACFb,MAAMuC,aAAW,GAAGA,CAACjD,QAAQ,EAAEkD,UAAU,KAAK;AAC5C,EAAA,MAAMC,EAAE,GAAGjD,YAAM,CAACF,QAAQ,CAAC,CAAA;AAE3B0B,EAAAA,2BAAyB,CAAC,MAAM;IAC9ByB,EAAE,CAAC5C,OAAO,GAAGP,QAAQ,CAAA;AACvB,GAAC,EAAE,CAACA,QAAQ,CAAC,CAAC,CAAA;AAEdU,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAI,OAAOyC,EAAE,CAAC5C,OAAO,KAAK,UAAU,EAAE;AACpC,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAM6C,UAAU,GAAGC,WAAW,CAAC,MAAMF,EAAE,CAAC5C,OAAO,EAAE,EAAE2C,UAAU,CAAC,CAAA;AAC9D,IAAA,OAAO,MAAM;MACXI,aAAa,CAACF,UAAU,CAAC,CAAA;KAC1B,CAAA;AACH,GAAC,EAAE,CAACF,UAAU,CAAC,CAAC,CAAA;AAClB,CAAC;;AClBD,MAAMK,cAAY,GAAGA,MAAM;AACzB,EAAA,MAAMC,QAAQ,GAAGtD,YAAM,CAAC,IAAI,CAAC,CAAA;AAC7B,EAAA,MAAMuD,SAAS,GAAGpD,iBAAW,CAAC,MAAMmD,QAAQ,CAACjD,OAAO,EAAE,CAACiD,QAAQ,CAAC,CAAC,CAAA;AAEjE9C,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,OAAO,MAAM;MACX8C,QAAQ,CAACjD,OAAO,GAAG,KAAK,CAAA;KACzB,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOkD,SAAS,CAAA;AAClB,CAAC;;ACVD,MAAMC,gBAAc,GAAGA,CACrBC,EAAE,GAAGC,MAAM,EACXC,WAAW,GAAG,GAAG,KACd;EACH,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG9C,cAAQ,CAAC,KAAK,CAAC,CAAA;AACrD,EAAA,MAAMwC,SAAS,GAAGF,YAAY,EAAE,CAAA;AAChC,EAAA,MAAMS,QAAQ,GAAG3D,iBAAW,CAAC,MAAM;IACjC0D,cAAc,CAAC,IAAI,CAAC,CAAA;GACrB,EAAE,EAAE,CAAC,CAAA;AACN,EAAA,MAAME,WAAW,GAAG5D,iBAAW,CAAC,MAAM;IACpC,IAAIoD,SAAS,EAAE,EAAE;MACfM,cAAc,CAAC,KAAK,CAAC,CAAA;AACvB,KAAA;AACF,GAAC,EAAE,CAACN,SAAS,CAAC,CAAC,CAAA;AAEfS,EAAAA,WAAW,CAACF,QAAQ,EAAEL,EAAE,CAAC,CAAA;EACzBO,WAAW,CAACzC,WAAW,CAACwC,WAAW,EAAEJ,WAAW,CAAC,EAAEF,EAAE,CAAC,CAAA;AAEtD,EAAA,OAAOG,WAAW,CAAA;AACpB,CAAC;;ACtBD,MAAMK,SAAO,GAAGA,CAAC;AAAEC,EAAAA,WAAW,GAAG,IAAA;AAAK,CAAC,GAAG,EAAE,KAAK;AAC/C,EAAA,IAAI,OAAOC,SAAS,KAAK,QAAQ,EAAE;AACjC,IAAA,OAAO,CAACA,SAAS,CAACC,QAAQ,IAAID,SAAS,CAACE,YAAY,IAAIH,WAAW,EAAEI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAClF,GAAA;AAEA,EAAA,OAAOJ,WAAW,CAAA;AACpB,CAAC;;ACHD,MAAMF,aAAW,GAAGA,CAAClE,QAAQ,EAAE2D,EAAE,GAAGb,QAAQ,CAACC,SAAS,IAAIa,MAAM,KAAK;AACnElD,EAAAA,eAAS,CAAC,MAAM;AACdiD,IAAAA,EAAE,CAACc,gBAAgB,CAAC,QAAQ,EAAEzE,QAAQ,CAAC,CAAA;AAEvC,IAAA,OAAO,MAAM;AACX2D,MAAAA,EAAE,CAACe,mBAAmB,CAAC,QAAQ,EAAE1E,QAAQ,CAAC,CAAA;KAC3C,CAAA;AACH,GAAC,EAAE,CAACA,QAAQ,EAAE2D,EAAE,CAAC,CAAC,CAAA;AACpB,CAAC;;ACTD,MAAMgB,aAAW,GAAIC,KAAK,IAAK;AAC7B,EAAA,MAAM/D,GAAG,GAAGX,YAAM,EAAE,CAAA;AAEpBQ,EAAAA,eAAS,CAAC,MAAM;IACdG,GAAG,CAACN,OAAO,GAAGqE,KAAK,CAAA;AACrB,GAAC,CAAC,CAAA;EAEF,OAAO/D,GAAG,CAACN,OAAO,CAAA;AACpB,CAAC;;ACPD,MAAMsE,YAAU,GAAGA,CAAC7E,QAAQ,EAAE8E,SAAS,GAAG,CAAC,KAAK;AAC9C,EAAA,MAAM3B,EAAE,GAAGjD,YAAM,CAACF,QAAQ,CAAC,CAAA;AAE3B0B,EAAAA,2BAAyB,CAAC,MAAM;IAC9ByB,EAAE,CAAC5C,OAAO,GAAGP,QAAQ,CAAA;AACvB,GAAC,EAAE,CAACA,QAAQ,CAAC,CAAC,CAAA;AAEdU,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,MAAMqE,SAAS,GAAGC,UAAU,CAAC,MAAM;MACjC7B,EAAE,CAAC5C,OAAO,EAAE,CAAA;KACb,EAAEuE,SAAS,CAAC,CAAA;AAEb,IAAA,OAAO,MAAM;MACXG,YAAY,CAACF,SAAS,CAAC,CAAA;KACxB,CAAA;AACH,GAAC,EAAE,CAACD,SAAS,CAAC,CAAC,CAAA;AACjB,CAAC;;ACfD,MAAMI,iBAAe,GAAGA,CAACpE,UAAU,GAAG,EAAE,KAAK;AAC3C,EAAA,MAAM,CAACqE,cAAc,EAAEC,iBAAiB,CAAC,GACrCnE,cAAQ,CAAC6B,QAAQ,CAACqC,cAAc,EAAE,CAAC,CAAA;AAEvC,EAAA,MAAMnB,QAAQ,GAAG3D,iBAAW,CAAC,MAAM;AACjC+E,IAAAA,iBAAiB,CAACtC,QAAQ,CAACqC,cAAc,EAAE,CAAC,CAAA;GAC7C,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAME,iBAAiB,GAAG5D,WAAW,CAACuC,QAAQ,EAAElD,UAAU,CAAC,CAAA;EAE3DoD,WAAW,CAACmB,iBAAiB,CAAC,CAAA;AAE9B,EAAA,OAAOF,cAAc,CAAA;AACvB,CAAC;;ACbD,MAAMhE,eAAa,GAAGA,CAACL,UAAU,GAAG,EAAE,KAAK;EACzC,MAAM,CAACwE,IAAI,EAAEC,OAAO,CAAC,GAAGtE,cAAQ,CAAC,IAAI,CAAC,CAAA;AACtC,EAAA,MAAMG,QAAQ,GAAGf,iBAAW,CAAC,MAAM;AACjCkF,IAAAA,OAAO,CAAC;MACNC,KAAK,EAAE5B,MAAM,CAAC6B,UAAU;MACxBC,MAAM,EAAE9B,MAAM,CAAC+B,WAAAA;AACjB,KAAC,CAAC,CAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAMnE,iBAAiB,GAAGC,WAAW,CAACL,QAAQ,EAAEN,UAAU,CAAC,CAAA;AAE3DJ,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACoC,QAAQ,CAACC,SAAS,EAAE;AACvB,MAAA,OAAA;AACF,KAAA;AAEAa,IAAAA,MAAM,CAACa,gBAAgB,CAAC,QAAQ,EAAEjD,iBAAiB,CAAC,CAAA;AACpDJ,IAAAA,QAAQ,EAAE,CAAA;AACV,IAAA,OAAO,MAAM;AACXwC,MAAAA,MAAM,CAACc,mBAAmB,CAAC,QAAQ,EAAElD,iBAAiB,CAAC,CAAA;KACxD,CAAA;AACH,GAAC,EAAE,CAACJ,QAAQ,EAAEI,iBAAiB,CAAC,CAAC,CAAA;AAEjC,EAAA,OAAO8D,IAAI,CAAA;AACb,CAAC;;ACbM,MAAMvF,iBAAiB,GAAG6F,oBAAkB;AAC5C,MAAMhF,qBAAqB,GAAGiF,wBAAsB;AACpD,MAAM9D,aAAa,GAAG+D,gBAAc;AACpC,MAAMrE,WAAW,GAAGsE,cAAY;AAChC,MAAM9C,WAAW,GAAG+C,cAAY;AAChC,MAAMzC,YAAY,GAAG0C,eAAa;AAClC,MAAMvE,yBAAyB,GAAGwE,4BAA0B;AAC5D,MAAMxC,cAAc,GAAGyC,iBAAe;AACtC,MAAMhC,OAAO,GAAGiC,UAAQ;AACxB,MAAMlC,WAAW,GAAGmC,cAAY;AAChC,MAAM1B,WAAW,GAAG2B,cAAY;AAChC,MAAMzB,UAAU,GAAG0B,aAAW;AAC9B,MAAMrB,eAAe,GAAGsB,kBAAgB;AACxC,MAAMrF,aAAa,GAAGsF,gBAAc;AAE3C,MAAMC,SAAO,GAAG;EACd3G,iBAAiB;EACjBa,qBAAqB;EACrBmB,aAAa;EACbN,WAAW;EACXwB,WAAW;EACXM,YAAY;EACZ7B,yBAAyB;EACzBgC,cAAc;EACdS,OAAO;EACPD,WAAW;EACXS,WAAW;EACXE,UAAU;EACVK,eAAe;AACf/D,EAAAA,aAAAA;AACF;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[3]}
{"version":3,"file":"hooks.cjs.js","sources":["../src/useAnimationFrame/index.js","../src/useBoundingClientRect/index.js","../src/useClassNames/index.js","../node_modules/@haensl/services/dist/services.esm.js","../src/useDebounce/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useInterval/index.js","../src/useIsMounted/index.js","../src/useIsScrolling/index.js","../src/useLang/index.js","../src/useOnScroll/index.js","../src/usePrevious/index.js","../src/useTimeout/index.js","../src/useWindowScroll/index.js","../src/useWindowSize/index.js","../src/index.js"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nconst useAnimationFrame = (callback) => {\n const requestRef = useRef();\n const previousTimeRef = useRef();\n const animate = useCallback((time) => {\n if (typeof previousTimeRef.current !== 'undefined') {\n const deltaTime = time - previousTimeRef.current;\n callback(deltaTime);\n }\n\n previousTimeRef.current = time;\n requestRef.current = requestAnimationFrame(animate);\n }, [previousTimeRef, requestRef, callback]);\n\n useEffect(() => {\n requestRef.current = requestAnimationFrame(animate);\n return () => {\n cancelAnimationFrame(requestRef.current);\n };\n }, [animate]);\n};\n\nexport default useAnimationFrame;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsomorphicLayoutEffect, useWindowSize } from '../';\n\nconst useBoundingClientRect = (ref, debounceMs = 25) => {\n const [boundingClientRect, setBoundingClientRect] = useState(null);\n const windowSize = useWindowSize(debounceMs);\n\n const onResize = useCallback(({ target }) => {\n if (!target) {\n return;\n }\n\n const clientRect = target.getBoundingClientRect();\n setBoundingClientRect(clientRect);\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref.current;\n\n if (!current) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(onResizeDebounced);\n resizeObserver.observe(current);\n onResize({ target: current });\n return () => {\n resizeObserver.unobserve(current);\n };\n }, [ ref, onResize, onResizeDebounced]);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref && ref.current;\n if (!current || typeof onResize !== 'function') {\n return;\n }\n\n onResize({\n target: current\n });\n }, [ref, onResize, windowSize]);\n\n return boundingClientRect;\n};\n\nexport default useBoundingClientRect;\n","import { useMemo } from 'react';\n\nconst useClassNames = (states = {}, separator = ' ') =>\n useMemo(\n () =>\n Object.keys(states)\n .filter((key) => states[key])\n .join(separator)\n .trim(),\n [states, separator]\n );\n\nexport default useClassNames;\n","// https://github.com/haensl/services#readme v1.5.1 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>\nvar className = function className(states, basename) {\n var separator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '--';\n return \"\".concat(basename, \" \").concat(Object.keys(states).filter(state => states[state]).map(state => \"\".concat(basename).concat(separator).concat(state)).join(' ')).trim();\n};\nvar setInputValue = (input, value) => {\n Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set.call(input, value);\n input.dispatchEvent(new Event('input', {\n bubbles: true\n }));\n};\nvar _component = {\n className,\n setInputValue\n};\n\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\n\n/**\n * Attaches HTTP Response meta data to an error.\n *\n * @param error Error: The error to attach metainformation to.\n * @param response Response: HTTP response data to extrapolate.\n *\n * @return The updated Error object.\n */\nvar attachResponseToError = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (response, error) {\n if (response) {\n error.response = _objectSpread2({\n headers: {},\n status: response.status,\n statusText: response.statusText,\n body: typeof response.text === 'function' ? yield response.text() : undefined\n }, error.response);\n try {\n for (var entry of response.headers.entries()) {\n error.response.headers[entry[0]] = entry[1];\n }\n } catch (error) {\n error.response.headers = JSON.parse(JSON.stringify(response.headers));\n }\n }\n return error;\n });\n return function attachResponseToError(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\nvar _error = {\n attachResponseToError\n};\n\nvar rand = function rand() {\n var {\n min = 0,\n max = 1\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Math.random() * (max - min) + min;\n};\nvar randInt = _ref => {\n var {\n min,\n max\n } = _ref;\n return Math.floor(Math.random() * (max + 1 - min) + min);\n};\nvar _numbers = {\n rand,\n randInt\n};\n\nvar hasWindow = (() => {\n try {\n return typeof window === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocument = (() => {\n try {\n return typeof document === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocumentElement = hasDocument && typeof document.documentElement === 'object';\nvar hasSessionStorage = hasWindow && typeof window.sessionStorage === 'object';\nvar hasLocalStorage = hasWindow && typeof window.localStorage === 'object';\nvar scrollPosition = () => {\n if (hasWindow && typeof window.scrollX === 'number' && !Number.isNaN(window.scrollX)) {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n } else if (hasDocumentElement && typeof document.documentElement.scrollLeft === 'number' && !Number.isNaN(document.documentElement.scrollLeft)) {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop\n };\n }\n return null;\n};\nvar _platform = {\n hasDocument,\n hasDocumentElement,\n hasLocalStorage,\n hasSessionStorage,\n hasWindow,\n scrollPosition\n};\n\nvar debounce = function debounce(fun, waitMs, immediate) {\n var timeout;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var context = this;\n var later = () => {\n timeout = null;\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n if (callNow) {\n fun.apply(context, args);\n }\n };\n};\nvar _throttle = {\n debounce\n};\n\nvar component = _component;\nvar error = _error;\nvar numbers = _numbers;\nvar platform = _platform;\nvar throttle = _throttle;\nvar index = {\n component,\n error,\n numbers,\n platform,\n throttle\n};\n\nexport { component, index as default, error, numbers, platform, throttle };\n//# sourceMappingURL=services.esm.js.map\n","import { useMemo } from 'react';\nimport { throttle } from '@haensl/services';\n\nconst useDebounce = (fn, debounceMs) => {\n if (typeof fn !== 'function') {\n throw new TypeError(`Invalid type. Expected function but received ${typeof fn}`);\n }\n\n if (typeof debounceMs !== 'number') {\n throw new TypeError(`Invalid type. Expected number but received ${typeof debounceMs}`);\n }\n\n return useMemo(\n () => throttle.debounce(fn, parseInt(debounceMs, 10)),\n [fn, debounceMs]\n );\n};\n\nexport default useDebounce;\n\n","import { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useInterval = (callback, intervalMs) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (typeof cb.current !== 'function') {\n return;\n }\n\n const intervalId = setInterval(() => cb.current(), intervalMs);\n return () => {\n clearInterval(intervalId);\n };\n }, [intervalMs]);\n};\n\nexport default useInterval;\n","import { useCallback, useEffect, useRef } from 'react';\n\nconst useIsMounted = () => {\n const mountRef = useRef(true);\n const isMounted = useCallback(() => mountRef.current, [mountRef]);\n\n useEffect(() => {\n return () => {\n mountRef.current = false;\n };\n }, []);\n\n return isMounted;\n};\n\nexport default useIsMounted;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsMounted, useOnScroll } from '../';\n\nconst useIsScrolling = (\n el = window,\n scrollEndMs = 100\n) => {\n const [isScrolling, setIsScrolling] = useState(false);\n const isMounted = useIsMounted();\n const onScroll = useCallback(() => {\n setIsScrolling(true);\n }, []);\n const onScrollEnd = useCallback(() => {\n if (isMounted()) {\n setIsScrolling(false);\n }\n }, [isMounted]);\n\n useOnScroll(onScroll, el);\n useOnScroll(useDebounce(onScrollEnd, scrollEndMs), el);\n\n return isScrolling;\n};\n\nexport default useIsScrolling;\n","const useLang = ({ defaultLang = 'en' } = {}) => {\n if (typeof navigator === 'object') {\n return (navigator.language || navigator.userLanguage || defaultLang).slice(0, 2);\n }\n\n return defaultLang;\n};\n\nexport default useLang;\n","import { useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useOnScroll = (callback, el = platform.hasWindow && window) => {\n useEffect(() => {\n el.addEventListener('scroll', callback);\n\n return () => {\n el.removeEventListener('scroll', callback);\n };\n }, [callback, el]);\n};\n\nexport default useOnScroll;\n","import { useEffect, useRef } from 'react';\n\nconst usePrevious = (value) => {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n};\n\nexport default usePrevious;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useTimeout = (callback, timeoutMs = 0) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n cb.current();\n }, timeoutMs);\n\n return () => {\n clearTimeout(timeoutId);\n };\n }, [timeoutMs]);\n};\n\nexport default useTimeout;\n","import { useCallback, useState } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce, useOnScroll } from '../';\n\nconst useWindowScroll = (debounceMs = 25) => {\n const [scrollPosition, setScrollPosition]\n = useState(platform.scrollPosition());\n\n const onScroll = useCallback(() => {\n setScrollPosition(platform.scrollPosition());\n }, []);\n\n const onScrollDebounced = useDebounce(onScroll, debounceMs);\n\n useOnScroll(onScrollDebounced);\n\n return scrollPosition;\n};\n\nexport default useWindowScroll;\n\n","import { useState, useCallback, useEffect } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce } from '../';\n\nconst useWindowSize = (debounceMs = 25) => {\n const [size, setSize] = useState(null);\n const onResize = useCallback(() => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useEffect(() => {\n if (!platform.hasWindow) {\n return;\n }\n\n window.addEventListener('resize', onResizeDebounced);\n onResize();\n return () => {\n window.removeEventListener('resize', onResizeDebounced);\n };\n }, [onResize, onResizeDebounced]);\n\n return size;\n};\n\nexport default useWindowSize;\n","import _useAnimationFrame from './useAnimationFrame';\nimport _useBoundingClientRect from './useBoundingClientRect';\nimport _useClassNames from './useClassNames';\nimport _useDebounce from './useDebounce';\nimport _useInterval from './useInterval';\nimport _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useLang from './useLang';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\nimport _useTimeout from './useTimeout';\nimport _useWindowScroll from './useWindowScroll';\nimport _useWindowSize from './useWindowSize';\n\nexport const useAnimationFrame = _useAnimationFrame;\nexport const useBoundingClientRect = _useBoundingClientRect;\nexport const useClassNames = _useClassNames;\nexport const useDebounce = _useDebounce;\nexport const useInterval = _useInterval;\nexport const useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useLang = _useLang;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useTimeout = _useTimeout;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useInterval,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useLang,\n useOnScroll,\n usePrevious,\n useTimeout,\n useWindowScroll,\n useWindowSize\n};\n\nexport default exports;\n"],"names":["useAnimationFrame","callback","requestRef","useRef","previousTimeRef","animate","useCallback","time","current","deltaTime","requestAnimationFrame","useEffect","cancelAnimationFrame","useBoundingClientRect","ref","debounceMs","boundingClientRect","setBoundingClientRect","useState","windowSize","useWindowSize","onResize","target","clientRect","getBoundingClientRect","onResizeDebounced","useDebounce","useIsomorphicLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","useClassNames","states","separator","useMemo","Object","keys","filter","key","join","trim","fn","TypeError","throttle","debounce","parseInt","platform","hasWindow","useLayoutEffect","useInterval","intervalMs","cb","intervalId","setInterval","clearInterval","useIsMounted","mountRef","isMounted","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","useLang","defaultLang","navigator","language","userLanguage","slice","addEventListener","removeEventListener","usePrevious","value","useTimeout","timeoutMs","timeoutId","setTimeout","clearTimeout","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useInterval","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useLang","_useOnScroll","_usePrevious","_useTimeout","_useWindowScroll","_useWindowSize","exports"],"mappings":"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","x_google_ignoreList":[3]}

@@ -1,2 +0,2 @@

// https://github.com/haensl/hooks#readme v1.14.0 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>
// https://github.com/haensl/hooks#readme v1.14.1 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>
import { useRef, useCallback, useEffect, useState, useMemo, useLayoutEffect } from 'react';

@@ -70,3 +70,3 @@

// https://github.com/haensl/services#readme v1.4.8 Copyright 2023 HP Dietz <h.p.dietz@gmail.com>
// https://github.com/haensl/services#readme v1.5.1 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>

@@ -73,0 +73,0 @@ var hasWindow = (() => {

@@ -1,1 +0,1 @@

{"version":3,"file":"hooks.esm.js","sources":["../src/useAnimationFrame/index.js","../src/useBoundingClientRect/index.js","../src/useClassNames/index.js","../node_modules/@haensl/services/dist/services.esm.js","../src/useDebounce/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useInterval/index.js","../src/useIsMounted/index.js","../src/useIsScrolling/index.js","../src/useLang/index.js","../src/useOnScroll/index.js","../src/usePrevious/index.js","../src/useTimeout/index.js","../src/useWindowScroll/index.js","../src/useWindowSize/index.js","../src/index.js"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nconst useAnimationFrame = (callback) => {\n const requestRef = useRef();\n const previousTimeRef = useRef();\n const animate = useCallback((time) => {\n if (typeof previousTimeRef.current !== 'undefined') {\n const deltaTime = time - previousTimeRef.current;\n callback(deltaTime);\n }\n\n previousTimeRef.current = time;\n requestRef.current = requestAnimationFrame(animate);\n }, [previousTimeRef, requestRef, callback]);\n\n useEffect(() => {\n requestRef.current = requestAnimationFrame(animate);\n return () => {\n cancelAnimationFrame(requestRef.current);\n };\n }, [animate]);\n};\n\nexport default useAnimationFrame;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsomorphicLayoutEffect, useWindowSize } from '../';\n\nconst useBoundingClientRect = (ref, debounceMs = 25) => {\n const [boundingClientRect, setBoundingClientRect] = useState(null);\n const windowSize = useWindowSize(debounceMs);\n\n const onResize = useCallback(({ target }) => {\n if (!target) {\n return;\n }\n\n const clientRect = target.getBoundingClientRect();\n setBoundingClientRect(clientRect);\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref.current;\n\n if (!current) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(onResizeDebounced);\n resizeObserver.observe(current);\n onResize({ target: current });\n return () => {\n resizeObserver.unobserve(current);\n };\n }, [ ref, onResize, onResizeDebounced]);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref && ref.current;\n if (!current || typeof onResize !== 'function') {\n return;\n }\n\n onResize({\n target: current\n });\n }, [ref, onResize, windowSize]);\n\n return boundingClientRect;\n};\n\nexport default useBoundingClientRect;\n","import { useMemo } from 'react';\n\nconst useClassNames = (states = {}, separator = ' ') =>\n useMemo(\n () =>\n Object.keys(states)\n .filter((key) => states[key])\n .join(separator)\n .trim(),\n [states, separator]\n );\n\nexport default useClassNames;\n","// https://github.com/haensl/services#readme v1.4.8 Copyright 2023 HP Dietz <h.p.dietz@gmail.com>\nvar className = function className(states, basename) {\n var separator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '--';\n return \"\".concat(basename, \" \").concat(Object.keys(states).filter(state => states[state]).map(state => \"\".concat(basename).concat(separator).concat(state)).join(' ')).trim();\n};\nvar setInputValue = (input, value) => {\n Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set.call(input, value);\n input.dispatchEvent(new Event('input', {\n bubbles: true\n }));\n};\nvar _component = {\n className,\n setInputValue\n};\n\nvar rand = function rand() {\n var {\n min = 0,\n max = 1\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Math.random() * (max - min) + min;\n};\nvar randInt = _ref => {\n var {\n min,\n max\n } = _ref;\n return Math.floor(Math.random() * (max + 1 - min) + min);\n};\nvar _numbers = {\n rand,\n randInt\n};\n\nvar hasWindow = (() => {\n try {\n return typeof window === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocument = (() => {\n try {\n return typeof document === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocumentElement = hasDocument && typeof document.documentElement === 'object';\nvar hasSessionStorage = hasWindow && typeof window.sessionStorage === 'object';\nvar hasLocalStorage = hasWindow && typeof window.localStorage === 'object';\nvar scrollPosition = () => {\n if (hasWindow && typeof window.scrollX === 'number' && !Number.isNaN(window.scrollX)) {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n } else if (hasDocumentElement && typeof document.documentElement.scrollLeft === 'number' && !Number.isNaN(document.documentElement.scrollLeft)) {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop\n };\n }\n return null;\n};\nvar _platform = {\n hasDocument,\n hasDocumentElement,\n hasLocalStorage,\n hasSessionStorage,\n hasWindow,\n scrollPosition\n};\n\nvar debounce = function debounce(fun, waitMs, immediate) {\n var timeout;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var context = this;\n var later = () => {\n timeout = null;\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n if (callNow) {\n fun.apply(context, args);\n }\n };\n};\nvar _throttle = {\n debounce\n};\n\nvar component = _component;\nvar numbers = _numbers;\nvar platform = _platform;\nvar throttle = _throttle;\nvar index = {\n component,\n numbers,\n platform,\n throttle\n};\n\nexport { component, index as default, numbers, platform, throttle };\n//# sourceMappingURL=services.esm.js.map\n","import { useMemo } from 'react';\nimport { throttle } from '@haensl/services';\n\nconst useDebounce = (fn, debounceMs) => {\n if (typeof fn !== 'function') {\n throw new TypeError(`Invalid type. Expected function but received ${typeof fn}`);\n }\n\n if (typeof debounceMs !== 'number') {\n throw new TypeError(`Invalid type. Expected number but received ${typeof debounceMs}`);\n }\n\n return useMemo(\n () => throttle.debounce(fn, parseInt(debounceMs, 10)),\n [fn, debounceMs]\n );\n};\n\nexport default useDebounce;\n\n","import { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useInterval = (callback, intervalMs) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (typeof cb.current !== 'function') {\n return;\n }\n\n const intervalId = setInterval(() => cb.current(), intervalMs);\n return () => {\n clearInterval(intervalId);\n };\n }, [intervalMs]);\n};\n\nexport default useInterval;\n","import { useCallback, useEffect, useRef } from 'react';\n\nconst useIsMounted = () => {\n const mountRef = useRef(true);\n const isMounted = useCallback(() => mountRef.current, [mountRef]);\n\n useEffect(() => {\n return () => {\n mountRef.current = false;\n };\n }, []);\n\n return isMounted;\n};\n\nexport default useIsMounted;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsMounted, useOnScroll } from '../';\n\nconst useIsScrolling = (\n el = window,\n scrollEndMs = 100\n) => {\n const [isScrolling, setIsScrolling] = useState(false);\n const isMounted = useIsMounted();\n const onScroll = useCallback(() => {\n setIsScrolling(true);\n }, []);\n const onScrollEnd = useCallback(() => {\n if (isMounted()) {\n setIsScrolling(false);\n }\n }, [isMounted]);\n\n useOnScroll(onScroll, el);\n useOnScroll(useDebounce(onScrollEnd, scrollEndMs), el);\n\n return isScrolling;\n};\n\nexport default useIsScrolling;\n","const useLang = ({ defaultLang = 'en' } = {}) => {\n if (typeof navigator === 'object') {\n return (navigator.language || navigator.userLanguage || defaultLang).slice(0, 2);\n }\n\n return defaultLang;\n};\n\nexport default useLang;\n","import { useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useOnScroll = (callback, el = platform.hasWindow && window) => {\n useEffect(() => {\n el.addEventListener('scroll', callback);\n\n return () => {\n el.removeEventListener('scroll', callback);\n };\n }, [callback, el]);\n};\n\nexport default useOnScroll;\n","import { useEffect, useRef } from 'react';\n\nconst usePrevious = (value) => {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n};\n\nexport default usePrevious;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useTimeout = (callback, timeoutMs = 0) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n cb.current();\n }, timeoutMs);\n\n return () => {\n clearTimeout(timeoutId);\n };\n }, [timeoutMs]);\n};\n\nexport default useTimeout;\n","import { useCallback, useState } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce, useOnScroll } from '../';\n\nconst useWindowScroll = (debounceMs = 25) => {\n const [scrollPosition, setScrollPosition]\n = useState(platform.scrollPosition());\n\n const onScroll = useCallback(() => {\n setScrollPosition(platform.scrollPosition());\n }, []);\n\n const onScrollDebounced = useDebounce(onScroll, debounceMs);\n\n useOnScroll(onScrollDebounced);\n\n return scrollPosition;\n};\n\nexport default useWindowScroll;\n\n","import { useState, useCallback, useEffect } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce } from '../';\n\nconst useWindowSize = (debounceMs = 25) => {\n const [size, setSize] = useState(null);\n const onResize = useCallback(() => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useEffect(() => {\n if (!platform.hasWindow) {\n return;\n }\n\n window.addEventListener('resize', onResizeDebounced);\n onResize();\n return () => {\n window.removeEventListener('resize', onResizeDebounced);\n };\n }, [onResize, onResizeDebounced]);\n\n return size;\n};\n\nexport default useWindowSize;\n","import _useAnimationFrame from './useAnimationFrame';\nimport _useBoundingClientRect from './useBoundingClientRect';\nimport _useClassNames from './useClassNames';\nimport _useDebounce from './useDebounce';\nimport _useInterval from './useInterval';\nimport _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useLang from './useLang';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\nimport _useTimeout from './useTimeout';\nimport _useWindowScroll from './useWindowScroll';\nimport _useWindowSize from './useWindowSize';\n\nexport const useAnimationFrame = _useAnimationFrame;\nexport const useBoundingClientRect = _useBoundingClientRect;\nexport const useClassNames = _useClassNames;\nexport const useDebounce = _useDebounce;\nexport const useInterval = _useInterval;\nexport const useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useLang = _useLang;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useTimeout = _useTimeout;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useInterval,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useLang,\n useOnScroll,\n usePrevious,\n useTimeout,\n useWindowScroll,\n useWindowSize\n};\n\nexport default exports;\n"],"names":["useAnimationFrame","callback","requestRef","useRef","previousTimeRef","animate","useCallback","time","current","deltaTime","requestAnimationFrame","useEffect","cancelAnimationFrame","useBoundingClientRect","ref","debounceMs","arguments","length","undefined","boundingClientRect","setBoundingClientRect","useState","windowSize","useWindowSize","onResize","_ref","target","clientRect","getBoundingClientRect","onResizeDebounced","useDebounce","useIsomorphicLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","useClassNames","states","separator","useMemo","Object","keys","filter","key","join","trim","fn","TypeError","concat","throttle","debounce","parseInt","platform","hasWindow","useLayoutEffect","useInterval","intervalMs","cb","intervalId","setInterval","clearInterval","useIsMounted","mountRef","isMounted","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","useLang","defaultLang","navigator","language","userLanguage","slice","addEventListener","removeEventListener","usePrevious","value","useTimeout","timeoutMs","timeoutId","setTimeout","clearTimeout","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useInterval","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useLang","_useOnScroll","_usePrevious","_useTimeout","_useWindowScroll","_useWindowSize","exports"],"mappings":"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","x_google_ignoreList":[3]}
{"version":3,"file":"hooks.esm.js","sources":["../src/useAnimationFrame/index.js","../src/useBoundingClientRect/index.js","../src/useClassNames/index.js","../node_modules/@haensl/services/dist/services.esm.js","../src/useDebounce/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useInterval/index.js","../src/useIsMounted/index.js","../src/useIsScrolling/index.js","../src/useLang/index.js","../src/useOnScroll/index.js","../src/usePrevious/index.js","../src/useTimeout/index.js","../src/useWindowScroll/index.js","../src/useWindowSize/index.js","../src/index.js"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nconst useAnimationFrame = (callback) => {\n const requestRef = useRef();\n const previousTimeRef = useRef();\n const animate = useCallback((time) => {\n if (typeof previousTimeRef.current !== 'undefined') {\n const deltaTime = time - previousTimeRef.current;\n callback(deltaTime);\n }\n\n previousTimeRef.current = time;\n requestRef.current = requestAnimationFrame(animate);\n }, [previousTimeRef, requestRef, callback]);\n\n useEffect(() => {\n requestRef.current = requestAnimationFrame(animate);\n return () => {\n cancelAnimationFrame(requestRef.current);\n };\n }, [animate]);\n};\n\nexport default useAnimationFrame;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsomorphicLayoutEffect, useWindowSize } from '../';\n\nconst useBoundingClientRect = (ref, debounceMs = 25) => {\n const [boundingClientRect, setBoundingClientRect] = useState(null);\n const windowSize = useWindowSize(debounceMs);\n\n const onResize = useCallback(({ target }) => {\n if (!target) {\n return;\n }\n\n const clientRect = target.getBoundingClientRect();\n setBoundingClientRect(clientRect);\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref.current;\n\n if (!current) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(onResizeDebounced);\n resizeObserver.observe(current);\n onResize({ target: current });\n return () => {\n resizeObserver.unobserve(current);\n };\n }, [ ref, onResize, onResizeDebounced]);\n\n useIsomorphicLayoutEffect(() => {\n const current = ref && ref.current;\n if (!current || typeof onResize !== 'function') {\n return;\n }\n\n onResize({\n target: current\n });\n }, [ref, onResize, windowSize]);\n\n return boundingClientRect;\n};\n\nexport default useBoundingClientRect;\n","import { useMemo } from 'react';\n\nconst useClassNames = (states = {}, separator = ' ') =>\n useMemo(\n () =>\n Object.keys(states)\n .filter((key) => states[key])\n .join(separator)\n .trim(),\n [states, separator]\n );\n\nexport default useClassNames;\n","// https://github.com/haensl/services#readme v1.5.1 Copyright 2024 HP Dietz <h.p.dietz@gmail.com>\nvar className = function className(states, basename) {\n var separator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '--';\n return \"\".concat(basename, \" \").concat(Object.keys(states).filter(state => states[state]).map(state => \"\".concat(basename).concat(separator).concat(state)).join(' ')).trim();\n};\nvar setInputValue = (input, value) => {\n Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set.call(input, value);\n input.dispatchEvent(new Event('input', {\n bubbles: true\n }));\n};\nvar _component = {\n className,\n setInputValue\n};\n\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\n\n/**\n * Attaches HTTP Response meta data to an error.\n *\n * @param error Error: The error to attach metainformation to.\n * @param response Response: HTTP response data to extrapolate.\n *\n * @return The updated Error object.\n */\nvar attachResponseToError = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (response, error) {\n if (response) {\n error.response = _objectSpread2({\n headers: {},\n status: response.status,\n statusText: response.statusText,\n body: typeof response.text === 'function' ? yield response.text() : undefined\n }, error.response);\n try {\n for (var entry of response.headers.entries()) {\n error.response.headers[entry[0]] = entry[1];\n }\n } catch (error) {\n error.response.headers = JSON.parse(JSON.stringify(response.headers));\n }\n }\n return error;\n });\n return function attachResponseToError(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\nvar _error = {\n attachResponseToError\n};\n\nvar rand = function rand() {\n var {\n min = 0,\n max = 1\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Math.random() * (max - min) + min;\n};\nvar randInt = _ref => {\n var {\n min,\n max\n } = _ref;\n return Math.floor(Math.random() * (max + 1 - min) + min);\n};\nvar _numbers = {\n rand,\n randInt\n};\n\nvar hasWindow = (() => {\n try {\n return typeof window === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocument = (() => {\n try {\n return typeof document === 'object';\n } catch (err) {\n return false;\n }\n})();\nvar hasDocumentElement = hasDocument && typeof document.documentElement === 'object';\nvar hasSessionStorage = hasWindow && typeof window.sessionStorage === 'object';\nvar hasLocalStorage = hasWindow && typeof window.localStorage === 'object';\nvar scrollPosition = () => {\n if (hasWindow && typeof window.scrollX === 'number' && !Number.isNaN(window.scrollX)) {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n } else if (hasDocumentElement && typeof document.documentElement.scrollLeft === 'number' && !Number.isNaN(document.documentElement.scrollLeft)) {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop\n };\n }\n return null;\n};\nvar _platform = {\n hasDocument,\n hasDocumentElement,\n hasLocalStorage,\n hasSessionStorage,\n hasWindow,\n scrollPosition\n};\n\nvar debounce = function debounce(fun, waitMs, immediate) {\n var timeout;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var context = this;\n var later = () => {\n timeout = null;\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n if (callNow) {\n fun.apply(context, args);\n }\n };\n};\nvar _throttle = {\n debounce\n};\n\nvar component = _component;\nvar error = _error;\nvar numbers = _numbers;\nvar platform = _platform;\nvar throttle = _throttle;\nvar index = {\n component,\n error,\n numbers,\n platform,\n throttle\n};\n\nexport { component, index as default, error, numbers, platform, throttle };\n//# sourceMappingURL=services.esm.js.map\n","import { useMemo } from 'react';\nimport { throttle } from '@haensl/services';\n\nconst useDebounce = (fn, debounceMs) => {\n if (typeof fn !== 'function') {\n throw new TypeError(`Invalid type. Expected function but received ${typeof fn}`);\n }\n\n if (typeof debounceMs !== 'number') {\n throw new TypeError(`Invalid type. Expected number but received ${typeof debounceMs}`);\n }\n\n return useMemo(\n () => throttle.debounce(fn, parseInt(debounceMs, 10)),\n [fn, debounceMs]\n );\n};\n\nexport default useDebounce;\n\n","import { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useInterval = (callback, intervalMs) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (typeof cb.current !== 'function') {\n return;\n }\n\n const intervalId = setInterval(() => cb.current(), intervalMs);\n return () => {\n clearInterval(intervalId);\n };\n }, [intervalMs]);\n};\n\nexport default useInterval;\n","import { useCallback, useEffect, useRef } from 'react';\n\nconst useIsMounted = () => {\n const mountRef = useRef(true);\n const isMounted = useCallback(() => mountRef.current, [mountRef]);\n\n useEffect(() => {\n return () => {\n mountRef.current = false;\n };\n }, []);\n\n return isMounted;\n};\n\nexport default useIsMounted;\n","import { useState, useCallback } from 'react';\nimport { useDebounce, useIsMounted, useOnScroll } from '../';\n\nconst useIsScrolling = (\n el = window,\n scrollEndMs = 100\n) => {\n const [isScrolling, setIsScrolling] = useState(false);\n const isMounted = useIsMounted();\n const onScroll = useCallback(() => {\n setIsScrolling(true);\n }, []);\n const onScrollEnd = useCallback(() => {\n if (isMounted()) {\n setIsScrolling(false);\n }\n }, [isMounted]);\n\n useOnScroll(onScroll, el);\n useOnScroll(useDebounce(onScrollEnd, scrollEndMs), el);\n\n return isScrolling;\n};\n\nexport default useIsScrolling;\n","const useLang = ({ defaultLang = 'en' } = {}) => {\n if (typeof navigator === 'object') {\n return (navigator.language || navigator.userLanguage || defaultLang).slice(0, 2);\n }\n\n return defaultLang;\n};\n\nexport default useLang;\n","import { useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useOnScroll = (callback, el = platform.hasWindow && window) => {\n useEffect(() => {\n el.addEventListener('scroll', callback);\n\n return () => {\n el.removeEventListener('scroll', callback);\n };\n }, [callback, el]);\n};\n\nexport default useOnScroll;\n","import { useEffect, useRef } from 'react';\n\nconst usePrevious = (value) => {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n};\n\nexport default usePrevious;\n","import { useEffect, useRef } from 'react';\nimport useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect';\n\nconst useTimeout = (callback, timeoutMs = 0) => {\n const cb = useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n cb.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n cb.current();\n }, timeoutMs);\n\n return () => {\n clearTimeout(timeoutId);\n };\n }, [timeoutMs]);\n};\n\nexport default useTimeout;\n","import { useCallback, useState } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce, useOnScroll } from '../';\n\nconst useWindowScroll = (debounceMs = 25) => {\n const [scrollPosition, setScrollPosition]\n = useState(platform.scrollPosition());\n\n const onScroll = useCallback(() => {\n setScrollPosition(platform.scrollPosition());\n }, []);\n\n const onScrollDebounced = useDebounce(onScroll, debounceMs);\n\n useOnScroll(onScrollDebounced);\n\n return scrollPosition;\n};\n\nexport default useWindowScroll;\n\n","import { useState, useCallback, useEffect } from 'react';\nimport { platform } from '@haensl/services';\nimport { useDebounce } from '../';\n\nconst useWindowSize = (debounceMs = 25) => {\n const [size, setSize] = useState(null);\n const onResize = useCallback(() => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }, []);\n\n const onResizeDebounced = useDebounce(onResize, debounceMs);\n\n useEffect(() => {\n if (!platform.hasWindow) {\n return;\n }\n\n window.addEventListener('resize', onResizeDebounced);\n onResize();\n return () => {\n window.removeEventListener('resize', onResizeDebounced);\n };\n }, [onResize, onResizeDebounced]);\n\n return size;\n};\n\nexport default useWindowSize;\n","import _useAnimationFrame from './useAnimationFrame';\nimport _useBoundingClientRect from './useBoundingClientRect';\nimport _useClassNames from './useClassNames';\nimport _useDebounce from './useDebounce';\nimport _useInterval from './useInterval';\nimport _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useLang from './useLang';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\nimport _useTimeout from './useTimeout';\nimport _useWindowScroll from './useWindowScroll';\nimport _useWindowSize from './useWindowSize';\n\nexport const useAnimationFrame = _useAnimationFrame;\nexport const useBoundingClientRect = _useBoundingClientRect;\nexport const useClassNames = _useClassNames;\nexport const useDebounce = _useDebounce;\nexport const useInterval = _useInterval;\nexport const useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useLang = _useLang;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useTimeout = _useTimeout;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useInterval,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useLang,\n useOnScroll,\n usePrevious,\n useTimeout,\n useWindowScroll,\n useWindowSize\n};\n\nexport default exports;\n"],"names":["useAnimationFrame","callback","requestRef","useRef","previousTimeRef","animate","useCallback","time","current","deltaTime","requestAnimationFrame","useEffect","cancelAnimationFrame","useBoundingClientRect","ref","debounceMs","arguments","length","undefined","boundingClientRect","setBoundingClientRect","useState","windowSize","useWindowSize","onResize","_ref","target","clientRect","getBoundingClientRect","onResizeDebounced","useDebounce","useIsomorphicLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","useClassNames","states","separator","useMemo","Object","keys","filter","key","join","trim","fn","TypeError","concat","throttle","debounce","parseInt","platform","hasWindow","useLayoutEffect","useInterval","intervalMs","cb","intervalId","setInterval","clearInterval","useIsMounted","mountRef","isMounted","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","useLang","defaultLang","navigator","language","userLanguage","slice","addEventListener","removeEventListener","usePrevious","value","useTimeout","timeoutMs","timeoutId","setTimeout","clearTimeout","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useInterval","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useLang","_useOnScroll","_usePrevious","_useTimeout","_useWindowScroll","_useWindowSize","exports"],"mappings":"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","x_google_ignoreList":[3]}

@@ -1,1 +0,1 @@

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@haensl/react-hooks"]={},e.React)}(this,(function(e,n){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,u,i,c=[],a=!0,f=!1;try{if(u=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;a=!1}else for(;!(a=(r=u.call(t)).done)&&(c.push(r.value),c.length!==n);a=!0);}catch(e){f=!0,o=e}finally{try{if(!a&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return c}}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return o(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return o(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var u=(()=>{try{return"object"==typeof window}catch(e){return!1}})(),i=(()=>{try{return"object"==typeof document}catch(e){return!1}})(),c=i&&"object"==typeof document.documentElement,a=u&&"object"==typeof window.sessionStorage,f=u&&"object"==typeof window.localStorage,l={debounce:function(e,n,t){var r;return function(){for(var o=arguments.length,u=new Array(o),i=0;i<o;i++)u[i]=arguments[i];var c=this,a=t&&!r;clearTimeout(r),r=setTimeout((()=>{r=null,t||e.apply(c,u)}),n),a&&e.apply(c,u)}}},s={hasDocument:i,hasDocumentElement:c,hasLocalStorage:f,hasSessionStorage:a,hasWindow:u,scrollPosition:()=>u&&"number"==typeof window.scrollX&&!Number.isNaN(window.scrollX)?{x:window.scrollX,y:window.scrollY}:c&&"number"==typeof document.documentElement.scrollLeft&&!Number.isNaN(document.documentElement.scrollLeft)?{x:document.documentElement.scrollLeft,y:document.documentElement.scrollTop}:null},d=l,m=s.hasWindow?n.useLayoutEffect:n.useEffect,v=function(e){var t=n.useRef(),r=n.useRef(),o=n.useCallback((function(n){if(void 0!==r.current){var u=n-r.current;e(u)}r.current=n,t.current=requestAnimationFrame(o)}),[r,t,e]);n.useEffect((function(){return t.current=requestAnimationFrame(o),function(){cancelAnimationFrame(t.current)}}),[o])},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:25,o=r(n.useState(null),2),u=o[0],i=o[1],c=A(t),a=n.useCallback((function(e){var n=e.target;if(n){var t=n.getBoundingClientRect();i(t)}}),[]),f=p(a,t);return w((function(){var n=e.current;if(n){var t=new ResizeObserver(f);return t.observe(n),a({target:n}),function(){t.unobserve(n)}}}),[e,a,f]),w((function(){var n=e&&e.current;n&&"function"==typeof a&&a({target:n})}),[e,a,c]),u},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return n.useMemo((function(){return Object.keys(e).filter((function(n){return e[n]})).join(t).trim()}),[e,t])},p=function(e,r){if("function"!=typeof e)throw new TypeError("Invalid type. Expected function but received ".concat(t(e)));if("number"!=typeof r)throw new TypeError("Invalid type. Expected number but received ".concat(t(r)));return n.useMemo((function(){return d.debounce(e,parseInt(r,10))}),[e,r])},g=function(e,t){var r=n.useRef(e);m((function(){r.current=e}),[e]),n.useEffect((function(){if("function"==typeof r.current){var e=setInterval((function(){return r.current()}),t);return function(){clearInterval(e)}}}),[t])},h=function(){var e=n.useRef(!0),t=n.useCallback((function(){return e.current}),[e]);return n.useEffect((function(){return function(){e.current=!1}}),[]),t},w=m,S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,o=r(n.useState(!1),2),u=o[0],i=o[1],c=h(),a=n.useCallback((function(){i(!0)}),[]),f=n.useCallback((function(){c()&&i(!1)}),[c]);return I(a,e),I(p(f,t),e),u},E=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).defaultLang,n=void 0===e?"en":e;return"object"===("undefined"==typeof navigator?"undefined":t(navigator))?(navigator.language||navigator.userLanguage||n).slice(0,2):n},I=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.hasWindow&&window;n.useEffect((function(){return t.addEventListener("scroll",e),function(){t.removeEventListener("scroll",e)}}),[e,t])},L=function(e){var t=n.useRef();return n.useEffect((function(){t.current=e})),t.current},j=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=n.useRef(e);m((function(){r.current=e}),[e]),n.useEffect((function(){var e=setTimeout((function(){r.current()}),t);return function(){clearTimeout(e)}}),[t])},C=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25,t=r(n.useState(s.scrollPosition()),2),o=t[0],u=t[1],i=n.useCallback((function(){u(s.scrollPosition())}),[]),c=p(i,e);return I(c),o},A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25,t=r(n.useState(null),2),o=t[0],u=t[1],i=n.useCallback((function(){u({width:window.innerWidth,height:window.innerHeight})}),[]),c=p(i,e);return n.useEffect((function(){if(s.hasWindow)return window.addEventListener("resize",c),i(),function(){window.removeEventListener("resize",c)}}),[i,c]),o},T={useAnimationFrame:v,useBoundingClientRect:y,useClassNames:b,useDebounce:p,useInterval:g,useIsMounted:h,useIsomorphicLayoutEffect:w,useIsScrolling:S,useLang:E,useOnScroll:I,usePrevious:L,useTimeout:j,useWindowScroll:C,useWindowSize:A};e.default=T,e.useAnimationFrame=v,e.useBoundingClientRect=y,e.useClassNames=b,e.useDebounce=p,e.useInterval=g,e.useIsMounted=h,e.useIsScrolling=S,e.useIsomorphicLayoutEffect=w,e.useLang=E,e.useOnScroll=I,e.usePrevious=L,e.useTimeout=j,e.useWindowScroll=C,e.useWindowSize=A}));
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@haensl/react-hooks"]={},e.React)}(this,(function(e,n){"use strict";function t(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function r(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,u,i,c=[],a=!0,f=!1;try{if(u=(t=t.call(e)).next,0===n);else for(;!(a=(r=u.call(t)).done)&&(c.push(r.value),c.length!==n);a=!0);}catch(e){f=!0,o=e}finally{try{if(!a&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return c}}(e,n)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}var u=(()=>{try{return"object"==typeof window}catch(e){return!1}})(),i=(()=>{try{return"object"==typeof document}catch(e){return!1}})(),c=i&&"object"==typeof document.documentElement,a=u&&"object"==typeof window.sessionStorage,f=u&&"object"==typeof window.localStorage,l={debounce:function(e,n,t){var r;return function(){for(var o=arguments.length,u=new Array(o),i=0;i<o;i++)u[i]=arguments[i];var c=this,a=t&&!r;clearTimeout(r),r=setTimeout((()=>{r=null,t||e.apply(c,u)}),n),a&&e.apply(c,u)}}},s={hasDocument:i,hasDocumentElement:c,hasLocalStorage:f,hasSessionStorage:a,hasWindow:u,scrollPosition:()=>u&&"number"==typeof window.scrollX&&!Number.isNaN(window.scrollX)?{x:window.scrollX,y:window.scrollY}:c&&"number"==typeof document.documentElement.scrollLeft&&!Number.isNaN(document.documentElement.scrollLeft)?{x:document.documentElement.scrollLeft,y:document.documentElement.scrollTop}:null},d=l,m=s.hasWindow?n.useLayoutEffect:n.useEffect,v=function(e){var t=n.useRef(),r=n.useRef(),o=n.useCallback((function(n){if(void 0!==r.current){var u=n-r.current;e(u)}r.current=n,t.current=requestAnimationFrame(o)}),[r,t,e]);n.useEffect((function(){return t.current=requestAnimationFrame(o),function(){cancelAnimationFrame(t.current)}}),[o])},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:25,o=r(n.useState(null),2),u=o[0],i=o[1],c=A(t),a=n.useCallback((function(e){var n=e.target;if(n){var t=n.getBoundingClientRect();i(t)}}),[]),f=p(a,t);return w((function(){var n=e.current;if(n){var t=new ResizeObserver(f);return t.observe(n),a({target:n}),function(){t.unobserve(n)}}}),[e,a,f]),w((function(){var n=e&&e.current;n&&"function"==typeof a&&a({target:n})}),[e,a,c]),u},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return n.useMemo((function(){return Object.keys(e).filter((function(n){return e[n]})).join(t).trim()}),[e,t])},p=function(e,t){if("function"!=typeof e)throw new TypeError("Invalid type. Expected function but received ".concat(o(e)));if("number"!=typeof t)throw new TypeError("Invalid type. Expected number but received ".concat(o(t)));return n.useMemo((function(){return d.debounce(e,parseInt(t,10))}),[e,t])},g=function(e,t){var r=n.useRef(e);m((function(){r.current=e}),[e]),n.useEffect((function(){if("function"==typeof r.current){var e=setInterval((function(){return r.current()}),t);return function(){clearInterval(e)}}}),[t])},h=function(){var e=n.useRef(!0),t=n.useCallback((function(){return e.current}),[e]);return n.useEffect((function(){return function(){e.current=!1}}),[]),t},w=m,S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,o=r(n.useState(!1),2),u=o[0],i=o[1],c=h(),a=n.useCallback((function(){i(!0)}),[]),f=n.useCallback((function(){c()&&i(!1)}),[c]);return I(a,e),I(p(f,t),e),u},E=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).defaultLang,n=void 0===e?"en":e;return"object"===("undefined"==typeof navigator?"undefined":o(navigator))?(navigator.language||navigator.userLanguage||n).slice(0,2):n},I=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.hasWindow&&window;n.useEffect((function(){return t.addEventListener("scroll",e),function(){t.removeEventListener("scroll",e)}}),[e,t])},L=function(e){var t=n.useRef();return n.useEffect((function(){t.current=e})),t.current},C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=n.useRef(e);m((function(){r.current=e}),[e]),n.useEffect((function(){var e=setTimeout((function(){r.current()}),t);return function(){clearTimeout(e)}}),[t])},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25,t=r(n.useState(s.scrollPosition()),2),o=t[0],u=t[1],i=n.useCallback((function(){u(s.scrollPosition())}),[]),c=p(i,e);return I(c),o},A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25,t=r(n.useState(null),2),o=t[0],u=t[1],i=n.useCallback((function(){u({width:window.innerWidth,height:window.innerHeight})}),[]),c=p(i,e);return n.useEffect((function(){if(s.hasWindow)return window.addEventListener("resize",c),i(),function(){window.removeEventListener("resize",c)}}),[i,c]),o},T={useAnimationFrame:v,useBoundingClientRect:y,useClassNames:b,useDebounce:p,useInterval:g,useIsMounted:h,useIsomorphicLayoutEffect:w,useIsScrolling:S,useLang:E,useOnScroll:I,usePrevious:L,useTimeout:C,useWindowScroll:j,useWindowSize:A};e.default=T,e.useAnimationFrame=v,e.useBoundingClientRect=y,e.useClassNames=b,e.useDebounce=p,e.useInterval=g,e.useIsMounted=h,e.useIsScrolling=S,e.useIsomorphicLayoutEffect=w,e.useLang=E,e.useOnScroll=I,e.usePrevious=L,e.useTimeout=C,e.useWindowScroll=j,e.useWindowSize=A}));
{
"name": "@haensl/react-hooks",
"version": "1.14.0",
"version": "1.14.1",
"description": "Assorted React hooks.",

@@ -5,0 +5,0 @@ "main": "dist/hooks.cjs.js",