@ant-design/pro-components 3.1.4-0 → 3.1.6-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.
Files changed (214) hide show
  1. package/dist/pro-components.min.js +1 -1
  2. package/es/card/ProCard.js +15 -7
  3. package/es/card/components/Card/index.js +43 -19
  4. package/es/card/components/Card/style.js +12 -1
  5. package/es/card/components/Statistic/index.js +2 -2
  6. package/es/card/components/StatisticCard/index.js +1 -1
  7. package/es/card/typing.d.ts +27 -8
  8. package/es/field/AllProField.d.ts +2 -0
  9. package/es/field/AllProField.js +3 -0
  10. package/es/field/PureProField.d.ts +2 -0
  11. package/es/field/PureProField.js +2 -0
  12. package/es/field/components/Cascader/index.js +8 -1
  13. package/es/field/components/Checkbox/index.js +5 -1
  14. package/es/field/components/ColorPicker/index.d.ts +1 -1
  15. package/es/field/components/DatePicker/index.d.ts +1 -1
  16. package/es/field/components/DatePicker/index.js +13 -1
  17. package/es/field/components/Digit/index.js +20 -3
  18. package/es/field/components/Money/index.js +51 -3
  19. package/es/field/components/Password/index.js +12 -11
  20. package/es/field/components/Radio/index.js +5 -1
  21. package/es/field/components/RangePicker/index.d.ts +1 -1
  22. package/es/field/components/Segmented/index.js +2 -1
  23. package/es/field/components/Select/SearchSelect/index.js +3 -5
  24. package/es/field/components/Select/index.d.ts +1 -1
  25. package/es/field/components/Select/index.js +1 -1
  26. package/es/field/components/Switch/index.js +10 -2
  27. package/es/field/components/Text/index.js +7 -1
  28. package/es/field/components/TextArea/index.js +6 -3
  29. package/es/field/components/TimePicker/index.js +10 -1
  30. package/es/field/components/TreeSelect/index.d.ts +2 -12
  31. package/es/field/components/TreeSelect/index.js +31 -17
  32. package/es/form/BaseForm/BaseForm.js +4 -3
  33. package/es/form/BaseForm/Submitter/index.d.ts +1 -1
  34. package/es/form/components/Digit/DigitRange.js +5 -2
  35. package/es/form/components/Digit/index.js +7 -2
  36. package/es/form/components/FormItem/FormItemRender/index.d.ts +1 -1
  37. package/es/form/components/FormItem/FormItemRender/index.js +10 -2
  38. package/es/form/components/FormItem/Group/index.js +12 -2
  39. package/es/form/components/List/ListContainer.js +2 -1
  40. package/es/form/components/Select/index.js +11 -1
  41. package/es/form/layouts/DrawerForm/index.d.ts +4 -4
  42. package/es/form/layouts/DrawerForm/index.js +1 -1
  43. package/es/form/layouts/LightFilter/index.js +22 -31
  44. package/es/form/layouts/LoginForm/index.js +10 -9
  45. package/es/form/layouts/LoginFormPage/index.js +17 -16
  46. package/es/form/layouts/ModalForm/index.d.ts +2 -2
  47. package/es/form/layouts/ProForm/index.d.ts +1 -1
  48. package/es/form/layouts/QueryFilter/Actions.js +2 -1
  49. package/es/form/layouts/QueryFilter/index.js +40 -23
  50. package/es/form/layouts/StepsForm/index.js +2 -2
  51. package/es/layout/ProLayout.d.ts +3 -3
  52. package/es/layout/ProLayout.js +13 -25
  53. package/es/layout/components/AppsLogoComponents/DefaultContent.js +6 -5
  54. package/es/layout/components/AppsLogoComponents/SimpleContent.js +6 -5
  55. package/es/layout/components/FooterToolbar/index.d.ts +1 -1
  56. package/es/layout/components/FooterToolbar/index.js +2 -2
  57. package/es/layout/components/GlobalFooter/index.js +3 -3
  58. package/es/layout/components/GlobalHeader/ActionsContent.js +6 -6
  59. package/es/layout/components/GlobalHeader/index.js +1 -1
  60. package/es/layout/components/GridContent/index.js +1 -1
  61. package/es/layout/components/Help/ProHelpPanel.js +11 -10
  62. package/es/layout/components/PageContainer/index.js +9 -9
  63. package/es/layout/components/PageHeader/index.js +10 -10
  64. package/es/layout/components/SettingDrawer/BlockCheckbox.js +2 -2
  65. package/es/layout/components/SettingDrawer/LayoutChange.js +3 -2
  66. package/es/layout/components/SettingDrawer/RegionalChange.js +3 -2
  67. package/es/layout/components/SettingDrawer/ThemeColor.js +3 -2
  68. package/es/layout/components/SettingDrawer/index.js +5 -4
  69. package/es/layout/components/SiderMenu/BaseMenu.js +3 -3
  70. package/es/layout/components/SiderMenu/SiderMenu.js +5 -5
  71. package/es/layout/components/TopNavHeader/index.js +3 -3
  72. package/es/layout/utils/getBreadcrumbProps.js +1 -1
  73. package/es/list/Item.d.ts +3 -3
  74. package/es/list/Item.js +8 -1
  75. package/es/list/ListView.js +1 -2
  76. package/es/list/ProListBase.d.ts +1 -1
  77. package/es/list/ProListBase.js +43 -37
  78. package/es/list/style/index.js +13 -0
  79. package/es/provider/index.d.ts +2 -2
  80. package/es/table/Table.js +14 -5
  81. package/es/table/components/Alert/index.js +6 -5
  82. package/es/table/components/ColumnSetting/index.js +9 -9
  83. package/es/table/components/DragSortTable/index.js +8 -4
  84. package/es/table/components/EditableTable/index.d.ts +1 -1
  85. package/es/table/components/EditableTable/index.js +5 -70
  86. package/es/table/components/ListToolBar/HeaderMenu.d.ts +1 -0
  87. package/es/table/components/ListToolBar/HeaderMenu.js +4 -3
  88. package/es/table/components/ListToolBar/index.js +15 -12
  89. package/es/table/components/ListToolBar/style.js +2 -2
  90. package/es/table/components/ToolBar/DensityIcon.d.ts +2 -2
  91. package/es/table/components/ToolBar/DensityIcon.js +6 -3
  92. package/es/table/components/ToolBar/FullscreenIcon.d.ts +1 -1
  93. package/es/table/components/ToolBar/FullscreenIcon.js +11 -5
  94. package/es/table/useFetchData.js +4 -1
  95. package/es/table/utils/cellRenderToFromItem.js +1 -1
  96. package/es/table/utils/useDragSort.js +1 -1
  97. package/es/utils/components/DropdownFooter/index.d.ts +1 -1
  98. package/es/utils/components/FieldLabel/index.js +1 -1
  99. package/es/utils/components/FilterDropdown/index.d.ts +1 -1
  100. package/es/utils/components/FilterDropdown/index.js +1 -1
  101. package/es/utils/components/InlineErrorFormItem/index.js +5 -4
  102. package/es/utils/components/LabelIconTip/index.js +2 -2
  103. package/es/utils/hooks/useFetchData/index.js +0 -2
  104. package/es/utils/isUrl/index.js +1 -1
  105. package/es/utils/proFieldParsingText/index.d.ts +2 -2
  106. package/es/utils/proFieldParsingText/index.js +2 -2
  107. package/guidelines/components/pro-card.md +5 -4
  108. package/lib/card/ProCard.js +15 -7
  109. package/lib/card/components/Card/index.js +43 -19
  110. package/lib/card/components/Card/style.js +12 -1
  111. package/lib/card/components/Statistic/index.js +2 -2
  112. package/lib/card/components/StatisticCard/index.js +1 -1
  113. package/lib/card/typing.d.ts +27 -8
  114. package/lib/field/AllProField.d.ts +2 -0
  115. package/lib/field/AllProField.js +3 -0
  116. package/lib/field/PureProField.d.ts +2 -0
  117. package/lib/field/PureProField.js +2 -0
  118. package/lib/field/components/Cascader/index.js +8 -1
  119. package/lib/field/components/Checkbox/index.js +5 -1
  120. package/lib/field/components/ColorPicker/index.d.ts +1 -1
  121. package/lib/field/components/DatePicker/index.d.ts +1 -1
  122. package/lib/field/components/DatePicker/index.js +13 -1
  123. package/lib/field/components/Digit/index.js +20 -3
  124. package/lib/field/components/Money/index.js +50 -2
  125. package/lib/field/components/Password/index.js +11 -10
  126. package/lib/field/components/Percent/util.d.ts +1 -1
  127. package/lib/field/components/Radio/index.js +5 -1
  128. package/lib/field/components/RangePicker/index.d.ts +1 -1
  129. package/lib/field/components/Segmented/index.js +2 -1
  130. package/lib/field/components/Select/SearchSelect/index.js +2 -4
  131. package/lib/field/components/Select/index.d.ts +1 -1
  132. package/lib/field/components/Select/index.js +1 -1
  133. package/lib/field/components/Switch/index.js +10 -2
  134. package/lib/field/components/Text/index.js +7 -1
  135. package/lib/field/components/TextArea/index.js +6 -3
  136. package/lib/field/components/TimePicker/index.js +10 -1
  137. package/lib/field/components/TreeSelect/index.d.ts +2 -12
  138. package/lib/field/components/TreeSelect/index.js +30 -16
  139. package/lib/form/BaseForm/BaseForm.js +4 -3
  140. package/lib/form/BaseForm/Submitter/index.d.ts +1 -1
  141. package/lib/form/components/Digit/DigitRange.js +5 -2
  142. package/lib/form/components/Digit/index.js +7 -2
  143. package/lib/form/components/FormItem/FormItemRender/index.d.ts +1 -1
  144. package/lib/form/components/FormItem/FormItemRender/index.js +10 -2
  145. package/lib/form/components/FormItem/Group/index.js +12 -2
  146. package/lib/form/components/List/ListContainer.js +2 -1
  147. package/lib/form/components/Select/index.js +11 -1
  148. package/lib/form/layouts/DrawerForm/index.d.ts +4 -4
  149. package/lib/form/layouts/DrawerForm/index.js +1 -1
  150. package/lib/form/layouts/LightFilter/index.js +21 -30
  151. package/lib/form/layouts/LoginForm/index.js +10 -9
  152. package/lib/form/layouts/LoginFormPage/index.js +17 -16
  153. package/lib/form/layouts/ModalForm/index.d.ts +2 -2
  154. package/lib/form/layouts/ProForm/index.d.ts +1 -1
  155. package/lib/form/layouts/QueryFilter/Actions.js +2 -1
  156. package/lib/form/layouts/QueryFilter/index.js +39 -22
  157. package/lib/form/layouts/StepsForm/index.js +2 -2
  158. package/lib/layout/ProLayout.d.ts +3 -3
  159. package/lib/layout/ProLayout.js +13 -25
  160. package/lib/layout/components/AppsLogoComponents/DefaultContent.js +6 -5
  161. package/lib/layout/components/AppsLogoComponents/SimpleContent.js +6 -5
  162. package/lib/layout/components/FooterToolbar/index.d.ts +1 -1
  163. package/lib/layout/components/FooterToolbar/index.js +2 -2
  164. package/lib/layout/components/GlobalFooter/index.js +3 -3
  165. package/lib/layout/components/GlobalHeader/ActionsContent.js +6 -6
  166. package/lib/layout/components/GlobalHeader/index.js +1 -1
  167. package/lib/layout/components/GridContent/index.js +1 -1
  168. package/lib/layout/components/Help/ProHelpPanel.js +11 -10
  169. package/lib/layout/components/PageContainer/index.js +9 -9
  170. package/lib/layout/components/PageHeader/index.js +10 -10
  171. package/lib/layout/components/SettingDrawer/BlockCheckbox.js +2 -2
  172. package/lib/layout/components/SettingDrawer/LayoutChange.js +3 -2
  173. package/lib/layout/components/SettingDrawer/RegionalChange.js +3 -2
  174. package/lib/layout/components/SettingDrawer/ThemeColor.js +3 -2
  175. package/lib/layout/components/SettingDrawer/index.js +5 -4
  176. package/lib/layout/components/SiderMenu/BaseMenu.js +3 -3
  177. package/lib/layout/components/SiderMenu/SiderMenu.js +5 -5
  178. package/lib/layout/components/TopNavHeader/index.js +3 -3
  179. package/lib/layout/utils/getBreadcrumbProps.js +1 -1
  180. package/lib/list/Item.d.ts +3 -3
  181. package/lib/list/Item.js +8 -1
  182. package/lib/list/ListView.js +1 -2
  183. package/lib/list/ProListBase.d.ts +1 -1
  184. package/lib/list/ProListBase.js +42 -36
  185. package/lib/list/style/index.js +13 -0
  186. package/lib/provider/index.d.ts +2 -2
  187. package/lib/table/Table.js +14 -5
  188. package/lib/table/components/Alert/index.js +6 -5
  189. package/lib/table/components/ColumnSetting/index.js +9 -9
  190. package/lib/table/components/DragSortTable/index.js +8 -4
  191. package/lib/table/components/EditableTable/index.d.ts +1 -1
  192. package/lib/table/components/EditableTable/index.js +5 -70
  193. package/lib/table/components/ListToolBar/HeaderMenu.d.ts +1 -0
  194. package/lib/table/components/ListToolBar/HeaderMenu.js +4 -3
  195. package/lib/table/components/ListToolBar/index.js +15 -12
  196. package/lib/table/components/ListToolBar/style.js +2 -2
  197. package/lib/table/components/ToolBar/DensityIcon.d.ts +2 -2
  198. package/lib/table/components/ToolBar/DensityIcon.js +6 -3
  199. package/lib/table/components/ToolBar/FullscreenIcon.d.ts +1 -1
  200. package/lib/table/components/ToolBar/FullscreenIcon.js +11 -5
  201. package/lib/table/useFetchData.js +4 -1
  202. package/lib/table/utils/cellRenderToFromItem.js +1 -1
  203. package/lib/table/utils/useDragSort.js +1 -1
  204. package/lib/utils/components/DropdownFooter/index.d.ts +1 -1
  205. package/lib/utils/components/FieldLabel/index.js +1 -1
  206. package/lib/utils/components/FilterDropdown/index.d.ts +1 -1
  207. package/lib/utils/components/FilterDropdown/index.js +1 -1
  208. package/lib/utils/components/InlineErrorFormItem/index.js +5 -4
  209. package/lib/utils/components/LabelIconTip/index.js +2 -2
  210. package/lib/utils/hooks/useFetchData/index.js +0 -2
  211. package/lib/utils/isUrl/index.js +1 -1
  212. package/lib/utils/proFieldParsingText/index.d.ts +2 -2
  213. package/lib/utils/proFieldParsingText/index.js +2 -2
  214. package/package.json +31 -30
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _antd = require("antd");
9
+ var _clsx = require("clsx");
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _provider = require("../../../provider");
11
12
  var _style = require("./style");
@@ -60,16 +61,16 @@ function TableAlert({
60
61
  return null;
61
62
  }
62
63
  return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
63
- className: `${className} ${hashId}`.trim(),
64
+ className: (0, _clsx.clsx)(className, hashId),
64
65
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
65
- className: `${className}-container ${hashId}`.trim(),
66
+ className: (0, _clsx.clsx)(`${className}-container`, hashId),
66
67
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
67
- className: `${className}-info ${hashId}`.trim(),
68
+ className: (0, _clsx.clsx)(`${className}-info`, hashId),
68
69
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
- className: `${className}-info-content ${hashId}`.trim(),
70
+ className: (0, _clsx.clsx)(`${className}-info-content`, hashId),
70
71
  children: dom
71
72
  }), option ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
72
- className: `${className}-info-option ${hashId}`.trim(),
73
+ className: (0, _clsx.clsx)(`${className}-info-option`, hashId),
73
74
  children: option
74
75
  }) : null]
75
76
  })
@@ -63,7 +63,7 @@ const CheckboxListItem = ({
63
63
  hashId
64
64
  } = (0, _react.useContext)(_provider.ProProvider);
65
65
  const dom = /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
66
- className: `${className}-list-item-option ${hashId}`.trim(),
66
+ className: (0, _clsx.clsx)(`${className}-list-item-option`, hashId),
67
67
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ToolTipIcon, {
68
68
  columnKey: columnKey,
69
69
  fixed: "left",
@@ -85,9 +85,9 @@ const CheckboxListItem = ({
85
85
  })]
86
86
  });
87
87
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
88
- className: `${className}-list-item ${hashId}`.trim(),
88
+ className: (0, _clsx.clsx)(`${className}-list-item`, hashId),
89
89
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
90
- className: `${className}-list-item-title ${hashId}`.trim(),
90
+ className: (0, _clsx.clsx)(`${className}-list-item-title`, hashId),
91
91
  children: title
92
92
  }), showListItemOption && !isLeaf ? dom : null]
93
93
  }, columnKey);
@@ -118,7 +118,7 @@ const CheckboxList = ({
118
118
  const treeMap = new Map();
119
119
  const loopData = (data, parentConfig) => data.map(({
120
120
  key,
121
- dataIndex,
121
+ dataIndex: _dataIndex,
122
122
  children,
123
123
  ...rest
124
124
  }) => {
@@ -266,13 +266,13 @@ const CheckboxList = ({
266
266
  },
267
267
  height: listHeight,
268
268
  treeData: treeDataConfig.list?.map(({
269
- disabled /* 不透传 disabled,使子节点禁用时也可以拖动调整顺序 */,
269
+ disabled: _disabled /* 不透传 disabled,使子节点禁用时也可以拖动调整顺序 */,
270
270
  ...config
271
271
  }) => config)
272
272
  });
273
273
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
274
274
  children: [showTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
275
- className: `${className}-list-title ${hashId}`.trim(),
275
+ className: (0, _clsx.clsx)(`${className}-list-title`, hashId),
276
276
  children: listTitle
277
277
  }), listDom]
278
278
  });
@@ -429,7 +429,7 @@ function ColumnSetting(props) {
429
429
  return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Popover, {
430
430
  arrow: false,
431
431
  title: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
432
- className: `${className}-title ${hashId}`.trim(),
432
+ className: (0, _clsx.clsx)(`${className}-title`, hashId),
433
433
  children: [props.checkable === false ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Checkbox, {
434
434
  indeterminate: indeterminate,
435
435
  checked: unCheckedKeys.length === 0 && unCheckedKeys.length !== localColumns.length,
@@ -439,7 +439,7 @@ function ColumnSetting(props) {
439
439
  children: intl.getMessage('tableToolBar.columnDisplay', '列展示')
440
440
  }), checkedReset ? /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
441
441
  onClick: clearClick,
442
- className: `${className}-action-rest-button ${hashId}`.trim(),
442
+ className: (0, _clsx.clsx)(`${className}-action-rest-button`, hashId),
443
443
  children: intl.getMessage('tableToolBar.reset', '重置')
444
444
  }) : null, props?.extra ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Space, {
445
445
  size: 12,
@@ -448,7 +448,7 @@ function ColumnSetting(props) {
448
448
  }) : null]
449
449
  }),
450
450
  classNames: {
451
- root: `${className}-overlay ${hashId}`.trim()
451
+ root: (0, _clsx.clsx)(`${className}-overlay`, hashId)
452
452
  },
453
453
  trigger: "click",
454
454
  placement: "bottomRight",
@@ -9,6 +9,7 @@ exports.default = void 0;
9
9
  var _icons = require("@ant-design/icons");
10
10
  var _util = require("@rc-component/util");
11
11
  var _antd = require("antd");
12
+ var _clsx = require("clsx");
12
13
  var _react = _interopRequireWildcard(require("react"));
13
14
  var _Table = _interopRequireDefault(require("../../Table"));
14
15
  var _useDragSort = require("../../utils/useDragSort");
@@ -33,7 +34,10 @@ function DragSortTable(props) {
33
34
  const setDataSource = (0, _react.useCallback)(updater => {
34
35
  setDataSourceInner(prev => {
35
36
  const next = typeof updater === 'function' ? updater(prev) : updater;
36
- onDataSourceChange?.(next);
37
+ // 使用 queueMicrotask 延迟回调,避免在渲染期间更新其他组件状态
38
+ queueMicrotask(() => {
39
+ onDataSourceChange?.(next);
40
+ });
37
41
  return next;
38
42
  });
39
43
  }, [onDataSourceChange]);
@@ -46,14 +50,14 @@ function DragSortTable(props) {
46
50
  const DragHandle = (0, _react.useMemo)(() => {
47
51
  return dragHandleProps => {
48
52
  const {
49
- rowData,
50
- index,
53
+ rowData: _rowData,
54
+ index: _index,
51
55
  className,
52
56
  ...rest
53
57
  } = dragHandleProps;
54
58
  const defaultDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.HolderOutlined, {
55
59
  ...rest,
56
- className: `${getPrefixCls('pro-table-drag-icon')} ${className || ''} ${hashId || ''}`.trim()
60
+ className: (0, _clsx.clsx)(getPrefixCls('pro-table-drag-icon'), className, hashId)
57
61
  });
58
62
  const handel = dragSortHandlerRender ? dragSortHandlerRender(dragHandleProps?.rowData, dragHandleProps?.index) : defaultDom;
59
63
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -86,7 +86,7 @@ export type EditableProTableProps<T, U extends ParamsType, ValueType = 'text'> =
86
86
  declare function FieldEditableTable<DataType extends Record<string, any>, Params extends ParamsType = ParamsType, ValueType = 'text'>(props: EditableProTableProps<DataType, Params, ValueType>): import("react/jsx-runtime").JSX.Element;
87
87
  declare namespace FieldEditableTable {
88
88
  var RecordCreator: <T = Record<string, any>>(props: RecordCreatorProps<T> & {
89
- children: JSX.Element;
89
+ children: React.JSX.Element;
90
90
  }) => React.FunctionComponentElement<any>;
91
91
  }
92
92
  export default FieldEditableTable;
@@ -13,7 +13,6 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _form = _interopRequireWildcard(require("../../../form"));
14
14
  var _provider = require("../../../provider");
15
15
  var _utils = require("../../../utils");
16
- var _useEditableArray = require("../../../utils/useEditableArray");
17
16
  var _Table = _interopRequireDefault(require("../../Table"));
18
17
  var _jsxRuntime = require("react/jsx-runtime");
19
18
  const EditableTableActionContext = /*#__PURE__*/_react.default.createContext(undefined);
@@ -45,69 +44,6 @@ function RecordCreator(props) {
45
44
  });
46
45
  }
47
46
 
48
- /**
49
- * 处理嵌套行的新增
50
- */
51
- function handleNestedRowInsert(baseData, defaultValue, newLineOptions, getRowKey, childrenColumnName) {
52
- if (!newLineOptions.recordKey) {
53
- return baseData;
54
- }
55
- const actionProps = {
56
- data: baseData,
57
- getRowKey,
58
- row: {
59
- ...defaultValue,
60
- map_row_parentKey: (0, _useEditableArray.recordKeyToString)(newLineOptions.parentKey)?.toString()
61
- },
62
- key: newLineOptions.recordKey,
63
- childrenColumnName
64
- };
65
- return (0, _useEditableArray.editableRowByKey)(actionProps, newLineOptions.position === 'top' ? 'top' : 'update');
66
- }
67
-
68
- /**
69
- * 处理分页场景下的新增
70
- */
71
- function handlePaginationInsert(baseData, defaultValue, pageConfig) {
72
- if (pageConfig.pageSize > baseData.length) {
73
- return [...baseData, defaultValue];
74
- }
75
- const insertIndex = pageConfig.current * pageConfig.pageSize - 1;
76
- const result = [...baseData];
77
- result.splice(insertIndex, 0, defaultValue);
78
- return result;
79
- }
80
- function useEditableDataSource({
81
- actionDataSource,
82
- editableUtils,
83
- pagination,
84
- getRowKey,
85
- childrenColumnName
86
- }) {
87
- return (0, _react.useMemo)(() => {
88
- const newLineConfig = editableUtils?.newLineRecord;
89
- const baseData = Array.isArray(actionDataSource) ? [...actionDataSource] : [];
90
- if (!newLineConfig?.defaultValue) {
91
- return baseData;
92
- }
93
- const {
94
- options: newLineOptions,
95
- defaultValue
96
- } = newLineConfig;
97
- if (newLineOptions?.parentKey) {
98
- return handleNestedRowInsert(baseData, defaultValue, newLineOptions, getRowKey, childrenColumnName || 'children');
99
- }
100
- if (newLineOptions?.position === 'top') {
101
- return [defaultValue, ...baseData];
102
- }
103
- const pageConfig = pagination && typeof pagination === 'object' ? pagination : undefined;
104
- if (pageConfig?.current && pageConfig?.pageSize) {
105
- return handlePaginationInsert(baseData, defaultValue, pageConfig);
106
- }
107
- return [...baseData, defaultValue];
108
- }, [actionDataSource, childrenColumnName, editableUtils?.newLineRecord, getRowKey, pagination]);
109
- }
110
-
111
47
  /**
112
48
  * 检查是否应该显示创建按钮
113
49
  */
@@ -239,15 +175,15 @@ function EditableTable(props) {
239
175
  const {
240
176
  onTableChange,
241
177
  maxLength,
242
- formItemProps,
178
+ formItemProps: _formItemProps,
243
179
  recordCreatorProps,
244
180
  rowKey,
245
- controlled,
181
+ controlled: _controlled,
246
182
  defaultValue,
247
- onChange,
183
+ onChange: _onChange,
248
184
  editableFormRef,
249
185
  // @ts-ignore
250
- autoFocus,
186
+ autoFocus: _autoFocus,
251
187
  ...rest
252
188
  } = props;
253
189
  const preData = (0, _react.useRef)(undefined);
@@ -539,7 +475,6 @@ function EditableTable(props) {
539
475
  } = recordCreatorProps || {};
540
476
  const isTop = position === 'top';
541
477
  const {
542
- creatorButtonDom,
543
478
  buttonRenderProps
544
479
  } = useCreatorButton({
545
480
  recordCreatorProps,
@@ -688,7 +623,7 @@ function FieldEditableTable(props) {
688
623
  const name = [props.name].flat(1);
689
624
  try {
690
625
  return JSON.stringify((0, _util.get)(prev, name)) !== JSON.stringify((0, _util.get)(next, name));
691
- } catch (error) {
626
+ } catch (_error) {
692
627
  return true;
693
628
  }
694
629
  },
@@ -11,6 +11,7 @@ export type ListToolBarHeaderMenuProps = {
11
11
  items?: ListToolBarMenuItem[];
12
12
  onChange?: (activeKey?: React.Key) => void;
13
13
  prefixCls?: string;
14
+ hashId?: string;
14
15
  };
15
16
  declare const HeaderMenu: React.FC<ListToolBarHeaderMenuProps>;
16
17
  export default HeaderMenu;
@@ -14,8 +14,9 @@ var _provider = require("../../../provider");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  const HeaderMenu = props => {
16
16
  const {
17
- hashId
17
+ hashId: contextHashId
18
18
  } = (0, _react.useContext)(_provider.ProProvider);
19
+ const hashId = props.hashId ?? contextHashId;
19
20
  const {
20
21
  items = [],
21
22
  type = 'inline',
@@ -60,7 +61,7 @@ const HeaderMenu = props => {
60
61
  });
61
62
  }
62
63
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
63
- className: (0, _clsx.clsx)(`${prefixCls}-menu`, `${prefixCls}-dropdownmenu`),
64
+ className: (0, _clsx.clsx)(`${prefixCls}-menu`, `${prefixCls}-dropdownmenu`, hashId),
64
65
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Dropdown, {
65
66
  trigger: ['click'],
66
67
  menu: {
@@ -75,7 +76,7 @@ const HeaderMenu = props => {
75
76
  }))
76
77
  },
77
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Space, {
78
- className: `${prefixCls}-dropdownmenu-label`,
79
+ className: (0, _clsx.clsx)(`${prefixCls}-dropdownmenu-label`, hashId),
79
80
  children: [activeItem.label, /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.DownOutlined, {})]
80
81
  })
81
82
  })
@@ -60,13 +60,14 @@ function getSettingItem(setting) {
60
60
  }
61
61
  const ListToolBarTabBar = ({
62
62
  prefixCls,
63
+ hashId,
63
64
  tabs,
64
65
  multipleLine,
65
66
  filtersNode
66
67
  }) => {
67
68
  if (!multipleLine) return null;
68
69
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
- className: `${prefixCls}-extra-line`,
70
+ className: (0, _clsx.clsx)(`${prefixCls}-extra-line`, hashId),
70
71
  children: tabs?.items && tabs?.items.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tabs, {
71
72
  style: {
72
73
  width: '100%'
@@ -144,7 +145,7 @@ const ListToolBar = ({
144
145
  /** 轻量筛选组件 */
145
146
  const filtersNode = (0, _react.useMemo)(() => {
146
147
  if (filter) return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
147
- className: `${prefixCls}-filter ${hashId}`.trim(),
148
+ className: (0, _clsx.clsx)(`${prefixCls}-filter`, hashId),
148
149
  children: filter
149
150
  });
150
151
  return null;
@@ -188,16 +189,16 @@ const ListToolBar = ({
188
189
  // 保留dom是为了占位,不然 right 就变到左边了
189
190
  if (!hasLeft && hasRight) {
190
191
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
191
- className: `${prefixCls}-left ${hashId}`.trim()
192
+ className: (0, _clsx.clsx)(`${prefixCls}-left`, hashId)
192
193
  });
193
194
  }
194
195
 
195
196
  // 减少 space 的dom,渲染的时候能节省点性能
196
197
  if (!menu && (hasTitle || !searchNode)) {
197
198
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
198
- className: `${prefixCls}-left ${hashId}`.trim(),
199
+ className: (0, _clsx.clsx)(`${prefixCls}-left`, hashId),
199
200
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
200
- className: `${prefixCls}-title ${hashId}`.trim(),
201
+ className: (0, _clsx.clsx)(`${prefixCls}-title`, hashId),
201
202
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.LabelIconTip, {
202
203
  tooltip: tooltip,
203
204
  label: title,
@@ -213,7 +214,7 @@ const ListToolBar = ({
213
214
  [`${prefixCls}-left-has-inline-menu`]: menu?.type === 'inline'
214
215
  }),
215
216
  children: [hasTitle && !menu && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
216
- className: `${prefixCls}-title ${hashId}`.trim(),
217
+ className: (0, _clsx.clsx)(`${prefixCls}-title`, hashId),
217
218
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.LabelIconTip, {
218
219
  tooltip: tooltip,
219
220
  label: title,
@@ -224,9 +225,10 @@ const ListToolBar = ({
224
225
  // 这里面实现了 tabs 的逻辑
225
226
  (0, _jsxRuntime.jsx)(_HeaderMenu.default, {
226
227
  ...menu,
227
- prefixCls: prefixCls
228
+ prefixCls: prefixCls,
229
+ hashId: hashId
228
230
  }), !hasTitle && searchNode ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
229
- className: `${prefixCls}-search ${hashId}`.trim(),
231
+ className: (0, _clsx.clsx)(`${prefixCls}-search`, hashId),
230
232
  children: searchNode
231
233
  }) : null]
232
234
  });
@@ -234,19 +236,19 @@ const ListToolBar = ({
234
236
  const rightTitleDom = (0, _react.useMemo)(() => {
235
237
  if (!hasRight) return null;
236
238
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
237
- className: `${prefixCls}-right ${hashId}`.trim(),
239
+ className: (0, _clsx.clsx)(`${prefixCls}-right`, hashId),
238
240
  style: isMobile ? {} : {
239
241
  alignItems: 'center'
240
242
  },
241
243
  children: [!multipleLine ? filtersNode : null, hasTitle && searchNode ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
242
- className: `${prefixCls}-search ${hashId}`.trim(),
244
+ className: (0, _clsx.clsx)(`${prefixCls}-search`, hashId),
243
245
  children: searchNode
244
246
  }) : null, actionDom, settings?.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
245
- className: `${prefixCls}-setting-items ${hashId}`.trim(),
247
+ className: (0, _clsx.clsx)(`${prefixCls}-setting-items`, hashId),
246
248
  children: settings.map((setting, index) => {
247
249
  const settingItem = getSettingItem(setting);
248
250
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
249
- className: `${prefixCls}-setting-item ${hashId}`.trim(),
251
+ className: (0, _clsx.clsx)(`${prefixCls}-setting-item`, hashId),
250
252
  children: settingItem
251
253
  }, index);
252
254
  })
@@ -275,6 +277,7 @@ const ListToolBar = ({
275
277
  className: (0, _clsx.clsx)(prefixCls, hashId, className),
276
278
  children: [titleNode, /*#__PURE__*/(0, _jsxRuntime.jsx)(ListToolBarTabBar, {
277
279
  filtersNode: filtersNode,
280
+ hashId: hashId,
278
281
  prefixCls: prefixCls,
279
282
  tabs: tabs,
280
283
  multipleLine: multipleLine
@@ -24,7 +24,7 @@ const genProListStyle = token => {
24
24
  alignItems: 'center',
25
25
  justifyContent: 'flex-start',
26
26
  color: token.colorTextHeading,
27
- fontWeight: '500',
27
+ fontWeight: token.fontWeightStrong,
28
28
  fontSize: token.fontSizeLG
29
29
  },
30
30
  '&-search:not(:last-child)': {
@@ -107,7 +107,7 @@ const genProListStyle = token => {
107
107
  },
108
108
  [`${token.antCls}-tabs-nav-list`]: {
109
109
  marginBlockStart: 0,
110
- '${token.antCls}-tabs-tab': {
110
+ [`${token.antCls}-tabs-tab`]: {
111
111
  paddingBlockStart: 0
112
112
  }
113
113
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  export type DensitySize = 'middle' | 'small' | 'large' | undefined;
3
- declare const _default: React.MemoExoticComponent<(props: {
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
4
4
  icon?: React.ReactNode;
5
- }) => import("react/jsx-runtime").JSX.Element>;
5
+ } & React.RefAttributes<HTMLSpanElement>>>;
6
6
  export default _default;
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _provider = require("../../../provider");
12
12
  var _Provide = require("../../Store/Provide");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
- const DensityIcon = props => {
14
+ const DensityIcon = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
15
15
  const {
16
16
  icon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.ColumnHeightOutlined, {})
17
17
  } = props;
@@ -42,8 +42,11 @@ const DensityIcon = props => {
42
42
  trigger: ['click'],
43
43
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
44
44
  title: intl.getMessage('tableToolBar.density', '表格密度'),
45
- children: icon
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
46
+ ref: ref,
47
+ children: icon
48
+ })
46
49
  })
47
50
  });
48
- };
51
+ });
49
52
  var _default = exports.default = /*#__PURE__*/_react.default.memo(DensityIcon);
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
2
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<React.RefAttributes<HTMLSpanElement>>>;
3
3
  export default _default;
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _provider = require("../../../provider");
12
12
  var _utils = require("../../../utils");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
- const FullScreenIcon = () => {
14
+ const FullScreenIcon = /*#__PURE__*/_react.default.forwardRef((_, ref) => {
15
15
  const intl = (0, _provider.useIntl)();
16
16
  const [fullscreen, setFullscreen] = (0, _react.useState)(false);
17
17
  (0, _react.useEffect)(() => {
@@ -23,11 +23,17 @@ const FullScreenIcon = () => {
23
23
  };
24
24
  }, []);
25
25
  return fullscreen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
26
- title: intl.getMessage('tableToolBar.exitFullScreen', '全屏'),
27
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FullscreenExitOutlined, {})
26
+ title: intl.getMessage('tableToolBar.exitFullScreen', '退出全屏'),
27
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
28
+ ref: ref,
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FullscreenExitOutlined, {})
30
+ })
28
31
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
29
32
  title: intl.getMessage('tableToolBar.fullScreen', '全屏'),
30
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FullscreenOutlined, {})
33
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
34
+ ref: ref,
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FullscreenOutlined, {})
36
+ })
31
37
  });
32
- };
38
+ });
33
39
  var _default = exports.default = /*#__PURE__*/_react.default.memo(FullScreenIcon);
@@ -56,7 +56,10 @@ const useFetchData = (getData, defaultData, options) => {
56
56
  const setTableDataList = (0, _react.useCallback)(updater => {
57
57
  setTableDataListInner(prev => {
58
58
  const next = typeof updater === 'function' ? updater(prev) : updater;
59
- options?.onDataSourceChange?.(next);
59
+ // 使用 queueMicrotask 延迟回调,避免在渲染期间更新其他组件状态
60
+ queueMicrotask(() => {
61
+ options?.onDataSourceChange?.(next);
62
+ });
60
63
  return next;
61
64
  });
62
65
  }, [options?.onDataSourceChange]);
@@ -126,7 +126,7 @@ const CellRenderFromItem = props => {
126
126
  const shouldName = [rowName].flat(1);
127
127
  try {
128
128
  return JSON.stringify((0, _util.get)(pre, shouldName)) !== JSON.stringify((0, _util.get)(next, shouldName));
129
- } catch (error) {
129
+ } catch (_error) {
130
130
  return true;
131
131
  }
132
132
  },
@@ -83,7 +83,7 @@ const SortableRow = props => {
83
83
  */
84
84
  const SortableItemCell = /*#__PURE__*/_react.default.memo(props => {
85
85
  const {
86
- dragSortKey,
86
+ dragSortKey: _dragSortKey,
87
87
  ...rest
88
88
  } = props;
89
89
  const {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- type LightFilterFooterRender = ((onConfirm?: (e?: React.MouseEvent) => void, onClear?: (e?: React.MouseEvent) => void) => JSX.Element | false) | false;
2
+ type LightFilterFooterRender = ((onConfirm?: (e?: React.MouseEvent) => void, onClear?: (e?: React.MouseEvent) => void) => React.JSX.Element | false) | false;
3
3
  type OnClick = (e?: React.MouseEvent) => void;
4
4
  export type DropdownFooterProps = {
5
5
  onClear?: OnClick;
@@ -78,7 +78,7 @@ const FieldLabelFunction = (props, ref) => {
78
78
  onClick: () => {
79
79
  onLabelClick?.();
80
80
  },
81
- className: `${prefixCls}-text`,
81
+ className: (0, _clsx.clsx)(`${prefixCls}-text`, hashId),
82
82
  children: [aLabel, ': ']
83
83
  }) : '';
84
84
  const str = formatterText(aValue);
@@ -2,7 +2,7 @@ import type { PopoverProps } from 'antd';
2
2
  import type { TooltipPlacement } from 'antd/lib/tooltip';
3
3
  import React from 'react';
4
4
  import type { DropdownFooterProps } from '../DropdownFooter';
5
- export type FooterRender = ((onConfirm?: (e?: React.MouseEvent) => void, onClear?: (e?: React.MouseEvent) => void) => JSX.Element | false) | false;
5
+ export type FooterRender = ((onConfirm?: (e?: React.MouseEvent) => void, onClear?: (e?: React.MouseEvent) => void) => React.JSX.Element | false) | false;
6
6
  export type DropdownProps = {
7
7
  label?: React.ReactNode;
8
8
  footer?: DropdownFooterProps;
@@ -57,7 +57,7 @@ const FilterDropdown = props => {
57
57
  return htmlRef.current || document.body;
58
58
  },
59
59
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
- className: `${prefixCls}-content ${hashId}`.trim(),
60
+ className: (0, _clsx.clsx)(`${prefixCls}-content`, hashId),
61
61
  children: children
62
62
  })
63
63
  }), footer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_DropdownFooter.DropdownFooter, {
@@ -8,6 +8,7 @@ exports.InlineErrorFormItem = void 0;
8
8
  var _icons = require("@ant-design/icons");
9
9
  var _util = require("@rc-component/util");
10
10
  var _antd = require("antd");
11
+ var _clsx = require("clsx");
11
12
  var _react = _interopRequireWildcard(require("react"));
12
13
  var _style = require("./style");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -52,13 +53,13 @@ const InlineErrorFormItemPopover = ({
52
53
  getPopupContainer: popoverProps?.getPopupContainer,
53
54
  getTooltipContainer: popoverProps?.getTooltipContainer,
54
55
  content: wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
55
- className: `${prefixCls}-form-item ${hashId} ${token.hashId}`.trim(),
56
+ className: (0, _clsx.clsx)(`${prefixCls}-form-item`, hashId, token.hashId),
56
57
  style: {
57
58
  margin: 0,
58
59
  padding: 0
59
60
  },
60
61
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
61
- className: `${prefixCls}-form-item-with-help ${hashId} ${token.hashId}`.trim(),
62
+ className: (0, _clsx.clsx)(`${prefixCls}-form-item-with-help`, hashId, token.hashId),
62
63
  children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {}) : null, errorList]
63
64
  })
64
65
  })),
@@ -87,7 +88,7 @@ const InternalFormItemFunction = ({
87
88
  }
88
89
  try {
89
90
  return JSON.stringify((0, _util.get)(prev, shouldName)) !== JSON.stringify((0, _util.get)(next, shouldName));
90
- } catch (error) {
91
+ } catch (_error) {
91
92
  return true;
92
93
  }
93
94
  }
@@ -137,7 +138,7 @@ const InlineErrorFormItem = props => {
137
138
  }
138
139
  try {
139
140
  return JSON.stringify((0, _util.get)(prev, shouldName)) !== JSON.stringify((0, _util.get)(next, shouldName));
140
- } catch (error) {
141
+ } catch (_error) {
141
142
  return true;
142
143
  }
143
144
  } : undefined,
@@ -51,12 +51,12 @@ const LabelIconTip = exports.LabelIconTip = /*#__PURE__*/_react.default.memo(pro
51
51
  }),
52
52
  children: label
53
53
  }), subTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
54
- className: `${className}-subtitle ${hashId}`.trim(),
54
+ className: (0, _clsx.clsx)(`${className}-subtitle`, hashId),
55
55
  children: subTitle
56
56
  }), tooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
57
57
  ...tooltipProps,
58
58
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
59
- className: `${className}-icon ${hashId}`.trim(),
59
+ className: (0, _clsx.clsx)(`${className}-icon`, hashId),
60
60
  children: icon
61
61
  })
62
62
  })]
@@ -18,7 +18,6 @@ function useFetchData(props) {
18
18
  testId += 1;
19
19
  return testId.toString();
20
20
  });
21
- const proFieldKeyRef = (0, _react.useRef)(cacheKey);
22
21
  const fetchData = async () => {
23
22
  abortRef.current?.abort();
24
23
  const abort = new AbortController();
@@ -38,7 +37,6 @@ function useFetchData(props) {
38
37
  };
39
38
  const {
40
39
  data,
41
- error,
42
40
  isValidating
43
41
  } = (0, _swr.default)(props.request ? [cacheKey, props.params] : null, fetchData, {
44
42
  revalidateOnFocus: false,
@@ -17,7 +17,7 @@ const isUrl = path => {
17
17
  try {
18
18
  const url = new URL(path);
19
19
  return !!url;
20
- } catch (error) {
20
+ } catch (_error) {
21
21
  return false;
22
22
  }
23
23
  };