@teamix/pro 1.3.4 → 1.3.7

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 (105) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +57871 -57067
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/dialog-form.d.ts +2 -0
  6. package/es/actions/dialog-form.js +5 -2
  7. package/es/actions/index.d.ts +5 -1
  8. package/es/actions/index.js +30 -9
  9. package/es/card/index.d.ts +1 -1
  10. package/es/card/index.js +9 -1
  11. package/es/card/index.scss +4 -0
  12. package/es/form/Filter/useSpecialProps.js +2 -2
  13. package/es/form/ProForm/index.js +5 -3
  14. package/es/form/ProForm/index.scss +16 -8
  15. package/es/form/SchemaForm/reactions.js +2 -2
  16. package/es/form/docs/ActionResponse.d.ts +7 -0
  17. package/es/form/docs/ActionResponse.js +11 -0
  18. package/es/form/docs/ActionResponse.less +25 -0
  19. package/es/form/index.d.ts +1 -1
  20. package/es/form/typing.d.ts +1 -0
  21. package/es/index.d.ts +4 -2
  22. package/es/index.js +5 -5
  23. package/es/info/components/ProInfoItem/index.js +1 -1
  24. package/es/info/components/ProInfoItem/index.scss +0 -1
  25. package/es/info/components/baseInfo/index.scss +0 -3
  26. package/es/sidebar/components/sidebar-container/index.js +114 -9
  27. package/es/sidebar/components/sidebar-container/index.scss +53 -5
  28. package/es/sidebar/components/tree/index.d.ts +2 -0
  29. package/es/sidebar/components/tree/index.js +222 -76
  30. package/es/sidebar/components/tree/index.scss +10 -0
  31. package/es/sidebar/components/tree-node/components/HoverTooltip/index.d.ts +15 -0
  32. package/es/sidebar/components/tree-node/components/HoverTooltip/index.js +62 -0
  33. package/es/sidebar/components/tree-node/components/HoverTooltip/index.scss +7 -0
  34. package/es/sidebar/components/tree-node/components/IconAction/index.d.ts +12 -0
  35. package/es/sidebar/components/tree-node/components/IconAction/index.js +105 -0
  36. package/es/sidebar/components/tree-node/components/IconAction/index.scss +7 -0
  37. package/es/sidebar/components/tree-node/components/IconSwitch/index.d.ts +23 -0
  38. package/es/sidebar/components/tree-node/components/IconSwitch/index.js +73 -0
  39. package/es/sidebar/components/tree-node/components/IconSwitch/index.scss +7 -0
  40. package/es/sidebar/components/tree-node/index.d.ts +7 -0
  41. package/es/sidebar/components/tree-node/index.js +225 -0
  42. package/es/sidebar/components/tree-node/index.scss +58 -0
  43. package/es/sidebar/index.d.ts +2 -0
  44. package/es/sidebar/index.js +147 -12
  45. package/es/sidebar/index.scss +24 -1
  46. package/es/sidebar/typing.d.ts +83 -13
  47. package/es/sidebar/utils/action-ref.d.ts +3 -0
  48. package/es/sidebar/utils/action-ref.js +15 -0
  49. package/es/sidebar/utils/index.d.ts +71 -0
  50. package/es/sidebar/utils/index.js +228 -0
  51. package/es/table/components/Pagination/index.js +4 -4
  52. package/es/table/components/ToolBar/FilterColumnIcon.js +5 -1
  53. package/es/table/index.js +9 -4
  54. package/es/table/typing.d.ts +3 -1
  55. package/lib/actions/dialog-form.d.ts +2 -0
  56. package/lib/actions/dialog-form.js +5 -2
  57. package/lib/actions/index.d.ts +5 -1
  58. package/lib/actions/index.js +29 -7
  59. package/lib/card/index.d.ts +1 -1
  60. package/lib/card/index.js +10 -1
  61. package/lib/card/index.scss +4 -0
  62. package/lib/form/Filter/useSpecialProps.js +1 -1
  63. package/lib/form/ProForm/index.js +5 -3
  64. package/lib/form/ProForm/index.scss +16 -8
  65. package/lib/form/SchemaForm/reactions.js +1 -1
  66. package/lib/form/docs/ActionResponse.d.ts +7 -0
  67. package/lib/form/docs/ActionResponse.js +24 -0
  68. package/lib/form/docs/ActionResponse.less +25 -0
  69. package/lib/form/index.d.ts +1 -1
  70. package/lib/form/typing.d.ts +1 -0
  71. package/lib/index.d.ts +4 -2
  72. package/lib/index.js +22 -2
  73. package/lib/info/components/ProInfoItem/index.js +1 -1
  74. package/lib/info/components/ProInfoItem/index.scss +0 -1
  75. package/lib/info/components/baseInfo/index.scss +0 -3
  76. package/lib/sidebar/components/sidebar-container/index.js +120 -8
  77. package/lib/sidebar/components/sidebar-container/index.scss +53 -5
  78. package/lib/sidebar/components/tree/index.d.ts +2 -0
  79. package/lib/sidebar/components/tree/index.js +230 -76
  80. package/lib/sidebar/components/tree/index.scss +10 -0
  81. package/lib/sidebar/components/tree-node/components/HoverTooltip/index.d.ts +15 -0
  82. package/lib/sidebar/components/tree-node/components/HoverTooltip/index.js +80 -0
  83. package/lib/sidebar/components/tree-node/components/HoverTooltip/index.scss +7 -0
  84. package/lib/sidebar/components/tree-node/components/IconAction/index.d.ts +12 -0
  85. package/lib/sidebar/components/tree-node/components/IconAction/index.js +127 -0
  86. package/lib/sidebar/components/tree-node/components/IconAction/index.scss +7 -0
  87. package/lib/sidebar/components/tree-node/components/IconSwitch/index.d.ts +23 -0
  88. package/lib/sidebar/components/tree-node/components/IconSwitch/index.js +94 -0
  89. package/lib/sidebar/components/tree-node/components/IconSwitch/index.scss +7 -0
  90. package/lib/sidebar/components/tree-node/index.d.ts +7 -0
  91. package/lib/sidebar/components/tree-node/index.js +252 -0
  92. package/lib/sidebar/components/tree-node/index.scss +58 -0
  93. package/lib/sidebar/index.d.ts +2 -0
  94. package/lib/sidebar/index.js +173 -10
  95. package/lib/sidebar/index.scss +24 -1
  96. package/lib/sidebar/typing.d.ts +83 -13
  97. package/lib/sidebar/utils/action-ref.d.ts +3 -0
  98. package/lib/sidebar/utils/action-ref.js +22 -0
  99. package/lib/sidebar/utils/index.d.ts +71 -0
  100. package/lib/sidebar/utils/index.js +247 -0
  101. package/lib/table/components/Pagination/index.js +3 -3
  102. package/lib/table/components/ToolBar/FilterColumnIcon.js +5 -1
  103. package/lib/table/index.js +8 -3
  104. package/lib/table/typing.d.ts +3 -1
  105. package/package.json +18 -4
@@ -0,0 +1,105 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ 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; }
6
+
7
+ 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."); }
10
+
11
+ 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); }
12
+
13
+ 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; }
14
+
15
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
16
+
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
+
19
+ import TeamixIcon from '@teamix/icon';
20
+ import { useAction } from '../../../../..';
21
+ import { baseClass } from '@teamix/utils';
22
+ import React, { useState } from 'react';
23
+ import ProHoverTooltip from '../HoverTooltip';
24
+ import './index.scss';
25
+ var cls = baseClass('teamix-pro-sidebar-icon-action');
26
+
27
+ var ProIconAction = function ProIconAction(props) {
28
+ var _popupProps$wrapperCl;
29
+
30
+ var trigger = props.trigger,
31
+ action = props.action,
32
+ visibleProp = props.visible,
33
+ tooltip = props.tooltip,
34
+ icon = props.icon;
35
+
36
+ var _useState = useState(false),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ visible = _useState2[0],
39
+ setVisible = _useState2[1];
40
+
41
+ var popupProps = action === null || action === void 0 ? void 0 : action.popupProps;
42
+ var wrapperClassName = (_popupProps$wrapperCl = popupProps === null || popupProps === void 0 ? void 0 : popupProps.wrapperClassName) !== null && _popupProps$wrapperCl !== void 0 ? _popupProps$wrapperCl : '';
43
+
44
+ var _beforeOpen = popupProps === null || popupProps === void 0 ? void 0 : popupProps.beforeOpen;
45
+
46
+ var _beforeClose = popupProps === null || popupProps === void 0 ? void 0 : popupProps.beforeClose; // 获取浮层类单独特殊配置
47
+
48
+
49
+ var getPopProps = function getPopProps() {
50
+ if (!action.type || action.type.includes('pop-confirm')) {
51
+ return {
52
+ popupProps: _objectSpread(_objectSpread({}, popupProps), {}, {
53
+ wrapperClassName: "".concat(cls('overlay'), " ").concat(wrapperClassName, "}"),
54
+ beforeOpen: function beforeOpen() {
55
+ setVisible(true);
56
+
57
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
58
+ args[_key] = arguments[_key];
59
+ }
60
+
61
+ _beforeOpen === null || _beforeOpen === void 0 ? void 0 : _beforeOpen.apply(void 0, args);
62
+ },
63
+ beforeClose: function beforeClose() {
64
+ setVisible(false);
65
+
66
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
67
+ args[_key2] = arguments[_key2];
68
+ }
69
+
70
+ _beforeClose === null || _beforeClose === void 0 ? void 0 : _beforeClose.apply(void 0, args);
71
+ }
72
+ })
73
+ };
74
+ }
75
+
76
+ return {};
77
+ };
78
+
79
+ var processAction = useAction(_objectSpread(_objectSpread({
80
+ align: 'bl',
81
+ offset: [-10, 0],
82
+ preventDefault: true,
83
+ stopPropagation: true
84
+ }, action), getPopProps()));
85
+
86
+ var getTrigger = function getTrigger() {
87
+ if (icon && typeof icon === 'string') {
88
+ return /*#__PURE__*/React.createElement(TeamixIcon, _objectSpread({
89
+ className: cls(),
90
+ size: "small",
91
+ type: icon
92
+ }, processAction));
93
+ }
94
+
95
+ return /*#__PURE__*/React.createElement("span", _objectSpread({}, processAction), icon !== null && icon !== void 0 ? icon : trigger);
96
+ };
97
+
98
+ return /*#__PURE__*/React.createElement(ProHoverTooltip, {
99
+ trigger: getTrigger(),
100
+ visible: visible || visibleProp,
101
+ tooltip: tooltip
102
+ });
103
+ };
104
+
105
+ export default ProIconAction;
@@ -0,0 +1,7 @@
1
+ .teamix-pro-sidebar-icon-action {
2
+ color: var(--color-fill1-6, #848484);
3
+ cursor: pointer;
4
+ &:hover {
5
+ color: var(--color-brand1-6, #0064c8);
6
+ }
7
+ }
@@ -0,0 +1,23 @@
1
+ import { TooltipProps } from '@alicloudfe/components/types/balloon';
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export declare type ProIconSwitch = {
5
+ /** 默认状态 */
6
+ visible?: boolean;
7
+ /** tooltip 显示隐藏 */
8
+ tooltipVisible?: boolean;
9
+ /** 未激活状态下的icon */
10
+ icon?: React.ReactNode;
11
+ /** 激活状态下的 icon */
12
+ activeIcon?: React.ReactNode;
13
+ /** tooltip */
14
+ tooltip?: React.ReactNode;
15
+ /** cancelTooltip */
16
+ cancelTooltip?: React.ReactNode;
17
+ /** tooltip 配置 */
18
+ tooltipProps?: TooltipProps;
19
+ /** 状态改变的回调 */
20
+ onChange?: (state: boolean) => void;
21
+ };
22
+ declare const ProIconSwitch: React.FC<ProIconSwitch>;
23
+ export default ProIconSwitch;
@@ -0,0 +1,73 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+
3
+ 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."); }
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10
+
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+
13
+ import TeamixIcon from '@teamix/icon';
14
+ import { baseClass } from '@teamix/utils';
15
+ import React, { isValidElement, useEffect, useState } from 'react';
16
+ import ProHoverTooltip from '../HoverTooltip';
17
+ import './index.scss';
18
+ var cls = baseClass('teamix-pro-icon-switch');
19
+
20
+ var ProIconSwitch = function ProIconSwitch(props) {
21
+ var visibleProp = props.visible,
22
+ icon = props.icon,
23
+ activeIcon = props.activeIcon,
24
+ onChange = props.onChange,
25
+ tooltipVisible = props.tooltipVisible,
26
+ tooltipProps = props.tooltipProps,
27
+ tooltip = props.tooltip,
28
+ cancelTooltip = props.cancelTooltip;
29
+
30
+ var _useState = useState(visibleProp !== null && visibleProp !== void 0 ? visibleProp : false),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ visible = _useState2[0],
33
+ setVisible = _useState2[1];
34
+
35
+ useEffect(function () {
36
+ setVisible(visibleProp !== null && visibleProp !== void 0 ? visibleProp : true);
37
+ }, [visibleProp]); // 点击操作
38
+
39
+ var clickHandle = function clickHandle(e, state) {
40
+ e.stopPropagation();
41
+ setVisible(state);
42
+ onChange === null || onChange === void 0 ? void 0 : onChange(state);
43
+ };
44
+
45
+ if (visible) {
46
+ if ( /*#__PURE__*/isValidElement(icon)) {
47
+ return icon;
48
+ }
49
+ }
50
+
51
+ if ( /*#__PURE__*/isValidElement(activeIcon)) {
52
+ return activeIcon;
53
+ }
54
+
55
+ return /*#__PURE__*/React.createElement(ProHoverTooltip, {
56
+ visible: tooltipVisible,
57
+ tooltip: visible ? cancelTooltip !== null && cancelTooltip !== void 0 ? cancelTooltip : tooltip : tooltip,
58
+ tooltipProps: tooltipProps,
59
+ trigger: /*#__PURE__*/React.createElement(TeamixIcon, {
60
+ size: "small",
61
+ className: cls({
62
+ '': true,
63
+ active: visible
64
+ }),
65
+ type: visible ? activeIcon !== null && activeIcon !== void 0 ? activeIcon : icon : icon,
66
+ onClick: function onClick(e) {
67
+ clickHandle(e, !visible);
68
+ }
69
+ })
70
+ });
71
+ };
72
+
73
+ export default ProIconSwitch;
@@ -0,0 +1,7 @@
1
+ .teamix-pro-icon-switch {
2
+ color: var(--color-fill1-4, #d9d9d9);
3
+ cursor: pointer;
4
+ }
5
+ .teamix-pro-icon-switch-active {
6
+ color: var(--color-warning-7, #ffb96e);
7
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ProSidebarDataSource, ProSidebarDataSourceItem } from '../../typing';
3
+ import { ProSidebarProps } from '../..';
4
+ declare const ProSideBarTreeNode: React.FC<ProSidebarDataSourceItem>;
5
+ export declare function renderTreeNode(data: ProSidebarDataSource): JSX.Element[];
6
+ export declare function renderTreeNodeDependenceValue(data: ProSidebarDataSource, onBeforeRenderNodeEvent: ProSidebarProps['onBeforeRenderNodeEvent'], checkedKeys: any[], selectedKeys: any[], allData?: ProSidebarDataSource): JSX.Element[];
7
+ export default ProSideBarTreeNode;
@@ -0,0 +1,225 @@
1
+ var _excluded = ["type", "action", "props"];
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ 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; }
6
+
7
+ 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
+
9
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
+
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+
13
+ 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; }
14
+
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+
17
+ 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."); }
18
+
19
+ 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); }
20
+
21
+ 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; }
22
+
23
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
24
+
25
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
+
27
+ import { Tree } from '@alicloudfe/components';
28
+ import { ProActionGroup } from '../../../actions';
29
+ import { baseClass, renderTags } from '@teamix/utils';
30
+ import React, { isValidElement, useState } from 'react';
31
+ import ProField from '@teamix/pro-field';
32
+ import ProIconAction from './components/IconAction';
33
+ import ProIconSwitch from './components/IconSwitch';
34
+ import ProHoverTooltip from './components/HoverTooltip';
35
+ var cls = baseClass('teamix-pro-sidebar-tree');
36
+
37
+ var ProSideBarTreeNode = function ProSideBarTreeNode(props) {
38
+ var tag = props.tag,
39
+ render = props.render,
40
+ _props$valueType = props.valueType,
41
+ valueType = _props$valueType === void 0 ? 'text' : _props$valueType,
42
+ fieldProps = props.fieldProps,
43
+ extra = props.extra,
44
+ label = props.label;
45
+
46
+ var _useState = useState(false),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ extraVisible = _useState2[0],
49
+ setExtraVisible = _useState2[1]; // 获取 extra 区域渲染组件
50
+
51
+
52
+ var getExtraComponent = function getExtraComponent(type, action, props, others) {
53
+ var _ref = others !== null && others !== void 0 ? others : {},
54
+ _ref$hover = _ref.hover,
55
+ hover = _ref$hover === void 0 ? true : _ref$hover;
56
+
57
+ if (type === 'action') {
58
+ return /*#__PURE__*/React.createElement(ProHoverTooltip, {
59
+ visible: !hover || extraVisible,
60
+ trigger: /*#__PURE__*/React.createElement(ProActionGroup, _objectSpread({
61
+ type: "text",
62
+ actions: action
63
+ }, props))
64
+ });
65
+ }
66
+
67
+ if (type === 'iconSwitch') {
68
+ return /*#__PURE__*/React.createElement(ProIconSwitch, _objectSpread({
69
+ tooltipVisible: !hover || extraVisible
70
+ }, props));
71
+ }
72
+
73
+ if (type === 'iconAction') {
74
+ return /*#__PURE__*/React.createElement(ProIconAction, _objectSpread({
75
+ visible: !hover || extraVisible,
76
+ action: action
77
+ }, props));
78
+ }
79
+
80
+ if (type === 'custom') {
81
+ return /*#__PURE__*/React.createElement(ProHoverTooltip, {
82
+ className: cls('extra-custom'),
83
+ visible: !hover || extraVisible,
84
+ trigger: others.trigger
85
+ });
86
+ }
87
+ }; // 渲染 extra 区域
88
+
89
+
90
+ var renderExtra = function renderExtra() {
91
+ var result = /*#__PURE__*/React.createElement(React.Fragment, null); // extra 是否是 action 配置
92
+
93
+ var isActionGroupProps = Array.isArray(extra) && ! /*#__PURE__*/isValidElement(extra === null || extra === void 0 ? void 0 : extra[0]) && Array.isArray(extra === null || extra === void 0 ? void 0 : extra[0]); // 直接渲染 action
94
+
95
+ if (isActionGroupProps) {
96
+ result = /*#__PURE__*/React.createElement(ProActionGroup, {
97
+ actions: extra,
98
+ type: "text"
99
+ });
100
+ } // 大杂烩
101
+
102
+
103
+ if (extra && Array.isArray(extra)) {
104
+ result = /*#__PURE__*/React.createElement(React.Fragment, null, extra.map(function (item, index) {
105
+ if ( /*#__PURE__*/isValidElement(item) || typeof item === 'string') {
106
+ return /*#__PURE__*/React.createElement("span", {
107
+ key: index,
108
+ className: cls('item-content-extra-item')
109
+ }, item);
110
+ }
111
+
112
+ var type = item.type,
113
+ _item$action = item.action,
114
+ action = _item$action === void 0 ? {} : _item$action,
115
+ _item$props = item.props,
116
+ props = _item$props === void 0 ? {} : _item$props,
117
+ others = _objectWithoutProperties(item, _excluded);
118
+
119
+ return /*#__PURE__*/React.createElement("span", {
120
+ key: index,
121
+ className: cls('item-content-extra-item')
122
+ }, getExtraComponent(type, action, props, others));
123
+ }));
124
+ }
125
+
126
+ return result;
127
+ }; // 鼠标移入
128
+
129
+
130
+ var onMouseEnter = function onMouseEnter(e) {
131
+ var _e$target, _e$target$closest;
132
+
133
+ if (e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : (_e$target$closest = _e$target.closest) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.call(_e$target, '.teamix-pro-sidebar-delete-overlay')) {
134
+ return;
135
+ }
136
+
137
+ setExtraVisible(true);
138
+ }; // 鼠标移出
139
+
140
+
141
+ var onMouseLeave = function onMouseLeave(e) {
142
+ var _e$target2, _e$target2$closest;
143
+
144
+ if (e === null || e === void 0 ? void 0 : (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : (_e$target2$closest = _e$target2.closest) === null || _e$target2$closest === void 0 ? void 0 : _e$target2$closest.call(_e$target2, '.teamix-pro-sidebar-delete-overlay')) {
145
+ return;
146
+ }
147
+
148
+ setExtraVisible(false);
149
+ }; // 获取 ProFieldRender
150
+
151
+
152
+ var getFieldRender = function getFieldRender() {
153
+ if (typeof render === 'function') {
154
+ return render;
155
+ }
156
+
157
+ return _objectSpread({
158
+ ellipsis: true,
159
+ emptyText: '-'
160
+ }, render);
161
+ }; // 获取 tag 参数
162
+
163
+
164
+ var getTags = function getTags(tags) {
165
+ if ( /*#__PURE__*/isValidElement(tags)) {
166
+ return tags;
167
+ }
168
+
169
+ if (Array.isArray(tags)) {
170
+ return tags.map(function (item) {
171
+ return _objectSpread({
172
+ size: 'small'
173
+ }, item);
174
+ });
175
+ }
176
+
177
+ if (_typeof(tags) === 'object') {
178
+ return _objectSpread({
179
+ size: 'small'
180
+ }, tags);
181
+ }
182
+ };
183
+
184
+ return /*#__PURE__*/React.createElement("div", {
185
+ className: cls('item-context'),
186
+ onMouseEnter: onMouseEnter,
187
+ onMouseLeave: onMouseLeave
188
+ }, /*#__PURE__*/React.createElement("div", {
189
+ className: cls('item-context-front')
190
+ }, /*#__PURE__*/React.createElement(ProField, _objectSpread({
191
+ value: label,
192
+ type: valueType,
193
+ render: getFieldRender()
194
+ }, fieldProps)), tag && /*#__PURE__*/React.createElement("span", {
195
+ className: cls('item-context-tag')
196
+ }, renderTags(getTags(tag)))), /*#__PURE__*/React.createElement("div", {
197
+ className: cls('item-content-extra')
198
+ }, renderExtra()));
199
+ }; // 渲染树节点
200
+
201
+
202
+ export function renderTreeNode(data) {
203
+ return data.map(function (item) {
204
+ return /*#__PURE__*/React.createElement(Tree.Node, {
205
+ key: item.value,
206
+ label: /*#__PURE__*/React.createElement(ProSideBarTreeNode, _objectSpread({}, item))
207
+ }, item.children && item.children.length > 0 && renderTreeNode(item.children));
208
+ });
209
+ } // 渲染树节点 依赖 value
210
+
211
+ export function renderTreeNodeDependenceValue(data, onBeforeRenderNodeEvent, checkedKeys, selectedKeys, allData) {
212
+ return data.map(function (item) {
213
+ var newProps = item;
214
+
215
+ if (onBeforeRenderNodeEvent) {
216
+ newProps = onBeforeRenderNodeEvent(item, checkedKeys, selectedKeys, allData !== null && allData !== void 0 ? allData : data);
217
+ }
218
+
219
+ return /*#__PURE__*/React.createElement(Tree.Node, {
220
+ key: item.value,
221
+ label: /*#__PURE__*/React.createElement(ProSideBarTreeNode, _objectSpread({}, newProps))
222
+ }, item.children && item.children.length > 0 && renderTreeNodeDependenceValue(item.children, onBeforeRenderNodeEvent, checkedKeys, selectedKeys, allData !== null && allData !== void 0 ? allData : data));
223
+ });
224
+ }
225
+ export default ProSideBarTreeNode;
@@ -0,0 +1,58 @@
1
+ .teamix-pro-sidebar-tree {
2
+ &-item-context {
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ height: 100%;
7
+ &-tag {
8
+ margin-left: 6px;
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+
13
+ .teamix-pro-field {
14
+ display: flex;
15
+ align-items: center;
16
+
17
+ .teamix-pro-ellipsis{
18
+ white-space: normal;
19
+ }
20
+ }
21
+ }
22
+ &-item-context-front {
23
+ display: flex;
24
+ align-items: center;
25
+ }
26
+ &-item-content-has-extra {
27
+ display: flex;
28
+ justify-content: space-between;
29
+ width: 100%;
30
+ text-align: center;
31
+ }
32
+
33
+ &-item-content-extra {
34
+ &-item {
35
+ margin-right: 4px;
36
+ display: inline-block;
37
+ }
38
+ }
39
+
40
+ &-extra-custom {
41
+ color: var(--color-fill1-6, #848484);
42
+ }
43
+
44
+ // 在 ProField 里 icon 后的主要文本默认加粗。这里抵消
45
+ .teamix-icon + span.teamix-pro-field-output-bold {
46
+ font-weight: unset;
47
+ }
48
+ .teamix-icon + span.teamix-pro-ellipsis-content {
49
+ .teamix-pro-field-output-bold {
50
+ font-weight: unset;
51
+ }
52
+ }
53
+ .next-tree.next-node-block .next-tree-node-inner{
54
+ padding: 6px 0px 6px 4px !important;
55
+ margin: 0 0 4px 0px;
56
+ border-radius: 2px;
57
+ }
58
+ }
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
3
  import { ProSidebarProps } from './typing';
4
+ export * from './typing';
5
+ export * from './utils';
4
6
  declare const ProSidebar: React.FC<ProSidebarProps>;
5
7
  export default ProSidebar;