@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
41 lines • 1.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAutomateControl = void 0;
const react_1 = __importDefault(require("react"));
var MediaButtonPlayOrPause;
(function (MediaButtonPlayOrPause) {
MediaButtonPlayOrPause["PLAY"] = "play";
MediaButtonPlayOrPause["PAUSE"] = "pause";
})(MediaButtonPlayOrPause || (MediaButtonPlayOrPause = {}));
const useAutomateControl = ({ isPlayingInitially = true, onClickMediaButton, }) => {
const [isPlaying, setIsPlaying] = react_1.default.useState(isPlayingInitially);
const [mediaButtonPlayOrPause, setMediaButtonPlayOrPause] = react_1.default.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,
};
};
exports.useAutomateControl = useAutomateControl;
//# sourceMappingURL=useAutomateControl.js.map