first commit
This commit is contained in:
4
frontend/node_modules/rc-menu/lib/Divider.d.ts
generated
vendored
Normal file
4
frontend/node_modules/rc-menu/lib/Divider.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuDividerType } from './interface';
|
||||
export type DividerProps = Omit<MenuDividerType, 'type'>;
|
||||
export default function Divider({ className, style }: DividerProps): React.JSX.Element;
|
||||
29
frontend/node_modules/rc-menu/lib/Divider.js
generated
vendored
Normal file
29
frontend/node_modules/rc-menu/lib/Divider.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = Divider;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _MenuContext = require("./context/MenuContext");
|
||||
var _PathContext = require("./context/PathContext");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function Divider(_ref) {
|
||||
var className = _ref.className,
|
||||
style = _ref.style;
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
prefixCls = _React$useContext.prefixCls;
|
||||
var measure = (0, _PathContext.useMeasure)();
|
||||
if (measure) {
|
||||
return null;
|
||||
}
|
||||
return /*#__PURE__*/React.createElement("li", {
|
||||
role: "separator",
|
||||
className: (0, _classnames.default)("".concat(prefixCls, "-item-divider"), className),
|
||||
style: style
|
||||
});
|
||||
}
|
||||
9
frontend/node_modules/rc-menu/lib/Icon.d.ts
generated
vendored
Normal file
9
frontend/node_modules/rc-menu/lib/Icon.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import * as React from 'react';
|
||||
import type { RenderIconInfo, RenderIconType } from './interface';
|
||||
export interface IconProps {
|
||||
icon?: RenderIconType;
|
||||
props: RenderIconInfo;
|
||||
/** Fallback of icon if provided */
|
||||
children?: React.ReactElement;
|
||||
}
|
||||
export default function Icon({ icon, props, children }: IconProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
||||
28
frontend/node_modules/rc-menu/lib/Icon.js
generated
vendored
Normal file
28
frontend/node_modules/rc-menu/lib/Icon.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = Icon;
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function Icon(_ref) {
|
||||
var icon = _ref.icon,
|
||||
props = _ref.props,
|
||||
children = _ref.children;
|
||||
var iconNode;
|
||||
if (icon === null || icon === false) {
|
||||
return null;
|
||||
}
|
||||
if (typeof icon === 'function') {
|
||||
iconNode = /*#__PURE__*/React.createElement(icon, (0, _objectSpread2.default)({}, props));
|
||||
} else if (typeof icon !== "boolean") {
|
||||
// Compatible for origin definition
|
||||
iconNode = icon;
|
||||
}
|
||||
return iconNode || children || null;
|
||||
}
|
||||
73
frontend/node_modules/rc-menu/lib/Menu.d.ts
generated
vendored
Normal file
73
frontend/node_modules/rc-menu/lib/Menu.d.ts
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
import type { CSSMotionProps } from 'rc-motion';
|
||||
import * as React from 'react';
|
||||
import type { BuiltinPlacements, Components, ItemType, MenuClickEventHandler, MenuMode, MenuRef, RenderIconType, SelectEventHandler, TriggerSubMenuAction } from './interface';
|
||||
export interface MenuProps extends Omit<React.HTMLAttributes<HTMLUListElement>, 'onClick' | 'onSelect' | 'dir'> {
|
||||
prefixCls?: string;
|
||||
rootClassName?: string;
|
||||
items?: ItemType[];
|
||||
/** @deprecated Please use `items` instead */
|
||||
children?: React.ReactNode;
|
||||
disabled?: boolean;
|
||||
/** @private Disable auto overflow. Pls note the prop name may refactor since we do not final decided. */
|
||||
disabledOverflow?: boolean;
|
||||
/** direction of menu */
|
||||
direction?: 'ltr' | 'rtl';
|
||||
mode?: MenuMode;
|
||||
inlineCollapsed?: boolean;
|
||||
defaultOpenKeys?: string[];
|
||||
openKeys?: string[];
|
||||
activeKey?: string;
|
||||
defaultActiveFirst?: boolean;
|
||||
selectable?: boolean;
|
||||
multiple?: boolean;
|
||||
defaultSelectedKeys?: string[];
|
||||
selectedKeys?: string[];
|
||||
onSelect?: SelectEventHandler;
|
||||
onDeselect?: SelectEventHandler;
|
||||
inlineIndent?: number;
|
||||
/** Menu motion define. Use `defaultMotions` if you need config motion of each mode */
|
||||
motion?: CSSMotionProps;
|
||||
/** Default menu motion of each mode */
|
||||
defaultMotions?: Partial<{
|
||||
[key in MenuMode | 'other']: CSSMotionProps;
|
||||
}>;
|
||||
subMenuOpenDelay?: number;
|
||||
subMenuCloseDelay?: number;
|
||||
forceSubMenuRender?: boolean;
|
||||
triggerSubMenuAction?: TriggerSubMenuAction;
|
||||
builtinPlacements?: BuiltinPlacements;
|
||||
itemIcon?: RenderIconType;
|
||||
expandIcon?: RenderIconType;
|
||||
overflowedIndicator?: React.ReactNode;
|
||||
/** @private Internal usage. Do not use in your production. */
|
||||
overflowedIndicatorPopupClassName?: string;
|
||||
getPopupContainer?: (node: HTMLElement) => HTMLElement;
|
||||
onClick?: MenuClickEventHandler;
|
||||
onOpenChange?: (openKeys: string[]) => void;
|
||||
/***
|
||||
* @private Only used for `pro-layout`. Do not use in your prod directly
|
||||
* and we do not promise any compatibility for this.
|
||||
*/
|
||||
_internalRenderMenuItem?: (originNode: React.ReactElement, menuItemProps: any, stateProps: {
|
||||
selected: boolean;
|
||||
}) => React.ReactElement;
|
||||
/***
|
||||
* @private Only used for `pro-layout`. Do not use in your prod directly
|
||||
* and we do not promise any compatibility for this.
|
||||
*/
|
||||
_internalRenderSubMenuItem?: (originNode: React.ReactElement, subMenuItemProps: any, stateProps: {
|
||||
selected: boolean;
|
||||
open: boolean;
|
||||
active: boolean;
|
||||
disabled: boolean;
|
||||
}) => React.ReactElement;
|
||||
/**
|
||||
* @private NEVER! EVER! USE IN PRODUCTION!!!
|
||||
* This is a hack API for `antd` to fix `findDOMNode` issue.
|
||||
* Not use it! Not accept any PR try to make it as normal API.
|
||||
* By zombieJ
|
||||
*/
|
||||
_internalComponents?: Components;
|
||||
}
|
||||
declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<MenuRef>>;
|
||||
export default Menu;
|
||||
490
frontend/node_modules/rc-menu/lib/Menu.js
generated
vendored
Normal file
490
frontend/node_modules/rc-menu/lib/Menu.js
generated
vendored
Normal file
@@ -0,0 +1,490 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _rcOverflow = _interopRequireDefault(require("rc-overflow"));
|
||||
var _useMergedState7 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
||||
var _isEqual = _interopRequireDefault(require("rc-util/lib/isEqual"));
|
||||
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
|
||||
var _react = _interopRequireWildcard(require("react"));
|
||||
var React = _react;
|
||||
var _reactDom = require("react-dom");
|
||||
var _IdContext = require("./context/IdContext");
|
||||
var _MenuContext = _interopRequireDefault(require("./context/MenuContext"));
|
||||
var _PathContext = require("./context/PathContext");
|
||||
var _PrivateContext = _interopRequireDefault(require("./context/PrivateContext"));
|
||||
var _useAccessibility = require("./hooks/useAccessibility");
|
||||
var _useKeyRecords2 = _interopRequireWildcard(require("./hooks/useKeyRecords"));
|
||||
var _useMemoCallback = _interopRequireDefault(require("./hooks/useMemoCallback"));
|
||||
var _useUUID = _interopRequireDefault(require("./hooks/useUUID"));
|
||||
var _MenuItem = _interopRequireDefault(require("./MenuItem"));
|
||||
var _SubMenu = _interopRequireDefault(require("./SubMenu"));
|
||||
var _nodeUtil = require("./utils/nodeUtil");
|
||||
var _warnUtil = require("./utils/warnUtil");
|
||||
var _excluded = ["prefixCls", "rootClassName", "style", "className", "tabIndex", "items", "children", "direction", "id", "mode", "inlineCollapsed", "disabled", "disabledOverflow", "subMenuOpenDelay", "subMenuCloseDelay", "forceSubMenuRender", "defaultOpenKeys", "openKeys", "activeKey", "defaultActiveFirst", "selectable", "multiple", "defaultSelectedKeys", "selectedKeys", "onSelect", "onDeselect", "inlineIndent", "motion", "defaultMotions", "triggerSubMenuAction", "builtinPlacements", "itemIcon", "expandIcon", "overflowedIndicator", "overflowedIndicatorPopupClassName", "getPopupContainer", "onClick", "onOpenChange", "onKeyDown", "openAnimation", "openTransitionName", "_internalRenderMenuItem", "_internalRenderSubMenuItem", "_internalComponents"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
/**
|
||||
* Menu modify after refactor:
|
||||
* ## Add
|
||||
* - disabled
|
||||
*
|
||||
* ## Remove
|
||||
* - openTransitionName
|
||||
* - openAnimation
|
||||
* - onDestroy
|
||||
* - siderCollapsed: Seems antd do not use this prop (Need test in antd)
|
||||
* - collapsedWidth: Seems this logic should be handle by antd Layout.Sider
|
||||
*/
|
||||
|
||||
// optimize for render
|
||||
var EMPTY_LIST = [];
|
||||
var Menu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var _childList$;
|
||||
var _ref = props,
|
||||
_ref$prefixCls = _ref.prefixCls,
|
||||
prefixCls = _ref$prefixCls === void 0 ? 'rc-menu' : _ref$prefixCls,
|
||||
rootClassName = _ref.rootClassName,
|
||||
style = _ref.style,
|
||||
className = _ref.className,
|
||||
_ref$tabIndex = _ref.tabIndex,
|
||||
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
||||
items = _ref.items,
|
||||
children = _ref.children,
|
||||
direction = _ref.direction,
|
||||
id = _ref.id,
|
||||
_ref$mode = _ref.mode,
|
||||
mode = _ref$mode === void 0 ? 'vertical' : _ref$mode,
|
||||
inlineCollapsed = _ref.inlineCollapsed,
|
||||
disabled = _ref.disabled,
|
||||
disabledOverflow = _ref.disabledOverflow,
|
||||
_ref$subMenuOpenDelay = _ref.subMenuOpenDelay,
|
||||
subMenuOpenDelay = _ref$subMenuOpenDelay === void 0 ? 0.1 : _ref$subMenuOpenDelay,
|
||||
_ref$subMenuCloseDela = _ref.subMenuCloseDelay,
|
||||
subMenuCloseDelay = _ref$subMenuCloseDela === void 0 ? 0.1 : _ref$subMenuCloseDela,
|
||||
forceSubMenuRender = _ref.forceSubMenuRender,
|
||||
defaultOpenKeys = _ref.defaultOpenKeys,
|
||||
openKeys = _ref.openKeys,
|
||||
activeKey = _ref.activeKey,
|
||||
defaultActiveFirst = _ref.defaultActiveFirst,
|
||||
_ref$selectable = _ref.selectable,
|
||||
selectable = _ref$selectable === void 0 ? true : _ref$selectable,
|
||||
_ref$multiple = _ref.multiple,
|
||||
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
||||
defaultSelectedKeys = _ref.defaultSelectedKeys,
|
||||
selectedKeys = _ref.selectedKeys,
|
||||
onSelect = _ref.onSelect,
|
||||
onDeselect = _ref.onDeselect,
|
||||
_ref$inlineIndent = _ref.inlineIndent,
|
||||
inlineIndent = _ref$inlineIndent === void 0 ? 24 : _ref$inlineIndent,
|
||||
motion = _ref.motion,
|
||||
defaultMotions = _ref.defaultMotions,
|
||||
_ref$triggerSubMenuAc = _ref.triggerSubMenuAction,
|
||||
triggerSubMenuAction = _ref$triggerSubMenuAc === void 0 ? 'hover' : _ref$triggerSubMenuAc,
|
||||
builtinPlacements = _ref.builtinPlacements,
|
||||
itemIcon = _ref.itemIcon,
|
||||
expandIcon = _ref.expandIcon,
|
||||
_ref$overflowedIndica = _ref.overflowedIndicator,
|
||||
overflowedIndicator = _ref$overflowedIndica === void 0 ? '...' : _ref$overflowedIndica,
|
||||
overflowedIndicatorPopupClassName = _ref.overflowedIndicatorPopupClassName,
|
||||
getPopupContainer = _ref.getPopupContainer,
|
||||
onClick = _ref.onClick,
|
||||
onOpenChange = _ref.onOpenChange,
|
||||
onKeyDown = _ref.onKeyDown,
|
||||
openAnimation = _ref.openAnimation,
|
||||
openTransitionName = _ref.openTransitionName,
|
||||
_internalRenderMenuItem = _ref._internalRenderMenuItem,
|
||||
_internalRenderSubMenuItem = _ref._internalRenderSubMenuItem,
|
||||
_internalComponents = _ref._internalComponents,
|
||||
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
||||
var _React$useMemo = React.useMemo(function () {
|
||||
return [(0, _nodeUtil.parseItems)(children, items, EMPTY_LIST, _internalComponents, prefixCls), (0, _nodeUtil.parseItems)(children, items, EMPTY_LIST, {}, prefixCls)];
|
||||
}, [children, items, _internalComponents]),
|
||||
_React$useMemo2 = (0, _slicedToArray2.default)(_React$useMemo, 2),
|
||||
childList = _React$useMemo2[0],
|
||||
measureChildList = _React$useMemo2[1];
|
||||
var _React$useState = React.useState(false),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
mounted = _React$useState2[0],
|
||||
setMounted = _React$useState2[1];
|
||||
var containerRef = React.useRef();
|
||||
var uuid = (0, _useUUID.default)(id);
|
||||
var isRtl = direction === 'rtl';
|
||||
|
||||
// ========================= Warn =========================
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
(0, _warning.default)(!openAnimation && !openTransitionName, '`openAnimation` and `openTransitionName` is removed. Please use `motion` or `defaultMotion` instead.');
|
||||
}
|
||||
|
||||
// ========================= Open =========================
|
||||
var _useMergedState = (0, _useMergedState7.default)(defaultOpenKeys, {
|
||||
value: openKeys,
|
||||
postState: function postState(keys) {
|
||||
return keys || EMPTY_LIST;
|
||||
}
|
||||
}),
|
||||
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
|
||||
mergedOpenKeys = _useMergedState2[0],
|
||||
setMergedOpenKeys = _useMergedState2[1];
|
||||
|
||||
// React 18 will merge mouse event which means we open key will not sync
|
||||
// ref: https://github.com/ant-design/ant-design/issues/38818
|
||||
var triggerOpenKeys = function triggerOpenKeys(keys) {
|
||||
var forceFlush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||||
function doUpdate() {
|
||||
setMergedOpenKeys(keys);
|
||||
onOpenChange === null || onOpenChange === void 0 || onOpenChange(keys);
|
||||
}
|
||||
if (forceFlush) {
|
||||
(0, _reactDom.flushSync)(doUpdate);
|
||||
} else {
|
||||
doUpdate();
|
||||
}
|
||||
};
|
||||
|
||||
// >>>>> Cache & Reset open keys when inlineCollapsed changed
|
||||
var _React$useState3 = React.useState(mergedOpenKeys),
|
||||
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
||||
inlineCacheOpenKeys = _React$useState4[0],
|
||||
setInlineCacheOpenKeys = _React$useState4[1];
|
||||
var mountRef = React.useRef(false);
|
||||
|
||||
// ========================= Mode =========================
|
||||
var _React$useMemo3 = React.useMemo(function () {
|
||||
if ((mode === 'inline' || mode === 'vertical') && inlineCollapsed) {
|
||||
return ['vertical', inlineCollapsed];
|
||||
}
|
||||
return [mode, false];
|
||||
}, [mode, inlineCollapsed]),
|
||||
_React$useMemo4 = (0, _slicedToArray2.default)(_React$useMemo3, 2),
|
||||
mergedMode = _React$useMemo4[0],
|
||||
mergedInlineCollapsed = _React$useMemo4[1];
|
||||
var isInlineMode = mergedMode === 'inline';
|
||||
var _React$useState5 = React.useState(mergedMode),
|
||||
_React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
|
||||
internalMode = _React$useState6[0],
|
||||
setInternalMode = _React$useState6[1];
|
||||
var _React$useState7 = React.useState(mergedInlineCollapsed),
|
||||
_React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
|
||||
internalInlineCollapsed = _React$useState8[0],
|
||||
setInternalInlineCollapsed = _React$useState8[1];
|
||||
React.useEffect(function () {
|
||||
setInternalMode(mergedMode);
|
||||
setInternalInlineCollapsed(mergedInlineCollapsed);
|
||||
if (!mountRef.current) {
|
||||
return;
|
||||
}
|
||||
// Synchronously update MergedOpenKeys
|
||||
if (isInlineMode) {
|
||||
setMergedOpenKeys(inlineCacheOpenKeys);
|
||||
} else {
|
||||
// Trigger open event in case its in control
|
||||
triggerOpenKeys(EMPTY_LIST);
|
||||
}
|
||||
}, [mergedMode, mergedInlineCollapsed]);
|
||||
|
||||
// ====================== Responsive ======================
|
||||
var _React$useState9 = React.useState(0),
|
||||
_React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
|
||||
lastVisibleIndex = _React$useState10[0],
|
||||
setLastVisibleIndex = _React$useState10[1];
|
||||
var allVisible = lastVisibleIndex >= childList.length - 1 || internalMode !== 'horizontal' || disabledOverflow;
|
||||
|
||||
// Cache
|
||||
React.useEffect(function () {
|
||||
if (isInlineMode) {
|
||||
setInlineCacheOpenKeys(mergedOpenKeys);
|
||||
}
|
||||
}, [mergedOpenKeys]);
|
||||
React.useEffect(function () {
|
||||
mountRef.current = true;
|
||||
return function () {
|
||||
mountRef.current = false;
|
||||
};
|
||||
}, []);
|
||||
|
||||
// ========================= Path =========================
|
||||
var _useKeyRecords = (0, _useKeyRecords2.default)(),
|
||||
registerPath = _useKeyRecords.registerPath,
|
||||
unregisterPath = _useKeyRecords.unregisterPath,
|
||||
refreshOverflowKeys = _useKeyRecords.refreshOverflowKeys,
|
||||
isSubPathKey = _useKeyRecords.isSubPathKey,
|
||||
getKeyPath = _useKeyRecords.getKeyPath,
|
||||
getKeys = _useKeyRecords.getKeys,
|
||||
getSubPathKeys = _useKeyRecords.getSubPathKeys;
|
||||
var registerPathContext = React.useMemo(function () {
|
||||
return {
|
||||
registerPath: registerPath,
|
||||
unregisterPath: unregisterPath
|
||||
};
|
||||
}, [registerPath, unregisterPath]);
|
||||
var pathUserContext = React.useMemo(function () {
|
||||
return {
|
||||
isSubPathKey: isSubPathKey
|
||||
};
|
||||
}, [isSubPathKey]);
|
||||
React.useEffect(function () {
|
||||
refreshOverflowKeys(allVisible ? EMPTY_LIST : childList.slice(lastVisibleIndex + 1).map(function (child) {
|
||||
return child.key;
|
||||
}));
|
||||
}, [lastVisibleIndex, allVisible]);
|
||||
|
||||
// ======================== Active ========================
|
||||
var _useMergedState3 = (0, _useMergedState7.default)(activeKey || defaultActiveFirst && ((_childList$ = childList[0]) === null || _childList$ === void 0 ? void 0 : _childList$.key), {
|
||||
value: activeKey
|
||||
}),
|
||||
_useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
|
||||
mergedActiveKey = _useMergedState4[0],
|
||||
setMergedActiveKey = _useMergedState4[1];
|
||||
var onActive = (0, _useMemoCallback.default)(function (key) {
|
||||
setMergedActiveKey(key);
|
||||
});
|
||||
var onInactive = (0, _useMemoCallback.default)(function () {
|
||||
setMergedActiveKey(undefined);
|
||||
});
|
||||
(0, _react.useImperativeHandle)(ref, function () {
|
||||
return {
|
||||
list: containerRef.current,
|
||||
focus: function focus(options) {
|
||||
var _childList$find;
|
||||
var keys = getKeys();
|
||||
var _refreshElements = (0, _useAccessibility.refreshElements)(keys, uuid),
|
||||
elements = _refreshElements.elements,
|
||||
key2element = _refreshElements.key2element,
|
||||
element2key = _refreshElements.element2key;
|
||||
var focusableElements = (0, _useAccessibility.getFocusableElements)(containerRef.current, elements);
|
||||
var shouldFocusKey = mergedActiveKey !== null && mergedActiveKey !== void 0 ? mergedActiveKey : focusableElements[0] ? element2key.get(focusableElements[0]) : (_childList$find = childList.find(function (node) {
|
||||
return !node.props.disabled;
|
||||
})) === null || _childList$find === void 0 ? void 0 : _childList$find.key;
|
||||
var elementToFocus = key2element.get(shouldFocusKey);
|
||||
if (shouldFocusKey && elementToFocus) {
|
||||
var _elementToFocus$focus;
|
||||
elementToFocus === null || elementToFocus === void 0 || (_elementToFocus$focus = elementToFocus.focus) === null || _elementToFocus$focus === void 0 || _elementToFocus$focus.call(elementToFocus, options);
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
// ======================== Select ========================
|
||||
// >>>>> Select keys
|
||||
var _useMergedState5 = (0, _useMergedState7.default)(defaultSelectedKeys || [], {
|
||||
value: selectedKeys,
|
||||
// Legacy convert key to array
|
||||
postState: function postState(keys) {
|
||||
if (Array.isArray(keys)) {
|
||||
return keys;
|
||||
}
|
||||
if (keys === null || keys === undefined) {
|
||||
return EMPTY_LIST;
|
||||
}
|
||||
return [keys];
|
||||
}
|
||||
}),
|
||||
_useMergedState6 = (0, _slicedToArray2.default)(_useMergedState5, 2),
|
||||
mergedSelectKeys = _useMergedState6[0],
|
||||
setMergedSelectKeys = _useMergedState6[1];
|
||||
|
||||
// >>>>> Trigger select
|
||||
var triggerSelection = function triggerSelection(info) {
|
||||
if (selectable) {
|
||||
// Insert or Remove
|
||||
var targetKey = info.key;
|
||||
var exist = mergedSelectKeys.includes(targetKey);
|
||||
var newSelectKeys;
|
||||
if (multiple) {
|
||||
if (exist) {
|
||||
newSelectKeys = mergedSelectKeys.filter(function (key) {
|
||||
return key !== targetKey;
|
||||
});
|
||||
} else {
|
||||
newSelectKeys = [].concat((0, _toConsumableArray2.default)(mergedSelectKeys), [targetKey]);
|
||||
}
|
||||
} else {
|
||||
newSelectKeys = [targetKey];
|
||||
}
|
||||
setMergedSelectKeys(newSelectKeys);
|
||||
|
||||
// Trigger event
|
||||
var selectInfo = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, info), {}, {
|
||||
selectedKeys: newSelectKeys
|
||||
});
|
||||
if (exist) {
|
||||
onDeselect === null || onDeselect === void 0 || onDeselect(selectInfo);
|
||||
} else {
|
||||
onSelect === null || onSelect === void 0 || onSelect(selectInfo);
|
||||
}
|
||||
}
|
||||
|
||||
// Whatever selectable, always close it
|
||||
if (!multiple && mergedOpenKeys.length && internalMode !== 'inline') {
|
||||
triggerOpenKeys(EMPTY_LIST);
|
||||
}
|
||||
};
|
||||
|
||||
// ========================= Open =========================
|
||||
/**
|
||||
* Click for item. SubMenu do not have selection status
|
||||
*/
|
||||
var onInternalClick = (0, _useMemoCallback.default)(function (info) {
|
||||
onClick === null || onClick === void 0 || onClick((0, _warnUtil.warnItemProp)(info));
|
||||
triggerSelection(info);
|
||||
});
|
||||
var onInternalOpenChange = (0, _useMemoCallback.default)(function (key, open) {
|
||||
var newOpenKeys = mergedOpenKeys.filter(function (k) {
|
||||
return k !== key;
|
||||
});
|
||||
if (open) {
|
||||
newOpenKeys.push(key);
|
||||
} else if (internalMode !== 'inline') {
|
||||
// We need find all related popup to close
|
||||
var subPathKeys = getSubPathKeys(key);
|
||||
newOpenKeys = newOpenKeys.filter(function (k) {
|
||||
return !subPathKeys.has(k);
|
||||
});
|
||||
}
|
||||
if (!(0, _isEqual.default)(mergedOpenKeys, newOpenKeys, true)) {
|
||||
triggerOpenKeys(newOpenKeys, true);
|
||||
}
|
||||
});
|
||||
|
||||
// ==================== Accessibility =====================
|
||||
var triggerAccessibilityOpen = function triggerAccessibilityOpen(key, open) {
|
||||
var nextOpen = open !== null && open !== void 0 ? open : !mergedOpenKeys.includes(key);
|
||||
onInternalOpenChange(key, nextOpen);
|
||||
};
|
||||
var onInternalKeyDown = (0, _useAccessibility.useAccessibility)(internalMode, mergedActiveKey, isRtl, uuid, containerRef, getKeys, getKeyPath, setMergedActiveKey, triggerAccessibilityOpen, onKeyDown);
|
||||
|
||||
// ======================== Effect ========================
|
||||
React.useEffect(function () {
|
||||
setMounted(true);
|
||||
}, []);
|
||||
|
||||
// ======================= Context ========================
|
||||
var privateContext = React.useMemo(function () {
|
||||
return {
|
||||
_internalRenderMenuItem: _internalRenderMenuItem,
|
||||
_internalRenderSubMenuItem: _internalRenderSubMenuItem
|
||||
};
|
||||
}, [_internalRenderMenuItem, _internalRenderSubMenuItem]);
|
||||
|
||||
// ======================== Render ========================
|
||||
|
||||
// >>>>> Children
|
||||
var wrappedChildList = internalMode !== 'horizontal' || disabledOverflow ? childList :
|
||||
// Need wrap for overflow dropdown that do not response for open
|
||||
childList.map(function (child, index) {
|
||||
return (
|
||||
/*#__PURE__*/
|
||||
// Always wrap provider to avoid sub node re-mount
|
||||
React.createElement(_MenuContext.default, {
|
||||
key: child.key,
|
||||
overflowDisabled: index > lastVisibleIndex
|
||||
}, child)
|
||||
);
|
||||
});
|
||||
|
||||
// >>>>> Container
|
||||
var container = /*#__PURE__*/React.createElement(_rcOverflow.default, (0, _extends2.default)({
|
||||
id: id,
|
||||
ref: containerRef,
|
||||
prefixCls: "".concat(prefixCls, "-overflow"),
|
||||
component: "ul",
|
||||
itemComponent: _MenuItem.default,
|
||||
className: (0, _classnames.default)(prefixCls, "".concat(prefixCls, "-root"), "".concat(prefixCls, "-").concat(internalMode), className, (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(prefixCls, "-inline-collapsed"), internalInlineCollapsed), "".concat(prefixCls, "-rtl"), isRtl), rootClassName),
|
||||
dir: direction,
|
||||
style: style,
|
||||
role: "menu",
|
||||
tabIndex: tabIndex,
|
||||
data: wrappedChildList,
|
||||
renderRawItem: function renderRawItem(node) {
|
||||
return node;
|
||||
},
|
||||
renderRawRest: function renderRawRest(omitItems) {
|
||||
// We use origin list since wrapped list use context to prevent open
|
||||
var len = omitItems.length;
|
||||
var originOmitItems = len ? childList.slice(-len) : null;
|
||||
return /*#__PURE__*/React.createElement(_SubMenu.default, {
|
||||
eventKey: _useKeyRecords2.OVERFLOW_KEY,
|
||||
title: overflowedIndicator,
|
||||
disabled: allVisible,
|
||||
internalPopupClose: len === 0,
|
||||
popupClassName: overflowedIndicatorPopupClassName
|
||||
}, originOmitItems);
|
||||
},
|
||||
maxCount: internalMode !== 'horizontal' || disabledOverflow ? _rcOverflow.default.INVALIDATE : _rcOverflow.default.RESPONSIVE,
|
||||
ssr: "full",
|
||||
"data-menu-list": true,
|
||||
onVisibleChange: function onVisibleChange(newLastIndex) {
|
||||
setLastVisibleIndex(newLastIndex);
|
||||
},
|
||||
onKeyDown: onInternalKeyDown
|
||||
}, restProps));
|
||||
|
||||
// >>>>> Render
|
||||
return /*#__PURE__*/React.createElement(_PrivateContext.default.Provider, {
|
||||
value: privateContext
|
||||
}, /*#__PURE__*/React.createElement(_IdContext.IdContext.Provider, {
|
||||
value: uuid
|
||||
}, /*#__PURE__*/React.createElement(_MenuContext.default, {
|
||||
prefixCls: prefixCls,
|
||||
rootClassName: rootClassName,
|
||||
mode: internalMode,
|
||||
openKeys: mergedOpenKeys,
|
||||
rtl: isRtl
|
||||
// Disabled
|
||||
,
|
||||
disabled: disabled
|
||||
// Motion
|
||||
,
|
||||
motion: mounted ? motion : null,
|
||||
defaultMotions: mounted ? defaultMotions : null
|
||||
// Active
|
||||
,
|
||||
activeKey: mergedActiveKey,
|
||||
onActive: onActive,
|
||||
onInactive: onInactive
|
||||
// Selection
|
||||
,
|
||||
selectedKeys: mergedSelectKeys
|
||||
// Level
|
||||
,
|
||||
inlineIndent: inlineIndent
|
||||
// Popup
|
||||
,
|
||||
subMenuOpenDelay: subMenuOpenDelay,
|
||||
subMenuCloseDelay: subMenuCloseDelay,
|
||||
forceSubMenuRender: forceSubMenuRender,
|
||||
builtinPlacements: builtinPlacements,
|
||||
triggerSubMenuAction: triggerSubMenuAction,
|
||||
getPopupContainer: getPopupContainer
|
||||
// Icon
|
||||
,
|
||||
itemIcon: itemIcon,
|
||||
expandIcon: expandIcon
|
||||
// Events
|
||||
,
|
||||
onItemClick: onInternalClick,
|
||||
onOpenChange: onInternalOpenChange
|
||||
}, /*#__PURE__*/React.createElement(_PathContext.PathUserContext.Provider, {
|
||||
value: pathUserContext
|
||||
}, container), /*#__PURE__*/React.createElement("div", {
|
||||
style: {
|
||||
display: 'none'
|
||||
},
|
||||
"aria-hidden": true
|
||||
}, /*#__PURE__*/React.createElement(_PathContext.PathRegisterContext.Provider, {
|
||||
value: registerPathContext
|
||||
}, measureChildList)))));
|
||||
});
|
||||
var _default = exports.default = Menu;
|
||||
13
frontend/node_modules/rc-menu/lib/MenuItem.d.ts
generated
vendored
Normal file
13
frontend/node_modules/rc-menu/lib/MenuItem.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuItemType } from './interface';
|
||||
export interface MenuItemProps extends Omit<MenuItemType, 'label' | 'key' | 'ref'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onSelect'> {
|
||||
children?: React.ReactNode;
|
||||
/** @private Internal filled key. Do not set it directly */
|
||||
eventKey?: string;
|
||||
/** @private Do not use. Private warning empty usage */
|
||||
warnKey?: boolean;
|
||||
/** @deprecated No place to use this. Should remove */
|
||||
attribute?: Record<string, string>;
|
||||
}
|
||||
declare const _default: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLElement>>;
|
||||
export default _default;
|
||||
224
frontend/node_modules/rc-menu/lib/MenuItem.js
generated
vendored
Normal file
224
frontend/node_modules/rc-menu/lib/MenuItem.js
generated
vendored
Normal file
@@ -0,0 +1,224 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
||||
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _rcOverflow = _interopRequireDefault(require("rc-overflow"));
|
||||
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
||||
var _omit = _interopRequireDefault(require("rc-util/lib/omit"));
|
||||
var _ref = require("rc-util/lib/ref");
|
||||
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _IdContext = require("./context/IdContext");
|
||||
var _MenuContext = require("./context/MenuContext");
|
||||
var _PathContext = require("./context/PathContext");
|
||||
var _PrivateContext = _interopRequireDefault(require("./context/PrivateContext"));
|
||||
var _useActive2 = _interopRequireDefault(require("./hooks/useActive"));
|
||||
var _useDirectionStyle = _interopRequireDefault(require("./hooks/useDirectionStyle"));
|
||||
var _Icon = _interopRequireDefault(require("./Icon"));
|
||||
var _warnUtil = require("./utils/warnUtil");
|
||||
var _excluded = ["title", "attribute", "elementRef"],
|
||||
_excluded2 = ["style", "className", "eventKey", "warnKey", "disabled", "itemIcon", "children", "role", "onMouseEnter", "onMouseLeave", "onClick", "onKeyDown", "onFocus"],
|
||||
_excluded3 = ["active"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
// Since Menu event provide the `info.item` which point to the MenuItem node instance.
|
||||
// We have to use class component here.
|
||||
// This should be removed from doc & api in future.
|
||||
var LegacyMenuItem = /*#__PURE__*/function (_React$Component) {
|
||||
(0, _inherits2.default)(LegacyMenuItem, _React$Component);
|
||||
var _super = (0, _createSuper2.default)(LegacyMenuItem);
|
||||
function LegacyMenuItem() {
|
||||
(0, _classCallCheck2.default)(this, LegacyMenuItem);
|
||||
return _super.apply(this, arguments);
|
||||
}
|
||||
(0, _createClass2.default)(LegacyMenuItem, [{
|
||||
key: "render",
|
||||
value: function render() {
|
||||
var _this$props = this.props,
|
||||
title = _this$props.title,
|
||||
attribute = _this$props.attribute,
|
||||
elementRef = _this$props.elementRef,
|
||||
restProps = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
|
||||
|
||||
// Here the props are eventually passed to the DOM element.
|
||||
// React does not recognize non-standard attributes.
|
||||
// Therefore, remove the props that is not used here.
|
||||
// ref: https://github.com/ant-design/ant-design/issues/41395
|
||||
var passedProps = (0, _omit.default)(restProps, ['eventKey', 'popupClassName', 'popupOffset', 'onTitleClick']);
|
||||
(0, _warning.default)(!attribute, '`attribute` of Menu.Item is deprecated. Please pass attribute directly.');
|
||||
return /*#__PURE__*/React.createElement(_rcOverflow.default.Item, (0, _extends2.default)({}, attribute, {
|
||||
title: typeof title === 'string' ? title : undefined
|
||||
}, passedProps, {
|
||||
ref: elementRef
|
||||
}));
|
||||
}
|
||||
}]);
|
||||
return LegacyMenuItem;
|
||||
}(React.Component);
|
||||
/**
|
||||
* Real Menu Item component
|
||||
*/
|
||||
var InternalMenuItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var style = props.style,
|
||||
className = props.className,
|
||||
eventKey = props.eventKey,
|
||||
warnKey = props.warnKey,
|
||||
disabled = props.disabled,
|
||||
itemIcon = props.itemIcon,
|
||||
children = props.children,
|
||||
role = props.role,
|
||||
onMouseEnter = props.onMouseEnter,
|
||||
onMouseLeave = props.onMouseLeave,
|
||||
onClick = props.onClick,
|
||||
onKeyDown = props.onKeyDown,
|
||||
onFocus = props.onFocus,
|
||||
restProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
|
||||
var domDataId = (0, _IdContext.useMenuId)(eventKey);
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
prefixCls = _React$useContext.prefixCls,
|
||||
onItemClick = _React$useContext.onItemClick,
|
||||
contextDisabled = _React$useContext.disabled,
|
||||
overflowDisabled = _React$useContext.overflowDisabled,
|
||||
contextItemIcon = _React$useContext.itemIcon,
|
||||
selectedKeys = _React$useContext.selectedKeys,
|
||||
onActive = _React$useContext.onActive;
|
||||
var _React$useContext2 = React.useContext(_PrivateContext.default),
|
||||
_internalRenderMenuItem = _React$useContext2._internalRenderMenuItem;
|
||||
var itemCls = "".concat(prefixCls, "-item");
|
||||
var legacyMenuItemRef = React.useRef();
|
||||
var elementRef = React.useRef();
|
||||
var mergedDisabled = contextDisabled || disabled;
|
||||
var mergedEleRef = (0, _ref.useComposeRef)(ref, elementRef);
|
||||
var connectedKeys = (0, _PathContext.useFullPath)(eventKey);
|
||||
|
||||
// ================================ Warn ================================
|
||||
if (process.env.NODE_ENV !== 'production' && warnKey) {
|
||||
(0, _warning.default)(false, 'MenuItem should not leave undefined `key`.');
|
||||
}
|
||||
|
||||
// ============================= Info =============================
|
||||
var getEventInfo = function getEventInfo(e) {
|
||||
return {
|
||||
key: eventKey,
|
||||
// Note: For legacy code is reversed which not like other antd component
|
||||
keyPath: (0, _toConsumableArray2.default)(connectedKeys).reverse(),
|
||||
item: legacyMenuItemRef.current,
|
||||
domEvent: e
|
||||
};
|
||||
};
|
||||
|
||||
// ============================= Icon =============================
|
||||
var mergedItemIcon = itemIcon || contextItemIcon;
|
||||
|
||||
// ============================ Active ============================
|
||||
var _useActive = (0, _useActive2.default)(eventKey, mergedDisabled, onMouseEnter, onMouseLeave),
|
||||
active = _useActive.active,
|
||||
activeProps = (0, _objectWithoutProperties2.default)(_useActive, _excluded3);
|
||||
|
||||
// ============================ Select ============================
|
||||
var selected = selectedKeys.includes(eventKey);
|
||||
|
||||
// ======================== DirectionStyle ========================
|
||||
var directionStyle = (0, _useDirectionStyle.default)(connectedKeys.length);
|
||||
|
||||
// ============================ Events ============================
|
||||
var onInternalClick = function onInternalClick(e) {
|
||||
if (mergedDisabled) {
|
||||
return;
|
||||
}
|
||||
var info = getEventInfo(e);
|
||||
onClick === null || onClick === void 0 || onClick((0, _warnUtil.warnItemProp)(info));
|
||||
onItemClick(info);
|
||||
};
|
||||
var onInternalKeyDown = function onInternalKeyDown(e) {
|
||||
onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);
|
||||
if (e.which === _KeyCode.default.ENTER) {
|
||||
var info = getEventInfo(e);
|
||||
|
||||
// Legacy. Key will also trigger click event
|
||||
onClick === null || onClick === void 0 || onClick((0, _warnUtil.warnItemProp)(info));
|
||||
onItemClick(info);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Used for accessibility. Helper will focus element without key board.
|
||||
* We should manually trigger an active
|
||||
*/
|
||||
var onInternalFocus = function onInternalFocus(e) {
|
||||
onActive(eventKey);
|
||||
onFocus === null || onFocus === void 0 || onFocus(e);
|
||||
};
|
||||
|
||||
// ============================ Render ============================
|
||||
var optionRoleProps = {};
|
||||
if (props.role === 'option') {
|
||||
optionRoleProps['aria-selected'] = selected;
|
||||
}
|
||||
var renderNode = /*#__PURE__*/React.createElement(LegacyMenuItem, (0, _extends2.default)({
|
||||
ref: legacyMenuItemRef,
|
||||
elementRef: mergedEleRef,
|
||||
role: role === null ? 'none' : role || 'menuitem',
|
||||
tabIndex: disabled ? null : -1,
|
||||
"data-menu-id": overflowDisabled && domDataId ? null : domDataId
|
||||
}, (0, _omit.default)(restProps, ['extra']), activeProps, optionRoleProps, {
|
||||
component: "li",
|
||||
"aria-disabled": disabled,
|
||||
style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, directionStyle), style),
|
||||
className: (0, _classnames.default)(itemCls, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(itemCls, "-active"), active), "".concat(itemCls, "-selected"), selected), "".concat(itemCls, "-disabled"), mergedDisabled), className),
|
||||
onClick: onInternalClick,
|
||||
onKeyDown: onInternalKeyDown,
|
||||
onFocus: onInternalFocus
|
||||
}), children, /*#__PURE__*/React.createElement(_Icon.default, {
|
||||
props: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
||||
isSelected: selected
|
||||
}),
|
||||
icon: mergedItemIcon
|
||||
}));
|
||||
if (_internalRenderMenuItem) {
|
||||
renderNode = _internalRenderMenuItem(renderNode, props, {
|
||||
selected: selected
|
||||
});
|
||||
}
|
||||
return renderNode;
|
||||
});
|
||||
function MenuItem(props, ref) {
|
||||
var eventKey = props.eventKey;
|
||||
|
||||
// ==================== Record KeyPath ====================
|
||||
var measure = (0, _PathContext.useMeasure)();
|
||||
var connectedKeyPath = (0, _PathContext.useFullPath)(eventKey);
|
||||
|
||||
// eslint-disable-next-line consistent-return
|
||||
React.useEffect(function () {
|
||||
if (measure) {
|
||||
measure.registerPath(eventKey, connectedKeyPath);
|
||||
return function () {
|
||||
measure.unregisterPath(eventKey, connectedKeyPath);
|
||||
};
|
||||
}
|
||||
}, [connectedKeyPath]);
|
||||
if (measure) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// ======================== Render ========================
|
||||
return /*#__PURE__*/React.createElement(InternalMenuItem, (0, _extends2.default)({}, props, {
|
||||
ref: ref
|
||||
}));
|
||||
}
|
||||
var _default = exports.default = /*#__PURE__*/React.forwardRef(MenuItem);
|
||||
12
frontend/node_modules/rc-menu/lib/MenuItemGroup.d.ts
generated
vendored
Normal file
12
frontend/node_modules/rc-menu/lib/MenuItemGroup.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuItemGroupType } from './interface';
|
||||
export interface MenuItemGroupProps extends Omit<MenuItemGroupType, 'type' | 'children' | 'label'> {
|
||||
title?: React.ReactNode;
|
||||
children?: React.ReactNode;
|
||||
/** @private Internal filled key. Do not set it directly */
|
||||
eventKey?: string;
|
||||
/** @private Do not use. Private warning empty usage */
|
||||
warnKey?: boolean;
|
||||
}
|
||||
declare const MenuItemGroup: React.ForwardRefExoticComponent<Omit<MenuItemGroupProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
||||
export default MenuItemGroup;
|
||||
62
frontend/node_modules/rc-menu/lib/MenuItemGroup.js
generated
vendored
Normal file
62
frontend/node_modules/rc-menu/lib/MenuItemGroup.js
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _omit = _interopRequireDefault(require("rc-util/lib/omit"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _MenuContext = require("./context/MenuContext");
|
||||
var _PathContext = require("./context/PathContext");
|
||||
var _commonUtil = require("./utils/commonUtil");
|
||||
var _excluded = ["className", "title", "eventKey", "children"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var InternalMenuItemGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var className = props.className,
|
||||
title = props.title,
|
||||
eventKey = props.eventKey,
|
||||
children = props.children,
|
||||
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
prefixCls = _React$useContext.prefixCls;
|
||||
var groupPrefixCls = "".concat(prefixCls, "-item-group");
|
||||
return /*#__PURE__*/React.createElement("li", (0, _extends2.default)({
|
||||
ref: ref,
|
||||
role: "presentation"
|
||||
}, restProps, {
|
||||
onClick: function onClick(e) {
|
||||
return e.stopPropagation();
|
||||
},
|
||||
className: (0, _classnames.default)(groupPrefixCls, className)
|
||||
}), /*#__PURE__*/React.createElement("div", {
|
||||
role: "presentation",
|
||||
className: "".concat(groupPrefixCls, "-title"),
|
||||
title: typeof title === 'string' ? title : undefined
|
||||
}, title), /*#__PURE__*/React.createElement("ul", {
|
||||
role: "group",
|
||||
className: "".concat(groupPrefixCls, "-list")
|
||||
}, children));
|
||||
});
|
||||
var MenuItemGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var eventKey = props.eventKey,
|
||||
children = props.children;
|
||||
var connectedKeyPath = (0, _PathContext.useFullPath)(eventKey);
|
||||
var childList = (0, _commonUtil.parseChildren)(children, connectedKeyPath);
|
||||
var measure = (0, _PathContext.useMeasure)();
|
||||
if (measure) {
|
||||
return childList;
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(InternalMenuItemGroup, (0, _extends2.default)({
|
||||
ref: ref
|
||||
}, (0, _omit.default)(props, ['warnKey'])), childList);
|
||||
});
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
MenuItemGroup.displayName = 'MenuItemGroup';
|
||||
}
|
||||
var _default = exports.default = MenuItemGroup;
|
||||
8
frontend/node_modules/rc-menu/lib/SubMenu/InlineSubMenuList.d.ts
generated
vendored
Normal file
8
frontend/node_modules/rc-menu/lib/SubMenu/InlineSubMenuList.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import * as React from 'react';
|
||||
export interface InlineSubMenuListProps {
|
||||
id?: string;
|
||||
open: boolean;
|
||||
keyPath: string[];
|
||||
children: React.ReactNode;
|
||||
}
|
||||
export default function InlineSubMenuList({ id, open, keyPath, children, }: InlineSubMenuListProps): React.JSX.Element;
|
||||
89
frontend/node_modules/rc-menu/lib/SubMenu/InlineSubMenuList.js
generated
vendored
Normal file
89
frontend/node_modules/rc-menu/lib/SubMenu/InlineSubMenuList.js
generated
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = InlineSubMenuList;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _rcMotion = _interopRequireDefault(require("rc-motion"));
|
||||
var _motionUtil = require("../utils/motionUtil");
|
||||
var _MenuContext = _interopRequireWildcard(require("../context/MenuContext"));
|
||||
var _SubMenuList = _interopRequireDefault(require("./SubMenuList"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function InlineSubMenuList(_ref) {
|
||||
var id = _ref.id,
|
||||
open = _ref.open,
|
||||
keyPath = _ref.keyPath,
|
||||
children = _ref.children;
|
||||
var fixedMode = 'inline';
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
prefixCls = _React$useContext.prefixCls,
|
||||
forceSubMenuRender = _React$useContext.forceSubMenuRender,
|
||||
motion = _React$useContext.motion,
|
||||
defaultMotions = _React$useContext.defaultMotions,
|
||||
mode = _React$useContext.mode;
|
||||
|
||||
// Always use latest mode check
|
||||
var sameModeRef = React.useRef(false);
|
||||
sameModeRef.current = mode === fixedMode;
|
||||
|
||||
// We record `destroy` mark here since when mode change from `inline` to others.
|
||||
// The inline list should remove when motion end.
|
||||
var _React$useState = React.useState(!sameModeRef.current),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
destroy = _React$useState2[0],
|
||||
setDestroy = _React$useState2[1];
|
||||
var mergedOpen = sameModeRef.current ? open : false;
|
||||
|
||||
// ================================= Effect =================================
|
||||
// Reset destroy state when mode change back
|
||||
React.useEffect(function () {
|
||||
if (sameModeRef.current) {
|
||||
setDestroy(false);
|
||||
}
|
||||
}, [mode]);
|
||||
|
||||
// ================================= Render =================================
|
||||
var mergedMotion = (0, _objectSpread2.default)({}, (0, _motionUtil.getMotion)(fixedMode, motion, defaultMotions));
|
||||
|
||||
// No need appear since nest inlineCollapse changed
|
||||
if (keyPath.length > 1) {
|
||||
mergedMotion.motionAppear = false;
|
||||
}
|
||||
|
||||
// Hide inline list when mode changed and motion end
|
||||
var originOnVisibleChanged = mergedMotion.onVisibleChanged;
|
||||
mergedMotion.onVisibleChanged = function (newVisible) {
|
||||
if (!sameModeRef.current && !newVisible) {
|
||||
setDestroy(true);
|
||||
}
|
||||
return originOnVisibleChanged === null || originOnVisibleChanged === void 0 ? void 0 : originOnVisibleChanged(newVisible);
|
||||
};
|
||||
if (destroy) {
|
||||
return null;
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(_MenuContext.default, {
|
||||
mode: fixedMode,
|
||||
locked: !sameModeRef.current
|
||||
}, /*#__PURE__*/React.createElement(_rcMotion.default, (0, _extends2.default)({
|
||||
visible: mergedOpen
|
||||
}, mergedMotion, {
|
||||
forceRender: forceSubMenuRender,
|
||||
removeOnLeave: false,
|
||||
leavedClassName: "".concat(prefixCls, "-hidden")
|
||||
}), function (_ref2) {
|
||||
var motionClassName = _ref2.className,
|
||||
motionStyle = _ref2.style;
|
||||
return /*#__PURE__*/React.createElement(_SubMenuList.default, {
|
||||
id: id,
|
||||
className: motionClassName,
|
||||
style: motionStyle
|
||||
}, children);
|
||||
}));
|
||||
}
|
||||
15
frontend/node_modules/rc-menu/lib/SubMenu/PopupTrigger.d.ts
generated
vendored
Normal file
15
frontend/node_modules/rc-menu/lib/SubMenu/PopupTrigger.d.ts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuMode } from '../interface';
|
||||
export interface PopupTriggerProps {
|
||||
prefixCls: string;
|
||||
mode: MenuMode;
|
||||
visible: boolean;
|
||||
children: React.ReactElement;
|
||||
popup: React.ReactNode;
|
||||
popupStyle?: React.CSSProperties;
|
||||
popupClassName?: string;
|
||||
popupOffset?: number[];
|
||||
disabled: boolean;
|
||||
onVisibleChange: (visible: boolean) => void;
|
||||
}
|
||||
export default function PopupTrigger({ prefixCls, visible, children, popup, popupStyle, popupClassName, popupOffset, disabled, mode, onVisibleChange, }: PopupTriggerProps): React.JSX.Element;
|
||||
101
frontend/node_modules/rc-menu/lib/SubMenu/PopupTrigger.js
generated
vendored
Normal file
101
frontend/node_modules/rc-menu/lib/SubMenu/PopupTrigger.js
generated
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = PopupTrigger;
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _trigger = _interopRequireDefault(require("@rc-component/trigger"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
|
||||
var _MenuContext = require("../context/MenuContext");
|
||||
var _placements = require("../placements");
|
||||
var _motionUtil = require("../utils/motionUtil");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var popupPlacementMap = {
|
||||
horizontal: 'bottomLeft',
|
||||
vertical: 'rightTop',
|
||||
'vertical-left': 'rightTop',
|
||||
'vertical-right': 'leftTop'
|
||||
};
|
||||
function PopupTrigger(_ref) {
|
||||
var prefixCls = _ref.prefixCls,
|
||||
visible = _ref.visible,
|
||||
children = _ref.children,
|
||||
popup = _ref.popup,
|
||||
popupStyle = _ref.popupStyle,
|
||||
popupClassName = _ref.popupClassName,
|
||||
popupOffset = _ref.popupOffset,
|
||||
disabled = _ref.disabled,
|
||||
mode = _ref.mode,
|
||||
onVisibleChange = _ref.onVisibleChange;
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
getPopupContainer = _React$useContext.getPopupContainer,
|
||||
rtl = _React$useContext.rtl,
|
||||
subMenuOpenDelay = _React$useContext.subMenuOpenDelay,
|
||||
subMenuCloseDelay = _React$useContext.subMenuCloseDelay,
|
||||
builtinPlacements = _React$useContext.builtinPlacements,
|
||||
triggerSubMenuAction = _React$useContext.triggerSubMenuAction,
|
||||
forceSubMenuRender = _React$useContext.forceSubMenuRender,
|
||||
rootClassName = _React$useContext.rootClassName,
|
||||
motion = _React$useContext.motion,
|
||||
defaultMotions = _React$useContext.defaultMotions;
|
||||
var _React$useState = React.useState(false),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
innerVisible = _React$useState2[0],
|
||||
setInnerVisible = _React$useState2[1];
|
||||
var placement = rtl ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _placements.placementsRtl), builtinPlacements) : (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _placements.placements), builtinPlacements);
|
||||
var popupPlacement = popupPlacementMap[mode];
|
||||
var targetMotion = (0, _motionUtil.getMotion)(mode, motion, defaultMotions);
|
||||
var targetMotionRef = React.useRef(targetMotion);
|
||||
if (mode !== 'inline') {
|
||||
/**
|
||||
* PopupTrigger is only used for vertical and horizontal types.
|
||||
* When collapsed is unfolded, the inline animation will destroy the vertical animation.
|
||||
*/
|
||||
targetMotionRef.current = targetMotion;
|
||||
}
|
||||
var mergedMotion = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, targetMotionRef.current), {}, {
|
||||
leavedClassName: "".concat(prefixCls, "-hidden"),
|
||||
removeOnLeave: false,
|
||||
motionAppear: true
|
||||
});
|
||||
|
||||
// Delay to change visible
|
||||
var visibleRef = React.useRef();
|
||||
React.useEffect(function () {
|
||||
visibleRef.current = (0, _raf.default)(function () {
|
||||
setInnerVisible(visible);
|
||||
});
|
||||
return function () {
|
||||
_raf.default.cancel(visibleRef.current);
|
||||
};
|
||||
}, [visible]);
|
||||
return /*#__PURE__*/React.createElement(_trigger.default, {
|
||||
prefixCls: prefixCls,
|
||||
popupClassName: (0, _classnames.default)("".concat(prefixCls, "-popup"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-rtl"), rtl), popupClassName, rootClassName),
|
||||
stretch: mode === 'horizontal' ? 'minWidth' : null,
|
||||
getPopupContainer: getPopupContainer,
|
||||
builtinPlacements: placement,
|
||||
popupPlacement: popupPlacement,
|
||||
popupVisible: innerVisible,
|
||||
popup: popup,
|
||||
popupStyle: popupStyle,
|
||||
popupAlign: popupOffset && {
|
||||
offset: popupOffset
|
||||
},
|
||||
action: disabled ? [] : [triggerSubMenuAction],
|
||||
mouseEnterDelay: subMenuOpenDelay,
|
||||
mouseLeaveDelay: subMenuCloseDelay,
|
||||
onPopupVisibleChange: onVisibleChange,
|
||||
forceRender: forceSubMenuRender,
|
||||
popupMotion: mergedMotion,
|
||||
fresh: true
|
||||
}, children);
|
||||
}
|
||||
6
frontend/node_modules/rc-menu/lib/SubMenu/SubMenuList.d.ts
generated
vendored
Normal file
6
frontend/node_modules/rc-menu/lib/SubMenu/SubMenuList.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import * as React from 'react';
|
||||
export interface SubMenuListProps extends React.HTMLAttributes<HTMLUListElement> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare const SubMenuList: React.ForwardRefExoticComponent<SubMenuListProps & React.RefAttributes<HTMLUListElement>>;
|
||||
export default SubMenuList;
|
||||
35
frontend/node_modules/rc-menu/lib/SubMenu/SubMenuList.js
generated
vendored
Normal file
35
frontend/node_modules/rc-menu/lib/SubMenu/SubMenuList.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _MenuContext = require("../context/MenuContext");
|
||||
var _excluded = ["className", "children"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var InternalSubMenuList = function InternalSubMenuList(_ref, ref) {
|
||||
var className = _ref.className,
|
||||
children = _ref.children,
|
||||
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
prefixCls = _React$useContext.prefixCls,
|
||||
mode = _React$useContext.mode,
|
||||
rtl = _React$useContext.rtl;
|
||||
return /*#__PURE__*/React.createElement("ul", (0, _extends2.default)({
|
||||
className: (0, _classnames.default)(prefixCls, rtl && "".concat(prefixCls, "-rtl"), "".concat(prefixCls, "-sub"), "".concat(prefixCls, "-").concat(mode === 'inline' ? 'inline' : 'vertical'), className),
|
||||
role: "menu"
|
||||
}, restProps, {
|
||||
"data-menu-list": true,
|
||||
ref: ref
|
||||
}), children);
|
||||
};
|
||||
var SubMenuList = /*#__PURE__*/React.forwardRef(InternalSubMenuList);
|
||||
SubMenuList.displayName = 'SubMenuList';
|
||||
var _default = exports.default = SubMenuList;
|
||||
14
frontend/node_modules/rc-menu/lib/SubMenu/index.d.ts
generated
vendored
Normal file
14
frontend/node_modules/rc-menu/lib/SubMenu/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import * as React from 'react';
|
||||
import type { SubMenuType } from '../interface';
|
||||
export interface SubMenuProps extends Omit<SubMenuType, 'key' | 'children' | 'label'> {
|
||||
title?: React.ReactNode;
|
||||
children?: React.ReactNode;
|
||||
/** @private Used for rest popup. Do not use in your prod */
|
||||
internalPopupClose?: boolean;
|
||||
/** @private Internal filled key. Do not set it directly */
|
||||
eventKey?: string;
|
||||
/** @private Do not use. Private warning empty usage */
|
||||
warnKey?: boolean;
|
||||
}
|
||||
declare const SubMenu: React.ForwardRefExoticComponent<Omit<SubMenuProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
||||
export default SubMenu;
|
||||
308
frontend/node_modules/rc-menu/lib/SubMenu/index.js
generated
vendored
Normal file
308
frontend/node_modules/rc-menu/lib/SubMenu/index.js
generated
vendored
Normal file
@@ -0,0 +1,308 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _rcOverflow = _interopRequireDefault(require("rc-overflow"));
|
||||
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
|
||||
var _SubMenuList = _interopRequireDefault(require("./SubMenuList"));
|
||||
var _commonUtil = require("../utils/commonUtil");
|
||||
var _MenuContext = _interopRequireWildcard(require("../context/MenuContext"));
|
||||
var _useMemoCallback = _interopRequireDefault(require("../hooks/useMemoCallback"));
|
||||
var _PopupTrigger = _interopRequireDefault(require("./PopupTrigger"));
|
||||
var _Icon = _interopRequireDefault(require("../Icon"));
|
||||
var _useActive2 = _interopRequireDefault(require("../hooks/useActive"));
|
||||
var _warnUtil = require("../utils/warnUtil");
|
||||
var _useDirectionStyle = _interopRequireDefault(require("../hooks/useDirectionStyle"));
|
||||
var _InlineSubMenuList = _interopRequireDefault(require("./InlineSubMenuList"));
|
||||
var _PathContext = require("../context/PathContext");
|
||||
var _IdContext = require("../context/IdContext");
|
||||
var _PrivateContext = _interopRequireDefault(require("../context/PrivateContext"));
|
||||
var _excluded = ["style", "className", "title", "eventKey", "warnKey", "disabled", "internalPopupClose", "children", "itemIcon", "expandIcon", "popupClassName", "popupOffset", "popupStyle", "onClick", "onMouseEnter", "onMouseLeave", "onTitleClick", "onTitleMouseEnter", "onTitleMouseLeave"],
|
||||
_excluded2 = ["active"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var InternalSubMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var style = props.style,
|
||||
className = props.className,
|
||||
title = props.title,
|
||||
eventKey = props.eventKey,
|
||||
warnKey = props.warnKey,
|
||||
disabled = props.disabled,
|
||||
internalPopupClose = props.internalPopupClose,
|
||||
children = props.children,
|
||||
itemIcon = props.itemIcon,
|
||||
expandIcon = props.expandIcon,
|
||||
popupClassName = props.popupClassName,
|
||||
popupOffset = props.popupOffset,
|
||||
popupStyle = props.popupStyle,
|
||||
onClick = props.onClick,
|
||||
onMouseEnter = props.onMouseEnter,
|
||||
onMouseLeave = props.onMouseLeave,
|
||||
onTitleClick = props.onTitleClick,
|
||||
onTitleMouseEnter = props.onTitleMouseEnter,
|
||||
onTitleMouseLeave = props.onTitleMouseLeave,
|
||||
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
||||
var domDataId = (0, _IdContext.useMenuId)(eventKey);
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
prefixCls = _React$useContext.prefixCls,
|
||||
mode = _React$useContext.mode,
|
||||
openKeys = _React$useContext.openKeys,
|
||||
contextDisabled = _React$useContext.disabled,
|
||||
overflowDisabled = _React$useContext.overflowDisabled,
|
||||
activeKey = _React$useContext.activeKey,
|
||||
selectedKeys = _React$useContext.selectedKeys,
|
||||
contextItemIcon = _React$useContext.itemIcon,
|
||||
contextExpandIcon = _React$useContext.expandIcon,
|
||||
onItemClick = _React$useContext.onItemClick,
|
||||
onOpenChange = _React$useContext.onOpenChange,
|
||||
onActive = _React$useContext.onActive;
|
||||
var _React$useContext2 = React.useContext(_PrivateContext.default),
|
||||
_internalRenderSubMenuItem = _React$useContext2._internalRenderSubMenuItem;
|
||||
var _React$useContext3 = React.useContext(_PathContext.PathUserContext),
|
||||
isSubPathKey = _React$useContext3.isSubPathKey;
|
||||
var connectedPath = (0, _PathContext.useFullPath)();
|
||||
var subMenuPrefixCls = "".concat(prefixCls, "-submenu");
|
||||
var mergedDisabled = contextDisabled || disabled;
|
||||
var elementRef = React.useRef();
|
||||
var popupRef = React.useRef();
|
||||
|
||||
// ================================ Warn ================================
|
||||
if (process.env.NODE_ENV !== 'production' && warnKey) {
|
||||
(0, _warning.default)(false, 'SubMenu should not leave undefined `key`.');
|
||||
}
|
||||
|
||||
// ================================ Icon ================================
|
||||
var mergedItemIcon = itemIcon !== null && itemIcon !== void 0 ? itemIcon : contextItemIcon;
|
||||
var mergedExpandIcon = expandIcon !== null && expandIcon !== void 0 ? expandIcon : contextExpandIcon;
|
||||
|
||||
// ================================ Open ================================
|
||||
var originOpen = openKeys.includes(eventKey);
|
||||
var open = !overflowDisabled && originOpen;
|
||||
|
||||
// =============================== Select ===============================
|
||||
var childrenSelected = isSubPathKey(selectedKeys, eventKey);
|
||||
|
||||
// =============================== Active ===============================
|
||||
var _useActive = (0, _useActive2.default)(eventKey, mergedDisabled, onTitleMouseEnter, onTitleMouseLeave),
|
||||
active = _useActive.active,
|
||||
activeProps = (0, _objectWithoutProperties2.default)(_useActive, _excluded2);
|
||||
|
||||
// Fallback of active check to avoid hover on menu title or disabled item
|
||||
var _React$useState = React.useState(false),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
childrenActive = _React$useState2[0],
|
||||
setChildrenActive = _React$useState2[1];
|
||||
var triggerChildrenActive = function triggerChildrenActive(newActive) {
|
||||
if (!mergedDisabled) {
|
||||
setChildrenActive(newActive);
|
||||
}
|
||||
};
|
||||
var onInternalMouseEnter = function onInternalMouseEnter(domEvent) {
|
||||
triggerChildrenActive(true);
|
||||
onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({
|
||||
key: eventKey,
|
||||
domEvent: domEvent
|
||||
});
|
||||
};
|
||||
var onInternalMouseLeave = function onInternalMouseLeave(domEvent) {
|
||||
triggerChildrenActive(false);
|
||||
onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({
|
||||
key: eventKey,
|
||||
domEvent: domEvent
|
||||
});
|
||||
};
|
||||
var mergedActive = React.useMemo(function () {
|
||||
if (active) {
|
||||
return active;
|
||||
}
|
||||
if (mode !== 'inline') {
|
||||
return childrenActive || isSubPathKey([activeKey], eventKey);
|
||||
}
|
||||
return false;
|
||||
}, [mode, active, activeKey, childrenActive, eventKey, isSubPathKey]);
|
||||
|
||||
// ========================== DirectionStyle ==========================
|
||||
var directionStyle = (0, _useDirectionStyle.default)(connectedPath.length);
|
||||
|
||||
// =============================== Events ===============================
|
||||
// >>>> Title click
|
||||
var onInternalTitleClick = function onInternalTitleClick(e) {
|
||||
// Skip if disabled
|
||||
if (mergedDisabled) {
|
||||
return;
|
||||
}
|
||||
onTitleClick === null || onTitleClick === void 0 || onTitleClick({
|
||||
key: eventKey,
|
||||
domEvent: e
|
||||
});
|
||||
|
||||
// Trigger open by click when mode is `inline`
|
||||
if (mode === 'inline') {
|
||||
onOpenChange(eventKey, !originOpen);
|
||||
}
|
||||
};
|
||||
|
||||
// >>>> Context for children click
|
||||
var onMergedItemClick = (0, _useMemoCallback.default)(function (info) {
|
||||
onClick === null || onClick === void 0 || onClick((0, _warnUtil.warnItemProp)(info));
|
||||
onItemClick(info);
|
||||
});
|
||||
|
||||
// >>>>> Visible change
|
||||
var onPopupVisibleChange = function onPopupVisibleChange(newVisible) {
|
||||
if (mode !== 'inline') {
|
||||
onOpenChange(eventKey, newVisible);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Used for accessibility. Helper will focus element without key board.
|
||||
* We should manually trigger an active
|
||||
*/
|
||||
var onInternalFocus = function onInternalFocus() {
|
||||
onActive(eventKey);
|
||||
};
|
||||
|
||||
// =============================== Render ===============================
|
||||
var popupId = domDataId && "".concat(domDataId, "-popup");
|
||||
var expandIconNode = React.useMemo(function () {
|
||||
return /*#__PURE__*/React.createElement(_Icon.default, {
|
||||
icon: mode !== 'horizontal' ? mergedExpandIcon : undefined,
|
||||
props: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
||||
isOpen: open,
|
||||
// [Legacy] Not sure why need this mark
|
||||
isSubMenu: true
|
||||
})
|
||||
}, /*#__PURE__*/React.createElement("i", {
|
||||
className: "".concat(subMenuPrefixCls, "-arrow")
|
||||
}));
|
||||
}, [mode, mergedExpandIcon, props, open, subMenuPrefixCls]);
|
||||
|
||||
// >>>>> Title
|
||||
var titleNode = /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
|
||||
role: "menuitem",
|
||||
style: directionStyle,
|
||||
className: "".concat(subMenuPrefixCls, "-title"),
|
||||
tabIndex: mergedDisabled ? null : -1,
|
||||
ref: elementRef,
|
||||
title: typeof title === 'string' ? title : null,
|
||||
"data-menu-id": overflowDisabled && domDataId ? null : domDataId,
|
||||
"aria-expanded": open,
|
||||
"aria-haspopup": true,
|
||||
"aria-controls": popupId,
|
||||
"aria-disabled": mergedDisabled,
|
||||
onClick: onInternalTitleClick,
|
||||
onFocus: onInternalFocus
|
||||
}, activeProps), title, expandIconNode);
|
||||
|
||||
// Cache mode if it change to `inline` which do not have popup motion
|
||||
var triggerModeRef = React.useRef(mode);
|
||||
if (mode !== 'inline' && connectedPath.length > 1) {
|
||||
triggerModeRef.current = 'vertical';
|
||||
} else {
|
||||
triggerModeRef.current = mode;
|
||||
}
|
||||
if (!overflowDisabled) {
|
||||
var triggerMode = triggerModeRef.current;
|
||||
|
||||
// Still wrap with Trigger here since we need avoid react re-mount dom node
|
||||
// Which makes motion failed
|
||||
titleNode = /*#__PURE__*/React.createElement(_PopupTrigger.default, {
|
||||
mode: triggerMode,
|
||||
prefixCls: subMenuPrefixCls,
|
||||
visible: !internalPopupClose && open && mode !== 'inline',
|
||||
popupClassName: popupClassName,
|
||||
popupOffset: popupOffset,
|
||||
popupStyle: popupStyle,
|
||||
popup: /*#__PURE__*/React.createElement(_MenuContext.default
|
||||
// Special handle of horizontal mode
|
||||
, {
|
||||
mode: triggerMode === 'horizontal' ? 'vertical' : triggerMode
|
||||
}, /*#__PURE__*/React.createElement(_SubMenuList.default, {
|
||||
id: popupId,
|
||||
ref: popupRef
|
||||
}, children)),
|
||||
disabled: mergedDisabled,
|
||||
onVisibleChange: onPopupVisibleChange
|
||||
}, titleNode);
|
||||
}
|
||||
|
||||
// >>>>> List node
|
||||
var listNode = /*#__PURE__*/React.createElement(_rcOverflow.default.Item, (0, _extends2.default)({
|
||||
ref: ref,
|
||||
role: "none"
|
||||
}, restProps, {
|
||||
component: "li",
|
||||
style: style,
|
||||
className: (0, _classnames.default)(subMenuPrefixCls, "".concat(subMenuPrefixCls, "-").concat(mode), className, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(subMenuPrefixCls, "-open"), open), "".concat(subMenuPrefixCls, "-active"), mergedActive), "".concat(subMenuPrefixCls, "-selected"), childrenSelected), "".concat(subMenuPrefixCls, "-disabled"), mergedDisabled)),
|
||||
onMouseEnter: onInternalMouseEnter,
|
||||
onMouseLeave: onInternalMouseLeave
|
||||
}), titleNode, !overflowDisabled && /*#__PURE__*/React.createElement(_InlineSubMenuList.default, {
|
||||
id: popupId,
|
||||
open: open,
|
||||
keyPath: connectedPath
|
||||
}, children));
|
||||
if (_internalRenderSubMenuItem) {
|
||||
listNode = _internalRenderSubMenuItem(listNode, props, {
|
||||
selected: childrenSelected,
|
||||
active: mergedActive,
|
||||
open: open,
|
||||
disabled: mergedDisabled
|
||||
});
|
||||
}
|
||||
|
||||
// >>>>> Render
|
||||
return /*#__PURE__*/React.createElement(_MenuContext.default, {
|
||||
onItemClick: onMergedItemClick,
|
||||
mode: mode === 'horizontal' ? 'vertical' : mode,
|
||||
itemIcon: mergedItemIcon,
|
||||
expandIcon: mergedExpandIcon
|
||||
}, listNode);
|
||||
});
|
||||
var SubMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
||||
var eventKey = props.eventKey,
|
||||
children = props.children;
|
||||
var connectedKeyPath = (0, _PathContext.useFullPath)(eventKey);
|
||||
var childList = (0, _commonUtil.parseChildren)(children, connectedKeyPath);
|
||||
|
||||
// ==================== Record KeyPath ====================
|
||||
var measure = (0, _PathContext.useMeasure)();
|
||||
|
||||
// eslint-disable-next-line consistent-return
|
||||
React.useEffect(function () {
|
||||
if (measure) {
|
||||
measure.registerPath(eventKey, connectedKeyPath);
|
||||
return function () {
|
||||
measure.unregisterPath(eventKey, connectedKeyPath);
|
||||
};
|
||||
}
|
||||
}, [connectedKeyPath]);
|
||||
var renderNode;
|
||||
|
||||
// ======================== Render ========================
|
||||
if (measure) {
|
||||
renderNode = childList;
|
||||
} else {
|
||||
renderNode = /*#__PURE__*/React.createElement(InternalSubMenu, (0, _extends2.default)({
|
||||
ref: ref
|
||||
}, props), childList);
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(_PathContext.PathTrackerContext.Provider, {
|
||||
value: connectedKeyPath
|
||||
}, renderNode);
|
||||
});
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
SubMenu.displayName = 'SubMenu';
|
||||
}
|
||||
var _default = exports.default = SubMenu;
|
||||
7
frontend/node_modules/rc-menu/lib/context/IdContext.d.ts
generated
vendored
Normal file
7
frontend/node_modules/rc-menu/lib/context/IdContext.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import * as React from 'react';
|
||||
export declare const IdContext: React.Context<string>;
|
||||
export declare function getMenuId(uuid: string, eventKey: string): string;
|
||||
/**
|
||||
* Get `data-menu-id`
|
||||
*/
|
||||
export declare function useMenuId(eventKey: string): string;
|
||||
27
frontend/node_modules/rc-menu/lib/context/IdContext.js
generated
vendored
Normal file
27
frontend/node_modules/rc-menu/lib/context/IdContext.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.IdContext = void 0;
|
||||
exports.getMenuId = getMenuId;
|
||||
exports.useMenuId = useMenuId;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var IdContext = exports.IdContext = /*#__PURE__*/React.createContext(null);
|
||||
function getMenuId(uuid, eventKey) {
|
||||
if (uuid === undefined) {
|
||||
return null;
|
||||
}
|
||||
return "".concat(uuid, "-").concat(eventKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get `data-menu-id`
|
||||
*/
|
||||
function useMenuId(eventKey) {
|
||||
var id = React.useContext(IdContext);
|
||||
return getMenuId(id, eventKey);
|
||||
}
|
||||
37
frontend/node_modules/rc-menu/lib/context/MenuContext.d.ts
generated
vendored
Normal file
37
frontend/node_modules/rc-menu/lib/context/MenuContext.d.ts
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
import * as React from 'react';
|
||||
import type { CSSMotionProps } from 'rc-motion';
|
||||
import type { BuiltinPlacements, MenuClickEventHandler, MenuMode, RenderIconType, TriggerSubMenuAction } from '../interface';
|
||||
export interface MenuContextProps {
|
||||
prefixCls: string;
|
||||
rootClassName?: string;
|
||||
openKeys: string[];
|
||||
rtl?: boolean;
|
||||
mode: MenuMode;
|
||||
disabled?: boolean;
|
||||
overflowDisabled?: boolean;
|
||||
activeKey: string;
|
||||
onActive: (key: string) => void;
|
||||
onInactive: (key: string) => void;
|
||||
selectedKeys: string[];
|
||||
inlineIndent: number;
|
||||
motion?: CSSMotionProps;
|
||||
defaultMotions?: Partial<{
|
||||
[key in MenuMode | 'other']: CSSMotionProps;
|
||||
}>;
|
||||
subMenuOpenDelay: number;
|
||||
subMenuCloseDelay: number;
|
||||
forceSubMenuRender?: boolean;
|
||||
builtinPlacements?: BuiltinPlacements;
|
||||
triggerSubMenuAction?: TriggerSubMenuAction;
|
||||
itemIcon?: RenderIconType;
|
||||
expandIcon?: RenderIconType;
|
||||
onItemClick: MenuClickEventHandler;
|
||||
onOpenChange: (key: string, open: boolean) => void;
|
||||
getPopupContainer: (node: HTMLElement) => HTMLElement;
|
||||
}
|
||||
export declare const MenuContext: React.Context<MenuContextProps>;
|
||||
export interface InheritableContextProps extends Partial<MenuContextProps> {
|
||||
children?: React.ReactNode;
|
||||
locked?: boolean;
|
||||
}
|
||||
export default function InheritableContextProvider({ children, locked, ...restProps }: InheritableContextProps): React.JSX.Element;
|
||||
42
frontend/node_modules/rc-menu/lib/context/MenuContext.js
generated
vendored
Normal file
42
frontend/node_modules/rc-menu/lib/context/MenuContext.js
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.MenuContext = void 0;
|
||||
exports.default = InheritableContextProvider;
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _useMemo = _interopRequireDefault(require("rc-util/lib/hooks/useMemo"));
|
||||
var _isEqual = _interopRequireDefault(require("rc-util/lib/isEqual"));
|
||||
var _excluded = ["children", "locked"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var MenuContext = exports.MenuContext = /*#__PURE__*/React.createContext(null);
|
||||
function mergeProps(origin, target) {
|
||||
var clone = (0, _objectSpread2.default)({}, origin);
|
||||
Object.keys(target).forEach(function (key) {
|
||||
var value = target[key];
|
||||
if (value !== undefined) {
|
||||
clone[key] = value;
|
||||
}
|
||||
});
|
||||
return clone;
|
||||
}
|
||||
function InheritableContextProvider(_ref) {
|
||||
var children = _ref.children,
|
||||
locked = _ref.locked,
|
||||
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
||||
var context = React.useContext(MenuContext);
|
||||
var inheritableContext = (0, _useMemo.default)(function () {
|
||||
return mergeProps(context, restProps);
|
||||
}, [context, restProps], function (prev, next) {
|
||||
return !locked && (prev[0] !== next[0] || !(0, _isEqual.default)(prev[1], next[1], true));
|
||||
});
|
||||
return /*#__PURE__*/React.createElement(MenuContext.Provider, {
|
||||
value: inheritableContext
|
||||
}, children);
|
||||
}
|
||||
13
frontend/node_modules/rc-menu/lib/context/PathContext.d.ts
generated
vendored
Normal file
13
frontend/node_modules/rc-menu/lib/context/PathContext.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import * as React from 'react';
|
||||
export interface PathRegisterContextProps {
|
||||
registerPath: (key: string, keyPath: string[]) => void;
|
||||
unregisterPath: (key: string, keyPath: string[]) => void;
|
||||
}
|
||||
export declare const PathRegisterContext: React.Context<PathRegisterContextProps>;
|
||||
export declare function useMeasure(): PathRegisterContextProps;
|
||||
export declare const PathTrackerContext: React.Context<string[]>;
|
||||
export declare function useFullPath(eventKey?: string): string[];
|
||||
export interface PathUserContextProps {
|
||||
isSubPathKey: (pathKeys: string[], eventKey: string) => boolean;
|
||||
}
|
||||
export declare const PathUserContext: React.Context<PathUserContextProps>;
|
||||
35
frontend/node_modules/rc-menu/lib/context/PathContext.js
generated
vendored
Normal file
35
frontend/node_modules/rc-menu/lib/context/PathContext.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.PathUserContext = exports.PathTrackerContext = exports.PathRegisterContext = void 0;
|
||||
exports.useFullPath = useFullPath;
|
||||
exports.useMeasure = useMeasure;
|
||||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var EmptyList = [];
|
||||
|
||||
// ========================= Path Register =========================
|
||||
|
||||
var PathRegisterContext = exports.PathRegisterContext = /*#__PURE__*/React.createContext(null);
|
||||
function useMeasure() {
|
||||
return React.useContext(PathRegisterContext);
|
||||
}
|
||||
|
||||
// ========================= Path Tracker ==========================
|
||||
var PathTrackerContext = exports.PathTrackerContext = /*#__PURE__*/React.createContext(EmptyList);
|
||||
function useFullPath(eventKey) {
|
||||
var parentKeyPath = React.useContext(PathTrackerContext);
|
||||
return React.useMemo(function () {
|
||||
return eventKey !== undefined ? [].concat((0, _toConsumableArray2.default)(parentKeyPath), [eventKey]) : parentKeyPath;
|
||||
}, [parentKeyPath, eventKey]);
|
||||
}
|
||||
|
||||
// =========================== Path User ===========================
|
||||
|
||||
var PathUserContext = exports.PathUserContext = /*#__PURE__*/React.createContext(null);
|
||||
8
frontend/node_modules/rc-menu/lib/context/PrivateContext.d.ts
generated
vendored
Normal file
8
frontend/node_modules/rc-menu/lib/context/PrivateContext.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuProps } from '../Menu';
|
||||
export interface PrivateContextProps {
|
||||
_internalRenderMenuItem?: MenuProps['_internalRenderMenuItem'];
|
||||
_internalRenderSubMenuItem?: MenuProps['_internalRenderSubMenuItem'];
|
||||
}
|
||||
declare const PrivateContext: React.Context<PrivateContextProps>;
|
||||
export default PrivateContext;
|
||||
12
frontend/node_modules/rc-menu/lib/context/PrivateContext.js
generated
vendored
Normal file
12
frontend/node_modules/rc-menu/lib/context/PrivateContext.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var PrivateContext = /*#__PURE__*/React.createContext({});
|
||||
var _default = exports.default = PrivateContext;
|
||||
12
frontend/node_modules/rc-menu/lib/hooks/useAccessibility.d.ts
generated
vendored
Normal file
12
frontend/node_modules/rc-menu/lib/hooks/useAccessibility.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuMode } from '../interface';
|
||||
/**
|
||||
* Get focusable elements from the element set under provided container
|
||||
*/
|
||||
export declare function getFocusableElements(container: HTMLElement, elements: Set<HTMLElement>): HTMLElement[];
|
||||
export declare const refreshElements: (keys: string[], id: string) => {
|
||||
elements: Set<HTMLElement>;
|
||||
key2element: Map<string, HTMLElement>;
|
||||
element2key: Map<HTMLElement, string>;
|
||||
};
|
||||
export declare function useAccessibility<T extends HTMLElement>(mode: MenuMode, activeKey: string, isRtl: boolean, id: string, containerRef: React.RefObject<HTMLUListElement>, getKeys: () => string[], getKeyPath: (key: string, includeOverflow?: boolean) => string[], triggerActiveKey: (key: string) => void, triggerAccessibilityOpen: (key: string, open?: boolean) => void, originOnKeyDown?: React.KeyboardEventHandler<T>): React.KeyboardEventHandler<T>;
|
||||
282
frontend/node_modules/rc-menu/lib/hooks/useAccessibility.js
generated
vendored
Normal file
282
frontend/node_modules/rc-menu/lib/hooks/useAccessibility.js
generated
vendored
Normal file
@@ -0,0 +1,282 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.getFocusableElements = getFocusableElements;
|
||||
exports.refreshElements = void 0;
|
||||
exports.useAccessibility = useAccessibility;
|
||||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||||
var _focus = require("rc-util/lib/Dom/focus");
|
||||
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
||||
var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _IdContext = require("../context/IdContext");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
// destruct to reduce minify size
|
||||
var LEFT = _KeyCode.default.LEFT,
|
||||
RIGHT = _KeyCode.default.RIGHT,
|
||||
UP = _KeyCode.default.UP,
|
||||
DOWN = _KeyCode.default.DOWN,
|
||||
ENTER = _KeyCode.default.ENTER,
|
||||
ESC = _KeyCode.default.ESC,
|
||||
HOME = _KeyCode.default.HOME,
|
||||
END = _KeyCode.default.END;
|
||||
var ArrowKeys = [UP, DOWN, LEFT, RIGHT];
|
||||
function getOffset(mode, isRootLevel, isRtl, which) {
|
||||
var _offsets;
|
||||
var prev = 'prev';
|
||||
var next = 'next';
|
||||
var children = 'children';
|
||||
var parent = 'parent';
|
||||
|
||||
// Inline enter is special that we use unique operation
|
||||
if (mode === 'inline' && which === ENTER) {
|
||||
return {
|
||||
inlineTrigger: true
|
||||
};
|
||||
}
|
||||
var inline = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, UP, prev), DOWN, next);
|
||||
var horizontal = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, LEFT, isRtl ? next : prev), RIGHT, isRtl ? prev : next), DOWN, children), ENTER, children);
|
||||
var vertical = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, UP, prev), DOWN, next), ENTER, children), ESC, parent), LEFT, isRtl ? children : parent), RIGHT, isRtl ? parent : children);
|
||||
var offsets = {
|
||||
inline: inline,
|
||||
horizontal: horizontal,
|
||||
vertical: vertical,
|
||||
inlineSub: inline,
|
||||
horizontalSub: vertical,
|
||||
verticalSub: vertical
|
||||
};
|
||||
var type = (_offsets = offsets["".concat(mode).concat(isRootLevel ? '' : 'Sub')]) === null || _offsets === void 0 ? void 0 : _offsets[which];
|
||||
switch (type) {
|
||||
case prev:
|
||||
return {
|
||||
offset: -1,
|
||||
sibling: true
|
||||
};
|
||||
case next:
|
||||
return {
|
||||
offset: 1,
|
||||
sibling: true
|
||||
};
|
||||
case parent:
|
||||
return {
|
||||
offset: -1,
|
||||
sibling: false
|
||||
};
|
||||
case children:
|
||||
return {
|
||||
offset: 1,
|
||||
sibling: false
|
||||
};
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
function findContainerUL(element) {
|
||||
var current = element;
|
||||
while (current) {
|
||||
if (current.getAttribute('data-menu-list')) {
|
||||
return current;
|
||||
}
|
||||
current = current.parentElement;
|
||||
}
|
||||
|
||||
// Normally should not reach this line
|
||||
/* istanbul ignore next */
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find focused element within element set provided
|
||||
*/
|
||||
function getFocusElement(activeElement, elements) {
|
||||
var current = activeElement || document.activeElement;
|
||||
while (current) {
|
||||
if (elements.has(current)) {
|
||||
return current;
|
||||
}
|
||||
current = current.parentElement;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get focusable elements from the element set under provided container
|
||||
*/
|
||||
function getFocusableElements(container, elements) {
|
||||
var list = (0, _focus.getFocusNodeList)(container, true);
|
||||
return list.filter(function (ele) {
|
||||
return elements.has(ele);
|
||||
});
|
||||
}
|
||||
function getNextFocusElement(parentQueryContainer, elements, focusMenuElement) {
|
||||
var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
||||
// Key on the menu item will not get validate parent container
|
||||
if (!parentQueryContainer) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// List current level menu item elements
|
||||
var sameLevelFocusableMenuElementList = getFocusableElements(parentQueryContainer, elements);
|
||||
|
||||
// Find next focus index
|
||||
var count = sameLevelFocusableMenuElementList.length;
|
||||
var focusIndex = sameLevelFocusableMenuElementList.findIndex(function (ele) {
|
||||
return focusMenuElement === ele;
|
||||
});
|
||||
if (offset < 0) {
|
||||
if (focusIndex === -1) {
|
||||
focusIndex = count - 1;
|
||||
} else {
|
||||
focusIndex -= 1;
|
||||
}
|
||||
} else if (offset > 0) {
|
||||
focusIndex += 1;
|
||||
}
|
||||
focusIndex = (focusIndex + count) % count;
|
||||
|
||||
// Focus menu item
|
||||
return sameLevelFocusableMenuElementList[focusIndex];
|
||||
}
|
||||
var refreshElements = exports.refreshElements = function refreshElements(keys, id) {
|
||||
var elements = new Set();
|
||||
var key2element = new Map();
|
||||
var element2key = new Map();
|
||||
keys.forEach(function (key) {
|
||||
var element = document.querySelector("[data-menu-id='".concat((0, _IdContext.getMenuId)(id, key), "']"));
|
||||
if (element) {
|
||||
elements.add(element);
|
||||
element2key.set(element, key);
|
||||
key2element.set(key, element);
|
||||
}
|
||||
});
|
||||
return {
|
||||
elements: elements,
|
||||
key2element: key2element,
|
||||
element2key: element2key
|
||||
};
|
||||
};
|
||||
function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {
|
||||
var rafRef = React.useRef();
|
||||
var activeRef = React.useRef();
|
||||
activeRef.current = activeKey;
|
||||
var cleanRaf = function cleanRaf() {
|
||||
_raf.default.cancel(rafRef.current);
|
||||
};
|
||||
React.useEffect(function () {
|
||||
return function () {
|
||||
cleanRaf();
|
||||
};
|
||||
}, []);
|
||||
return function (e) {
|
||||
var which = e.which;
|
||||
if ([].concat(ArrowKeys, [ENTER, ESC, HOME, END]).includes(which)) {
|
||||
var keys = getKeys();
|
||||
var refreshedElements = refreshElements(keys, id);
|
||||
var _refreshedElements = refreshedElements,
|
||||
elements = _refreshedElements.elements,
|
||||
key2element = _refreshedElements.key2element,
|
||||
element2key = _refreshedElements.element2key;
|
||||
|
||||
// First we should find current focused MenuItem/SubMenu element
|
||||
var activeElement = key2element.get(activeKey);
|
||||
var focusMenuElement = getFocusElement(activeElement, elements);
|
||||
var focusMenuKey = element2key.get(focusMenuElement);
|
||||
var offsetObj = getOffset(mode, getKeyPath(focusMenuKey, true).length === 1, isRtl, which);
|
||||
|
||||
// Some mode do not have fully arrow operation like inline
|
||||
if (!offsetObj && which !== HOME && which !== END) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Arrow prevent default to avoid page scroll
|
||||
if (ArrowKeys.includes(which) || [HOME, END].includes(which)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
var tryFocus = function tryFocus(menuElement) {
|
||||
if (menuElement) {
|
||||
var focusTargetElement = menuElement;
|
||||
|
||||
// Focus to link instead of menu item if possible
|
||||
var link = menuElement.querySelector('a');
|
||||
if (link !== null && link !== void 0 && link.getAttribute('href')) {
|
||||
focusTargetElement = link;
|
||||
}
|
||||
var targetKey = element2key.get(menuElement);
|
||||
triggerActiveKey(targetKey);
|
||||
|
||||
/**
|
||||
* Do not `useEffect` here since `tryFocus` may trigger async
|
||||
* which makes React sync update the `activeKey`
|
||||
* that force render before `useRef` set the next activeKey
|
||||
*/
|
||||
cleanRaf();
|
||||
rafRef.current = (0, _raf.default)(function () {
|
||||
if (activeRef.current === targetKey) {
|
||||
focusTargetElement.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
if ([HOME, END].includes(which) || offsetObj.sibling || !focusMenuElement) {
|
||||
// ========================== Sibling ==========================
|
||||
// Find walkable focus menu element container
|
||||
var parentQueryContainer;
|
||||
if (!focusMenuElement || mode === 'inline') {
|
||||
parentQueryContainer = containerRef.current;
|
||||
} else {
|
||||
parentQueryContainer = findContainerUL(focusMenuElement);
|
||||
}
|
||||
|
||||
// Get next focus element
|
||||
var targetElement;
|
||||
var focusableElements = getFocusableElements(parentQueryContainer, elements);
|
||||
if (which === HOME) {
|
||||
targetElement = focusableElements[0];
|
||||
} else if (which === END) {
|
||||
targetElement = focusableElements[focusableElements.length - 1];
|
||||
} else {
|
||||
targetElement = getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offsetObj.offset);
|
||||
}
|
||||
// Focus menu item
|
||||
tryFocus(targetElement);
|
||||
|
||||
// ======================= InlineTrigger =======================
|
||||
} else if (offsetObj.inlineTrigger) {
|
||||
// Inline trigger no need switch to sub menu item
|
||||
triggerAccessibilityOpen(focusMenuKey);
|
||||
// =========================== Level ===========================
|
||||
} else if (offsetObj.offset > 0) {
|
||||
triggerAccessibilityOpen(focusMenuKey, true);
|
||||
cleanRaf();
|
||||
rafRef.current = (0, _raf.default)(function () {
|
||||
// Async should resync elements
|
||||
refreshedElements = refreshElements(keys, id);
|
||||
var controlId = focusMenuElement.getAttribute('aria-controls');
|
||||
var subQueryContainer = document.getElementById(controlId);
|
||||
|
||||
// Get sub focusable menu item
|
||||
var targetElement = getNextFocusElement(subQueryContainer, refreshedElements.elements);
|
||||
|
||||
// Focus menu item
|
||||
tryFocus(targetElement);
|
||||
}, 5);
|
||||
} else if (offsetObj.offset < 0) {
|
||||
var keyPath = getKeyPath(focusMenuKey, true);
|
||||
var parentKey = keyPath[keyPath.length - 2];
|
||||
var parentMenuElement = key2element.get(parentKey);
|
||||
|
||||
// Focus menu item
|
||||
triggerAccessibilityOpen(parentKey, false);
|
||||
tryFocus(parentMenuElement);
|
||||
}
|
||||
}
|
||||
|
||||
// Pass origin key down event
|
||||
originOnKeyDown === null || originOnKeyDown === void 0 || originOnKeyDown(e);
|
||||
};
|
||||
}
|
||||
9
frontend/node_modules/rc-menu/lib/hooks/useActive.d.ts
generated
vendored
Normal file
9
frontend/node_modules/rc-menu/lib/hooks/useActive.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import * as React from 'react';
|
||||
import type { MenuHoverEventHandler } from '../interface';
|
||||
interface ActiveObj {
|
||||
active: boolean;
|
||||
onMouseEnter?: React.MouseEventHandler<HTMLElement>;
|
||||
onMouseLeave?: React.MouseEventHandler<HTMLElement>;
|
||||
}
|
||||
export default function useActive(eventKey: string, disabled: boolean, onMouseEnter?: MenuHoverEventHandler, onMouseLeave?: MenuHoverEventHandler): ActiveObj;
|
||||
export {};
|
||||
39
frontend/node_modules/rc-menu/lib/hooks/useActive.js
generated
vendored
Normal file
39
frontend/node_modules/rc-menu/lib/hooks/useActive.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = useActive;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _MenuContext = require("../context/MenuContext");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
activeKey = _React$useContext.activeKey,
|
||||
onActive = _React$useContext.onActive,
|
||||
onInactive = _React$useContext.onInactive;
|
||||
var ret = {
|
||||
active: activeKey === eventKey
|
||||
};
|
||||
|
||||
// Skip when disabled
|
||||
if (!disabled) {
|
||||
ret.onMouseEnter = function (domEvent) {
|
||||
onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({
|
||||
key: eventKey,
|
||||
domEvent: domEvent
|
||||
});
|
||||
onActive(eventKey);
|
||||
};
|
||||
ret.onMouseLeave = function (domEvent) {
|
||||
onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({
|
||||
key: eventKey,
|
||||
domEvent: domEvent
|
||||
});
|
||||
onInactive(eventKey);
|
||||
};
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
2
frontend/node_modules/rc-menu/lib/hooks/useDirectionStyle.d.ts
generated
vendored
Normal file
2
frontend/node_modules/rc-menu/lib/hooks/useDirectionStyle.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import * as React from 'react';
|
||||
export default function useDirectionStyle(level: number): React.CSSProperties;
|
||||
26
frontend/node_modules/rc-menu/lib/hooks/useDirectionStyle.js
generated
vendored
Normal file
26
frontend/node_modules/rc-menu/lib/hooks/useDirectionStyle.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = useDirectionStyle;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _MenuContext = require("../context/MenuContext");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function useDirectionStyle(level) {
|
||||
var _React$useContext = React.useContext(_MenuContext.MenuContext),
|
||||
mode = _React$useContext.mode,
|
||||
rtl = _React$useContext.rtl,
|
||||
inlineIndent = _React$useContext.inlineIndent;
|
||||
if (mode !== 'inline') {
|
||||
return null;
|
||||
}
|
||||
var len = level;
|
||||
return rtl ? {
|
||||
paddingRight: len * inlineIndent
|
||||
} : {
|
||||
paddingLeft: len * inlineIndent
|
||||
};
|
||||
}
|
||||
10
frontend/node_modules/rc-menu/lib/hooks/useKeyRecords.d.ts
generated
vendored
Normal file
10
frontend/node_modules/rc-menu/lib/hooks/useKeyRecords.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
export declare const OVERFLOW_KEY = "rc-menu-more";
|
||||
export default function useKeyRecords(): {
|
||||
registerPath: (key: string, keyPath: string[]) => void;
|
||||
unregisterPath: (key: string, keyPath: string[]) => void;
|
||||
refreshOverflowKeys: (keys: string[]) => void;
|
||||
isSubPathKey: (pathKeys: string[], eventKey: string) => boolean;
|
||||
getKeyPath: (eventKey: string, includeOverflow?: boolean) => string[];
|
||||
getKeys: () => string[];
|
||||
getSubPathKeys: (key: string) => Set<string>;
|
||||
};
|
||||
122
frontend/node_modules/rc-menu/lib/hooks/useKeyRecords.js
generated
vendored
Normal file
122
frontend/node_modules/rc-menu/lib/hooks/useKeyRecords.js
generated
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.OVERFLOW_KEY = void 0;
|
||||
exports.default = useKeyRecords;
|
||||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var _react = _interopRequireWildcard(require("react"));
|
||||
var React = _react;
|
||||
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
|
||||
var _timeUtil = require("../utils/timeUtil");
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__';
|
||||
var getPathStr = function getPathStr(keyPath) {
|
||||
return keyPath.join(PATH_SPLIT);
|
||||
};
|
||||
var getPathKeys = function getPathKeys(keyPathStr) {
|
||||
return keyPathStr.split(PATH_SPLIT);
|
||||
};
|
||||
var OVERFLOW_KEY = exports.OVERFLOW_KEY = 'rc-menu-more';
|
||||
function useKeyRecords() {
|
||||
var _React$useState = React.useState({}),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
internalForceUpdate = _React$useState2[1];
|
||||
var key2pathRef = (0, _react.useRef)(new Map());
|
||||
var path2keyRef = (0, _react.useRef)(new Map());
|
||||
var _React$useState3 = React.useState([]),
|
||||
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
||||
overflowKeys = _React$useState4[0],
|
||||
setOverflowKeys = _React$useState4[1];
|
||||
var updateRef = (0, _react.useRef)(0);
|
||||
var destroyRef = (0, _react.useRef)(false);
|
||||
var forceUpdate = function forceUpdate() {
|
||||
if (!destroyRef.current) {
|
||||
internalForceUpdate({});
|
||||
}
|
||||
};
|
||||
var registerPath = (0, _react.useCallback)(function (key, keyPath) {
|
||||
// Warning for invalidate or duplicated `key`
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
(0, _warning.default)(!key2pathRef.current.has(key), "Duplicated key '".concat(key, "' used in Menu by path [").concat(keyPath.join(' > '), "]"));
|
||||
}
|
||||
|
||||
// Fill map
|
||||
var connectedPath = getPathStr(keyPath);
|
||||
path2keyRef.current.set(connectedPath, key);
|
||||
key2pathRef.current.set(key, connectedPath);
|
||||
updateRef.current += 1;
|
||||
var id = updateRef.current;
|
||||
(0, _timeUtil.nextSlice)(function () {
|
||||
if (id === updateRef.current) {
|
||||
forceUpdate();
|
||||
}
|
||||
});
|
||||
}, []);
|
||||
var unregisterPath = (0, _react.useCallback)(function (key, keyPath) {
|
||||
var connectedPath = getPathStr(keyPath);
|
||||
path2keyRef.current.delete(connectedPath);
|
||||
key2pathRef.current.delete(key);
|
||||
}, []);
|
||||
var refreshOverflowKeys = (0, _react.useCallback)(function (keys) {
|
||||
setOverflowKeys(keys);
|
||||
}, []);
|
||||
var getKeyPath = (0, _react.useCallback)(function (eventKey, includeOverflow) {
|
||||
var fullPath = key2pathRef.current.get(eventKey) || '';
|
||||
var keys = getPathKeys(fullPath);
|
||||
if (includeOverflow && overflowKeys.includes(keys[0])) {
|
||||
keys.unshift(OVERFLOW_KEY);
|
||||
}
|
||||
return keys;
|
||||
}, [overflowKeys]);
|
||||
var isSubPathKey = (0, _react.useCallback)(function (pathKeys, eventKey) {
|
||||
return pathKeys.filter(function (item) {
|
||||
return item !== undefined;
|
||||
}).some(function (pathKey) {
|
||||
var pathKeyList = getKeyPath(pathKey, true);
|
||||
return pathKeyList.includes(eventKey);
|
||||
});
|
||||
}, [getKeyPath]);
|
||||
var getKeys = function getKeys() {
|
||||
var keys = (0, _toConsumableArray2.default)(key2pathRef.current.keys());
|
||||
if (overflowKeys.length) {
|
||||
keys.push(OVERFLOW_KEY);
|
||||
}
|
||||
return keys;
|
||||
};
|
||||
|
||||
/**
|
||||
* Find current key related child path keys
|
||||
*/
|
||||
var getSubPathKeys = (0, _react.useCallback)(function (key) {
|
||||
var connectedPath = "".concat(key2pathRef.current.get(key)).concat(PATH_SPLIT);
|
||||
var pathKeys = new Set();
|
||||
(0, _toConsumableArray2.default)(path2keyRef.current.keys()).forEach(function (pathKey) {
|
||||
if (pathKey.startsWith(connectedPath)) {
|
||||
pathKeys.add(path2keyRef.current.get(pathKey));
|
||||
}
|
||||
});
|
||||
return pathKeys;
|
||||
}, []);
|
||||
React.useEffect(function () {
|
||||
return function () {
|
||||
destroyRef.current = true;
|
||||
};
|
||||
}, []);
|
||||
return {
|
||||
// Register
|
||||
registerPath: registerPath,
|
||||
unregisterPath: unregisterPath,
|
||||
refreshOverflowKeys: refreshOverflowKeys,
|
||||
// Util
|
||||
isSubPathKey: isSubPathKey,
|
||||
getKeyPath: getKeyPath,
|
||||
getKeys: getKeys,
|
||||
getSubPathKeys: getSubPathKeys
|
||||
};
|
||||
}
|
||||
5
frontend/node_modules/rc-menu/lib/hooks/useMemoCallback.d.ts
generated
vendored
Normal file
5
frontend/node_modules/rc-menu/lib/hooks/useMemoCallback.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/**
|
||||
* Cache callback function that always return same ref instead.
|
||||
* This is used for context optimization.
|
||||
*/
|
||||
export default function useMemoCallback<T extends (...args: any[]) => void>(func: T): T;
|
||||
26
frontend/node_modules/rc-menu/lib/hooks/useMemoCallback.js
generated
vendored
Normal file
26
frontend/node_modules/rc-menu/lib/hooks/useMemoCallback.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = useMemoCallback;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
/**
|
||||
* Cache callback function that always return same ref instead.
|
||||
* This is used for context optimization.
|
||||
*/
|
||||
function useMemoCallback(func) {
|
||||
var funRef = React.useRef(func);
|
||||
funRef.current = func;
|
||||
var callback = React.useCallback(function () {
|
||||
var _funRef$current;
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
return (_funRef$current = funRef.current) === null || _funRef$current === void 0 ? void 0 : _funRef$current.call.apply(_funRef$current, [funRef].concat(args));
|
||||
}, []);
|
||||
return func ? callback : undefined;
|
||||
}
|
||||
1
frontend/node_modules/rc-menu/lib/hooks/useUUID.d.ts
generated
vendored
Normal file
1
frontend/node_modules/rc-menu/lib/hooks/useUUID.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export default function useUUID(id?: string): string;
|
||||
29
frontend/node_modules/rc-menu/lib/hooks/useUUID.js
generated
vendored
Normal file
29
frontend/node_modules/rc-menu/lib/hooks/useUUID.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = useUUID;
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
var uniquePrefix = Math.random().toFixed(5).toString().slice(2);
|
||||
var internalId = 0;
|
||||
function useUUID(id) {
|
||||
var _useMergedState = (0, _useMergedState3.default)(id, {
|
||||
value: id
|
||||
}),
|
||||
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
|
||||
uuid = _useMergedState2[0],
|
||||
setUUID = _useMergedState2[1];
|
||||
React.useEffect(function () {
|
||||
internalId += 1;
|
||||
var newId = process.env.NODE_ENV === 'test' ? 'test' : "".concat(uniquePrefix, "-").concat(internalId);
|
||||
setUUID("rc-menu-uuid-".concat(newId));
|
||||
}, []);
|
||||
return uuid;
|
||||
}
|
||||
23
frontend/node_modules/rc-menu/lib/index.d.ts
generated
vendored
Normal file
23
frontend/node_modules/rc-menu/lib/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import Menu from './Menu';
|
||||
import MenuItem from './MenuItem';
|
||||
import SubMenu from './SubMenu';
|
||||
import MenuItemGroup from './MenuItemGroup';
|
||||
import { useFullPath } from './context/PathContext';
|
||||
import Divider from './Divider';
|
||||
import type { MenuProps } from './Menu';
|
||||
import type { MenuItemProps } from './MenuItem';
|
||||
import type { SubMenuProps } from './SubMenu';
|
||||
import type { MenuItemGroupProps } from './MenuItemGroup';
|
||||
import type { MenuRef } from './interface';
|
||||
export { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider,
|
||||
/** @private Only used for antd internal. Do not use in your production. */
|
||||
useFullPath, };
|
||||
export type { MenuProps, SubMenuProps, MenuItemProps, MenuItemGroupProps, MenuRef, };
|
||||
type MenuType = typeof Menu & {
|
||||
Item: typeof MenuItem;
|
||||
SubMenu: typeof SubMenu;
|
||||
ItemGroup: typeof MenuItemGroup;
|
||||
Divider: typeof Divider;
|
||||
};
|
||||
declare const ExportMenu: MenuType;
|
||||
export default ExportMenu;
|
||||
61
frontend/node_modules/rc-menu/lib/index.js
generated
vendored
Normal file
61
frontend/node_modules/rc-menu/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "Divider", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _Divider.default;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "Item", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _MenuItem.default;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "ItemGroup", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _MenuItemGroup.default;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "MenuItem", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _MenuItem.default;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "MenuItemGroup", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _MenuItemGroup.default;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "SubMenu", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _SubMenu.default;
|
||||
}
|
||||
});
|
||||
exports.default = void 0;
|
||||
Object.defineProperty(exports, "useFullPath", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _PathContext.useFullPath;
|
||||
}
|
||||
});
|
||||
var _Menu = _interopRequireDefault(require("./Menu"));
|
||||
var _MenuItem = _interopRequireDefault(require("./MenuItem"));
|
||||
var _SubMenu = _interopRequireDefault(require("./SubMenu"));
|
||||
var _MenuItemGroup = _interopRequireDefault(require("./MenuItemGroup"));
|
||||
var _PathContext = require("./context/PathContext");
|
||||
var _Divider = _interopRequireDefault(require("./Divider"));
|
||||
var ExportMenu = _Menu.default;
|
||||
ExportMenu.Item = _MenuItem.default;
|
||||
ExportMenu.SubMenu = _SubMenu.default;
|
||||
ExportMenu.ItemGroup = _MenuItemGroup.default;
|
||||
ExportMenu.Divider = _Divider.default;
|
||||
var _default = exports.default = ExportMenu;
|
||||
86
frontend/node_modules/rc-menu/lib/interface.d.ts
generated
vendored
Normal file
86
frontend/node_modules/rc-menu/lib/interface.d.ts
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
import type * as React from 'react';
|
||||
interface ItemSharedProps {
|
||||
ref?: React.Ref<HTMLLIElement | null>;
|
||||
style?: React.CSSProperties;
|
||||
className?: string;
|
||||
}
|
||||
export interface SubMenuType extends ItemSharedProps {
|
||||
type?: 'submenu';
|
||||
label?: React.ReactNode;
|
||||
children: ItemType[];
|
||||
disabled?: boolean;
|
||||
key: string;
|
||||
rootClassName?: string;
|
||||
itemIcon?: RenderIconType;
|
||||
expandIcon?: RenderIconType;
|
||||
onMouseEnter?: MenuHoverEventHandler;
|
||||
onMouseLeave?: MenuHoverEventHandler;
|
||||
popupClassName?: string;
|
||||
popupOffset?: number[];
|
||||
popupStyle?: React.CSSProperties;
|
||||
onClick?: MenuClickEventHandler;
|
||||
onTitleClick?: (info: MenuTitleInfo) => void;
|
||||
onTitleMouseEnter?: MenuHoverEventHandler;
|
||||
onTitleMouseLeave?: MenuHoverEventHandler;
|
||||
}
|
||||
export interface MenuItemType extends ItemSharedProps {
|
||||
type?: 'item';
|
||||
label?: React.ReactNode;
|
||||
disabled?: boolean;
|
||||
itemIcon?: RenderIconType;
|
||||
extra?: React.ReactNode;
|
||||
key: React.Key;
|
||||
onMouseEnter?: MenuHoverEventHandler;
|
||||
onMouseLeave?: MenuHoverEventHandler;
|
||||
onClick?: MenuClickEventHandler;
|
||||
}
|
||||
export interface MenuItemGroupType extends ItemSharedProps {
|
||||
type: 'group';
|
||||
label?: React.ReactNode;
|
||||
children?: ItemType[];
|
||||
}
|
||||
export interface MenuDividerType extends Omit<ItemSharedProps, 'ref'> {
|
||||
type: 'divider';
|
||||
}
|
||||
export type ItemType = SubMenuType | MenuItemType | MenuItemGroupType | MenuDividerType | null;
|
||||
export type MenuMode = 'horizontal' | 'vertical' | 'inline';
|
||||
export type BuiltinPlacements = Record<string, any>;
|
||||
export type TriggerSubMenuAction = 'click' | 'hover';
|
||||
export interface RenderIconInfo {
|
||||
isSelected?: boolean;
|
||||
isOpen?: boolean;
|
||||
isSubMenu?: boolean;
|
||||
disabled?: boolean;
|
||||
}
|
||||
export type RenderIconType = React.ReactNode | ((props: RenderIconInfo) => React.ReactNode);
|
||||
export interface MenuInfo {
|
||||
key: string;
|
||||
keyPath: string[];
|
||||
/** @deprecated This will not support in future. You should avoid to use this */
|
||||
item: React.ReactInstance;
|
||||
domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
|
||||
}
|
||||
export interface MenuTitleInfo {
|
||||
key: string;
|
||||
domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
|
||||
}
|
||||
export type MenuHoverEventHandler = (info: {
|
||||
key: string;
|
||||
domEvent: React.MouseEvent<HTMLElement>;
|
||||
}) => void;
|
||||
export interface SelectInfo extends MenuInfo {
|
||||
selectedKeys: string[];
|
||||
}
|
||||
export type SelectEventHandler = (info: SelectInfo) => void;
|
||||
export type MenuClickEventHandler = (info: MenuInfo) => void;
|
||||
export type MenuRef = {
|
||||
/**
|
||||
* Focus active child if any, or the first child which is not disabled will be focused.
|
||||
* @param options
|
||||
*/
|
||||
focus: (options?: FocusOptions) => void;
|
||||
list: HTMLUListElement;
|
||||
};
|
||||
export type ComponentType = 'submenu' | 'item' | 'group' | 'divider';
|
||||
export type Components = Partial<Record<ComponentType, React.ComponentType<any>>>;
|
||||
export {};
|
||||
5
frontend/node_modules/rc-menu/lib/interface.js
generated
vendored
Normal file
5
frontend/node_modules/rc-menu/lib/interface.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
117
frontend/node_modules/rc-menu/lib/placements.d.ts
generated
vendored
Normal file
117
frontend/node_modules/rc-menu/lib/placements.d.ts
generated
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
export declare const placements: {
|
||||
topLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
topRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
bottomLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
bottomRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
leftTop: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
leftBottom: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
rightTop: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
rightBottom: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
export declare const placementsRtl: {
|
||||
topLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
topRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
bottomLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
bottomRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
rightTop: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
rightBottom: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
leftTop: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
leftBottom: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
export default placements;
|
||||
79
frontend/node_modules/rc-menu/lib/placements.js
generated
vendored
Normal file
79
frontend/node_modules/rc-menu/lib/placements.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.placementsRtl = exports.placements = exports.default = void 0;
|
||||
var autoAdjustOverflow = {
|
||||
adjustX: 1,
|
||||
adjustY: 1
|
||||
};
|
||||
var placements = exports.placements = {
|
||||
topLeft: {
|
||||
points: ['bl', 'tl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
topRight: {
|
||||
points: ['br', 'tr'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
bottomLeft: {
|
||||
points: ['tl', 'bl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
bottomRight: {
|
||||
points: ['tr', 'br'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
leftTop: {
|
||||
points: ['tr', 'tl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
leftBottom: {
|
||||
points: ['br', 'bl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
rightTop: {
|
||||
points: ['tl', 'tr'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
rightBottom: {
|
||||
points: ['bl', 'br'],
|
||||
overflow: autoAdjustOverflow
|
||||
}
|
||||
};
|
||||
var placementsRtl = exports.placementsRtl = {
|
||||
topLeft: {
|
||||
points: ['bl', 'tl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
topRight: {
|
||||
points: ['br', 'tr'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
bottomLeft: {
|
||||
points: ['tl', 'bl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
bottomRight: {
|
||||
points: ['tr', 'br'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
rightTop: {
|
||||
points: ['tr', 'tl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
rightBottom: {
|
||||
points: ['br', 'bl'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
leftTop: {
|
||||
points: ['tl', 'tr'],
|
||||
overflow: autoAdjustOverflow
|
||||
},
|
||||
leftBottom: {
|
||||
points: ['bl', 'br'],
|
||||
overflow: autoAdjustOverflow
|
||||
}
|
||||
};
|
||||
var _default = exports.default = placements;
|
||||
2
frontend/node_modules/rc-menu/lib/utils/commonUtil.d.ts
generated
vendored
Normal file
2
frontend/node_modules/rc-menu/lib/utils/commonUtil.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import * as React from 'react';
|
||||
export declare function parseChildren(children: React.ReactNode | undefined, keyPath: string[]): React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
|
||||
35
frontend/node_modules/rc-menu/lib/utils/commonUtil.js
generated
vendored
Normal file
35
frontend/node_modules/rc-menu/lib/utils/commonUtil.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.parseChildren = parseChildren;
|
||||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
||||
var _toArray = _interopRequireDefault(require("rc-util/lib/Children/toArray"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function parseChildren(children, keyPath) {
|
||||
return (0, _toArray.default)(children).map(function (child, index) {
|
||||
if ( /*#__PURE__*/React.isValidElement(child)) {
|
||||
var _eventKey, _child$props;
|
||||
var key = child.key;
|
||||
var eventKey = (_eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _eventKey !== void 0 ? _eventKey : key;
|
||||
var emptyKey = eventKey === null || eventKey === undefined;
|
||||
if (emptyKey) {
|
||||
eventKey = "tmp_key-".concat([].concat((0, _toConsumableArray2.default)(keyPath), [index]).join('-'));
|
||||
}
|
||||
var cloneProps = {
|
||||
key: eventKey,
|
||||
eventKey: eventKey
|
||||
};
|
||||
if (process.env.NODE_ENV !== 'production' && emptyKey) {
|
||||
cloneProps.warnKey = true;
|
||||
}
|
||||
return /*#__PURE__*/React.cloneElement(child, cloneProps);
|
||||
}
|
||||
return child;
|
||||
});
|
||||
}
|
||||
2
frontend/node_modules/rc-menu/lib/utils/motionUtil.d.ts
generated
vendored
Normal file
2
frontend/node_modules/rc-menu/lib/utils/motionUtil.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import type { CSSMotionProps } from 'rc-motion';
|
||||
export declare function getMotion(mode: string, motion?: CSSMotionProps, defaultMotions?: Record<string, CSSMotionProps>): CSSMotionProps;
|
||||
15
frontend/node_modules/rc-menu/lib/utils/motionUtil.js
generated
vendored
Normal file
15
frontend/node_modules/rc-menu/lib/utils/motionUtil.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.getMotion = getMotion;
|
||||
function getMotion(mode, motion, defaultMotions) {
|
||||
if (motion) {
|
||||
return motion;
|
||||
}
|
||||
if (defaultMotions) {
|
||||
return defaultMotions[mode] || defaultMotions.other;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
3
frontend/node_modules/rc-menu/lib/utils/nodeUtil.d.ts
generated
vendored
Normal file
3
frontend/node_modules/rc-menu/lib/utils/nodeUtil.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import * as React from 'react';
|
||||
import type { Components, ItemType } from '../interface';
|
||||
export declare function parseItems(children: React.ReactNode | undefined, items: ItemType[] | undefined, keyPath: string[], components: Components, prefixCls?: string): React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
|
||||
88
frontend/node_modules/rc-menu/lib/utils/nodeUtil.js
generated
vendored
Normal file
88
frontend/node_modules/rc-menu/lib/utils/nodeUtil.js
generated
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.parseItems = parseItems;
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var _Divider = _interopRequireDefault(require("../Divider"));
|
||||
var _MenuItem = _interopRequireDefault(require("../MenuItem"));
|
||||
var _MenuItemGroup = _interopRequireDefault(require("../MenuItemGroup"));
|
||||
var _SubMenu = _interopRequireDefault(require("../SubMenu"));
|
||||
var _commonUtil = require("./commonUtil");
|
||||
var _excluded = ["label", "children", "key", "type", "extra"];
|
||||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
||||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
||||
function convertItemsToNodes(list, components, prefixCls) {
|
||||
var MergedMenuItem = components.item,
|
||||
MergedMenuItemGroup = components.group,
|
||||
MergedSubMenu = components.submenu,
|
||||
MergedDivider = components.divider;
|
||||
return (list || []).map(function (opt, index) {
|
||||
if (opt && (0, _typeof2.default)(opt) === 'object') {
|
||||
var _ref = opt,
|
||||
label = _ref.label,
|
||||
children = _ref.children,
|
||||
key = _ref.key,
|
||||
type = _ref.type,
|
||||
extra = _ref.extra,
|
||||
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
||||
var mergedKey = key !== null && key !== void 0 ? key : "tmp-".concat(index);
|
||||
|
||||
// MenuItemGroup & SubMenuItem
|
||||
if (children || type === 'group') {
|
||||
if (type === 'group') {
|
||||
// Group
|
||||
return /*#__PURE__*/React.createElement(MergedMenuItemGroup, (0, _extends2.default)({
|
||||
key: mergedKey
|
||||
}, restProps, {
|
||||
title: label
|
||||
}), convertItemsToNodes(children, components, prefixCls));
|
||||
}
|
||||
|
||||
// Sub Menu
|
||||
return /*#__PURE__*/React.createElement(MergedSubMenu, (0, _extends2.default)({
|
||||
key: mergedKey
|
||||
}, restProps, {
|
||||
title: label
|
||||
}), convertItemsToNodes(children, components, prefixCls));
|
||||
}
|
||||
|
||||
// MenuItem & Divider
|
||||
if (type === 'divider') {
|
||||
return /*#__PURE__*/React.createElement(MergedDivider, (0, _extends2.default)({
|
||||
key: mergedKey
|
||||
}, restProps));
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(MergedMenuItem, (0, _extends2.default)({
|
||||
key: mergedKey
|
||||
}, restProps, {
|
||||
extra: extra
|
||||
}), label, (!!extra || extra === 0) && /*#__PURE__*/React.createElement("span", {
|
||||
className: "".concat(prefixCls, "-item-extra")
|
||||
}, extra));
|
||||
}
|
||||
return null;
|
||||
}).filter(function (opt) {
|
||||
return opt;
|
||||
});
|
||||
}
|
||||
function parseItems(children, items, keyPath, components, prefixCls) {
|
||||
var childNodes = children;
|
||||
var mergedComponents = (0, _objectSpread2.default)({
|
||||
divider: _Divider.default,
|
||||
item: _MenuItem.default,
|
||||
group: _MenuItemGroup.default,
|
||||
submenu: _SubMenu.default
|
||||
}, components);
|
||||
if (items) {
|
||||
childNodes = convertItemsToNodes(items, mergedComponents, prefixCls);
|
||||
}
|
||||
return (0, _commonUtil.parseChildren)(childNodes, keyPath);
|
||||
}
|
||||
1
frontend/node_modules/rc-menu/lib/utils/timeUtil.d.ts
generated
vendored
Normal file
1
frontend/node_modules/rc-menu/lib/utils/timeUtil.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function nextSlice(callback: () => void): void;
|
||||
10
frontend/node_modules/rc-menu/lib/utils/timeUtil.js
generated
vendored
Normal file
10
frontend/node_modules/rc-menu/lib/utils/timeUtil.js
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.nextSlice = nextSlice;
|
||||
function nextSlice(callback) {
|
||||
/* istanbul ignore next */
|
||||
Promise.resolve().then(callback);
|
||||
}
|
||||
8
frontend/node_modules/rc-menu/lib/utils/warnUtil.d.ts
generated
vendored
Normal file
8
frontend/node_modules/rc-menu/lib/utils/warnUtil.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/// <reference types="react" />
|
||||
/**
|
||||
* `onClick` event return `info.item` which point to react node directly.
|
||||
* We should warning this since it will not work on FC.
|
||||
*/
|
||||
export declare function warnItemProp<T extends {
|
||||
item: React.ReactInstance;
|
||||
}>({ item, ...restInfo }: T): T;
|
||||
25
frontend/node_modules/rc-menu/lib/utils/warnUtil.js
generated
vendored
Normal file
25
frontend/node_modules/rc-menu/lib/utils/warnUtil.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.warnItemProp = warnItemProp;
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
|
||||
var _excluded = ["item"];
|
||||
/**
|
||||
* `onClick` event return `info.item` which point to react node directly.
|
||||
* We should warning this since it will not work on FC.
|
||||
*/
|
||||
function warnItemProp(_ref) {
|
||||
var item = _ref.item,
|
||||
restInfo = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
||||
Object.defineProperty(restInfo, 'item', {
|
||||
get: function get() {
|
||||
(0, _warning.default)(false, '`info.item` is deprecated since we will move to function component that not provides React Node instance in future.');
|
||||
return item;
|
||||
}
|
||||
});
|
||||
return restInfo;
|
||||
}
|
||||
Reference in New Issue
Block a user