/opt/canhelp/node_modules/next/dist/esm/client
NameSizeModeActions
app-dir/-0755rm
compat/-0755rm
components/-0755rm
dev/-0755rm
legacy/-0755rm
lib/-0755rm
portal/-0755rm
react-client-callbacks/-0755rm
request/-0755rm
tracing/-0755rm
add-base-path.js4330644editdlrm
add-base-path.js.map9780644editdlrm
add-locale.js5010644editdlrm
add-locale.js.map8990644editdlrm
app-bootstrap.js22100644editdlrm
app-bootstrap.js.map39640644editdlrm
app-build-id.js9850644editdlrm
app-build-id.js.map14180644editdlrm
app-call-server.js6000644editdlrm
app-call-server.js.map10410644editdlrm
app-find-source-map-url.js11240644editdlrm
app-find-source-map-url.js.map20810644editdlrm
app-globals.js3010644editdlrm
app-globals.js.map6000644editdlrm
app-index.js102280644editdlrm
app-index.js.map172380644editdlrm
app-link-gc.js40250644editdlrm
app-link-gc.js.map51460644editdlrm
app-next-dev.js7330644editdlrm
app-next-dev.js.map12640644editdlrm
app-next-turbopack.js8430644editdlrm
app-next-turbopack.js.map16820644editdlrm
app-next.js8560644editdlrm
app-next.js.map12660644editdlrm
app-webpack.js27270644editdlrm
app-webpack.js.map32070644editdlrm
assign-location.js9950644editdlrm
assign-location.js.map15570644editdlrm
detect-domain-locale.js3800644editdlrm
detect-domain-locale.js.map7110644editdlrm
flight-data-helpers.js50880644editdlrm
flight-data-helpers.js.map86570644editdlrm
form-shared.js55520644editdlrm
form-shared.js.map106220644editdlrm
form.js52120644editdlrm
form.js.map83060644editdlrm
get-domain-locale.js9980644editdlrm
get-domain-locale.js.map24510644editdlrm
has-base-path.js2570644editdlrm
has-base-path.js.map5980644editdlrm
head-manager.js49880644editdlrm
head-manager.js.map83200644editdlrm
image-component.js128780644editdlrm
image-component.js.map214460644editdlrm
index.js312570644editdlrm
index.js.map527990644editdlrm
link.js181650644editdlrm
link.js.map343940644editdlrm
next-dev-turbopack.js14170644editdlrm
next-dev-turbopack.js.map30540644editdlrm
next-dev.js6260644editdlrm
next-dev.js.map12300644editdlrm
next-turbopack.js11660644editdlrm
next-turbopack.js.map23970644editdlrm
next.js3830644editdlrm
next.js.map8930644editdlrm
normalize-locale-path.js3390644editdlrm
normalize-locale-path.js.map8720644editdlrm
normalize-trailing-slash.js9350644editdlrm
normalize-trailing-slash.js.map17360644editdlrm
page-bootstrap.js63140644editdlrm
page-bootstrap.js.map90250644editdlrm
page-loader.js68200644editdlrm
page-loader.js.map122200644editdlrm
remove-base-path.js5260644editdlrm
remove-base-path.js.map11380644editdlrm
remove-locale.js6000644editdlrm
remove-locale.js.map13010644editdlrm
request-idle-callback.js6340644editdlrm
request-idle-callback.js.map13920644editdlrm
resolve-href.js48160644editdlrm
resolve-href.js.map79830644editdlrm
route-announcer.js23460644editdlrm
route-announcer.js.map35230644editdlrm
route-loader.js130750644editdlrm
route-loader.js.map230360644editdlrm
route-params.js68150644editdlrm
route-params.js.map108220644editdlrm
router.js58730644editdlrm
router.js.map88450644editdlrm
script.js126190644editdlrm
script.js.map187110644editdlrm
set-attributes-from-props.js18170644editdlrm
set-attributes-from-props.js.map31010644editdlrm
trusted-types.js14100644editdlrm
trusted-types.js.map19560644editdlrm
use-client-disallowed.js4760644editdlrm
use-client-disallowed.js.map7390644editdlrm
use-intersection.js32480644editdlrm
use-intersection.js.map66470644editdlrm
use-merged-ref.js23450644editdlrm
use-merged-ref.js.map35660644editdlrm
web-vitals.js4910644editdlrm
web-vitals.js.map10050644editdlrm
webpack.js18770644editdlrm
webpack.js.map25420644editdlrm
with-router.js7810644editdlrm
with-router.js.map19350644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/esm/client/use-intersection.js.map (6647B)
{"version":3,"sources":["../../src/client/use-intersection.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport {\n requestIdleCallback,\n cancelIdleCallback,\n} from './request-idle-callback'\n\ntype UseIntersectionObserverInit = Pick<\n IntersectionObserverInit,\n 'rootMargin' | 'root'\n>\n\ntype UseIntersection = { disabled?: boolean } & UseIntersectionObserverInit & {\n rootRef?: React.RefObject | null\n }\ntype ObserveCallback = (isVisible: boolean) => void\ntype Identifier = {\n root: Element | Document | null\n margin: string\n}\ntype Observer = {\n id: Identifier\n observer: IntersectionObserver\n elements: Map\n}\n\nconst hasIntersectionObserver = typeof IntersectionObserver === 'function'\n\nconst observers = new Map()\nconst idList: Identifier[] = []\n\nfunction createObserver(options: UseIntersectionObserverInit): Observer {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || '',\n }\n const existing = idList.find(\n (obj) => obj.root === id.root && obj.margin === id.margin\n )\n let instance: Observer | undefined\n\n if (existing) {\n instance = observers.get(existing)\n if (instance) {\n return instance\n }\n }\n\n const elements = new Map()\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n const callback = elements.get(entry.target)\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0\n if (callback && isVisible) {\n callback(isVisible)\n }\n })\n }, options)\n instance = {\n id,\n observer,\n elements,\n }\n\n idList.push(id)\n observers.set(id, instance)\n return instance\n}\n\nfunction observe(\n element: Element,\n callback: ObserveCallback,\n options: UseIntersectionObserverInit\n): () => void {\n const { id, observer, elements } = createObserver(options)\n elements.set(element, callback)\n\n observer.observe(element)\n return function unobserve(): void {\n elements.delete(element)\n observer.unobserve(element)\n\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect()\n observers.delete(id)\n const index = idList.findIndex(\n (obj) => obj.root === id.root && obj.margin === id.margin\n )\n if (index > -1) {\n idList.splice(index, 1)\n }\n }\n }\n}\n\nexport function useIntersection({\n rootRef,\n rootMargin,\n disabled,\n}: UseIntersection): [(element: T | null) => void, boolean, () => void] {\n const isDisabled: boolean = disabled || !hasIntersectionObserver\n\n const [visible, setVisible] = useState(false)\n const elementRef = useRef(null)\n const setElement = useCallback((element: T | null) => {\n elementRef.current = element\n }, [])\n\n useEffect(() => {\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return\n\n const element = elementRef.current\n if (element && element.tagName) {\n const unobserve = observe(\n element,\n (isVisible) => isVisible && setVisible(isVisible),\n { root: rootRef?.current, rootMargin }\n )\n\n return unobserve\n }\n } else {\n if (!visible) {\n const idleCallback = requestIdleCallback(() => setVisible(true))\n return () => cancelIdleCallback(idleCallback)\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDisabled, rootMargin, rootRef, visible, elementRef.current])\n\n const resetVisible = useCallback(() => {\n setVisible(false)\n }, [])\n\n return [setElement, visible, resetVisible]\n}\n"],"names":["useCallback","useEffect","useRef","useState","requestIdleCallback","cancelIdleCallback","hasIntersectionObserver","IntersectionObserver","observers","Map","idList","createObserver","options","id","root","margin","rootMargin","existing","find","obj","instance","get","elements","observer","entries","forEach","entry","callback","target","isVisible","isIntersecting","intersectionRatio","push","set","observe","element","unobserve","delete","size","disconnect","index","findIndex","splice","useIntersection","rootRef","disabled","isDisabled","visible","setVisible","elementRef","setElement","current","tagName","idleCallback","resetVisible"],"mappings":"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","ignoreList":[0]}