@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 6.35 kB
Source Map (JSON)
{"version":3,"file":"props.mjs","sources":["../../../components/form/props.ts"],"sourcesContent":["import {\r\n booleanProp,\r\n buildProps,\r\n eventProp,\r\n iconProp,\r\n localeProp,\r\n sizeProp,\r\n} from '@vexip-ui/config'\r\n\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\nimport type { IconEffect } from '@/components/icon'\r\nimport type { ConfigurableProps } from '@vexip-ui/config'\r\nimport type { ButtonAttrType, ButtonType } from '@/components/button'\r\nimport type { RowGridAlign, RowGridJustify } from '@/components/row'\r\nimport type { ColumnOptions } from '@/components/column'\r\nimport type { Rule } from './validator'\r\nimport type { FormLabelAlign, SubmitMethod } from './symbol'\r\n\r\nexport const formProps = buildProps({\r\n method: String as PropType<SubmitMethod>,\r\n action: String,\r\n model: Object,\r\n rules: Object,\r\n labelWidth: [Number, String] as PropType<number | 'auto'>,\r\n labelAlign: String as PropType<FormLabelAlign>,\r\n allRequired: booleanProp,\r\n labelSuffix: String,\r\n hideAsterisk: booleanProp,\r\n validateAll: booleanProp,\r\n hideLabel: booleanProp,\r\n disabled: booleanProp,\r\n loading: booleanProp,\r\n size: sizeProp,\r\n inline: booleanProp,\r\n gap: [Number, Array] as PropType<number | number[]>,\r\n justify: String as PropType<RowGridJustify>,\r\n align: String as PropType<RowGridAlign>,\r\n onSubmit: eventProp<(e: SubmitEvent) => void>(),\r\n})\r\n\r\nexport type FormProps = ExtractPropTypes<typeof formProps>\r\nexport type FormCProps = ConfigurableProps<FormProps, 'model'>\r\n\r\nconst mediaProp = [Number, Object] as PropType<number | ColumnOptions>\r\n\r\nexport const formItemProps = buildProps({\r\n locale: localeProp('form'),\r\n label: String,\r\n prop: String,\r\n name: String,\r\n rules: [Object, Array] as PropType<Rule | Rule[]>,\r\n labelWidth: Number,\r\n required: booleanProp,\r\n htmlFor: String,\r\n errorTransition: String,\r\n defaultValue: {\r\n type: [String, Number, Boolean, Object, Array, Function] as PropType<any>,\r\n default: null,\r\n },\r\n hideErrorTip: booleanProp,\r\n validateAll: booleanProp,\r\n hideAsterisk: booleanProp,\r\n hideLabel: booleanProp,\r\n action: booleanProp,\r\n help: String,\r\n pure: booleanProp,\r\n manual: booleanProp,\r\n span: Number,\r\n offset: Number,\r\n push: Number,\r\n pull: Number,\r\n order: Number,\r\n xs: mediaProp,\r\n sm: mediaProp,\r\n md: mediaProp,\r\n lg: mediaProp,\r\n xl: mediaProp,\r\n xxl: mediaProp,\r\n flex: [Number, String],\r\n})\r\n\r\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\r\nexport type FormItemCProps = ConfigurableProps<FormItemProps, 'prop' | 'htmlFor' | 'defaultValue'>\r\n\r\nexport const formSubmitProps = buildProps({\r\n size: sizeProp,\r\n locale: localeProp('form'),\r\n type: String as PropType<ButtonType>,\r\n label: String,\r\n dashed: booleanProp,\r\n text: booleanProp,\r\n simple: booleanProp,\r\n ghost: booleanProp,\r\n disabled: booleanProp,\r\n circle: booleanProp,\r\n loadingIcon: iconProp,\r\n loadingEffect: String as PropType<IconEffect>,\r\n icon: iconProp,\r\n color: String,\r\n buttonType: String as PropType<ButtonAttrType>,\r\n block: booleanProp,\r\n tag: String,\r\n onBeforeSubmit: Function as PropType<() => unknown>,\r\n onSubmit: eventProp(),\r\n onError: eventProp<(errors: string[]) => void>(),\r\n})\r\n\r\nexport type FormSubmitProps = ExtractPropTypes<typeof formSubmitProps>\r\nexport type FormSubmitCProps = ConfigurableProps<FormSubmitProps, never, 'onBeforeReset'>\r\n\r\nexport const formResetProps = buildProps({\r\n size: sizeProp,\r\n locale: localeProp('form'),\r\n type: String as PropType<ButtonType>,\r\n label: String,\r\n dashed: booleanProp,\r\n text: booleanProp,\r\n simple: booleanProp,\r\n ghost: booleanProp,\r\n disabled: booleanProp,\r\n loading: booleanProp,\r\n circle: booleanProp,\r\n loadingIcon: iconProp,\r\n loadingEffect: String as PropType<IconEffect>,\r\n icon: iconProp,\r\n color: String,\r\n buttonType: String as PropType<ButtonAttrType>,\r\n block: booleanProp,\r\n tag: String,\r\n onBeforeReset: Function as PropType<() => unknown>,\r\n onReset: eventProp(),\r\n})\r\n\r\nexport type FormResetProps = ExtractPropTypes<typeof formResetProps>\r\nexport type FormResetCProps = ConfigurableProps<FormResetProps, never, 'onBeforeReset'>\r\n"],"names":["formProps","buildProps","booleanProp","sizeProp","eventProp","mediaProp","formItemProps","localeProp","formSubmitProps","iconProp","formResetProps"],"mappings":";AAkBO,MAAMA,IAAYC,EAAW;AAAA,EAClC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY,CAAC,QAAQ,MAAM;AAAA,EAC3B,YAAY;AAAA,EACZ,aAAaC;AAAA,EACb,aAAa;AAAA,EACb,cAAcA;AAAA,EACd,aAAaA;AAAA,EACb,WAAWA;AAAA,EACX,UAAUA;AAAA,EACV,SAASA;AAAA,EACT,MAAMC;AAAA,EACN,QAAQD;AAAA,EACR,KAAK,CAAC,QAAQ,KAAK;AAAA,EACnB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAUE,EAAoC;AAChD,CAAC,GAKKC,IAAY,CAAC,QAAQ,MAAM,GAEpBC,IAAgBL,EAAW;AAAA,EACtC,QAAQM,EAAW,MAAM;AAAA,EACzB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO,CAAC,QAAQ,KAAK;AAAA,EACrB,YAAY;AAAA,EACZ,UAAUL;AAAA,EACV,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,cAAc;AAAA,IACZ,MAAM,CAAC,QAAQ,QAAQ,SAAS,QAAQ,OAAO,QAAQ;AAAA,IACvD,SAAS;AAAA,EACX;AAAA,EACA,cAAcA;AAAA,EACd,aAAaA;AAAA,EACb,cAAcA;AAAA,EACd,WAAWA;AAAA,EACX,QAAQA;AAAA,EACR,MAAM;AAAA,EACN,MAAMA;AAAA,EACN,QAAQA;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,IAAIG;AAAA,EACJ,IAAIA;AAAA,EACJ,IAAIA;AAAA,EACJ,IAAIA;AAAA,EACJ,IAAIA;AAAA,EACJ,KAAKA;AAAA,EACL,MAAM,CAAC,QAAQ,MAAM;AACvB,CAAC,GAKYG,IAAkBP,EAAW;AAAA,EACxC,MAAME;AAAA,EACN,QAAQI,EAAW,MAAM;AAAA,EACzB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQL;AAAA,EACR,MAAMA;AAAA,EACN,QAAQA;AAAA,EACR,OAAOA;AAAA,EACP,UAAUA;AAAA,EACV,QAAQA;AAAA,EACR,aAAaO;AAAA,EACb,eAAe;AAAA,EACf,MAAMA;AAAA,EACN,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAOP;AAAA,EACP,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB,UAAUE,EAAU;AAAA,EACpB,SAASA,EAAsC;AACjD,CAAC,GAKYM,IAAiBT,EAAW;AAAA,EACvC,MAAME;AAAA,EACN,QAAQI,EAAW,MAAM;AAAA,EACzB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQL;AAAA,EACR,MAAMA;AAAA,EACN,QAAQA;AAAA,EACR,OAAOA;AAAA,EACP,UAAUA;AAAA,EACV,SAASA;AAAA,EACT,QAAQA;AAAA,EACR,aAAaO;AAAA,EACb,eAAe;AAAA,EACf,MAAMA;AAAA,EACN,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAOP;AAAA,EACP,KAAK;AAAA,EACL,eAAe;AAAA,EACf,SAASE,EAAU;AACrB,CAAC;"}