UNPKG

tdesign-vue-next

Version:
1 lines 5.43 kB
{"version":3,"file":"index.mjs","sources":["../../../../components/form/constants/index.ts"],"sourcesContent":["import { computed, InjectionKey } from 'vue';\nimport { FormItemValidateResult } from '../form-item';\nimport {\n AllValidateResult,\n Data,\n FormItemValidateMessage,\n FormRule,\n TdFormItemProps,\n TdFormProps,\n ValidateResultType,\n ValidateTriggerType,\n} from '../type';\nimport { usePrefixClass, useTNodeJSX } from '@tdesign/shared-hooks';\n\n// 允许 Form 统一控制的表单\nexport const FORM_CONTROL_COMPONENTS = [\n 'TInput',\n 'TInputNumber',\n 'TTextarea',\n 'TCascader',\n 'TSelect',\n 'TOption',\n 'TSwitch',\n 'TCheckbox',\n 'TCheckboxGroup',\n 'TRadio',\n 'TRadioGroup',\n 'TTreeSelect',\n 'TDatePicker',\n 'TTimePicker',\n 'TUpload',\n 'TTransfer',\n 'TSlider',\n];\n\nexport const useCLASSNAMES = () => {\n const classPrefix = usePrefixClass();\n\n return computed(() => {\n const form = `${classPrefix.value}-form`;\n const input = `${classPrefix.value}-input`;\n const is = `${classPrefix.value}-is`;\n\n return {\n form,\n label: `${form}__label`,\n labelTop: `${form}__label--top`,\n inline: `${form}-inline`,\n formItem: `${form}__item`,\n formItemWithHelp: `${form}__item-with-help`,\n formItemWithExtra: `${form}__item-with-extra`,\n controls: `${form}__controls`,\n controlsContent: `${form}__controls-content`,\n status: `${form}__status`,\n extra: `${input}__extra`,\n help: `${input}__help`,\n success: `${is}-success`,\n successBorder: `${form}--success-border`,\n error: `${is}-error`,\n warning: `${is}-warning`,\n };\n });\n};\n\nexport const enum ValidateStatus {\n TO_BE_VALIDATED = 'not',\n SUCCESS = 'success',\n FAIL = 'fail',\n}\n\nexport type ErrorListType =\n | {\n result: false;\n message: string;\n type: 'error' | 'warning';\n }\n | ValidateResultType;\n\nexport type SuccessListType =\n | {\n result: true;\n message: string;\n type: 'success';\n }\n | ValidateResultType;\n\nexport interface AnalysisValidateResult {\n successList?: SuccessListType[];\n errorList?: ErrorListType[];\n rules: FormRule[];\n resultList: AllValidateResult[];\n allowSetValue: boolean;\n}\n\nexport interface FormItemContext {\n name: TdFormItemProps['name'];\n resetHandler: () => void;\n resetField: (resetType?: 'initial' | 'empty') => Promise<void>;\n validate: <T extends Data = Data>(\n trigger: ValidateTriggerType,\n showErrorMessage?: boolean,\n ) => Promise<FormItemValidateResult<T>>;\n validateOnly: <T = Data>(trigger: ValidateTriggerType) => Promise<FormItemValidateResult<T>>;\n setValidateMessage: (validateMessage: FormItemValidateMessage[]) => void;\n}\n\nexport const FormInjectionKey: InjectionKey<{\n showErrorMessage: TdFormProps['showErrorMessage'];\n labelWidth: TdFormProps['labelWidth'];\n labelAlign: TdFormProps['labelAlign'];\n data: TdFormProps['data'];\n colon: TdFormProps['colon'];\n requiredMark: TdFormProps['requiredMark'];\n requiredMarkPosition: TdFormProps['requiredMarkPosition'];\n rules: TdFormProps['rules'];\n errorMessage: TdFormProps['errorMessage'];\n resetType: TdFormProps['resetType'];\n children: FormItemContext[];\n renderContent: ReturnType<typeof useTNodeJSX>;\n}> = Symbol('FormProvide');\n\nexport const FormItemInjectionKey: InjectionKey<{\n handleBlur: () => Promise<void>;\n}> = Symbol('FormItemProvide');\n"],"names":["FORM_CONTROL_COMPONENTS","useCLASSNAMES","classPrefix","usePrefixClass","computed","form","concat","value","input","is","label","labelTop","inline","formItem","formItemWithHelp","formItemWithExtra","controls","controlsContent","status","extra","help","success","successBorder","error","warning","ValidateStatus","FormInjectionKey","Symbol","FormItemInjectionKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAeaA,uBAA0B,GAAA,CACrC,QAAA,EACA,cAAA,EACA,WAAA,EACA,WAAA,EACA,SAAA,EACA,SAAA,EACA,SAAA,EACA,WAAA,EACA,gBAAA,EACA,QAAA,EACA,aAAA,EACA,aAAA,EACA,aAAA,EACA,aAAA,EACA,SAAA,EACA,WAAA,EACA,SAAA,EACF;IAEaC,gBAAgB,SAAhBA,gBAAsB;AACjC,EAAA,IAAMC,cAAcC,cAAe,EAAA,CAAA;EAEnC,OAAOC,SAAS,YAAM;AACd,IAAA,IAAAC,IAAA,GAAAC,EAAAA,CAAAA,MAAA,CAAUJ,WAAY,CAAAK,KAAA,EAAA,OAAA,CAAA,CAAA;AACtB,IAAA,IAAAC,KAAA,GAAAF,EAAAA,CAAAA,MAAA,CAAWJ,WAAY,CAAAK,KAAA,EAAA,QAAA,CAAA,CAAA;AACvB,IAAA,IAAAE,EAAA,GAAAH,EAAAA,CAAAA,MAAA,CAAQJ,WAAY,CAAAK,KAAA,EAAA,KAAA,CAAA,CAAA;IAEnB,OAAA;AACLF,MAAAA,IAAA,EAAAA,IAAA;AACAK,MAAAA,iBAAUL,IAAA,EAAA,SAAA,CAAA;AACVM,MAAAA,oBAAaN,IAAA,EAAA,cAAA,CAAA;AACbO,MAAAA,kBAAWP,IAAA,EAAA,SAAA,CAAA;AACXQ,MAAAA,oBAAaR,IAAA,EAAA,QAAA,CAAA;AACbS,MAAAA,4BAAqBT,IAAA,EAAA,kBAAA,CAAA;AACrBU,MAAAA,6BAAsBV,IAAA,EAAA,mBAAA,CAAA;AACtBW,MAAAA,oBAAaX,IAAA,EAAA,YAAA,CAAA;AACbY,MAAAA,2BAAoBZ,IAAA,EAAA,oBAAA,CAAA;AACpBa,MAAAA,kBAAWb,IAAA,EAAA,UAAA,CAAA;AACXc,MAAAA,iBAAUX,KAAA,EAAA,SAAA,CAAA;AACVY,MAAAA,gBAASZ,KAAA,EAAA,QAAA,CAAA;AACTa,MAAAA,mBAAYZ,EAAA,EAAA,UAAA,CAAA;AACZa,MAAAA,yBAAkBjB,IAAA,EAAA,kBAAA,CAAA;AAClBkB,MAAAA,iBAAUd,EAAA,EAAA,QAAA,CAAA;MACVe,mBAAYf,EAAA,EAAA,UAAA,CAAA;KACd,CAAA;AACF,GAAC,CAAA,CAAA;AACH,EAAA;IAEkBgB,cAAA,4BAAAA,eAAX,EAAA;AACLA,EAAAA,gBAAA,iBAAkB,CAAA,GAAA,KAAA,CAAA;AAClBA,EAAAA,gBAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AACVA,EAAAA,gBAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AAHSA,EAAAA,OAAAA,eAAAA,CAAAA;AAAA,CAAA,CAAAA,cAAA,IAAA,EAAA,EAAA;IA0CLC,gBAAA,GAaRC,OAAO,aAAa,EAAA;IAEZC,oBAAA,GAERD,OAAO,iBAAiB;;;;"}