{"version":3,"file":"props.cjs","sources":["../../../components/video/props.ts"],"sourcesContent":["import { booleanProp, buildProps, eventProp, iconProp } from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { FullScreenType } from '@/components/full-screen'\nimport type { IconEffect } from '@/components/icon'\nimport type { ClassType, ConfigurableProps } from '@vexip-ui/config'\nimport type {\n  VideoControlLayout,\n  VideoControlOption,\n  VideoControlType,\n  // VideoKernel,\n  VideoPlaybackRate,\n  VideoSegment,\n  VideoShortcutOptions,\n  VideoSlots,\n} from './symbol'\n\nexport const videoProps = buildProps({\n  src: String,\n  srcList: Array as PropType<string[]>,\n  noControls: booleanProp,\n  videoAttrs: Object,\n  time: Number,\n  volume: Number,\n  playbackRate: Number,\n  playbackRates: Array as PropType<(number | VideoPlaybackRate)[]>,\n  // kernel: Object as PropType<VideoKernel>,\n  controlLayout: Object as PropType<VideoControlLayout>,\n  poster: String,\n  video: Object as PropType<HTMLVideoElement>,\n  segments: Array as PropType<(number | VideoSegment)[]>,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingEffect: String as PropType<IconEffect>,\n  shortcuts: Object as PropType<VideoShortcutOptions>,\n  slots: Object as PropType<VideoSlots>,\n  onPlay: eventProp(),\n  onPause: eventProp(),\n  onEnded: eventProp(),\n  onTimeChange: eventProp<(time: number) => void>(),\n  onVolumeChange: eventProp<(volume: number) => void>(),\n  onRateChange: eventProp<(rate: number) => void>(),\n  onToggleFlip: eventProp<(flip: boolean) => void>(),\n  onTogglePip: eventProp<(pip: boolean) => void>(),\n  onToggleFull: eventProp<(full: false | FullScreenType) => void>(),\n  onPrev: eventProp(),\n  onNext: eventProp(),\n  onRefresh: eventProp(),\n})\n\nexport type VideoProps = ExtractPropTypes<typeof videoProps>\nexport type VideoCProps = ConfigurableProps<ExtractPropTypes<typeof videoProps>>\n\nexport const videoControlProps = buildProps({\n  type: String as PropType<VideoControlType>,\n  label: String,\n  tipClass: [String, Array, Object] as PropType<ClassType>,\n  disabled: booleanProp,\n  shortcut: String,\n  focusable: booleanProp,\n  value: [Number, String],\n  options: Array as PropType<(string | VideoControlOption)[]>,\n  onClick: eventProp(),\n  onEnter: eventProp(),\n  onLeave: eventProp(),\n  onFocus: eventProp<(event: FocusEvent) => void>(),\n  onBlur: eventProp<(event: FocusEvent) => void>(),\n  onSelect: eventProp<(option: VideoControlOption) => void>(),\n})\n\nexport type VideoControlProps = ExtractPropTypes<typeof videoControlProps>\nexport type VideoControlCProps = ConfigurableProps<ExtractPropTypes<typeof videoControlProps>>\n"],"names":["videoProps","buildProps","booleanProp","iconProp","eventProp","videoControlProps"],"mappings":"oHAiBaA,EAAaC,EAAAA,WAAW,CACnC,IAAK,OACL,QAAS,MACT,WAAYC,EAAA,YACZ,WAAY,OACZ,KAAM,OACN,OAAQ,OACR,aAAc,OACd,cAAe,MAEf,cAAe,OACf,OAAQ,OACR,MAAO,OACP,SAAU,MACV,QAASA,EAAA,YACT,YAAaC,EAAA,SACb,cAAe,OACf,UAAW,OACX,MAAO,OACP,OAAQC,EAAAA,UAAU,EAClB,QAASA,EAAAA,UAAU,EACnB,QAASA,EAAAA,UAAU,EACnB,aAAcA,EAAAA,UAAkC,EAChD,eAAgBA,EAAAA,UAAoC,EACpD,aAAcA,EAAAA,UAAkC,EAChD,aAAcA,EAAAA,UAAmC,EACjD,YAAaA,EAAAA,UAAkC,EAC/C,aAAcA,EAAAA,UAAkD,EAChE,OAAQA,EAAAA,UAAU,EAClB,OAAQA,EAAAA,UAAU,EAClB,UAAWA,EAAU,UAAA,CACvB,CAAC,EAKYC,EAAoBJ,EAAAA,WAAW,CAC1C,KAAM,OACN,MAAO,OACP,SAAU,CAAC,OAAQ,MAAO,MAAM,EAChC,SAAUC,EAAA,YACV,SAAU,OACV,UAAWA,EAAA,YACX,MAAO,CAAC,OAAQ,MAAM,EACtB,QAAS,MACT,QAASE,EAAAA,UAAU,EACnB,QAASA,EAAAA,UAAU,EACnB,QAASA,EAAAA,UAAU,EACnB,QAASA,EAAAA,UAAuC,EAChD,OAAQA,EAAAA,UAAuC,EAC/C,SAAUA,EAAgD,UAAA,CAC5D,CAAC"}