@douyinfe/semi-ui 2.40.0 → 2.41.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/css/semi.css +23 -0
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +5235 -1752
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/cjs/_portal/index.js +10 -10
- package/lib/cjs/_sortable/index.d.ts +41 -0
- package/lib/cjs/_sortable/index.js +177 -0
- package/lib/cjs/anchor/index.d.ts +1 -1
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
- package/lib/cjs/carousel/index.d.ts +1 -1
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.d.ts +3 -3
- package/lib/cjs/datePicker/monthsGrid.d.ts +2 -2
- package/lib/cjs/datePicker/quickControl.d.ts +1 -1
- package/lib/cjs/datePicker/yearAndMonth.d.ts +2 -2
- package/lib/cjs/dropdown/index.d.ts +1 -1
- package/lib/cjs/form/baseForm.d.ts +3 -3
- package/lib/cjs/form/field.d.ts +3 -3
- package/lib/cjs/image/interface.d.ts +1 -1
- package/lib/cjs/image/preview.d.ts +1 -1
- package/lib/cjs/image/preview.js +1 -1
- package/lib/cjs/image/previewInner.d.ts +1 -1
- package/lib/cjs/image/previewInner.js +1 -1
- package/lib/cjs/modal/confirm.d.ts +104 -104
- package/lib/cjs/popover/index.d.ts +1 -1
- package/lib/cjs/radio/radio.d.ts +1 -1
- package/lib/cjs/radio/radioGroup.d.ts +1 -1
- package/lib/cjs/select/index.d.ts +1 -1
- package/lib/cjs/table/Column.d.ts +1 -1
- package/lib/cjs/table/ColumnShape.d.ts +1 -1
- package/lib/cjs/table/Table.d.ts +2 -2
- package/lib/cjs/table/index.d.ts +1 -1
- package/lib/cjs/tagInput/index.d.ts +4 -1
- package/lib/cjs/tagInput/index.js +58 -55
- package/lib/cjs/tooltip/index.d.ts +1 -1
- package/lib/cjs/transfer/index.d.ts +4 -3
- package/lib/cjs/transfer/index.js +65 -77
- package/lib/es/_portal/index.js +10 -10
- package/lib/es/_sortable/index.d.ts +41 -0
- package/lib/es/_sortable/index.js +167 -0
- package/lib/es/anchor/index.d.ts +1 -1
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
- package/lib/es/carousel/index.d.ts +1 -1
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/datePicker.d.ts +3 -3
- package/lib/es/datePicker/monthsGrid.d.ts +2 -2
- package/lib/es/datePicker/quickControl.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonth.d.ts +2 -2
- package/lib/es/dropdown/index.d.ts +1 -1
- package/lib/es/form/baseForm.d.ts +3 -3
- package/lib/es/form/field.d.ts +3 -3
- package/lib/es/image/interface.d.ts +1 -1
- package/lib/es/image/preview.d.ts +1 -1
- package/lib/es/image/preview.js +1 -1
- package/lib/es/image/previewInner.d.ts +1 -1
- package/lib/es/image/previewInner.js +1 -1
- package/lib/es/modal/confirm.d.ts +104 -104
- package/lib/es/popover/index.d.ts +1 -1
- package/lib/es/radio/radio.d.ts +1 -1
- package/lib/es/radio/radioGroup.d.ts +1 -1
- package/lib/es/select/index.d.ts +1 -1
- package/lib/es/table/Column.d.ts +1 -1
- package/lib/es/table/ColumnShape.d.ts +1 -1
- package/lib/es/table/Table.d.ts +2 -2
- package/lib/es/table/index.d.ts +1 -1
- package/lib/es/tagInput/index.d.ts +4 -1
- package/lib/es/tagInput/index.js +58 -55
- package/lib/es/tooltip/index.d.ts +1 -1
- package/lib/es/transfer/index.d.ts +4 -3
- package/lib/es/transfer/index.js +65 -77
- package/package.json +11 -9
|
@@ -11,7 +11,6 @@ var _noop2 = _interopRequireDefault(require("lodash/noop"));
|
|
|
11
11
|
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
-
var _reactSortableHoc = require("react-sortable-hoc");
|
|
15
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
15
|
var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/transfer/foundation"));
|
|
17
16
|
var _transferUtils = require("@douyinfe/semi-foundation/lib/cjs/transfer/transferUtils");
|
|
@@ -25,6 +24,8 @@ var _spin = _interopRequireDefault(require("../spin"));
|
|
|
25
24
|
var _button = _interopRequireDefault(require("../button"));
|
|
26
25
|
var _tree = _interopRequireDefault(require("../tree"));
|
|
27
26
|
var _semiIcons = require("@douyinfe/semi-icons");
|
|
27
|
+
var _sortable = require("../_sortable");
|
|
28
|
+
var _sortable2 = require("@dnd-kit/sortable");
|
|
28
29
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
30
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
30
31
|
var t = {};
|
|
@@ -35,33 +36,66 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
35
36
|
return t;
|
|
36
37
|
};
|
|
37
38
|
const prefixCls = _constants.cssClasses.PREFIX;
|
|
38
|
-
// SortableItem & SortableList should not be assigned inside of the render function
|
|
39
|
-
const SortableItem = (0, _reactSortableHoc.SortableElement)(props => props.item.node);
|
|
40
|
-
const SortableList = (0, _reactSortableHoc.SortableContainer)(_ref => {
|
|
41
|
-
let {
|
|
42
|
-
items
|
|
43
|
-
} = _ref;
|
|
44
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
45
|
-
className: `${prefixCls}-right-list`,
|
|
46
|
-
role: "list",
|
|
47
|
-
"aria-label": "Selected list"
|
|
48
|
-
}, items.map((item, index) =>
|
|
49
|
-
/*#__PURE__*/
|
|
50
|
-
// @ts-ignore skip SortableItem type check
|
|
51
|
-
_react.default.createElement(SortableItem, {
|
|
52
|
-
key: item.key,
|
|
53
|
-
index: index,
|
|
54
|
-
item: item
|
|
55
|
-
})))
|
|
56
|
-
// @ts-ignore see reasons: https://github.com/clauderic/react-sortable-hoc/issues/206
|
|
57
|
-
;
|
|
58
|
-
}, {
|
|
59
|
-
distance: 10
|
|
60
|
-
});
|
|
61
39
|
class Transfer extends _baseComponent.default {
|
|
62
40
|
constructor(props) {
|
|
63
41
|
super(props);
|
|
64
42
|
this._treeRef = null;
|
|
43
|
+
this.renderRightItem = (item, sortableHandle) => {
|
|
44
|
+
const {
|
|
45
|
+
renderSelectedItem,
|
|
46
|
+
draggable,
|
|
47
|
+
type,
|
|
48
|
+
showPath
|
|
49
|
+
} = this.props;
|
|
50
|
+
const onRemove = () => this.foundation.handleSelectOrRemove(item);
|
|
51
|
+
const rightItemCls = (0, _classnames.default)({
|
|
52
|
+
[`${prefixCls}-item`]: true,
|
|
53
|
+
[`${prefixCls}-right-item`]: true,
|
|
54
|
+
[`${prefixCls}-right-item-draggable`]: draggable
|
|
55
|
+
});
|
|
56
|
+
const shouldShowPath = type === _constants.strings.TYPE_TREE_TO_LIST && showPath === true;
|
|
57
|
+
const label = shouldShowPath ? this.foundation._generatePath(item) : item.label;
|
|
58
|
+
if (renderSelectedItem) {
|
|
59
|
+
return renderSelectedItem(Object.assign(Object.assign({}, item), {
|
|
60
|
+
onRemove,
|
|
61
|
+
sortableHandle
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
const DragHandle = sortableHandle && sortableHandle(() => /*#__PURE__*/_react.default.createElement(_semiIcons.IconHandle, {
|
|
65
|
+
role: "button",
|
|
66
|
+
"aria-label": "Drag and sort",
|
|
67
|
+
className: `${prefixCls}-right-item-drag-handler`
|
|
68
|
+
}));
|
|
69
|
+
return (
|
|
70
|
+
/*#__PURE__*/
|
|
71
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
|
|
72
|
+
_react.default.createElement("div", {
|
|
73
|
+
role: "listitem",
|
|
74
|
+
className: rightItemCls,
|
|
75
|
+
key: item.key
|
|
76
|
+
}, draggable && sortableHandle ? /*#__PURE__*/_react.default.createElement(DragHandle, null) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
77
|
+
className: `${prefixCls}-right-item-text`
|
|
78
|
+
}, label), /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
|
|
79
|
+
onClick: onRemove,
|
|
80
|
+
"aria-disabled": item.disabled,
|
|
81
|
+
className: (0, _classnames.default)(`${prefixCls}-item-close-icon`, {
|
|
82
|
+
[`${prefixCls}-item-close-icon-disabled`]: item.disabled
|
|
83
|
+
})
|
|
84
|
+
}))
|
|
85
|
+
);
|
|
86
|
+
};
|
|
87
|
+
this.renderSortItem = props => {
|
|
88
|
+
const {
|
|
89
|
+
id,
|
|
90
|
+
sortableHandle
|
|
91
|
+
} = props;
|
|
92
|
+
const {
|
|
93
|
+
selectedItems
|
|
94
|
+
} = this.state;
|
|
95
|
+
const selectedData = [...selectedItems.values()];
|
|
96
|
+
const item = selectedData.find(item => item.key === id);
|
|
97
|
+
return this.renderRightItem(item, sortableHandle);
|
|
98
|
+
};
|
|
65
99
|
const {
|
|
66
100
|
defaultValue = [],
|
|
67
101
|
dataSource,
|
|
@@ -428,50 +462,6 @@ class Transfer extends _baseComponent.default {
|
|
|
428
462
|
"aria-label": "Option list"
|
|
429
463
|
}, content);
|
|
430
464
|
}
|
|
431
|
-
renderRightItem(item) {
|
|
432
|
-
const {
|
|
433
|
-
renderSelectedItem,
|
|
434
|
-
draggable,
|
|
435
|
-
type,
|
|
436
|
-
showPath
|
|
437
|
-
} = this.props;
|
|
438
|
-
const onRemove = () => this.foundation.handleSelectOrRemove(item);
|
|
439
|
-
const rightItemCls = (0, _classnames.default)({
|
|
440
|
-
[`${prefixCls}-item`]: true,
|
|
441
|
-
[`${prefixCls}-right-item`]: true,
|
|
442
|
-
[`${prefixCls}-right-item-draggable`]: draggable
|
|
443
|
-
});
|
|
444
|
-
const shouldShowPath = type === _constants.strings.TYPE_TREE_TO_LIST && showPath === true;
|
|
445
|
-
const label = shouldShowPath ? this.foundation._generatePath(item) : item.label;
|
|
446
|
-
if (renderSelectedItem) {
|
|
447
|
-
return renderSelectedItem(Object.assign(Object.assign({}, item), {
|
|
448
|
-
onRemove,
|
|
449
|
-
sortableHandle: _reactSortableHoc.SortableHandle
|
|
450
|
-
}));
|
|
451
|
-
}
|
|
452
|
-
const DragHandle = (0, _reactSortableHoc.SortableHandle)(() => /*#__PURE__*/_react.default.createElement(_semiIcons.IconHandle, {
|
|
453
|
-
role: "button",
|
|
454
|
-
"aria-label": "Drag and sort",
|
|
455
|
-
className: `${prefixCls}-right-item-drag-handler`
|
|
456
|
-
}));
|
|
457
|
-
return (
|
|
458
|
-
/*#__PURE__*/
|
|
459
|
-
// https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
|
|
460
|
-
_react.default.createElement("div", {
|
|
461
|
-
role: "listitem",
|
|
462
|
-
className: rightItemCls,
|
|
463
|
-
key: item.key
|
|
464
|
-
}, draggable ? /*#__PURE__*/_react.default.createElement(DragHandle, null) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
465
|
-
className: `${prefixCls}-right-item-text`
|
|
466
|
-
}, label), /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
|
|
467
|
-
onClick: onRemove,
|
|
468
|
-
"aria-disabled": item.disabled,
|
|
469
|
-
className: (0, _classnames.default)(`${prefixCls}-item-close-icon`, {
|
|
470
|
-
[`${prefixCls}-item-close-icon-disabled`]: item.disabled
|
|
471
|
-
})
|
|
472
|
-
}))
|
|
473
|
-
);
|
|
474
|
-
}
|
|
475
465
|
renderEmpty(type, emptyText) {
|
|
476
466
|
const emptyCls = (0, _classnames.default)({
|
|
477
467
|
[`${prefixCls}-empty`]: true,
|
|
@@ -484,16 +474,14 @@ class Transfer extends _baseComponent.default {
|
|
|
484
474
|
}, emptyText);
|
|
485
475
|
}
|
|
486
476
|
renderRightSortableList(selectedData) {
|
|
487
|
-
const
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
// helperClass:add styles to the helper(item being dragged) https://github.com/clauderic/react-sortable-hoc/issues/87
|
|
491
|
-
// @ts-ignore skip SortableItem type check
|
|
492
|
-
const sortList = /*#__PURE__*/_react.default.createElement(SortableList, {
|
|
493
|
-
useDragHandle: true,
|
|
494
|
-
helperClass: `${prefixCls}-right-item-drag-item-move`,
|
|
477
|
+
const sortItems = selectedData.map(item => item.key);
|
|
478
|
+
const sortList = /*#__PURE__*/_react.default.createElement(_sortable.Sortable, {
|
|
479
|
+
strategy: _sortable2.verticalListSortingStrategy,
|
|
495
480
|
onSortEnd: this.onSortEnd,
|
|
496
|
-
items:
|
|
481
|
+
items: sortItems,
|
|
482
|
+
renderItem: this.renderSortItem,
|
|
483
|
+
prefix: `${prefixCls}-right-item`,
|
|
484
|
+
dragOverlayCls: `${prefixCls}-right-item-drag-item-move`
|
|
497
485
|
});
|
|
498
486
|
return sortList;
|
|
499
487
|
}
|
package/lib/es/_portal/index.js
CHANGED
|
@@ -14,12 +14,12 @@ class Portal extends PureComponent {
|
|
|
14
14
|
this.initContainer = function (context) {
|
|
15
15
|
let catchError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
16
16
|
var _a, _b;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
_this.el
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
try {
|
|
18
|
+
let container = undefined;
|
|
19
|
+
if (!_this.el) {
|
|
20
|
+
_this.el = document.createElement('div');
|
|
21
|
+
}
|
|
22
|
+
if (!((_a = _this.state) === null || _a === void 0 ? void 0 : _a.container)) {
|
|
23
23
|
_this.el = document.createElement('div');
|
|
24
24
|
const getContainer = _this.props.getPopupContainer || context.getPopupContainer || defaultGetContainer;
|
|
25
25
|
const portalContainer = getContainer();
|
|
@@ -28,10 +28,10 @@ class Portal extends PureComponent {
|
|
|
28
28
|
_this.addClass(_this.props.prefixCls, context, _this.props.className);
|
|
29
29
|
container = portalContainer;
|
|
30
30
|
return container;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
}
|
|
32
|
+
} catch (e) {
|
|
33
|
+
if (!catchError) {
|
|
34
|
+
throw e;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
return (_b = _this.state) === null || _b === void 0 ? void 0 : _b.container;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import type { UniqueIdentifier, PointerActivationConstraint, CollisionDetection } from '@dnd-kit/core';
|
|
3
|
+
import type { SortingStrategy, AnimateLayoutChanges, NewIndexGetter } from '@dnd-kit/sortable';
|
|
4
|
+
import type { SortableTransition } from '@dnd-kit/sortable/dist/hooks/types';
|
|
5
|
+
interface OnSortEndProps {
|
|
6
|
+
oldIndex: number;
|
|
7
|
+
newIndex: number;
|
|
8
|
+
}
|
|
9
|
+
export type OnSortEnd = (props: OnSortEndProps) => void;
|
|
10
|
+
export interface RenderItemProps {
|
|
11
|
+
id?: string | number;
|
|
12
|
+
sortableHandle?: any;
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export interface SortableProps {
|
|
16
|
+
onSortEnd?: OnSortEnd;
|
|
17
|
+
activationConstraint?: PointerActivationConstraint;
|
|
18
|
+
collisionDetection?: CollisionDetection;
|
|
19
|
+
items?: any[];
|
|
20
|
+
renderItem?: (props: RenderItemProps) => React.ReactNode;
|
|
21
|
+
strategy?: SortingStrategy;
|
|
22
|
+
useDragOverlay?: boolean;
|
|
23
|
+
container?: any;
|
|
24
|
+
adjustScale?: boolean;
|
|
25
|
+
transition?: SortableTransition | null;
|
|
26
|
+
prefix?: string;
|
|
27
|
+
dragOverlayCls?: string;
|
|
28
|
+
}
|
|
29
|
+
interface SortableItemProps {
|
|
30
|
+
animateLayoutChanges?: AnimateLayoutChanges;
|
|
31
|
+
getNewIndex?: NewIndexGetter;
|
|
32
|
+
id: UniqueIdentifier;
|
|
33
|
+
index: number;
|
|
34
|
+
useDragOverlay?: boolean;
|
|
35
|
+
renderItem?: (props: RenderItemProps) => ReactNode;
|
|
36
|
+
prefix?: string;
|
|
37
|
+
transition?: SortableTransition | null;
|
|
38
|
+
}
|
|
39
|
+
export declare function Sortable({ items, onSortEnd, adjustScale, renderItem, transition, activationConstraint, collisionDetection, strategy, useDragOverlay, dragOverlayCls, container: Container, prefix, }: SortableProps): JSX.Element;
|
|
40
|
+
export declare function SortableItem({ animateLayoutChanges, id, renderItem, prefix, transition: animation, }: SortableItemProps): JSX.Element;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import _isNull from "lodash/isNull";
|
|
2
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { CSS as cssDndKit } from '@dnd-kit/utilities';
|
|
5
|
+
import cls from 'classnames';
|
|
6
|
+
import { closestCenter, DragOverlay, DndContext, MouseSensor, TouchSensor, useSensor, useSensors, KeyboardSensor, TraversalOrder } from '@dnd-kit/core';
|
|
7
|
+
import { useSortable, SortableContext, rectSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';
|
|
8
|
+
const defaultPrefix = 'semi-sortable';
|
|
9
|
+
const defaultConstraint = {
|
|
10
|
+
delay: 150,
|
|
11
|
+
tolerance: 5
|
|
12
|
+
};
|
|
13
|
+
function DefaultContainer(props) {
|
|
14
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
15
|
+
style: {
|
|
16
|
+
overflow: 'auto'
|
|
17
|
+
}
|
|
18
|
+
}, props));
|
|
19
|
+
}
|
|
20
|
+
export function Sortable(_ref) {
|
|
21
|
+
let {
|
|
22
|
+
items,
|
|
23
|
+
onSortEnd,
|
|
24
|
+
adjustScale,
|
|
25
|
+
renderItem,
|
|
26
|
+
transition,
|
|
27
|
+
activationConstraint = defaultConstraint,
|
|
28
|
+
collisionDetection = closestCenter,
|
|
29
|
+
strategy = rectSortingStrategy,
|
|
30
|
+
useDragOverlay = true,
|
|
31
|
+
dragOverlayCls,
|
|
32
|
+
container: Container = DefaultContainer,
|
|
33
|
+
prefix = defaultPrefix
|
|
34
|
+
} = _ref;
|
|
35
|
+
const [activeId, setActiveId] = useState(null);
|
|
36
|
+
const sensors = useSensors(useSensor(MouseSensor, {
|
|
37
|
+
activationConstraint
|
|
38
|
+
}), useSensor(TouchSensor, {
|
|
39
|
+
activationConstraint
|
|
40
|
+
}), useSensor(KeyboardSensor, {
|
|
41
|
+
coordinateGetter: sortableKeyboardCoordinates
|
|
42
|
+
}));
|
|
43
|
+
const getIndex = useCallback(id => items.indexOf(id), [items]);
|
|
44
|
+
const activeIndex = useMemo(() => activeId ? getIndex(activeId) : -1, [getIndex, activeId]);
|
|
45
|
+
const onDragStart = useCallback(_ref2 => {
|
|
46
|
+
let {
|
|
47
|
+
active
|
|
48
|
+
} = _ref2;
|
|
49
|
+
if (!active) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
setActiveId(active.id);
|
|
53
|
+
}, []);
|
|
54
|
+
const onDragEnd = useCallback(_ref3 => {
|
|
55
|
+
let {
|
|
56
|
+
over
|
|
57
|
+
} = _ref3;
|
|
58
|
+
setActiveId(null);
|
|
59
|
+
if (over) {
|
|
60
|
+
const overIndex = getIndex(over.id);
|
|
61
|
+
if (activeIndex !== overIndex) {
|
|
62
|
+
onSortEnd({
|
|
63
|
+
oldIndex: activeIndex,
|
|
64
|
+
newIndex: overIndex
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}, [activeIndex, getIndex, onSortEnd]);
|
|
69
|
+
const onDragCancel = useCallback(() => {
|
|
70
|
+
setActiveId(null);
|
|
71
|
+
}, []);
|
|
72
|
+
return /*#__PURE__*/React.createElement(DndContext, {
|
|
73
|
+
sensors: sensors,
|
|
74
|
+
collisionDetection: collisionDetection,
|
|
75
|
+
onDragStart: onDragStart,
|
|
76
|
+
onDragEnd: onDragEnd,
|
|
77
|
+
onDragCancel: onDragCancel,
|
|
78
|
+
autoScroll: {
|
|
79
|
+
order: TraversalOrder.ReversedTreeOrder
|
|
80
|
+
}
|
|
81
|
+
}, /*#__PURE__*/React.createElement(SortableContext, {
|
|
82
|
+
items: items,
|
|
83
|
+
strategy: strategy
|
|
84
|
+
}, /*#__PURE__*/React.createElement(Container, null, items.map((value, index) => /*#__PURE__*/React.createElement(SortableItem, {
|
|
85
|
+
key: value,
|
|
86
|
+
id: value,
|
|
87
|
+
index: index,
|
|
88
|
+
renderItem: renderItem,
|
|
89
|
+
useDragOverlay: useDragOverlay,
|
|
90
|
+
prefix: prefix,
|
|
91
|
+
transition: transition
|
|
92
|
+
})))), useDragOverlay ? /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragOverlay, {
|
|
93
|
+
adjustScale: adjustScale,
|
|
94
|
+
// Set zIndex in style to undefined to override the default zIndex in DragOverlay,
|
|
95
|
+
// So that the zIndex of DragOverlay can be set by className
|
|
96
|
+
style: {
|
|
97
|
+
zIndex: undefined
|
|
98
|
+
},
|
|
99
|
+
className: dragOverlayCls
|
|
100
|
+
}, activeId ? renderItem({
|
|
101
|
+
id: activeId,
|
|
102
|
+
sortableHandle: WrapperComponent => WrapperComponent
|
|
103
|
+
}) : null), document.body) : null);
|
|
104
|
+
}
|
|
105
|
+
export function SortableItem(_ref4) {
|
|
106
|
+
let {
|
|
107
|
+
animateLayoutChanges,
|
|
108
|
+
id,
|
|
109
|
+
renderItem,
|
|
110
|
+
prefix,
|
|
111
|
+
transition: animation
|
|
112
|
+
} = _ref4;
|
|
113
|
+
const {
|
|
114
|
+
listeners,
|
|
115
|
+
setNodeRef,
|
|
116
|
+
transform,
|
|
117
|
+
transition,
|
|
118
|
+
active,
|
|
119
|
+
isOver,
|
|
120
|
+
attributes
|
|
121
|
+
} = useSortable({
|
|
122
|
+
id,
|
|
123
|
+
animateLayoutChanges,
|
|
124
|
+
transition: animation
|
|
125
|
+
});
|
|
126
|
+
const sortableHandle = useCallback(WrapperComponent => {
|
|
127
|
+
// console.log('listeners', listeners);
|
|
128
|
+
// 保证给出的接口的一致性,使用 span 包一层,保证用户能够通过同样的方式使用 handler
|
|
129
|
+
// To ensure the consistency of the given interface
|
|
130
|
+
// use a span package layer to ensure that users can use the handler in the same way
|
|
131
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
132
|
+
return () => /*#__PURE__*/React.createElement("span", Object.assign({}, listeners, {
|
|
133
|
+
style: {
|
|
134
|
+
lineHeight: 0
|
|
135
|
+
},
|
|
136
|
+
onMouseDown: e => {
|
|
137
|
+
listeners.onMouseDown(e);
|
|
138
|
+
// 阻止onMousedown的事件传递,
|
|
139
|
+
// 防止元素在点击后被卸载导致tooltip/popover的弹出层意外关闭
|
|
140
|
+
// Prevent the onMousedown event from being delivered,
|
|
141
|
+
// preventing the element from being unloaded after being clicked,
|
|
142
|
+
// causing the tooltip/popover pop-up layer to close unexpectedly
|
|
143
|
+
e.preventDefault();
|
|
144
|
+
e.stopPropagation();
|
|
145
|
+
}
|
|
146
|
+
}), /*#__PURE__*/React.createElement(WrapperComponent, null));
|
|
147
|
+
}, [listeners]);
|
|
148
|
+
const itemCls = cls(`${prefix}-sortable-item`, {
|
|
149
|
+
[`${prefix}-sortable-item-over`]: isOver,
|
|
150
|
+
[`${prefix}-sortable-item-active`]: (active === null || active === void 0 ? void 0 : active.id) === id
|
|
151
|
+
});
|
|
152
|
+
const wrapperStyle = !_isNull(animation) ? {
|
|
153
|
+
transform: cssDndKit.Transform.toString(Object.assign(Object.assign({}, transform), {
|
|
154
|
+
scaleX: 1,
|
|
155
|
+
scaleY: 1
|
|
156
|
+
})),
|
|
157
|
+
transition: transition
|
|
158
|
+
} : undefined;
|
|
159
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
160
|
+
ref: setNodeRef,
|
|
161
|
+
style: wrapperStyle,
|
|
162
|
+
className: itemCls
|
|
163
|
+
}, attributes), renderItem({
|
|
164
|
+
id,
|
|
165
|
+
sortableHandle
|
|
166
|
+
}));
|
|
167
|
+
}
|
package/lib/es/anchor/index.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
|
|
|
49
49
|
offsetTop: PropTypes.Requireable<number>;
|
|
50
50
|
targetOffset: PropTypes.Requireable<number>;
|
|
51
51
|
showTooltip: PropTypes.Requireable<boolean>;
|
|
52
|
-
position: PropTypes.Requireable<"left" | "
|
|
52
|
+
position: PropTypes.Requireable<"left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
|
|
53
53
|
maxWidth: PropTypes.Requireable<NonNullable<string | number>>;
|
|
54
54
|
maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
|
|
55
55
|
getContainer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -116,7 +116,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
|
|
|
116
116
|
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
117
117
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
118
118
|
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
119
|
-
position: PropTypes.Requireable<"left" | "
|
|
119
|
+
position: PropTypes.Requireable<"left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
|
|
120
120
|
placeholder: PropTypes.Requireable<string>;
|
|
121
121
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
122
122
|
onChangeWithObject: PropTypes.Requireable<boolean>;
|
|
@@ -54,7 +54,7 @@ export default class Button extends PureComponent<ButtonProps> {
|
|
|
54
54
|
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
55
55
|
circle: PropTypes.Requireable<boolean>;
|
|
56
56
|
loading: PropTypes.Requireable<boolean>;
|
|
57
|
-
htmlType: PropTypes.Requireable<"button" | "
|
|
57
|
+
htmlType: PropTypes.Requireable<"button" | "submit" | "reset">;
|
|
58
58
|
theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
|
|
59
59
|
className: PropTypes.Requireable<string>;
|
|
60
60
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
package/lib/es/button/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
|
|
|
28
28
|
onClick: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
29
29
|
onMouseDown: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
30
30
|
circle: import("prop-types").Requireable<boolean>;
|
|
31
|
-
htmlType: import("prop-types").Requireable<"button" | "
|
|
31
|
+
htmlType: import("prop-types").Requireable<"button" | "submit" | "reset">;
|
|
32
32
|
'aria-label': import("prop-types").Requireable<string>;
|
|
33
33
|
};
|
|
34
34
|
static elementType: string;
|
|
@@ -5,7 +5,7 @@ declare class CarouselIndicator extends React.PureComponent<CarouselIndicatorPro
|
|
|
5
5
|
static propTypes: {
|
|
6
6
|
activeKey: PropTypes.Requireable<number>;
|
|
7
7
|
className: PropTypes.Requireable<string>;
|
|
8
|
-
position: PropTypes.Requireable<"
|
|
8
|
+
position: PropTypes.Requireable<"center" | "left" | "right">;
|
|
9
9
|
size: PropTypes.Requireable<"small" | "medium">;
|
|
10
10
|
style: PropTypes.Requireable<object>;
|
|
11
11
|
theme: PropTypes.Requireable<"dark" | "light" | "primary">;
|
|
@@ -19,7 +19,7 @@ declare class Carousel extends BaseComponent<CarouselProps, CarouselState> {
|
|
|
19
19
|
autoPlay: PropTypes.Requireable<NonNullable<boolean | object>>;
|
|
20
20
|
className: PropTypes.Requireable<string>;
|
|
21
21
|
defaultActiveIndex: PropTypes.Requireable<number>;
|
|
22
|
-
indicatorPosition: PropTypes.Requireable<"
|
|
22
|
+
indicatorPosition: PropTypes.Requireable<"center" | "left" | "right">;
|
|
23
23
|
indicatorSize: PropTypes.Requireable<"small" | "medium">;
|
|
24
24
|
indicatorType: PropTypes.Requireable<"line" | "dot" | "columnar">;
|
|
25
25
|
theme: PropTypes.Requireable<"dark" | "light" | "primary">;
|
|
@@ -31,7 +31,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
|
|
|
31
31
|
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
32
32
|
value: PropTypes.Requireable<any[]>;
|
|
33
33
|
disabled: PropTypes.Requireable<boolean>;
|
|
34
|
-
type: PropTypes.Requireable<"
|
|
34
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
35
35
|
showClear: PropTypes.Requireable<boolean>;
|
|
36
36
|
format: PropTypes.Requireable<string>;
|
|
37
37
|
inputStyle: PropTypes.Requireable<object>;
|
|
@@ -58,7 +58,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
58
58
|
'aria-labelledby': PropTypes.Requireable<string>;
|
|
59
59
|
'aria-required': PropTypes.Requireable<boolean>;
|
|
60
60
|
borderless: PropTypes.Requireable<boolean>;
|
|
61
|
-
type: PropTypes.Requireable<"
|
|
61
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
62
62
|
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
63
63
|
clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
64
64
|
density: PropTypes.Requireable<"default" | "compact">;
|
|
@@ -74,7 +74,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
74
74
|
max: PropTypes.Requireable<number>;
|
|
75
75
|
placeholder: PropTypes.Requireable<NonNullable<string | any[]>>;
|
|
76
76
|
presets: PropTypes.Requireable<any[]>;
|
|
77
|
-
presetPosition: PropTypes.Requireable<"left" | "
|
|
77
|
+
presetPosition: PropTypes.Requireable<"left" | "right" | "top" | "bottom">;
|
|
78
78
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
79
79
|
onChangeWithDateFirst: PropTypes.Requireable<boolean>;
|
|
80
80
|
weekStartsOn: PropTypes.Requireable<number>;
|
|
@@ -91,7 +91,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
91
91
|
insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
92
92
|
insetLabelId: PropTypes.Requireable<string>;
|
|
93
93
|
zIndex: PropTypes.Requireable<number>;
|
|
94
|
-
position: PropTypes.Requireable<"left" | "
|
|
94
|
+
position: PropTypes.Requireable<"left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
|
|
95
95
|
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
96
96
|
onCancel: PropTypes.Requireable<(...args: any[]) => any>;
|
|
97
97
|
onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -19,7 +19,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
|
|
|
19
19
|
export type MonthsGridState = MonthsGridFoundationState;
|
|
20
20
|
export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
|
|
21
21
|
static propTypes: {
|
|
22
|
-
type: PropTypes.Requireable<"
|
|
22
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
23
23
|
defaultValue: PropTypes.Requireable<any[]>;
|
|
24
24
|
defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
25
25
|
multiple: PropTypes.Requireable<boolean>;
|
|
@@ -51,7 +51,7 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
|
|
|
51
51
|
onPanelChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
52
52
|
focusRecordsRef: PropTypes.Requireable<object>;
|
|
53
53
|
triggerRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
54
|
-
presetPosition: PropTypes.Requireable<"left" | "
|
|
54
|
+
presetPosition: PropTypes.Requireable<"left" | "right" | "top" | "bottom">;
|
|
55
55
|
renderQuickControls: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
56
56
|
renderDateInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
57
57
|
};
|
|
@@ -15,7 +15,7 @@ export interface QuickControlProps {
|
|
|
15
15
|
declare class QuickControl extends PureComponent<QuickControlProps> {
|
|
16
16
|
static propTypes: {
|
|
17
17
|
presets: PropTypes.Requireable<any[]>;
|
|
18
|
-
presetPosition: PropTypes.Requireable<"left" | "
|
|
18
|
+
presetPosition: PropTypes.Requireable<"left" | "right" | "top" | "bottom">;
|
|
19
19
|
onPresetClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
20
20
|
type: PropTypes.Requireable<string>;
|
|
21
21
|
insetInput: PropTypes.Requireable<NonNullable<boolean | object>>;
|
|
@@ -21,10 +21,10 @@ declare class YearAndMonth extends BaseComponent<YearAndMonthProps, YearAndMonth
|
|
|
21
21
|
noBackBtn: PropTypes.Requireable<boolean>;
|
|
22
22
|
disabledDate: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
23
|
density: PropTypes.Requireable<string>;
|
|
24
|
-
presetPosition: PropTypes.Requireable<"left" | "
|
|
24
|
+
presetPosition: PropTypes.Requireable<"left" | "right" | "top" | "bottom">;
|
|
25
25
|
renderQuickControls: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
26
26
|
renderDateInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
27
|
-
type: PropTypes.Requireable<"
|
|
27
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
28
28
|
startYear: PropTypes.Requireable<number>;
|
|
29
29
|
endYear: PropTypes.Requireable<number>;
|
|
30
30
|
};
|
|
@@ -66,7 +66,7 @@ declare class Dropdown extends BaseComponent<DropdownProps, DropdownState> {
|
|
|
66
66
|
motion: PropTypes.Requireable<NonNullable<boolean | object>>;
|
|
67
67
|
onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
68
68
|
prefixCls: PropTypes.Requireable<string>;
|
|
69
|
-
position: PropTypes.Requireable<"left" | "
|
|
69
|
+
position: PropTypes.Requireable<"left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">;
|
|
70
70
|
rePosKey: PropTypes.Requireable<NonNullable<string | number>>;
|
|
71
71
|
render: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
72
72
|
spacing: PropTypes.Requireable<number>;
|
|
@@ -57,9 +57,9 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
|
|
|
57
57
|
static Select: React.ComponentType<import("utility-types").Subtract<{
|
|
58
58
|
'aria-describedby'?: string;
|
|
59
59
|
'aria-errormessage'?: string;
|
|
60
|
-
'aria-invalid'?: boolean | "
|
|
60
|
+
'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling";
|
|
61
61
|
'aria-labelledby'?: string;
|
|
62
|
-
'aria-required'?: boolean | "
|
|
62
|
+
'aria-required'?: boolean | "true" | "false";
|
|
63
63
|
id?: string;
|
|
64
64
|
autoFocus?: boolean;
|
|
65
65
|
autoClearSearchValue?: boolean;
|
|
@@ -83,7 +83,7 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
|
|
|
83
83
|
expandRestTagsOnClick?: boolean;
|
|
84
84
|
onDropdownVisibleChange?: (visible: boolean) => void;
|
|
85
85
|
zIndex?: number;
|
|
86
|
-
position?: "left" | "
|
|
86
|
+
position?: "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver";
|
|
87
87
|
onSearch?: (value: string, event: React.KeyboardEvent<Element> | React.MouseEvent<Element, MouseEvent>) => void;
|
|
88
88
|
dropdownClassName?: string;
|
|
89
89
|
dropdownStyle?: React.CSSProperties;
|
package/lib/es/form/field.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ declare const FormTextArea: import("react").ComponentType<import("utility-types"
|
|
|
5
5
|
declare const FormSelect: import("react").ComponentType<import("utility-types").Subtract<{
|
|
6
6
|
'aria-describedby'?: string;
|
|
7
7
|
'aria-errormessage'?: string;
|
|
8
|
-
'aria-invalid'?: boolean | "
|
|
8
|
+
'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling";
|
|
9
9
|
'aria-labelledby'?: string;
|
|
10
|
-
'aria-required'?: boolean | "
|
|
10
|
+
'aria-required'?: boolean | "true" | "false";
|
|
11
11
|
id?: string;
|
|
12
12
|
autoFocus?: boolean;
|
|
13
13
|
autoClearSearchValue?: boolean;
|
|
@@ -31,7 +31,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
|
|
|
31
31
|
expandRestTagsOnClick?: boolean;
|
|
32
32
|
onDropdownVisibleChange?: (visible: boolean) => void;
|
|
33
33
|
zIndex?: number;
|
|
34
|
-
position?: "left" | "
|
|
34
|
+
position?: "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver";
|
|
35
35
|
onSearch?: (value: string, event: import("react").KeyboardEvent<Element> | import("react").MouseEvent<Element, MouseEvent>) => void;
|
|
36
36
|
dropdownClassName?: string;
|
|
37
37
|
dropdownStyle?: import("react").CSSProperties;
|
|
@@ -28,7 +28,7 @@ export interface PreviewProps extends BaseProps {
|
|
|
28
28
|
src?: string | string[];
|
|
29
29
|
previewTitle?: ReactNode;
|
|
30
30
|
currentIndex?: number;
|
|
31
|
-
|
|
31
|
+
defaultCurrentIndex?: number;
|
|
32
32
|
defaultVisible?: boolean;
|
|
33
33
|
maskClosable?: boolean;
|
|
34
34
|
closable?: boolean;
|
|
@@ -12,7 +12,7 @@ export default class Preview extends BaseComponent<PreviewProps, PreviewState> {
|
|
|
12
12
|
visible: PropTypes.Requireable<boolean>;
|
|
13
13
|
src: PropTypes.Requireable<NonNullable<string | any[]>>;
|
|
14
14
|
currentIndex: PropTypes.Requireable<number>;
|
|
15
|
-
|
|
15
|
+
defaultCurrentIndex: PropTypes.Requireable<number>;
|
|
16
16
|
defaultVisible: PropTypes.Requireable<boolean>;
|
|
17
17
|
maskClosable: PropTypes.Requireable<boolean>;
|
|
18
18
|
closable: PropTypes.Requireable<boolean>;
|