Rocky_Mountain_Vending/.pnpm-store/v10/files/70/69b81779b2c9e18b184b4d70f1769b32ad157fd8811f3802b20395297ba713d72e3fb422849641e5c526e127fce5dda8142a795b902114562d56f2c00ef5b0
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

1 line
No EOL
35 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["../../../src/client/app-dir/link.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, useContext, useOptimistic, useRef } from 'react'\nimport type { UrlObject } from 'url'\nimport { formatUrl } from '../../shared/lib/router/utils/format-url'\nimport { AppRouterContext } from '../../shared/lib/app-router-context.shared-runtime'\nimport { useMergedRef } from '../use-merged-ref'\nimport { isAbsoluteUrl } from '../../shared/lib/utils'\nimport { addBasePath } from '../add-base-path'\nimport { warnOnce } from '../../shared/lib/utils/warn-once'\nimport type { PENDING_LINK_STATUS } from '../components/links'\nimport {\n IDLE_LINK_STATUS,\n mountLinkInstance,\n onNavigationIntent,\n unmountLinkForCurrentNavigation,\n unmountPrefetchableInstance,\n type LinkInstance,\n} from '../components/links'\nimport { isLocalURL } from '../../shared/lib/router/utils/is-local-url'\nimport {\n FetchStrategy,\n type PrefetchTaskFetchStrategy,\n} from '../components/segment-cache'\nimport { errorOnce } from '../../shared/lib/utils/error-once'\n\ntype Url = string | UrlObject\ntype RequiredKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? never : K\n}[keyof T]\ntype OptionalKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? K : never\n}[keyof T]\n\ntype OnNavigateEventHandler = (event: { preventDefault: () => void }) => void\n\ntype InternalLinkProps = {\n /**\n * **Required**. The path or URL to navigate to. It can also be an object (similar to `URL`).\n *\n * @example\n * ```tsx\n * // Navigate to /dashboard:\n * <Link href=\"/dashboard\">Dashboard</Link>\n *\n * // Navigate to /about?name=test:\n * <Link href={{ pathname: '/about', query: { name: 'test' } }}>\n * About\n * </Link>\n * ```\n *\n * @remarks\n * - For external URLs, use a fully qualified URL such as `https://...`.\n * - In the App Router, dynamic routes must not include bracketed segments in `href`.\n */\n href: Url\n\n /**\n * @deprecated v10.0.0: `href` props pointing to a dynamic route are\n * automatically resolved and no longer require the `as` prop.\n */\n as?: Url\n\n /**\n * Replace the current `history` state instead of adding a new URL into the stack.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * <Link href=\"/about\" replace>\n * About (replaces the history state)\n * </Link>\n * ```\n */\n replace?: boolean\n\n /**\n * Whether to override the default scroll behavior. If `true`, Next.js attempts to maintain\n * the scroll position if the newly navigated page is still visible. If not, it scrolls to the top.\n *\n * If `false`, Next.js will not modify the scroll behavior at all.\n *\n * @defaultValue `true`\n *\n * @example\n * ```tsx\n * <Link href=\"/dashboard\" scroll={false}>\n * No auto scroll\n * </Link>\n * ```\n */\n scroll?: boolean\n\n /**\n * Update the path of the current page without rerunning data fetching methods\n * like `getStaticProps`, `getServerSideProps`, or `getInitialProps`.\n *\n * @remarks\n * `shallow` only applies to the Pages Router. For the App Router, see the\n * [following documentation](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#using-the-native-history-api).\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * <Link href=\"/blog\" shallow>\n * Shallow navigation\n * </Link>\n * ```\n */\n shallow?: boolean\n\n /**\n * Forces `Link` to pass its `href` to the child component. Useful if the child is a custom\n * component that wraps an `<a>` tag, or if you're using certain styling libraries.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * <Link href=\"/dashboard\" passHref legacyBehavior>\n * <MyStyledAnchor>Dashboard</MyStyledAnchor>\n * </Link>\n * ```\n */\n passHref?: boolean\n\n /**\n * Prefetch the page in the background.\n * Any `<Link />` that is in the viewport (initially or through scroll) will be prefetched.\n * Prefetch can be disabled by passing `prefetch={false}`.\n *\n * @remarks\n * Prefetching is only enabled in production.\n *\n * - In the **App Router**:\n * - `\"auto\"`, `null`, `undefined` (default): Prefetch behavior depends on static vs dynamic routes:\n * - Static routes: fully prefetched\n * - Dynamic routes: partial prefetch to the nearest segment with a `loading.js`\n * - `true`: Always prefetch the full route and data.\n * - `false`: Disable prefetching on both viewport and hover.\n * - In the **Pages Router**:\n * - `true` (default): Prefetches the route and data in the background on viewport or hover.\n * - `false`: Prefetch only on hover, not on viewport.\n *\n * @defaultValue `true` (Pages Router) or `null` (App Router)\n *\n * @example\n * ```tsx\n * <Link href=\"/dashboard\" prefetch={false}>\n * Dashboard\n * </Link>\n * ```\n */\n prefetch?: boolean | 'auto' | null | 'unstable_forceStale'\n\n /**\n * (unstable) Switch to a full prefetch on hover. Effectively the same as\n * updating the prefetch prop to `true` in a mouse event.\n */\n unstable_dynamicOnHover?: boolean\n\n /**\n * The active locale is automatically prepended in the Pages Router. `locale` allows for providing\n * a different locale, or can be set to `false` to opt out of automatic locale behavior.\n *\n * @remarks\n * Note: locale only applies in the Pages Router and is ignored in the App Router.\n *\n * @example\n * ```tsx\n * // Use the 'fr' locale:\n * <Link href=\"/about\" locale=\"fr\">\n * About (French)\n * </Link>\n *\n * // Disable locale prefix:\n * <Link href=\"/about\" locale={false}>\n * About (no locale prefix)\n * </Link>\n * ```\n */\n locale?: string | false\n\n /**\n * Enable legacy link behavior.\n *\n * @deprecated This will be removed in a future version\n * @defaultValue `false`\n * @see https://github.com/vercel/next.js/commit/489e65ed98544e69b0afd7e0cfc3f9f6c2b803b7\n */\n legacyBehavior?: boolean\n\n /**\n * Optional event handler for when the mouse pointer is moved onto the `<Link>`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>\n\n /**\n * Optional event handler for when the `<Link>` is touched.\n */\n onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>\n\n /**\n * Optional event handler for when the `<Link>` is clicked.\n */\n onClick?: React.MouseEventHandler<HTMLAnchorElement>\n\n /**\n * Optional event handler for when the `<Link>` is navigated.\n */\n onNavigate?: OnNavigateEventHandler\n}\n\n// TODO-APP: Include the full set of Anchor props\n// adding this to the publicly exported type currently breaks existing apps\n\n// `RouteInferType` is a stub here to avoid breaking `typedRoutes` when the type\n// isn't generated yet. It will be replaced when type generation runs.\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type LinkProps<RouteInferType = any> = InternalLinkProps\ntype LinkPropsRequired = RequiredKeys<LinkProps>\ntype LinkPropsOptional = OptionalKeys<Omit<InternalLinkProps, 'locale'>>\n\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const eventTarget = event.currentTarget as HTMLAnchorElement | SVGAElement\n const target = eventTarget.getAttribute('target')\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\nfunction linkClicked(\n e: React.MouseEvent,\n href: string,\n as: string,\n linkInstanceRef: React.RefObject<LinkInstance | null>,\n replace?: boolean,\n scroll?: boolean,\n onNavigate?: OnNavigateEventHandler\n): void {\n if (typeof window !== 'undefined') {\n const { nodeName } = e.currentTarget\n\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A'\n if (\n (isAnchorNodeName && isModifiedEvent(e)) ||\n e.currentTarget.hasAttribute('download')\n ) {\n // ignore click for browsers default behavior\n return\n }\n\n if (!isLocalURL(href)) {\n if (replace) {\n // browser default behavior does not replace the history state\n // so we need to do it manually\n e.preventDefault()\n location.replace(href)\n }\n\n // ignore click for browsers default behavior\n return\n }\n\n e.preventDefault()\n\n if (onNavigate) {\n let isDefaultPrevented = false\n\n onNavigate({\n preventDefault: () => {\n isDefaultPrevented = true\n },\n })\n\n if (isDefaultPrevented) {\n return\n }\n }\n\n const { dispatchNavigateAction } =\n require('../components/app-router-instance') as typeof import('../components/app-router-instance')\n\n React.startTransition(() => {\n dispatchNavigateAction(\n as || href,\n replace ? 'replace' : 'push',\n scroll ?? true,\n linkInstanceRef.current\n )\n })\n }\n}\n\nfunction formatStringOrUrl(urlObjOrString: UrlObject | string): string {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString\n }\n\n return formatUrl(urlObjOrString)\n}\n\n/**\n * A React component that extends the HTML `<a>` element to provide\n * [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation. This is the primary way to navigate between routes in Next.js.\n *\n * @remarks\n * - Prefetching is only enabled in production.\n *\n * @see https://nextjs.org/docs/app/api-reference/components/link\n */\nexport default function LinkComponent(\n props: LinkProps & {\n children: React.ReactNode\n ref: React.Ref<HTMLAnchorElement>\n }\n) {\n const [linkStatus, setOptimisticLinkStatus] = useOptimistic(IDLE_LINK_STATUS)\n\n let children: React.ReactNode\n\n const linkInstanceRef = useRef<LinkInstance | null>(null)\n\n const {\n href: hrefProp,\n as: asProp,\n children: childrenProp,\n prefetch: prefetchProp = null,\n passHref,\n replace,\n shallow,\n scroll,\n onClick,\n onMouseEnter: onMouseEnterProp,\n onTouchStart: onTouchStartProp,\n legacyBehavior = false,\n onNavigate,\n ref: forwardedRef,\n unstable_dynamicOnHover,\n ...restProps\n } = props\n\n children = childrenProp\n\n if (\n legacyBehavior &&\n (typeof children === 'string' || typeof children === 'number')\n ) {\n children = <a>{children}</a>\n }\n\n const router = React.useContext(AppRouterContext)\n\n const prefetchEnabled = prefetchProp !== false\n\n const fetchStrategy =\n prefetchProp !== false\n ? getFetchStrategyFromPrefetchProp(prefetchProp)\n : // TODO: it makes no sense to assign a fetchStrategy when prefetching is disabled.\n FetchStrategy.PPR\n\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args: {\n key: string\n expected: string\n actual: string\n }) {\n return new Error(\n `Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`<Link>\\`, but got \\`${args.actual}\\` instead.` +\n (typeof window !== 'undefined'\n ? \"\\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n\n // TypeScript trick for type-guarding:\n const requiredPropsGuard: Record<LinkPropsRequired, true> = {\n href: true,\n } as const\n const requiredProps: LinkPropsRequired[] = Object.keys(\n requiredPropsGuard\n ) as LinkPropsRequired[]\n requiredProps.forEach((key: LinkPropsRequired) => {\n if (key === 'href') {\n if (\n props[key] == null ||\n (typeof props[key] !== 'string' && typeof props[key] !== 'object')\n ) {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key],\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n const _: never = key\n }\n })\n\n // TypeScript trick for type-guarding:\n const optionalPropsGuard: Record<LinkPropsOptional, true> = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n unstable_dynamicOnHover: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true,\n onNavigate: true,\n } as const\n const optionalProps: LinkPropsOptional[] = Object.keys(\n optionalPropsGuard\n ) as LinkPropsOptional[]\n optionalProps.forEach((key: LinkPropsOptional) => {\n const valType = typeof props[key]\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType,\n })\n }\n } else if (\n key === 'onClick' ||\n key === 'onMouseEnter' ||\n key === 'onTouchStart' ||\n key === 'onNavigate'\n ) {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType,\n })\n }\n } else if (\n key === 'replace' ||\n key === 'scroll' ||\n key === 'shallow' ||\n key === 'passHref' ||\n key === 'legacyBehavior' ||\n key === 'unstable_dynamicOnHover'\n ) {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType,\n })\n }\n } else if (key === 'prefetch') {\n if (\n props[key] != null &&\n valType !== 'boolean' &&\n props[key] !== 'auto' &&\n props[key] !== 'unstable_forceStale'\n ) {\n throw createPropError({\n key,\n expected: '`boolean | \"auto\" | \"unstable_forceStale\"`',\n actual: valType,\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n const _: never = key\n }\n })\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.locale) {\n warnOnce(\n 'The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization'\n )\n }\n if (!asProp) {\n let href: string | undefined\n if (typeof hrefProp === 'string') {\n href = hrefProp\n } else if (\n typeof hrefProp === 'object' &&\n typeof hrefProp.pathname === 'string'\n ) {\n href = hrefProp.pathname\n }\n\n if (href) {\n const hasDynamicSegment = href\n .split('/')\n .some((segment) => segment.startsWith('[') && segment.endsWith(']'))\n\n if (hasDynamicSegment) {\n throw new Error(\n `Dynamic href \\`${href}\\` found in <Link> while using the \\`/app\\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`\n )\n }\n }\n }\n }\n\n const { href, as } = React.useMemo(() => {\n const resolvedHref = formatStringOrUrl(hrefProp)\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref,\n }\n }, [hrefProp, asProp])\n\n // This will return the first child, if multiple are provided it will throw an error\n let child: any\n if (legacyBehavior) {\n if ((children as any)?.$$typeof === Symbol.for('react.lazy')) {\n throw new Error(\n `\\`<Link legacyBehavior>\\` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's \\`<a>\\` tag.`\n )\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(\n `\"onClick\" was passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`\n )\n }\n if (onMouseEnterProp) {\n console.warn(\n `\"onMouseEnter\" was passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`\n )\n }\n try {\n child = React.Children.only(children)\n } catch (err) {\n if (!children) {\n throw new Error(\n `No children were passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`\n )\n }\n throw new Error(\n `Multiple children were passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` +\n (typeof window !== 'undefined'\n ? \" \\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n } else {\n child = React.Children.only(children)\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if ((children as any)?.type === 'a') {\n throw new Error(\n 'Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor'\n )\n }\n }\n }\n\n const childRef: any = legacyBehavior\n ? child && typeof child === 'object' && child.ref\n : forwardedRef\n\n // Use a callback ref to attach an IntersectionObserver to the anchor tag on\n // mount. In the future we will also use this to keep track of all the\n // currently mounted <Link> instances, e.g. so we can re-prefetch them after\n // a revalidation or refresh.\n const observeLinkVisibilityOnMount = React.useCallback(\n (element: HTMLAnchorElement | SVGAElement) => {\n if (router !== null) {\n linkInstanceRef.current = mountLinkInstance(\n element,\n href,\n router,\n fetchStrategy,\n prefetchEnabled,\n setOptimisticLinkStatus\n )\n }\n\n return () => {\n if (linkInstanceRef.current) {\n unmountLinkForCurrentNavigation(linkInstanceRef.current)\n linkInstanceRef.current = null\n }\n unmountPrefetchableInstance(element)\n }\n },\n [prefetchEnabled, href, router, fetchStrategy, setOptimisticLinkStatus]\n )\n\n const mergedRef = useMergedRef(observeLinkVisibilityOnMount, childRef)\n\n const childProps: {\n onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>\n onMouseEnter: React.MouseEventHandler<HTMLAnchorElement>\n onClick: React.MouseEventHandler<HTMLAnchorElement>\n href?: string\n ref?: any\n } = {\n ref: mergedRef,\n onClick(e) {\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(\n `Component rendered inside next/link has to pass click event to \"onClick\" prop.`\n )\n }\n }\n\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onClick === 'function'\n ) {\n child.props.onClick(e)\n }\n\n if (!router) {\n return\n }\n if (e.defaultPrevented) {\n return\n }\n linkClicked(e, href, as, linkInstanceRef, replace, scroll, onNavigate)\n },\n onMouseEnter(e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onMouseEnter === 'function'\n ) {\n child.props.onMouseEnter(e)\n }\n\n if (!router) {\n return\n }\n if (!prefetchEnabled || process.env.NODE_ENV === 'development') {\n return\n }\n\n const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true\n onNavigationIntent(\n e.currentTarget as HTMLAnchorElement | SVGAElement,\n upgradeToDynamicPrefetch\n )\n },\n onTouchStart: process.env.__NEXT_LINK_NO_TOUCH_START\n ? undefined\n : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onTouchStart === 'function'\n ) {\n child.props.onTouchStart(e)\n }\n\n if (!router) {\n return\n }\n if (!prefetchEnabled) {\n return\n }\n\n const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true\n onNavigationIntent(\n e.currentTarget as HTMLAnchorElement | SVGAElement,\n upgradeToDynamicPrefetch\n )\n },\n }\n\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if (isAbsoluteUrl(as)) {\n childProps.href = as\n } else if (\n !legacyBehavior ||\n passHref ||\n (child.type === 'a' && !('href' in child.props))\n ) {\n childProps.href = addBasePath(as)\n }\n\n let link: React.ReactNode\n\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n errorOnce(\n '`legacyBehavior` is deprecated and will be removed in a future ' +\n 'release. A codemod is available to upgrade your components:\\n\\n' +\n 'npx @next/codemod@latest new-link .\\n\\n' +\n 'Learn more: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#remove-a-tags-from-link-components'\n )\n }\n link = React.cloneElement(child, childProps)\n } else {\n link = (\n <a {...restProps} {...childProps}>\n {children}\n </a>\n )\n }\n\n return (\n <LinkStatusContext.Provider value={linkStatus}>\n {link}\n </LinkStatusContext.Provider>\n )\n}\n\nconst LinkStatusContext = createContext<\n typeof PENDING_LINK_STATUS | typeof IDLE_LINK_STATUS\n>(IDLE_LINK_STATUS)\n\nexport const useLinkStatus = () => {\n return useContext(LinkStatusContext)\n}\n\nfunction getFetchStrategyFromPrefetchProp(\n prefetchProp: Exclude<LinkProps['prefetch'], undefined | false>\n): PrefetchTaskFetchStrategy {\n if (\n process.env.__NEXT_CACHE_COMPONENTS &&\n process.env.__NEXT_CLIENT_SEGMENT_CACHE\n ) {\n // In the new implementation:\n // - `prefetch={true}` is a runtime prefetch\n // (includes cached IO + params + cookies, with dynamic holes for uncached IO).\n // - `unstable_forceStale` is a \"full\" prefetch\n // (forces inclusion of all dynamic data, i.e. the old behavior of `prefetch={true}`)\n if (prefetchProp === true) {\n return FetchStrategy.PPRRuntime\n }\n if (prefetchProp === 'unstable_forceStale') {\n return FetchStrategy.Full\n }\n\n // `null` or `\"auto\"`: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport.\n // This will also include invalid prop values that don't match the types specified here.\n // (although those should've been filtered out by prop validation in dev)\n prefetchProp satisfies null | 'auto'\n // In `clientSegmentCache`, we default to PPR, and we'll discover whether or not the route supports it with the initial prefetch.\n // If we're not using `clientSegmentCache`, this will be converted into a `PrefetchKind.AUTO`.\n return FetchStrategy.PPR\n } else {\n return prefetchProp === null || prefetchProp === 'auto'\n ? // In `clientSegmentCache`, we default to PPR, and we'll discover whether or not the route supports it with the initial prefetch.\n // If we're not using `clientSegmentCache`, this will be converted into a `PrefetchKind.AUTO`.\n FetchStrategy.PPR\n : // In the old implementation without runtime prefetches, `prefetch={true}` forces all dynamic data to be prefetched.\n // To preserve backwards-compatibility, anything other than `false`, `null`, or `\"auto\"` results in a full prefetch.\n // (although invalid values should've been filtered out by prop validation in dev)\n FetchStrategy.Full\n }\n}\n"],"names":["React","createContext","useContext","useOptimistic","useRef","formatUrl","AppRouterContext","useMergedRef","isAbsoluteUrl","addBasePath","warnOnce","IDLE_LINK_STATUS","mountLinkInstance","onNavigationIntent","unmountLinkForCurrentNavigation","unmountPrefetchableInstance","isLocalURL","FetchStrategy","errorOnce","isModifiedEvent","event","eventTarget","currentTarget","target","getAttribute","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","linkClicked","e","href","as","linkInstanceRef","replace","scroll","onNavigate","window","nodeName","isAnchorNodeName","toUpperCase","hasAttribute","preventDefault","location","isDefaultPrevented","dispatchNavigateAction","require","startTransition","current","formatStringOrUrl","urlObjOrString","LinkComponent","props","linkStatus","setOptimisticLinkStatus","children","hrefProp","asProp","childrenProp","prefetch","prefetchProp","passHref","shallow","onClick","onMouseEnter","onMouseEnterProp","onTouchStart","onTouchStartProp","legacyBehavior","ref","forwardedRef","unstable_dynamicOnHover","restProps","a","router","prefetchEnabled","fetchStrategy","getFetchStrategyFromPrefetchProp","PPR","process","env","NODE_ENV","createPropError","args","Error","key","expected","actual","requiredPropsGuard","requiredProps","Object","keys","forEach","_","optionalPropsGuard","optionalProps","valType","locale","pathname","hasDynamicSegment","split","some","segment","startsWith","endsWith","useMemo","resolvedHref","child","$$typeof","Symbol","for","console","warn","Children","only","err","type","childRef","observeLinkVisibilityOnMount","useCallback","element","mergedRef","childProps","defaultPrevented","upgradeToDynamicPrefetch","__NEXT_LINK_NO_TOUCH_START","undefined","link","cloneElement","LinkStatusContext","Provider","value","useLinkStatus","__NEXT_CACHE_COMPONENTS","__NEXT_CLIENT_SEGMENT_CACHE","PPRRuntime","Full"],"mappings":"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","ignoreList":[0]}