{"version":3,"file":"props.mjs","sources":["../../../components/modal/props.ts"],"sourcesContent":["import {\n  booleanProp,\n  booleanStringProp,\n  buildProps,\n  classProp,\n  eventProp,\n  localeProp,\n  sizeProp,\n  styleProp\n} from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { ConfigurableProps } from '@vexip-ui/config'\nimport type { ButtonType } from '@/components/button'\nimport type { ModalSlots, PositionPayload, SizePayload } from './symbol'\n\nconst positionType = [Number, String]\n\nexport const positionValidator = (value: string | number) => {\n  return value === 'auto' || !Number.isNaN(parseFloat(value as string))\n}\nexport const positionProp = {\n  default: 'auto' as const,\n  validator: positionValidator\n}\n\nexport const modalProps = buildProps({\n  locale: localeProp('modal'),\n  transfer: booleanStringProp,\n  active: booleanProp,\n  width: positionType,\n  height: positionType,\n  top: positionType,\n  left: positionType,\n  right: positionType,\n  bottom: positionType,\n  title: String,\n  closable: booleanProp,\n  inner: booleanProp,\n  maskClose: booleanProp,\n  modalClass: classProp,\n  modalStyle: styleProp,\n  noFooter: booleanProp,\n  hideMask: booleanProp,\n  draggable: booleanProp,\n  resizable: booleanProp,\n  onBeforeClose: Function as PropType<(isConfirm: boolean) => any>,\n  loading: booleanProp,\n  minWidth: Number,\n  minHeight: Number,\n  transitionName: String,\n  confirmText: String,\n  cancelText: String,\n  actionSize: sizeProp,\n  autoRemove: booleanProp,\n  confirmType: String as PropType<ButtonType>,\n  cancelType: String as PropType<ButtonType>,\n  undivided: booleanProp,\n  xOffset: positionType,\n  yOffset: positionType,\n  disableEsc: booleanProp,\n  slots: Object as PropType<ModalSlots>,\n  onToggle: eventProp<(active: boolean) => void>(),\n  onConfirm: eventProp(),\n  onCancel: eventProp(),\n  onClose: eventProp(),\n  onShow: eventProp(),\n  onHide: eventProp(),\n  onDragStart: eventProp<(position: PositionPayload) => void>(),\n  onDragMove: eventProp<(position: PositionPayload) => void>(),\n  onDragEnd: eventProp<(position: PositionPayload) => void>(),\n  onResizeStart: eventProp<(size: SizePayload) => void>(),\n  onResizeMove: eventProp<(size: SizePayload) => void>(),\n  onResizeEnd: eventProp<(size: SizePayload) => void>()\n})\n\nexport type ModalProps = ExtractPropTypes<typeof modalProps>\nexport type ModalCProps = ConfigurableProps<ModalProps, never, 'onBeforeClose'>\n"],"names":["positionType","positionValidator","value","positionProp","modalProps","buildProps","localeProp","booleanStringProp","booleanProp","classProp","styleProp","sizeProp","eventProp"],"mappings":";AAgBA,MAAMA,IAAe,CAAC,QAAQ,MAAM,GAEvBC,IAAoB,CAACC,MACzBA,MAAU,UAAU,CAAC,OAAO,MAAM,WAAWA,CAAe,CAAC,GAEzDC,IAAe;AAAA,EAC1B,SAAS;AAAA,EACT,WAAWF;AACb,GAEaG,IAAaC,EAAW;AAAA,EACnC,QAAQC,EAAW,OAAO;AAAA,EAC1B,UAAUC;AAAA,EACV,QAAQC;AAAA,EACR,OAAOR;AAAA,EACP,QAAQA;AAAA,EACR,KAAKA;AAAA,EACL,MAAMA;AAAA,EACN,OAAOA;AAAA,EACP,QAAQA;AAAA,EACR,OAAO;AAAA,EACP,UAAUQ;AAAA,EACV,OAAOA;AAAA,EACP,WAAWA;AAAA,EACX,YAAYC;AAAA,EACZ,YAAYC;AAAA,EACZ,UAAUF;AAAA,EACV,UAAUA;AAAA,EACV,WAAWA;AAAA,EACX,WAAWA;AAAA,EACX,eAAe;AAAA,EACf,SAASA;AAAA,EACT,UAAU;AAAA,EACV,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAYG;AAAA,EACZ,YAAYH;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAWA;AAAA,EACX,SAASR;AAAA,EACT,SAASA;AAAA,EACT,YAAYQ;AAAA,EACZ,OAAO;AAAA,EACP,UAAUI,EAAqC;AAAA,EAC/C,WAAWA,EAAU;AAAA,EACrB,UAAUA,EAAU;AAAA,EACpB,SAASA,EAAU;AAAA,EACnB,QAAQA,EAAU;AAAA,EAClB,QAAQA,EAAU;AAAA,EAClB,aAAaA,EAA+C;AAAA,EAC5D,YAAYA,EAA+C;AAAA,EAC3D,WAAWA,EAA+C;AAAA,EAC1D,eAAeA,EAAuC;AAAA,EACtD,cAAcA,EAAuC;AAAA,EACrD,aAAaA,EAAuC;AACtD,CAAC;"}