diff --git a/src/payload-types.ts b/src/payload-types.ts index 74e08da..2e39748 100644 --- a/src/payload-types.ts +++ b/src/payload-types.ts @@ -283,6 +283,46 @@ export interface Page { blockName?: string | null; blockType: 'skillsMarquee'; } + | { + aboutHeading?: string | null; + aboutText?: string | null; + aboutCta?: { + label?: string | null; + url?: string | null; + newTab?: boolean | null; + }; + skillsHeading?: string | null; + skills?: + | { + icon: string; + title: string; + tags: string; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'about'; + } + | { + columns?: + | { + title: string; + color?: ('gray' | 'blue' | 'green' | 'amber' | 'red' | 'purple' | 'teal') | null; + cards?: + | { + title: string; + subtitle?: string | null; + id?: string | null; + }[] + | null; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'process'; + } | { columns?: | { @@ -329,6 +369,8 @@ export interface Page { imageUrl?: string | null; title: string; description?: string | null; + category: 'engineering' | 'design'; + featured?: boolean | null; tags?: | { tag: string; @@ -1378,6 +1420,50 @@ export interface PagesSelect { id?: T; blockName?: T; }; + about?: + | T + | { + aboutHeading?: T; + aboutText?: T; + aboutCta?: + | T + | { + label?: T; + url?: T; + newTab?: T; + }; + skillsHeading?: T; + skills?: + | T + | { + icon?: T; + title?: T; + tags?: T; + id?: T; + }; + id?: T; + blockName?: T; + }; + process?: + | T + | { + columns?: + | T + | { + title?: T; + color?: T; + cards?: + | T + | { + title?: T; + subtitle?: T; + id?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; + }; kanbanColor?: | T | { @@ -1429,6 +1515,8 @@ export interface PagesSelect { imageUrl?: T; title?: T; description?: T; + category?: T; + featured?: T; tags?: | T | { diff --git a/src/payload-types_bk.ts b/src/payload-types_bk.ts new file mode 100644 index 0000000..74e08da --- /dev/null +++ b/src/payload-types_bk.ts @@ -0,0 +1,2269 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * This file was automatically generated by Payload. + * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config, + * and re-run `payload generate:types` to regenerate this file. + */ + +/** + * Supported timezones in IANA format. + * + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "supportedTimezones". + */ +export type SupportedTimezones = + | 'Pacific/Midway' + | 'Pacific/Niue' + | 'Pacific/Honolulu' + | 'Pacific/Rarotonga' + | 'America/Anchorage' + | 'Pacific/Gambier' + | 'America/Los_Angeles' + | 'America/Tijuana' + | 'America/Denver' + | 'America/Phoenix' + | 'America/Chicago' + | 'America/Guatemala' + | 'America/New_York' + | 'America/Bogota' + | 'America/Caracas' + | 'America/Santiago' + | 'America/Buenos_Aires' + | 'America/Sao_Paulo' + | 'Atlantic/South_Georgia' + | 'Atlantic/Azores' + | 'Atlantic/Cape_Verde' + | 'Europe/London' + | 'Europe/Berlin' + | 'Africa/Lagos' + | 'Europe/Athens' + | 'Africa/Cairo' + | 'Europe/Moscow' + | 'Asia/Riyadh' + | 'Asia/Dubai' + | 'Asia/Baku' + | 'Asia/Karachi' + | 'Asia/Tashkent' + | 'Asia/Calcutta' + | 'Asia/Dhaka' + | 'Asia/Almaty' + | 'Asia/Jakarta' + | 'Asia/Bangkok' + | 'Asia/Shanghai' + | 'Asia/Singapore' + | 'Asia/Tokyo' + | 'Asia/Seoul' + | 'Australia/Brisbane' + | 'Australia/Sydney' + | 'Pacific/Guam' + | 'Pacific/Noumea' + | 'Pacific/Auckland' + | 'Pacific/Fiji'; + +export interface Config { + auth: { + users: UserAuthOperations; + }; + blocks: {}; + collections: { + pages: Page; + posts: Post; + media: Media; + categories: Category; + users: User; + redirects: Redirect; + forms: Form; + 'form-submissions': FormSubmission; + search: Search; + 'payload-kv': PayloadKv; + 'payload-jobs': PayloadJob; + 'payload-folders': FolderInterface; + 'payload-locked-documents': PayloadLockedDocument; + 'payload-preferences': PayloadPreference; + 'payload-migrations': PayloadMigration; + }; + collectionsJoins: { + 'payload-folders': { + documentsAndFolders: 'payload-folders' | 'media'; + }; + }; + collectionsSelect: { + pages: PagesSelect | PagesSelect; + posts: PostsSelect | PostsSelect; + media: MediaSelect | MediaSelect; + categories: CategoriesSelect | CategoriesSelect; + users: UsersSelect | UsersSelect; + redirects: RedirectsSelect | RedirectsSelect; + forms: FormsSelect | FormsSelect; + 'form-submissions': FormSubmissionsSelect | FormSubmissionsSelect; + search: SearchSelect | SearchSelect; + 'payload-kv': PayloadKvSelect | PayloadKvSelect; + 'payload-jobs': PayloadJobsSelect | PayloadJobsSelect; + 'payload-folders': PayloadFoldersSelect | PayloadFoldersSelect; + 'payload-locked-documents': PayloadLockedDocumentsSelect | PayloadLockedDocumentsSelect; + 'payload-preferences': PayloadPreferencesSelect | PayloadPreferencesSelect; + 'payload-migrations': PayloadMigrationsSelect | PayloadMigrationsSelect; + }; + db: { + defaultIDType: string; + }; + fallbackLocale: null; + globals: { + header: Header; + footer: Footer; + }; + globalsSelect: { + header: HeaderSelect | HeaderSelect; + footer: FooterSelect | FooterSelect; + }; + locale: null; + widgets: { + collections: CollectionsWidget; + }; + user: User; + jobs: { + tasks: { + schedulePublish: TaskSchedulePublish; + inline: { + input: unknown; + output: unknown; + }; + }; + workflows: unknown; + }; +} +export interface UserAuthOperations { + forgotPassword: { + email: string; + password: string; + }; + login: { + email: string; + password: string; + }; + registerFirstUser: { + email: string; + password: string; + }; + unlock: { + email: string; + password: string; + }; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "pages". + */ +export interface Page { + id: string; + title: string; + hero: { + type: 'none' | 'highImpact' | 'mediumImpact' | 'lowImpact' | 'splitHero'; + theme?: ('default' | 'muted' | 'card' | 'secondary' | 'image') | null; + /** + * Background image for the hero section + */ + heroBackground?: (string | null) | Media; + /** + * Overlay opacity 0 (transparent) to 100 (solid) + */ + heroBackgroundOpacity?: number | null; + richText?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + links?: + | { + link: { + type?: ('reference' | 'custom') | null; + newTab?: boolean | null; + reference?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + url?: string | null; + label: string; + /** + * Choose how the link should be rendered. + */ + appearance?: ('default' | 'outline') | null; + }; + id?: string | null; + }[] + | null; + media?: (string | null) | Media; + /** + * Small text above the heading e.g. "Creative technologist ยท Singapore" + */ + eyebrow?: string | null; + heading?: string | null; + subtext?: string | null; + tags?: + | { + tag: string; + id?: string | null; + }[] + | null; + primaryCta?: { + label?: string | null; + url?: string | null; + }; + secondaryCta?: { + label?: string | null; + url?: string | null; + }; + splitImage?: (string | null) | Media; + }; + layout: ( + | CallToActionBlock + | ContentBlock + | MediaBlock + | ArchiveBlock + | FormBlock + | { + heading?: string | null; + keySkills?: + | { + skill: string; + id?: string | null; + }[] + | null; + categories?: + | { + title: string; + icon?: + | ( + | 'ti-layout' + | 'ti-server' + | 'ti-vector-pen' + | 'ti-briefcase' + | 'ti-world' + | 'ti-camera' + | 'ti-tools' + | 'ti-sparkles' + | 'ti-device-mobile' + | 'ti-code' + | 'ti-chart-bar' + | 'ti-star' + ) + | null; + tags?: + | { + tag: string; + id?: string | null; + }[] + | null; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'skills'; + } + | { + heading?: string | null; + id?: string | null; + blockName?: string | null; + blockType: 'skillsMarquee'; + } + | { + columns?: + | { + title: string; + color?: ('gray' | 'blue' | 'green' | 'amber' | 'red' | 'purple' | 'teal') | null; + cards?: + | { + title: string; + subtitle?: string | null; + id?: string | null; + }[] + | null; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'kanbanColor'; + } + | { + rows?: + | { + label: string; + cards?: + | { + title: string; + subtitle?: string | null; + id?: string | null; + }[] + | null; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'kanbanHori'; + } + | { + heading?: string | null; + subheading?: string | null; + items?: + | { + image?: (string | null) | Media; + imageUrl?: string | null; + title: string; + description?: string | null; + tags?: + | { + tag: string; + id?: string | null; + }[] + | null; + links?: + | { + label: string; + url: string; + newTab?: boolean | null; + id?: string | null; + }[] + | null; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'showcase'; + } + | { + imagePosition?: ('left' | 'right') | null; + image?: (string | null) | Media; + heading?: string | null; + subheading?: string | null; + body?: string | null; + primaryButton?: { + label?: string | null; + file?: (string | null) | Media; + }; + secondaryButton?: { + label?: string | null; + url?: string | null; + newTab?: boolean | null; + }; + id?: string | null; + blockName?: string | null; + blockType: 'aboutProfile'; + } + | { + stats?: + | { + value: string; + label: string; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'statsStrip'; + } + | { + aboutHeading?: string | null; + aboutText?: string | null; + aboutCta?: { + label?: string | null; + url?: string | null; + newTab?: boolean | null; + }; + skillsHeading?: string | null; + skills?: + | { + icon: string; + title: string; + tags: string; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'bentoRow'; + } + | { + heading?: string | null; + subtext?: string | null; + email?: string | null; + links?: + | { + label: string; + sublabel?: string | null; + url: string; + icon?: string | null; + newTab?: boolean | null; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'contact'; + } + | { + heading?: string | null; + tools?: + | { + name: string; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'toolStack'; + } + )[]; + meta?: { + title?: string | null; + /** + * Maximum upload file size: 12MB. Recommended file size for images is <500KB. + */ + image?: (string | null) | Media; + description?: string | null; + }; + publishedAt?: string | null; + /** + * When enabled, the slug will auto-generate from the title field on save and autosave. + */ + generateSlug?: boolean | null; + slug: string; + updatedAt: string; + createdAt: string; + _status?: ('draft' | 'published') | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "media". + */ +export interface Media { + id: string; + alt?: string | null; + caption?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + folder?: (string | null) | FolderInterface; + updatedAt: string; + createdAt: string; + url?: string | null; + thumbnailURL?: string | null; + filename?: string | null; + mimeType?: string | null; + filesize?: number | null; + width?: number | null; + height?: number | null; + focalX?: number | null; + focalY?: number | null; + sizes?: { + thumbnail?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + square?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + small?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + medium?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + large?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + xlarge?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + og?: { + url?: string | null; + width?: number | null; + height?: number | null; + mimeType?: string | null; + filesize?: number | null; + filename?: string | null; + }; + }; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-folders". + */ +export interface FolderInterface { + id: string; + name: string; + folder?: (string | null) | FolderInterface; + documentsAndFolders?: { + docs?: ( + | { + relationTo?: 'payload-folders'; + value: string | FolderInterface; + } + | { + relationTo?: 'media'; + value: string | Media; + } + )[]; + hasNextPage?: boolean; + totalDocs?: number; + }; + folderType?: 'media'[] | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "posts". + */ +export interface Post { + id: string; + title: string; + heroImage?: (string | null) | Media; + content: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + }; + relatedPosts?: (string | Post)[] | null; + categories?: (string | Category)[] | null; + meta?: { + title?: string | null; + /** + * Maximum upload file size: 12MB. Recommended file size for images is <500KB. + */ + image?: (string | null) | Media; + description?: string | null; + }; + publishedAt?: string | null; + authors?: (string | User)[] | null; + populatedAuthors?: + | { + id?: string | null; + name?: string | null; + }[] + | null; + /** + * When enabled, the slug will auto-generate from the title field on save and autosave. + */ + generateSlug?: boolean | null; + slug: string; + updatedAt: string; + createdAt: string; + _status?: ('draft' | 'published') | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "categories". + */ +export interface Category { + id: string; + title: string; + /** + * When enabled, the slug will auto-generate from the title field on save and autosave. + */ + generateSlug?: boolean | null; + slug: string; + parent?: (string | null) | Category; + breadcrumbs?: + | { + doc?: (string | null) | Category; + url?: string | null; + label?: string | null; + id?: string | null; + }[] + | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "users". + */ +export interface User { + id: string; + name?: string | null; + updatedAt: string; + createdAt: string; + email: string; + resetPasswordToken?: string | null; + resetPasswordExpiration?: string | null; + salt?: string | null; + hash?: string | null; + loginAttempts?: number | null; + lockUntil?: string | null; + sessions?: + | { + id: string; + createdAt?: string | null; + expiresAt: string; + }[] + | null; + password?: string | null; + collection: 'users'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "CallToActionBlock". + */ +export interface CallToActionBlock { + richText?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + links?: + | { + link: { + type?: ('reference' | 'custom') | null; + newTab?: boolean | null; + reference?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + url?: string | null; + label: string; + /** + * Choose how the link should be rendered. + */ + appearance?: ('default' | 'outline') | null; + }; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'cta'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "ContentBlock". + */ +export interface ContentBlock { + columns?: + | { + size?: ('oneThird' | 'half' | 'twoThirds' | 'full') | null; + richText?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + enableLink?: boolean | null; + link?: { + type?: ('reference' | 'custom') | null; + newTab?: boolean | null; + reference?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + url?: string | null; + label: string; + /** + * Choose how the link should be rendered. + */ + appearance?: ('default' | 'outline') | null; + }; + id?: string | null; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'content'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "MediaBlock". + */ +export interface MediaBlock { + media: string | Media; + id?: string | null; + blockName?: string | null; + blockType: 'mediaBlock'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "ArchiveBlock". + */ +export interface ArchiveBlock { + introContent?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + populateBy?: ('collection' | 'selection') | null; + relationTo?: 'posts' | null; + categories?: (string | Category)[] | null; + limit?: number | null; + selectedDocs?: + | { + relationTo: 'posts'; + value: string | Post; + }[] + | null; + id?: string | null; + blockName?: string | null; + blockType: 'archive'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "FormBlock". + */ +export interface FormBlock { + form: string | Form; + enableIntro?: boolean | null; + introContent?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + id?: string | null; + blockName?: string | null; + blockType: 'formBlock'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "forms". + */ +export interface Form { + id: string; + title: string; + fields?: + | ( + | { + name: string; + label?: string | null; + width?: number | null; + required?: boolean | null; + defaultValue?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'checkbox'; + } + | { + name: string; + label?: string | null; + width?: number | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'country'; + } + | { + name: string; + label?: string | null; + width?: number | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'email'; + } + | { + message?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + id?: string | null; + blockName?: string | null; + blockType: 'message'; + } + | { + name: string; + label?: string | null; + width?: number | null; + defaultValue?: number | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'number'; + } + | { + name: string; + label?: string | null; + width?: number | null; + defaultValue?: string | null; + placeholder?: string | null; + options?: + | { + label: string; + value: string; + id?: string | null; + }[] + | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'select'; + } + | { + name: string; + label?: string | null; + width?: number | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'state'; + } + | { + name: string; + label?: string | null; + width?: number | null; + defaultValue?: string | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'text'; + } + | { + name: string; + label?: string | null; + width?: number | null; + defaultValue?: string | null; + required?: boolean | null; + id?: string | null; + blockName?: string | null; + blockType: 'textarea'; + } + )[] + | null; + submitButtonLabel?: string | null; + /** + * Choose whether to display an on-page message or redirect to a different page after they submit the form. + */ + confirmationType?: ('message' | 'redirect') | null; + confirmationMessage?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + redirect?: { + url: string; + }; + /** + * Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email. + */ + emails?: + | { + emailTo?: string | null; + cc?: string | null; + bcc?: string | null; + replyTo?: string | null; + emailFrom?: string | null; + subject: string; + /** + * Enter the message that should be sent in this email. + */ + message?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + id?: string | null; + }[] + | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "redirects". + */ +export interface Redirect { + id: string; + /** + * You will need to rebuild the website when changing this field. + */ + from: string; + to?: { + type?: ('reference' | 'custom') | null; + reference?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + url?: string | null; + }; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "form-submissions". + */ +export interface FormSubmission { + id: string; + form: string | Form; + submissionData?: + | { + field: string; + value: string; + id?: string | null; + }[] + | null; + updatedAt: string; + createdAt: string; +} +/** + * This is a collection of automatically created search results. These results are used by the global site search and will be updated automatically as documents in the CMS are created or updated. + * + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "search". + */ +export interface Search { + id: string; + title?: string | null; + priority?: number | null; + doc: { + relationTo: 'posts'; + value: string | Post; + }; + slug?: string | null; + meta?: { + title?: string | null; + description?: string | null; + image?: (string | null) | Media; + }; + categories?: + | { + relationTo?: string | null; + categoryID?: string | null; + title?: string | null; + id?: string | null; + }[] + | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-kv". + */ +export interface PayloadKv { + id: string; + key: string; + data: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-jobs". + */ +export interface PayloadJob { + id: string; + /** + * Input data provided to the job + */ + input?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + taskStatus?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + completedAt?: string | null; + totalTried?: number | null; + /** + * If hasError is true this job will not be retried + */ + hasError?: boolean | null; + /** + * If hasError is true, this is the error that caused it + */ + error?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + /** + * Task execution log + */ + log?: + | { + executedAt: string; + completedAt: string; + taskSlug: 'inline' | 'schedulePublish'; + taskID: string; + input?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + output?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + state: 'failed' | 'succeeded'; + error?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + id?: string | null; + }[] + | null; + taskSlug?: ('inline' | 'schedulePublish') | null; + queue?: string | null; + waitUntil?: string | null; + processing?: boolean | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-locked-documents". + */ +export interface PayloadLockedDocument { + id: string; + document?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null) + | ({ + relationTo: 'media'; + value: string | Media; + } | null) + | ({ + relationTo: 'categories'; + value: string | Category; + } | null) + | ({ + relationTo: 'users'; + value: string | User; + } | null) + | ({ + relationTo: 'redirects'; + value: string | Redirect; + } | null) + | ({ + relationTo: 'forms'; + value: string | Form; + } | null) + | ({ + relationTo: 'form-submissions'; + value: string | FormSubmission; + } | null) + | ({ + relationTo: 'search'; + value: string | Search; + } | null) + | ({ + relationTo: 'payload-folders'; + value: string | FolderInterface; + } | null); + globalSlug?: string | null; + user: { + relationTo: 'users'; + value: string | User; + }; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-preferences". + */ +export interface PayloadPreference { + id: string; + user: { + relationTo: 'users'; + value: string | User; + }; + key?: string | null; + value?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-migrations". + */ +export interface PayloadMigration { + id: string; + name?: string | null; + batch?: number | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "pages_select". + */ +export interface PagesSelect { + title?: T; + hero?: + | T + | { + type?: T; + theme?: T; + heroBackground?: T; + heroBackgroundOpacity?: T; + richText?: T; + links?: + | T + | { + link?: + | T + | { + type?: T; + newTab?: T; + reference?: T; + url?: T; + label?: T; + appearance?: T; + }; + id?: T; + }; + media?: T; + eyebrow?: T; + heading?: T; + subtext?: T; + tags?: + | T + | { + tag?: T; + id?: T; + }; + primaryCta?: + | T + | { + label?: T; + url?: T; + }; + secondaryCta?: + | T + | { + label?: T; + url?: T; + }; + splitImage?: T; + }; + layout?: + | T + | { + cta?: T | CallToActionBlockSelect; + content?: T | ContentBlockSelect; + mediaBlock?: T | MediaBlockSelect; + archive?: T | ArchiveBlockSelect; + formBlock?: T | FormBlockSelect; + skills?: + | T + | { + heading?: T; + keySkills?: + | T + | { + skill?: T; + id?: T; + }; + categories?: + | T + | { + title?: T; + icon?: T; + tags?: + | T + | { + tag?: T; + id?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; + }; + skillsMarquee?: + | T + | { + heading?: T; + id?: T; + blockName?: T; + }; + kanbanColor?: + | T + | { + columns?: + | T + | { + title?: T; + color?: T; + cards?: + | T + | { + title?: T; + subtitle?: T; + id?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; + }; + kanbanHori?: + | T + | { + rows?: + | T + | { + label?: T; + cards?: + | T + | { + title?: T; + subtitle?: T; + id?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; + }; + showcase?: + | T + | { + heading?: T; + subheading?: T; + items?: + | T + | { + image?: T; + imageUrl?: T; + title?: T; + description?: T; + tags?: + | T + | { + tag?: T; + id?: T; + }; + links?: + | T + | { + label?: T; + url?: T; + newTab?: T; + id?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; + }; + aboutProfile?: + | T + | { + imagePosition?: T; + image?: T; + heading?: T; + subheading?: T; + body?: T; + primaryButton?: + | T + | { + label?: T; + file?: T; + }; + secondaryButton?: + | T + | { + label?: T; + url?: T; + newTab?: T; + }; + id?: T; + blockName?: T; + }; + statsStrip?: + | T + | { + stats?: + | T + | { + value?: T; + label?: T; + id?: T; + }; + id?: T; + blockName?: T; + }; + bentoRow?: + | T + | { + aboutHeading?: T; + aboutText?: T; + aboutCta?: + | T + | { + label?: T; + url?: T; + newTab?: T; + }; + skillsHeading?: T; + skills?: + | T + | { + icon?: T; + title?: T; + tags?: T; + id?: T; + }; + id?: T; + blockName?: T; + }; + contact?: + | T + | { + heading?: T; + subtext?: T; + email?: T; + links?: + | T + | { + label?: T; + sublabel?: T; + url?: T; + icon?: T; + newTab?: T; + id?: T; + }; + id?: T; + blockName?: T; + }; + toolStack?: + | T + | { + heading?: T; + tools?: + | T + | { + name?: T; + id?: T; + }; + id?: T; + blockName?: T; + }; + }; + meta?: + | T + | { + title?: T; + image?: T; + description?: T; + }; + publishedAt?: T; + generateSlug?: T; + slug?: T; + updatedAt?: T; + createdAt?: T; + _status?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "CallToActionBlock_select". + */ +export interface CallToActionBlockSelect { + richText?: T; + links?: + | T + | { + link?: + | T + | { + type?: T; + newTab?: T; + reference?: T; + url?: T; + label?: T; + appearance?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "ContentBlock_select". + */ +export interface ContentBlockSelect { + columns?: + | T + | { + size?: T; + richText?: T; + enableLink?: T; + link?: + | T + | { + type?: T; + newTab?: T; + reference?: T; + url?: T; + label?: T; + appearance?: T; + }; + id?: T; + }; + id?: T; + blockName?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "MediaBlock_select". + */ +export interface MediaBlockSelect { + media?: T; + id?: T; + blockName?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "ArchiveBlock_select". + */ +export interface ArchiveBlockSelect { + introContent?: T; + populateBy?: T; + relationTo?: T; + categories?: T; + limit?: T; + selectedDocs?: T; + id?: T; + blockName?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "FormBlock_select". + */ +export interface FormBlockSelect { + form?: T; + enableIntro?: T; + introContent?: T; + id?: T; + blockName?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "posts_select". + */ +export interface PostsSelect { + title?: T; + heroImage?: T; + content?: T; + relatedPosts?: T; + categories?: T; + meta?: + | T + | { + title?: T; + image?: T; + description?: T; + }; + publishedAt?: T; + authors?: T; + populatedAuthors?: + | T + | { + id?: T; + name?: T; + }; + generateSlug?: T; + slug?: T; + updatedAt?: T; + createdAt?: T; + _status?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "media_select". + */ +export interface MediaSelect { + alt?: T; + caption?: T; + folder?: T; + updatedAt?: T; + createdAt?: T; + url?: T; + thumbnailURL?: T; + filename?: T; + mimeType?: T; + filesize?: T; + width?: T; + height?: T; + focalX?: T; + focalY?: T; + sizes?: + | T + | { + thumbnail?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + square?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + small?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + medium?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + large?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + xlarge?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + og?: + | T + | { + url?: T; + width?: T; + height?: T; + mimeType?: T; + filesize?: T; + filename?: T; + }; + }; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "categories_select". + */ +export interface CategoriesSelect { + title?: T; + generateSlug?: T; + slug?: T; + parent?: T; + breadcrumbs?: + | T + | { + doc?: T; + url?: T; + label?: T; + id?: T; + }; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "users_select". + */ +export interface UsersSelect { + name?: T; + updatedAt?: T; + createdAt?: T; + email?: T; + resetPasswordToken?: T; + resetPasswordExpiration?: T; + salt?: T; + hash?: T; + loginAttempts?: T; + lockUntil?: T; + sessions?: + | T + | { + id?: T; + createdAt?: T; + expiresAt?: T; + }; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "redirects_select". + */ +export interface RedirectsSelect { + from?: T; + to?: + | T + | { + type?: T; + reference?: T; + url?: T; + }; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "forms_select". + */ +export interface FormsSelect { + title?: T; + fields?: + | T + | { + checkbox?: + | T + | { + name?: T; + label?: T; + width?: T; + required?: T; + defaultValue?: T; + id?: T; + blockName?: T; + }; + country?: + | T + | { + name?: T; + label?: T; + width?: T; + required?: T; + id?: T; + blockName?: T; + }; + email?: + | T + | { + name?: T; + label?: T; + width?: T; + required?: T; + id?: T; + blockName?: T; + }; + message?: + | T + | { + message?: T; + id?: T; + blockName?: T; + }; + number?: + | T + | { + name?: T; + label?: T; + width?: T; + defaultValue?: T; + required?: T; + id?: T; + blockName?: T; + }; + select?: + | T + | { + name?: T; + label?: T; + width?: T; + defaultValue?: T; + placeholder?: T; + options?: + | T + | { + label?: T; + value?: T; + id?: T; + }; + required?: T; + id?: T; + blockName?: T; + }; + state?: + | T + | { + name?: T; + label?: T; + width?: T; + required?: T; + id?: T; + blockName?: T; + }; + text?: + | T + | { + name?: T; + label?: T; + width?: T; + defaultValue?: T; + required?: T; + id?: T; + blockName?: T; + }; + textarea?: + | T + | { + name?: T; + label?: T; + width?: T; + defaultValue?: T; + required?: T; + id?: T; + blockName?: T; + }; + }; + submitButtonLabel?: T; + confirmationType?: T; + confirmationMessage?: T; + redirect?: + | T + | { + url?: T; + }; + emails?: + | T + | { + emailTo?: T; + cc?: T; + bcc?: T; + replyTo?: T; + emailFrom?: T; + subject?: T; + message?: T; + id?: T; + }; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "form-submissions_select". + */ +export interface FormSubmissionsSelect { + form?: T; + submissionData?: + | T + | { + field?: T; + value?: T; + id?: T; + }; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "search_select". + */ +export interface SearchSelect { + title?: T; + priority?: T; + doc?: T; + slug?: T; + meta?: + | T + | { + title?: T; + description?: T; + image?: T; + }; + categories?: + | T + | { + relationTo?: T; + categoryID?: T; + title?: T; + id?: T; + }; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-kv_select". + */ +export interface PayloadKvSelect { + key?: T; + data?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-jobs_select". + */ +export interface PayloadJobsSelect { + input?: T; + taskStatus?: T; + completedAt?: T; + totalTried?: T; + hasError?: T; + error?: T; + log?: + | T + | { + executedAt?: T; + completedAt?: T; + taskSlug?: T; + taskID?: T; + input?: T; + output?: T; + state?: T; + error?: T; + id?: T; + }; + taskSlug?: T; + queue?: T; + waitUntil?: T; + processing?: T; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-folders_select". + */ +export interface PayloadFoldersSelect { + name?: T; + folder?: T; + documentsAndFolders?: T; + folderType?: T; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-locked-documents_select". + */ +export interface PayloadLockedDocumentsSelect { + document?: T; + globalSlug?: T; + user?: T; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-preferences_select". + */ +export interface PayloadPreferencesSelect { + user?: T; + key?: T; + value?: T; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-migrations_select". + */ +export interface PayloadMigrationsSelect { + name?: T; + batch?: T; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "header". + */ +export interface Header { + id: string; + navItems?: + | { + link: { + type?: ('reference' | 'custom') | null; + newTab?: boolean | null; + reference?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + url?: string | null; + label: string; + }; + id?: string | null; + }[] + | null; + updatedAt?: string | null; + createdAt?: string | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "footer". + */ +export interface Footer { + id: string; + navItems?: + | { + link: { + type?: ('reference' | 'custom') | null; + newTab?: boolean | null; + reference?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + url?: string | null; + label: string; + }; + id?: string | null; + }[] + | null; + updatedAt?: string | null; + createdAt?: string | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "header_select". + */ +export interface HeaderSelect { + navItems?: + | T + | { + link?: + | T + | { + type?: T; + newTab?: T; + reference?: T; + url?: T; + label?: T; + }; + id?: T; + }; + updatedAt?: T; + createdAt?: T; + globalType?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "footer_select". + */ +export interface FooterSelect { + navItems?: + | T + | { + link?: + | T + | { + type?: T; + newTab?: T; + reference?: T; + url?: T; + label?: T; + }; + id?: T; + }; + updatedAt?: T; + createdAt?: T; + globalType?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "collections_widget". + */ +export interface CollectionsWidget { + data?: { + [k: string]: unknown; + }; + width: 'full'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "TaskSchedulePublish". + */ +export interface TaskSchedulePublish { + input: { + type?: ('publish' | 'unpublish') | null; + locale?: string | null; + doc?: + | ({ + relationTo: 'pages'; + value: string | Page; + } | null) + | ({ + relationTo: 'posts'; + value: string | Post; + } | null); + global?: string | null; + user?: (string | null) | User; + }; + output?: unknown; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "BannerBlock". + */ +export interface BannerBlock { + style: 'info' | 'warning' | 'error' | 'success'; + content: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + }; + id?: string | null; + blockName?: string | null; + blockType: 'banner'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "CodeBlock". + */ +export interface CodeBlock { + language?: ('typescript' | 'javascript' | 'css') | null; + code: string; + id?: string | null; + blockName?: string | null; + blockType: 'code'; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "auth". + */ +export interface Auth { + [k: string]: unknown; +} + + +declare module 'payload' { + export interface GeneratedTypes extends Config {} +} \ No newline at end of file