tntd 2.8.14 → 2.8.16

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.
Files changed (310) hide show
  1. package/CHANGELOG.json +1034 -0
  2. package/CHANGELOG.md +605 -0
  3. package/es/alert/alert.js +71 -0
  4. package/es/alert/alert.js.map +1 -0
  5. package/es/cascader/cascader.js +30 -0
  6. package/es/cascader/cascader.js.map +1 -0
  7. package/es/checkbox/checkbox.js +48 -0
  8. package/es/checkbox/checkbox.js.map +1 -0
  9. package/es/date-picker/DatePicker.js +101 -0
  10. package/es/date-picker/DatePicker.js.map +1 -0
  11. package/es/ellipsis/index.js +1 -1
  12. package/es/ellipsis/index.js.map +1 -1
  13. package/es/input-number/inputNumber.js +34 -0
  14. package/es/input-number/inputNumber.js.map +1 -0
  15. package/es/locale/en_US.js +5 -2
  16. package/es/locale/en_US.js.map +1 -1
  17. package/es/locale/zh_CN.js +3 -0
  18. package/es/locale/zh_CN.js.map +1 -1
  19. package/es/popconfirm/popconfirm.js +43 -0
  20. package/es/popconfirm/popconfirm.js.map +1 -0
  21. package/es/popover/popover.js +34 -0
  22. package/es/popover/popover.js.map +1 -0
  23. package/es/progress/progress.js +132 -0
  24. package/es/progress/progress.js.map +1 -0
  25. package/es/radio/radio.js +57 -0
  26. package/es/radio/radio.js.map +1 -0
  27. package/es/spin/spin.js +36 -0
  28. package/es/spin/spin.js.map +1 -0
  29. package/es/table/hooks/use-expand-fixed.js.map +1 -1
  30. package/es/table/resizableTable/index.less +10 -0
  31. package/es/time-picker/TimePicker.js +36 -0
  32. package/es/time-picker/TimePicker.js.map +1 -0
  33. package/es/tntd-action/Action.js +117 -0
  34. package/es/tntd-action/Action.js.map +1 -0
  35. package/es/tntd-virtual-tree/index.js +15 -6
  36. package/es/tntd-virtual-tree/index.js.map +1 -1
  37. package/es/tntd-virtual-tree/index.less +16 -16
  38. package/es/tntd-virtual-tree/utils.js +4 -4
  39. package/es/tntd-virtual-tree/utils.js.map +1 -1
  40. package/es/tntd-virtual-tree-select/index.js +2 -1
  41. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  42. package/es/tntd-virtual-tree-select/index.less +2 -1
  43. package/es/upload/index.js +191 -3
  44. package/es/upload/index.js.map +1 -1
  45. package/es/upload/style/index.less +1 -1
  46. package/es/upload/svg/UploadSVG.js +37 -0
  47. package/es/upload/svg/UploadSVG.js.map +1 -0
  48. package/es/upload/upload.less +108 -0
  49. package/lib/_util/context.js +1 -1
  50. package/lib/_util/defaultRenderEmpty.js +1 -1
  51. package/lib/_util/hooks/useFlexGapSupport.js +4 -4
  52. package/lib/_util/hooks/useForceUpdate.js +4 -4
  53. package/lib/_util/responsiveObserve.js +1 -1
  54. package/lib/_util/styleChecker.js +1 -1
  55. package/lib/actions/index.js +1 -1
  56. package/lib/alert/alert.d.ts +12 -0
  57. package/lib/alert/alert.d.ts.map +1 -0
  58. package/lib/alert/alert.js +93 -0
  59. package/lib/alert/alert.js.map +1 -0
  60. package/lib/array-input/index.js +9 -9
  61. package/lib/cascader/cascader.d.ts +10 -0
  62. package/lib/cascader/cascader.d.ts.map +1 -0
  63. package/lib/cascader/cascader.js +49 -0
  64. package/lib/cascader/cascader.js.map +1 -0
  65. package/lib/check-card/group.js +8 -8
  66. package/lib/check-card/index.js +6 -6
  67. package/lib/checkbox/checkbox-group.js +1 -1
  68. package/lib/checkbox/checkbox.d.ts +16 -0
  69. package/lib/checkbox/checkbox.d.ts.map +1 -0
  70. package/lib/checkbox/checkbox.js +65 -0
  71. package/lib/checkbox/checkbox.js.map +1 -0
  72. package/lib/color-picker/ColorPicker.js +6 -6
  73. package/lib/color-picker/index.js +1 -1
  74. package/lib/columns/index.js +1 -1
  75. package/lib/config-provider/config-provider.js +1 -1
  76. package/lib/date-picker/DatePicker.d.ts +21 -0
  77. package/lib/date-picker/DatePicker.d.ts.map +1 -0
  78. package/lib/date-picker/DatePicker.js +128 -0
  79. package/lib/date-picker/DatePicker.js.map +1 -0
  80. package/lib/descriptions/descriptions.js +5 -5
  81. package/lib/development-login/LoginModal.js +6 -6
  82. package/lib/development-login/index.js +4 -4
  83. package/lib/drawer/drawer.js +2 -2
  84. package/lib/ellipsis/Svg/CopySVG.js +1 -1
  85. package/lib/ellipsis/Svg/TickSVG.js +1 -1
  86. package/lib/ellipsis/index.js +6 -6
  87. package/lib/ellipsis/index.js.map +1 -1
  88. package/lib/empty/empty.js +2 -2
  89. package/lib/empty/empty.stories.js +2 -2
  90. package/lib/exception/exception.js +1 -1
  91. package/lib/form/form.js +2 -2
  92. package/lib/grid-v4/col.js +2 -2
  93. package/lib/grid-v4/hooks/useBreakpoint.js +1 -1
  94. package/lib/grid-v4/index.js +1 -1
  95. package/lib/grid-v4/row.js +6 -6
  96. package/lib/handle/index.js +1 -1
  97. package/lib/handle-icon/index.js +11 -11
  98. package/lib/icon/IconFont.js +1 -1
  99. package/lib/icon/components/Icon.js +9 -9
  100. package/lib/icon/components/index.js +1 -1
  101. package/lib/icon/components/utils.js +3 -3
  102. package/lib/icon/index.js +7 -7
  103. package/lib/icon/twoTonePrimaryColor.js +1 -1
  104. package/lib/icon/utils.js +1 -1
  105. package/lib/img/Contain.js +1 -1
  106. package/lib/img/Cover.js +5 -5
  107. package/lib/img/index.js +5 -5
  108. package/lib/index.js +1 -1
  109. package/lib/input/input.js +2 -2
  110. package/lib/input-number/index.js +1 -1
  111. package/lib/input-number/inputNumber.d.ts +10 -0
  112. package/lib/input-number/inputNumber.d.ts.map +1 -0
  113. package/lib/input-number/inputNumber.js +54 -0
  114. package/lib/input-number/inputNumber.js.map +1 -0
  115. package/lib/label/index.js +2 -2
  116. package/lib/loading-button/index.js +5 -5
  117. package/lib/locale/default.d.ts +3 -0
  118. package/lib/locale/default.d.ts.map +1 -1
  119. package/lib/locale/default.js +1 -1
  120. package/lib/locale/en_US.d.ts +3 -0
  121. package/lib/locale/en_US.d.ts.map +1 -1
  122. package/lib/locale/en_US.js +6 -3
  123. package/lib/locale/en_US.js.map +1 -1
  124. package/lib/locale/zh_CN.d.ts +3 -0
  125. package/lib/locale/zh_CN.d.ts.map +1 -1
  126. package/lib/locale/zh_CN.js +4 -1
  127. package/lib/locale/zh_CN.js.map +1 -1
  128. package/lib/modal/modal.js +1 -1
  129. package/lib/notification/assets/index.js +1 -1
  130. package/lib/notification/index.js +1 -1
  131. package/lib/notification/notification.js +1 -1
  132. package/lib/page/Box.js +1 -1
  133. package/lib/page/index.js +7 -7
  134. package/lib/page-container/index.js +1 -1
  135. package/lib/page-loading/index.js +1 -1
  136. package/lib/popconfirm/popconfirm.d.ts +8 -0
  137. package/lib/popconfirm/popconfirm.d.ts.map +1 -0
  138. package/lib/popconfirm/popconfirm.js +61 -0
  139. package/lib/popconfirm/popconfirm.js.map +1 -0
  140. package/lib/popover/popover.d.ts +14 -0
  141. package/lib/popover/popover.d.ts.map +1 -0
  142. package/lib/popover/popover.js +55 -0
  143. package/lib/popover/popover.js.map +1 -0
  144. package/lib/preview-text/index.js +7 -7
  145. package/lib/progress/progress.d.ts +12 -0
  146. package/lib/progress/progress.d.ts.map +1 -0
  147. package/lib/progress/progress.js +148 -0
  148. package/lib/progress/progress.js.map +1 -0
  149. package/lib/query-form/Field/Checkbox.js +1 -1
  150. package/lib/query-form/Field/Select.js +6 -6
  151. package/lib/query-form/Field/SelectInput.js +6 -6
  152. package/lib/query-form/Field/fieldsMap.js +1 -1
  153. package/lib/query-form/Field/index.js +10 -10
  154. package/lib/query-form/createActions.js +1 -1
  155. package/lib/query-form/index.js +10 -10
  156. package/lib/query-form/useForm.js +1 -1
  157. package/lib/query-list-scene/List.js +13 -13
  158. package/lib/query-list-scene/QueryForm.js +10 -10
  159. package/lib/query-list-scene/QueryListScene.js +10 -10
  160. package/lib/query-list-scene/Title.js +1 -1
  161. package/lib/query-list-scene/Toolbar.js +2 -2
  162. package/lib/query-list-scene/createActions.js +1 -1
  163. package/lib/query-list-scene/index.js +1 -1
  164. package/lib/query-list-scene/useActions.js +1 -1
  165. package/lib/radio/index.js +1 -1
  166. package/lib/radio/radio-group.js +1 -1
  167. package/lib/radio/radio.d.ts +17 -0
  168. package/lib/radio/radio.d.ts.map +1 -0
  169. package/lib/radio/radio.js +75 -0
  170. package/lib/radio/radio.js.map +1 -0
  171. package/lib/render-empty/render-empty.js +1 -1
  172. package/lib/segmented/index.js +2 -2
  173. package/lib/select/select.js +2 -2
  174. package/lib/spin/spin.d.ts +9 -0
  175. package/lib/spin/spin.d.ts.map +1 -0
  176. package/lib/spin/spin.js +44 -0
  177. package/lib/spin/spin.js.map +1 -0
  178. package/lib/steps/steps.js +2 -2
  179. package/lib/svg-components/index.js +1 -1
  180. package/lib/switch/switch.js +1 -1
  181. package/lib/table/hooks/use-column-setting.js +4 -4
  182. package/lib/table/hooks/use-expand-fixed.js +6 -6
  183. package/lib/table/hooks/use-expand-fixed.js.map +1 -1
  184. package/lib/table/resizableTable/index.js +6 -6
  185. package/lib/table/resizableTable/index.less +10 -0
  186. package/lib/table/table-hoc.js +1 -1
  187. package/lib/table/table.js +9 -9
  188. package/lib/table/table.stories.js +2 -2
  189. package/lib/table/total-shower.js +1 -1
  190. package/lib/table/utils.js +1 -1
  191. package/lib/table-container/index.js +1 -1
  192. package/lib/tabs-container/index.js +1 -1
  193. package/lib/tag/tag.js +2 -2
  194. package/lib/time-picker/TimePicker.d.ts +9 -0
  195. package/lib/time-picker/TimePicker.d.ts.map +1 -0
  196. package/lib/time-picker/TimePicker.js +55 -0
  197. package/lib/time-picker/TimePicker.js.map +1 -0
  198. package/lib/title/index.js +1 -1
  199. package/lib/tntd-action/Action.d.ts +6 -0
  200. package/lib/tntd-action/Action.d.ts.map +1 -0
  201. package/lib/tntd-action/Action.js +141 -0
  202. package/lib/tntd-action/Action.js.map +1 -0
  203. package/lib/tntd-cascader/AntdCascader/component/context.js +1 -1
  204. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  205. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +1 -1
  206. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +2 -2
  207. package/lib/tntd-cascader/AntdCascader/config/utils.js +2 -2
  208. package/lib/tntd-cascader/AntdCascader/index.js +7 -7
  209. package/lib/tntd-cascader/index.js +1 -1
  210. package/lib/tntd-cascader/rc-cascader/Cascader.js +8 -8
  211. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +2 -2
  212. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +7 -7
  213. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +9 -9
  214. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +5 -5
  215. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +8 -8
  216. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +5 -5
  217. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
  218. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +6 -6
  219. package/lib/tntd-cascader/rc-cascader/index.js +1 -1
  220. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +4 -4
  221. package/lib/tntd-form/ErrorList.js +7 -7
  222. package/lib/tntd-form/Form.js +6 -6
  223. package/lib/tntd-form/FormItem/ItemHolder.js +6 -6
  224. package/lib/tntd-form/FormItem/index.js +8 -8
  225. package/lib/tntd-form/FormItemInput.js +1 -1
  226. package/lib/tntd-form/FormItemLabel.js +2 -2
  227. package/lib/tntd-form/FormList.js +1 -1
  228. package/lib/tntd-form/context.js +1 -1
  229. package/lib/tntd-form/hooks/useDebounce.js +4 -4
  230. package/lib/tntd-form/hooks/useForm.js +5 -5
  231. package/lib/tntd-form/hooks/useFormItemStatus.js +1 -1
  232. package/lib/tntd-form/hooks/useFrameState.js +5 -5
  233. package/lib/tntd-form/index.js +1 -1
  234. package/lib/tntd-icon/index.js +1 -1
  235. package/lib/tntd-layout/AppList.js +6 -6
  236. package/lib/tntd-layout/Application.js +6 -6
  237. package/lib/tntd-layout/Avatar.js +2 -2
  238. package/lib/tntd-layout/CompatibleLanguage.js +6 -6
  239. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +2 -2
  240. package/lib/tntd-layout/EnterpriseLayout/Language.js +6 -6
  241. package/lib/tntd-layout/EnterpriseLayout/Theme.js +6 -6
  242. package/lib/tntd-layout/EnterpriseLayout/index.js +1 -1
  243. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +6 -6
  244. package/lib/tntd-layout/GlobalNavigation/index.js +9 -9
  245. package/lib/tntd-layout/Header.js +2 -2
  246. package/lib/tntd-layout/HeaderActions.js +2 -2
  247. package/lib/tntd-layout/HeaderNavs.js +6 -6
  248. package/lib/tntd-layout/HeaderTabs.js +7 -7
  249. package/lib/tntd-layout/Iconfont.js +1 -1
  250. package/lib/tntd-layout/Language.js +6 -6
  251. package/lib/tntd-layout/Layout.js +6 -6
  252. package/lib/tntd-layout/Logo.js +2 -2
  253. package/lib/tntd-layout/OrgAppList.js +6 -6
  254. package/lib/tntd-layout/SideMenu.js +6 -6
  255. package/lib/tntd-layout/Theme.js +6 -6
  256. package/lib/tntd-layout/createActions.js +1 -1
  257. package/lib/tntd-layout/images/index.js +1 -1
  258. package/lib/tntd-layout/index.js +1 -1
  259. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +6 -6
  260. package/lib/tntd-layout/paaslayout/Header.js +2 -2
  261. package/lib/tntd-layout/paaslayout/Logo.js +2 -2
  262. package/lib/tntd-layout/paaslayout/SideMenu.js +6 -6
  263. package/lib/tntd-layout/paaslayout/index.js +6 -6
  264. package/lib/tntd-layout/storage.js +1 -1
  265. package/lib/tntd-modal/index.js +6 -6
  266. package/lib/tntd-rc-select/_util/PurePanel.js +5 -5
  267. package/lib/tntd-rc-select/_util/context.js +1 -1
  268. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +1 -1
  269. package/lib/tntd-rc-select/_util/getIcons.js +1 -1
  270. package/lib/tntd-rc-select/_util/useCompactItemContext.js +2 -2
  271. package/lib/tntd-rc-select/index.js +2 -2
  272. package/lib/tntd-reference/AHref/index.js +1 -1
  273. package/lib/tntd-reference/ReferenceBatchCheck/index.js +1 -1
  274. package/lib/tntd-reference/ReferenceBatchDrawer/index.js +5 -5
  275. package/lib/tntd-reference/ReferenceCheck/index.js +1 -1
  276. package/lib/tntd-reference/ReferenceDrawer/index.js +5 -5
  277. package/lib/tntd-reference/ReferenceInfo/index.js +1 -1
  278. package/lib/tntd-reference/index.js +1 -1
  279. package/lib/tntd-second-page/index.js +1 -1
  280. package/lib/tntd-select/DropDownWrap.js +8 -8
  281. package/lib/tntd-select/index.js +10 -9
  282. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  283. package/lib/tntd-virtual-tree/index.js +23 -14
  284. package/lib/tntd-virtual-tree/index.js.map +1 -1
  285. package/lib/tntd-virtual-tree/index.less +16 -16
  286. package/lib/tntd-virtual-tree/utils.d.ts +1 -1
  287. package/lib/tntd-virtual-tree/utils.d.ts.map +1 -1
  288. package/lib/tntd-virtual-tree/utils.js +31 -31
  289. package/lib/tntd-virtual-tree/utils.js.map +1 -1
  290. package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
  291. package/lib/tntd-virtual-tree-select/index.js +12 -11
  292. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  293. package/lib/tntd-virtual-tree-select/index.less +2 -1
  294. package/lib/tntd-virtual-tree-select/utils.js +9 -9
  295. package/lib/tooltip/tooltip.js +1 -1
  296. package/lib/upload/index.d.ts +1 -0
  297. package/lib/upload/index.d.ts.map +1 -1
  298. package/lib/upload/index.js +208 -4
  299. package/lib/upload/index.js.map +1 -1
  300. package/lib/upload/style/index.less +1 -1
  301. package/lib/upload/svg/UploadSVG.d.ts +4 -0
  302. package/lib/upload/svg/UploadSVG.d.ts.map +1 -0
  303. package/lib/upload/svg/UploadSVG.js +44 -0
  304. package/lib/upload/svg/UploadSVG.js.map +1 -0
  305. package/lib/upload/upload.less +108 -0
  306. package/lib/utils/checkAuth.js +4 -4
  307. package/lib/utils/index.js +9 -9
  308. package/lib/utils/lang.js +1 -1
  309. package/lib/water-mark/index.js +5 -5
  310. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/utils.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * 初始化给树的每个节点增加以下属性字段\n * childrenValues: 当前节点下的所有子节点的value和(包含了disabled节点)用户展开/收起\n * titleTotal: 当前节点下的所有子节点的title和 (包含了disabled节点)用于搜索\n * needCheckedChildrenValues: 当前节点下的节点(即无children)的value和(不包含了disabled节点),用于选中/取消选中\n * needCheckedLastestChildrenValues: 当前节点下的最底层节点(即无children)的value和(不包含了disabled节点),用于选中/取消选中\n * needCheckedSiblingsValue: 当前节点所有上级节点的兄弟节点, [{ key: '上级节点value', list: [xx] }] list包含非disabled节点 用于选中/取消选中\n * 用于判断后续展开/收起\n * @param {*} treeData\n */\nexport const addTreeNodeAttrs = (\n treeData,\n fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' },\n needCheckedSiblingsValue = []\n) => {\n if (Array.isArray(treeData) && !!treeData.length) {\n return treeData.map((item) => {\n item.children = item[fieldNames['children']];\n item.title = item[fieldNames['title']];\n item.value = item[fieldNames['value']];\n const { children, ...query } = item;\n if (Array.isArray(children) && !!children.length) {\n let siblingsSum = needCheckedSiblingsValue;\n if (!item[fieldNames['disabled']]) {\n // 这里注意要逆序,要不然校验的时候会出问题\n siblingsSum = [\n {\n key: item[fieldNames['value']],\n list: children.reduce((total, item) => {\n if (!item[fieldNames['disabled']]) {\n total.push(item[fieldNames['value']]);\n }\n return total;\n }, [])\n },\n ...siblingsSum\n ];\n } else {\n siblingsSum = [];\n }\n query.children = addTreeNodeAttrs(children, fieldNames, siblingsSum);\n }\n return {\n ...query,\n title: query[fieldNames['title']],\n value: query[fieldNames['value']],\n disabled: query[fieldNames['disabled']],\n childrenValues: getNodeValuess(query, false),\n titleTotal: getNodeStr(query, fieldNames['title']),\n needCheckedLastestChildrenValues: !item[fieldNames['disabled']] ? getNodeNoDisabledLastestChildrenValues(item, fieldNames) : [],\n needCheckedChildrenValues: !item[fieldNames['disabled']] ? getNodeNoDisabledChildrenValues(item, fieldNames) : [],\n needCheckedSiblingsValue: !item[fieldNames['disabled']] ? needCheckedSiblingsValue : []\n };\n });\n }\n\n return [];\n};\n\nexport const getNodeStr = (node, key, result = []) => {\n result.push(node[key]);\n\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n result = [...result, ...getNodeStr(element, key)];\n });\n }\n\n return result;\n};\n\n/**\n * 获取每个节点下面所有子节点的value值\n * @param {*} node\n * @param {*} widthSelf 是否包含自己\n * @param {*} result\n * @returns []\n */\nexport const getNodeValuess = (node, widthSelf = true, result = []) => {\n if (widthSelf) {\n result.push(node.value);\n }\n\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n result = [...result, ...getNodeValuess(element)];\n });\n }\n\n return result;\n};\n\n/**\n * 扁平树\n * @param {*} treeData\n * @param {*} expandedKeys 展开的节点\n * @param {*} treeDefaultExpandAll\n * @param {*} level\n * @param {*} result\n * @returns\n */\nexport const flatTreeData = (treeData, filterKey = '', expandedKeys = [], treeDefaultExpandAll = false, level = 0, result = []) => {\n if (Array.isArray(treeData)) {\n for (const i of treeData) {\n const { value, children, titleTotal, title, ...rest } = i;\n\n // 判断是否命中过滤\n let bingo = true;\n const transFilterKey = !['', null, undefined].includes(filterKey);\n if (transFilterKey) {\n bingo = Array.isArray(titleTotal) ? titleTotal.some((i) => i.includes(filterKey)) : false;\n }\n\n if (bingo) {\n result.push({ level, ...i });\n }\n\n const selfIn = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;\n if ((treeDefaultExpandAll || selfIn || (transFilterKey && bingo)) && Array.isArray(children) && !!children.length) {\n result = [...result, ...flatTreeData(children, filterKey, expandedKeys, treeDefaultExpandAll, level + 1)];\n }\n }\n }\n return result;\n};\n\n/**\n * 获取所有展开的节点 (组件传入最后一层,需要将其上层全部加入到expandedKeys)\n * @param {*} treeDataWithKeys\n * @param {*} treeExpandedKeys\n * @param {*} result\n * @returns\n */\nexport const getFullExpandedKeys = (treeDataWithKeys, treeExpandedKeys = [], treeDefaultExpandAll, result = []) => {\n if (\n !treeDefaultExpandAll &&\n (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(treeExpandedKeys) || !treeExpandedKeys.length)\n ) {\n return [];\n }\n\n treeDataWithKeys.forEach((i) => {\n const { childrenValues, value, children } = i;\n\n if (treeDefaultExpandAll || (Array.isArray(childrenValues) && [...childrenValues, value].some((el) => treeExpandedKeys.includes(el)))) {\n result.push(value);\n\n if (Array.isArray(children) && !!children.length) {\n result = [...result, ...getFullExpandedKeys(children, treeExpandedKeys, treeDefaultExpandAll)];\n }\n }\n });\n\n return result;\n};\n\n/**\n * 初始化根据用户传入的值获取其关联节点是否要在checkList\n * @param {*} treeDataWithKeys\n * @param {*} transCheckedKeys\n * @param {*} result\n * @returns\n */\nexport const getFullCheckedKeys = (treeDataWithKeys, transCheckedKeys, result = []) => {\n if (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(transCheckedKeys) || !transCheckedKeys.length) {\n return [];\n }\n\n treeDataWithKeys.forEach((i) => {\n const { value, children, disabled } = i;\n const bingo = transCheckedKeys.includes(value);\n if (bingo) {\n result.push(value);\n }\n\n if (Array.isArray(children) && !!children.length) {\n const lastestUnDisabledChildrenValues = i.needCheckedLastestChildrenValues;\n // 如果当前节点是被命中,就将其下面所有子节点都选中\n if (\n Array.isArray(lastestUnDisabledChildrenValues) &&\n !!lastestUnDisabledChildrenValues.length &&\n lastestUnDisabledChildrenValues.every((el) => transCheckedKeys.includes(el))\n ) {\n result.push(value);\n }\n result = [...result, ...getFullCheckedKeys(children, transCheckedKeys)];\n }\n });\n\n return result;\n};\n\n/**\n * 递归获取某个节点所有最下层(没有children)的values集合,递归遇到disable的节点就不继续往下递归了\n * @param {*} node\n * @param {*} node\n * @returns\n */\nexport const getNodeNoDisabledLastestChildrenValues = (node, fieldNames, result = []) => {\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n if (!element[fieldNames['disabled']]) {\n result = [...result, ...getNodeNoDisabledLastestChildrenValues(element, fieldNames)];\n }\n });\n } else {\n if (!node[fieldNames['disabled']]) {\n result.push(node[fieldNames['value']]);\n }\n }\n return result;\n};\n\n/**\n * 递归获取某个节点所有下层(没有children)的values集合,递归遇到disable的节点就不继续往下递归了\n * @param {*} node\n * @param {*} node\n * @returns\n */\nexport const getNodeNoDisabledChildrenValues = (node, fieldNames, result = []) => {\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n if (!element[fieldNames['disabled']]) {\n result.push(element[fieldNames['value']]);\n result = [...result, ...getNodeNoDisabledChildrenValues(element, fieldNames)];\n }\n });\n } else {\n if (!node[fieldNames['disabled']]) {\n result.push(node[fieldNames['value']]);\n }\n }\n return result;\n}\n\n/**\n * 判断当前节点是否半选\n * @param {*} item\n * @param {*} checkedList\n */\nexport const getIndeterminate = (item, checkedList, disabledList) => {\n // 如果没有子节点,就没有半选情况\n if (!Array.isArray(item.children) || !item.children.length) {\n return false;\n }\n\n if (!Array.isArray(checkedList) || !checkedList.length) {\n return false;\n }\n\n // 当前节点下的去掉disabled的所有末级节点\n const list = Array.isArray(item.needCheckedLastestChildrenValues) ? item.needCheckedLastestChildrenValues : [];\n const childrenCheckedList = list.filter((i) => checkedList?.includes(i));\n\n return childrenCheckedList.length > 0 && childrenCheckedList.length < list.length;\n};\n\n/**\n * 获取当前节点的父亲节点是否需要被选中\n * @param {*} needCheckedSiblingsValue\n * @param {*} checkedList\n * @returns\n */\nexport const getNodeParentChoosed = (needCheckedSiblingsValue, checkedList) => {\n if (!Array.isArray(checkedList) || !checkedList.length) {\n return [];\n }\n let result = [];\n for (let item of needCheckedSiblingsValue) {\n const { key, list } = item || {};\n // 过滤掉子节点为disabled的\n const bool = Array.isArray(list) ? list.every((it) => checkedList.includes(it)) : false;\n if (bool) {\n checkedList.push(key);\n result.push(key);\n }\n }\n\n return result;\n};\n\n/**\n * 获取节点的信息\n * @param {*} tree \n * @param {*} key \n * @param {*} result \n * @returns \n */\nexport const findNodeDetail = (tree, key, result) => {\n if (Array.isArray(tree) && !!key) {\n for (let i of tree) {\n if (i.value === key) {\n result = i;\n break;\n }\n if (Array.isArray(i.children) && !!i.children.length) {\n result = findNodeDetail(i.children, key);\n if (result) {\n break;\n }\n }\n }\n }\n\n return result;\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/utils.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * 初始化给树的每个节点增加以下属性字段\n * childrenValues: 当前节点下的所有子节点的value和(包含了disabled节点)用户展开/收起\n * titleTotal: 当前节点下的所有子节点的title和 (包含了disabled节点)用于搜索\n * needCheckedChildrenValues: 当前节点下的节点(即无children)的value和(不包含了disabled节点),用于选中/取消选中\n * needCheckedLastestChildrenValues: 当前节点下的最底层节点(即无children)的value和(不包含了disabled节点),用于选中/取消选中\n * needCheckedSiblingsValue: 当前节点所有上级节点的兄弟节点, [{ key: '上级节点value', list: [xx] }] list包含非disabled节点 用于选中/取消选中\n * 用于判断后续展开/收起\n * @param {*} treeData\n */\nexport const addTreeNodeAttrs = (\n treeData,\n fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' },\n needCheckedSiblingsValue = []\n) => {\n if (Array.isArray(treeData) && !!treeData.length) {\n return treeData.map((item) => {\n item.children = item[fieldNames['children']];\n item.title = item[fieldNames['title']];\n item.value = item[fieldNames['value']];\n const { children, ...query } = item;\n if (Array.isArray(children) && !!children.length) {\n let siblingsSum = needCheckedSiblingsValue;\n if (!item[fieldNames['disabled']]) {\n // 这里注意要逆序,要不然校验的时候会出问题\n siblingsSum = [\n {\n key: item[fieldNames['value']],\n list: children.reduce((total, item) => {\n if (!item[fieldNames['disabled']]) {\n total.push(item[fieldNames['value']]);\n }\n return total;\n }, [])\n },\n ...siblingsSum\n ];\n } else {\n siblingsSum = [];\n }\n query.children = addTreeNodeAttrs(children, fieldNames, siblingsSum);\n }\n return {\n ...query,\n title: query[fieldNames['title']],\n value: query[fieldNames['value']],\n disabled: query[fieldNames['disabled']],\n childrenValues: getNodeValuess(query, false),\n titleTotal: getNodeStr(query, fieldNames['title']),\n needCheckedLastestChildrenValues: !item[fieldNames['disabled']] ? getNodeNoDisabledLastestChildrenValues(item, fieldNames) : [],\n needCheckedChildrenValues: !item[fieldNames['disabled']] ? getNodeNoDisabledChildrenValues(item, fieldNames) : [],\n needCheckedSiblingsValue: !item[fieldNames['disabled']] ? needCheckedSiblingsValue : []\n };\n });\n }\n\n return [];\n};\n\nexport const getNodeStr = (node, key, result = []) => {\n result.push(node[key]);\n\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n result = [...result, ...getNodeStr(element, key)];\n });\n }\n\n return result;\n};\n\n/**\n * 获取每个节点下面所有子节点的value值\n * @param {*} node\n * @param {*} widthSelf 是否包含自己\n * @param {*} result\n * @returns []\n */\nexport const getNodeValuess = (node, widthSelf = true, result = []) => {\n if (widthSelf) {\n result.push(node.value);\n }\n\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n result = [...result, ...getNodeValuess(element)];\n });\n }\n\n return result;\n};\n\n/**\n * 扁平树\n * @param {*} treeData\n * @param {*} expandedKeys 展开的节点\n * @param {*} treeDefaultExpandAll\n * @param {*} indexLevel\n * @param {*} result\n * @returns\n */\nexport const flatTreeData = (treeData, filterKey = '', expandedKeys = [], treeDefaultExpandAll = false, indexLevel = 0, result = []) => {\n if (Array.isArray(treeData)) {\n for (const i of treeData) {\n const { value, children, titleTotal, title, ...rest } = i;\n\n // 判断是否命中过滤\n let bingo = true;\n const transFilterKey = !['', null, undefined].includes(filterKey);\n if (transFilterKey) {\n bingo = Array.isArray(titleTotal) ? titleTotal.some((i) => i.includes(filterKey)) : false;\n }\n\n if (bingo) {\n result.push({ indexLevel, ...i });\n }\n\n const selfIn = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;\n if ((treeDefaultExpandAll || selfIn || (transFilterKey && bingo)) && Array.isArray(children) && !!children.length) {\n result = [...result, ...flatTreeData(children, filterKey, expandedKeys, treeDefaultExpandAll, indexLevel + 1)];\n }\n }\n }\n return result;\n};\n\n/**\n * 获取所有展开的节点 (组件传入最后一层,需要将其上层全部加入到expandedKeys)\n * @param {*} treeDataWithKeys\n * @param {*} treeExpandedKeys\n * @param {*} result\n * @returns\n */\nexport const getFullExpandedKeys = (treeDataWithKeys, treeExpandedKeys = [], treeDefaultExpandAll, result = []) => {\n if (\n !treeDefaultExpandAll &&\n (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(treeExpandedKeys) || !treeExpandedKeys.length)\n ) {\n return [];\n }\n\n treeDataWithKeys.forEach((i) => {\n const { childrenValues, value, children } = i;\n\n if (treeDefaultExpandAll || (Array.isArray(childrenValues) && [...childrenValues, value].some((el) => treeExpandedKeys.includes(el)))) {\n result.push(value);\n\n if (Array.isArray(children) && !!children.length) {\n result = [...result, ...getFullExpandedKeys(children, treeExpandedKeys, treeDefaultExpandAll)];\n }\n }\n });\n\n return result;\n};\n\n/**\n * 初始化根据用户传入的值获取其关联节点是否要在checkList\n * @param {*} treeDataWithKeys\n * @param {*} transCheckedKeys\n * @param {*} result\n * @returns\n */\nexport const getFullCheckedKeys = (treeDataWithKeys, transCheckedKeys, result = []) => {\n if (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(transCheckedKeys) || !transCheckedKeys.length) {\n return [];\n }\n\n treeDataWithKeys.forEach((i) => {\n const { value, children, disabled } = i;\n const bingo = transCheckedKeys.includes(value);\n if (bingo) {\n result.push(value);\n }\n\n if (Array.isArray(children) && !!children.length) {\n const lastestUnDisabledChildrenValues = i.needCheckedLastestChildrenValues;\n // 如果当前节点是被命中,就将其下面所有子节点都选中\n if (\n Array.isArray(lastestUnDisabledChildrenValues) &&\n !!lastestUnDisabledChildrenValues.length &&\n lastestUnDisabledChildrenValues.every((el) => transCheckedKeys.includes(el))\n ) {\n result.push(value);\n }\n result = [...result, ...getFullCheckedKeys(children, transCheckedKeys)];\n }\n });\n\n return result;\n};\n\n/**\n * 递归获取某个节点所有最下层(没有children)的values集合,递归遇到disable的节点就不继续往下递归了\n * @param {*} node\n * @param {*} node\n * @returns\n */\nexport const getNodeNoDisabledLastestChildrenValues = (node, fieldNames, result = []) => {\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n if (!element[fieldNames['disabled']]) {\n result = [...result, ...getNodeNoDisabledLastestChildrenValues(element, fieldNames)];\n }\n });\n } else {\n if (!node[fieldNames['disabled']]) {\n result.push(node[fieldNames['value']]);\n }\n }\n return result;\n};\n\n/**\n * 递归获取某个节点所有下层(没有children)的values集合,递归遇到disable的节点就不继续往下递归了\n * @param {*} node\n * @param {*} node\n * @returns\n */\nexport const getNodeNoDisabledChildrenValues = (node, fieldNames, result = []) => {\n if (Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach((element) => {\n if (!element[fieldNames['disabled']]) {\n result.push(element[fieldNames['value']]);\n result = [...result, ...getNodeNoDisabledChildrenValues(element, fieldNames)];\n }\n });\n } else {\n if (!node[fieldNames['disabled']]) {\n result.push(node[fieldNames['value']]);\n }\n }\n return result;\n}\n\n/**\n * 判断当前节点是否半选\n * @param {*} item\n * @param {*} checkedList\n */\nexport const getIndeterminate = (item, checkedList, disabledList) => {\n // 如果没有子节点,就没有半选情况\n if (!Array.isArray(item.children) || !item.children.length) {\n return false;\n }\n\n if (!Array.isArray(checkedList) || !checkedList.length) {\n return false;\n }\n\n // 当前节点下的去掉disabled的所有末级节点\n const list = Array.isArray(item.needCheckedLastestChildrenValues) ? item.needCheckedLastestChildrenValues : [];\n const childrenCheckedList = list.filter((i) => checkedList?.includes(i));\n\n return childrenCheckedList.length > 0 && childrenCheckedList.length < list.length;\n};\n\n/**\n * 获取当前节点的父亲节点是否需要被选中\n * @param {*} needCheckedSiblingsValue\n * @param {*} checkedList\n * @returns\n */\nexport const getNodeParentChoosed = (needCheckedSiblingsValue, checkedList) => {\n if (!Array.isArray(checkedList) || !checkedList.length) {\n return [];\n }\n let result = [];\n for (let item of needCheckedSiblingsValue) {\n const { key, list } = item || {};\n // 过滤掉子节点为disabled的\n const bool = Array.isArray(list) ? list.every((it) => checkedList.includes(it)) : false;\n if (bool) {\n checkedList.push(key);\n result.push(key);\n }\n }\n\n return result;\n};\n\n/**\n * 获取节点的信息\n * @param {*} tree \n * @param {*} key \n * @param {*} result \n * @returns \n */\nexport const findNodeDetail = (tree, key, result) => {\n if (Array.isArray(tree) && !!key) {\n for (let i of tree) {\n if (i.value === key) {\n result = i;\n break;\n }\n if (Array.isArray(i.children) && !!i.children.length) {\n result = findNodeDetail(i.children, key);\n if (result) {\n break;\n }\n }\n }\n }\n\n return result;\n};\n"]}
@@ -11,7 +11,7 @@ var __rest = this && this.__rest || function (s, e) {
11
11
  * @Author: 郑泳健
12
12
  * @Date: 2024-08-05 10:50:17
13
13
  * @LastEditors: 郑泳健
14
- * @LastEditTime: 2024-09-02 19:37:37
14
+ * @LastEditTime: 2024-10-24 15:55:57
15
15
  */
16
16
  import React, { useState, useRef, useMemo } from 'react';
17
17
  import RcSelect from '../tntd-rc-select';
@@ -114,6 +114,7 @@ const TntdVirtualTreeSelect = _a => {
114
114
  }, mergeDropdownStyle),
115
115
  dropdownRender: () => {
116
116
  let obj = {
117
+ height: (restProps === null || restProps === void 0 ? void 0 : restProps.height) || 300,
117
118
  treeData,
118
119
  filterKey,
119
120
  defaultExpandAll: treeDefaultExpandAll,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-09-02 19:37:37\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9F,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,CAAC,EAiB9B,EAAE,EAAE;QAjB0B,EAC7B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,eAAe,OAEhB,EADI,SAAS,cAhBiB,qQAiB9B,CADa;IAEZ,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,MAAM,6BAA6B,GAAG,OAAO,CAAC,GAAG,EAAE;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAG1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAG,CAAC,aAAa,EAAE;YACjB,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;SACxC;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,IAAG,mBAAmB,KAAK,qBAAqB,CAAC,QAAQ,EAAE;gBACzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;aACpD;YACD,WAAW;YACX,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAClC,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;SACzD;QACD,OAAO,SAAS,CAAA;IAElB,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAG,aAAa,EAAE;YAChB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,MAAM;aACb,CAAA;SACF;QACD,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,CAAC,EAAuB,EAAE,EAAE;YAA3B,EAAE,UAAU,OAAW,EAAN,IAAI,cAArB,cAAuB,CAAF;QACzC,OAAO,CACL,6BAAK,SAAS,EAAC,sBAAsB;YACnC,oBAAC,eAAe,oBAAK,IAAI,EAAI,CACzB,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,YAAY;YACZ,MAAA,SAAS,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,kBACP,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,IAClB,SAAS,EACT,SAAS,IACb,wBAAwB,EAAE,6BAA6B,EACvD,aAAa,kBAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAK,kBAAkB,GAC5E,cAAc,EAAE,GAAG,EAAE;YACnB,IAAI,GAAG,GAAG;gBACR,MAAM,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,GAAG;gBAChC,QAAQ;gBACR,SAAS;gBACT,gBAAgB,EAAE,oBAAoB;gBACtC,YAAY,EAAE,gBAAgB;gBAC9B,UAAU;gBACV,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,YAAY;aACvB,CAAC;YACF,IAAI,aAAa,EAAE;gBACjB,GAAG,mCAAQ,GAAG,KAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAE,CAAC;aACxH;iBAAM;gBACL,GAAG,mCAAQ,GAAG,KAAE,KAAK,GAAE,CAAC;aACzB;YACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAqB,CAAC,UAAU,GAAG,YAAY,CAAA;AAC/C,qBAAqB,CAAC,QAAQ,GAAG,UAAU,CAAA;AAE3C,eAAe,qBAAqB,CAAC","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-10-24 15:55:57\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n height: restProps?.height || 300,\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
@@ -1,3 +1,4 @@
1
1
  .virtual-tree-options{
2
- padding: 10px;
2
+ padding: 16px;
3
+ margin: -4px 0;
3
4
  }
@@ -1,11 +1,199 @@
1
- import React from 'react';
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
+ }
7
+ return t;
8
+ };
9
+ import React, { forwardRef, useLayoutEffect, useState, useRef } from 'react';
2
10
  import AntdUpload from 'antd/es/upload';
11
+ import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
12
+ import { ConfigConsumer } from 'antd/es/config-provider';
3
13
  import { connectReadonlyComponent } from '../connect';
14
+ import UploadSVG from './svg/UploadSVG';
15
+ import Ellipsis from '../ellipsis';
16
+ import '../message';
17
+ import Icon from '../icon';
18
+ import cn from 'classnames';
19
+ import './upload.less';
4
20
  import './style';
5
21
  export * from 'antd/es/upload';
6
- const Upload = connectReadonlyComponent(AntdUpload, props => React.createElement(AntdUpload, Object.assign({}, props, {
22
+ //头像
23
+ const TntdAvatar = forwardRef((props, ref) => {
24
+ const {
25
+ children,
26
+ listType,
27
+ avatar,
28
+ avatarStyle,
29
+ onChange: cusOnChange
30
+ } = props,
31
+ rest = __rest(props, ["children", "listType", "avatar", "avatarStyle", "onChange"]);
32
+ const [imageUrl, setImageUrl] = useState();
33
+ const [loading, setLoading] = useState(false);
34
+ const getBase64 = (img, callback) => {
35
+ const reader = new FileReader();
36
+ reader.addEventListener('load', () => callback(reader.result));
37
+ reader.readAsDataURL(img);
38
+ };
39
+ const handleChange = info => {
40
+ if (cusOnChange) {
41
+ cusOnChange(info);
42
+ }
43
+ getBase64(info.file.originFileObj, imageUrl => {
44
+ setImageUrl(imageUrl);
45
+ setLoading(false);
46
+ });
47
+ };
48
+ const uploadButton = React.createElement("div", {
49
+ className: "avatar-uploader-btn",
50
+ style: avatarStyle
51
+ }, React.createElement("img", {
52
+ src: imageUrl,
53
+ style: {
54
+ width: '100%',
55
+ height: '100%',
56
+ borderRadius: '100%',
57
+ background: 'white',
58
+ border: '2px solid #00000066'
59
+ }
60
+ }), React.createElement("div", {
61
+ className: "avatar-uploader-btn-mask"
62
+ }, React.createElement(Icon, {
63
+ type: loading ? 'loading' : 'picture'
64
+ })));
65
+ return React.createElement("div", {
66
+ className: cn({
67
+ 'tntd-upload-wrapper-avatar': avatar
68
+ })
69
+ }, React.createElement(AntdUpload, Object.assign({}, rest, {
70
+ ref: ref,
71
+ name: "avatar",
72
+ listType: "picture-card",
73
+ className: "avatar-uploader",
74
+ showUploadList: false,
75
+ onChange: handleChange
76
+ }), children || uploadButton));
77
+ });
78
+ //拖拽
79
+ const TntdDragger = forwardRef((_a, ref) => {
80
+ var {
81
+ className,
82
+ children,
83
+ hintText,
84
+ hintTitle
85
+ } = _a,
86
+ rest = __rest(_a, ["className", "children", "hintText", "hintTitle"]);
87
+ return React.createElement(LocaleReceiver, {
88
+ componentName: "Upload"
89
+ }, locale => {
90
+ return React.createElement(ConfigConsumer, null, ({
91
+ getPrefixCls
92
+ }) => {
93
+ const prefixCls = getPrefixCls('upload');
94
+ return React.createElement(AntdUpload.Dragger, Object.assign({}, rest, {
95
+ ref: ref,
96
+ className: `${className} tntd-upload-dragger`
97
+ }), children || React.createElement("div", {
98
+ className: "tntd-upload-dragger-body"
99
+ }, React.createElement(UploadSVG, null), React.createElement("p", {
100
+ className: "tntd-upload-dragger-text"
101
+ }, hintTitle || locale.hintTitle), !!hintText && React.createElement("p", {
102
+ className: "tntd-upload-dragger-hint"
103
+ }, hintText)));
104
+ });
105
+ });
106
+ });
107
+ //特殊处理照片墙
108
+ const TntdUpload = forwardRef((props, ref) => {
109
+ const {
110
+ fileList,
111
+ defaultFileList,
112
+ pictureCardTitle,
113
+ listType,
114
+ avatar
115
+ } = props;
116
+ const showList = fileList ? fileList : defaultFileList;
117
+ const uploadRef = useRef(null); // 新增的ref用于访问AntdUpload
118
+ useLayoutEffect(() => {
119
+ if (listType === 'picture-card' && pictureCardTitle && uploadRef.current) {
120
+ const container = uploadRef.current.querySelector('.ant-upload-list');
121
+ // 初次渲染时手动更新 ellipsis
122
+ const updateEllipsis = () => {
123
+ if (uploadRef.current) {
124
+ const updatedContainers = uploadRef.current.querySelectorAll(`.ant-upload-list-picture-card-container`);
125
+ const ellipsisElements = uploadRef.current.querySelectorAll(`.tntd-upload-ellipsis .tntd-ellipsis`);
126
+ if (updatedContainers.length === ellipsisElements.length) {
127
+ updatedContainers.forEach((item, index) => {
128
+ if (ellipsisElements[index] && !item.contains(ellipsisElements[index])) {
129
+ const existingEllipsis = item.querySelector('.tntd-ellipsis');
130
+ if (existingEllipsis) {
131
+ item.removeChild(existingEllipsis);
132
+ }
133
+ item.appendChild(ellipsisElements[index]);
134
+ }
135
+ });
136
+ }
137
+ }
138
+ };
139
+ const observer = new MutationObserver(mutationsList => {
140
+ for (const mutation of mutationsList) {
141
+ if (mutation.type === 'childList') {
142
+ // 处理 DOM 变化时的更新逻辑
143
+ updateEllipsis();
144
+ }
145
+ }
146
+ });
147
+ // 初次渲染时立即执行一次 updateEllipsis
148
+ updateEllipsis();
149
+ if (container) {
150
+ observer.observe(container, {
151
+ childList: true,
152
+ subtree: true
153
+ });
154
+ }
155
+ // 清理 observer
156
+ return () => {
157
+ observer.disconnect();
158
+ };
159
+ }
160
+ }, [listType, uploadRef, showList, pictureCardTitle]);
161
+ return React.createElement(ConfigConsumer, null, ({
162
+ getPrefixCls
163
+ }) => {
164
+ const prefixCls = getPrefixCls('upload');
165
+ return React.createElement("div", {
166
+ className: cn('tntd-upload-wrapper', {
167
+ 'tntd-upload-wrapper-picture-card': listType === 'picture-card' && pictureCardTitle
168
+ }),
169
+ ref: uploadRef
170
+ }, listType === 'picture-card' && avatar ? React.createElement(TntdAvatar, Object.assign({}, props, {
171
+ ref: ref
172
+ })) : React.createElement(AntdUpload, Object.assign({}, props, {
173
+ ref: ref
174
+ })), React.createElement("div", {
175
+ className: "tntd-upload-ellipsis",
176
+ style: {
177
+ visibility: 'hidden',
178
+ position: 'absolute'
179
+ },
180
+ key: JSON.stringify(showList)
181
+ }, listType === 'picture-card' && pictureCardTitle && (showList === null || showList === void 0 ? void 0 : showList.map(item => {
182
+ return React.createElement(Ellipsis, {
183
+ title: item.name,
184
+ widthLimit: 104,
185
+ className: `tntd-upload-list-Ellipsis uid-${item.uid}`,
186
+ style: {
187
+ width: 104
188
+ }
189
+ });
190
+ }))));
191
+ });
192
+ });
193
+ const Upload = connectReadonlyComponent(TntdUpload, props => React.createElement(AntdUpload, Object.assign({}, props, {
7
194
  disabled: true
8
195
  })));
9
196
  // @ts-ignore
10
- Upload.Dragger = AntdUpload.Dragger;
197
+ Upload.Dragger = TntdDragger;
198
+ // Upload.Dragger = AntdUpload.Dragger
11
199
  export default Upload;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,SAAS,CAAA;AAEhB,cAAc,gBAAgB,CAAA;AAM9B,MAAM,MAAM,GAA+B,wBAAwB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CACzF,oBAAC,UAAU,oBAAK,KAAK,IAAE,QAAQ,UAAG,CACnC,CAAC,CAAA;AAEF,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;AAEnC,eAAe,MAAM,CAAA","sourcesContent":["import React, { ComponentType } from 'react'\nimport AntdUpload from 'antd/es/upload'\nimport type { UploadProps as AntdUploadProps } from 'antd/lib/upload'\nimport { connectReadonlyComponent } from '../connect'\n\nimport './style'\n\nexport * from 'antd/es/upload'\n\nexport type UploadProps = AntdUploadProps & {\n readonly?: boolean\n}\n\nconst Upload: ComponentType<UploadProps> = connectReadonlyComponent(AntdUpload, (props) => (\n <AntdUpload {...props} disabled />\n))\n\n// @ts-ignore\nUpload.Dragger = AntdUpload.Dragger\n\nexport default Upload\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upload/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {\n ComponentType,\n forwardRef,\n useEffect,\n useLayoutEffect,\n useState,\n useRef,\n} from 'react'\nimport AntdUpload from 'antd/es/upload'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type { UploadProps as AntdUploadProps, UploadChangeParam, RcFile } from 'antd/lib/upload'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { connectReadonlyComponent } from '../connect'\nimport UploadSVG from './svg/UploadSVG'\nimport Ellipsis from '../ellipsis'\nimport message from '../message'\nimport Icon from '../icon'\nimport cn from 'classnames'\nimport './upload.less'\nimport './style'\n\nexport * from 'antd/es/upload'\n\nexport type UploadProps = AntdUploadProps & {\n readonly?: boolean\n}\n\n//头像\nconst TntdAvatar = forwardRef<\n AntdUpload,\n UploadProps & { avatar?: boolean; avatarStyle?: React.CSSProperties }\n>((props, ref) => {\n const { children, listType, avatar, avatarStyle, onChange: cusOnChange, ...rest } = props\n const [imageUrl, setImageUrl] = useState<string>()\n const [loading, setLoading] = useState(false)\n const getBase64 = (\n img: Blob,\n callback: { (imageUrl: string): void; (arg0: string | ArrayBuffer | null): any }\n ) => {\n const reader = new FileReader()\n reader.addEventListener('load', () => callback(reader.result))\n reader.readAsDataURL(img)\n }\n\n const handleChange = (info: UploadChangeParam<any>) => {\n if (cusOnChange) {\n cusOnChange(info)\n }\n getBase64(info.file.originFileObj, (imageUrl) => {\n setImageUrl(imageUrl as string)\n setLoading(false)\n })\n }\n\n const uploadButton = (\n <div className=\"avatar-uploader-btn\" style={avatarStyle}>\n <img\n src={imageUrl}\n style={{\n width: '100%',\n height: '100%',\n borderRadius: '100%',\n background: 'white',\n border: '2px solid #00000066',\n }}\n />\n <div className=\"avatar-uploader-btn-mask\">\n <Icon type={loading ? 'loading' : 'picture'} />\n </div>\n </div>\n )\n\n return (\n <div\n className={cn({\n 'tntd-upload-wrapper-avatar': avatar,\n })}\n >\n <AntdUpload\n {...rest}\n ref={ref}\n name=\"avatar\"\n listType=\"picture-card\"\n className=\"avatar-uploader\"\n showUploadList={false}\n onChange={handleChange}\n >\n {children || uploadButton}\n </AntdUpload>\n </div>\n )\n})\n\n//拖拽\nconst TntdDragger = forwardRef<AntdUpload, UploadProps & { hintText?: string; hintTitle?: string }>(\n ({ className, children, hintText, hintTitle, ...rest }, ref) => {\n return (\n <LocaleReceiver componentName=\"Upload\">\n {(locale) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('upload')\n return (\n <AntdUpload.Dragger\n {...rest}\n ref={ref}\n className={`${className} tntd-upload-dragger`}\n >\n {children || (\n <div className=\"tntd-upload-dragger-body\">\n <UploadSVG />\n <p className=\"tntd-upload-dragger-text\">\n {hintTitle || (locale as Record<'hintTitle', object>).hintTitle}\n </p>\n {!!hintText && <p className=\"tntd-upload-dragger-hint\">{hintText}</p>}\n </div>\n )}\n </AntdUpload.Dragger>\n )\n }}\n </ConfigConsumer>\n )\n }}\n </LocaleReceiver>\n )\n }\n)\n\n//特殊处理照片墙\nconst TntdUpload = forwardRef<\n AntdUpload,\n UploadProps & {\n pictureCardTitle?: boolean\n pictureCardId?: string\n avatar?: boolean\n avatarStyle?: React.CSSProperties\n }\n>((props, ref) => {\n const { fileList, defaultFileList, pictureCardTitle, listType, avatar } = props\n const showList = fileList ? fileList : defaultFileList\n const uploadRef = useRef<HTMLDivElement>(null) // 新增的ref用于访问AntdUpload\n\n useLayoutEffect(() => {\n if (listType === 'picture-card' && pictureCardTitle && uploadRef.current) {\n const container = uploadRef.current.querySelector('.ant-upload-list')\n // 初次渲染时手动更新 ellipsis\n const updateEllipsis = () => {\n if (uploadRef.current) {\n const updatedContainers = uploadRef.current.querySelectorAll(\n `.ant-upload-list-picture-card-container`\n )\n const ellipsisElements = uploadRef.current.querySelectorAll(\n `.tntd-upload-ellipsis .tntd-ellipsis`\n )\n\n if (updatedContainers.length === ellipsisElements.length) {\n updatedContainers.forEach((item, index) => {\n if (ellipsisElements[index] && !item.contains(ellipsisElements[index])) {\n const existingEllipsis = item.querySelector('.tntd-ellipsis')\n if (existingEllipsis) {\n item.removeChild(existingEllipsis)\n }\n item.appendChild(ellipsisElements[index])\n }\n })\n }\n }\n }\n\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n // 处理 DOM 变化时的更新逻辑\n updateEllipsis()\n }\n }\n })\n\n // 初次渲染时立即执行一次 updateEllipsis\n updateEllipsis()\n\n if (container) {\n observer.observe(container, { childList: true, subtree: true })\n }\n\n // 清理 observer\n return () => {\n observer.disconnect()\n }\n }\n }, [listType, uploadRef, showList, pictureCardTitle])\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('upload')\n return (\n <div\n className={cn('tntd-upload-wrapper', {\n 'tntd-upload-wrapper-picture-card': listType === 'picture-card' && pictureCardTitle,\n })}\n ref={uploadRef}\n >\n {listType === 'picture-card' && avatar ? (\n <TntdAvatar {...props} ref={ref} />\n ) : (\n <AntdUpload {...props} ref={ref} />\n )}\n <div\n className=\"tntd-upload-ellipsis\"\n style={{ visibility: 'hidden', position: 'absolute' }}\n key={JSON.stringify(showList)}\n >\n {listType === 'picture-card' &&\n pictureCardTitle &&\n showList?.map((item) => {\n return (\n <Ellipsis\n title={item.name}\n widthLimit={104}\n className={`tntd-upload-list-Ellipsis uid-${item.uid}`}\n style={{ width: 104 }}\n />\n )\n })}\n </div>\n </div>\n )\n }}\n </ConfigConsumer>\n )\n})\n\nconst Upload: ComponentType<UploadProps> = connectReadonlyComponent(TntdUpload, (props) => (\n <AntdUpload {...props} disabled />\n))\n\n// @ts-ignore\nUpload.Dragger = TntdDragger\n// Upload.Dragger = AntdUpload.Dragger\n\nexport default Upload\n"]}
@@ -68,7 +68,7 @@
68
68
  height: 100%;
69
69
  text-align: center;
70
70
  background: @background-color-light;
71
- border: @border-width-base dashed @border-color-base;
71
+ border: @border-width-base dashed transparent;
72
72
  border-radius: @border-radius-base;
73
73
  cursor: pointer;
74
74
  transition: border-color 0.3s;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ export default (props => {
3
+ return React.createElement("svg", {
4
+ width: "48",
5
+ height: "48",
6
+ viewBox: "0 0 48 48",
7
+ fill: "none",
8
+ xmlns: "http://www.w3.org/2000/svg"
9
+ }, React.createElement("path", {
10
+ d: "M45 24C45 35.5969 35.5969 45 24 45C22.4016 45 20.85 44.8219 19.3547 44.4844L19.2281 44.4563C9.92813 42.2953 3 33.9562 3 24C3 12.4031 12.4031 3 24 3C33.8391 3 42.1031 9.76875 44.3766 18.9047C44.7844 20.5359 45 22.2422 45 24Z",
11
+ fill: "#B5DBFF"
12
+ }), React.createElement("path", {
13
+ d: "M34.4321 38.2172H13.5895C12.1693 38.2172 11.0073 37.0552 11.0073 35.635V17.224C11.0073 15.8038 12.1693 14.6418 13.5895 14.6418H34.4321C35.8523 14.6418 37.0142 15.8038 37.0142 17.224V35.635C37.0142 37.0552 35.8523 38.2172 34.4321 38.2172Z",
14
+ fill: "#126BFB"
15
+ }), React.createElement("path", {
16
+ d: "M26.4445 36.1859H16.133C14.7085 36.1859 13.5508 35.0283 13.5508 33.6038V10.9149C13.5508 9.49044 14.7085 8.33276 16.133 8.33276H31.8628C33.2873 8.33276 34.445 9.49044 34.445 10.9149V26.8858L26.4445 36.1859Z",
17
+ fill: "url(#paint0_linear_2468_29199)"
18
+ }), React.createElement("path", {
19
+ d: "M37.0069 21.5285V35.6359C37.0069 37.0561 35.8449 38.2181 34.4247 38.2181H13.5822C12.162 38.2181 11 37.0561 11 35.6359V17.2249C11 15.8047 12.162 14.6427 13.5822 14.6427H19.461L23.9927 18.9463H34.4247C35.8449 18.9463 37.0069 20.1083 37.0069 21.5285Z",
20
+ fill: "#3B8CFF"
21
+ }), React.createElement("path", {
22
+ d: "M28.3297 30.2857H26.1477V34.1719C26.1477 34.6453 25.7604 35.0327 25.287 35.0327H22.7134C22.24 35.0327 21.8527 34.6453 21.8527 34.1719V30.2857H19.6707C18.9649 30.2857 18.5604 29.481 18.9778 28.9129L23.3073 23.0384C23.4795 22.8017 23.7463 22.6855 24.0088 22.6898C24.267 22.6941 24.5209 22.8103 24.6888 23.0384L29.0182 28.9129C29.4443 29.481 29.0355 30.2857 28.3297 30.2857Z",
23
+ fill: "white"
24
+ }), React.createElement("defs", null, React.createElement("linearGradient", {
25
+ id: "paint0_linear_2468_29199",
26
+ x1: "18.5",
27
+ y1: "4",
28
+ x2: "24",
29
+ y2: "17",
30
+ gradientUnits: "userSpaceOnUse"
31
+ }, React.createElement("stop", {
32
+ "stop-color": "#E6F4FF"
33
+ }), React.createElement("stop", {
34
+ offset: "1",
35
+ "stop-color": "white"
36
+ }))));
37
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadSVG.js","sourceRoot":"","sources":["../../../src/upload/svg/UploadSVG.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAe,CAAC,KAAK,EAAE,EAAE;IACvB,OAAO,CACL,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;QAC9F,8BAAM,CAAC,EAAC,iOAAiO,EAAC,IAAI,EAAC,SAAS,GAAE;QAC1P,8BAAM,CAAC,EAAC,+OAA+O,EAAC,IAAI,EAAC,SAAS,GAAE;QACxQ,8BAAM,CAAC,EAAC,+MAA+M,EAAC,IAAI,EAAC,gCAAgC,GAAE;QAC/P,8BAAM,CAAC,EAAC,yPAAyP,EAAC,IAAI,EAAC,SAAS,GAAE;QAClR,8BAAM,CAAC,EAAC,qXAAqX,EAAC,IAAI,EAAC,OAAO,GAAE;QAC5Y;YACA,wCAAgB,EAAE,EAAC,0BAA0B,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,aAAa,EAAC,gBAAgB;gBAC7G,4CAAiB,SAAS,GAAE;gBAC5B,8BAAM,MAAM,EAAC,GAAG,gBAAY,OAAO,GAAE,CACpB,CACV,CACD,CAEP,CAAA;AACH,CAAC,CAAA","sourcesContent":["import React from 'react'\n\nexport default (props) => {\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M45 24C45 35.5969 35.5969 45 24 45C22.4016 45 20.85 44.8219 19.3547 44.4844L19.2281 44.4563C9.92813 42.2953 3 33.9562 3 24C3 12.4031 12.4031 3 24 3C33.8391 3 42.1031 9.76875 44.3766 18.9047C44.7844 20.5359 45 22.2422 45 24Z\" fill=\"#B5DBFF\"/>\n <path d=\"M34.4321 38.2172H13.5895C12.1693 38.2172 11.0073 37.0552 11.0073 35.635V17.224C11.0073 15.8038 12.1693 14.6418 13.5895 14.6418H34.4321C35.8523 14.6418 37.0142 15.8038 37.0142 17.224V35.635C37.0142 37.0552 35.8523 38.2172 34.4321 38.2172Z\" fill=\"#126BFB\"/>\n <path d=\"M26.4445 36.1859H16.133C14.7085 36.1859 13.5508 35.0283 13.5508 33.6038V10.9149C13.5508 9.49044 14.7085 8.33276 16.133 8.33276H31.8628C33.2873 8.33276 34.445 9.49044 34.445 10.9149V26.8858L26.4445 36.1859Z\" fill=\"url(#paint0_linear_2468_29199)\"/>\n <path d=\"M37.0069 21.5285V35.6359C37.0069 37.0561 35.8449 38.2181 34.4247 38.2181H13.5822C12.162 38.2181 11 37.0561 11 35.6359V17.2249C11 15.8047 12.162 14.6427 13.5822 14.6427H19.461L23.9927 18.9463H34.4247C35.8449 18.9463 37.0069 20.1083 37.0069 21.5285Z\" fill=\"#3B8CFF\"/>\n <path d=\"M28.3297 30.2857H26.1477V34.1719C26.1477 34.6453 25.7604 35.0327 25.287 35.0327H22.7134C22.24 35.0327 21.8527 34.6453 21.8527 34.1719V30.2857H19.6707C18.9649 30.2857 18.5604 29.481 18.9778 28.9129L23.3073 23.0384C23.4795 22.8017 23.7463 22.6855 24.0088 22.6898C24.267 22.6941 24.5209 22.8103 24.6888 23.0384L29.0182 28.9129C29.4443 29.481 29.0355 30.2857 28.3297 30.2857Z\" fill=\"white\"/>\n <defs>\n <linearGradient id=\"paint0_linear_2468_29199\" x1=\"18.5\" y1=\"4\" x2=\"24\" y2=\"17\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#E6F4FF\"/>\n <stop offset=\"1\" stop-color=\"white\"/>\n </linearGradient>\n </defs>\n </svg>\n \n )\n}\n"]}
@@ -0,0 +1,108 @@
1
+ //拖拽上传
2
+ .tntd-upload-dragger-body{
3
+ display: flex;
4
+ flex-direction: column;
5
+ justify-content: center;
6
+ align-items: center;
7
+ .tntd-upload-dragger-text{
8
+ margin-top: 16px;
9
+ font-family: PingFang SC;
10
+ font-size: 14px;
11
+ font-weight: 400;
12
+ line-height: 22px;
13
+ }
14
+ .tntd-upload-dragger-hint{
15
+ //styleName: Body1-12/Regular;
16
+ font-family: PingFang SC;
17
+ font-size: 12px;
18
+ font-weight: 400;
19
+ line-height: 20px;
20
+ text-align: left;
21
+ color: #8B919E
22
+ }
23
+ }
24
+
25
+ //照片墙
26
+ .tntd-upload-wrapper-picture-card{
27
+ .ant-upload-list-picture-card-container{
28
+ height: auto;
29
+ .ant-upload-list-item-error{
30
+ background-color: #F8F9FB;
31
+ .anticon-picture{
32
+ svg{
33
+ margin: 20px;
34
+ }
35
+ path:nth-child(1){
36
+ fill: #17233D;
37
+ }
38
+ path:nth-child(2){
39
+ fill: transparent;
40
+ }
41
+ path:nth-child(3){
42
+ fill: transparent;
43
+ }
44
+ path:nth-child(4){
45
+ fill: transparent;
46
+ }
47
+ path:nth-child(5){
48
+ fill: #17233D;
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ //头像
56
+ .tntd-upload-wrapper-avatar{
57
+ .ant-upload-picture-card-wrapper{
58
+ // width: 52px;
59
+ // height: 52px;
60
+ // border-radius: 50%;
61
+ width: auto;
62
+ height: auto;
63
+ // background-color: red;
64
+ .ant-upload.ant-upload-select-picture-card{
65
+ margin: 0;
66
+ width: auto;
67
+ height: auto;
68
+ border: transparent;
69
+ background-color: #fff;
70
+ .ant-upload{
71
+ padding: 0;
72
+ }
73
+ .avatar-uploader-btn{
74
+ width: 52px;
75
+ height: 52px;
76
+ border-radius: 50%;
77
+ background-size: cover;
78
+ position: relative;
79
+ }
80
+ .avatar-uploader-btn:hover .avatar-uploader-btn-mask{
81
+ display: flex;
82
+ }
83
+ .avatar-uploader-btn-mask{
84
+ width: calc(100% + 4px);
85
+ height: calc(100% + 4px);
86
+ background-color: rgba(0, 0, 0, 0.2);
87
+ position: absolute;
88
+ border-radius: 50%;
89
+ top: 0;
90
+ display: flex;
91
+ justify-content: center;
92
+ align-items: center;
93
+ color: white;
94
+ display: none;
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ .tntd-upload-list-Ellipsis.min-width-0{
101
+ text-align: center;
102
+ min-width: 1px;
103
+ }
104
+ .ant-upload-list-item-error{
105
+ .anticon.anticon-paper-clip{
106
+ color: #17233D;
107
+ }
108
+ }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.defaultIconPrefixCls = exports.ConfigContext = exports.ConfigConsumer = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
9
  var defaultGetPrefixCls = function defaultGetPrefixCls(suffixCls, customizePrefixCls) {
10
10
  if (customizePrefixCls) return customizePrefixCls;
11
11
  return "tnt-".concat(suffixCls);
@@ -8,7 +8,7 @@ exports["default"] = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _context = require("./context");
10
10
  var _LocaleReceiver = _interopRequireDefault(require("antd/lib/locale-provider/LocaleReceiver"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
14
  /*
@@ -9,12 +9,12 @@ var React = _interopRequireWildcard(require("react"));
9
9
  var _styleChecker = require("../styleChecker");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
13
13
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
16
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
18
18
  var _default = exports["default"] = function _default() {
19
19
  var _React$useState = React.useState(false),
20
20
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -8,12 +8,12 @@ exports["default"] = useForceUpdate;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
17
  function useForceUpdate() {
18
18
  var _React$useReducer = React.useReducer(function (x) {
19
19
  return x + 1;