{"version":3,"file":"props.mjs","sources":["../../../components/captcha/props.ts"],"sourcesContent":["import {\r\n  booleanProp,\r\n  booleanStringProp,\r\n  buildProps,\r\n  eventProp,\r\n  iconProp,\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, EventListener } from '@vexip-ui/config'\r\nimport type { CaptchaHollowProcess, CaptchaHollowType } from './hollow-paths'\r\nimport type {\r\n  CaptchaBeforeTest,\r\n  CaptchaSliderSlots,\r\n  CaptchaSlots,\r\n  CaptchaType,\r\n  SuccessEvent,\r\n} from './symbol'\r\n\r\nexport const captchaProps = buildProps({\r\n  type: String as PropType<CaptchaType>,\r\n  slideTarget: [Number, Array] as PropType<number | number[]>,\r\n  title: String,\r\n  tip: String,\r\n  successTip: String,\r\n  failTip: String,\r\n  image: [String, Function] as PropType<string | (() => Promise<string>)>,\r\n  tolerance: Number,\r\n  canvasSize: Array as PropType<number[]>,\r\n  refreshIcon: iconProp,\r\n  disabled: booleanProp,\r\n  loading: booleanProp,\r\n  loadingIcon: iconProp,\r\n  loadingEffect: String as PropType<IconEffect>,\r\n  onBeforeTest: Function as PropType<CaptchaBeforeTest>,\r\n  texts: Array as PropType<string[]>,\r\n  failLimit: Number,\r\n  remotePoint: booleanProp,\r\n  useTrigger: booleanProp,\r\n  triggerSize: sizeProp,\r\n  triggerText: String,\r\n  transfer: booleanStringProp,\r\n  hideDelay: Number,\r\n  hollowShape: [String, Function] as PropType<CaptchaHollowType | CaptchaHollowProcess>,\r\n  slots: Object as PropType<CaptchaSlots>,\r\n  onSuccess: eventProp<EventListener<SuccessEvent>>(),\r\n  onFail: eventProp(),\r\n  onDragStart: eventProp<(percent: number) => void>(),\r\n  onDrag: eventProp<(percent: number) => void>(),\r\n  onDragEnd: eventProp<(percent: number) => void>(),\r\n  onRefresh: eventProp(),\r\n})\r\n\r\nexport type CaptchaProps = ExtractPropTypes<typeof captchaProps>\r\nexport type CaptchaCProps = ConfigurableProps<ExtractPropTypes<typeof captchaProps>>\r\n\r\nexport const captchaSliderProps = buildProps({\r\n  size: sizeProp,\r\n  target: Number,\r\n  tip: String,\r\n  successTip: String,\r\n  tolerance: Number,\r\n  disabled: booleanProp,\r\n  loading: booleanProp,\r\n  loadingIcon: iconProp,\r\n  loadingLock: booleanProp,\r\n  loadingEffect: String as PropType<IconEffect>,\r\n  onBeforeTest: Function as PropType<(percent: number, matched: boolean) => unknown>,\r\n  slots: Object as PropType<CaptchaSliderSlots>,\r\n  onSuccess: eventProp<(percent: number) => void>(),\r\n  onFail: eventProp(),\r\n  onDragStart: eventProp<(percent: number) => void>(),\r\n  onDrag: eventProp<(percent: number) => void>(),\r\n  onDragEnd: eventProp<(percent: number) => void>(),\r\n})\r\n\r\nexport type CaptchaSliderProps = ExtractPropTypes<typeof captchaSliderProps>\r\nexport type CaptchaSliderCProps = ConfigurableProps<ExtractPropTypes<typeof captchaSliderProps>>\r\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;"}