{"version":3,"file":"props.mjs","sources":["../../../components/captcha/props.ts"],"sourcesContent":["import {\n  booleanProp,\n  booleanStringProp,\n  buildProps,\n  eventProp,\n  iconProp,\n  sizeProp\n} from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { IconEffect } from '@/components/icon'\nimport type { ConfigurableProps, EventListener } from '@vexip-ui/config'\nimport type { CaptchaHollowProcess, CaptchaHollowType } from './hollow-paths'\nimport type {\n  CaptchaBeforeTest,\n  CaptchaSliderSlots,\n  CaptchaSlots,\n  CaptchaType,\n  SuccessEvent\n} from './symbol'\n\nexport const captchaProps = buildProps({\n  type: String as PropType<CaptchaType>,\n  slideTarget: [Number, Array] as PropType<number | number[]>,\n  title: String,\n  tip: String,\n  successTip: String,\n  failTip: String,\n  image: [String, Function] as PropType<string | (() => Promise<string>)>,\n  tolerance: Number,\n  canvasSize: Array as PropType<number[]>,\n  refreshIcon: iconProp,\n  disabled: booleanProp,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingEffect: String as PropType<IconEffect>,\n  onBeforeTest: Function as PropType<CaptchaBeforeTest>,\n  texts: Array as PropType<string[]>,\n  failLimit: Number,\n  remotePoint: booleanProp,\n  useTrigger: booleanProp,\n  triggerSize: sizeProp,\n  triggerText: String,\n  transfer: booleanStringProp,\n  hideDelay: Number,\n  hollowShape: [String, Function] as PropType<CaptchaHollowType | CaptchaHollowProcess>,\n  slots: Object as PropType<CaptchaSlots>,\n  onSuccess: eventProp<EventListener<SuccessEvent>>(),\n  onFail: eventProp(),\n  onDragStart: eventProp<(percent: number) => void>(),\n  onDrag: eventProp<(percent: number) => void>(),\n  onDragEnd: eventProp<(percent: number) => void>(),\n  onRefresh: eventProp()\n})\n\nexport type CaptchaProps = ExtractPropTypes<typeof captchaProps>\nexport type CaptchaCProps = ConfigurableProps<ExtractPropTypes<typeof captchaProps>>\n\nexport const captchaSliderProps = buildProps({\n  size: sizeProp,\n  target: Number,\n  tip: String,\n  successTip: String,\n  tolerance: Number,\n  disabled: booleanProp,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingLock: booleanProp,\n  loadingEffect: String as PropType<IconEffect>,\n  onBeforeTest: Function as PropType<(percent: number, matched: boolean) => unknown>,\n  slots: Object as PropType<CaptchaSliderSlots>,\n  onSuccess: eventProp<(percent: number) => void>(),\n  onFail: eventProp(),\n  onDragStart: eventProp<(percent: number) => void>(),\n  onDrag: eventProp<(percent: number) => void>(),\n  onDragEnd: eventProp<(percent: number) => void>()\n})\n\nexport type CaptchaSliderProps = ExtractPropTypes<typeof captchaSliderProps>\nexport type CaptchaSliderCProps = ConfigurableProps<ExtractPropTypes<typeof captchaSliderProps>>\n"],"names":["captchaProps","buildProps","iconProp","booleanProp","sizeProp","booleanStringProp","eventProp","captchaSliderProps"],"mappings":";AAqBO,MAAMA,IAAeC,EAAW;AAAA,EACrC,MAAM;AAAA,EACN,aAAa,CAAC,QAAQ,KAAK;AAAA,EAC3B,OAAO;AAAA,EACP,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO,CAAC,QAAQ,QAAQ;AAAA,EACxB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAaC;AAAA,EACb,UAAUC;AAAA,EACV,SAASA;AAAA,EACT,aAAaD;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAaC;AAAA,EACb,YAAYA;AAAA,EACZ,aAAaC;AAAA,EACb,aAAa;AAAA,EACb,UAAUC;AAAA,EACV,WAAW;AAAA,EACX,aAAa,CAAC,QAAQ,QAAQ;AAAA,EAC9B,OAAO;AAAA,EACP,WAAWC,EAAuC;AAAA,EAClD,QAAQA,EAAU;AAAA,EAClB,aAAaA,EAAqC;AAAA,EAClD,QAAQA,EAAqC;AAAA,EAC7C,WAAWA,EAAqC;AAAA,EAChD,WAAWA,EAAU;AACvB,CAAC,GAKYC,IAAqBN,EAAW;AAAA,EAC3C,MAAMG;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,UAAUD;AAAA,EACV,SAASA;AAAA,EACT,aAAaD;AAAA,EACb,aAAaC;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,OAAO;AAAA,EACP,WAAWG,EAAqC;AAAA,EAChD,QAAQA,EAAU;AAAA,EAClB,aAAaA,EAAqC;AAAA,EAClD,QAAQA,EAAqC;AAAA,EAC7C,WAAWA,EAAqC;AAClD,CAAC;"}