mirror of
https://github.com/zoriya/v10.git
synced 2026-08-11 00:19:28 +00:00
25 lines
961 B
JavaScript
25 lines
961 B
JavaScript
"use client";
|
|
import { useContainer } from "../../player/context.js";
|
|
import { useLatestRef } from "../../utils/use-latest-ref.js";
|
|
import { getIndicatorVisibilityCoordinator } from "@videojs/core/dom";
|
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
//#region src/ui/input-indicators/use-indicator-visibility.ts
|
|
function useIndicatorVisibility(close) {
|
|
const container = useContainer();
|
|
const closeRef = useLatestRef(close);
|
|
const coordinatorRef = useRef(null);
|
|
const [handle] = useState(() => ({ close: () => closeRef.current() }));
|
|
useEffect(() => {
|
|
if (!container) return;
|
|
const coordinator = getIndicatorVisibilityCoordinator(container);
|
|
coordinatorRef.current = coordinator;
|
|
return coordinator.register(handle);
|
|
}, [container, handle]);
|
|
return useCallback(() => {
|
|
coordinatorRef.current?.show(handle);
|
|
}, [handle]);
|
|
}
|
|
//#endregion
|
|
export { useIndicatorVisibility };
|
|
|
|
//# sourceMappingURL=use-indicator-visibility.js.map
|