tntd 2.6.0 → 2.6.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.
- package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
- package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +1 -1
- package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +1 -1
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ export default function useSearchConfig(showSearch) {
|
|
|
9
9
|
}
|
|
10
10
|
let searchConfig = {
|
|
11
11
|
matchInputWidth: true,
|
|
12
|
-
limit:
|
|
12
|
+
limit: false
|
|
13
13
|
};
|
|
14
14
|
if (showSearch && typeof showSearch === 'object') {
|
|
15
15
|
searchConfig = Object.assign(Object.assign({}, searchConfig), showSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAGzC,wCAAwC;AACxC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAGzC,wCAAwC;AACxC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,KAAK;SACb,CAAA;QAED,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,YAAY,mCACP,YAAY,GACZ,UAAU,CACd,CAAA;SACF;QAED,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,EAAE;YAC3B,OAAO,YAAY,CAAC,KAAK,CAAA;YAEzB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACzC,OAAO,CAAC,KAAK,EAAE,2DAA2D,CAAC,CAAA;aAC5E;SACF;QAED,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AAClB,CAAC","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport warning from 'rc-util/lib/warning'\nimport type { CascaderProps, ShowSearchType } from '../Cascader'\n\n// Convert `showSearch` to unique config\nexport default function useSearchConfig(showSearch?: CascaderProps['showSearch']) {\n return React.useMemo<[boolean, ShowSearchType]>(() => {\n if (!showSearch) {\n return [false, {}]\n }\n\n let searchConfig: ShowSearchType = {\n matchInputWidth: true,\n limit: false,\n }\n\n if (showSearch && typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n if (searchConfig.limit <= 0) {\n delete searchConfig.limit\n\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"'limit' of showSearch should be positive number or false.\")\n }\n }\n\n return [true, searchConfig]\n }, [showSearch])\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,6BAA6B,CAAA;AAExD,MAAM,aAAa,GAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAExF,MAAM,aAAa,GAA6B,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAC1F,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEtD,eAAe,CACb,MAAc,EACd,OAA4B,EAC5B,UAA8B,EAC9B,SAAiB,EACjB,MAAsB,EACtB,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { DefaultOptionType, ShowSearchType, InternalFieldNames } from '../Cascader'\nimport * as React from 'react'\n\nexport const SEARCH_MARK = '__rc_cascader_search_mark__'\n\nconst defaultFilter: ShowSearchType['filter'] = (search, options, { label }) =>\n options.some((opt) => String(opt[label]).toLowerCase().includes(search.toLowerCase()))\n\nconst defaultRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) =>\n path.map((opt) => opt[fieldNames.label]).join(' / ')\n\nexport default (\n search: string,\n options: DefaultOptionType[],\n fieldNames: InternalFieldNames,\n prefixCls: string,\n config: ShowSearchType,\n changeOnSelect: boolean\n) => {\n const { filter = defaultFilter, render = defaultRender, limit = false, sort } = config\n\n return React.useMemo(() => {\n const filteredOptions: DefaultOptionType[] = []\n if (!search) {\n return []\n }\n\n function dig(list: DefaultOptionType[], pathOptions: DefaultOptionType[]) {\n list.forEach((option) => {\n // Perf saving when `sort` is disabled and `limit` is provided\n if (!sort && limit > 0 && filteredOptions.length >= limit) {\n return\n }\n\n const connectedPathOptions = [...pathOptions, option]\n const children = option[fieldNames.children]\n\n // If current option is filterable\n if (\n // If is leaf option\n !children ||\n children.length === 0 ||\n // If is changeOnSelect\n changeOnSelect\n ) {\n if (filter(search, connectedPathOptions, { label: fieldNames.label })) {\n filteredOptions.push({\n ...option,\n [fieldNames.label as 'label']: render(\n search,\n connectedPathOptions,\n prefixCls,\n fieldNames\n ),\n [SEARCH_MARK]: connectedPathOptions,\n })\n }\n }\n\n if (children) {\n dig(option[fieldNames.children] as DefaultOptionType[], connectedPathOptions)\n }\n })\n }\n\n dig(options, [])\n\n // Do sort\n if (sort) {\n filteredOptions.sort((a, b) => {\n return sort(a[SEARCH_MARK], b[SEARCH_MARK], search, fieldNames)\n })\n }\n\n return limit > 0 ? filteredOptions.slice(0, limit as number) : filteredOptions\n }, [search, options, fieldNames, prefixCls, render, changeOnSelect, filter, sort, limit])\n}\n"]}
|
|
@@ -18,7 +18,7 @@ function useSearchConfig(showSearch) {
|
|
|
18
18
|
}
|
|
19
19
|
var searchConfig = {
|
|
20
20
|
matchInputWidth: true,
|
|
21
|
-
limit:
|
|
21
|
+
limit: false
|
|
22
22
|
};
|
|
23
23
|
if (showSearch && _typeof(showSearch) === 'object') {
|
|
24
24
|
searchConfig = Object.assign(Object.assign({}, searchConfig), showSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,6CAA8B;AAC9B,kEAAyC;AAGzC,wCAAwC;AACxC,SAAwB,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useSearchConfig.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,6CAA8B;AAC9B,kEAAyC;AAGzC,wCAAwC;AACxC,SAAwB,eAAe,CAAC,UAAwC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAA4B,GAAG,EAAE;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;SACnB;QAED,IAAI,YAAY,GAAmB;YACjC,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,KAAK;SACb,CAAA;QAED,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,YAAY,mCACP,YAAY,GACZ,UAAU,CACd,CAAA;SACF;QAED,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,EAAE;YAC3B,OAAO,YAAY,CAAC,KAAK,CAAA;YAEzB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACzC,IAAA,iBAAO,EAAC,KAAK,EAAE,2DAA2D,CAAC,CAAA;aAC5E;SACF;QAED,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AAClB,CAAC;AA5BD,kCA4BC","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport warning from 'rc-util/lib/warning'\nimport type { CascaderProps, ShowSearchType } from '../Cascader'\n\n// Convert `showSearch` to unique config\nexport default function useSearchConfig(showSearch?: CascaderProps['showSearch']) {\n return React.useMemo<[boolean, ShowSearchType]>(() => {\n if (!showSearch) {\n return [false, {}]\n }\n\n let searchConfig: ShowSearchType = {\n matchInputWidth: true,\n limit: false,\n }\n\n if (showSearch && typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n if (searchConfig.limit <= 0) {\n delete searchConfig.limit\n\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"'limit' of showSearch should be positive number or false.\")\n }\n }\n\n return [true, searchConfig]\n }, [showSearch])\n}\n"]}
|
|
@@ -36,7 +36,7 @@ var _default = function _default(search, options, fieldNames, prefixCls, config,
|
|
|
36
36
|
_config$render = config.render,
|
|
37
37
|
render = _config$render === void 0 ? defaultRender : _config$render,
|
|
38
38
|
_config$limit = config.limit,
|
|
39
|
-
limit = _config$limit === void 0 ?
|
|
39
|
+
limit = _config$limit === void 0 ? false : _config$limit,
|
|
40
40
|
sort = config.sort;
|
|
41
41
|
return React.useMemo(function () {
|
|
42
42
|
var filteredOptions = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,6CAA8B;AAEjB,QAAA,WAAW,GAAG,6BAA6B,CAAA;AAExD,MAAM,aAAa,GAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAExF,MAAM,aAAa,GAA6B,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAC1F,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEtD,kBAAe,CACb,MAAc,EACd,OAA4B,EAC5B,UAA8B,EAC9B,SAAiB,EACjB,MAAsB,EACtB,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"useSearchOptions.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/hooks/useSearchOptions.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { DefaultOptionType, ShowSearchType, InternalFieldNames } from '../Cascader'\nimport * as React from 'react'\n\nexport const SEARCH_MARK = '__rc_cascader_search_mark__'\n\nconst defaultFilter: ShowSearchType['filter'] = (search, options, { label }) =>\n options.some((opt) => String(opt[label]).toLowerCase().includes(search.toLowerCase()))\n\nconst defaultRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) =>\n path.map((opt) => opt[fieldNames.label]).join(' / ')\n\nexport default (\n search: string,\n options: DefaultOptionType[],\n fieldNames: InternalFieldNames,\n prefixCls: string,\n config: ShowSearchType,\n changeOnSelect: boolean\n) => {\n const { filter = defaultFilter, render = defaultRender, limit = false, sort } = config\n\n return React.useMemo(() => {\n const filteredOptions: DefaultOptionType[] = []\n if (!search) {\n return []\n }\n\n function dig(list: DefaultOptionType[], pathOptions: DefaultOptionType[]) {\n list.forEach((option) => {\n // Perf saving when `sort` is disabled and `limit` is provided\n if (!sort && limit > 0 && filteredOptions.length >= limit) {\n return\n }\n\n const connectedPathOptions = [...pathOptions, option]\n const children = option[fieldNames.children]\n\n // If current option is filterable\n if (\n // If is leaf option\n !children ||\n children.length === 0 ||\n // If is changeOnSelect\n changeOnSelect\n ) {\n if (filter(search, connectedPathOptions, { label: fieldNames.label })) {\n filteredOptions.push({\n ...option,\n [fieldNames.label as 'label']: render(\n search,\n connectedPathOptions,\n prefixCls,\n fieldNames\n ),\n [SEARCH_MARK]: connectedPathOptions,\n })\n }\n }\n\n if (children) {\n dig(option[fieldNames.children] as DefaultOptionType[], connectedPathOptions)\n }\n })\n }\n\n dig(options, [])\n\n // Do sort\n if (sort) {\n filteredOptions.sort((a, b) => {\n return sort(a[SEARCH_MARK], b[SEARCH_MARK], search, fieldNames)\n })\n }\n\n return limit > 0 ? filteredOptions.slice(0, limit as number) : filteredOptions\n }, [search, options, fieldNames, prefixCls, render, changeOnSelect, filter, sort, limit])\n}\n"]}
|