This commit is contained in:
20
node_modules/@floating-ui/react/LICENSE
generated
vendored
Normal file
20
node_modules/@floating-ui/react/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021-present Floating UI contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
3
node_modules/@floating-ui/react/README.md
generated
vendored
Normal file
3
node_modules/@floating-ui/react/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# @floating-ui/react
|
||||
|
||||
This is the library to use Floating UI with React.
|
||||
1369
node_modules/@floating-ui/react/dist/floating-ui.react.d.mts
generated
vendored
Normal file
1369
node_modules/@floating-ui/react/dist/floating-ui.react.d.mts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1369
node_modules/@floating-ui/react/dist/floating-ui.react.d.ts
generated
vendored
Normal file
1369
node_modules/@floating-ui/react/dist/floating-ui.react.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4623
node_modules/@floating-ui/react/dist/floating-ui.react.esm.js
generated
vendored
Normal file
4623
node_modules/@floating-ui/react/dist/floating-ui.react.esm.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4623
node_modules/@floating-ui/react/dist/floating-ui.react.mjs
generated
vendored
Normal file
4623
node_modules/@floating-ui/react/dist/floating-ui.react.mjs
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5498
node_modules/@floating-ui/react/dist/floating-ui.react.umd.js
generated
vendored
Normal file
5498
node_modules/@floating-ui/react/dist/floating-ui.react.umd.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
node_modules/@floating-ui/react/dist/floating-ui.react.umd.min.js
generated
vendored
Normal file
6
node_modules/@floating-ui/react/dist/floating-ui.react.umd.min.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
43
node_modules/@floating-ui/react/dist/floating-ui.react.utils.d.mts
generated
vendored
Normal file
43
node_modules/@floating-ui/react/dist/floating-ui.react.utils.d.mts
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
import type * as React from 'react';
|
||||
|
||||
export declare function activeElement(doc: Document): Element | null;
|
||||
|
||||
export declare function contains(parent?: Element | null, child?: Element | null): boolean;
|
||||
|
||||
export declare function getDocument(node: Element | null): Document;
|
||||
|
||||
export declare function getPlatform(): string;
|
||||
|
||||
export declare function getTarget(event: Event): EventTarget | null;
|
||||
|
||||
export declare function getUserAgent(): string;
|
||||
|
||||
export declare function isAndroid(): boolean;
|
||||
|
||||
export declare function isEventTargetWithin(event: Event, node: Node | null | undefined): boolean;
|
||||
|
||||
export declare function isJSDOM(): boolean;
|
||||
|
||||
export declare function isMac(): boolean;
|
||||
|
||||
export declare function isMouseLikePointerType(pointerType: string | undefined, strict?: boolean): boolean;
|
||||
|
||||
export declare function isReactEvent(event: any): event is React.SyntheticEvent;
|
||||
|
||||
export declare function isRootElement(element: Element): boolean;
|
||||
|
||||
export declare function isSafari(): boolean;
|
||||
|
||||
export declare function isTypeableCombobox(element: Element | null): boolean;
|
||||
|
||||
export declare function isTypeableElement(element: unknown): boolean;
|
||||
|
||||
export declare function isVirtualClick(event: MouseEvent | PointerEvent): boolean;
|
||||
|
||||
export declare function isVirtualPointerEvent(event: PointerEvent): boolean;
|
||||
|
||||
export declare function stopEvent(event: Event | React.SyntheticEvent): void;
|
||||
|
||||
export declare const TYPEABLE_SELECTOR: string;
|
||||
|
||||
export { }
|
||||
43
node_modules/@floating-ui/react/dist/floating-ui.react.utils.d.ts
generated
vendored
Normal file
43
node_modules/@floating-ui/react/dist/floating-ui.react.utils.d.ts
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
import type * as React from 'react';
|
||||
|
||||
export declare function activeElement(doc: Document): Element | null;
|
||||
|
||||
export declare function contains(parent?: Element | null, child?: Element | null): boolean;
|
||||
|
||||
export declare function getDocument(node: Element | null): Document;
|
||||
|
||||
export declare function getPlatform(): string;
|
||||
|
||||
export declare function getTarget(event: Event): EventTarget | null;
|
||||
|
||||
export declare function getUserAgent(): string;
|
||||
|
||||
export declare function isAndroid(): boolean;
|
||||
|
||||
export declare function isEventTargetWithin(event: Event, node: Node | null | undefined): boolean;
|
||||
|
||||
export declare function isJSDOM(): boolean;
|
||||
|
||||
export declare function isMac(): boolean;
|
||||
|
||||
export declare function isMouseLikePointerType(pointerType: string | undefined, strict?: boolean): boolean;
|
||||
|
||||
export declare function isReactEvent(event: any): event is React.SyntheticEvent;
|
||||
|
||||
export declare function isRootElement(element: Element): boolean;
|
||||
|
||||
export declare function isSafari(): boolean;
|
||||
|
||||
export declare function isTypeableCombobox(element: Element | null): boolean;
|
||||
|
||||
export declare function isTypeableElement(element: unknown): boolean;
|
||||
|
||||
export declare function isVirtualClick(event: MouseEvent | PointerEvent): boolean;
|
||||
|
||||
export declare function isVirtualPointerEvent(event: PointerEvent): boolean;
|
||||
|
||||
export declare function stopEvent(event: Event | React.SyntheticEvent): void;
|
||||
|
||||
export declare const TYPEABLE_SELECTOR: string;
|
||||
|
||||
export { }
|
||||
143
node_modules/@floating-ui/react/dist/floating-ui.react.utils.esm.js
generated
vendored
Normal file
143
node_modules/@floating-ui/react/dist/floating-ui.react.utils.esm.js
generated
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';
|
||||
|
||||
function activeElement(doc) {
|
||||
let activeElement = doc.activeElement;
|
||||
while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
|
||||
var _activeElement;
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function contains(parent, child) {
|
||||
if (!parent || !child) {
|
||||
return false;
|
||||
}
|
||||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
|
||||
|
||||
// First, attempt with faster native method
|
||||
if (parent.contains(child)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// then fallback to custom implementation with Shadow DOM support
|
||||
if (rootNode && isShadowRoot(rootNode)) {
|
||||
let next = child;
|
||||
while (next) {
|
||||
if (parent === next) {
|
||||
return true;
|
||||
}
|
||||
// @ts-ignore
|
||||
next = next.parentNode || next.host;
|
||||
}
|
||||
}
|
||||
|
||||
// Give up, the result is false
|
||||
return false;
|
||||
}
|
||||
// Avoid Chrome DevTools blue warning.
|
||||
function getPlatform() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData != null && uaData.platform) {
|
||||
return uaData.platform;
|
||||
}
|
||||
return navigator.platform;
|
||||
}
|
||||
function getUserAgent() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData && Array.isArray(uaData.brands)) {
|
||||
return uaData.brands.map(_ref => {
|
||||
let {
|
||||
brand,
|
||||
version
|
||||
} = _ref;
|
||||
return brand + "/" + version;
|
||||
}).join(' ');
|
||||
}
|
||||
return navigator.userAgent;
|
||||
}
|
||||
|
||||
// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts
|
||||
function isVirtualClick(event) {
|
||||
// FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.
|
||||
// Try to find a workaround for this. `react-aria` source still has the check.
|
||||
if (event.mozInputSource === 0 && event.isTrusted) {
|
||||
return true;
|
||||
}
|
||||
if (isAndroid() && event.pointerType) {
|
||||
return event.type === 'click' && event.buttons === 1;
|
||||
}
|
||||
return event.detail === 0 && !event.pointerType;
|
||||
}
|
||||
function isVirtualPointerEvent(event) {
|
||||
if (isJSDOM()) return false;
|
||||
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||
|
||||
// iOS VoiceOver returns 0.333• for width/height.
|
||||
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';
|
||||
}
|
||||
function isSafari() {
|
||||
// Chrome DevTools does not complain about navigator.vendor
|
||||
return /apple/i.test(navigator.vendor);
|
||||
}
|
||||
function isAndroid() {
|
||||
const re = /android/i;
|
||||
return re.test(getPlatform()) || re.test(getUserAgent());
|
||||
}
|
||||
function isMac() {
|
||||
return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;
|
||||
}
|
||||
function isJSDOM() {
|
||||
return getUserAgent().includes('jsdom/');
|
||||
}
|
||||
function isMouseLikePointerType(pointerType, strict) {
|
||||
// On some Linux machines with Chromium, mouse inputs return a `pointerType`
|
||||
// of "pen": https://github.com/floating-ui/floating-ui/issues/2015
|
||||
const values = ['mouse', 'pen'];
|
||||
if (!strict) {
|
||||
values.push('', undefined);
|
||||
}
|
||||
return values.includes(pointerType);
|
||||
}
|
||||
function isReactEvent(event) {
|
||||
return 'nativeEvent' in event;
|
||||
}
|
||||
function isRootElement(element) {
|
||||
return element.matches('html,body');
|
||||
}
|
||||
function getDocument(node) {
|
||||
return (node == null ? void 0 : node.ownerDocument) || document;
|
||||
}
|
||||
function isEventTargetWithin(event, node) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath().includes(node);
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't
|
||||
const e = event;
|
||||
return e.target != null && node.contains(e.target);
|
||||
}
|
||||
function getTarget(event) {
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath()[0];
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support
|
||||
// `composedPath()`, but browsers without shadow DOM don't.
|
||||
return event.target;
|
||||
}
|
||||
const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled])," + "[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
||||
function isTypeableElement(element) {
|
||||
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
|
||||
}
|
||||
function stopEvent(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
function isTypeableCombobox(element) {
|
||||
if (!element) return false;
|
||||
return element.getAttribute('role') === 'combobox' && isTypeableElement(element);
|
||||
}
|
||||
|
||||
export { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };
|
||||
143
node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
generated
vendored
Normal file
143
node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
generated
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';
|
||||
|
||||
function activeElement(doc) {
|
||||
let activeElement = doc.activeElement;
|
||||
while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
|
||||
var _activeElement;
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function contains(parent, child) {
|
||||
if (!parent || !child) {
|
||||
return false;
|
||||
}
|
||||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
|
||||
|
||||
// First, attempt with faster native method
|
||||
if (parent.contains(child)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// then fallback to custom implementation with Shadow DOM support
|
||||
if (rootNode && isShadowRoot(rootNode)) {
|
||||
let next = child;
|
||||
while (next) {
|
||||
if (parent === next) {
|
||||
return true;
|
||||
}
|
||||
// @ts-ignore
|
||||
next = next.parentNode || next.host;
|
||||
}
|
||||
}
|
||||
|
||||
// Give up, the result is false
|
||||
return false;
|
||||
}
|
||||
// Avoid Chrome DevTools blue warning.
|
||||
function getPlatform() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData != null && uaData.platform) {
|
||||
return uaData.platform;
|
||||
}
|
||||
return navigator.platform;
|
||||
}
|
||||
function getUserAgent() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData && Array.isArray(uaData.brands)) {
|
||||
return uaData.brands.map(_ref => {
|
||||
let {
|
||||
brand,
|
||||
version
|
||||
} = _ref;
|
||||
return brand + "/" + version;
|
||||
}).join(' ');
|
||||
}
|
||||
return navigator.userAgent;
|
||||
}
|
||||
|
||||
// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts
|
||||
function isVirtualClick(event) {
|
||||
// FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.
|
||||
// Try to find a workaround for this. `react-aria` source still has the check.
|
||||
if (event.mozInputSource === 0 && event.isTrusted) {
|
||||
return true;
|
||||
}
|
||||
if (isAndroid() && event.pointerType) {
|
||||
return event.type === 'click' && event.buttons === 1;
|
||||
}
|
||||
return event.detail === 0 && !event.pointerType;
|
||||
}
|
||||
function isVirtualPointerEvent(event) {
|
||||
if (isJSDOM()) return false;
|
||||
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||
|
||||
// iOS VoiceOver returns 0.333• for width/height.
|
||||
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';
|
||||
}
|
||||
function isSafari() {
|
||||
// Chrome DevTools does not complain about navigator.vendor
|
||||
return /apple/i.test(navigator.vendor);
|
||||
}
|
||||
function isAndroid() {
|
||||
const re = /android/i;
|
||||
return re.test(getPlatform()) || re.test(getUserAgent());
|
||||
}
|
||||
function isMac() {
|
||||
return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;
|
||||
}
|
||||
function isJSDOM() {
|
||||
return getUserAgent().includes('jsdom/');
|
||||
}
|
||||
function isMouseLikePointerType(pointerType, strict) {
|
||||
// On some Linux machines with Chromium, mouse inputs return a `pointerType`
|
||||
// of "pen": https://github.com/floating-ui/floating-ui/issues/2015
|
||||
const values = ['mouse', 'pen'];
|
||||
if (!strict) {
|
||||
values.push('', undefined);
|
||||
}
|
||||
return values.includes(pointerType);
|
||||
}
|
||||
function isReactEvent(event) {
|
||||
return 'nativeEvent' in event;
|
||||
}
|
||||
function isRootElement(element) {
|
||||
return element.matches('html,body');
|
||||
}
|
||||
function getDocument(node) {
|
||||
return (node == null ? void 0 : node.ownerDocument) || document;
|
||||
}
|
||||
function isEventTargetWithin(event, node) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath().includes(node);
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't
|
||||
const e = event;
|
||||
return e.target != null && node.contains(e.target);
|
||||
}
|
||||
function getTarget(event) {
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath()[0];
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support
|
||||
// `composedPath()`, but browsers without shadow DOM don't.
|
||||
return event.target;
|
||||
}
|
||||
const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled])," + "[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
||||
function isTypeableElement(element) {
|
||||
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
|
||||
}
|
||||
function stopEvent(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
function isTypeableCombobox(element) {
|
||||
if (!element) return false;
|
||||
return element.getAttribute('role') === 'combobox' && isTypeableElement(element);
|
||||
}
|
||||
|
||||
export { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };
|
||||
188
node_modules/@floating-ui/react/dist/floating-ui.react.utils.umd.js
generated
vendored
Normal file
188
node_modules/@floating-ui/react/dist/floating-ui.react.utils.umd.js
generated
vendored
Normal file
@@ -0,0 +1,188 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.FloatingUIReactUtils = {}));
|
||||
})(this, (function (exports) { 'use strict';
|
||||
|
||||
function hasWindow() {
|
||||
return typeof window !== 'undefined';
|
||||
}
|
||||
function getWindow(node) {
|
||||
var _node$ownerDocument;
|
||||
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
|
||||
}
|
||||
function isHTMLElement(value) {
|
||||
if (!hasWindow()) {
|
||||
return false;
|
||||
}
|
||||
return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
|
||||
}
|
||||
function isShadowRoot(value) {
|
||||
if (!hasWindow() || typeof ShadowRoot === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
||||
}
|
||||
|
||||
function activeElement(doc) {
|
||||
let activeElement = doc.activeElement;
|
||||
while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
|
||||
var _activeElement;
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function contains(parent, child) {
|
||||
if (!parent || !child) {
|
||||
return false;
|
||||
}
|
||||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
|
||||
|
||||
// First, attempt with faster native method
|
||||
if (parent.contains(child)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// then fallback to custom implementation with Shadow DOM support
|
||||
if (rootNode && isShadowRoot(rootNode)) {
|
||||
let next = child;
|
||||
while (next) {
|
||||
if (parent === next) {
|
||||
return true;
|
||||
}
|
||||
// @ts-ignore
|
||||
next = next.parentNode || next.host;
|
||||
}
|
||||
}
|
||||
|
||||
// Give up, the result is false
|
||||
return false;
|
||||
}
|
||||
// Avoid Chrome DevTools blue warning.
|
||||
function getPlatform() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData != null && uaData.platform) {
|
||||
return uaData.platform;
|
||||
}
|
||||
return navigator.platform;
|
||||
}
|
||||
function getUserAgent() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData && Array.isArray(uaData.brands)) {
|
||||
return uaData.brands.map(_ref => {
|
||||
let {
|
||||
brand,
|
||||
version
|
||||
} = _ref;
|
||||
return brand + "/" + version;
|
||||
}).join(' ');
|
||||
}
|
||||
return navigator.userAgent;
|
||||
}
|
||||
|
||||
// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts
|
||||
function isVirtualClick(event) {
|
||||
// FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.
|
||||
// Try to find a workaround for this. `react-aria` source still has the check.
|
||||
if (event.mozInputSource === 0 && event.isTrusted) {
|
||||
return true;
|
||||
}
|
||||
if (isAndroid() && event.pointerType) {
|
||||
return event.type === 'click' && event.buttons === 1;
|
||||
}
|
||||
return event.detail === 0 && !event.pointerType;
|
||||
}
|
||||
function isVirtualPointerEvent(event) {
|
||||
if (isJSDOM()) return false;
|
||||
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||
|
||||
// iOS VoiceOver returns 0.333• for width/height.
|
||||
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';
|
||||
}
|
||||
function isSafari() {
|
||||
// Chrome DevTools does not complain about navigator.vendor
|
||||
return /apple/i.test(navigator.vendor);
|
||||
}
|
||||
function isAndroid() {
|
||||
const re = /android/i;
|
||||
return re.test(getPlatform()) || re.test(getUserAgent());
|
||||
}
|
||||
function isMac() {
|
||||
return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;
|
||||
}
|
||||
function isJSDOM() {
|
||||
return getUserAgent().includes('jsdom/');
|
||||
}
|
||||
function isMouseLikePointerType(pointerType, strict) {
|
||||
// On some Linux machines with Chromium, mouse inputs return a `pointerType`
|
||||
// of "pen": https://github.com/floating-ui/floating-ui/issues/2015
|
||||
const values = ['mouse', 'pen'];
|
||||
if (!strict) {
|
||||
values.push('', undefined);
|
||||
}
|
||||
return values.includes(pointerType);
|
||||
}
|
||||
function isReactEvent(event) {
|
||||
return 'nativeEvent' in event;
|
||||
}
|
||||
function isRootElement(element) {
|
||||
return element.matches('html,body');
|
||||
}
|
||||
function getDocument(node) {
|
||||
return (node == null ? void 0 : node.ownerDocument) || document;
|
||||
}
|
||||
function isEventTargetWithin(event, node) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath().includes(node);
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't
|
||||
const e = event;
|
||||
return e.target != null && node.contains(e.target);
|
||||
}
|
||||
function getTarget(event) {
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath()[0];
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support
|
||||
// `composedPath()`, but browsers without shadow DOM don't.
|
||||
return event.target;
|
||||
}
|
||||
const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled])," + "[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
||||
function isTypeableElement(element) {
|
||||
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
|
||||
}
|
||||
function stopEvent(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
function isTypeableCombobox(element) {
|
||||
if (!element) return false;
|
||||
return element.getAttribute('role') === 'combobox' && isTypeableElement(element);
|
||||
}
|
||||
|
||||
exports.TYPEABLE_SELECTOR = TYPEABLE_SELECTOR;
|
||||
exports.activeElement = activeElement;
|
||||
exports.contains = contains;
|
||||
exports.getDocument = getDocument;
|
||||
exports.getPlatform = getPlatform;
|
||||
exports.getTarget = getTarget;
|
||||
exports.getUserAgent = getUserAgent;
|
||||
exports.isAndroid = isAndroid;
|
||||
exports.isEventTargetWithin = isEventTargetWithin;
|
||||
exports.isJSDOM = isJSDOM;
|
||||
exports.isMac = isMac;
|
||||
exports.isMouseLikePointerType = isMouseLikePointerType;
|
||||
exports.isReactEvent = isReactEvent;
|
||||
exports.isRootElement = isRootElement;
|
||||
exports.isSafari = isSafari;
|
||||
exports.isTypeableCombobox = isTypeableCombobox;
|
||||
exports.isTypeableElement = isTypeableElement;
|
||||
exports.isVirtualClick = isVirtualClick;
|
||||
exports.isVirtualPointerEvent = isVirtualPointerEvent;
|
||||
exports.stopEvent = stopEvent;
|
||||
|
||||
}));
|
||||
1
node_modules/@floating-ui/react/dist/floating-ui.react.utils.umd.min.js
generated
vendored
Normal file
1
node_modules/@floating-ui/react/dist/floating-ui.react.utils.umd.min.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FloatingUIReactUtils={})}(this,(function(t){"use strict";function e(){return"undefined"!=typeof window}function n(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(){const t=navigator.userAgentData;return null!=t&&t.platform?t.platform:navigator.platform}function i(){const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?t.brands.map((t=>{let{brand:e,version:n}=t;return e+"/"+n})).join(" "):navigator.userAgent}function r(){const t=/android/i;return t.test(o())||t.test(i())}function u(){return i().includes("jsdom/")}const a="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function s(t){return o=t,!!e()&&(o instanceof HTMLElement||o instanceof n(o).HTMLElement)&&t.matches(a);var o}t.TYPEABLE_SELECTOR=a,t.activeElement=function(t){let e=t.activeElement;for(;null!=(null==(n=e)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;e=e.shadowRoot.activeElement}return e},t.contains=function(t,o){if(!t||!o)return!1;const i=null==o.getRootNode?void 0:o.getRootNode();if(t.contains(o))return!0;if(i&&(r=i,e()&&"undefined"!=typeof ShadowRoot&&(r instanceof ShadowRoot||r instanceof n(r).ShadowRoot))){let e=o;for(;e;){if(t===e)return!0;e=e.parentNode||e.host}}var r;return!1},t.getDocument=function(t){return(null==t?void 0:t.ownerDocument)||document},t.getPlatform=o,t.getTarget=function(t){return"composedPath"in t?t.composedPath()[0]:t.target},t.getUserAgent=i,t.isAndroid=r,t.isEventTargetWithin=function(t,e){if(null==e)return!1;if("composedPath"in t)return t.composedPath().includes(e);const n=t;return null!=n.target&&e.contains(n.target)},t.isJSDOM=u,t.isMac=function(){return o().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints},t.isMouseLikePointerType=function(t,e){const n=["mouse","pen"];return e||n.push("",void 0),n.includes(t)},t.isReactEvent=function(t){return"nativeEvent"in t},t.isRootElement=function(t){return t.matches("html,body")},t.isSafari=function(){return/apple/i.test(navigator.vendor)},t.isTypeableCombobox=function(t){return!!t&&("combobox"===t.getAttribute("role")&&s(t))},t.isTypeableElement=s,t.isVirtualClick=function(t){return!(0!==t.mozInputSource||!t.isTrusted)||(r()&&t.pointerType?"click"===t.type&&1===t.buttons:0===t.detail&&!t.pointerType)},t.isVirtualPointerEvent=function(t){return!u()&&(!r()&&0===t.width&&0===t.height||r()&&1===t.width&&1===t.height&&0===t.pressure&&0===t.detail&&"mouse"===t.pointerType||t.width<1&&t.height<1&&0===t.pressure&&0===t.detail&&"touch"===t.pointerType)},t.stopEvent=function(t){t.preventDefault(),t.stopPropagation()}}));
|
||||
97
node_modules/@floating-ui/react/package.json
generated
vendored
Normal file
97
node_modules/@floating-ui/react/package.json
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"name": "@floating-ui/react",
|
||||
"version": "0.26.28",
|
||||
"description": "Floating UI for React",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"main": "./dist/floating-ui.react.umd.js",
|
||||
"module": "./dist/floating-ui.react.esm.js",
|
||||
"unpkg": "./dist/floating-ui.react.umd.min.js",
|
||||
"types": "./dist/floating-ui.react.d.ts",
|
||||
"exports": {
|
||||
"./package.json": "./package.json",
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/floating-ui.react.d.mts",
|
||||
"default": "./dist/floating-ui.react.mjs"
|
||||
},
|
||||
"types": "./dist/floating-ui.react.d.ts",
|
||||
"module": "./dist/floating-ui.react.esm.js",
|
||||
"default": "./dist/floating-ui.react.umd.js"
|
||||
},
|
||||
"./utils": {
|
||||
"import": {
|
||||
"types": "./dist/floating-ui.react.utils.d.mts",
|
||||
"default": "./dist/floating-ui.react.utils.mjs"
|
||||
},
|
||||
"types": "./dist/floating-ui.react.utils.d.ts",
|
||||
"module": "./dist/floating-ui.react.utils.esm.js",
|
||||
"default": "./dist/floating-ui.react.utils.umd.js"
|
||||
}
|
||||
},
|
||||
"sideEffects": false,
|
||||
"files": [
|
||||
"dist",
|
||||
"utils"
|
||||
],
|
||||
"author": "atomiks",
|
||||
"license": "MIT",
|
||||
"bugs": "https://github.com/floating-ui/floating-ui",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/floating-ui/floating-ui.git",
|
||||
"directory": "packages/react"
|
||||
},
|
||||
"homepage": "https://floating-ui.com/docs/react",
|
||||
"keywords": [
|
||||
"tooltip",
|
||||
"popover",
|
||||
"dropdown",
|
||||
"menu",
|
||||
"popup",
|
||||
"positioning",
|
||||
"react",
|
||||
"react-dom"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8.0",
|
||||
"react-dom": ">=16.8.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"tabbable": "^6.0.0",
|
||||
"@floating-ui/react-dom": "^2.1.2",
|
||||
"@floating-ui/utils": "^0.2.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-react": "^7.23.3",
|
||||
"@radix-ui/react-checkbox": "^1.0.4",
|
||||
"@radix-ui/react-icons": "^1.3.0",
|
||||
"@testing-library/jest-dom": "^6.2.0",
|
||||
"@testing-library/react": "^14.1.2",
|
||||
"@testing-library/user-event": "^14.5.2",
|
||||
"@types/react": "^18.2.46",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"@vitejs/plugin-react": "^4.2.1",
|
||||
"clsx": "^1.2.1",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-responsive": "^9.0.2",
|
||||
"react-router-dom": "^6.21.1",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"use-isomorphic-layout-effect": "^1.1.2",
|
||||
"config": "0.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
"format": "prettier --write .",
|
||||
"clean": "rimraf dist out-tsc utils",
|
||||
"test": "vitest run",
|
||||
"test:watch": "vitest watch",
|
||||
"build": "rollup -c",
|
||||
"build:api": "build-api --tsc tsconfig.lib.json --aec api-extractor.json --aec api-extractor.utils.json",
|
||||
"dev": "vite",
|
||||
"publint": "publint",
|
||||
"typecheck": "tsc -b"
|
||||
}
|
||||
}
|
||||
43
node_modules/@floating-ui/react/utils/floating-ui.react.utils.d.ts
generated
vendored
Normal file
43
node_modules/@floating-ui/react/utils/floating-ui.react.utils.d.ts
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
import type * as React from 'react';
|
||||
|
||||
export declare function activeElement(doc: Document): Element | null;
|
||||
|
||||
export declare function contains(parent?: Element | null, child?: Element | null): boolean;
|
||||
|
||||
export declare function getDocument(node: Element | null): Document;
|
||||
|
||||
export declare function getPlatform(): string;
|
||||
|
||||
export declare function getTarget(event: Event): EventTarget | null;
|
||||
|
||||
export declare function getUserAgent(): string;
|
||||
|
||||
export declare function isAndroid(): boolean;
|
||||
|
||||
export declare function isEventTargetWithin(event: Event, node: Node | null | undefined): boolean;
|
||||
|
||||
export declare function isJSDOM(): boolean;
|
||||
|
||||
export declare function isMac(): boolean;
|
||||
|
||||
export declare function isMouseLikePointerType(pointerType: string | undefined, strict?: boolean): boolean;
|
||||
|
||||
export declare function isReactEvent(event: any): event is React.SyntheticEvent;
|
||||
|
||||
export declare function isRootElement(element: Element): boolean;
|
||||
|
||||
export declare function isSafari(): boolean;
|
||||
|
||||
export declare function isTypeableCombobox(element: Element | null): boolean;
|
||||
|
||||
export declare function isTypeableElement(element: unknown): boolean;
|
||||
|
||||
export declare function isVirtualClick(event: MouseEvent | PointerEvent): boolean;
|
||||
|
||||
export declare function isVirtualPointerEvent(event: PointerEvent): boolean;
|
||||
|
||||
export declare function stopEvent(event: Event | React.SyntheticEvent): void;
|
||||
|
||||
export declare const TYPEABLE_SELECTOR: string;
|
||||
|
||||
export { }
|
||||
143
node_modules/@floating-ui/react/utils/floating-ui.react.utils.esm.js
generated
vendored
Normal file
143
node_modules/@floating-ui/react/utils/floating-ui.react.utils.esm.js
generated
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';
|
||||
|
||||
function activeElement(doc) {
|
||||
let activeElement = doc.activeElement;
|
||||
while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
|
||||
var _activeElement;
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function contains(parent, child) {
|
||||
if (!parent || !child) {
|
||||
return false;
|
||||
}
|
||||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
|
||||
|
||||
// First, attempt with faster native method
|
||||
if (parent.contains(child)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// then fallback to custom implementation with Shadow DOM support
|
||||
if (rootNode && isShadowRoot(rootNode)) {
|
||||
let next = child;
|
||||
while (next) {
|
||||
if (parent === next) {
|
||||
return true;
|
||||
}
|
||||
// @ts-ignore
|
||||
next = next.parentNode || next.host;
|
||||
}
|
||||
}
|
||||
|
||||
// Give up, the result is false
|
||||
return false;
|
||||
}
|
||||
// Avoid Chrome DevTools blue warning.
|
||||
function getPlatform() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData != null && uaData.platform) {
|
||||
return uaData.platform;
|
||||
}
|
||||
return navigator.platform;
|
||||
}
|
||||
function getUserAgent() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData && Array.isArray(uaData.brands)) {
|
||||
return uaData.brands.map(_ref => {
|
||||
let {
|
||||
brand,
|
||||
version
|
||||
} = _ref;
|
||||
return brand + "/" + version;
|
||||
}).join(' ');
|
||||
}
|
||||
return navigator.userAgent;
|
||||
}
|
||||
|
||||
// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts
|
||||
function isVirtualClick(event) {
|
||||
// FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.
|
||||
// Try to find a workaround for this. `react-aria` source still has the check.
|
||||
if (event.mozInputSource === 0 && event.isTrusted) {
|
||||
return true;
|
||||
}
|
||||
if (isAndroid() && event.pointerType) {
|
||||
return event.type === 'click' && event.buttons === 1;
|
||||
}
|
||||
return event.detail === 0 && !event.pointerType;
|
||||
}
|
||||
function isVirtualPointerEvent(event) {
|
||||
if (isJSDOM()) return false;
|
||||
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||
|
||||
// iOS VoiceOver returns 0.333• for width/height.
|
||||
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';
|
||||
}
|
||||
function isSafari() {
|
||||
// Chrome DevTools does not complain about navigator.vendor
|
||||
return /apple/i.test(navigator.vendor);
|
||||
}
|
||||
function isAndroid() {
|
||||
const re = /android/i;
|
||||
return re.test(getPlatform()) || re.test(getUserAgent());
|
||||
}
|
||||
function isMac() {
|
||||
return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;
|
||||
}
|
||||
function isJSDOM() {
|
||||
return getUserAgent().includes('jsdom/');
|
||||
}
|
||||
function isMouseLikePointerType(pointerType, strict) {
|
||||
// On some Linux machines with Chromium, mouse inputs return a `pointerType`
|
||||
// of "pen": https://github.com/floating-ui/floating-ui/issues/2015
|
||||
const values = ['mouse', 'pen'];
|
||||
if (!strict) {
|
||||
values.push('', undefined);
|
||||
}
|
||||
return values.includes(pointerType);
|
||||
}
|
||||
function isReactEvent(event) {
|
||||
return 'nativeEvent' in event;
|
||||
}
|
||||
function isRootElement(element) {
|
||||
return element.matches('html,body');
|
||||
}
|
||||
function getDocument(node) {
|
||||
return (node == null ? void 0 : node.ownerDocument) || document;
|
||||
}
|
||||
function isEventTargetWithin(event, node) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath().includes(node);
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't
|
||||
const e = event;
|
||||
return e.target != null && node.contains(e.target);
|
||||
}
|
||||
function getTarget(event) {
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath()[0];
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support
|
||||
// `composedPath()`, but browsers without shadow DOM don't.
|
||||
return event.target;
|
||||
}
|
||||
const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled])," + "[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
||||
function isTypeableElement(element) {
|
||||
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
|
||||
}
|
||||
function stopEvent(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
function isTypeableCombobox(element) {
|
||||
if (!element) return false;
|
||||
return element.getAttribute('role') === 'combobox' && isTypeableElement(element);
|
||||
}
|
||||
|
||||
export { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };
|
||||
188
node_modules/@floating-ui/react/utils/floating-ui.react.utils.umd.js
generated
vendored
Normal file
188
node_modules/@floating-ui/react/utils/floating-ui.react.utils.umd.js
generated
vendored
Normal file
@@ -0,0 +1,188 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.FloatingUIReactUtils = {}));
|
||||
})(this, (function (exports) { 'use strict';
|
||||
|
||||
function hasWindow() {
|
||||
return typeof window !== 'undefined';
|
||||
}
|
||||
function getWindow(node) {
|
||||
var _node$ownerDocument;
|
||||
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
|
||||
}
|
||||
function isHTMLElement(value) {
|
||||
if (!hasWindow()) {
|
||||
return false;
|
||||
}
|
||||
return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
|
||||
}
|
||||
function isShadowRoot(value) {
|
||||
if (!hasWindow() || typeof ShadowRoot === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
||||
}
|
||||
|
||||
function activeElement(doc) {
|
||||
let activeElement = doc.activeElement;
|
||||
while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
|
||||
var _activeElement;
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function contains(parent, child) {
|
||||
if (!parent || !child) {
|
||||
return false;
|
||||
}
|
||||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
|
||||
|
||||
// First, attempt with faster native method
|
||||
if (parent.contains(child)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// then fallback to custom implementation with Shadow DOM support
|
||||
if (rootNode && isShadowRoot(rootNode)) {
|
||||
let next = child;
|
||||
while (next) {
|
||||
if (parent === next) {
|
||||
return true;
|
||||
}
|
||||
// @ts-ignore
|
||||
next = next.parentNode || next.host;
|
||||
}
|
||||
}
|
||||
|
||||
// Give up, the result is false
|
||||
return false;
|
||||
}
|
||||
// Avoid Chrome DevTools blue warning.
|
||||
function getPlatform() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData != null && uaData.platform) {
|
||||
return uaData.platform;
|
||||
}
|
||||
return navigator.platform;
|
||||
}
|
||||
function getUserAgent() {
|
||||
const uaData = navigator.userAgentData;
|
||||
if (uaData && Array.isArray(uaData.brands)) {
|
||||
return uaData.brands.map(_ref => {
|
||||
let {
|
||||
brand,
|
||||
version
|
||||
} = _ref;
|
||||
return brand + "/" + version;
|
||||
}).join(' ');
|
||||
}
|
||||
return navigator.userAgent;
|
||||
}
|
||||
|
||||
// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts
|
||||
function isVirtualClick(event) {
|
||||
// FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.
|
||||
// Try to find a workaround for this. `react-aria` source still has the check.
|
||||
if (event.mozInputSource === 0 && event.isTrusted) {
|
||||
return true;
|
||||
}
|
||||
if (isAndroid() && event.pointerType) {
|
||||
return event.type === 'click' && event.buttons === 1;
|
||||
}
|
||||
return event.detail === 0 && !event.pointerType;
|
||||
}
|
||||
function isVirtualPointerEvent(event) {
|
||||
if (isJSDOM()) return false;
|
||||
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||
|
||||
// iOS VoiceOver returns 0.333• for width/height.
|
||||
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';
|
||||
}
|
||||
function isSafari() {
|
||||
// Chrome DevTools does not complain about navigator.vendor
|
||||
return /apple/i.test(navigator.vendor);
|
||||
}
|
||||
function isAndroid() {
|
||||
const re = /android/i;
|
||||
return re.test(getPlatform()) || re.test(getUserAgent());
|
||||
}
|
||||
function isMac() {
|
||||
return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;
|
||||
}
|
||||
function isJSDOM() {
|
||||
return getUserAgent().includes('jsdom/');
|
||||
}
|
||||
function isMouseLikePointerType(pointerType, strict) {
|
||||
// On some Linux machines with Chromium, mouse inputs return a `pointerType`
|
||||
// of "pen": https://github.com/floating-ui/floating-ui/issues/2015
|
||||
const values = ['mouse', 'pen'];
|
||||
if (!strict) {
|
||||
values.push('', undefined);
|
||||
}
|
||||
return values.includes(pointerType);
|
||||
}
|
||||
function isReactEvent(event) {
|
||||
return 'nativeEvent' in event;
|
||||
}
|
||||
function isRootElement(element) {
|
||||
return element.matches('html,body');
|
||||
}
|
||||
function getDocument(node) {
|
||||
return (node == null ? void 0 : node.ownerDocument) || document;
|
||||
}
|
||||
function isEventTargetWithin(event, node) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath().includes(node);
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't
|
||||
const e = event;
|
||||
return e.target != null && node.contains(e.target);
|
||||
}
|
||||
function getTarget(event) {
|
||||
if ('composedPath' in event) {
|
||||
return event.composedPath()[0];
|
||||
}
|
||||
|
||||
// TS thinks `event` is of type never as it assumes all browsers support
|
||||
// `composedPath()`, but browsers without shadow DOM don't.
|
||||
return event.target;
|
||||
}
|
||||
const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled])," + "[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
||||
function isTypeableElement(element) {
|
||||
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
|
||||
}
|
||||
function stopEvent(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
function isTypeableCombobox(element) {
|
||||
if (!element) return false;
|
||||
return element.getAttribute('role') === 'combobox' && isTypeableElement(element);
|
||||
}
|
||||
|
||||
exports.TYPEABLE_SELECTOR = TYPEABLE_SELECTOR;
|
||||
exports.activeElement = activeElement;
|
||||
exports.contains = contains;
|
||||
exports.getDocument = getDocument;
|
||||
exports.getPlatform = getPlatform;
|
||||
exports.getTarget = getTarget;
|
||||
exports.getUserAgent = getUserAgent;
|
||||
exports.isAndroid = isAndroid;
|
||||
exports.isEventTargetWithin = isEventTargetWithin;
|
||||
exports.isJSDOM = isJSDOM;
|
||||
exports.isMac = isMac;
|
||||
exports.isMouseLikePointerType = isMouseLikePointerType;
|
||||
exports.isReactEvent = isReactEvent;
|
||||
exports.isRootElement = isRootElement;
|
||||
exports.isSafari = isSafari;
|
||||
exports.isTypeableCombobox = isTypeableCombobox;
|
||||
exports.isTypeableElement = isTypeableElement;
|
||||
exports.isVirtualClick = isVirtualClick;
|
||||
exports.isVirtualPointerEvent = isVirtualPointerEvent;
|
||||
exports.stopEvent = stopEvent;
|
||||
|
||||
}));
|
||||
6
node_modules/@floating-ui/react/utils/package.json
generated
vendored
Normal file
6
node_modules/@floating-ui/react/utils/package.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"sideEffects": false,
|
||||
"main": "floating-ui.react.utils.umd.js",
|
||||
"module": "floating-ui.react.utils.esm.js",
|
||||
"types": "floating-ui.react.utils.d.ts"
|
||||
}
|
||||
Reference in New Issue
Block a user