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
1
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.11.1
to
1.11.2
+1
-1
dist/hooks.cjs.js

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

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

@@ -3,0 +3,0 @@

@@ -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/useIsMounted/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useIsScrolling/index.js","../src/useOnScroll/index.js","../src/usePrevious/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.4 Copyright 2022 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\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\n var context = this;\n\n var later = () => {\n timeout = null;\n\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n\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 { 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 { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\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","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 { 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 _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\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 useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useOnScroll,\n usePrevious,\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","useIsMounted","mountRef","isMounted","platform","hasWindow","useLayoutEffect","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","addEventListener","removeEventListener","usePrevious","value","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useOnScroll","_usePrevious","_useWindowScroll","_useWindowSize","exports"],"mappings":";;;;;;;AAEA,MAAMA,mBAAiB,GAAIC,QAAD,IAAc;AACtC,EAAMC,MAAAA,UAAU,GAAGC,YAAM,EAAzB,CAAA;AACA,EAAMC,MAAAA,eAAe,GAAGD,YAAM,EAA9B,CAAA;AACA,EAAA,MAAME,OAAO,GAAGC,iBAAW,CAAEC,IAAD,IAAU;AACpC,IAAA,IAAI,OAAOH,eAAe,CAACI,OAAvB,KAAmC,WAAvC,EAAoD;AAClD,MAAA,MAAMC,SAAS,GAAGF,IAAI,GAAGH,eAAe,CAACI,OAAzC,CAAA;AACAP,MAAAA,QAAQ,CAACQ,SAAD,CAAR,CAAA;AACD,KAAA;;AAEDL,IAAAA,eAAe,CAACI,OAAhB,GAA0BD,IAA1B,CAAA;AACAL,IAAAA,UAAU,CAACM,OAAX,GAAqBE,qBAAqB,CAACL,OAAD,CAA1C,CAAA;AACD,GAR0B,EAQxB,CAACD,eAAD,EAAkBF,UAAlB,EAA8BD,QAA9B,CARwB,CAA3B,CAAA;AAUAU,EAAAA,eAAS,CAAC,MAAM;AACdT,IAAAA,UAAU,CAACM,OAAX,GAAqBE,qBAAqB,CAACL,OAAD,CAA1C,CAAA;AACA,IAAA,OAAO,MAAM;AACXO,MAAAA,oBAAoB,CAACV,UAAU,CAACM,OAAZ,CAApB,CAAA;AACD,KAFD,CAAA;AAGD,GALQ,EAKN,CAACH,OAAD,CALM,CAAT,CAAA;AAMD,CAnBD;;ACCA,MAAMQ,uBAAqB,GAAG,CAACC,GAAD,EAAMC,UAAU,GAAG,EAAnB,KAA0B;AACtD,EAAM,MAAA,CAACC,kBAAD,EAAqBC,qBAArB,IAA8CC,cAAQ,CAAC,IAAD,CAA5D,CAAA;AACA,EAAA,MAAMC,UAAU,GAAGC,aAAa,CAACL,UAAD,CAAhC,CAAA;AAEA,EAAA,MAAMM,QAAQ,GAAGf,iBAAW,CAAC,CAAC;AAAEgB,IAAAA,MAAAA;AAAF,GAAD,KAAgB;AAC3C,IAAI,IAAA,CAACA,MAAL,EAAa;AACX,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,MAAMC,UAAU,GAAGD,MAAM,CAACE,qBAAP,EAAnB,CAAA;AACAP,IAAAA,qBAAqB,CAACM,UAAD,CAArB,CAAA;AACD,GAP2B,EAOzB,EAPyB,CAA5B,CAAA;AASA,EAAA,MAAME,iBAAiB,GAAGC,WAAW,CAACL,QAAD,EAAWN,UAAX,CAArC,CAAA;AAEAY,EAAAA,yBAAyB,CAAC,MAAM;AAC9B,IAAA,MAAMnB,OAAO,GAAGM,GAAG,CAACN,OAApB,CAAA;;AAEA,IAAI,IAAA,CAACA,OAAL,EAAc;AACZ,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,MAAMoB,cAAc,GAAG,IAAIC,cAAJ,CAAmBJ,iBAAnB,CAAvB,CAAA;AACAG,IAAAA,cAAc,CAACE,OAAf,CAAuBtB,OAAvB,CAAA,CAAA;AACAa,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,MAAM,EAAEd,OAAAA;AAAV,KAAD,CAAR,CAAA;AACA,IAAA,OAAO,MAAM;AACXoB,MAAAA,cAAc,CAACG,SAAf,CAAyBvB,OAAzB,CAAA,CAAA;AACD,KAFD,CAAA;AAGD,GAbwB,EAatB,CAAEM,GAAF,EAAOO,QAAP,EAAiBI,iBAAjB,CAbsB,CAAzB,CAAA;AAeAE,EAAAA,yBAAyB,CAAC,MAAM;AAC9B,IAAA,MAAMnB,OAAO,GAAGM,GAAG,IAAIA,GAAG,CAACN,OAA3B,CAAA;;AACA,IAAA,IAAI,CAACA,OAAD,IAAY,OAAOa,QAAP,KAAoB,UAApC,EAAgD;AAC9C,MAAA,OAAA;AACD,KAAA;;AAEDA,IAAAA,QAAQ,CAAC;AACPC,MAAAA,MAAM,EAAEd,OAAAA;AADD,KAAD,CAAR,CAAA;AAGD,GATwB,EAStB,CAACM,GAAD,EAAMO,QAAN,EAAgBF,UAAhB,CATsB,CAAzB,CAAA;AAWA,EAAA,OAAOH,kBAAP,CAAA;AACD,CA1CD;;ACDA,MAAMgB,eAAa,GAAG,CAACC,MAAM,GAAG,EAAV,EAAcC,SAAS,GAAG,GAA1B,KACpBC,aAAO,CACL,MACEC,MAAM,CAACC,IAAP,CAAYJ,MAAZ,CAAA,CACGK,MADH,CACWC,GAAD,IAASN,MAAM,CAACM,GAAD,CADzB,EAEGC,IAFH,CAEQN,SAFR,CAGGO,CAAAA,IAHH,EAFG,EAML,CAACR,MAAD,EAASC,SAAT,CANK,CADT;;ACFA;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;AACA,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;AACA,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;AACvB;AACA,IAAI,IAAI,KAAK,GAAG,MAAM;AACtB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB;AACA,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjC,OAAO;AACP,KAAK,CAAC;AACN;AACA,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;AACA,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;;AC1GxB,MAAMR,aAAW,GAAG,CAACgB,EAAD,EAAK3B,UAAL,KAAoB;AACtC,EAAA,IAAI,OAAO2B,EAAP,KAAc,UAAlB,EAA8B;AAC5B,IAAA,MAAM,IAAIC,SAAJ,CAAe,gDAA+C,OAAOD,EAAG,EAAxE,CAAN,CAAA;AACD,GAAA;;AAED,EAAA,IAAI,OAAO3B,UAAP,KAAsB,QAA1B,EAAoC;AAClC,IAAA,MAAM,IAAI4B,SAAJ,CAAe,8CAA6C,OAAO5B,UAAW,EAA9E,CAAN,CAAA;AACD,GAAA;;AAED,EAAOoB,OAAAA,aAAO,CACZ,MAAMS,QAAQ,CAACC,QAAT,CAAkBH,EAAlB,EAAsBI,QAAQ,CAAC/B,UAAD,EAAa,EAAb,CAA9B,CADM,EAEZ,CAAC2B,EAAD,EAAK3B,UAAL,CAFY,CAAd,CAAA;AAID,CAbD;;ACDA,MAAMgC,cAAY,GAAG,MAAM;AACzB,EAAA,MAAMC,QAAQ,GAAG7C,YAAM,CAAC,IAAD,CAAvB,CAAA;AACA,EAAA,MAAM8C,SAAS,GAAG3C,iBAAW,CAAC,MAAM0C,QAAQ,CAACxC,OAAhB,EAAyB,CAACwC,QAAD,CAAzB,CAA7B,CAAA;AAEArC,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,OAAO,MAAM;AACXqC,MAAAA,QAAQ,CAACxC,OAAT,GAAmB,KAAnB,CAAA;AACD,KAFD,CAAA;AAGD,GAJQ,EAIN,EAJM,CAAT,CAAA;AAMA,EAAA,OAAOyC,SAAP,CAAA;AACD,CAXD;;ACCA,MAAMtB,2BAAyB,GAAGuB,QAAQ,CAACC,SAAT,GAC9BC,qBAD8B,GAE9BzC,eAFJ;;ACAA,MAAM0C,gBAAc,GAAG,CACrBC,EAAE,GAAGC,MADgB,EAErBC,WAAW,GAAG,GAFO,KAGlB;AACH,EAAM,MAAA,CAACC,WAAD,EAAcC,cAAd,IAAgCxC,cAAQ,CAAC,KAAD,CAA9C,CAAA;AACA,EAAM+B,MAAAA,SAAS,GAAGF,YAAY,EAA9B,CAAA;AACA,EAAA,MAAMY,QAAQ,GAAGrD,iBAAW,CAAC,MAAM;AACjCoD,IAAAA,cAAc,CAAC,IAAD,CAAd,CAAA;AACD,GAF2B,EAEzB,EAFyB,CAA5B,CAAA;AAGA,EAAA,MAAME,WAAW,GAAGtD,iBAAW,CAAC,MAAM;AACpC,IAAI2C,IAAAA,SAAS,EAAb,EAAiB;AACfS,MAAAA,cAAc,CAAC,KAAD,CAAd,CAAA;AACD,KAAA;AACF,GAJ8B,EAI5B,CAACT,SAAD,CAJ4B,CAA/B,CAAA;AAMAY,EAAAA,WAAW,CAACF,QAAD,EAAWL,EAAX,CAAX,CAAA;AACAO,EAAAA,WAAW,CAACnC,WAAW,CAACkC,WAAD,EAAcJ,WAAd,CAAZ,EAAwCF,EAAxC,CAAX,CAAA;AAEA,EAAA,OAAOG,WAAP,CAAA;AACD,CAnBD;;ACAA,MAAMI,aAAW,GAAG,CAAC5D,QAAD,EAAWqD,EAAE,GAAGJ,QAAQ,CAACC,SAAT,IAAsBI,MAAtC,KAAiD;AACnE5C,EAAAA,eAAS,CAAC,MAAM;AACd2C,IAAAA,EAAE,CAACQ,gBAAH,CAAoB,QAApB,EAA8B7D,QAA9B,CAAA,CAAA;AAEA,IAAA,OAAO,MAAM;AACXqD,MAAAA,EAAE,CAACS,mBAAH,CAAuB,QAAvB,EAAiC9D,QAAjC,CAAA,CAAA;AACD,KAFD,CAAA;AAGD,GANQ,EAMN,CAACA,QAAD,EAAWqD,EAAX,CANM,CAAT,CAAA;AAOD,CARD;;ACDA,MAAMU,aAAW,GAAIC,KAAD,IAAW;AAC7B,EAAMnD,MAAAA,GAAG,GAAGX,YAAM,EAAlB,CAAA;AAEAQ,EAAAA,eAAS,CAAC,MAAM;AACdG,IAAAA,GAAG,CAACN,OAAJ,GAAcyD,KAAd,CAAA;AACD,GAFQ,CAAT,CAAA;AAIA,EAAOnD,OAAAA,GAAG,CAACN,OAAX,CAAA;AACD,CARD;;ACEA,MAAM0D,iBAAe,GAAG,CAACnD,UAAU,GAAG,EAAd,KAAqB;AAC3C,EAAM,MAAA,CAACoD,cAAD,EAAiBC,iBAAjB,CAAA,GACFlD,cAAQ,CAACgC,QAAQ,CAACiB,cAAT,EAAD,CADZ,CAAA;AAGA,EAAA,MAAMR,QAAQ,GAAGrD,iBAAW,CAAC,MAAM;AACjC8D,IAAAA,iBAAiB,CAAClB,QAAQ,CAACiB,cAAT,EAAD,CAAjB,CAAA;AACD,GAF2B,EAEzB,EAFyB,CAA5B,CAAA;AAIA,EAAA,MAAME,iBAAiB,GAAG3C,WAAW,CAACiC,QAAD,EAAW5C,UAAX,CAArC,CAAA;AAEA8C,EAAAA,WAAW,CAACQ,iBAAD,CAAX,CAAA;AAEA,EAAA,OAAOF,cAAP,CAAA;AACD,CAbD;;ACAA,MAAM/C,eAAa,GAAG,CAACL,UAAU,GAAG,EAAd,KAAqB;AACzC,EAAM,MAAA,CAACuD,IAAD,EAAOC,OAAP,IAAkBrD,cAAQ,CAAC,IAAD,CAAhC,CAAA;AACA,EAAA,MAAMG,QAAQ,GAAGf,iBAAW,CAAC,MAAM;AACjCiE,IAAAA,OAAO,CAAC;AACNC,MAAAA,KAAK,EAAEjB,MAAM,CAACkB,UADR;AAENC,MAAAA,MAAM,EAAEnB,MAAM,CAACoB,WAAAA;AAFT,KAAD,CAAP,CAAA;AAID,GAL2B,EAKzB,EALyB,CAA5B,CAAA;AAOA,EAAA,MAAMlD,iBAAiB,GAAGC,WAAW,CAACL,QAAD,EAAWN,UAAX,CAArC,CAAA;AAEAJ,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACuC,QAAQ,CAACC,SAAd,EAAyB;AACvB,MAAA,OAAA;AACD,KAAA;;AAEDI,IAAAA,MAAM,CAACO,gBAAP,CAAwB,QAAxB,EAAkCrC,iBAAlC,CAAA,CAAA;AACAJ,IAAAA,QAAQ,EAAA,CAAA;AACR,IAAA,OAAO,MAAM;AACXkC,MAAAA,MAAM,CAACQ,mBAAP,CAA2B,QAA3B,EAAqCtC,iBAArC,CAAA,CAAA;AACD,KAFD,CAAA;AAGD,GAVQ,EAUN,CAACJ,QAAD,EAAWI,iBAAX,CAVM,CAAT,CAAA;AAYA,EAAA,OAAO6C,IAAP,CAAA;AACD,CAxBD;;ACQO,MAAMtE,iBAAiB,GAAG4E,oBAA1B;AACA,MAAM/D,qBAAqB,GAAGgE,wBAA9B;AACA,MAAM7C,aAAa,GAAG8C,gBAAtB;AACA,MAAMpD,WAAW,GAAGqD,cAApB;AACA,MAAMhC,YAAY,GAAGiC,eAArB;AACA,MAAMrD,yBAAyB,GAAGsD,4BAAlC;AACA,MAAM5B,cAAc,GAAG6B,iBAAvB;AACA,MAAMrB,WAAW,GAAGsB,cAApB;AACA,MAAMnB,WAAW,GAAGoB,cAApB;AACA,MAAMlB,eAAe,GAAGmB,kBAAxB;AACA,MAAMjE,aAAa,GAAGkE,gBAAtB;AAEP,MAAMC,SAAO,GAAG;AACdvF,EAAAA,iBADc;AAEda,EAAAA,qBAFc;AAGdmB,EAAAA,aAHc;AAIdN,EAAAA,WAJc;AAKdqB,EAAAA,YALc;AAMdpB,EAAAA,yBANc;AAOd0B,EAAAA,cAPc;AAQdQ,EAAAA,WARc;AASdG,EAAAA,WATc;AAUdE,EAAAA,eAVc;AAWd9C,EAAAA,aAAAA;AAXc;;;;;;;;;;;;;;;"}
{"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/useIsMounted/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useIsScrolling/index.js","../src/useOnScroll/index.js","../src/usePrevious/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.4 Copyright 2022 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\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\n var context = this;\n\n var later = () => {\n timeout = null;\n\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n\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 { 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 { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\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","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 { 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 _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\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 useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useOnScroll,\n usePrevious,\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","useIsMounted","mountRef","isMounted","platform","hasWindow","useLayoutEffect","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","addEventListener","removeEventListener","usePrevious","value","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useOnScroll","_usePrevious","_useWindowScroll","_useWindowSize","exports"],"mappings":"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"}

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

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

@@ -3,0 +3,0 @@

@@ -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/useIsMounted/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useIsScrolling/index.js","../src/useOnScroll/index.js","../src/usePrevious/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.4 Copyright 2022 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\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\n var context = this;\n\n var later = () => {\n timeout = null;\n\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n\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 { 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 { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\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","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 { 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 _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\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 useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useOnScroll,\n usePrevious,\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","useIsMounted","mountRef","isMounted","platform","hasWindow","useLayoutEffect","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","addEventListener","removeEventListener","usePrevious","value","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useOnScroll","_usePrevious","_useWindowScroll","_useWindowSize","exports"],"mappings":"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"}
{"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/useIsMounted/index.js","../src/useIsomorphicLayoutEffect/index.js","../src/useIsScrolling/index.js","../src/useOnScroll/index.js","../src/usePrevious/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.4 Copyright 2022 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\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\n var context = this;\n\n var later = () => {\n timeout = null;\n\n if (!immediate) {\n fun.apply(context, args);\n }\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, waitMs);\n\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 { 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 { useLayoutEffect, useEffect } from 'react';\nimport { platform } from '@haensl/services';\n\nconst useIsomorphicLayoutEffect = platform.hasWindow\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\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","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 { 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 _useIsMounted from './useIsMounted';\nimport _useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport _useIsScrolling from './useIsScrolling';\nimport _useOnScroll from './useOnScroll';\nimport _usePrevious from './usePrevious';\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 useIsMounted = _useIsMounted;\nexport const useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect;\nexport const useIsScrolling = _useIsScrolling;\nexport const useOnScroll = _useOnScroll;\nexport const usePrevious = _usePrevious;\nexport const useWindowScroll = _useWindowScroll;\nexport const useWindowSize = _useWindowSize;\n\nconst exports = {\n useAnimationFrame,\n useBoundingClientRect,\n useClassNames,\n useDebounce,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsScrolling,\n useOnScroll,\n usePrevious,\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","useIsMounted","mountRef","isMounted","platform","hasWindow","useLayoutEffect","useIsScrolling","el","window","scrollEndMs","isScrolling","setIsScrolling","onScroll","onScrollEnd","useOnScroll","addEventListener","removeEventListener","usePrevious","value","useWindowScroll","scrollPosition","setScrollPosition","onScrollDebounced","size","setSize","width","innerWidth","height","innerHeight","_useAnimationFrame","_useBoundingClientRect","_useClassNames","_useDebounce","_useIsMounted","_useIsomorphicLayoutEffect","_useIsScrolling","_useOnScroll","_usePrevious","_useWindowScroll","_useWindowSize","exports"],"mappings":"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"}
{
"name": "@haensl/react-hooks",
"version": "1.11.1",
"version": "1.11.2",
"description": "Assorted React hooks.",

@@ -139,9 +139,8 @@ "main": "dist/hooks.cjs.js",

"@rollup/plugin-babel": "^5.2.3",
"@rollup/plugin-commonjs": "^21.0.1",
"@rollup/plugin-commonjs": "^22.0.2",
"@rollup/plugin-node-resolve": "^13.0.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/react": "^12.1.2",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/react": "^13.3.0",
"babel-eslint": "^10.1.0",
"babel-jest": "^27.0.1",
"babel-jest": "^28.1.3",
"babel-preset-react-app": "^10.0.0",

@@ -155,8 +154,9 @@ "eslint": "^8.5.0",

"eslint-plugin-react-hooks": "^4.2.0",
"husky": "^7.0.4",
"jest": "^27.0.1",
"jest-junit": "^13.0.0",
"react": "^17.0.2",
"husky": "^8.0.1",
"jest": "^28.1.3",
"jest-environment-jsdom": "^28.1.3",
"jest-junit": "^14.0.0",
"react": "^18.2.0",
"react-app-polyfill": "^3.0.0",
"react-dom": "^17.0.2",
"react-dom": "^18.2.0",
"rimraf": "^3.0.2",

@@ -163,0 +163,0 @@ "rollup": "^2.38.2",