alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
26 lines (25 loc) • 996 B
TypeScript
import { FieldOptions, Type, WithoutLabel } from 'alinea/core';
import { RecordField } from 'alinea/core/field/RecordField';
import { ObjectField } from 'alinea/input/object';
import { TextField } from 'alinea/input/text';
import { ImageReference } from '../../picker/entry/EntryReference.js';
import { LinkField } from '../link/LinkField.js';
export interface MetadataOptions extends FieldOptions<Type.Infer<MetadataFields>> {
inferTitleFrom?: string;
inferDescriptionFrom?: string;
inferImageFrom?: string;
}
export interface MetadataFields {
title: TextField;
description: TextField;
openGraph: ObjectField<{
title: TextField;
image: LinkField<ImageReference>;
description: TextField;
}>;
}
export declare class MetadataField extends RecordField<Type.Infer<MetadataFields>, MetadataOptions & {
fields: Type<MetadataFields>;
}> {
}
export declare function metadata(label?: string, options?: WithoutLabel<MetadataOptions>): MetadataField;