{"version":3,"file":"props.mjs","sources":["../../../components/cascader/props.ts"],"sourcesContent":["import {\r\n  booleanProp,\r\n  booleanStringProp,\r\n  buildProps,\r\n  eventProp,\r\n  iconProp,\r\n  localeProp,\r\n  sizeProp,\r\n  stateProp,\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 } from '@vexip-ui/config'\r\nimport type { Placement } from '@vexip-ui/hooks'\r\nimport type { TagType } from '@/components/tag'\r\nimport type { CascaderKeyConfig, CascaderSlots, CascaderValue, Data } from './symbol'\r\n\r\ntype ChangeEvent =\r\n  | ((value: CascaderValue, data: Data[] | Data[][]) => void)\r\n  | ((value: (string | number)[], data: Data[]) => void)\r\n  | ((value: string[], data: Data[]) => void)\r\n  | ((value: number[], data: Data[]) => void)\r\n  | ((value: (string | number)[][], data: Data[][]) => void)\r\n  | ((value: string[][], data: Data[][]) => void)\r\n  | ((value: number[][], data: Data[][]) => void)\r\n\r\nexport const cascaderProps = buildProps({\r\n  size: sizeProp,\r\n  state: stateProp,\r\n  locale: localeProp('select'),\r\n  value: Array as PropType<CascaderValue>,\r\n  visible: booleanProp,\r\n  options: Array as PropType<Data[]>,\r\n  placeholder: String,\r\n  prefix: iconProp,\r\n  prefixColor: String,\r\n  suffix: iconProp,\r\n  suffixColor: String,\r\n  noCascaded: booleanProp,\r\n  multiple: booleanProp,\r\n  disabled: booleanProp,\r\n  clearable: booleanProp,\r\n  placement: String as PropType<Placement>,\r\n  transfer: booleanStringProp,\r\n  staticSuffix: booleanProp,\r\n  noSuffix: booleanProp,\r\n  transitionName: String,\r\n  outsideClose: booleanProp,\r\n  keyConfig: Object as PropType<CascaderKeyConfig>,\r\n  separator: String,\r\n  hoverTrigger: booleanProp,\r\n  maxTagCount: Number,\r\n  briefLabel: booleanProp,\r\n  noRestTip: booleanProp,\r\n  onAsyncLoad: Function as PropType<(data: Data) => any[] | Promise<any[]>>,\r\n  mergeTags: booleanProp,\r\n  tagType: String as PropType<TagType>,\r\n  emptyText: String,\r\n  loading: booleanProp,\r\n  loadingIcon: iconProp,\r\n  loadingLock: booleanProp,\r\n  loadingEffect: String as PropType<IconEffect>,\r\n  transparent: booleanProp,\r\n  popperAlive: booleanProp,\r\n  slots: Object as PropType<CascaderSlots>,\r\n  onToggle: eventProp<(visible: boolean) => void>(),\r\n  onSelect: eventProp<(fullValue: string, data: Data) => void>(),\r\n  onCancel: eventProp<(fullValue: string, data: Data) => void>(),\r\n  onChange: eventProp<ChangeEvent>(),\r\n  onClickOutside: eventProp(),\r\n  onOutsideClose: eventProp(),\r\n  onClear: eventProp(),\r\n})\r\n\r\nexport type CascaderProps = ExtractPropTypes<typeof cascaderProps>\r\nexport type CascaderCProps = ConfigurableProps<CascaderProps, never, 'onAsyncLoad'>\r\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;"}