vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 3.88 kB
Source Map (JSON)
{"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 { 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":";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;"}