@rainbow-oh/yee-c 0.1.0 → 0.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 (228) hide show
  1. package/dist/cjs/Alert/alert.js +10 -4
  2. package/dist/cjs/Alert/style/index.less +3 -0
  3. package/dist/cjs/Anchor/anchor-item.js +6 -4
  4. package/dist/cjs/Anchor/anchor.js +38 -22
  5. package/dist/cjs/Anchor/demo/auto.d.ts +11 -0
  6. package/dist/cjs/Anchor/demo/auto.js +85 -0
  7. package/dist/cjs/Anchor/demo/basic.js +7 -1
  8. package/dist/cjs/Anchor/demo/controlled.js +42 -30
  9. package/dist/cjs/Anchor/interface.d.ts +2 -0
  10. package/dist/cjs/Anchor/style/index.less +2 -2
  11. package/dist/cjs/Button/button.d.ts +1 -1
  12. package/dist/cjs/Checkbox/checkbox-group.js +4 -1
  13. package/dist/cjs/Checkbox/demo/group.js +1 -0
  14. package/dist/cjs/Checkbox/interface.d.ts +5 -0
  15. package/dist/cjs/Checkbox/style/index.less +21 -1
  16. package/dist/cjs/Dropdown/demo/placement.js +2 -1
  17. package/dist/cjs/Dropdown/dropdown.js +3 -0
  18. package/dist/cjs/Dropdown/style/index.less +6 -0
  19. package/dist/cjs/Form/Field.js +33 -3
  20. package/dist/cjs/Form/Group.js +3 -2
  21. package/dist/cjs/Form/demo/form-table.js +1 -8
  22. package/dist/cjs/Form/demo/tooltip.d.ts +3 -0
  23. package/dist/cjs/Form/demo/tooltip.js +84 -0
  24. package/dist/cjs/Form/interface.d.ts +34 -1
  25. package/dist/cjs/Form/style/index.less +22 -7
  26. package/dist/cjs/Popconfirm/popconfirm.js +1 -1
  27. package/dist/cjs/Popconfirm/style/index.less +6 -0
  28. package/dist/cjs/Popover/popover.js +1 -1
  29. package/dist/cjs/Popover/style/index.less +6 -0
  30. package/dist/cjs/Progress/progress.js +2 -2
  31. package/dist/cjs/Radio/style/index.less +13 -6
  32. package/dist/cjs/Select/option.js +3 -2
  33. package/dist/cjs/Select/options.js +9 -1
  34. package/dist/cjs/Select/select.js +1 -0
  35. package/dist/cjs/Skeleton/demo/basic.js +1 -1
  36. package/dist/cjs/Space/interface.d.ts +4 -0
  37. package/dist/cjs/Space/space.js +36 -16
  38. package/dist/cjs/Splitter/demo/basic.js +1 -1
  39. package/dist/cjs/Splitter/demo/vertical.js +23 -1
  40. package/dist/cjs/Splitter/index.d.ts +1 -1
  41. package/dist/cjs/Splitter/interface.d.ts +9 -3
  42. package/dist/cjs/Splitter/splitter-handler.d.ts +1 -1
  43. package/dist/cjs/Splitter/splitter-handler.js +2 -1
  44. package/dist/cjs/Splitter/splitter.d.ts +2 -9
  45. package/dist/cjs/Splitter/splitter.js +53 -50
  46. package/dist/cjs/Splitter/style/index.less +21 -0
  47. package/dist/cjs/Table/demo/size.js +1 -1
  48. package/dist/cjs/Tabs/hooks/useTabScroll.d.ts +1 -1
  49. package/dist/cjs/Tabs/interface.d.ts +1 -1
  50. package/dist/cjs/Tabs/style/index.less +4 -0
  51. package/dist/cjs/Tabs/tab-header/index.js +56 -25
  52. package/dist/cjs/Tooltip/interface.d.ts +4 -0
  53. package/dist/cjs/Tooltip/style/index.less +8 -8
  54. package/dist/cjs/Tooltip/tooltip.js +11 -3
  55. package/dist/cjs/Tree/demo/draggable.d.ts +3 -0
  56. package/dist/cjs/Tree/demo/draggable.js +88 -0
  57. package/dist/cjs/Tree/demo/expanded.js +6 -6
  58. package/dist/cjs/Tree/index.d.ts +1 -0
  59. package/dist/cjs/Tree/index.js +3 -1
  60. package/dist/cjs/Tree/interface.d.ts +26 -0
  61. package/dist/cjs/Tree/style/index.less +25 -0
  62. package/dist/cjs/Tree/tree-node.js +38 -4
  63. package/dist/cjs/Tree/tree.d.ts +12 -1
  64. package/dist/cjs/Tree/tree.js +174 -18
  65. package/dist/cjs/Tree/utils/tree-tools.d.ts +21 -0
  66. package/dist/cjs/Tree/utils/tree-tools.js +88 -0
  67. package/dist/cjs/Trigger/style/index.less +17 -0
  68. package/dist/cjs/Trigger/trigger.js +3 -1
  69. package/dist/cjs/hooks/useDebounceFunction.d.ts +1 -1
  70. package/dist/cjs/hooks/useLayoutEffect.d.ts +1 -1
  71. package/dist/cjs/style/size.css +13 -4
  72. package/dist/cjs/style/themes.css +1 -1
  73. package/dist/cjs/style/variables.css +14 -5
  74. package/dist/cjs/utils/debounce.d.ts +6 -1
  75. package/dist/cjs/utils/debounce.js +9 -1
  76. package/dist/cjs/version.d.ts +1 -1
  77. package/dist/cjs/version.js +1 -1
  78. package/dist/esm/Alert/alert.js +24 -8
  79. package/dist/esm/Alert/style/index.less +3 -0
  80. package/dist/esm/Anchor/anchor-item.js +6 -3
  81. package/dist/esm/Anchor/anchor.js +38 -19
  82. package/dist/esm/Anchor/demo/auto.d.ts +11 -0
  83. package/dist/esm/Anchor/demo/auto.js +62 -0
  84. package/dist/esm/Anchor/demo/basic.js +3 -1
  85. package/dist/esm/Anchor/demo/controlled.js +14 -9
  86. package/dist/esm/Anchor/interface.d.ts +2 -0
  87. package/dist/esm/Anchor/style/index.less +2 -2
  88. package/dist/esm/Button/button.d.ts +1 -1
  89. package/dist/esm/Checkbox/checkbox-group.js +4 -2
  90. package/dist/esm/Checkbox/demo/group.js +1 -0
  91. package/dist/esm/Checkbox/interface.d.ts +5 -0
  92. package/dist/esm/Checkbox/style/index.less +21 -1
  93. package/dist/esm/Dropdown/demo/placement.js +2 -1
  94. package/dist/esm/Dropdown/dropdown.js +6 -1
  95. package/dist/esm/Dropdown/style/index.less +6 -0
  96. package/dist/esm/Form/Field.js +43 -5
  97. package/dist/esm/Form/Group.js +4 -2
  98. package/dist/esm/Form/demo/form-table.js +8 -6
  99. package/dist/esm/Form/demo/tooltip.d.ts +3 -0
  100. package/dist/esm/Form/demo/tooltip.js +59 -0
  101. package/dist/esm/Form/interface.d.ts +34 -1
  102. package/dist/esm/Form/style/index.less +22 -7
  103. package/dist/esm/Popconfirm/popconfirm.js +3 -1
  104. package/dist/esm/Popconfirm/style/index.less +6 -0
  105. package/dist/esm/Popover/popover.js +3 -1
  106. package/dist/esm/Popover/style/index.less +6 -0
  107. package/dist/esm/Progress/progress.js +5 -5
  108. package/dist/esm/Radio/style/index.less +13 -6
  109. package/dist/esm/Select/option.js +4 -2
  110. package/dist/esm/Select/options.js +5 -3
  111. package/dist/esm/Select/select.js +1 -0
  112. package/dist/esm/Skeleton/demo/basic.js +2 -8
  113. package/dist/esm/Space/interface.d.ts +4 -0
  114. package/dist/esm/Space/space.js +24 -13
  115. package/dist/esm/Splitter/demo/basic.js +2 -0
  116. package/dist/esm/Splitter/demo/vertical.js +13 -5
  117. package/dist/esm/Splitter/index.d.ts +1 -1
  118. package/dist/esm/Splitter/interface.d.ts +9 -3
  119. package/dist/esm/Splitter/splitter-handler.d.ts +1 -1
  120. package/dist/esm/Splitter/splitter-handler.js +3 -1
  121. package/dist/esm/Splitter/splitter.d.ts +2 -9
  122. package/dist/esm/Splitter/splitter.js +59 -56
  123. package/dist/esm/Splitter/style/index.less +21 -0
  124. package/dist/esm/Table/demo/size.js +2 -7
  125. package/dist/esm/Tabs/hooks/useTabScroll.d.ts +1 -1
  126. package/dist/esm/Tabs/interface.d.ts +1 -1
  127. package/dist/esm/Tabs/style/index.less +4 -0
  128. package/dist/esm/Tabs/tab-header/index.js +11 -5
  129. package/dist/esm/Tooltip/interface.d.ts +4 -0
  130. package/dist/esm/Tooltip/style/index.less +8 -8
  131. package/dist/esm/Tooltip/tooltip.js +14 -2
  132. package/dist/esm/Tree/demo/draggable.d.ts +3 -0
  133. package/dist/esm/Tree/demo/draggable.js +61 -0
  134. package/dist/esm/Tree/demo/expanded.js +6 -6
  135. package/dist/esm/Tree/index.d.ts +1 -0
  136. package/dist/esm/Tree/index.js +1 -0
  137. package/dist/esm/Tree/interface.d.ts +26 -0
  138. package/dist/esm/Tree/style/index.less +25 -0
  139. package/dist/esm/Tree/tree-node.js +29 -4
  140. package/dist/esm/Tree/tree.d.ts +12 -1
  141. package/dist/esm/Tree/tree.js +135 -4
  142. package/dist/esm/Tree/utils/tree-tools.d.ts +21 -0
  143. package/dist/esm/Tree/utils/tree-tools.js +128 -1
  144. package/dist/esm/Trigger/style/index.less +17 -0
  145. package/dist/esm/Trigger/trigger.js +4 -3
  146. package/dist/esm/hooks/useDebounceFunction.d.ts +1 -1
  147. package/dist/esm/hooks/useLayoutEffect.d.ts +1 -1
  148. package/dist/esm/style/size.css +13 -4
  149. package/dist/esm/style/themes.css +1 -1
  150. package/dist/esm/style/variables.css +14 -5
  151. package/dist/esm/utils/debounce.d.ts +6 -1
  152. package/dist/esm/utils/debounce.js +9 -2
  153. package/dist/esm/version.d.ts +1 -1
  154. package/dist/esm/version.js +1 -1
  155. package/dist/umd/yee-c.min.css +2 -2
  156. package/dist/umd/yee-c.min.js +1 -1
  157. package/package.json +21 -23
  158. package/src/Alert/alert.tsx +10 -4
  159. package/src/Alert/style/index.less +3 -0
  160. package/src/Anchor/anchor-item.tsx +7 -2
  161. package/src/Anchor/anchor.tsx +49 -23
  162. package/src/Anchor/demo/auto.tsx +55 -0
  163. package/src/Anchor/demo/basic.tsx +7 -1
  164. package/src/Anchor/demo/controlled.tsx +18 -14
  165. package/src/Anchor/index.en-US.md +17 -0
  166. package/src/Anchor/index.zh-CN.md +17 -0
  167. package/src/Anchor/interface.ts +2 -0
  168. package/src/Anchor/style/index.less +2 -2
  169. package/src/Checkbox/checkbox-group.tsx +5 -1
  170. package/src/Checkbox/demo/group.tsx +1 -0
  171. package/src/Checkbox/interface.ts +5 -0
  172. package/src/Checkbox/style/index.less +21 -1
  173. package/src/Dropdown/demo/placement.tsx +1 -0
  174. package/src/Dropdown/dropdown.tsx +2 -0
  175. package/src/Dropdown/style/index.less +6 -0
  176. package/src/Form/Field.tsx +45 -3
  177. package/src/Form/Group.tsx +4 -1
  178. package/src/Form/demo/form-table.tsx +7 -7
  179. package/src/Form/demo/tooltip.tsx +72 -0
  180. package/src/Form/form-store.ts +1 -1
  181. package/src/Form/index.en-US.md +2 -0
  182. package/src/Form/index.zh-CN.md +83 -85
  183. package/src/Form/interface.ts +36 -1
  184. package/src/Form/style/index.less +22 -7
  185. package/src/Popconfirm/popconfirm.tsx +1 -1
  186. package/src/Popconfirm/style/index.less +6 -0
  187. package/src/Popover/popover.tsx +1 -1
  188. package/src/Popover/style/index.less +6 -0
  189. package/src/Progress/progress.tsx +2 -2
  190. package/src/Radio/style/index.less +13 -6
  191. package/src/Select/option.tsx +2 -1
  192. package/src/Select/options.tsx +7 -2
  193. package/src/Select/select.tsx +1 -0
  194. package/src/Skeleton/demo/basic.tsx +3 -3
  195. package/src/Space/interface.ts +4 -0
  196. package/src/Space/space.tsx +40 -16
  197. package/src/Splitter/demo/basic.tsx +2 -2
  198. package/src/Splitter/demo/vertical.tsx +19 -5
  199. package/src/Splitter/index.ts +5 -1
  200. package/src/Splitter/interface.ts +10 -3
  201. package/src/Splitter/splitter-handler.tsx +4 -2
  202. package/src/Splitter/splitter.tsx +55 -60
  203. package/src/Splitter/style/index.less +21 -0
  204. package/src/Table/demo/size.tsx +3 -3
  205. package/src/Table/index.zh-CN.md +50 -50
  206. package/src/Tabs/interface.ts +1 -1
  207. package/src/Tabs/style/index.less +4 -0
  208. package/src/Tabs/tab-header/index.tsx +26 -5
  209. package/src/Tooltip/index.en-US.md +1 -0
  210. package/src/Tooltip/index.zh-CN.md +1 -0
  211. package/src/Tooltip/interface.ts +4 -0
  212. package/src/Tooltip/style/index.less +8 -8
  213. package/src/Tooltip/tooltip.tsx +10 -1
  214. package/src/Tree/demo/draggable.tsx +58 -0
  215. package/src/Tree/demo/expanded.tsx +7 -7
  216. package/src/Tree/index.en-US.md +3 -0
  217. package/src/Tree/index.ts +1 -0
  218. package/src/Tree/index.zh-CN.md +3 -0
  219. package/src/Tree/interface.ts +28 -0
  220. package/src/Tree/style/index.less +25 -0
  221. package/src/Tree/tree-node.tsx +26 -0
  222. package/src/Tree/tree.tsx +183 -2
  223. package/src/Tree/utils/tree-tools.ts +107 -0
  224. package/src/Trigger/style/index.less +17 -0
  225. package/src/Trigger/trigger.tsx +3 -1
  226. package/src/style/size.css +13 -4
  227. package/src/utils/debounce.ts +22 -3
  228. package/src/version.ts +1 -1
@@ -128,64 +128,67 @@ var Wrapper = function Wrapper(_ref3) {
128
128
  var refs = useRef({});
129
129
  var arr = React.Children.toArray(children);
130
130
  React.Children.forEach(children, function (child, index) {
131
- var n = index + 1;
132
- var _ref4 = child.props || {},
133
- style = _ref4.style;
134
- var currentSize;
135
- var min = undefined;
136
- var max = undefined;
137
- if (itemsSize && itemsSize[index]) {
138
- var _itemsSize$index = itemsSize[index];
139
- currentSize = _itemsSize$index.currentSize;
140
- min = _itemsSize$index.min;
141
- max = _itemsSize$index.max;
142
- }
143
- wrappered.push( /*#__PURE__*/React.cloneElement(child, {
144
- style: _objectSpread(_objectSpread({}, style), {}, {
145
- // If there is a border or other size-related design, it may cause calculation issues
146
- flexBasis: currentSize
147
- }),
148
- min: min,
149
- max: max,
150
- index: n,
151
- key: n,
152
- ref: function ref(el) {
153
- refs.current["item".concat(n)] = {
154
- el: el,
155
- props: child.props,
156
- size: {
157
- min: min,
158
- max: max
159
- }
160
- };
131
+ if ( /*#__PURE__*/React.isValidElement(child)) {
132
+ var n = index + 1;
133
+ var _ref4 = child.props || {},
134
+ style = _ref4.style;
135
+ var currentSize;
136
+ var min = undefined;
137
+ var max = undefined;
138
+ if (itemsSize && itemsSize[index]) {
139
+ var _itemsSize$index = itemsSize[index];
140
+ currentSize = _itemsSize$index.currentSize;
141
+ min = _itemsSize$index.min;
142
+ max = _itemsSize$index.max;
161
143
  }
162
- }));
163
- var next = arr[index + 1];
164
- if (!next || ! /*#__PURE__*/React.isValidElement(next)) {
165
- return;
166
- }
167
- var _ref5 = child.props || {},
168
- flexable = _ref5.flexable,
169
- expandable = _ref5.expandable;
170
- var _ref6 = next.props || {},
171
- nextExpandable = _ref6.expandable;
172
- var _expandable = {
173
- start: false,
174
- end: false
175
- };
176
- if (expandable) {
177
- _expandable.start = true;
178
- }
179
- if (nextExpandable) {
180
- _expandable.end = true;
144
+ wrappered.push( /*#__PURE__*/React.cloneElement(child, {
145
+ // @ts-ignore
146
+ style: _objectSpread(_objectSpread({}, style), {}, {
147
+ // If there is a border or other size-related design, it may cause calculation issues
148
+ flexBasis: currentSize
149
+ }),
150
+ min: min,
151
+ max: max,
152
+ index: n,
153
+ key: n,
154
+ ref: function ref(el) {
155
+ refs.current["item".concat(n)] = {
156
+ el: el,
157
+ props: child.props,
158
+ size: {
159
+ min: min,
160
+ max: max
161
+ }
162
+ };
163
+ }
164
+ }));
165
+ var next = arr[index + 1];
166
+ if (!next || ! /*#__PURE__*/React.isValidElement(next)) {
167
+ return;
168
+ }
169
+ var _ref5 = child.props || {},
170
+ flexable = _ref5.flexable,
171
+ expandable = _ref5.expandable;
172
+ var _ref6 = next.props || {},
173
+ nextExpandable = _ref6.expandable;
174
+ var _expandable = {
175
+ start: false,
176
+ end: false
177
+ };
178
+ if (expandable) {
179
+ _expandable.start = true;
180
+ }
181
+ if (nextExpandable) {
182
+ _expandable.end = true;
183
+ }
184
+ wrappered.push( /*#__PURE__*/React.createElement(SplitterHandler, _extends({}, props, {
185
+ index: n,
186
+ flexable: flexable,
187
+ expandable: _expandable,
188
+ onClick: onClick,
189
+ key: "handler-".concat(n)
190
+ })));
181
191
  }
182
- wrappered.push( /*#__PURE__*/React.createElement(SplitterHandler, _extends({}, props, {
183
- index: n,
184
- flexable: flexable,
185
- expandable: _expandable,
186
- onClick: onClick,
187
- key: "handler-".concat(n)
188
- })));
189
192
  });
190
193
  return /*#__PURE__*/React.createElement(SplitterWrapperCtx.Provider, {
191
194
  value: {
@@ -10,8 +10,18 @@
10
10
  var(--yee-splitter-border-color);
11
11
  }
12
12
 
13
+ &-horizontal {
14
+ @{pls}-handler {
15
+ cursor: e-resize;
16
+ }
17
+ }
18
+
13
19
  &-vertical {
14
20
  flex-direction: column;
21
+
22
+ @{pls}-handler {
23
+ cursor: n-resize;
24
+ }
15
25
  }
16
26
  }
17
27
 
@@ -77,8 +87,19 @@
77
87
  transition:
78
88
  background 0.2s ease-in-out,
79
89
  opacity 0.2s ease-in-out;
90
+ border-radius: 2px;
80
91
  content: '';
81
92
  }
93
+
94
+ &:hover {
95
+ &::after {
96
+ background-color: color-mix(
97
+ in srgb,
98
+ var(--yee-splitter-handler-color),
99
+ black 20%
100
+ );
101
+ }
102
+ }
82
103
  }
83
104
 
84
105
  &-flexable {
@@ -1,4 +1,4 @@
1
- import { Space, Table } from "../..";
1
+ import { Table } from "../..";
2
2
  import React from 'react';
3
3
  export default (function () {
4
4
  var columns = [{
@@ -30,12 +30,7 @@ export default (function () {
30
30
  age: 32,
31
31
  address: 'Sidney No. 1 Lake Park'
32
32
  }];
33
- return /*#__PURE__*/React.createElement(Space, {
34
- direction: "vertical",
35
- style: {
36
- width: '100%'
37
- }
38
- }, /*#__PURE__*/React.createElement(Table, {
33
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Table, {
39
34
  columns: columns,
40
35
  dataSource: dataSource,
41
36
  size: "small"
@@ -7,6 +7,6 @@ interface UseTabScrollOptions {
7
7
  }
8
8
  export declare function useTabScroll({ direction, navContainer, navList, enabled, }: UseTabScrollOptions): {
9
9
  refreshKey: number;
10
- updateShadow: () => void;
10
+ updateShadow: import("../../utils/debounce").Debounced<() => void>;
11
11
  };
12
12
  export {};
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { DataAttributeProps } from '../utils/types';
3
- type SemanticDOM = 'header' | 'content';
3
+ type SemanticDOM = 'header' | 'content' | 'track' | 'list' | 'activeBar';
4
4
  export type TabItemType = {
5
5
  /**
6
6
  * Unique key corresponding to activeKey
@@ -522,6 +522,10 @@
522
522
  // background-color: var(--yee-color-bg-container);
523
523
  }
524
524
 
525
+ @{pls}-tab-content {
526
+ height: 100%;
527
+ }
528
+
525
529
  @{pls}-active {
526
530
  z-index: 2;
527
531
 
@@ -24,6 +24,8 @@ var TabHeader = function TabHeader(props) {
24
24
  _props$position = props.position,
25
25
  position = _props$position === void 0 ? 'top' : _props$position,
26
26
  headerExtra = props.headerExtra,
27
+ classNames = props.classNames,
28
+ styles = props.styles,
27
29
  onEdit = props.onEdit;
28
30
  var direction = position === 'top' || position === 'bottom' ? 'horizontal' : 'vertical';
29
31
 
@@ -105,7 +107,7 @@ var TabHeader = function TabHeader(props) {
105
107
  handleAddTab(e);
106
108
  }
107
109
  }, [handleAddTab]);
108
- var cls = clsx("".concat(prefixCls, "-nav-wrapper"), "".concat(prefixCls, "-nav-wrapper-").concat(position));
110
+ var cls = clsx("".concat(prefixCls, "-nav-wrapper"), "".concat(prefixCls, "-nav-wrapper-").concat(position), classNames === null || classNames === void 0 ? void 0 : classNames.header);
109
111
  var contextValue = {
110
112
  activetab: activetab,
111
113
  navList: navList,
@@ -115,14 +117,17 @@ var TabHeader = function TabHeader(props) {
115
117
  setRange: setRange
116
118
  };
117
119
  return /*#__PURE__*/React.createElement("div", {
118
- className: cls
120
+ className: cls,
121
+ style: styles === null || styles === void 0 ? void 0 : styles.header
119
122
  }, renderPrefixExtra(), /*#__PURE__*/React.createElement(TabHeaderCtx.Provider, {
120
123
  value: contextValue
121
124
  }, /*#__PURE__*/React.createElement("div", {
122
- className: "".concat(prefixCls, "-nav-wrap"),
125
+ className: clsx("".concat(prefixCls, "-nav-wrap"), classNames === null || classNames === void 0 ? void 0 : classNames.track),
126
+ style: styles === null || styles === void 0 ? void 0 : styles.track,
123
127
  ref: navContainer
124
128
  }, /*#__PURE__*/React.createElement("div", {
125
- className: "".concat(prefixCls, "-nav-list"),
129
+ className: clsx("".concat(prefixCls, "-nav-list"), classNames === null || classNames === void 0 ? void 0 : classNames.list),
130
+ style: styles === null || styles === void 0 ? void 0 : styles.list,
126
131
  ref: navList
127
132
  }, items === null || items === void 0 ? void 0 : items.map(function (item, index) {
128
133
  return /*#__PURE__*/React.createElement(TabHeaderTitle, _extends({}, item, {
@@ -131,7 +136,8 @@ var TabHeader = function TabHeader(props) {
131
136
  index: index
132
137
  }));
133
138
  }), !type && /*#__PURE__*/React.createElement("div", {
134
- className: "".concat(prefixCls, "-active-bar"),
139
+ className: clsx("".concat(prefixCls, "-active-bar"), classNames === null || classNames === void 0 ? void 0 : classNames.activeBar),
140
+ style: styles === null || styles === void 0 ? void 0 : styles.activeBar,
135
141
  ref: activebar,
136
142
  "aria-hidden": "true"
137
143
  }), type === 'editable-card' && /*#__PURE__*/React.createElement("span", {
@@ -10,4 +10,8 @@ export interface TooltipProps extends Omit<TriggerProps, 'popup'> {
10
10
  * @default 0.1
11
11
  */
12
12
  mouseEnterDelay?: number;
13
+ /***
14
+ * Tooltip custom background color
15
+ * */
16
+ color?: string;
13
17
  }
@@ -8,19 +8,19 @@
8
8
 
9
9
  &-arrow {
10
10
  &::after {
11
- position: absolute;
12
- bottom: 0;
13
- z-index: 0;
14
- width: var(--yee-tooltip-arrow-width);
15
- height: var(--yee-tooltip-arrow-height);
16
- margin: auto;
11
+ // position: absolute;
12
+ // bottom: 0;
13
+ // z-index: 0;
14
+ // width: var(--yee-tooltip-arrow-width);
15
+ // height: var(--yee-tooltip-arrow-height);
16
+ // margin: auto;
17
17
  background-color: var(--yee-tooltip-bg-color);
18
18
  border-radius: var(--yee-tooltip-arrow-border-radius);
19
19
  box-shadow: var(--yee-box-shadow-popover-arrow);
20
20
  transform: translateY(var(--yee-tooltip-arrow-translate-y))
21
21
  rotate(var(--yee-tooltip-arrow-rotate));
22
- content: '';
23
- inset-inline: 0;
22
+ // content: '';
23
+ // inset-inline: 0;
24
24
  }
25
25
  }
26
26
  }
@@ -1,5 +1,11 @@
1
- var _excluded = ["prefixCls", "title", "arrow", "children", "placement", "trigger", "mouseEnterDelay"];
1
+ 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 = ["prefixCls", "title", "arrow", "children", "placement", "trigger", "mouseEnterDelay", "color", "popupStyle", "hideOnClick"];
2
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); }
4
+ 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; }
5
+ 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; }
6
+ 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; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ 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); }
3
9
  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
10
  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; }
5
11
  import React, { useContext } from 'react';
@@ -25,7 +31,12 @@ var Tooltip = function Tooltip(baseprops) {
25
31
  trigger = _props$trigger === void 0 ? ['hover', 'focus'] : _props$trigger,
26
32
  _props$mouseEnterDela = props.mouseEnterDelay,
27
33
  mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,
34
+ color = props.color,
35
+ popupStyle = props.popupStyle,
36
+ _props$hideOnClick = props.hideOnClick,
37
+ hideOnClick = _props$hideOnClick === void 0 ? false : _props$hideOnClick,
28
38
  rest = _objectWithoutProperties(props, _excluded);
39
+ var mergedPopupStyle = _objectSpread(_objectSpread({}, color ? _defineProperty({}, '--yee-tooltip-bg-color', color) : null), popupStyle);
29
40
  var popup = /*#__PURE__*/React.createElement("span", {
30
41
  className: "".concat(prefixCls, "-content"),
31
42
  role: "tooltip"
@@ -36,7 +47,8 @@ var Tooltip = function Tooltip(baseprops) {
36
47
  popup: popup,
37
48
  arrow: arrow,
38
49
  placement: placement,
39
- hideOnClick: false,
50
+ hideOnClick: hideOnClick,
51
+ popupStyle: mergedPopupStyle,
40
52
  mouseEnterDelay: mouseEnterDelay
41
53
  }), children);
42
54
  };
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,61 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { Tree, moveTreeNode } from "../..";
8
+ import React, { useState } from 'react';
9
+ var FIELD_NAMES = {
10
+ key: 'key',
11
+ label: 'label',
12
+ children: 'children'
13
+ };
14
+ export default (function () {
15
+ var _useState = useState([{
16
+ label: 'parent 1',
17
+ key: '0-0',
18
+ children: [{
19
+ label: 'parent 1-0',
20
+ key: '0-0-0',
21
+ children: [{
22
+ label: 'leaf-1',
23
+ key: '0-0-0-0'
24
+ }, {
25
+ label: 'leaf-2',
26
+ key: '0-0-0-1'
27
+ }]
28
+ }, {
29
+ label: 'parent 1-1',
30
+ key: '0-0-1',
31
+ children: [{
32
+ label: 'leaf-3',
33
+ key: '0-0-1-0'
34
+ }]
35
+ }]
36
+ }, {
37
+ label: 'parent 2',
38
+ key: '0-1',
39
+ children: [{
40
+ label: 'leaf-4',
41
+ key: '0-1-0'
42
+ }]
43
+ }]),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ data = _useState2[0],
46
+ setData = _useState2[1];
47
+ return /*#__PURE__*/React.createElement(Tree, {
48
+ draggable: true,
49
+ defaultExpandAll: true,
50
+ dataSource: data,
51
+ onDrop: function onDrop(info) {
52
+ return setData(function (prev) {
53
+ return moveTreeNode(prev, {
54
+ dragKey: info.dragKey,
55
+ dropKey: info.dropKey,
56
+ position: info.position
57
+ }, FIELD_NAMES);
58
+ });
59
+ }
60
+ });
61
+ });
@@ -12,23 +12,23 @@ export default (function () {
12
12
  expandedKeys = _useState2[0],
13
13
  setExpandedKeys = _useState2[1];
14
14
  var treeData = [{
15
- title: 'parent 1',
15
+ label: 'parent 1',
16
16
  key: '0-0',
17
17
  children: [{
18
- title: 'parent 1-0',
18
+ label: 'parent 1-0',
19
19
  key: '0-0-0',
20
20
  children: [{
21
- title: 'leaf',
21
+ label: 'leaf',
22
22
  key: '0-0-0-0'
23
23
  }, {
24
- title: 'leaf',
24
+ label: 'leaf',
25
25
  key: '0-0-0-1'
26
26
  }]
27
27
  }, {
28
- title: 'parent 1-1',
28
+ label: 'parent 1-1',
29
29
  key: '0-0-1',
30
30
  children: [{
31
- title: 'leaf',
31
+ label: 'leaf',
32
32
  key: '0-0-1-0'
33
33
  }]
34
34
  }]
@@ -1,3 +1,4 @@
1
1
  import Tree from './tree';
2
2
  export type { TreeProps } from './interface';
3
+ export { moveTreeNode } from './utils/tree-tools';
3
4
  export default Tree;
@@ -1,2 +1,3 @@
1
1
  import Tree from "./tree";
2
+ export { moveTreeNode } from "./utils/tree-tools";
2
3
  export default Tree;
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export type SemanticType = '';
3
+ export type DragPosition = 'before' | 'after' | 'inside';
4
+ export type { MoveInfo } from './utils/tree-tools';
3
5
  export type TreeNode<T> = {
4
6
  /**
5
7
  * uid
@@ -102,6 +104,30 @@ export interface TreeProps<T> {
102
104
  * Whether to allow dragging
103
105
  */
104
106
  draggable?: boolean;
107
+ /**
108
+ * Whether to allow dropping a dragged node at the given position.
109
+ * Return false to forbid the drop (cursor shows "no-drop").
110
+ */
111
+ allowDrop?: (info: {
112
+ dragNode: T;
113
+ dropNode: T;
114
+ position: DragPosition;
115
+ }) => boolean;
116
+ /**
117
+ * Callback after a node is dropped. Pure controlled: the Tree does not
118
+ * mutate dataSource — reorder it yourself (e.g. with `moveTreeNode`).
119
+ */
120
+ onDrop?: (info: {
121
+ /** Original data of the dragged node */
122
+ dragNode: T;
123
+ /** Original data of the target node */
124
+ dropNode: T;
125
+ dragKey: string | number;
126
+ dropKey: string | number;
127
+ position: DragPosition;
128
+ /** Convenience flag: true when position is 'before' or 'after' */
129
+ dropToGap: boolean;
130
+ }) => void;
105
131
  /**
106
132
  * Whether to show connecting lines
107
133
  */
@@ -2,11 +2,36 @@
2
2
 
3
3
  @{pls} {
4
4
  &-node {
5
+ position: relative;
5
6
  display: flex;
6
7
  align-items: center;
7
8
  justify-content: flex-start;
8
9
  height: var(--yee-tree-node-height);
9
10
 
11
+ &[draggable='true'] {
12
+ cursor: grab;
13
+ }
14
+
15
+ &-dragging {
16
+ opacity: 0.4;
17
+ }
18
+
19
+ &-drag-over-before {
20
+ box-shadow: inset 0 2px 0 0 var(--yee-primary-color);
21
+ }
22
+
23
+ &-drag-over-after {
24
+ box-shadow: inset 0 -2px 0 0 var(--yee-primary-color);
25
+ }
26
+
27
+ &-drag-over-inside {
28
+ background: color-mix(
29
+ in srgb,
30
+ var(--yee-primary-color) 12%,
31
+ transparent
32
+ );
33
+ }
34
+
10
35
  &-switcher {
11
36
  display: inline-flex;
12
37
  align-items: center;
@@ -1,4 +1,5 @@
1
1
  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
+ 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); }
2
3
  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; }
3
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
4
5
  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); }
@@ -32,9 +33,16 @@ var Node = function Node(props) {
32
33
  checkedKeys = _useContext.checkedKeys,
33
34
  expandedKeys = _useContext.expandedKeys,
34
35
  switcherIcon = _useContext.switcherIcon,
36
+ draggable = _useContext.draggable,
37
+ draggingKey = _useContext.draggingKey,
38
+ dropState = _useContext.dropState,
35
39
  onCheck = _useContext.onCheck,
36
40
  onSelect = _useContext.onSelect,
37
- onExpand = _useContext.onExpand;
41
+ onExpand = _useContext.onExpand,
42
+ onNodeDragStart = _useContext.onNodeDragStart,
43
+ onNodeDragOver = _useContext.onNodeDragOver,
44
+ onNodeDragLeave = _useContext.onNodeDragLeave,
45
+ onNodeDrop = _useContext.onNodeDrop;
38
46
  var expanded = expandedKeys.includes(key);
39
47
  var checked = checkedKeys.includes(key);
40
48
  var selected = selectedKeys.includes(key);
@@ -110,11 +118,28 @@ var Node = function Node(props) {
110
118
  });
111
119
  });
112
120
  };
113
- return /*#__PURE__*/React.createElement("div", {
114
- className: clsx("".concat(prefixCls, "-node"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-node-with-line"), showLine), "".concat(prefixCls, "-leaf-node"), isLeaf), "".concat(prefixCls, "-last-node"), isLast))
121
+ var isDropTarget = (dropState === null || dropState === void 0 ? void 0 : dropState.key) === key;
122
+ var dropPosition = isDropTarget ? dropState.position : null;
123
+ var dragProps = draggable && !disabled ? {
124
+ draggable: true,
125
+ onDragStart: function onDragStart(e) {
126
+ return onNodeDragStart(key, e);
127
+ },
128
+ onDragOver: function onDragOver(e) {
129
+ return onNodeDragOver(key, e);
130
+ },
131
+ onDragLeave: function onDragLeave(e) {
132
+ return onNodeDragLeave(key, e);
133
+ },
134
+ onDrop: function onDrop(e) {
135
+ return onNodeDrop(key, e);
136
+ }
137
+ } : {};
138
+ return /*#__PURE__*/React.createElement("div", _extends({
139
+ className: clsx("".concat(prefixCls, "-node"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-node-with-line"), showLine), "".concat(prefixCls, "-leaf-node"), isLeaf), "".concat(prefixCls, "-last-node"), isLast), "".concat(prefixCls, "-node-dragging"), draggingKey === key), "".concat(prefixCls, "-node-drag-over-before"), dropPosition === 'before'), "".concat(prefixCls, "-node-drag-over-after"), dropPosition === 'after'), "".concat(prefixCls, "-node-drag-over-inside"), dropPosition === 'inside'))
115
140
  // style={{
116
141
  // paddingLeft: depth * 28 + (isLeaf && checkable ? 24 : 0),
117
142
  // }}
118
- }, renderEmptyNodes(depth), renderExpandedIcon(), renderCheckbox(), renderLabel());
143
+ }, dragProps), renderEmptyNodes(depth), renderExpandedIcon(), renderCheckbox(), renderLabel());
119
144
  };
120
145
  export default Node;
@@ -1,6 +1,10 @@
1
1
  import React, { ChangeEvent } from 'react';
2
- import type { TreeProps } from './interface';
2
+ import type { DragPosition, TreeProps } from './interface';
3
3
  import './style/index.less';
4
+ type DropState = {
5
+ key: string | number;
6
+ position: DragPosition;
7
+ } | null;
4
8
  export declare const TreeContext: React.Context<{
5
9
  prefixCls?: string | undefined;
6
10
  checkable?: boolean | undefined;
@@ -11,9 +15,16 @@ export declare const TreeContext: React.Context<{
11
15
  selectedKeys: Array<string | number>;
12
16
  checkedKeys: Array<string | number>;
13
17
  expandedKeys: Array<string | number>;
18
+ draggable?: boolean | undefined;
19
+ draggingKey: string | number | null;
20
+ dropState: DropState;
14
21
  onCheck: (event: ChangeEvent<HTMLInputElement>) => void;
15
22
  onSelect: (key: string | number) => void;
16
23
  onExpand: (key: string | number) => void;
24
+ onNodeDragStart: (key: string | number, e: React.DragEvent) => void;
25
+ onNodeDragOver: (key: string | number, e: React.DragEvent) => void;
26
+ onNodeDragLeave: (key: string | number, e: React.DragEvent) => void;
27
+ onNodeDrop: (key: string | number, e: React.DragEvent) => void;
17
28
  }>;
18
29
  declare const Tree: <T extends Record<string, unknown> = any>(baseprops: TreeProps<T>) => React.JSX.Element;
19
30
  export default Tree;