{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nexport var SEARCH_MARK = '__rc_cascader_search_mark__';\nvar defaultFilter = function defaultFilter(search, options, _ref) {\n  var label = _ref.label;\n  return options.some(function (opt) {\n    return String(opt[label]).toLowerCase().includes(search.toLowerCase());\n  });\n};\nvar defaultRender = function defaultRender(inputValue, path, prefixCls, fieldNames) {\n  return path.map(function (opt) {\n    return opt[fieldNames.label];\n  }).join(' / ');\n};\nexport default (function (search, options, fieldNames, prefixCls, config, changeOnSelect) {\n  var _config$filter = config.filter,\n    filter = _config$filter === void 0 ? defaultFilter : _config$filter,\n    _config$render = config.render,\n    render = _config$render === void 0 ? defaultRender : _config$render,\n    _config$limit = config.limit,\n    limit = _config$limit === void 0 ? 50 : _config$limit,\n    sort = config.sort;\n  return React.useMemo(function () {\n    var filteredOptions = [];\n    if (!search) {\n      return [];\n    }\n    function dig(list, pathOptions) {\n      var parentDisabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      list.forEach(function (option) {\n        // Perf saving when `sort` is disabled and `limit` is provided\n        if (!sort && limit !== false && limit > 0 && filteredOptions.length >= limit) {\n          return;\n        }\n        var connectedPathOptions = [].concat(_toConsumableArray(pathOptions), [option]);\n        var children = option[fieldNames.children];\n        var mergedDisabled = parentDisabled || option.disabled;\n\n        // If current option is filterable\n        if (\n        // If is leaf option\n        !children || children.length === 0 ||\n        // If is changeOnSelect\n        changeOnSelect) {\n          if (filter(search, connectedPathOptions, {\n            label: fieldNames.label\n          })) {\n            var _objectSpread2;\n            filteredOptions.push(_objectSpread(_objectSpread({}, option), {}, (_objectSpread2 = {\n              disabled: mergedDisabled\n            }, _defineProperty(_objectSpread2, fieldNames.label, render(search, connectedPathOptions, prefixCls, fieldNames)), _defineProperty(_objectSpread2, SEARCH_MARK, connectedPathOptions), _defineProperty(_objectSpread2, fieldNames.children, undefined), _objectSpread2)));\n          }\n        }\n        if (children) {\n          dig(option[fieldNames.children], connectedPathOptions, mergedDisabled);\n        }\n      });\n    }\n    dig(options, []);\n\n    // Do sort\n    if (sort) {\n      filteredOptions.sort(function (a, b) {\n        return sort(a[SEARCH_MARK], b[SEARCH_MARK], search, fieldNames);\n      });\n    }\n    return limit !== false && limit > 0 ? filteredOptions.slice(0, limit) : filteredOptions;\n  }, [search, options, fieldNames, prefixCls, render, changeOnSelect, filter, sort, limit]);\n});","map":{"version":3,"names":["_defineProperty","_objectSpread","_toConsumableArray","React","SEARCH_MARK","defaultFilter","search","options","_ref","label","some","opt","String","toLowerCase","includes","defaultRender","inputValue","path","prefixCls","fieldNames","map","join","config","changeOnSelect","_config$filter","filter","_config$render","render","_config$limit","limit","sort","useMemo","filteredOptions","dig","list","pathOptions","parentDisabled","arguments","length","undefined","forEach","option","connectedPathOptions","concat","children","mergedDisabled","disabled","_objectSpread2","push","a","b","slice"],"sources":["/var/www/gavt/node_modules/rc-cascader/es/hooks/useSearchOptions.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nexport var SEARCH_MARK = '__rc_cascader_search_mark__';\nvar defaultFilter = function defaultFilter(search, options, _ref) {\n  var label = _ref.label;\n  return options.some(function (opt) {\n    return String(opt[label]).toLowerCase().includes(search.toLowerCase());\n  });\n};\nvar defaultRender = function defaultRender(inputValue, path, prefixCls, fieldNames) {\n  return path.map(function (opt) {\n    return opt[fieldNames.label];\n  }).join(' / ');\n};\nexport default (function (search, options, fieldNames, prefixCls, config, changeOnSelect) {\n  var _config$filter = config.filter,\n    filter = _config$filter === void 0 ? defaultFilter : _config$filter,\n    _config$render = config.render,\n    render = _config$render === void 0 ? defaultRender : _config$render,\n    _config$limit = config.limit,\n    limit = _config$limit === void 0 ? 50 : _config$limit,\n    sort = config.sort;\n  return React.useMemo(function () {\n    var filteredOptions = [];\n    if (!search) {\n      return [];\n    }\n    function dig(list, pathOptions) {\n      var parentDisabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      list.forEach(function (option) {\n        // Perf saving when `sort` is disabled and `limit` is provided\n        if (!sort && limit !== false && limit > 0 && filteredOptions.length >= limit) {\n          return;\n        }\n        var connectedPathOptions = [].concat(_toConsumableArray(pathOptions), [option]);\n        var children = option[fieldNames.children];\n        var mergedDisabled = parentDisabled || option.disabled;\n\n        // If current option is filterable\n        if (\n        // If is leaf option\n        !children || children.length === 0 ||\n        // If is changeOnSelect\n        changeOnSelect) {\n          if (filter(search, connectedPathOptions, {\n            label: fieldNames.label\n          })) {\n            var _objectSpread2;\n            filteredOptions.push(_objectSpread(_objectSpread({}, option), {}, (_objectSpread2 = {\n              disabled: mergedDisabled\n            }, _defineProperty(_objectSpread2, fieldNames.label, render(search, connectedPathOptions, prefixCls, fieldNames)), _defineProperty(_objectSpread2, SEARCH_MARK, connectedPathOptions), _defineProperty(_objectSpread2, fieldNames.children, undefined), _objectSpread2)));\n          }\n        }\n        if (children) {\n          dig(option[fieldNames.children], connectedPathOptions, mergedDisabled);\n        }\n      });\n    }\n    dig(options, []);\n\n    // Do sort\n    if (sort) {\n      filteredOptions.sort(function (a, b) {\n        return sort(a[SEARCH_MARK], b[SEARCH_MARK], search, fieldNames);\n      });\n    }\n    return limit !== false && limit > 0 ? filteredOptions.slice(0, limit) : filteredOptions;\n  }, [search, options, fieldNames, prefixCls, render, changeOnSelect, filter, sort, limit]);\n});"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}