first commit
This commit is contained in:
20
frontend/node_modules/rc-dropdown/LICENSE
generated
vendored
Normal file
20
frontend/node_modules/rc-dropdown/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
Copyright (c) 2015-present Alipay.com, https://www.alipay.com/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
164
frontend/node_modules/rc-dropdown/README.md
generated
vendored
Normal file
164
frontend/node_modules/rc-dropdown/README.md
generated
vendored
Normal file
@@ -0,0 +1,164 @@
|
||||
# rc-dropdown
|
||||
|
||||
react dropdown component
|
||||
|
||||
[![NPM version][npm-image]][npm-url] [![build status][travis-image]][travis-url] [![Test coverage][coveralls-image]][coveralls-url] [![Dependencies][david-image]][david-url] [![DevDependencies][david-dev-image]][david-dev-url] [![npm download][download-image]][download-url] [![bundle size][bundlephobia-image]][bundlephobia-url] [![dumi][dumi-image]][dumi-url]
|
||||
|
||||
[npm-image]: http://img.shields.io/npm/v/rc-dropdown.svg?style=flat-square
|
||||
[npm-url]: http://npmjs.org/package/rc-dropdown
|
||||
[travis-image]: https://img.shields.io/travis/react-component/dropdown.svg?style=flat-square
|
||||
[travis-url]: https://travis-ci.org/react-component/dropdown
|
||||
[coveralls-image]: https://img.shields.io/coveralls/react-component/dropdown.svg?style=flat-square
|
||||
[coveralls-url]: https://coveralls.io/r/react-component/dropdown?branch=master
|
||||
[david-url]: https://david-dm.org/react-component/dropdown
|
||||
[david-image]: https://david-dm.org/react-component/dropdown/status.svg?style=flat-square
|
||||
[david-dev-url]: https://david-dm.org/react-component/dropdown?type=dev
|
||||
[david-dev-image]: https://david-dm.org/react-component/dropdown/dev-status.svg?style=flat-square
|
||||
[download-image]: https://img.shields.io/npm/dm/rc-dropdown.svg?style=flat-square
|
||||
[download-url]: https://npmjs.org/package/rc-dropdown
|
||||
[bundlephobia-url]: https://bundlephobia.com/result?p=rc-dropdown
|
||||
[bundlephobia-image]: https://badgen.net/bundlephobia/minzip/rc-dropdown
|
||||
[dumi-image]: https://img.shields.io/badge/docs%20by-dumi-blue?style=flat-square
|
||||
[dumi-url]: https://github.com/umijs/dumi
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## Example
|
||||
|
||||
online example: http://react-component.github.io/dropdown/examples/
|
||||
|
||||
## install
|
||||
|
||||
[](https://npmjs.org/package/rc-dropdown)
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var Dropdown = require('rc-dropdown');
|
||||
// use dropdown
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### props
|
||||
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 100px;">name</th>
|
||||
<th style="width: 50px;">type</th>
|
||||
<th style="width: 50px;">default</th>
|
||||
<th>description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>overlayClassName</td>
|
||||
<td>String</td>
|
||||
<td></td>
|
||||
<td>additional css class of root dom node</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openClassName</td>
|
||||
<td>String</td>
|
||||
<td>`${prefixCls}-open`</td>
|
||||
<td>className of trigger when dropdown is opened</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>prefixCls</td>
|
||||
<td>String</td>
|
||||
<td>rc-dropdown</td>
|
||||
<td>prefix class name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>transitionName</td>
|
||||
<td>String</td>
|
||||
<td></td>
|
||||
<td>dropdown menu's animation css class name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>animation</td>
|
||||
<td>String</td>
|
||||
<td></td>
|
||||
<td>part of dropdown menu's animation css class name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>placement</td>
|
||||
<td>String</td>
|
||||
<td>bottomLeft</td>
|
||||
<td>Position of menu item. There are: top, topCenter, topRight, bottomLeft, bottom, bottomRight </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>onVisibleChange</td>
|
||||
<td>Function</td>
|
||||
<td></td>
|
||||
<td>call when visible is changed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>visible</td>
|
||||
<td>boolean</td>
|
||||
<td></td>
|
||||
<td>whether tooltip is visible</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>defaultVisible</td>
|
||||
<td>boolean</td>
|
||||
<td></td>
|
||||
<td>whether tooltip is visible initially</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>overlay</td>
|
||||
<td>rc-menu</td>
|
||||
<td></td>
|
||||
<td><a href="https://github.com/react-component/menu">rc-menu</a> element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>onOverlayClick</td>
|
||||
<td>function(e)</td>
|
||||
<td></td>
|
||||
<td>call when overlay is clicked</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>minOverlayWidthMatchTrigger</td>
|
||||
<td>boolean</td>
|
||||
<td>true (false when set alignPoint)</td>
|
||||
<td>whether overlay's width must not be less than trigger's </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>getPopupContainer</td>
|
||||
<td>Function(menuDOMNode): HTMLElement</td>
|
||||
<th>() => document.body</th>
|
||||
<td>Where to render the DOM node of dropdown</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Note: Additional props are passed into the underlying [rc-trigger](https://github.com/react-component/trigger) component. This can be useful for example, to display the dropdown in a separate [portal](https://reactjs.org/docs/portals.html)-driven window via the `getDocument()` rc-trigger prop.
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
## Test Case
|
||||
|
||||
```bash
|
||||
npm test
|
||||
npm run chrome-test
|
||||
```
|
||||
|
||||
## Coverage
|
||||
|
||||
```bash
|
||||
npm run coverage
|
||||
```
|
||||
|
||||
open coverage/ dir
|
||||
|
||||
## License
|
||||
|
||||
rc-dropdown is released under the MIT license.
|
||||
245
frontend/node_modules/rc-dropdown/assets/index.css
generated
vendored
Normal file
245
frontend/node_modules/rc-dropdown/assets/index.css
generated
vendored
Normal file
@@ -0,0 +1,245 @@
|
||||
@font-face {
|
||||
font-family: 'anticon';
|
||||
src: url('//at.alicdn.com/t/font_1434092639_4910953.eot');
|
||||
/* IE9*/
|
||||
src: url('//at.alicdn.com/t/font_1434092639_4910953.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('//at.alicdn.com/t/font_1434092639_4910953.woff') format('woff'), /* chrome、firefox */ url('//at.alicdn.com/t/font_1434092639_4910953.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('//at.alicdn.com/t/font_1434092639_4910953.svg#iconfont') format('svg');
|
||||
/* iOS 4.1- */
|
||||
}
|
||||
.rc-dropdown {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
top: -9999px;
|
||||
z-index: 1070;
|
||||
display: block;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.rc-dropdown-hidden {
|
||||
display: none;
|
||||
}
|
||||
.rc-dropdown .rc-menu {
|
||||
outline: none;
|
||||
position: relative;
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 2px 0 2px;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 5px #ccc;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
.rc-dropdown .rc-menu > li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.rc-dropdown .rc-menu:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
background: #ffffff;
|
||||
background: rgba(255, 255, 255, 0.01);
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item {
|
||||
position: relative;
|
||||
display: block;
|
||||
padding: 7px 10px;
|
||||
clear: both;
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
color: #666666;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item:hover,
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-active,
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-selected {
|
||||
background-color: #ebfaff;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-selected {
|
||||
position: relative;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-selected:after {
|
||||
content: '\e613';
|
||||
font-family: 'anticon';
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 16px;
|
||||
color: #3CB8F0;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-disabled {
|
||||
color: #ccc;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-disabled:hover {
|
||||
color: #ccc;
|
||||
background-color: #fff;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item:last-child {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item:first-child {
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.rc-dropdown .rc-menu > .rc-dropdown .rc-menu-item-divider {
|
||||
height: 1px;
|
||||
margin: 1px 0;
|
||||
overflow: hidden;
|
||||
background-color: #e5e5e5;
|
||||
line-height: 0;
|
||||
}
|
||||
.rc-dropdown-slide-up-enter,
|
||||
.rc-dropdown-slide-up-appear {
|
||||
animation-duration: 0.3s;
|
||||
animation-fill-mode: both;
|
||||
transform-origin: 0 0;
|
||||
display: block !important;
|
||||
opacity: 0;
|
||||
animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
|
||||
animation-play-state: paused;
|
||||
}
|
||||
.rc-dropdown-slide-up-leave {
|
||||
animation-duration: 0.3s;
|
||||
animation-fill-mode: both;
|
||||
transform-origin: 0 0;
|
||||
display: block !important;
|
||||
opacity: 1;
|
||||
animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
|
||||
animation-play-state: paused;
|
||||
}
|
||||
.rc-dropdown-slide-up-enter.rc-dropdown-slide-up-enter-active.rc-dropdown-placement-bottomLeft,
|
||||
.rc-dropdown-slide-up-appear.rc-dropdown-slide-up-appear-active.rc-dropdown-placement-bottomLeft,
|
||||
.rc-dropdown-slide-up-enter.rc-dropdown-slide-up-enter-active.rc-dropdown-placement-bottomCenter,
|
||||
.rc-dropdown-slide-up-appear.rc-dropdown-slide-up-appear-active.rc-dropdown-placement-bottomCenter,
|
||||
.rc-dropdown-slide-up-enter.rc-dropdown-slide-up-enter-active.rc-dropdown-placement-bottomRight,
|
||||
.rc-dropdown-slide-up-appear.rc-dropdown-slide-up-appear-active.rc-dropdown-placement-bottomRight {
|
||||
animation-name: rcDropdownSlideUpIn;
|
||||
animation-play-state: running;
|
||||
}
|
||||
.rc-dropdown-slide-up-enter.rc-dropdown-slide-up-enter-active.rc-dropdown-placement-topLeft,
|
||||
.rc-dropdown-slide-up-appear.rc-dropdown-slide-up-appear-active.rc-dropdown-placement-topLeft,
|
||||
.rc-dropdown-slide-up-enter.rc-dropdown-slide-up-enter-active.rc-dropdown-placement-topCenter,
|
||||
.rc-dropdown-slide-up-appear.rc-dropdown-slide-up-appear-active.rc-dropdown-placement-topCenter,
|
||||
.rc-dropdown-slide-up-enter.rc-dropdown-slide-up-enter-active.rc-dropdown-placement-topRight,
|
||||
.rc-dropdown-slide-up-appear.rc-dropdown-slide-up-appear-active.rc-dropdown-placement-topRight {
|
||||
animation-name: rcDropdownSlideDownIn;
|
||||
animation-play-state: running;
|
||||
}
|
||||
.rc-dropdown-slide-up-leave.rc-dropdown-slide-up-leave-active.rc-dropdown-placement-bottomLeft,
|
||||
.rc-dropdown-slide-up-leave.rc-dropdown-slide-up-leave-active.rc-dropdown-placement-bottomCenter,
|
||||
.rc-dropdown-slide-up-leave.rc-dropdown-slide-up-leave-active.rc-dropdown-placement-bottomRight {
|
||||
animation-name: rcDropdownSlideUpOut;
|
||||
animation-play-state: running;
|
||||
}
|
||||
.rc-dropdown-slide-up-leave.rc-dropdown-slide-up-leave-active.rc-dropdown-placement-topLeft,
|
||||
.rc-dropdown-slide-up-leave.rc-dropdown-slide-up-leave-active.rc-dropdown-placement-topCenter,
|
||||
.rc-dropdown-slide-up-leave.rc-dropdown-slide-up-leave-active.rc-dropdown-placement-topRight {
|
||||
animation-name: rcDropdownSlideDownOut;
|
||||
animation-play-state: running;
|
||||
}
|
||||
@keyframes rcDropdownSlideUpIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform-origin: 0% 0%;
|
||||
transform: scaleY(0);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform-origin: 0% 0%;
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
@keyframes rcDropdownSlideUpOut {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform-origin: 0% 0%;
|
||||
transform: scaleY(1);
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform-origin: 0% 0%;
|
||||
transform: scaleY(0);
|
||||
}
|
||||
}
|
||||
@keyframes rcDropdownSlideDownIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform-origin: 0% 100%;
|
||||
transform: scaleY(0);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform-origin: 0% 100%;
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
@keyframes rcDropdownSlideDownOut {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform-origin: 0% 100%;
|
||||
transform: scaleY(1);
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform-origin: 0% 100%;
|
||||
transform: scaleY(0);
|
||||
}
|
||||
}
|
||||
.rc-dropdown-arrow {
|
||||
position: absolute;
|
||||
border-width: 8px / 2;
|
||||
border-color: transparent;
|
||||
box-shadow: 0 1px 5px #ccc;
|
||||
border-style: solid;
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.rc-dropdown-show-arrow.rc-dropdown-placement-top,
|
||||
.rc-dropdown-show-arrow.rc-dropdown-placement-topLeft,
|
||||
.rc-dropdown-show-arrow.rc-dropdown-placement-topRight {
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
.rc-dropdown-show-arrow.rc-dropdown-placement-bottom,
|
||||
.rc-dropdown-show-arrow.rc-dropdown-placement-bottomLeft,
|
||||
.rc-dropdown-show-arrow.rc-dropdown-placement-bottomRight {
|
||||
padding-top: 6px;
|
||||
}
|
||||
.rc-dropdown-placement-top .rc-dropdown-arrow,
|
||||
.rc-dropdown-placement-topLeft .rc-dropdown-arrow,
|
||||
.rc-dropdown-placement-topRight .rc-dropdown-arrow {
|
||||
bottom: 4px;
|
||||
border-top-color: white;
|
||||
}
|
||||
.rc-dropdown-placement-top .rc-dropdown-arrow {
|
||||
left: 50%;
|
||||
}
|
||||
.rc-dropdown-placement-topLeft .rc-dropdown-arrow {
|
||||
left: 15%;
|
||||
}
|
||||
.rc-dropdown-placement-topRight .rc-dropdown-arrow {
|
||||
right: 15%;
|
||||
}
|
||||
.rc-dropdown-placement-bottom .rc-dropdown-arrow,
|
||||
.rc-dropdown-placement-bottomLeft .rc-dropdown-arrow,
|
||||
.rc-dropdown-placement-bottomRight .rc-dropdown-arrow {
|
||||
top: 4px;
|
||||
border-bottom-color: white;
|
||||
}
|
||||
.rc-dropdown-placement-bottom .rc-dropdown-arrow {
|
||||
left: 50%;
|
||||
}
|
||||
.rc-dropdown-placement-bottomLeft .rc-dropdown-arrow {
|
||||
left: 15%;
|
||||
}
|
||||
.rc-dropdown-placement-bottomRight .rc-dropdown-arrow {
|
||||
right: 15%;
|
||||
}
|
||||
28
frontend/node_modules/rc-dropdown/es/Dropdown.d.ts
generated
vendored
Normal file
28
frontend/node_modules/rc-dropdown/es/Dropdown.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import type { TriggerProps } from '@rc-component/trigger';
|
||||
import type { ActionType, AlignType, AnimationType, BuildInPlacements } from '@rc-component/trigger/lib/interface';
|
||||
import React from 'react';
|
||||
import Placements from './placements';
|
||||
export interface DropdownProps extends Pick<TriggerProps, 'getPopupContainer' | 'children' | 'mouseEnterDelay' | 'mouseLeaveDelay' | 'onPopupAlign' | 'builtinPlacements' | 'autoDestroy'> {
|
||||
minOverlayWidthMatchTrigger?: boolean;
|
||||
arrow?: boolean;
|
||||
onVisibleChange?: (visible: boolean) => void;
|
||||
onOverlayClick?: (e: Event) => void;
|
||||
prefixCls?: string;
|
||||
transitionName?: string;
|
||||
overlayClassName?: string;
|
||||
openClassName?: string;
|
||||
animation?: AnimationType;
|
||||
align?: AlignType;
|
||||
overlayStyle?: React.CSSProperties;
|
||||
placement?: keyof typeof Placements;
|
||||
placements?: BuildInPlacements;
|
||||
overlay?: (() => React.ReactElement) | React.ReactElement;
|
||||
trigger?: ActionType | ActionType[];
|
||||
alignPoint?: boolean;
|
||||
showAction?: ActionType[];
|
||||
hideAction?: ActionType[];
|
||||
visible?: boolean;
|
||||
autoFocus?: boolean;
|
||||
}
|
||||
declare const _default: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<unknown>>;
|
||||
export default _default;
|
||||
127
frontend/node_modules/rc-dropdown/es/Dropdown.js
generated
vendored
Normal file
127
frontend/node_modules/rc-dropdown/es/Dropdown.js
generated
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
import _extends from "@babel/runtime/helpers/esm/extends";
|
||||
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
||||
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
||||
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
||||
var _excluded = ["arrow", "prefixCls", "transitionName", "animation", "align", "placement", "placements", "getPopupContainer", "showAction", "hideAction", "overlayClassName", "overlayStyle", "visible", "trigger", "autoFocus", "overlay", "children", "onVisibleChange"];
|
||||
import Trigger from '@rc-component/trigger';
|
||||
import classNames from 'classnames';
|
||||
import { composeRef, getNodeRef, supportRef } from "rc-util/es/ref";
|
||||
import React from 'react';
|
||||
import useAccessibility from "./hooks/useAccessibility";
|
||||
import Overlay from "./Overlay";
|
||||
import Placements from "./placements";
|
||||
function Dropdown(props, ref) {
|
||||
var _children$props;
|
||||
var _props$arrow = props.arrow,
|
||||
arrow = _props$arrow === void 0 ? false : _props$arrow,
|
||||
_props$prefixCls = props.prefixCls,
|
||||
prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,
|
||||
transitionName = props.transitionName,
|
||||
animation = props.animation,
|
||||
align = props.align,
|
||||
_props$placement = props.placement,
|
||||
placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,
|
||||
_props$placements = props.placements,
|
||||
placements = _props$placements === void 0 ? Placements : _props$placements,
|
||||
getPopupContainer = props.getPopupContainer,
|
||||
showAction = props.showAction,
|
||||
hideAction = props.hideAction,
|
||||
overlayClassName = props.overlayClassName,
|
||||
overlayStyle = props.overlayStyle,
|
||||
visible = props.visible,
|
||||
_props$trigger = props.trigger,
|
||||
trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,
|
||||
autoFocus = props.autoFocus,
|
||||
overlay = props.overlay,
|
||||
children = props.children,
|
||||
onVisibleChange = props.onVisibleChange,
|
||||
otherProps = _objectWithoutProperties(props, _excluded);
|
||||
var _React$useState = React.useState(),
|
||||
_React$useState2 = _slicedToArray(_React$useState, 2),
|
||||
triggerVisible = _React$useState2[0],
|
||||
setTriggerVisible = _React$useState2[1];
|
||||
var mergedVisible = 'visible' in props ? visible : triggerVisible;
|
||||
var triggerRef = React.useRef(null);
|
||||
var overlayRef = React.useRef(null);
|
||||
var childRef = React.useRef(null);
|
||||
React.useImperativeHandle(ref, function () {
|
||||
return triggerRef.current;
|
||||
});
|
||||
var handleVisibleChange = function handleVisibleChange(newVisible) {
|
||||
setTriggerVisible(newVisible);
|
||||
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(newVisible);
|
||||
};
|
||||
useAccessibility({
|
||||
visible: mergedVisible,
|
||||
triggerRef: childRef,
|
||||
onVisibleChange: handleVisibleChange,
|
||||
autoFocus: autoFocus,
|
||||
overlayRef: overlayRef
|
||||
});
|
||||
var onClick = function onClick(e) {
|
||||
var onOverlayClick = props.onOverlayClick;
|
||||
setTriggerVisible(false);
|
||||
if (onOverlayClick) {
|
||||
onOverlayClick(e);
|
||||
}
|
||||
};
|
||||
var getMenuElement = function getMenuElement() {
|
||||
return /*#__PURE__*/React.createElement(Overlay, {
|
||||
ref: overlayRef,
|
||||
overlay: overlay,
|
||||
prefixCls: prefixCls,
|
||||
arrow: arrow
|
||||
});
|
||||
};
|
||||
var getMenuElementOrLambda = function getMenuElementOrLambda() {
|
||||
if (typeof overlay === 'function') {
|
||||
return getMenuElement;
|
||||
}
|
||||
return getMenuElement();
|
||||
};
|
||||
var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {
|
||||
var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,
|
||||
alignPoint = props.alignPoint;
|
||||
if ('minOverlayWidthMatchTrigger' in props) {
|
||||
return minOverlayWidthMatchTrigger;
|
||||
}
|
||||
return !alignPoint;
|
||||
};
|
||||
var getOpenClassName = function getOpenClassName() {
|
||||
var openClassName = props.openClassName;
|
||||
if (openClassName !== undefined) {
|
||||
return openClassName;
|
||||
}
|
||||
return "".concat(prefixCls, "-open");
|
||||
};
|
||||
var childrenNode = /*#__PURE__*/React.cloneElement(children, {
|
||||
className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),
|
||||
ref: supportRef(children) ? composeRef(childRef, getNodeRef(children)) : undefined
|
||||
});
|
||||
var triggerHideAction = hideAction;
|
||||
if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {
|
||||
triggerHideAction = ['click'];
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(Trigger, _extends({
|
||||
builtinPlacements: placements
|
||||
}, otherProps, {
|
||||
prefixCls: prefixCls,
|
||||
ref: triggerRef,
|
||||
popupClassName: classNames(overlayClassName, _defineProperty({}, "".concat(prefixCls, "-show-arrow"), arrow)),
|
||||
popupStyle: overlayStyle,
|
||||
action: trigger,
|
||||
showAction: showAction,
|
||||
hideAction: triggerHideAction,
|
||||
popupPlacement: placement,
|
||||
popupAlign: align,
|
||||
popupTransitionName: transitionName,
|
||||
popupAnimation: animation,
|
||||
popupVisible: mergedVisible,
|
||||
stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',
|
||||
popup: getMenuElementOrLambda(),
|
||||
onPopupVisibleChange: handleVisibleChange,
|
||||
onPopupClick: onClick,
|
||||
getPopupContainer: getPopupContainer
|
||||
}), childrenNode);
|
||||
}
|
||||
export default /*#__PURE__*/React.forwardRef(Dropdown);
|
||||
5
frontend/node_modules/rc-dropdown/es/Overlay.d.ts
generated
vendored
Normal file
5
frontend/node_modules/rc-dropdown/es/Overlay.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import React from 'react';
|
||||
import type { DropdownProps } from './Dropdown';
|
||||
export type OverlayProps = Pick<DropdownProps, 'overlay' | 'arrow' | 'prefixCls'>;
|
||||
declare const Overlay: React.ForwardRefExoticComponent<OverlayProps & React.RefAttributes<HTMLElement>>;
|
||||
export default Overlay;
|
||||
23
frontend/node_modules/rc-dropdown/es/Overlay.js
generated
vendored
Normal file
23
frontend/node_modules/rc-dropdown/es/Overlay.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import { composeRef, getNodeRef, supportRef } from "rc-util/es/ref";
|
||||
import React, { forwardRef, useMemo } from 'react';
|
||||
var Overlay = /*#__PURE__*/forwardRef(function (props, ref) {
|
||||
var overlay = props.overlay,
|
||||
arrow = props.arrow,
|
||||
prefixCls = props.prefixCls;
|
||||
var overlayNode = useMemo(function () {
|
||||
var overlayElement;
|
||||
if (typeof overlay === 'function') {
|
||||
overlayElement = overlay();
|
||||
} else {
|
||||
overlayElement = overlay;
|
||||
}
|
||||
return overlayElement;
|
||||
}, [overlay]);
|
||||
var composedRef = composeRef(ref, getNodeRef(overlayNode));
|
||||
return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement("div", {
|
||||
className: "".concat(prefixCls, "-arrow")
|
||||
}), /*#__PURE__*/React.cloneElement(overlayNode, {
|
||||
ref: supportRef(overlayNode) ? composedRef : undefined
|
||||
}));
|
||||
});
|
||||
export default Overlay;
|
||||
10
frontend/node_modules/rc-dropdown/es/hooks/useAccessibility.d.ts
generated
vendored
Normal file
10
frontend/node_modules/rc-dropdown/es/hooks/useAccessibility.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import * as React from "react";
|
||||
interface UseAccessibilityProps {
|
||||
visible: boolean;
|
||||
triggerRef: React.RefObject<any>;
|
||||
onVisibleChange?: (visible: boolean) => void;
|
||||
autoFocus?: boolean;
|
||||
overlayRef?: React.RefObject<any>;
|
||||
}
|
||||
export default function useAccessibility({ visible, triggerRef, onVisibleChange, autoFocus, overlayRef, }: UseAccessibilityProps): void;
|
||||
export {};
|
||||
65
frontend/node_modules/rc-dropdown/es/hooks/useAccessibility.js
generated
vendored
Normal file
65
frontend/node_modules/rc-dropdown/es/hooks/useAccessibility.js
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
import KeyCode from "rc-util/es/KeyCode";
|
||||
import raf from "rc-util/es/raf";
|
||||
import * as React from "react";
|
||||
var ESC = KeyCode.ESC,
|
||||
TAB = KeyCode.TAB;
|
||||
export default function useAccessibility(_ref) {
|
||||
var visible = _ref.visible,
|
||||
triggerRef = _ref.triggerRef,
|
||||
onVisibleChange = _ref.onVisibleChange,
|
||||
autoFocus = _ref.autoFocus,
|
||||
overlayRef = _ref.overlayRef;
|
||||
var focusMenuRef = React.useRef(false);
|
||||
var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {
|
||||
if (visible) {
|
||||
var _triggerRef$current, _triggerRef$current$f;
|
||||
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 || (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 || _triggerRef$current$f.call(_triggerRef$current);
|
||||
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(false);
|
||||
}
|
||||
};
|
||||
var focusMenu = function focusMenu() {
|
||||
var _overlayRef$current;
|
||||
if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {
|
||||
overlayRef.current.focus();
|
||||
focusMenuRef.current = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
var handleKeyDown = function handleKeyDown(event) {
|
||||
switch (event.keyCode) {
|
||||
case ESC:
|
||||
handleCloseMenuAndReturnFocus();
|
||||
break;
|
||||
case TAB:
|
||||
{
|
||||
var focusResult = false;
|
||||
if (!focusMenuRef.current) {
|
||||
focusResult = focusMenu();
|
||||
}
|
||||
if (focusResult) {
|
||||
event.preventDefault();
|
||||
} else {
|
||||
handleCloseMenuAndReturnFocus();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
React.useEffect(function () {
|
||||
if (visible) {
|
||||
window.addEventListener("keydown", handleKeyDown);
|
||||
if (autoFocus) {
|
||||
// FIXME: hack with raf
|
||||
raf(focusMenu, 3);
|
||||
}
|
||||
return function () {
|
||||
window.removeEventListener("keydown", handleKeyDown);
|
||||
focusMenuRef.current = false;
|
||||
};
|
||||
}
|
||||
return function () {
|
||||
focusMenuRef.current = false;
|
||||
};
|
||||
}, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
|
||||
}
|
||||
5
frontend/node_modules/rc-dropdown/es/index.d.ts
generated
vendored
Normal file
5
frontend/node_modules/rc-dropdown/es/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export type { TriggerProps } from '@rc-component/trigger';
|
||||
export type { DropdownProps } from './Dropdown';
|
||||
export type { OverlayProps } from './Overlay';
|
||||
import Dropdown from './Dropdown';
|
||||
export default Dropdown;
|
||||
2
frontend/node_modules/rc-dropdown/es/index.js
generated
vendored
Normal file
2
frontend/node_modules/rc-dropdown/es/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import Dropdown from "./Dropdown";
|
||||
export default Dropdown;
|
||||
57
frontend/node_modules/rc-dropdown/es/placements.d.ts
generated
vendored
Normal file
57
frontend/node_modules/rc-dropdown/es/placements.d.ts
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
declare const placements: {
|
||||
topLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
top: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
topRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
bottomLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
bottom: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
bottomRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
};
|
||||
export default placements;
|
||||
44
frontend/node_modules/rc-dropdown/es/placements.js
generated
vendored
Normal file
44
frontend/node_modules/rc-dropdown/es/placements.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
var autoAdjustOverflow = {
|
||||
adjustX: 1,
|
||||
adjustY: 1
|
||||
};
|
||||
var targetOffset = [0, 0];
|
||||
var placements = {
|
||||
topLeft: {
|
||||
points: ['bl', 'tl'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, -4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
top: {
|
||||
points: ['bc', 'tc'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, -4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
topRight: {
|
||||
points: ['br', 'tr'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, -4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
bottomLeft: {
|
||||
points: ['tl', 'bl'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, 4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
bottom: {
|
||||
points: ['tc', 'bc'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, 4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
bottomRight: {
|
||||
points: ['tr', 'br'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, 4],
|
||||
targetOffset: targetOffset
|
||||
}
|
||||
};
|
||||
export default placements;
|
||||
28
frontend/node_modules/rc-dropdown/lib/Dropdown.d.ts
generated
vendored
Normal file
28
frontend/node_modules/rc-dropdown/lib/Dropdown.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import type { TriggerProps } from '@rc-component/trigger';
|
||||
import type { ActionType, AlignType, AnimationType, BuildInPlacements } from '@rc-component/trigger/lib/interface';
|
||||
import React from 'react';
|
||||
import Placements from './placements';
|
||||
export interface DropdownProps extends Pick<TriggerProps, 'getPopupContainer' | 'children' | 'mouseEnterDelay' | 'mouseLeaveDelay' | 'onPopupAlign' | 'builtinPlacements' | 'autoDestroy'> {
|
||||
minOverlayWidthMatchTrigger?: boolean;
|
||||
arrow?: boolean;
|
||||
onVisibleChange?: (visible: boolean) => void;
|
||||
onOverlayClick?: (e: Event) => void;
|
||||
prefixCls?: string;
|
||||
transitionName?: string;
|
||||
overlayClassName?: string;
|
||||
openClassName?: string;
|
||||
animation?: AnimationType;
|
||||
align?: AlignType;
|
||||
overlayStyle?: React.CSSProperties;
|
||||
placement?: keyof typeof Placements;
|
||||
placements?: BuildInPlacements;
|
||||
overlay?: (() => React.ReactElement) | React.ReactElement;
|
||||
trigger?: ActionType | ActionType[];
|
||||
alignPoint?: boolean;
|
||||
showAction?: ActionType[];
|
||||
hideAction?: ActionType[];
|
||||
visible?: boolean;
|
||||
autoFocus?: boolean;
|
||||
}
|
||||
declare const _default: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<unknown>>;
|
||||
export default _default;
|
||||
134
frontend/node_modules/rc-dropdown/lib/Dropdown.js
generated
vendored
Normal file
134
frontend/node_modules/rc-dropdown/lib/Dropdown.js
generated
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
||||
var _trigger = _interopRequireDefault(require("@rc-component/trigger"));
|
||||
var _classnames = _interopRequireDefault(require("classnames"));
|
||||
var _ref = require("rc-util/lib/ref");
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
var _useAccessibility = _interopRequireDefault(require("./hooks/useAccessibility"));
|
||||
var _Overlay = _interopRequireDefault(require("./Overlay"));
|
||||
var _placements = _interopRequireDefault(require("./placements"));
|
||||
var _excluded = ["arrow", "prefixCls", "transitionName", "animation", "align", "placement", "placements", "getPopupContainer", "showAction", "hideAction", "overlayClassName", "overlayStyle", "visible", "trigger", "autoFocus", "overlay", "children", "onVisibleChange"];
|
||||
function Dropdown(props, ref) {
|
||||
var _children$props;
|
||||
var _props$arrow = props.arrow,
|
||||
arrow = _props$arrow === void 0 ? false : _props$arrow,
|
||||
_props$prefixCls = props.prefixCls,
|
||||
prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,
|
||||
transitionName = props.transitionName,
|
||||
animation = props.animation,
|
||||
align = props.align,
|
||||
_props$placement = props.placement,
|
||||
placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,
|
||||
_props$placements = props.placements,
|
||||
placements = _props$placements === void 0 ? _placements.default : _props$placements,
|
||||
getPopupContainer = props.getPopupContainer,
|
||||
showAction = props.showAction,
|
||||
hideAction = props.hideAction,
|
||||
overlayClassName = props.overlayClassName,
|
||||
overlayStyle = props.overlayStyle,
|
||||
visible = props.visible,
|
||||
_props$trigger = props.trigger,
|
||||
trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,
|
||||
autoFocus = props.autoFocus,
|
||||
overlay = props.overlay,
|
||||
children = props.children,
|
||||
onVisibleChange = props.onVisibleChange,
|
||||
otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
||||
var _React$useState = _react.default.useState(),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
triggerVisible = _React$useState2[0],
|
||||
setTriggerVisible = _React$useState2[1];
|
||||
var mergedVisible = 'visible' in props ? visible : triggerVisible;
|
||||
var triggerRef = _react.default.useRef(null);
|
||||
var overlayRef = _react.default.useRef(null);
|
||||
var childRef = _react.default.useRef(null);
|
||||
_react.default.useImperativeHandle(ref, function () {
|
||||
return triggerRef.current;
|
||||
});
|
||||
var handleVisibleChange = function handleVisibleChange(newVisible) {
|
||||
setTriggerVisible(newVisible);
|
||||
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(newVisible);
|
||||
};
|
||||
(0, _useAccessibility.default)({
|
||||
visible: mergedVisible,
|
||||
triggerRef: childRef,
|
||||
onVisibleChange: handleVisibleChange,
|
||||
autoFocus: autoFocus,
|
||||
overlayRef: overlayRef
|
||||
});
|
||||
var onClick = function onClick(e) {
|
||||
var onOverlayClick = props.onOverlayClick;
|
||||
setTriggerVisible(false);
|
||||
if (onOverlayClick) {
|
||||
onOverlayClick(e);
|
||||
}
|
||||
};
|
||||
var getMenuElement = function getMenuElement() {
|
||||
return /*#__PURE__*/_react.default.createElement(_Overlay.default, {
|
||||
ref: overlayRef,
|
||||
overlay: overlay,
|
||||
prefixCls: prefixCls,
|
||||
arrow: arrow
|
||||
});
|
||||
};
|
||||
var getMenuElementOrLambda = function getMenuElementOrLambda() {
|
||||
if (typeof overlay === 'function') {
|
||||
return getMenuElement;
|
||||
}
|
||||
return getMenuElement();
|
||||
};
|
||||
var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {
|
||||
var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,
|
||||
alignPoint = props.alignPoint;
|
||||
if ('minOverlayWidthMatchTrigger' in props) {
|
||||
return minOverlayWidthMatchTrigger;
|
||||
}
|
||||
return !alignPoint;
|
||||
};
|
||||
var getOpenClassName = function getOpenClassName() {
|
||||
var openClassName = props.openClassName;
|
||||
if (openClassName !== undefined) {
|
||||
return openClassName;
|
||||
}
|
||||
return "".concat(prefixCls, "-open");
|
||||
};
|
||||
var childrenNode = /*#__PURE__*/_react.default.cloneElement(children, {
|
||||
className: (0, _classnames.default)((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),
|
||||
ref: (0, _ref.supportRef)(children) ? (0, _ref.composeRef)(childRef, (0, _ref.getNodeRef)(children)) : undefined
|
||||
});
|
||||
var triggerHideAction = hideAction;
|
||||
if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {
|
||||
triggerHideAction = ['click'];
|
||||
}
|
||||
return /*#__PURE__*/_react.default.createElement(_trigger.default, (0, _extends2.default)({
|
||||
builtinPlacements: placements
|
||||
}, otherProps, {
|
||||
prefixCls: prefixCls,
|
||||
ref: triggerRef,
|
||||
popupClassName: (0, _classnames.default)(overlayClassName, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-show-arrow"), arrow)),
|
||||
popupStyle: overlayStyle,
|
||||
action: trigger,
|
||||
showAction: showAction,
|
||||
hideAction: triggerHideAction,
|
||||
popupPlacement: placement,
|
||||
popupAlign: align,
|
||||
popupTransitionName: transitionName,
|
||||
popupAnimation: animation,
|
||||
popupVisible: mergedVisible,
|
||||
stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',
|
||||
popup: getMenuElementOrLambda(),
|
||||
onPopupVisibleChange: handleVisibleChange,
|
||||
onPopupClick: onClick,
|
||||
getPopupContainer: getPopupContainer
|
||||
}), childrenNode);
|
||||
}
|
||||
var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(Dropdown);
|
||||
5
frontend/node_modules/rc-dropdown/lib/Overlay.d.ts
generated
vendored
Normal file
5
frontend/node_modules/rc-dropdown/lib/Overlay.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import React from 'react';
|
||||
import type { DropdownProps } from './Dropdown';
|
||||
export type OverlayProps = Pick<DropdownProps, 'overlay' | 'arrow' | 'prefixCls'>;
|
||||
declare const Overlay: React.ForwardRefExoticComponent<OverlayProps & React.RefAttributes<HTMLElement>>;
|
||||
export default Overlay;
|
||||
30
frontend/node_modules/rc-dropdown/lib/Overlay.js
generated
vendored
Normal file
30
frontend/node_modules/rc-dropdown/lib/Overlay.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _ref = require("rc-util/lib/ref");
|
||||
var _react = _interopRequireWildcard(require("react"));
|
||||
var Overlay = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
||||
var overlay = props.overlay,
|
||||
arrow = props.arrow,
|
||||
prefixCls = props.prefixCls;
|
||||
var overlayNode = (0, _react.useMemo)(function () {
|
||||
var overlayElement;
|
||||
if (typeof overlay === 'function') {
|
||||
overlayElement = overlay();
|
||||
} else {
|
||||
overlayElement = overlay;
|
||||
}
|
||||
return overlayElement;
|
||||
}, [overlay]);
|
||||
var composedRef = (0, _ref.composeRef)(ref, (0, _ref.getNodeRef)(overlayNode));
|
||||
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, arrow && /*#__PURE__*/_react.default.createElement("div", {
|
||||
className: "".concat(prefixCls, "-arrow")
|
||||
}), /*#__PURE__*/_react.default.cloneElement(overlayNode, {
|
||||
ref: (0, _ref.supportRef)(overlayNode) ? composedRef : undefined
|
||||
}));
|
||||
});
|
||||
var _default = exports.default = Overlay;
|
||||
10
frontend/node_modules/rc-dropdown/lib/hooks/useAccessibility.d.ts
generated
vendored
Normal file
10
frontend/node_modules/rc-dropdown/lib/hooks/useAccessibility.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import * as React from "react";
|
||||
interface UseAccessibilityProps {
|
||||
visible: boolean;
|
||||
triggerRef: React.RefObject<any>;
|
||||
onVisibleChange?: (visible: boolean) => void;
|
||||
autoFocus?: boolean;
|
||||
overlayRef?: React.RefObject<any>;
|
||||
}
|
||||
export default function useAccessibility({ visible, triggerRef, onVisibleChange, autoFocus, overlayRef, }: UseAccessibilityProps): void;
|
||||
export {};
|
||||
73
frontend/node_modules/rc-dropdown/lib/hooks/useAccessibility.js
generated
vendored
Normal file
73
frontend/node_modules/rc-dropdown/lib/hooks/useAccessibility.js
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = useAccessibility;
|
||||
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
||||
var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
var ESC = _KeyCode.default.ESC,
|
||||
TAB = _KeyCode.default.TAB;
|
||||
function useAccessibility(_ref) {
|
||||
var visible = _ref.visible,
|
||||
triggerRef = _ref.triggerRef,
|
||||
onVisibleChange = _ref.onVisibleChange,
|
||||
autoFocus = _ref.autoFocus,
|
||||
overlayRef = _ref.overlayRef;
|
||||
var focusMenuRef = React.useRef(false);
|
||||
var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {
|
||||
if (visible) {
|
||||
var _triggerRef$current, _triggerRef$current$f;
|
||||
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 || (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 || _triggerRef$current$f.call(_triggerRef$current);
|
||||
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(false);
|
||||
}
|
||||
};
|
||||
var focusMenu = function focusMenu() {
|
||||
var _overlayRef$current;
|
||||
if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {
|
||||
overlayRef.current.focus();
|
||||
focusMenuRef.current = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
var handleKeyDown = function handleKeyDown(event) {
|
||||
switch (event.keyCode) {
|
||||
case ESC:
|
||||
handleCloseMenuAndReturnFocus();
|
||||
break;
|
||||
case TAB:
|
||||
{
|
||||
var focusResult = false;
|
||||
if (!focusMenuRef.current) {
|
||||
focusResult = focusMenu();
|
||||
}
|
||||
if (focusResult) {
|
||||
event.preventDefault();
|
||||
} else {
|
||||
handleCloseMenuAndReturnFocus();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
React.useEffect(function () {
|
||||
if (visible) {
|
||||
window.addEventListener("keydown", handleKeyDown);
|
||||
if (autoFocus) {
|
||||
// FIXME: hack with raf
|
||||
(0, _raf.default)(focusMenu, 3);
|
||||
}
|
||||
return function () {
|
||||
window.removeEventListener("keydown", handleKeyDown);
|
||||
focusMenuRef.current = false;
|
||||
};
|
||||
}
|
||||
return function () {
|
||||
focusMenuRef.current = false;
|
||||
};
|
||||
}, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
|
||||
}
|
||||
5
frontend/node_modules/rc-dropdown/lib/index.d.ts
generated
vendored
Normal file
5
frontend/node_modules/rc-dropdown/lib/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export type { TriggerProps } from '@rc-component/trigger';
|
||||
export type { DropdownProps } from './Dropdown';
|
||||
export type { OverlayProps } from './Overlay';
|
||||
import Dropdown from './Dropdown';
|
||||
export default Dropdown;
|
||||
9
frontend/node_modules/rc-dropdown/lib/index.js
generated
vendored
Normal file
9
frontend/node_modules/rc-dropdown/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
|
||||
var _default = exports.default = _Dropdown.default;
|
||||
57
frontend/node_modules/rc-dropdown/lib/placements.d.ts
generated
vendored
Normal file
57
frontend/node_modules/rc-dropdown/lib/placements.d.ts
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
declare const placements: {
|
||||
topLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
top: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
topRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
bottomLeft: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
bottom: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
bottomRight: {
|
||||
points: string[];
|
||||
overflow: {
|
||||
adjustX: number;
|
||||
adjustY: number;
|
||||
};
|
||||
offset: number[];
|
||||
targetOffset: number[];
|
||||
};
|
||||
};
|
||||
export default placements;
|
||||
50
frontend/node_modules/rc-dropdown/lib/placements.js
generated
vendored
Normal file
50
frontend/node_modules/rc-dropdown/lib/placements.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var autoAdjustOverflow = {
|
||||
adjustX: 1,
|
||||
adjustY: 1
|
||||
};
|
||||
var targetOffset = [0, 0];
|
||||
var placements = {
|
||||
topLeft: {
|
||||
points: ['bl', 'tl'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, -4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
top: {
|
||||
points: ['bc', 'tc'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, -4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
topRight: {
|
||||
points: ['br', 'tr'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, -4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
bottomLeft: {
|
||||
points: ['tl', 'bl'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, 4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
bottom: {
|
||||
points: ['tc', 'bc'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, 4],
|
||||
targetOffset: targetOffset
|
||||
},
|
||||
bottomRight: {
|
||||
points: ['tr', 'br'],
|
||||
overflow: autoAdjustOverflow,
|
||||
offset: [0, 4],
|
||||
targetOffset: targetOffset
|
||||
}
|
||||
};
|
||||
var _default = exports.default = placements;
|
||||
86
frontend/node_modules/rc-dropdown/package.json
generated
vendored
Normal file
86
frontend/node_modules/rc-dropdown/package.json
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"name": "rc-dropdown",
|
||||
"version": "4.2.1",
|
||||
"description": "dropdown ui component for react",
|
||||
"keywords": [
|
||||
"react",
|
||||
"react-dropdown"
|
||||
],
|
||||
"homepage": "http://github.com/react-component/dropdown",
|
||||
"bugs": {
|
||||
"url": "http://github.com/react-component/dropdown/issues"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:react-component/dropdown.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
"yiminghe@gmail.com",
|
||||
"hualei5280@gmail.com"
|
||||
],
|
||||
"main": "lib/index",
|
||||
"module": "./es/index",
|
||||
"files": [
|
||||
"lib",
|
||||
"es",
|
||||
"assets/*.css"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "dumi build",
|
||||
"compile": "father build && lessc assets/index.less assets/index.css",
|
||||
"coverage": "rc-test --coverage",
|
||||
"lint": "eslint src/ docs/examples/ --ext .tsx,.ts,.jsx,.js",
|
||||
"now-build": "npm run build",
|
||||
"prepare": "husky install && dumi setup",
|
||||
"prepublishOnly": "npm run compile",
|
||||
"start": "dumi dev",
|
||||
"test": "rc-test"
|
||||
},
|
||||
"lint-staged": {
|
||||
"**/*.{js,jsx,tsx,ts,md,json}": [
|
||||
"prettier --write",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.3",
|
||||
"@rc-component/trigger": "^2.0.0",
|
||||
"classnames": "^2.2.6",
|
||||
"rc-util": "^5.44.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rc-component/father-plugin": "^1.0.0",
|
||||
"@testing-library/jest-dom": "^5.16.5",
|
||||
"@testing-library/react": "^14.0.0",
|
||||
"@types/classnames": "^2.2.6",
|
||||
"@types/jest": "^29.0.0",
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@types/warning": "^3.0.0",
|
||||
"@umijs/fabric": "^3.0.0",
|
||||
"cross-env": "^7.0.0",
|
||||
"dumi": "^2.0.0",
|
||||
"eslint": "^7.18.0",
|
||||
"father": "^4.0.0",
|
||||
"glob": "^10.0.0",
|
||||
"husky": "^8.0.3",
|
||||
"jest-environment-jsdom": "^29.5.0",
|
||||
"jquery": "^3.3.1",
|
||||
"less": "^4.1.1",
|
||||
"lint-staged": "^13.2.1",
|
||||
"np": "^6.0.0",
|
||||
"prettier": "^2.8.7",
|
||||
"rc-menu": "^9.5.2",
|
||||
"rc-resize-observer": "^1.4.0",
|
||||
"rc-test": "^7.0.14",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"regenerator-runtime": "^0.13.9",
|
||||
"typescript": "^5.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.11.0",
|
||||
"react-dom": ">=16.11.0"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user