linkmore-design 1.0.88 → 1.0.90

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 (65) hide show
  1. package/dist/LmEditTable/EditTable.d.ts +1 -0
  2. package/dist/Modal/index.d.ts +1 -0
  3. package/dist/Select/index.d.ts +2 -9
  4. package/dist/Tabs/TabPane.d.ts +5 -0
  5. package/dist/Tabs/hooks/useAnimateConfig.d.ts +3 -0
  6. package/dist/Tabs/hooks/useLegacyItems.d.ts +4 -0
  7. package/dist/Tabs/index.d.ts +21 -10
  8. package/dist/Tabs/index.old.d.ts +12 -0
  9. package/dist/index.d.ts +0 -2
  10. package/dist/index.umd.js +32861 -30078
  11. package/dist/index.umd.min.js +21 -21
  12. package/es/LmEditTable/EditTable.d.ts +1 -0
  13. package/es/LmEditTable/EditTable.js +26 -10
  14. package/es/LmTable/Table.js +1 -1
  15. package/es/LmTable/util.js +70 -21
  16. package/es/Modal/index.d.ts +1 -0
  17. package/es/Modal/index.js +8 -3
  18. package/es/Select/index.d.ts +2 -9
  19. package/es/Tabs/TabPane.d.ts +5 -0
  20. package/es/Tabs/TabPane.js +9 -0
  21. package/es/Tabs/hooks/useAnimateConfig.d.ts +3 -0
  22. package/es/Tabs/hooks/useAnimateConfig.js +38 -0
  23. package/es/Tabs/hooks/useLegacyItems.d.ts +4 -0
  24. package/es/Tabs/hooks/useLegacyItems.js +50 -0
  25. package/es/Tabs/index.d.ts +21 -10
  26. package/es/Tabs/index.js +73 -19
  27. package/es/Tabs/index.old.d.ts +12 -0
  28. package/es/Tabs/index.old.js +38 -0
  29. package/es/Tabs/style/index.css +40 -0
  30. package/es/index.d.ts +0 -2
  31. package/es/index.js +0 -1
  32. package/lib/LmEditTable/EditTable.d.ts +1 -0
  33. package/lib/LmEditTable/EditTable.js +25 -10
  34. package/lib/LmTable/Table.js +1 -1
  35. package/lib/LmTable/util.js +70 -21
  36. package/lib/Modal/index.d.ts +1 -0
  37. package/lib/Modal/index.js +9 -3
  38. package/lib/Select/index.d.ts +2 -9
  39. package/lib/Tabs/TabPane.d.ts +5 -0
  40. package/lib/Tabs/TabPane.js +17 -0
  41. package/lib/Tabs/hooks/useAnimateConfig.d.ts +3 -0
  42. package/lib/Tabs/hooks/useAnimateConfig.js +50 -0
  43. package/lib/Tabs/hooks/useLegacyItems.d.ts +4 -0
  44. package/lib/Tabs/hooks/useLegacyItems.js +63 -0
  45. package/lib/Tabs/index.d.ts +21 -10
  46. package/lib/Tabs/index.js +84 -19
  47. package/lib/Tabs/index.old.d.ts +12 -0
  48. package/lib/Tabs/index.old.js +52 -0
  49. package/lib/Tabs/style/index.css +40 -0
  50. package/lib/index.d.ts +0 -2
  51. package/lib/index.js +0 -8
  52. package/package.json +2 -2
  53. package/dist/InputRange/demos/basic.d.ts +0 -2
  54. package/dist/InputRange/index.d.ts +0 -8
  55. package/dist/InputRange/style/index.d.ts +0 -1
  56. package/es/InputRange/index.d.ts +0 -8
  57. package/es/InputRange/index.js +0 -67
  58. package/es/InputRange/style/index.css +0 -511
  59. package/es/InputRange/style/index.d.ts +0 -1
  60. package/es/InputRange/style/index.js +0 -1
  61. package/lib/InputRange/index.d.ts +0 -8
  62. package/lib/InputRange/index.js +0 -79
  63. package/lib/InputRange/style/index.css +0 -511
  64. package/lib/InputRange/style/index.d.ts +0 -1
  65. package/lib/InputRange/style/index.js +0 -3
@@ -18,6 +18,7 @@ interface ILmEditTable extends TableProps<any> {
18
18
  creatorButtonText?: string;
19
19
  style?: Record<string, any>;
20
20
  initData?: Record<string, any> | (() => Record<string, any>);
21
+ customAddClick?: () => void;
21
22
  };
22
23
  /** 是否为强制更新 */
23
24
  shouldUpdate?: boolean;
@@ -171,13 +171,16 @@ var InputRange = function InputRange(_a) {
171
171
  var _a$value = _a.value,
172
172
  value = _a$value === void 0 ? ['', ''] : _a$value,
173
173
  onChange = _a.onChange,
174
- editEnum = __rest(_a, ["value", "onChange"]); // 输入值改变
174
+ record = _a.record,
175
+ rowIndex = _a.rowIndex,
176
+ colIndex = _a.colIndex,
177
+ validator = _a.validator,
178
+ editEnum = __rest(_a, ["value", "onChange", "record", "rowIndex", "colIndex", "validator"]); // 输入值改变
175
179
 
176
180
 
177
- var nValue = (0, _toConsumableArray2.default)(value);
178
-
179
181
  var handleInput = function handleInput(e, type) {
180
182
  var v = e.target.value;
183
+ var nValue = (0, _toConsumableArray2.default)(value);
181
184
 
182
185
  if (type === 'prev') {
183
186
  nValue[0] = v;
@@ -186,10 +189,14 @@ var InputRange = function InputRange(_a) {
186
189
  if (type === 'next') {
187
190
  nValue[1] = v;
188
191
  }
189
- };
190
192
 
191
- var handleBlur = function handleBlur() {
192
- onChange(nValue);
193
+ if ((0, _lodash.isFunction)(validator)) {
194
+ if (validator(record, nValue, rowIndex, colIndex)) {
195
+ onChange(nValue);
196
+ }
197
+ } else {
198
+ onChange(nValue);
199
+ }
193
200
  };
194
201
 
195
202
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -199,14 +206,12 @@ var InputRange = function InputRange(_a) {
199
206
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input, Object.assign({
200
207
  value: value === null || value === void 0 ? void 0 : value[0],
201
208
  placeholder: "\u8BF7\u8F93\u5165",
202
- onBlur: handleBlur,
203
209
  onChange: function onChange(e) {
204
210
  return handleInput(e, 'prev');
205
211
  }
206
212
  }, editEnum)), "~", /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input, Object.assign({
207
213
  value: value === null || value === void 0 ? void 0 : value[1],
208
214
  placeholder: "\u8BF7\u8F93\u5165",
209
- onBlur: handleBlur,
210
215
  onChange: function onChange(e) {
211
216
  return handleInput(e, 'next');
212
217
  }
@@ -454,7 +459,11 @@ var EditableCell = function EditableCell(props) {
454
459
  return /*#__PURE__*/_react.default.createElement(InputRange, Object.assign({
455
460
  onChange: handleFormItemChange,
456
461
  ref: inputRef
457
- }, resultComponentProps));
462
+ }, resultComponentProps, {
463
+ record: record,
464
+ rowIndex: rowIndex,
465
+ colIndex: colIndex
466
+ }));
458
467
 
459
468
  case 'number':
460
469
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.InputNumber, Object.assign({
@@ -512,6 +521,12 @@ var EditableCell = function EditableCell(props) {
512
521
  }, resultComponentProps));
513
522
 
514
523
  case 'radio':
524
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, Object.assign({
525
+ onChange: handleFormItemChange,
526
+ ref: inputRef
527
+ }, resultComponentProps));
528
+
529
+ case 'radioGroup':
515
530
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, Object.assign({
516
531
  onChange: handleFormItemChange,
517
532
  ref: inputRef
@@ -1176,7 +1191,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1176
1191
  })), isShowAddAction && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
1177
1192
  className: "lm_editTable_add_bar",
1178
1193
  type: "dashed",
1179
- onClick: handleAdd,
1194
+ onClick: (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.customAddClick) || handleAdd,
1180
1195
  style: Object.assign({
1181
1196
  marginTop: 8
1182
1197
  }, (recordCreatorProps === null || recordCreatorProps === void 0 ? void 0 : recordCreatorProps.style) || {})
@@ -926,7 +926,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
926
926
  var config = (0, _react.useMemo)(function () {
927
927
  return (0, _objectSpread2.default)({
928
928
  defaultSize: 'small',
929
- tableLayout: 'fixed',
929
+ tableLayout: columnKeys ? 'auto' : 'fixed',
930
930
  rowKey: rowKey,
931
931
  debounceTime: 300,
932
932
  revalidateOnFocus: false,
@@ -61,20 +61,35 @@ function transformWithColGroup(columns, dataSource, columnKeys) {
61
61
 
62
62
 
63
63
  var columnKeysCopy = (0, _toConsumableArray2.default)(new Set(columnKeys));
64
- debugger;
64
+ /**
65
+ * @param {Array} source source数据源,树状结构,行分组会有children子级结构
66
+ * @param {Array} columns 列数据,用于表头,当列分组时会有children子级结构
67
+ * @param {Array<string>} oGroup 数组,列分组的keys值
68
+ * @param {string} markStr
69
+ * @returns
70
+ */
65
71
 
66
72
  var groupBy = function groupBy(source, columns, oGroup, markStr) {
67
73
  if (!(oGroup === null || oGroup === void 0 ? void 0 : oGroup.length)) {
68
- return columns.filter(function (c) {
69
- return columnKeysCopy.indexOf(c.dataIndex) === -1;
70
- }).map(function (item) {
71
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
72
- dataIndex: "".concat(markStr, "_").concat(item.dataIndex)
73
- });
74
+ // 表头数据的生成,生成新的 dataIndex
75
+ // dataIndex最后的i:筛选的值相同需要加索引
76
+ var handledColumns = [];
77
+ source.forEach(function (souItem, i) {
78
+ handledColumns = handledColumns.concat(columns.filter(function (c) {
79
+ // 过滤掉(表头操作) 使用列分组作为key的项
80
+ return columnKeysCopy.indexOf(c.dataIndex) === -1;
81
+ }).map(function (item) {
82
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
83
+ dataIndex: "".concat(markStr, "_").concat(item.dataIndex, "_").concat(i)
84
+ });
85
+ }));
74
86
  });
75
- }
87
+ return handledColumns;
88
+ } // 拷贝
89
+
90
+
91
+ var group = oGroup.slice(); // 获取列表的第一个值
76
92
 
77
- var group = oGroup.slice();
78
93
  var filterKey = group.shift();
79
94
  var map = dataGroup(source, filterKey);
80
95
  return Object.keys(map).map(function (item) {
@@ -88,20 +103,54 @@ function transformWithColGroup(columns, dataSource, columnKeys) {
88
103
  };
89
104
 
90
105
  var tempColumns = groupBy(dataSourceCopy, columnsCopy, columnKeysCopy, null);
91
- var tempDataSource = [dataSourceCopy.reduce(function (prev, cur) {
92
- var str = '';
93
- columnKeysCopy.forEach(function (dataIndex, i) {
94
- if (i !== 0) {
95
- str += '_';
106
+
107
+ var dataSourceBy = function dataSourceBy(source) {
108
+ var keyMap = new Map();
109
+ return [source.reduce(function (prev, sItem) {
110
+ if (sItem.children && sItem.children.length) {
111
+ sItem.children = dataSourceBy(sItem.children);
112
+
113
+ if (!prev) {
114
+ prev = [];
115
+ }
116
+
117
+ return [].concat((0, _toConsumableArray2.default)(prev), [sItem]);
118
+ } else {
119
+ var str = ''; // 根据筛选条件生成对应的前缀key值,比如[name, age] => 'name_xiaoming_age_18'
120
+
121
+ columnKeysCopy.forEach(function (dataIndex, i) {
122
+ if (i !== 0) {
123
+ str += '_';
124
+ }
125
+
126
+ str += "".concat(dataIndex, "_").concat(sItem[dataIndex]);
127
+ }); // 对dataSource的key值进行更改:例如:'name' => 'name_xiaoming_age_18_address'
128
+
129
+ Object.keys(sItem).forEach(function (key) {
130
+ var newKey = "".concat(str, "_").concat(key);
131
+
132
+ if (keyMap.has(newKey)) {
133
+ var value = keyMap.get(newKey) + 1;
134
+ keyMap.set(newKey, value);
135
+ newKey = "".concat(newKey, "_").concat(value);
136
+ } else {
137
+ keyMap.set(newKey, 0);
138
+ newKey = "".concat(newKey, "_", 0);
139
+ }
140
+
141
+ sItem[newKey] = sItem[key];
142
+ });
96
143
  }
97
144
 
98
- str += "".concat(dataIndex, "_").concat(cur[dataIndex]);
99
- });
100
- Object.keys(cur).forEach(function (key) {
101
- cur["".concat(str, "_").concat(key)] = cur[key];
102
- });
103
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), cur);
104
- }, {})];
145
+ if (!prev) {
146
+ prev = {};
147
+ }
148
+
149
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), sItem);
150
+ }, null)];
151
+ };
152
+
153
+ var tempDataSource = dataSourceBy(dataSourceCopy).flat();
105
154
  return {
106
155
  columns: tempColumns,
107
156
  dataSource: tempDataSource
@@ -3,6 +3,7 @@ import { ModalProps } from 'antd';
3
3
  export interface ILMModalProps extends ModalProps {
4
4
  wrapClassName?: string;
5
5
  size?: 'default' | 'small';
6
+ open?: boolean;
6
7
  }
7
8
  declare const LMModal: React.FC<ILMModalProps> & React.FC<ModalProps> & import("antd/lib/modal/confirm").ModalStaticFunctions & {
8
9
  useModal: typeof import("antd/lib/modal/useModal").default;
@@ -17,6 +17,8 @@ var _Button = _interopRequireDefault(require("../Button"));
17
17
 
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
+ var _SizeContext = _interopRequireDefault(require("../ConfigProvider/SizeContext"));
21
+
20
22
  var __rest = void 0 && (void 0).__rest || function (s, e) {
21
23
  var t = {};
22
24
 
@@ -42,25 +44,29 @@ var CLMModal = function CLMModal(props) {
42
44
  okText = _props$okText === void 0 ? '确定' : _props$okText,
43
45
  _props$cancelText = props.cancelText,
44
46
  cancelText = _props$cancelText === void 0 ? '取消' : _props$cancelText,
45
- other = __rest(props, ["wrapClassName", "size", "onOk", "onCancel", "okText", "cancelText"]);
47
+ visible = props.visible,
48
+ open = props.open,
49
+ other = __rest(props, ["wrapClassName", "size", "onOk", "onCancel", "okText", "cancelText", "visible", "open"]);
46
50
 
51
+ var defaultFooterSize = _react.default.useContext(_SizeContext.default) || 'middle';
47
52
  return /*#__PURE__*/_react.default.createElement(_modal.default, Object.assign({
48
53
  wrapClassName: (0, _classnames.default)(wrapClassName, prefixCls),
49
54
  width: size === 'default' ? 552 : 416,
50
55
  footer: [/*#__PURE__*/_react.default.createElement(_Button.default, {
51
56
  onClick: onCancel,
52
57
  key: 'canncel_button',
53
- size: 'middle'
58
+ size: defaultFooterSize
54
59
  }, cancelText), /*#__PURE__*/_react.default.createElement(_Button.default, {
55
60
  type: "primary",
56
61
  onClick: onOk,
57
62
  key: 'ok_button',
58
- size: 'middle'
63
+ size: defaultFooterSize
59
64
  }, okText)]
60
65
  }, other, {
61
66
  onOk: onOk,
62
67
  onCancel: onCancel,
63
68
  okText: okText,
69
+ visible: visible || open,
64
70
  cancelText: cancelText
65
71
  }));
66
72
  };
@@ -6,13 +6,6 @@ export interface ISelectProps extends SelectProps {
6
6
  Option?: typeof Select.Option;
7
7
  OptGroup?: typeof Select.OptGroup;
8
8
  }
9
- declare const LMSelect: (<ValueType = any, OptionType extends import("rc-select/lib/Select").DefaultOptionType | import("rc-select/lib/Select").BaseOptionType = import("rc-select/lib/Select").DefaultOptionType>(props: SelectProps<ValueType, OptionType> & {
10
- children?: React.ReactNode;
11
- } & {
12
- ref?: React.Ref<import("antd").RefSelectProps>;
13
- }) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & {
14
- SECRET_COMBOBOX_MODE_DO_NOT_USE: string;
15
- Option: import("rc-select/lib/Option").OptionFC;
16
- OptGroup: import("rc-select/lib/OptGroup").OptionGroupFC;
17
- };
9
+ declare type SelectType = typeof Select & typeof Select.Option & typeof Select.OptGroup;
10
+ declare const LMSelect: SelectType;
18
11
  export default LMSelect;
@@ -0,0 +1,5 @@
1
+ import type * as React from 'react';
2
+ import type { TabPaneProps } from 'rc-tabs/lib/TabPanelList/TabPane';
3
+ declare const TabPane: React.FC<TabPaneProps>;
4
+ export { TabPaneProps };
5
+ export default TabPane;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var TabPane = function TabPane() {
9
+ return null;
10
+ };
11
+
12
+ if (process.env.NODE_ENV !== 'production') {
13
+ TabPane.displayName = 'DeprecatedTabPane';
14
+ }
15
+
16
+ var _default = TabPane;
17
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import type { AnimatedConfig } from 'rc-tabs/lib/interface';
2
+ import type { TabsProps } from '..';
3
+ export default function useAnimateConfig(prefixCls: string, animated?: TabsProps['animated']): AnimatedConfig;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useAnimateConfig;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var _motion = require("../../_util/motion");
13
+
14
+ var motion = {
15
+ motionAppear: false,
16
+ motionEnter: true,
17
+ motionLeave: true
18
+ };
19
+
20
+ function useAnimateConfig(prefixCls) {
21
+ var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
22
+ inkBar: true,
23
+ tabPane: false
24
+ };
25
+ var mergedAnimated;
26
+
27
+ if (animated === false) {
28
+ mergedAnimated = {
29
+ inkBar: false,
30
+ tabPane: false
31
+ };
32
+ } else if (animated === true) {
33
+ mergedAnimated = {
34
+ inkBar: true,
35
+ tabPane: true
36
+ };
37
+ } else {
38
+ mergedAnimated = Object.assign({
39
+ inkBar: true
40
+ }, (0, _typeof2.default)(animated) === 'object' ? animated : {});
41
+ }
42
+
43
+ if (mergedAnimated.tabPane) {
44
+ mergedAnimated.tabPaneMotion = Object.assign(Object.assign({}, motion), {
45
+ motionName: (0, _motion.getTransitionName)(prefixCls, 'switch')
46
+ });
47
+ }
48
+
49
+ return mergedAnimated;
50
+ }
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { Tab } from 'rc-tabs/lib/interface';
3
+ import type { TabsProps } from '..';
4
+ export default function useLegacyItems(items?: TabsProps['items'], children?: React.ReactNode): Tab[];
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = useLegacyItems;
11
+
12
+ var React = _interopRequireWildcard(require("react"));
13
+
14
+ var _toArray = _interopRequireDefault(require("rc-util/lib/Children/toArray"));
15
+
16
+ var _warning = _interopRequireDefault(require("../../_util/warning"));
17
+
18
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
19
+ var t = {};
20
+
21
+ for (var p in s) {
22
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
23
+ }
24
+
25
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
26
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
27
+ }
28
+ return t;
29
+ };
30
+
31
+ function filter(items) {
32
+ return items.filter(function (item) {
33
+ return item;
34
+ });
35
+ }
36
+
37
+ function useLegacyItems(items, children) {
38
+ if (items) {
39
+ return items;
40
+ }
41
+
42
+ (0, _warning.default)(!children, 'Tabs', 'Tabs.TabPane is deprecated. Please use `items` directly.');
43
+ var childrenItems = (0, _toArray.default)(children).map(function (node) {
44
+ if ( /*#__PURE__*/React.isValidElement(node)) {
45
+ var key = node.key,
46
+ props = node.props;
47
+
48
+ var _a = props || {},
49
+ tab = _a.tab,
50
+ restProps = __rest(_a, ["tab"]);
51
+
52
+ var item = Object.assign(Object.assign({
53
+ key: String(key)
54
+ }, restProps), {
55
+ label: tab
56
+ });
57
+ return item;
58
+ }
59
+
60
+ return null;
61
+ });
62
+ return filter(childrenItems);
63
+ }
@@ -1,12 +1,23 @@
1
- import React from 'react';
2
- import { Tabs, TabsProps } from 'antd';
3
- export interface ITabsProps extends TabsProps {
4
- className?: string;
5
- style?: React.CSSProperties;
6
- noBorder?: Boolean;
1
+ import type { TabsProps as RcTabsProps } from 'rc-tabs';
2
+ import * as React from 'react';
3
+ import type { SizeType } from '../ConfigProvider/SizeContext';
4
+ import { TabPaneProps } from './TabPane';
5
+ export declare type TabsType = 'line' | 'card' | 'editable-card';
6
+ export declare type TabsPosition = 'top' | 'right' | 'bottom' | 'left';
7
+ export type { TabPaneProps };
8
+ export interface TabsProps extends Omit<RcTabsProps, 'editable'> {
9
+ type?: TabsType;
10
+ size?: SizeType;
11
+ hideAdd?: boolean;
12
+ centered?: boolean;
13
+ addIcon?: React.ReactNode;
14
+ onEdit?: (e: React.MouseEvent | React.KeyboardEvent | string, action: 'add' | 'remove') => void;
15
+ children?: React.ReactNode;
16
+ noBorder?: boolean;
7
17
  }
8
- interface LmTabsInterface extends React.FC<ITabsProps> {
9
- TabPane?: typeof Tabs.TabPane;
18
+ declare function Tabs({ type, className, size: propSize, onEdit, hideAdd, centered, addIcon, children, items, animated, ...props }: TabsProps): JSX.Element;
19
+ declare namespace Tabs {
20
+ var TabPane: React.FC<TabPaneProps>;
21
+ var AntdTabs: typeof import("antd/lib/tabs").default;
10
22
  }
11
- declare const LMTabs: LmTabsInterface;
12
- export default LMTabs;
23
+ export default Tabs;
package/lib/Tabs/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -11,12 +13,32 @@ require("antd/es/tabs/style");
11
13
 
12
14
  var _tabs = _interopRequireDefault(require("antd/es/tabs"));
13
15
 
14
- var _react = _interopRequireDefault(require("react"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons/CloseOutlined"));
19
+
20
+ var _EllipsisOutlined = _interopRequireDefault(require("@ant-design/icons/EllipsisOutlined"));
21
+
22
+ var _PlusOutlined = _interopRequireDefault(require("@ant-design/icons/PlusOutlined"));
15
23
 
16
24
  var _classnames = _interopRequireDefault(require("classnames"));
17
25
 
26
+ var _rcTabs = _interopRequireDefault(require("rc-tabs"));
27
+
28
+ var React = _interopRequireWildcard(require("react"));
29
+
30
+ var _ConfigProvider = require("../ConfigProvider");
31
+
18
32
  var _SizeContext = _interopRequireDefault(require("../ConfigProvider/SizeContext"));
19
33
 
34
+ var _warning = _interopRequireDefault(require("../_util/warning"));
35
+
36
+ var _useAnimateConfig = _interopRequireDefault(require("./hooks/useAnimateConfig"));
37
+
38
+ var _useLegacyItems = _interopRequireDefault(require("./hooks/useLegacyItems"));
39
+
40
+ var _TabPane = _interopRequireDefault(require("./TabPane"));
41
+
20
42
  var __rest = void 0 && (void 0).__rest || function (s, e) {
21
43
  var t = {};
22
44
 
@@ -30,23 +52,66 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
30
52
  return t;
31
53
  };
32
54
 
33
- var prefixCls = 'lm_tabs';
34
-
35
- var LMTabs = function LMTabs(props) {
36
- var className = props.className,
37
- customizeSize = props.size,
38
- _props$noBorder = props.noBorder,
39
- noBorder = _props$noBorder === void 0 ? false : _props$noBorder,
40
- others = __rest(props, ["className", "size", "noBorder"]);
41
-
42
- var size = customizeSize || _react.default.useContext(_SizeContext.default) || 'middle';
43
- return /*#__PURE__*/_react.default.createElement(_tabs.default, Object.assign({
44
- size: size
45
- }, others, {
46
- className: (0, _classnames.default)(className, prefixCls, noBorder && 'lm_tabs_noborder')
47
- }));
48
- };
55
+ function Tabs(_a) {
56
+ var type = _a.type,
57
+ className = _a.className,
58
+ propSize = _a.size,
59
+ _onEdit = _a.onEdit,
60
+ hideAdd = _a.hideAdd,
61
+ centered = _a.centered,
62
+ addIcon = _a.addIcon,
63
+ children = _a.children,
64
+ items = _a.items,
65
+ animated = _a.animated,
66
+ props = __rest(_a, ["type", "className", "size", "onEdit", "hideAdd", "centered", "addIcon", "children", "items", "animated"]);
67
+
68
+ var customizePrefixCls = props.prefixCls,
69
+ _props$moreIcon = props.moreIcon,
70
+ moreIcon = _props$moreIcon === void 0 ? /*#__PURE__*/React.createElement(_EllipsisOutlined.default, null) : _props$moreIcon;
71
+
72
+ var _React$useContext = React.useContext(_ConfigProvider.ConfigContext),
73
+ getPrefixCls = _React$useContext.getPrefixCls,
74
+ direction = _React$useContext.direction;
75
+
76
+ var prefixCls = getPrefixCls('tabs', customizePrefixCls);
77
+ var editable;
78
+
79
+ if (type === 'editable-card') {
80
+ editable = {
81
+ onEdit: function onEdit(editType, _ref) {
82
+ var key = _ref.key,
83
+ event = _ref.event;
84
+ _onEdit === null || _onEdit === void 0 ? void 0 : _onEdit(editType === 'add' ? event : key, editType);
85
+ },
86
+ removeIcon: /*#__PURE__*/React.createElement(_CloseOutlined.default, null),
87
+ addIcon: addIcon || /*#__PURE__*/React.createElement(_PlusOutlined.default, null),
88
+ showAdd: hideAdd !== true
89
+ };
90
+ }
91
+
92
+ var rootPrefixCls = getPrefixCls();
93
+ (0, _warning.default)(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.');
94
+ var mergedItems = (0, _useLegacyItems.default)(items, children);
95
+ var mergedAnimated = (0, _useAnimateConfig.default)(prefixCls, animated);
96
+ return /*#__PURE__*/React.createElement(_SizeContext.default.Consumer, null, function (contextSize) {
97
+ var _classNames;
98
+
99
+ var size = propSize !== undefined ? propSize : contextSize;
100
+ return /*#__PURE__*/React.createElement(_rcTabs.default, Object.assign({
101
+ direction: direction,
102
+ moreTransitionName: "".concat(rootPrefixCls, "-slide-up")
103
+ }, props, {
104
+ items: mergedItems,
105
+ className: (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-").concat(size), size), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-card"), ['card', 'editable-card'].includes(type)), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-editable-card"), type === 'editable-card'), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-centered"), centered), _classNames), 'lm_tabs', props.noBorder && 'lm_tabs_noborder', className),
106
+ editable: editable,
107
+ moreIcon: moreIcon,
108
+ prefixCls: prefixCls,
109
+ animated: mergedAnimated
110
+ }));
111
+ });
112
+ }
49
113
 
50
- LMTabs.TabPane = _tabs.default.TabPane;
51
- var _default = LMTabs;
114
+ Tabs.TabPane = _TabPane.default;
115
+ Tabs.AntdTabs = _tabs.default;
116
+ var _default = Tabs;
52
117
  exports.default = _default;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Tabs, TabsProps } from 'antd';
3
+ export interface ITabsProps extends TabsProps {
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ noBorder?: Boolean;
7
+ }
8
+ interface LmTabsInterface extends React.FC<ITabsProps> {
9
+ TabPane?: typeof Tabs.TabPane;
10
+ }
11
+ declare const LMTabs: LmTabsInterface;
12
+ export default LMTabs;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ require("antd/es/tabs/style");
11
+
12
+ var _tabs = _interopRequireDefault(require("antd/es/tabs"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _SizeContext = _interopRequireDefault(require("../ConfigProvider/SizeContext"));
19
+
20
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
21
+ var t = {};
22
+
23
+ for (var p in s) {
24
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
25
+ }
26
+
27
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
28
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
29
+ }
30
+ return t;
31
+ };
32
+
33
+ var prefixCls = 'lm_tabs';
34
+
35
+ var LMTabs = function LMTabs(props) {
36
+ var className = props.className,
37
+ customizeSize = props.size,
38
+ _props$noBorder = props.noBorder,
39
+ noBorder = _props$noBorder === void 0 ? false : _props$noBorder,
40
+ others = __rest(props, ["className", "size", "noBorder"]);
41
+
42
+ var size = customizeSize || _react.default.useContext(_SizeContext.default) || 'middle';
43
+ return /*#__PURE__*/_react.default.createElement(_tabs.default, Object.assign({
44
+ size: size
45
+ }, others, {
46
+ className: (0, _classnames.default)(className, prefixCls, noBorder && 'lm_tabs_noborder')
47
+ }));
48
+ };
49
+
50
+ LMTabs.TabPane = _tabs.default.TabPane;
51
+ var _default = LMTabs;
52
+ exports.default = _default;