UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 4.04 kB
{"version":3,"file":"props.mjs","sources":["../../../components/modal/props.ts"],"sourcesContent":["import {\r\n booleanProp,\r\n booleanStringProp,\r\n buildProps,\r\n classProp,\r\n eventProp,\r\n localeProp,\r\n sizeProp,\r\n styleProp,\r\n} from '@vexip-ui/config'\r\n\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\nimport type { ConfigurableProps } from '@vexip-ui/config'\r\nimport type { ButtonProps, ButtonType } from '@/components/button'\r\nimport type { ModalSlots, PositionPayload, SizePayload } from './symbol'\r\n\r\nconst positionType = [Number, String]\r\n\r\nexport const positionValidator = (value: string | number) => {\r\n return value === 'auto' || !Number.isNaN(parseFloat(value as string))\r\n}\r\nexport const positionProp = {\r\n default: 'auto' as const,\r\n validator: positionValidator,\r\n}\r\n\r\nexport const modalProps = buildProps({\r\n locale: localeProp('modal'),\r\n transfer: booleanStringProp,\r\n active: booleanProp,\r\n width: positionType,\r\n height: positionType,\r\n top: positionType,\r\n left: positionType,\r\n right: positionType,\r\n bottom: positionType,\r\n title: String,\r\n closable: booleanProp,\r\n inner: booleanProp,\r\n maskClose: booleanProp,\r\n modalClass: classProp,\r\n modalStyle: styleProp,\r\n noFooter: booleanProp,\r\n hideMask: booleanProp,\r\n draggable: booleanProp,\r\n resizable: booleanProp,\r\n onBeforeClose: Function as PropType<(isConfirm: boolean) => any>,\r\n loading: booleanProp,\r\n minWidth: Number,\r\n minHeight: Number,\r\n transitionName: String,\r\n confirmText: String,\r\n cancelText: String,\r\n actionSize: sizeProp,\r\n autoRemove: booleanProp,\r\n confirmType: String as PropType<ButtonType>,\r\n confirmProps: Object as PropType<ButtonProps>,\r\n cancelType: String as PropType<ButtonType>,\r\n cancelProps: Object as PropType<ButtonProps>,\r\n undivided: booleanProp,\r\n xOffset: positionType,\r\n yOffset: positionType,\r\n disableEsc: booleanProp,\r\n slots: Object as PropType<ModalSlots>,\r\n onToggle: eventProp<(active: boolean) => void>(),\r\n onConfirm: eventProp(),\r\n onCancel: eventProp(),\r\n onClose: eventProp(),\r\n onShow: eventProp(),\r\n onHide: eventProp(),\r\n onDragStart: eventProp<(position: PositionPayload) => void>(),\r\n onDragMove: eventProp<(position: PositionPayload) => void>(),\r\n onDragEnd: eventProp<(position: PositionPayload) => void>(),\r\n onResizeStart: eventProp<(size: SizePayload) => void>(),\r\n onResizeMove: eventProp<(size: SizePayload) => void>(),\r\n onResizeEnd: eventProp<(size: SizePayload) => void>(),\r\n})\r\n\r\nexport type ModalProps = ExtractPropTypes<typeof modalProps>\r\nexport type ModalCProps = ConfigurableProps<ModalProps, never, 'onBeforeClose'>\r\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,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,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;"}