UNPKG

@wordpress/dom

Version:
30 lines (28 loc) 901 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = computeCaretRect; var _getRectangleFromRange = _interopRequireDefault(require("./get-rectangle-from-range")); var _assertIsDefined = require("../utils/assert-is-defined"); /** * Internal dependencies */ /** * Get the rectangle for the selection in a container. * * @param {Window} win The window of the selection. * * @return {DOMRect | null} The rectangle. */ function computeCaretRect(win) { const selection = win.getSelection(); (0, _assertIsDefined.assertIsDefined)(selection, 'selection'); const range = selection.rangeCount ? selection.getRangeAt(0) : null; if (!range) { return null; } return (0, _getRectangleFromRange.default)(range); } //# sourceMappingURL=compute-caret-rect.js.map