@gluestack-ui/core
Version:
Universal UI components for React Native, Expo, and Next.js
29 lines • 941 B
JavaScript
import { runAfterTransition } from '@react-aria/utils';
let state = 'default';
let savedUserSelect = '';
export function disableTextSelection() {
if (state === 'default') {
savedUserSelect = document.documentElement.style.webkitUserSelect;
document.documentElement.style.webkitUserSelect = 'none';
}
state = 'disabled';
}
export function restoreTextSelection() {
if (state !== 'disabled') {
return;
}
state = 'restoring';
setTimeout(() => {
runAfterTransition(() => {
if (state === 'restoring') {
if (document.documentElement.style.webkitUserSelect === 'none') {
document.documentElement.style.webkitUserSelect =
savedUserSelect || '';
}
savedUserSelect = '';
state = 'default';
}
});
}, 300);
}
//# sourceMappingURL=textSelection.js.map