{"version":3,"file":"props.cjs","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 { ButtonProps, 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  confirmProps: Object as PropType<ButtonProps>,\n  cancelType: String as PropType<ButtonType>,\n  cancelProps: Object as PropType<ButtonProps>,\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":"oHAgBMA,EAAe,CAAC,OAAQ,MAAM,EAEvBC,EAAqBC,GACzBA,IAAU,QAAU,CAAC,OAAO,MAAM,WAAWA,CAAe,CAAC,EAEzDC,EAAe,CAC1B,QAAS,OACT,UAAWF,CACb,EAEaG,EAAaC,EAAAA,WAAW,CACnC,OAAQC,aAAW,OAAO,EAC1B,SAAUC,EAAA,kBACV,OAAQC,EAAA,YACR,MAAOR,EACP,OAAQA,EACR,IAAKA,EACL,KAAMA,EACN,MAAOA,EACP,OAAQA,EACR,MAAO,OACP,SAAUQ,EAAA,YACV,MAAOA,EAAA,YACP,UAAWA,EAAA,YACX,WAAYC,EAAA,UACZ,WAAYC,EAAA,UACZ,SAAUF,EAAA,YACV,SAAUA,EAAA,YACV,UAAWA,EAAA,YACX,UAAWA,EAAA,YACX,cAAe,SACf,QAASA,EAAA,YACT,SAAU,OACV,UAAW,OACX,eAAgB,OAChB,YAAa,OACb,WAAY,OACZ,WAAYG,EAAA,SACZ,WAAYH,EAAA,YACZ,YAAa,OACb,aAAc,OACd,WAAY,OACZ,YAAa,OACb,UAAWA,EAAA,YACX,QAASR,EACT,QAASA,EACT,WAAYQ,EAAA,YACZ,MAAO,OACP,SAAUI,EAAAA,UAAqC,EAC/C,UAAWA,EAAAA,UAAU,EACrB,SAAUA,EAAAA,UAAU,EACpB,QAASA,EAAAA,UAAU,EACnB,OAAQA,EAAAA,UAAU,EAClB,OAAQA,EAAAA,UAAU,EAClB,YAAaA,EAAAA,UAA+C,EAC5D,WAAYA,EAAAA,UAA+C,EAC3D,UAAWA,EAAAA,UAA+C,EAC1D,cAAeA,EAAAA,UAAuC,EACtD,aAAcA,EAAAA,UAAuC,EACrD,YAAaA,EAAuC,UAAA,CACtD,CAAC"}