@teamix/pro 1.1.37 → 1.2.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 (198) hide show
  1. package/README.md +14 -10
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +2486 -3754
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/es/actions/dialog-form.d.ts +5 -5
  7. package/es/actions/dialog-form.js +1 -5
  8. package/es/actions/dialog.d.ts +12 -0
  9. package/es/actions/dialog.js +104 -27
  10. package/es/actions/index.d.ts +54 -47
  11. package/es/actions/index.js +28 -22
  12. package/es/actions/index.scss +48 -2
  13. package/es/actions/request.d.ts +1 -1
  14. package/es/actions/request.js +2 -2
  15. package/es/card/index.d.ts +17 -5
  16. package/es/card/index.js +16 -11
  17. package/es/form/Components/ProField/index.d.ts +1 -161
  18. package/es/form/Components/ProField/index.js +34 -40
  19. package/es/form/Filter/index.js +2 -2
  20. package/es/form/ProForm/index.d.ts +2 -2
  21. package/es/form/ProForm/index.js +1 -6
  22. package/es/form/ProForm/index.scss +19 -1
  23. package/es/form/ProForm/useFieldRequest.d.ts +5 -0
  24. package/es/form/ProForm/useFieldRequest.js +26 -0
  25. package/es/form/SchemaForm/adapterDecorator.js +2 -2
  26. package/es/form/SchemaForm/index.d.ts +2 -2
  27. package/es/form/SchemaForm/index.js +12 -21
  28. package/es/form/SchemaForm/initializeArrayCards.d.ts +2 -2
  29. package/es/form/SchemaForm/initializeArrayCollapse.d.ts +2 -2
  30. package/es/form/SchemaForm/initializeArrayItems.d.ts +2 -2
  31. package/es/form/SchemaForm/initializeArrayTable.d.ts +2 -2
  32. package/es/form/SchemaForm/initializeDataSource.d.ts +2 -2
  33. package/es/form/SchemaForm/initializeDataSource.js +2 -2
  34. package/es/form/SchemaForm/initializeFormButton.d.ts +2 -2
  35. package/es/form/SchemaForm/initializeFormCollapse.d.ts +2 -2
  36. package/es/form/SchemaForm/initializeFormGroup.d.ts +2 -2
  37. package/es/form/SchemaForm/initializeFormStep.d.ts +3 -3
  38. package/es/form/SchemaForm/initializeFormTab.d.ts +2 -2
  39. package/es/form/SchemaForm/initializeRequest.d.ts +2 -2
  40. package/es/form/SchemaForm/initializeRequest.js +2 -2
  41. package/es/form/SchemaForm/initializeRules.js +44 -16
  42. package/es/form/SchemaForm/reactions.d.ts +5 -5
  43. package/es/form/SchemaForm/reactions.js +20 -18
  44. package/es/form/fieldTypeMap.d.ts +4 -0
  45. package/es/form/fieldTypeMap.js +41 -0
  46. package/es/form/index.d.ts +92 -4
  47. package/es/form/index.js +18 -5
  48. package/es/form/schemaNameMap.js +3 -0
  49. package/es/form/typing.d.ts +49 -26
  50. package/es/form/utils.d.ts +3 -1
  51. package/es/form/utils.js +38 -1
  52. package/es/form/warning.d.ts +2 -2
  53. package/es/index.d.ts +1 -1
  54. package/es/index.js +1 -1
  55. package/es/info/components/InfoGroup/index.js +73 -15
  56. package/es/info/components/InfoGroup/index.scss +45 -3
  57. package/es/info/components/InfoValueItem/index.js +9 -4
  58. package/es/info/components/InfoValueItem/index.scss +5 -1
  59. package/es/info/components/ProInfoItem/index.js +3 -3
  60. package/es/info/components/ProInfoItem/index.scss +1 -0
  61. package/es/info/components/baseInfo/index.d.ts +2 -3
  62. package/es/info/components/baseInfo/index.js +29 -10
  63. package/es/info/components/headerInfo/index.d.ts +2 -3
  64. package/es/info/components/tableInfo/index.d.ts +2 -3
  65. package/es/info/components/tableInfo/index.js +2 -2
  66. package/es/info/index.js +75 -51
  67. package/es/info/typing.d.ts +54 -36
  68. package/es/info/utils/index.d.ts +2 -2
  69. package/es/info/utils/utils.d.ts +1 -1
  70. package/es/nocode/pages/renderer.js +2 -2
  71. package/es/page-header/index.d.ts +34 -21
  72. package/es/page-header/index.js +39 -30
  73. package/es/page-header/index.scss +2 -1
  74. package/es/table/components/EmptyContent/index.d.ts +2 -0
  75. package/es/table/components/EmptyContent/index.js +11 -0
  76. package/es/table/components/Filter/index.d.ts +2 -2
  77. package/es/table/components/Filter/index.js +23 -10
  78. package/es/table/components/Filter/index.scss +1 -1
  79. package/es/table/components/Layout/index.js +2 -2
  80. package/es/table/components/QuickAction/index.d.ts +2 -2
  81. package/es/table/components/QuickAction/index.js +3 -3
  82. package/es/table/components/ToolBar/Fullscreen.js +1 -0
  83. package/es/table/index.js +76 -14
  84. package/es/table/index.scss +4 -0
  85. package/es/table/typing.d.ts +29 -14
  86. package/es/table/utils/columnRender.d.ts +3 -3
  87. package/es/table/utils/columnRender.js +2 -2
  88. package/es/table/utils/genProColumnToColumn.d.ts +2 -2
  89. package/es/table/utils/genProColumnToColumn.js +1 -1
  90. package/es/table/utils/index.js +33 -11
  91. package/es/templates/List/index.d.ts +2 -2
  92. package/es/utils/message.d.ts +3 -0
  93. package/es/utils/message.js +19 -0
  94. package/lib/actions/dialog-form.d.ts +5 -5
  95. package/lib/actions/dialog-form.js +1 -5
  96. package/lib/actions/dialog.d.ts +12 -0
  97. package/lib/actions/dialog.js +108 -26
  98. package/lib/actions/index.d.ts +54 -47
  99. package/lib/actions/index.js +37 -30
  100. package/lib/actions/index.scss +48 -2
  101. package/lib/actions/request.d.ts +1 -1
  102. package/lib/actions/request.js +2 -2
  103. package/lib/card/index.d.ts +17 -5
  104. package/lib/card/index.js +18 -12
  105. package/lib/form/Components/ProField/index.d.ts +1 -161
  106. package/lib/form/Components/ProField/index.js +32 -38
  107. package/lib/form/Filter/index.js +2 -2
  108. package/lib/form/ProForm/index.d.ts +2 -2
  109. package/lib/form/ProForm/index.js +1 -7
  110. package/lib/form/ProForm/index.scss +19 -1
  111. package/lib/form/ProForm/useFieldRequest.d.ts +5 -0
  112. package/lib/form/ProForm/useFieldRequest.js +37 -0
  113. package/lib/form/SchemaForm/adapterDecorator.js +4 -2
  114. package/lib/form/SchemaForm/index.d.ts +2 -2
  115. package/lib/form/SchemaForm/index.js +11 -22
  116. package/lib/form/SchemaForm/initializeArrayCards.d.ts +2 -2
  117. package/lib/form/SchemaForm/initializeArrayCollapse.d.ts +2 -2
  118. package/lib/form/SchemaForm/initializeArrayItems.d.ts +2 -2
  119. package/lib/form/SchemaForm/initializeArrayTable.d.ts +2 -2
  120. package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -2
  121. package/lib/form/SchemaForm/initializeDataSource.js +2 -2
  122. package/lib/form/SchemaForm/initializeFormButton.d.ts +2 -2
  123. package/lib/form/SchemaForm/initializeFormCollapse.d.ts +2 -2
  124. package/lib/form/SchemaForm/initializeFormGroup.d.ts +2 -2
  125. package/lib/form/SchemaForm/initializeFormStep.d.ts +3 -3
  126. package/lib/form/SchemaForm/initializeFormTab.d.ts +2 -2
  127. package/lib/form/SchemaForm/initializeRequest.d.ts +2 -2
  128. package/lib/form/SchemaForm/initializeRequest.js +1 -1
  129. package/lib/form/SchemaForm/initializeRules.js +41 -13
  130. package/lib/form/SchemaForm/reactions.d.ts +5 -5
  131. package/lib/form/SchemaForm/reactions.js +22 -20
  132. package/lib/form/fieldTypeMap.d.ts +4 -0
  133. package/lib/form/fieldTypeMap.js +48 -0
  134. package/lib/form/index.d.ts +92 -4
  135. package/lib/form/index.js +17 -31
  136. package/lib/form/schemaNameMap.js +3 -0
  137. package/lib/form/typing.d.ts +49 -26
  138. package/lib/form/utils.d.ts +3 -1
  139. package/lib/form/utils.js +43 -1
  140. package/lib/form/warning.d.ts +2 -2
  141. package/lib/index.d.ts +1 -1
  142. package/lib/index.js +1 -1
  143. package/lib/info/components/InfoGroup/index.js +76 -14
  144. package/lib/info/components/InfoGroup/index.scss +45 -3
  145. package/lib/info/components/InfoValueItem/index.js +8 -3
  146. package/lib/info/components/InfoValueItem/index.scss +5 -1
  147. package/lib/info/components/ProInfoItem/index.js +2 -2
  148. package/lib/info/components/ProInfoItem/index.scss +1 -0
  149. package/lib/info/components/baseInfo/index.d.ts +2 -3
  150. package/lib/info/components/baseInfo/index.js +29 -10
  151. package/lib/info/components/headerInfo/index.d.ts +2 -3
  152. package/lib/info/components/tableInfo/index.d.ts +2 -3
  153. package/lib/info/components/tableInfo/index.js +1 -1
  154. package/lib/info/index.js +73 -49
  155. package/lib/info/typing.d.ts +54 -36
  156. package/lib/info/utils/index.d.ts +2 -2
  157. package/lib/info/utils/utils.d.ts +1 -1
  158. package/lib/nocode/pages/renderer.js +1 -1
  159. package/lib/page-header/index.d.ts +34 -21
  160. package/lib/page-header/index.js +37 -28
  161. package/lib/page-header/index.scss +2 -1
  162. package/lib/table/components/EmptyContent/index.d.ts +2 -0
  163. package/lib/table/components/EmptyContent/index.js +25 -0
  164. package/lib/table/components/Filter/index.d.ts +2 -2
  165. package/lib/table/components/Filter/index.js +23 -10
  166. package/lib/table/components/Filter/index.scss +1 -1
  167. package/lib/table/components/Layout/index.js +1 -1
  168. package/lib/table/components/QuickAction/index.d.ts +2 -2
  169. package/lib/table/components/QuickAction/index.js +1 -1
  170. package/lib/table/components/ToolBar/Fullscreen.js +1 -0
  171. package/lib/table/index.js +77 -14
  172. package/lib/table/index.scss +4 -0
  173. package/lib/table/typing.d.ts +29 -14
  174. package/lib/table/utils/columnRender.d.ts +3 -3
  175. package/lib/table/utils/columnRender.js +1 -1
  176. package/lib/table/utils/genProColumnToColumn.d.ts +2 -2
  177. package/lib/table/utils/genProColumnToColumn.js +2 -2
  178. package/lib/table/utils/index.js +33 -11
  179. package/lib/templates/List/index.d.ts +2 -2
  180. package/lib/utils/message.d.ts +3 -0
  181. package/lib/utils/message.js +32 -0
  182. package/package.json +4 -4
  183. package/es/form/Components/Search/index.d.ts +0 -11
  184. package/es/form/Components/Search/index.js +0 -89
  185. package/es/form/SchemaForm/initializeArrayIcon.d.ts +0 -3
  186. package/es/form/SchemaForm/initializeArrayIcon.js +0 -62
  187. package/es/form/SchemaForm/initializeProField.d.ts +0 -5
  188. package/es/form/SchemaForm/initializeProField.js +0 -70
  189. package/es/info/utils/useInfoRequest.d.ts +0 -14
  190. package/es/info/utils/useInfoRequest.js +0 -76
  191. package/lib/form/Components/Search/index.d.ts +0 -11
  192. package/lib/form/Components/Search/index.js +0 -103
  193. package/lib/form/SchemaForm/initializeArrayIcon.d.ts +0 -3
  194. package/lib/form/SchemaForm/initializeArrayIcon.js +0 -73
  195. package/lib/form/SchemaForm/initializeProField.d.ts +0 -5
  196. package/lib/form/SchemaForm/initializeProField.js +0 -77
  197. package/lib/info/utils/useInfoRequest.d.ts +0 -14
  198. package/lib/info/utils/useInfoRequest.js +0 -85
@@ -30,6 +30,8 @@ var _useTableSelection = _interopRequireDefault(require("./utils/useTableSelecti
30
30
 
31
31
  var _Fullscreen = _interopRequireDefault(require("./components/ToolBar/Fullscreen"));
32
32
 
33
+ var _EmptyContent = _interopRequireDefault(require("./components/EmptyContent"));
34
+
33
35
  var _form = require("../form");
34
36
 
35
37
  var _actions = require("../actions");
@@ -235,7 +237,7 @@ var ProTable = function ProTable(props) {
235
237
  setShowLoading = _useState20[1]; // 存储定时器 id
236
238
 
237
239
 
238
- var autoRefreshTimerRef = (0, _react.useRef)(); // 获取header高度,用作全屏吸底吸顶高度计算
240
+ var autoRefreshTimerRef = (0, _react.useRef)(); // 获取header高度,用作全屏吸底吸底高度计算
239
241
 
240
242
  var getHeaderHeight = function getHeaderHeight() {
241
243
  var _tableDom$getElements, _tableDom$getElements2;
@@ -265,13 +267,35 @@ var ProTable = function ProTable(props) {
265
267
  var _useState23 = (0, _react.useState)(false),
266
268
  _useState24 = _slicedToArray(_useState23, 2),
267
269
  fullscreenState = _useState24[0],
268
- setFullscreenState = _useState24[1];
270
+ setFullscreenState = _useState24[1]; // 整个内容区是否超过一屏。用于表格在非全屏模式下的吸底
271
+
272
+
273
+ var _useState25 = (0, _react.useState)(false),
274
+ _useState26 = _slicedToArray(_useState25, 2),
275
+ footerSuctionState = _useState26[0],
276
+ setFooterSuctionState = _useState26[1];
269
277
  /** 筛选区域 form */
270
278
 
271
279
 
272
280
  var dataFilterForm = (0, _react.useMemo)(function () {
273
281
  return (0, _form.createForm)();
274
- }, []); // rowSelection 相关
282
+ }, []); // 获取内容区是否超出一屏(仅支持全家桶)
283
+
284
+ var getFooterSuctionState = function getFooterSuctionState() {
285
+ var containerDom = document.querySelector('.teamix-pro-page-container');
286
+
287
+ if (containerDom) {
288
+ var offsetHeight = containerDom.offsetHeight;
289
+ var scrollHeight = containerDom.scrollHeight;
290
+
291
+ if (offsetHeight < scrollHeight) {
292
+ setFooterSuctionState(true);
293
+ } else {
294
+ setFooterSuctionState(false);
295
+ }
296
+ }
297
+ }; // rowSelection 相关
298
+
275
299
 
276
300
  var rowSelectionHook = (0, _useTableSelection.default)(_objectSpread(_objectSpread({}, propsRowSelection), {}, {
277
301
  // 当初始出现骨架屏的时候,不可选择
@@ -387,12 +411,19 @@ var ProTable = function ProTable(props) {
387
411
  return _request(params);
388
412
  },
389
413
  reset: function reset() {
390
- (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
414
+ var _actionRef$current, _actionRef$current$se;
415
+
416
+ (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset()); // 清空列过滤参数
417
+
418
+ (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setFilterRules) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, {});
391
419
  dataFilterForm.reset();
392
420
  setCurrentPage(1);
393
421
 
394
422
  _request(_defineProperty({}, targetPageKey, 1));
395
423
  },
424
+ resetPage: function resetPage() {
425
+ setCurrentPage(1);
426
+ },
396
427
  clearRowSelection: function clearRowSelection() {
397
428
  rowSelectionHook.setSelectedRowKeys([]);
398
429
  rowSelectionHook.setSelectedRecords([]);
@@ -401,8 +432,11 @@ var ProTable = function ProTable(props) {
401
432
  pageInfo: {
402
433
  total: total,
403
434
  current: currentPage,
435
+ targetPageKey: targetPageKey,
436
+ targetPageSizeKey: targetPageSizeKey,
404
437
  pageSize: pageSize
405
438
  },
439
+ dataFilterForm: dataFilterForm,
406
440
  resetTableMaxBodyHeight: function resetTableMaxBodyHeight() {
407
441
  getHeaderHeight().then(function (height) {
408
442
  setHeaderHeight(height);
@@ -469,6 +503,11 @@ var ProTable = function ProTable(props) {
469
503
  });
470
504
  } else {
471
505
  onFormatResult(nextData);
506
+ } // 重新计算是否需要吸底
507
+
508
+
509
+ if (footerSuction) {
510
+ getFooterSuctionState();
472
511
  }
473
512
  },
474
513
  onError: function onError(error) {
@@ -478,12 +517,17 @@ var ProTable = function ProTable(props) {
478
517
  props.onError(error);
479
518
  } else {
480
519
  _components.Message.error(error.toString());
520
+ } // 重新计算是否需要吸底
521
+
522
+
523
+ if (footerSuction) {
524
+ getFooterSuctionState();
481
525
  }
482
526
  }
483
527
  }); // 请求函数
484
528
 
485
529
  function _request(params, noLoading) {
486
- var _actionRef$current, _actionRef$current$se, _objectSpread2;
530
+ var _actionRef$current$ge, _actionRef$current2, _actionRef$current2$g, _objectSpread2;
487
531
 
488
532
  // 如果没有传 url 且没有 customRequest,直接返回
489
533
  if (!url && !customRequest) {
@@ -492,13 +536,15 @@ var ProTable = function ProTable(props) {
492
536
 
493
537
  var nextShowLoading = !noLoading;
494
538
  nextShowLoading !== showLoading && setShowLoading(nextShowLoading); // 请求前需要优先清空列过滤条件
539
+ // actionRef.current?.setFilterRules?.({});
495
540
 
496
- (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setFilterRules) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, {});
497
541
  var sortParams = targetFormatSort(sort); // 筛选区请求参数
498
542
 
499
- var dataFilterParams = toJS(dataFilterForm.values); // 格式化后的请求参数
543
+ var dataFilterParams = toJS(dataFilterForm.values); // 列过滤请求参数
500
544
 
501
- var requestData = formatParams(_objectSpread(_objectSpread({}, !showPagination ? _objectSpread(_objectSpread(_objectSpread({}, dataFilterParams), propsParams), sortParams) : _objectSpread(_objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, targetPageKey, currentPage), _defineProperty(_objectSpread2, targetPageSizeKey, pageSize), _objectSpread2), dataFilterParams), propsParams), sortParams)), params));
545
+ var columnsFilterParams = (_actionRef$current$ge = (_actionRef$current2 = actionRef.current) === null || _actionRef$current2 === void 0 ? void 0 : (_actionRef$current2$g = _actionRef$current2.getFilterRules) === null || _actionRef$current2$g === void 0 ? void 0 : _actionRef$current2$g.call(_actionRef$current2)) !== null && _actionRef$current$ge !== void 0 ? _actionRef$current$ge : {}; // 格式化后的请求参数
546
+
547
+ var requestData = formatParams(_objectSpread(_objectSpread({}, !showPagination ? _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, dataFilterParams), propsParams), sortParams), columnsFilterParams) : _objectSpread(_objectSpread(_objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, targetPageKey, currentPage), _defineProperty(_objectSpread2, targetPageSizeKey, pageSize), _objectSpread2), dataFilterParams), propsParams), sortParams), columnsFilterParams)), params));
502
548
 
503
549
  if (requestData) {
504
550
  if (autoRefreshTimerRef.current) {
@@ -545,6 +591,15 @@ var ProTable = function ProTable(props) {
545
591
  }
546
592
 
547
593
  (0, _react.useEffect)(function () {
594
+ // 监听 浏览器变化 更吸底状态
595
+ if (footerSuction) {
596
+ getFooterSuctionState();
597
+
598
+ window.onresize = function () {
599
+ getFooterSuctionState();
600
+ };
601
+ }
602
+
548
603
  if (requestWhenMount) {
549
604
  _request();
550
605
  }
@@ -553,6 +608,10 @@ var ProTable = function ProTable(props) {
553
608
  if (autoRefreshTimerRef.current) {
554
609
  clearTimeout(autoRefreshTimerRef.current);
555
610
  }
611
+
612
+ if (window.onresize) {
613
+ window.onresize = null;
614
+ }
556
615
  };
557
616
  }, []);
558
617
 
@@ -568,9 +627,12 @@ var ProTable = function ProTable(props) {
568
627
  var dataFilter = _objectSpread(_objectSpread({}, propsDataFilter), {}, {
569
628
  onFilter: (0, _lodash.default)(function () {
570
629
  (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(_objectSpread({}, toJS(dataFilterForm.values))));
571
- setCurrentPage(1);
572
630
 
573
- _request(_defineProperty({}, targetPageKey, 1));
631
+ if (dataFilterForm.validate()) {
632
+ setCurrentPage(1);
633
+
634
+ _request(_defineProperty({}, targetPageKey, 1));
635
+ }
574
636
  }, filterDebounce),
575
637
  onReset: function onReset() {
576
638
  (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
@@ -616,6 +678,7 @@ var ProTable = function ProTable(props) {
616
678
  sort: sort,
617
679
  primaryKey: primaryKey,
618
680
  rowSelection: rowSelection,
681
+ emptyContent: /*#__PURE__*/_react.default.createElement(_EmptyContent.default, null),
619
682
  sortIcons: (0, _getTableSortIcons.default)(),
620
683
  fixedHeader: fullscreenState,
621
684
  // 102px 为 底部 50px + 空格10px + 顶部 24px padding
@@ -651,7 +714,7 @@ var ProTable = function ProTable(props) {
651
714
 
652
715
  return /*#__PURE__*/_react.default.createElement("div", {
653
716
  className: cls('footer-action')
654
- }, /*#__PURE__*/_react.default.createElement(_actions.ActionGroup, _objectSpread(_objectSpread({}, targetFooterActions), {}, {
717
+ }, /*#__PURE__*/_react.default.createElement(_actions.ProActionGroup, _objectSpread(_objectSpread({}, targetFooterActions), {}, {
655
718
  context: _objectSpread(_objectSpread({}, defaultContext), targetFooterActions === null || targetFooterActions === void 0 ? void 0 : targetFooterActions.context)
656
719
  })));
657
720
  } else return footerAction;
@@ -679,7 +742,7 @@ var ProTable = function ProTable(props) {
679
742
  if (showSkeleton) {
680
743
  return /*#__PURE__*/_react.default.createElement("div", {
681
744
  className: cls('footer-left-wrapper')
682
- }, /*#__PURE__*/_react.default.createElement(_skeleton.BaseSkeleton.Footer.Operation, null));
745
+ }, /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Footer.Operation, null));
683
746
  } else {
684
747
  return /*#__PURE__*/_react.default.createElement("div", {
685
748
  className: cls('footer-left-wrapper')
@@ -701,7 +764,7 @@ var ProTable = function ProTable(props) {
701
764
  })
702
765
  }, renderRowSelection(), /*#__PURE__*/_react.default.createElement("div", {
703
766
  className: cls('footer-right-wrapper')
704
- }, showSkeleton ? /*#__PURE__*/_react.default.createElement(_skeleton.BaseSkeleton.Footer.Pagination, null) : /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread({
767
+ }, showSkeleton ? /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Footer.Pagination, null) : /*#__PURE__*/_react.default.createElement(_components.Pagination, _objectSpread({
705
768
  className: cls('pagination'),
706
769
  onChange: function onChange(number) {
707
770
  return onChangePagination(number);
@@ -733,7 +796,7 @@ var ProTable = function ProTable(props) {
733
796
  className: cls({
734
797
  '': true,
735
798
  fullscreen: fullscreenState,
736
- 'footer-suction': footerSuction
799
+ 'footer-suction': footerSuctionState && footerSuction
737
800
  }),
738
801
  ref: tableRef
739
802
  }, renderTable(), renderFooter()));
@@ -104,3 +104,7 @@ $fullscreenPadding: 24px;
104
104
  z-index: 2;
105
105
  }
106
106
  }
107
+
108
+ .next-table-empty {
109
+ --table-empty-padding: 48px;
110
+ }
@@ -2,19 +2,19 @@
2
2
  * ProTable 类型定义
3
3
  */
4
4
  import { ColumnProps, TableProps } from '@alicloudfe/components/types/table';
5
- import { IProFieldType, IProFieldFormatterProps, IProFieldOptionItem } from '../field';
5
+ import { ProFieldType, ProFieldRenderProps, ProFieldDataSourceItem } from '../field';
6
6
  import { IFilterProps } from '../form';
7
- import { ActionGroupProps, IActionButton } from '../actions';
7
+ import { ActionGroupProps, ProActionButtonProps } from '../actions';
8
8
  import { PaginationProps } from '@alicloudfe/components/types/pagination';
9
9
  import { HeaderProps as ProTableHeaderProps } from '@teamix/utils';
10
10
  import { Method } from 'axios';
11
11
  import React from 'react';
12
12
  import type { Form as FormType } from '@formily/core';
13
- declare type IFieldRenderProps = keyof IProFieldFormatterProps;
13
+ declare type IFieldRenderProps = keyof ProFieldRenderProps;
14
14
  /** 列record函数 */
15
15
  declare type ProTableCellFunProp = (value: any, index: number, record: any) => any;
16
16
  declare type ITableCellRender = {
17
- [key in IFieldRenderProps]?: IProFieldFormatterProps[key] | ProTableCellFunProp;
17
+ [key in IFieldRenderProps]?: ProFieldRenderProps[key] | ProTableCellFunProp;
18
18
  } | ((...other: any) => React.ReactNode);
19
19
  declare type TDataService = {
20
20
  /** 翻页器总数 */
@@ -22,7 +22,7 @@ declare type TDataService = {
22
22
  /** 表格数据 */
23
23
  data?: any;
24
24
  };
25
- export declare type ProColumnProps = {
25
+ export declare type ProTableColumnProps = {
26
26
  /**
27
27
  * 会在 title 之后展示一个 icon,hover 之后提示一些信息
28
28
  */
@@ -32,7 +32,7 @@ export declare type ProColumnProps = {
32
32
  */
33
33
  tooltipIcon?: React.ReactNode;
34
34
  /** 对应 ProField 里面的 type */
35
- valueType?: IProFieldType;
35
+ valueType?: ProFieldType;
36
36
  /** 【列配置】是否默认隐藏列 */
37
37
  columnFilters?: boolean;
38
38
  /** 【列配置】是否禁用隐藏列 */
@@ -40,13 +40,15 @@ export declare type ProColumnProps = {
40
40
  /** 渲染单元格内容字段 */
41
41
  render?: ITableCellRender;
42
42
  /** 枚举值 */
43
- dataSource?: IProFieldOptionItem[] | ProTableCellFunProp;
43
+ dataSource?: ProFieldDataSourceItem[] | ProTableCellFunProp;
44
44
  /** 表头的过滤菜单项,当值为 true 时,自动使用 dataSource 生成 */
45
45
  filters?: boolean | ProTableColumnsFilterItemProps[];
46
46
  /** 表头的过滤菜单项过滤方式 single 单选 multiple 多选 */
47
47
  filtersMode?: 'single' | 'multiple';
48
48
  /** 表头的过滤菜单项在搜索之前的参数操作 */
49
49
  beforeFilter?: (rules: string[]) => string;
50
+ /** 表头的过滤菜单宽度 */
51
+ filtersWidth?: string | number;
50
52
  /** 操作组配置 */
51
53
  actionSchema?: ActionGroupProps;
52
54
  /** 指定列对应的字段,支持`a.b`形式的快速取值 和 数组取值 */
@@ -54,9 +56,10 @@ export declare type ProColumnProps = {
54
56
  /** 指定 valueType 为日期时间格式时,可以格式化日期时间 */
55
57
  format?: string;
56
58
  } & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode'>;
59
+ export declare type ProColumnProps = ProTableColumnProps;
57
60
  export declare type ProTableProps = {
58
61
  /** ProColums 定义,取代 Table 的 columns */
59
- columns: ProColumnProps[];
62
+ columns: ProTableColumnProps[];
60
63
  /** 请求地址 */
61
64
  url?: string;
62
65
  /** 请求方法 */
@@ -161,7 +164,15 @@ export declare type ProTableActionType = {
161
164
  current?: number;
162
165
  /** 每页数据量 */
163
166
  pageSize?: number;
167
+ /** 翻页页数的请求参数名*/
168
+ targetPageKey?: string;
169
+ /** 翻页单页数量的请求参数名 */
170
+ targetPageSizeKey?: string;
164
171
  };
172
+ /** 重置翻页器为1,不发送请求 */
173
+ resetPage?: () => void;
174
+ /** 获取数据过滤区表单实例 */
175
+ dataFilterForm?: FormType;
165
176
  } & ProTableActionTypeMutations;
166
177
  /** action State 定义 */
167
178
  export declare type ProTableActionTypeMutations = {
@@ -175,6 +186,8 @@ export declare type ProTableActionTypeMutations = {
175
186
  off?: (...args: any) => void;
176
187
  /** 设置 列 过滤规则 */
177
188
  setFilterRules?: (rules: ProTableColumnsFilterRulesItem) => void;
189
+ /** 获取 列 过滤规则 */
190
+ getFilterRules?: () => object;
178
191
  /** 重新计算表格maxHeight高度 */
179
192
  resetTableMaxBodyHeight?: () => void;
180
193
  };
@@ -183,7 +196,7 @@ export declare type ProTableActionTypeState = {
183
196
  fullScreenState: boolean;
184
197
  filterRules: ProTableColumnsFilterRulesItem;
185
198
  };
186
- export declare type dataFilterProps = {
199
+ export declare type ProTableDataFilterProps = {
187
200
  /** 展示形式 */
188
201
  mode?: 'inline' | 'panel';
189
202
  /** mode='panel' 时是否默认展开 */
@@ -193,25 +206,27 @@ export declare type dataFilterProps = {
193
206
  /** 搜索时是否传入值为空字符串的参数,默认不传 */
194
207
  searchEmptyString?: boolean;
195
208
  } & IFilterProps;
209
+ export declare type dataFilterProps = ProTableDataFilterProps;
196
210
  export declare type ProTableTopAreaProps = {
197
211
  /** 标题区 */
198
212
  header?: ProTableHeaderProps;
199
213
  /** 主操作区 */
200
214
  mainAction?: ActionGroupProps | React.ReactNode;
201
215
  /** 工具栏区 */
202
- toolBar?: boolean | toolBarItem[];
216
+ toolBar?: boolean | ProTableToolBarItem[];
203
217
  /** 快捷操作区 */
204
- extra?: IActionButton | React.ReactNode | React.ReactNode[];
218
+ extra?: ProActionButtonProps | React.ReactNode | React.ReactNode[];
205
219
  /** 数据过滤区 */
206
- dataFilter?: dataFilterProps;
220
+ dataFilter?: ProTableDataFilterProps;
207
221
  /** 数据过滤区 form 表单模型 */
208
222
  dataFilterForm?: FormType;
209
223
  };
210
224
  /** 单个工具栏 */
211
- declare type toolBarItem = React.ReactNode | 'refresh' | 'density' | 'filterColumn' | 'fullscreen';
225
+ export declare type ProTableToolBarItem = React.ReactNode | 'refresh' | 'density' | 'filterColumn' | 'fullscreen';
226
+ export declare type toolBarItem = ProTableToolBarItem;
212
227
  export declare type ProTableLayoutProps = {
213
228
  actionRef: React.MutableRefObject<ProTableActionType | undefined>;
214
- columns?: ProColumnProps[];
229
+ columns?: ProTableColumnProps[];
215
230
  rowSelection?: innerRowSelectionType | rowSelectionType;
216
231
  } & ProTableTopAreaProps;
217
232
  /** columns 列过滤 */
@@ -2,12 +2,12 @@
2
2
  * 渲染列的逻辑函数
3
3
  */
4
4
  import React from 'react';
5
- import { ProColumnProps, ProTableActionType } from '../typing';
5
+ import { ProTableColumnProps, ProTableActionType } from '../typing';
6
6
  /**
7
7
  * 增加了 icon 的功能 render title
8
8
  */
9
- export declare const renderColumnsTitle: (item: ProColumnProps, actionRef: React.MutableRefObject<ProTableActionType | undefined>) => JSX.Element;
9
+ export declare const renderColumnsTitle: (item: ProTableColumnProps, actionRef: React.MutableRefObject<ProTableActionType | undefined>) => JSX.Element;
10
10
  /**
11
11
  * 负责单元格的具体渲染
12
12
  */
13
- export declare const renderCell: (value: any, item: ProColumnProps, index: number, record: any, actionRef: React.MutableRefObject<ProTableActionType | undefined>) => JSX.Element;
13
+ export declare const renderCell: (value: any, item: ProTableColumnProps, index: number, record: any, actionRef: React.MutableRefObject<ProTableActionType | undefined>) => JSX.Element;
@@ -106,7 +106,7 @@ var renderCell = function renderCell(value, item, index, record, actionRef) {
106
106
  record: record,
107
107
  action: actionRef.current
108
108
  };
109
- return /*#__PURE__*/_react.default.createElement(_actions.ActionGroup, _objectSpread(_objectSpread({
109
+ return /*#__PURE__*/_react.default.createElement(_actions.ProActionGroup, _objectSpread(_objectSpread({
110
110
  type: "text"
111
111
  }, actionSchema), {}, {
112
112
  context: _objectSpread(_objectSpread({}, defaultContext), actionSchema.context)
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { ProColumnProps, ProTableActionType } from '../typing';
2
+ import { ProTableColumnProps, ProTableActionType } from '../typing';
3
3
  import { ColumnProps } from '@alicloudfe/components/types/table';
4
4
  /**
5
5
  * ProColumn => Column
6
6
  */
7
- export default function genProColumnToColumn(columns: ProColumnProps[],
7
+ export default function genProColumnToColumn(columns: ProTableColumnProps[],
8
8
  /** 是否渲染骨架屏 */
9
9
  showSkeleton: boolean, actionRef: React.MutableRefObject<ProTableActionType | undefined>): ColumnProps[];
@@ -41,9 +41,9 @@ showSkeleton, actionRef) {
41
41
  filters: undefined,
42
42
  sortable: false,
43
43
  dataIndex: dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.toString(),
44
- title: /*#__PURE__*/_react.default.createElement(_skeleton.BaseSkeleton.Table.TH, null),
44
+ title: /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Table.TH, null),
45
45
  cell: function cell() {
46
- return /*#__PURE__*/_react.default.createElement(_skeleton.BaseSkeleton.Table.TD, null);
46
+ return /*#__PURE__*/_react.default.createElement(_skeleton.ProSkeletonRaw.Table.TD, null);
47
47
  }
48
48
  });
49
49
  }
@@ -56,6 +56,28 @@ var mutations = {
56
56
  state.filterRules = rules;
57
57
  },
58
58
 
59
+ /**
60
+ * 获取筛选规则。为params
61
+ */
62
+ getFilterRules: function getFilterRules() {
63
+ var result = {};
64
+
65
+ if (state.filterRules) {
66
+ result = Object.entries(state.filterRules).map(function (_ref) {
67
+ var _ref2 = _slicedToArray(_ref, 2),
68
+ k = _ref2[0],
69
+ v = _ref2[1];
70
+
71
+ return _defineProperty({}, k, v.params);
72
+ }).reduce(function (acc, cur) {
73
+ acc = _objectSpread(_objectSpread({}, acc), cur);
74
+ return acc;
75
+ }, {});
76
+ }
77
+
78
+ return result;
79
+ },
80
+
59
81
  /**
60
82
  * 绑定监听函数
61
83
  * @param fun 监听函数
@@ -66,14 +88,14 @@ var mutations = {
66
88
  callback[state][name] = fun;
67
89
  },
68
90
  off: function off(name) {
69
- callback = Object.fromEntries(Object.entries(callback).map(function (_ref) {
70
- var _ref2 = _slicedToArray(_ref, 2),
71
- k = _ref2[0],
72
- v = _ref2[1];
91
+ callback = Object.fromEntries(Object.entries(callback).map(function (_ref4) {
92
+ var _ref5 = _slicedToArray(_ref4, 2),
93
+ k = _ref5[0],
94
+ v = _ref5[1];
73
95
 
74
- var filterV = Object.fromEntries(Object.entries(v).filter(function (_ref3) {
75
- var _ref4 = _slicedToArray(_ref3, 1),
76
- k = _ref4[0];
96
+ var filterV = Object.fromEntries(Object.entries(v).filter(function (_ref6) {
97
+ var _ref7 = _slicedToArray(_ref6, 1),
98
+ k = _ref7[0];
77
99
 
78
100
  return k !== name;
79
101
  }));
@@ -88,10 +110,10 @@ var useOn = function useOn(state) {
88
110
  }
89
111
 
90
112
  if (callback[state]) {
91
- Object.entries(callback[state]).forEach(function (_ref5) {
92
- var _ref6 = _slicedToArray(_ref5, 2),
93
- k = _ref6[0],
94
- v = _ref6[1];
113
+ Object.entries(callback[state]).forEach(function (_ref8) {
114
+ var _ref9 = _slicedToArray(_ref8, 2),
115
+ k = _ref9[0],
116
+ v = _ref9[1];
95
117
 
96
118
  if (v) {
97
119
  v === null || v === void 0 ? void 0 : v.apply(void 0, args);
@@ -1,8 +1,8 @@
1
1
  import { PageProps } from '../../page-container';
2
- import { PageHeaderProps } from '../../page-header';
2
+ import { ProPageHeaderProps } from '../../page-header';
3
3
  import { ProTableProps } from '../../table';
4
4
  export declare type ListPageProps = PageProps<{
5
- header: PageHeaderProps;
5
+ header: ProPageHeaderProps;
6
6
  content: ProTableProps;
7
7
  }>;
8
8
  export declare const ListPage: (props: ListPageProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { MessageProps } from '@alicloudfe/components/types/message';
2
+ export declare type ProMessageProps = MessageProps | string;
3
+ export declare const renderProMessage: (message: ProMessageProps) => JSX.Element;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderProMessage = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _components = require("@alicloudfe/components");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
+
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
20
+ var renderProMessage = function renderProMessage(message) {
21
+ if (typeof message === 'string') {
22
+ return /*#__PURE__*/_react.default.createElement(_components.Message, {
23
+ type: "notice"
24
+ }, message);
25
+ }
26
+
27
+ return /*#__PURE__*/_react.default.createElement(_components.Message, _objectSpread({
28
+ type: "notice"
29
+ }, message));
30
+ };
31
+
32
+ exports.renderProMessage = renderProMessage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamix/pro",
3
- "version": "1.1.37",
3
+ "version": "1.2.0",
4
4
  "description": "TeamixPro大包",
5
5
  "repository": "http://gitlab.alibaba-inc.com/teamix/pro",
6
6
  "author": "Velociraptor(迅猛龙)",
@@ -22,9 +22,9 @@
22
22
  ],
23
23
  "private": false,
24
24
  "dependencies": {
25
- "@formily/core": "2.0.0-rc.20",
26
- "@formily/react": "2.0.0-rc.20",
27
- "@teamix/formily": "2.0.0-rc.20",
25
+ "@formily/core": "2.0.2",
26
+ "@formily/react": "2.0.2",
27
+ "@teamix/formily": "2.0.2",
28
28
  "@teamix/hooks": "^0.1.0",
29
29
  "@teamix/pop-confirm": "^1.2.2",
30
30
  "@teamix/pro-field": "^1.0.0",
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- interface ISearchPanelProps {
3
- title?: React.ReactNode;
4
- className?: string;
5
- }
6
- declare type ISearchPanel = React.FC<ISearchPanelProps>;
7
- declare type ISearch = React.FC<any> & {
8
- SearchPanel?: ISearchPanel;
9
- };
10
- declare const Search: ISearch;
11
- export default Search;
@@ -1,89 +0,0 @@
1
- var _excluded = ["children"];
2
-
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
-
5
- 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; }
6
-
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
-
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
-
11
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
-
13
- import React from 'react';
14
- import cls from 'classnames';
15
- import { observer, useFieldSchema, useField, RecursionField } from '@formily/react';
16
- import { Input } from '@alicloudfe/components';
17
- import { usePrefixCls } from '@teamix/utils';
18
-
19
- var usePanels = function usePanels() {
20
- var searchField = useField();
21
- var schema = useFieldSchema();
22
- var panels = [];
23
- schema.mapProperties(function (schema, name) {
24
- var _schema$xComponent;
25
-
26
- var field = searchField.query(searchField.address.concat(name)).take();
27
- if ((field === null || field === void 0 ? void 0 : field.display) === 'none' || (field === null || field === void 0 ? void 0 : field.display) === 'hidden') return;
28
-
29
- if (((_schema$xComponent = schema['x-component']) === null || _schema$xComponent === void 0 ? void 0 : _schema$xComponent.indexOf('SearchPanel')) > -1) {
30
- var _schema$xComponentP, _schema$xComponentP2;
31
-
32
- panels.push({
33
- name: name,
34
- props: _objectSpread(_objectSpread({}, schema === null || schema === void 0 ? void 0 : schema['x-component-props']), {}, {
35
- title: (schema === null || schema === void 0 ? void 0 : (_schema$xComponentP = schema['x-component-props']) === null || _schema$xComponentP === void 0 ? void 0 : _schema$xComponentP.title) || (schema === null || schema === void 0 ? void 0 : schema.title),
36
- key: (schema === null || schema === void 0 ? void 0 : (_schema$xComponentP2 = schema['x-component-props']) === null || _schema$xComponentP2 === void 0 ? void 0 : _schema$xComponentP2.key) || name
37
- }),
38
- schema: schema
39
- });
40
- }
41
- });
42
- return panels;
43
- };
44
-
45
- var Search = observer(function (_ref) {
46
- var children = _ref.children,
47
- props = _objectWithoutProperties(_ref, _excluded);
48
-
49
- var prefixCls = usePrefixCls('formily-group');
50
- var panels = usePanels().map(function (_ref2, index) {
51
- var props = _ref2.props,
52
- schema = _ref2.schema,
53
- name = _ref2.name;
54
- return /*#__PURE__*/React.createElement(RecursionField, {
55
- key: index,
56
- schema: schema,
57
- name: name
58
- });
59
- });
60
- var first = null;
61
- var middle = null;
62
- var last = null;
63
-
64
- if (panels.length > 1) {
65
- first = panels[0];
66
- middle = panels.slice(1, panels.length);
67
-
68
- if (panels.length > 2) {
69
- middle = panels.slice(1, panels.length - 1);
70
- last = panels[panels.length - 1];
71
- }
72
- } else {
73
- middle = panels;
74
- }
75
-
76
- return /*#__PURE__*/React.createElement(Input.Group, _objectSpread(_objectSpread({}, props), {}, {
77
- className: cls(prefixCls, props.className),
78
- addonBefore: first,
79
- addonAfter: last
80
- }), middle);
81
- });
82
-
83
- var SearchPanel = function SearchPanel(_ref3) {
84
- var children = _ref3.children;
85
- return /*#__PURE__*/React.createElement(React.Fragment, null, children);
86
- };
87
-
88
- Search.SearchPanel = SearchPanel;
89
- export default Search;