/** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
import { createContext, useContext } from "react";

//#region src/components/layout/Board/board-context.tsx
const BoardRegistryContext = createContext(null);
function useBoardRegistry() {
	return useContext(BoardRegistryContext);
}
/**
* A stable boolean signalling whether a Board widget is currently being
* dragged. Provided by `BoardProvider` (and therefore by any standalone
* `Board`, which self-wraps in one). Unlike the full `dragState`, this only
* flips on drag start/end, so components that only care about "is a drag in
* progress" (e.g. `Tabs` spring-loading a tab on hover) can subscribe without
* re-rendering on every pointer move. Defaults to `false` outside any Board.
*/
const BoardDragActiveContext = createContext(false);
function useBoardDragActive() {
	return useContext(BoardDragActiveContext);
}
/**
* Whether an ancestor `Board` has its grid-line overlay enabled. A nested board
* that does not set `showGridLines` explicitly reads this to inherit the
* behaviour, showing its own grid lines while a drag is in progress. Defaults to
* `false` outside any grid-lined board.
*/
const BoardGridLinesContext = createContext(false);
function useBoardGridLines() {
	return useContext(BoardGridLinesContext);
}
const BoardMetricsContext = createContext(null);
function useBoardMetrics() {
	return useContext(BoardMetricsContext);
}
const BoardHostContext = createContext(null);
function useBoardHost() {
	return useContext(BoardHostContext);
}

//#endregion
export { BoardDragActiveContext, BoardGridLinesContext, BoardHostContext, BoardMetricsContext, BoardRegistryContext, useBoardDragActive, useBoardGridLines, useBoardHost, useBoardMetrics, useBoardRegistry };
//# sourceMappingURL=board-context.js.map