@aloudata/aloudata-design 2.19.0 → 2.19.2

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.
Files changed (34) hide show
  1. package/dist/AldSelect/Selector/MultipleResponsiveSelectedSection.d.ts +1 -1
  2. package/dist/AldSelect/Selector/MultipleResponsiveSelectedSection.js +3 -1
  3. package/dist/AldSelect/Selector/MultipleSelector.js +14 -8
  4. package/dist/AldSelect/Selector/index.js +5 -2
  5. package/dist/AldSelect/utils/commonUtil.js +10 -2
  6. package/dist/Dropdown/index.js +8 -1
  7. package/dist/Icon/components/InProgressFill.d.ts +1 -2
  8. package/dist/Icon/components/InProgressFill.js +1 -1
  9. package/dist/Icon/svg/In-Progress-fill.svg +2 -2
  10. package/dist/InputNumber/style/index.less +51 -4
  11. package/dist/MemberPicker/components/MemberSelection.d.ts +6 -0
  12. package/dist/MemberPicker/components/MemberSelection.js +37 -13
  13. package/dist/MemberPicker/components/Panel.d.ts +8 -0
  14. package/dist/MemberPicker/components/Panel.js +14 -7
  15. package/dist/MemberPicker/components/PanelWrapper.d.ts +9 -1
  16. package/dist/MemberPicker/components/PanelWrapper.js +6 -2
  17. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +2 -1
  18. package/dist/MemberPicker/components/SelectedMemberTags.js +7 -2
  19. package/dist/MemberPicker/components/UserGroupSelection.d.ts +8 -1
  20. package/dist/MemberPicker/components/UserGroupSelection.js +32 -20
  21. package/dist/MemberPicker/index.js +6 -2
  22. package/dist/MemberPicker/interface.d.ts +8 -0
  23. package/dist/Table/components/DndWrapper.d.ts +10 -0
  24. package/dist/Table/components/DndWrapper.js +38 -0
  25. package/dist/Table/hooks/useRowDnd.js +12 -3
  26. package/dist/Table/index.js +2 -5
  27. package/dist/Tabs/style/index.less +1 -0
  28. package/dist/ald.min.css +1 -1
  29. package/dist/index.d.ts +2 -0
  30. package/dist/index.js +1 -0
  31. package/dist/notification/demo/index.js +10 -1
  32. package/dist/notification/index.d.ts +1 -0
  33. package/dist/notification/index.js +16 -11
  34. package/package.json +1 -1
@@ -21,6 +21,14 @@ export interface IBaseMemberSelectorProps extends Omit<ISelectProps, 'type'> {
21
21
  footer?: ReactNode;
22
22
  onCancel?: () => void;
23
23
  filterItem?: (item: IUser | IUserGroup) => boolean;
24
+ renderItem?: (item: IUser | IUserGroup, context: {
25
+ isSelected: boolean;
26
+ disabled: boolean;
27
+ onClick: () => void;
28
+ onNextLevel?: () => void;
29
+ originNode: ReactNode;
30
+ }) => ReactNode;
31
+ renderSelectedTag?: (user: IUser | IUserGroup, originNode: ReactNode) => ReactNode;
24
32
  }
25
33
  export interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {
26
34
  multiple: true | Mode;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ /**
3
+ * DndWrapper 组件:智能检测并处理 DndProvider
4
+ * 如果外部已存在 DndProvider,则直接复用,避免嵌套冲突
5
+ * 如果外部不存在 DndProvider,则创建新的
6
+ */
7
+ declare const DndWrapper: React.FC<{
8
+ children: React.ReactNode;
9
+ }>;
10
+ export default DndWrapper;
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { DndProvider, useDragDropManager } from 'react-dnd';
3
+ import { HTML5Backend } from 'react-dnd-html5-backend';
4
+
5
+ // 内部组件用于检测 DndProvider
6
+ var DndContextDetector = function DndContextDetector(_ref) {
7
+ var children = _ref.children;
8
+ // 使用 useDragDropManager 检测是否已有 DndProvider
9
+ var hasContext = false;
10
+ try {
11
+ var manager = useDragDropManager();
12
+ hasContext = !!manager;
13
+ } catch (error) {
14
+ // 如果抛出错误,说明外部没有 DndProvider
15
+ hasContext = false;
16
+ }
17
+
18
+ // 如果已有上下文,直接返回 children
19
+ if (hasContext) {
20
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
21
+ }
22
+
23
+ // 否则创建新的 DndProvider
24
+ return /*#__PURE__*/React.createElement(DndProvider, {
25
+ backend: HTML5Backend
26
+ }, children);
27
+ };
28
+
29
+ /**
30
+ * DndWrapper 组件:智能检测并处理 DndProvider
31
+ * 如果外部已存在 DndProvider,则直接复用,避免嵌套冲突
32
+ * 如果外部不存在 DndProvider,则创建新的
33
+ */
34
+ var DndWrapper = function DndWrapper(_ref2) {
35
+ var children = _ref2.children;
36
+ return /*#__PURE__*/React.createElement(DndContextDetector, null, children);
37
+ };
38
+ export default DndWrapper;
@@ -13,6 +13,8 @@ import React, { useCallback, useMemo, useRef, useState } from 'react';
13
13
  import { useDrag, useDrop } from 'react-dnd';
14
14
  import { getEmptyImage } from 'react-dnd-html5-backend';
15
15
  import { getRowKey, hasFixedLeftColumn, prefixCls } from "../helper";
16
+ import _ from 'lodash';
17
+
16
18
  // 定义拖拽项类型
17
19
  var ROW_DND_TYPE = 'ALD_TABLE_ROW_DND_TYPE';
18
20
  // 拖拽手柄组件
@@ -136,7 +138,7 @@ export default function useRowDnd(props) {
136
138
  }, []);
137
139
 
138
140
  // 当拖拽过程中,临时存储数据
139
- var _useState3 = useState(data),
141
+ var _useState3 = useState([]),
140
142
  _useState4 = _slicedToArray(_useState3, 2),
141
143
  draggingTempData = _useState4[0],
142
144
  setDraggingTempData = _useState4[1];
@@ -210,20 +212,27 @@ export default function useRowDnd(props) {
210
212
  // 记录拖动开始
211
213
  var handleDragStart = function handleDragStart(id) {
212
214
  setDraggingRowId(id);
215
+ setDraggingTempData(_.cloneDeep(data));
213
216
  };
214
217
 
215
218
  // 记录拖动结束
216
219
  var handleDragComplete = function handleDragComplete() {
220
+ // 必须在清空 draggingRowId 之前先找到 draggingRow
221
+ // 因为 tableData 依赖 draggingRowId,清空后 tableData 会切换回原始 data
217
222
  var draggingRow = tableData.find(function (item) {
218
223
  return getRowKey(item, rowKey) === draggingRowId;
219
224
  });
220
- setDraggingRowId(null);
221
225
  if (!draggingRow) {
222
226
  // 不应该出现这种情况
223
227
  console.error('draggingRow is not found');
228
+ setDraggingRowId(null);
224
229
  return;
225
230
  }
226
- onChange(tableData, draggingRow);
231
+ // 保存当前的 tableData,因为清空 draggingRowId 后 tableData 会变化
232
+ var finalData = tableData;
233
+ setDraggingRowId(null);
234
+ setDraggingTempData([]);
235
+ onChange(finalData, draggingRow);
227
236
  };
228
237
  var dndColumn = {
229
238
  dataIndex: '',
@@ -17,10 +17,9 @@ import _ from 'lodash';
17
17
  import ResizeObserver from 'rc-resize-observer';
18
18
  import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';
19
19
  import { Empty, Spin } from '..';
20
- import { DndProvider } from 'react-dnd';
21
- import { HTML5Backend } from 'react-dnd-html5-backend';
22
20
  import ExpandCell from "./components/ExpandCell";
23
21
  import Footer from "./components/Footer";
22
+ import DndWrapper from "./components/DndWrapper";
24
23
  import { getRowKey, getTableColumns, prefixCls } from "./helper";
25
24
  import useExpandable, { getExpandableConfig } from "./hooks/useExpandable";
26
25
  import useFixed from "./hooks/useFixed";
@@ -513,8 +512,6 @@ function Table(props, ref) {
513
512
  }
514
513
  }, /*#__PURE__*/React.createElement("div", {
515
514
  className: classnames(prefixCls('main'), (_classnames8 = {}, _defineProperty(_classnames8, prefixCls('overflow-hidden'), !!y), _defineProperty(_classnames8, prefixCls('ping-left'), isPingLeft), _defineProperty(_classnames8, prefixCls('ping-right'), isPingRight), _classnames8))
516
- }, rowDnd ? /*#__PURE__*/React.createElement(DndProvider, {
517
- backend: HTML5Backend
518
- }, tableContent) : tableContent)));
515
+ }, rowDnd ? /*#__PURE__*/React.createElement(DndWrapper, null, tableContent) : tableContent)));
519
516
  }
520
517
  export default /*#__PURE__*/forwardRef(Table);
@@ -23,6 +23,7 @@
23
23
  &.ant-tabs {
24
24
  color: var(--alias-colors-text-default);
25
25
  font-size: 14px;
26
+ line-height: @tabs-line-height !important;
26
27
 
27
28
  .ant-tabs-nav {
28
29
  background-color: var(--header-bg-color);