@aloudata/aloudata-design 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Badge/index.js +8 -3
- package/dist/Button/index.d.ts +2 -2
- package/dist/Button/index.js +5 -4
- package/dist/Dropdown/index.d.ts +14 -35
- package/dist/Dropdown/index.js +117 -65
- package/dist/Dropdown/style/index.less +4 -0
- package/dist/IconButton/index.d.ts +2 -2
- package/dist/IconButton/index.js +2 -5
- package/dist/MemberPicker/components/MemberSelection.js +3 -0
- package/dist/MemberPicker/components/MultipleOption.d.ts +1 -0
- package/dist/MemberPicker/components/MultipleOption.js +10 -3
- package/dist/MemberPicker/components/Panel.d.ts +1 -0
- package/dist/MemberPicker/components/Panel.js +8 -1
- package/dist/MemberPicker/components/PanelWrapper.d.ts +1 -0
- package/dist/MemberPicker/components/PanelWrapper.js +1 -0
- package/dist/MemberPicker/components/SelectedMemberTags.d.ts +1 -0
- package/dist/MemberPicker/components/SelectedMemberTags.js +8 -2
- package/dist/MemberPicker/components/SingleOption.d.ts +1 -0
- package/dist/MemberPicker/components/SingleOption.js +8 -2
- package/dist/MemberPicker/interface.d.ts +1 -1
- package/dist/MemberPicker/style/index.less +28 -0
- package/dist/Menu/style/index.less +2 -1
- package/dist/ald.min.css +1 -1
- package/package.json +2 -1
package/dist/Badge/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["count", "status", "size", "className", "onClick"];
|
|
3
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
5
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
4
6
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
8
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
9
|
import classNames from 'classnames';
|
|
6
10
|
import React from 'react';
|
|
7
11
|
export default function Badge(props) {
|
|
@@ -11,7 +15,8 @@ export default function Badge(props) {
|
|
|
11
15
|
status = _props$status === void 0 ? 'default' : _props$status,
|
|
12
16
|
size = props.size,
|
|
13
17
|
className = props.className,
|
|
14
|
-
onClick = props.onClick
|
|
18
|
+
onClick = props.onClick,
|
|
19
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
15
20
|
var status2ColorMap = {
|
|
16
21
|
success: {
|
|
17
22
|
color: '#15803D',
|
|
@@ -34,12 +39,12 @@ export default function Badge(props) {
|
|
|
34
39
|
backgroundColor: '#FEF08A'
|
|
35
40
|
}
|
|
36
41
|
};
|
|
37
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
38
43
|
className: classNames('ald-badge', (_classNames = {}, _defineProperty(_classNames, 'ald-badge-large', size === 'large'), _defineProperty(_classNames, 'ald-badge-clickable', typeof onClick === 'function'), _classNames), className),
|
|
39
44
|
style: {
|
|
40
45
|
color: status2ColorMap[status].color,
|
|
41
46
|
backgroundColor: status2ColorMap[status].backgroundColor
|
|
42
47
|
},
|
|
43
48
|
onClick: onClick
|
|
44
|
-
}, count);
|
|
49
|
+
}), count);
|
|
45
50
|
}
|
package/dist/Button/index.d.ts
CHANGED
|
@@ -53,5 +53,5 @@ export declare function getShape(ButtonShape: 'circle' | 'default'): 'circle' |
|
|
|
53
53
|
export declare const setIcon: (iconNode: React.ReactElement, loading: boolean | {
|
|
54
54
|
delay?: number | undefined;
|
|
55
55
|
}) => React.JSX.Element;
|
|
56
|
-
declare
|
|
57
|
-
export default
|
|
56
|
+
declare const _default: React.ForwardRefExoticComponent<IButtonProps & React.RefAttributes<HTMLElement>>;
|
|
57
|
+
export default _default;
|
package/dist/Button/index.js
CHANGED
|
@@ -11,7 +11,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
11
11
|
import { Button as AntdButton } from 'antd';
|
|
12
12
|
import { useCompactItemContext } from 'antd/lib/space/Compact';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
|
-
import React, { useContext } from 'react';
|
|
14
|
+
import React, { forwardRef, useContext } from 'react';
|
|
15
15
|
import { ConfigContext } from "../ConfigProvider";
|
|
16
16
|
import SizeContext from "../ConfigProvider/sizeContext";
|
|
17
17
|
import { LoadingLine } from "../Icon";
|
|
@@ -61,7 +61,7 @@ export var setIcon = function setIcon(iconNode, loading) {
|
|
|
61
61
|
}
|
|
62
62
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
63
63
|
};
|
|
64
|
-
function Button(props) {
|
|
64
|
+
function Button(props, ref) {
|
|
65
65
|
var _props$type = props.type,
|
|
66
66
|
type = _props$type === void 0 ? 'secondary' : _props$type,
|
|
67
67
|
customSize = props.size,
|
|
@@ -90,7 +90,8 @@ function Button(props) {
|
|
|
90
90
|
type: getButtonType(type),
|
|
91
91
|
className: classNames(btnPrefix, "".concat(btnPrefix, "-").concat(type), className, getButtonSizeClass(size), compactItemClassnames),
|
|
92
92
|
danger: getDangerStatus(type),
|
|
93
|
-
shape: getShape(shape)
|
|
93
|
+
shape: getShape(shape),
|
|
94
|
+
ref: ref
|
|
94
95
|
}), props.children);
|
|
95
96
|
}
|
|
96
|
-
export default Button;
|
|
97
|
+
export default /*#__PURE__*/forwardRef(Button);
|
package/dist/Dropdown/index.d.ts
CHANGED
|
@@ -1,28 +1,17 @@
|
|
|
1
|
+
import { OffsetOptions } from '@floating-ui/react';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { MenuProps } from '../Menu';
|
|
3
|
-
import
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
offset?: [number, number];
|
|
7
|
-
targetOffset?: [number, number];
|
|
8
|
-
overflow?: {
|
|
9
|
-
adjustX?: boolean;
|
|
10
|
-
adjustY?: boolean;
|
|
11
|
-
};
|
|
12
|
-
useCssRight?: boolean;
|
|
13
|
-
useCssBottom?: boolean;
|
|
14
|
-
useCssTransform?: boolean;
|
|
15
|
-
};
|
|
16
|
-
export type ActionType = 'hover' | 'click' | 'contextMenu';
|
|
17
|
-
export type PlacementType = 'bottomLeft' | 'bottom' | 'bottomRight' | 'topLeft' | 'top' | 'topRight';
|
|
4
|
+
import './style/index.less';
|
|
5
|
+
export type ActionType = 'hover' | 'click';
|
|
6
|
+
export type PlacementType = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
|
|
18
7
|
export interface IDropdownProps {
|
|
8
|
+
children: React.ReactNode;
|
|
19
9
|
/**
|
|
20
|
-
* @description
|
|
21
|
-
* @default {}
|
|
10
|
+
* @description 菜单弹出位置的偏移量
|
|
22
11
|
*/
|
|
23
|
-
|
|
12
|
+
offset?: OffsetOptions;
|
|
24
13
|
/**
|
|
25
|
-
* @description 关闭后是否销毁Dropdown
|
|
14
|
+
* @description 关闭后是否销毁 Dropdown
|
|
26
15
|
* @default false
|
|
27
16
|
*/
|
|
28
17
|
destroyPopupOnHide?: boolean;
|
|
@@ -30,7 +19,7 @@ export interface IDropdownProps {
|
|
|
30
19
|
* @description 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位
|
|
31
20
|
* @default () => document.body
|
|
32
21
|
*/
|
|
33
|
-
getPopupContainer?: (
|
|
22
|
+
getPopupContainer?: () => HTMLElement;
|
|
34
23
|
/**
|
|
35
24
|
* @description 菜单
|
|
36
25
|
* @type Menu | () => Menu
|
|
@@ -46,13 +35,13 @@ export interface IDropdownProps {
|
|
|
46
35
|
* @description 菜单弹出位置
|
|
47
36
|
* @default bottomLeft
|
|
48
37
|
*/
|
|
49
|
-
placement?:
|
|
38
|
+
placement?: PlacementType;
|
|
50
39
|
/**
|
|
51
40
|
* @description 触发下拉的行为
|
|
52
|
-
* @type ActionType
|
|
53
|
-
* @default
|
|
41
|
+
* @type ActionType, 其中 ActionType 为 'hover' | 'click' | 'contextMenu';
|
|
42
|
+
* @default click
|
|
54
43
|
*/
|
|
55
|
-
trigger?: ActionType
|
|
44
|
+
trigger?: ActionType;
|
|
56
45
|
/**
|
|
57
46
|
* @description 菜单是否显示
|
|
58
47
|
* @default -
|
|
@@ -68,12 +57,6 @@ export interface IDropdownProps {
|
|
|
68
57
|
* @default -
|
|
69
58
|
*/
|
|
70
59
|
overlayStyle?: React.CSSProperties;
|
|
71
|
-
/**
|
|
72
|
-
* @description 是否强制渲染
|
|
73
|
-
* @default -
|
|
74
|
-
*/
|
|
75
|
-
forceRender?: boolean;
|
|
76
|
-
children?: React.ReactNode;
|
|
77
60
|
/**
|
|
78
61
|
* @description 自定义下拉框内容
|
|
79
62
|
* @default -
|
|
@@ -85,8 +68,4 @@ export interface IDropdownProps {
|
|
|
85
68
|
*/
|
|
86
69
|
disabled?: boolean;
|
|
87
70
|
}
|
|
88
|
-
|
|
89
|
-
declare namespace Dropdown {
|
|
90
|
-
var Button: typeof DropdownButton;
|
|
91
|
-
}
|
|
92
|
-
export default Dropdown;
|
|
71
|
+
export default function Dropdown(props: IDropdownProps): React.JSX.Element;
|
package/dist/Dropdown/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
-
var _excluded = ["children", "open", "overlayClassName", "menu", "align", "placement", "trigger", "dropdownRender", "destroyPopupOnHide", "onOpenChange"];
|
|
3
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -12,48 +11,103 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
12
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
12
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
14
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
import { Dropdown as AntdDropdown } from 'antd';
|
|
18
|
-
import getPlacements from 'antd/lib/_util/placements';
|
|
14
|
+
import { FloatingFocusManager, autoUpdate, flip, offset, safePolygon, shift, useClick, useDismiss, useFloating, useHover, useId, useInteractions, useRole } from '@floating-ui/react';
|
|
15
|
+
import { useMemoizedFn } from 'ahooks';
|
|
19
16
|
import classNames from 'classnames';
|
|
20
|
-
import
|
|
17
|
+
import ResizeObserver from 'rc-resize-observer';
|
|
18
|
+
import React, { cloneElement, useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import ReactDOM from 'react-dom';
|
|
21
20
|
import Menu from "../Menu";
|
|
22
|
-
import
|
|
21
|
+
import "./style/index.less";
|
|
23
22
|
export default function Dropdown(props) {
|
|
24
23
|
var children = props.children,
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
_props$destroyPopupOn = props.destroyPopupOnHide,
|
|
25
|
+
destroyPopupOnHide = _props$destroyPopupOn === void 0 ? true : _props$destroyPopupOn,
|
|
26
|
+
getPopupContainer = props.getPopupContainer,
|
|
27
27
|
menu = props.menu,
|
|
28
|
-
|
|
29
|
-
placement = props.placement,
|
|
28
|
+
overlayClassName = props.overlayClassName,
|
|
29
|
+
_props$placement = props.placement,
|
|
30
|
+
placement = _props$placement === void 0 ? 'bottom-start' : _props$placement,
|
|
30
31
|
_props$trigger = props.trigger,
|
|
31
|
-
trigger = _props$trigger === void 0 ?
|
|
32
|
+
trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
|
|
33
|
+
open = props.open,
|
|
34
|
+
_props$onOpenChange = props.onOpenChange,
|
|
35
|
+
onOpenChange = _props$onOpenChange === void 0 ? function () {} : _props$onOpenChange,
|
|
36
|
+
overlayStyle = props.overlayStyle,
|
|
32
37
|
dropdownRender = props.dropdownRender,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// antd 根据 open 字段是否存在来判断 open 是否是可控模式
|
|
38
|
-
var antdDropdownProps = otherProps;
|
|
39
|
-
var defaultAlign = useMemo(function () {
|
|
40
|
-
var _getPlacements;
|
|
41
|
-
if (align) {
|
|
42
|
-
return align;
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
offset: ((_getPlacements = getPlacements({
|
|
46
|
-
arrowWidth: 0,
|
|
47
|
-
offset: 4,
|
|
48
|
-
borderRadius: 0
|
|
49
|
-
})[placement || 'bottomLeft']) === null || _getPlacements === void 0 ? void 0 : _getPlacements['offset']) || [0, 4]
|
|
50
|
-
};
|
|
51
|
-
}, [align, placement]);
|
|
52
|
-
var isOpenControlled = open !== undefined;
|
|
53
|
-
var _useState = useState(open),
|
|
38
|
+
disabled = props.disabled,
|
|
39
|
+
_props$offset = props.offset,
|
|
40
|
+
offsetProps = _props$offset === void 0 ? 4 : _props$offset;
|
|
41
|
+
var _useState = useState(open || false),
|
|
54
42
|
_useState2 = _slicedToArray(_useState, 2),
|
|
55
|
-
|
|
56
|
-
|
|
43
|
+
isOpen = _useState2[0],
|
|
44
|
+
setIsOpen = _useState2[1];
|
|
45
|
+
var onOpenChangeFn = useMemoizedFn(onOpenChange);
|
|
46
|
+
var isOpenControlled = open !== undefined;
|
|
47
|
+
useEffect(function () {
|
|
48
|
+
if (isOpenControlled) {
|
|
49
|
+
setIsOpen(open);
|
|
50
|
+
}
|
|
51
|
+
}, [open, isOpenControlled]);
|
|
52
|
+
var onChangeOpen = useCallback(function (newOpen) {
|
|
53
|
+
if (!isOpenControlled) {
|
|
54
|
+
setIsOpen(newOpen);
|
|
55
|
+
}
|
|
56
|
+
onOpenChangeFn(newOpen);
|
|
57
|
+
}, [isOpenControlled, onOpenChangeFn]);
|
|
58
|
+
var _useFloating = useFloating({
|
|
59
|
+
placement: placement,
|
|
60
|
+
open: isOpen,
|
|
61
|
+
onOpenChange: onChangeOpen,
|
|
62
|
+
middleware: [offset(offsetProps), flip({
|
|
63
|
+
fallbackAxisSideDirection: 'end'
|
|
64
|
+
}), shift()],
|
|
65
|
+
whileElementsMounted: autoUpdate
|
|
66
|
+
}),
|
|
67
|
+
refs = _useFloating.refs,
|
|
68
|
+
floatingStyles = _useFloating.floatingStyles,
|
|
69
|
+
context = _useFloating.context;
|
|
70
|
+
var click = useClick(context);
|
|
71
|
+
var hover = useHover(context, {
|
|
72
|
+
enabled: trigger === 'hover',
|
|
73
|
+
handleClose: safePolygon({})
|
|
74
|
+
});
|
|
75
|
+
var dismiss = useDismiss(context);
|
|
76
|
+
var role = useRole(context);
|
|
77
|
+
var propsList = useMemo(function () {
|
|
78
|
+
var res = [dismiss, role];
|
|
79
|
+
var finalTrigger = trigger;
|
|
80
|
+
if (Array.isArray(trigger)) {
|
|
81
|
+
// 对于数组形式的 trigger,告警
|
|
82
|
+
console.error('trigger should be a string, support "hover" or "click" now.');
|
|
83
|
+
finalTrigger = 'click';
|
|
84
|
+
}
|
|
85
|
+
if (finalTrigger === 'hover') {
|
|
86
|
+
res.unshift(hover);
|
|
87
|
+
} else if (finalTrigger === 'click') {
|
|
88
|
+
res.unshift(click);
|
|
89
|
+
}
|
|
90
|
+
return res;
|
|
91
|
+
}, [trigger, click, dismiss, role, hover]);
|
|
92
|
+
var _useInteractions = useInteractions(propsList),
|
|
93
|
+
getReferenceProps = _useInteractions.getReferenceProps,
|
|
94
|
+
getFloatingProps = _useInteractions.getFloatingProps;
|
|
95
|
+
var headingId = useId();
|
|
96
|
+
var child = children;
|
|
97
|
+
var childProps = child.props || {};
|
|
98
|
+
var referenceProps = getReferenceProps();
|
|
99
|
+
var modifiedChild = /*#__PURE__*/cloneElement(child, _objectSpread(_objectSpread(_objectSpread({}, childProps), {}, {
|
|
100
|
+
disabled: disabled
|
|
101
|
+
}, referenceProps), {}, {
|
|
102
|
+
onClick: function onClick(event) {
|
|
103
|
+
var _childProps$onClick;
|
|
104
|
+
(_childProps$onClick = childProps.onClick) === null || _childProps$onClick === void 0 ? void 0 : _childProps$onClick.call(childProps, event);
|
|
105
|
+
var referenceOnClick = referenceProps.onClick;
|
|
106
|
+
if (typeof referenceOnClick === 'function') {
|
|
107
|
+
referenceOnClick(event);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
57
111
|
var onMenuItemClick = useCallback(function (info) {
|
|
58
112
|
if (menu !== null && menu !== void 0 && menu.onClick) {
|
|
59
113
|
menu.onClick(info);
|
|
@@ -62,17 +116,9 @@ export default function Dropdown(props) {
|
|
|
62
116
|
return;
|
|
63
117
|
}
|
|
64
118
|
if (!isOpenControlled) {
|
|
65
|
-
|
|
119
|
+
setIsOpen(false);
|
|
66
120
|
}
|
|
67
121
|
}, [isOpenControlled, menu]);
|
|
68
|
-
var onDropdownOpenChange = useCallback(function (isDropdownOpen) {
|
|
69
|
-
if (onOpenChange) {
|
|
70
|
-
onOpenChange(isDropdownOpen);
|
|
71
|
-
}
|
|
72
|
-
if (!isOpenControlled) {
|
|
73
|
-
setDropdownOpen(isDropdownOpen);
|
|
74
|
-
}
|
|
75
|
-
}, [isOpenControlled, onOpenChange]);
|
|
76
122
|
var menuInstance = useMemo(function () {
|
|
77
123
|
var menuProps = _objectSpread(_objectSpread({}, menu), {}, {
|
|
78
124
|
items: (menu === null || menu === void 0 ? void 0 : menu.items) || []
|
|
@@ -81,24 +127,30 @@ export default function Dropdown(props) {
|
|
|
81
127
|
onClick: onMenuItemClick
|
|
82
128
|
}));
|
|
83
129
|
}, [menu, onMenuItemClick]);
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
130
|
+
var popupElement = useMemo(function () {
|
|
131
|
+
return typeof dropdownRender === 'function' ? dropdownRender(menuInstance) : menuInstance;
|
|
132
|
+
}, [dropdownRender, menuInstance]);
|
|
133
|
+
|
|
134
|
+
// 渲染浮动内容到自定义容器
|
|
135
|
+
var renderFloatingContent = useCallback(function () {
|
|
136
|
+
var popupElem = /*#__PURE__*/React.createElement(FloatingFocusManager, {
|
|
137
|
+
context: context,
|
|
138
|
+
modal: false
|
|
139
|
+
}, /*#__PURE__*/React.createElement("div", _extends({
|
|
140
|
+
className: classNames('ald-dropdown-overlay', overlayClassName, _defineProperty({}, 'ald-dropdown-overlay-hidden', !isOpen)),
|
|
141
|
+
ref: refs.setFloating,
|
|
142
|
+
style: _objectSpread(_objectSpread({}, floatingStyles), overlayStyle),
|
|
143
|
+
"aria-labelledby": headingId
|
|
144
|
+
}, getFloatingProps()), popupElement));
|
|
145
|
+
var popupContainer = typeof getPopupContainer === 'function' ? getPopupContainer() : document.body;
|
|
146
|
+
return /*#__PURE__*/ReactDOM.createPortal(popupElem, popupContainer);
|
|
147
|
+
}, [context, floatingStyles, getFloatingProps, getPopupContainer, headingId, popupElement, refs.setFloating, overlayClassName, overlayStyle, isOpen]);
|
|
148
|
+
var popup = destroyPopupOnHide ? isOpen && renderFloatingContent() : renderFloatingContent();
|
|
149
|
+
var setTargetRef = useCallback(function (node) {
|
|
150
|
+
refs.setReference(node);
|
|
151
|
+
}, [refs]);
|
|
152
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResizeObserver, {
|
|
153
|
+
disabled: !isOpen,
|
|
154
|
+
ref: setTargetRef
|
|
155
|
+
}, modifiedChild), popup);
|
|
156
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { IDropdownProps } from '../Dropdown';
|
|
2
|
+
import { IDropdownProps } from '../Dropdown/index';
|
|
3
3
|
import { TSize } from '../Input';
|
|
4
4
|
import { ITooltipProps } from '../Tooltip';
|
|
5
5
|
interface IIconButtonProps {
|
|
@@ -13,7 +13,7 @@ interface IIconButtonProps {
|
|
|
13
13
|
id?: string;
|
|
14
14
|
mode?: 'light' | 'dark';
|
|
15
15
|
}
|
|
16
|
-
declare const DropdownButton: React.ForwardRefExoticComponent<IIconButtonProps & IDropdownProps & {
|
|
16
|
+
declare const DropdownButton: React.ForwardRefExoticComponent<IIconButtonProps & Omit<IDropdownProps, "children"> & {
|
|
17
17
|
showArrow?: boolean | undefined;
|
|
18
18
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
19
19
|
declare const IconButton: React.ForwardRefExoticComponent<IIconButtonProps & React.RefAttributes<HTMLDivElement>> & {
|
package/dist/IconButton/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var _excluded = ["icon", "onClick", "disabled", "size", "menu", "className", "onOpenChange", "tooltip", "id", "
|
|
1
|
+
var _excluded = ["icon", "onClick", "disabled", "size", "menu", "className", "onOpenChange", "tooltip", "id", "showArrow", "mode"];
|
|
2
2
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
3
3
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
4
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import React, { forwardRef, useMemo } from 'react';
|
|
7
|
-
import Dropdown from "../Dropdown";
|
|
7
|
+
import Dropdown from "../Dropdown/index";
|
|
8
8
|
import { FoldDownFill } from "../Icon";
|
|
9
9
|
import { getSizeType } from "../Input/components/Input";
|
|
10
10
|
import Tooltip from "../Tooltip";
|
|
@@ -57,8 +57,6 @@ var DropdownButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
57
57
|
onOpenChange = props.onOpenChange,
|
|
58
58
|
tooltip = props.tooltip,
|
|
59
59
|
id = props.id,
|
|
60
|
-
_props$trigger = props.trigger,
|
|
61
|
-
trigger = _props$trigger === void 0 ? ['click'] : _props$trigger,
|
|
62
60
|
showArrow = props.showArrow,
|
|
63
61
|
_props$mode2 = props.mode,
|
|
64
62
|
mode = _props$mode2 === void 0 ? 'light' : _props$mode2,
|
|
@@ -94,7 +92,6 @@ var DropdownButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
94
92
|
title: tooltip === null || tooltip === void 0 ? void 0 : tooltip.title
|
|
95
93
|
}), /*#__PURE__*/React.createElement(Dropdown, _extends({
|
|
96
94
|
menu: menu,
|
|
97
|
-
trigger: trigger,
|
|
98
95
|
onOpenChange: onOpenChange
|
|
99
96
|
}, restDropdownProps), /*#__PURE__*/React.createElement("div", {
|
|
100
97
|
id: id,
|
|
@@ -14,6 +14,7 @@ import ScrollArea from "../../ScrollArea";
|
|
|
14
14
|
import Spin from "../../Spin";
|
|
15
15
|
import { isUser } from "../utils/getUsersWithUserId";
|
|
16
16
|
import MultipleOption from "./MultipleOption";
|
|
17
|
+
import { userDisplayNameIsRepeated } from "./Panel";
|
|
17
18
|
import SingleOption from "./SingleOption";
|
|
18
19
|
export default function MemberSelection(props) {
|
|
19
20
|
var className = props.className,
|
|
@@ -83,6 +84,7 @@ export default function MemberSelection(props) {
|
|
|
83
84
|
user: user,
|
|
84
85
|
disabled: disabled,
|
|
85
86
|
selected: isSelected,
|
|
87
|
+
showUserId: userDisplayNameIsRepeated(userList, user.nickname),
|
|
86
88
|
onChange: function onChange(selected, user) {
|
|
87
89
|
if (isUser(user)) _onChange(selected, user);
|
|
88
90
|
}
|
|
@@ -90,6 +92,7 @@ export default function MemberSelection(props) {
|
|
|
90
92
|
key: user.userId,
|
|
91
93
|
user: user,
|
|
92
94
|
selected: isSelected,
|
|
95
|
+
showUserId: userDisplayNameIsRepeated(userList, user.nickname),
|
|
93
96
|
onChange: function onChange(selected, user) {
|
|
94
97
|
if (isUser(user)) _onChange(selected, user);
|
|
95
98
|
}
|
|
@@ -9,6 +9,7 @@ interface IMultipleOptionProps {
|
|
|
9
9
|
className?: string;
|
|
10
10
|
onNextLevel?: (userGroup: IUserGroup) => void;
|
|
11
11
|
hasNextLevel?: boolean;
|
|
12
|
+
showUserId?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export default function MultipleList(params: IMultipleOptionProps): React.JSX.Element;
|
|
14
15
|
export {};
|
|
@@ -5,6 +5,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import Checkbox from "../../Checkbox";
|
|
8
|
+
import { EUserType } from "../../ConfigProvider/getUserList";
|
|
8
9
|
import TextLink from "../../TextLink/index";
|
|
9
10
|
import { getAccount, getId, getPhoto } from "../utils";
|
|
10
11
|
import { isUserGroup } from "../utils/getUsersWithUserId";
|
|
@@ -17,7 +18,9 @@ export default function MultipleList(params) {
|
|
|
17
18
|
className = params.className,
|
|
18
19
|
onNextLevel = params.onNextLevel,
|
|
19
20
|
_params$hasNextLevel = params.hasNextLevel,
|
|
20
|
-
hasNextLevel = _params$hasNextLevel === void 0 ? true : _params$hasNextLevel
|
|
21
|
+
hasNextLevel = _params$hasNextLevel === void 0 ? true : _params$hasNextLevel,
|
|
22
|
+
_params$showUserId = params.showUserId,
|
|
23
|
+
showUserId = _params$showUserId === void 0 ? false : _params$showUserId;
|
|
21
24
|
var onClick = function onClick() {
|
|
22
25
|
if (disabled) return;
|
|
23
26
|
onChange === null || onChange === void 0 ? void 0 : onChange(!selected, user);
|
|
@@ -31,13 +34,17 @@ export default function MultipleList(params) {
|
|
|
31
34
|
className: 'ald-member-picker-checkbox',
|
|
32
35
|
checked: selected,
|
|
33
36
|
disabled: disabled
|
|
34
|
-
}), /*#__PURE__*/React.createElement(
|
|
37
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: 'ald-member-picker-option-content'
|
|
39
|
+
}, /*#__PURE__*/React.createElement(NickLabel, {
|
|
35
40
|
type: user.type,
|
|
36
41
|
id: getId(user),
|
|
37
42
|
name: user.name,
|
|
38
43
|
photo: getPhoto(user),
|
|
39
44
|
account: getAccount(user)
|
|
40
|
-
})
|
|
45
|
+
}), showUserId && user.type === EUserType.USER && /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: 'ald-member-picker-option-id'
|
|
47
|
+
}, user.userId))), isUserGroup(user) && hasNextLevel && /*#__PURE__*/React.createElement(TextLink, {
|
|
41
48
|
className: "ald-member-picker-btn",
|
|
42
49
|
size: "small",
|
|
43
50
|
disabled: disabled,
|
|
@@ -14,5 +14,6 @@ interface IPanelProps {
|
|
|
14
14
|
className?: string;
|
|
15
15
|
lockedIds: Array<TUserValue | TUserGroupValue>;
|
|
16
16
|
}
|
|
17
|
+
export declare const userDisplayNameIsRepeated: (userList: TUser, displayName?: string) => boolean;
|
|
17
18
|
export default function Panel(props: IPanelProps): React.JSX.Element;
|
|
18
19
|
export {};
|
|
@@ -13,6 +13,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
13
13
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
14
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
15
|
import classNames from 'classnames';
|
|
16
|
+
import { EUserType } from "../../ConfigProvider/getUserList";
|
|
16
17
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
17
18
|
import Tabs from "../../Tabs";
|
|
18
19
|
import { EMemberPicker } from "../interface";
|
|
@@ -22,6 +23,11 @@ import MemberSelection from "./MemberSelection";
|
|
|
22
23
|
import SelectedMemberTags from "./SelectedMemberTags";
|
|
23
24
|
import SelectorFooter from "./SelectorFooter";
|
|
24
25
|
import UserGroupSelection from "./UserGroupSelection";
|
|
26
|
+
export var userDisplayNameIsRepeated = function userDisplayNameIsRepeated(userList, displayName) {
|
|
27
|
+
return userList.filter(function (user) {
|
|
28
|
+
return user.type === EUserType.USER && user.nickname === displayName;
|
|
29
|
+
}).length > 1;
|
|
30
|
+
};
|
|
25
31
|
export default function Panel(props) {
|
|
26
32
|
var _classNames;
|
|
27
33
|
var type = props.type,
|
|
@@ -140,7 +146,8 @@ export default function Panel(props) {
|
|
|
140
146
|
selectedUsers: selectedUsers,
|
|
141
147
|
width: (panelWidth - 3) / 2,
|
|
142
148
|
onRemove: onRemove,
|
|
143
|
-
lockedIds: lockedIds
|
|
149
|
+
lockedIds: lockedIds,
|
|
150
|
+
userList: dataList
|
|
144
151
|
}), /*#__PURE__*/React.createElement(SelectorFooter, {
|
|
145
152
|
className: 'ald-member-picker-selector-footer',
|
|
146
153
|
onCancel: props.onCancel,
|
|
@@ -10,6 +10,7 @@ interface IProps {
|
|
|
10
10
|
className?: string;
|
|
11
11
|
onCancel?: () => void;
|
|
12
12
|
lockedIds?: Array<TUserValue | TUserGroupValue>;
|
|
13
|
+
showUserId?: boolean;
|
|
13
14
|
}
|
|
14
15
|
export declare const PanelWrapper: ({ type, value, multiple, dropdownWidth, onChange, onCancel, className, lockedIds, }: IProps) => React.JSX.Element;
|
|
15
16
|
export default PanelWrapper;
|
|
@@ -72,6 +72,7 @@ export var PanelWrapper = function PanelWrapper(_ref) {
|
|
|
72
72
|
cacheTime: 1000 * 60 * 2,
|
|
73
73
|
// 2分钟内不重复请求
|
|
74
74
|
onSuccess: function onSuccess(result) {
|
|
75
|
+
console.log('%c [ result ]-73', 'font-size:13px; background:#c324a4; color:#ff68e8;', 1433223, result);
|
|
75
76
|
setSearchUserList(result);
|
|
76
77
|
},
|
|
77
78
|
onError: function onError(error) {
|
|
@@ -7,6 +7,7 @@ interface ISelectedMemberTagsProps {
|
|
|
7
7
|
onRemove?: (user: IUser | IUserGroup) => void;
|
|
8
8
|
width: number;
|
|
9
9
|
lockedIds: Array<TUserValue | TUserGroupValue>;
|
|
10
|
+
userList: TUser;
|
|
10
11
|
}
|
|
11
12
|
export default function SelectedMemberTags(props: ISelectedMemberTagsProps): React.JSX.Element;
|
|
12
13
|
export {};
|
|
@@ -5,12 +5,14 @@ import { CloseMLine } from "../../Icon";
|
|
|
5
5
|
import ScrollArea from "../../ScrollArea";
|
|
6
6
|
import { getAccount, getId, getPhoto } from "../utils";
|
|
7
7
|
import NickLabel from "./NickLabel";
|
|
8
|
+
import { userDisplayNameIsRepeated } from "./Panel";
|
|
8
9
|
export default function SelectedMemberTags(props) {
|
|
9
10
|
var className = props.className,
|
|
10
11
|
selectedUsers = props.selectedUsers,
|
|
11
12
|
width = props.width,
|
|
12
13
|
_props$lockedIds = props.lockedIds,
|
|
13
|
-
lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds
|
|
14
|
+
lockedIds = _props$lockedIds === void 0 ? [] : _props$lockedIds,
|
|
15
|
+
userList = props.userList;
|
|
14
16
|
return /*#__PURE__*/React.createElement("div", {
|
|
15
17
|
className: classNames(className, 'ald-member-picker-selected-member-tags-wrap')
|
|
16
18
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -27,6 +29,7 @@ export default function SelectedMemberTags(props) {
|
|
|
27
29
|
}
|
|
28
30
|
}, selectedUsers.map(function (user) {
|
|
29
31
|
var hasLocked = false;
|
|
32
|
+
var isDisplayNameRepeat = false;
|
|
30
33
|
if (user && user.hasOwnProperty('groupId')) {
|
|
31
34
|
var index = _.findIndex(lockedIds, {
|
|
32
35
|
groupId: user.groupId,
|
|
@@ -38,6 +41,7 @@ export default function SelectedMemberTags(props) {
|
|
|
38
41
|
userId: user.userId,
|
|
39
42
|
type: user.type
|
|
40
43
|
});
|
|
44
|
+
isDisplayNameRepeat = userDisplayNameIsRepeated(userList, user.nickname);
|
|
41
45
|
hasLocked = _index !== -1;
|
|
42
46
|
}
|
|
43
47
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -51,7 +55,9 @@ export default function SelectedMemberTags(props) {
|
|
|
51
55
|
name: user.name,
|
|
52
56
|
photo: getPhoto(user),
|
|
53
57
|
account: getAccount(user)
|
|
54
|
-
})
|
|
58
|
+
}), isDisplayNameRepeat && user.type === 'USER' && /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: "ald-member-picker-option-id"
|
|
60
|
+
}, user.userId)), !hasLocked && /*#__PURE__*/React.createElement(CloseMLine, {
|
|
55
61
|
size: 20,
|
|
56
62
|
className: 'ald-member-picker-close',
|
|
57
63
|
color: "#98A2B3",
|
|
@@ -9,6 +9,7 @@ interface IMultipleOptionProps {
|
|
|
9
9
|
className?: string;
|
|
10
10
|
onNextLevel?: (userGroup: IUserGroup) => void;
|
|
11
11
|
hasNextLevel?: boolean;
|
|
12
|
+
showUserId?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export default function SingleOption(params: IMultipleOptionProps): React.JSX.Element;
|
|
14
15
|
export {};
|