UNPKG

@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
"use strict"; 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