{"version":3,"file":"props.mjs","sources":["../../../components/cascader/props.ts"],"sourcesContent":["import {\n  booleanProp,\n  booleanStringProp,\n  buildProps,\n  eventProp,\n  iconProp,\n  localeProp,\n  sizeProp,\n  stateProp\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 { Placement } from '@vexip-ui/hooks'\nimport type { TagType } from '@/components/tag'\nimport type { CascaderKeyConfig, CascaderSlots, CascaderValue, Data } from './symbol'\n\ntype ChangeEvent =\n  | ((value: CascaderValue, data: Data[] | Data[][]) => void)\n  | ((value: (string | number)[], data: Data[]) => void)\n  | ((value: string[], data: Data[]) => void)\n  | ((value: number[], data: Data[]) => void)\n  | ((value: (string | number)[][], data: Data[][]) => void)\n  | ((value: string[][], data: Data[][]) => void)\n  | ((value: number[][], data: Data[][]) => void)\n\nexport const cascaderProps = buildProps({\n  size: sizeProp,\n  state: stateProp,\n  locale: localeProp('select'),\n  value: Array as PropType<CascaderValue>,\n  visible: booleanProp,\n  options: Array as PropType<Data[]>,\n  placeholder: String,\n  prefix: iconProp,\n  prefixColor: String,\n  suffix: iconProp,\n  suffixColor: String,\n  noCascaded: booleanProp,\n  multiple: booleanProp,\n  disabled: booleanProp,\n  clearable: booleanProp,\n  placement: String as PropType<Placement>,\n  transfer: booleanStringProp,\n  staticSuffix: booleanProp,\n  noSuffix: booleanProp,\n  transitionName: String,\n  outsideClose: booleanProp,\n  keyConfig: Object as PropType<CascaderKeyConfig>,\n  separator: String,\n  hoverTrigger: booleanProp,\n  maxTagCount: Number,\n  briefLabel: booleanProp,\n  noRestTip: booleanProp,\n  onAsyncLoad: Function as PropType<(data: Data) => any[] | Promise<any[]>>,\n  mergeTags: booleanProp,\n  tagType: String as PropType<TagType>,\n  emptyText: String,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingLock: booleanProp,\n  loadingEffect: String as PropType<IconEffect>,\n  transparent: booleanProp,\n  popperAlive: booleanProp,\n  slots: Object as PropType<CascaderSlots>,\n  onToggle: eventProp<(visible: boolean) => void>(),\n  onSelect: eventProp<(fullValue: string, data: Data) => void>(),\n  onCancel: eventProp<(fullValue: string, data: Data) => void>(),\n  onChange: eventProp<ChangeEvent>(),\n  onClickOutside: eventProp(),\n  onOutsideClose: eventProp(),\n  onClear: eventProp()\n})\n\nexport type CascaderProps = ExtractPropTypes<typeof cascaderProps>\nexport type CascaderCProps = ConfigurableProps<CascaderProps, never, 'onAsyncLoad'>\n"],"names":["cascaderProps","buildProps","sizeProp","stateProp","localeProp","booleanProp","iconProp","booleanStringProp","eventProp"],"mappings":";AA2BO,MAAMA,IAAgBC,EAAW;AAAA,EACtC,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,QAAQC,EAAW,QAAQ;AAAA,EAC3B,OAAO;AAAA,EACP,SAASC;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AAAA,EACb,QAAQC;AAAA,EACR,aAAa;AAAA,EACb,QAAQA;AAAA,EACR,aAAa;AAAA,EACb,YAAYD;AAAA,EACZ,UAAUA;AAAA,EACV,UAAUA;AAAA,EACV,WAAWA;AAAA,EACX,WAAW;AAAA,EACX,UAAUE;AAAA,EACV,cAAcF;AAAA,EACd,UAAUA;AAAA,EACV,gBAAgB;AAAA,EAChB,cAAcA;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAcA;AAAA,EACd,aAAa;AAAA,EACb,YAAYA;AAAA,EACZ,WAAWA;AAAA,EACX,aAAa;AAAA,EACb,WAAWA;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAASA;AAAA,EACT,aAAaC;AAAA,EACb,aAAaD;AAAA,EACb,eAAe;AAAA,EACf,aAAaA;AAAA,EACb,aAAaA;AAAA,EACb,OAAO;AAAA,EACP,UAAUG,EAAsC;AAAA,EAChD,UAAUA,EAAmD;AAAA,EAC7D,UAAUA,EAAmD;AAAA,EAC7D,UAAUA,EAAuB;AAAA,EACjC,gBAAgBA,EAAU;AAAA,EAC1B,gBAAgBA,EAAU;AAAA,EAC1B,SAASA,EAAU;AACrB,CAAC;"}