@prismicio/next
Version:
Helpers to integrate Prismic into Next.js apps
126 lines (125 loc) • 4.77 kB
TypeScript
import { ComponentProps } from "react";
import Link from "next/link";
import { AsLinkAttrsConfig, LinkField, LinkResolverFunction, PrismicDocument } from "@prismicio/client";
export type PrismicNextLinkProps = Omit<ComponentProps<typeof Link>, "field" | "document" | "href" | "rel"> & {
linkResolver?: LinkResolverFunction;
rel?: string | AsLinkAttrsConfig["rel"];
} & ({
field: LinkField | null | undefined;
document?: never;
href?: never;
} | {
field?: never;
document: PrismicDocument | null | undefined;
href?: never;
} | {
field?: never;
document?: never;
href: ComponentProps<typeof Link>["href"];
});
export declare const PrismicNextLink: import("react").ForwardRefExoticComponent<(Omit<Omit<Omit<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
href: string | import("url").UrlObject;
as?: string | import("url").UrlObject;
replace?: boolean;
scroll?: boolean;
shallow?: boolean;
passHref?: boolean;
prefetch?: boolean | null;
locale?: string | false;
legacyBehavior?: boolean;
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
}> & {
href: string | import("url").UrlObject;
as?: string | import("url").UrlObject;
replace?: boolean;
scroll?: boolean;
shallow?: boolean;
passHref?: boolean;
prefetch?: boolean | null;
locale?: string | false;
legacyBehavior?: boolean;
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
} & {
children?: React.ReactNode | undefined;
} & import("react").RefAttributes<HTMLAnchorElement>, "rel" | "field" | "document" | "href"> & {
linkResolver?: LinkResolverFunction;
rel?: string | AsLinkAttrsConfig["rel"];
} & {
field: LinkField | null | undefined;
document?: never;
href?: never;
}, "ref"> | Omit<Omit<Omit<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
href: string | import("url").UrlObject;
as?: string | import("url").UrlObject;
replace?: boolean;
scroll?: boolean;
shallow?: boolean;
passHref?: boolean;
prefetch?: boolean | null;
locale?: string | false;
legacyBehavior?: boolean;
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
}> & {
href: string | import("url").UrlObject;
as?: string | import("url").UrlObject;
replace?: boolean;
scroll?: boolean;
shallow?: boolean;
passHref?: boolean;
prefetch?: boolean | null;
locale?: string | false;
legacyBehavior?: boolean;
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
} & {
children?: React.ReactNode | undefined;
} & import("react").RefAttributes<HTMLAnchorElement>, "rel" | "field" | "document" | "href"> & {
linkResolver?: LinkResolverFunction;
rel?: string | AsLinkAttrsConfig["rel"];
} & {
field?: never;
document: PrismicDocument | null | undefined;
href?: never;
}, "ref"> | Omit<Omit<Omit<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
href: string | import("url").UrlObject;
as?: string | import("url").UrlObject;
replace?: boolean;
scroll?: boolean;
shallow?: boolean;
passHref?: boolean;
prefetch?: boolean | null;
locale?: string | false;
legacyBehavior?: boolean;
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
}> & {
href: string | import("url").UrlObject;
as?: string | import("url").UrlObject;
replace?: boolean;
scroll?: boolean;
shallow?: boolean;
passHref?: boolean;
prefetch?: boolean | null;
locale?: string | false;
legacyBehavior?: boolean;
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement>;
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
} & {
children?: React.ReactNode | undefined;
} & import("react").RefAttributes<HTMLAnchorElement>, "rel" | "field" | "document" | "href"> & {
linkResolver?: LinkResolverFunction;
rel?: string | AsLinkAttrsConfig["rel"];
} & {
field?: never;
document?: never;
href: ComponentProps<typeof Link>["href"];
}, "ref">) & import("react").RefAttributes<HTMLAnchorElement>>;