UNPKG

y-design-ssr

Version:

SSR component library of YUI with Vue3

92 lines (91 loc) 5.08 kB
import { ComputedRef, ExtractPropTypes, PropType } from 'vue'; import { TriggerTypes } from '../../utils/types'; export type Rule = Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise<boolean> | boolean; pattern: RegExp; trigger: TriggerTypes; }>; export type ReturnTypes = boolean | void | Promise<boolean> | null; export type ValidateType = null | PropErrorInfo | void; export type AllValidateType = null | PropErrorInfo[] | void; export type PropErrorInfo = { name: string; message: string; }; export interface FormItemExposed { validateWithTrigger: (trigger: TriggerTypes) => null | Promise<null | PropErrorInfo>; resetValidation: () => void; formValue: ComputedRef<unknown>; validate: (ruleList?: Rule[]) => Promise<ValidateType>; change: () => void; } export declare const commonProps: { size: { type: PropType<number | typeof Symbol.iterator | "link" | "small" | "sub" | "sup" | "length" | "concat" | "slice" | "indexOf" | "lastIndexOf" | "includes" | "at" | "toString" | "charAt" | "charCodeAt" | "localeCompare" | "match" | "replace" | "search" | "split" | "substring" | "toLowerCase" | "toLocaleLowerCase" | "toUpperCase" | "toLocaleUpperCase" | "trim" | "substr" | "valueOf" | "codePointAt" | "endsWith" | "normalize" | "repeat" | "startsWith" | "anchor" | "big" | "blink" | "bold" | "fixed" | "fontcolor" | "fontsize" | "italics" | "strike" | "padStart" | "padEnd" | "trimEnd" | "trimStart" | "trimLeft" | "trimRight" | "matchAll" | "replaceAll">; default: null; }; border: { type: BooleanConstructor; default: boolean; }; labelWidth: { type: (StringConstructor | NumberConstructor)[]; default: null; }; colon: { type: BooleanConstructor; default: boolean; }; labelAlign: { type: PropType<number | typeof Symbol.iterator | "link" | "small" | "sub" | "sup" | "length" | "concat" | "slice" | "indexOf" | "lastIndexOf" | "includes" | "at" | "toString" | "charAt" | "charCodeAt" | "localeCompare" | "match" | "replace" | "search" | "split" | "substring" | "toLowerCase" | "toLocaleLowerCase" | "toUpperCase" | "toLocaleUpperCase" | "trim" | "substr" | "valueOf" | "codePointAt" | "endsWith" | "normalize" | "repeat" | "startsWith" | "anchor" | "big" | "blink" | "bold" | "fixed" | "fontcolor" | "fontsize" | "italics" | "strike" | "padStart" | "padEnd" | "trimEnd" | "trimStart" | "trimLeft" | "trimRight" | "matchAll" | "replaceAll">; default: null; }; showError: { type: BooleanConstructor; default: boolean; }; showErrorMessage: { type: BooleanConstructor; default: boolean; }; errorMessageAlign: { type: PropType<number | typeof Symbol.iterator | "link" | "small" | "sub" | "sup" | "length" | "concat" | "slice" | "indexOf" | "lastIndexOf" | "includes" | "at" | "toString" | "charAt" | "charCodeAt" | "localeCompare" | "match" | "replace" | "search" | "split" | "substring" | "toLowerCase" | "toLocaleLowerCase" | "toUpperCase" | "toLocaleUpperCase" | "trim" | "substr" | "valueOf" | "codePointAt" | "endsWith" | "normalize" | "repeat" | "startsWith" | "anchor" | "big" | "blink" | "bold" | "fixed" | "fontcolor" | "fontsize" | "italics" | "strike" | "padStart" | "padEnd" | "trimEnd" | "trimStart" | "trimLeft" | "trimRight" | "matchAll" | "replaceAll">; default: null; }; rules: { type: PropType<Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise<boolean> | boolean; pattern: RegExp; trigger: TriggerTypes; }> | Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise<boolean> | boolean; pattern: RegExp; trigger: TriggerTypes; }>[] | Record<string, Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise<boolean> | boolean; pattern: RegExp; trigger: TriggerTypes; }> | Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise<boolean> | boolean; pattern: RegExp; trigger: TriggerTypes; }>[]>>; default: null; }; }; export type CommonPropsType = ExtractPropTypes<typeof commonProps>;