UNPKG

wix-style-react

Version:
46 lines (37 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createToggleSelection = void 0; /** * @return {{unselectPrevious: Function, selectPrevious: Function}} returns an object with functions that can be used to unselect current and reselect previous selection */ var createToggleSelection = function createToggleSelection() { var unselectCurrent = function unselectCurrent() { var activeTagName = activeElement.tagName.toUpperCase(); if (activeTagName === 'INPUT' || activeTagName === 'TEXTAREA') { activeElement.blur(); } else { activeElement = null; } selectionObject.removeAllRanges(); }; var selectPrevious = function selectPrevious() { selectionObject.removeAllRanges(); ranges.forEach(function (range) { selectionObject.addRange(range); }); activeElement && activeElement.focus(); }; var selectionObject = window.getSelection(); var activeElement = document.activeElement; var ranges = []; for (var i = 0; i < selectionObject.rangeCount; i++) { ranges.push(selectionObject.getRangeAt(i)); } return { unselectCurrent: unselectCurrent, selectPrevious: selectPrevious }; }; exports.createToggleSelection = createToggleSelection;