@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
15 lines • 2.25 kB
JavaScript
import { tuiIsTextfield } from './element-checks';
/**
* @description:
* cross browser way to get selected text
*
* History:
* BUG - window.getSelection() fails when text selected in a form field
* https://bugzilla.mozilla.org/show_bug.cgi?id=85686
*/
export function tuiGetSelectedText({ getSelection, document }) {
return document.activeElement && tuiIsTextfield(document.activeElement)
? document.activeElement.value.slice(document.activeElement.selectionStart || 0, document.activeElement.selectionEnd || 0)
: getSelection()?.toString() || null;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGVkLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2dldC1zZWxlY3RlZC10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBUztJQUMvRCxPQUFPLFFBQVEsQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDbkUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FDOUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUMxQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQzNDO1FBQ0gsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlJc1RleHRmaWVsZH0gZnJvbSAnLi9lbGVtZW50LWNoZWNrcyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uOlxuICogY3Jvc3MgYnJvd3NlciB3YXkgdG8gZ2V0IHNlbGVjdGVkIHRleHRcbiAqXG4gKiBIaXN0b3J5OlxuICogQlVHIC0gd2luZG93LmdldFNlbGVjdGlvbigpIGZhaWxzIHdoZW4gdGV4dCBzZWxlY3RlZCBpbiBhIGZvcm0gZmllbGRcbiAqIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg1Njg2XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlHZXRTZWxlY3RlZFRleHQoe2dldFNlbGVjdGlvbiwgZG9jdW1lbnR9OiBXaW5kb3cpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiB0dWlJc1RleHRmaWVsZChkb2N1bWVudC5hY3RpdmVFbGVtZW50KVxuICAgICAgICA/IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQudmFsdWUuc2xpY2UoXG4gICAgICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgfHwgMCxcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgfHwgMCxcbiAgICAgICAgICApXG4gICAgICAgIDogZ2V0U2VsZWN0aW9uKCk/LnRvU3RyaW5nKCkgfHwgbnVsbDtcbn1cbiJdfQ==