@hi-ui/check-cascader 4.0.0-alpha.33 → 4.0.0-alpha.37

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.
@@ -1,214 +0,0 @@
1
- /** @LICENSE
2
- * @hi-ui/check-cascader
3
- * https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
4
- *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
- 'use strict';
11
-
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
- var tslib = require('tslib');
19
-
20
- var React = require('react');
21
-
22
- var classname = require('@hi-ui/classname');
23
-
24
- var env = require('@hi-ui/env');
25
-
26
- var Input = require('@hi-ui/input');
27
-
28
- var useSearch = require('./hooks/use-search.js');
29
-
30
- require('@hi-ui/use-check');
31
-
32
- require('@hi-ui/use-uncontrolled-state');
33
-
34
- require('@hi-ui/use-latest');
35
-
36
- var useCache = require('./hooks/use-cache.js');
37
-
38
- require('@babel/runtime/regenerator');
39
-
40
- require('@hi-ui/tree-utils');
41
-
42
- var index = require('./utils/index.js');
43
-
44
- var icons = require('@hi-ui/icons');
45
-
46
- var CheckCascaderMenus = require('./CheckCascaderMenus.js');
47
-
48
- function _interopDefaultLegacy(e) {
49
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
50
- 'default': e
51
- };
52
- }
53
-
54
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
55
-
56
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
57
-
58
- var _role = 'check-cascader-panel';
59
-
60
- var _prefix = classname.getPrefixCls(_role);
61
-
62
- var NOOP_ARRAY = [];
63
- /**
64
- * TODO: What is CheckCascaderPanel
65
- */
66
-
67
- var CheckCascaderPanel = /*#__PURE__*/React.forwardRef(function (_a, ref) {
68
- var _a$prefixCls = _a.prefixCls,
69
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
70
- _a$role = _a.role,
71
- role = _a$role === void 0 ? _role : _a$role,
72
- className = _a.className,
73
- _a$data = _a.data,
74
- data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
75
- cascaderDataProp = _a.cascaderData,
76
- setCascaderDataProp = _a.setCascaderData,
77
- value = _a.value,
78
- _a$defaultValue = _a.defaultValue,
79
- defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
80
- _a$disabled = _a.disabled,
81
- disabled = _a$disabled === void 0 ? false : _a$disabled,
82
- _a$expandTrigger = _a.expandTrigger,
83
- expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
84
- _a$changeOnSelect = _a.changeOnSelect,
85
- changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
86
- _a$checkCascaded = _a.checkCascaded,
87
- checkCascaded = _a$checkCascaded === void 0 ? true : _a$checkCascaded,
88
- _a$searchable = _a.searchable,
89
- searchable = _a$searchable === void 0 ? true : _a$searchable,
90
- _a$flatted = _a.flatted,
91
- flatted = _a$flatted === void 0 ? false : _a$flatted,
92
- _a$upMatch = _a.upMatch,
93
- upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
94
- _a$emptyContent = _a.emptyContent,
95
- emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
96
- placeholder = _a.placeholder,
97
- onChange = _a.onChange,
98
- onSelect = _a.onSelect,
99
- titleRender = _a.titleRender,
100
- onLoadChildren = _a.onLoadChildren,
101
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "cascaderData", "setCascaderData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "searchable", "flatted", "upMatch", "emptyContent", "placeholder", "onChange", "onSelect", "titleRender", "onLoadChildren"]);
102
-
103
- var _useCache = useCache.useCache(data),
104
- cascaderCacheData = _useCache[0],
105
- setCascaderCacheData = _useCache[1];
106
-
107
- var cascaderData = cascaderDataProp !== null && cascaderDataProp !== void 0 ? cascaderDataProp : cascaderCacheData;
108
- var setCascaderData = setCascaderDataProp !== null && setCascaderDataProp !== void 0 ? setCascaderDataProp : setCascaderCacheData;
109
- var flattedData = React.useMemo(function () {
110
- return index.flattenTreeData(cascaderData);
111
- }, [cascaderData]);
112
-
113
- var _useSearch = useSearch.useSearch(flattedData, upMatch),
114
- inSearch = _useSearch[0],
115
- matchedNodes = _useSearch[1],
116
- inputProps = _useSearch[2],
117
- isEmpty = _useSearch[3];
118
-
119
- var renderTitleWithSearch = React.useCallback(function (option) {
120
- // 如果 titleRender 返回 `true`,则使用默认 title
121
- var title = titleRender ? titleRender(option) : true;
122
-
123
- if (title !== true) {
124
- return title;
125
- }
126
-
127
- if (!inSearch) return true;
128
- if (typeof option.title !== 'string') return true;
129
- var searchValue = inputProps.value;
130
- var found = false;
131
- return /*#__PURE__*/React__default['default'].createElement("span", {
132
- className: classname.cx("title__text", "title__text--cols")
133
- }, index.getNodeAncestors(option).map(function (item) {
134
- var title = item.title,
135
- id = item.id;
136
- var raw = /*#__PURE__*/React__default['default'].createElement("span", {
137
- className: "title__text--col",
138
- key: id
139
- }, title);
140
- if (typeof title !== 'string') return raw;
141
- if (found) return raw;
142
- var index = useSearch.matchStrategy(title, searchValue);
143
- if (index === -1) return raw;
144
- found = true;
145
- var resultLength = searchValue.length;
146
- var beforeStr = title.substr(0, index);
147
- var resultStr = title.substr(index, searchValue.length);
148
- var afterStr = title.substr(index + resultLength);
149
- return /*#__PURE__*/React__default['default'].createElement("span", {
150
- className: "title__text--col",
151
- key: id
152
- }, beforeStr, /*#__PURE__*/React__default['default'].createElement("span", {
153
- className: "title__text--matched"
154
- }, resultStr), afterStr);
155
- }).reverse());
156
- }, [titleRender, inSearch, inputProps.value]);
157
-
158
- var _useState = React.useState(null),
159
- inputElement = _useState[0],
160
- setInputElement = _useState[1];
161
-
162
- React.useEffect(function () {
163
- if (!inputElement) return; // 临时方案,解决 input 无法正常 autoFocus
164
-
165
- var timer = window.setTimeout(function () {
166
- inputElement.focus();
167
- }, 200);
168
- return function () {
169
- window.clearTimeout(timer);
170
- };
171
- }, [inputElement]);
172
- var cls = classname.cx(prefixCls, className);
173
- return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
174
- ref: ref,
175
- role: role,
176
- className: cls
177
- }, rest), searchable ? /*#__PURE__*/React__default['default'].createElement("div", {
178
- className: prefixCls + "-search"
179
- }, /*#__PURE__*/React__default['default'].createElement(Input__default['default'] // @ts-ignore
180
- , {
181
- // @ts-ignore
182
- ref: setInputElement,
183
- appearance: "underline",
184
- placeholder: placeholder,
185
- prefix: /*#__PURE__*/React__default['default'].createElement(icons.SearchOutlined, null),
186
- value: inputProps.value,
187
- onChange: inputProps.onChange
188
- }), isEmpty ? /*#__PURE__*/React__default['default'].createElement("span", {
189
- className: prefixCls + "-search__empty"
190
- }, emptyContent) : null) : null, /*#__PURE__*/React__default['default'].createElement(CheckCascaderMenus.CheckCascaderMenus, Object.assign({}, {
191
- disabled: disabled,
192
- value: value,
193
- defaultValue: defaultValue,
194
- onChange: onChange,
195
- expandTrigger: expandTrigger,
196
- changeOnSelect: changeOnSelect,
197
- checkCascaded: checkCascaded,
198
- onSelect: onSelect,
199
- onLoadChildren: onLoadChildren
200
- }, {
201
- data: cascaderData,
202
- onChangeData: setCascaderData,
203
- titleRender: renderTitleWithSearch,
204
- flatted: flatted || inSearch,
205
- flattedData: inSearch ? matchedNodes : flattedData
206
- })));
207
- });
208
-
209
- if (env.__DEV__) {
210
- CheckCascaderPanel.displayName = 'CheckCascaderPanel';
211
- }
212
-
213
- exports.CheckCascaderPanel = CheckCascaderPanel;
214
- //# sourceMappingURL=CheckCascaderPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckCascaderPanel.js","sources":["../../src/CheckCascaderPanel.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","CheckCascaderPanel","forwardRef","_a","ref","prefixCls","role","className","data","cascaderDataProp","cascaderData","setCascaderDataProp","setCascaderData","value","defaultValue","disabled","expandTrigger","changeOnSelect","checkCascaded","searchable","flatted","upMatch","emptyContent","placeholder","onChange","onSelect","titleRender","onLoadChildren","rest","useCache","cascaderCacheData","setCascaderCacheData","flattedData","useMemo","flattenTreeData","useSearch","inSearch","matchedNodes","inputProps","isEmpty","renderTitleWithSearch","useCallback","option","title","searchValue","found","React","cx","getNodeAncestors","map","item","id","raw","key","index","matchStrategy","resultLength","length","beforeStr","substr","resultStr","afterStr","reverse","useState","inputElement","setInputElement","useEffect","timer","window","setTimeout","focus","clearTimeout","cls","Input","appearance","prefix","SearchOutlined","CheckCascaderMenus","onChangeData","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,KAAK,GAAG,sBAAd;;AACA,IAAMC,OAAO,GAAGC,sBAAAA,CAAaF,KAAbE,CAAhB;;AAEA,IAAMC,UAAU,GAAG,EAAnB;AAEA;;;;IAGaC,kBAAkB,gBAAGC,gBAAAA,CAChC,UACEC,EADF,EA8BEC,GA9BF;wBAEIC;MAAAA,sCAAYP;mBACZQ;MAAAA,4BAAOT;MACPU,eAAAA;mBAEAC;MAAAA,4BAAOR;MAGOS,sBAAdC;MAGiBC,yBAAjBC;MACAC,WAAAA;2BACAC;MAAAA,4CAAed;uBACfe;MAAAA,oCAAW;4BACXC;MAAAA,8CAAgB;6BAChBC;MAAAA,gDAAiB;4BACjBC;MAAAA,8CAAgB;yBAChBC;MAAAA,wCAAa;sBACbC;MAAAA,kCAAU;sBACVC;MAAAA,kCAAU;2BACVC;MAAAA,4CAAe;MACfC,iBAAAA;MACAC,cAAAA;MACAC,cAAAA;MACAC,iBAAAA;MACAC,oBAAAA;MACGC,wBA3BL,YAAA,QAAA,aAAA,YAAA,QAAA,gBAAA,mBAAA,SAAA,gBAAA,YAAA,iBAAA,kBAAA,iBAAA,cAAA,WAAA,WAAA,gBAAA,eAAA,YAAA,YAAA,eAAA,kBAAA;;kBA+BkDC,iBAAAA,CAASrB,IAATqB;MAA3CC,iBAAP;MAA0BC,oBAA1B;;MAEMrB,YAAY,GAAGD,gBAAgB,SAAhBA,IAAAA,gBAAgB,WAAhBA,GAAAA,gBAAAA,GAAoBqB;MACnClB,eAAe,GAAGD,mBAAmB,SAAnBA,IAAAA,mBAAmB,WAAnBA,GAAAA,mBAAAA,GAAuBoB;MAEzCC,WAAW,GAAGC,aAAAA,CAAQ;WAAMC,qBAAAA,CAAgBxB,YAAhBwB;AAAP,GAAPD,EAA6C,CAACvB,YAAD,CAA7CuB;;mBAEkCE,mBAAAA,CAAUH,WAAVG,EAAuBd,OAAvBc;MAA/CC,QAAP;MAAiBC,YAAjB;MAA+BC,UAA/B;MAA2CC,OAA3C;;MAEMC,qBAAqB,GAAGC,iBAAAA,CAC5B,UAACC,MAAD;;QAEQC,KAAK,GAAGjB,WAAW,GAAGA,WAAW,CAACgB,MAAD,CAAd,GAAyB;;QAE9CC,KAAK,KAAK,MAAM;aACXA;;;QAGL,CAACP,UAAU,OAAO,IAAP;QACX,OAAOM,MAAM,CAACC,KAAd,KAAwB,UAAU,OAAO,IAAP;QAEhCC,WAAW,GAAGN,UAAU,CAACzB;QAC3BgC,KAAK,GAAG;wBAGVC,yBAAAA,cAAAA,OAAAA;AAAMvC,MAAAA,SAAS,EAAEwC,YAAAA,cAAAA,qBAAAA;KAAjBD,EACGE,sBAAAA,CAAiBN,MAAjBM,EACEC,GADFD,CACM,UAACE,IAAD;UACKP,KAAR,GAAsBO,IAAtB,CAAQP;UAAOQ,EAAf,GAAsBD,IAAtB,CAAeC;UACTC,GAAG,gBACPN,yBAAAA,cAAAA,OAAAA;AAAMvC,QAAAA,SAAS,EAAC;AAAmB8C,QAAAA,GAAG,EAAEF;OAAxCL,EACGH,KADHG;UAKE,OAAOH,KAAP,KAAiB,UAAU,OAAOS,GAAP;UAC3BP,OAAO,OAAOO,GAAP;UAELE,KAAK,GAAGC,uBAAAA,CAAcZ,KAAdY,EAAqBX,WAArBW;UACVD,KAAK,KAAK,CAAC,GAAG,OAAOF,GAAP;AAElBP,MAAAA,KAAK,GAAG,IAARA;UAEMW,YAAY,GAAGZ,WAAW,CAACa;UAE3BC,SAAS,GAAGf,KAAK,CAACgB,MAANhB,CAAa,CAAbA,EAAgBW,KAAhBX;UACZiB,SAAS,GAAGjB,KAAK,CAACgB,MAANhB,CAAaW,KAAbX,EAAoBC,WAAW,CAACa,MAAhCd;UACZkB,QAAQ,GAAGlB,KAAK,CAACgB,MAANhB,CAAaW,KAAK,GAAGE,YAArBb;0BAGfG,yBAAAA,cAAAA,OAAAA;AAAMvC,QAAAA,SAAS;AAAsB8C,QAAAA,GAAG,EAAEF;OAA1CL,EACGY,SADHZ,eAEEA,yBAAAA,cAAAA,OAAAA;AAAMvC,QAAAA,SAAS,EAAC;OAAhBuC,EAAwCc,SAAxCd,CAFFA,EAGGe,QAHHf;AAxBL,KAAAE,EA+BEc,OA/BFd,EADHF;AAhBmC,GAAXL,EAoD5B,CAACf,WAAD,EAAcU,QAAd,EAAwBE,UAAU,CAACzB,KAAnC,CApD4B4B;;kBAuDUsB,cAAAA,CAAkC,IAAlCA;MAAjCC,YAAP;MAAqBC,eAArB;;AACAC,EAAAA,eAAAA,CAAU;QACJ,CAACF,cAAc;;QAGbG,KAAK,GAAGC,MAAM,CAACC,UAAPD,CAAkB;AAC9BJ,MAAAA,YAAY,CAACM,KAAbN;AADY,KAAAI,EAEX,GAFWA;WAIP;AACLA,MAAAA,MAAM,CAACG,YAAPH,CAAoBD,KAApBC;AADF;AARO,GAATF,EAWG,CAACF,YAAD,CAXHE;MAaMM,GAAG,GAAGzB,YAAAA,CAAG1C,SAAH0C,EAAcxC,SAAdwC;sBAGVD,yBAAAA,cAAAA,MAAAA;AAAK1C,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAEiE;KAAS5C,KAA/CkB,EACG3B,UAAU,gBACT2B,yBAAAA,cAAAA,MAAAA;AAAKvC,IAAAA,SAAS,EAAKF,SAAL;GAAdyC,eACEA,yBAAAA,cAAAA,CAAC2B,yBAAD3B;AAAAA;;AAEE1C,IAAAA,GAAG,EAAE6D;AACLS,IAAAA,UAAU,EAAC;AACXnD,IAAAA,WAAW,EAAEA;AACboD,IAAAA,MAAM,eAAE7B,yBAAAA,cAAAA,CAAC8B,oBAAD9B,MAAAA;AACRjC,IAAAA,KAAK,EAAEyB,UAAU,CAACzB;AAClBW,IAAAA,QAAQ,EAAEc,UAAU,CAACd;GAPvBsB,CADFA,EAUGP,OAAO,gBAAGO,yBAAAA,cAAAA,OAAAA;AAAMvC,IAAAA,SAAS,EAAKF,SAAL;GAAfyC,EAAgDxB,YAAhDwB,CAAH,GAA0E,IAVpFA,CADS,GAaP,IAdNA,eAeEA,yBAAAA,cAAAA,CAAC+B,qCAAD/B,oBACM;AACF/B,IAAAA,QAAQ,EAARA,QADE;AAEFF,IAAAA,KAAK,EAALA,KAFE;AAGFC,IAAAA,YAAY,EAAZA,YAHE;AAIFU,IAAAA,QAAQ,EAARA,QAJE;AAKFR,IAAAA,aAAa,EAAbA,aALE;AAMFC,IAAAA,cAAc,EAAdA,cANE;AAOFC,IAAAA,aAAa,EAAbA,aAPE;AAQFO,IAAAA,QAAQ,EAARA,QARE;AASFE,IAAAA,cAAc,EAAdA;AATE;AAWJnB,IAAAA,IAAI,EAAEE;AACNoE,IAAAA,YAAY,EAAElE;AACdc,IAAAA,WAAW,EAAEc;AACbpB,IAAAA,OAAO,EAAEA,OAAO,IAAIgB;AACpBJ,IAAAA,WAAW,EAAEI,QAAQ,GAAGC,YAAH,GAAkBL;IAhBzCc,CAfFA;AAlHsC,CAAV5C;;AA2OlC,IAAI6E,WAAJ,EAAa;AACX9E,EAAAA,kBAAkB,CAAC+E,WAAnB/E,GAAiC,oBAAjCA;;;"}
@@ -1,181 +0,0 @@
1
- /** @LICENSE
2
- * @hi-ui/check-cascader
3
- * https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
4
- *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
- import { __rest } from 'tslib';
11
- import React, { forwardRef, useMemo, useCallback, useState, useEffect } from 'react';
12
- import { getPrefixCls, cx } from '@hi-ui/classname';
13
- import { __DEV__ } from '@hi-ui/env';
14
- import Input from '@hi-ui/input';
15
- import { useSearch, matchStrategy } from './hooks/use-search.js';
16
- import '@hi-ui/use-check';
17
- import '@hi-ui/use-uncontrolled-state';
18
- import '@hi-ui/use-latest';
19
- import { useCache } from './hooks/use-cache.js';
20
- import '@babel/runtime/regenerator';
21
- import '@hi-ui/tree-utils';
22
- import { flattenTreeData, getNodeAncestors } from './utils/index.js';
23
- import { SearchOutlined } from '@hi-ui/icons';
24
- import { CheckCascaderMenus } from './CheckCascaderMenus.js';
25
- var _role = 'check-cascader-panel';
26
-
27
- var _prefix = getPrefixCls(_role);
28
-
29
- var NOOP_ARRAY = [];
30
- /**
31
- * TODO: What is CheckCascaderPanel
32
- */
33
-
34
- var CheckCascaderPanel = /*#__PURE__*/forwardRef(function (_a, ref) {
35
- var _a$prefixCls = _a.prefixCls,
36
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
37
- _a$role = _a.role,
38
- role = _a$role === void 0 ? _role : _a$role,
39
- className = _a.className,
40
- _a$data = _a.data,
41
- data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
42
- cascaderDataProp = _a.cascaderData,
43
- setCascaderDataProp = _a.setCascaderData,
44
- value = _a.value,
45
- _a$defaultValue = _a.defaultValue,
46
- defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
47
- _a$disabled = _a.disabled,
48
- disabled = _a$disabled === void 0 ? false : _a$disabled,
49
- _a$expandTrigger = _a.expandTrigger,
50
- expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
51
- _a$changeOnSelect = _a.changeOnSelect,
52
- changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
53
- _a$checkCascaded = _a.checkCascaded,
54
- checkCascaded = _a$checkCascaded === void 0 ? true : _a$checkCascaded,
55
- _a$searchable = _a.searchable,
56
- searchable = _a$searchable === void 0 ? true : _a$searchable,
57
- _a$flatted = _a.flatted,
58
- flatted = _a$flatted === void 0 ? false : _a$flatted,
59
- _a$upMatch = _a.upMatch,
60
- upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
61
- _a$emptyContent = _a.emptyContent,
62
- emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
63
- placeholder = _a.placeholder,
64
- onChange = _a.onChange,
65
- onSelect = _a.onSelect,
66
- titleRender = _a.titleRender,
67
- onLoadChildren = _a.onLoadChildren,
68
- rest = __rest(_a, ["prefixCls", "role", "className", "children", "data", "cascaderData", "setCascaderData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "searchable", "flatted", "upMatch", "emptyContent", "placeholder", "onChange", "onSelect", "titleRender", "onLoadChildren"]);
69
-
70
- var _useCache = useCache(data),
71
- cascaderCacheData = _useCache[0],
72
- setCascaderCacheData = _useCache[1];
73
-
74
- var cascaderData = cascaderDataProp !== null && cascaderDataProp !== void 0 ? cascaderDataProp : cascaderCacheData;
75
- var setCascaderData = setCascaderDataProp !== null && setCascaderDataProp !== void 0 ? setCascaderDataProp : setCascaderCacheData;
76
- var flattedData = useMemo(function () {
77
- return flattenTreeData(cascaderData);
78
- }, [cascaderData]);
79
-
80
- var _useSearch = useSearch(flattedData, upMatch),
81
- inSearch = _useSearch[0],
82
- matchedNodes = _useSearch[1],
83
- inputProps = _useSearch[2],
84
- isEmpty = _useSearch[3];
85
-
86
- var renderTitleWithSearch = useCallback(function (option) {
87
- // 如果 titleRender 返回 `true`,则使用默认 title
88
- var title = titleRender ? titleRender(option) : true;
89
-
90
- if (title !== true) {
91
- return title;
92
- }
93
-
94
- if (!inSearch) return true;
95
- if (typeof option.title !== 'string') return true;
96
- var searchValue = inputProps.value;
97
- var found = false;
98
- return /*#__PURE__*/React.createElement("span", {
99
- className: cx("title__text", "title__text--cols")
100
- }, getNodeAncestors(option).map(function (item) {
101
- var title = item.title,
102
- id = item.id;
103
- var raw = /*#__PURE__*/React.createElement("span", {
104
- className: "title__text--col",
105
- key: id
106
- }, title);
107
- if (typeof title !== 'string') return raw;
108
- if (found) return raw;
109
- var index = matchStrategy(title, searchValue);
110
- if (index === -1) return raw;
111
- found = true;
112
- var resultLength = searchValue.length;
113
- var beforeStr = title.substr(0, index);
114
- var resultStr = title.substr(index, searchValue.length);
115
- var afterStr = title.substr(index + resultLength);
116
- return /*#__PURE__*/React.createElement("span", {
117
- className: "title__text--col",
118
- key: id
119
- }, beforeStr, /*#__PURE__*/React.createElement("span", {
120
- className: "title__text--matched"
121
- }, resultStr), afterStr);
122
- }).reverse());
123
- }, [titleRender, inSearch, inputProps.value]);
124
-
125
- var _useState = useState(null),
126
- inputElement = _useState[0],
127
- setInputElement = _useState[1];
128
-
129
- useEffect(function () {
130
- if (!inputElement) return; // 临时方案,解决 input 无法正常 autoFocus
131
-
132
- var timer = window.setTimeout(function () {
133
- inputElement.focus();
134
- }, 200);
135
- return function () {
136
- window.clearTimeout(timer);
137
- };
138
- }, [inputElement]);
139
- var cls = cx(prefixCls, className);
140
- return /*#__PURE__*/React.createElement("div", Object.assign({
141
- ref: ref,
142
- role: role,
143
- className: cls
144
- }, rest), searchable ? /*#__PURE__*/React.createElement("div", {
145
- className: prefixCls + "-search"
146
- }, /*#__PURE__*/React.createElement(Input // @ts-ignore
147
- , {
148
- // @ts-ignore
149
- ref: setInputElement,
150
- appearance: "underline",
151
- placeholder: placeholder,
152
- prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),
153
- value: inputProps.value,
154
- onChange: inputProps.onChange
155
- }), isEmpty ? /*#__PURE__*/React.createElement("span", {
156
- className: prefixCls + "-search__empty"
157
- }, emptyContent) : null) : null, /*#__PURE__*/React.createElement(CheckCascaderMenus, Object.assign({}, {
158
- disabled: disabled,
159
- value: value,
160
- defaultValue: defaultValue,
161
- onChange: onChange,
162
- expandTrigger: expandTrigger,
163
- changeOnSelect: changeOnSelect,
164
- checkCascaded: checkCascaded,
165
- onSelect: onSelect,
166
- onLoadChildren: onLoadChildren
167
- }, {
168
- data: cascaderData,
169
- onChangeData: setCascaderData,
170
- titleRender: renderTitleWithSearch,
171
- flatted: flatted || inSearch,
172
- flattedData: inSearch ? matchedNodes : flattedData
173
- })));
174
- });
175
-
176
- if (__DEV__) {
177
- CheckCascaderPanel.displayName = 'CheckCascaderPanel';
178
- }
179
-
180
- export { CheckCascaderPanel };
181
- //# sourceMappingURL=CheckCascaderPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckCascaderPanel.js","sources":["../../src/CheckCascaderPanel.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","CheckCascaderPanel","forwardRef","_a","ref","prefixCls","role","className","data","cascaderDataProp","cascaderData","setCascaderDataProp","setCascaderData","value","defaultValue","disabled","expandTrigger","changeOnSelect","checkCascaded","searchable","flatted","upMatch","emptyContent","placeholder","onChange","onSelect","titleRender","onLoadChildren","rest","useCache","cascaderCacheData","setCascaderCacheData","flattedData","useMemo","flattenTreeData","useSearch","inSearch","matchedNodes","inputProps","isEmpty","renderTitleWithSearch","useCallback","option","title","searchValue","found","React","cx","getNodeAncestors","map","item","id","raw","key","index","matchStrategy","resultLength","length","beforeStr","substr","resultStr","afterStr","reverse","useState","inputElement","setInputElement","useEffect","timer","window","setTimeout","focus","clearTimeout","cls","Input","appearance","prefix","SearchOutlined","CheckCascaderMenus","onChangeData","__DEV__","displayName"],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- import React from 'react';
2
- import { CheckCascaderItem, ExpandTrigger, CheckCascaderItemEventData } from './types';
3
- /**
4
- * TODO: What is CheckCascaderPanel
5
- */
6
- export declare const CheckCascaderPanel: React.ForwardRefExoticComponent<CheckCascaderPanelProps & React.RefAttributes<HTMLDivElement | null>>;
7
- export interface CheckCascaderPanelProps {
8
- /**
9
- * 组件默认的选择器类
10
- */
11
- prefixCls?: string;
12
- /**
13
- * 组件的语义化 Role 属性
14
- */
15
- role?: string;
16
- /**
17
- * 组件的注入选择器类
18
- */
19
- className?: string;
20
- /**
21
- * 组件的注入样式
22
- */
23
- style?: React.CSSProperties;
24
- /**
25
- * 设置选择项数据源
26
- */
27
- data: CheckCascaderItem[];
28
- /**
29
- * 设置当前多选值
30
- */
31
- value?: React.ReactText[];
32
- /**
33
- * 设置当前多选值默认值
34
- */
35
- defaultValue?: React.ReactText[];
36
- /**
37
- * 多选值改变时的回调
38
- */
39
- onChange?: (values: React.ReactText[]) => void;
40
- /**
41
- * 选项被点击时的回调
42
- */
43
- onSelect?: (selectedId: React.ReactText, selectedOption: CheckCascaderItemEventData) => void;
44
- /**
45
- * 次级菜单的展开方式
46
- */
47
- expandTrigger?: ExpandTrigger;
48
- /**
49
- * 是否可搜索
50
- */
51
- searchable?: boolean;
52
- /**
53
- * 是否禁止使用
54
- */
55
- disabled?: boolean;
56
- /**
57
- * 设置选项为空时展示的内容
58
- */
59
- emptyContent?: React.ReactNode;
60
- /**
61
- * 是否启用选择即改变功能
62
- */
63
- changeOnSelect?: boolean;
64
- /**
65
- * 自定义渲染节点的 title 内容
66
- */
67
- titleRender?: (item: CheckCascaderItemEventData) => React.ReactNode;
68
- /**
69
- * 支持 checkbox 级联(正反选)功能
70
- */
71
- checkCascaded?: boolean;
72
- /**
73
- * 将 check 子项拍平展示
74
- */
75
- flatted?: boolean;
76
- /**
77
- * 开启全量搜索,默认只对开启 checkable 的选项进行搜索,不向上查找路径
78
- */
79
- upMatch?: boolean;
80
- /**
81
- * 搜索输入框占位符
82
- */
83
- placeholder?: string;
84
- /**
85
- * 异步请求更新数据
86
- */
87
- onLoadChildren?: (item: CheckCascaderItemEventData) => Promise<CheckCascaderItem[] | void> | void;
88
- }