softbuilders-react-video-player
Advanced tools
Comparing version 1.1.55 to 1.1.56
@@ -13,4 +13,5 @@ import React from "react"; | ||
disableNote?: boolean; | ||
childRef?: React.Ref<HTMLDivElement>; | ||
}; | ||
declare const SoftBuildersVideoPlayer: React.MemoExoticComponent<(<T>({ options, notes, chapters, startTime, handleSaveNoteAction, onPlay, onPause, isFocused, disableNote, }: Props<T>) => import("react/jsx-runtime").JSX.Element)>; | ||
declare const SoftBuildersVideoPlayer: React.MemoExoticComponent<React.ForwardRefExoticComponent<Props<any> & React.RefAttributes<HTMLDivElement>>>; | ||
export default SoftBuildersVideoPlayer; |
import { jsx as _jsx } from "react/jsx-runtime"; | ||
import { memo, useEffect, useState } from "react"; | ||
import { forwardRef, memo, useEffect, useState } from "react"; | ||
import VideoPlayerComponent from "../VideoPlayerComponent"; | ||
@@ -15,3 +15,3 @@ import { convertSRTtoVTT } from "../../utils"; | ||
}; | ||
const Component = ({ options, notes, chapters, startTime = 0, handleSaveNoteAction, onPlay, onPause, isFocused = true, disableNote, }) => { | ||
const Component = forwardRef(({ options, notes, chapters, startTime = 0, handleSaveNoteAction, onPlay, onPause, isFocused = true, disableNote, childRef, }) => { | ||
options = Object.assign(Object.assign({}, options), { responsive: true, inactivityTimeout: 0, fullscreen: { | ||
@@ -50,4 +50,4 @@ navigationUI: "hide", | ||
const id = (Date.now() + Math.random() * 100).toString(); | ||
return (_jsx(VideoPlayerComponent, { id: id, chapters: chapters, options: Object.assign(Object.assign({}, options), { tracks }), notes: notes, poster: "", startTime: startTime, handleSaveNoteAction: handleSaveNoteAction, disableNote: disableNote, onPause: onPause, onPlay: onPlay })); | ||
}; | ||
return (_jsx(VideoPlayerComponent, { id: id, chapters: chapters, options: Object.assign(Object.assign({}, options), { tracks }), notes: notes, poster: "", startTime: startTime, handleSaveNoteAction: handleSaveNoteAction, disableNote: disableNote, onPause: onPause, onPlay: onPlay, childRef: childRef })); | ||
}); | ||
const SoftBuildersVideoPlayer = memo(Component, (prevProps, nextProps) => { | ||
@@ -54,0 +54,0 @@ return (prevProps.options === nextProps.options && |
@@ -0,1 +1,2 @@ | ||
import React from "react"; | ||
import "video.js/dist/video-js.css"; | ||
@@ -16,4 +17,5 @@ import { SoftBuildersVideoPlayerChapter, SoftBuildersVideoPlayerNote, SoftBuildersVideoPlayerOptions } from "../../types"; | ||
disableNote?: boolean; | ||
childRef?: React.Ref<HTMLDivElement>; | ||
}; | ||
declare const VideoPlayerComponent: <T>({ id, options, notes, chapters, startTime, handleSaveNoteAction, poster, onPlay, onPause, disableNote, }: Props<T>) => import("react/jsx-runtime").JSX.Element; | ||
declare const VideoPlayerComponent: React.ForwardRefExoticComponent<Props<any> & React.RefAttributes<HTMLDivElement>>; | ||
export default VideoPlayerComponent; |
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; | ||
import { useEffect, useRef, useState } from "react"; | ||
import { forwardRef, useEffect, useRef, useState } from "react"; | ||
import ReactDOM from "react-dom/client"; | ||
@@ -46,3 +46,3 @@ import videojs from "video.js"; | ||
}; | ||
const VideoPlayerComponent = ({ id, options, notes, chapters, startTime = 0, handleSaveNoteAction, poster, onPlay, onPause, disableNote, }) => { | ||
const VideoPlayerComponent = forwardRef(({ id, options, notes, chapters, startTime = 0, handleSaveNoteAction, poster, onPlay, onPause, disableNote, childRef, }) => { | ||
var _a; | ||
@@ -283,7 +283,7 @@ const videoRef = useRef(undefined); | ||
handlePlayerClick(event, true); | ||
}, className: "sb-relative sb-rounded-md sb-overflow-hidden sb-w-full sb-h-full sb-bottom-2 ", onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [_jsx("div", { className: `sb-h-[3px] sb-transition-opacity sb-duration-500 sb-delay-400 sb-z-10 ease-in-out sb-border-spacing-x-2 sb-absolute sb-bg-[red] sb-bottom-0 ${opacity == "100" ? "sb-opacity-0" : "sb-opacity-100"}`, style: { | ||
}, className: "sb-relative sb-rounded-md sb-overflow-hidden sb-w-full sb-h-full sb-bottom-2 ", onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [_jsx("div", { ref: childRef, onClick: handlePlayerClick, className: `sb-h-[3px] sb-transition-opacity sb-duration-500 sb-delay-400 sb-z-10 ease-in-out sb-border-spacing-x-2 sb-absolute sb-bg-[red] sb-bottom-0 ${opacity == "100" ? "sb-opacity-0" : "sb-opacity-100"}`, style: { | ||
width: timeSeeker, | ||
} }), _jsx("div", { className: "hover:sb-cursor-pointer sb-w-full sb-h-full", "data-vjs-player": true, children: _jsx("div", { onClick: handlePlayerClick, ref: videoRef, className: "sb-h-full sb-w-full sb-relative" }) })] })); | ||
}; | ||
}); | ||
export default VideoPlayerComponent; | ||
//# sourceMappingURL=index.js.map |
@@ -25,2 +25,3 @@ export type SoftBuildersVideoPlayerSource = { | ||
height?: number; | ||
childRef?: React.Ref<HTMLDivElement>; | ||
}; | ||
@@ -27,0 +28,0 @@ export interface SoftBuildersVideoPlayerNote { |
{ | ||
"name": "softbuilders-react-video-player", | ||
"description": "Standalone video player component", | ||
"version": "1.1.55", | ||
"version": "1.1.56", | ||
"main": "dist/index.js", | ||
@@ -6,0 +6,0 @@ "types": "dist/index.d.ts", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
323345
7040