UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

78 lines (77 loc) 5.86 kB
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 {};