@siberiacancode/reactuse 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs +1 -1
- package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
- package/dist/cjs/hooks/useAudio/useAudio.cjs +1 -1
- package/dist/cjs/hooks/useAudio/useAudio.cjs.map +1 -1
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +1 -1
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
- package/dist/cjs/hooks/useCssVar/useCssVar.cjs +1 -1
- package/dist/cjs/hooks/useCssVar/useCssVar.cjs.map +1 -1
- package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +1 -1
- package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs.map +1 -1
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs +1 -1
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs +1 -1
- package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs.map +1 -1
- package/dist/cjs/hooks/useDropZone/useDropZone.cjs +1 -1
- package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
- package/dist/cjs/hooks/useElementSize/useElementSize.cjs +1 -1
- package/dist/cjs/hooks/useElementSize/useElementSize.cjs.map +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.cjs +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.cjs.map +1 -1
- package/dist/cjs/hooks/useFocus/useFocus.cjs +1 -1
- package/dist/cjs/hooks/useFocus/useFocus.cjs.map +1 -1
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +1 -1
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs.map +1 -1
- package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +1 -1
- package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs.map +1 -1
- package/dist/cjs/hooks/useHash/useHash.cjs.map +1 -1
- package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs +1 -1
- package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
- package/dist/cjs/hooks/useHover/useHover.cjs +1 -1
- package/dist/cjs/hooks/useHover/useHover.cjs.map +1 -1
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +1 -1
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -1
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
- package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs +1 -1
- package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useLongPress/useLongPress.cjs +1 -1
- package/dist/cjs/hooks/useLongPress/useLongPress.cjs.map +1 -1
- package/dist/cjs/hooks/useMeasure/useMeasure.cjs +1 -1
- package/dist/cjs/hooks/useMeasure/useMeasure.cjs.map +1 -1
- package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +1 -1
- package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs.map +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.cjs +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +1 -1
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
- package/dist/cjs/hooks/usePaint/usePaint.cjs +1 -1
- package/dist/cjs/hooks/usePaint/usePaint.cjs.map +1 -1
- package/dist/cjs/hooks/useParallax/useParallax.cjs +1 -1
- package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs +1 -1
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs.map +1 -1
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +1 -1
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs.map +1 -1
- package/dist/cjs/hooks/useRightClick/useRightClick.cjs +1 -1
- package/dist/cjs/hooks/useRightClick/useRightClick.cjs.map +1 -1
- package/dist/cjs/hooks/useScroll/useScroll.cjs +1 -1
- package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +1 -1
- package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
- package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +1 -1
- package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs.map +1 -1
- package/dist/cjs/hooks/useSticky/useSticky.cjs +1 -1
- package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
- package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +1 -1
- package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
- package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +2 -0
- package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -0
- package/dist/cjs/hooks/useVisibility/useVisibility.cjs +1 -1
- package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/utils/helpers/isTarget.cjs +1 -1
- package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
- package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +8 -9
- package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
- package/dist/esm/hooks/useAudio/useAudio.mjs +29 -23
- package/dist/esm/hooks/useAudio/useAudio.mjs.map +1 -1
- package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs +12 -13
- package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs.map +1 -1
- package/dist/esm/hooks/useClickOutside/useClickOutside.mjs +8 -9
- package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
- package/dist/esm/hooks/useCssVar/useCssVar.mjs +19 -20
- package/dist/esm/hooks/useCssVar/useCssVar.mjs.map +1 -1
- package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs +15 -16
- package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs.map +1 -1
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs +3 -3
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs.map +1 -1
- package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs +17 -18
- package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs.map +1 -1
- package/dist/esm/hooks/useDropZone/useDropZone.mjs +17 -18
- package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
- package/dist/esm/hooks/useElementSize/useElementSize.mjs +12 -12
- package/dist/esm/hooks/useElementSize/useElementSize.mjs.map +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.mjs +11 -12
- package/dist/esm/hooks/useEventListener/useEventListener.mjs.map +1 -1
- package/dist/esm/hooks/useFocus/useFocus.mjs +13 -14
- package/dist/esm/hooks/useFocus/useFocus.mjs.map +1 -1
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs +18 -19
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs.map +1 -1
- package/dist/esm/hooks/useFullscreen/useFullscreen.mjs +11 -12
- package/dist/esm/hooks/useFullscreen/useFullscreen.mjs.map +1 -1
- package/dist/esm/hooks/useHash/useHash.mjs.map +1 -1
- package/dist/esm/hooks/useHotkeys/useHotkeys.mjs +8 -9
- package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
- package/dist/esm/hooks/useHover/useHover.mjs +12 -13
- package/dist/esm/hooks/useHover/useHover.mjs.map +1 -1
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs +11 -12
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs.map +1 -1
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs +19 -20
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs.map +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.mjs +8 -9
- package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs +11 -12
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs.map +1 -1
- package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +11 -12
- package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs +11 -12
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
- package/dist/esm/hooks/useLockScroll/useLockScroll.mjs +12 -13
- package/dist/esm/hooks/useLockScroll/useLockScroll.mjs.map +1 -1
- package/dist/esm/hooks/useLongPress/useLongPress.mjs +13 -14
- package/dist/esm/hooks/useLongPress/useLongPress.mjs.map +1 -1
- package/dist/esm/hooks/useMeasure/useMeasure.mjs +15 -16
- package/dist/esm/hooks/useMeasure/useMeasure.mjs.map +1 -1
- package/dist/esm/hooks/useMediaControls/useMediaControls.mjs +32 -33
- package/dist/esm/hooks/useMediaControls/useMediaControls.mjs.map +1 -1
- package/dist/esm/hooks/useMouse/useMouse.mjs +12 -13
- package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs +11 -12
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs.map +1 -1
- package/dist/esm/hooks/usePaint/usePaint.mjs +23 -24
- package/dist/esm/hooks/usePaint/usePaint.mjs.map +1 -1
- package/dist/esm/hooks/useParallax/useParallax.mjs +31 -32
- package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs +11 -12
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs.map +1 -1
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs +11 -12
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs.map +1 -1
- package/dist/esm/hooks/useRightClick/useRightClick.mjs +11 -12
- package/dist/esm/hooks/useRightClick/useRightClick.mjs.map +1 -1
- package/dist/esm/hooks/useScroll/useScroll.mjs +12 -13
- package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
- package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs +20 -21
- package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs.map +1 -1
- package/dist/esm/hooks/useScrollTo/useScrollTo.mjs +13 -14
- package/dist/esm/hooks/useScrollTo/useScrollTo.mjs.map +1 -1
- package/dist/esm/hooks/useSticky/useSticky.mjs +11 -12
- package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
- package/dist/esm/hooks/useTextDirection/useTextDirection.mjs +21 -22
- package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
- package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs +58 -0
- package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -0
- package/dist/esm/hooks/useVisibility/useVisibility.mjs +13 -14
- package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs +4 -4
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
- package/dist/esm/hooks/useWindowSize/useWindowSize.mjs +12 -16
- package/dist/esm/hooks/useWindowSize/useWindowSize.mjs.map +1 -1
- package/dist/esm/index.mjs +256 -256
- package/dist/esm/utils/helpers/isTarget.mjs +9 -3
- package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
- package/dist/types/hooks/elements.d.ts +1 -0
- package/dist/types/hooks/useHash/useHash.d.ts +18 -5
- package/dist/types/hooks/useTextareaAutosize/useTextareaAutosize.d.ts +60 -0
- package/dist/types/utils/helpers/index.d.ts +0 -1
- package/dist/types/utils/helpers/isTarget.d.ts +19 -2
- package/package.json +89 -89
- package/dist/cjs/utils/helpers/getElement.cjs +0 -2
- package/dist/cjs/utils/helpers/getElement.cjs.map +0 -1
- package/dist/esm/utils/helpers/getElement.mjs +0 -10
- package/dist/esm/utils/helpers/getElement.mjs.map +0 -1
- package/dist/types/utils/helpers/getElement.d.ts +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollIntoView.cjs","sources":["../../../../src/hooks/useScrollIntoView/useScrollIntoView.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useScrollIntoView.cjs","sources":["../../../../src/hooks/useScrollIntoView/useScrollIntoView.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The scroll into view options type */\nexport interface UseScrollIntoViewOptions extends ScrollIntoViewOptions {\n /** Whether to immediately the scroll into view */\n immediately?: boolean;\n}\n\n/** The scroll into view return type */\nexport interface UseScrollIntoViewReturn {\n /** Function to scroll element into view */\n trigger: (params?: {\n behavior?: ScrollBehavior;\n block?: ScrollLogicalPosition;\n inline?: ScrollLogicalPosition;\n }) => void;\n}\n\nexport interface UseScrollIntoView {\n <Target extends Element>(\n options?: UseScrollIntoViewOptions,\n target?: never\n ): UseScrollIntoViewReturn & { ref: StateRef<Target> };\n\n (target?: HookTarget, options?: UseScrollIntoViewOptions): UseScrollIntoViewReturn;\n}\n\n/**\n * @name useScrollIntoView\n * @description - Hook that provides functionality to scroll an element into view\n * @category Sensors\n * @usage low\n *\n * @overload\n * @param {HookTarget} [target=window] The target element to scroll into view\n * @param {boolean} [options.immediately=true] Whether to scroll immediately\n * @param {ScrollBehavior} [options.behavior='smooth'] The scrolling behavior\n * @param {ScrollLogicalPosition} [options.block='start'] The vertical alignment\n * @param {ScrollLogicalPosition} [options.inline='nearest'] The horizontal alignment\n * @returns {UseScrollIntoViewReturn} Object containing scroll function\n *\n * @example\n * const { trigger } = useScrollIntoView(ref);\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.immediately=true] Whether to scroll immediately\n * @param {ScrollBehavior} [options.behavior='smooth'] The scrolling behavior\n * @param {ScrollLogicalPosition} [options.block='start'] The vertical alignment\n * @param {ScrollLogicalPosition} [options.inline='nearest'] The horizontal alignment\n * @returns {UseScrollIntoViewReturn & { ref: StateRef<Target> }} Object containing scroll function and ref\n *\n * @example\n * const { ref, trigger } = useScrollIntoView<HTMLDivElement>();\n */\nexport const useScrollIntoView = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseScrollIntoViewOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const {\n behavior = 'smooth',\n block = 'start',\n inline = 'nearest',\n immediately = true\n } = options ?? {};\n const elementRef = useRef<Element>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (!immediately) return;\n if (!target && !internalRef.state) return;\n\n const element =\n ((target ? isTarget.getElement(target) : internalRef.current) as Element) ?? window;\n\n elementRef.current = element;\n\n element.scrollIntoView({\n behavior,\n block,\n inline\n });\n }, [target, internalRef.state]);\n\n const trigger = (params?: {\n behavior?: ScrollBehavior;\n block?: ScrollLogicalPosition;\n inline?: ScrollLogicalPosition;\n }) => {\n if (!elementRef.current) return;\n\n const { behavior, block, inline } = params ?? {};\n\n elementRef.current.scrollIntoView({\n behavior,\n block,\n inline\n });\n };\n\n if (target) return { trigger };\n return { ref: internalRef, trigger };\n}) as UseScrollIntoView;\n"],"names":["useScrollIntoView","params","target","isTarget","options","internalRef","useRefState","behavior","block","inline","immediately","elementRef","useRef","useIsomorphicLayoutEffect","element","trigger"],"mappings":"2QAgEaA,EAAqB,IAAIC,IAAkB,CACtD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EAAWF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EAExCI,EAAcC,EAAAA,YAAA,EACd,CACJ,SAAAC,EAAW,SACX,MAAAC,EAAQ,QACR,OAAAC,EAAS,UACT,YAAAC,EAAc,EAAA,EACZN,GAAW,CAAA,EACTO,EAAaC,EAAAA,OAAgB,IAAI,EAEvCC,EAAAA,0BAA0B,IAAM,CAE9B,GADI,CAACH,GACD,CAACR,GAAU,CAACG,EAAY,MAAO,OAEnC,MAAMS,GACFZ,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAIG,EAAY,UAAwB,OAE/EM,EAAW,QAAUG,EAErBA,EAAQ,eAAe,CACrB,SAAAP,EACA,MAAAC,EACA,OAAAC,CAAA,CACD,CAAA,EACA,CAACP,EAAQG,EAAY,KAAK,CAAC,EAE9B,MAAMU,EAAWd,GAIX,CACJ,GAAI,CAACU,EAAW,QAAS,OAEzB,KAAM,CAAE,SAAAJ,EAAU,MAAAC,EAAO,OAAAC,GAAWR,GAAU,CAAA,EAE9CU,EAAW,QAAQ,eAAe,CAChC,SAAAJ,EACA,MAAAC,EACA,OAAAC,CAAA,CACD,CAAA,EAGH,OAAIP,EAAe,CAAE,QAAAa,CAAA,EACd,CAAE,IAAKV,EAAa,QAAAU,CAAA,CAC7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),h=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),v=require("../useRefState/useRefState.cjs"),c=require("../../utils/helpers/isTarget.cjs"),S=(...t)=>{const e=c.isTarget(t[0])?t[0]:void 0,u=e?t[1]:t[0],{x:i,y:l,behavior:f="auto",immediately:a=!0}=u??{},r=v.useRefState(),n=b.useRef(null);h.useIsomorphicLayoutEffect(()=>{if(!a||!e&&!r.state)return;const o=(e?c.isTarget.getElement(e):r.current)??window;n.current=o,o.scrollTo({top:l,left:i,behavior:f})},[e,r.state]);const s=o=>{if(!n.current)return;const{x:g,y,behavior:T}=o??{};n.current.scrollTo({left:g,top:y,behavior:T})};return e?{trigger:s}:{ref:r,trigger:s}};exports.useScrollTo=S;
|
|
2
2
|
//# sourceMappingURL=useScrollTo.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollTo.cjs","sources":["../../../../src/hooks/useScrollTo/useScrollTo.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useScrollTo.cjs","sources":["../../../../src/hooks/useScrollTo/useScrollTo.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use scroll to options type */\nexport interface UseScrollToOptions {\n /** The scrolling behavior */\n behavior?: ScrollBehavior;\n /** Whether to immediately the scroll to */\n immediately?: boolean;\n /** The horizontal position to scroll to */\n x: number;\n /** The vertical position to scroll to */\n y: number;\n}\n\n/** The use scroll to return type */\nexport interface UseScrollToReturn {\n /** The state of scrolling */\n trigger: (params?: { x: number; y: number; behavior?: ScrollBehavior }) => void;\n}\n\nexport interface UseScrollTo {\n <Target extends Element>(\n options?: UseScrollToOptions,\n target?: never\n ): UseScrollToReturn & { ref: StateRef<Target> };\n\n (target?: HookTarget, options?: UseScrollToOptions): UseScrollToReturn;\n}\n\n/**\n * @name useScrollTo\n * @description - Hook for scrolling to a specific element\n * @category Sensors\n * @usage low\n *\n * @overload\n * @param {HookTarget} [target=window] The target element for scrolling to\n * @param {boolean} [options.immediately=true] Whether to scroll immediately\n * @param {number} [options.x] The horizontal position to scroll to\n * @param {number} [options.y] The vertical position to scroll to\n * @param {ScrollBehavior} [options.behavior=auto] The scrolling behavior\n * @returns {UseScrollToReturn} The scroll trigger function\n *\n * @example\n * const trigger = useScrollTo(ref, options);\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.immediately=true] Whether to scroll immediately\n * @param {number} [options.x] The horizontal position to scroll to\n * @param {number} [options.y] The vertical position to scroll to\n * @param {ScrollBehavior} [options.behavior=auto] The scrolling behavior\n * @returns {UseScrollToReturn & { ref: StateRef<Target> }} The scroll trigger function and ref\n *\n * @example\n * const { ref, trigger } = useScrollTo(options);\n */\nexport const useScrollTo = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseScrollToOptions | undefined;\n const { x, y, behavior = 'auto', immediately = true } = options ?? {};\n const internalRef = useRefState<Element>();\n const elementRef = useRef<Element>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (!immediately) return;\n if (!target && !internalRef.state) return;\n\n const element =\n ((target ? isTarget.getElement(target) : internalRef.current) as Element) ?? window;\n\n elementRef.current = element;\n\n element.scrollTo({ top: y, left: x, behavior });\n }, [target, internalRef.state]);\n\n const trigger = (params?: { x: number; y: number; behavior?: ScrollBehavior }) => {\n if (!elementRef.current) return;\n\n const { x, y, behavior } = params ?? {};\n\n elementRef.current.scrollTo({ left: x, top: y, behavior });\n };\n\n if (target) return { trigger };\n return { ref: internalRef, trigger };\n}) as UseScrollTo;\n"],"names":["useScrollTo","params","target","isTarget","options","x","y","behavior","immediately","internalRef","useRefState","elementRef","useRef","useIsomorphicLayoutEffect","element","trigger","y2"],"mappings":"2QAkEaA,EAAe,IAAIC,IAAkB,CAChD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EAAWF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EACxC,CAAE,EAAAI,EAAG,EAAAC,EAAG,SAAAC,EAAW,OAAQ,YAAAC,EAAc,IAASJ,GAAW,CAAA,EAC7DK,EAAcC,EAAAA,YAAA,EACdC,EAAaC,EAAAA,OAAgB,IAAI,EAEvCC,EAAAA,0BAA0B,IAAM,CAE9B,GADI,CAACL,GACD,CAACN,GAAU,CAACO,EAAY,MAAO,OAEnC,MAAMK,GACFZ,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAIO,EAAY,UAAwB,OAE/EE,EAAW,QAAUG,EAErBA,EAAQ,SAAS,CAAE,IAAKR,EAAG,KAAMD,EAAG,SAAAE,EAAU,CAAA,EAC7C,CAACL,EAAQO,EAAY,KAAK,CAAC,EAE9B,MAAMM,EAAWd,GAAiE,CAChF,GAAI,CAACU,EAAW,QAAS,OAEzB,KAAM,CAAE,EAAAN,EAAGW,EAAG,SAAAT,GAAaN,GAAU,CAAA,EAErCU,EAAW,QAAQ,SAAS,CAAE,KAAMN,EAAG,IAAKC,EAAG,SAAAC,EAAU,CAAA,EAG3D,OAAIL,EAAe,CAAE,QAAAa,CAAA,EACd,CAAE,IAAKN,EAAa,QAAAM,CAAA,CAC7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),L=require("../useRefState/useRefState.cjs"),u=require("../../utils/helpers/isTarget.cjs"),E=(...o)=>{const n=u.isTarget(o[0])?o[0]:void 0,r=n?o[1]:o[0],i=r?.axis??"vertical",s=L.useRefState(),[f,a]=g.useState(!1);return g.useEffect(()=>{if(!n&&!s.state)return;const c=n?u.isTarget.getElement(n):s.current;if(!c)return;const e=r?.root?u.isTarget.getElement(r.root):document,d=c.getBoundingClientRect().top+e.scrollTop-e.getBoundingClientRect().top,v=c.getBoundingClientRect().left+e.scrollLeft-e.getBoundingClientRect().left,t=()=>{if(i==="vertical"){const l=e.scrollTop;a(l>=d)}if(i==="horizontal"){const l=e.scrollLeft;a(l>=v)}};return e.addEventListener("scroll",t),window.addEventListener("resize",t),window.addEventListener("orientationchange",t),t(),()=>{e.removeEventListener("scroll",t),window.removeEventListener("resize",t),window.removeEventListener("orientationchange",t)}},[n,s.state,i,r?.root]),n?f:{stuck:f,ref:s}};exports.useSticky=E;
|
|
2
2
|
//# sourceMappingURL=useSticky.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSticky.cjs","sources":["../../../../src/hooks/useSticky/useSticky.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useSticky.cjs","sources":["../../../../src/hooks/useSticky/useSticky.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use sticky return type */\nexport interface UseStickyReturn {\n stuck: boolean;\n}\n\n/** The use sticky axis type */\nexport type UseStickyAxis = 'horizontal' | 'vertical';\n\n/** The use sticky options type */\nexport interface UseStickyOptions {\n axis?: UseStickyAxis;\n root?: HookTarget;\n}\n\nexport interface UseSticky {\n (target: HookTarget, options?: UseStickyOptions): boolean;\n\n <Target extends Element>(\n options?: UseStickyOptions,\n target?: never\n ): {\n ref: StateRef<Target>;\n } & UseStickyReturn;\n}\n\n/**\n * @name UseSticky\n * @description - Hook that allows you to detect that your sticky component is stuck\n * @category Elements\n * @usage low\n *\n * @overload\n * @param {HookTarget} target The target sticky element\n * @param {UseStickyAxis} [options.axis='vertical'] The axis of motion of the sticky component\n * @param {UseStickyRoot} [options.root=document] The element that contains your sticky component\n * @returns {UseStickyReturn} The state of the sticky\n *\n * @example\n * const stuck = useSticky(ref);\n *\n * @overload\n * @param {UseStickyAxis} [options.axis='vertical'] The axis of motion of the sticky component\n * @param {UseStickyRoot} [options.root=document] The element that contains your sticky component\n * @returns {{ stickyRef: StateRef<Target> } & UseStickyReturn} The state of the sticky\n *\n * @example\n * const { stuck, ref } = useSticky();\n */\nexport const useSticky = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseStickyOptions;\n const axis = options?.axis ?? 'vertical';\n\n const internalRef = useRefState<Element>();\n const [stuck, setStuck] = useState(false);\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (target ? isTarget.getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const root = (options?.root ? isTarget.getElement(options.root) : document) as Element;\n const elementOffsetTop =\n element.getBoundingClientRect().top + root.scrollTop - root.getBoundingClientRect().top;\n const elementOffsetLeft =\n element.getBoundingClientRect().left + root.scrollLeft - root.getBoundingClientRect().left;\n\n const onSticky = () => {\n if (axis === 'vertical') {\n const scrollTop = root.scrollTop;\n setStuck(scrollTop >= elementOffsetTop);\n }\n\n if (axis === 'horizontal') {\n const scrollLeft = root.scrollLeft;\n setStuck(scrollLeft >= elementOffsetLeft);\n }\n };\n\n root.addEventListener('scroll', onSticky);\n window.addEventListener('resize', onSticky);\n window.addEventListener('orientationchange', onSticky);\n\n onSticky();\n\n return () => {\n root.removeEventListener('scroll', onSticky);\n window.removeEventListener('resize', onSticky);\n window.removeEventListener('orientationchange', onSticky);\n };\n }, [target, internalRef.state, axis, options?.root]);\n\n if (target) return stuck;\n return {\n stuck,\n ref: internalRef\n };\n}) as UseSticky;\n"],"names":["useSticky","params","target","isTarget","options","axis","internalRef","useRefState","stuck","setStuck","useState","useEffect","element","root","elementOffsetTop","elementOffsetLeft","onSticky","scrollTop","scrollLeft"],"mappings":"mMA0DaA,EAAa,IAAIC,IAAkB,CAC9C,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EAAWF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EACxCI,EAAOD,GAAS,MAAQ,WAExBE,EAAcC,EAAAA,YAAA,EACd,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAS,EAAK,EAwCxC,OAtCAC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACT,GAAU,CAACI,EAAY,MAAO,OAEnC,MAAMM,EAAWV,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAII,EAAY,QAEpE,GAAI,CAACM,EAAS,OAEd,MAAMC,EAAQT,GAAS,KAAOD,EAAAA,SAAS,WAAWC,EAAQ,IAAI,EAAI,SAC5DU,EACJF,EAAQ,wBAAwB,IAAMC,EAAK,UAAYA,EAAK,sBAAA,EAAwB,IAChFE,EACJH,EAAQ,wBAAwB,KAAOC,EAAK,WAAaA,EAAK,sBAAA,EAAwB,KAElFG,EAAW,IAAM,CACrB,GAAIX,IAAS,WAAY,CACvB,MAAMY,EAAYJ,EAAK,UACvBJ,EAASQ,GAAaH,CAAgB,CAAA,CAGxC,GAAIT,IAAS,aAAc,CACzB,MAAMa,EAAaL,EAAK,WACxBJ,EAASS,GAAcH,CAAiB,CAAA,CAC1C,EAGF,OAAAF,EAAK,iBAAiB,SAAUG,CAAQ,EACxC,OAAO,iBAAiB,SAAUA,CAAQ,EAC1C,OAAO,iBAAiB,oBAAqBA,CAAQ,EAErDA,EAAA,EAEO,IAAM,CACXH,EAAK,oBAAoB,SAAUG,CAAQ,EAC3C,OAAO,oBAAoB,SAAUA,CAAQ,EAC7C,OAAO,oBAAoB,oBAAqBA,CAAQ,CAAA,CAC1D,EACC,CAACd,EAAQI,EAAY,MAAOD,EAAMD,GAAS,IAAI,CAAC,EAE/CF,EAAeM,EACZ,CACL,MAAAA,EACA,IAAKF,CAAA,CAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),m=require("../useRefState/useRefState.cjs"),o=require("../../utils/helpers/isTarget.cjs"),v=(...i)=>{const e=o.isTarget(i[0])?i[0]:void 0,l=(e?i[1]:i[0])??"ltr",r=m.useRefState(),n=c.useRef(null),u=()=>typeof window>"u"?l:(e?o.isTarget.getElement(e):r.current)?.getAttribute("dir")??l,[f,s]=c.useState(u()),a=()=>{n.current&&n.current?.removeAttribute("dir")},d=t=>{n.current&&(s(t),n.current.setAttribute("dir",t))};return c.useEffect(()=>{if(!e&&!r.state)return;const t=(e?o.isTarget.getElement(e):r.current)??document.querySelector("html");if(!t)return;n.current=t;const g=u();t.setAttribute("dir",g),s(g);const b=new MutationObserver(()=>s(u()));return b.observe(t,{attributes:!0}),()=>{b.disconnect()}},[r.state,e]),e?{value:f,set:d,remove:a}:{ref:r,value:f,set:d,remove:a}};exports.useTextDirection=v;
|
|
2
2
|
//# sourceMappingURL=useTextDirection.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTextDirection.cjs","sources":["../../../../src/hooks/useTextDirection/useTextDirection.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useTextDirection.cjs","sources":["../../../../src/hooks/useTextDirection/useTextDirection.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use text direction value type */\nexport type UseTextDirectionValue = 'auto' | 'ltr' | 'rtl';\n\n/** The use text direction return type */\nexport interface UseTextDirectionReturn {\n /** The current direction */\n value: UseTextDirectionValue;\n /*** The function to remove the direction */\n remove: () => void;\n /*** The function to set the direction */\n set: (value: UseTextDirectionValue | null) => void;\n}\n\nexport interface UseTextDirection {\n (target: HookTarget, initialValue?: UseTextDirectionValue): UseTextDirectionReturn;\n\n <Target extends Element>(\n initialValue?: UseTextDirectionValue,\n target?: never\n ): UseTextDirectionReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useTextDirection\n * @description - Hook that can get and set the direction of the element\n * @category Elements\n * @usage medium\n *\n * @overload\n * @param {HookTarget} [target=document.querySelector('html')] The target element to observe\n * @param {UseTextDirectionValue} [initialValue = 'ltr'] The initial direction of the element\n * @returns {UseTextDirectionReturn} An object containing the current text direction of the element\n *\n * @example\n * const { value, set, remove } = useTextDirection(ref);\n *\n * @overload\n * @template Target The target element type\n * @param {UseTextDirectionValue} [initialValue = 'ltr'] The initial direction of the element\n * @returns { { ref: StateRef<Target> } & UseTextDirectionReturn } An object containing the current text direction of the element\n *\n * @example\n * const { ref, value, set, remove } = useTextDirection();\n */\nexport const useTextDirection = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const initialValue = ((target ? params[1] : params[0]) as UseTextDirectionValue) ?? 'ltr';\n\n const internalRef = useRefState();\n const elementRef = useRef<Element>(null);\n\n const getDirection = () => {\n if (typeof window === 'undefined') return initialValue;\n const element = (target ? isTarget.getElement(target) : internalRef.current) as Element;\n return (element?.getAttribute('dir') as UseTextDirectionValue) ?? initialValue;\n };\n\n const [value, setValue] = useState<UseTextDirectionValue>(getDirection());\n\n const remove = () => {\n if (!elementRef.current) return;\n\n elementRef.current?.removeAttribute('dir');\n };\n\n const set = (value: UseTextDirectionValue) => {\n if (!elementRef.current) return;\n\n setValue(value);\n elementRef.current.setAttribute('dir', value);\n };\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element =\n ((target ? isTarget.getElement(target) : internalRef.current) as Element) ??\n document.querySelector('html');\n if (!element) return;\n\n elementRef.current = element;\n\n const direction = getDirection();\n element.setAttribute('dir', direction);\n setValue(direction);\n\n const observer = new MutationObserver(() => setValue(getDirection()));\n\n observer.observe(element, { attributes: true });\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.state, target]);\n\n if (target) return { value, set, remove };\n return {\n ref: internalRef,\n value,\n set,\n remove\n };\n}) as UseTextDirection;\n"],"names":["useTextDirection","params","target","isTarget","initialValue","internalRef","useRefState","elementRef","useRef","getDirection","value","setValue","useState","remove","set","useEffect","element","direction","observer"],"mappings":"mMAsDaA,EAAoB,IAAIC,IAAkB,CACrD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,GAAiBF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,IAAgC,MAE9EI,EAAcC,EAAAA,YAAA,EACdC,EAAaC,EAAAA,OAAgB,IAAI,EAEjCC,EAAe,IACf,OAAO,OAAW,IAAoBL,GACzBF,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAIG,EAAY,UACnD,aAAa,KAAK,GAA+BD,EAG9D,CAACM,EAAOC,CAAQ,EAAIC,EAAAA,SAAgCH,GAAc,EAElEI,EAAS,IAAM,CACdN,EAAW,SAEhBA,EAAW,SAAS,gBAAgB,KAAK,CAAA,EAGrCO,EAAOJ,GAAiC,CACvCH,EAAW,UAEhBI,EAASD,CAAK,EACdH,EAAW,QAAQ,aAAa,MAAOG,CAAK,EAAA,EA0B9C,OAvBAK,EAAAA,UAAU,IAAM,CACd,GAAI,CAACb,GAAU,CAACG,EAAY,MAAO,OAEnC,MAAMW,GACFd,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAIG,EAAY,UACrD,SAAS,cAAc,MAAM,EAC/B,GAAI,CAACW,EAAS,OAEdT,EAAW,QAAUS,EAErB,MAAMC,EAAYR,EAAA,EAClBO,EAAQ,aAAa,MAAOC,CAAS,EACrCN,EAASM,CAAS,EAElB,MAAMC,EAAW,IAAI,iBAAiB,IAAMP,EAASF,EAAA,CAAc,CAAC,EAEpE,OAAAS,EAAS,QAAQF,EAAS,CAAE,WAAY,GAAM,EAEvC,IAAM,CACXE,EAAS,WAAA,CAAW,CACtB,EACC,CAACb,EAAY,MAAOH,CAAM,CAAC,EAE1BA,EAAe,CAAE,MAAAQ,EAAO,IAAAI,EAAK,OAAAD,CAAA,EAC1B,CACL,IAAKR,EACL,MAAAK,EACA,IAAAI,EACA,OAAAD,CAAA,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),y=require("../useRefState/useRefState.cjs"),v=require("../../utils/helpers/isTarget.cjs"),H=(...n)=>{const i=v.isTarget(n[0])?n[0]:void 0,r=i?n[1]:typeof n[0]=="string"?{initialValue:n[0]}:n[0],[a,g]=c.useState(r?.initialValue??""),u=y.useRefState(),o=c.useRef(null),s=()=>{const e=o.current;if(!e)return;const t=e.style.minHeight,l=e.style.maxHeight;e.style.height="auto",e.style.minHeight="auto",e.style.maxHeight="none";const f=e.scrollHeight;e.style.height=`${f}px`,e.style.minHeight=t,e.style.maxHeight=l,r?.onResize?.()};c.useEffect(()=>{if(!i&&!u.state)return;const e=i?v.isTarget.getElement(i):u.current;if(!e)return;o.current=e,r?.initialValue&&(e.value=r.initialValue),s();const t=f=>{const x=f.target.value;g(x),requestAnimationFrame(()=>{s()})},l=()=>{requestAnimationFrame(()=>{s()})};return e.addEventListener("input",t),e.addEventListener("resize",l),()=>{e.removeEventListener("input",t),e.removeEventListener("resize",l)}},[i,u.state,r?.initialValue]),c.useEffect(()=>{const e=o.current;e&&(e.value=a,requestAnimationFrame(()=>{s()}))},[a]);const h=e=>{g(e);const t=o.current;t&&(t.value=e,requestAnimationFrame(()=>{s()}))},m=()=>g("");return i?{value:a,setValue:h,clear:m}:{ref:u,value:a,setValue:h,clear:m}};exports.useTextareaAutosize=H;
|
|
2
|
+
//# sourceMappingURL=useTextareaAutosize.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTextareaAutosize.cjs","sources":["../../../../src/hooks/useTextareaAutosize/useTextareaAutosize.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use textarea autosize options */\nexport interface UseTextareaAutosizeOptions {\n /** The initial value for the textarea */\n initialValue?: string;\n /** Callback function called when the textarea size changes */\n onResize?: () => void;\n}\n\n/** The use textarea autosize return type */\nexport interface UseTextareaAutosizeReturn {\n /** The current value of the textarea */\n value: string;\n /** Function to clear the textarea value */\n clear: () => void;\n /** Function to set the textarea value */\n setValue: (value: string) => void;\n}\n\nexport interface UseTextareaAutosize {\n (target: HookTarget, options?: UseTextareaAutosizeOptions): UseTextareaAutosizeReturn;\n\n <Target extends HTMLTextAreaElement = HTMLTextAreaElement>(\n initialValue: string,\n target?: never\n ): UseTextareaAutosizeReturn & {\n ref: StateRef<Target>;\n };\n\n <Target extends HTMLTextAreaElement = HTMLTextAreaElement>(\n options?: UseTextareaAutosizeOptions,\n target?: never\n ): UseTextareaAutosizeReturn & {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useTextareaAutosize\n * @description - Hook that automatically adjusts textarea height based on content\n * @category Elements\n * @usage medium\n *\n * @overload\n * @param {HookTarget} target The target textarea element\n * @param {string} [options.initialValue] The initial value for the textarea\n * @param {Function} [options.onResize] Callback function called when the textarea size changes\n * @returns {UseTextareaAutosizeReturn} An object containing value, setValue and clear\n *\n * @example\n * const { value, setValue, clear } = useTextareaAutosize(ref);\n *\n * @overload\n * @template Target The textarea element type\n * @param {string} initialValue The initial value for the textarea\n * @returns {UseTextareaAutosizeReturn & { ref: StateRef<Target> }} An object containing ref, value, setValue and clear\n *\n * @example\n * const { ref, value, setValue, clear } = useTextareaAutosize('initial');\n *\n * @overload\n * @template Target The textarea element type\n * @param {string} [options.initialValue] The initial value for the textarea\n * @param {Function} [options.onResize] Callback function called when the textarea size changes\n * @returns {UseTextareaAutosizeReturn & { ref: StateRef<Target> }} An object containing ref, value, setValue and clear\n *\n * @example\n * const { ref, value, setValue, clear } = useTextareaAutosize();\n */\nexport const useTextareaAutosize = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const options = (\n target ? params[1] : typeof params[0] === 'string' ? { initialValue: params[0] } : params[0]\n ) as UseTextareaAutosizeOptions | undefined;\n\n const [value, setValue] = useState(options?.initialValue ?? '');\n const internalRef = useRefState<HTMLTextAreaElement>();\n const textareaRef = useRef<HTMLTextAreaElement | null>(null);\n\n const onTextareaResize = () => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n\n const originalMinHeight = textarea.style.minHeight;\n const originalMaxHeight = textarea.style.maxHeight;\n\n textarea.style.height = 'auto';\n textarea.style.minHeight = 'auto';\n textarea.style.maxHeight = 'none';\n\n const scrollHeight = textarea.scrollHeight;\n\n textarea.style.height = `${scrollHeight}px`;\n textarea.style.minHeight = originalMinHeight;\n textarea.style.maxHeight = originalMaxHeight;\n\n options?.onResize?.();\n };\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (\n target ? isTarget.getElement(target) : internalRef.current\n ) as HTMLTextAreaElement;\n if (!element) return;\n\n textareaRef.current = element;\n if (options?.initialValue) element.value = options.initialValue;\n\n onTextareaResize();\n\n const onInput = (event: InputEvent) => {\n const newValue = (event.target as HTMLTextAreaElement).value;\n setValue(newValue);\n\n requestAnimationFrame(() => {\n onTextareaResize();\n });\n };\n\n const onResize = () => {\n requestAnimationFrame(() => {\n onTextareaResize();\n });\n };\n\n element.addEventListener('input', onInput as EventListener);\n element.addEventListener('resize', onResize as EventListener);\n\n return () => {\n element.removeEventListener('input', onInput as EventListener);\n element.removeEventListener('resize', onResize as EventListener);\n };\n }, [target, internalRef.state, options?.initialValue]);\n\n useEffect(() => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n textarea.value = value;\n requestAnimationFrame(() => {\n onTextareaResize();\n });\n }, [value]);\n\n const setTextareaValue = (newValue: string) => {\n setValue(newValue);\n const textarea = textareaRef.current;\n if (textarea) {\n textarea.value = newValue;\n requestAnimationFrame(() => {\n onTextareaResize();\n });\n }\n };\n\n const clear = () => setValue('');\n\n if (target)\n return {\n value,\n setValue: setTextareaValue,\n clear\n };\n return {\n ref: internalRef,\n value,\n setValue: setTextareaValue,\n clear\n };\n}) as UseTextareaAutosize;\n"],"names":["useTextareaAutosize","params","target","isTarget","options","value","setValue","useState","internalRef","useRefState","textareaRef","useRef","onTextareaResize","textarea","originalMinHeight","originalMaxHeight","scrollHeight","useEffect","element","onInput","event","newValue","onResize","setTextareaValue","clear"],"mappings":"mMA8EaA,EAAuB,IAAIC,IAAkB,CACxD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAE5CG,EACJF,EAASD,EAAO,CAAC,EAAI,OAAOA,EAAO,CAAC,GAAM,SAAW,CAAE,aAAcA,EAAO,CAAC,CAAA,EAAMA,EAAO,CAAC,EAGvF,CAACI,EAAOC,CAAQ,EAAIC,EAAAA,SAASH,GAAS,cAAgB,EAAE,EACxDI,EAAcC,EAAAA,YAAA,EACdC,EAAcC,EAAAA,OAAmC,IAAI,EAErDC,EAAmB,IAAM,CAC7B,MAAMC,EAAWH,EAAY,QAC7B,GAAI,CAACG,EAAU,OAEf,MAAMC,EAAoBD,EAAS,MAAM,UACnCE,EAAoBF,EAAS,MAAM,UAEzCA,EAAS,MAAM,OAAS,OACxBA,EAAS,MAAM,UAAY,OAC3BA,EAAS,MAAM,UAAY,OAE3B,MAAMG,EAAeH,EAAS,aAE9BA,EAAS,MAAM,OAAS,GAAGG,CAAY,KACvCH,EAAS,MAAM,UAAYC,EAC3BD,EAAS,MAAM,UAAYE,EAE3BX,GAAS,WAAA,CAAW,EAGtBa,EAAAA,UAAU,IAAM,CACd,GAAI,CAACf,GAAU,CAACM,EAAY,MAAO,OAEnC,MAAMU,EACJhB,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAIM,EAAY,QAErD,GAAI,CAACU,EAAS,OAEdR,EAAY,QAAUQ,EAClBd,GAAS,eAAcc,EAAQ,MAAQd,EAAQ,cAEnDQ,EAAA,EAEA,MAAMO,EAAWC,GAAsB,CACrC,MAAMC,EAAYD,EAAM,OAA+B,MACvDd,EAASe,CAAQ,EAEjB,sBAAsB,IAAM,CAC1BT,EAAA,CAAiB,CAClB,CAAA,EAGGU,EAAW,IAAM,CACrB,sBAAsB,IAAM,CAC1BV,EAAA,CAAiB,CAClB,CAAA,EAGH,OAAAM,EAAQ,iBAAiB,QAASC,CAAwB,EAC1DD,EAAQ,iBAAiB,SAAUI,CAAyB,EAErD,IAAM,CACXJ,EAAQ,oBAAoB,QAASC,CAAwB,EAC7DD,EAAQ,oBAAoB,SAAUI,CAAyB,CAAA,CACjE,EACC,CAACpB,EAAQM,EAAY,MAAOJ,GAAS,YAAY,CAAC,EAErDa,EAAAA,UAAU,IAAM,CACd,MAAMJ,EAAWH,EAAY,QACxBG,IACLA,EAAS,MAAQR,EACjB,sBAAsB,IAAM,CAC1BO,EAAA,CAAiB,CAClB,EAAA,EACA,CAACP,CAAK,CAAC,EAEV,MAAMkB,EAAoBF,GAAqB,CAC7Cf,EAASe,CAAQ,EACjB,MAAMR,EAAWH,EAAY,QACzBG,IACFA,EAAS,MAAQQ,EACjB,sBAAsB,IAAM,CAC1BT,EAAA,CAAiB,CAClB,EACH,EAGIY,EAAQ,IAAMlB,EAAS,EAAE,EAE/B,OAAIJ,EACK,CACL,MAAAG,EACA,SAAUkB,EACV,MAAAC,CAAA,EAEG,CACL,IAAKhB,EACL,MAAAH,EACA,SAAUkB,EACV,MAAAC,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),h=require("../useRefState/useRefState.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),h=require("../useRefState/useRefState.cjs"),c=require("../../utils/helpers/isTarget.cjs"),R=(...e)=>{const n=c.isTarget(e[0])?e[0]:void 0,t=n?typeof e[1]=="object"?e[1]:{onChange:e[1]}:typeof e[0]=="object"?e[0]:{onChange:e[0]},u=t?.onChange,l=t?.enabled??!0,[b,y]=s.useState(),[r,d]=s.useState(),o=h.useRefState(),g=s.useRef(u);return g.current=u,s.useEffect(()=>{if(!l||!n&&!o.state)return;const f=n?c.isTarget.getElement(n):o.current;if(!f)return;const i=new IntersectionObserver((v,S)=>{const a=v.pop();d(a),g.current?.(a,S)},{...t,root:t?.root?c.isTarget.getElement(t.root):document});return y(i),i.observe(f),()=>{i.disconnect()}},[n,o.state,t?.rootMargin,t?.threshold,t?.root,l]),n?{observer:b,entry:r,inView:!!r?.isIntersecting}:{observer:b,ref:o,entry:r,inView:!!r?.isIntersecting}};exports.useVisibility=R;
|
|
2
2
|
//# sourceMappingURL=useVisibility.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVisibility.cjs","sources":["../../../../src/hooks/useVisibility/useVisibility.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useVisibility.cjs","sources":["../../../../src/hooks/useVisibility/useVisibility.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The visibility callback type */\nexport type UseVisibilityCallback = (\n entry: IntersectionObserverEntry,\n observer: IntersectionObserver\n) => void;\n\n/** The visibility options type */\nexport interface UseVisibilityOptions extends Omit<IntersectionObserverInit, 'root'> {\n /** The enabled state of the intersection */\n enabled?: boolean;\n /** The callback to execute when intersection is detected */\n onChange?: UseVisibilityCallback;\n /** The root element to observe */\n root?: HookTarget;\n}\n\n/** The intersection observer return type */\nexport interface UseVisibilityReturn {\n /** The intersection observer entry */\n entry?: IntersectionObserverEntry;\n /** The intersection observer in view */\n inView?: boolean;\n\n /** The intersection observer instance */\n observer?: IntersectionObserver;\n}\n\nexport interface UseVisibility {\n <Target extends Element>(\n options?: UseVisibilityOptions,\n target?: never\n ): UseVisibilityReturn & { ref: StateRef<Target> };\n\n (target: HookTarget, options?: UseVisibilityOptions): UseVisibilityReturn;\n\n <Target extends Element>(\n callback: UseVisibilityCallback,\n target?: never\n ): UseVisibilityReturn & { ref: StateRef<Target> };\n\n (target: HookTarget, callback: UseVisibilityCallback): UseVisibilityReturn;\n}\n\n/**\n * @name useVisibility\n * @description - Hook that gives you visibility observer state\n * @category Sensors\n * @usage medium\n *\n * @browserapi IntersectionObserver https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n *\n * @overload\n * @param {HookTarget} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The Intersection options\n * @param {((entries: IntersectionEntry[], observer: Intersection) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseVisibilityReturn} An object containing the state\n *\n * @example\n * const { ref, entries, observer } = useVisibility();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The Intersection options\n * @param {((entries: IntersectionEntry[], observer: Intersection) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseVisibilityReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entries, observer } = useVisibility(ref);\n *\n * @overload\n * @template Target The target element\n * @param {UseVisibilityCallback} callback The callback to execute when intersection is detected\n * @returns {UseVisibilityReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { ref, entries, observer } = useVisibility(() => console.log('callback'));\n *\n * @overload\n * @param {UseVisibilityCallback} callback The callback to execute when intersection is detected\n * @param {HookTarget} target The target element to detect intersection\n * @returns {UseVisibilityReturn} An object containing the state\n *\n * @example\n * const { entries, observer } = useVisibility(ref, () => console.log('callback'));\n */\nexport const useVisibility = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onChange: params[0] }\n ) as UseVisibilityOptions | undefined;\n\n const callback = options?.onChange;\n const enabled = options?.enabled ?? true;\n\n const [observer, setObserver] = useState<IntersectionObserver>();\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled || (!target && !internalRef.state)) return;\n\n const element = target ? isTarget.getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n const entry = entries.pop()!;\n setEntry(entry);\n internalCallbackRef.current?.(entry, observer);\n },\n {\n ...options,\n root: options?.root ? (isTarget.getElement(options.root) as Document | Element) : document\n }\n );\n\n setObserver(observer);\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { observer, entry, inView: !!entry?.isIntersecting };\n return {\n observer,\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseVisibility;\n"],"names":["useVisibility","params","target","isTarget","options","callback","enabled","observer","setObserver","useState","entry","setEntry","internalRef","useRefState","internalCallbackRef","useRef","useEffect","element","entries"],"mappings":"mMAiGaA,EAAiB,IAAIC,IAAkB,CAClD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAE5CG,EACJF,EACI,OAAOD,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EACtB,OAAOA,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EAGtBI,EAAWD,GAAS,SACpBE,EAAUF,GAAS,SAAW,GAE9B,CAACG,EAAUC,CAAW,EAAIC,WAAA,EAC1B,CAACC,EAAOC,CAAQ,EAAIF,WAAA,EAEpBG,EAAcC,EAAAA,YAAA,EACdC,EAAsBC,EAAAA,OAAOV,CAAQ,EA6B3C,OA5BAS,EAAoB,QAAUT,EAE9BW,EAAAA,UAAU,IAAM,CACd,GAAI,CAACV,GAAY,CAACJ,GAAU,CAACU,EAAY,MAAQ,OAEjD,MAAMK,EAAUf,EAASC,EAAAA,SAAS,WAAWD,CAAM,EAAIU,EAAY,QACnE,GAAI,CAACK,EAAS,OAEd,MAAMV,EAAW,IAAI,qBACnB,CAACW,EAAsCX,IAAmC,CACxE,MAAMG,EAAQQ,EAAQ,IAAA,EACtBP,EAASD,CAAK,EACdI,EAAoB,UAAUJ,EAAOH,CAAQ,CAAA,EAE/C,CACE,GAAGH,EACH,KAAMA,GAAS,KAAQD,EAAAA,SAAS,WAAWC,EAAQ,IAAI,EAA2B,QAAA,CACpF,EAGF,OAAAI,EAAYD,CAAQ,EACpBA,EAAS,QAAQU,CAAkB,EAE5B,IAAM,CACXV,EAAS,WAAA,CAAW,CACtB,EACC,CAACL,EAAQU,EAAY,MAAOR,GAAS,WAAYA,GAAS,UAAWA,GAAS,KAAME,CAAO,CAAC,EAE3FJ,EAAe,CAAE,SAAAK,EAAU,MAAAG,EAAO,OAAQ,CAAC,CAACA,GAAO,cAAA,EAChD,CACL,SAAAH,EACA,IAAKK,EACL,MAAAF,EACA,OAAQ,CAAC,CAACA,GAAO,cAAA,CAErB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../useEventListener/useEventListener.cjs"),s=require("../../utils/helpers/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../useEventListener/useEventListener.cjs"),s=require("../../utils/helpers/isTarget.cjs"),i=(e,t,n)=>r.useEventListener(s.isTarget.wrap(window),e,t,n);exports.useWindowEvent=i;
|
|
2
2
|
//# sourceMappingURL=useWindowEvent.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowEvent.cjs","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useWindowEvent.cjs","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import { isTarget } from '@/utils/helpers';\n\nimport type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category Sensors\n * @usage low\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(isTarget.wrap(window), event, listener, options);\n"],"names":["useWindowEvent","event","listener","options","useEventListener","isTarget"],"mappings":"0LAqBaA,EAAiB,CAC5BC,EACAC,EACAC,IACGC,EAAAA,iBAAiBC,WAAS,KAAK,MAAM,EAAGJ,EAAOC,EAAUC,CAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),s=t=>{const e=t?.includeScrollbar??!0,[o,d]=i.useState(()=>typeof window>"u"?{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}:{width:e?window.innerWidth:window.document.documentElement.clientWidth,height:e?window.innerHeight:window.document.documentElement.clientHeight});return i.useEffect(()=>{const n=()=>{const{innerWidth:r,innerHeight:c,document:u}=window,{clientWidth:w,clientHeight:l}=u.documentElement;d({width:e?r:w,height:e?c:l})};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[t?.includeScrollbar]),o};exports.useWindowSize=s;
|
|
2
2
|
//# sourceMappingURL=useWindowSize.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowSize.cjs","sources":["../../../../src/hooks/useWindowSize/useWindowSize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use window size return type */\ninterface UseWindowSizeParams {\n /** Whether to include the scrollbar in the window size calculation */\n includeScrollbar?: boolean;\n}\n\n/** The use window size return type */\nexport interface UseWindowSizeReturn {\n /** The current window height */\n height: number;\n /** The current window width */\n width: number;\n}\n\n/**\n * @name useWindowSize\n * @description - Hook that manages a window size\n * @category Elements\n * @usage low\n *\n * @param {number} [params.initialWidth=Number.POSITIVE_INFINITY] The initial window width\n * @param {number} [params.initialHeight=Number.POSITIVE_INFINITY] The initial window height\n * @returns {UseWindowSizeReturn} An object containing the current window width and height\n *\n * @example\n * const { width, height } = useWindowSize();\n */\nexport const useWindowSize = (params?: UseWindowSizeParams) => {\n const includeScrollbar = params?.includeScrollbar ?? true;\n const [size, setSize] = useState(() => {\n if (typeof window === 'undefined') {\n return {\n width: Number.POSITIVE_INFINITY,\n height: Number.POSITIVE_INFINITY\n };\n }\n\n return {\n width: includeScrollbar ? window.innerWidth : window.document.documentElement.clientWidth,\n height: includeScrollbar ? window.innerHeight : window.document.documentElement.clientHeight\n };\n });\n\n useEffect(() => {\n const onResize = () => {\n
|
|
1
|
+
{"version":3,"file":"useWindowSize.cjs","sources":["../../../../src/hooks/useWindowSize/useWindowSize.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use window size return type */\ninterface UseWindowSizeParams {\n /** Whether to include the scrollbar in the window size calculation */\n includeScrollbar?: boolean;\n}\n\n/** The use window size return type */\nexport interface UseWindowSizeReturn {\n /** The current window height */\n height: number;\n /** The current window width */\n width: number;\n}\n\n/**\n * @name useWindowSize\n * @description - Hook that manages a window size\n * @category Elements\n * @usage low\n *\n * @param {number} [params.initialWidth=Number.POSITIVE_INFINITY] The initial window width\n * @param {number} [params.initialHeight=Number.POSITIVE_INFINITY] The initial window height\n * @returns {UseWindowSizeReturn} An object containing the current window width and height\n *\n * @example\n * const { width, height } = useWindowSize();\n */\nexport const useWindowSize = (params?: UseWindowSizeParams) => {\n const includeScrollbar = params?.includeScrollbar ?? true;\n const [size, setSize] = useState(() => {\n if (typeof window === 'undefined') {\n return {\n width: Number.POSITIVE_INFINITY,\n height: Number.POSITIVE_INFINITY\n };\n }\n\n return {\n width: includeScrollbar ? window.innerWidth : window.document.documentElement.clientWidth,\n height: includeScrollbar ? window.innerHeight : window.document.documentElement.clientHeight\n };\n });\n\n useEffect(() => {\n const onResize = () => {\n const { innerWidth, innerHeight, document } = window;\n const { clientWidth, clientHeight } = document.documentElement;\n\n setSize({\n width: includeScrollbar ? innerWidth : clientWidth,\n height: includeScrollbar ? innerHeight : clientHeight\n });\n };\n\n window.addEventListener('resize', onResize);\n return () => window.removeEventListener('resize', onResize);\n }, [params?.includeScrollbar]);\n\n return size;\n};\n"],"names":["useWindowSize","params","includeScrollbar","size","setSize","useState","useEffect","onResize","innerWidth","innerHeight","document","clientWidth","clientHeight"],"mappings":"yGA6BaA,EAAiBC,GAAiC,CAC7D,MAAMC,EAAmBD,GAAQ,kBAAoB,GAC/C,CAACE,EAAMC,CAAO,EAAIC,EAAAA,SAAS,IAC3B,OAAO,OAAW,IACb,CACL,MAAO,OAAO,kBACd,OAAQ,OAAO,iBAAA,EAIZ,CACL,MAAOH,EAAmB,OAAO,WAAa,OAAO,SAAS,gBAAgB,YAC9E,OAAQA,EAAmB,OAAO,YAAc,OAAO,SAAS,gBAAgB,YAAA,CAEnF,EAEDI,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAW,IAAM,CACrB,KAAM,CAAE,WAAAC,EAAY,YAAAC,EAAa,SAAAC,CAAA,EAAa,OACxC,CAAE,YAAAC,EAAa,aAAAC,CAAA,EAAiBF,EAAS,gBAE/CN,EAAQ,CACN,MAAOF,EAAmBM,EAAaG,EACvC,OAAQT,EAAmBO,EAAcG,CAAA,CAC1C,CAAA,EAGH,cAAO,iBAAiB,SAAUL,CAAQ,EACnC,IAAM,OAAO,oBAAoB,SAAUA,CAAQ,CAAA,EACzD,CAACN,GAAQ,gBAAgB,CAAC,EAEtBE,CACT"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./helpers/createContext/createContext.cjs"),k=require("./helpers/createEventEmitter/createEventEmitter.cjs"),v=require("./helpers/createReactiveContext/createReactiveContext.cjs"),h=require("./helpers/createStore/createStore.cjs"),A=require("./hooks/useAsync/useAsync.cjs"),b=require("./hooks/useLockCallback/useLockCallback.cjs"),f=require("./hooks/useMutation/useMutation.cjs"),D=require("./hooks/useOptimistic/useOptimistic.cjs"),L=require("./hooks/useQuery/useQuery.cjs"),M=require("./hooks/useAudio/useAudio.cjs"),_=require("./hooks/useBattery/useBattery.cjs"),N=require("./hooks/useBluetooth/useBluetooth.cjs"),B=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),F=require("./hooks/useClipboard/useClipboard.cjs"),K=require("./hooks/useCopy/useCopy.cjs"),V=require("./hooks/useCssVar/useCssVar.cjs"),U=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),w=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),H=require("./hooks/useEventSource/useEventSource.cjs"),W=require("./hooks/useEyeDropper/useEyeDropper.cjs"),x=require("./hooks/useFavicon/useFavicon.cjs"),Q=require("./hooks/useFps/useFps.cjs"),z=require("./hooks/useFullscreen/useFullscreen.cjs"),n=require("./hooks/useGamepad/useGamepad.cjs"),G=require("./hooks/useGeolocation/useGeolocation.cjs"),c=require("./hooks/useMediaControls/useMediaControls.cjs"),X=require("./hooks/useMemory/useMemory.cjs"),a=require("./hooks/useNetwork/useNetwork.cjs"),Z=require("./hooks/useOnline/useOnline.cjs"),j=require("./hooks/useOtpCredential/useOtpCredential.cjs"),J=require("./hooks/usePermission/usePermission.cjs"),Y=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),$=require("./hooks/usePointerLock/usePointerLock.cjs"),ee=require("./hooks/usePostMessage/usePostMessage.cjs"),se=require("./hooks/useRaf/useRaf.cjs"),ue=require("./hooks/useShare/useShare.cjs"),l=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),re=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),te=require("./hooks/useVibrate/useVibrate.cjs"),oe=require("./hooks/useVirtualKeyboard/useVirtualKeyboard.cjs"),ie=require("./hooks/useWakeLock/useWakeLock.cjs"),ne=require("./hooks/useWebSocket/useWebSocket.cjs"),ce=require("./hooks/useLogger/useLogger.cjs"),ae=require("./hooks/useRenderCount/useRenderCount.cjs"),le=require("./hooks/useRenderInfo/useRenderInfo.cjs"),Se=require("./hooks/useRerender/useRerender.cjs"),qe=require("./hooks/useActiveElement/useActiveElement.cjs"),de=require("./hooks/useAutoScroll/useAutoScroll.cjs"),ge=require("./hooks/useClickOutside/useClickOutside.cjs"),S=require("./hooks/useDoubleClick/useDoubleClick.cjs"),Ee=require("./hooks/useDropZone/useDropZone.cjs"),Te=require("./hooks/useFileDialog/useFileDialog.cjs"),Ce=require("./hooks/useFocus/useFocus.cjs"),q=require("./hooks/useFocusTrap/useFocusTrap.cjs"),Pe=require("./hooks/useHover/useHover.cjs"),Re=require("./hooks/useImage/useImage.cjs"),me=require("./hooks/useLongPress/useLongPress.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),ye=require("./hooks/useRightClick/useRightClick.cjs"),d=require("./hooks/useScript/useScript.cjs"),pe=require("./hooks/useSticky/useSticky.cjs"),Ie=require("./hooks/useTextDirection/useTextDirection.cjs"),Oe=require("./hooks/useFul/useFul.cjs"),ke=require("./hooks/useLess/useLess.cjs"),ve=require("./hooks/useOnce/useOnce.cjs"),he=require("./hooks/useAsyncEffect/useAsyncEffect.cjs"),Ae=require("./hooks/useDidUpdate/useDidUpdate.cjs"),be=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),fe=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),De=require("./hooks/useMount/useMount.cjs"),g=require("./hooks/useShallowEffect/useShallowEffect.cjs"),Le=require("./hooks/useUnmount/useUnmount.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),Me=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),_e=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),Ne=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Be=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),Fe=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),Ke=require("./hooks/useElementSize/useElementSize.cjs"),Ve=require("./hooks/useEventListener/useEventListener.cjs"),E=require("./hooks/useHotkeys/useHotkeys.cjs"),Ue=require("./hooks/useIdle/useIdle.cjs"),we=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),He=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),We=require("./hooks/useKeyboard/useKeyboard.cjs"),xe=require("./hooks/useKeyPress/useKeyPress.cjs"),Qe=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),ze=require("./hooks/useKeysPressed/useKeysPressed.cjs"),Ge=require("./hooks/useLockScroll/useLockScroll.cjs"),Xe=require("./hooks/useMeasure/useMeasure.cjs"),Ze=require("./hooks/useMediaQuery/useMediaQuery.cjs"),je=require("./hooks/useMouse/useMouse.cjs"),Je=require("./hooks/useMutationObserver/useMutationObserver.cjs"),Ye=require("./hooks/useOrientation/useOrientation.cjs"),$e=require("./hooks/usePageLeave/usePageLeave.cjs"),es=require("./hooks/useParallax/useParallax.cjs"),ss=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),us=require("./hooks/useResizeObserver/useResizeObserver.cjs"),rs=require("./hooks/useScroll/useScroll.cjs"),ts=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),os=require("./hooks/useScrollTo/useScrollTo.cjs"),T=require("./hooks/useTextSelection/useTextSelection.cjs"),is=require("./hooks/useVisibility/useVisibility.cjs"),ns=require("./hooks/useWindowEvent/useWindowEvent.cjs"),cs=require("./hooks/useWindowFocus/useWindowFocus.cjs"),C=require("./hooks/useWindowScroll/useWindowScroll.cjs"),as=require("./hooks/useWindowSize/useWindowSize.cjs"),ls=require("./hooks/useBoolean/useBoolean.cjs"),Ss=require("./hooks/useControllableState/useControllableState.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),P=require("./hooks/useCookies/useCookies.cjs"),qs=require("./hooks/useCounter/useCounter.cjs"),ds=require("./hooks/useDefault/useDefault.cjs"),gs=require("./hooks/useDisclosure/useDisclosure.cjs"),Es=require("./hooks/useField/useField.cjs"),R=require("./hooks/useHash/useHash.cjs"),Ts=require("./hooks/useList/useList.cjs"),Cs=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Ps=require("./hooks/useMap/useMap.cjs"),t=require("./hooks/useMergedRef/useMergedRef.cjs"),Rs=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),ms=require("./hooks/useQueue/useQueue.cjs"),ys=require("./hooks/useRafState/useRafState.cjs"),ps=require("./hooks/useRefState/useRefState.cjs"),Is=require("./hooks/useSessionStorage/useSessionStorage.cjs"),Os=require("./hooks/useSet/useSet.cjs"),m=require("./hooks/useStateHistory/useStateHistory.cjs"),ks=require("./hooks/useStep/useStep.cjs"),o=require("./hooks/useStorage/useStorage.cjs"),vs=require("./hooks/useToggle/useToggle.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),hs=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),As=require("./hooks/useWizard/useWizard.cjs"),bs=require("./hooks/useInterval/useInterval.cjs"),fs=require("./hooks/useStopwatch/useStopwatch.cjs"),Ds=require("./hooks/useTime/useTime.cjs"),Ls=require("./hooks/useTimeout/useTimeout.cjs"),y=require("./hooks/useTimer/useTimer.cjs"),Ms=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),p=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),_s=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),Ns=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),Bs=require("./hooks/usePreferredDark/usePreferredDark.cjs"),Fs=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),Ks=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),Vs=require("./hooks/useConst/useConst.cjs"),Us=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),ws=require("./hooks/useDebounceState/useDebounceState.cjs"),Hs=require("./hooks/useDebounceValue/useDebounceValue.cjs"),Ws=require("./hooks/useEvent/useEvent.cjs"),xs=require("./hooks/useLastChanged/useLastChanged.cjs"),Qs=require("./hooks/useLatest/useLatest.cjs"),zs=require("./hooks/usePrevious/usePrevious.cjs"),Gs=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),Xs=require("./hooks/useThrottleState/useThrottleState.cjs"),Zs=require("./hooks/useThrottleValue/useThrottleValue.cjs"),I=require("./utils/helpers/copy.cjs"),js=require("./utils/helpers/debounce.cjs"),Js=require("./utils/helpers/getDate.cjs"),i=require("./utils/helpers/getElement.cjs"),Ys=require("./utils/helpers/getRetry.cjs"),$s=require("./utils/helpers/isTarget.cjs"),eu=require("./utils/helpers/throttle.cjs");exports.createContext=O.createContext;exports.createEventEmitter=k.createEventEmitter;exports.createReactiveContext=v.createReactiveContext;exports.createStore=h.createStore;exports.useAsync=A.useAsync;exports.useLockCallback=b.useLockCallback;exports.useMutation=f.useMutation;exports.useOptimistic=D.useOptimistic;exports.useQuery=L.useQuery;exports.useAudio=M.useAudio;exports.useBattery=_.useBattery;exports.useBluetooth=N.useBluetooth;exports.useBroadcastChannel=B.useBroadcastChannel;exports.useClipboard=F.useClipboard;exports.useCopy=K.useCopy;exports.useCssVar=V.useCssVar;exports.useDisplayMedia=U.useDisplayMedia;exports.useDocumentTitle=w.useDocumentTitle;exports.useEventSource=H.useEventSource;exports.useEyeDropper=W.useEyeDropper;exports.useFavicon=x.useFavicon;exports.useFps=Q.useFps;exports.useFullscreen=z.useFullscreen;exports.mapGamepadToXbox360Controller=n.mapGamepadToXbox360Controller;exports.useGamepad=n.useGamepad;exports.useGeolocation=G.useGeolocation;exports.timeRangeToArray=c.timeRangeToArray;exports.useMediaControls=c.useMediaControls;exports.useMemory=X.useMemory;exports.getConnection=a.getConnection;exports.useNetwork=a.useNetwork;exports.useOnline=Z.useOnline;exports.useOtpCredential=j.useOtpCredential;exports.usePermission=J.usePermission;exports.usePictureInPicture=Y.usePictureInPicture;exports.usePointerLock=$.usePointerLock;exports.usePostMessage=ee.usePostMessage;exports.useRaf=se.useRaf;exports.useShare=ue.useShare;exports.getSpeechRecognition=l.getSpeechRecognition;exports.useSpeechRecognition=l.useSpeechRecognition;exports.useSpeechSynthesis=re.useSpeechSynthesis;exports.useVibrate=te.useVibrate;exports.useVirtualKeyboard=oe.useVirtualKeyboard;exports.useWakeLock=ie.useWakeLock;exports.useWebSocket=ne.useWebSocket;exports.useLogger=ce.useLogger;exports.useRenderCount=ae.useRenderCount;exports.useRenderInfo=le.useRenderInfo;exports.useRerender=Se.useRerender;exports.useActiveElement=qe.useActiveElement;exports.useAutoScroll=de.useAutoScroll;exports.useClickOutside=ge.useClickOutside;exports.DEFAULT_THRESHOLD_TIME=S.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=S.useDoubleClick;exports.useDropZone=Ee.useDropZone;exports.useFileDialog=Te.useFileDialog;exports.useFocus=Ce.useFocus;exports.FOCUS_SELECTOR=q.FOCUS_SELECTOR;exports.useFocusTrap=q.useFocusTrap;exports.useHover=Pe.useHover;exports.useImage=Re.useImage;exports.useLongPress=me.useLongPress;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useRightClick=ye.useRightClick;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=d.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=d.useScript;exports.useSticky=pe.useSticky;exports.useTextDirection=Ie.useTextDirection;exports.useFul=Oe.useFul;exports.useLess=ke.useLess;exports.useOnce=ve.useOnce;exports.useAsyncEffect=he.useAsyncEffect;exports.useDidUpdate=Ae.useDidUpdate;exports.useIsFirstRender=be.useIsFirstRender;exports.useIsomorphicLayoutEffect=fe.useIsomorphicLayoutEffect;exports.useMount=De.useMount;exports.deepEqual=g.deepEqual;exports.useShallowEffect=g.useShallowEffect;exports.useUnmount=Le.useUnmount;exports.BREAKPOINTS_ANT_DESIGN=e.BREAKPOINTS_ANT_DESIGN;exports.BREAKPOINTS_BOOTSTRAP_V5=e.BREAKPOINTS_BOOTSTRAP_V5;exports.BREAKPOINTS_MANTINE=e.BREAKPOINTS_MANTINE;exports.BREAKPOINTS_MASTER_CSS=e.BREAKPOINTS_MASTER_CSS;exports.BREAKPOINTS_MATERIAL_UI=e.BREAKPOINTS_MATERIAL_UI;exports.BREAKPOINTS_PRIME_FLEX=e.BREAKPOINTS_PRIME_FLEX;exports.BREAKPOINTS_QUASAR_V2=e.BREAKPOINTS_QUASAR_V2;exports.BREAKPOINTS_SEMANTIC=e.BREAKPOINTS_SEMANTIC;exports.BREAKPOINTS_TAILWIND=e.BREAKPOINTS_TAILWIND;exports.useBreakpoints=e.useBreakpoints;exports.useDeviceMotion=Me.useDeviceMotion;exports.useDeviceOrientation=_e.useDeviceOrientation;exports.useDevicePixelRatio=Ne.useDevicePixelRatio;exports.useDocumentEvent=Be.useDocumentEvent;exports.useDocumentVisibility=Fe.useDocumentVisibility;exports.useElementSize=Ke.useElementSize;exports.useEventListener=Ve.useEventListener;exports.isHotkeyMatch=E.isHotkeyMatch;exports.useHotkeys=E.useHotkeys;exports.useIdle=Ue.useIdle;exports.useInfiniteScroll=we.useInfiniteScroll;exports.useIntersectionObserver=He.useIntersectionObserver;exports.useKeyboard=We.useKeyboard;exports.useKeyPress=xe.useKeyPress;exports.useKeyPressEvent=Qe.useKeyPressEvent;exports.useKeysPressed=ze.useKeysPressed;exports.useLockScroll=Ge.useLockScroll;exports.useMeasure=Xe.useMeasure;exports.useMediaQuery=Ze.useMediaQuery;exports.useMouse=je.useMouse;exports.useMutationObserver=Je.useMutationObserver;exports.useOrientation=Ye.useOrientation;exports.usePageLeave=$e.usePageLeave;exports.useParallax=es.useParallax;exports.usePerformanceObserver=ss.usePerformanceObserver;exports.useResizeObserver=us.useResizeObserver;exports.useScroll=rs.useScroll;exports.useScrollIntoView=ts.useScrollIntoView;exports.useScrollTo=os.useScrollTo;exports.getRangesSelection=T.getRangesSelection;exports.useTextSelection=T.useTextSelection;exports.useVisibility=is.useVisibility;exports.useWindowEvent=ns.useWindowEvent;exports.useWindowFocus=cs.useWindowFocus;exports.scrollTo=C.scrollTo;exports.useWindowScroll=C.useWindowScroll;exports.useWindowSize=as.useWindowSize;exports.useBoolean=ls.useBoolean;exports.useControllableState=Ss.useControllableState;exports.COOKIE_EVENT=s.COOKIE_EVENT;exports.dispatchCookieEvent=s.dispatchCookieEvent;exports.getCookie=s.getCookie;exports.getCookies=s.getCookies;exports.removeCookie=s.removeCookie;exports.removeCookieItem=s.removeCookieItem;exports.setCookie=s.setCookie;exports.setCookieItem=s.setCookieItem;exports.useCookie=s.useCookie;exports.clearCookies=P.clearCookies;exports.useCookies=P.useCookies;exports.useCounter=qs.useCounter;exports.useDefault=ds.useDefault;exports.useDisclosure=gs.useDisclosure;exports.useField=Es.useField;exports.getHash=R.getHash;exports.useHash=R.useHash;exports.useList=Ts.useList;exports.useLocalStorage=Cs.useLocalStorage;exports.useMap=Ps.useMap;exports.assignRef=t.assignRef;exports.mergeRefs=t.mergeRefs;exports.useMergedRef=t.useMergedRef;exports.useOffsetPagination=Rs.useOffsetPagination;exports.useQueue=ms.useQueue;exports.useRafState=ys.useRafState;exports.useRefState=ps.useRefState;exports.useSessionStorage=Is.useSessionStorage;exports.useSet=Os.useSet;exports.stateHistoryReducer=m.stateHistoryReducer;exports.useStateHistory=m.useStateHistory;exports.useStep=ks.useStep;exports.STORAGE_EVENT=o.STORAGE_EVENT;exports.dispatchStorageEvent=o.dispatchStorageEvent;exports.useStorage=o.useStorage;exports.useToggle=vs.useToggle;exports.URL_SEARCH_PARAMS_EVENT=u.URL_SEARCH_PARAMS_EVENT;exports.createQueryString=u.createQueryString;exports.dispatchUrlSearchParamsEvent=u.dispatchUrlSearchParamsEvent;exports.getUrlSearchParams=u.getUrlSearchParams;exports.useUrlSearchParam=u.useUrlSearchParam;exports.useUrlSearchParams=hs.useUrlSearchParams;exports.useWizard=As.useWizard;exports.useInterval=bs.useInterval;exports.useStopwatch=fs.useStopwatch;exports.useTime=Ds.useTime;exports.useTimeout=Ls.useTimeout;exports.getTimeFromSeconds=y.getTimeFromSeconds;exports.useTimer=y.useTimer;exports.useBrowserLanguage=Ms.useBrowserLanguage;exports.getOperatingSystem=p.getOperatingSystem;exports.useOperatingSystem=p.useOperatingSystem;exports.usePreferredColorScheme=_s.usePreferredColorScheme;exports.usePreferredContrast=Ns.usePreferredContrast;exports.usePreferredDark=Bs.usePreferredDark;exports.usePreferredLanguages=Fs.usePreferredLanguages;exports.usePreferredReducedMotion=Ks.usePreferredReducedMotion;exports.useConst=Vs.useConst;exports.useDebounceCallback=Us.useDebounceCallback;exports.useDebounceState=ws.useDebounceState;exports.useDebounceValue=Hs.useDebounceValue;exports.useEvent=Ws.useEvent;exports.useLastChanged=xs.useLastChanged;exports.useLatest=Qs.useLatest;exports.usePrevious=zs.usePrevious;exports.useThrottleCallback=Gs.useThrottleCallback;exports.useThrottleState=Xs.useThrottleState;exports.useThrottleValue=Zs.useThrottleValue;exports.copy=I.copy;exports.legacyCopyToClipboard=I.legacyCopyToClipboard;exports.debounce=js.debounce;exports.getDate=Js.getDate;exports.getElement=i.getElement;exports.target=i.target;exports.targetSymbol=i.targetSymbol;exports.getRetry=Ys.getRetry;exports.isTarget=$s.isTarget;exports.throttle=eu.throttle;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./helpers/createContext/createContext.cjs"),k=require("./helpers/createEventEmitter/createEventEmitter.cjs"),v=require("./helpers/createReactiveContext/createReactiveContext.cjs"),A=require("./helpers/createStore/createStore.cjs"),h=require("./hooks/useAsync/useAsync.cjs"),b=require("./hooks/useLockCallback/useLockCallback.cjs"),f=require("./hooks/useMutation/useMutation.cjs"),D=require("./hooks/useOptimistic/useOptimistic.cjs"),L=require("./hooks/useQuery/useQuery.cjs"),M=require("./hooks/useAudio/useAudio.cjs"),_=require("./hooks/useBattery/useBattery.cjs"),N=require("./hooks/useBluetooth/useBluetooth.cjs"),B=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),F=require("./hooks/useClipboard/useClipboard.cjs"),K=require("./hooks/useCopy/useCopy.cjs"),V=require("./hooks/useCssVar/useCssVar.cjs"),U=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),w=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),H=require("./hooks/useEventSource/useEventSource.cjs"),x=require("./hooks/useEyeDropper/useEyeDropper.cjs"),W=require("./hooks/useFavicon/useFavicon.cjs"),z=require("./hooks/useFps/useFps.cjs"),Q=require("./hooks/useFullscreen/useFullscreen.cjs"),n=require("./hooks/useGamepad/useGamepad.cjs"),G=require("./hooks/useGeolocation/useGeolocation.cjs"),c=require("./hooks/useMediaControls/useMediaControls.cjs"),X=require("./hooks/useMemory/useMemory.cjs"),a=require("./hooks/useNetwork/useNetwork.cjs"),Z=require("./hooks/useOnline/useOnline.cjs"),j=require("./hooks/useOtpCredential/useOtpCredential.cjs"),J=require("./hooks/usePermission/usePermission.cjs"),Y=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),$=require("./hooks/usePointerLock/usePointerLock.cjs"),ee=require("./hooks/usePostMessage/usePostMessage.cjs"),se=require("./hooks/useRaf/useRaf.cjs"),ue=require("./hooks/useShare/useShare.cjs"),l=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),re=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),te=require("./hooks/useVibrate/useVibrate.cjs"),oe=require("./hooks/useVirtualKeyboard/useVirtualKeyboard.cjs"),ie=require("./hooks/useWakeLock/useWakeLock.cjs"),ne=require("./hooks/useWebSocket/useWebSocket.cjs"),ce=require("./hooks/useLogger/useLogger.cjs"),ae=require("./hooks/useRenderCount/useRenderCount.cjs"),le=require("./hooks/useRenderInfo/useRenderInfo.cjs"),Se=require("./hooks/useRerender/useRerender.cjs"),qe=require("./hooks/useActiveElement/useActiveElement.cjs"),de=require("./hooks/useAutoScroll/useAutoScroll.cjs"),ge=require("./hooks/useClickOutside/useClickOutside.cjs"),S=require("./hooks/useDoubleClick/useDoubleClick.cjs"),Te=require("./hooks/useDropZone/useDropZone.cjs"),Ee=require("./hooks/useFileDialog/useFileDialog.cjs"),Ce=require("./hooks/useFocus/useFocus.cjs"),q=require("./hooks/useFocusTrap/useFocusTrap.cjs"),Pe=require("./hooks/useHover/useHover.cjs"),Re=require("./hooks/useImage/useImage.cjs"),me=require("./hooks/useLongPress/useLongPress.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),ye=require("./hooks/useRightClick/useRightClick.cjs"),d=require("./hooks/useScript/useScript.cjs"),pe=require("./hooks/useSticky/useSticky.cjs"),Ie=require("./hooks/useTextareaAutosize/useTextareaAutosize.cjs"),Oe=require("./hooks/useTextDirection/useTextDirection.cjs"),ke=require("./hooks/useFul/useFul.cjs"),ve=require("./hooks/useLess/useLess.cjs"),Ae=require("./hooks/useOnce/useOnce.cjs"),he=require("./hooks/useAsyncEffect/useAsyncEffect.cjs"),be=require("./hooks/useDidUpdate/useDidUpdate.cjs"),fe=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),De=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),Le=require("./hooks/useMount/useMount.cjs"),g=require("./hooks/useShallowEffect/useShallowEffect.cjs"),Me=require("./hooks/useUnmount/useUnmount.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),_e=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),Ne=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),Be=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Fe=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),Ke=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),Ve=require("./hooks/useElementSize/useElementSize.cjs"),Ue=require("./hooks/useEventListener/useEventListener.cjs"),T=require("./hooks/useHotkeys/useHotkeys.cjs"),we=require("./hooks/useIdle/useIdle.cjs"),He=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),xe=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),We=require("./hooks/useKeyboard/useKeyboard.cjs"),ze=require("./hooks/useKeyPress/useKeyPress.cjs"),Qe=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),Ge=require("./hooks/useKeysPressed/useKeysPressed.cjs"),Xe=require("./hooks/useLockScroll/useLockScroll.cjs"),Ze=require("./hooks/useMeasure/useMeasure.cjs"),je=require("./hooks/useMediaQuery/useMediaQuery.cjs"),Je=require("./hooks/useMouse/useMouse.cjs"),Ye=require("./hooks/useMutationObserver/useMutationObserver.cjs"),$e=require("./hooks/useOrientation/useOrientation.cjs"),es=require("./hooks/usePageLeave/usePageLeave.cjs"),ss=require("./hooks/useParallax/useParallax.cjs"),us=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),rs=require("./hooks/useResizeObserver/useResizeObserver.cjs"),ts=require("./hooks/useScroll/useScroll.cjs"),os=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),is=require("./hooks/useScrollTo/useScrollTo.cjs"),E=require("./hooks/useTextSelection/useTextSelection.cjs"),ns=require("./hooks/useVisibility/useVisibility.cjs"),cs=require("./hooks/useWindowEvent/useWindowEvent.cjs"),as=require("./hooks/useWindowFocus/useWindowFocus.cjs"),C=require("./hooks/useWindowScroll/useWindowScroll.cjs"),ls=require("./hooks/useWindowSize/useWindowSize.cjs"),Ss=require("./hooks/useBoolean/useBoolean.cjs"),qs=require("./hooks/useControllableState/useControllableState.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),P=require("./hooks/useCookies/useCookies.cjs"),ds=require("./hooks/useCounter/useCounter.cjs"),gs=require("./hooks/useDefault/useDefault.cjs"),Ts=require("./hooks/useDisclosure/useDisclosure.cjs"),Es=require("./hooks/useField/useField.cjs"),R=require("./hooks/useHash/useHash.cjs"),Cs=require("./hooks/useList/useList.cjs"),Ps=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Rs=require("./hooks/useMap/useMap.cjs"),t=require("./hooks/useMergedRef/useMergedRef.cjs"),ms=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),ys=require("./hooks/useQueue/useQueue.cjs"),ps=require("./hooks/useRafState/useRafState.cjs"),Is=require("./hooks/useRefState/useRefState.cjs"),Os=require("./hooks/useSessionStorage/useSessionStorage.cjs"),ks=require("./hooks/useSet/useSet.cjs"),m=require("./hooks/useStateHistory/useStateHistory.cjs"),vs=require("./hooks/useStep/useStep.cjs"),o=require("./hooks/useStorage/useStorage.cjs"),As=require("./hooks/useToggle/useToggle.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),hs=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),bs=require("./hooks/useWizard/useWizard.cjs"),fs=require("./hooks/useInterval/useInterval.cjs"),Ds=require("./hooks/useStopwatch/useStopwatch.cjs"),Ls=require("./hooks/useTime/useTime.cjs"),Ms=require("./hooks/useTimeout/useTimeout.cjs"),y=require("./hooks/useTimer/useTimer.cjs"),_s=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),p=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),Ns=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),Bs=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),Fs=require("./hooks/usePreferredDark/usePreferredDark.cjs"),Ks=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),Vs=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),Us=require("./hooks/useConst/useConst.cjs"),ws=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),Hs=require("./hooks/useDebounceState/useDebounceState.cjs"),xs=require("./hooks/useDebounceValue/useDebounceValue.cjs"),Ws=require("./hooks/useEvent/useEvent.cjs"),zs=require("./hooks/useLastChanged/useLastChanged.cjs"),Qs=require("./hooks/useLatest/useLatest.cjs"),Gs=require("./hooks/usePrevious/usePrevious.cjs"),Xs=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),Zs=require("./hooks/useThrottleState/useThrottleState.cjs"),js=require("./hooks/useThrottleValue/useThrottleValue.cjs"),I=require("./utils/helpers/copy.cjs"),Js=require("./utils/helpers/debounce.cjs"),Ys=require("./utils/helpers/getDate.cjs"),$s=require("./utils/helpers/getRetry.cjs"),i=require("./utils/helpers/isTarget.cjs"),eu=require("./utils/helpers/throttle.cjs");exports.createContext=O.createContext;exports.createEventEmitter=k.createEventEmitter;exports.createReactiveContext=v.createReactiveContext;exports.createStore=A.createStore;exports.useAsync=h.useAsync;exports.useLockCallback=b.useLockCallback;exports.useMutation=f.useMutation;exports.useOptimistic=D.useOptimistic;exports.useQuery=L.useQuery;exports.useAudio=M.useAudio;exports.useBattery=_.useBattery;exports.useBluetooth=N.useBluetooth;exports.useBroadcastChannel=B.useBroadcastChannel;exports.useClipboard=F.useClipboard;exports.useCopy=K.useCopy;exports.useCssVar=V.useCssVar;exports.useDisplayMedia=U.useDisplayMedia;exports.useDocumentTitle=w.useDocumentTitle;exports.useEventSource=H.useEventSource;exports.useEyeDropper=x.useEyeDropper;exports.useFavicon=W.useFavicon;exports.useFps=z.useFps;exports.useFullscreen=Q.useFullscreen;exports.mapGamepadToXbox360Controller=n.mapGamepadToXbox360Controller;exports.useGamepad=n.useGamepad;exports.useGeolocation=G.useGeolocation;exports.timeRangeToArray=c.timeRangeToArray;exports.useMediaControls=c.useMediaControls;exports.useMemory=X.useMemory;exports.getConnection=a.getConnection;exports.useNetwork=a.useNetwork;exports.useOnline=Z.useOnline;exports.useOtpCredential=j.useOtpCredential;exports.usePermission=J.usePermission;exports.usePictureInPicture=Y.usePictureInPicture;exports.usePointerLock=$.usePointerLock;exports.usePostMessage=ee.usePostMessage;exports.useRaf=se.useRaf;exports.useShare=ue.useShare;exports.getSpeechRecognition=l.getSpeechRecognition;exports.useSpeechRecognition=l.useSpeechRecognition;exports.useSpeechSynthesis=re.useSpeechSynthesis;exports.useVibrate=te.useVibrate;exports.useVirtualKeyboard=oe.useVirtualKeyboard;exports.useWakeLock=ie.useWakeLock;exports.useWebSocket=ne.useWebSocket;exports.useLogger=ce.useLogger;exports.useRenderCount=ae.useRenderCount;exports.useRenderInfo=le.useRenderInfo;exports.useRerender=Se.useRerender;exports.useActiveElement=qe.useActiveElement;exports.useAutoScroll=de.useAutoScroll;exports.useClickOutside=ge.useClickOutside;exports.DEFAULT_THRESHOLD_TIME=S.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=S.useDoubleClick;exports.useDropZone=Te.useDropZone;exports.useFileDialog=Ee.useFileDialog;exports.useFocus=Ce.useFocus;exports.FOCUS_SELECTOR=q.FOCUS_SELECTOR;exports.useFocusTrap=q.useFocusTrap;exports.useHover=Pe.useHover;exports.useImage=Re.useImage;exports.useLongPress=me.useLongPress;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useRightClick=ye.useRightClick;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=d.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=d.useScript;exports.useSticky=pe.useSticky;exports.useTextareaAutosize=Ie.useTextareaAutosize;exports.useTextDirection=Oe.useTextDirection;exports.useFul=ke.useFul;exports.useLess=ve.useLess;exports.useOnce=Ae.useOnce;exports.useAsyncEffect=he.useAsyncEffect;exports.useDidUpdate=be.useDidUpdate;exports.useIsFirstRender=fe.useIsFirstRender;exports.useIsomorphicLayoutEffect=De.useIsomorphicLayoutEffect;exports.useMount=Le.useMount;exports.deepEqual=g.deepEqual;exports.useShallowEffect=g.useShallowEffect;exports.useUnmount=Me.useUnmount;exports.BREAKPOINTS_ANT_DESIGN=e.BREAKPOINTS_ANT_DESIGN;exports.BREAKPOINTS_BOOTSTRAP_V5=e.BREAKPOINTS_BOOTSTRAP_V5;exports.BREAKPOINTS_MANTINE=e.BREAKPOINTS_MANTINE;exports.BREAKPOINTS_MASTER_CSS=e.BREAKPOINTS_MASTER_CSS;exports.BREAKPOINTS_MATERIAL_UI=e.BREAKPOINTS_MATERIAL_UI;exports.BREAKPOINTS_PRIME_FLEX=e.BREAKPOINTS_PRIME_FLEX;exports.BREAKPOINTS_QUASAR_V2=e.BREAKPOINTS_QUASAR_V2;exports.BREAKPOINTS_SEMANTIC=e.BREAKPOINTS_SEMANTIC;exports.BREAKPOINTS_TAILWIND=e.BREAKPOINTS_TAILWIND;exports.useBreakpoints=e.useBreakpoints;exports.useDeviceMotion=_e.useDeviceMotion;exports.useDeviceOrientation=Ne.useDeviceOrientation;exports.useDevicePixelRatio=Be.useDevicePixelRatio;exports.useDocumentEvent=Fe.useDocumentEvent;exports.useDocumentVisibility=Ke.useDocumentVisibility;exports.useElementSize=Ve.useElementSize;exports.useEventListener=Ue.useEventListener;exports.isHotkeyMatch=T.isHotkeyMatch;exports.useHotkeys=T.useHotkeys;exports.useIdle=we.useIdle;exports.useInfiniteScroll=He.useInfiniteScroll;exports.useIntersectionObserver=xe.useIntersectionObserver;exports.useKeyboard=We.useKeyboard;exports.useKeyPress=ze.useKeyPress;exports.useKeyPressEvent=Qe.useKeyPressEvent;exports.useKeysPressed=Ge.useKeysPressed;exports.useLockScroll=Xe.useLockScroll;exports.useMeasure=Ze.useMeasure;exports.useMediaQuery=je.useMediaQuery;exports.useMouse=Je.useMouse;exports.useMutationObserver=Ye.useMutationObserver;exports.useOrientation=$e.useOrientation;exports.usePageLeave=es.usePageLeave;exports.useParallax=ss.useParallax;exports.usePerformanceObserver=us.usePerformanceObserver;exports.useResizeObserver=rs.useResizeObserver;exports.useScroll=ts.useScroll;exports.useScrollIntoView=os.useScrollIntoView;exports.useScrollTo=is.useScrollTo;exports.getRangesSelection=E.getRangesSelection;exports.useTextSelection=E.useTextSelection;exports.useVisibility=ns.useVisibility;exports.useWindowEvent=cs.useWindowEvent;exports.useWindowFocus=as.useWindowFocus;exports.scrollTo=C.scrollTo;exports.useWindowScroll=C.useWindowScroll;exports.useWindowSize=ls.useWindowSize;exports.useBoolean=Ss.useBoolean;exports.useControllableState=qs.useControllableState;exports.COOKIE_EVENT=s.COOKIE_EVENT;exports.dispatchCookieEvent=s.dispatchCookieEvent;exports.getCookie=s.getCookie;exports.getCookies=s.getCookies;exports.removeCookie=s.removeCookie;exports.removeCookieItem=s.removeCookieItem;exports.setCookie=s.setCookie;exports.setCookieItem=s.setCookieItem;exports.useCookie=s.useCookie;exports.clearCookies=P.clearCookies;exports.useCookies=P.useCookies;exports.useCounter=ds.useCounter;exports.useDefault=gs.useDefault;exports.useDisclosure=Ts.useDisclosure;exports.useField=Es.useField;exports.getHash=R.getHash;exports.useHash=R.useHash;exports.useList=Cs.useList;exports.useLocalStorage=Ps.useLocalStorage;exports.useMap=Rs.useMap;exports.assignRef=t.assignRef;exports.mergeRefs=t.mergeRefs;exports.useMergedRef=t.useMergedRef;exports.useOffsetPagination=ms.useOffsetPagination;exports.useQueue=ys.useQueue;exports.useRafState=ps.useRafState;exports.useRefState=Is.useRefState;exports.useSessionStorage=Os.useSessionStorage;exports.useSet=ks.useSet;exports.stateHistoryReducer=m.stateHistoryReducer;exports.useStateHistory=m.useStateHistory;exports.useStep=vs.useStep;exports.STORAGE_EVENT=o.STORAGE_EVENT;exports.dispatchStorageEvent=o.dispatchStorageEvent;exports.useStorage=o.useStorage;exports.useToggle=As.useToggle;exports.URL_SEARCH_PARAMS_EVENT=u.URL_SEARCH_PARAMS_EVENT;exports.createQueryString=u.createQueryString;exports.dispatchUrlSearchParamsEvent=u.dispatchUrlSearchParamsEvent;exports.getUrlSearchParams=u.getUrlSearchParams;exports.useUrlSearchParam=u.useUrlSearchParam;exports.useUrlSearchParams=hs.useUrlSearchParams;exports.useWizard=bs.useWizard;exports.useInterval=fs.useInterval;exports.useStopwatch=Ds.useStopwatch;exports.useTime=Ls.useTime;exports.useTimeout=Ms.useTimeout;exports.getTimeFromSeconds=y.getTimeFromSeconds;exports.useTimer=y.useTimer;exports.useBrowserLanguage=_s.useBrowserLanguage;exports.getOperatingSystem=p.getOperatingSystem;exports.useOperatingSystem=p.useOperatingSystem;exports.usePreferredColorScheme=Ns.usePreferredColorScheme;exports.usePreferredContrast=Bs.usePreferredContrast;exports.usePreferredDark=Fs.usePreferredDark;exports.usePreferredLanguages=Ks.usePreferredLanguages;exports.usePreferredReducedMotion=Vs.usePreferredReducedMotion;exports.useConst=Us.useConst;exports.useDebounceCallback=ws.useDebounceCallback;exports.useDebounceState=Hs.useDebounceState;exports.useDebounceValue=xs.useDebounceValue;exports.useEvent=Ws.useEvent;exports.useLastChanged=zs.useLastChanged;exports.useLatest=Qs.useLatest;exports.usePrevious=Gs.usePrevious;exports.useThrottleCallback=Xs.useThrottleCallback;exports.useThrottleState=Zs.useThrottleState;exports.useThrottleValue=js.useThrottleValue;exports.copy=I.copy;exports.legacyCopyToClipboard=I.legacyCopyToClipboard;exports.debounce=Js.debounce;exports.getDate=Ys.getDate;exports.getRetry=$s.getRetry;exports.isTarget=i.isTarget;exports.target=i.target;exports.targetSymbol=i.targetSymbol;exports.throttle=eu.throttle;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=Symbol("target"),l=e=>"current"in e?e.current:typeof e.value=="function"?e.value():typeof e.value=="string"?document.querySelector(e.value):(e.value instanceof Document||e.value instanceof Window||e.value instanceof Element,e.value),o=e=>({value:e,type:n}),u=e=>typeof e=="object"&&("current"in e||e&&e.type===n);u.wrap=o;u.getElement=l;exports.isTarget=u;exports.target=o;exports.targetSymbol=n;
|
|
2
2
|
//# sourceMappingURL=isTarget.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isTarget.cjs","sources":["../../../../src/utils/helpers/isTarget.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"isTarget.cjs","sources":["../../../../src/utils/helpers/isTarget.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nexport const targetSymbol = Symbol('target');\n\nexport type Target = (() => Element) | string | Document | Element | Window;\n\nexport type HookTarget =\n | RefObject<Element | null | undefined>\n | {\n value: Target;\n type: symbol;\n };\n\nconst getElement = (target: HookTarget) => {\n if ('current' in target) {\n return target.current;\n }\n\n if (typeof target.value === 'function') {\n return target.value();\n }\n\n if (typeof target.value === 'string') {\n return document.querySelector(target.value);\n }\n\n if (target.value instanceof Document) {\n return target.value;\n }\n\n if (target.value instanceof Window) {\n return target.value;\n }\n\n if (target.value instanceof Element) {\n return target.value;\n }\n\n return target.value;\n};\n\nexport const target = (target: Target) => ({\n value: target,\n type: targetSymbol\n});\n\nexport const isTarget = (target: HookTarget) =>\n typeof target === 'object' &&\n ('current' in target || (target && (target as any).type === targetSymbol));\n\nisTarget.wrap = target;\nisTarget.getElement = getElement;\n"],"names":["targetSymbol","getElement","target","isTarget"],"mappings":"gFAEO,MAAMA,EAAe,OAAO,QAAQ,EAWrCC,EAAcC,GACd,YAAaA,EACRA,EAAO,QAGZ,OAAOA,EAAO,OAAU,WACnBA,EAAO,MAAA,EAGZ,OAAOA,EAAO,OAAU,SACnB,SAAS,cAAcA,EAAO,KAAK,GAGxCA,EAAO,iBAAiB,UAIxBA,EAAO,iBAAiB,QAIxBA,EAAO,iBAAiB,QACnBA,EAAO,OAMLA,EAAUA,IAAoB,CACzC,MAAOA,EACP,KAAMF,CACR,GAEaG,EAAYD,GACvB,OAAOA,GAAW,WACjB,YAAaA,GAAWA,GAAWA,EAAe,OAASF,GAE9DG,EAAS,KAAOD,EAChBC,EAAS,WAAaF"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { useState as
|
|
2
|
-
import { useRefState as
|
|
3
|
-
import { isTarget as
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const e = (r ? E(r) : o.current) ?? window, c = new MutationObserver((f) => {
|
|
1
|
+
import { useState as l, useEffect as v } from "react";
|
|
2
|
+
import { useRefState as d } from "../useRefState/useRefState.mjs";
|
|
3
|
+
import { isTarget as a } from "../../utils/helpers/isTarget.mjs";
|
|
4
|
+
const L = (...s) => {
|
|
5
|
+
const r = a(s[0]) ? s[0] : void 0, [u, i] = l(null), o = d();
|
|
6
|
+
return v(() => {
|
|
7
|
+
const e = (r ? a.getElement(r) : o.current) ?? window, c = new MutationObserver((f) => {
|
|
9
8
|
f.filter((t) => t.removedNodes.length).map((t) => Array.from(t.removedNodes)).flat().forEach((t) => {
|
|
10
9
|
i((m) => t === m ? document.activeElement : m);
|
|
11
10
|
});
|
|
@@ -24,6 +23,6 @@ const p = (...s) => {
|
|
|
24
23
|
};
|
|
25
24
|
};
|
|
26
25
|
export {
|
|
27
|
-
|
|
26
|
+
L as useActiveElement
|
|
28
27
|
};
|
|
29
28
|
//# sourceMappingURL=useActiveElement.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActiveElement.mjs","sources":["../../../../src/hooks/useActiveElement/useActiveElement.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useActiveElement.mjs","sources":["../../../../src/hooks/useActiveElement/useActiveElement.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use active element return type */\nexport type UseActiveElementReturn<ActiveElement extends HTMLElement = HTMLElement> =\n ActiveElement | null;\n\nexport interface UseActiveElement {\n (): UseActiveElementReturn;\n\n <Target extends Element, ActiveElement extends HTMLElement = HTMLElement>(\n target?: never\n ): {\n ref: StateRef<Target>;\n value: UseActiveElementReturn<ActiveElement>;\n };\n\n <ActiveElement extends HTMLElement = HTMLElement>(\n target: HookTarget\n ): UseActiveElementReturn<ActiveElement>;\n}\n\n/**\n * @name useActiveElement\n * @description - Hook that returns the active element\n * @category Elements\n * @usage low\n *\n * @overload\n * @param {HookTarget} [target=window] The target element to observe active element changes\n * @returns {ActiveElement | null} The active element\n *\n * @example\n * const activeElement = useActiveElement(ref);\n *\n * @overload\n * @template ActiveElement The active element type\n * @returns {{ ref: StateRef<Element>; activeElement: ActiveElement | null }} An object containing the ref and active element\n *\n * @example\n * const { ref, value } = useActiveElement();\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useActiveElement.html}\n */\nexport const useActiveElement = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const [value, setValue] = useState<HTMLElement | null>(null);\n const internalRef = useRefState();\n\n useEffect(() => {\n const element = ((target ? isTarget.getElement(target) : internalRef.current) ??\n window) as Element;\n\n const observer = new MutationObserver((mutations) => {\n mutations\n .filter((mutation) => mutation.removedNodes.length)\n .map((mutation) => Array.from(mutation.removedNodes))\n .flat()\n .forEach((node) => {\n setValue((prevActiveElement) => {\n if (node === prevActiveElement) return document.activeElement as HTMLElement | null;\n return prevActiveElement;\n });\n });\n });\n\n observer.observe(element, {\n childList: true,\n subtree: true\n });\n\n const onActiveElementChange = () => setValue(document?.activeElement as HTMLElement | null);\n\n element.addEventListener('focus', onActiveElementChange, true);\n element.addEventListener('blur', onActiveElementChange, true);\n\n return () => {\n observer.disconnect();\n element.removeEventListener('focus', onActiveElementChange, true);\n element.removeEventListener('blur', onActiveElementChange, true);\n };\n }, [target, internalRef.state]);\n\n if (target) return value;\n return {\n ref: internalRef,\n value\n };\n}) as UseActiveElement;\n"],"names":["useActiveElement","params","target","isTarget","value","setValue","useState","internalRef","useRefState","useEffect","element","observer","mutations","mutation","node","prevActiveElement","onActiveElementChange"],"mappings":";;;AAmDO,MAAMA,IAAoB,IAAIC,MAAkB;AACrD,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAE5C,CAACG,GAAOC,CAAQ,IAAIC,EAA6B,IAAI,GACrDC,IAAcC,EAAA;AAoCpB,SAlCAC,EAAU,MAAM;AACd,UAAMC,KAAYR,IAASC,EAAS,WAAWD,CAAM,IAAIK,EAAY,YACnE,QAEII,IAAW,IAAI,iBAAiB,CAACC,MAAc;AACnD,MAAAA,EACG,OAAO,CAACC,MAAaA,EAAS,aAAa,MAAM,EACjD,IAAI,CAACA,MAAa,MAAM,KAAKA,EAAS,YAAY,CAAC,EACnD,OACA,QAAQ,CAACC,MAAS;AACjB,QAAAT,EAAS,CAACU,MACJD,MAASC,IAA0B,SAAS,gBACzCA,CACR;AAAA,MAAA,CACF;AAAA,IAAA,CACJ;AAED,IAAAJ,EAAS,QAAQD,GAAS;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV;AAED,UAAMM,IAAwB,MAAMX,EAAS,UAAU,aAAmC;AAE1F,WAAAK,EAAQ,iBAAiB,SAASM,GAAuB,EAAI,GAC7DN,EAAQ,iBAAiB,QAAQM,GAAuB,EAAI,GAErD,MAAM;AACX,MAAAL,EAAS,WAAA,GACTD,EAAQ,oBAAoB,SAASM,GAAuB,EAAI,GAChEN,EAAQ,oBAAoB,QAAQM,GAAuB,EAAI;AAAA,IAAA;AAAA,EACjE,GACC,CAACd,GAAQK,EAAY,KAAK,CAAC,GAE1BL,IAAeE,IACZ;AAAA,IACL,KAAKG;AAAA,IACL,OAAAH;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,50 +1,56 @@
|
|
|
1
|
-
import { useState as o, useRef as h, useEffect as
|
|
2
|
-
const
|
|
3
|
-
const [
|
|
4
|
-
|
|
5
|
-
const e = new Audio(
|
|
6
|
-
e.volume = m, e.playbackRate =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { useState as o, useRef as h, useEffect as E } from "react";
|
|
2
|
+
const P = (l, a = {}) => {
|
|
3
|
+
const [i, r] = o(!1), [m, v] = o(a.volume ?? 1), [d, f] = o(a.playbackRate ?? 1), t = h(null);
|
|
4
|
+
E(() => {
|
|
5
|
+
const e = new Audio(l);
|
|
6
|
+
if (e.volume = m, e.playbackRate = d, t.current = e, a.immediately)
|
|
7
|
+
try {
|
|
8
|
+
r(!0), e.play();
|
|
9
|
+
} catch {
|
|
10
|
+
r(!1);
|
|
11
|
+
}
|
|
12
|
+
const n = () => r(!0), c = () => r(!1), u = () => r(!1), y = () => v(e.volume), p = () => f(e.playbackRate);
|
|
13
|
+
return e.addEventListener("play", n), e.addEventListener("pause", c), e.addEventListener("ended", u), e.addEventListener("volumechange", y), e.addEventListener("ratechange", p), () => {
|
|
14
|
+
e.removeEventListener("play", n), e.removeEventListener("pause", c), e.removeEventListener("ended", u), e.removeEventListener("volumechange", y), e.removeEventListener("ratechange", p), e.pause(), e.remove();
|
|
11
15
|
};
|
|
12
|
-
}, [
|
|
16
|
+
}, [l]);
|
|
13
17
|
const s = () => {
|
|
14
|
-
t.current && (t.current.pause(), t.current.currentTime = 0);
|
|
18
|
+
t.current && (t.current.pause(), t.current.currentTime = 0, r(!1));
|
|
15
19
|
};
|
|
16
20
|
return {
|
|
17
21
|
play: async (e) => {
|
|
18
22
|
if (!t.current) return;
|
|
19
|
-
if (
|
|
23
|
+
if (a.interrupt && s(), r(!0), !e || !a.sprite?.[e]) {
|
|
20
24
|
await t.current.play();
|
|
21
25
|
return;
|
|
22
26
|
}
|
|
23
|
-
const [n,
|
|
27
|
+
const [n, c] = a.sprite[e];
|
|
24
28
|
t.current.currentTime = n, await t.current.play();
|
|
25
|
-
const
|
|
26
|
-
t.current && (t.current.currentTime >=
|
|
29
|
+
const u = () => {
|
|
30
|
+
t.current && (t.current.currentTime >= c && s(), i && requestAnimationFrame(u));
|
|
27
31
|
};
|
|
28
|
-
requestAnimationFrame(
|
|
32
|
+
requestAnimationFrame(u);
|
|
33
|
+
},
|
|
34
|
+
pause: () => {
|
|
35
|
+
t.current && (t.current.pause(), r(!1));
|
|
29
36
|
},
|
|
30
|
-
pause: () => t.current?.pause(),
|
|
31
37
|
stop: s,
|
|
32
|
-
playing:
|
|
38
|
+
playing: i,
|
|
33
39
|
setVolume: (e) => {
|
|
34
40
|
if (!t.current) return;
|
|
35
41
|
const n = Math.max(0, Math.min(1, e));
|
|
36
|
-
t.current.volume = n,
|
|
42
|
+
t.current.volume = n, v(n);
|
|
37
43
|
},
|
|
38
44
|
volume: m,
|
|
39
45
|
changePlaybackRate: (e) => {
|
|
40
46
|
if (!t.current) return;
|
|
41
47
|
const n = Math.max(0.5, Math.min(2, e));
|
|
42
|
-
t.current.playbackRate = n,
|
|
48
|
+
t.current.playbackRate = n, f(n);
|
|
43
49
|
},
|
|
44
|
-
playbackRate:
|
|
50
|
+
playbackRate: d
|
|
45
51
|
};
|
|
46
52
|
};
|
|
47
53
|
export {
|
|
48
|
-
|
|
54
|
+
P as useAudio
|
|
49
55
|
};
|
|
50
56
|
//# sourceMappingURL=useAudio.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAudio.mjs","sources":["../../../../src/hooks/useAudio/useAudio.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** Type sprite map */\nexport interface SpriteMap {\n /** [start time in seconds, end time in seconds] */\n [key: string]: [number, number];\n}\n\n/** Type use audio options */\nexport interface UseAudioOptions {\n /** Whether audio playback is initially enabled */\n immediately?: boolean;\n /** Whether to stop current playback when starting a new one */\n interrupt?: boolean;\n /** Initial playback speed (0.5 to 2) */\n playbackRate?: number;\n /** Map of named audio segments for sprite-based playback */\n sprite?: SpriteMap;\n /** Initial volume level (0 to 1) */\n volume?: number;\n}\n\n/** Type use audio return type */\nexport interface UseAudioReturn {\n /** Current playback speed (0.5 to 2) */\n playbackRate: number;\n /** Whether audio is currently playing */\n playing: boolean;\n /** Current volume level (0 to 1) */\n volume: number;\n /** Set playback speed (0.5 to 2) */\n changePlaybackRate: (value: number) => void;\n /** Pause audio playback at current position */\n pause: () => void;\n /** Start audio playback from the beginning or specified sprite segment */\n play: (sprite?: string) => Promise<void>;\n /** Set audio volume level (0 to 1) */\n setVolume: (value: number) => void;\n /** Stop audio playback and reset position to start */\n stop: () => void;\n}\n\n/**\n * @name useAudio\n * @description - Hook that manages audio playback with sprite support\n * @category Browser\n * @usage low\n\n * @browserapi Audio https://developer.mozilla.org/en-US/docs/Web/API/Audio\n *\n * @template Value The type of the value\n * @param {string} url The URL of the audio file to play\n * @param {UseAudioOptions} [options] Audio configuration options\n * @param {number} [options.volume=1] Initial volume level (0 to 1)\n * @param {number} [options.playbackRate=1] Initial playback speed (0.5 to 2)\n * @param {boolean} [options.interrupt=false] Whether to stop current playback when starting a new one\n * @param {boolean} [options.soundEnabled=true] Whether audio playback is initially enabled\n * @param {SpriteMap} [options.sprite] Map of named audio segments for sprite-based playback\n * @returns {UseAudioReturn} An object containing audio controls and state\n *\n * @example\n * const audio = useAudio(\"/path/to/sound.mp3\");\n */\nexport const useAudio = (src: string, options: UseAudioOptions = {}): UseAudioReturn => {\n const [playing, setPlaying] = useState(false);\n const [volume, setCurrentVolume] = useState(options.volume ?? 1);\n const [playbackRate, setPlaybackRate] = useState(options.playbackRate ?? 1);\n\n const audioRef = useRef<HTMLAudioElement | null>(null);\n\n useEffect(() => {\n const audio = new Audio(src);\n\n audio.volume = volume;\n audio.playbackRate = playbackRate;\n audioRef.current = audio;\n\n if (options.immediately) audio.play();\n\n const onPlay = () => setPlaying(true);\n const onPause = () => setPlaying(false);\n const onEnded = () => setPlaying(false);\n const
|
|
1
|
+
{"version":3,"file":"useAudio.mjs","sources":["../../../../src/hooks/useAudio/useAudio.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** Type sprite map */\nexport interface SpriteMap {\n /** [start time in seconds, end time in seconds] */\n [key: string]: [number, number];\n}\n\n/** Type use audio options */\nexport interface UseAudioOptions {\n /** Whether audio playback is initially enabled */\n immediately?: boolean;\n /** Whether to stop current playback when starting a new one */\n interrupt?: boolean;\n /** Initial playback speed (0.5 to 2) */\n playbackRate?: number;\n /** Map of named audio segments for sprite-based playback */\n sprite?: SpriteMap;\n /** Initial volume level (0 to 1) */\n volume?: number;\n}\n\n/** Type use audio return type */\nexport interface UseAudioReturn {\n /** Current playback speed (0.5 to 2) */\n playbackRate: number;\n /** Whether audio is currently playing */\n playing: boolean;\n /** Current volume level (0 to 1) */\n volume: number;\n /** Set playback speed (0.5 to 2) */\n changePlaybackRate: (value: number) => void;\n /** Pause audio playback at current position */\n pause: () => void;\n /** Start audio playback from the beginning or specified sprite segment */\n play: (sprite?: string) => Promise<void>;\n /** Set audio volume level (0 to 1) */\n setVolume: (value: number) => void;\n /** Stop audio playback and reset position to start */\n stop: () => void;\n}\n\n/**\n * @name useAudio\n * @description - Hook that manages audio playback with sprite support\n * @category Browser\n * @usage low\n\n * @browserapi Audio https://developer.mozilla.org/en-US/docs/Web/API/Audio\n *\n * @template Value The type of the value\n * @param {string} url The URL of the audio file to play\n * @param {UseAudioOptions} [options] Audio configuration options\n * @param {number} [options.volume=1] Initial volume level (0 to 1)\n * @param {number} [options.playbackRate=1] Initial playback speed (0.5 to 2)\n * @param {boolean} [options.interrupt=false] Whether to stop current playback when starting a new one\n * @param {boolean} [options.soundEnabled=true] Whether audio playback is initially enabled\n * @param {SpriteMap} [options.sprite] Map of named audio segments for sprite-based playback\n * @returns {UseAudioReturn} An object containing audio controls and state\n *\n * @example\n * const audio = useAudio(\"/path/to/sound.mp3\");\n */\nexport const useAudio = (src: string, options: UseAudioOptions = {}): UseAudioReturn => {\n const [playing, setPlaying] = useState(false);\n const [volume, setCurrentVolume] = useState(options.volume ?? 1);\n const [playbackRate, setPlaybackRate] = useState(options.playbackRate ?? 1);\n\n const audioRef = useRef<HTMLAudioElement | null>(null);\n\n useEffect(() => {\n const audio = new Audio(src);\n\n audio.volume = volume;\n audio.playbackRate = playbackRate;\n audioRef.current = audio;\n\n if (options.immediately) {\n try {\n setPlaying(true);\n audio.play();\n } catch {\n setPlaying(false);\n }\n }\n\n const onPlay = () => setPlaying(true);\n const onPause = () => setPlaying(false);\n const onEnded = () => setPlaying(false);\n const onVolumeChange = () => setCurrentVolume(audio.volume);\n const onRateChange = () => setPlaybackRate(audio.playbackRate);\n\n audio.addEventListener('play', onPlay);\n audio.addEventListener('pause', onPause);\n audio.addEventListener('ended', onEnded);\n audio.addEventListener('volumechange', onVolumeChange);\n audio.addEventListener('ratechange', onRateChange);\n\n return () => {\n audio.removeEventListener('play', onPlay);\n audio.removeEventListener('pause', onPause);\n audio.removeEventListener('ended', onEnded);\n audio.removeEventListener('volumechange', onVolumeChange);\n audio.removeEventListener('ratechange', onRateChange);\n\n audio.pause();\n audio.remove();\n };\n }, [src]);\n\n const stop = () => {\n if (!audioRef.current) return;\n audioRef.current.pause();\n audioRef.current.currentTime = 0;\n setPlaying(false);\n };\n\n const play = async (spriteName?: string) => {\n if (!audioRef.current) return;\n if (options.interrupt) stop();\n\n setPlaying(true);\n\n if (!spriteName || !options.sprite?.[spriteName]) {\n await audioRef.current.play();\n return;\n }\n\n const [start, end] = options.sprite[spriteName];\n audioRef.current.currentTime = start;\n await audioRef.current.play();\n\n const checkTime = () => {\n if (!audioRef.current) return;\n if (audioRef.current.currentTime >= end) {\n stop();\n }\n\n if (!playing) return;\n\n requestAnimationFrame(checkTime);\n };\n\n requestAnimationFrame(checkTime);\n };\n\n const pause = () => {\n if (!audioRef.current) return;\n audioRef.current.pause();\n setPlaying(false);\n };\n\n const setVolume = (value: number) => {\n if (!audioRef.current) return;\n const newVolume = Math.max(0, Math.min(1, value));\n audioRef.current.volume = newVolume;\n setCurrentVolume(newVolume);\n };\n\n const changePlaybackRate = (value: number) => {\n if (!audioRef.current) return;\n const newRate = Math.max(0.5, Math.min(2, value));\n audioRef.current.playbackRate = newRate;\n setPlaybackRate(newRate);\n };\n\n return {\n play,\n pause,\n stop,\n playing,\n setVolume,\n volume,\n changePlaybackRate,\n playbackRate\n };\n};\n"],"names":["useAudio","src","options","playing","setPlaying","useState","volume","setCurrentVolume","playbackRate","setPlaybackRate","audioRef","useRef","useEffect","audio","onPlay","onPause","onEnded","onVolumeChange","onRateChange","stop","spriteName","start","end","checkTime","value","newVolume","newRate"],"mappings":";AA+DO,MAAMA,IAAW,CAACC,GAAaC,IAA2B,OAAuB;AACtF,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GACtC,CAACC,GAAQC,CAAgB,IAAIF,EAASH,EAAQ,UAAU,CAAC,GACzD,CAACM,GAAcC,CAAe,IAAIJ,EAASH,EAAQ,gBAAgB,CAAC,GAEpEQ,IAAWC,EAAgC,IAAI;AAErD,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAQ,IAAI,MAAMZ,CAAG;AAM3B,QAJAY,EAAM,SAASP,GACfO,EAAM,eAAeL,GACrBE,EAAS,UAAUG,GAEfX,EAAQ;AACV,UAAI;AACF,QAAAE,EAAW,EAAI,GACfS,EAAM,KAAA;AAAA,MAAK,QACL;AACN,QAAAT,EAAW,EAAK;AAAA,MAAA;AAIpB,UAAMU,IAAS,MAAMV,EAAW,EAAI,GAC9BW,IAAU,MAAMX,EAAW,EAAK,GAChCY,IAAU,MAAMZ,EAAW,EAAK,GAChCa,IAAiB,MAAMV,EAAiBM,EAAM,MAAM,GACpDK,IAAe,MAAMT,EAAgBI,EAAM,YAAY;AAE7D,WAAAA,EAAM,iBAAiB,QAAQC,CAAM,GACrCD,EAAM,iBAAiB,SAASE,CAAO,GACvCF,EAAM,iBAAiB,SAASG,CAAO,GACvCH,EAAM,iBAAiB,gBAAgBI,CAAc,GACrDJ,EAAM,iBAAiB,cAAcK,CAAY,GAE1C,MAAM;AACX,MAAAL,EAAM,oBAAoB,QAAQC,CAAM,GACxCD,EAAM,oBAAoB,SAASE,CAAO,GAC1CF,EAAM,oBAAoB,SAASG,CAAO,GAC1CH,EAAM,oBAAoB,gBAAgBI,CAAc,GACxDJ,EAAM,oBAAoB,cAAcK,CAAY,GAEpDL,EAAM,MAAA,GACNA,EAAM,OAAA;AAAA,IAAO;AAAA,EACf,GACC,CAACZ,CAAG,CAAC;AAER,QAAMkB,IAAO,MAAM;AACjB,IAAKT,EAAS,YACdA,EAAS,QAAQ,MAAA,GACjBA,EAAS,QAAQ,cAAc,GAC/BN,EAAW,EAAK;AAAA,EAAA;AAoDlB,SAAO;AAAA,IACL,MAlDW,OAAOgB,MAAwB;AAC1C,UAAI,CAACV,EAAS,QAAS;AAKvB,UAJIR,EAAQ,aAAWiB,EAAA,GAEvBf,EAAW,EAAI,GAEX,CAACgB,KAAc,CAAClB,EAAQ,SAASkB,CAAU,GAAG;AAChD,cAAMV,EAAS,QAAQ,KAAA;AACvB;AAAA,MAAA;AAGF,YAAM,CAACW,GAAOC,CAAG,IAAIpB,EAAQ,OAAOkB,CAAU;AAC9C,MAAAV,EAAS,QAAQ,cAAcW,GAC/B,MAAMX,EAAS,QAAQ,KAAA;AAEvB,YAAMa,IAAY,MAAM;AACtB,QAAKb,EAAS,YACVA,EAAS,QAAQ,eAAeY,KAClCH,EAAA,GAGGhB,KAEL,sBAAsBoB,CAAS;AAAA,MAAA;AAGjC,4BAAsBA,CAAS;AAAA,IAAA;AAAA,IAyB/B,OAtBY,MAAM;AAClB,MAAKb,EAAS,YACdA,EAAS,QAAQ,MAAA,GACjBN,EAAW,EAAK;AAAA,IAAA;AAAA,IAoBhB,MAAAe;AAAA,IACA,SAAAhB;AAAA,IACA,WAnBgB,CAACqB,MAAkB;AACnC,UAAI,CAACd,EAAS,QAAS;AACvB,YAAMe,IAAY,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGD,CAAK,CAAC;AAChD,MAAAd,EAAS,QAAQ,SAASe,GAC1BlB,EAAiBkB,CAAS;AAAA,IAAA;AAAA,IAgB1B,QAAAnB;AAAA,IACA,oBAdyB,CAACkB,MAAkB;AAC5C,UAAI,CAACd,EAAS,QAAS;AACvB,YAAMgB,IAAU,KAAK,IAAI,KAAK,KAAK,IAAI,GAAGF,CAAK,CAAC;AAChD,MAAAd,EAAS,QAAQ,eAAegB,GAChCjB,EAAgBiB,CAAO;AAAA,IAAA;AAAA,IAWvB,cAAAlB;AAAA,EAAA;AAEJ;"}
|