{"ast":null,"code":"\"use client\";\n\nimport React, { useMemo, useRef, useState } from 'react';\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { groupKeysMap } from '../_util/transKeys';\nimport Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport DefaultListBody, { OmitProps } from './ListBody';\nimport Search from './search';\nconst defaultRender = () => null;\nfunction isRenderResultPlainObject(result) {\n  return !!(result && ! /*#__PURE__*/React.isValidElement(result) && Object.prototype.toString.call(result) === '[object Object]');\n}\nfunction getEnabledItemKeys(items) {\n  return items.filter(data => !data.disabled).map(data => data.key);\n}\nconst isValidIcon = icon => icon !== undefined;\nconst TransferList = props => {\n  const {\n    prefixCls,\n    dataSource = [],\n    titleText = '',\n    checkedKeys,\n    disabled,\n    showSearch = false,\n    style,\n    searchPlaceholder,\n    notFoundContent,\n    selectAll,\n    selectCurrent,\n    selectInvert,\n    removeAll,\n    removeCurrent,\n    showSelectAll = true,\n    showRemove,\n    pagination,\n    direction,\n    itemsUnit,\n    itemUnit,\n    selectAllLabel,\n    selectionsIcon,\n    footer,\n    renderList,\n    onItemSelectAll,\n    onItemRemove,\n    handleFilter,\n    handleClear,\n    filterOption,\n    render = defaultRender\n  } = props;\n  const [filterValue, setFilterValue] = useState('');\n  const listBodyRef = useRef({});\n  const internalHandleFilter = e => {\n    setFilterValue(e.target.value);\n    handleFilter(e);\n  };\n  const internalHandleClear = () => {\n    setFilterValue('');\n    handleClear();\n  };\n  const matchFilter = (text, item) => {\n    if (filterOption) {\n      return filterOption(filterValue, item, direction);\n    }\n    return text.includes(filterValue);\n  };\n  const renderListBody = listProps => {\n    let bodyContent = renderList ? renderList(Object.assign(Object.assign({}, listProps), {\n      onItemSelect: (key, check) => listProps.onItemSelect(key, check)\n    })) : null;\n    const customize = !!bodyContent;\n    if (!customize) {\n      // @ts-ignore\n      bodyContent = /*#__PURE__*/React.createElement(DefaultListBody, Object.assign({\n        ref: listBodyRef\n      }, listProps));\n    }\n    return {\n      customize,\n      bodyContent\n    };\n  };\n  const renderItem = item => {\n    const renderResult = render(item);\n    const isRenderResultPlain = isRenderResultPlainObject(renderResult);\n    return {\n      item,\n      renderedEl: isRenderResultPlain ? renderResult.label : renderResult,\n      renderedText: isRenderResultPlain ? renderResult.value : renderResult\n    };\n  };\n  const notFoundContentEle = useMemo(() => Array.isArray(notFoundContent) ? notFoundContent[direction === 'left' ? 0 : 1] : notFoundContent, [notFoundContent, direction]);\n  const [filteredItems, filteredRenderItems] = useMemo(() => {\n    const filterItems = [];\n    const filterRenderItems = [];\n    dataSource.forEach(item => {\n      const renderedItem = renderItem(item);\n      if (filterValue && !matchFilter(renderedItem.renderedText, item)) {\n        return;\n      }\n      filterItems.push(item);\n      filterRenderItems.push(renderedItem);\n    });\n    return [filterItems, filterRenderItems];\n  }, [dataSource, filterValue]);\n  const checkStatus = useMemo(() => {\n    if (checkedKeys.length === 0) {\n      return 'none';\n    }\n    const checkedKeysMap = groupKeysMap(checkedKeys);\n    if (filteredItems.every(item => checkedKeysMap.has(item.key) || !!item.disabled)) {\n      return 'all';\n    }\n    return 'part';\n  }, [checkedKeys, filteredItems]);\n  const listBody = useMemo(() => {\n    const search = showSearch ? ( /*#__PURE__*/React.createElement(\"div\", {\n      className: `${prefixCls}-body-search-wrapper`\n    }, /*#__PURE__*/React.createElement(Search, {\n      prefixCls: `${prefixCls}-search`,\n      onChange: internalHandleFilter,\n      handleClear: internalHandleClear,\n      placeholder: searchPlaceholder,\n      value: filterValue,\n      disabled: disabled\n    }))) : null;\n    const {\n      customize,\n      bodyContent\n    } = renderListBody(Object.assign(Object.assign({}, omit(props, OmitProps)), {\n      filteredItems,\n      filteredRenderItems,\n      selectedKeys: checkedKeys\n    }));\n    let bodyNode;\n    // We should wrap customize list body in a classNamed div to use flex layout.\n    if (customize) {\n      bodyNode = /*#__PURE__*/React.createElement(\"div\", {\n        className: `${prefixCls}-body-customize-wrapper`\n      }, bodyContent);\n    } else {\n      bodyNode = filteredItems.length ? bodyContent : ( /*#__PURE__*/React.createElement(\"div\", {\n        className: `${prefixCls}-body-not-found`\n      }, notFoundContentEle));\n    }\n    return /*#__PURE__*/React.createElement(\"div\", {\n      className: classNames(showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`)\n    }, search, bodyNode);\n  }, [showSearch, prefixCls, searchPlaceholder, filterValue, disabled, checkedKeys, filteredItems, filteredRenderItems, notFoundContentEle]);\n  const checkBox = /*#__PURE__*/React.createElement(Checkbox, {\n    disabled: dataSource.length === 0 || disabled,\n    checked: checkStatus === 'all',\n    indeterminate: checkStatus === 'part',\n    className: `${prefixCls}-checkbox`,\n    onChange: () => {\n      // Only select enabled items\n      onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(filteredItems.filter(item => !item.disabled).map(_ref => {\n        let {\n          key\n        } = _ref;\n        return key;\n      }), checkStatus !== 'all');\n    }\n  });\n  const getSelectAllLabel = (selectedCount, totalCount) => {\n    if (selectAllLabel) {\n      return typeof selectAllLabel === 'function' ? selectAllLabel({\n        selectedCount,\n        totalCount\n      }) : selectAllLabel;\n    }\n    const unit = totalCount > 1 ? itemsUnit : itemUnit;\n    return /*#__PURE__*/React.createElement(React.Fragment, null, (selectedCount > 0 ? `${selectedCount}/` : '') + totalCount, \" \", unit);\n  };\n  // Custom Layout\n  const footerDom = footer && (footer.length < 2 ? footer(props) : footer(props, {\n    direction\n  }));\n  const listCls = classNames(prefixCls, {\n    [`${prefixCls}-with-pagination`]: !!pagination,\n    [`${prefixCls}-with-footer`]: !!footerDom\n  });\n  // ====================== Get filtered, checked item list ======================\n  const listFooter = footerDom ? /*#__PURE__*/React.createElement(\"div\", {\n    className: `${prefixCls}-footer`\n  }, footerDom) : null;\n  const checkAllCheckbox = !showRemove && !pagination && checkBox;\n  let items;\n  if (showRemove) {\n    items = [/* Remove Current Page */\n    pagination ? {\n      key: 'removeCurrent',\n      label: removeCurrent,\n      onClick() {\n        var _a;\n        const pageKeys = getEnabledItemKeys((((_a = listBodyRef.current) === null || _a === void 0 ? void 0 : _a.items) || []).map(entity => entity.item));\n        onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(pageKeys);\n      }\n    } : null, /* Remove All */\n    {\n      key: 'removeAll',\n      label: removeAll,\n      onClick() {\n        onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(getEnabledItemKeys(filteredItems));\n      }\n    }].filter(Boolean);\n  } else {\n    items = [{\n      key: 'selectAll',\n      label: selectAll,\n      onClick() {\n        const keys = getEnabledItemKeys(filteredItems);\n        onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(keys, keys.length !== checkedKeys.length);\n      }\n    }, pagination ? {\n      key: 'selectCurrent',\n      label: selectCurrent,\n      onClick() {\n        var _a;\n        const pageItems = ((_a = listBodyRef.current) === null || _a === void 0 ? void 0 : _a.items) || [];\n        onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(getEnabledItemKeys(pageItems.map(entity => entity.item)), true);\n      }\n    } : null, {\n      key: 'selectInvert',\n      label: selectInvert,\n      onClick() {\n        var _a;\n        const availablePageItemKeys = getEnabledItemKeys((((_a = listBodyRef.current) === null || _a === void 0 ? void 0 : _a.items) || []).map(entity => entity.item));\n        const checkedKeySet = new Set(checkedKeys);\n        const newCheckedKeysSet = new Set(checkedKeySet);\n        availablePageItemKeys.forEach(key => {\n          if (checkedKeySet.has(key)) {\n            newCheckedKeysSet.delete(key);\n          } else {\n            newCheckedKeysSet.add(key);\n          }\n        });\n        onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(Array.from(newCheckedKeysSet), 'replace');\n      }\n    }];\n  }\n  const dropdown = /*#__PURE__*/React.createElement(Dropdown, {\n    className: `${prefixCls}-header-dropdown`,\n    menu: {\n      items\n    },\n    disabled: disabled\n  }, isValidIcon(selectionsIcon) ? selectionsIcon : /*#__PURE__*/React.createElement(DownOutlined, null));\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: listCls,\n    style: style\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: `${prefixCls}-header`\n  }, showSelectAll ? ( /*#__PURE__*/React.createElement(React.Fragment, null, checkAllCheckbox, dropdown)) : null, /*#__PURE__*/React.createElement(\"span\", {\n    className: `${prefixCls}-header-selected`\n  }, getSelectAllLabel(checkedKeys.length, filteredItems.length)), /*#__PURE__*/React.createElement(\"span\", {\n    className: `${prefixCls}-header-title`\n  }, titleText)), listBody, listFooter);\n};\nif (process.env.NODE_ENV !== 'production') {\n  TransferList.displayName = 'TransferList';\n}\nexport default TransferList;","map":{"version":3,"names":["React","useMemo","useRef","useState","DownOutlined","classNames","omit","groupKeysMap","Checkbox","Dropdown","DefaultListBody","OmitProps","Search","defaultRender","isRenderResultPlainObject","result","isValidElement","Object","prototype","toString","call","getEnabledItemKeys","items","filter","data","disabled","map","key","isValidIcon","icon","undefined","TransferList","props","prefixCls","dataSource","titleText","checkedKeys","showSearch","style","searchPlaceholder","notFoundContent","selectAll","selectCurrent","selectInvert","removeAll","removeCurrent","showSelectAll","showRemove","pagination","direction","itemsUnit","itemUnit","selectAllLabel","selectionsIcon","footer","renderList","onItemSelectAll","onItemRemove","handleFilter","handleClear","filterOption","render","filterValue","setFilterValue","listBodyRef","internalHandleFilter","e","target","value","internalHandleClear","matchFilter","text","item","includes","renderListBody","listProps","bodyContent","assign","onItemSelect","check","customize","createElement","ref","renderItem","renderResult","isRenderResultPlain","renderedEl","label","renderedText","notFoundContentEle","Array","isArray","filteredItems","filteredRenderItems","filterItems","filterRenderItems","forEach","renderedItem","push","checkStatus","length","checkedKeysMap","every","has","listBody","search","className","onChange","placeholder","selectedKeys","bodyNode","checkBox","checked","indeterminate","_ref","getSelectAllLabel","selectedCount","totalCount","unit","Fragment","footerDom","listCls","listFooter","checkAllCheckbox","onClick","_a","pageKeys","current","entity","Boolean","keys","pageItems","availablePageItemKeys","checkedKeySet","Set","newCheckedKeysSet","delete","add","from","dropdown","menu","process","env","NODE_ENV","displayName"],"sources":["/var/www/gavt/react-demo/node_modules/antd/es/transfer/list.js"],"sourcesContent":["\"use client\";\n\nimport React, { useMemo, useRef, useState } from 'react';\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { groupKeysMap } from '../_util/transKeys';\nimport Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport DefaultListBody, { OmitProps } from './ListBody';\nimport Search from './search';\nconst defaultRender = () => null;\nfunction isRenderResultPlainObject(result) {\n  return !!(result && ! /*#__PURE__*/React.isValidElement(result) && Object.prototype.toString.call(result) === '[object Object]');\n}\nfunction getEnabledItemKeys(items) {\n  return items.filter(data => !data.disabled).map(data => data.key);\n}\nconst isValidIcon = icon => icon !== undefined;\nconst TransferList = props => {\n  const {\n    prefixCls,\n    dataSource = [],\n    titleText = '',\n    checkedKeys,\n    disabled,\n    showSearch = false,\n    style,\n    searchPlaceholder,\n    notFoundContent,\n    selectAll,\n    selectCurrent,\n    selectInvert,\n    removeAll,\n    removeCurrent,\n    showSelectAll = true,\n    showRemove,\n    pagination,\n    direction,\n    itemsUnit,\n    itemUnit,\n    selectAllLabel,\n    selectionsIcon,\n    footer,\n    renderList,\n    onItemSelectAll,\n    onItemRemove,\n    handleFilter,\n    handleClear,\n    filterOption,\n    render = defaultRender\n  } = props;\n  const [filterValue, setFilterValue] = useState('');\n  const listBodyRef = useRef({});\n  const internalHandleFilter = e => {\n    setFilterValue(e.target.value);\n    handleFilter(e);\n  };\n  const internalHandleClear = () => {\n    setFilterValue('');\n    handleClear();\n  };\n  const matchFilter = (text, item) => {\n    if (filterOption) {\n      return filterOption(filterValue, item, direction);\n    }\n    return text.includes(filterValue);\n  };\n  const renderListBody = listProps => {\n    let bodyContent = renderList ? renderList(Object.assign(Object.assign({}, listProps), {\n      onItemSelect: (key, check) => listProps.onItemSelect(key, check)\n    })) : null;\n    const customize = !!bodyContent;\n    if (!customize) {\n      // @ts-ignore\n      bodyContent = /*#__PURE__*/React.createElement(DefaultListBody, Object.assign({\n        ref: listBodyRef\n      }, listProps));\n    }\n    return {\n      customize,\n      bodyContent\n    };\n  };\n  const renderItem = item => {\n    const renderResult = render(item);\n    const isRenderResultPlain = isRenderResultPlainObject(renderResult);\n    return {\n      item,\n      renderedEl: isRenderResultPlain ? renderResult.label : renderResult,\n      renderedText: isRenderResultPlain ? renderResult.value : renderResult\n    };\n  };\n  const notFoundContentEle = useMemo(() => Array.isArray(notFoundContent) ? notFoundContent[direction === 'left' ? 0 : 1] : notFoundContent, [notFoundContent, direction]);\n  const [filteredItems, filteredRenderItems] = useMemo(() => {\n    const filterItems = [];\n    const filterRenderItems = [];\n    dataSource.forEach(item => {\n      const renderedItem = renderItem(item);\n      if (filterValue && !matchFilter(renderedItem.renderedText, item)) {\n        return;\n      }\n      filterItems.push(item);\n      filterRenderItems.push(renderedItem);\n    });\n    return [filterItems, filterRenderItems];\n  }, [dataSource, filterValue]);\n  const checkStatus = useMemo(() => {\n    if (checkedKeys.length === 0) {\n      return 'none';\n    }\n    const checkedKeysMap = groupKeysMap(checkedKeys);\n    if (filteredItems.every(item => checkedKeysMap.has(item.key) || !!item.disabled)) {\n      return 'all';\n    }\n    return 'part';\n  }, [checkedKeys, filteredItems]);\n  const listBody = useMemo(() => {\n    const search = showSearch ? ( /*#__PURE__*/React.createElement(\"div\", {\n      className: `${prefixCls}-body-search-wrapper`\n    }, /*#__PURE__*/React.createElement(Search, {\n      prefixCls: `${prefixCls}-search`,\n      onChange: internalHandleFilter,\n      handleClear: internalHandleClear,\n      placeholder: searchPlaceholder,\n      value: filterValue,\n      disabled: disabled\n    }))) : null;\n    const {\n      customize,\n      bodyContent\n    } = renderListBody(Object.assign(Object.assign({}, omit(props, OmitProps)), {\n      filteredItems,\n      filteredRenderItems,\n      selectedKeys: checkedKeys\n    }));\n    let bodyNode;\n    // We should wrap customize list body in a classNamed div to use flex layout.\n    if (customize) {\n      bodyNode = /*#__PURE__*/React.createElement(\"div\", {\n        className: `${prefixCls}-body-customize-wrapper`\n      }, bodyContent);\n    } else {\n      bodyNode = filteredItems.length ? bodyContent : ( /*#__PURE__*/React.createElement(\"div\", {\n        className: `${prefixCls}-body-not-found`\n      }, notFoundContentEle));\n    }\n    return /*#__PURE__*/React.createElement(\"div\", {\n      className: classNames(showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`)\n    }, search, bodyNode);\n  }, [showSearch, prefixCls, searchPlaceholder, filterValue, disabled, checkedKeys, filteredItems, filteredRenderItems, notFoundContentEle]);\n  const checkBox = /*#__PURE__*/React.createElement(Checkbox, {\n    disabled: dataSource.length === 0 || disabled,\n    checked: checkStatus === 'all',\n    indeterminate: checkStatus === 'part',\n    className: `${prefixCls}-checkbox`,\n    onChange: () => {\n      // Only select enabled items\n      onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(filteredItems.filter(item => !item.disabled).map(_ref => {\n        let {\n          key\n        } = _ref;\n        return key;\n      }), checkStatus !== 'all');\n    }\n  });\n  const getSelectAllLabel = (selectedCount, totalCount) => {\n    if (selectAllLabel) {\n      return typeof selectAllLabel === 'function' ? selectAllLabel({\n        selectedCount,\n        totalCount\n      }) : selectAllLabel;\n    }\n    const unit = totalCount > 1 ? itemsUnit : itemUnit;\n    return /*#__PURE__*/React.createElement(React.Fragment, null, (selectedCount > 0 ? `${selectedCount}/` : '') + totalCount, \" \", unit);\n  };\n  // Custom Layout\n  const footerDom = footer && (footer.length < 2 ? footer(props) : footer(props, {\n    direction\n  }));\n  const listCls = classNames(prefixCls, {\n    [`${prefixCls}-with-pagination`]: !!pagination,\n    [`${prefixCls}-with-footer`]: !!footerDom\n  });\n  // ====================== Get filtered, checked item list ======================\n  const listFooter = footerDom ? /*#__PURE__*/React.createElement(\"div\", {\n    className: `${prefixCls}-footer`\n  }, footerDom) : null;\n  const checkAllCheckbox = !showRemove && !pagination && checkBox;\n  let items;\n  if (showRemove) {\n    items = [/* Remove Current Page */\n    pagination ? {\n      key: 'removeCurrent',\n      label: removeCurrent,\n      onClick() {\n        var _a;\n        const pageKeys = getEnabledItemKeys((((_a = listBodyRef.current) === null || _a === void 0 ? void 0 : _a.items) || []).map(entity => entity.item));\n        onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(pageKeys);\n      }\n    } : null, /* Remove All */\n    {\n      key: 'removeAll',\n      label: removeAll,\n      onClick() {\n        onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(getEnabledItemKeys(filteredItems));\n      }\n    }].filter(Boolean);\n  } else {\n    items = [{\n      key: 'selectAll',\n      label: selectAll,\n      onClick() {\n        const keys = getEnabledItemKeys(filteredItems);\n        onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(keys, keys.length !== checkedKeys.length);\n      }\n    }, pagination ? {\n      key: 'selectCurrent',\n      label: selectCurrent,\n      onClick() {\n        var _a;\n        const pageItems = ((_a = listBodyRef.current) === null || _a === void 0 ? void 0 : _a.items) || [];\n        onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(getEnabledItemKeys(pageItems.map(entity => entity.item)), true);\n      }\n    } : null, {\n      key: 'selectInvert',\n      label: selectInvert,\n      onClick() {\n        var _a;\n        const availablePageItemKeys = getEnabledItemKeys((((_a = listBodyRef.current) === null || _a === void 0 ? void 0 : _a.items) || []).map(entity => entity.item));\n        const checkedKeySet = new Set(checkedKeys);\n        const newCheckedKeysSet = new Set(checkedKeySet);\n        availablePageItemKeys.forEach(key => {\n          if (checkedKeySet.has(key)) {\n            newCheckedKeysSet.delete(key);\n          } else {\n            newCheckedKeysSet.add(key);\n          }\n        });\n        onItemSelectAll === null || onItemSelectAll === void 0 ? void 0 : onItemSelectAll(Array.from(newCheckedKeysSet), 'replace');\n      }\n    }];\n  }\n  const dropdown = /*#__PURE__*/React.createElement(Dropdown, {\n    className: `${prefixCls}-header-dropdown`,\n    menu: {\n      items\n    },\n    disabled: disabled\n  }, isValidIcon(selectionsIcon) ? selectionsIcon : /*#__PURE__*/React.createElement(DownOutlined, null));\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: listCls,\n    style: style\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: `${prefixCls}-header`\n  }, showSelectAll ? ( /*#__PURE__*/React.createElement(React.Fragment, null, checkAllCheckbox, dropdown)) : null, /*#__PURE__*/React.createElement(\"span\", {\n    className: `${prefixCls}-header-selected`\n  }, getSelectAllLabel(checkedKeys.length, filteredItems.length)), /*#__PURE__*/React.createElement(\"span\", {\n    className: `${prefixCls}-header-title`\n  }, titleText)), listBody, listFooter);\n};\nif (process.env.NODE_ENV !== 'production') {\n  TransferList.displayName = 'TransferList';\n}\nexport default TransferList;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}