@teamix/pro 1.4.1 → 1.4.4

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.
@@ -133,7 +133,7 @@ var DialogForm = function DialogForm(props) {
133
133
  }
134
134
  }, /*#__PURE__*/React.createElement(ProForm, _objectSpread(_objectSpread({
135
135
  form: form,
136
- schema: getTargetValue(formSchema, context)
136
+ schema: formSchema
137
137
  }, getDefaultFormPropsByDialogSize(size)), addContext(getTargetValue(others, context), context))));
138
138
  };
139
139
 
@@ -59,7 +59,8 @@ var FooterForm = function FooterForm(props) {
59
59
  layout: "inline",
60
60
  feedbackLayout: "none",
61
61
  form: form,
62
- schema: getTargetValue(schema, context)
62
+ context: context,
63
+ schema: schema
63
64
  });
64
65
  };
65
66
 
@@ -41,6 +41,8 @@ export interface ProCardProps extends Omit<React.HTMLAttributes<HTMLElement>, 't
41
41
  centered?: boolean;
42
42
  /** 加载中状态 */
43
43
  loading?: boolean;
44
+ /** 是否只是内容区加载,标题正常显示 */
45
+ contentLoading?: boolean;
44
46
  /** 空状态 */
45
47
  empty?: boolean;
46
48
  /** 边框颜色 */
package/es/card/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  var _excluded = ["context"],
2
- _excluded2 = ["children", "title", "subTitle", "tooltip", "tooltipIcon", "tags", "description", "extra", "actions", "message", "style", "className", "image", "hoveredShadow", "divider", "bordered", "compacted", "centered", "loading", "empty", "borderColor", "backgroundColor", "contentClassName", "contentStyle", "direction", "wrap", "spacing", "split", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "context"];
2
+ _excluded2 = ["children", "title", "subTitle", "tooltip", "tooltipIcon", "tags", "description", "extra", "actions", "message", "style", "className", "image", "hoveredShadow", "divider", "bordered", "compacted", "centered", "loading", "contentLoading", "empty", "borderColor", "backgroundColor", "contentClassName", "contentStyle", "direction", "wrap", "spacing", "split", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "context"];
3
3
 
4
4
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
5
 
@@ -93,6 +93,7 @@ export var ProCard = function ProCard(props) {
93
93
  compacted = props.compacted,
94
94
  centered = props.centered,
95
95
  loading = props.loading,
96
+ contentLoading = props.contentLoading,
96
97
  empty = props.empty,
97
98
  borderColor = props.borderColor,
98
99
  backgroundColor = props.backgroundColor,
@@ -240,7 +241,7 @@ export var ProCard = function ProCard(props) {
240
241
  component: "img",
241
242
  src: image
242
243
  }), (title || extra) && /*#__PURE__*/React.createElement(BasicCard.Header, {
243
- title: loading ? /*#__PURE__*/React.createElement(ProSkeletonRaw.Card.Title, null) : renderTitle(),
244
+ title: loading && !contentLoading ? /*#__PURE__*/React.createElement(ProSkeletonRaw.Card.Title, null) : renderTitle(),
244
245
  subTitle: !loading && subTitle,
245
246
  extra: !loading && renderActionGroup(extra, context)
246
247
  }), hasDivider && /*#__PURE__*/React.createElement(BasicCard.Divider, null), showContent && /*#__PURE__*/React.createElement(BasicCard.Content, {
@@ -248,7 +249,7 @@ export var ProCard = function ProCard(props) {
248
249
  padding: 0,
249
250
  margin: 0
250
251
  } : {}
251
- }, loading && /*#__PURE__*/React.createElement(ProSkeletonRaw.Card.Content, null), !loading && /*#__PURE__*/React.createElement("div", {
252
+ }, (loading || contentLoading) && /*#__PURE__*/React.createElement(ProSkeletonRaw.Card.Content, null), !loading && /*#__PURE__*/React.createElement("div", {
252
253
  className: cardContentClassName,
253
254
  style: cardContentStyle
254
255
  }, empty && /*#__PURE__*/React.createElement("div", {
@@ -10,7 +10,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
 
11
11
  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; }
12
12
 
13
- import React, { memo, useMemo } from 'react';
13
+ import React, { memo, useEffect, useMemo } from 'react';
14
14
  import { usePrefixCls, cls, getLanguage, getGlobalConfig } from '@teamix/utils';
15
15
  import { createForm, onFieldValueChange, onFormValuesChange, registerValidateLocale, setValidateLanguage } from '@formily/core';
16
16
  import { toJS } from '@formily/reactive';
@@ -90,12 +90,11 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
90
90
  validateFirst: validateFirst
91
91
  });
92
92
  }, []);
93
- var prefixCls = usePrefixCls('teamix-pro-form');
93
+ var prefixCls = usePrefixCls('teamix-pro-form'); // 由于Actions需要,解构context供使用。原context键名的上下文继续保留。
94
94
 
95
- var mergedScope = _objectSpread(_objectSpread(_objectSpread({}, globalScope), scope), {}, {
95
+ var mergedScope = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, context), globalScope), scope), {}, {
96
96
  context: context
97
- }); // context需要实名不能解构
98
-
97
+ });
99
98
 
100
99
  var mergedComponents = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, globalComponents), components), formilyComponents), ProFieldComponents);
101
100
 
@@ -128,10 +127,7 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
128
127
  }).finally(function () {
129
128
  onInitialComplete === null || onInitialComplete === void 0 ? void 0 : onInitialComplete(form);
130
129
  });
131
- } // 配置国际化
132
-
133
-
134
- setValidateLanguage(getLanguage() || 'zh-cn');
130
+ }
135
131
  }, []); // 添加 onChange 事件
136
132
 
137
133
  useMemo(function () {
@@ -155,6 +151,10 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
155
151
  });
156
152
  }
157
153
  }, [onChange]);
154
+ useEffect(function () {
155
+ // 配置国际化
156
+ setValidateLanguage(getLanguage() || 'zh-cn');
157
+ }, []);
158
158
  return /*#__PURE__*/React.createElement(Form, _objectSpread(_objectSpread(_objectSpread({
159
159
  className: cls(prefixCls(), className)
160
160
  }, otherProps), getTeamixLayout), {}, {
@@ -36,8 +36,7 @@
36
36
  .#{$teamix-pro-field}-radio,
37
37
  .#{$teamix-pro-field}-switch,
38
38
  .#{$teamix-pro-field}-colorradio,
39
- .#{$teamix-pro-field}-range,
40
- .#{$css-prefix}btn-text {
39
+ .#{$teamix-pro-field}-range {
41
40
  line-height: var(--form-element-medium-height, 32px);
42
41
  }
43
42
  > .#{$css-prefix}btn-text {
@@ -109,6 +108,21 @@
109
108
  }
110
109
  }
111
110
 
111
+ // 尺寸 - small
112
+ .#{$form-item-cls}-size-small {
113
+ // 预览态行高
114
+ .#{$css-prefix}form-preview {
115
+ line-height: var(--form-element-small-height, 24px);
116
+ }
117
+ }
118
+ // 尺寸 - large
119
+ .#{$form-item-cls}-size-large {
120
+ // 预览态行高
121
+ .#{$css-prefix}form-preview {
122
+ line-height: var(--form-element-large-height, 36px);
123
+ }
124
+ }
125
+
112
126
  // Icon
113
127
  .#{$css-prefix}formily-icon {
114
128
  transform: translate(0, -1px);
@@ -190,23 +204,6 @@
190
204
  }
191
205
  }
192
206
 
193
- // 数组类组件添加按钮
194
- .#{$css-prefix}btn.#{$form-array}-base-addition {
195
- border-style: dashed;
196
- .#{$css-prefix}formily-icon {
197
- margin-right: 4px;
198
- }
199
- }
200
- // 数组类ArrayItem Icon text 居中
201
- .#{$form-array}-items-item-inner {
202
- .#{$css-prefix}space-item {
203
- > .#{$css-prefix}formily-icon.#{$css-prefix}btn-text {
204
- line-height: inherit !important;
205
- margin-right: 0;
206
- }
207
- }
208
- }
209
-
210
207
  // Editable预览态行高
211
208
  .#{$css-prefix}formily-editable-content {
212
209
  line-height: var(--form-element-medium-height, 32px);
@@ -296,6 +293,20 @@
296
293
  .form-array-base-icon {
297
294
  cursor: pointer;
298
295
  }
296
+ // 数组类组件添加按钮
297
+ .#{$css-prefix}btn.#{$form-array}-base-addition {
298
+ border-style: dashed;
299
+ .#{$css-prefix}formily-icon {
300
+ margin-right: 4px;
301
+ }
302
+ }
303
+ .#{$form-array}-items {
304
+ .#{$form-item-cls}-control-content-component {
305
+ > .#{$css-prefix}btn-text.#{$form-array}-base-addition {
306
+ line-height: var(--form-element-medium-height, 32px);
307
+ }
308
+ }
309
+ }
299
310
 
300
311
  // ArrayCard
301
312
  .#{$form-array}-cards-item {
@@ -324,6 +335,18 @@
324
335
  align-items: center;
325
336
  }
326
337
 
338
+ // todo 此处做覆盖,formily改为变量后可移除
339
+ .#{$form-array}-items-card {
340
+ border-color: var(--card-border-color, #eaeaea);
341
+ background: var(--card-background, #ffffff);
342
+ .#{$css-prefix}formily-item:not(.#{$css-prefix}formily-item-feedback-layout-popover) {
343
+ .#{$css-prefix}formily-item-help {
344
+ background: var(--card-background, #ffffff);
345
+ box-shadow: 0 0 10px var(--card-border-color, #eaeaea);
346
+ }
347
+ }
348
+ }
349
+
327
350
  /* hack todo remove */
328
351
  .#{$form-item-cls}-control-content-component {
329
352
  .#{$teamix-pro-field}-tooltip.#{$teamix-pro-field}-checkbox {
package/es/index.d.ts CHANGED
@@ -27,5 +27,5 @@ export * from './table';
27
27
  export * from './sidebar';
28
28
  export * from './utils';
29
29
  export * from './timeline';
30
- declare const version = "1.4.1";
30
+ declare const version = "1.4.4";
31
31
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, hooks, nocode, templates, utils, };
package/es/index.js CHANGED
@@ -31,6 +31,6 @@ export * from './table';
31
31
  export * from './sidebar';
32
32
  export * from './utils';
33
33
  export * from './timeline';
34
- var version = '1.4.1';
34
+ var version = '1.4.4';
35
35
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, // ProLayout,
36
36
  ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, hooks, nocode, templates, utils };
@@ -1,4 +1,4 @@
1
- var _excluded = ["header", "mainAction", "extra", "actionRef", "dataFilter", "dataFilterFormRef", "rowSelection"];
1
+ var _excluded = ["header", "mainAction", "extra", "actionRef", "dataFilter", "dataFilterFormRef", "afterDataFilter", "rowSelection"];
2
2
 
3
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; }
4
4
 
@@ -29,6 +29,7 @@ var Layout = function Layout(props) {
29
29
  actionRef = props.actionRef,
30
30
  dataFilter = props.dataFilter,
31
31
  dataFilterFormRef = props.dataFilterFormRef,
32
+ afterDataFilter = props.afterDataFilter,
32
33
  rowSelection = props.rowSelection,
33
34
  otherProps = _objectWithoutProperties(props, _excluded); // 渲染主操作区
34
35
 
@@ -100,7 +101,7 @@ var Layout = function Layout(props) {
100
101
  addonAfter: renderAddonAfter()
101
102
  }, dataFilter));
102
103
  } else if ((dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema2 = dataFilter.schema) === null || _dataFilter$schema2 === void 0 ? void 0 : _dataFilter$schema2.length) >= 0) {
103
- return /*#__PURE__*/React.createElement(QueryFilter, _objectSpread({
104
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(QueryFilter, _objectSpread({
104
105
  formRef: dataFilterFormRef,
105
106
  onExpand: function onExpand(expand) {
106
107
  // 全屏模式下展开收起过滤器需要重新计算tableMaxHeight
@@ -117,7 +118,9 @@ var Layout = function Layout(props) {
117
118
  },
118
119
  addonBefore: renderMainAction(),
119
120
  addonAfter: renderAddonAfter()
120
- }, dataFilter));
121
+ }, dataFilter)), afterDataFilter && /*#__PURE__*/React.createElement("div", {
122
+ className: "mb8 ".concat(cls('after-data-filter-wrapper'))
123
+ }, afterDataFilter));
121
124
  }
122
125
  } else if (mainAction) {
123
126
  // 没传 dataFilter 但是传了 mainAction
package/es/table/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context"];
1
+ var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "afterDataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context"];
2
2
 
3
3
  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); }
4
4
 
@@ -118,6 +118,7 @@ var ProTable = function ProTable(props) {
118
118
  mainAction = props.mainAction,
119
119
  extra = props.extra,
120
120
  propsDataFilter = props.dataFilter,
121
+ afterDataFilter = props.afterDataFilter,
121
122
  toolBar = props.toolBar,
122
123
  propsColumns = props.columns,
123
124
  useRowSelection = props.useRowSelection,
@@ -806,6 +807,7 @@ var ProTable = function ProTable(props) {
806
807
  actionRef: actionRef,
807
808
  columns: propsColumns,
808
809
  dataFilter: dataFilter,
810
+ afterDataFilter: afterDataFilter,
809
811
  dataFilterFormRef: isFullScreen ? fullscreenDataFilterFormRef : normalDataFilterFormRef,
810
812
  rowSelection: rowSelection,
811
813
  filterColumnType: filterColumnType
@@ -1,16 +1,9 @@
1
1
  $prefix: 'teamix-pro-table';
2
2
  $fullscreenPadding: 24px;
3
3
 
4
- .next-overlay-wrapper {
5
- --checkbox-select-icon-content: '\ead7';
6
- --checkbox-semi-select-icon-content: '\ead5';
7
- }
8
-
9
4
  .#{$prefix} {
10
5
  background: var(--table-row-bg, #ffffff);
11
6
  position: relative;
12
- --checkbox-select-icon-content: '\ead7';
13
- --checkbox-semi-select-icon-content: '\ead5';
14
7
  &-footer {
15
8
  padding: 8px 0;
16
9
  width: 100%;
@@ -121,7 +114,7 @@ $fullscreenPadding: 24px;
121
114
  }
122
115
 
123
116
  .next-table {
124
- .next-form-preview.next-form-preview {
117
+ .next-form-preview {
125
118
  line-height: unset;
126
119
  }
127
120
  &-row {
@@ -141,4 +134,4 @@ $fullscreenPadding: 24px;
141
134
  a:hover {
142
135
  color: var(--color-brand1-5);
143
136
  }
144
- }
137
+ }
@@ -256,6 +256,8 @@ export declare type ProTableTopAreaProps = {
256
256
  extra?: ProActionButtonProps | React.ReactNode | React.ReactNode[];
257
257
  /** 数据过滤区 */
258
258
  dataFilter?: ProTableDataFilterProps;
259
+ /** 数据过滤区下方自定义区域 */
260
+ afterDataFilter?: React.ReactNode;
259
261
  /** 传给 QueryFilter 的 formRef */
260
262
  dataFilterFormRef?: any;
261
263
  /** 排序、筛选列展示状态 */
@@ -154,7 +154,7 @@ var DialogForm = function DialogForm(props) {
154
154
  }
155
155
  }, /*#__PURE__*/_react.default.createElement(_form.default, _objectSpread(_objectSpread({
156
156
  form: form,
157
- schema: (0, _utils.getTargetValue)(formSchema, context)
157
+ schema: formSchema
158
158
  }, getDefaultFormPropsByDialogSize(size)), (0, _utils2.addContext)((0, _utils.getTargetValue)(others, context), context))));
159
159
  };
160
160
 
@@ -85,7 +85,8 @@ var FooterForm = function FooterForm(props) {
85
85
  layout: "inline",
86
86
  feedbackLayout: "none",
87
87
  form: form,
88
- schema: (0, _utils.getTargetValue)(schema, context)
88
+ context: context,
89
+ schema: schema
89
90
  });
90
91
  };
91
92
 
@@ -41,6 +41,8 @@ export interface ProCardProps extends Omit<React.HTMLAttributes<HTMLElement>, 't
41
41
  centered?: boolean;
42
42
  /** 加载中状态 */
43
43
  loading?: boolean;
44
+ /** 是否只是内容区加载,标题正常显示 */
45
+ contentLoading?: boolean;
44
46
  /** 空状态 */
45
47
  empty?: boolean;
46
48
  /** 边框颜色 */
package/lib/card/index.js CHANGED
@@ -54,7 +54,7 @@ Object.keys(_cardContainer).forEach(function (key) {
54
54
  });
55
55
  });
56
56
  var _excluded = ["context"],
57
- _excluded2 = ["children", "title", "subTitle", "tooltip", "tooltipIcon", "tags", "description", "extra", "actions", "message", "style", "className", "image", "hoveredShadow", "divider", "bordered", "compacted", "centered", "loading", "empty", "borderColor", "backgroundColor", "contentClassName", "contentStyle", "direction", "wrap", "spacing", "split", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "context"];
57
+ _excluded2 = ["children", "title", "subTitle", "tooltip", "tooltipIcon", "tags", "description", "extra", "actions", "message", "style", "className", "image", "hoveredShadow", "divider", "bordered", "compacted", "centered", "loading", "contentLoading", "empty", "borderColor", "backgroundColor", "contentClassName", "contentStyle", "direction", "wrap", "spacing", "split", "collapsible", "defaultCollapsed", "collapsed", "onCollapse", "context"];
58
58
 
59
59
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
60
60
 
@@ -133,6 +133,7 @@ var ProCard = function ProCard(props) {
133
133
  compacted = props.compacted,
134
134
  centered = props.centered,
135
135
  loading = props.loading,
136
+ contentLoading = props.contentLoading,
136
137
  empty = props.empty,
137
138
  borderColor = props.borderColor,
138
139
  backgroundColor = props.backgroundColor,
@@ -281,7 +282,7 @@ var ProCard = function ProCard(props) {
281
282
  component: "img",
282
283
  src: image
283
284
  }), (title || extra) && /*#__PURE__*/_react.default.createElement(_components.Card.Header, {
284
- title: loading ? /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Card.Title, null) : renderTitle(),
285
+ title: loading && !contentLoading ? /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Card.Title, null) : renderTitle(),
285
286
  subTitle: !loading && subTitle,
286
287
  extra: !loading && renderActionGroup(extra, context)
287
288
  }), hasDivider && /*#__PURE__*/_react.default.createElement(_components.Card.Divider, null), showContent && /*#__PURE__*/_react.default.createElement(_components.Card.Content, {
@@ -289,7 +290,7 @@ var ProCard = function ProCard(props) {
289
290
  padding: 0,
290
291
  margin: 0
291
292
  } : {}
292
- }, loading && /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Card.Content, null), !loading && /*#__PURE__*/_react.default.createElement("div", {
293
+ }, (loading || contentLoading) && /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Card.Content, null), !loading && /*#__PURE__*/_react.default.createElement("div", {
293
294
  className: cardContentClassName,
294
295
  style: cardContentStyle
295
296
  }, empty && /*#__PURE__*/_react.default.createElement("div", {
@@ -122,12 +122,11 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
122
122
  validateFirst: validateFirst
123
123
  });
124
124
  }, []);
125
- var prefixCls = (0, _utils.usePrefixCls)('teamix-pro-form');
125
+ var prefixCls = (0, _utils.usePrefixCls)('teamix-pro-form'); // 由于Actions需要,解构context供使用。原context键名的上下文继续保留。
126
126
 
127
- var mergedScope = _objectSpread(_objectSpread(_objectSpread({}, globalScope), scope), {}, {
127
+ var mergedScope = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, context), globalScope), scope), {}, {
128
128
  context: context
129
- }); // context需要实名不能解构
130
-
129
+ });
131
130
 
132
131
  var mergedComponents = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, globalComponents), components), formilyComponents), _ProField.default);
133
132
 
@@ -160,10 +159,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
160
159
  }).finally(function () {
161
160
  onInitialComplete === null || onInitialComplete === void 0 ? void 0 : onInitialComplete(form);
162
161
  });
163
- } // 配置国际化
164
-
165
-
166
- (0, _core.setValidateLanguage)((0, _utils.getLanguage)() || 'zh-cn');
162
+ }
167
163
  }, []); // 添加 onChange 事件
168
164
 
169
165
  (0, _react.useMemo)(function () {
@@ -187,6 +183,10 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
187
183
  });
188
184
  }
189
185
  }, [onChange]);
186
+ (0, _react.useEffect)(function () {
187
+ // 配置国际化
188
+ (0, _core.setValidateLanguage)((0, _utils.getLanguage)() || 'zh-cn');
189
+ }, []);
190
190
  return /*#__PURE__*/_react.default.createElement(_formily.Form, _objectSpread(_objectSpread(_objectSpread({
191
191
  className: (0, _utils.cls)(prefixCls(), className)
192
192
  }, otherProps), getTeamixLayout), {}, {
@@ -36,8 +36,7 @@
36
36
  .#{$teamix-pro-field}-radio,
37
37
  .#{$teamix-pro-field}-switch,
38
38
  .#{$teamix-pro-field}-colorradio,
39
- .#{$teamix-pro-field}-range,
40
- .#{$css-prefix}btn-text {
39
+ .#{$teamix-pro-field}-range {
41
40
  line-height: var(--form-element-medium-height, 32px);
42
41
  }
43
42
  > .#{$css-prefix}btn-text {
@@ -109,6 +108,21 @@
109
108
  }
110
109
  }
111
110
 
111
+ // 尺寸 - small
112
+ .#{$form-item-cls}-size-small {
113
+ // 预览态行高
114
+ .#{$css-prefix}form-preview {
115
+ line-height: var(--form-element-small-height, 24px);
116
+ }
117
+ }
118
+ // 尺寸 - large
119
+ .#{$form-item-cls}-size-large {
120
+ // 预览态行高
121
+ .#{$css-prefix}form-preview {
122
+ line-height: var(--form-element-large-height, 36px);
123
+ }
124
+ }
125
+
112
126
  // Icon
113
127
  .#{$css-prefix}formily-icon {
114
128
  transform: translate(0, -1px);
@@ -190,23 +204,6 @@
190
204
  }
191
205
  }
192
206
 
193
- // 数组类组件添加按钮
194
- .#{$css-prefix}btn.#{$form-array}-base-addition {
195
- border-style: dashed;
196
- .#{$css-prefix}formily-icon {
197
- margin-right: 4px;
198
- }
199
- }
200
- // 数组类ArrayItem Icon text 居中
201
- .#{$form-array}-items-item-inner {
202
- .#{$css-prefix}space-item {
203
- > .#{$css-prefix}formily-icon.#{$css-prefix}btn-text {
204
- line-height: inherit !important;
205
- margin-right: 0;
206
- }
207
- }
208
- }
209
-
210
207
  // Editable预览态行高
211
208
  .#{$css-prefix}formily-editable-content {
212
209
  line-height: var(--form-element-medium-height, 32px);
@@ -296,6 +293,20 @@
296
293
  .form-array-base-icon {
297
294
  cursor: pointer;
298
295
  }
296
+ // 数组类组件添加按钮
297
+ .#{$css-prefix}btn.#{$form-array}-base-addition {
298
+ border-style: dashed;
299
+ .#{$css-prefix}formily-icon {
300
+ margin-right: 4px;
301
+ }
302
+ }
303
+ .#{$form-array}-items {
304
+ .#{$form-item-cls}-control-content-component {
305
+ > .#{$css-prefix}btn-text.#{$form-array}-base-addition {
306
+ line-height: var(--form-element-medium-height, 32px);
307
+ }
308
+ }
309
+ }
299
310
 
300
311
  // ArrayCard
301
312
  .#{$form-array}-cards-item {
@@ -324,6 +335,18 @@
324
335
  align-items: center;
325
336
  }
326
337
 
338
+ // todo 此处做覆盖,formily改为变量后可移除
339
+ .#{$form-array}-items-card {
340
+ border-color: var(--card-border-color, #eaeaea);
341
+ background: var(--card-background, #ffffff);
342
+ .#{$css-prefix}formily-item:not(.#{$css-prefix}formily-item-feedback-layout-popover) {
343
+ .#{$css-prefix}formily-item-help {
344
+ background: var(--card-background, #ffffff);
345
+ box-shadow: 0 0 10px var(--card-border-color, #eaeaea);
346
+ }
347
+ }
348
+ }
349
+
327
350
  /* hack todo remove */
328
351
  .#{$form-item-cls}-control-content-component {
329
352
  .#{$teamix-pro-field}-tooltip.#{$teamix-pro-field}-checkbox {
package/lib/index.d.ts CHANGED
@@ -27,5 +27,5 @@ export * from './table';
27
27
  export * from './sidebar';
28
28
  export * from './utils';
29
29
  export * from './timeline';
30
- declare const version = "1.4.1";
30
+ declare const version = "1.4.4";
31
31
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -307,5 +307,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
307
307
  // 设置图标源
308
308
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
309
309
 
310
- var version = '1.4.1';
310
+ var version = '1.4.4';
311
311
  exports.version = version;
@@ -21,7 +21,7 @@ var _QuickAction = _interopRequireDefault(require("../QuickAction"));
21
21
 
22
22
  require("./index.scss");
23
23
 
24
- var _excluded = ["header", "mainAction", "extra", "actionRef", "dataFilter", "dataFilterFormRef", "rowSelection"];
24
+ var _excluded = ["header", "mainAction", "extra", "actionRef", "dataFilter", "dataFilterFormRef", "afterDataFilter", "rowSelection"];
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
@@ -50,6 +50,7 @@ var Layout = function Layout(props) {
50
50
  actionRef = props.actionRef,
51
51
  dataFilter = props.dataFilter,
52
52
  dataFilterFormRef = props.dataFilterFormRef,
53
+ afterDataFilter = props.afterDataFilter,
53
54
  rowSelection = props.rowSelection,
54
55
  otherProps = _objectWithoutProperties(props, _excluded); // 渲染主操作区
55
56
 
@@ -121,7 +122,7 @@ var Layout = function Layout(props) {
121
122
  addonAfter: renderAddonAfter()
122
123
  }, dataFilter));
123
124
  } else if ((dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema2 = dataFilter.schema) === null || _dataFilter$schema2 === void 0 ? void 0 : _dataFilter$schema2.length) >= 0) {
124
- return /*#__PURE__*/_react.default.createElement(_form.QueryFilter, _objectSpread({
125
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_form.QueryFilter, _objectSpread({
125
126
  formRef: dataFilterFormRef,
126
127
  onExpand: function onExpand(expand) {
127
128
  // 全屏模式下展开收起过滤器需要重新计算tableMaxHeight
@@ -138,7 +139,9 @@ var Layout = function Layout(props) {
138
139
  },
139
140
  addonBefore: renderMainAction(),
140
141
  addonAfter: renderAddonAfter()
141
- }, dataFilter));
142
+ }, dataFilter)), afterDataFilter && /*#__PURE__*/_react.default.createElement("div", {
143
+ className: "mb8 ".concat(cls('after-data-filter-wrapper'))
144
+ }, afterDataFilter));
142
145
  }
143
146
  } else if (mainAction) {
144
147
  // 没传 dataFilter 但是传了 mainAction
@@ -53,7 +53,7 @@ Object.keys(_typing).forEach(function (key) {
53
53
  }
54
54
  });
55
55
  });
56
- var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context"];
56
+ var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "afterDataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context"];
57
57
 
58
58
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
59
 
@@ -161,6 +161,7 @@ var ProTable = function ProTable(props) {
161
161
  mainAction = props.mainAction,
162
162
  extra = props.extra,
163
163
  propsDataFilter = props.dataFilter,
164
+ afterDataFilter = props.afterDataFilter,
164
165
  toolBar = props.toolBar,
165
166
  propsColumns = props.columns,
166
167
  useRowSelection = props.useRowSelection,
@@ -849,6 +850,7 @@ var ProTable = function ProTable(props) {
849
850
  actionRef: actionRef,
850
851
  columns: propsColumns,
851
852
  dataFilter: dataFilter,
853
+ afterDataFilter: afterDataFilter,
852
854
  dataFilterFormRef: isFullScreen ? fullscreenDataFilterFormRef : normalDataFilterFormRef,
853
855
  rowSelection: rowSelection,
854
856
  filterColumnType: filterColumnType
@@ -1,16 +1,9 @@
1
1
  $prefix: 'teamix-pro-table';
2
2
  $fullscreenPadding: 24px;
3
3
 
4
- .next-overlay-wrapper {
5
- --checkbox-select-icon-content: '\ead7';
6
- --checkbox-semi-select-icon-content: '\ead5';
7
- }
8
-
9
4
  .#{$prefix} {
10
5
  background: var(--table-row-bg, #ffffff);
11
6
  position: relative;
12
- --checkbox-select-icon-content: '\ead7';
13
- --checkbox-semi-select-icon-content: '\ead5';
14
7
  &-footer {
15
8
  padding: 8px 0;
16
9
  width: 100%;
@@ -121,7 +114,7 @@ $fullscreenPadding: 24px;
121
114
  }
122
115
 
123
116
  .next-table {
124
- .next-form-preview.next-form-preview {
117
+ .next-form-preview {
125
118
  line-height: unset;
126
119
  }
127
120
  &-row {
@@ -141,4 +134,4 @@ $fullscreenPadding: 24px;
141
134
  a:hover {
142
135
  color: var(--color-brand1-5);
143
136
  }
144
- }
137
+ }
@@ -256,6 +256,8 @@ export declare type ProTableTopAreaProps = {
256
256
  extra?: ProActionButtonProps | React.ReactNode | React.ReactNode[];
257
257
  /** 数据过滤区 */
258
258
  dataFilter?: ProTableDataFilterProps;
259
+ /** 数据过滤区下方自定义区域 */
260
+ afterDataFilter?: React.ReactNode;
259
261
  /** 传给 QueryFilter 的 formRef */
260
262
  dataFilterFormRef?: any;
261
263
  /** 排序、筛选列展示状态 */