@lemon-fe/components 1.2.2 → 1.2.5

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.
@@ -17,7 +17,7 @@ interface ActionBtn extends ButtonProps {
17
17
  disabled?: boolean;
18
18
  } | ReactElement | null)[] | ReactElement;
19
19
  }
20
- interface Props {
20
+ export interface ActionsProps {
21
21
  actions: (ActionBtn | ReactElement | null)[];
22
22
  style?: CSSProperties;
23
23
  className?: string;
@@ -27,6 +27,10 @@ interface Props {
27
27
  */
28
28
  maxShowCount?: number;
29
29
  trackEventAttr?: string;
30
+ /**
31
+ * @description 默认按钮类型
32
+ */
33
+ defaultButtonType?: ButtonProps['type'];
30
34
  }
31
- declare function Actions(props: Props): JSX.Element;
35
+ declare function Actions(props: ActionsProps): JSX.Element;
32
36
  export default Actions;
@@ -1,34 +1,40 @@
1
+ var _excluded = ["dropDown", "text", "onClick", "action", "label", "type"];
1
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["dropDown", "text", "onClick", "action", "label"];
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
4
  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; }
7
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; }
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
6
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
7
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
8
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
9
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
10
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
11
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  import { Space, Dropdown, Menu, Button, Popover } from 'antd';
18
- import React, { Fragment, useState, isValidElement } from 'react';
18
+ import React, { Fragment, useState, isValidElement, useContext } from 'react';
19
19
  import classNames from 'classnames';
20
+ import { ComponentConfigureContext } from "../component-configure";
20
21
  import { PREFIX_CLS } from "../constants";
21
22
  import Icons from "../icons";
22
23
  function Actions(props) {
23
- var actions = props.actions,
24
- className = props.className,
25
- style = props.style,
26
- _props$prefixCls = props.prefixCls,
27
- prefixCls = _props$prefixCls === void 0 ? PREFIX_CLS : _props$prefixCls,
28
- _props$maxShowCount = props.maxShowCount,
29
- maxShowCount = _props$maxShowCount === void 0 ? Infinity : _props$maxShowCount,
30
- _props$trackEventAttr = props.trackEventAttr,
31
- trackEventAttr = _props$trackEventAttr === void 0 ? 'data-track-event' : _props$trackEventAttr;
24
+ var _useContext = useContext(ComponentConfigureContext),
25
+ defaultActionsProps = _useContext.Actions;
26
+ var _defaultActionsProps$ = _objectSpread(_objectSpread({}, defaultActionsProps), props),
27
+ actions = _defaultActionsProps$.actions,
28
+ className = _defaultActionsProps$.className,
29
+ style = _defaultActionsProps$.style,
30
+ _defaultActionsProps$2 = _defaultActionsProps$.prefixCls,
31
+ prefixCls = _defaultActionsProps$2 === void 0 ? PREFIX_CLS : _defaultActionsProps$2,
32
+ _defaultActionsProps$3 = _defaultActionsProps$.maxShowCount,
33
+ maxShowCount = _defaultActionsProps$3 === void 0 ? Infinity : _defaultActionsProps$3,
34
+ _defaultActionsProps$4 = _defaultActionsProps$.trackEventAttr,
35
+ trackEventAttr = _defaultActionsProps$4 === void 0 ? 'data-track-event' : _defaultActionsProps$4,
36
+ _defaultActionsProps$5 = _defaultActionsProps$.defaultButtonType,
37
+ defaultButtonType = _defaultActionsProps$5 === void 0 ? 'primary' : _defaultActionsProps$5;
32
38
  var _useState = useState(false),
33
39
  _useState2 = _slicedToArray(_useState, 2),
34
40
  visible = _useState2[0],
@@ -61,6 +67,8 @@ function Actions(props) {
61
67
  onClick = item.onClick,
62
68
  action = item.action,
63
69
  label = item.label,
70
+ _item$type = item.type,
71
+ buttonType = _item$type === void 0 ? defaultButtonType : _item$type,
64
72
  rest = _objectWithoutProperties(item, _excluded);
65
73
  var trackAttr = getTrackAttr(text);
66
74
  if ( /*#__PURE__*/isValidElement(text)) {
@@ -108,13 +116,14 @@ function Actions(props) {
108
116
  overlayStyle: {
109
117
  minWidth: 80
110
118
  },
119
+ type: buttonType,
111
120
  buttonsRender: function buttonsRender(_ref2) {
112
121
  var _ref3 = _slicedToArray(_ref2, 1),
113
122
  leftBtn = _ref3[0];
114
123
  return [leftBtn, /*#__PURE__*/React.createElement(Button, {
115
124
  icon: /*#__PURE__*/React.createElement(Icons.More, null),
116
- type: rest.type,
117
- key: "more"
125
+ key: "more",
126
+ type: buttonType
118
127
  })];
119
128
  }
120
129
  }, rest), /*#__PURE__*/React.createElement("span", trackAttr, text));
@@ -124,7 +133,9 @@ function Actions(props) {
124
133
  disabled: rest.disabled,
125
134
  overlay: overlay,
126
135
  trigger: ['click']
127
- }, /*#__PURE__*/React.createElement(Button, rest, text, /*#__PURE__*/React.createElement(Icons.Down, {
136
+ }, /*#__PURE__*/React.createElement(Button, _extends({
137
+ type: buttonType
138
+ }, rest), text, /*#__PURE__*/React.createElement(Icons.Down, {
128
139
  style: {
129
140
  opacity: 0.7
130
141
  }
@@ -132,7 +143,8 @@ function Actions(props) {
132
143
  }
133
144
  return /*#__PURE__*/React.createElement(Button, _extends({
134
145
  key: text,
135
- onClick: handleClick
146
+ onClick: handleClick,
147
+ type: buttonType
136
148
  }, trackAttr, rest), text);
137
149
  }), collapsedBtns.length > 0 ? /*#__PURE__*/React.createElement(Popover, {
138
150
  placement: "bottomRight",
@@ -1,10 +1,12 @@
1
1
  /// <reference types="react" />
2
+ import type { ActionsProps } from '../actions';
2
3
  import type { FilterProps } from '../filter/typings';
3
4
  import type { AgGridReactProps } from '@ag-grid-community/react';
4
5
  interface ContextProps {
5
6
  /** 目前DataGrid由于是类组件,比较难处理,只支持ag-grid自带的属性 */
6
7
  DataGrid?: Omit<AgGridReactProps<any>, 'rowSelection' | 'pagination'>;
7
8
  Filter?: FilterProps<any>;
9
+ Actions?: Partial<ActionsProps>;
8
10
  }
9
11
  export declare const ComponentConfigureContext: import("react").Context<ContextProps>;
10
12
  export declare const ComponentConfigureProvider: import("react").Provider<ContextProps>;
@@ -16,7 +16,7 @@ export declare type SelectEditorParams = Pick<SelectProps<any, BaseOptionType>,
16
16
  */
17
17
  action?: 'next' | 'stop' | 'none';
18
18
  };
19
- declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & Pick<SelectProps<any, BaseOptionType>, "disabled" | "mode" | "virtual" | "allowClear" | "showSearch" | "optionFilterProp" | "options" | "listHeight"> & {
19
+ declare const _default: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & Pick<SelectProps<any, BaseOptionType>, "disabled" | "mode" | "showSearch" | "allowClear" | "optionFilterProp" | "options" | "virtual" | "listHeight"> & {
20
20
  fieldNames?: {
21
21
  label: string;
22
22
  value: string;
@@ -91,15 +91,17 @@ export default /*#__PURE__*/forwardRef(function SelectEditor(props, ref) {
91
91
  width: '100%'
92
92
  },
93
93
  optionFilterProp: optionFilterProp,
94
+ onSelect: function onSelect() {
95
+ if (mode === undefined) {
96
+ nextAction();
97
+ }
98
+ },
94
99
  onChange: function onChange(changedValue, opt) {
95
100
  if (valueByOption) {
96
101
  setValue(opt);
97
102
  } else {
98
103
  setValue(changedValue);
99
104
  }
100
- if (mode === undefined) {
101
- nextAction();
102
- }
103
105
  }
104
106
  }));
105
107
  });
@@ -16,7 +16,7 @@ declare const Editors: {
16
16
  Text: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & import("./typings").TextEditorParams<any> & React.RefAttributes<import("@ag-grid-community/react").ICellEditorReactComp>>;
17
17
  Date: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & import("./typings").DateEditorParams<any> & React.RefAttributes<import("@ag-grid-community/react").ICellEditorReactComp>>;
18
18
  Number: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & import("./typings").NumberEditorParams<any> & React.RefAttributes<import("@ag-grid-community/react").ICellEditorReactComp>>;
19
- Select: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & Pick<import("antd").SelectProps<any, import("antd/lib/select").BaseOptionType>, "disabled" | "mode" | "virtual" | "allowClear" | "showSearch" | "optionFilterProp" | "options" | "listHeight"> & {
19
+ Select: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any> & Pick<import("antd").SelectProps<any, import("antd/lib/select").BaseOptionType>, "disabled" | "allowClear" | "mode" | "showSearch" | "optionFilterProp" | "options" | "virtual" | "listHeight"> & {
20
20
  fieldNames?: {
21
21
  label: string;
22
22
  value: string;
@@ -1668,7 +1668,7 @@ var InternalDataGrid = /*#__PURE__*/function (_Component) {
1668
1668
  enableCellEditingOnBackspace: true,
1669
1669
  maintainColumnOrder: true,
1670
1670
  suppressCsvExport: true,
1671
- suppressRowClickSelection: gridRowSelection === 'multiple',
1671
+ rowMultiSelectWithClick: gridRowSelection === 'multiple',
1672
1672
  noRowsOverlayComponent: this.NoRowsOverlay,
1673
1673
  getMainMenuItems: this.getMainMenuItems,
1674
1674
  rowBuffer: 20,
@@ -531,7 +531,8 @@
531
531
  --ag-header-column-resize-handle-color: #d9d9d9;
532
532
  --ag-cell-horizontal-padding: 8px;
533
533
  --ag-icon-font-family: 'agGridAlpine';
534
- --ag-selected-row-background-color: ~'var(--@{ant-prefix}-primary-1)';
534
+ // --ag-selected-row-background-color: ~'var(--@{ant-prefix}-primary-1)';
535
+ --ag-selected-row-background-color: #dde8fd;
535
536
  --ag-selected-tab-underline-width: 2px;
536
537
  --ag-range-selection-border-color: ~'var(--@{ant-prefix}-primary-5)';
537
538
  --ag-range-selection-highlight-color: ~'var(--@{ant-prefix}-primary-2)';
@@ -78,10 +78,6 @@ export default function SelectView(props) {
78
78
  _useState12 = _slicedToArray(_useState11, 2),
79
79
  siderWidth = _useState12[0],
80
80
  setSiderWidth = _useState12[1];
81
- var _useState13 = useState(false),
82
- _useState14 = _slicedToArray(_useState13, 2),
83
- dragging = _useState14[0],
84
- setDragging = _useState14[1];
85
81
  var filterForm = mergeProp(Form.useForm()[0], filter === null || filter === void 0 ? void 0 : filter.form);
86
82
  var cParams = (filter === null || filter === void 0 ? void 0 : filter.value) || params;
87
83
  var getRowKey = function getRowKey(item) {
@@ -203,12 +199,6 @@ export default function SelectView(props) {
203
199
  axis: "x",
204
200
  height: 0,
205
201
  width: siderWidth,
206
- onResizeStart: function onResizeStart() {
207
- setDragging(true);
208
- },
209
- onResizeStop: function onResizeStop() {
210
- setDragging(false);
211
- },
212
202
  onResize: function onResize(_, _ref2) {
213
203
  var size = _ref2.size;
214
204
  setSiderWidth(size.width);
@@ -217,11 +207,13 @@ export default function SelectView(props) {
217
207
  className: prefix('sider-resizable')
218
208
  })
219
209
  }, /*#__PURE__*/React.createElement("div", {
210
+ className: prefix('sider-wrapper'),
220
211
  style: {
221
212
  width: "".concat(siderWidth, "px")
222
- },
223
- className: classNames(prefix('sider'), _defineProperty({}, prefix('sider-resizing'), dragging))
224
- }, siderNode)), /*#__PURE__*/React.createElement("div", {
213
+ }
214
+ }, /*#__PURE__*/React.createElement("div", {
215
+ className: classNames(prefix('sider'))
216
+ }, siderNode))), /*#__PURE__*/React.createElement("div", {
225
217
  className: prefix('main')
226
218
  }, headerNode !== null && /*#__PURE__*/React.createElement("div", {
227
219
  className: prefix('head')
@@ -28,12 +28,18 @@
28
28
  }
29
29
 
30
30
  &-sider {
31
- position: relative;
32
- width: 200px;
31
+ width: 100%;
32
+ height: 100%;
33
33
  padding: @padding-md @padding-md @padding-md 0;
34
34
  overflow: auto;
35
35
  border-right: 1px solid @border-color-split;
36
36
 
37
+ &-wrapper {
38
+ position: relative;
39
+ width: 200px;
40
+ height: 100%;
41
+ }
42
+
37
43
  &-resizable {
38
44
  position: absolute;
39
45
  top: 0;
@@ -42,14 +48,8 @@
42
48
  width: 17px;
43
49
  height: 100%;
44
50
  padding: 0 8px;
45
- background-color: @border-color-split;
46
- background-clip: content-box;
47
51
  cursor: col-resize;
48
52
  }
49
-
50
- &:not(&-resizing) {
51
- transition: width 0.2s;
52
- }
53
53
  }
54
54
 
55
55
  &-main {
@@ -60,7 +60,7 @@
60
60
  padding: @padding-md 0;
61
61
  }
62
62
 
63
- &-sider + &-main {
63
+ &-sider-wrapper + &-main {
64
64
  padding-left: @padding-md;
65
65
  }
66
66
 
@@ -4,44 +4,69 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
4
4
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
5
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
6
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
8
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
9
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
10
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
11
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
12
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
14
  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; }
15
15
  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; }
16
16
  import { Input, Tabs, Tree } from 'antd';
17
17
  import React, { useMemo, useState } from 'react';
18
- import { PREFIX_CLS } from "../constants";
19
18
  import { EmptyImage } from "../empty";
20
19
  import Icons from "../icons";
21
20
  import { useLocaleReceiver } from "../locale-receiver";
21
+ import Select from "../select";
22
22
  import { mapChildren, prefixClassName } from "../utils";
23
23
  import TreeNodeTitle from "./tree-node-title";
24
24
  import { useDebounce } from '@lemon-fe/hooks';
25
25
  import ResizeObserver from 'rc-resize-observer';
26
+ var prefix = prefixClassName('tree');
26
27
  function SiderTreeTabs(props) {
28
+ var _items$;
27
29
  var tabs = props.tabs,
28
30
  children = props.children,
29
31
  restProps = _objectWithoutProperties(props, _excluded);
30
32
  var getKey = function getKey(item) {
31
33
  return item.key || item.title;
32
34
  };
33
- var prefixCls = "".concat(PREFIX_CLS, "-tree");
34
- return /*#__PURE__*/React.createElement(Tabs, _extends({
35
- className: "".concat(prefixCls, "-tabs")
36
- }, restProps), mapChildren(children, function (child, index) {
35
+ var items = mapChildren(children, function (child, index) {
37
36
  var tab = tabs[index];
38
- return /*#__PURE__*/React.createElement(Tabs.TabPane, {
39
- tab: tab.title,
40
- key: getKey(tab)
41
- }, child);
37
+ return {
38
+ key: getKey(tab),
39
+ label: tab.title,
40
+ children: child
41
+ };
42
+ });
43
+ var _useState = useState((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.key),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ activeKey = _useState2[0],
46
+ setActiveKey = _useState2[1];
47
+ return /*#__PURE__*/React.createElement(Tabs, _extends({
48
+ className: prefix('tabs')
49
+ }, restProps, {
50
+ items: items,
51
+ activeKey: activeKey,
52
+ renderTabBar: function renderTabBar() {
53
+ return /*#__PURE__*/React.createElement("div", {
54
+ className: prefix('tabbar')
55
+ }, /*#__PURE__*/React.createElement(Select, {
56
+ value: activeKey,
57
+ onChange: function onChange(val) {
58
+ setActiveKey(val);
59
+ },
60
+ options: items.map(function (item) {
61
+ return {
62
+ label: item.label,
63
+ value: item.key
64
+ };
65
+ })
66
+ }));
67
+ }
42
68
  }));
43
69
  }
44
- var prefix = prefixClassName('tree');
45
70
  export default function SiderTree(props) {
46
71
  var _props$data = props.data,
47
72
  mData = _props$data === void 0 ? [] : _props$data,
@@ -54,14 +79,14 @@ export default function SiderTree(props) {
54
79
  footer = props.footer,
55
80
  heightProp = props.height,
56
81
  restProps = _objectWithoutProperties(props, _excluded2);
57
- var _useState = useState(''),
58
- _useState2 = _slicedToArray(_useState, 2),
59
- keywords = _useState2[0],
60
- setKeywords = _useState2[1];
61
- var _useState3 = useState(heightProp !== 'auto' ? heightProp : 0),
82
+ var _useState3 = useState(''),
62
83
  _useState4 = _slicedToArray(_useState3, 2),
63
- height = _useState4[0],
64
- setHeight = _useState4[1];
84
+ keywords = _useState4[0],
85
+ setKeywords = _useState4[1];
86
+ var _useState5 = useState(heightProp !== 'auto' ? heightProp : 0),
87
+ _useState6 = _slicedToArray(_useState5, 2),
88
+ height = _useState6[0],
89
+ setHeight = _useState6[1];
65
90
  var _useLocaleReceiver = useLocaleReceiver('SiderTree'),
66
91
  _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
67
92
  SiderTreeLocale = _useLocaleReceiver2[0];
@@ -46,6 +46,15 @@
46
46
  .fullTabs();
47
47
  }
48
48
 
49
+ &-tabbar {
50
+ width: 100%;
51
+ margin-bottom: @padding-md;
52
+
53
+ .@{ant-prefix}-select {
54
+ width: 100%;
55
+ }
56
+ }
57
+
49
58
  &-body {
50
59
  min-height: 0;
51
60
  overflow: auto;
@@ -110,7 +119,7 @@
110
119
  &-empty {
111
120
  width: 72px;
112
121
  margin: 0 auto;
113
- padding-top: 75px;
122
+ padding-top: 60px;
114
123
  text-align: center;
115
124
 
116
125
  img {
@@ -120,7 +129,6 @@
120
129
  }
121
130
 
122
131
  div {
123
- margin-top: 8px;
124
132
  color: rgba(51, 51, 51, 0.5);
125
133
  font-size: 14px;
126
134
  line-height: 22px;
@@ -145,6 +153,10 @@
145
153
  }
146
154
  }
147
155
 
156
+ .@{prefixCls}-tree-tabbar {
157
+ padding-right: @padding-sm;
158
+ }
159
+
148
160
  .@{ant-prefix}-tabs-tabpane > .@{prefixCls}-tree-wrapper {
149
161
  padding: 0;
150
162
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/components",
3
- "version": "1.2.2",
3
+ "version": "1.2.5",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "",
6
6
  "license": "ISC",
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "registry": "https://registry.npmjs.org"
69
69
  },
70
- "gitHead": "8c059ebf163ebc08134ec596a5d1233cef74e620"
70
+ "gitHead": "2387c5a7ca757fa6704b046a4e9fab89b0b330df"
71
71
  }