"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useHoverState; var _context = require("@rc-component/context"); var _TableContext = _interopRequireDefault(require("../context/TableContext")); /** Check if cell is in hover range */ function inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) { var cellEndRow = cellStartRow + cellRowSpan - 1; return cellStartRow <= endRow && cellEndRow >= startRow; } function useHoverState(rowIndex, rowSpan) { return (0, _context.useContext)(_TableContext.default, function (ctx) { var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow); return [hovering, ctx.onHover]; }); }