UNPKG

alinea

Version:
26 lines (25 loc) 1.83 kB
import type { WithoutLabel } from 'alinea/core/Field'; import type { InferStoredValue } from 'alinea/core/Infer'; import type { Label } from 'alinea/core/Label'; import type { Type } from 'alinea/core/Type'; import type { ListRow } from 'alinea/core/shape/ListShape'; import { type LinkFieldOptions } from 'alinea/field/link/LinkField'; import { type UrlPickerOptions, type UrlReference } from 'alinea/picker/url'; export interface UrlLink<InferredFields = undefined> extends UrlReference { href: string; title: string; target: string; fields: InferredFields; } export declare namespace UrlLink { } export interface UrlOptions<Fields> extends LinkFieldOptions<UrlReference & InferStoredValue<Fields>>, UrlPickerOptions<Fields> { } export declare function url<Fields>(label: Label, options?: WithoutLabel<UrlOptions<Fields>>): import("alinea/field/link/LinkField").LinkField<UrlReference & InferStoredValue<Fields>, UrlLink<{ [K_1 in keyof Fields as Fields[K_1] extends import("alinea/core/Expr").Expr<any> ? K_1 : never]: Fields[K_1] extends import("alinea/core/Expr").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("alinea/core/Expr").Expr<any> ? K_1 : never]: Fields[K_1] extends import("alinea/core/Expr").Expr<infer T_1> ? T_1 : never; }[K]; } : never>>; export declare namespace url { type UrlRows<Fields> = UrlLink<Type.Infer<Fields>> & ListRow; export interface UrlOptions<Fields> extends LinkFieldOptions<Array<UrlReference & ListRow & InferStoredValue<Fields>>>, UrlPickerOptions<Fields> { } export function multiple<Fields>(label: Label, options?: WithoutLabel<UrlOptions<Fields>>): import("alinea/field/link/LinkField").LinksField<UrlReference & ListRow & InferStoredValue<Fields>, UrlRows<Fields>>; export {}; }