@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
34 lines • 1.34 kB
JavaScript
import React from 'react';
var MediaButtonPlayOrPause;
(function (MediaButtonPlayOrPause) {
MediaButtonPlayOrPause["PLAY"] = "play";
MediaButtonPlayOrPause["PAUSE"] = "pause";
})(MediaButtonPlayOrPause || (MediaButtonPlayOrPause = {}));
export const useAutomateControl = ({ isPlayingInitially = true, onClickMediaButton, }) => {
const [isPlaying, setIsPlaying] = React.useState(isPlayingInitially);
const [mediaButtonPlayOrPause, setMediaButtonPlayOrPause] = React.useState(isPlayingInitially ? MediaButtonPlayOrPause.PLAY : MediaButtonPlayOrPause.PAUSE);
const handleClickMediaButton = (playing, event) => {
setMediaButtonPlayOrPause(isPlaying ? MediaButtonPlayOrPause.PAUSE : MediaButtonPlayOrPause.PLAY);
setIsPlaying(prev => !prev);
onClickMediaButton?.(playing, event);
};
const handleMouseOver = () => {
if (mediaButtonPlayOrPause === MediaButtonPlayOrPause.PAUSE) {
return;
}
setIsPlaying(false);
};
const handleMouseOut = () => {
if (mediaButtonPlayOrPause === MediaButtonPlayOrPause.PAUSE) {
return;
}
setIsPlaying(true);
};
return {
handleClickMediaButton,
handleMouseOver,
handleMouseOut,
isPlaying,
};
};
//# sourceMappingURL=useAutomateControl.js.map