Latest repo

This commit is contained in:
Marc
2025-06-02 16:42:16 +00:00
parent 53ddf1a329
commit cde5fae175
27907 changed files with 3875388 additions and 1 deletions

90
node_modules/react-overlays/cjs/Dropdown.d.ts generated vendored Normal file
View File

@@ -0,0 +1,90 @@
import React from 'react';
import PropTypes from 'prop-types';
import { DropDirection } from './DropdownContext';
import DropdownMenu from './DropdownMenu';
import DropdownToggle from './DropdownToggle';
export interface DropdownInjectedProps {
onKeyDown: React.KeyboardEventHandler;
}
export interface DropdownProps {
drop?: DropDirection;
alignEnd?: boolean;
defaultShow?: boolean;
show?: boolean;
onToggle: (nextShow: boolean, event?: React.SyntheticEvent | Event) => void;
itemSelector?: string;
focusFirstItemOnShow?: false | true | 'keyboard';
children: React.ReactNode;
}
/**
* @displayName Dropdown
* @public
*/
declare function Dropdown({ drop, alignEnd, defaultShow, show: rawShow, onToggle: rawOnToggle, itemSelector, focusFirstItemOnShow, children, }: DropdownProps): JSX.Element;
declare namespace Dropdown {
var displayName: string;
var propTypes: {
/**
* A render prop that returns the root dropdown element. The `props`
* argument should spread through to an element containing _both_ the
* menu and toggle in order to handle keyboard events for focus management.
*
* @type {Function ({
* props: {
* onKeyDown: (SyntheticEvent) => void,
* },
* }) => React.Element}
*/
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* Determines the direction and location of the Menu in relation to it's Toggle.
*/
drop: PropTypes.Requireable<string>;
/**
* Controls the focus behavior for when the Dropdown is opened. Set to
* `true` to always focus the first menu item, `keyboard` to focus only when
* navigating via the keyboard, or `false` to disable completely
*
* The Default behavior is `false` **unless** the Menu has a `role="menu"`
* where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).
*/
focusFirstItemOnShow: PropTypes.Requireable<string | boolean>;
/**
* A css slector string that will return __focusable__ menu items.
* Selectors should be relative to the menu component:
* e.g. ` > li:not('.disabled')`
*/
itemSelector: PropTypes.Requireable<string>;
/**
* Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`.
*/
alignEnd: PropTypes.Requireable<boolean>;
/**
* Whether or not the Dropdown is visible.
*
* @controllable onToggle
*/
show: PropTypes.Requireable<boolean>;
/**
* Sets the initial show position of the Dropdown.
*/
defaultShow: PropTypes.Requireable<boolean>;
/**
* A callback fired when the Dropdown wishes to change visibility. Called with the requested
* `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.
*
* ```ts static
* function(
* isOpen: boolean,
* event: SyntheticEvent,
* ): void
* ```
*
* @controllable show
*/
onToggle: PropTypes.Requireable<(...args: any[]) => any>;
};
var Menu: typeof DropdownMenu;
var Toggle: typeof DropdownToggle;
}
export default Dropdown;

294
node_modules/react-overlays/cjs/Dropdown.js generated vendored Normal file
View File

@@ -0,0 +1,294 @@
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _matches = _interopRequireDefault(require("dom-helpers/matches"));
var _querySelectorAll = _interopRequireDefault(require("dom-helpers/querySelectorAll"));
var _addEventListener = _interopRequireDefault(require("dom-helpers/addEventListener"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _uncontrollable = require("uncontrollable");
var _usePrevious = _interopRequireDefault(require("@restart/hooks/usePrevious"));
var _useForceUpdate = _interopRequireDefault(require("@restart/hooks/useForceUpdate"));
var _useGlobalListener = _interopRequireDefault(require("@restart/hooks/useGlobalListener"));
var _useEventCallback = _interopRequireDefault(require("@restart/hooks/useEventCallback"));
var _DropdownContext = _interopRequireDefault(require("./DropdownContext"));
var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
var _DropdownToggle = _interopRequireDefault(require("./DropdownToggle"));
var propTypes = {
/**
* A render prop that returns the root dropdown element. The `props`
* argument should spread through to an element containing _both_ the
* menu and toggle in order to handle keyboard events for focus management.
*
* @type {Function ({
* props: {
* onKeyDown: (SyntheticEvent) => void,
* },
* }) => React.Element}
*/
children: _propTypes["default"].node,
/**
* Determines the direction and location of the Menu in relation to it's Toggle.
*/
drop: _propTypes["default"].oneOf(['up', 'left', 'right', 'down']),
/**
* Controls the focus behavior for when the Dropdown is opened. Set to
* `true` to always focus the first menu item, `keyboard` to focus only when
* navigating via the keyboard, or `false` to disable completely
*
* The Default behavior is `false` **unless** the Menu has a `role="menu"`
* where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).
*/
focusFirstItemOnShow: _propTypes["default"].oneOf([false, true, 'keyboard']),
/**
* A css slector string that will return __focusable__ menu items.
* Selectors should be relative to the menu component:
* e.g. ` > li:not('.disabled')`
*/
itemSelector: _propTypes["default"].string,
/**
* Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`.
*/
alignEnd: _propTypes["default"].bool,
/**
* Whether or not the Dropdown is visible.
*
* @controllable onToggle
*/
show: _propTypes["default"].bool,
/**
* Sets the initial show position of the Dropdown.
*/
defaultShow: _propTypes["default"].bool,
/**
* A callback fired when the Dropdown wishes to change visibility. Called with the requested
* `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.
*
* ```ts static
* function(
* isOpen: boolean,
* event: SyntheticEvent,
* ): void
* ```
*
* @controllable show
*/
onToggle: _propTypes["default"].func
};
function useRefWithUpdate() {
var forceUpdate = (0, _useForceUpdate["default"])();
var ref = (0, _react.useRef)(null);
var attachRef = (0, _react.useCallback)(function (element) {
ref.current = element; // ensure that a menu set triggers an update for consumers
forceUpdate();
}, [forceUpdate]);
return [ref, attachRef];
}
/**
* @displayName Dropdown
* @public
*/
function Dropdown(_ref) {
var drop = _ref.drop,
alignEnd = _ref.alignEnd,
defaultShow = _ref.defaultShow,
rawShow = _ref.show,
rawOnToggle = _ref.onToggle,
_ref$itemSelector = _ref.itemSelector,
itemSelector = _ref$itemSelector === void 0 ? '* > *' : _ref$itemSelector,
focusFirstItemOnShow = _ref.focusFirstItemOnShow,
children = _ref.children;
var _useUncontrolledProp = (0, _uncontrollable.useUncontrolledProp)(rawShow, defaultShow, rawOnToggle),
show = _useUncontrolledProp[0],
onToggle = _useUncontrolledProp[1]; // We use normal refs instead of useCallbackRef in order to populate the
// the value as quickly as possible, otherwise the effect to focus the element
// may run before the state value is set
var _useRefWithUpdate = useRefWithUpdate(),
menuRef = _useRefWithUpdate[0],
setMenu = _useRefWithUpdate[1];
var menuElement = menuRef.current;
var _useRefWithUpdate2 = useRefWithUpdate(),
toggleRef = _useRefWithUpdate2[0],
setToggle = _useRefWithUpdate2[1];
var toggleElement = toggleRef.current;
var lastShow = (0, _usePrevious["default"])(show);
var lastSourceEvent = (0, _react.useRef)(null);
var focusInDropdown = (0, _react.useRef)(false);
var toggle = (0, _react.useCallback)(function (nextShow, event) {
onToggle(nextShow, event);
}, [onToggle]);
var context = (0, _react.useMemo)(function () {
return {
toggle: toggle,
drop: drop,
show: show,
alignEnd: alignEnd,
menuElement: menuElement,
toggleElement: toggleElement,
setMenu: setMenu,
setToggle: setToggle
};
}, [toggle, drop, show, alignEnd, menuElement, toggleElement, setMenu, setToggle]);
if (menuElement && lastShow && !show) {
focusInDropdown.current = menuElement.contains(document.activeElement);
}
var focusToggle = (0, _useEventCallback["default"])(function () {
if (toggleElement && toggleElement.focus) {
toggleElement.focus();
}
});
var maybeFocusFirst = (0, _useEventCallback["default"])(function () {
var type = lastSourceEvent.current;
var focusType = focusFirstItemOnShow;
if (focusType == null) {
focusType = menuRef.current && (0, _matches["default"])(menuRef.current, '[role=menu]') ? 'keyboard' : false;
}
if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {
return;
}
var first = (0, _querySelectorAll["default"])(menuRef.current, itemSelector)[0];
if (first && first.focus) first.focus();
});
(0, _react.useEffect)(function () {
if (show) maybeFocusFirst();else if (focusInDropdown.current) {
focusInDropdown.current = false;
focusToggle();
} // only `show` should be changing
}, [show, focusInDropdown, focusToggle, maybeFocusFirst]);
(0, _react.useEffect)(function () {
lastSourceEvent.current = null;
});
var getNextFocusedChild = function getNextFocusedChild(current, offset) {
if (!menuRef.current) return null;
var items = (0, _querySelectorAll["default"])(menuRef.current, itemSelector);
var index = items.indexOf(current) + offset;
index = Math.max(0, Math.min(index, items.length));
return items[index];
};
(0, _useGlobalListener["default"])('keydown', function (event) {
var _menuRef$current, _toggleRef$current;
var key = event.key;
var target = event.target;
var fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target);
var fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target); // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400
// in inscrutability
var isInput = /input|textarea/i.test(target.tagName);
if (isInput && (key === ' ' || key !== 'Escape' && fromMenu)) {
return;
}
if (!fromMenu && !fromToggle) {
return;
}
if (!menuRef.current && key === 'Tab') {
return;
}
lastSourceEvent.current = event.type;
switch (key) {
case 'ArrowUp':
{
var next = getNextFocusedChild(target, -1);
if (next && next.focus) next.focus();
event.preventDefault();
return;
}
case 'ArrowDown':
event.preventDefault();
if (!show) {
onToggle(true, event);
} else {
var _next = getNextFocusedChild(target, 1);
if (_next && _next.focus) _next.focus();
}
return;
case 'Tab':
// on keydown the target is the element being tabbed FROM, we need that
// to know if this event is relevant to this dropdown (e.g. in this menu).
// On `keyup` the target is the element being tagged TO which we use to check
// if focus has left the menu
(0, _addEventListener["default"])(document, 'keyup', function (e) {
var _menuRef$current2;
if (e.key === 'Tab' && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) {
onToggle(false, event);
}
}, {
once: true
});
break;
case 'Escape':
event.preventDefault();
event.stopPropagation();
onToggle(false, event);
break;
default:
}
});
return /*#__PURE__*/_react["default"].createElement(_DropdownContext["default"].Provider, {
value: context
}, children);
}
Dropdown.displayName = 'ReactOverlaysDropdown';
Dropdown.propTypes = propTypes;
Dropdown.Menu = _DropdownMenu["default"];
Dropdown.Toggle = _DropdownToggle["default"];
var _default = Dropdown;
exports["default"] = _default;
module.exports = exports.default;

14
node_modules/react-overlays/cjs/DropdownContext.d.ts generated vendored Normal file
View File

@@ -0,0 +1,14 @@
import React from 'react';
export declare type DropDirection = 'up' | 'down' | 'left' | 'right';
export declare type DropdownContextValue = {
toggle: (nextShow: boolean, event?: React.SyntheticEvent | Event) => void;
menuElement: HTMLElement | null;
toggleElement: HTMLElement | null;
setMenu: (ref: HTMLElement | null) => void;
setToggle: (ref: HTMLElement | null) => void;
show: boolean;
alignEnd?: boolean;
drop?: DropDirection;
};
declare const DropdownContext: React.Context<DropdownContextValue | null>;
export default DropdownContext;

14
node_modules/react-overlays/cjs/DropdownContext.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var DropdownContext = /*#__PURE__*/_react["default"].createContext(null);
var _default = DropdownContext;
exports["default"] = _default;
module.exports = exports.default;

113
node_modules/react-overlays/cjs/DropdownMenu.d.ts generated vendored Normal file
View File

@@ -0,0 +1,113 @@
import PropTypes from 'prop-types';
import React from 'react';
import { DropdownContextValue } from './DropdownContext';
import { UsePopperOptions, Offset, UsePopperState } from './usePopper';
import { RootCloseOptions } from './useRootClose';
export interface UseDropdownMenuOptions {
flip?: boolean;
show?: boolean;
fixed?: boolean;
alignEnd?: boolean;
usePopper?: boolean;
offset?: Offset;
rootCloseEvent?: RootCloseOptions['clickTrigger'];
popperConfig?: Omit<UsePopperOptions, 'enabled' | 'placement'>;
}
export declare type UserDropdownMenuProps = Record<string, any> & {
ref: React.RefCallback<HTMLElement>;
style?: React.CSSProperties;
'aria-labelledby'?: string;
};
export declare type UserDropdownMenuArrowProps = Record<string, any> & {
ref: React.RefCallback<HTMLElement>;
style: React.CSSProperties;
};
export interface UseDropdownMenuMetadata {
show: boolean;
alignEnd?: boolean;
hasShown: boolean;
toggle?: DropdownContextValue['toggle'];
popper: UsePopperState | null;
arrowProps: Partial<UserDropdownMenuArrowProps>;
}
/**
* @memberOf Dropdown
* @param {object} options
* @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection
* @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle
* @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`
* @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.
* @param {string} options.rootCloseEvent The pointer event to listen for when determining "clicks outside" the menu for triggering a close.
* @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.
*/
export declare function useDropdownMenu(options?: UseDropdownMenuOptions): readonly [UserDropdownMenuProps, UseDropdownMenuMetadata];
export interface DropdownMenuProps extends UseDropdownMenuOptions {
children: (props: UserDropdownMenuProps, meta: UseDropdownMenuMetadata) => React.ReactNode;
}
/**
* Also exported as `<Dropdown.Menu>` from `Dropdown`.
*
* @displayName DropdownMenu
* @memberOf Dropdown
*/
declare function DropdownMenu({ children, ...options }: DropdownMenuProps): JSX.Element;
declare namespace DropdownMenu {
var displayName: string;
var propTypes: {
/**
* A render prop that returns a Menu element. The `props`
* argument should spread through to **a component that can accept a ref**.
*
* @type {Function ({
* show: boolean,
* alignEnd: boolean,
* close: (?SyntheticEvent) => void,
* placement: Placement,
* update: () => void,
* forceUpdate: () => void,
* props: {
* ref: (?HTMLElement) => void,
* style: { [string]: string | number },
* aria-labelledby: ?string
* },
* arrowProps: {
* ref: (?HTMLElement) => void,
* style: { [string]: string | number },
* },
* }) => React.Element}
*/
children: PropTypes.Validator<(...args: any[]) => any>;
/**
* Controls the visible state of the menu, generally this is
* provided by the parent `Dropdown` component,
* but may also be specified as a prop directly.
*/
show: PropTypes.Requireable<boolean>;
/**
* Aligns the dropdown menu to the 'end' of it's placement position.
* Generally this is provided by the parent `Dropdown` component,
* but may also be specified as a prop directly.
*/
alignEnd: PropTypes.Requireable<boolean>;
/**
* Enables the Popper.js `flip` modifier, allowing the Dropdown to
* automatically adjust it's placement in case of overlap with the viewport or toggle.
* Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
*/
flip: PropTypes.Requireable<boolean>;
usePopper: PropTypes.Requireable<boolean>;
/**
* A set of popper options and props passed directly to react-popper's Popper component.
*/
popperConfig: PropTypes.Requireable<object>;
/**
* Override the default event used by RootCloseWrapper.
*/
rootCloseEvent: PropTypes.Requireable<string>;
};
var defaultProps: {
usePopper: boolean;
};
}
/** @component */
export default DropdownMenu;

202
node_modules/react-overlays/cjs/DropdownMenu.js generated vendored Normal file
View File

@@ -0,0 +1,202 @@
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.useDropdownMenu = useDropdownMenu;
exports["default"] = void 0;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _useCallbackRef2 = _interopRequireDefault(require("@restart/hooks/useCallbackRef"));
var _DropdownContext = _interopRequireDefault(require("./DropdownContext"));
var _usePopper = _interopRequireDefault(require("./usePopper"));
var _useRootClose = _interopRequireDefault(require("./useRootClose"));
var _mergeOptionsWithPopperConfig = _interopRequireDefault(require("./mergeOptionsWithPopperConfig"));
var noop = function noop() {};
/**
* @memberOf Dropdown
* @param {object} options
* @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection
* @param {[number, number]} options.offset Define an offset distance between the Menu and the Toggle
* @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`
* @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.
* @param {string} options.rootCloseEvent The pointer event to listen for when determining "clicks outside" the menu for triggering a close.
* @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.
*/
function useDropdownMenu(options) {
if (options === void 0) {
options = {};
}
var context = (0, _react.useContext)(_DropdownContext["default"]);
var _useCallbackRef = (0, _useCallbackRef2["default"])(),
arrowElement = _useCallbackRef[0],
attachArrowRef = _useCallbackRef[1];
var hasShownRef = (0, _react.useRef)(false);
var _options = options,
flip = _options.flip,
offset = _options.offset,
rootCloseEvent = _options.rootCloseEvent,
_options$fixed = _options.fixed,
fixed = _options$fixed === void 0 ? false : _options$fixed,
_options$popperConfig = _options.popperConfig,
popperConfig = _options$popperConfig === void 0 ? {} : _options$popperConfig,
_options$usePopper = _options.usePopper,
shouldUsePopper = _options$usePopper === void 0 ? !!context : _options$usePopper;
var show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show;
var alignEnd = (context == null ? void 0 : context.alignEnd) == null ? options.alignEnd : context.alignEnd;
if (show && !hasShownRef.current) {
hasShownRef.current = true;
}
var handleClose = function handleClose(e) {
context == null ? void 0 : context.toggle(false, e);
};
var _ref = context || {},
drop = _ref.drop,
setMenu = _ref.setMenu,
menuElement = _ref.menuElement,
toggleElement = _ref.toggleElement;
var placement = alignEnd ? 'bottom-end' : 'bottom-start';
if (drop === 'up') placement = alignEnd ? 'top-end' : 'top-start';else if (drop === 'right') placement = alignEnd ? 'right-end' : 'right-start';else if (drop === 'left') placement = alignEnd ? 'left-end' : 'left-start';
var popper = (0, _usePopper["default"])(toggleElement, menuElement, (0, _mergeOptionsWithPopperConfig["default"])({
placement: placement,
enabled: !!(shouldUsePopper && show),
enableEvents: show,
offset: offset,
flip: flip,
fixed: fixed,
arrowElement: arrowElement,
popperConfig: popperConfig
}));
var menuProps = (0, _extends2["default"])({
ref: setMenu || noop,
'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id
}, popper.attributes.popper, {
style: popper.styles.popper
});
var metadata = {
show: show,
alignEnd: alignEnd,
hasShown: hasShownRef.current,
toggle: context == null ? void 0 : context.toggle,
popper: shouldUsePopper ? popper : null,
arrowProps: shouldUsePopper ? (0, _extends2["default"])({
ref: attachArrowRef
}, popper.attributes.arrow, {
style: popper.styles.arrow
}) : {}
};
(0, _useRootClose["default"])(menuElement, handleClose, {
clickTrigger: rootCloseEvent,
disabled: !show
});
return [menuProps, metadata];
}
var propTypes = {
/**
* A render prop that returns a Menu element. The `props`
* argument should spread through to **a component that can accept a ref**.
*
* @type {Function ({
* show: boolean,
* alignEnd: boolean,
* close: (?SyntheticEvent) => void,
* placement: Placement,
* update: () => void,
* forceUpdate: () => void,
* props: {
* ref: (?HTMLElement) => void,
* style: { [string]: string | number },
* aria-labelledby: ?string
* },
* arrowProps: {
* ref: (?HTMLElement) => void,
* style: { [string]: string | number },
* },
* }) => React.Element}
*/
children: _propTypes["default"].func.isRequired,
/**
* Controls the visible state of the menu, generally this is
* provided by the parent `Dropdown` component,
* but may also be specified as a prop directly.
*/
show: _propTypes["default"].bool,
/**
* Aligns the dropdown menu to the 'end' of it's placement position.
* Generally this is provided by the parent `Dropdown` component,
* but may also be specified as a prop directly.
*/
alignEnd: _propTypes["default"].bool,
/**
* Enables the Popper.js `flip` modifier, allowing the Dropdown to
* automatically adjust it's placement in case of overlap with the viewport or toggle.
* Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
*/
flip: _propTypes["default"].bool,
usePopper: _propTypes["default"].oneOf([true, false]),
/**
* A set of popper options and props passed directly to react-popper's Popper component.
*/
popperConfig: _propTypes["default"].object,
/**
* Override the default event used by RootCloseWrapper.
*/
rootCloseEvent: _propTypes["default"].string
};
var defaultProps = {
usePopper: true
};
/**
* Also exported as `<Dropdown.Menu>` from `Dropdown`.
*
* @displayName DropdownMenu
* @memberOf Dropdown
*/
function DropdownMenu(_ref2) {
var children = _ref2.children,
options = (0, _objectWithoutPropertiesLoose2["default"])(_ref2, ["children"]);
var _useDropdownMenu = useDropdownMenu(options),
props = _useDropdownMenu[0],
meta = _useDropdownMenu[1];
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, meta.hasShown ? children(props, meta) : null);
}
DropdownMenu.displayName = 'ReactOverlaysDropdownMenu';
DropdownMenu.propTypes = propTypes;
DropdownMenu.defaultProps = defaultProps;
/** @component */
var _default = DropdownMenu;
exports["default"] = _default;

56
node_modules/react-overlays/cjs/DropdownToggle.d.ts generated vendored Normal file
View File

@@ -0,0 +1,56 @@
import PropTypes from 'prop-types';
import React from 'react';
import { DropdownContextValue } from './DropdownContext';
export interface UseDropdownToggleProps {
ref: DropdownContextValue['setToggle'];
onClick: React.MouseEventHandler;
'aria-haspopup': boolean;
'aria-expanded': boolean;
}
export interface UseDropdownToggleMetadata {
show: DropdownContextValue['show'];
toggle: DropdownContextValue['toggle'];
}
/**
* Wires up Dropdown toggle functionality, returning a set a props to attach
* to the element that functions as the dropdown toggle (generally a button).
*
* @memberOf Dropdown
*/
export declare function useDropdownToggle(): [
UseDropdownToggleProps,
UseDropdownToggleMetadata
];
export interface DropdownToggleProps {
children: (props: UseDropdownToggleProps, meta: UseDropdownToggleMetadata) => React.ReactNode;
}
/**
* Also exported as `<Dropdown.Toggle>` from `Dropdown`.
*
* @displayName DropdownToggle
* @memberOf Dropdown
*/
declare function DropdownToggle({ children }: DropdownToggleProps): JSX.Element;
declare namespace DropdownToggle {
var displayName: string;
var propTypes: {
/**
* A render prop that returns a Toggle element. The `props`
* argument should spread through to **a component that can accept a ref**. Use
* the `onToggle` argument to toggle the menu open or closed
*
* @type {Function ({
* show: boolean,
* toggle: (show: boolean) => void,
* props: {
* ref: (?HTMLElement) => void,
* aria-haspopup: true
* aria-expanded: boolean
* },
* }) => React.Element}
*/
children: PropTypes.Validator<(...args: any[]) => any>;
};
}
/** @component */
export default DropdownToggle;

88
node_modules/react-overlays/cjs/DropdownToggle.js generated vendored Normal file
View File

@@ -0,0 +1,88 @@
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.useDropdownToggle = useDropdownToggle;
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _DropdownContext = _interopRequireDefault(require("./DropdownContext"));
var noop = function noop() {};
/**
* Wires up Dropdown toggle functionality, returning a set a props to attach
* to the element that functions as the dropdown toggle (generally a button).
*
* @memberOf Dropdown
*/
function useDropdownToggle() {
var _ref = (0, _react.useContext)(_DropdownContext["default"]) || {},
_ref$show = _ref.show,
show = _ref$show === void 0 ? false : _ref$show,
_ref$toggle = _ref.toggle,
toggle = _ref$toggle === void 0 ? noop : _ref$toggle,
setToggle = _ref.setToggle;
var handleClick = (0, _react.useCallback)(function (e) {
toggle(!show, e);
}, [show, toggle]);
return [{
ref: setToggle || noop,
onClick: handleClick,
'aria-haspopup': true,
'aria-expanded': !!show
}, {
show: show,
toggle: toggle
}];
}
var propTypes = {
/**
* A render prop that returns a Toggle element. The `props`
* argument should spread through to **a component that can accept a ref**. Use
* the `onToggle` argument to toggle the menu open or closed
*
* @type {Function ({
* show: boolean,
* toggle: (show: boolean) => void,
* props: {
* ref: (?HTMLElement) => void,
* aria-haspopup: true
* aria-expanded: boolean
* },
* }) => React.Element}
*/
children: _propTypes["default"].func.isRequired
};
/**
* Also exported as `<Dropdown.Toggle>` from `Dropdown`.
*
* @displayName DropdownToggle
* @memberOf Dropdown
*/
function DropdownToggle(_ref2) {
var children = _ref2.children;
var _useDropdownToggle = useDropdownToggle(),
props = _useDropdownToggle[0],
meta = _useDropdownToggle[1];
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children(props, meta));
}
DropdownToggle.displayName = 'ReactOverlaysDropdownToggle';
DropdownToggle.propTypes = propTypes;
/** @component */
var _default = DropdownToggle;
exports["default"] = _default;

58
node_modules/react-overlays/cjs/Modal.d.ts generated vendored Normal file
View File

@@ -0,0 +1,58 @@
import React from 'react';
import ModalManager from './ModalManager';
import { DOMContainer } from './useWaitForDOMRef';
import { TransitionCallbacks } from './types';
export declare type ModalTransitionComponent = React.ComponentType<{
in: boolean;
appear?: boolean;
unmountOnExit?: boolean;
} & TransitionCallbacks>;
export interface RenderModalDialogProps {
style: React.CSSProperties | undefined;
className: string | undefined;
tabIndex: number;
role: string;
ref: React.RefCallback<Element>;
'aria-modal': boolean | undefined;
}
export interface RenderModalBackdropProps {
ref: React.RefCallback<Element>;
onClick: (event: React.SyntheticEvent) => void;
}
export interface BaseModalProps extends TransitionCallbacks {
children?: React.ReactElement;
role?: string;
style?: React.CSSProperties;
className?: string;
show?: boolean;
container?: DOMContainer;
onShow?: () => void;
onHide?: () => void;
manager?: ModalManager;
backdrop?: true | false | 'static';
renderDialog?: (props: RenderModalDialogProps) => React.ReactNode;
renderBackdrop?: (props: RenderModalBackdropProps) => React.ReactNode;
onEscapeKeyDown?: (e: KeyboardEvent) => void;
onBackdropClick?: (e: React.SyntheticEvent) => void;
containerClassName?: string;
keyboard?: boolean;
transition?: ModalTransitionComponent;
backdropTransition?: ModalTransitionComponent;
autoFocus?: boolean;
enforceFocus?: boolean;
restoreFocus?: boolean;
restoreFocusOptions?: {
preventScroll: boolean;
};
}
export interface ModalProps extends BaseModalProps {
[other: string]: any;
}
export interface ModalHandle {
dialog: HTMLElement | null;
backdrop: HTMLElement | null;
}
declare const _default: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<ModalHandle>> & {
Manager: typeof ModalManager;
};
export default _default;

456
node_modules/react-overlays/cjs/Modal.js generated vendored Normal file
View File

@@ -0,0 +1,456 @@
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _activeElement = _interopRequireDefault(require("dom-helpers/activeElement"));
var _contains = _interopRequireDefault(require("dom-helpers/contains"));
var _canUseDOM = _interopRequireDefault(require("dom-helpers/canUseDOM"));
var _listen = _interopRequireDefault(require("dom-helpers/listen"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _useMounted = _interopRequireDefault(require("@restart/hooks/useMounted"));
var _useWillUnmount = _interopRequireDefault(require("@restart/hooks/useWillUnmount"));
var _usePrevious = _interopRequireDefault(require("@restart/hooks/usePrevious"));
var _useEventCallback = _interopRequireDefault(require("@restart/hooks/useEventCallback"));
var _ModalManager = _interopRequireDefault(require("./ModalManager"));
var _useWaitForDOMRef = _interopRequireDefault(require("./useWaitForDOMRef"));
/* eslint-disable @typescript-eslint/no-use-before-define, react/prop-types */
var manager;
function getManager() {
if (!manager) manager = new _ModalManager["default"]();
return manager;
}
function useModalManager(provided) {
var modalManager = provided || getManager();
var modal = (0, _react.useRef)({
dialog: null,
backdrop: null
});
return Object.assign(modal.current, {
add: function add(container, className) {
return modalManager.add(modal.current, container, className);
},
remove: function remove() {
return modalManager.remove(modal.current);
},
isTopModal: function isTopModal() {
return modalManager.isTopModal(modal.current);
},
setDialogRef: (0, _react.useCallback)(function (ref) {
modal.current.dialog = ref;
}, []),
setBackdropRef: (0, _react.useCallback)(function (ref) {
modal.current.backdrop = ref;
}, [])
});
}
var Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
var _ref$show = _ref.show,
show = _ref$show === void 0 ? false : _ref$show,
_ref$role = _ref.role,
role = _ref$role === void 0 ? 'dialog' : _ref$role,
className = _ref.className,
style = _ref.style,
children = _ref.children,
_ref$backdrop = _ref.backdrop,
backdrop = _ref$backdrop === void 0 ? true : _ref$backdrop,
_ref$keyboard = _ref.keyboard,
keyboard = _ref$keyboard === void 0 ? true : _ref$keyboard,
onBackdropClick = _ref.onBackdropClick,
onEscapeKeyDown = _ref.onEscapeKeyDown,
transition = _ref.transition,
backdropTransition = _ref.backdropTransition,
_ref$autoFocus = _ref.autoFocus,
autoFocus = _ref$autoFocus === void 0 ? true : _ref$autoFocus,
_ref$enforceFocus = _ref.enforceFocus,
enforceFocus = _ref$enforceFocus === void 0 ? true : _ref$enforceFocus,
_ref$restoreFocus = _ref.restoreFocus,
restoreFocus = _ref$restoreFocus === void 0 ? true : _ref$restoreFocus,
restoreFocusOptions = _ref.restoreFocusOptions,
renderDialog = _ref.renderDialog,
_ref$renderBackdrop = _ref.renderBackdrop,
renderBackdrop = _ref$renderBackdrop === void 0 ? function (props) {
return /*#__PURE__*/_react["default"].createElement("div", props);
} : _ref$renderBackdrop,
providedManager = _ref.manager,
containerRef = _ref.container,
containerClassName = _ref.containerClassName,
onShow = _ref.onShow,
_ref$onHide = _ref.onHide,
onHide = _ref$onHide === void 0 ? function () {} : _ref$onHide,
onExit = _ref.onExit,
onExited = _ref.onExited,
onExiting = _ref.onExiting,
onEnter = _ref.onEnter,
onEntering = _ref.onEntering,
onEntered = _ref.onEntered,
rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["show", "role", "className", "style", "children", "backdrop", "keyboard", "onBackdropClick", "onEscapeKeyDown", "transition", "backdropTransition", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "renderDialog", "renderBackdrop", "manager", "container", "containerClassName", "onShow", "onHide", "onExit", "onExited", "onExiting", "onEnter", "onEntering", "onEntered"]);
var container = (0, _useWaitForDOMRef["default"])(containerRef);
var modal = useModalManager(providedManager);
var isMounted = (0, _useMounted["default"])();
var prevShow = (0, _usePrevious["default"])(show);
var _useState = (0, _react.useState)(!show),
exited = _useState[0],
setExited = _useState[1];
var lastFocusRef = (0, _react.useRef)(null);
(0, _react.useImperativeHandle)(ref, function () {
return modal;
}, [modal]);
if (_canUseDOM["default"] && !prevShow && show) {
lastFocusRef.current = (0, _activeElement["default"])();
}
if (!transition && !show && !exited) {
setExited(true);
} else if (show && exited) {
setExited(false);
}
var handleShow = (0, _useEventCallback["default"])(function () {
modal.add(container, containerClassName);
removeKeydownListenerRef.current = (0, _listen["default"])(document, 'keydown', handleDocumentKeyDown);
removeFocusListenerRef.current = (0, _listen["default"])(document, 'focus', // the timeout is necessary b/c this will run before the new modal is mounted
// and so steals focus from it
function () {
return setTimeout(handleEnforceFocus);
}, true);
if (onShow) {
onShow();
} // autofocus after onShow to not trigger a focus event for previous
// modals before this one is shown.
if (autoFocus) {
var currentActiveElement = (0, _activeElement["default"])(document);
if (modal.dialog && currentActiveElement && !(0, _contains["default"])(modal.dialog, currentActiveElement)) {
lastFocusRef.current = currentActiveElement;
modal.dialog.focus();
}
}
});
var handleHide = (0, _useEventCallback["default"])(function () {
modal.remove();
removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();
removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();
if (restoreFocus) {
var _lastFocusRef$current;
// Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)
(_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);
lastFocusRef.current = null;
}
}); // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120
// Show logic when:
// - show is `true` _and_ `container` has resolved
(0, _react.useEffect)(function () {
if (!show || !container) return;
handleShow();
}, [show, container,
/* should never change: */
handleShow]); // Hide cleanup logic when:
// - `exited` switches to true
// - component unmounts;
(0, _react.useEffect)(function () {
if (!exited) return;
handleHide();
}, [exited, handleHide]);
(0, _useWillUnmount["default"])(function () {
handleHide();
}); // --------------------------------
var handleEnforceFocus = (0, _useEventCallback["default"])(function () {
if (!enforceFocus || !isMounted() || !modal.isTopModal()) {
return;
}
var currentActiveElement = (0, _activeElement["default"])();
if (modal.dialog && currentActiveElement && !(0, _contains["default"])(modal.dialog, currentActiveElement)) {
modal.dialog.focus();
}
});
var handleBackdropClick = (0, _useEventCallback["default"])(function (e) {
if (e.target !== e.currentTarget) {
return;
}
onBackdropClick == null ? void 0 : onBackdropClick(e);
if (backdrop === true) {
onHide();
}
});
var handleDocumentKeyDown = (0, _useEventCallback["default"])(function (e) {
if (keyboard && e.keyCode === 27 && modal.isTopModal()) {
onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);
if (!e.defaultPrevented) {
onHide();
}
}
});
var removeFocusListenerRef = (0, _react.useRef)();
var removeKeydownListenerRef = (0, _react.useRef)();
var handleHidden = function handleHidden() {
setExited(true);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
onExited == null ? void 0 : onExited.apply(void 0, args);
};
var Transition = transition;
if (!container || !(show || Transition && !exited)) {
return null;
}
var dialogProps = (0, _extends2["default"])({
role: role,
ref: modal.setDialogRef,
// apparently only works on the dialog role element
'aria-modal': role === 'dialog' ? true : undefined
}, rest, {
style: style,
className: className,
tabIndex: -1
});
var dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/_react["default"].createElement("div", dialogProps, /*#__PURE__*/_react["default"].cloneElement(children, {
role: 'document'
}));
if (Transition) {
dialog = /*#__PURE__*/_react["default"].createElement(Transition, {
appear: true,
unmountOnExit: true,
"in": !!show,
onExit: onExit,
onExiting: onExiting,
onExited: handleHidden,
onEnter: onEnter,
onEntering: onEntering,
onEntered: onEntered
}, dialog);
}
var backdropElement = null;
if (backdrop) {
var BackdropTransition = backdropTransition;
backdropElement = renderBackdrop({
ref: modal.setBackdropRef,
onClick: handleBackdropClick
});
if (BackdropTransition) {
backdropElement = /*#__PURE__*/_react["default"].createElement(BackdropTransition, {
appear: true,
"in": !!show
}, backdropElement);
}
}
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, backdropElement, dialog), container));
});
var propTypes = {
/**
* Set the visibility of the Modal
*/
show: _propTypes["default"].bool,
/**
* A DOM element, a `ref` to an element, or function that returns either. The Modal is appended to it's `container` element.
*
* For the sake of assistive technologies, the container should usually be the document body, so that the rest of the
* page content can be placed behind a virtual backdrop as well as a visual one.
*/
container: _propTypes["default"].any,
/**
* A callback fired when the Modal is opening.
*/
onShow: _propTypes["default"].func,
/**
* A callback fired when either the backdrop is clicked, or the escape key is pressed.
*
* The `onHide` callback only signals intent from the Modal,
* you must actually set the `show` prop to `false` for the Modal to close.
*/
onHide: _propTypes["default"].func,
/**
* Include a backdrop component.
*/
backdrop: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].oneOf(['static'])]),
/**
* A function that returns the dialog component. Useful for custom
* rendering. **Note:** the component should make sure to apply the provided ref.
*
* ```js static
* renderDialog={props => <MyDialog {...props} />}
* ```
*/
renderDialog: _propTypes["default"].func,
/**
* A function that returns a backdrop component. Useful for custom
* backdrop rendering.
*
* ```js
* renderBackdrop={props => <MyBackdrop {...props} />}
* ```
*/
renderBackdrop: _propTypes["default"].func,
/**
* A callback fired when the escape key, if specified in `keyboard`, is pressed.
*
* If preventDefault() is called on the keyboard event, closing the modal will be cancelled.
*/
onEscapeKeyDown: _propTypes["default"].func,
/**
* A callback fired when the backdrop, if specified, is clicked.
*/
onBackdropClick: _propTypes["default"].func,
/**
* A css class or set of classes applied to the modal container when the modal is open,
* and removed when it is closed.
*/
containerClassName: _propTypes["default"].string,
/**
* Close the modal when escape key is pressed
*/
keyboard: _propTypes["default"].bool,
/**
* A `react-transition-group@2.0.0` `<Transition/>` component used
* to control animations for the dialog component.
*/
transition: _propTypes["default"].elementType,
/**
* A `react-transition-group@2.0.0` `<Transition/>` component used
* to control animations for the backdrop components.
*/
backdropTransition: _propTypes["default"].elementType,
/**
* When `true` The modal will automatically shift focus to itself when it opens, and
* replace it to the last focused element when it closes. This also
* works correctly with any Modal children that have the `autoFocus` prop.
*
* Generally this should never be set to `false` as it makes the Modal less
* accessible to assistive technologies, like screen readers.
*/
autoFocus: _propTypes["default"].bool,
/**
* When `true` The modal will prevent focus from leaving the Modal while open.
*
* Generally this should never be set to `false` as it makes the Modal less
* accessible to assistive technologies, like screen readers.
*/
enforceFocus: _propTypes["default"].bool,
/**
* When `true` The modal will restore focus to previously focused element once
* modal is hidden
*/
restoreFocus: _propTypes["default"].bool,
/**
* Options passed to focus function when `restoreFocus` is set to `true`
*
* @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Parameters
*/
restoreFocusOptions: _propTypes["default"].shape({
preventScroll: _propTypes["default"].bool
}),
/**
* Callback fired before the Modal transitions in
*/
onEnter: _propTypes["default"].func,
/**
* Callback fired as the Modal begins to transition in
*/
onEntering: _propTypes["default"].func,
/**
* Callback fired after the Modal finishes transitioning in
*/
onEntered: _propTypes["default"].func,
/**
* Callback fired right before the Modal transitions out
*/
onExit: _propTypes["default"].func,
/**
* Callback fired as the Modal begins to transition out
*/
onExiting: _propTypes["default"].func,
/**
* Callback fired after the Modal finishes transitioning out
*/
onExited: _propTypes["default"].func,
/**
* A ModalManager instance used to track and manage the state of open
* Modals. Useful when customizing how modals interact within a container
*/
manager: _propTypes["default"].instanceOf(_ModalManager["default"])
};
Modal.displayName = 'Modal';
Modal.propTypes = propTypes;
var _default = Object.assign(Modal, {
Manager: _ModalManager["default"]
});
exports["default"] = _default;
module.exports = exports.default;

34
node_modules/react-overlays/cjs/ModalManager.d.ts generated vendored Normal file
View File

@@ -0,0 +1,34 @@
export interface ModalInstance {
dialog: Element;
backdrop: Element;
}
export declare type ContainerState = Record<string, any> & {
isOverflowing?: boolean;
style?: Partial<CSSStyleDeclaration>;
modals: ModalInstance[];
};
/**
* Proper state management for containers and the modals in those containers.
*
* @internal Used by the Modal to ensure proper styling of containers.
*/
declare class ModalManager {
readonly hideSiblingNodes: boolean;
readonly handleContainerOverflow: boolean;
readonly modals: ModalInstance[];
readonly containers: HTMLElement[];
readonly data: ContainerState[];
readonly scrollbarSize: number;
constructor({ hideSiblingNodes, handleContainerOverflow, }?: {
hideSiblingNodes?: boolean | undefined;
handleContainerOverflow?: boolean | undefined;
});
isContainerOverflowing(modal: ModalInstance): any;
containerIndexFromModal(modal: ModalInstance): number;
setContainerStyle(containerState: ContainerState, container: HTMLElement): void;
removeContainerStyle(containerState: ContainerState, container: HTMLElement): void;
add(modal: ModalInstance, container: HTMLElement, className?: string): number;
remove(modal: ModalInstance): void;
isTopModal(modal: ModalInstance): boolean;
}
export default ModalManager;

180
node_modules/react-overlays/cjs/ModalManager.js generated vendored Normal file
View File

@@ -0,0 +1,180 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _addClass = _interopRequireDefault(require("dom-helpers/addClass"));
var _removeClass = _interopRequireDefault(require("dom-helpers/removeClass"));
var _css = _interopRequireDefault(require("dom-helpers/css"));
var _scrollbarSize = _interopRequireDefault(require("dom-helpers/scrollbarSize"));
var _isOverflowing = _interopRequireDefault(require("./isOverflowing"));
var _manageAriaHidden = require("./manageAriaHidden");
function findIndexOf(arr, cb) {
var idx = -1;
arr.some(function (d, i) {
if (cb(d, i)) {
idx = i;
return true;
}
return false;
});
return idx;
}
/**
* Proper state management for containers and the modals in those containers.
*
* @internal Used by the Modal to ensure proper styling of containers.
*/
var ModalManager = /*#__PURE__*/function () {
function ModalManager(_temp) {
var _ref = _temp === void 0 ? {} : _temp,
_ref$hideSiblingNodes = _ref.hideSiblingNodes,
hideSiblingNodes = _ref$hideSiblingNodes === void 0 ? true : _ref$hideSiblingNodes,
_ref$handleContainerO = _ref.handleContainerOverflow,
handleContainerOverflow = _ref$handleContainerO === void 0 ? true : _ref$handleContainerO;
this.hideSiblingNodes = void 0;
this.handleContainerOverflow = void 0;
this.modals = void 0;
this.containers = void 0;
this.data = void 0;
this.scrollbarSize = void 0;
this.hideSiblingNodes = hideSiblingNodes;
this.handleContainerOverflow = handleContainerOverflow;
this.modals = [];
this.containers = [];
this.data = [];
this.scrollbarSize = (0, _scrollbarSize["default"])();
}
var _proto = ModalManager.prototype;
_proto.isContainerOverflowing = function isContainerOverflowing(modal) {
var data = this.data[this.containerIndexFromModal(modal)];
return data && data.overflowing;
};
_proto.containerIndexFromModal = function containerIndexFromModal(modal) {
return findIndexOf(this.data, function (d) {
return d.modals.indexOf(modal) !== -1;
});
};
_proto.setContainerStyle = function setContainerStyle(containerState, container) {
var style = {
overflow: 'hidden'
}; // we are only interested in the actual `style` here
// because we will override it
containerState.style = {
overflow: container.style.overflow,
paddingRight: container.style.paddingRight
};
if (containerState.overflowing) {
// use computed style, here to get the real padding
// to add our scrollbar width
style.paddingRight = parseInt((0, _css["default"])(container, 'paddingRight') || '0', 10) + this.scrollbarSize + "px";
}
(0, _css["default"])(container, style);
};
_proto.removeContainerStyle = function removeContainerStyle(containerState, container) {
Object.assign(container.style, containerState.style);
};
_proto.add = function add(modal, container, className) {
var modalIdx = this.modals.indexOf(modal);
var containerIdx = this.containers.indexOf(container);
if (modalIdx !== -1) {
return modalIdx;
}
modalIdx = this.modals.length;
this.modals.push(modal);
if (this.hideSiblingNodes) {
(0, _manageAriaHidden.hideSiblings)(container, modal);
}
if (containerIdx !== -1) {
this.data[containerIdx].modals.push(modal);
return modalIdx;
}
var data = {
modals: [modal],
// right now only the first modal of a container will have its classes applied
classes: className ? className.split(/\s+/) : [],
overflowing: (0, _isOverflowing["default"])(container)
};
if (this.handleContainerOverflow) {
this.setContainerStyle(data, container);
}
data.classes.forEach(_addClass["default"].bind(null, container));
this.containers.push(container);
this.data.push(data);
return modalIdx;
};
_proto.remove = function remove(modal) {
var modalIdx = this.modals.indexOf(modal);
if (modalIdx === -1) {
return;
}
var containerIdx = this.containerIndexFromModal(modal);
var data = this.data[containerIdx];
var container = this.containers[containerIdx];
data.modals.splice(data.modals.indexOf(modal), 1);
this.modals.splice(modalIdx, 1); // if that was the last modal in a container,
// clean up the container
if (data.modals.length === 0) {
data.classes.forEach(_removeClass["default"].bind(null, container));
if (this.handleContainerOverflow) {
this.removeContainerStyle(data, container);
}
if (this.hideSiblingNodes) {
(0, _manageAriaHidden.showSiblings)(container, modal);
}
this.containers.splice(containerIdx, 1);
this.data.splice(containerIdx, 1);
} else if (this.hideSiblingNodes) {
// otherwise make sure the next top modal is visible to a SR
var _data$modals = data.modals[data.modals.length - 1],
backdrop = _data$modals.backdrop,
dialog = _data$modals.dialog;
(0, _manageAriaHidden.ariaHidden)(false, dialog);
(0, _manageAriaHidden.ariaHidden)(false, backdrop);
}
};
_proto.isTopModal = function isTopModal(modal) {
return !!this.modals.length && this.modals[this.modals.length - 1] === modal;
};
return ModalManager;
}();
var _default = ModalManager;
exports["default"] = _default;
module.exports = exports.default;

45
node_modules/react-overlays/cjs/Overlay.d.ts generated vendored Normal file
View File

@@ -0,0 +1,45 @@
import React from 'react';
import { Placement, UsePopperOptions, Offset, State } from './usePopper';
import { RootCloseOptions } from './useRootClose';
import { DOMContainer } from './useWaitForDOMRef';
import { TransitionCallbacks } from './types';
export interface OverlayProps extends TransitionCallbacks {
flip?: boolean;
placement?: Placement;
offset?: Offset;
containerPadding?: number;
popperConfig?: Omit<UsePopperOptions, 'placement'>;
container?: DOMContainer;
target: DOMContainer;
show?: boolean;
transition?: React.ComponentType<{
in?: boolean;
appear?: boolean;
} & TransitionCallbacks>;
onHide?: (e: Event) => void;
rootClose?: boolean;
rootCloseDisabled?: boolean;
rootCloseEvent?: RootCloseOptions['clickTrigger'];
children: (value: {
show: boolean;
placement: Placement;
update: () => void;
forceUpdate: () => void;
state?: State;
props: Record<string, any> & {
ref: React.RefCallback<HTMLElement>;
style: React.CSSProperties;
'aria-labelledby'?: string;
};
arrowProps: Record<string, any> & {
ref: React.RefCallback<HTMLElement>;
style: React.CSSProperties;
};
}) => React.ReactNode;
}
/**
* Built on top of `Popper.js`, the overlay component is
* great for custom tooltip overlays.
*/
declare const Overlay: React.ForwardRefExoticComponent<OverlayProps & React.RefAttributes<HTMLElement>>;
export default Overlay;

275
node_modules/react-overlays/cjs/Overlay.js generated vendored Normal file
View File

@@ -0,0 +1,275 @@
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _useCallbackRef3 = _interopRequireDefault(require("@restart/hooks/useCallbackRef"));
var _useMergedRefs = _interopRequireDefault(require("@restart/hooks/useMergedRefs"));
var _popper = require("./popper");
var _usePopper2 = _interopRequireDefault(require("./usePopper"));
var _useRootClose = _interopRequireDefault(require("./useRootClose"));
var _useWaitForDOMRef = _interopRequireDefault(require("./useWaitForDOMRef"));
var _mergeOptionsWithPopperConfig = _interopRequireDefault(require("./mergeOptionsWithPopperConfig"));
/**
* Built on top of `Popper.js`, the overlay component is
* great for custom tooltip overlays.
*/
var Overlay = /*#__PURE__*/_react["default"].forwardRef(function (props, outerRef) {
var flip = props.flip,
offset = props.offset,
placement = props.placement,
_props$containerPaddi = props.containerPadding,
containerPadding = _props$containerPaddi === void 0 ? 5 : _props$containerPaddi,
_props$popperConfig = props.popperConfig,
popperConfig = _props$popperConfig === void 0 ? {} : _props$popperConfig,
Transition = props.transition;
var _useCallbackRef = (0, _useCallbackRef3["default"])(),
rootElement = _useCallbackRef[0],
attachRef = _useCallbackRef[1];
var _useCallbackRef2 = (0, _useCallbackRef3["default"])(),
arrowElement = _useCallbackRef2[0],
attachArrowRef = _useCallbackRef2[1];
var mergedRef = (0, _useMergedRefs["default"])(attachRef, outerRef);
var container = (0, _useWaitForDOMRef["default"])(props.container);
var target = (0, _useWaitForDOMRef["default"])(props.target);
var _useState = (0, _react.useState)(!props.show),
exited = _useState[0],
setExited = _useState[1];
var _usePopper = (0, _usePopper2["default"])(target, rootElement, (0, _mergeOptionsWithPopperConfig["default"])({
placement: placement,
enableEvents: !!props.show,
containerPadding: containerPadding || 5,
flip: flip,
offset: offset,
arrowElement: arrowElement,
popperConfig: popperConfig
})),
styles = _usePopper.styles,
attributes = _usePopper.attributes,
popper = (0, _objectWithoutPropertiesLoose2["default"])(_usePopper, ["styles", "attributes"]);
if (props.show) {
if (exited) setExited(false);
} else if (!props.transition && !exited) {
setExited(true);
}
var handleHidden = function handleHidden() {
setExited(true);
if (props.onExited) {
props.onExited.apply(props, arguments);
}
}; // Don't un-render the overlay while it's transitioning out.
var mountOverlay = props.show || Transition && !exited;
(0, _useRootClose["default"])(rootElement, props.onHide, {
disabled: !props.rootClose || props.rootCloseDisabled,
clickTrigger: props.rootCloseEvent
});
if (!mountOverlay) {
// Don't bother showing anything if we don't have to.
return null;
}
var child = props.children((0, _extends2["default"])({}, popper, {
show: !!props.show,
props: (0, _extends2["default"])({}, attributes.popper, {
style: styles.popper,
ref: mergedRef
}),
arrowProps: (0, _extends2["default"])({}, attributes.arrow, {
style: styles.arrow,
ref: attachArrowRef
})
}));
if (Transition) {
var onExit = props.onExit,
onExiting = props.onExiting,
onEnter = props.onEnter,
onEntering = props.onEntering,
onEntered = props.onEntered;
child = /*#__PURE__*/_react["default"].createElement(Transition, {
"in": props.show,
appear: true,
onExit: onExit,
onExiting: onExiting,
onExited: handleHidden,
onEnter: onEnter,
onEntering: onEntering,
onEntered: onEntered
}, child);
}
return container ? /*#__PURE__*/_reactDom["default"].createPortal(child, container) : null;
});
Overlay.displayName = 'Overlay';
Overlay.propTypes = {
/**
* Set the visibility of the Overlay
*/
show: _propTypes["default"].bool,
/** Specify where the overlay element is positioned in relation to the target element */
placement: _propTypes["default"].oneOf(_popper.placements),
/**
* A DOM Element, Ref to an element, or function that returns either. The `target` element is where
* the overlay is positioned relative to.
*/
target: _propTypes["default"].any,
/**
* A DOM Element, Ref to an element, or function that returns either. The `container` will have the Portal children
* appended to it.
*/
container: _propTypes["default"].any,
/**
* Enables the Popper.js `flip` modifier, allowing the Overlay to
* automatically adjust it's placement in case of overlap with the viewport or toggle.
* Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
*/
flip: _propTypes["default"].bool,
/**
* A render prop that returns an element to overlay and position. See
* the [react-popper documentation](https://github.com/FezVrasta/react-popper#children) for more info.
*
* @type {Function ({
* show: boolean,
* placement: Placement,
* update: () => void,
* forceUpdate: () => void,
* props: {
* ref: (?HTMLElement) => void,
* style: { [string]: string | number },
* aria-labelledby: ?string
* [string]: string | number,
* },
* arrowProps: {
* ref: (?HTMLElement) => void,
* style: { [string]: string | number },
* [string]: string | number,
* },
* }) => React.Element}
*/
children: _propTypes["default"].func.isRequired,
/**
* Control how much space there is between the edge of the boundary element and overlay.
* A convenience shortcut to setting `popperConfig.modfiers.preventOverflow.padding`
*/
containerPadding: _propTypes["default"].number,
/**
* A set of popper options and props passed directly to react-popper's Popper component.
*/
popperConfig: _propTypes["default"].object,
/**
* Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay
*/
rootClose: _propTypes["default"].bool,
/**
* Specify event for toggling overlay
*/
rootCloseEvent: _propTypes["default"].oneOf(['click', 'mousedown']),
/**
* Specify disabled for disable RootCloseWrapper
*/
rootCloseDisabled: _propTypes["default"].bool,
/**
* A Callback fired by the Overlay when it wishes to be hidden.
*
* __required__ when `rootClose` is `true`.
*
* @type func
*/
onHide: function onHide(props) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
if (props.rootClose) {
var _PropTypes$func;
return (_PropTypes$func = _propTypes["default"].func).isRequired.apply(_PropTypes$func, [props].concat(args));
}
return _propTypes["default"].func.apply(_propTypes["default"], [props].concat(args));
},
/**
* A `react-transition-group@2.0.0` `<Transition/>` component
* used to animate the overlay as it changes visibility.
*/
// @ts-ignore
transition: _propTypes["default"].elementType,
/**
* Callback fired before the Overlay transitions in
*/
onEnter: _propTypes["default"].func,
/**
* Callback fired as the Overlay begins to transition in
*/
onEntering: _propTypes["default"].func,
/**
* Callback fired after the Overlay finishes transitioning in
*/
onEntered: _propTypes["default"].func,
/**
* Callback fired right before the Overlay transitions out
*/
onExit: _propTypes["default"].func,
/**
* Callback fired as the Overlay begins to transition out
*/
onExiting: _propTypes["default"].func,
/**
* Callback fired after the Overlay finishes transitioning out
*/
onExited: _propTypes["default"].func
};
var _default = Overlay;
exports["default"] = _default;
module.exports = exports.default;

24
node_modules/react-overlays/cjs/Portal.d.ts generated vendored Normal file
View File

@@ -0,0 +1,24 @@
import PropTypes from 'prop-types';
import React from 'react';
import { DOMContainer } from './useWaitForDOMRef';
export interface PortalProps {
children: React.ReactElement;
container: DOMContainer;
onRendered?: (element: any) => void;
}
/**
* @public
*/
declare const Portal: {
({ container, children, onRendered }: PortalProps): JSX.Element | null;
displayName: string;
propTypes: {
/**
* A DOM element, Ref to an element, or function that returns either. The `container` will have the Portal children
* appended to it.
*/
container: PropTypes.Requireable<any>;
onRendered: PropTypes.Requireable<(...args: any[]) => any>;
};
};
export default Portal;

40
node_modules/react-overlays/cjs/Portal.js generated vendored Normal file
View File

@@ -0,0 +1,40 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _react = _interopRequireDefault(require("react"));
var _useWaitForDOMRef = _interopRequireDefault(require("./useWaitForDOMRef"));
var propTypes = {
/**
* A DOM element, Ref to an element, or function that returns either. The `container` will have the Portal children
* appended to it.
*/
container: _propTypes["default"].any,
onRendered: _propTypes["default"].func
};
/**
* @public
*/
var Portal = function Portal(_ref) {
var container = _ref.container,
children = _ref.children,
onRendered = _ref.onRendered;
var resolvedContainer = (0, _useWaitForDOMRef["default"])(container, onRendered);
return resolvedContainer ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_reactDom["default"].createPortal(children, resolvedContainer)) : null;
};
Portal.displayName = 'Portal';
Portal.propTypes = propTypes;
var _default = Portal;
exports["default"] = _default;
module.exports = exports.default;

8
node_modules/react-overlays/cjs/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,8 @@
import Dropdown from './Dropdown';
import { useDropdownMenu } from './DropdownMenu';
import { useDropdownToggle } from './DropdownToggle';
import Modal from './Modal';
import Overlay from './Overlay';
import Portal from './Portal';
import useRootClose from './useRootClose';
export { Dropdown, useDropdownMenu, useDropdownToggle, Modal, Overlay, Portal, useRootClose, };

33
node_modules/react-overlays/cjs/index.js generated vendored Normal file
View File

@@ -0,0 +1,33 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
exports.Dropdown = _Dropdown["default"];
var _DropdownMenu = require("./DropdownMenu");
exports.useDropdownMenu = _DropdownMenu.useDropdownMenu;
var _DropdownToggle = require("./DropdownToggle");
exports.useDropdownToggle = _DropdownToggle.useDropdownToggle;
var _Modal = _interopRequireDefault(require("./Modal"));
exports.Modal = _Modal["default"];
var _Overlay = _interopRequireDefault(require("./Overlay"));
exports.Overlay = _Overlay["default"];
var _Portal = _interopRequireDefault(require("./Portal"));
exports.Portal = _Portal["default"];
var _useRootClose = _interopRequireDefault(require("./useRootClose"));
exports.useRootClose = _useRootClose["default"];

1
node_modules/react-overlays/cjs/isOverflowing.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export default function isOverflowing(container: Element): boolean;

27
node_modules/react-overlays/cjs/isOverflowing.js generated vendored Normal file
View File

@@ -0,0 +1,27 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = isOverflowing;
var _isWindow = _interopRequireDefault(require("dom-helpers/isWindow"));
var _ownerDocument = _interopRequireDefault(require("dom-helpers/ownerDocument"));
function isBody(node) {
return node && node.tagName.toLowerCase() === 'body';
}
function bodyIsOverflowing(node) {
var doc = (0, _isWindow["default"])(node) ? (0, _ownerDocument["default"])() : (0, _ownerDocument["default"])(node);
var win = (0, _isWindow["default"])(node) || doc.defaultView;
return doc.body.clientWidth < win.innerWidth;
}
function isOverflowing(container) {
var win = (0, _isWindow["default"])(container);
return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;
}
module.exports = exports.default;

View File

@@ -0,0 +1,8 @@
export declare function ariaHidden(hide: boolean, node: Element | null | undefined): void;
interface SiblingExclusions {
dialog: Element;
backdrop: Element;
}
export declare function hideSiblings(container: Element, { dialog, backdrop }: SiblingExclusions): void;
export declare function showSiblings(container: Element, { dialog, backdrop }: SiblingExclusions): void;
export {};

47
node_modules/react-overlays/cjs/manageAriaHidden.js generated vendored Normal file
View File

@@ -0,0 +1,47 @@
"use strict";
exports.__esModule = true;
exports.ariaHidden = ariaHidden;
exports.hideSiblings = hideSiblings;
exports.showSiblings = showSiblings;
var BLACKLIST = ['template', 'script', 'style'];
var isHidable = function isHidable(_ref) {
var nodeType = _ref.nodeType,
tagName = _ref.tagName;
return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;
};
var siblings = function siblings(container, exclude, cb) {
[].forEach.call(container.children, function (node) {
if (exclude.indexOf(node) === -1 && isHidable(node)) {
cb(node);
}
});
};
function ariaHidden(hide, node) {
if (!node) return;
if (hide) {
node.setAttribute('aria-hidden', 'true');
} else {
node.removeAttribute('aria-hidden');
}
}
function hideSiblings(container, _ref2) {
var dialog = _ref2.dialog,
backdrop = _ref2.backdrop;
siblings(container, [dialog, backdrop], function (node) {
return ariaHidden(true, node);
});
}
function showSiblings(container, _ref3) {
var dialog = _ref3.dialog,
backdrop = _ref3.backdrop;
siblings(container, [dialog, backdrop], function (node) {
return ariaHidden(false, node);
});
}

View File

@@ -0,0 +1,16 @@
import { UsePopperOptions, Offset, Placement, Modifiers } from './usePopper';
export declare type Config = {
flip?: boolean;
fixed?: boolean;
alignEnd?: boolean;
enabled?: boolean;
containerPadding?: number;
arrowElement?: Element | null;
enableEvents?: boolean;
offset?: Offset;
placement?: Placement;
popperConfig?: UsePopperOptions;
};
export declare function toModifierMap(modifiers: Modifiers | undefined): Record<string, Partial<import("./usePopper").Modifier<any, any>>>;
export declare function toModifierArray(map?: Modifiers | undefined): Partial<import("@popperjs/core").Modifier<any, any>>[];
export default function mergeOptionsWithPopperConfig({ enabled, enableEvents, placement, flip, offset, fixed, containerPadding, arrowElement, popperConfig, }: Config): UsePopperOptions;

View File

@@ -0,0 +1,81 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.toModifierMap = toModifierMap;
exports.toModifierArray = toModifierArray;
exports["default"] = mergeOptionsWithPopperConfig;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
function toModifierMap(modifiers) {
var result = {};
if (!Array.isArray(modifiers)) {
return modifiers || result;
} // eslint-disable-next-line no-unused-expressions
modifiers == null ? void 0 : modifiers.forEach(function (m) {
result[m.name] = m;
});
return result;
}
function toModifierArray(map) {
if (map === void 0) {
map = {};
}
if (Array.isArray(map)) return map;
return Object.keys(map).map(function (k) {
map[k].name = k;
return map[k];
});
}
function mergeOptionsWithPopperConfig(_ref) {
var _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;
var enabled = _ref.enabled,
enableEvents = _ref.enableEvents,
placement = _ref.placement,
flip = _ref.flip,
offset = _ref.offset,
fixed = _ref.fixed,
containerPadding = _ref.containerPadding,
arrowElement = _ref.arrowElement,
_ref$popperConfig = _ref.popperConfig,
popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig;
var modifiers = toModifierMap(popperConfig.modifiers);
return (0, _extends2["default"])({}, popperConfig, {
placement: placement,
enabled: enabled,
strategy: fixed ? 'fixed' : popperConfig.strategy,
modifiers: toModifierArray((0, _extends2["default"])({}, modifiers, {
eventListeners: {
enabled: enableEvents
},
preventOverflow: (0, _extends2["default"])({}, modifiers.preventOverflow, {
options: containerPadding ? (0, _extends2["default"])({
padding: containerPadding
}, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options
}),
offset: {
options: (0, _extends2["default"])({
offset: offset
}, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)
},
arrow: (0, _extends2["default"])({}, modifiers.arrow, {
enabled: !!arrowElement,
options: (0, _extends2["default"])({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
element: arrowElement
})
}),
flip: (0, _extends2["default"])({
enabled: !!flip
}, modifiers.flip)
}))
});
}

2
node_modules/react-overlays/cjs/ownerDocument.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
declare const _default: (componentOrElement: React.ComponentClass | Element | null | undefined) => Document;
export default _default;

17
node_modules/react-overlays/cjs/ownerDocument.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _ownerDocument = _interopRequireDefault(require("dom-helpers/ownerDocument"));
var _safeFindDOMNode = _interopRequireDefault(require("./safeFindDOMNode"));
var _default = function _default(componentOrElement) {
return (0, _ownerDocument["default"])((0, _safeFindDOMNode["default"])(componentOrElement));
};
exports["default"] = _default;
module.exports = exports.default;

3
node_modules/react-overlays/cjs/popper.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
import { placements } from '@popperjs/core/lib/enums';
export declare const createPopper: <TModifier extends Partial<import("@popperjs/core/lib/types").Modifier<any, any>>>(reference: Element | import("@popperjs/core/lib/types").VirtualElement, popper: HTMLElement, options?: Partial<import("@popperjs/core/lib/types").OptionsGeneric<TModifier>> | undefined) => import("@popperjs/core/lib/types").Instance;
export { placements };

1907
node_modules/react-overlays/cjs/popper.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

2
node_modules/react-overlays/cjs/safeFindDOMNode.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
/// <reference types="react" />
export default function safeFindDOMNode(componentOrElement: React.ComponentClass | Element | null | undefined): Element | Text | null;

18
node_modules/react-overlays/cjs/safeFindDOMNode.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = safeFindDOMNode;
var _reactDom = _interopRequireDefault(require("react-dom"));
function safeFindDOMNode(componentOrElement) {
if (componentOrElement && 'setState' in componentOrElement) {
return _reactDom["default"].findDOMNode(componentOrElement);
}
return componentOrElement != null ? componentOrElement : null;
}
module.exports = exports.default;

8
node_modules/react-overlays/cjs/types.d.ts generated vendored Normal file
View File

@@ -0,0 +1,8 @@
export interface TransitionCallbacks {
onEnter?(node: HTMLElement, isAppearing: boolean): any;
onEntered?(node: HTMLElement, isAppearing: boolean): any;
onEntering?(node: HTMLElement, isAppearing: boolean): any;
onExit?(node: HTMLElement): any;
onExited?(node: HTMLElement): any;
onExiting?(node: HTMLElement): any;
}

52
node_modules/react-overlays/cjs/usePopper.d.ts generated vendored Normal file
View File

@@ -0,0 +1,52 @@
import * as Popper from '@popperjs/core';
declare type OptionsWithUndefined<T extends Popper.Obj | undefined> = T extends Popper.Obj ? T : Popper.Obj;
export declare type Modifier<Name, Options extends Popper.Obj | undefined> = Popper.Modifier<Name, OptionsWithUndefined<Options>>;
export declare type Options = Popper.Options;
export declare type Instance = Popper.Instance;
export declare type Placement = Popper.Placement;
export declare type VirtualElement = Popper.VirtualElement;
export declare type State = Popper.State;
export declare type OffsetValue = [
number | null | undefined,
number | null | undefined
];
export declare type OffsetFunction = (details: {
popper: Popper.Rect;
reference: Popper.Rect;
placement: Placement;
}) => OffsetValue;
export declare type Offset = OffsetFunction | OffsetValue;
export declare type ModifierMap = Record<string, Partial<Modifier<any, any>>>;
export declare type Modifiers = Popper.Options['modifiers'] | Record<string, Partial<Modifier<any, any>>>;
export declare type UsePopperOptions = Omit<Options, 'modifiers' | 'placement' | 'strategy'> & {
enabled?: boolean;
placement?: Options['placement'];
strategy?: Options['strategy'];
modifiers?: Options['modifiers'];
};
export interface UsePopperState {
placement: Placement;
update: () => void;
forceUpdate: () => void;
attributes: Record<string, Record<string, any>>;
styles: Record<string, Partial<CSSStyleDeclaration>>;
state?: State;
}
/**
* Position an element relative some reference element using Popper.js
*
* @param referenceElement
* @param popperElement
* @param {object} options
* @param {object=} options.modifiers Popper.js modifiers
* @param {boolean=} options.enabled toggle the popper functionality on/off
* @param {string=} options.placement The popper element placement relative to the reference element
* @param {string=} options.strategy the positioning strategy
* @param {boolean=} options.eventsEnabled have Popper listen on window resize events to reposition the element
* @param {function=} options.onCreate called when the popper is created
* @param {function=} options.onUpdate called when the popper is updated
*
* @returns {UsePopperState} The popper state
*/
declare function usePopper(referenceElement: VirtualElement | null | undefined, popperElement: HTMLElement | null | undefined, { enabled, placement, strategy, modifiers, ...config }?: UsePopperOptions): UsePopperState;
export default usePopper;

192
node_modules/react-overlays/cjs/usePopper.js generated vendored Normal file
View File

@@ -0,0 +1,192 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = require("react");
var _useSafeState2 = _interopRequireDefault(require("@restart/hooks/useSafeState"));
var _popper = require("./popper");
var initialPopperStyles = function initialPopperStyles(position) {
return {
position: position,
top: '0',
left: '0',
opacity: '0',
pointerEvents: 'none'
};
};
var disabledApplyStylesModifier = {
name: 'applyStyles',
enabled: false
}; // In order to satisfy the current usage of options, including undefined
var ariaDescribedByModifier = {
name: 'ariaDescribedBy',
enabled: true,
phase: 'afterWrite',
effect: function effect(_ref) {
var state = _ref.state;
return function () {
var _state$elements = state.elements,
reference = _state$elements.reference,
popper = _state$elements.popper;
if ('removeAttribute' in reference) {
var ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(function (id) {
return id.trim() !== popper.id;
});
if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));
}
};
},
fn: function fn(_ref2) {
var _popper$getAttribute;
var state = _ref2.state;
var _state$elements2 = state.elements,
popper = _state$elements2.popper,
reference = _state$elements2.reference;
var role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();
if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {
var ids = reference.getAttribute('aria-describedby');
if (ids && ids.split(',').indexOf(popper.id) !== -1) {
return;
}
reference.setAttribute('aria-describedby', ids ? ids + "," + popper.id : popper.id);
}
}
};
var EMPTY_MODIFIERS = [];
/**
* Position an element relative some reference element using Popper.js
*
* @param referenceElement
* @param popperElement
* @param {object} options
* @param {object=} options.modifiers Popper.js modifiers
* @param {boolean=} options.enabled toggle the popper functionality on/off
* @param {string=} options.placement The popper element placement relative to the reference element
* @param {string=} options.strategy the positioning strategy
* @param {boolean=} options.eventsEnabled have Popper listen on window resize events to reposition the element
* @param {function=} options.onCreate called when the popper is created
* @param {function=} options.onUpdate called when the popper is updated
*
* @returns {UsePopperState} The popper state
*/
function usePopper(referenceElement, popperElement, _temp) {
var _ref3 = _temp === void 0 ? {} : _temp,
_ref3$enabled = _ref3.enabled,
enabled = _ref3$enabled === void 0 ? true : _ref3$enabled,
_ref3$placement = _ref3.placement,
placement = _ref3$placement === void 0 ? 'bottom' : _ref3$placement,
_ref3$strategy = _ref3.strategy,
strategy = _ref3$strategy === void 0 ? 'absolute' : _ref3$strategy,
_ref3$modifiers = _ref3.modifiers,
modifiers = _ref3$modifiers === void 0 ? EMPTY_MODIFIERS : _ref3$modifiers,
config = (0, _objectWithoutPropertiesLoose2["default"])(_ref3, ["enabled", "placement", "strategy", "modifiers"]);
var popperInstanceRef = (0, _react.useRef)();
var update = (0, _react.useCallback)(function () {
var _popperInstanceRef$cu;
(_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();
}, []);
var forceUpdate = (0, _react.useCallback)(function () {
var _popperInstanceRef$cu2;
(_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();
}, []);
var _useSafeState = (0, _useSafeState2["default"])((0, _react.useState)({
placement: placement,
update: update,
forceUpdate: forceUpdate,
attributes: {},
styles: {
popper: initialPopperStyles(strategy),
arrow: {}
}
})),
popperState = _useSafeState[0],
setState = _useSafeState[1];
var updateModifier = (0, _react.useMemo)(function () {
return {
name: 'updateStateModifier',
enabled: true,
phase: 'write',
requires: ['computeStyles'],
fn: function fn(_ref4) {
var state = _ref4.state;
var styles = {};
var attributes = {};
Object.keys(state.elements).forEach(function (element) {
styles[element] = state.styles[element];
attributes[element] = state.attributes[element];
});
setState({
state: state,
styles: styles,
attributes: attributes,
update: update,
forceUpdate: forceUpdate,
placement: state.placement
});
}
};
}, [update, forceUpdate, setState]);
(0, _react.useEffect)(function () {
if (!popperInstanceRef.current || !enabled) return;
popperInstanceRef.current.setOptions({
placement: placement,
strategy: strategy,
modifiers: [].concat(modifiers, [updateModifier, disabledApplyStylesModifier])
}); // intentionally NOT re-running on new modifiers
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [strategy, placement, updateModifier, enabled]);
(0, _react.useEffect)(function () {
if (!enabled || referenceElement == null || popperElement == null) {
return undefined;
}
popperInstanceRef.current = (0, _popper.createPopper)(referenceElement, popperElement, (0, _extends2["default"])({}, config, {
placement: placement,
strategy: strategy,
modifiers: [].concat(modifiers, [ariaDescribedByModifier, updateModifier])
}));
return function () {
if (popperInstanceRef.current != null) {
popperInstanceRef.current.destroy();
popperInstanceRef.current = undefined;
setState(function (s) {
return (0, _extends2["default"])({}, s, {
attributes: {},
styles: {
popper: initialPopperStyles(strategy)
}
});
});
}
}; // This is only run once to _create_ the popper
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [enabled, referenceElement, popperElement]);
return popperState;
}
var _default = usePopper;
exports["default"] = _default;
module.exports = exports.default;

22
node_modules/react-overlays/cjs/useRootClose.d.ts generated vendored Normal file
View File

@@ -0,0 +1,22 @@
/// <reference types="react" />
export declare type MouseEvents = {
[K in keyof GlobalEventHandlersEventMap]: GlobalEventHandlersEventMap[K] extends MouseEvent ? K : never;
}[keyof GlobalEventHandlersEventMap];
export interface RootCloseOptions {
disabled?: boolean;
clickTrigger?: MouseEvents;
}
/**
* The `useRootClose` hook registers your callback on the document
* when rendered. Powers the `<Overlay/>` component. This is used achieve modal
* style behavior where your callback is triggered when the user tries to
* interact with the rest of the document or hits the `esc` key.
*
* @param {Ref<HTMLElement>| HTMLElement} ref The element boundary
* @param {function} onRootClose
* @param {object=} options
* @param {boolean=} options.disabled
* @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on
*/
declare function useRootClose(ref: React.RefObject<Element> | Element | null | undefined, onRootClose: (e: Event) => void, { disabled, clickTrigger }?: RootCloseOptions): void;
export default useRootClose;

122
node_modules/react-overlays/cjs/useRootClose.js generated vendored Normal file
View File

@@ -0,0 +1,122 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _contains = _interopRequireDefault(require("dom-helpers/contains"));
var _listen = _interopRequireDefault(require("dom-helpers/listen"));
var _react = require("react");
var _useEventCallback = _interopRequireDefault(require("@restart/hooks/useEventCallback"));
var _warning = _interopRequireDefault(require("warning"));
var _ownerDocument = _interopRequireDefault(require("./ownerDocument"));
var escapeKeyCode = 27;
var noop = function noop() {};
function isLeftClickEvent(event) {
return event.button === 0;
}
function isModifiedEvent(event) {
return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
}
var getRefTarget = function getRefTarget(ref) {
return ref && ('current' in ref ? ref.current : ref);
};
/**
* The `useRootClose` hook registers your callback on the document
* when rendered. Powers the `<Overlay/>` component. This is used achieve modal
* style behavior where your callback is triggered when the user tries to
* interact with the rest of the document or hits the `esc` key.
*
* @param {Ref<HTMLElement>| HTMLElement} ref The element boundary
* @param {function} onRootClose
* @param {object=} options
* @param {boolean=} options.disabled
* @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on
*/
function useRootClose(ref, onRootClose, _temp) {
var _ref = _temp === void 0 ? {} : _temp,
disabled = _ref.disabled,
_ref$clickTrigger = _ref.clickTrigger,
clickTrigger = _ref$clickTrigger === void 0 ? 'click' : _ref$clickTrigger;
var preventMouseRootCloseRef = (0, _react.useRef)(false);
var onClose = onRootClose || noop;
var handleMouseCapture = (0, _react.useCallback)(function (e) {
var _e$composedPath$;
var currentTarget = getRefTarget(ref);
(0, _warning["default"])(!!currentTarget, 'RootClose captured a close event but does not have a ref to compare it to. ' + 'useRootClose(), should be passed a ref that resolves to a DOM node');
preventMouseRootCloseRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!(0, _contains["default"])(currentTarget, (_e$composedPath$ = e.composedPath == null ? void 0 : e.composedPath()[0]) != null ? _e$composedPath$ : e.target);
}, [ref]);
var handleMouse = (0, _useEventCallback["default"])(function (e) {
if (!preventMouseRootCloseRef.current) {
onClose(e);
}
});
var handleKeyUp = (0, _useEventCallback["default"])(function (e) {
if (e.keyCode === escapeKeyCode) {
onClose(e);
}
});
(0, _react.useEffect)(function () {
if (disabled || ref == null) return undefined; // Store the current event to avoid triggering handlers immediately
// https://github.com/facebook/react/issues/20074
var currentEvent = window.event;
var doc = (0, _ownerDocument["default"])(getRefTarget(ref)); // Use capture for this listener so it fires before React's listener, to
// avoid false positives in the contains() check below if the target DOM
// element is removed in the React mouse callback.
var removeMouseCaptureListener = (0, _listen["default"])(doc, clickTrigger, handleMouseCapture, true);
var removeMouseListener = (0, _listen["default"])(doc, clickTrigger, function (e) {
// skip if this event is the same as the one running when we added the handlers
if (e === currentEvent) {
currentEvent = undefined;
return;
}
handleMouse(e);
});
var removeKeyupListener = (0, _listen["default"])(doc, 'keyup', function (e) {
// skip if this event is the same as the one running when we added the handlers
if (e === currentEvent) {
currentEvent = undefined;
return;
}
handleKeyUp(e);
});
var mobileSafariHackListeners = [];
if ('ontouchstart' in doc.documentElement) {
mobileSafariHackListeners = [].slice.call(doc.body.children).map(function (el) {
return (0, _listen["default"])(el, 'mousemove', noop);
});
}
return function () {
removeMouseCaptureListener();
removeMouseListener();
removeKeyupListener();
mobileSafariHackListeners.forEach(function (remove) {
return remove();
});
};
}, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse, handleKeyUp]);
}
var _default = useRootClose;
exports["default"] = _default;
module.exports = exports.default;

View File

@@ -0,0 +1,4 @@
/// <reference types="react" />
export declare type DOMContainer<T extends HTMLElement = HTMLElement> = T | React.RefObject<T> | null | (() => T | React.RefObject<T> | null);
export declare const resolveContainerRef: <T extends HTMLElement>(ref: DOMContainer<T> | undefined) => HTMLBodyElement | T | null;
export default function useWaitForDOMRef<T extends HTMLElement = HTMLElement>(ref: DOMContainer<T> | undefined, onResolved?: (element: T | HTMLBodyElement) => void): HTMLBodyElement | T | null;

51
node_modules/react-overlays/cjs/useWaitForDOMRef.js generated vendored Normal file
View File

@@ -0,0 +1,51 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = useWaitForDOMRef;
exports.resolveContainerRef = void 0;
var _ownerDocument = _interopRequireDefault(require("dom-helpers/ownerDocument"));
var _react = require("react");
var resolveContainerRef = function resolveContainerRef(ref) {
var _ref;
if (typeof document === 'undefined') return null;
if (ref == null) return (0, _ownerDocument["default"])().body;
if (typeof ref === 'function') ref = ref();
if (ref && 'current' in ref) ref = ref.current;
if ((_ref = ref) != null && _ref.nodeType) return ref || null;
return null;
};
exports.resolveContainerRef = resolveContainerRef;
function useWaitForDOMRef(ref, onResolved) {
var _useState = (0, _react.useState)(function () {
return resolveContainerRef(ref);
}),
resolvedRef = _useState[0],
setRef = _useState[1];
if (!resolvedRef) {
var earlyRef = resolveContainerRef(ref);
if (earlyRef) setRef(earlyRef);
}
(0, _react.useEffect)(function () {
if (onResolved && resolvedRef) {
onResolved(resolvedRef);
}
}, [onResolved, resolvedRef]);
(0, _react.useEffect)(function () {
var nextRef = resolveContainerRef(ref);
if (nextRef !== resolvedRef) {
setRef(nextRef);
}
}, [ref, resolvedRef]);
return resolvedRef;
}