{"version":3,"file":"props.cjs","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":"oHAqBaA,EAAeC,EAAAA,WAAW,CACrC,KAAM,OACN,YAAa,CAAC,OAAQ,KAAK,EAC3B,MAAO,OACP,IAAK,OACL,WAAY,OACZ,QAAS,OACT,MAAO,CAAC,OAAQ,QAAQ,EACxB,UAAW,OACX,WAAY,MACZ,YAAaC,EAAA,SACb,SAAUC,EAAA,YACV,QAASA,EAAA,YACT,YAAaD,EAAA,SACb,cAAe,OACf,aAAc,SACd,MAAO,MACP,UAAW,OACX,YAAaC,EAAA,YACb,WAAYA,EAAA,YACZ,YAAaC,EAAA,SACb,YAAa,OACb,SAAUC,EAAA,kBACV,UAAW,OACX,YAAa,CAAC,OAAQ,QAAQ,EAC9B,MAAO,OACP,UAAWC,EAAAA,UAAuC,EAClD,OAAQA,EAAAA,UAAU,EAClB,YAAaA,EAAAA,UAAqC,EAClD,OAAQA,EAAAA,UAAqC,EAC7C,UAAWA,EAAAA,UAAqC,EAChD,UAAWA,EAAU,UAAA,CACvB,CAAC,EAKYC,EAAqBN,EAAAA,WAAW,CAC3C,KAAMG,EAAA,SACN,OAAQ,OACR,IAAK,OACL,WAAY,OACZ,UAAW,OACX,SAAUD,EAAA,YACV,QAASA,EAAA,YACT,YAAaD,EAAA,SACb,YAAaC,EAAA,YACb,cAAe,OACf,aAAc,SACd,MAAO,OACP,UAAWG,EAAAA,UAAqC,EAChD,OAAQA,EAAAA,UAAU,EAClB,YAAaA,EAAAA,UAAqC,EAClD,OAAQA,EAAAA,UAAqC,EAC7C,UAAWA,EAAqC,UAAA,CAClD,CAAC"}