tntd 2.8.51 → 2.8.52

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.
@@ -10,7 +10,6 @@ var _prevLocale = require("../prev-locale");
10
10
  var _rcVirtualList = _interopRequireDefault(require("rc-virtual-list"));
11
11
  var _tntdRcSelect = _interopRequireDefault(require("../tntd-rc-select"));
12
12
  var _icon = _interopRequireDefault(require("../icon"));
13
- require("../select");
14
13
  var _tag = _interopRequireDefault(require("../tag"));
15
14
  var _checkbox = _interopRequireDefault(require("../checkbox"));
16
15
  var _empty = _interopRequireDefault(require("../empty"));
@@ -42,7 +41,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
42
41
  * @Author: 郑泳健
43
42
  * @Date: 2025-08-05 10:50:17
44
43
  * @LastEditors: 郑泳健
45
- * @LastEditTime: 2025-08-12 13:46:11
44
+ * @LastEditTime: 2025-08-12 14:28:38
46
45
  */
47
46
 
48
47
  var all = (0, _prevLocale.getText)('all', (0, _prevLocale.getLanguage)());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: antd3 select 增加checkbox\n * @Author: 郑泳健\n * @Date: 2025-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2025-08-12 13:46:11\n */\nimport React, { useState, useMemo } from 'react';\nimport { getLanguage, getText } from '../prev-locale';\nimport List from 'rc-virtual-list';\nimport Select from '../tntd-rc-select';\nimport Icon from '../icon';\nimport AntSelect from '../select';\nimport Tag from '../tag';\nimport Checkbox from '../checkbox';\nimport Empty from '../empty';\nimport Ellipsis from '../ellipsis';\nimport './index.less';\n\nconst all = getText('all', getLanguage());\n\nconst TntdCheckboxSelect = ({\n mode,\n value,\n onChange,\n options,\n filterOption = (inputValue, option) => {\n return option?.label?.toLowerCase().includes(inputValue?.toLowerCase());\n },\n ...restProps\n}) => {\n // 搜索\n const [searchValue, setSearchValue] = useState(undefined);\n\n /** 根据搜索过滤,dropDown的渲染数据 */\n const renderData = useMemo(() => {\n if (!Array.isArray(options)) {\n return [];\n }\n if (['', undefined, null].includes(searchValue)) {\n return options;\n }\n return options.filter((item) => filterOption(searchValue, item));\n }, [options, filterOption, searchValue]);\n\n /** 全选中 */\n const checkedAll = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n }\n // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n return filterDisabled.every((i) => value.includes(i.value));\n }, [value, renderData]);\n\n /** 半选中 */\n const indeterminate = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n } // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n /** 非disable既有选中的,也有没选中的 */\n return filterDisabled.some((i) => value.includes(i.value)) && filterDisabled.some((i) => !value.includes(i.value));\n }, [value, renderData]);\n\n const handleSearch = (val) => {\n setSearchValue(val);\n };\n\n /** 全选情况 */\n const handleAllClick = (item, checked) => {\n // 筛选出非disabled的数组\n const noDisabledChoosedList = Array.isArray(renderData)\n ? renderData.reduce((total, item) => {\n if (!item.disabled) {\n total.push(item.value);\n }\n return total;\n }, [])\n : [];\n\n if (checked) {\n // 这里加value的原因是有可能是搜索的时候点击了全选\n const list = Array.isArray(value) ? Array.from(new Set([...value, ...noDisabledChoosedList])) : [...noDisabledChoosedList];\n onChange(list);\n } else {\n const list = Array.isArray(value) ? value.filter((i) => !noDisabledChoosedList.includes(i)) : [];\n onChange(list);\n }\n setSearchValue(undefined);\n };\n\n const handleClick = (item, checked) => {\n if (!Array.isArray(value)) {\n value = [];\n }\n if (checked) {\n onChange([...value, item.value]);\n } else {\n onChange(value.filter((v) => v !== item.value));\n }\n setSearchValue(undefined);\n };\n\n const handleStopPropagation = (e) => {\n e?.nativeEvent?.stopImmediatePropagation();\n e?.stopPropagation();\n e?.preventDefault();\n };\n\n return (\n <Select\n showSearch\n searchValue={searchValue}\n onSearch={handleSearch}\n tagRender={(item) => {\n const { onClose, value } = item;\n const { label, disabled } = Array.isArray(options) ? options.find((opt) => opt.value === value) || {} : {};\n return (\n <Tag size=\"small\" className=\"tntd-checkbox-select-item-tag\">\n <div className='tntd-checkbox-select-item-tag-label'>\n <Ellipsis title={label} widthLimit={\"100%\"} />\n </div>\n {!disabled ? <Icon type=\"close\" onClick={onClose} /> : ''}\n </Tag>\n );\n }}\n value={value}\n onChange={onChange}\n {...restProps}\n mode={mode || 'multiple'}\n dropdownRender={() => {\n if (!Array.isArray(renderData) || !renderData?.length) {\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\">\n <Empty className=\"tntd-rc-select-item-empty\" size=\"mini\" />\n </div>\n );\n }\n const renderList = [{ label: all, value: 'all', isAll: true }, ...renderData];\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\" onClick={(e) => handleStopPropagation(e)}>\n <List height={renderData.length > 8 ? 250 : 'auto'} itemHeight={32} data={renderList} itemKey={'value'}>\n {(item) => {\n const { isAll, disabled } = item;\n // 是否全部disabled\n const allDisabled = renderData.filter((i) => i.disabled).length === renderData.length;\n const checked = Array.isArray(value) ? value.includes(item.value) : false;\n\n if (isAll) {\n return (\n <div\n className={`tntd-checkbox-select-item ${checkedAll ? 'tntd-checkbox-select-item_choosed' : ''} ${\n allDisabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!allDisabled) {\n handleAllClick(item, !checkedAll);\n }\n }}>\n <Checkbox\n disabled={allDisabled}\n size=\"small\"\n indeterminate={indeterminate}\n checked={checkedAll}\n onChange={(e) => {\n handleStopPropagation(e);\n }}\n />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`tntd-checkbox-select-item ${checked ? 'tntd-checkbox-select-item_choosed' : ''} ${\n disabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!disabled) {\n handleClick(item, !checked);\n }\n }}>\n <Checkbox disabled={disabled} size=\"small\" checked={checked} onChange={(e) => handleStopPropagation(e)} />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }}\n </List>\n </div>\n );\n }}\n />\n );\n};\n\nexport default TntdCheckboxSelect;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,cAAc,CAAC;AAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAE1C,MAAM,kBAAkB,GAAG,CAAC,EAS3B,EAAE,EAAE;QATuB,EAC1B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;;QACpC,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,WAAW,GAAG,QAAQ,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC,OAEF,EADI,SAAS,cARc,wDAS3B,CADa;IAEZ,KAAK;IACL,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE1D,2BAA2B;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC/C,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzC,UAAU;IACV,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClD,OAAO,KAAK,CAAC;SACd;QACD,mBAAmB;QACnB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,UAAU;IACV,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClD,OAAO,KAAK,CAAC;SACd,CAAC,mBAAmB;QACrB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,2BAA2B;QAC3B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACrH,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,WAAW;IACX,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACvC,kBAAkB;QAClB,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxB;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EAAE,EAAE,CAAC;YACR,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,OAAO,EAAE;YACX,6BAA6B;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;YAC3H,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChB;aAAM;YACL,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChB;QACD,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,GAAG,EAAE,CAAC;SACZ;QACD,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAClC;aAAM;YACL,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACjD;QACD,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,EAAE;;QAClC,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,0CAAE,wBAAwB,EAAE,CAAC;QAC3C,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,eAAe,EAAE,CAAC;QACrB,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,MAAM,kBACL,UAAU,QACV,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAChC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,OAAO,CACL,oBAAC,GAAG,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,+BAA+B;gBACzD,6BAAK,SAAS,EAAC,qCAAqC;oBAClD,oBAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAI,CAC1C;gBACL,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,EAAE,CACrD,CACP,CAAC;QACJ,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IACd,SAAS,IACb,IAAI,EAAE,IAAI,IAAI,UAAU,EACxB,cAAc,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE;gBACrD,OAAO,CACL,6BAAK,SAAS,EAAC,8CAA8C;oBAC3D,oBAAC,KAAK,IAAC,SAAS,EAAC,2BAA2B,EAAC,IAAI,EAAC,MAAM,GAAG,CACvD,CACP,CAAC;aACH;YACD,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;YAC9E,OAAO,CACL,6BAAK,SAAS,EAAC,8CAA8C,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBACpG,oBAAC,IAAI,IAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,IACnG,CAAC,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;oBACjC,eAAe;oBACf,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC;oBACtF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAE1E,IAAI,KAAK,EAAE;wBACT,OAAO,CACL,6BACE,SAAS,EAAE,6BAA6B,UAAU,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE,IAC3F,WAAW,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EACvD,EAAE,EACF,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;gCACjB,qBAAqB,CAAC,CAAC,CAAC,CAAC;4BAC3B,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,CAAC,WAAW,EAAE;oCAChB,cAAc,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;iCACnC;4BACH,CAAC;4BACD,oBAAC,QAAQ,IACP,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAC,OAAO,EACZ,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,qBAAqB,CAAC,CAAC,CAAC,CAAC;gCAC3B,CAAC,GACD;4BACF,6BAAK,SAAS,EAAC,8BAA8B;gCAC3C,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAC,MAAM,GAAG,CAC7C,CACF,CACP,CAAC;qBACH;oBAED,OAAO,CACL,6BACE,SAAS,EAAE,6BAA6B,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE,IACxF,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EACpD,EAAE,EACF,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;4BACjB,qBAAqB,CAAC,CAAC,CAAC,CAAC;wBAC3B,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,CAAC,QAAQ,EAAE;gCACb,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;6BAC7B;wBACH,CAAC;wBACD,oBAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAI;wBAC1G,6BAAK,SAAS,EAAC,8BAA8B;4BAC3C,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAC,MAAM,GAAG,CAC7C,CACF,CACP,CAAC;gBACJ,CAAC,CACI,CACH,CACP,CAAC;QACJ,CAAC,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["/*\n * @Descripttion: antd3 select 增加checkbox\n * @Author: 郑泳健\n * @Date: 2025-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2025-08-12 14:28:38\n */\nimport React, { useState, useMemo } from 'react';\nimport { getLanguage, getText } from '../prev-locale';\nimport List from 'rc-virtual-list';\nimport Select from '../tntd-rc-select';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport Checkbox from '../checkbox';\nimport Empty from '../empty';\nimport Ellipsis from '../ellipsis';\nimport './index.less';\n\nconst all = getText('all', getLanguage());\n\nconst TntdCheckboxSelect = ({\n mode,\n value,\n onChange,\n options,\n filterOption = (inputValue, option) => {\n return option?.label?.toLowerCase().includes(inputValue?.toLowerCase());\n },\n ...restProps\n}) => {\n // 搜索\n const [searchValue, setSearchValue] = useState(undefined);\n\n /** 根据搜索过滤,dropDown的渲染数据 */\n const renderData = useMemo(() => {\n if (!Array.isArray(options)) {\n return [];\n }\n if (['', undefined, null].includes(searchValue)) {\n return options;\n }\n return options.filter((item) => filterOption(searchValue, item));\n }, [options, filterOption, searchValue]);\n\n /** 全选中 */\n const checkedAll = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n }\n // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n return filterDisabled.every((i) => value.includes(i.value));\n }, [value, renderData]);\n\n /** 半选中 */\n const indeterminate = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n } // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n /** 非disable既有选中的,也有没选中的 */\n return filterDisabled.some((i) => value.includes(i.value)) && filterDisabled.some((i) => !value.includes(i.value));\n }, [value, renderData]);\n\n const handleSearch = (val) => {\n setSearchValue(val);\n };\n\n /** 全选情况 */\n const handleAllClick = (item, checked) => {\n // 筛选出非disabled的数组\n const noDisabledChoosedList = Array.isArray(renderData)\n ? renderData.reduce((total, item) => {\n if (!item.disabled) {\n total.push(item.value);\n }\n return total;\n }, [])\n : [];\n\n if (checked) {\n // 这里加value的原因是有可能是搜索的时候点击了全选\n const list = Array.isArray(value) ? Array.from(new Set([...value, ...noDisabledChoosedList])) : [...noDisabledChoosedList];\n onChange(list);\n } else {\n const list = Array.isArray(value) ? value.filter((i) => !noDisabledChoosedList.includes(i)) : [];\n onChange(list);\n }\n setSearchValue(undefined);\n };\n\n const handleClick = (item, checked) => {\n if (!Array.isArray(value)) {\n value = [];\n }\n if (checked) {\n onChange([...value, item.value]);\n } else {\n onChange(value.filter((v) => v !== item.value));\n }\n setSearchValue(undefined);\n };\n\n const handleStopPropagation = (e) => {\n e?.nativeEvent?.stopImmediatePropagation();\n e?.stopPropagation();\n e?.preventDefault();\n };\n\n return (\n <Select\n showSearch\n searchValue={searchValue}\n onSearch={handleSearch}\n tagRender={(item) => {\n const { onClose, value } = item;\n const { label, disabled } = Array.isArray(options) ? options.find((opt) => opt.value === value) || {} : {};\n return (\n <Tag size=\"small\" className=\"tntd-checkbox-select-item-tag\">\n <div className='tntd-checkbox-select-item-tag-label'>\n <Ellipsis title={label} widthLimit={\"100%\"} />\n </div>\n {!disabled ? <Icon type=\"close\" onClick={onClose} /> : ''}\n </Tag>\n );\n }}\n value={value}\n onChange={onChange}\n {...restProps}\n mode={mode || 'multiple'}\n dropdownRender={() => {\n if (!Array.isArray(renderData) || !renderData?.length) {\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\">\n <Empty className=\"tntd-rc-select-item-empty\" size=\"mini\" />\n </div>\n );\n }\n const renderList = [{ label: all, value: 'all', isAll: true }, ...renderData];\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\" onClick={(e) => handleStopPropagation(e)}>\n <List height={renderData.length > 8 ? 250 : 'auto'} itemHeight={32} data={renderList} itemKey={'value'}>\n {(item) => {\n const { isAll, disabled } = item;\n // 是否全部disabled\n const allDisabled = renderData.filter((i) => i.disabled).length === renderData.length;\n const checked = Array.isArray(value) ? value.includes(item.value) : false;\n\n if (isAll) {\n return (\n <div\n className={`tntd-checkbox-select-item ${checkedAll ? 'tntd-checkbox-select-item_choosed' : ''} ${\n allDisabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!allDisabled) {\n handleAllClick(item, !checkedAll);\n }\n }}>\n <Checkbox\n disabled={allDisabled}\n size=\"small\"\n indeterminate={indeterminate}\n checked={checkedAll}\n onChange={(e) => {\n handleStopPropagation(e);\n }}\n />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`tntd-checkbox-select-item ${checked ? 'tntd-checkbox-select-item_choosed' : ''} ${\n disabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!disabled) {\n handleClick(item, !checked);\n }\n }}>\n <Checkbox disabled={disabled} size=\"small\" checked={checked} onChange={(e) => handleStopPropagation(e)} />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }}\n </List>\n </div>\n );\n }}\n />\n );\n};\n\nexport default TntdCheckboxSelect;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":";AAqBA;;;;;;;sBAwLC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":";AAoBA;;;;;;;sBAwLC"}
@@ -18,7 +18,6 @@ var _prevLocale = require("../prev-locale");
18
18
  var _rcVirtualList = _interopRequireDefault(require("rc-virtual-list"));
19
19
  var _tntdRcSelect = _interopRequireDefault(require("../tntd-rc-select"));
20
20
  var _icon = _interopRequireDefault(require("../icon"));
21
- require("../select");
22
21
  var _tag = _interopRequireDefault(require("../tag"));
23
22
  var _checkbox = _interopRequireDefault(require("../checkbox"));
24
23
  var _empty = _interopRequireDefault(require("../empty"));
@@ -127,7 +126,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
127
126
  * @Author: 郑泳健
128
127
  * @Date: 2025-08-05 10:50:17
129
128
  * @LastEditors: 郑泳健
130
- * @LastEditTime: 2025-08-12 13:46:11
129
+ * @LastEditTime: 2025-08-12 14:28:38
131
130
  */
132
131
 
133
132
  var all = (0, _prevLocale.getText)('all', (0, _prevLocale.getLanguage)());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: antd3 select 增加checkbox\n * @Author: 郑泳健\n * @Date: 2025-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2025-08-12 13:46:11\n */\nimport React, { useState, useMemo } from 'react';\nimport { getLanguage, getText } from '../prev-locale';\nimport List from 'rc-virtual-list';\nimport Select from '../tntd-rc-select';\nimport Icon from '../icon';\nimport AntSelect from '../select';\nimport Tag from '../tag';\nimport Checkbox from '../checkbox';\nimport Empty from '../empty';\nimport Ellipsis from '../ellipsis';\nimport './index.less';\n\nconst all = getText('all', getLanguage());\n\nconst TntdCheckboxSelect = ({\n mode,\n value,\n onChange,\n options,\n filterOption = (inputValue, option) => {\n return option?.label?.toLowerCase().includes(inputValue?.toLowerCase());\n },\n ...restProps\n}) => {\n // 搜索\n const [searchValue, setSearchValue] = useState(undefined);\n\n /** 根据搜索过滤,dropDown的渲染数据 */\n const renderData = useMemo(() => {\n if (!Array.isArray(options)) {\n return [];\n }\n if (['', undefined, null].includes(searchValue)) {\n return options;\n }\n return options.filter((item) => filterOption(searchValue, item));\n }, [options, filterOption, searchValue]);\n\n /** 全选中 */\n const checkedAll = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n }\n // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n return filterDisabled.every((i) => value.includes(i.value));\n }, [value, renderData]);\n\n /** 半选中 */\n const indeterminate = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n } // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n /** 非disable既有选中的,也有没选中的 */\n return filterDisabled.some((i) => value.includes(i.value)) && filterDisabled.some((i) => !value.includes(i.value));\n }, [value, renderData]);\n\n const handleSearch = (val) => {\n setSearchValue(val);\n };\n\n /** 全选情况 */\n const handleAllClick = (item, checked) => {\n // 筛选出非disabled的数组\n const noDisabledChoosedList = Array.isArray(renderData)\n ? renderData.reduce((total, item) => {\n if (!item.disabled) {\n total.push(item.value);\n }\n return total;\n }, [])\n : [];\n\n if (checked) {\n // 这里加value的原因是有可能是搜索的时候点击了全选\n const list = Array.isArray(value) ? Array.from(new Set([...value, ...noDisabledChoosedList])) : [...noDisabledChoosedList];\n onChange(list);\n } else {\n const list = Array.isArray(value) ? value.filter((i) => !noDisabledChoosedList.includes(i)) : [];\n onChange(list);\n }\n setSearchValue(undefined);\n };\n\n const handleClick = (item, checked) => {\n if (!Array.isArray(value)) {\n value = [];\n }\n if (checked) {\n onChange([...value, item.value]);\n } else {\n onChange(value.filter((v) => v !== item.value));\n }\n setSearchValue(undefined);\n };\n\n const handleStopPropagation = (e) => {\n e?.nativeEvent?.stopImmediatePropagation();\n e?.stopPropagation();\n e?.preventDefault();\n };\n\n return (\n <Select\n showSearch\n searchValue={searchValue}\n onSearch={handleSearch}\n tagRender={(item) => {\n const { onClose, value } = item;\n const { label, disabled } = Array.isArray(options) ? options.find((opt) => opt.value === value) || {} : {};\n return (\n <Tag size=\"small\" className=\"tntd-checkbox-select-item-tag\">\n <div className='tntd-checkbox-select-item-tag-label'>\n <Ellipsis title={label} widthLimit={\"100%\"} />\n </div>\n {!disabled ? <Icon type=\"close\" onClick={onClose} /> : ''}\n </Tag>\n );\n }}\n value={value}\n onChange={onChange}\n {...restProps}\n mode={mode || 'multiple'}\n dropdownRender={() => {\n if (!Array.isArray(renderData) || !renderData?.length) {\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\">\n <Empty className=\"tntd-rc-select-item-empty\" size=\"mini\" />\n </div>\n );\n }\n const renderList = [{ label: all, value: 'all', isAll: true }, ...renderData];\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\" onClick={(e) => handleStopPropagation(e)}>\n <List height={renderData.length > 8 ? 250 : 'auto'} itemHeight={32} data={renderList} itemKey={'value'}>\n {(item) => {\n const { isAll, disabled } = item;\n // 是否全部disabled\n const allDisabled = renderData.filter((i) => i.disabled).length === renderData.length;\n const checked = Array.isArray(value) ? value.includes(item.value) : false;\n\n if (isAll) {\n return (\n <div\n className={`tntd-checkbox-select-item ${checkedAll ? 'tntd-checkbox-select-item_choosed' : ''} ${\n allDisabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!allDisabled) {\n handleAllClick(item, !checkedAll);\n }\n }}>\n <Checkbox\n disabled={allDisabled}\n size=\"small\"\n indeterminate={indeterminate}\n checked={checkedAll}\n onChange={(e) => {\n handleStopPropagation(e);\n }}\n />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`tntd-checkbox-select-item ${checked ? 'tntd-checkbox-select-item_choosed' : ''} ${\n disabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!disabled) {\n handleClick(item, !checked);\n }\n }}>\n <Checkbox disabled={disabled} size=\"small\" checked={checked} onChange={(e) => handleStopPropagation(e)} />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }}\n </List>\n </div>\n );\n }}\n />\n );\n};\n\nexport default TntdCheckboxSelect;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-checkbox-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: antd3 select 增加checkbox\n * @Author: 郑泳健\n * @Date: 2025-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2025-08-12 14:28:38\n */\nimport React, { useState, useMemo } from 'react';\nimport { getLanguage, getText } from '../prev-locale';\nimport List from 'rc-virtual-list';\nimport Select from '../tntd-rc-select';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport Checkbox from '../checkbox';\nimport Empty from '../empty';\nimport Ellipsis from '../ellipsis';\nimport './index.less';\n\nconst all = getText('all', getLanguage());\n\nconst TntdCheckboxSelect = ({\n mode,\n value,\n onChange,\n options,\n filterOption = (inputValue, option) => {\n return option?.label?.toLowerCase().includes(inputValue?.toLowerCase());\n },\n ...restProps\n}) => {\n // 搜索\n const [searchValue, setSearchValue] = useState(undefined);\n\n /** 根据搜索过滤,dropDown的渲染数据 */\n const renderData = useMemo(() => {\n if (!Array.isArray(options)) {\n return [];\n }\n if (['', undefined, null].includes(searchValue)) {\n return options;\n }\n return options.filter((item) => filterOption(searchValue, item));\n }, [options, filterOption, searchValue]);\n\n /** 全选中 */\n const checkedAll = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n }\n // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n return filterDisabled.every((i) => value.includes(i.value));\n }, [value, renderData]);\n\n /** 半选中 */\n const indeterminate = useMemo(() => {\n if (!Array.isArray(value) || !Array.isArray(value)) {\n return false;\n } // 过滤掉disabled的选中情况\n const filterDisabled = renderData.filter((item) => !item.disabled);\n /** 非disable既有选中的,也有没选中的 */\n return filterDisabled.some((i) => value.includes(i.value)) && filterDisabled.some((i) => !value.includes(i.value));\n }, [value, renderData]);\n\n const handleSearch = (val) => {\n setSearchValue(val);\n };\n\n /** 全选情况 */\n const handleAllClick = (item, checked) => {\n // 筛选出非disabled的数组\n const noDisabledChoosedList = Array.isArray(renderData)\n ? renderData.reduce((total, item) => {\n if (!item.disabled) {\n total.push(item.value);\n }\n return total;\n }, [])\n : [];\n\n if (checked) {\n // 这里加value的原因是有可能是搜索的时候点击了全选\n const list = Array.isArray(value) ? Array.from(new Set([...value, ...noDisabledChoosedList])) : [...noDisabledChoosedList];\n onChange(list);\n } else {\n const list = Array.isArray(value) ? value.filter((i) => !noDisabledChoosedList.includes(i)) : [];\n onChange(list);\n }\n setSearchValue(undefined);\n };\n\n const handleClick = (item, checked) => {\n if (!Array.isArray(value)) {\n value = [];\n }\n if (checked) {\n onChange([...value, item.value]);\n } else {\n onChange(value.filter((v) => v !== item.value));\n }\n setSearchValue(undefined);\n };\n\n const handleStopPropagation = (e) => {\n e?.nativeEvent?.stopImmediatePropagation();\n e?.stopPropagation();\n e?.preventDefault();\n };\n\n return (\n <Select\n showSearch\n searchValue={searchValue}\n onSearch={handleSearch}\n tagRender={(item) => {\n const { onClose, value } = item;\n const { label, disabled } = Array.isArray(options) ? options.find((opt) => opt.value === value) || {} : {};\n return (\n <Tag size=\"small\" className=\"tntd-checkbox-select-item-tag\">\n <div className='tntd-checkbox-select-item-tag-label'>\n <Ellipsis title={label} widthLimit={\"100%\"} />\n </div>\n {!disabled ? <Icon type=\"close\" onClick={onClose} /> : ''}\n </Tag>\n );\n }}\n value={value}\n onChange={onChange}\n {...restProps}\n mode={mode || 'multiple'}\n dropdownRender={() => {\n if (!Array.isArray(renderData) || !renderData?.length) {\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\">\n <Empty className=\"tntd-rc-select-item-empty\" size=\"mini\" />\n </div>\n );\n }\n const renderList = [{ label: all, value: 'all', isAll: true }, ...renderData];\n return (\n <div className=\"tntd-checkbox-select-dropdown-render-wrapper\" onClick={(e) => handleStopPropagation(e)}>\n <List height={renderData.length > 8 ? 250 : 'auto'} itemHeight={32} data={renderList} itemKey={'value'}>\n {(item) => {\n const { isAll, disabled } = item;\n // 是否全部disabled\n const allDisabled = renderData.filter((i) => i.disabled).length === renderData.length;\n const checked = Array.isArray(value) ? value.includes(item.value) : false;\n\n if (isAll) {\n return (\n <div\n className={`tntd-checkbox-select-item ${checkedAll ? 'tntd-checkbox-select-item_choosed' : ''} ${\n allDisabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!allDisabled) {\n handleAllClick(item, !checkedAll);\n }\n }}>\n <Checkbox\n disabled={allDisabled}\n size=\"small\"\n indeterminate={indeterminate}\n checked={checkedAll}\n onChange={(e) => {\n handleStopPropagation(e);\n }}\n />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`tntd-checkbox-select-item ${checked ? 'tntd-checkbox-select-item_choosed' : ''} ${\n disabled ? 'tntd-checkbox-select-item_disabled' : ''\n }`}\n onMouseDown={(e) => {\n handleStopPropagation(e);\n }}\n onClick={() => {\n if (!disabled) {\n handleClick(item, !checked);\n }\n }}>\n <Checkbox disabled={disabled} size=\"small\" checked={checked} onChange={(e) => handleStopPropagation(e)} />\n <div className=\"tntd-checkbox-select-content\">\n <Ellipsis title={item.label} widthLimit=\"100%\" />\n </div>\n </div>\n );\n }}\n </List>\n </div>\n );\n }}\n />\n );\n};\n\nexport default TntdCheckboxSelect;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "2.8.51",
3
+ "version": "2.8.52",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "start": "heft start --storybook",