add hw2
This commit is contained in:
71
node_modules/@react-aria/interactions/dist/textSelection.module.js
generated
vendored
Normal file
71
node_modules/@react-aria/interactions/dist/textSelection.module.js
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
import {isIOS as $7R18e$isIOS, getOwnerDocument as $7R18e$getOwnerDocument, runAfterTransition as $7R18e$runAfterTransition} from "@react-aria/utils";
|
||||
|
||||
/*
|
||||
* Copyright 2020 Adobe. All rights reserved.
|
||||
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License. You may obtain a copy
|
||||
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under
|
||||
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
||||
* OF ANY KIND, either express or implied. See the License for the specific language
|
||||
* governing permissions and limitations under the License.
|
||||
*/
|
||||
// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element
|
||||
// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually
|
||||
let $14c0b72509d70225$var$state = 'default';
|
||||
let $14c0b72509d70225$var$savedUserSelect = '';
|
||||
let $14c0b72509d70225$var$modifiedElementMap = new WeakMap();
|
||||
function $14c0b72509d70225$export$16a4697467175487(target) {
|
||||
if ((0, $7R18e$isIOS)()) {
|
||||
if ($14c0b72509d70225$var$state === 'default') {
|
||||
const documentObject = (0, $7R18e$getOwnerDocument)(target);
|
||||
$14c0b72509d70225$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;
|
||||
documentObject.documentElement.style.webkitUserSelect = 'none';
|
||||
}
|
||||
$14c0b72509d70225$var$state = 'disabled';
|
||||
} else if (target instanceof HTMLElement || target instanceof SVGElement) {
|
||||
// If not iOS, store the target's original user-select and change to user-select: none
|
||||
// Ignore state since it doesn't apply for non iOS
|
||||
let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';
|
||||
$14c0b72509d70225$var$modifiedElementMap.set(target, target.style[property]);
|
||||
target.style[property] = 'none';
|
||||
}
|
||||
}
|
||||
function $14c0b72509d70225$export$b0d6fa1ab32e3295(target) {
|
||||
if ((0, $7R18e$isIOS)()) {
|
||||
// If the state is already default, there's nothing to do.
|
||||
// If it is restoring, then there's no need to queue a second restore.
|
||||
if ($14c0b72509d70225$var$state !== 'disabled') return;
|
||||
$14c0b72509d70225$var$state = 'restoring';
|
||||
// There appears to be a delay on iOS where selection still might occur
|
||||
// after pointer up, so wait a bit before removing user-select.
|
||||
setTimeout(()=>{
|
||||
// Wait for any CSS transitions to complete so we don't recompute style
|
||||
// for the whole page in the middle of the animation and cause jank.
|
||||
(0, $7R18e$runAfterTransition)(()=>{
|
||||
// Avoid race conditions
|
||||
if ($14c0b72509d70225$var$state === 'restoring') {
|
||||
const documentObject = (0, $7R18e$getOwnerDocument)(target);
|
||||
if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $14c0b72509d70225$var$savedUserSelect || '';
|
||||
$14c0b72509d70225$var$savedUserSelect = '';
|
||||
$14c0b72509d70225$var$state = 'default';
|
||||
}
|
||||
});
|
||||
}, 300);
|
||||
} else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any
|
||||
// Ignore state since it doesn't apply for non iOS
|
||||
{
|
||||
if (target && $14c0b72509d70225$var$modifiedElementMap.has(target)) {
|
||||
let targetOldUserSelect = $14c0b72509d70225$var$modifiedElementMap.get(target);
|
||||
let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';
|
||||
if (target.style[property] === 'none') target.style[property] = targetOldUserSelect;
|
||||
if (target.getAttribute('style') === '') target.removeAttribute('style');
|
||||
$14c0b72509d70225$var$modifiedElementMap.delete(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export {$14c0b72509d70225$export$16a4697467175487 as disableTextSelection, $14c0b72509d70225$export$b0d6fa1ab32e3295 as restoreTextSelection};
|
||||
//# sourceMappingURL=textSelection.module.js.map
|
||||
Reference in New Issue
Block a user