alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
78 lines (77 loc) • 5.86 kB
TypeScript
import { ListRow } from 'alinea/core';
import { WithoutLabel } from 'alinea/core/Field';
import { Label } from 'alinea/core/Label';
import { Type } from 'alinea/core/Type';
import { LinkFieldOptions } from 'alinea/input/link/LinkField';
import { EntryPickerOptions } from 'alinea/picker/entry';
import { EntryReference, FileReference, ImageReference } from 'alinea/picker/entry/EntryReference';
import { UrlPickerOptions, UrlReference } from 'alinea/picker/url';
export declare function imagePicker<Fields>(multiple: boolean, options: Omit<EntryPickerOptions<Fields>, 'hint' | 'selection'>): import("alinea/core").Picker<ImageReference & ({ [K_1 in keyof Fields as Fields[K_1] extends import("../../core/pages").Expr<any> ? K_1 : never]: Fields[K_1] extends import("../../core/pages").Expr<infer T_1> ? T_1 : never; } extends infer T ? { [K in keyof T]: { [K_1 in keyof Fields as Fields[K_1] extends import("../../core/pages").Expr<any> ? K_1 : never]: Fields[K_1] extends import("../../core/pages").Expr<infer T_1> ? T_1 : never; }[K]; } : never), EntryPickerOptions<Fields>>;
export declare function filePicker<Fields>(multiple: boolean, options: Omit<EntryPickerOptions<Fields>, 'hint' | 'selection'>): import("alinea/core").Picker<FileReference & ({ [K_1 in keyof Fields as Fields[K_1] extends import("../../core/pages").Expr<any> ? K_1 : never]: Fields[K_1] extends import("../../core/pages").Expr<infer T_1> ? T_1 : never; } extends infer T ? { [K in keyof T]: { [K_1 in keyof Fields as Fields[K_1] extends import("../../core/pages").Expr<any> ? K_1 : never]: Fields[K_1] extends import("../../core/pages").Expr<infer T_1> ? T_1 : never; }[K]; } : never), EntryPickerOptions<Fields>>;
type LinkData<Fields> = (EntryReference & Type.Infer<Fields>) | (UrlReference & Type.Infer<Fields>) | (FileReference & Type.Infer<Fields>);
export interface LinkOptions<Fields, Row> extends LinkFieldOptions<Row> {
fields?: Type<Fields>;
}
export declare function link<Fields>(label: Label, options?: WithoutLabel<LinkOptions<Fields, LinkData<Fields>>>): import("alinea/input/link/LinkField").LinkField<LinkData<Fields>>;
export declare namespace link {
type Link<Fields> = (EntryReference & Type.Infer<Fields> & ListRow) | (UrlReference & Type.Infer<Fields> & ListRow);
export function multiple<Fields>(label: Label, options?: WithoutLabel<LinkOptions<Fields, Array<Link<Fields>>>>): import("alinea/input/link/LinkField").LinksField<Link<Fields>>;
export {};
}
export declare namespace link {
type Link<Fields> = EntryReference & Type.Infer<Fields>;
interface EntryOptions<Fields> extends LinkFieldOptions<Link<Fields>>, Omit<EntryPickerOptions<Fields>, 'label' | 'hint' | 'selection'> {
}
export function entry<Fields>(label: Label, options?: WithoutLabel<EntryOptions<Fields>>): import("alinea/input/link/LinkField").LinkField<Link<Fields>>;
export {};
}
export declare namespace link.entry {
type Link<Fields> = EntryReference & Type.Infer<Fields> & ListRow;
interface EntryOptions<Fields> extends LinkFieldOptions<Array<Link<Fields>>>, Omit<EntryPickerOptions<Fields>, 'label' | 'hint' | 'selection'> {
}
export function multiple<Fields>(label: Label, options?: WithoutLabel<EntryOptions<Fields>>): import("alinea/input/link/LinkField").LinksField<Link<Fields>>;
export {};
}
export declare namespace link {
type Link<Fields> = UrlReference & Type.Infer<Fields>;
export interface UrlOptions<Fields> extends LinkFieldOptions<Link<Fields>>, UrlPickerOptions<Fields> {
}
export function url<Fields>(label: Label, options?: WithoutLabel<UrlOptions<Fields>>): import("alinea/input/link/LinkField").LinkField<Link<Fields>>;
export {};
}
export declare namespace link.url {
type Link<Fields> = UrlReference & Type.Infer<Fields> & ListRow;
export interface UrlOptions<Fields> extends LinkFieldOptions<Array<Link<Fields>>>, UrlPickerOptions<Fields> {
}
export function multiple<Fields>(label: Label, options?: WithoutLabel<UrlOptions<Fields>>): import("alinea/input/link/LinkField").LinksField<Link<Fields>>;
export {};
}
export declare namespace link {
type Link<Fields> = ImageReference & Type.Infer<Fields>;
export interface ImageOptions<Fields> extends LinkFieldOptions<Link<Fields>>, Omit<EntryPickerOptions<Fields>, 'label' | 'hint' | 'selection'> {
}
export function image<Fields>(label: Label, options?: WithoutLabel<ImageOptions<Fields>>): import("alinea/input/link/LinkField").LinkField<Link<Fields>>;
export {};
}
export declare namespace link.image {
type Link<Fields> = ImageReference & Type.Infer<Fields> & ListRow;
export interface ImagesOptions<Fields> extends LinkFieldOptions<Array<Link<Fields>>>, Omit<EntryPickerOptions<Fields>, 'label' | 'hint' | 'selection'> {
}
export function multiple<Fields>(label: Label, options?: WithoutLabel<ImagesOptions<Fields>>): import("alinea/input/link/LinkField").LinksField<Link<Fields>>;
export {};
}
export declare namespace link {
type Link<Fields> = FileReference & Type.Infer<Fields>;
export interface FileOptions<Fields> extends LinkFieldOptions<Link<Fields>>, Omit<EntryPickerOptions<Fields>, 'label' | 'hint' | 'selection'> {
}
export function file<Fields>(label: Label, options?: WithoutLabel<FileOptions<Fields>>): import("alinea/input/link/LinkField").LinkField<Link<Fields>>;
export {};
}
export declare namespace link.file {
type Link<Fields> = FileReference & Type.Infer<Fields> & ListRow;
export interface FilesOptions<Fields> extends LinkFieldOptions<Array<Link<Fields>>>, Omit<EntryPickerOptions<Fields>, 'label' | 'hint' | 'selection'> {
}
export function multiple<Fields>(label: Label, options?: WithoutLabel<FilesOptions<Fields>>): import("alinea/input/link/LinkField").LinksField<Link<Fields>>;
export {};
}
export {};