@tanstack/solid-router 1.121.15 → 1.121.17
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/package.json +2 -2
- package/dist/cjs/Asset.cjs +0 -49
- package/dist/cjs/Asset.cjs.map +0 -1
- package/dist/cjs/Asset.d.cts +0 -2
- package/dist/cjs/CatchBoundary.cjs +0 -92
- package/dist/cjs/CatchBoundary.cjs.map +0 -1
- package/dist/cjs/CatchBoundary.d.cts +0 -11
- package/dist/cjs/ClientOnly.cjs +0 -36
- package/dist/cjs/ClientOnly.cjs.map +0 -1
- package/dist/cjs/ClientOnly.d.cts +0 -49
- package/dist/cjs/HeadContent.cjs +0 -146
- package/dist/cjs/HeadContent.cjs.map +0 -1
- package/dist/cjs/HeadContent.d.cts +0 -8
- package/dist/cjs/Match.cjs +0 -359
- package/dist/cjs/Match.cjs.map +0 -1
- package/dist/cjs/Match.d.cts +0 -8
- package/dist/cjs/Matches.cjs +0 -152
- package/dist/cjs/Matches.cjs.map +0 -1
- package/dist/cjs/Matches.d.cts +0 -24
- package/dist/cjs/RouterProvider.cjs +0 -45
- package/dist/cjs/RouterProvider.cjs.map +0 -1
- package/dist/cjs/RouterProvider.d.cts +0 -10
- package/dist/cjs/SafeFragment.cjs +0 -8
- package/dist/cjs/SafeFragment.cjs.map +0 -1
- package/dist/cjs/SafeFragment.d.cts +0 -1
- package/dist/cjs/ScriptOnce.cjs +0 -23
- package/dist/cjs/ScriptOnce.cjs.map +0 -1
- package/dist/cjs/ScriptOnce.d.cts +0 -5
- package/dist/cjs/Scripts.cjs +0 -48
- package/dist/cjs/Scripts.cjs.map +0 -1
- package/dist/cjs/Scripts.d.cts +0 -1
- package/dist/cjs/ScrollRestoration.cjs +0 -37
- package/dist/cjs/ScrollRestoration.cjs.map +0 -1
- package/dist/cjs/ScrollRestoration.d.cts +0 -14
- package/dist/cjs/Transitioner.cjs +0 -124
- package/dist/cjs/Transitioner.cjs.map +0 -1
- package/dist/cjs/Transitioner.d.cts +0 -1
- package/dist/cjs/awaited.cjs +0 -49
- package/dist/cjs/awaited.cjs.map +0 -1
- package/dist/cjs/awaited.d.cts +0 -11
- package/dist/cjs/fileRoute.cjs +0 -103
- package/dist/cjs/fileRoute.cjs.map +0 -1
- package/dist/cjs/fileRoute.d.cts +0 -54
- package/dist/cjs/history.d.cts +0 -8
- package/dist/cjs/index.cjs +0 -289
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.d.cts +0 -52
- package/dist/cjs/lazyRouteComponent.cjs +0 -73
- package/dist/cjs/lazyRouteComponent.cjs.map +0 -1
- package/dist/cjs/lazyRouteComponent.d.cts +0 -2
- package/dist/cjs/link.cjs +0 -287
- package/dist/cjs/link.cjs.map +0 -1
- package/dist/cjs/link.d.cts +0 -44
- package/dist/cjs/matchContext.cjs +0 -25
- package/dist/cjs/matchContext.cjs.map +0 -1
- package/dist/cjs/matchContext.d.cts +0 -3
- package/dist/cjs/not-found.cjs +0 -42
- package/dist/cjs/not-found.cjs.map +0 -1
- package/dist/cjs/not-found.d.cts +0 -8
- package/dist/cjs/renderRouteNotFound.cjs +0 -23
- package/dist/cjs/renderRouteNotFound.cjs.map +0 -1
- package/dist/cjs/renderRouteNotFound.d.cts +0 -2
- package/dist/cjs/route.cjs +0 -236
- package/dist/cjs/route.cjs.map +0 -1
- package/dist/cjs/route.d.cts +0 -95
- package/dist/cjs/router.cjs +0 -22
- package/dist/cjs/router.cjs.map +0 -1
- package/dist/cjs/router.d.cts +0 -69
- package/dist/cjs/routerContext.cjs +0 -33
- package/dist/cjs/routerContext.cjs.map +0 -1
- package/dist/cjs/routerContext.d.cts +0 -8
- package/dist/cjs/scroll-restoration.cjs +0 -23
- package/dist/cjs/scroll-restoration.cjs.map +0 -1
- package/dist/cjs/scroll-restoration.d.cts +0 -1
- package/dist/cjs/typePrimitives.d.cts +0 -10
- package/dist/cjs/useBlocker.cjs +0 -171
- package/dist/cjs/useBlocker.cjs.map +0 -1
- package/dist/cjs/useBlocker.d.cts +0 -67
- package/dist/cjs/useCanGoBack.cjs +0 -8
- package/dist/cjs/useCanGoBack.cjs.map +0 -1
- package/dist/cjs/useCanGoBack.d.cts +0 -1
- package/dist/cjs/useLoaderData.cjs +0 -14
- package/dist/cjs/useLoaderData.cjs.map +0 -1
- package/dist/cjs/useLoaderData.d.cts +0 -8
- package/dist/cjs/useLoaderDeps.cjs +0 -17
- package/dist/cjs/useLoaderDeps.cjs.map +0 -1
- package/dist/cjs/useLoaderDeps.d.cts +0 -7
- package/dist/cjs/useLocation.cjs +0 -10
- package/dist/cjs/useLocation.cjs.map +0 -1
- package/dist/cjs/useLocation.d.cts +0 -7
- package/dist/cjs/useMatch.cjs +0 -39
- package/dist/cjs/useMatch.cjs.map +0 -1
- package/dist/cjs/useMatch.d.cts +0 -10
- package/dist/cjs/useNavigate.cjs +0 -46
- package/dist/cjs/useNavigate.cjs.map +0 -1
- package/dist/cjs/useNavigate.d.cts +0 -5
- package/dist/cjs/useParams.cjs +0 -15
- package/dist/cjs/useParams.cjs.map +0 -1
- package/dist/cjs/useParams.d.cts +0 -9
- package/dist/cjs/useRouteContext.cjs +0 -11
- package/dist/cjs/useRouteContext.cjs.map +0 -1
- package/dist/cjs/useRouteContext.d.cts +0 -4
- package/dist/cjs/useRouter.cjs +0 -29
- package/dist/cjs/useRouter.cjs.map +0 -1
- package/dist/cjs/useRouter.d.cts +0 -4
- package/dist/cjs/useRouterState.cjs +0 -16
- package/dist/cjs/useRouterState.cjs.map +0 -1
- package/dist/cjs/useRouterState.d.cts +0 -8
- package/dist/cjs/useSearch.cjs +0 -15
- package/dist/cjs/useSearch.cjs.map +0 -1
- package/dist/cjs/useSearch.d.cts +0 -9
- package/dist/cjs/utils.cjs +0 -58
- package/dist/cjs/utils.cjs.map +0 -1
- package/dist/cjs/utils.d.cts +0 -34
- package/dist/esm/Asset.d.ts +0 -2
- package/dist/esm/Asset.js +0 -49
- package/dist/esm/Asset.js.map +0 -1
- package/dist/esm/CatchBoundary.d.ts +0 -11
- package/dist/esm/CatchBoundary.js +0 -75
- package/dist/esm/CatchBoundary.js.map +0 -1
- package/dist/esm/ClientOnly.d.ts +0 -49
- package/dist/esm/ClientOnly.js +0 -19
- package/dist/esm/ClientOnly.js.map +0 -1
- package/dist/esm/HeadContent.d.ts +0 -8
- package/dist/esm/HeadContent.js +0 -129
- package/dist/esm/HeadContent.js.map +0 -1
- package/dist/esm/Match.d.ts +0 -8
- package/dist/esm/Match.js +0 -342
- package/dist/esm/Match.js.map +0 -1
- package/dist/esm/Matches.d.ts +0 -24
- package/dist/esm/Matches.js +0 -135
- package/dist/esm/Matches.js.map +0 -1
- package/dist/esm/RouterProvider.d.ts +0 -10
- package/dist/esm/RouterProvider.js +0 -45
- package/dist/esm/RouterProvider.js.map +0 -1
- package/dist/esm/SafeFragment.d.ts +0 -1
- package/dist/esm/SafeFragment.js +0 -8
- package/dist/esm/SafeFragment.js.map +0 -1
- package/dist/esm/ScriptOnce.d.ts +0 -5
- package/dist/esm/ScriptOnce.js +0 -23
- package/dist/esm/ScriptOnce.js.map +0 -1
- package/dist/esm/Scripts.d.ts +0 -1
- package/dist/esm/Scripts.js +0 -48
- package/dist/esm/Scripts.js.map +0 -1
- package/dist/esm/ScrollRestoration.d.ts +0 -14
- package/dist/esm/ScrollRestoration.js +0 -37
- package/dist/esm/ScrollRestoration.js.map +0 -1
- package/dist/esm/Transitioner.d.ts +0 -1
- package/dist/esm/Transitioner.js +0 -107
- package/dist/esm/Transitioner.js.map +0 -1
- package/dist/esm/awaited.d.ts +0 -11
- package/dist/esm/awaited.js +0 -32
- package/dist/esm/awaited.js.map +0 -1
- package/dist/esm/fileRoute.d.ts +0 -54
- package/dist/esm/fileRoute.js +0 -103
- package/dist/esm/fileRoute.js.map +0 -1
- package/dist/esm/history.d.ts +0 -8
- package/dist/esm/index.d.ts +0 -52
- package/dist/esm/index.js +0 -151
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lazyRouteComponent.d.ts +0 -2
- package/dist/esm/lazyRouteComponent.js +0 -73
- package/dist/esm/lazyRouteComponent.js.map +0 -1
- package/dist/esm/link.d.ts +0 -44
- package/dist/esm/link.js +0 -270
- package/dist/esm/link.js.map +0 -1
- package/dist/esm/matchContext.d.ts +0 -3
- package/dist/esm/matchContext.js +0 -8
- package/dist/esm/matchContext.js.map +0 -1
- package/dist/esm/not-found.d.ts +0 -8
- package/dist/esm/not-found.js +0 -42
- package/dist/esm/not-found.js.map +0 -1
- package/dist/esm/renderRouteNotFound.d.ts +0 -2
- package/dist/esm/renderRouteNotFound.js +0 -23
- package/dist/esm/renderRouteNotFound.js.map +0 -1
- package/dist/esm/route.d.ts +0 -95
- package/dist/esm/route.js +0 -236
- package/dist/esm/route.js.map +0 -1
- package/dist/esm/router.d.ts +0 -69
- package/dist/esm/router.js +0 -22
- package/dist/esm/router.js.map +0 -1
- package/dist/esm/routerContext.d.ts +0 -8
- package/dist/esm/routerContext.js +0 -16
- package/dist/esm/routerContext.js.map +0 -1
- package/dist/esm/scroll-restoration.d.ts +0 -1
- package/dist/esm/scroll-restoration.js +0 -23
- package/dist/esm/scroll-restoration.js.map +0 -1
- package/dist/esm/typePrimitives.d.ts +0 -10
- package/dist/esm/useBlocker.d.ts +0 -67
- package/dist/esm/useBlocker.js +0 -154
- package/dist/esm/useBlocker.js.map +0 -1
- package/dist/esm/useCanGoBack.d.ts +0 -1
- package/dist/esm/useCanGoBack.js +0 -8
- package/dist/esm/useCanGoBack.js.map +0 -1
- package/dist/esm/useLoaderData.d.ts +0 -8
- package/dist/esm/useLoaderData.js +0 -14
- package/dist/esm/useLoaderData.js.map +0 -1
- package/dist/esm/useLoaderDeps.d.ts +0 -7
- package/dist/esm/useLoaderDeps.js +0 -17
- package/dist/esm/useLoaderDeps.js.map +0 -1
- package/dist/esm/useLocation.d.ts +0 -7
- package/dist/esm/useLocation.js +0 -10
- package/dist/esm/useLocation.js.map +0 -1
- package/dist/esm/useMatch.d.ts +0 -10
- package/dist/esm/useMatch.js +0 -22
- package/dist/esm/useMatch.js.map +0 -1
- package/dist/esm/useNavigate.d.ts +0 -5
- package/dist/esm/useNavigate.js +0 -29
- package/dist/esm/useNavigate.js.map +0 -1
- package/dist/esm/useParams.d.ts +0 -9
- package/dist/esm/useParams.js +0 -15
- package/dist/esm/useParams.js.map +0 -1
- package/dist/esm/useRouteContext.d.ts +0 -4
- package/dist/esm/useRouteContext.js +0 -11
- package/dist/esm/useRouteContext.js.map +0 -1
- package/dist/esm/useRouter.d.ts +0 -4
- package/dist/esm/useRouter.js +0 -12
- package/dist/esm/useRouter.js.map +0 -1
- package/dist/esm/useRouterState.d.ts +0 -8
- package/dist/esm/useRouterState.js +0 -16
- package/dist/esm/useRouterState.js.map +0 -1
- package/dist/esm/useSearch.d.ts +0 -9
- package/dist/esm/useSearch.js +0 -15
- package/dist/esm/useSearch.js.map +0 -1
- package/dist/esm/utils.d.ts +0 -34
- package/dist/esm/utils.js +0 -41
- package/dist/esm/utils.js.map +0 -1
- package/dist/source/Asset.d.ts +0 -2
- package/dist/source/Asset.jsx +0 -23
- package/dist/source/Asset.jsx.map +0 -1
- package/dist/source/CatchBoundary.d.ts +0 -11
- package/dist/source/CatchBoundary.jsx +0 -43
- package/dist/source/CatchBoundary.jsx.map +0 -1
- package/dist/source/ClientOnly.d.ts +0 -49
- package/dist/source/ClientOnly.jsx +0 -51
- package/dist/source/ClientOnly.jsx.map +0 -1
- package/dist/source/HeadContent.d.ts +0 -8
- package/dist/source/HeadContent.jsx +0 -143
- package/dist/source/HeadContent.jsx.map +0 -1
- package/dist/source/Match.d.ts +0 -8
- package/dist/source/Match.jsx +0 -261
- package/dist/source/Match.jsx.map +0 -1
- package/dist/source/Matches.d.ts +0 -24
- package/dist/source/Matches.jsx +0 -104
- package/dist/source/Matches.jsx.map +0 -1
- package/dist/source/RouterProvider.d.ts +0 -10
- package/dist/source/RouterProvider.jsx +0 -27
- package/dist/source/RouterProvider.jsx.map +0 -1
- package/dist/source/SafeFragment.d.ts +0 -1
- package/dist/source/SafeFragment.jsx +0 -4
- package/dist/source/SafeFragment.jsx.map +0 -1
- package/dist/source/ScriptOnce.d.ts +0 -5
- package/dist/source/ScriptOnce.jsx +0 -17
- package/dist/source/ScriptOnce.jsx.map +0 -1
- package/dist/source/Scripts.d.ts +0 -1
- package/dist/source/Scripts.jsx +0 -49
- package/dist/source/Scripts.jsx.map +0 -1
- package/dist/source/ScrollRestoration.d.ts +0 -14
- package/dist/source/ScrollRestoration.jsx +0 -37
- package/dist/source/ScrollRestoration.jsx.map +0 -1
- package/dist/source/Transitioner.d.ts +0 -1
- package/dist/source/Transitioner.jsx +0 -102
- package/dist/source/Transitioner.jsx.map +0 -1
- package/dist/source/awaited.d.ts +0 -11
- package/dist/source/awaited.jsx +0 -19
- package/dist/source/awaited.jsx.map +0 -1
- package/dist/source/fileRoute.d.ts +0 -54
- package/dist/source/fileRoute.js +0 -98
- package/dist/source/fileRoute.js.map +0 -1
- package/dist/source/history.d.ts +0 -8
- package/dist/source/history.js +0 -2
- package/dist/source/history.js.map +0 -1
- package/dist/source/index.d.ts +0 -52
- package/dist/source/index.jsx +0 -43
- package/dist/source/index.jsx.map +0 -1
- package/dist/source/lazyRouteComponent.d.ts +0 -2
- package/dist/source/lazyRouteComponent.jsx +0 -83
- package/dist/source/lazyRouteComponent.jsx.map +0 -1
- package/dist/source/link.d.ts +0 -44
- package/dist/source/link.jsx +0 -338
- package/dist/source/link.jsx.map +0 -1
- package/dist/source/matchContext.d.ts +0 -3
- package/dist/source/matchContext.jsx +0 -5
- package/dist/source/matchContext.jsx.map +0 -1
- package/dist/source/not-found.d.ts +0 -8
- package/dist/source/not-found.jsx +0 -30
- package/dist/source/not-found.jsx.map +0 -1
- package/dist/source/renderRouteNotFound.d.ts +0 -2
- package/dist/source/renderRouteNotFound.jsx +0 -15
- package/dist/source/renderRouteNotFound.jsx.map +0 -1
- package/dist/source/route.d.ts +0 -96
- package/dist/source/route.jsx +0 -179
- package/dist/source/route.jsx.map +0 -1
- package/dist/source/router.d.ts +0 -70
- package/dist/source/router.js +0 -21
- package/dist/source/router.js.map +0 -1
- package/dist/source/routerContext.d.ts +0 -8
- package/dist/source/routerContext.jsx +0 -13
- package/dist/source/routerContext.jsx.map +0 -1
- package/dist/source/scroll-restoration.d.ts +0 -1
- package/dist/source/scroll-restoration.jsx +0 -16
- package/dist/source/scroll-restoration.jsx.map +0 -1
- package/dist/source/typePrimitives.d.ts +0 -10
- package/dist/source/typePrimitives.js +0 -2
- package/dist/source/typePrimitives.js.map +0 -1
- package/dist/source/useBlocker.d.ts +0 -67
- package/dist/source/useBlocker.jsx +0 -153
- package/dist/source/useBlocker.jsx.map +0 -1
- package/dist/source/useCanGoBack.d.ts +0 -1
- package/dist/source/useCanGoBack.js +0 -5
- package/dist/source/useCanGoBack.js.map +0 -1
- package/dist/source/useLoaderData.d.ts +0 -8
- package/dist/source/useLoaderData.jsx +0 -11
- package/dist/source/useLoaderData.jsx.map +0 -1
- package/dist/source/useLoaderDeps.d.ts +0 -7
- package/dist/source/useLoaderDeps.jsx +0 -11
- package/dist/source/useLoaderDeps.jsx.map +0 -1
- package/dist/source/useLocation.d.ts +0 -7
- package/dist/source/useLocation.jsx +0 -7
- package/dist/source/useLocation.jsx.map +0 -1
- package/dist/source/useMatch.d.ts +0 -10
- package/dist/source/useMatch.jsx +0 -19
- package/dist/source/useMatch.jsx.map +0 -1
- package/dist/source/useNavigate.d.ts +0 -5
- package/dist/source/useNavigate.jsx +0 -18
- package/dist/source/useNavigate.jsx.map +0 -1
- package/dist/source/useParams.d.ts +0 -9
- package/dist/source/useParams.jsx +0 -12
- package/dist/source/useParams.jsx.map +0 -1
- package/dist/source/useRouteContext.d.ts +0 -4
- package/dist/source/useRouteContext.js +0 -8
- package/dist/source/useRouteContext.js.map +0 -1
- package/dist/source/useRouter.d.ts +0 -4
- package/dist/source/useRouter.jsx +0 -9
- package/dist/source/useRouter.jsx.map +0 -1
- package/dist/source/useRouterState.d.ts +0 -8
- package/dist/source/useRouterState.jsx +0 -14
- package/dist/source/useRouterState.jsx.map +0 -1
- package/dist/source/useSearch.d.ts +0 -9
- package/dist/source/useSearch.jsx +0 -12
- package/dist/source/useSearch.jsx.map +0 -1
- package/dist/source/utils.d.ts +0 -34
- package/dist/source/utils.js +0 -59
- package/dist/source/utils.js.map +0 -1
package/dist/esm/utils.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
export declare const useLayoutEffect: typeof Solid.createRenderEffect;
|
|
3
|
-
export declare const usePrevious: (fn: () => boolean) => Solid.Accessor<{
|
|
4
|
-
current: boolean | null;
|
|
5
|
-
previous: boolean | null;
|
|
6
|
-
}>;
|
|
7
|
-
/**
|
|
8
|
-
* React hook to wrap `IntersectionObserver`.
|
|
9
|
-
*
|
|
10
|
-
* This hook will create an `IntersectionObserver` and observe the ref passed to it.
|
|
11
|
-
*
|
|
12
|
-
* When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.
|
|
13
|
-
*
|
|
14
|
-
* @param ref - The ref to observe
|
|
15
|
-
* @param intersectionObserverOptions - The options to pass to the IntersectionObserver
|
|
16
|
-
* @param options - The options to pass to the hook
|
|
17
|
-
* @param callback - The callback to call when the intersection changes
|
|
18
|
-
* @returns The IntersectionObserver instance
|
|
19
|
-
* @example
|
|
20
|
-
* ```tsx
|
|
21
|
-
* const MyComponent = () => {
|
|
22
|
-
* const ref = React.useRef<HTMLDivElement>(null)
|
|
23
|
-
* useIntersectionObserver(
|
|
24
|
-
* ref,
|
|
25
|
-
* (entry) => { doSomething(entry) },
|
|
26
|
-
* { rootMargin: '10px' },
|
|
27
|
-
* { disabled: false }
|
|
28
|
-
* )
|
|
29
|
-
* return <div ref={ref} />
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare function useIntersectionObserver<T extends Element>(ref: Solid.Accessor<T | null>, callback: (entry: IntersectionObserverEntry | undefined) => void, intersectionObserverOptions?: IntersectionObserverInit, options?: {
|
|
33
|
-
disabled?: boolean;
|
|
34
|
-
}): Solid.Accessor<IntersectionObserver | null>;
|
package/dist/esm/utils.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as Solid from "solid-js";
|
|
2
|
-
const useLayoutEffect = typeof window !== "undefined" ? Solid.createRenderEffect : Solid.createEffect;
|
|
3
|
-
const usePrevious = (fn) => {
|
|
4
|
-
return Solid.createMemo(
|
|
5
|
-
(prev = {
|
|
6
|
-
current: null,
|
|
7
|
-
previous: null
|
|
8
|
-
}) => {
|
|
9
|
-
const current = fn();
|
|
10
|
-
if (prev.current !== current) {
|
|
11
|
-
prev.previous = prev.current;
|
|
12
|
-
prev.current = current;
|
|
13
|
-
}
|
|
14
|
-
return prev;
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
};
|
|
18
|
-
function useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {
|
|
19
|
-
const isIntersectionObserverAvailable = typeof IntersectionObserver === "function";
|
|
20
|
-
let observerRef = null;
|
|
21
|
-
Solid.createEffect(() => {
|
|
22
|
-
const r = ref();
|
|
23
|
-
if (!r || !isIntersectionObserverAvailable || options.disabled) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
observerRef = new IntersectionObserver(([entry]) => {
|
|
27
|
-
callback(entry);
|
|
28
|
-
}, intersectionObserverOptions);
|
|
29
|
-
observerRef.observe(r);
|
|
30
|
-
Solid.onCleanup(() => {
|
|
31
|
-
observerRef == null ? void 0 : observerRef.disconnect();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
return () => observerRef;
|
|
35
|
-
}
|
|
36
|
-
export {
|
|
37
|
-
useIntersectionObserver,
|
|
38
|
-
useLayoutEffect,
|
|
39
|
-
usePrevious
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import * as Solid from 'solid-js'\n\nexport const useLayoutEffect =\n typeof window !== 'undefined' ? Solid.createRenderEffect : Solid.createEffect\n\nexport const usePrevious = (fn: () => boolean) => {\n return Solid.createMemo(\n (\n prev: { current: boolean | null; previous: boolean | null } = {\n current: null,\n previous: null,\n },\n ) => {\n const current = fn()\n\n if (prev.current !== current) {\n prev.previous = prev.current\n prev.current = current\n }\n\n return prev\n },\n )\n}\n\n/**\n * React hook to wrap `IntersectionObserver`.\n *\n * This hook will create an `IntersectionObserver` and observe the ref passed to it.\n *\n * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.\n *\n * @param ref - The ref to observe\n * @param intersectionObserverOptions - The options to pass to the IntersectionObserver\n * @param options - The options to pass to the hook\n * @param callback - The callback to call when the intersection changes\n * @returns The IntersectionObserver instance\n * @example\n * ```tsx\n * const MyComponent = () => {\n * const ref = React.useRef<HTMLDivElement>(null)\n * useIntersectionObserver(\n * ref,\n * (entry) => { doSomething(entry) },\n * { rootMargin: '10px' },\n * { disabled: false }\n * )\n * return <div ref={ref} />\n * ```\n */\nexport function useIntersectionObserver<T extends Element>(\n ref: Solid.Accessor<T | null>,\n callback: (entry: IntersectionObserverEntry | undefined) => void,\n intersectionObserverOptions: IntersectionObserverInit = {},\n options: { disabled?: boolean } = {},\n): Solid.Accessor<IntersectionObserver | null> {\n const isIntersectionObserverAvailable =\n typeof IntersectionObserver === 'function'\n let observerRef: IntersectionObserver | null = null\n\n Solid.createEffect(() => {\n const r = ref()\n if (!r || !isIntersectionObserverAvailable || options.disabled) {\n return\n }\n\n observerRef = new IntersectionObserver(([entry]) => {\n callback(entry)\n }, intersectionObserverOptions)\n\n observerRef.observe(r)\n\n Solid.onCleanup(() => {\n observerRef?.disconnect()\n })\n })\n\n return () => observerRef\n}\n"],"names":[],"mappings":";AAEO,MAAM,kBACX,OAAO,WAAW,cAAc,MAAM,qBAAqB,MAAM;AAEtD,MAAA,cAAc,CAAC,OAAsB;AAChD,SAAO,MAAM;AAAA,IACX,CACE,OAA8D;AAAA,MAC5D,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,MAET;AACH,YAAM,UAAU,GAAG;AAEf,UAAA,KAAK,YAAY,SAAS;AAC5B,aAAK,WAAW,KAAK;AACrB,aAAK,UAAU;AAAA,MAAA;AAGV,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;AA2BgB,SAAA,wBACd,KACA,UACA,8BAAwD,CACxD,GAAA,UAAkC,IACW;AACvC,QAAA,kCACJ,OAAO,yBAAyB;AAClC,MAAI,cAA2C;AAE/C,QAAM,aAAa,MAAM;AACvB,UAAM,IAAI,IAAI;AACd,QAAI,CAAC,KAAK,CAAC,mCAAmC,QAAQ,UAAU;AAC9D;AAAA,IAAA;AAGF,kBAAc,IAAI,qBAAqB,CAAC,CAAC,KAAK,MAAM;AAClD,eAAS,KAAK;AAAA,OACb,2BAA2B;AAE9B,gBAAY,QAAQ,CAAC;AAErB,UAAM,UAAU,MAAM;AACpB,iDAAa;AAAA,IAAW,CACzB;AAAA,EAAA,CACF;AAED,SAAO,MAAM;AACf;"}
|
package/dist/source/Asset.d.ts
DELETED
package/dist/source/Asset.jsx
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Meta, Style, Title } from '@solidjs/meta';
|
|
2
|
-
export function Asset({ tag, attrs, children }) {
|
|
3
|
-
switch (tag) {
|
|
4
|
-
case 'title':
|
|
5
|
-
return <Title {...attrs}>{children}</Title>;
|
|
6
|
-
case 'meta':
|
|
7
|
-
return <Meta {...attrs}/>;
|
|
8
|
-
case 'link':
|
|
9
|
-
return <link {...attrs}/>;
|
|
10
|
-
case 'style':
|
|
11
|
-
return <Style {...attrs} innerHTML={children}/>;
|
|
12
|
-
case 'script':
|
|
13
|
-
if (attrs && attrs.src) {
|
|
14
|
-
return <script {...attrs}/>;
|
|
15
|
-
}
|
|
16
|
-
if (typeof children === 'string')
|
|
17
|
-
return <script {...attrs} innerHTML={children}/>;
|
|
18
|
-
return null;
|
|
19
|
-
default:
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=Asset.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Asset.jsx","sourceRoot":"","sources":["../../src/Asset.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAGlD,MAAM,UAAU,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAoB;IAC9D,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7C,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;QAC5B,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;QAC5B,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAG,CAAA;QAClD,KAAK,QAAQ;YACX,IAAK,KAAa,IAAK,KAAa,CAAC,GAAG,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;YAC9B,CAAC;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAG,CAAA;YACnD,OAAO,IAAI,CAAA;QACb;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
import type { ErrorRouteComponent } from './route';
|
|
3
|
-
export declare function CatchBoundary(props: {
|
|
4
|
-
getResetKey: () => number | string;
|
|
5
|
-
children: Solid.JSX.Element;
|
|
6
|
-
errorComponent?: ErrorRouteComponent;
|
|
7
|
-
onCatch?: (error: Error) => void;
|
|
8
|
-
} & Solid.ParentProps): Solid.JSX.Element;
|
|
9
|
-
export declare function ErrorComponent({ error }: {
|
|
10
|
-
error: any;
|
|
11
|
-
}): Solid.JSX.Element;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
import { Dynamic } from 'solid-js/web';
|
|
3
|
-
export function CatchBoundary(props) {
|
|
4
|
-
return (<Solid.ErrorBoundary fallback={(error, reset) => {
|
|
5
|
-
props.onCatch?.(error);
|
|
6
|
-
Solid.createEffect(Solid.on([props.getResetKey], () => reset(), { defer: true }));
|
|
7
|
-
return (<Dynamic component={props.errorComponent ?? ErrorComponent} error={error} reset={reset}/>);
|
|
8
|
-
}}>
|
|
9
|
-
{props.children}
|
|
10
|
-
</Solid.ErrorBoundary>);
|
|
11
|
-
}
|
|
12
|
-
export function ErrorComponent({ error }) {
|
|
13
|
-
const [show, setShow] = Solid.createSignal(process.env.NODE_ENV !== 'production');
|
|
14
|
-
return (<div style={{ padding: '.5rem', 'max-width': '100%' }}>
|
|
15
|
-
<div style={{ display: 'flex', 'align-items': 'center', gap: '.5rem' }}>
|
|
16
|
-
<strong style={{ 'font-size': '1rem' }}>Something went wrong!</strong>
|
|
17
|
-
<button style={{
|
|
18
|
-
appearance: 'none',
|
|
19
|
-
'font-size': '.6em',
|
|
20
|
-
border: '1px solid currentColor',
|
|
21
|
-
padding: '.1rem .2rem',
|
|
22
|
-
'font-weight': 'bold',
|
|
23
|
-
'border-radius': '.25rem',
|
|
24
|
-
}} onClick={() => setShow((d) => !d)}>
|
|
25
|
-
{show() ? 'Hide Error' : 'Show Error'}
|
|
26
|
-
</button>
|
|
27
|
-
</div>
|
|
28
|
-
<div style={{ height: '.25rem' }}/>
|
|
29
|
-
{show() ? (<div>
|
|
30
|
-
<pre style={{
|
|
31
|
-
'font-size': '.7em',
|
|
32
|
-
border: '1px solid red',
|
|
33
|
-
'border-radius': '.25rem',
|
|
34
|
-
padding: '.3rem',
|
|
35
|
-
color: 'red',
|
|
36
|
-
overflow: 'auto',
|
|
37
|
-
}}>
|
|
38
|
-
{error.message ? <code>{error.message}</code> : null}
|
|
39
|
-
</pre>
|
|
40
|
-
</div>) : null}
|
|
41
|
-
</div>);
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=CatchBoundary.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CatchBoundary.jsx","sourceRoot":"","sources":["../../src/CatchBoundary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
export interface ClientOnlyProps {
|
|
3
|
-
/**
|
|
4
|
-
* The children to render if the JS is loaded.
|
|
5
|
-
*/
|
|
6
|
-
children: Solid.JSX.Element;
|
|
7
|
-
/**
|
|
8
|
-
* The fallback component to render if the JS is not yet loaded.
|
|
9
|
-
*/
|
|
10
|
-
fallback?: Solid.JSX.Element;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Render the children only after the JS has loaded client-side. Use an optional
|
|
14
|
-
* fallback component if the JS is not yet loaded.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* Render a Chart component if JS loads, renders a simple FakeChart
|
|
18
|
-
* component server-side or if there is no JS. The FakeChart can have only the
|
|
19
|
-
* UI without the behavior or be a loading spinner or skeleton.
|
|
20
|
-
*
|
|
21
|
-
* ```tsx
|
|
22
|
-
* return (
|
|
23
|
-
* <ClientOnly fallback={<FakeChart />}>
|
|
24
|
-
* <Chart />
|
|
25
|
-
* </ClientOnly>
|
|
26
|
-
* )
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export declare function ClientOnly(props: ClientOnlyProps): Solid.JSX.Element;
|
|
30
|
-
/**
|
|
31
|
-
* Return a boolean indicating if the JS has been hydrated already.
|
|
32
|
-
* When doing Server-Side Rendering, the result will always be false.
|
|
33
|
-
* When doing Client-Side Rendering, the result will always be false on the
|
|
34
|
-
* first render and true from then on. Even if a new component renders it will
|
|
35
|
-
* always start with true.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```tsx
|
|
39
|
-
* // Disable a button that needs JS to work.
|
|
40
|
-
* let hydrated = useHydrated()
|
|
41
|
-
* return (
|
|
42
|
-
* <button type="button" disabled={!hydrated()} onClick={doSomethingCustom}>
|
|
43
|
-
* Click me
|
|
44
|
-
* </button>
|
|
45
|
-
* )
|
|
46
|
-
* ```
|
|
47
|
-
* @returns A signal accessor function that returns true if the JS has been hydrated already, false otherwise.
|
|
48
|
-
*/
|
|
49
|
-
export declare function useHydrated(): Solid.Accessor<boolean>;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
import { isServer } from 'solid-js/web';
|
|
3
|
-
/**
|
|
4
|
-
* Render the children only after the JS has loaded client-side. Use an optional
|
|
5
|
-
* fallback component if the JS is not yet loaded.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* Render a Chart component if JS loads, renders a simple FakeChart
|
|
9
|
-
* component server-side or if there is no JS. The FakeChart can have only the
|
|
10
|
-
* UI without the behavior or be a loading spinner or skeleton.
|
|
11
|
-
*
|
|
12
|
-
* ```tsx
|
|
13
|
-
* return (
|
|
14
|
-
* <ClientOnly fallback={<FakeChart />}>
|
|
15
|
-
* <Chart />
|
|
16
|
-
* </ClientOnly>
|
|
17
|
-
* )
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export function ClientOnly(props) {
|
|
21
|
-
return useHydrated() ? <>{props.children}</> : <>{props.fallback}</>;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Return a boolean indicating if the JS has been hydrated already.
|
|
25
|
-
* When doing Server-Side Rendering, the result will always be false.
|
|
26
|
-
* When doing Client-Side Rendering, the result will always be false on the
|
|
27
|
-
* first render and true from then on. Even if a new component renders it will
|
|
28
|
-
* always start with true.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```tsx
|
|
32
|
-
* // Disable a button that needs JS to work.
|
|
33
|
-
* let hydrated = useHydrated()
|
|
34
|
-
* return (
|
|
35
|
-
* <button type="button" disabled={!hydrated()} onClick={doSomethingCustom}>
|
|
36
|
-
* Click me
|
|
37
|
-
* </button>
|
|
38
|
-
* )
|
|
39
|
-
* ```
|
|
40
|
-
* @returns A signal accessor function that returns true if the JS has been hydrated already, false otherwise.
|
|
41
|
-
*/
|
|
42
|
-
export function useHydrated() {
|
|
43
|
-
const [hydrated, setHydrated] = Solid.createSignal(!isServer);
|
|
44
|
-
if (!isServer) {
|
|
45
|
-
Solid.createEffect(() => {
|
|
46
|
-
setHydrated(true);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return hydrated;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=ClientOnly.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClientOnly.jsx","sourceRoot":"","sources":["../../src/ClientOnly.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAavC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YACtB,WAAW,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
import type { RouterManagedTag } from '@tanstack/router-core';
|
|
3
|
-
export declare const useTags: () => () => RouterManagedTag[];
|
|
4
|
-
/**
|
|
5
|
-
* @description The `HeadContent` component is used to render meta tags, links, and scripts for the current route.
|
|
6
|
-
* It should be rendered in the `<head>` of your document.
|
|
7
|
-
*/
|
|
8
|
-
export declare function HeadContent(): Solid.JSX.Element;
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import * as Solid from 'solid-js';
|
|
2
|
-
import { MetaProvider } from '@solidjs/meta';
|
|
3
|
-
import { Asset } from './Asset';
|
|
4
|
-
import { useRouter } from './useRouter';
|
|
5
|
-
import { useRouterState } from './useRouterState';
|
|
6
|
-
export const useTags = () => {
|
|
7
|
-
const router = useRouter();
|
|
8
|
-
const routeMeta = useRouterState({
|
|
9
|
-
select: (state) => {
|
|
10
|
-
return state.matches.map((match) => match.meta).filter(Boolean);
|
|
11
|
-
},
|
|
12
|
-
});
|
|
13
|
-
const meta = Solid.createMemo(() => {
|
|
14
|
-
const resultMeta = [];
|
|
15
|
-
const metaByAttribute = {};
|
|
16
|
-
let title;
|
|
17
|
-
[...routeMeta()].reverse().forEach((metas) => {
|
|
18
|
-
;
|
|
19
|
-
[...metas].reverse().forEach((m) => {
|
|
20
|
-
if (!m)
|
|
21
|
-
return;
|
|
22
|
-
if (m.title) {
|
|
23
|
-
if (!title) {
|
|
24
|
-
title = {
|
|
25
|
-
tag: 'title',
|
|
26
|
-
children: m.title,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const attribute = m.name ?? m.property;
|
|
32
|
-
if (attribute) {
|
|
33
|
-
if (metaByAttribute[attribute]) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
metaByAttribute[attribute] = true;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
resultMeta.push({
|
|
41
|
-
tag: 'meta',
|
|
42
|
-
attrs: {
|
|
43
|
-
...m,
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
if (title) {
|
|
50
|
-
resultMeta.push(title);
|
|
51
|
-
}
|
|
52
|
-
resultMeta.reverse();
|
|
53
|
-
return resultMeta;
|
|
54
|
-
});
|
|
55
|
-
const links = useRouterState({
|
|
56
|
-
select: (state) => {
|
|
57
|
-
const constructed = state.matches
|
|
58
|
-
.map((match) => match.links)
|
|
59
|
-
.filter(Boolean)
|
|
60
|
-
.flat(1)
|
|
61
|
-
.map((link) => ({
|
|
62
|
-
tag: 'link',
|
|
63
|
-
attrs: {
|
|
64
|
-
...link,
|
|
65
|
-
},
|
|
66
|
-
}));
|
|
67
|
-
const manifest = router.ssr?.manifest;
|
|
68
|
-
// These are the assets extracted from the ViteManifest
|
|
69
|
-
// using the `startManifestPlugin`
|
|
70
|
-
const assets = state.matches
|
|
71
|
-
.map((match) => manifest?.routes[match.routeId]?.assets ?? [])
|
|
72
|
-
.filter(Boolean)
|
|
73
|
-
.flat(1)
|
|
74
|
-
.filter((asset) => asset.tag === 'link')
|
|
75
|
-
.map((asset) => ({
|
|
76
|
-
tag: 'link',
|
|
77
|
-
attrs: asset.attrs,
|
|
78
|
-
}));
|
|
79
|
-
return [...constructed, ...assets];
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
const preloadMeta = useRouterState({
|
|
83
|
-
select: (state) => {
|
|
84
|
-
const preloadMeta = [];
|
|
85
|
-
state.matches
|
|
86
|
-
.map((match) => router.looseRoutesById[match.routeId])
|
|
87
|
-
.forEach((route) => router.ssr?.manifest?.routes[route.id]?.preloads
|
|
88
|
-
?.filter(Boolean)
|
|
89
|
-
.forEach((preload) => {
|
|
90
|
-
preloadMeta.push({
|
|
91
|
-
tag: 'link',
|
|
92
|
-
attrs: {
|
|
93
|
-
rel: 'modulepreload',
|
|
94
|
-
href: preload,
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
}));
|
|
98
|
-
return preloadMeta;
|
|
99
|
-
},
|
|
100
|
-
});
|
|
101
|
-
const headScripts = useRouterState({
|
|
102
|
-
select: (state) => state.matches
|
|
103
|
-
.map((match) => match.headScripts)
|
|
104
|
-
.flat(1)
|
|
105
|
-
.filter(Boolean).map(({ children, ...script }) => ({
|
|
106
|
-
tag: 'script',
|
|
107
|
-
attrs: {
|
|
108
|
-
...script,
|
|
109
|
-
},
|
|
110
|
-
children,
|
|
111
|
-
})),
|
|
112
|
-
});
|
|
113
|
-
return () => uniqBy([
|
|
114
|
-
...meta(),
|
|
115
|
-
...preloadMeta(),
|
|
116
|
-
...links(),
|
|
117
|
-
...headScripts(),
|
|
118
|
-
], (d) => {
|
|
119
|
-
return JSON.stringify(d);
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* @description The `HeadContent` component is used to render meta tags, links, and scripts for the current route.
|
|
124
|
-
* It should be rendered in the `<head>` of your document.
|
|
125
|
-
*/
|
|
126
|
-
export function HeadContent() {
|
|
127
|
-
const tags = useTags();
|
|
128
|
-
return (<MetaProvider>
|
|
129
|
-
{tags().map((tag) => (<Asset {...tag}/>))}
|
|
130
|
-
</MetaProvider>);
|
|
131
|
-
}
|
|
132
|
-
function uniqBy(arr, fn) {
|
|
133
|
-
const seen = new Set();
|
|
134
|
-
return arr.filter((item) => {
|
|
135
|
-
const key = fn(item);
|
|
136
|
-
if (seen.has(key)) {
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
seen.add(key);
|
|
140
|
-
return true;
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=HeadContent.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeadContent.jsx","sourceRoot":"","sources":["../../src/HeadContent.tsx"],"names":[],"mappings":"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"}
|
package/dist/source/Match.d.ts
DELETED