@gaddario98/react-pages
Version:
A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.
47 lines (42 loc) • 1.22 kB
text/typescript
import {
AllMutation,
MultipleQueryResponse,
QueriesArray,
} from "@gaddario98/react-queries";
import { FieldValues, UseFormSetValue } from "react-hook-form";
import { ContainerItem, ContentItem, Items, PageProps } from "../types";
export interface Props<
F extends FieldValues = FieldValues,
Q extends QueriesArray = QueriesArray,
> {
content: ContentItem<F, Q>;
ns: string;
formValues: F;
pageId: string;
allQuery: MultipleQueryResponse<Q>;
allMutation: AllMutation<Q>;
setValue: UseFormSetValue<F>;
}
export interface ContentProps<
F extends FieldValues = FieldValues,
Q extends QueriesArray = QueriesArray,
> extends Omit<Props<F, Q>, "content"> {
content: Items<F, Q>;
}
export interface ItemContainerProps<
F extends FieldValues = FieldValues,
Q extends QueriesArray = QueriesArray,
> extends Omit<Props<F, Q>, "content"> {
content: ContainerItem<F, Q>;
}
export interface ContentListProps<
F extends FieldValues = FieldValues,
Q extends QueriesArray = QueriesArray,
> {
contents: Required<PageProps<F, Q>>["contents"];
ns?: PageProps<F, Q>["ns"];
queries: Required<PageProps<F, Q>>["queries"];
prefix?: string;
form?: PageProps<F, Q>["form"];
pageId: string;
}