UNPKG

alinea

Version:
35 lines (34 loc) 1.12 kB
import type { FieldOptions, WithoutLabel } from 'alinea/core'; import { RecordField } from 'alinea/core/field/RecordField'; import { type Type } from 'alinea/core/Type'; import { type ImageField, type ImageLink } from 'alinea/field/link'; import { type ObjectField } from 'alinea/field/object'; import { type TextField } from 'alinea/field/text'; export interface MetadataOptions extends FieldOptions<Metadata> { inferTitleFrom?: string; inferDescriptionFrom?: string; inferImageFrom?: string; } export interface MetadataFields { title: TextField; description: TextField; openGraph: ObjectField<{ image: ImageField; title: TextField; description: TextField; }>; } export interface Metadata { title: string; description: string; openGraph: { image: ImageLink; title: string; description: string; }; } export declare class MetadataField extends RecordField<Metadata, MetadataOptions & { fields: Type<MetadataFields>; }> { } export declare function metadata(label?: string, options?: WithoutLabel<MetadataOptions>): MetadataField;