UNPKG

@extclp/vexip-ui

Version:

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

1 lines 3.89 kB
{"version":3,"file":"props.mjs","sources":["../../../components/video/props.ts"],"sourcesContent":["import { booleanProp, buildProps, eventProp, iconProp } from '@vexip-ui/config'\r\n\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\nimport type { FullScreenType } from '@/components/full-screen'\r\nimport type { IconEffect } from '@/components/icon'\r\nimport type { ClassType, ConfigurableProps } from '@vexip-ui/config'\r\nimport type {\r\n VideoControlLayout,\r\n VideoControlOption,\r\n VideoControlType,\r\n // VideoKernel,\r\n VideoPlaybackRate,\r\n VideoSegment,\r\n VideoShortcutOptions,\r\n VideoSlots,\r\n} from './symbol'\r\n\r\nexport const videoProps = buildProps({\r\n src: String,\r\n srcList: Array as PropType<string[]>,\r\n noControls: booleanProp,\r\n videoAttrs: Object,\r\n time: Number,\r\n volume: Number,\r\n playbackRate: Number,\r\n playbackRates: Array as PropType<(number | VideoPlaybackRate)[]>,\r\n // kernel: Object as PropType<VideoKernel>,\r\n controlLayout: Object as PropType<VideoControlLayout>,\r\n poster: String,\r\n video: Object as PropType<HTMLVideoElement>,\r\n segments: Array as PropType<(number | VideoSegment)[]>,\r\n loading: booleanProp,\r\n loadingIcon: iconProp,\r\n loadingEffect: String as PropType<IconEffect>,\r\n shortcuts: Object as PropType<VideoShortcutOptions>,\r\n slots: Object as PropType<VideoSlots>,\r\n onPlay: eventProp(),\r\n onPause: eventProp(),\r\n onEnded: eventProp(),\r\n onTimeChange: eventProp<(time: number) => void>(),\r\n onVolumeChange: eventProp<(volume: number) => void>(),\r\n onRateChange: eventProp<(rate: number) => void>(),\r\n onToggleFlip: eventProp<(flip: boolean) => void>(),\r\n onTogglePip: eventProp<(pip: boolean) => void>(),\r\n onToggleFull: eventProp<(full: false | FullScreenType) => void>(),\r\n onPrev: eventProp(),\r\n onNext: eventProp(),\r\n onRefresh: eventProp(),\r\n})\r\n\r\nexport type VideoProps = ExtractPropTypes<typeof videoProps>\r\nexport type VideoCProps = ConfigurableProps<ExtractPropTypes<typeof videoProps>>\r\n\r\nexport const videoControlProps = buildProps({\r\n type: String as PropType<VideoControlType>,\r\n label: String,\r\n tipClass: [String, Array, Object] as PropType<ClassType>,\r\n disabled: booleanProp,\r\n shortcut: String,\r\n focusable: booleanProp,\r\n value: [Number, String],\r\n options: Array as PropType<(string | VideoControlOption)[]>,\r\n onClick: eventProp(),\r\n onEnter: eventProp(),\r\n onLeave: eventProp(),\r\n onFocus: eventProp<(event: FocusEvent) => void>(),\r\n onBlur: eventProp<(event: FocusEvent) => void>(),\r\n onSelect: eventProp<(option: VideoControlOption) => void>(),\r\n})\r\n\r\nexport type VideoControlProps = ExtractPropTypes<typeof videoControlProps>\r\nexport type VideoControlCProps = ConfigurableProps<ExtractPropTypes<typeof videoControlProps>>\r\n"],"names":["videoProps","buildProps","booleanProp","iconProp","eventProp","videoControlProps"],"mappings":";AAiBO,MAAMA,IAAaC,EAAW;AAAA,EACnC,KAAK;AAAA,EACL,SAAS;AAAA,EACT,YAAYC;AAAA,EACZ,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,eAAe;AAAA;AAAA,EAEf,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAASA;AAAA,EACT,aAAaC;AAAA,EACb,eAAe;AAAA,EACf,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQC,EAAU;AAAA,EAClB,SAASA,EAAU;AAAA,EACnB,SAASA,EAAU;AAAA,EACnB,cAAcA,EAAkC;AAAA,EAChD,gBAAgBA,EAAoC;AAAA,EACpD,cAAcA,EAAkC;AAAA,EAChD,cAAcA,EAAmC;AAAA,EACjD,aAAaA,EAAkC;AAAA,EAC/C,cAAcA,EAAkD;AAAA,EAChE,QAAQA,EAAU;AAAA,EAClB,QAAQA,EAAU;AAAA,EAClB,WAAWA,EAAU;AACvB,CAAC,GAKYC,IAAoBJ,EAAW;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU,CAAC,QAAQ,OAAO,MAAM;AAAA,EAChC,UAAUC;AAAA,EACV,UAAU;AAAA,EACV,WAAWA;AAAA,EACX,OAAO,CAAC,QAAQ,MAAM;AAAA,EACtB,SAAS;AAAA,EACT,SAASE,EAAU;AAAA,EACnB,SAASA,EAAU;AAAA,EACnB,SAASA,EAAU;AAAA,EACnB,SAASA,EAAuC;AAAA,EAChD,QAAQA,EAAuC;AAAA,EAC/C,UAAUA,EAAgD;AAC5D,CAAC;"}