@sheinx/hooks 3.0.0-alpha.2 → 3.0.0-alpha.3

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 (253) hide show
  1. package/cjs/common/type.d.ts +2 -0
  2. package/cjs/common/type.d.ts.map +1 -1
  3. package/cjs/common/use-drag-mock/index.d.ts +3 -11
  4. package/cjs/common/use-drag-mock/index.d.ts.map +1 -1
  5. package/cjs/common/use-drag-mock/index.js +27 -56
  6. package/cjs/common/use-drag-mock/use-drag-mock.d.ts +11 -0
  7. package/cjs/common/use-drag-mock/use-drag-mock.d.ts.map +1 -0
  8. package/cjs/common/use-drag-mock/use-drag-mock.js +61 -0
  9. package/cjs/common/use-drag-mock/use-drag-move.d.ts +11 -0
  10. package/cjs/common/use-drag-mock/use-drag-move.d.ts.map +1 -0
  11. package/cjs/common/use-drag-mock/use-drag-move.js +73 -0
  12. package/cjs/common/use-drag-mock/use-drag-resize.d.ts +15 -0
  13. package/cjs/common/use-drag-mock/use-drag-resize.d.ts.map +1 -0
  14. package/cjs/common/use-drag-mock/use-drag-resize.js +89 -0
  15. package/cjs/common/use-filter/index.d.ts +2 -0
  16. package/cjs/common/use-filter/index.d.ts.map +1 -0
  17. package/cjs/common/use-filter/index.js +19 -0
  18. package/cjs/common/use-filter/use-filter.d.ts +19 -0
  19. package/cjs/common/use-filter/use-filter.d.ts.map +1 -0
  20. package/cjs/common/use-filter/use-filter.js +153 -0
  21. package/cjs/common/use-filter/use-filter.type.d.ts +17 -0
  22. package/cjs/common/use-filter/use-filter.type.d.ts.map +1 -0
  23. package/cjs/common/use-filter/use-filter.type.js +5 -0
  24. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  25. package/cjs/common/use-position-style/index.js +5 -0
  26. package/cjs/components/use-button/use-button.d.ts +1 -1
  27. package/cjs/components/use-button/use-button.d.ts.map +1 -1
  28. package/cjs/components/use-button/use-button.js +2 -2
  29. package/cjs/components/use-cascader/index.d.ts +3 -0
  30. package/cjs/components/use-cascader/index.d.ts.map +1 -0
  31. package/cjs/components/use-cascader/index.js +19 -0
  32. package/cjs/components/use-cascader/use-cascader.d.ts +36 -0
  33. package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -0
  34. package/cjs/components/use-cascader/use-cascader.js +46 -0
  35. package/cjs/components/use-cascader/use-cascader.type.d.ts +14 -0
  36. package/cjs/components/use-cascader/use-cascader.type.d.ts.map +1 -0
  37. package/cjs/components/use-cascader/use-cascader.type.js +5 -0
  38. package/cjs/components/use-collapse/index.d.ts +5 -0
  39. package/cjs/components/use-collapse/index.d.ts.map +1 -0
  40. package/cjs/components/use-collapse/index.js +26 -0
  41. package/cjs/components/use-collapse/use-collapse-item.d.ts +22 -0
  42. package/cjs/components/use-collapse/use-collapse-item.d.ts.map +1 -0
  43. package/cjs/components/use-collapse/use-collapse-item.js +72 -0
  44. package/cjs/components/use-collapse/use-collapse-item.type.d.ts +12 -0
  45. package/cjs/components/use-collapse/use-collapse-item.type.d.ts.map +1 -0
  46. package/cjs/components/use-collapse/use-collapse-item.type.js +5 -0
  47. package/cjs/components/use-collapse/use-collapse.d.ts +8 -0
  48. package/cjs/components/use-collapse/use-collapse.d.ts.map +1 -0
  49. package/cjs/components/use-collapse/use-collapse.js +51 -0
  50. package/cjs/components/use-collapse/use-collapse.type.d.ts +8 -0
  51. package/cjs/components/use-collapse/use-collapse.type.d.ts.map +1 -0
  52. package/cjs/components/use-collapse/use-collapse.type.js +5 -0
  53. package/cjs/components/use-descriptions/index.d.ts +3 -0
  54. package/cjs/components/use-descriptions/index.d.ts.map +1 -0
  55. package/cjs/components/use-descriptions/index.js +19 -0
  56. package/cjs/components/use-descriptions/use-descriptions.d.ts +6 -0
  57. package/cjs/components/use-descriptions/use-descriptions.d.ts.map +1 -0
  58. package/cjs/components/use-descriptions/use-descriptions.js +77 -0
  59. package/cjs/components/use-descriptions/use-descriptions.type.d.ts +24 -0
  60. package/cjs/components/use-descriptions/use-descriptions.type.d.ts.map +1 -0
  61. package/cjs/components/use-descriptions/use-descriptions.type.js +5 -0
  62. package/cjs/components/use-select/index.d.ts +1 -0
  63. package/cjs/components/use-select/index.d.ts.map +1 -1
  64. package/cjs/components/use-select/index.js +8 -1
  65. package/cjs/components/use-select/use-select-group.d.ts +7 -0
  66. package/cjs/components/use-select/use-select-group.d.ts.map +1 -0
  67. package/cjs/components/use-select/use-select-group.js +51 -0
  68. package/cjs/components/use-select/use-select-group.type.d.ts +5 -0
  69. package/cjs/components/use-select/use-select-group.type.d.ts.map +1 -0
  70. package/cjs/components/use-select/use-select-group.type.js +5 -0
  71. package/cjs/components/use-select/use-select.d.ts.map +1 -1
  72. package/cjs/components/use-select/use-select.js +4 -4
  73. package/cjs/components/use-select/use-select.type.d.ts +5 -1
  74. package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
  75. package/cjs/components/use-slider/use-slider.d.ts +2 -2
  76. package/cjs/components/use-slider/use-slider.js +4 -4
  77. package/cjs/components/use-tree/use-tree-node.d.ts +2 -1
  78. package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
  79. package/cjs/components/use-tree/use-tree-node.js +7 -7
  80. package/cjs/components/use-tree/use-tree-node.type.d.ts +2 -2
  81. package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
  82. package/cjs/components/use-tree/use-tree.d.ts +33 -10
  83. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  84. package/cjs/components/use-tree/use-tree.js +86 -42
  85. package/cjs/components/use-tree/use-tree.type.d.ts +16 -13
  86. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  87. package/cjs/components/use-treeselect/index.d.ts +4 -0
  88. package/cjs/components/use-treeselect/index.d.ts.map +1 -0
  89. package/cjs/components/use-treeselect/index.js +26 -0
  90. package/cjs/components/use-treeselect/use-tiled.d.ts +13 -0
  91. package/cjs/components/use-treeselect/use-tiled.d.ts.map +1 -0
  92. package/cjs/components/use-treeselect/use-tiled.js +99 -0
  93. package/cjs/components/use-treeselect/use-tiled.type.d.ts +15 -0
  94. package/cjs/components/use-treeselect/use-tiled.type.d.ts.map +1 -0
  95. package/cjs/components/use-treeselect/use-tiled.type.js +5 -0
  96. package/cjs/components/use-treeselect/use-treeselect.d.ts +7 -0
  97. package/cjs/components/use-treeselect/use-treeselect.d.ts.map +1 -0
  98. package/cjs/components/use-treeselect/use-treeselect.js +29 -0
  99. package/cjs/components/use-treeselect/use-treeselect.type.d.ts +9 -0
  100. package/cjs/components/use-treeselect/use-treeselect.type.d.ts.map +1 -0
  101. package/cjs/components/use-treeselect/use-treeselect.type.js +5 -0
  102. package/cjs/index.d.ts +5 -0
  103. package/cjs/index.d.ts.map +1 -1
  104. package/cjs/index.js +60 -0
  105. package/cjs/utils/dom/element.d.ts +2 -1
  106. package/cjs/utils/dom/element.d.ts.map +1 -1
  107. package/cjs/utils/dom/element.js +9 -1
  108. package/cjs/utils/dom/index.d.ts +3 -0
  109. package/cjs/utils/dom/index.d.ts.map +1 -1
  110. package/cjs/utils/dom/index.js +32 -10
  111. package/cjs/utils/dom/responsiveObserve.d.ts +13 -0
  112. package/cjs/utils/dom/responsiveObserve.d.ts.map +1 -0
  113. package/cjs/utils/dom/responsiveObserve.js +89 -0
  114. package/cjs/utils/dom/responsiveObserve.type.d.ts +5 -0
  115. package/cjs/utils/dom/responsiveObserve.type.d.ts.map +1 -0
  116. package/cjs/utils/dom/responsiveObserve.type.js +5 -0
  117. package/cjs/utils/index.d.ts +1 -0
  118. package/cjs/utils/index.d.ts.map +1 -1
  119. package/cjs/utils/index.js +12 -0
  120. package/cjs/utils/is.d.ts +1 -0
  121. package/cjs/utils/is.d.ts.map +1 -1
  122. package/cjs/utils/is.js +5 -1
  123. package/cjs/utils/render.d.ts.map +1 -1
  124. package/cjs/utils/tree.d.ts +14 -0
  125. package/cjs/utils/tree.d.ts.map +1 -0
  126. package/cjs/utils/tree.js +93 -0
  127. package/esm/common/type.d.ts +2 -0
  128. package/esm/common/type.d.ts.map +1 -1
  129. package/esm/common/use-drag-mock/index.d.ts +3 -11
  130. package/esm/common/use-drag-mock/index.d.ts.map +1 -1
  131. package/esm/common/use-drag-mock/index.js +27 -56
  132. package/esm/common/use-drag-mock/use-drag-mock.d.ts +11 -0
  133. package/esm/common/use-drag-mock/use-drag-mock.d.ts.map +1 -0
  134. package/esm/common/use-drag-mock/use-drag-mock.js +61 -0
  135. package/esm/common/use-drag-mock/use-drag-move.d.ts +11 -0
  136. package/esm/common/use-drag-mock/use-drag-move.d.ts.map +1 -0
  137. package/esm/common/use-drag-mock/use-drag-move.js +73 -0
  138. package/esm/common/use-drag-mock/use-drag-resize.d.ts +15 -0
  139. package/esm/common/use-drag-mock/use-drag-resize.d.ts.map +1 -0
  140. package/esm/common/use-drag-mock/use-drag-resize.js +89 -0
  141. package/esm/common/use-filter/index.d.ts +2 -0
  142. package/esm/common/use-filter/index.d.ts.map +1 -0
  143. package/esm/common/use-filter/index.js +19 -0
  144. package/esm/common/use-filter/use-filter.d.ts +19 -0
  145. package/esm/common/use-filter/use-filter.d.ts.map +1 -0
  146. package/esm/common/use-filter/use-filter.js +153 -0
  147. package/esm/common/use-filter/use-filter.type.d.ts +17 -0
  148. package/esm/common/use-filter/use-filter.type.d.ts.map +1 -0
  149. package/esm/common/use-filter/use-filter.type.js +5 -0
  150. package/esm/common/use-position-style/index.d.ts.map +1 -1
  151. package/esm/common/use-position-style/index.js +5 -0
  152. package/esm/components/use-button/use-button.d.ts +1 -1
  153. package/esm/components/use-button/use-button.d.ts.map +1 -1
  154. package/esm/components/use-button/use-button.js +2 -2
  155. package/esm/components/use-cascader/index.d.ts +3 -0
  156. package/esm/components/use-cascader/index.d.ts.map +1 -0
  157. package/esm/components/use-cascader/index.js +19 -0
  158. package/esm/components/use-cascader/use-cascader.d.ts +36 -0
  159. package/esm/components/use-cascader/use-cascader.d.ts.map +1 -0
  160. package/esm/components/use-cascader/use-cascader.js +46 -0
  161. package/esm/components/use-cascader/use-cascader.type.d.ts +14 -0
  162. package/esm/components/use-cascader/use-cascader.type.d.ts.map +1 -0
  163. package/esm/components/use-cascader/use-cascader.type.js +5 -0
  164. package/esm/components/use-collapse/index.d.ts +5 -0
  165. package/esm/components/use-collapse/index.d.ts.map +1 -0
  166. package/esm/components/use-collapse/index.js +26 -0
  167. package/esm/components/use-collapse/use-collapse-item.d.ts +22 -0
  168. package/esm/components/use-collapse/use-collapse-item.d.ts.map +1 -0
  169. package/esm/components/use-collapse/use-collapse-item.js +72 -0
  170. package/esm/components/use-collapse/use-collapse-item.type.d.ts +12 -0
  171. package/esm/components/use-collapse/use-collapse-item.type.d.ts.map +1 -0
  172. package/esm/components/use-collapse/use-collapse-item.type.js +5 -0
  173. package/esm/components/use-collapse/use-collapse.d.ts +8 -0
  174. package/esm/components/use-collapse/use-collapse.d.ts.map +1 -0
  175. package/esm/components/use-collapse/use-collapse.js +51 -0
  176. package/esm/components/use-collapse/use-collapse.type.d.ts +8 -0
  177. package/esm/components/use-collapse/use-collapse.type.d.ts.map +1 -0
  178. package/esm/components/use-collapse/use-collapse.type.js +5 -0
  179. package/esm/components/use-descriptions/index.d.ts +3 -0
  180. package/esm/components/use-descriptions/index.d.ts.map +1 -0
  181. package/esm/components/use-descriptions/index.js +19 -0
  182. package/esm/components/use-descriptions/use-descriptions.d.ts +6 -0
  183. package/esm/components/use-descriptions/use-descriptions.d.ts.map +1 -0
  184. package/esm/components/use-descriptions/use-descriptions.js +77 -0
  185. package/esm/components/use-descriptions/use-descriptions.type.d.ts +24 -0
  186. package/esm/components/use-descriptions/use-descriptions.type.d.ts.map +1 -0
  187. package/esm/components/use-descriptions/use-descriptions.type.js +5 -0
  188. package/esm/components/use-select/index.d.ts +1 -0
  189. package/esm/components/use-select/index.d.ts.map +1 -1
  190. package/esm/components/use-select/index.js +8 -1
  191. package/esm/components/use-select/use-select-group.d.ts +7 -0
  192. package/esm/components/use-select/use-select-group.d.ts.map +1 -0
  193. package/esm/components/use-select/use-select-group.js +51 -0
  194. package/esm/components/use-select/use-select-group.type.d.ts +5 -0
  195. package/esm/components/use-select/use-select-group.type.d.ts.map +1 -0
  196. package/esm/components/use-select/use-select-group.type.js +5 -0
  197. package/esm/components/use-select/use-select.d.ts.map +1 -1
  198. package/esm/components/use-select/use-select.js +4 -4
  199. package/esm/components/use-select/use-select.type.d.ts +5 -1
  200. package/esm/components/use-select/use-select.type.d.ts.map +1 -1
  201. package/esm/components/use-slider/use-slider.d.ts +2 -2
  202. package/esm/components/use-slider/use-slider.js +4 -4
  203. package/esm/components/use-tree/use-tree-node.d.ts +2 -1
  204. package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
  205. package/esm/components/use-tree/use-tree-node.js +7 -7
  206. package/esm/components/use-tree/use-tree-node.type.d.ts +2 -2
  207. package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
  208. package/esm/components/use-tree/use-tree.d.ts +33 -10
  209. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  210. package/esm/components/use-tree/use-tree.js +86 -42
  211. package/esm/components/use-tree/use-tree.type.d.ts +16 -13
  212. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  213. package/esm/components/use-treeselect/index.d.ts +4 -0
  214. package/esm/components/use-treeselect/index.d.ts.map +1 -0
  215. package/esm/components/use-treeselect/index.js +26 -0
  216. package/esm/components/use-treeselect/use-tiled.d.ts +13 -0
  217. package/esm/components/use-treeselect/use-tiled.d.ts.map +1 -0
  218. package/esm/components/use-treeselect/use-tiled.js +99 -0
  219. package/esm/components/use-treeselect/use-tiled.type.d.ts +15 -0
  220. package/esm/components/use-treeselect/use-tiled.type.d.ts.map +1 -0
  221. package/esm/components/use-treeselect/use-tiled.type.js +5 -0
  222. package/esm/components/use-treeselect/use-treeselect.d.ts +7 -0
  223. package/esm/components/use-treeselect/use-treeselect.d.ts.map +1 -0
  224. package/esm/components/use-treeselect/use-treeselect.js +29 -0
  225. package/esm/components/use-treeselect/use-treeselect.type.d.ts +9 -0
  226. package/esm/components/use-treeselect/use-treeselect.type.d.ts.map +1 -0
  227. package/esm/components/use-treeselect/use-treeselect.type.js +5 -0
  228. package/esm/index.d.ts +5 -0
  229. package/esm/index.d.ts.map +1 -1
  230. package/esm/index.js +60 -0
  231. package/esm/utils/dom/element.d.ts +2 -1
  232. package/esm/utils/dom/element.d.ts.map +1 -1
  233. package/esm/utils/dom/element.js +9 -1
  234. package/esm/utils/dom/index.d.ts +3 -0
  235. package/esm/utils/dom/index.d.ts.map +1 -1
  236. package/esm/utils/dom/index.js +32 -10
  237. package/esm/utils/dom/responsiveObserve.d.ts +13 -0
  238. package/esm/utils/dom/responsiveObserve.d.ts.map +1 -0
  239. package/esm/utils/dom/responsiveObserve.js +89 -0
  240. package/esm/utils/dom/responsiveObserve.type.d.ts +5 -0
  241. package/esm/utils/dom/responsiveObserve.type.d.ts.map +1 -0
  242. package/esm/utils/dom/responsiveObserve.type.js +5 -0
  243. package/esm/utils/index.d.ts +1 -0
  244. package/esm/utils/index.d.ts.map +1 -1
  245. package/esm/utils/index.js +12 -0
  246. package/esm/utils/is.d.ts +1 -0
  247. package/esm/utils/is.d.ts.map +1 -1
  248. package/esm/utils/is.js +5 -1
  249. package/esm/utils/render.d.ts.map +1 -1
  250. package/esm/utils/tree.d.ts +14 -0
  251. package/esm/utils/tree.d.ts.map +1 -0
  252. package/esm/utils/tree.js +93 -0
  253. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-select-group.d.ts","sourceRoot":"","sources":["use-select-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,QAAA,MAAM,cAAc;;;CAoCnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.for-each.js");
9
+ require("core-js/modules/es.array.reduce.js");
10
+ require("core-js/modules/es.array.concat.js");
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _react = require("react");
14
+ var _utils = require("../../utils");
15
+ var UseSelectGroup = function UseSelectGroup(props) {
16
+ var _props$data = props.data,
17
+ dataProp = _props$data === void 0 ? [] : _props$data,
18
+ groupBy = props.groupBy;
19
+ var _useState = (0, _react.useState)([]),
20
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
21
+ data = _useState2[0],
22
+ setData = _useState2[1];
23
+ var groupKey = (0, _react.useRef)('');
24
+ var initGroupData = function initGroupData() {
25
+ if (typeof groupBy !== 'function') {
26
+ setData(dataProp);
27
+ return;
28
+ }
29
+ var groupData = {};
30
+ dataProp.forEach(function (item, index) {
31
+ var group = groupBy(item, index, dataProp);
32
+ if (!groupData[group]) groupData[group || ''] = group ? [(0, _defineProperty2.default)({}, groupKey.current, group)] : [];
33
+ groupData[group].push(item);
34
+ });
35
+ var newData = Object.keys(groupData).reduce(function (p, v) {
36
+ return v ? p.concat(groupData[v]) : groupData[v].concat(p);
37
+ }, []);
38
+ setData(newData);
39
+ };
40
+ (0, _react.useEffect)(function () {
41
+ if (!groupBy) return;
42
+ groupKey.current = (0, _utils.getUidStr)();
43
+ initGroupData();
44
+ }, [dataProp]);
45
+ return {
46
+ data: data,
47
+ groupKey: groupKey.current
48
+ };
49
+ };
50
+ var _default = UseSelectGroup;
51
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ export interface UseSelectGroupProps<DataItem> {
2
+ data?: DataItem[];
3
+ groupBy?: (item: DataItem, index?: number, data?: DataItem[]) => string;
4
+ }
5
+ //# sourceMappingURL=use-select-group.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-select-group.type.d.ts","sourceRoot":"","sources":["use-select-group.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC3C,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;CACzE"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCd,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _useInputAble2 = require("../../common/use-input-able");
8
8
  var _useListSelect = require("../../common/use-list-select");
9
- // import { getKey } from '../../utils';
10
- // import { KeygenResult } from '../../common/type';
11
-
12
9
  var useSelect = function useSelect(props) {
13
10
  var data = props.data,
11
+ treeData = props.treeData,
12
+ separator = props.separator,
14
13
  control = props.control,
15
14
  defaultValue = props.defaultValue,
16
15
  beforeChange = props.beforeChange,
@@ -30,7 +29,8 @@ var useSelect = function useSelect(props) {
30
29
  value = _useInputAble.value,
31
30
  onChange = _useInputAble.onChange;
32
31
  var datum = (0, _useListSelect.useListSelect)({
33
- data: data,
32
+ data: data || treeData,
33
+ separator: separator,
34
34
  format: format,
35
35
  value: value,
36
36
  multiple: multiple,
@@ -1,14 +1,18 @@
1
1
  import { ObjectKey } from '../../common/type';
2
2
  export interface BaseSelectProps<DataItem, Value> {
3
3
  value?: Value;
4
- data: DataItem[];
4
+ data?: DataItem[];
5
+ treeData?: DataItem[];
5
6
  defaultValue?: Value;
6
7
  control: boolean;
8
+ separator?: string;
7
9
  multiple?: boolean;
10
+ childrenKey?: keyof DataItem;
8
11
  disabled?: boolean | ((data: DataItem) => boolean);
9
12
  prediction?: (value: Value, Data: DataItem) => boolean;
10
13
  format?: ((data: DataItem) => Value extends (infer U)[] ? U : Value) | ObjectKey<DataItem>;
11
14
  beforeChange?: (value: Value) => any;
12
15
  onChange?: (value: Value, data?: DataItem | DataItem[], checked?: boolean) => void;
16
+ groupBy?: (item: DataItem, index?: number, data?: DataItem[]) => string;
13
17
  }
14
18
  //# sourceMappingURL=use-select.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpF"}
1
+ {"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;CACzE"}
@@ -13,15 +13,15 @@ export declare const useSlider: <Value extends number | number[]>(props: UseSlid
13
13
  startValue: number;
14
14
  endValue: number;
15
15
  innerStyle: {
16
- top: string;
17
16
  bottom: string;
17
+ top: string;
18
18
  left?: undefined;
19
19
  right?: undefined;
20
20
  } | {
21
21
  left: string;
22
22
  right: string;
23
- top?: undefined;
24
23
  bottom?: undefined;
24
+ top?: undefined;
25
25
  };
26
26
  };
27
27
  export default useSlider;
@@ -93,7 +93,7 @@ var useSlider = function useSlider(props) {
93
93
  var newRate = (0, _toConsumableArray2.default)(r);
94
94
  var v = context.dragIndex === 0 ? r[0] : r[1];
95
95
  var max = props.vertical ? target.clientHeight : target.clientWidth;
96
- var delta = props.vertical ? deltaY : deltaX;
96
+ var delta = props.vertical ? deltaY * -1 : deltaX;
97
97
  var rate = Math.max(v + delta / max, 0);
98
98
  if (rate > 1) {
99
99
  rate = 1;
@@ -126,7 +126,7 @@ var useSlider = function useSlider(props) {
126
126
  if (context.clickLock) return;
127
127
  var target = e.currentTarget;
128
128
  var rect = target.getBoundingClientRect();
129
- var rate = !props.vertical ? (e.clientX - rect.left) / rect.width : (e.clientY - rect.top) / rect.height;
129
+ var rate = !props.vertical ? (e.clientX - rect.left) / rect.width : (rect.bottom - e.clientY) / rect.height;
130
130
  var value = getValueFromRate(rate, scale, step);
131
131
  if (props.range) {
132
132
  var _start = startValue;
@@ -145,8 +145,8 @@ var useSlider = function useSlider(props) {
145
145
  });
146
146
  var getTrackInnerStyle = function getTrackInnerStyle(start, end) {
147
147
  if (props.vertical) return {
148
- top: start * 100 + '%',
149
- bottom: (1 - end) * 100 + '%'
148
+ bottom: start * 100 + '%',
149
+ top: (1 - end) * 100 + '%'
150
150
  };
151
151
  return {
152
152
  left: start * 100 + '%',
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseTreeNodeProps } from './use-tree-node.type';
3
- declare const useTreeNode: <DataItem>(props: BaseTreeNodeProps<DataItem>) => {
3
+ declare const useTreeNode: <DataItem, Value>(props: BaseTreeNodeProps<DataItem, Value>) => {
4
4
  update: (key: string, value: boolean) => void;
5
5
  active: boolean;
6
6
  expanded: boolean;
7
7
  fetching: boolean;
8
8
  isLeaf: () => boolean;
9
9
  setFetching: import("react").Dispatch<import("react").SetStateAction<boolean>>;
10
+ setExpanded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
10
11
  onToggle: () => void;
11
12
  };
12
13
  export default useTreeNode;
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree-node.d.ts","sourceRoot":"","sources":["use-tree-node.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,WAAW;kBAMmB,MAAM,SAAS,OAAO;;;;;;;CAkDzD,CAAC;AACF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"use-tree-node.d.ts","sourceRoot":"","sources":["use-tree-node.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,WAAW;kBAMmB,MAAM,SAAS,OAAO;;;;;;;;CAmDzD,CAAC;AACF,eAAe,WAAW,CAAC"}
@@ -13,8 +13,7 @@ var useTreeNode = function useTreeNode(props) {
13
13
  data = props.data,
14
14
  bindNode = props.bindNode,
15
15
  childrenKey = props.childrenKey,
16
- loader = props.loader,
17
- onToggle = props.onToggle;
16
+ loader = props.loader;
18
17
  var _useState = (0, _react.useState)(false),
19
18
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
20
19
  active = _useState2[0],
@@ -45,9 +44,9 @@ var useTreeNode = function useTreeNode(props) {
45
44
  }
46
45
  });
47
46
  var handleToggle = function handleToggle() {
48
- var newExpand = !expanded;
49
- setExpanded(newExpand);
50
- if (onToggle) onToggle(id, newExpand);
47
+ // const newExpand = !expanded;
48
+ // setExpanded(newExpand);
49
+ // if (onToggle) onToggle(id, newExpand);
51
50
  };
52
51
  var isLeaf = function isLeaf() {
53
52
  var children = data[childrenKey];
@@ -60,9 +59,9 @@ var useTreeNode = function useTreeNode(props) {
60
59
  (0, _react.useEffect)(function () {
61
60
  var _bindNode = bindNode(id, update),
62
61
  active = _bindNode.active,
63
- expanded = _bindNode.expanded;
62
+ nextExpanded = _bindNode.expanded;
64
63
  setActive(active);
65
- setExpanded(expanded);
64
+ setExpanded(nextExpanded);
66
65
  }, []);
67
66
  return {
68
67
  update: update,
@@ -71,6 +70,7 @@ var useTreeNode = function useTreeNode(props) {
71
70
  fetching: fetching,
72
71
  isLeaf: isLeaf,
73
72
  setFetching: setFetching,
73
+ setExpanded: setExpanded,
74
74
  onToggle: handleToggle
75
75
  };
76
76
  };
@@ -7,7 +7,7 @@ export interface NodeState {
7
7
  expanded: boolean;
8
8
  fetching: boolean;
9
9
  }
10
- export interface BaseTreeNodeProps<DataItem> {
10
+ export interface BaseTreeNodeProps<DataItem, Value> {
11
11
  id: KeygenResult;
12
12
  data: DataItem;
13
13
  childrenKey: keyof DataItem;
@@ -20,7 +20,7 @@ export interface BaseTreeNodeProps<DataItem> {
20
20
  };
21
21
  content: HTMLDivElement | null;
22
22
  loader?: (key: KeygenResult, data: DataItem) => void;
23
- onToggle?: (id: KeygenResult, expanded: boolean) => void;
23
+ onToggle?: (id: Value, expanded: boolean) => void;
24
24
  onDrop?: (data: DataItem[], key: KeygenResult, targetKey: KeygenResult, position: number) => void;
25
25
  }
26
26
  //# sourceMappingURL=use-tree-node.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree-node.type.d.ts","sourceRoot":"","sources":["use-tree-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,oBAAY,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ;IACzC,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,KAAK;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3F,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnG"}
1
+ {"version":3,"file":"use-tree-node.type.d.ts","sourceRoot":"","sources":["use-tree-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,oBAAY,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,KAAK;IAChD,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,KAAK;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3F,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnG"}
@@ -22,22 +22,45 @@ export declare const MODE: {
22
22
  */
23
23
  MODE_4: number;
24
24
  };
25
- declare const useTree: <DataItem>(props: BaseTreeProps<DataItem>) => {
26
- func: {
27
- get: (id: KeygenResult) => CheckedStatusType | undefined;
28
- set: (id: KeygenResult, checked: CheckedStatusType, direction?: 'asc' | 'desc') => CheckedStatusType;
29
- getPath: (id: KeygenResult) => TreePathType | undefined;
30
- getValue: () => KeygenResult[];
31
- getChecked: (id: KeygenResult) => boolean | "indeterminate";
32
- isDisabled: (id: KeygenResult) => boolean;
25
+ declare const useTree: <DataItem, Value extends KeygenResult>(props: BaseTreeProps<DataItem, Value>) => {
26
+ datum: {
27
+ get: (id: Value) => CheckedStatusType | undefined;
28
+ set: (id: Value, checked: CheckedStatusType, direction?: 'asc' | 'desc') => CheckedStatusType;
29
+ childrenKey: keyof DataItem & string;
30
+ data: DataItem[];
31
+ getPath: (id: Value) => TreePathType<Value> | undefined;
32
+ getValue: () => Value[];
33
+ getChecked: (id: Value) => boolean | "indeterminate";
34
+ getKey: (item: DataItem, id?: KeygenResult, index?: number) => Value;
35
+ getDataByValues: (values: Value | Value[]) => NonNullable<DataItem> | {
36
+ IS_NOT_MATCHED_VALUE: boolean;
37
+ value: KeygenResult;
38
+ } | (NonNullable<DataItem> | {
39
+ IS_NOT_MATCHED_VALUE: boolean;
40
+ value: KeygenResult;
41
+ } | null)[] | null;
42
+ setValue: (value?: Value[] | undefined) => void;
43
+ setData: (data?: DataItem[] | undefined) => void;
44
+ isDisabled: (id: Value) => boolean;
33
45
  bindNode: (id: KeygenResult, update: UpdateFunc) => {
34
46
  active: boolean;
35
47
  expanded: boolean;
36
48
  };
49
+ getDataById: (id: KeygenResult) => NonNullable<DataItem> | {
50
+ IS_NOT_MATCHED_VALUE: boolean;
51
+ value: KeygenResult;
52
+ } | null;
37
53
  };
38
- pathMap: Map<KeygenResult, TreePathType>;
54
+ getKey: (item: DataItem, id?: KeygenResult, index?: number) => Value;
55
+ getDataById: (id: KeygenResult) => NonNullable<DataItem> | {
56
+ IS_NOT_MATCHED_VALUE: boolean;
57
+ value: KeygenResult;
58
+ } | null;
59
+ expanded: KeygenResult[] | undefined;
60
+ onExpand: (value: KeygenResult[]) => void;
61
+ pathMap: Map<Value, TreePathType<Value>>;
39
62
  dataMap: Map<KeygenResult, DataItem>;
40
- valueMap: Map<KeygenResult, CheckedStatusType>;
63
+ valueMap: Map<Value, CheckedStatusType>;
41
64
  updateMap: Map<KeygenResult, UpdateFunc>;
42
65
  };
43
66
  export default useTree;
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EAEjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;kBAyCM,YAAY;kBAsOZ,YAAY,WAAW,iBAAiB,cAAc,KAAK,GAAG,MAAM;sBAjLhE,YAAY;;yBAYT,YAAY;yBAmIZ,YAAY;uBA9Md,YAAY,UAAU,UAAU;;;;;;;;;CAgUvD,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EAEjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;kCA8SsB,iBAAiB,cAAc,KAAK,GAAG,MAAM;;;;;;sCA9O1C,YAAY,UAAe,MAAM;;;;;;;;;;;uBAf/C,YAAY,UAAU,UAAU;;;;0BAoF7B,YAAY;;;;;kCArED,YAAY,UAAe,MAAM;sBAqE5C,YAAY;;;;;;;;;;CAiQtC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -11,11 +11,12 @@ require("core-js/modules/es.map.js");
11
11
  require("core-js/modules/web.dom-collections.iterator.js");
12
12
  require("core-js/modules/es.array.index-of.js");
13
13
  require("core-js/modules/web.dom-collections.for-each.js");
14
+ require("core-js/modules/es.array.map.js");
14
15
  require("core-js/modules/es.array.concat.js");
15
16
  require("core-js/modules/es.array.filter.js");
16
- require("core-js/modules/es.set.js");
17
17
  var _react = require("react");
18
18
  var _useLatestObj = _interopRequireDefault(require("../../common/use-latest-obj"));
19
+ var _useInputAble2 = require("../../common/use-input-able");
19
20
  var _is = require("../../utils/is");
20
21
  var MODE = {
21
22
  /**
@@ -51,17 +52,39 @@ var useTree = function useTree(props) {
51
52
  keygen = props.keygen,
52
53
  mode = props.mode,
53
54
  activeProp = props.active,
54
- expanded = props.expanded,
55
- defaultExpanded = props.defaultExpanded,
55
+ expandedProp = props.expanded,
56
+ _props$defaultExpande = props.defaultExpanded,
57
+ defaultExpanded = _props$defaultExpande === void 0 ? [] : _props$defaultExpande,
56
58
  defaultExpandAll = props.defaultExpandAll,
57
- disabledProps = props.disabled;
59
+ disabledProps = props.disabled,
60
+ unmatch = props.unmatch,
61
+ isControlled = props.isControlled,
62
+ onExpandProp = props.onExpand;
63
+
64
+ // const {} = useInputAble({
65
+ // value: props.value,
66
+ // defaultValue: props.defaultValue,
67
+ // control: props.control,
68
+ // onChange: props.onChange,
69
+ // beforeChange: props.beforeChange,
70
+ // });
71
+
72
+ var _useInputAble = (0, _useInputAble2.useInputAble)({
73
+ value: expandedProp,
74
+ defaultValue: defaultExpanded,
75
+ control: isControlled,
76
+ onChange: onExpandProp,
77
+ beforeChange: undefined
78
+ }),
79
+ expanded = _useInputAble.value,
80
+ onExpand = _useInputAble.onChange;
58
81
  var _useRef = (0, _react.useRef)({
59
82
  pathMap: new Map(),
60
83
  dataMap: new Map(),
61
84
  valueMap: new Map(),
62
85
  updateMap: new Map(),
63
86
  disabled: false,
64
- value: [],
87
+ value: undefined,
65
88
  data: [],
66
89
  cachedValue: []
67
90
  }),
@@ -84,9 +107,9 @@ var useTree = function useTree(props) {
84
107
  expanded: !!(expandeds && expandeds.indexOf(id) >= 0)
85
108
  };
86
109
  };
87
- function get(id) {
110
+ var get = function get(id) {
88
111
  return context.valueMap.get(id);
89
- }
112
+ };
90
113
  var getKey = function getKey(item) {
91
114
  var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
92
115
  var index = arguments.length > 2 ? arguments[2] : undefined;
@@ -133,6 +156,7 @@ var useTree = function useTree(props) {
133
156
  default:
134
157
  }
135
158
  });
159
+ context.cachedValue = values;
136
160
  return values;
137
161
  };
138
162
  var getPath = function getPath(id) {
@@ -152,12 +176,21 @@ var useTree = function useTree(props) {
152
176
  if (value === 2) checked = 'indeterminate';
153
177
  return checked;
154
178
  };
155
-
156
- // const getDataById = (id: KeygenResult) => {
157
- // const oroginData = context.dataMap.get(id);
158
- // if (oroginData) return oroginData;
159
- // };
160
-
179
+ var getDataById = function getDataById(id) {
180
+ var oroginData = context.dataMap.get(id);
181
+ if (oroginData) return oroginData;
182
+ if (!unmatch) return null;
183
+ return {
184
+ IS_NOT_MATCHED_VALUE: true,
185
+ value: id
186
+ };
187
+ };
188
+ var getDataByValues = function getDataByValues(values) {
189
+ if ((0, _is.isArray)(values)) {
190
+ return values.map(getDataById);
191
+ }
192
+ return getDataById(values);
193
+ };
161
194
  var setValueMap = function setValueMap(id, checked) {
162
195
  context.valueMap.set(id, checked);
163
196
  };
@@ -169,6 +202,7 @@ var useTree = function useTree(props) {
169
202
  var id = getKey(item, path[path.length - 1], i);
170
203
  // 重复 id 警告
171
204
  if (context.dataMap.get(id)) {
205
+ console.error("There is already a key \"".concat(id, "\" exists. The key must be unique."));
172
206
  return;
173
207
  }
174
208
  // 制作 data mapping
@@ -177,32 +211,32 @@ var useTree = function useTree(props) {
177
211
  if (_isDisabled === false && (0, _is.isFunc)(context.disabled)) {
178
212
  _isDisabled = context.disabled(item);
179
213
  }
180
- ids.push(id);
181
214
  var indexPath = [].concat((0, _toConsumableArray2.default)(index), [i]);
215
+ ids.push(id);
182
216
  var children = [];
183
217
  if (Array.isArray(item[childrenKey])) {
184
218
  var _children = initData(item[childrenKey], [].concat((0, _toConsumableArray2.default)(path), [id]), mode === MODE.MODE_4 ? disabled : _isDisabled, indexPath);
185
219
  if (_children) children = _children;
186
220
  }
187
221
  context.pathMap.set(id, {
188
- index: i,
189
- path: path,
190
222
  children: children,
223
+ path: path,
191
224
  isDisabled: _isDisabled,
192
- indexPath: indexPath
225
+ indexPath: indexPath,
226
+ index: i
193
227
  });
194
228
  }
195
229
  return ids;
196
230
  };
197
231
  var initValue = function initValue(ids_outer, forceCheck) {
198
232
  var ids = ids_outer;
199
- if (!data || !value) {
233
+ if (!context.data || !context.value) {
200
234
  return undefined;
201
235
  }
202
236
  if (!ids) {
203
237
  ids = [];
204
- context.pathMap.forEach(function (path, index) {
205
- if (path.path.length === 0) {
238
+ context.pathMap.forEach(function (item, index) {
239
+ if (item.path.length === 0) {
206
240
  ids.push(index);
207
241
  }
208
242
  });
@@ -219,13 +253,13 @@ var useTree = function useTree(props) {
219
253
  if (forceCheck) {
220
254
  setValueMap(item, 1);
221
255
  initValue(children, forceCheck);
222
- return;
256
+ continue;
223
257
  }
224
- var childChecked = value.indexOf(item) >= 0 ? 1 : 0;
258
+ var childChecked = context.value.indexOf(item) >= 0 ? 1 : 0;
225
259
 
226
260
  // 选中且非 mode 1 和 mode 4,则需要将其子选项统统强制选中
227
261
  if (childChecked === 1 && mode !== MODE.MODE_1 && mode !== MODE.MODE_4) {
228
- // initValue(children, true);
262
+ initValue(children, true);
229
263
  }
230
264
  // mode 2 mode 3 mode 的情况下,需要根据 children 内容来决定是否选中
231
265
  else if (children.length > 0) {
@@ -234,7 +268,7 @@ var useTree = function useTree(props) {
234
268
  }
235
269
  // 没有子节点的情况下,需要根据 value 来决定是否选中
236
270
  else {
237
- childChecked = value.indexOf(item) >= 0 ? 1 : 0;
271
+ childChecked = context.value.indexOf(item) >= 0 ? 1 : 0;
238
272
  }
239
273
 
240
274
  // 同步状态至 map 中
@@ -289,7 +323,7 @@ var useTree = function useTree(props) {
289
323
  setValueMap(id, checked);
290
324
  }
291
325
 
292
- // // const data = getDataById(id);
326
+ // const data = getDataById(id);
293
327
 
294
328
  if (mode === MODE.MODE_4) {
295
329
  return 0;
@@ -322,34 +356,44 @@ var useTree = function useTree(props) {
322
356
  }
323
357
  return current;
324
358
  };
325
- var handleExpanded = function handleExpanded(expanded) {
326
- var temp = new Set(expanded);
327
- context.updateMap.forEach(function (update, id) {
328
- update('expanded', temp.has(id));
329
- });
330
- };
331
- (0, _react.useEffect)(function () {
359
+ if (firstRender.current) {
332
360
  setValue(value);
333
361
  setData(data);
334
- setTimeout(function () {
335
- firstRender.current = false;
336
- });
337
- }, [data]);
362
+ firstRender.current = false;
363
+ }
338
364
  (0, _react.useEffect)(function () {
339
- if (firstRender.current) return;
340
- handleExpanded(expanded);
341
- }, [expanded]);
342
- var func = (0, _useLatestObj.default)({
365
+ if (defaultExpandAll) {
366
+ var nextExpanded = [];
367
+ context.dataMap.forEach(function (item, k) {
368
+ if (item[childrenKey]) {
369
+ nextExpanded.push(k);
370
+ }
371
+ });
372
+ onExpand(nextExpanded);
373
+ }
374
+ }, []);
375
+ var datum = (0, _useLatestObj.default)({
343
376
  get: get,
344
377
  set: set,
378
+ childrenKey: childrenKey,
379
+ data: data,
345
380
  getPath: getPath,
346
381
  getValue: getValue,
347
382
  getChecked: getChecked,
383
+ getKey: getKey,
384
+ getDataByValues: getDataByValues,
385
+ setValue: setValue,
386
+ setData: setData,
348
387
  isDisabled: isDisabled,
349
- bindNode: bindNode
388
+ bindNode: bindNode,
389
+ getDataById: getDataById
350
390
  });
351
391
  return {
352
- func: func,
392
+ datum: datum,
393
+ getKey: getKey,
394
+ getDataById: getDataById,
395
+ expanded: expanded,
396
+ onExpand: onExpand,
353
397
  pathMap: context.pathMap,
354
398
  dataMap: context.dataMap,
355
399
  valueMap: context.valueMap,
@@ -1,36 +1,39 @@
1
- import { ObjectType, StructKeygenStringType, KeygenResult } from '../../common/type';
1
+ import { StructKeygenStringType, KeygenResult } from '../../common/type';
2
2
  export declare type CheckedStatusType = 0 | 1 | 2;
3
3
  export declare type TreeModeType = 0 | 1 | 2 | 3 | 4;
4
4
  export declare type UpdateFunc = (name: string, active: boolean) => void;
5
- export interface TreeContext<DataItem> {
6
- pathMap: Map<KeygenResult, TreePathType>;
5
+ export interface TreeContext<DataItem, Value> {
6
+ pathMap: Map<Value, TreePathType<Value>>;
7
7
  dataMap: Map<KeygenResult, DataItem>;
8
- valueMap: Map<KeygenResult, CheckedStatusType>;
8
+ valueMap: Map<Value, CheckedStatusType>;
9
9
  updateMap: Map<KeygenResult, UpdateFunc>;
10
10
  disabled: boolean | ((item: DataItem) => boolean);
11
- value?: KeygenResult[];
12
- cachedValue: KeygenResult[];
11
+ value?: Value[];
12
+ cachedValue: Value[];
13
13
  data?: DataItem[];
14
14
  }
15
- export interface TreePathType {
16
- children: KeygenResult[];
17
- path: (number | string)[];
15
+ export interface TreePathType<Value> {
16
+ children: Value[];
17
+ path: Value[];
18
18
  isDisabled: boolean;
19
19
  indexPath: number[];
20
20
  index: number;
21
21
  }
22
- export interface BaseTreeProps<DataItem = ObjectType> {
22
+ export interface BaseTreeProps<DataItem, Value extends KeygenResult> {
23
+ isControlled: boolean;
23
24
  active?: KeygenResult;
24
- value?: KeygenResult[];
25
- defaultValue?: KeygenResult[];
25
+ value?: Value[];
26
+ defaultValue?: Value[];
26
27
  data: DataItem[];
27
28
  expanded?: KeygenResult[];
28
29
  defaultExpanded?: KeygenResult[];
29
30
  defaultExpandAll?: boolean;
30
31
  disabled?: boolean | ((item: DataItem) => boolean);
31
32
  keygen: StructKeygenStringType<DataItem>;
32
- childrenKey?: keyof DataItem;
33
+ childrenKey?: keyof DataItem & string;
33
34
  mode?: TreeModeType;
34
35
  dataUpdate?: boolean;
36
+ unmatch?: boolean;
37
+ onExpand?: (value: KeygenResult[]) => void;
35
38
  }
36
39
  //# sourceMappingURL=use-tree.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,oBAAY,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,oBAAY,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC/C,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ,GAAG,UAAU;IAClD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAC7B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzE,oBAAY,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,oBAAY,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,WAAW,CAAC,QAAQ,EAAE,KAAK;IAC1C,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY,CAAC,KAAK;IACjC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY;IACjE,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CAC5C"}
@@ -0,0 +1,4 @@
1
+ export { default, default as useTreeSelect } from './use-treeselect';
2
+ export { default as useTiled } from './use-tiled';
3
+ export type { BaseTreeSelectProps } from './use-treeselect.type';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}