@hi-ui/check-cascader 4.0.0-alpha.7 → 4.0.0-beta.1

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 (60) hide show
  1. package/README.md +95 -7
  2. package/lib/cjs/CheckCascader.js +201 -67
  3. package/lib/cjs/CheckCascader.js.map +1 -1
  4. package/lib/cjs/CheckCascaderMenu.js +8 -1
  5. package/lib/cjs/CheckCascaderMenu.js.map +1 -1
  6. package/lib/cjs/CheckCascaderMenus.js +13 -5
  7. package/lib/cjs/CheckCascaderMenus.js.map +1 -1
  8. package/lib/cjs/context.js.map +1 -1
  9. package/lib/cjs/hooks/use-async-switch.js +4 -1
  10. package/lib/cjs/hooks/use-async-switch.js.map +1 -1
  11. package/lib/cjs/hooks/use-check.js +3 -12
  12. package/lib/cjs/hooks/use-check.js.map +1 -1
  13. package/lib/cjs/hooks/use-search.js +13 -71
  14. package/lib/cjs/hooks/use-search.js.map +1 -1
  15. package/lib/cjs/index.js +0 -3
  16. package/lib/cjs/index.js.map +1 -1
  17. package/lib/cjs/styles/index.scss.js +1 -1
  18. package/lib/cjs/utils/index.js +0 -36
  19. package/lib/cjs/utils/index.js.map +1 -1
  20. package/lib/esm/CheckCascader.js +192 -67
  21. package/lib/esm/CheckCascader.js.map +1 -1
  22. package/lib/esm/CheckCascaderMenu.js +8 -1
  23. package/lib/esm/CheckCascaderMenu.js.map +1 -1
  24. package/lib/esm/CheckCascaderMenus.js +13 -5
  25. package/lib/esm/CheckCascaderMenus.js.map +1 -1
  26. package/lib/esm/context.js.map +1 -1
  27. package/lib/esm/hooks/use-async-switch.js +5 -2
  28. package/lib/esm/hooks/use-async-switch.js.map +1 -1
  29. package/lib/esm/hooks/use-check.js +3 -10
  30. package/lib/esm/hooks/use-check.js.map +1 -1
  31. package/lib/esm/hooks/use-search.js +13 -72
  32. package/lib/esm/hooks/use-search.js.map +1 -1
  33. package/lib/esm/index.js +0 -1
  34. package/lib/esm/index.js.map +1 -1
  35. package/lib/esm/styles/index.scss.js +1 -1
  36. package/lib/esm/utils/index.js +1 -36
  37. package/lib/esm/utils/index.js.map +1 -1
  38. package/lib/types/CheckCascader.d.ts +23 -33
  39. package/lib/types/CheckCascaderMenus.d.ts +1 -1
  40. package/lib/types/context.d.ts +1 -1
  41. package/lib/types/hooks/index.d.ts +0 -1
  42. package/lib/types/hooks/use-async-switch.d.ts +1 -1
  43. package/lib/types/hooks/use-search.d.ts +4 -0
  44. package/lib/types/index.d.ts +0 -1
  45. package/package.json +29 -21
  46. package/lib/cjs/CheckCascaderPanel.js +0 -189
  47. package/lib/cjs/CheckCascaderPanel.js.map +0 -1
  48. package/lib/cjs/TagInput.js +0 -183
  49. package/lib/cjs/TagInput.js.map +0 -1
  50. package/lib/cjs/hooks/use-tag-input.js +0 -122
  51. package/lib/cjs/hooks/use-tag-input.js.map +0 -1
  52. package/lib/esm/CheckCascaderPanel.js +0 -156
  53. package/lib/esm/CheckCascaderPanel.js.map +0 -1
  54. package/lib/esm/TagInput.js +0 -153
  55. package/lib/esm/TagInput.js.map +0 -1
  56. package/lib/esm/hooks/use-tag-input.js +0 -113
  57. package/lib/esm/hooks/use-tag-input.js.map +0 -1
  58. package/lib/types/CheckCascaderPanel.d.ts +0 -88
  59. package/lib/types/TagInput.d.ts +0 -68
  60. package/lib/types/hooks/use-tag-input.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"use-async-switch.js","sources":["../../../src/hooks/use-async-switch.ts"],"sourcesContent":[null],"names":["useAsyncSwitch","setCascaderData","onExpand","onLoadChildren","useList","loadingIds","addLoadingIds","removeLoadingIds","loadChildren","useCallback","node","childrenNodes","Array","isArray","prev","nextTreeData","cloneTree","addChildrenById","id","onExpandLatest","useLatestCallback","onNodeSwitch","children","isLeaf","isLoadingId","indexOf","initialValue","useState","keyList","setKeyList","remove","targetKey","filter","key","add","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,eAD4B,EAE5BC,QAF4B,EAG5BC,cAH4B;iBAK0BC,OAAO;MAAtDC,UAAP;MAAmBC,aAAnB;MAAkCC,gBAAlC;;;MAGMC,YAAY,GAAGC,iBAAAA,CACnB,UAAOC,IAAP;;;;;;;kBACOP;;;;;;;;;qBAEuBA,cAAc,CAACO,IAAD;;;AAApCC,cAAAA,6BAAAA;;kBAEFC,KAAK,CAACC,OAAND,CAAcD,aAAdC,GAA8B;AAChCX,gBAAAA,eAAe,CAAC,UAACa,IAAD;sBACRC,YAAY,GAAGC,mBAAAA,CAAUF,IAAVE;AACrBC,kBAAAA,yBAAAA,CAAgBF,YAAhBE,EAA8BP,IAAI,CAACQ,EAAnCD,EAAuCN,aAAvCM;yBACOF;AAHM,iBAAA,CAAfd;;;;;;;;;;AAP0B,GAAXQ,EAcnB,CAACN,cAAD,EAAiBF,eAAjB,CAdmBQ;MAiBfU,cAAc,GAAGC,2BAAAA,CAAkBlB,QAAlBkB;MAEjBC,YAAY,GAAGZ,iBAAAA,CACnB,UAAOC,IAAP;;;;;;;AACUQ,cAAAA,KAAyBR,KAAzBQ,EAAAA,EAAII,WAAqBZ,KAArBY,QAAJJ,EAAcK,SAAWb,KAAXa,MAAdL;AAERC,cAAAA,cAAc,CAACT,IAAD,CAAdS;;mBAEIG;;;;;;;;mBAIAC;;;;;;;;mBAEApB;;;;;AACFG,cAAAA,aAAa,CAACY,EAAD,CAAbZ;;;qBAEQE,YAAY,CAACE,IAAD;;;AAClBH,cAAAA,gBAAgB,CAACW,EAAD,CAAhBX;;;;;;;AAEAA,cAAAA,gBAAgB,CAACW,EAAD,CAAhBX;;;;;;;;;AAlBwB,GAAXE,EAsBnB,CAACD,YAAD,EAAeL,cAAf,EAA+BgB,cAA/B,EAA+Cb,aAA/C,EAA8DC,gBAA9D,CAtBmBE;;MAyBfe,WAAW,GAAG,SAAdA,WAAc,CAACN,EAAD;WAAyBb,UAAU,CAACoB,OAAXpB,CAAmBa,EAAnBb,MAA2B,CAAC;AAAzE;;SAEO,CAACmB,WAAD,EAAcH,YAAd;;;AAGT,IAAMjB,OAAO,GAAG,SAAVA,OAAU,CAAIsB,YAAJ;MAAIA;AAAAA,IAAAA,eAAoB,EAApBA;;;kBACYC,cAAAA,CAAcD,YAAdC;MAAvBC,OAAP;MAAgBC,UAAhB;;MAEMC,MAAM,GAAGrB,iBAAAA,CAAY,UAACsB,SAAD;AACzBF,IAAAA,UAAU,CAAC,UAACf,IAAD;aAAUA,IAAI,CAACkB,MAALlB,CAAY,UAACmB,GAAD;eAASA,GAAG,KAAKF;AAA7B,OAAAjB;AAAX,KAAA,CAAVe;AADwB,GAAXpB,EAEZ,EAFYA;MAITyB,GAAG,GAAGzB,iBAAAA,CAAY,UAACsB,SAAD;AACtBF,IAAAA,UAAU,CAAC,UAACf,IAAD;aAAWA,IAAI,CAACW,OAALX,CAAaiB,SAAbjB,MAA4B,CAAC,CAA7BA,GAAiCA,IAAI,CAACqB,MAALrB,CAAYiB,SAAZjB,CAAjCA,GAA0DA;AAAtE,KAAA,CAAVe;AADqB,GAAXpB,EAET,EAFSA;SAIL,CAACmB,OAAD,EAAUM,GAAV,EAAeJ,MAAf;AAXT,CAAA;;"}
1
+ {"version":3,"file":"use-async-switch.js","sources":["../../../src/hooks/use-async-switch.ts"],"sourcesContent":[null],"names":["useAsyncSwitch","setCascaderData","onExpand","onLoadChildren","useList","loadingIds","addLoadingIds","removeLoadingIds","loadChildren","useCallback","node","getTopDownAncestors","map","id","childrenNodes","Array","isArray","prev","nextTreeData","cloneTree","addChildrenById","onExpandLatest","useLatestCallback","onNodeSwitch","children","isLeaf","isLoadingId","indexOf","initialValue","useState","keyList","setKeyList","remove","targetKey","filter","key","add","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,eAD4B,EAE5BC,QAF4B,EAG5BC,cAH4B;iBAQ0BC,OAAO;MAAtDC,UAAP;MAAmBC,aAAnB;MAAkCC,gBAAlC;;;MAGMC,YAAY,GAAGC,iBAAAA,CACnB,UAAOC,IAAP;;;;;;;kBACOP;;;;;;;;;qBACuBA,cAAc,CACxCO,IADwC,EAExCC,6BAAAA,CAAoBD,IAApBC,EAA0BC,GAA1BD,CAA8B,cAAA;oBAAGE,EAAH,QAAGA;uBAASA;AAA1C,eAAAF,CAFwC;;;AAApCG,cAAAA,6BAAAA;;kBAKFC,KAAK,CAACC,OAAND,CAAcD,aAAdC,GAA8B;AAChCd,gBAAAA,eAAe,CAAC,UAACgB,IAAD;sBACRC,YAAY,GAAGC,mBAAAA,CAAUF,IAAVE;AACrBC,kBAAAA,yBAAAA,CAAgBF,YAAhBE,EAA8BV,IAAI,CAACG,EAAnCO,EAAuCN,aAAvCM;yBACOF;AAHM,iBAAA,CAAfjB;;;;;;;;;;AAT0B,GAAXQ,EAgBnB,CAACN,cAAD,EAAiBF,eAAjB,CAhBmBQ;MAmBfY,cAAc,GAAGC,2BAAAA,CAAkBpB,QAAlBoB;MAEjBC,YAAY,GAAGd,iBAAAA,CACnB,UAAOC,IAAP;;;;;;;AACUG,cAAAA,KAAyBH,KAAzBG,EAAAA,EAAIW,WAAqBd,KAArBc,QAAJX,EAAcY,SAAWf,KAAXe,MAAdZ;AAERQ,cAAAA,cAAc,CAACX,IAAD,CAAdW;;mBAEIG;;;;;;;;mBAIAC;;;;;;;;mBAEAtB;;;;;AACFG,cAAAA,aAAa,CAACO,EAAD,CAAbP;;;qBAEQE,YAAY,CAACE,IAAD;;;AAClBH,cAAAA,gBAAgB,CAACM,EAAD,CAAhBN;;;;;;;AAEAA,cAAAA,gBAAgB,CAACM,EAAD,CAAhBN;;;;;;;;;AAlBwB,GAAXE,EAsBnB,CAACD,YAAD,EAAeL,cAAf,EAA+BkB,cAA/B,EAA+Cf,aAA/C,EAA8DC,gBAA9D,CAtBmBE;;MAyBfiB,WAAW,GAAG,SAAdA,WAAc,CAACb,EAAD;WAAyBR,UAAU,CAACsB,OAAXtB,CAAmBQ,EAAnBR,MAA2B,CAAC;AAAzE;;SAEO,CAACqB,WAAD,EAAcH,YAAd;;;AAGT,IAAMnB,OAAO,GAAG,SAAVA,OAAU,CAAIwB,YAAJ;MAAIA;AAAAA,IAAAA,eAAoB,EAApBA;;;kBACYC,cAAAA,CAAcD,YAAdC;MAAvBC,OAAP;MAAgBC,UAAhB;;MAEMC,MAAM,GAAGvB,iBAAAA,CAAY,UAACwB,SAAD;AACzBF,IAAAA,UAAU,CAAC,UAACd,IAAD;aAAUA,IAAI,CAACiB,MAALjB,CAAY,UAACkB,GAAD;eAASA,GAAG,KAAKF;AAA7B,OAAAhB;AAAX,KAAA,CAAVc;AADwB,GAAXtB,EAEZ,EAFYA;MAIT2B,GAAG,GAAG3B,iBAAAA,CAAY,UAACwB,SAAD;AACtBF,IAAAA,UAAU,CAAC,UAACd,IAAD;aAAWA,IAAI,CAACU,OAALV,CAAagB,SAAbhB,MAA4B,CAAC,CAA7BA,GAAiCA,IAAI,CAACoB,MAALpB,CAAYgB,SAAZhB,CAAjCA,GAA0DA;AAAtE,KAAA,CAAVc;AADqB,GAAXtB,EAET,EAFSA;SAIL,CAACqB,OAAD,EAAUM,GAAV,EAAeJ,MAAf;AAXT,CAAA;;"}
@@ -13,14 +13,10 @@ Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
15
 
16
- var React = require('react');
17
-
18
16
  var useCheck$1 = require('@hi-ui/use-check');
19
17
 
20
18
  var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
21
19
 
22
- var useLatest = require('@hi-ui/use-latest');
23
-
24
20
  var NOOP_ARRAY = [];
25
21
 
26
22
  var useCheck = function useCheck(cascaded, disabled, flattedData, defaultCheckedIds, checkedIdsProp, onCheck) {
@@ -28,17 +24,12 @@ var useCheck = function useCheck(cascaded, disabled, flattedData, defaultChecked
28
24
  defaultCheckedIds = NOOP_ARRAY;
29
25
  }
30
26
 
31
- var onCheckRef = useLatest.useLatestRef(onCheck);
32
- var proxyOnCheck = React.useCallback(function (checkedIds, checkedNode, shouldChecked, semiCheckedIds) {
33
- var _a;
34
-
35
- (_a = onCheckRef.current) === null || _a === void 0 ? void 0 : _a.call(onCheckRef, {
27
+ var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultCheckedIds, checkedIdsProp, function (checkedIds, checkedNode, shouldChecked, semiCheckedIds) {
28
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck({
36
29
  checkedIds: checkedIds,
37
30
  semiCheckedIds: semiCheckedIds
38
31
  }, checkedNode, shouldChecked);
39
- }, []);
40
-
41
- var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultCheckedIds, checkedIdsProp, proxyOnCheck),
32
+ }),
42
33
  checkedIds = _useUncontrolledState[0],
43
34
  trySetCheckedIds = _useUncontrolledState[1];
44
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"use-check.js","sources":["../../../src/hooks/use-check.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","useCheck","cascaded","disabled","flattedData","defaultCheckedIds","checkedIdsProp","onCheck","onCheckRef","useLatestRef","proxyOnCheck","useCallback","checkedIds","checkedNode","shouldChecked","semiCheckedIds","current","useUncontrolledState","trySetCheckedIds","useCascadeCheck","allowCheck","targetItem","disabledCheckbox","checkable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,UAAU,GAAG,EAAnB;;IAEaC,QAAQ,GAAG,SAAXA,QAAW,CACtBC,QADsB,EAEtBC,QAFsB,EAGtBC,WAHsB,EAItBC,iBAJsB,EAKtBC,cALsB,EAMtBC,OANsB;MAItBF;AAAAA,IAAAA,oBAAuCL,UAAvCK;;;MAWMG,UAAU,GAAGC,sBAAAA,CAAaF,OAAbE;MAEbC,YAAY,GAAGC,iBAAAA,CAAY,UAACC,UAAD,EAAaC,WAAb,EAA0BC,aAA1B,EAAyCC,cAAzC;;;UAC/BP,UAAU,CAACQ,sDAAXR,YAAqB;AAAEI,MAAAA,UAAU,EAAVA,UAAF;AAAcG,MAAAA,cAAc,EAAdA;AAAd,OAAgCF,aAAaC;AADpC,GAAXH,EAElB,EAFkBA;;8BAIkBM,yCAAAA,CACrCZ,iBADqCY,EAErCX,cAFqCW,EAGrCP,YAHqCO;MAAhCL,UAAP;MAAmBM,gBAAnB;;SAMOC,0BAAAA,CAAgB;AACrBjB,IAAAA,QAAQ,EAARA,QADqB;AAErBC,IAAAA,QAAQ,EAARA,QAFqB;AAGrBC,IAAAA,WAAW,EAAXA,WAHqB;AAIrBQ,IAAAA,UAAU,EAAVA,UAJqB;AAKrBL,IAAAA,OAAO,EAAEW,gBALY;AAMrBE,IAAAA,UAAU,EAAVA;AANqB,GAAhBD;;;AAUT,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,UAAD;MACbA,UAAU,CAAClB,QAAXkB,IAAuBA,UAAU,CAACC,gBAAlCD,IAAsDA,UAAU,CAACE,SAAXF,KAAyB,OAAO;WACjF;;;SAEF;AAJT,CAAA;;"}
1
+ {"version":3,"file":"use-check.js","sources":["../../../src/hooks/use-check.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","useCheck","cascaded","disabled","flattedData","defaultCheckedIds","checkedIdsProp","onCheck","useUncontrolledState","checkedIds","checkedNode","shouldChecked","semiCheckedIds","trySetCheckedIds","useCascadeCheck","allowCheck","targetItem","disabledCheckbox","checkable"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,IAAMA,UAAU,GAAG,EAAnB;;IAEaC,QAAQ,GAAG,SAAXA,QAAW,CACtBC,QADsB,EAEtBC,QAFsB,EAGtBC,WAHsB,EAItBC,iBAJsB,EAKtBC,cALsB,EAMtBC,OANsB;MAItBF;AAAAA,IAAAA,oBAAuCL,UAAvCK;;;8BAWuCG,yCAAAA,CACrCH,iBADqCG,EAErCF,cAFqCE,EAGrC,UAACC,UAAD,EAAaC,WAAb,EAA0BC,aAA1B,EAAyCC,cAAzC;AACEL,IAAAA,OAAO,SAAPA,IAAAA,OAAO,WAAPA,SAAAA,GAAAA,OAAO,CAAG;AAAEE,MAAAA,UAAU,EAAVA,UAAF;AAAcG,MAAAA,cAAc,EAAdA;AAAd,KAAH,EAAmCF,WAAnC,EAAgDC,aAAhD,CAAPJ;AAJuD,GAApBC;MAAhCC,UAAP;MAAmBI,gBAAnB;;SAQOC,0BAAAA,CAAgB;AACrBZ,IAAAA,QAAQ,EAARA,QADqB;AAErBC,IAAAA,QAAQ,EAARA,QAFqB;AAGrBC,IAAAA,WAAW,EAAXA,WAHqB;AAIrBK,IAAAA,UAAU,EAAVA,UAJqB;AAKrBF,IAAAA,OAAO,EAAEM,gBALY;AAMrBE,IAAAA,UAAU,EAAVA;AANqB,GAAhBD;;;AAUT,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,UAAD;MACbA,UAAU,CAACb,QAAXa,IAAuBA,UAAU,CAACC,gBAAlCD,IAAsDA,UAAU,CAACE,SAAXF,KAAyB,OAAO;WACjF;;;SAEF;AAJT,CAAA;;"}
@@ -13,86 +13,28 @@ Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
15
 
16
- var React = require('react');
16
+ require('react');
17
17
 
18
- var useLatest = require('@hi-ui/use-latest');
19
- /**
20
- * 支持搜索功能的 hook
21
- */
22
-
23
-
24
- var useSearch = function useSearch(flattedData, upMatch) {
25
- var _useState = React.useState(''),
26
- searchValue = _useState[0],
27
- setSearchValue = _useState[1];
28
-
29
- var _useState2 = React.useState([]),
30
- matchedNodes = _useState2[0],
31
- setMatchedNodes = _useState2[1];
32
-
33
- var flattedDataRef = useLatest.useLatestRef(flattedData);
34
- var handleChange = React.useCallback(function (evt) {
35
- var nextSearchValue = evt.target.value;
36
- setSearchValue(nextSearchValue); // 匹配到搜索的节点,将这些节点进行展开显示,其它均隐藏
37
-
38
- var matchedNodes = upMatch ? getMatchedUpMatchNodes(flattedDataRef.current, nextSearchValue) : getMatchedNodes(flattedDataRef.current, nextSearchValue);
39
- setMatchedNodes(matchedNodes);
40
- }, [upMatch]);
41
- var inputProps = {
42
- value: searchValue,
43
- onChange: handleChange
44
- };
45
- var isSearch = !!searchValue;
46
- var isEmpty = isSearch && matchedNodes.length === 0;
47
- return [isSearch, matchedNodes, inputProps, isEmpty];
48
- };
49
- /**
50
- * 从 value 中 找到指定的 options(逐层查找)
51
- */
52
-
53
-
54
- var getMatchedNodes = function getMatchedNodes(flattedData, searchValue) {
55
- if (!searchValue) return [];
56
- return flattedData.filter(function (node) {
57
- var _a, _b;
18
+ require('@hi-ui/use-latest');
58
19
 
59
- if (typeof node.title !== 'string') return false;
60
- if (!node.checkable) return false; // 匹配策略:`String.include`
61
-
62
- return (_b = (_a = node.title).includes) === null || _b === void 0 ? void 0 : _b.call(_a, searchValue);
63
- });
64
- };
20
+ var env = require('@hi-ui/env');
65
21
  /**
66
- * value 中 找到指定的 options(逐层并向上查找)
22
+ * 返回 -1 表示匹配失败
67
23
  */
68
24
 
69
25
 
70
- var getMatchedUpMatchNodes = function getMatchedUpMatchNodes(flattedData, searchValue) {
71
- if (!searchValue) return [];
72
- var visitedResultSet = new Set();
73
- return flattedData.filter(function (node) {
74
- var _a, _b;
75
-
76
- if (!node.checkable) return false;
77
-
78
- while (node.parent) {
79
- if (visitedResultSet.has(node.id)) {
80
- return true;
81
- }
26
+ var matchStrategy = function matchStrategy(content, keyword) {
27
+ if (typeof content !== 'string') {
28
+ if (env.__DEV__) {
29
+ console.warn('Warning: must be string type when enable searchable.');
30
+ }
82
31
 
83
- if (typeof node.title === 'string') {
84
- if ((_b = (_a = node.title).includes) === null || _b === void 0 ? void 0 : _b.call(_a, searchValue)) {
85
- visitedResultSet.add(node.id);
86
- return true;
87
- }
88
- }
32
+ return -1;
33
+ } // 忽略大小写匹配
89
34
 
90
- node = node.parent;
91
- }
92
35
 
93
- return false;
94
- });
36
+ return content.toLowerCase().indexOf(keyword.toLowerCase());
95
37
  };
96
38
 
97
- exports.useSearch = useSearch;
39
+ exports.matchStrategy = matchStrategy;
98
40
  //# sourceMappingURL=use-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-search.js","sources":["../../../src/hooks/use-search.ts"],"sourcesContent":[null],"names":["useSearch","flattedData","upMatch","useState","searchValue","setSearchValue","matchedNodes","setMatchedNodes","flattedDataRef","useLatestRef","handleChange","useCallback","evt","nextSearchValue","target","value","getMatchedUpMatchNodes","current","getMatchedNodes","inputProps","onChange","isSearch","isEmpty","length","filter","node","title","checkable","includes","visitedResultSet","Set","parent","has","id","add"],"mappings":";;;;;;;;;;;;;;;;;;AAIA;;;;;IAGaA,SAAS,GAAG,SAAZA,SAAY,CAACC,WAAD,EAA0CC,OAA1C;kBACeC,cAAAA,CAAS,EAATA;MAA/BC,WAAP;MAAoBC,cAApB;;mBACwCF,cAAAA,CAAqC,EAArCA;MAAjCG,YAAP;MAAqBC,eAArB;;MAEMC,cAAc,GAAGC,sBAAAA,CAAaR,WAAbQ;MAEjBC,YAAY,GAAGC,iBAAAA,CACnB,UAACC,GAAD;QACQC,eAAe,GAAGD,GAAG,CAACE,MAAJF,CAAWG;AAEnCV,IAAAA,cAAc,CAACQ,eAAD,CAAdR;;QAGMC,YAAY,GAAGJ,OAAO,GACxBc,sBAAsB,CAACR,cAAc,CAACS,OAAhB,EAAyBJ,eAAzB,CADE,GAExBK,eAAe,CAACV,cAAc,CAACS,OAAhB,EAAyBJ,eAAzB;AAEnBN,IAAAA,eAAe,CAACD,YAAD,CAAfC;AAX4B,GAAXI,EAanB,CAACT,OAAD,CAbmBS;MAgBfQ,UAAU,GAAG;AACjBJ,IAAAA,KAAK,EAAEX,WADU;AAEjBgB,IAAAA,QAAQ,EAAEV;AAFO;MAKbW,QAAQ,GAAG,CAAC,CAACjB;MACbkB,OAAO,GAAGD,QAAQ,IAAIf,YAAY,CAACiB,MAAbjB,KAAwB;SAE7C,CAACe,QAAD,EAAWf,YAAX,EAAyBa,UAAzB,EAAqCG,OAArC;;AAGT;;;;;AAGA,IAAMJ,eAAe,GAAG,SAAlBA,eAAkB,CACtBjB,WADsB,EAEtBG,WAFsB;MAIlB,CAACA,aAAa,OAAO,EAAP;SAEXH,WAAW,CAACuB,MAAZvB,CAAmB,UAACwB,IAAD;;;QACpB,OAAOA,IAAI,CAACC,KAAZ,KAAsB,UAAU,OAAO,KAAP;QAChC,CAACD,IAAI,CAACE,WAAW,OAAO,KAAP;;WAGd,MAAA,MAAAF,IAAI,CAACC,KAAL,EAAWE,QAAX,UAAA,iBAAA,SAAA,eAAsBxB;AALxB,GAAAH;AANT,CAAA;AAeA;;;;;AAGA,IAAMe,sBAAsB,GAAG,SAAzBA,sBAAyB,CAC7Bf,WAD6B,EAE7BG,WAF6B;MAIzB,CAACA,aAAa,OAAO,EAAP;MAEZyB,gBAAgB,GAAG,IAAIC,GAAJ;SAElB7B,WAAW,CAACuB,MAAZvB,CAAmB,UAACwB,IAAD;;;QACpB,CAACA,IAAI,CAACE,WAAW,OAAO,KAAP;;WAEdF,IAAI,CAACM,QAAQ;UACdF,gBAAgB,CAACG,GAAjBH,CAAqBJ,IAAI,CAACQ,EAA1BJ,GAA+B;eAC1B;;;UAGL,OAAOJ,IAAI,CAACC,KAAZ,KAAsB,UAAU;YAC9B,MAAA,MAAAD,IAAI,CAACC,KAAL,EAAWE,QAAX,UAAA,iBAAA,SAAA,eAAsBxB,cAAc;AACtCyB,UAAAA,gBAAgB,CAACK,GAAjBL,CAAqBJ,IAAI,CAACQ,EAA1BJ;iBACO;;;;AAIXJ,MAAAA,IAAI,GAAGA,IAAI,CAACM,MAAZN;;;WAEK;AAjBF,GAAAxB;AART,CAAA;;"}
1
+ {"version":3,"file":"use-search.js","sources":["../../../src/hooks/use-search.ts"],"sourcesContent":[null],"names":["matchStrategy","content","keyword","__DEV__","console","warn","toLowerCase","indexOf"],"mappings":";;;;;;;;;;;;;;;;;;;;AAwFA;;;;;IAGaA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD,EAAmBC,OAAnB;MACvB,OAAOD,OAAP,KAAmB,UAAU;QAC3BE,aAAS;AACXC,MAAAA,OAAO,CAACC,IAARD,CAAa,sDAAbA;;;WAEK,CAAC;;;;SAGHH,OAAO,CAACK,WAARL,GAAsBM,OAAtBN,CAA8BC,OAAO,CAACI,WAARJ,EAA9BD;;;"}
package/lib/cjs/index.js CHANGED
@@ -17,9 +17,6 @@ require('./styles/index.scss.js');
17
17
 
18
18
  var CheckCascader = require('./CheckCascader.js');
19
19
 
20
- var CheckCascaderPanel = require('./CheckCascaderPanel.js');
21
-
22
20
  exports.CheckCascader = CheckCascader.CheckCascader;
23
21
  exports["default"] = CheckCascader.CheckCascader;
24
- exports.CheckCascaderPanel = CheckCascaderPanel.CheckCascaderPanel;
25
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -12,7 +12,7 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
- var css_248z = ".hi-v4-tag-input {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n min-width: 160px;\n font-size: 14px;\n vertical-align: middle;\n color: var(--color-black);\n border: 1px solid transparent;\n background-color: var(--color-white);\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n padding: 4px 10px;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n min-height: 32px;\n overflow: hidden;\n border-color: var(--color-gray-30);\n border-radius: 4px; }\n .hi-v4-tag-input:not(.disabled):hover {\n border-color: var(--color-primary); }\n .hi-v4-tag-input:not(.disabled).focused {\n -webkit-box-shadow: 0 0 0 1px var(--color-primary);\n box-shadow: 0 0 0 1px var(--color-primary);\n border-color: var(--color-primary); }\n .hi-v4-tag-input.disabled {\n cursor: not-allowed;\n color: var(--color-gray-50);\n background-color: var(--color-gray-10); }\n .hi-v4-tag-input__placeholder {\n color: var(--color-gray-50); }\n .hi-v4-tag-input__suffix {\n font-size: 16px;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .hi-v4-tag-input__clear {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 16px;\n height: 16px;\n font-size: 14px;\n color: var(--color-gray-50);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-transition: all 0.3s;\n transition: all 0.3s; }\n .hi-v4-tag-input__clear:hover {\n color: var(--color-black); }\n .hi-v4-tag-input__value {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 22px;\n line-height: 22px; }\n .hi-v4-tag-input__tags {\n -webkit-box-flex: 0;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n display: inline-block;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n white-space: nowrap;\n height: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin-top: -4px; }\n .hi-v4-tag-input__tag, .hi-v4-tag-input__tag--left {\n display: inline-block;\n margin-right: 4px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 8px;\n vertical-align: middle;\n font-size: 12px;\n color: #333;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background: #f2f2f2;\n border-radius: 4px; }\n .hi-v4-tag-input__tag--total {\n display: inline-block;\n margin-right: 6px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 8px;\n vertical-align: middle;\n font-size: 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: var(--color-primary-20);\n color: var(--color-primary);\n border-radius: 4px;\n line-height: 22px; }\n .hi-v4-tag-input__tag {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .hi-v4-tag-input__tag-content {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .hi-v4-tag-input__tag-closed {\n margin-left: 8px;\n font-size: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #8e8e8e;\n cursor: pointer; }\n .disabled .hi-v4-tag-input__tag-closed {\n cursor: not-allowed; }\n .hi-v4-tag-input__tag--left {\n margin: 0;\n max-width: 54px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle; }\n .hi-v4-tag-input--nowrap .hi-v4-tag-input__value {\n width: calc(100% - 64px);\n overflow-x: overlay; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__value {\n height: auto; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__tags {\n white-space: normal;\n margin-top: -4px; }\n .hi-v4-tag-input--wrap .hi-v4-tag-input__tag {\n margin-top: 4px; }\n .hi-v4-check-cascader {\n color: #333; }\n .hi-v4-check-cascader__suffix {\n font-size: 16px;\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n .hi-v4-check-cascader--open .hi-v4-check-cascader__suffix {\n -webkit-transform: rotate(-180deg);\n transform: rotate(-180deg); }\n .hi-v4-check-cascader--open .hi-v4-tag-input {\n border-color: var(--color-primary); }\n .hi-v4-check-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding-top: 10px; }\n .hi-v4-check-cascader-panel-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n .hi-v4-check-cascader-panel-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n .hi-v4-check-cascader-panel-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n .hi-v4-check-cascader-menus {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n .hi-v4-check-cascader-menus--flatted .hi-v4-check-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n .hi-v4-check-cascader-menu {\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 14px;\n vertical-align: middle;\n list-style: none;\n width: auto;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 160px;\n min-height: 160px;\n max-height: 260px;\n overflow: auto;\n padding-bottom: 10px; }\n .hi-v4-check-cascader-menu--checkable .title__text {\n padding-left: 24px; }\n .hi-v4-check-cascader-menu--checkable .hi-v4-check-cascader-menu-checkbox + .title__text {\n padding-left: 0px; }\n .hi-v4-check-cascader-menu-item {\n width: 100%;\n padding: 4px 0;\n position: relative;\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n .hi-v4-check-cascader-menu-checkbox {\n position: relative; }\n .hi-v4-check-cascader-menu-checkbox::after {\n right: 0;\n top: -8px;\n bottom: -8px;\n left: -8px;\n content: \"\";\n position: absolute;\n display: block; }\n .hi-v4-check-cascader-menu-option {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n min-height: 32px;\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between; }\n .hi-v4-check-cascader-menu-option:hover {\n background-color: var(--color-primary-20); }\n .hi-v4-check-cascader-menus--selectchange .hi-v4-check-cascader-menu-option:hover .hi-v4-checkbox__icon {\n border-color: var(--color-primary); }\n .hi-v4-check-cascader-menu-option--selected {\n background-color: var(--color-primary-20);\n font-weight: 700; }\n .hi-v4-check-cascader-menu-option--focused {\n background-color: var(--color-primary-10); }\n .hi-v4-check-cascader-menu-option--checked {\n font-weight: 700; }\n .hi-v4-check-cascader-menu-option--disabled {\n cursor: not-allowed;\n color: var(--color-gray-50);\n font-weight: 400; }\n .hi-v4-check-cascader-menu-option--disabled .hi-v4-check-cascader-menu-switcher {\n color: var(--color-gray-50); }\n .hi-v4-check-cascader-menu .title__text {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n .hi-v4-check-cascader-menu .title__text--cols {\n display: block;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 14px;\n vertical-align: middle;\n list-style: none; }\n .hi-v4-check-cascader-menu .title__text--col {\n display: inline-block; }\n .hi-v4-check-cascader-menu .title__text--col::after {\n content: \"\\00a0/\\00a0\"; }\n .hi-v4-check-cascader-menu .title__text--col:last-child:after {\n content: none; }\n .hi-v4-check-cascader-menu .title__text--matched {\n color: var(--color-primary); }\n .hi-v4-check-cascader-menu-switcher {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 16px;\n color: #666; }\n .hi-v4-check-cascader-menu-switcher svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n stroke: currentColor;\n display: inline-block;\n vertical-align: -0.15em; }\n .hi-v4-check-cascader-menu-switcher--loading {\n color: var(--color-primary); }\n .hi-v4-tree--icon-loading {\n -webkit-animation-name: hi-rotate;\n animation-name: hi-rotate;\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite; }\n @-webkit-keyframes hi-rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n @keyframes hi-rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n";
15
+ var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-check-cascader__popper .hi-v4-picker__body {\n padding-left: 0;\n padding-right: 0; }\n.hi-v4-check-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-check-cascader-panel-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n.hi-v4-check-cascader-panel-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n.hi-v4-check-cascader-panel-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n.hi-v4-check-cascader-menus {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n.hi-v4-check-cascader-menus--flatted .hi-v4-check-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n.hi-v4-check-cascader-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none;\n width: auto;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 140px;\n max-height: 256px;\n overflow: auto;\n padding: 0 8px;\n padding: 0 var(--hi-v4-spacing-4, 8px);\n border-right: 1px solid #ebedf0;\n border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-check-cascader-menu:last-of-type {\n border: none; }\n.hi-v4-check-cascader-menu--checkable .hi-v4-check-cascader-menu-checkbox + .title__text {\n padding-left: 8px; }\n.hi-v4-check-cascader-menu-item {\n width: 100%;\n padding: 4px 0;\n padding: var(--hi-v4-spacing-2, 4px) 0;\n position: relative;\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n.hi-v4-check-cascader-menu-checkbox {\n position: relative; }\n.hi-v4-check-cascader-menu-checkbox::after {\n right: 0;\n top: -8px;\n bottom: -8px;\n left: -8px;\n content: '';\n position: absolute;\n display: block; }\n.hi-v4-check-cascader-menu-option {\n padding: 0 8px;\n padding: 0 var(--hi-v4-spacing-4, 8px);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px); }\n.hi-v4-check-cascader-menu-option:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-check-cascader-menus--selectchange .hi-v4-check-cascader-menu-option:hover .hi-v4-checkbox__icon {\n border-color: #237ffa;\n border-color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-check-cascader-menu-option.hi-v4-check-cascader-menu-option--selected {\n background: #e2f3fe;\n background: var(--hi-v4-color-brandblue-50, #e2f3fe);\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-check-cascader-menu-option.hi-v4-check-cascader-menu-option--selected .hi-v4-check-cascader-menu-switcher {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-check-cascader-menu-option--focused {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-check-cascader-menu-option--disabled {\n cursor: not-allowed;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6);\n background: transparent; }\n.hi-v4-check-cascader-menu-option--disabled .hi-v4-check-cascader-menu-switcher {\n color: #c9ced6;\n color: var(--hi-v4-color-gray-400, #c9ced6); }\n.hi-v4-check-cascader-menu .title__text {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n.hi-v4-check-cascader-menu .title__text--cols {\n display: block;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none; }\n.hi-v4-check-cascader-menu .title__text--col {\n display: inline-block; }\n.hi-v4-check-cascader-menu .title__text--col::after {\n content: '\\00a0/\\00a0'; }\n.hi-v4-check-cascader-menu .title__text--col:last-child::after {\n content: none; }\n.hi-v4-check-cascader-menu .title__text--matched {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-check-cascader-menu-switcher {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 16px;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-check-cascader-menu-switcher--loading {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-tree--icon-loading {\n -webkit-animation-name: hi-rotate;\n animation-name: hi-rotate;\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite; }\n@-webkit-keyframes hi-rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n@keyframes hi-rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0); }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n";
16
16
 
17
17
  var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
18
18
 
@@ -134,46 +134,10 @@ var getActiveMenuIds = function getActiveMenuIds(data, selectedIds) {
134
134
  }).reverse();
135
135
  };
136
136
 
137
- var debounce = function debounce(func, delay) {
138
- if (delay === void 0) {
139
- delay = 150;
140
- }
141
-
142
- var timer = 0;
143
-
144
- var cancel = function cancel() {
145
- if (timer) {
146
- window.clearTimeout(timer);
147
- timer = 0;
148
- }
149
- };
150
-
151
- var debounceFn = function debounceFn() {
152
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
153
- args[_key] = arguments[_key];
154
- }
155
-
156
- if (timer) {
157
- cancel();
158
- }
159
-
160
- if (func) {
161
- timer = window.setTimeout(function () {
162
- func.apply(null, args);
163
- timer = 0;
164
- }, delay);
165
- }
166
- };
167
-
168
- debounceFn.cancel = cancel;
169
- return debounceFn;
170
- };
171
-
172
137
  function getCascaderItemEventData(node, requiredProps) {
173
138
  return Object.assign(Object.assign({}, node), requiredProps);
174
139
  }
175
140
 
176
- exports.debounce = debounce;
177
141
  exports.flattenTreeData = flattenTreeData;
178
142
  exports.getActiveMenuIds = getActiveMenuIds;
179
143
  exports.getActiveMenus = getActiveMenus;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","flattedTreeData","dig","node","depth","parent","id","title","children","checkable","isLeaf","disabled","disabledCheckbox","flattedNode","raw","push","childDepth","map","child","treeRoot","getTreeRoot","getNodeAncestors","ancestors","getActiveMenus","data","selectedIds","length","root","menu","selectedOption","find","reverse","getFlattedMenus","filter","getActiveMenuIds","debounce","func","delay","timer","cancel","window","clearTimeout","debounceFn","args","setTimeout","apply","getCascaderItemEventData","requiredProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","flattedTreeData","dig","node","depth","parent","id","title","children","checkable","isLeaf","disabled","disabledCheckbox","flattedNode","raw","push","childDepth","map","child","treeRoot","getTreeRoot","getNodeAncestors","ancestors","getActiveMenus","data","selectedIds","length","root","menu","selectedOption","find","reverse","getFlattedMenus","filter","getActiveMenuIds","getCascaderItemEventData","requiredProps"],"mappings":"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"}
@@ -8,19 +8,28 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import { __rest } from 'tslib';
11
- import React, { forwardRef, useState, useRef } from 'react';
11
+ import React, { forwardRef, useMemo, useCallback, useState } from 'react';
12
12
  import { getPrefixCls, cx } from '@hi-ui/classname';
13
13
  import { __DEV__ } from '@hi-ui/env';
14
14
  import { useToggle } from '@hi-ui/use-toggle';
15
15
  import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
16
- import { useMergeRefs } from '@hi-ui/use-merge-refs';
17
- import { DownOutlined } from '@hi-ui/icons';
18
- import { CheckCascaderPanel } from './CheckCascaderPanel.js';
19
- import { TagInput } from './TagInput.js';
20
- import { Popper } from '@hi-ui/popper';
21
- var _role = 'check-cascader';
16
+ import { UpOutlined, DownOutlined } from '@hi-ui/icons';
17
+ import { matchStrategy } from './hooks/use-search.js';
18
+ import '@hi-ui/use-check';
19
+ import { useCache } from './hooks/use-cache.js';
20
+ import '@babel/runtime/regenerator';
21
+ import { useLatestRef, useLatestCallback } from '@hi-ui/use-latest';
22
+ import { getTopDownAncestors, getNodeAncestorsWithMe } from '@hi-ui/tree-utils';
23
+ import { Picker } from '@hi-ui/picker';
24
+ import { TagInputMock } from '@hi-ui/tag-input';
25
+ import { uniqBy } from 'lodash';
26
+ import { CheckCascaderMenus } from './CheckCascaderMenus.js';
27
+ import { useTreeCustomSearch, useTreeUpMatchSearch, useSearchMode } from '@hi-ui/use-search-mode';
28
+ import { flattenTreeData } from './utils/index.js';
29
+ import { isUndef, isArrayNonEmpty } from '@hi-ui/type-assertion';
30
+ import { useLocaleContext } from '@hi-ui/locale-context';
22
31
 
23
- var _prefix = getPrefixCls(_role);
32
+ var _prefix = getPrefixCls('check-cascader');
24
33
 
25
34
  var NOOP_ARRAY = [];
26
35
  /**
@@ -30,92 +39,208 @@ var NOOP_ARRAY = [];
30
39
  var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
31
40
  var _a$prefixCls = _a.prefixCls,
32
41
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
33
- _a$role = _a.role,
34
- role = _a$role === void 0 ? _role : _a$role,
35
42
  className = _a.className,
36
43
  _a$defaultValue = _a.defaultValue,
37
44
  defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
38
45
  valueProp = _a.value,
39
46
  onChange = _a.onChange,
40
- data = _a.data,
41
- placeholder = _a.placeholder,
47
+ _a$data = _a.data,
48
+ data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
49
+ placeholderProp = _a.placeholder,
42
50
  clearable = _a.clearable,
43
51
  onSelect = _a.onSelect,
44
52
  expandTrigger = _a.expandTrigger,
45
- searchable = _a.searchable,
46
53
  disabled = _a.disabled,
47
- emptyContent = _a.emptyContent,
48
54
  changeOnSelect = _a.changeOnSelect,
49
- titleRender = _a.titleRender,
55
+ titleRender = _a.render,
50
56
  displayRender = _a.displayRender,
51
57
  checkCascaded = _a.checkCascaded,
52
- flatted = _a.flatted,
53
- upMatch = _a.upMatch,
54
- searchPlaceholder = _a.searchPlaceholder,
55
58
  onLoadChildren = _a.onLoadChildren,
56
- placement = _a.placement,
57
- wrap = _a.wrap,
58
- rest = __rest(_a, ["prefixCls", "role", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "searchable", "disabled", "emptyContent", "changeOnSelect", "titleRender", "displayRender", "checkCascaded", "flatted", "upMatch", "searchPlaceholder", "onLoadChildren", "placement", "wrap"]);
59
+ appearance = _a.appearance,
60
+ invalid = _a.invalid,
61
+ filterOption = _a.filterOption,
62
+ searchableProp = _a.searchable,
63
+ overlayClassName = _a.overlayClassName,
64
+ _a$type = _a.type,
65
+ type = _a$type === void 0 ? 'tree' : _a$type,
66
+ rest = __rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "wrap", "appearance", "invalid", "filterOption", "searchable", "overlayClassName", "type"]);
59
67
 
60
- var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
61
- value = _useUncontrolledState[0],
62
- tryChangeValue = _useUncontrolledState[1];
68
+ var i18n = useLocaleContext();
69
+ var placeholder = isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
70
+ var flatted = type === 'flatted';
63
71
 
64
72
  var _useToggle = useToggle(),
65
73
  menuVisible = _useToggle[0],
66
74
  menuVisibleAction = _useToggle[1];
67
75
 
68
- var _useState = useState(null),
69
- targetElRef = _useState[0],
70
- setTargetElRef = _useState[1];
76
+ var _useCache = useCache(data),
77
+ cascaderData = _useCache[0],
78
+ setCascaderData = _useCache[1];
71
79
 
72
- var cascaderRef = useRef(null);
73
- var cls = cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
74
- return /*#__PURE__*/React.createElement("div", Object.assign({
75
- ref: useMergeRefs(ref, cascaderRef),
76
- role: role,
77
- className: cls
78
- }, rest), /*#__PURE__*/React.createElement(TagInput, {
79
- ref: setTargetElRef,
80
- data: data,
81
- value: value,
82
- onChange: tryChangeValue,
83
- disabled: disabled,
84
- clearable: clearable,
85
- placeholder: placeholder,
86
- displayRender: displayRender,
87
- wrap: wrap,
88
- suffix: /*#__PURE__*/React.createElement(DownOutlined, {
89
- className: prefixCls + "__suffix"
90
- }),
91
- onClick: function onClick(evt) {
92
- if (disabled) return;
93
- menuVisibleAction.on();
80
+ var flattedData = useMemo(function () {
81
+ return flattenTreeData(cascaderData);
82
+ }, [cascaderData]);
83
+
84
+ var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
85
+ _value = _useUncontrolledState[0],
86
+ tryChangeValue = _useUncontrolledState[1];
87
+
88
+ var value = _value.map(function (path) {
89
+ return path[path.length - 1];
90
+ });
91
+
92
+ var flattedDataLatestRef = useLatestRef(flattedData);
93
+ var proxyOnChange = useLatestCallback(function (value, item, shouldChecked) {
94
+ var flattedItems = flattedDataLatestRef.current;
95
+ var itemsPaths = flattedItems.filter(function (item) {
96
+ return value.includes(item.id);
97
+ }).map(function (item) {
98
+ return getTopDownAncestors(item).map(function (_ref) {
99
+ var id = _ref.id;
100
+ return id;
101
+ });
102
+ }); // TODO: 找到所有 id 的祖先节点路径
103
+
104
+ tryChangeValue(itemsPaths); // 包括所有全选的数据,包括全选
105
+
106
+ if (shouldChecked) {
107
+ // TODO:as useCheckList
108
+ setSelectedItems(function (prev) {
109
+ return [].concat(prev, [item]);
110
+ });
94
111
  }
95
- }), /*#__PURE__*/React.createElement(Popper, {
96
- attachEl: targetElRef,
112
+ }); // ************************** 异步搜索 ************************* //
113
+
114
+ var customSearchStrategy = useTreeCustomSearch({
115
+ data: flattedData,
116
+ filterOption: filterOption
117
+ });
118
+ var upMatchSearchStrategy = useTreeUpMatchSearch({
119
+ data: cascaderData,
120
+ flattedData: flattedData,
121
+ enabled: searchableProp,
122
+ exclude: function exclude(node) {
123
+ return !node.checkable;
124
+ }
125
+ });
126
+
127
+ var _useSearchMode = useSearchMode({
128
+ searchable: searchableProp,
129
+ strategies: [customSearchStrategy, upMatchSearchStrategy]
130
+ }),
131
+ stateInSearch = _useSearchMode.state,
132
+ searchable = _useSearchMode.searchable,
133
+ searchMode = _useSearchMode.searchMode,
134
+ onSearch = _useSearchMode.onSearch,
135
+ searchValue = _useSearchMode.keyword; // 拦截 titleRender,自定义高亮展示
136
+
137
+
138
+ var proxyTitleRender = useCallback(function (node) {
139
+ if (titleRender) {
140
+ var _ret = titleRender(node);
141
+
142
+ if (_ret && _ret !== true) return _ret;
143
+ } // 本地搜索执行默认高亮规则
144
+
145
+
146
+ var highlight = !!searchValue && searchMode === 'upMatch';
147
+ var found = false;
148
+ var ret = highlight ? /*#__PURE__*/React.createElement("span", {
149
+ className: cx("title__text", "title__text--cols")
150
+ }, getNodeAncestorsWithMe(node).map(function (item) {
151
+ var title = item.title,
152
+ id = item.id;
153
+ var raw = /*#__PURE__*/React.createElement("span", {
154
+ className: "title__text--col",
155
+ key: id
156
+ }, title);
157
+ if (typeof title !== 'string') return raw;
158
+ if (found) return raw;
159
+ var index = matchStrategy(title, searchValue);
160
+ if (index === -1) return raw;
161
+ found = true;
162
+ var resultLength = searchValue.length;
163
+ var beforeStr = title.substr(0, index);
164
+ var resultStr = title.substr(index, searchValue.length);
165
+ var afterStr = title.substr(index + resultLength);
166
+ return /*#__PURE__*/React.createElement("span", {
167
+ className: "title__text--col",
168
+ key: id
169
+ }, beforeStr, /*#__PURE__*/React.createElement("span", {
170
+ className: "title__text--matched"
171
+ }, resultStr), afterStr);
172
+ }).reverse()) : true;
173
+ return ret;
174
+ }, [titleRender, searchValue, searchMode]); // 搜索时临时选中缓存数据
175
+
176
+ var _useState = useState([]),
177
+ selectedItems = _useState[0],
178
+ setSelectedItems = _useState[1];
179
+
180
+ var shouldUseSearch = !!searchValue;
181
+ var selectProps = {
182
+ data: shouldUseSearch ? stateInSearch.data : flattedData,
183
+ titleRender: proxyTitleRender
184
+ }; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
185
+
186
+ var mergedData = useMemo(function () {
187
+ var nextData = selectedItems.concat(flattedData);
188
+ return uniqBy(nextData, 'id');
189
+ }, [selectedItems, flattedData]);
190
+ var cls = cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
191
+ return /*#__PURE__*/React.createElement(Picker, Object.assign({
192
+ ref: ref,
193
+ className: cls,
194
+ overlayClassName: cx(prefixCls + "__popper", overlayClassName)
195
+ }, rest, {
196
+ // 这种展现形式宽度是不固定的,关掉宽度匹配策略
197
+ overlay: Object.assign({
198
+ matchWidth: false
199
+ }, rest.overlay),
97
200
  visible: menuVisible,
201
+ onOpen: function onOpen() {
202
+ // setViewSelected(false)
203
+ menuVisibleAction.on();
204
+ },
205
+ disabled: disabled,
98
206
  onClose: menuVisibleAction.off,
99
- // TODO: 是否从 props omit 所有 popper 相关的 props 应用到 Popper
100
- placement: placement
101
- }, /*#__PURE__*/React.createElement(CheckCascaderPanel, Object.assign({
102
- value: value,
103
- onChange: tryChangeValue
104
- }, {
105
- data: data,
106
- onSelect: onSelect,
107
- expandTrigger: expandTrigger,
108
207
  searchable: searchable,
208
+ onSearch: onSearch,
209
+ trigger: /*#__PURE__*/React.createElement(TagInputMock, {
210
+ clearable: clearable,
211
+ placeholder: placeholder,
212
+ // @ts-ignore
213
+ displayRender: displayRender,
214
+ suffix: menuVisible ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null),
215
+ focused: menuVisible,
216
+ appearance: appearance,
217
+ value: value,
218
+ // @ts-ignore
219
+ onChange: proxyOnChange,
220
+ data: mergedData,
221
+ invalid: invalid,
222
+ onExpand: function onExpand() {
223
+ // setViewSelected(true)
224
+ menuVisibleAction.on();
225
+ }
226
+ })
227
+ }), isArrayNonEmpty(selectProps.data) ? /*#__PURE__*/React.createElement(CheckCascaderMenus, {
109
228
  disabled: disabled,
110
- emptyContent: emptyContent,
229
+ value: value,
230
+ // @ts-ignore
231
+ onChange: proxyOnChange,
232
+ expandTrigger: expandTrigger,
111
233
  changeOnSelect: changeOnSelect,
112
- titleRender: titleRender,
113
234
  checkCascaded: checkCascaded,
114
- flatted: flatted,
115
- upMatch: upMatch,
116
- placeholder: searchPlaceholder,
117
- onLoadChildren: onLoadChildren
118
- }))));
235
+ onSelect: onSelect,
236
+ onLoadChildren: onLoadChildren,
237
+ titleRender: proxyTitleRender,
238
+ flatted: flatted || !!searchValue,
239
+ // @ts-ignore
240
+ flattedData: selectProps.data,
241
+ data: cascaderData,
242
+ onChangeData: setCascaderData
243
+ }) : null);
119
244
  });
120
245
 
121
246
  if (__DEV__) {