@hi-ui/check-cascader 4.0.0-alpha.6 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -7
- package/lib/cjs/CheckCascader.js +201 -67
- package/lib/cjs/CheckCascader.js.map +1 -1
- package/lib/cjs/CheckCascaderMenu.js +8 -1
- package/lib/cjs/CheckCascaderMenu.js.map +1 -1
- package/lib/cjs/CheckCascaderMenus.js +13 -5
- package/lib/cjs/CheckCascaderMenus.js.map +1 -1
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/hooks/use-async-switch.js +4 -1
- package/lib/cjs/hooks/use-async-switch.js.map +1 -1
- package/lib/cjs/hooks/use-check.js +3 -12
- package/lib/cjs/hooks/use-check.js.map +1 -1
- package/lib/cjs/hooks/use-search.js +13 -71
- package/lib/cjs/hooks/use-search.js.map +1 -1
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/utils/index.js +0 -36
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/CheckCascader.js +192 -67
- package/lib/esm/CheckCascader.js.map +1 -1
- package/lib/esm/CheckCascaderMenu.js +8 -1
- package/lib/esm/CheckCascaderMenu.js.map +1 -1
- package/lib/esm/CheckCascaderMenus.js +13 -5
- package/lib/esm/CheckCascaderMenus.js.map +1 -1
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/hooks/use-async-switch.js +5 -2
- package/lib/esm/hooks/use-async-switch.js.map +1 -1
- package/lib/esm/hooks/use-check.js +3 -10
- package/lib/esm/hooks/use-check.js.map +1 -1
- package/lib/esm/hooks/use-search.js +13 -72
- package/lib/esm/hooks/use-search.js.map +1 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/utils/index.js +1 -36
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/CheckCascader.d.ts +23 -33
- package/lib/types/CheckCascaderMenus.d.ts +1 -1
- package/lib/types/context.d.ts +1 -1
- package/lib/types/hooks/index.d.ts +0 -1
- package/lib/types/hooks/use-async-switch.d.ts +1 -1
- package/lib/types/hooks/use-search.d.ts +4 -0
- package/lib/types/index.d.ts +0 -1
- package/package.json +29 -21
- package/lib/cjs/CheckCascaderPanel.js +0 -189
- package/lib/cjs/CheckCascaderPanel.js.map +0 -1
- package/lib/cjs/TagInput.js +0 -182
- package/lib/cjs/TagInput.js.map +0 -1
- package/lib/cjs/hooks/use-tag-input.js +0 -122
- package/lib/cjs/hooks/use-tag-input.js.map +0 -1
- package/lib/esm/CheckCascaderPanel.js +0 -156
- package/lib/esm/CheckCascaderPanel.js.map +0 -1
- package/lib/esm/TagInput.js +0 -152
- package/lib/esm/TagInput.js.map +0 -1
- package/lib/esm/hooks/use-tag-input.js +0 -113
- package/lib/esm/hooks/use-tag-input.js.map +0 -1
- package/lib/types/CheckCascaderPanel.d.ts +0 -88
- package/lib/types/TagInput.d.ts +0 -68
- 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","
|
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
|
32
|
-
|
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","
|
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
|
-
|
16
|
+
require('react');
|
17
17
|
|
18
|
-
|
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
|
-
|
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
|
-
*
|
22
|
+
* 返回 -1 表示匹配失败
|
67
23
|
*/
|
68
24
|
|
69
25
|
|
70
|
-
var
|
71
|
-
if (
|
72
|
-
|
73
|
-
|
74
|
-
|
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
|
-
|
84
|
-
|
85
|
-
visitedResultSet.add(node.id);
|
86
|
-
return true;
|
87
|
-
}
|
88
|
-
}
|
32
|
+
return -1;
|
33
|
+
} // 忽略大小写匹配
|
89
34
|
|
90
|
-
node = node.parent;
|
91
|
-
}
|
92
35
|
|
93
|
-
|
94
|
-
});
|
36
|
+
return content.toLowerCase().indexOf(keyword.toLowerCase());
|
95
37
|
};
|
96
38
|
|
97
|
-
exports.
|
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":["
|
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
|
package/lib/cjs/index.js.map
CHANGED
@@ -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
|
|
package/lib/cjs/utils/index.js
CHANGED
@@ -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","
|
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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"}
|
package/lib/esm/CheckCascader.js
CHANGED
@@ -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,
|
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 {
|
17
|
-
import {
|
18
|
-
import
|
19
|
-
import {
|
20
|
-
import
|
21
|
-
|
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(
|
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
|
-
|
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.
|
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
|
-
|
57
|
-
|
58
|
-
|
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
|
61
|
-
|
62
|
-
|
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
|
69
|
-
|
70
|
-
|
76
|
+
var _useCache = useCache(data),
|
77
|
+
cascaderData = _useCache[0],
|
78
|
+
setCascaderData = _useCache[1];
|
71
79
|
|
72
|
-
var
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
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
|
-
})
|
96
|
-
|
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
|
-
|
229
|
+
value: value,
|
230
|
+
// @ts-ignore
|
231
|
+
onChange: proxyOnChange,
|
232
|
+
expandTrigger: expandTrigger,
|
111
233
|
changeOnSelect: changeOnSelect,
|
112
|
-
titleRender: titleRender,
|
113
234
|
checkCascaded: checkCascaded,
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
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__) {
|