UNPKG

payload

Version:

Node, React, Headless CMS and Application Framework built on Next.js

100 lines 3.37 kB
import type { ImportMap } from '../../bin/generateImportMap/index.js'; import type { SanitizedConfig } from '../../config/types.js'; import type { PaginatedDocs } from '../../database/types.js'; import type { CollectionSlug, ColumnPreference, FolderSortKeys } from '../../index.js'; import type { PayloadRequest, Sort, Where } from '../../types/index.js'; import type { ColumnsFromURL } from '../../utilities/transformColumnPreferences.js'; export type DefaultServerFunctionArgs = { importMap: ImportMap; req: PayloadRequest; }; export type ServerFunctionArgs = { args: Record<string, unknown>; name: string; }; export type ServerFunctionClientArgs = { args: Record<string, unknown>; name: string; }; export type ServerFunctionClient = (args: ServerFunctionClientArgs) => Promise<unknown> | unknown; export type ServerFunction<TArgs extends object = Record<string, unknown>, TReturnType = Promise<unknown> | unknown> = (args: DefaultServerFunctionArgs & TArgs) => TReturnType; export type ServerFunctionConfig = { fn: ServerFunction; name: string; }; export type ServerFunctionHandler = (args: { config: Promise<SanitizedConfig> | SanitizedConfig; importMap: ImportMap; } & ServerFunctionClientArgs) => Promise<unknown>; export type ListQuery = { columns?: ColumnsFromURL; groupBy?: string; limit?: number; page?: number; preset?: number | string; queryByGroup?: Record<string, ListQuery>; search?: string; sort?: Sort; where?: Where; } & Record<string, unknown>; export type BuildTableStateArgs = { /** * If an array is provided, the table will be built to support polymorphic collections. */ collectionSlug: string | string[]; columns?: ColumnPreference[]; data?: PaginatedDocs; /** * @deprecated Use `data` instead */ docs?: PaginatedDocs['docs']; enableRowSelections?: boolean; orderableFieldName: string; parent?: { collectionSlug: CollectionSlug; id: number | string; joinPath: string; }; query?: ListQuery; renderRowTypes?: boolean; req: PayloadRequest; tableAppearance?: 'condensed' | 'default'; }; export type BuildCollectionFolderViewResult = { View: React.ReactNode; }; export type GetFolderResultsComponentAndDataArgs = { /** * If true and no folderID is provided, only folders will be returned. * If false, the results will include documents from the active collections. */ browseByFolder: boolean; /** * Used to filter document types to include in the results/display. * * i.e. ['folders', 'posts'] will only include folders and posts in the results. * * collectionsToQuery? */ collectionsToDisplay: CollectionSlug[]; /** * Used to determine how the results should be displayed. */ displayAs: 'grid' | 'list'; /** * Used to filter folders by the collections they are assigned to. * * i.e. ['posts'] will only include folders that are assigned to the posts collections. */ folderAssignedCollections: CollectionSlug[]; /** * The ID of the folder to filter results by. */ folderID: number | string | undefined; req: PayloadRequest; /** * The sort order for the results. */ sort: FolderSortKeys; }; //# sourceMappingURL=index.d.ts.map