{"version":3,"file":"props.cjs","sources":["../../../components/form/props.ts"],"sourcesContent":["import {\n  booleanProp,\n  buildProps,\n  eventProp,\n  iconProp,\n  localeProp,\n  sizeProp,\n} from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { IconEffect } from '@/components/icon'\nimport type { ConfigurableProps } from '@vexip-ui/config'\nimport type { ButtonAttrType, ButtonType } from '@/components/button'\nimport type { RowGridAlign, RowGridJustify } from '@/components/row'\nimport type { ColumnOptions } from '@/components/column'\nimport type { Rule } from './validator'\nimport type { FormLabelAlign, SubmitMethod } from './symbol'\n\nexport const formProps = buildProps({\n  method: String as PropType<SubmitMethod>,\n  action: String,\n  model: Object,\n  rules: Object,\n  labelWidth: [Number, String] as PropType<number | 'auto'>,\n  labelAlign: String as PropType<FormLabelAlign>,\n  allRequired: booleanProp,\n  labelSuffix: String,\n  hideAsterisk: booleanProp,\n  validateAll: booleanProp,\n  hideLabel: booleanProp,\n  disabled: booleanProp,\n  loading: booleanProp,\n  size: sizeProp,\n  inline: booleanProp,\n  gap: [Number, Array] as PropType<number | number[]>,\n  justify: String as PropType<RowGridJustify>,\n  align: String as PropType<RowGridAlign>,\n})\n\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormCProps = ConfigurableProps<FormProps, 'model'>\n\nconst mediaProp = [Number, Object] as PropType<number | ColumnOptions>\n\nexport const formItemProps = buildProps({\n  locale: localeProp('form'),\n  label: String,\n  prop: String,\n  name: String,\n  rules: [Object, Array] as PropType<Rule | Rule[]>,\n  labelWidth: Number,\n  required: booleanProp,\n  htmlFor: String,\n  errorTransition: String,\n  defaultValue: {\n    type: [String, Number, Boolean, Object, Array, Function] as PropType<any>,\n    default: null,\n  },\n  hideErrorTip: booleanProp,\n  validateAll: booleanProp,\n  hideAsterisk: booleanProp,\n  hideLabel: booleanProp,\n  action: booleanProp,\n  help: String,\n  pure: booleanProp,\n  span: Number,\n  offset: Number,\n  push: Number,\n  pull: Number,\n  order: Number,\n  xs: mediaProp,\n  sm: mediaProp,\n  md: mediaProp,\n  lg: mediaProp,\n  xl: mediaProp,\n  xxl: mediaProp,\n  flex: [Number, String],\n})\n\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\nexport type FormItemCProps = ConfigurableProps<FormItemProps, 'prop' | 'htmlFor' | 'defaultValue'>\n\nexport const formSubmitProps = buildProps({\n  size: sizeProp,\n  locale: localeProp('form'),\n  type: String as PropType<ButtonType>,\n  label: String,\n  dashed: booleanProp,\n  text: booleanProp,\n  simple: booleanProp,\n  ghost: booleanProp,\n  disabled: booleanProp,\n  circle: booleanProp,\n  loadingIcon: iconProp,\n  loadingEffect: String as PropType<IconEffect>,\n  icon: iconProp,\n  color: String,\n  buttonType: String as PropType<ButtonAttrType>,\n  block: booleanProp,\n  tag: String,\n  onBeforeSubmit: Function as PropType<() => unknown>,\n  onSubmit: eventProp(),\n  onError: eventProp<(errors: string[]) => void>(),\n})\n\nexport type FormSubmitProps = ExtractPropTypes<typeof formSubmitProps>\nexport type FormSubmitCProps = ConfigurableProps<FormSubmitProps, never, 'onBeforeReset'>\n\nexport const formResetProps = buildProps({\n  size: sizeProp,\n  locale: localeProp('form'),\n  type: String as PropType<ButtonType>,\n  label: String,\n  dashed: booleanProp,\n  text: booleanProp,\n  simple: booleanProp,\n  ghost: booleanProp,\n  disabled: booleanProp,\n  loading: booleanProp,\n  circle: booleanProp,\n  loadingIcon: iconProp,\n  loadingEffect: String as PropType<IconEffect>,\n  icon: iconProp,\n  color: String,\n  buttonType: String as PropType<ButtonAttrType>,\n  block: booleanProp,\n  tag: String,\n  onBeforeReset: Function as PropType<() => unknown>,\n  onReset: eventProp(),\n})\n\nexport type FormResetProps = ExtractPropTypes<typeof formResetProps>\nexport type FormResetCProps = ConfigurableProps<FormResetProps, never, 'onBeforeReset'>\n"],"names":["formProps","buildProps","booleanProp","sizeProp","mediaProp","formItemProps","localeProp","formSubmitProps","iconProp","eventProp","formResetProps"],"mappings":"oHAkBaA,EAAYC,EAAAA,WAAW,CAClC,OAAQ,OACR,OAAQ,OACR,MAAO,OACP,MAAO,OACP,WAAY,CAAC,OAAQ,MAAM,EAC3B,WAAY,OACZ,YAAaC,EAAA,YACb,YAAa,OACb,aAAcA,EAAA,YACd,YAAaA,EAAA,YACb,UAAWA,EAAA,YACX,SAAUA,EAAA,YACV,QAASA,EAAA,YACT,KAAMC,EAAA,SACN,OAAQD,EAAA,YACR,IAAK,CAAC,OAAQ,KAAK,EACnB,QAAS,OACT,MAAO,MACT,CAAC,EAKKE,EAAY,CAAC,OAAQ,MAAM,EAEpBC,EAAgBJ,EAAAA,WAAW,CACtC,OAAQK,aAAW,MAAM,EACzB,MAAO,OACP,KAAM,OACN,KAAM,OACN,MAAO,CAAC,OAAQ,KAAK,EACrB,WAAY,OACZ,SAAUJ,EAAA,YACV,QAAS,OACT,gBAAiB,OACjB,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,QAAS,OAAQ,MAAO,QAAQ,EACvD,QAAS,IACX,EACA,aAAcA,EAAA,YACd,YAAaA,EAAA,YACb,aAAcA,EAAA,YACd,UAAWA,EAAA,YACX,OAAQA,EAAA,YACR,KAAM,OACN,KAAMA,EAAA,YACN,KAAM,OACN,OAAQ,OACR,KAAM,OACN,KAAM,OACN,MAAO,OACP,GAAIE,EACJ,GAAIA,EACJ,GAAIA,EACJ,GAAIA,EACJ,GAAIA,EACJ,IAAKA,EACL,KAAM,CAAC,OAAQ,MAAM,CACvB,CAAC,EAKYG,EAAkBN,EAAAA,WAAW,CACxC,KAAME,EAAA,SACN,OAAQG,aAAW,MAAM,EACzB,KAAM,OACN,MAAO,OACP,OAAQJ,EAAA,YACR,KAAMA,EAAA,YACN,OAAQA,EAAA,YACR,MAAOA,EAAA,YACP,SAAUA,EAAA,YACV,OAAQA,EAAA,YACR,YAAaM,EAAA,SACb,cAAe,OACf,KAAMA,EAAA,SACN,MAAO,OACP,WAAY,OACZ,MAAON,EAAA,YACP,IAAK,OACL,eAAgB,SAChB,SAAUO,EAAAA,UAAU,EACpB,QAASA,EAAsC,UAAA,CACjD,CAAC,EAKYC,EAAiBT,EAAAA,WAAW,CACvC,KAAME,EAAA,SACN,OAAQG,aAAW,MAAM,EACzB,KAAM,OACN,MAAO,OACP,OAAQJ,EAAA,YACR,KAAMA,EAAA,YACN,OAAQA,EAAA,YACR,MAAOA,EAAA,YACP,SAAUA,EAAA,YACV,QAASA,EAAA,YACT,OAAQA,EAAA,YACR,YAAaM,EAAA,SACb,cAAe,OACf,KAAMA,EAAA,SACN,MAAO,OACP,WAAY,OACZ,MAAON,EAAA,YACP,IAAK,OACL,cAAe,SACf,QAASO,EAAU,UAAA,CACrB,CAAC"}