{"version":3,"file":"static/chunks/3403-7fee3e893f91a462.js","mappings":"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","sources":["webpack://_N_E/../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","webpack://_N_E/../../node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js","webpack://_N_E/../../src/useSuspenseInfiniteQuery.ts","webpack://_N_E/../../node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/object/cloneDeep.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/error/AbortError.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/promise/delay.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/error/TimeoutError.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/promise/timeout.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/promise/withTimeout.mjs","webpack://_N_E/../src/InView.tsx","webpack://_N_E/../src/observe.ts","webpack://_N_E/../src/useInView.tsx"],"sourcesContent":["// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/infiniteQueryObserver.ts\nimport { QueryObserver } from \"./queryObserver.js\";\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n} from \"./infiniteQueryBehavior.js\";\nvar InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options, notifyOptions) {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior()\n },\n notifyOptions\n );\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options) {\n const { state } = query;\n const parentResult = super.createResult(query, options);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n};\nexport {\n InfiniteQueryObserver\n};\n//# sourceMappingURL=infiniteQueryObserver.js.map","'use client'\nimport { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport { defaultThrowOnError } from './suspense'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverSuccessResult,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n UseSuspenseInfiniteQueryOptions,\n UseSuspenseInfiniteQueryResult,\n} from './types'\n\nexport function useSuspenseInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseSuspenseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseSuspenseInfiniteQueryResult {\n if (process.env.NODE_ENV !== 'production') {\n if ((options.queryFn as any) === skipToken) {\n console.error('skipToken is not allowed for useSuspenseInfiniteQuery')\n }\n }\n\n return useBaseQuery(\n {\n ...options,\n enabled: true,\n suspense: true,\n throwOnError: defaultThrowOnError,\n },\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n ) as InfiniteQueryObserverSuccessResult\n}\n","function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepImpl(obj);\n}\nfunction cloneDeepImpl(obj, stack = new Map()) {\n if (isPrimitive(obj)) {\n return obj;\n }\n if (stack.has(obj)) {\n return stack.get(obj);\n }\n if (Array.isArray(obj)) {\n const result = new Array(obj.length);\n stack.set(obj, result);\n for (let i = 0; i < obj.length; i++) {\n result[i] = cloneDeepImpl(obj[i], stack);\n }\n if (Object.hasOwn(obj, 'index')) {\n result.index = obj.index;\n }\n if (Object.hasOwn(obj, 'input')) {\n result.input = obj.input;\n }\n return result;\n }\n if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n if (obj instanceof RegExp) {\n const result = new RegExp(obj.source, obj.flags);\n result.lastIndex = obj.lastIndex;\n return result;\n }\n if (obj instanceof Map) {\n const result = new Map();\n stack.set(obj, result);\n for (const [key, value] of obj.entries()) {\n result.set(key, cloneDeepImpl(value, stack));\n }\n return result;\n }\n if (obj instanceof Set) {\n const result = new Set();\n stack.set(obj, result);\n for (const value of obj.values()) {\n result.add(cloneDeepImpl(value, stack));\n }\n return result;\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(obj)) {\n return obj.subarray();\n }\n if (isTypedArray(obj)) {\n const result = new (Object.getPrototypeOf(obj).constructor)(obj.length);\n stack.set(obj, result);\n for (let i = 0; i < obj.length; i++) {\n result[i] = cloneDeepImpl(obj[i], stack);\n }\n return result;\n }\n if (obj instanceof ArrayBuffer || (typeof SharedArrayBuffer !== 'undefined' && obj instanceof SharedArrayBuffer)) {\n return obj.slice(0);\n }\n if (obj instanceof DataView) {\n const result = new DataView(obj.buffer.slice(0), obj.byteOffset, obj.byteLength);\n stack.set(obj, result);\n copyProperties(result, obj, stack);\n return result;\n }\n if (typeof File !== 'undefined' && obj instanceof File) {\n const result = new File([obj], obj.name, { type: obj.type });\n stack.set(obj, result);\n copyProperties(result, obj, stack);\n return result;\n }\n if (obj instanceof Blob) {\n const result = new Blob([obj], { type: obj.type });\n stack.set(obj, result);\n copyProperties(result, obj, stack);\n return result;\n }\n if (obj instanceof Error) {\n const result = new obj.constructor();\n stack.set(obj, result);\n result.message = obj.message;\n result.name = obj.name;\n result.stack = obj.stack;\n result.cause = obj.cause;\n copyProperties(result, obj, stack);\n return result;\n }\n if (typeof obj === 'object' && obj !== null) {\n const result = {};\n stack.set(obj, result);\n copyProperties(result, obj, stack);\n return result;\n }\n return obj;\n}\nfunction copyProperties(target, source, stack) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepImpl(source[key], stack);\n }\n }\n}\n\nexport { cloneDeep, copyProperties };\n","class AbortError extends Error {\n constructor(message = 'The operation was aborted') {\n super(message);\n this.name = 'AbortError';\n }\n}\n\nexport { AbortError };\n","import { AbortError } from '../error/AbortError.mjs';\n\nfunction delay(ms, { signal } = {}) {\n return new Promise((resolve, reject) => {\n const abortError = () => {\n reject(new AbortError());\n };\n const abortHandler = () => {\n clearTimeout(timeoutId);\n abortError();\n };\n if (signal?.aborted) {\n return abortError();\n }\n const timeoutId = setTimeout(() => {\n signal?.removeEventListener('abort', abortHandler);\n resolve();\n }, ms);\n signal?.addEventListener('abort', abortHandler, { once: true });\n });\n}\n\nexport { delay };\n","class TimeoutError extends Error {\n constructor(message = 'The operation was timed out') {\n super(message);\n this.name = 'TimeoutError';\n }\n}\n\nexport { TimeoutError };\n","import { delay } from './delay.mjs';\nimport { TimeoutError } from '../error/TimeoutError.mjs';\n\nasync function timeout(ms) {\n await delay(ms);\n throw new TimeoutError();\n}\n\nexport { timeout };\n","import { timeout } from './timeout.mjs';\n\nasync function withTimeout(run, ms) {\n return Promise.race([run(), timeout(ms)]);\n}\n\nexport { withTimeout };\n","import * as React from \"react\";\nimport type { IntersectionObserverProps, PlainChildrenProps } from \"./index\";\nimport { observe } from \"./observe\";\n\ntype State = {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n};\n\nfunction isPlainChildren(\n props: IntersectionObserverProps | PlainChildrenProps,\n): props is PlainChildrenProps {\n return typeof props.children !== \"function\";\n}\n\n/**\n ## Render props\n\n To use the `` component, you pass it a function. It will be called\n whenever the state changes, with the new value of `inView`. In addition to the\n `inView` prop, children also receive a `ref` that should be set on the\n containing DOM element. This is the element that the IntersectionObserver will\n monitor.\n\n If you need it, you can also access the\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\n on `entry`, giving you access to all the details about the current intersection\n state.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n \n {({ inView, ref, entry }) => (\n
\n

{`Header inside viewport ${inView}.`}

\n
\n )}\n
\n );\n\n export default Component;\n ```\n\n ## Plain children\n\n You can pass any element to the ``, and it will handle creating the\n wrapping DOM element. Add a handler to the `onChange` method, and control the\n state in your own component. Any extra props you add to `` will be\n passed to the HTML element, allowing you set the `className`, `style`, etc.\n\n ```jsx\n import { InView } from 'react-intersection-observer';\n\n const Component = () => (\n console.log('Inview:', inView)}>\n

Plain children are always rendered. Use onChange to monitor state.

\n
\n );\n\n export default Component;\n ```\n */\nexport class InView extends React.Component<\n IntersectionObserverProps | PlainChildrenProps,\n State\n> {\n node: Element | null = null;\n _unobserveCb: (() => void) | null = null;\n\n constructor(props: IntersectionObserverProps | PlainChildrenProps) {\n super(props);\n this.state = {\n inView: !!props.initialInView,\n entry: undefined,\n };\n }\n\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n\n componentDidUpdate(prevProps: IntersectionObserverProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (\n prevProps.rootMargin !== this.props.rootMargin ||\n prevProps.root !== this.props.root ||\n prevProps.threshold !== this.props.threshold ||\n prevProps.skip !== this.props.skip ||\n prevProps.trackVisibility !== this.props.trackVisibility ||\n prevProps.delay !== this.props.delay\n ) {\n this.unobserve();\n this.observeNode();\n }\n }\n\n componentWillUnmount() {\n this.unobserve();\n }\n\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView,\n } = this.props;\n\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay,\n },\n fallbackInView,\n );\n }\n\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n\n handleNode = (node?: Element | null) => {\n if (this.node) {\n // Clear the old observer, before we start observing a new element\n this.unobserve();\n\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n this.setState({ inView: !!this.props.initialInView, entry: undefined });\n }\n }\n\n this.node = node ? node : null;\n this.observeNode();\n };\n\n handleChange = (inView: boolean, entry: IntersectionObserverEntry) => {\n if (inView && this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n this.props.onChange(inView, entry);\n }\n };\n\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props as PlainChildrenProps;\n\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children,\n );\n }\n}\n","import type { ObserverInstanceCallback } from \"./index\";\n\nconst observerMap = new Map<\n string,\n {\n id: string;\n observer: IntersectionObserver;\n elements: Map>;\n }\n>();\n\nconst RootIds: WeakMap = new WeakMap();\nlet rootId = 0;\n\nlet unsupportedValue: boolean | undefined = undefined;\n\n/**\n * What should be the default behavior if the IntersectionObserver is unsupported?\n * Ideally the polyfill has been loaded, you can have the following happen:\n * - `undefined`: Throw an error\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\n * **/\nexport function defaultFallbackInView(inView: boolean | undefined) {\n unsupportedValue = inView;\n}\n\n/**\n * Generate a unique ID for the root element\n * @param root\n */\nfunction getRootId(root: IntersectionObserverInit[\"root\"]) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n\n/**\n * Convert the options to a string Id, based on the values.\n * Ensures we can reuse the same observer when observing elements with the same options.\n * @param options\n */\nexport function optionsToId(options: IntersectionObserverInit) {\n return Object.keys(options)\n .sort()\n .filter(\n (key) => options[key as keyof IntersectionObserverInit] !== undefined,\n )\n .map((key) => {\n return `${key}_${\n key === \"root\"\n ? getRootId(options.root)\n : options[key as keyof IntersectionObserverInit]\n }`;\n })\n .toString();\n}\n\nfunction createObserver(options: IntersectionObserverInit) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n const elements = new Map>();\n // biome-ignore lint/style/useConst: It's fine to use let here, as we are going to assign it later\n let thresholds: number[] | readonly number[];\n\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n const inView =\n entry.isIntersecting &&\n thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n\n // @ts-ignore support IntersectionObserver v2\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n elements.get(entry.target)?.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n\n // Ensure we have a valid thresholds array. If not, use the threshold from the options\n thresholds =\n observer.thresholds ||\n (Array.isArray(options.threshold)\n ? options.threshold\n : [options.threshold || 0]);\n\n instance = {\n id,\n observer,\n elements,\n };\n\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n\n/**\n * @param element - DOM Element to observe\n * @param callback - Callback function to trigger when intersection status changes\n * @param options - Intersection Observer options\n * @param fallbackInView - Fallback inView value.\n * @return Function - Cleanup function that should be triggered to unregister the observer\n */\nexport function observe(\n element: Element,\n callback: ObserverInstanceCallback,\n options: IntersectionObserverInit = {},\n fallbackInView = unsupportedValue,\n) {\n if (\n typeof window.IntersectionObserver === \"undefined\" &&\n fallbackInView !== undefined\n ) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio:\n typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds,\n });\n return () => {\n // Nothing to cleanup\n };\n }\n // An observer with the same options can be reused, so lets use this fact\n const { id, observer, elements } = createObserver(options);\n\n // Register the callback listener for this element\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements.delete(element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n","import * as React from \"react\";\nimport type { InViewHookResponse, IntersectionOptions } from \"./index\";\nimport { observe } from \"./observe\";\n\ntype State = {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n};\n\n/**\n * React Hooks make it easy to monitor the `inView` state of your components. Call\n * the `useInView` hook with the (optional) [options](#options) you need. It will\n * return an array containing a `ref`, the `inView` status and the current\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\n * report the status.\n *\n * @example\n * ```jsx\n * import React from 'react';\n * import { useInView } from 'react-intersection-observer';\n *\n * const Component = () => {\n * const { ref, inView, entry } = useInView({\n * threshold: 0,\n * });\n *\n * return (\n *
\n *

{`Header inside viewport ${inView}.`}

\n *
\n * );\n * };\n * ```\n */\nexport function useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange,\n}: IntersectionOptions = {}): InViewHookResponse {\n const [ref, setRef] = React.useState(null);\n const callback = React.useRef();\n const [state, setState] = React.useState({\n inView: !!initialInView,\n entry: undefined,\n });\n\n // Store the onChange callback in a `ref`, so we can access the latest instance\n // inside the `useEffect`, but without triggering a rerender.\n callback.current = onChange;\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: threshold is not correctly detected as a dependency\n React.useEffect(\n () => {\n // Ensure we have node ref, and that we shouldn't skip observing\n if (skip || !ref) return;\n\n let unobserve: (() => void) | undefined;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry,\n });\n if (callback.current) callback.current(inView, entry);\n\n if (entry.isIntersecting && triggerOnce && unobserve) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve();\n unobserve = undefined;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay,\n },\n fallbackInView,\n );\n\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay,\n ],\n );\n\n const entryTarget = state.entry?.target;\n const previousEntryTarget = React.useRef();\n if (\n !ref &&\n entryTarget &&\n !triggerOnce &&\n !skip &&\n previousEntryTarget.current !== entryTarget\n ) {\n // If we don't have a node ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: undefined,\n });\n }\n\n const result = [setRef, state.inView, state.entry] as InViewHookResponse;\n\n // Support object destructuring, by adding the specific values.\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n\n return result;\n}\n"],"names":["infiniteQueryBehavior","pages","onFetch","context","query","options","direction","fetchOptions","meta","fetchMore","oldPages","state","data","oldPageParams","pageParams","result","currentPage","fetchFn","cancelled","addSignalProperty","Object","defineProperty","object","enumerable","get","signal","aborted","addEventListener","queryFn","_utils_js__WEBPACK_IMPORTED_MODULE_0__","cG","fetchPage","param","previous","Promise","reject","length","resolve","queryFnContext","queryKey","pageParam","page","maxPages","addTo","Ht","VX","oldData","pageParamFn","getPreviousPageParam","getNextPageParam","remainingPages","initialPageParam","persister","lastIndex","hasNextPage","hasPreviousPage","InfiniteQueryObserver","_queryObserver_js__WEBPACK_IMPORTED_MODULE_0__","z","constructor","client","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","_infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_1__","Gm","getOptimisticResult","fetch","createResult","parentResult","isFetching","isRefetching","isError","isRefetchError","fetchDirection","fetchMeta","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","Qy","ZF","useSuspenseInfiniteQuery","queryClient","useBaseQuery","enabled","suspense","throwOnError","defaultThrowOnError","cloneDeep","obj","cloneDeepImpl","stack","Map","value","has","Array","isArray","set","i","hasOwn","index","input","Date","getTime","RegExp","source","flags","key","entries","Set","values","add","Buffer","isBuffer","subarray","ArrayBuffer","isView","x","DataView","getPrototypeOf","SharedArrayBuffer","slice","buffer","byteOffset","byteLength","copyProperties","File","name","type","Blob","Error","message","cause","target","keys","getSymbols","descriptor","getOwnPropertyDescriptor","writable","AbortError","delay","ms","abortError","abortHandler","clearTimeout","timeoutId","setTimeout","removeEventListener","once","TimeoutError","timeout","g","withTimeout","run","race","observerMap","RootIds","WeakMap","rootId","unsupportedValue","useInView","_a","threshold","trackVisibility","rootMargin","root","triggerOnce","skip","initialInView","fallbackInView","onChange","arguments","ref","setRef","React2","callback","setState","inView","entry","current","unobserve","observe","element","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","intersectionRatio","time","boundingClientRect","intersectionRect","rootBounds","id","observer","elements","createObserver","sort","filter","map","concat","toString","instance","thresholds","forEach","some","isVisible","callbacks","push","splice","indexOf","delete","size","disconnect","entryTarget","previousEntryTarget","React"],"sourceRoot":""}