tdesign-react 0.35.2-alpha.1 → 0.35.2-alpha.4

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 (540) hide show
  1. package/dist/tdesign.css +35 -1
  2. package/dist/tdesign.css.map +1 -1
  3. package/dist/tdesign.js +1503 -1249
  4. package/dist/tdesign.js.map +1 -1
  5. package/dist/tdesign.min.css +1 -1
  6. package/dist/tdesign.min.css.map +1 -1
  7. package/dist/tdesign.min.js +3 -3
  8. package/dist/tdesign.min.js.map +1 -1
  9. package/{esm/_chunks/dep-77304ace.js → es/_chunks/dep-30c0a7bc.js} +2 -2
  10. package/es/_chunks/{dep-77304ace.js.map → dep-30c0a7bc.js.map} +1 -1
  11. package/es/_chunks/{dep-daaa76c2.js → dep-7cc0a2e2.js} +2 -2
  12. package/es/_chunks/{dep-daaa76c2.js.map → dep-7cc0a2e2.js.map} +1 -1
  13. package/es/_chunks/{dep-2dcbb9b7.js → dep-85b223d3.js} +2 -2
  14. package/{esm/_chunks/dep-2dcbb9b7.js.map → es/_chunks/dep-85b223d3.js.map} +1 -1
  15. package/es/_chunks/{dep-16cb7f3b.js → dep-aa5a02ef.js} +6 -3
  16. package/es/_chunks/dep-aa5a02ef.js.map +1 -0
  17. package/es/_chunks/{dep-5bfc1a42.js → dep-e97e29d5.js} +22 -4
  18. package/es/_chunks/dep-e97e29d5.js.map +1 -0
  19. package/es/_common/js/tabs/base.js +1 -1
  20. package/es/_common/js/tabs/base.js.map +1 -1
  21. package/es/_common/js/tree/tree-node-model.js +2 -3
  22. package/es/_common/js/tree/tree-node-model.js.map +1 -1
  23. package/es/_common/js/tree/tree-node.d.ts +1 -1
  24. package/es/_common/js/tree/tree-node.js +4 -5
  25. package/es/_common/js/tree/tree-node.js.map +1 -1
  26. package/es/_common/js/tree/tree-store.d.ts +1 -1
  27. package/es/_common/js/tree/tree-store.js +7 -8
  28. package/es/_common/js/tree/tree-store.js.map +1 -1
  29. package/es/_common/js/upload/xhr.js +1 -1
  30. package/es/_common/js/upload/xhr.js.map +1 -1
  31. package/es/calendar/Calendar.js +3 -4
  32. package/es/calendar/Calendar.js.map +1 -1
  33. package/es/calendar/index.js +3 -4
  34. package/es/calendar/index.js.map +1 -1
  35. package/es/cascader/Cascader.js +3 -4
  36. package/es/cascader/Cascader.js.map +1 -1
  37. package/es/cascader/index.js +3 -4
  38. package/es/cascader/index.js.map +1 -1
  39. package/es/cascader/interface.js +2 -3
  40. package/es/cascader/interface.js.map +1 -1
  41. package/es/color-picker/ColorPicker.js +3 -4
  42. package/es/color-picker/ColorPicker.js.map +1 -1
  43. package/es/color-picker/ColorPickerPanel.js +3 -4
  44. package/es/color-picker/ColorPickerPanel.js.map +1 -1
  45. package/es/color-picker/components/panel/format/index.js +2 -3
  46. package/es/color-picker/components/panel/format/index.js.map +1 -1
  47. package/es/color-picker/components/panel/header.js +1 -1
  48. package/es/color-picker/components/panel/index.js +3 -4
  49. package/es/color-picker/components/panel/index.js.map +1 -1
  50. package/es/color-picker/index.js +3 -4
  51. package/es/color-picker/index.js.map +1 -1
  52. package/es/date-picker/DatePicker.js +2 -3
  53. package/es/date-picker/DatePicker.js.map +1 -1
  54. package/es/date-picker/DatePickerPanel.js +2 -3
  55. package/es/date-picker/DatePickerPanel.js.map +1 -1
  56. package/es/date-picker/DateRangePicker.js +2 -3
  57. package/es/date-picker/DateRangePicker.js.map +1 -1
  58. package/es/date-picker/DateRangePickerPanel.js +2 -3
  59. package/es/date-picker/DateRangePickerPanel.js.map +1 -1
  60. package/es/date-picker/base/Header.js +2 -3
  61. package/es/date-picker/base/Header.js.map +1 -1
  62. package/es/date-picker/index.js +2 -3
  63. package/es/date-picker/index.js.map +1 -1
  64. package/es/date-picker/panel/PanelContent.js +2 -3
  65. package/es/date-picker/panel/PanelContent.js.map +1 -1
  66. package/es/date-picker/panel/RangePanel.js +2 -3
  67. package/es/date-picker/panel/RangePanel.js.map +1 -1
  68. package/es/date-picker/panel/SinglePanel.js +2 -3
  69. package/es/date-picker/panel/SinglePanel.js.map +1 -1
  70. package/es/dropdown/Dropdown.js +2 -3
  71. package/es/dropdown/Dropdown.js.map +1 -1
  72. package/es/dropdown/index.js +2 -3
  73. package/es/dropdown/index.js.map +1 -1
  74. package/es/form/Form.js +11 -8
  75. package/es/form/Form.js.map +1 -1
  76. package/es/form/FormItem.d.ts +1 -5
  77. package/es/form/FormItem.js +1188 -34
  78. package/es/form/FormItem.js.map +1 -1
  79. package/es/form/const.d.ts +5 -0
  80. package/es/form/const.js +15 -0
  81. package/es/form/const.js.map +1 -0
  82. package/es/form/defaultProps.d.ts +2 -1
  83. package/es/form/defaultProps.js +2 -1
  84. package/es/form/defaultProps.js.map +1 -1
  85. package/es/form/formModel.d.ts +23 -1
  86. package/es/form/formModel.js +21 -33
  87. package/es/form/formModel.js.map +1 -1
  88. package/es/form/hooks/useFormItemStyle.js +103 -225
  89. package/es/form/hooks/useFormItemStyle.js.map +1 -1
  90. package/es/form/hooks/useInstance.d.ts +2 -1
  91. package/es/form/hooks/useInstance.js +120 -65
  92. package/es/form/hooks/useInstance.js.map +1 -1
  93. package/es/form/index.js +9 -8
  94. package/es/form/index.js.map +1 -1
  95. package/es/form/type.d.ts +22 -11
  96. package/es/form/useInitialData.js +4 -5
  97. package/es/form/useInitialData.js.map +1 -1
  98. package/es/index.d.ts +1 -0
  99. package/es/index.js +12 -7
  100. package/es/index.js.map +1 -1
  101. package/es/pagination/Pagination.js +3 -4
  102. package/es/pagination/Pagination.js.map +1 -1
  103. package/es/pagination/index.js +3 -4
  104. package/es/pagination/index.js.map +1 -1
  105. package/es/radio/Radio.js +1 -1
  106. package/es/radio/RadioGroup.d.ts +2 -1
  107. package/es/radio/RadioGroup.js +1 -1
  108. package/es/radio/index.js +1 -1
  109. package/es/select/base/Select.js +2 -3
  110. package/es/select/base/Select.js.map +1 -1
  111. package/es/select/index.js +2 -3
  112. package/es/select/index.js.map +1 -1
  113. package/es/select-input/SelectInput.js +2 -3
  114. package/es/select-input/SelectInput.js.map +1 -1
  115. package/es/select-input/index.js +2 -3
  116. package/es/select-input/index.js.map +1 -1
  117. package/es/select-input/useSingle.js +2 -3
  118. package/es/select-input/useSingle.js.map +1 -1
  119. package/es/space/Space.d.ts +8 -0
  120. package/{esm/addon/Addon.js → es/space/Space.js} +53 -44
  121. package/es/space/Space.js.map +1 -0
  122. package/es/space/defaultProps.d.ts +5 -0
  123. package/es/space/defaultProps.js +14 -0
  124. package/es/space/defaultProps.js.map +1 -0
  125. package/es/space/index.d.ts +6 -0
  126. package/es/space/index.js +45 -0
  127. package/es/space/index.js.map +1 -0
  128. package/es/space/style/css.d.ts +1 -0
  129. package/es/space/style/css.js +1 -0
  130. package/es/space/style/index.css +31 -0
  131. package/es/space/style/index.d.ts +1 -0
  132. package/es/space/style/index.js +7 -0
  133. package/es/space/style/index.js.map +1 -0
  134. package/es/space/type.d.ts +30 -0
  135. package/es/space/type.js +7 -0
  136. package/es/space/type.js.map +1 -0
  137. package/es/style/index.css +3 -1
  138. package/es/table/BaseTable.js +3 -4
  139. package/es/table/BaseTable.js.map +1 -1
  140. package/es/table/EnhancedTable.js +4 -5
  141. package/es/table/EnhancedTable.js.map +1 -1
  142. package/es/table/FilterController.js +1 -1
  143. package/es/table/PrimaryTable.js +4 -5
  144. package/es/table/PrimaryTable.js.map +1 -1
  145. package/es/table/TBody.js +2 -3
  146. package/es/table/TBody.js.map +1 -1
  147. package/es/table/hooks/useAsyncLoading.js +1 -0
  148. package/es/table/hooks/useAsyncLoading.js.map +1 -1
  149. package/es/table/hooks/useFilter.js +1 -1
  150. package/es/table/hooks/usePagination.js +3 -4
  151. package/es/table/hooks/usePagination.js.map +1 -1
  152. package/es/table/hooks/useRowSelect.js +1 -1
  153. package/es/table/index.js +4 -5
  154. package/es/table/index.js.map +1 -1
  155. package/es/time-picker/TimePicker.js +2 -3
  156. package/es/time-picker/TimePicker.js.map +1 -1
  157. package/es/time-picker/index.js +2 -3
  158. package/es/time-picker/index.js.map +1 -1
  159. package/es/transfer/Transfer.js +5 -6
  160. package/es/transfer/Transfer.js.map +1 -1
  161. package/es/transfer/TransferList.js +3 -4
  162. package/es/transfer/TransferList.js.map +1 -1
  163. package/es/transfer/index.js +5 -6
  164. package/es/transfer/index.js.map +1 -1
  165. package/es/tree/Tree.js +3 -4
  166. package/es/tree/Tree.js.map +1 -1
  167. package/es/tree/index.js +3 -4
  168. package/es/tree/index.js.map +1 -1
  169. package/es/tree/useStore.js +3 -4
  170. package/es/tree/useStore.js.map +1 -1
  171. package/es/tree-select/TreeSelect.js +3 -4
  172. package/es/tree-select/TreeSelect.js.map +1 -1
  173. package/es/tree-select/index.js +3 -4
  174. package/es/tree-select/index.js.map +1 -1
  175. package/es/tree-select/useTreeSelectPassthoughProps.js +2 -3
  176. package/es/tree-select/useTreeSelectPassthoughProps.js.map +1 -1
  177. package/es/tree-select/useTreeSelectUtils.js +4 -5
  178. package/es/tree-select/useTreeSelectUtils.js.map +1 -1
  179. package/{es/_chunks/dep-77304ace.js → esm/_chunks/dep-30c0a7bc.js} +2 -2
  180. package/esm/_chunks/{dep-77304ace.js.map → dep-30c0a7bc.js.map} +1 -1
  181. package/esm/_chunks/{dep-daaa76c2.js → dep-7cc0a2e2.js} +2 -2
  182. package/esm/_chunks/{dep-daaa76c2.js.map → dep-7cc0a2e2.js.map} +1 -1
  183. package/esm/_chunks/{dep-2dcbb9b7.js → dep-85b223d3.js} +2 -2
  184. package/{es/_chunks/dep-2dcbb9b7.js.map → esm/_chunks/dep-85b223d3.js.map} +1 -1
  185. package/esm/_chunks/{dep-16cb7f3b.js → dep-aa5a02ef.js} +6 -3
  186. package/esm/_chunks/dep-aa5a02ef.js.map +1 -0
  187. package/esm/_chunks/{dep-5bfc1a42.js → dep-e97e29d5.js} +22 -4
  188. package/esm/_chunks/dep-e97e29d5.js.map +1 -0
  189. package/esm/_common/js/tabs/base.js +1 -1
  190. package/esm/_common/js/tabs/base.js.map +1 -1
  191. package/esm/_common/js/tree/tree-node-model.js +2 -3
  192. package/esm/_common/js/tree/tree-node-model.js.map +1 -1
  193. package/esm/_common/js/tree/tree-node.d.ts +1 -1
  194. package/esm/_common/js/tree/tree-node.js +4 -5
  195. package/esm/_common/js/tree/tree-node.js.map +1 -1
  196. package/esm/_common/js/tree/tree-store.d.ts +1 -1
  197. package/esm/_common/js/tree/tree-store.js +7 -8
  198. package/esm/_common/js/tree/tree-store.js.map +1 -1
  199. package/esm/_common/js/upload/xhr.js +1 -1
  200. package/esm/_common/js/upload/xhr.js.map +1 -1
  201. package/esm/_common/style/web/_reset.less +3 -1
  202. package/esm/_common/style/web/components/space/_index.less +27 -0
  203. package/esm/_common/style/web/components/space/_var.less +0 -0
  204. package/esm/_common/style/web/components/swiper/_docs.less +2 -2
  205. package/esm/calendar/Calendar.js +3 -4
  206. package/esm/calendar/Calendar.js.map +1 -1
  207. package/esm/calendar/index.js +3 -4
  208. package/esm/calendar/index.js.map +1 -1
  209. package/esm/cascader/Cascader.js +3 -4
  210. package/esm/cascader/Cascader.js.map +1 -1
  211. package/esm/cascader/index.js +3 -4
  212. package/esm/cascader/index.js.map +1 -1
  213. package/esm/cascader/interface.js +2 -3
  214. package/esm/cascader/interface.js.map +1 -1
  215. package/esm/color-picker/ColorPicker.js +3 -4
  216. package/esm/color-picker/ColorPicker.js.map +1 -1
  217. package/esm/color-picker/ColorPickerPanel.js +3 -4
  218. package/esm/color-picker/ColorPickerPanel.js.map +1 -1
  219. package/esm/color-picker/components/panel/format/index.js +2 -3
  220. package/esm/color-picker/components/panel/format/index.js.map +1 -1
  221. package/esm/color-picker/components/panel/header.js +1 -1
  222. package/esm/color-picker/components/panel/index.js +3 -4
  223. package/esm/color-picker/components/panel/index.js.map +1 -1
  224. package/esm/color-picker/index.js +3 -4
  225. package/esm/color-picker/index.js.map +1 -1
  226. package/esm/date-picker/DatePicker.js +2 -3
  227. package/esm/date-picker/DatePicker.js.map +1 -1
  228. package/esm/date-picker/DatePickerPanel.js +2 -3
  229. package/esm/date-picker/DatePickerPanel.js.map +1 -1
  230. package/esm/date-picker/DateRangePicker.js +2 -3
  231. package/esm/date-picker/DateRangePicker.js.map +1 -1
  232. package/esm/date-picker/DateRangePickerPanel.js +2 -3
  233. package/esm/date-picker/DateRangePickerPanel.js.map +1 -1
  234. package/esm/date-picker/base/Header.js +2 -3
  235. package/esm/date-picker/base/Header.js.map +1 -1
  236. package/esm/date-picker/index.js +2 -3
  237. package/esm/date-picker/index.js.map +1 -1
  238. package/esm/date-picker/panel/PanelContent.js +2 -3
  239. package/esm/date-picker/panel/PanelContent.js.map +1 -1
  240. package/esm/date-picker/panel/RangePanel.js +2 -3
  241. package/esm/date-picker/panel/RangePanel.js.map +1 -1
  242. package/esm/date-picker/panel/SinglePanel.js +2 -3
  243. package/esm/date-picker/panel/SinglePanel.js.map +1 -1
  244. package/esm/dropdown/Dropdown.js +2 -3
  245. package/esm/dropdown/Dropdown.js.map +1 -1
  246. package/esm/dropdown/index.js +2 -3
  247. package/esm/dropdown/index.js.map +1 -1
  248. package/esm/form/Form.js +11 -8
  249. package/esm/form/Form.js.map +1 -1
  250. package/esm/form/FormItem.d.ts +1 -5
  251. package/esm/form/FormItem.js +1188 -34
  252. package/esm/form/FormItem.js.map +1 -1
  253. package/esm/form/const.d.ts +5 -0
  254. package/esm/form/const.js +15 -0
  255. package/esm/form/const.js.map +1 -0
  256. package/esm/form/defaultProps.d.ts +2 -1
  257. package/esm/form/defaultProps.js +2 -1
  258. package/esm/form/defaultProps.js.map +1 -1
  259. package/esm/form/formModel.d.ts +23 -1
  260. package/esm/form/formModel.js +21 -33
  261. package/esm/form/formModel.js.map +1 -1
  262. package/esm/form/hooks/useFormItemStyle.js +103 -237
  263. package/esm/form/hooks/useFormItemStyle.js.map +1 -1
  264. package/esm/form/hooks/useInstance.d.ts +2 -1
  265. package/esm/form/hooks/useInstance.js +120 -65
  266. package/esm/form/hooks/useInstance.js.map +1 -1
  267. package/esm/form/index.js +9 -8
  268. package/esm/form/index.js.map +1 -1
  269. package/esm/form/type.d.ts +22 -11
  270. package/esm/form/useInitialData.js +4 -5
  271. package/esm/form/useInitialData.js.map +1 -1
  272. package/esm/index.d.ts +1 -0
  273. package/esm/index.js +13 -7
  274. package/esm/index.js.map +1 -1
  275. package/esm/pagination/Pagination.js +3 -4
  276. package/esm/pagination/Pagination.js.map +1 -1
  277. package/esm/pagination/index.js +3 -4
  278. package/esm/pagination/index.js.map +1 -1
  279. package/esm/radio/Radio.js +1 -1
  280. package/esm/radio/RadioGroup.d.ts +2 -1
  281. package/esm/radio/RadioGroup.js +1 -1
  282. package/esm/radio/index.js +1 -1
  283. package/esm/select/base/Select.js +2 -3
  284. package/esm/select/base/Select.js.map +1 -1
  285. package/esm/select/index.js +2 -3
  286. package/esm/select/index.js.map +1 -1
  287. package/esm/select-input/SelectInput.js +2 -3
  288. package/esm/select-input/SelectInput.js.map +1 -1
  289. package/esm/select-input/index.js +2 -3
  290. package/esm/select-input/index.js.map +1 -1
  291. package/esm/select-input/useSingle.js +2 -3
  292. package/esm/select-input/useSingle.js.map +1 -1
  293. package/esm/space/Space.d.ts +8 -0
  294. package/{es/addon/Addon.js → esm/space/Space.js} +53 -44
  295. package/esm/space/Space.js.map +1 -0
  296. package/esm/space/defaultProps.d.ts +5 -0
  297. package/esm/space/defaultProps.js +14 -0
  298. package/esm/space/defaultProps.js.map +1 -0
  299. package/esm/space/index.d.ts +6 -0
  300. package/esm/space/index.js +45 -0
  301. package/esm/space/index.js.map +1 -0
  302. package/esm/space/style/css.d.ts +1 -0
  303. package/esm/space/style/index.d.ts +1 -0
  304. package/esm/space/style/index.js +1 -0
  305. package/esm/space/type.d.ts +30 -0
  306. package/esm/space/type.js +7 -0
  307. package/esm/space/type.js.map +1 -0
  308. package/esm/table/BaseTable.js +3 -4
  309. package/esm/table/BaseTable.js.map +1 -1
  310. package/esm/table/EnhancedTable.js +4 -5
  311. package/esm/table/EnhancedTable.js.map +1 -1
  312. package/esm/table/FilterController.js +1 -1
  313. package/esm/table/PrimaryTable.js +4 -5
  314. package/esm/table/PrimaryTable.js.map +1 -1
  315. package/esm/table/TBody.js +2 -3
  316. package/esm/table/TBody.js.map +1 -1
  317. package/esm/table/hooks/useAsyncLoading.js +1 -0
  318. package/esm/table/hooks/useAsyncLoading.js.map +1 -1
  319. package/esm/table/hooks/useFilter.js +1 -1
  320. package/esm/table/hooks/usePagination.js +3 -4
  321. package/esm/table/hooks/usePagination.js.map +1 -1
  322. package/esm/table/hooks/useRowSelect.js +1 -1
  323. package/esm/table/index.js +4 -5
  324. package/esm/table/index.js.map +1 -1
  325. package/esm/time-picker/TimePicker.js +2 -3
  326. package/esm/time-picker/TimePicker.js.map +1 -1
  327. package/esm/time-picker/index.js +2 -3
  328. package/esm/time-picker/index.js.map +1 -1
  329. package/esm/transfer/Transfer.js +5 -6
  330. package/esm/transfer/Transfer.js.map +1 -1
  331. package/esm/transfer/TransferList.js +3 -4
  332. package/esm/transfer/TransferList.js.map +1 -1
  333. package/esm/transfer/index.js +5 -6
  334. package/esm/transfer/index.js.map +1 -1
  335. package/esm/tree/Tree.js +3 -4
  336. package/esm/tree/Tree.js.map +1 -1
  337. package/esm/tree/index.js +3 -4
  338. package/esm/tree/index.js.map +1 -1
  339. package/esm/tree/useStore.js +3 -4
  340. package/esm/tree/useStore.js.map +1 -1
  341. package/esm/tree-select/TreeSelect.js +3 -4
  342. package/esm/tree-select/TreeSelect.js.map +1 -1
  343. package/esm/tree-select/index.js +3 -4
  344. package/esm/tree-select/index.js.map +1 -1
  345. package/esm/tree-select/useTreeSelectPassthoughProps.js +2 -3
  346. package/esm/tree-select/useTreeSelectPassthoughProps.js.map +1 -1
  347. package/esm/tree-select/useTreeSelectUtils.js +4 -5
  348. package/esm/tree-select/useTreeSelectUtils.js.map +1 -1
  349. package/lib/_chunks/{dep-18b29c2a.js → dep-024a8c51.js} +2 -2
  350. package/lib/_chunks/{dep-18b29c2a.js.map → dep-024a8c51.js.map} +1 -1
  351. package/lib/_chunks/{dep-94a90ff2.js → dep-0ad41c40.js} +6 -3
  352. package/lib/_chunks/dep-0ad41c40.js.map +1 -0
  353. package/lib/_chunks/{dep-85d2b8ba.js → dep-66ed1106.js} +2 -2
  354. package/lib/_chunks/{dep-85d2b8ba.js.map → dep-66ed1106.js.map} +1 -1
  355. package/lib/_chunks/{dep-fec505b6.js → dep-67a31200.js} +3 -3
  356. package/lib/_chunks/{dep-fec505b6.js.map → dep-67a31200.js.map} +1 -1
  357. package/lib/_chunks/{dep-d66dd060.js → dep-dbc0d9a3.js} +22 -4
  358. package/lib/_chunks/dep-dbc0d9a3.js.map +1 -0
  359. package/lib/_common/js/tabs/base.js +1 -1
  360. package/lib/_common/js/tabs/base.js.map +1 -1
  361. package/lib/_common/js/tree/tree-node-model.js +2 -3
  362. package/lib/_common/js/tree/tree-node-model.js.map +1 -1
  363. package/lib/_common/js/tree/tree-node.d.ts +1 -1
  364. package/lib/_common/js/tree/tree-node.js +4 -5
  365. package/lib/_common/js/tree/tree-node.js.map +1 -1
  366. package/lib/_common/js/tree/tree-store.d.ts +1 -1
  367. package/lib/_common/js/tree/tree-store.js +7 -8
  368. package/lib/_common/js/tree/tree-store.js.map +1 -1
  369. package/lib/_common/js/upload/xhr.js +1 -1
  370. package/lib/_common/js/upload/xhr.js.map +1 -1
  371. package/lib/calendar/Calendar.js +3 -4
  372. package/lib/calendar/Calendar.js.map +1 -1
  373. package/lib/calendar/index.js +3 -4
  374. package/lib/calendar/index.js.map +1 -1
  375. package/lib/cascader/Cascader.js +3 -4
  376. package/lib/cascader/Cascader.js.map +1 -1
  377. package/lib/cascader/index.js +3 -4
  378. package/lib/cascader/index.js.map +1 -1
  379. package/lib/cascader/interface.js +2 -3
  380. package/lib/cascader/interface.js.map +1 -1
  381. package/lib/color-picker/ColorPicker.js +3 -4
  382. package/lib/color-picker/ColorPicker.js.map +1 -1
  383. package/lib/color-picker/ColorPickerPanel.js +3 -4
  384. package/lib/color-picker/ColorPickerPanel.js.map +1 -1
  385. package/lib/color-picker/components/panel/format/index.js +2 -3
  386. package/lib/color-picker/components/panel/format/index.js.map +1 -1
  387. package/lib/color-picker/components/panel/header.js +1 -1
  388. package/lib/color-picker/components/panel/index.js +3 -4
  389. package/lib/color-picker/components/panel/index.js.map +1 -1
  390. package/lib/color-picker/index.js +3 -4
  391. package/lib/color-picker/index.js.map +1 -1
  392. package/lib/date-picker/DatePicker.js +2 -3
  393. package/lib/date-picker/DatePicker.js.map +1 -1
  394. package/lib/date-picker/DatePickerPanel.js +2 -3
  395. package/lib/date-picker/DatePickerPanel.js.map +1 -1
  396. package/lib/date-picker/DateRangePicker.js +2 -3
  397. package/lib/date-picker/DateRangePicker.js.map +1 -1
  398. package/lib/date-picker/DateRangePickerPanel.js +2 -3
  399. package/lib/date-picker/DateRangePickerPanel.js.map +1 -1
  400. package/lib/date-picker/base/Header.js +2 -3
  401. package/lib/date-picker/base/Header.js.map +1 -1
  402. package/lib/date-picker/index.js +2 -3
  403. package/lib/date-picker/index.js.map +1 -1
  404. package/lib/date-picker/panel/PanelContent.js +2 -3
  405. package/lib/date-picker/panel/PanelContent.js.map +1 -1
  406. package/lib/date-picker/panel/RangePanel.js +2 -3
  407. package/lib/date-picker/panel/RangePanel.js.map +1 -1
  408. package/lib/date-picker/panel/SinglePanel.js +2 -3
  409. package/lib/date-picker/panel/SinglePanel.js.map +1 -1
  410. package/lib/dropdown/Dropdown.js +2 -3
  411. package/lib/dropdown/Dropdown.js.map +1 -1
  412. package/lib/dropdown/index.js +2 -3
  413. package/lib/dropdown/index.js.map +1 -1
  414. package/lib/form/Form.js +12 -9
  415. package/lib/form/Form.js.map +1 -1
  416. package/lib/form/FormItem.d.ts +1 -5
  417. package/lib/form/FormItem.js +1188 -35
  418. package/lib/form/FormItem.js.map +1 -1
  419. package/lib/form/const.d.ts +5 -0
  420. package/lib/form/const.js +19 -0
  421. package/lib/form/const.js.map +1 -0
  422. package/lib/form/defaultProps.d.ts +2 -1
  423. package/lib/form/defaultProps.js +2 -0
  424. package/lib/form/defaultProps.js.map +1 -1
  425. package/lib/form/formModel.d.ts +23 -1
  426. package/lib/form/formModel.js +21 -33
  427. package/lib/form/formModel.js.map +1 -1
  428. package/lib/form/hooks/useFormItemStyle.js +108 -213
  429. package/lib/form/hooks/useFormItemStyle.js.map +1 -1
  430. package/lib/form/hooks/useInstance.d.ts +2 -1
  431. package/lib/form/hooks/useInstance.js +119 -64
  432. package/lib/form/hooks/useInstance.js.map +1 -1
  433. package/lib/form/index.js +9 -8
  434. package/lib/form/index.js.map +1 -1
  435. package/lib/form/type.d.ts +22 -11
  436. package/lib/form/useInitialData.js +4 -5
  437. package/lib/form/useInitialData.js.map +1 -1
  438. package/lib/index-lib.js +12 -7
  439. package/lib/index-lib.js.map +1 -1
  440. package/lib/index.d.ts +1 -0
  441. package/lib/index.js +12 -7
  442. package/lib/index.js.map +1 -1
  443. package/lib/pagination/Pagination.js +3 -4
  444. package/lib/pagination/Pagination.js.map +1 -1
  445. package/lib/pagination/index.js +3 -4
  446. package/lib/pagination/index.js.map +1 -1
  447. package/lib/radio/Radio.js +1 -1
  448. package/lib/radio/RadioGroup.d.ts +2 -1
  449. package/lib/radio/RadioGroup.js +1 -1
  450. package/lib/radio/index.js +1 -1
  451. package/lib/select/base/Select.js +2 -3
  452. package/lib/select/base/Select.js.map +1 -1
  453. package/lib/select/index.js +2 -3
  454. package/lib/select/index.js.map +1 -1
  455. package/lib/select-input/SelectInput.js +2 -3
  456. package/lib/select-input/SelectInput.js.map +1 -1
  457. package/lib/select-input/index.js +2 -3
  458. package/lib/select-input/index.js.map +1 -1
  459. package/lib/select-input/useSingle.js +2 -3
  460. package/lib/select-input/useSingle.js.map +1 -1
  461. package/lib/space/Space.d.ts +8 -0
  462. package/lib/{addon/Addon.js → space/Space.js} +52 -43
  463. package/lib/space/Space.js.map +1 -0
  464. package/lib/space/defaultProps.d.ts +5 -0
  465. package/lib/space/defaultProps.js +18 -0
  466. package/lib/space/defaultProps.js.map +1 -0
  467. package/lib/space/index.d.ts +6 -0
  468. package/lib/space/index.js +44 -0
  469. package/lib/space/index.js.map +1 -0
  470. package/lib/space/style/css.d.ts +1 -0
  471. package/lib/space/style/index.d.ts +1 -0
  472. package/lib/space/type.d.ts +30 -0
  473. package/lib/space/type.js +9 -0
  474. package/lib/space/type.js.map +1 -0
  475. package/lib/table/BaseTable.js +3 -4
  476. package/lib/table/BaseTable.js.map +1 -1
  477. package/lib/table/EnhancedTable.js +4 -5
  478. package/lib/table/EnhancedTable.js.map +1 -1
  479. package/lib/table/FilterController.js +1 -1
  480. package/lib/table/PrimaryTable.js +4 -5
  481. package/lib/table/PrimaryTable.js.map +1 -1
  482. package/lib/table/TBody.js +2 -3
  483. package/lib/table/TBody.js.map +1 -1
  484. package/lib/table/hooks/useAsyncLoading.js +1 -0
  485. package/lib/table/hooks/useAsyncLoading.js.map +1 -1
  486. package/lib/table/hooks/useFilter.js +1 -1
  487. package/lib/table/hooks/usePagination.js +3 -4
  488. package/lib/table/hooks/usePagination.js.map +1 -1
  489. package/lib/table/hooks/useRowSelect.js +1 -1
  490. package/lib/table/index.js +4 -5
  491. package/lib/table/index.js.map +1 -1
  492. package/lib/time-picker/TimePicker.js +2 -3
  493. package/lib/time-picker/TimePicker.js.map +1 -1
  494. package/lib/time-picker/index.js +2 -3
  495. package/lib/time-picker/index.js.map +1 -1
  496. package/lib/transfer/Transfer.js +5 -6
  497. package/lib/transfer/Transfer.js.map +1 -1
  498. package/lib/transfer/TransferList.js +3 -4
  499. package/lib/transfer/TransferList.js.map +1 -1
  500. package/lib/transfer/index.js +5 -6
  501. package/lib/transfer/index.js.map +1 -1
  502. package/lib/tree/Tree.js +3 -4
  503. package/lib/tree/Tree.js.map +1 -1
  504. package/lib/tree/index.js +3 -4
  505. package/lib/tree/index.js.map +1 -1
  506. package/lib/tree/useStore.js +3 -4
  507. package/lib/tree/useStore.js.map +1 -1
  508. package/lib/tree-select/TreeSelect.js +3 -4
  509. package/lib/tree-select/TreeSelect.js.map +1 -1
  510. package/lib/tree-select/index.js +3 -4
  511. package/lib/tree-select/index.js.map +1 -1
  512. package/lib/tree-select/useTreeSelectPassthoughProps.js +2 -3
  513. package/lib/tree-select/useTreeSelectPassthoughProps.js.map +1 -1
  514. package/lib/tree-select/useTreeSelectUtils.js +4 -5
  515. package/lib/tree-select/useTreeSelectUtils.js.map +1 -1
  516. package/package.json +1 -1
  517. package/es/_chunks/dep-16cb7f3b.js.map +0 -1
  518. package/es/_chunks/dep-5bfc1a42.js.map +0 -1
  519. package/es/_chunks/dep-d44068e2.js +0 -1159
  520. package/es/_chunks/dep-d44068e2.js.map +0 -1
  521. package/es/_chunks/dep-f8eff6be.js +0 -29
  522. package/es/_chunks/dep-f8eff6be.js.map +0 -1
  523. package/es/addon/Addon.d.ts +0 -8
  524. package/es/addon/Addon.js.map +0 -1
  525. package/esm/_chunks/dep-16cb7f3b.js.map +0 -1
  526. package/esm/_chunks/dep-5bfc1a42.js.map +0 -1
  527. package/esm/_chunks/dep-df0d5d91.js +0 -1159
  528. package/esm/_chunks/dep-df0d5d91.js.map +0 -1
  529. package/esm/_chunks/dep-f8eff6be.js +0 -29
  530. package/esm/_chunks/dep-f8eff6be.js.map +0 -1
  531. package/esm/addon/Addon.d.ts +0 -8
  532. package/esm/addon/Addon.js.map +0 -1
  533. package/lib/_chunks/dep-94a90ff2.js.map +0 -1
  534. package/lib/_chunks/dep-956bf12a.js +0 -30
  535. package/lib/_chunks/dep-956bf12a.js.map +0 -1
  536. package/lib/_chunks/dep-d66dd060.js.map +0 -1
  537. package/lib/_chunks/dep-e683283d.js +0 -1167
  538. package/lib/_chunks/dep-e683283d.js.map +0 -1
  539. package/lib/addon/Addon.d.ts +0 -8
  540. package/lib/addon/Addon.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../src/_common/js/tabs/base.ts"],"sourcesContent":["const getDomWidth = (dom: HTMLElement): number => dom?.offsetWidth || 0;\n\ntype navPlacement = 'left' | 'right' | 'top' | 'bottom';\n\nexport interface allElementDeps {\n activeTab?: HTMLElement;\n navsContainer?: HTMLElement;\n navsWrap?: HTMLElement;\n leftOperations?: HTMLElement;\n toLeftBtn?: HTMLElement;\n rightOperations?: HTMLElement;\n toRightBtn?: HTMLElement;\n}\n\nexport default {\n /**\n * 计算滚动条的当前偏移值,用于 resize 时调整\n * @returns number\n */\n calcScrollLeft(elements: allElementDeps, scrollLeft: number): number {\n const container = elements.navsContainer;\n const wrap = elements.navsWrap;\n const { rightOperations } = elements;\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n\n if (!wrap || !container) return scrollLeft;\n\n const containerWidth = getDomWidth(container);\n const wrapWidth = getDomWidth(wrap);\n\n if (wrapWidth <= containerWidth) { // 容器大于选项,则设置第一个 nav-item 和容器左边相连\n return 0;\n }\n\n // 一般发生在 window.resize,容器变大,此时设置最后一个 nav-item 和容器右边相连\n if (scrollLeft + containerWidth - rightOperationsZoneWidth > wrapWidth) {\n return wrapWidth + rightOperationsZoneWidth - containerWidth;\n }\n\n return scrollLeft;\n },\n\n /**\n * 计算往左滚动按钮是否应该出现\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的 scrollLeft\n * @param placement navs 的位置\n * @returns boolean\n */\n calculateCanToLeft(depElement: allElementDeps, scrollLeft: number, placement: navPlacement) {\n if (['left', 'right'].includes(placement.toLowerCase())) {\n return false;\n }\n const {\n navsContainer: container, navsWrap: wrap, leftOperations, toLeftBtn\n } = depElement;\n if (!wrap || !container) {\n return false;\n }\n const leftOperationsZoneWidth = getDomWidth(leftOperations);\n const leftIconWidth = getDomWidth(toLeftBtn);\n\n return scrollLeft + Math.round(leftOperationsZoneWidth - leftIconWidth) > 0;\n },\n\n /**\n * 计算往右滚动按钮是否应该出现\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @param placement navs 的位置\n * @returns boolean\n */\n calculateCanToRight(depElement: allElementDeps, scrollLeft: number, placement: navPlacement) {\n if (['left', 'right'].includes(placement.toLowerCase())) {\n return false;\n }\n const {\n navsContainer: container, navsWrap: wrap, rightOperations, toRightBtn\n } = depElement;\n if (!wrap || !container) {\n return false;\n }\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n const rightIconWidth = getDomWidth(toRightBtn);\n return scrollLeft\n + getDomWidth(container)\n - (rightOperationsZoneWidth - rightIconWidth)\n - getDomWidth(wrap)\n < -1; // 小数像素不精确,所以这里判断小于-1\n },\n\n /**\n * 计算将当前 tab 滚动到可视区域的偏移值\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @returns number\n */\n moveActiveTabIntoView(depElement: allElementDeps, scrollLeft: number): number {\n const {\n activeTab, navsContainer: container, navsWrap,\n leftOperations, toLeftBtn, rightOperations, toRightBtn\n } = depElement;\n if (!activeTab) return scrollLeft;\n const totalWidthBeforeActiveTab = activeTab.offsetLeft;\n if (!container) return scrollLeft;\n // 如果要当前tab左边对齐左操作栏的右边以展示完整的tab,需要获取左边操作栏的宽度\n const _getLeftCoverWidth = () => {\n const leftOperationsZoneWidth = getDomWidth(leftOperations);\n const leftIconWidth = getDomWidth(toLeftBtn);\n // 判断当前tab是不是第一个tab\n if (totalWidthBeforeActiveTab === 0) {\n // 如果是第一个tab要移动到最左边,则要减去左箭头的宽度,因为此时左箭头会被隐藏起来\n return leftOperationsZoneWidth - leftIconWidth;\n }\n return leftOperationsZoneWidth;\n };\n const leftCoverWidth = _getLeftCoverWidth();\n // 判断当前tab是不是在左边被隐藏\n const isCurrentTabHiddenInLeftZone = scrollLeft + leftCoverWidth > totalWidthBeforeActiveTab;\n if (isCurrentTabHiddenInLeftZone) {\n return totalWidthBeforeActiveTab - leftCoverWidth;\n }\n\n // move to right\n const activeTabWidth = activeTab.offsetWidth;\n if (!container || !navsWrap) return scrollLeft;\n const containerWidth = getDomWidth(container);\n // 如果要当前tab右边对齐右操作栏的左边以展示完整的tab,需要获取右边操作栏的宽度\n const _getRightCoverWidth = () => {\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n const rightIconWidth = getDomWidth(toRightBtn);\n const wrapWidth = getDomWidth(navsWrap);\n // 判断当前tab是不是最后一个tab,小于1是防止小数像素导致值不相等的情况\n if (Math.abs(totalWidthBeforeActiveTab + activeTabWidth - wrapWidth) < 1) {\n // 如果是最后一个tab,则要减去右箭头的宽度,因为此时右箭头会被隐藏\n return rightOperationsZoneWidth - rightIconWidth;\n }\n return rightOperationsZoneWidth;\n };\n const rightCoverWidth = _getRightCoverWidth();\n // 判断当前tab是不是在右边被隐藏\n const isHiddenInRightZone = scrollLeft + containerWidth - rightCoverWidth\n < totalWidthBeforeActiveTab + activeTabWidth;\n if (isHiddenInRightZone) {\n return totalWidthBeforeActiveTab + activeTabWidth - containerWidth + rightCoverWidth;\n }\n return scrollLeft;\n },\n\n /**\n * 计算点击“往左按钮”时,需要的偏移值\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @returns number\n */\n scrollToLeft(depElement: allElementDeps, scrollLeft: number): number {\n const { navsContainer: container, leftOperations, toLeftBtn } = depElement;\n if (!container) return 0;\n const leftOperationsZoneWidth = getDomWidth(leftOperations);\n const leftIconWidth = getDomWidth(toLeftBtn);\n const containerWidth = getDomWidth(container);\n\n return Math.max(-(leftOperationsZoneWidth - leftIconWidth), scrollLeft - containerWidth);\n },\n\n /**\n * 计算点击“往右按钮”时,需要的偏移值\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @returns number\n */\n scrollToRight(depElement: allElementDeps, scrollLeft: number): number {\n const {\n navsContainer: container, navsWrap: wrap, rightOperations, toRightBtn\n } = depElement;\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n const rightIconWidth = getDomWidth(toRightBtn);\n const containerWidth = getDomWidth(container);\n const wrapWidth = getDomWidth(wrap);\n\n return Math.min(\n scrollLeft + containerWidth,\n wrapWidth - containerWidth + rightOperationsZoneWidth - rightIconWidth,\n );\n },\n};\n"],"names":["getDomWidth","dom","offsetWidth","calcScrollLeft","elements","scrollLeft","container","navsContainer","wrap","navsWrap","rightOperations","rightOperationsZoneWidth","containerWidth","wrapWidth","calculateCanToLeft","depElement","placement","includes","toLowerCase","leftOperations","toLeftBtn","leftOperationsZoneWidth","leftIconWidth","Math","round","calculateCanToRight","toRightBtn","rightIconWidth","moveActiveTabIntoView","activeTab","totalWidthBeforeActiveTab","offsetLeft","_getLeftCoverWidth","leftCoverWidth","isCurrentTabHiddenInLeftZone","activeTabWidth","_getRightCoverWidth","abs","rightCoverWidth","isHiddenInRightZone","scrollToLeft","max","scrollToRight","min"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sources":["../../../../src/_common/js/tabs/base.ts"],"sourcesContent":["const getDomWidth = (dom: HTMLElement): number => dom?.offsetWidth || 0;\n\ntype navPlacement = 'left' | 'right' | 'top' | 'bottom';\n\nexport interface allElementDeps {\n activeTab?: HTMLElement;\n navsContainer?: HTMLElement;\n navsWrap?: HTMLElement;\n leftOperations?: HTMLElement;\n toLeftBtn?: HTMLElement;\n rightOperations?: HTMLElement;\n toRightBtn?: HTMLElement;\n}\n\nexport default {\n /**\n * 计算滚动条的当前偏移值,用于 resize 时调整\n * @returns number\n */\n calcScrollLeft(elements: allElementDeps, scrollLeft: number): number {\n const container = elements.navsContainer;\n const wrap = elements.navsWrap;\n const { rightOperations } = elements;\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n\n if (!wrap || !container) return scrollLeft;\n\n const containerWidth = getDomWidth(container);\n const wrapWidth = getDomWidth(wrap);\n\n if (wrapWidth <= containerWidth) {\n // 容器大于选项,则设置第一个 nav-item 和容器左边相连\n return 0;\n }\n\n // 一般发生在 window.resize,容器变大,此时设置最后一个 nav-item 和容器右边相连\n if (scrollLeft + containerWidth - rightOperationsZoneWidth > wrapWidth) {\n return wrapWidth + rightOperationsZoneWidth - containerWidth;\n }\n\n return scrollLeft;\n },\n\n /**\n * 计算往左滚动按钮是否应该出现\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的 scrollLeft\n * @param placement navs 的位置\n * @returns boolean\n */\n calculateCanToLeft(depElement: allElementDeps, scrollLeft: number, placement: navPlacement) {\n if (['left', 'right'].includes(placement.toLowerCase())) {\n return false;\n }\n const { navsContainer: container, navsWrap: wrap, leftOperations, toLeftBtn } = depElement;\n if (!wrap || !container) {\n return false;\n }\n const leftOperationsZoneWidth = getDomWidth(leftOperations);\n const leftIconWidth = getDomWidth(toLeftBtn);\n\n return scrollLeft + Math.round(leftOperationsZoneWidth - leftIconWidth) > 0;\n },\n\n /**\n * 计算往右滚动按钮是否应该出现\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @param placement navs 的位置\n * @returns boolean\n */\n calculateCanToRight(depElement: allElementDeps, scrollLeft: number, placement: navPlacement) {\n if (['left', 'right'].includes(placement.toLowerCase())) {\n return false;\n }\n const { navsContainer: container, navsWrap: wrap, rightOperations, toRightBtn } = depElement;\n if (!wrap || !container) {\n return false;\n }\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n const rightIconWidth = getDomWidth(toRightBtn);\n return (\n scrollLeft + getDomWidth(container) - (rightOperationsZoneWidth - rightIconWidth)\n - getDomWidth(wrap) < -1\n ); // 小数像素不精确,所以这里判断小于-1\n },\n\n /**\n * 计算将当前 tab 滚动到可视区域的偏移值\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @returns number\n */\n moveActiveTabIntoView(depElement: allElementDeps, scrollLeft: number): number {\n const {\n activeTab,\n navsContainer: container,\n navsWrap,\n leftOperations,\n toLeftBtn,\n rightOperations,\n toRightBtn,\n } = depElement;\n if (!activeTab) return scrollLeft;\n const totalWidthBeforeActiveTab = activeTab.offsetLeft;\n if (!container) return scrollLeft;\n // 如果要当前tab左边对齐左操作栏的右边以展示完整的tab,需要获取左边操作栏的宽度\n const _getLeftCoverWidth = () => {\n const leftOperationsZoneWidth = getDomWidth(leftOperations);\n const leftIconWidth = getDomWidth(toLeftBtn);\n // 判断当前tab是不是第一个tab\n if (totalWidthBeforeActiveTab === 0) {\n // 如果是第一个tab要移动到最左边,则要减去左箭头的宽度,因为此时左箭头会被隐藏起来\n return leftOperationsZoneWidth - leftIconWidth;\n }\n return leftOperationsZoneWidth;\n };\n const leftCoverWidth = _getLeftCoverWidth();\n // 判断当前tab是不是在左边被隐藏\n const isCurrentTabHiddenInLeftZone = scrollLeft + leftCoverWidth > totalWidthBeforeActiveTab;\n if (isCurrentTabHiddenInLeftZone) {\n return totalWidthBeforeActiveTab - leftCoverWidth;\n }\n\n // move to right\n const activeTabWidth = activeTab.offsetWidth;\n if (!container || !navsWrap) return scrollLeft;\n const containerWidth = getDomWidth(container);\n // 如果要当前tab右边对齐右操作栏的左边以展示完整的tab,需要获取右边操作栏的宽度\n const _getRightCoverWidth = () => {\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n const rightIconWidth = getDomWidth(toRightBtn);\n const wrapWidth = getDomWidth(navsWrap);\n // 判断当前tab是不是最后一个tab,小于1是防止小数像素导致值不相等的情况\n if (Math.abs(totalWidthBeforeActiveTab + activeTabWidth - wrapWidth) < 1) {\n // 如果是最后一个tab,则要减去右箭头的宽度,因为此时右箭头会被隐藏\n return rightOperationsZoneWidth - rightIconWidth;\n }\n return rightOperationsZoneWidth;\n };\n const rightCoverWidth = _getRightCoverWidth();\n // 判断当前tab是不是在右边被隐藏\n const isHiddenInRightZone = scrollLeft + containerWidth - rightCoverWidth\n < totalWidthBeforeActiveTab + activeTabWidth;\n if (isHiddenInRightZone) {\n return totalWidthBeforeActiveTab + activeTabWidth - containerWidth + rightCoverWidth;\n }\n return scrollLeft;\n },\n\n /**\n * 计算点击“往左按钮”时,需要的偏移值\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @returns number\n */\n scrollToLeft(depElement: allElementDeps, scrollLeft: number): number {\n const { navsContainer: container, leftOperations, toLeftBtn } = depElement;\n if (!container) return 0;\n const leftOperationsZoneWidth = getDomWidth(leftOperations);\n const leftIconWidth = getDomWidth(toLeftBtn);\n const containerWidth = getDomWidth(container);\n\n return Math.max(-(leftOperationsZoneWidth - leftIconWidth), scrollLeft - containerWidth);\n },\n\n /**\n * 计算点击“往右按钮”时,需要的偏移值\n * @param depElement 计算时依赖的元素\n * @param scrollLeft 当前的偏移值\n * @returns number\n */\n scrollToRight(depElement: allElementDeps, scrollLeft: number): number {\n const { navsContainer: container, navsWrap: wrap, rightOperations, toRightBtn } = depElement;\n const rightOperationsZoneWidth = getDomWidth(rightOperations);\n const rightIconWidth = getDomWidth(toRightBtn);\n const containerWidth = getDomWidth(container);\n const wrapWidth = getDomWidth(wrap);\n\n return Math.min(\n scrollLeft + containerWidth - rightOperationsZoneWidth - rightIconWidth,\n wrapWidth - containerWidth + rightOperationsZoneWidth - rightIconWidth,\n );\n },\n};\n"],"names":["getDomWidth","dom","offsetWidth","calcScrollLeft","elements","scrollLeft","container","navsContainer","wrap","navsWrap","rightOperations","rightOperationsZoneWidth","containerWidth","wrapWidth","calculateCanToLeft","depElement","placement","includes","toLowerCase","leftOperations","toLeftBtn","leftOperationsZoneWidth","leftIconWidth","Math","round","calculateCanToRight","toRightBtn","rightIconWidth","moveActiveTabIntoView","activeTab","totalWidthBeforeActiveTab","offsetLeft","_getLeftCoverWidth","leftCoverWidth","isCurrentTabHiddenInLeftZone","activeTabWidth","_getRightCoverWidth","abs","rightCoverWidth","isHiddenInRightZone","scrollToLeft","max","scrollToRight","min"],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var defineProperty = require('../../../_chunks/dep-2a529889.js');
12
- var pick = require('../../../_chunks/dep-18b29c2a.js');
12
+ var pick = require('../../../_chunks/dep-024a8c51.js');
13
13
  var _common_js_log_log = require('../log/log.js');
14
14
  require('../../../_chunks/dep-e76e3ec1.js');
15
15
  require('../../../_chunks/dep-a6ea3da6.js');
@@ -29,8 +29,7 @@ require('../../../_chunks/dep-c26a437d.js');
29
29
  require('../../../_chunks/dep-8af2db72.js');
30
30
  require('../../../_chunks/dep-2d5bccf7.js');
31
31
  require('../../../_chunks/dep-af4acfdd.js');
32
- require('../../../_chunks/dep-956bf12a.js');
33
- require('../../../_chunks/dep-d66dd060.js');
32
+ require('../../../_chunks/dep-dbc0d9a3.js');
34
33
  require('../../../_chunks/dep-7bf57fad.js');
35
34
 
36
35
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -1 +1 @@
1
- {"version":3,"file":"tree-node-model.js","sources":["../../../../src/_common/js/tree/tree-node-model.ts"],"sourcesContent":["import pick from 'lodash/pick';\nimport { TreeNode } from './tree-node';\nimport { OptionData } from '../common';\nimport {\n TreeNodeValue,\n TypeTreeNodeModel,\n TypeTreeNodeData,\n TypeTreeItem,\n TreeNodeModelProps,\n} from './types';\nimport log from '../log/log';\n\n// 获取节点需要暴露的属性\nfunction getExposedProps(node: TreeNode): TreeNodeModelProps {\n const props = pick(node, [\n 'value',\n 'label',\n 'data',\n 'actived',\n 'expanded',\n 'checked',\n 'indeterminate',\n 'loading',\n ]) as TreeNodeModelProps;\n return props;\n}\n\n// 封装对外暴露的对象\nexport function createNodeModel(node: TreeNode): TypeTreeNodeModel {\n const props = getExposedProps(node);\n\n const model: TypeTreeNodeModel = {\n ...props,\n\n // 获取节点所处层级\n getLevel() {\n return node.getLevel();\n },\n\n // 获取节点在 children 中的位置\n getIndex() {\n return node.getIndex();\n },\n\n // 判断节点是否为 children 中的第一个节点\n isFirst() {\n return node.isFirst();\n },\n\n // 判断节点是否为 children 中的最后一个节点\n isLast() {\n return node.isLast();\n },\n\n // 判断节点是否为叶节点\n isLeaf() {\n return node.isLeaf();\n },\n\n // 插入数据到节点之前\n insertBefore(newData: TypeTreeItem) {\n return node.insertBefore(newData);\n },\n\n // 插入数据到节点之后\n insertAfter(newData: TypeTreeItem) {\n return node.insertAfter(newData);\n },\n\n // 给当前节点添加子节点数据\n appendData(data: TypeTreeNodeData | TypeTreeNodeData[]) {\n return node.append(data);\n },\n\n // 返回路径节点数据集合\n getPath(): TypeTreeNodeModel[] {\n const nodes = node.getPath();\n return nodes.map((item: TreeNode) => item.getModel());\n },\n\n // 获取单个父节点数据\n getParent(): TypeTreeNodeModel {\n return node.parent?.getModel();\n },\n\n // 获取所有父节点数据\n getParents(): TypeTreeNodeModel[] {\n const nodes = node.getParents();\n return nodes.map((item: TreeNode) => item.getModel());\n },\n\n // 获取根节点\n getRoot(): TypeTreeNodeModel {\n const root = node.getRoot();\n return root?.getModel();\n },\n\n // 获取兄弟节点,包含自己在内\n getSiblings(): TypeTreeNodeModel[] {\n const nodes = node.getSiblings();\n return nodes.map((item: TreeNode) => item.getModel());\n },\n\n // 返回当前节点的第一层子节点数据集合\n getChildren(deep?: boolean): boolean | TypeTreeNodeModel[] {\n let childrenModel: boolean | TypeTreeNodeModel[] = false;\n const { children } = node;\n if (Array.isArray(children)) {\n if (children.length > 0) {\n if (deep) {\n const nodes = node.walk();\n nodes.shift();\n childrenModel = nodes.map((item) => item.getModel());\n } else {\n childrenModel = children.map((item) => item.getModel());\n }\n } else {\n childrenModel = false;\n }\n } else if (typeof children === 'boolean') {\n childrenModel = children;\n }\n return childrenModel;\n },\n\n // 删除本节点,或者 value 指定的子节点\n remove(value?: TreeNodeValue) {\n if (!value) {\n node.remove();\n return;\n }\n\n const { tree } = node;\n const targetNode = tree.getNode(value);\n if (!targetNode) {\n log.warnOnce('Tree', `\\`${value}\\` is not exist`);\n return;\n }\n\n const parents = targetNode.getParents();\n const parentValues = parents.map((pnode) => (pnode.value));\n if (parentValues.indexOf(node.value) < 0) {\n log.warnOnce('Tree', `\\`${value}\\` is not a childNode of current node`);\n return;\n }\n targetNode.remove();\n },\n\n // 设置本节点携带的元数据\n setData(data: OptionData) {\n Object.assign(node.data, data);\n },\n };\n\n return model;\n}\n\n// 更新封装对象\nexport function updateNodeModel(model: TypeTreeNodeModel, node: TreeNode) {\n // 同步节点属性\n const props = getExposedProps(node);\n Object.assign(model, props);\n}\n"],"names":["getExposedProps","node","props","pick","createNodeModel","model","getLevel","getIndex","isFirst","isLast","isLeaf","insertBefore","newData","insertAfter","appendData","data","append","getPath","nodes","map","item","getModel","getParent","parent","getParents","getRoot","root","getSiblings","getChildren","deep","childrenModel","children","Array","isArray","length","walk","shift","remove","value","tree","targetNode","getNode","log","warnOnce","parents","parentValues","pnode","indexOf","setData","Object","assign","updateNodeModel"],"mappings":"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"}
1
+ {"version":3,"file":"tree-node-model.js","sources":["../../../../src/_common/js/tree/tree-node-model.ts"],"sourcesContent":["import pick from 'lodash/pick';\nimport { TreeNode } from './tree-node';\nimport { OptionData } from '../common';\nimport {\n TreeNodeValue,\n TypeTreeNodeModel,\n TypeTreeNodeData,\n TypeTreeItem,\n TreeNodeModelProps,\n} from './types';\nimport log from '../log/log';\n\n// 获取节点需要暴露的属性\nfunction getExposedProps(node: TreeNode): TreeNodeModelProps {\n const props = pick(node, [\n 'value',\n 'label',\n 'data',\n 'actived',\n 'expanded',\n 'checked',\n 'indeterminate',\n 'loading',\n ]) as TreeNodeModelProps;\n return props;\n}\n\n// 封装对外暴露的对象\nexport function createNodeModel(node: TreeNode): TypeTreeNodeModel {\n const props = getExposedProps(node);\n\n const model: TypeTreeNodeModel = {\n ...props,\n\n // 获取节点所处层级\n getLevel() {\n return node.getLevel();\n },\n\n // 获取节点在 children 中的位置\n getIndex() {\n return node.getIndex();\n },\n\n // 判断节点是否为 children 中的第一个节点\n isFirst() {\n return node.isFirst();\n },\n\n // 判断节点是否为 children 中的最后一个节点\n isLast() {\n return node.isLast();\n },\n\n // 判断节点是否为叶节点\n isLeaf() {\n return node.isLeaf();\n },\n\n // 插入数据到节点之前\n insertBefore(newData: TypeTreeItem) {\n return node.insertBefore(newData);\n },\n\n // 插入数据到节点之后\n insertAfter(newData: TypeTreeItem) {\n return node.insertAfter(newData);\n },\n\n // 给当前节点添加子节点数据\n appendData(data: TypeTreeNodeData | TypeTreeNodeData[]) {\n return node.append(data);\n },\n\n // 返回路径节点数据集合\n getPath(): TypeTreeNodeModel[] {\n const nodes = node.getPath();\n return nodes.map((item: TreeNode) => item.getModel());\n },\n\n // 获取单个父节点数据\n getParent(): TypeTreeNodeModel {\n return node.parent?.getModel();\n },\n\n // 获取所有父节点数据\n getParents(): TypeTreeNodeModel[] {\n const nodes = node.getParents();\n return nodes.map((item: TreeNode) => item.getModel());\n },\n\n // 获取根节点\n getRoot(): TypeTreeNodeModel {\n const root = node.getRoot();\n return root?.getModel();\n },\n\n // 获取兄弟节点,包含自己在内\n getSiblings(): TypeTreeNodeModel[] {\n const nodes = node.getSiblings();\n return nodes.map((item: TreeNode) => item.getModel());\n },\n\n // 返回当前节点的第一层子节点数据集合\n getChildren(deep?: boolean): boolean | TypeTreeNodeModel[] {\n let childrenModel: boolean | TypeTreeNodeModel[] = false;\n const { children } = node;\n if (Array.isArray(children)) {\n if (children.length > 0) {\n if (deep) {\n const nodes = node.walk();\n nodes.shift();\n childrenModel = nodes.map((item) => item.getModel());\n } else {\n childrenModel = children.map((item) => item.getModel());\n }\n } else {\n childrenModel = false;\n }\n } else if (typeof children === 'boolean') {\n childrenModel = children;\n }\n return childrenModel;\n },\n\n // 删除本节点,或者 value 指定的子节点\n remove(value?: TreeNodeValue) {\n if (!value) {\n node.remove();\n return;\n }\n\n const { tree } = node;\n const targetNode = tree.getNode(value);\n if (!targetNode) {\n log.warnOnce('Tree', `\\`${value}\\` is not exist`);\n return;\n }\n\n const parents = targetNode.getParents();\n const parentValues = parents.map((pnode) => (pnode.value));\n if (parentValues.indexOf(node.value) < 0) {\n log.warnOnce('Tree', `\\`${value}\\` is not a childNode of current node`);\n return;\n }\n targetNode.remove();\n },\n\n // 设置本节点携带的元数据\n setData(data: OptionData) {\n Object.assign(node.data, data);\n },\n };\n\n return model;\n}\n\n// 更新封装对象\nexport function updateNodeModel(model: TypeTreeNodeModel, node: TreeNode) {\n // 同步节点属性\n const props = getExposedProps(node);\n Object.assign(model, props);\n}\n"],"names":["getExposedProps","node","props","pick","createNodeModel","model","getLevel","getIndex","isFirst","isLast","isLeaf","insertBefore","newData","insertAfter","appendData","data","append","getPath","nodes","map","item","getModel","getParent","parent","getParents","getRoot","root","getSiblings","getChildren","deep","childrenModel","children","Array","isArray","length","walk","shift","remove","value","tree","targetNode","getNode","log","warnOnce","parents","parentValues","pnode","indexOf","setData","Object","assign","updateNodeModel"],"mappings":"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"}
@@ -68,7 +68,7 @@ export declare class TreeNode {
68
68
  toggleChecked(): TreeNodeValue[];
69
69
  setChecked(checked: boolean, opts?: TypeSettingOptions): TreeNodeValue[];
70
70
  update(): void;
71
- updateChecked(): void;
71
+ updateChecked(isFromValueChange?: boolean): void;
72
72
  updateChildren(): void;
73
73
  updateParents(): void;
74
74
  updateRelated(): void;
@@ -27,15 +27,14 @@ require('../../../_chunks/dep-cbaf9695.js');
27
27
  require('../../../_chunks/dep-763c00c4.js');
28
28
  require('../../../_chunks/dep-05663f95.js');
29
29
  require('../../../_chunks/dep-5d2a6aee.js');
30
- require('../../../_chunks/dep-18b29c2a.js');
30
+ require('../../../_chunks/dep-024a8c51.js');
31
31
  require('../../../_chunks/dep-cd8ea606.js');
32
32
  require('../../../_chunks/dep-281bb746.js');
33
33
  require('../../../_chunks/dep-c26a437d.js');
34
34
  require('../../../_chunks/dep-8af2db72.js');
35
35
  require('../../../_chunks/dep-2d5bccf7.js');
36
36
  require('../../../_chunks/dep-af4acfdd.js');
37
- require('../../../_chunks/dep-956bf12a.js');
38
- require('../../../_chunks/dep-d66dd060.js');
37
+ require('../../../_chunks/dep-dbc0d9a3.js');
39
38
  require('../../../_chunks/dep-7bf57fad.js');
40
39
  require('../log/log.js');
41
40
 
@@ -896,11 +895,11 @@ var TreeNode = /*#__PURE__*/function () {
896
895
  }
897
896
  }, {
898
897
  key: "updateChecked",
899
- value: function updateChecked() {
898
+ value: function updateChecked(isFromValueChange) {
900
899
  var tree = this.tree;
901
900
  this.vmCheckable = this.isCheckable();
902
901
 
903
- if (this.vmCheckable && !this.disabled) {
902
+ if (this.vmCheckable && (!this.disabled || isFromValueChange)) {
904
903
  this.checked = this.isChecked();
905
904
 
906
905
  if (this.checked) {
@@ -1 +1 @@
1
- {"version":3,"file":"tree-node.js","sources":["../../../../node_modules/lodash/uniqueId.js","../../../../node_modules/lodash/isNil.js","../../../../src/_common/js/tree/tree-node.ts"],"sourcesContent":["var toString = require('./toString');\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nmodule.exports = uniqueId;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","import uniqueId from 'lodash/uniqueId';\nimport isNil from 'lodash/isNil';\nimport get from 'lodash/get';\nimport { TreeStore } from './tree-store';\nimport {\n TreeNodeValue,\n TreeNodeState,\n TypeIdMap,\n TypeTreeItem,\n TypeSettingOptions,\n TypeTreeNodeModel,\n TypeTreeNodeData,\n} from './types';\nimport {\n createNodeModel,\n updateNodeModel,\n} from './tree-node-model';\n\nconst { hasOwnProperty } = Object.prototype;\n\nconst defaultStatus = {\n expandMutex: false,\n activable: false,\n checkable: false,\n disabled: false,\n draggable: false,\n loading: false,\n};\n\n// vm 开头为视图属性,不可以外部设置\n// 用于触发视图更新\nexport class TreeNode {\n // 节点隶属的树实例\n public tree: TreeStore;\n\n // 节点 id ,唯一标志\n public value: string;\n\n // 节点文本\n public label: string;\n\n // 节点数据\n public data: TypeTreeNodeData;\n\n // 父节点\n public parent: TreeNode;\n\n // 子节点列表\n public children: TreeNode[] | boolean;\n\n // 暴露的 treeNodeModel,这个对象的属性和 api 提供给用户使用\n public model: TypeTreeNodeModel;\n\n // 是否为叶节点\n public vmIsLeaf: boolean;\n\n // 是否为子节点中的第一个\n public vmIsFirst: boolean;\n\n // 是否为子节点中的最后\n public vmIsLast: boolean;\n\n // 节点是否是经过过滤剩下的\n public vmIsRest: boolean;\n\n // 节点是否展示为锁定状态\n public vmIsLocked: boolean;\n\n // 节点在视图上实际的展开状态\n public expanded: boolean;\n\n // 展开时是否收起同级节点,对子节点生效\n public expandMutex: boolean;\n\n // 节点在视图上实际的激活状态\n public actived: boolean;\n\n // 是否可激活\n public activable: boolean;\n\n // 是否可选中\n public checkable: boolean;\n\n // 是否可选中的视图呈现\n public vmCheckable: boolean;\n\n // 节点在视图上实际的选中态\n public checked: boolean;\n\n // 节点实际是否为半选状态\n public indeterminate: boolean;\n\n // 节点是否已禁用\n public disabled: boolean;\n\n // 节点是否可拖动\n public draggable: boolean;\n\n // 节点是否可视\n public visible: boolean;\n\n // 节点在树中的层级\n public level: number;\n\n // 节点是否正在加载数据\n public loading: boolean;\n\n public constructor(\n tree: TreeStore,\n data?: TypeTreeNodeData,\n parent?: TreeNode,\n ) {\n this.data = data;\n this.tree = tree;\n\n const config = tree.config || {};\n const prefix = config.prefix || 't';\n const keys = get(tree, 'config.keys') || {};\n const propChildren = keys.children || 'children';\n const propLabel = keys.label || 'label';\n const propValue = keys.value || 'value';\n\n this.model = null;\n this.children = null;\n this.vmCheckable = false;\n this.vmIsLeaf = false;\n this.vmIsFirst = false;\n this.vmIsLast = false;\n this.vmIsRest = true;\n this.vmIsLocked = false;\n\n const spec = {\n ...defaultStatus,\n actived: false,\n expanded: false,\n checked: false,\n ...data,\n };\n const children = spec[propChildren];\n\n this.set(spec);\n this.label = spec[propLabel] || '';\n this.value = isNil(spec[propValue]) ? uniqueId(prefix) : spec[propValue];\n this.tree.nodeMap.set(this.value, this);\n\n if (parent && parent instanceof TreeNode) {\n this.parent = parent;\n } else {\n this.parent = null;\n }\n\n // 子节点为 true 的状态逻辑需要放到状态计算之前\n // 初始化加载逻辑需要依据这个来进行\n if (children === true) {\n this.children = children;\n }\n\n // 初始化状态计算\n this.level = 0;\n this.visible = true;\n\n this.actived = spec.actived;\n this.initActived();\n\n this.expanded = spec.expanded;\n this.initExpanded();\n\n this.checked = spec.checked;\n this.initChecked();\n\n this.update();\n tree.reflow(this);\n\n // 这里的子节点加载逻辑不能放到状态计算之前\n // 因为子节点状态计算依赖父节点状态\n if (Array.isArray(children)) {\n this.append(children);\n } else if (children === true && !config.lazy) {\n this.loadChildren();\n }\n\n // checked 状态依赖于子节点状态\n // 因此初始化状态放到子节点插入之后\n this.checked = false;\n this.indeterminate = false;\n this.updateChecked();\n }\n\n /* ------ 状态初始化 ------ */\n\n // 初始化选中态\n public initChecked() {\n const { tree, value, parent } = this;\n const { checkStrictly } = tree.config;\n let { checked } = this;\n checked = parent?.isChecked();\n if (checked && !checkStrictly) {\n tree.checkedMap.set(value, true);\n }\n this.checked = checked;\n }\n\n // 初始化节点展开状态\n public initExpanded(): void {\n const { tree } = this;\n let { expanded } = this;\n const { config } = tree;\n if (\n typeof config.expandLevel === 'number'\n && this.getLevel() < config.expandLevel\n ) {\n tree.expandedMap.set(this.value, true);\n expanded = true;\n }\n if (config.expandAll) {\n expanded = true;\n }\n if (this.children === true && config.lazy) {\n expanded = false;\n }\n if (expanded) {\n tree.expandedMap.set(this.value, true);\n } else {\n tree.expandedMap.delete(this.value);\n }\n this.expanded = expanded;\n }\n\n // 初始化高亮状态\n public initActived(): void {\n const { tree, actived } = this;\n if (actived) {\n tree.activedMap.set(this.value, true);\n }\n }\n\n /* ------ 节点操作 ------ */\n\n // 追加数据\n public append(data: TypeTreeNodeData | TypeTreeNodeData[]): void {\n const list = [];\n if (!Array.isArray(data)) {\n list.push(data);\n } else {\n list.push(...data);\n }\n if (list.length <= 0) {\n return;\n }\n if (!Array.isArray(this.children)) {\n this.children = [];\n }\n const { children, tree } = this;\n list.forEach((item) => {\n let node = null;\n if (item instanceof TreeNode) {\n node = item;\n node.appendTo(this.tree, this);\n } else {\n node = new TreeNode(this.tree, item, this);\n children.push(node);\n }\n });\n tree.reflow(this);\n this.updateRelated();\n }\n\n // 将当前节点追加到某个父节点的子节点列表中\n public appendTo(\n tree: TreeStore,\n parent?: TreeNode,\n index?: number,\n ): void {\n const parentNode = parent;\n if (!parentNode) return;\n\n const targetParents = parentNode.getParents();\n const includeCurrent = targetParents.some((node) => node.value === this.value);\n if (includeCurrent) {\n // 不能将父节点插入到子节点\n return;\n }\n\n if (Array.isArray(parentNode.children)) {\n let targetIndex = 0;\n if (typeof index === 'number') {\n targetIndex = index;\n }\n const targetPosNode = parentNode.children[targetIndex];\n if (targetPosNode.value === this.value) {\n // 无需将节点插入到原位置\n return;\n }\n }\n\n this.remove();\n this.parent = parentNode;\n\n let siblings = null;\n if (parentNode instanceof TreeNode) {\n if (!Array.isArray(parentNode.children)) {\n parentNode.children = [];\n }\n siblings = parent.children;\n } else {\n siblings = tree.children;\n }\n if (Array.isArray(siblings)) {\n if (typeof index === 'number') {\n siblings.splice(index, 0, this);\n } else {\n siblings.push(this);\n }\n }\n\n // 插入节点应当继承展开状态\n // 但建议不要继承选中状态和高亮状态\n const nodes = this.walk();\n nodes.forEach((item) => {\n const node = item;\n node.tree = tree;\n tree.nodeMap.set(node.value, node);\n if (node.expanded) {\n tree.expandedMap.set(node.value, true);\n }\n });\n\n const updateNodes = parentNode.walk();\n updateNodes.forEach((node) => {\n node.update();\n node.updateChecked();\n });\n\n tree.reflow();\n }\n\n // 插入一个同级节点数据\n public insert(\n item: TypeTreeItem,\n index?: number,\n ): void {\n const { tree, parent } = this;\n const siblings = this.getSiblings();\n let node = null;\n if (item instanceof TreeNode) {\n node = item;\n node.appendTo(tree, parent, index);\n } else if (item) {\n node = new TreeNode(tree, item, parent);\n if (typeof index === 'number') {\n siblings.splice(index, 0, node);\n }\n siblings.forEach((sibling) => {\n sibling.update();\n });\n }\n tree.reflow();\n }\n\n // 在当前节点之前插入节点\n public insertBefore(newData: TypeTreeItem): void {\n const index = this.getIndex();\n this.insert(newData, index);\n }\n\n // 在当前节点之后插入节点\n public insertAfter(newData: TypeTreeItem): void {\n const index = this.getIndex();\n this.insert(newData, index + 1);\n }\n\n // 从一个树移除本节点\n public remove(): void {\n const { tree } = this;\n\n const nodes = this.walk();\n const siblings = this.getSiblings();\n const index = this.getIndex();\n // 从父节点的子节点列表中移除自己\n // 但不要将自己的父节点移除,避免渲染与判断失败\n if (Array.isArray(siblings)) {\n siblings.splice(index, 1);\n }\n // 清理与树的关系,但不清理自身状态\n nodes.forEach((node) => {\n node.clean();\n });\n // 同级节点的连线状态会受到影响\n siblings.forEach((node) => {\n node.update();\n });\n // 父节点选中态会受到影响\n this.updateParents();\n tree.reflow();\n }\n\n // 清除本节点与一个树的关系\n public clean(): void {\n const { tree, value } = this;\n tree.activedMap.delete(value);\n tree.checkedMap.delete(value);\n tree.expandedMap.delete(value);\n tree.nodeMap.delete(value);\n }\n\n // 异步加载子节点数据\n public async loadChildren(): Promise<void> {\n const config = get(this, 'tree.config') || {};\n if (this.children === true && !this.loading) {\n if (typeof config.load === 'function') {\n this.loading = true;\n this.update();\n let list = [];\n list = await config.load(this);\n this.tree.emit('load', {\n node: this,\n data: list,\n });\n this.loading = false;\n if (Array.isArray(list) && list.length > 0) {\n this.append(list);\n } else {\n this.children = false;\n }\n this.update();\n }\n }\n }\n\n // 设置状态\n public set(item: TreeNodeState): void {\n const { tree } = this;\n const keys = Object.keys(item);\n keys.forEach((key) => {\n if (hasOwnProperty.call(defaultStatus, key) || key === 'label') {\n this[key] = item[key];\n }\n });\n tree.updated(this);\n }\n\n /* ------ 节点获取 ------- */\n\n // 获取单个父节点\n public getParent(): TreeNode {\n return this.parent;\n }\n\n // 获取所有父节点\n public getParents(): TreeNode[] {\n const parents = [];\n let node = this.parent;\n while (node) {\n parents.push(node);\n node = node.parent;\n }\n return parents;\n }\n\n // 获取兄弟节点,包含自己在内\n public getSiblings(): TreeNode[] {\n const { parent, tree } = this;\n let list: TreeNode[] = [];\n if (parent) {\n if (Array.isArray(parent.children)) {\n list = parent.children;\n }\n } else if (tree) {\n list = tree.children;\n }\n return list;\n }\n\n // 获取根节点\n public getRoot(): TreeNode {\n const parents = this.getParents();\n return parents[parents.length - 1] || null;\n }\n\n // 获取节点在父节点的子节点列表中的位置\n // 如果没有父节点,则获取节点在根节点列表的位置\n public getIndex(): number {\n const list = this.getSiblings();\n return list.indexOf(this);\n }\n\n // 返回路径节点\n public getPath(): TreeNode[] {\n const nodes = this.getParents();\n nodes.unshift(this);\n return nodes.reverse();\n }\n\n // 获取节点所在层级\n public getLevel(): number {\n const parents = this.getParents();\n return parents.length;\n }\n\n /* ------ 节点状态判断 ------ */\n\n // 判断节点是否被过滤\n public isRest(): boolean {\n const {\n config,\n filterMap,\n } = this.tree;\n\n let rest = true;\n if (typeof config.filter === 'function') {\n const nodeModel = this.getModel();\n rest = config.filter(nodeModel);\n }\n\n if (rest) {\n filterMap.set(this.value, true);\n } else if (filterMap.get(this.value)) {\n filterMap.delete(this.value);\n }\n\n return rest;\n }\n\n // 判断节点是否可视\n public isVisible(): boolean {\n const {\n nodeMap,\n } = this.tree;\n\n let visible = true;\n\n // 锁定状态,直接呈现\n if (this.vmIsLocked) {\n return true;\n }\n\n // 在当前树上,未被移除\n if (nodeMap.get(this.value)) {\n // 节点未被过滤\n const filterVisible = this.isRest();\n\n // 所有父节点展开\n let expandVisible = true;\n const parents = this.getParents();\n if (parents.length > 0) {\n expandVisible = parents.every((node: TreeNode) => node.isExpanded());\n }\n\n // 节点为未被过滤节点的父节点\n visible = expandVisible && filterVisible;\n } else {\n visible = false;\n }\n return visible;\n }\n\n // 判断节点是否被禁用\n public isDisabled() {\n if (this.vmIsLocked) return true;\n const treeDisabled = get(this, 'tree.config.disabled');\n return !!(treeDisabled || this.disabled);\n }\n\n // 判断节点是否支持互斥展开\n public isExpandMutex() {\n return !!(get(this, 'tree.config.expandMutex') || this.expandMutex);\n }\n\n // 节点可高亮\n public isActivable() {\n return !!(get(this, 'tree.config.activable') || this.activable);\n }\n\n // 是否可选\n public isCheckable() {\n return !!(get(this, 'tree.config.checkable') || this.checkable);\n }\n\n // 检查节点是否被激活\n public isActived(map?: Map<string, boolean>): boolean {\n const { tree, value } = this;\n const activedMap = map || tree.activedMap;\n return !!(tree.nodeMap.get(value) && activedMap.get(value));\n }\n\n // 检查节点是否已展开\n public isExpanded(map?: Map<string, boolean>): boolean {\n const { tree, value, vmIsLocked } = this;\n if (vmIsLocked) return true;\n const expandedMap = map || tree.expandedMap;\n return !!(tree.nodeMap.get(value) && expandedMap.get(value));\n }\n\n // 计算属性,判断节点是否被选中\n // map: 预期选中项map,用于计算节点在预期环境中的选中态\n public isChecked(map?: TypeIdMap): boolean {\n const { children, tree } = this;\n const { checkStrictly } = tree.config;\n let checked = false;\n const checkedMap = map || tree.checkedMap;\n if (tree.nodeMap.get(this.value)) {\n if (checkedMap.get(this.value)) {\n // 如果在 checked 节点列表中,则直接为 true\n checked = true;\n } else if (\n Array.isArray(children)\n && children.length > 0\n && !checkStrictly\n ) {\n // 如果是父节点,需检查所有子节点状态\n checked = children.every((node) => {\n const childIsChecked = node.isChecked(checkedMap);\n return childIsChecked;\n });\n } else if (!checkStrictly) {\n // 从父节点状态推断子节点状态\n // 这里再调用 isChecked 会导致死循环\n const parents = this.getParents();\n checked = parents.some((node) => checkedMap.get(node.value));\n }\n }\n return !!checked;\n }\n\n // 是否为半选状态\n public isIndeterminate(): boolean {\n const { children, tree } = this;\n const { checkStrictly } = tree.config;\n if (checkStrictly) {\n return false;\n }\n let indeterminate = false;\n if (Array.isArray(children)) {\n // 叶节点不存在半选状态\n let childChecked: null | boolean = null;\n indeterminate = children.some((node: TreeNode) => {\n if (node.isIndeterminate()) {\n // 子节点有任意一个半选,则其为半选状态\n return true;\n }\n if (childChecked === null) {\n childChecked = node.isChecked();\n }\n if (childChecked !== node.isChecked()) {\n // 子节点选中状态不一致,则其为半选状态\n return true;\n }\n return false;\n });\n }\n return indeterminate;\n }\n\n public isFirst(): boolean {\n const siblings = this.getSiblings();\n return siblings[0] === this;\n }\n\n public isLast(): boolean {\n const siblings = this.getSiblings();\n return siblings[siblings.length - 1] === this;\n }\n\n // 是叶节点\n public isLeaf(): boolean {\n let isLeaf = false;\n if (Array.isArray(this.children)) {\n isLeaf = this.children.length <= 0;\n } else {\n isLeaf = !this.children;\n }\n return isLeaf;\n }\n\n /* ------ 节点状态切换 ------ */\n\n // 锁定节点\n // 搜索过滤节点时,路径节点需要固定呈现,视其为锁定态\n public lock(lockState: boolean): void {\n this.vmIsLocked = lockState;\n this.expanded = this.isExpanded();\n this.visible = this.isVisible();\n }\n\n // 节点展开关闭后需要调用的状态检查函数\n public afterExpanded(): void {\n this.update();\n // 节点展开时检查延迟加载的数据\n if (this.expanded && this.children === true) {\n this.loadChildren();\n }\n }\n\n // 展开或者关闭节点\n public toggleExpanded(): TreeNodeValue[] {\n return this.setExpanded(!this.isExpanded());\n }\n\n // 设置节点展开状态\n public setExpanded(expanded: boolean, opts?: TypeSettingOptions): TreeNodeValue[] {\n const { tree } = this;\n const options = {\n directly: false,\n ...opts,\n };\n\n let map = tree.expandedMap;\n if (!options.directly) {\n map = new Map(tree.expandedMap);\n }\n\n // 手风琴效果,先折叠同级节点\n if (expanded) {\n const shouldExpandNodes = [];\n shouldExpandNodes.push(this);\n if (get(tree, 'config.expandParent')) {\n this.getParents().forEach((node) => {\n shouldExpandNodes.push(node);\n });\n }\n shouldExpandNodes.forEach((node) => {\n let isExpandMutex = false;\n if (node.parent) {\n isExpandMutex = node.parent.isExpandMutex();\n } else {\n isExpandMutex = tree?.config?.expandMutex;\n }\n if (isExpandMutex) {\n const siblings = node.getSiblings();\n siblings.forEach((snode) => {\n map.delete(snode.value);\n });\n }\n map.set(node.value, true);\n });\n } else {\n map.delete(this.value);\n }\n\n if (options.directly) {\n this.afterExpanded();\n this.update();\n this.updateChildren();\n }\n\n return tree.getExpanded(map);\n }\n\n // 切换节点激活态\n public toggleActived(): TreeNodeValue[] {\n return this.setActived(!this.isActived());\n }\n\n // 设置节点激活态\n public setActived(actived: boolean, opts?: TypeSettingOptions): TreeNodeValue[] {\n const { tree } = this;\n const options = {\n directly: false,\n ...opts,\n };\n const config = tree.config || {};\n let map = tree.activedMap;\n if (!options.directly) {\n map = new Map(tree.activedMap);\n }\n if (this.isActivable()) {\n if (actived) {\n if (!config.activeMultiple) {\n map.clear();\n }\n map.set(this.value, true);\n } else {\n map.delete(this.value);\n }\n }\n if (options.directly) {\n this.update();\n }\n return tree.getActived(map);\n }\n\n // 切换选中态\n public toggleChecked(): TreeNodeValue[] {\n return this.setChecked(!this.isChecked());\n }\n\n // 更新单个节点的选中态\n // 返回树选中列表\n public setChecked(checked: boolean, opts?: TypeSettingOptions): TreeNodeValue[] {\n const { tree } = this;\n const config = tree.config || {};\n const options = {\n directly: false,\n ...opts,\n };\n let map = tree.checkedMap;\n if (!options.directly) {\n map = new Map(tree.checkedMap);\n }\n if (this.isCheckable() && checked !== this.isChecked()) {\n if (config.checkStrictly) {\n if (checked) {\n map.set(this.value, true);\n } else {\n map.delete(this.value);\n }\n } else {\n const children = this.walk();\n // 子节点的预期选中态与当前节点同步\n children.forEach((node) => {\n if (checked) {\n map.set(node.value, true);\n } else {\n map.delete(node.value);\n }\n });\n // 消除全部父节点的预期选中态\n // 父节点的预期选中态将通过计算得出\n const parents = this.getParents();\n parents.forEach((node) => {\n map.delete(node.value);\n });\n }\n }\n if (options.directly) {\n if (config.checkStrictly) {\n this.updateChecked();\n } else {\n const relatedNodes = tree.getRelatedNodes([this.value]);\n relatedNodes.forEach((node) => {\n node.updateChecked();\n });\n }\n }\n return tree.getChecked(map);\n }\n\n /* ------ 节点状态更新 ------ */\n\n // 更新节点状态\n public update(): void {\n this.level = this.getLevel();\n this.actived = this.isActived();\n this.expanded = this.isExpanded();\n this.vmCheckable = this.isCheckable();\n this.visible = this.isVisible();\n this.vmIsRest = this.isRest();\n this.vmIsFirst = this.isFirst();\n this.vmIsLast = this.isLast();\n this.vmIsLeaf = this.isLeaf();\n this.tree.updated(this);\n }\n\n // 更新选中态属性值\n public updateChecked(): void {\n const { tree } = this;\n this.vmCheckable = this.isCheckable();\n if (this.vmCheckable && !this.disabled) {\n this.checked = this.isChecked();\n if (this.checked) {\n tree.checkedMap.set(this.value, true);\n }\n this.indeterminate = this.isIndeterminate();\n tree.updated(this);\n }\n }\n\n // 更新所有子节点状态\n // 注意:不包含自己\n public updateChildren(): void {\n const { children } = this;\n if (Array.isArray(children)) {\n children.forEach((node) => {\n node.update();\n node.updateChecked();\n node.updateChildren();\n });\n }\n }\n\n // 父节点状态更新\n // 注意:不包含自己\n public updateParents(): void {\n const { parent } = this;\n if (parent) {\n parent.update();\n parent.updateChecked();\n parent.updateParents();\n }\n }\n\n // 更新上下游相关节点\n public updateRelated() {\n const { tree } = this;\n const relatedNodes = tree.getRelatedNodes([this.value]);\n relatedNodes.forEach((node) => {\n node.update();\n node.updateChecked();\n });\n tree.reflow();\n }\n\n /* ------ 节点遍历 ------ */\n\n // 获取包含自己在内所有的子节点\n public walk(): TreeNode[] {\n const { children } = this;\n let list: TreeNode[] = [];\n list.push(this);\n if (Array.isArray(children) && children.length > 0) {\n children.forEach((node) => {\n list = list.concat(node.walk());\n });\n }\n return list;\n }\n\n // TreeNode 对象 => TypeTreeNodeModel 对象\n // 用于 treeNode 对外暴露的 api\n // 经过封装的对象,减少了对外暴露的 api,利于代码重构\n public getModel(): TypeTreeNodeModel {\n let { model } = this;\n if (!model) {\n model = createNodeModel(this);\n this.model = model;\n }\n updateNodeModel(model, this);\n return model;\n }\n}\n\nexport default TreeNode;\n"],"names":["toString","require$$0","idCounter","uniqueId","prefix","id","uniqueId_1","isNil","value","isNil_1","hasOwnProperty","Object","prototype","defaultStatus","expandMutex","activable","checkable","disabled","draggable","loading","TreeNode","tree","data","parent","_classCallCheck","config","keys","get","propChildren","children","propLabel","label","propValue","model","vmCheckable","vmIsLeaf","vmIsFirst","vmIsLast","vmIsRest","vmIsLocked","spec","actived","expanded","checked","set","nodeMap","level","visible","initActived","initExpanded","initChecked","update","reflow","Array","isArray","append","lazy","loadChildren","indeterminate","updateChecked","_createClass","checkStrictly","isChecked","checkedMap","expandLevel","getLevel","expandedMap","expandAll","activedMap","list","push","_toConsumableArray","length","forEach","item","node","appendTo","updateRelated","index","parentNode","targetParents","getParents","includeCurrent","some","targetIndex","targetPosNode","remove","siblings","splice","nodes","walk","updateNodes","getSiblings","sibling","newData","getIndex","insert","clean","updateParents","_asyncToGenerator","_regeneratorRuntime","load","emit","key","call","updated","parents","indexOf","unshift","reverse","filterMap","rest","filter","nodeModel","getModel","filterVisible","isRest","expandVisible","every","isExpanded","treeDisabled","map","childIsChecked","childChecked","isIndeterminate","isLeaf","lockState","isVisible","setExpanded","opts","options","directly","Map","shouldExpandNodes","isExpandMutex","snode","afterExpanded","updateChildren","getExpanded","setActived","isActived","isActivable","activeMultiple","clear","getActived","setChecked","isCheckable","relatedNodes","getRelatedNodes","getChecked","isFirst","isLast","concat","createNodeModel","updateNodeModel"],"mappings":"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"}
1
+ {"version":3,"file":"tree-node.js","sources":["../../../../node_modules/lodash/uniqueId.js","../../../../node_modules/lodash/isNil.js","../../../../src/_common/js/tree/tree-node.ts"],"sourcesContent":["var toString = require('./toString');\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nmodule.exports = uniqueId;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","import uniqueId from 'lodash/uniqueId';\nimport isNil from 'lodash/isNil';\nimport get from 'lodash/get';\nimport { TreeStore } from './tree-store';\nimport {\n TreeNodeValue,\n TreeNodeState,\n TypeIdMap,\n TypeTreeItem,\n TypeSettingOptions,\n TypeTreeNodeModel,\n TypeTreeNodeData,\n} from './types';\nimport {\n createNodeModel,\n updateNodeModel,\n} from './tree-node-model';\n\nconst { hasOwnProperty } = Object.prototype;\n\nconst defaultStatus = {\n expandMutex: false,\n activable: false,\n checkable: false,\n disabled: false,\n draggable: false,\n loading: false,\n};\n\n// vm 开头为视图属性,不可以外部设置\n// 用于触发视图更新\nexport class TreeNode {\n // 节点隶属的树实例\n public tree: TreeStore;\n\n // 节点 id ,唯一标志\n public value: string;\n\n // 节点文本\n public label: string;\n\n // 节点数据\n public data: TypeTreeNodeData;\n\n // 父节点\n public parent: TreeNode;\n\n // 子节点列表\n public children: TreeNode[] | boolean;\n\n // 暴露的 treeNodeModel,这个对象的属性和 api 提供给用户使用\n public model: TypeTreeNodeModel;\n\n // 是否为叶节点\n public vmIsLeaf: boolean;\n\n // 是否为子节点中的第一个\n public vmIsFirst: boolean;\n\n // 是否为子节点中的最后\n public vmIsLast: boolean;\n\n // 节点是否是经过过滤剩下的\n public vmIsRest: boolean;\n\n // 节点是否展示为锁定状态\n public vmIsLocked: boolean;\n\n // 节点在视图上实际的展开状态\n public expanded: boolean;\n\n // 展开时是否收起同级节点,对子节点生效\n public expandMutex: boolean;\n\n // 节点在视图上实际的激活状态\n public actived: boolean;\n\n // 是否可激活\n public activable: boolean;\n\n // 是否可选中\n public checkable: boolean;\n\n // 是否可选中的视图呈现\n public vmCheckable: boolean;\n\n // 节点在视图上实际的选中态\n public checked: boolean;\n\n // 节点实际是否为半选状态\n public indeterminate: boolean;\n\n // 节点是否已禁用\n public disabled: boolean;\n\n // 节点是否可拖动\n public draggable: boolean;\n\n // 节点是否可视\n public visible: boolean;\n\n // 节点在树中的层级\n public level: number;\n\n // 节点是否正在加载数据\n public loading: boolean;\n\n public constructor(\n tree: TreeStore,\n data?: TypeTreeNodeData,\n parent?: TreeNode,\n ) {\n this.data = data;\n this.tree = tree;\n\n const config = tree.config || {};\n const prefix = config.prefix || 't';\n const keys = get(tree, 'config.keys') || {};\n const propChildren = keys.children || 'children';\n const propLabel = keys.label || 'label';\n const propValue = keys.value || 'value';\n\n this.model = null;\n this.children = null;\n this.vmCheckable = false;\n this.vmIsLeaf = false;\n this.vmIsFirst = false;\n this.vmIsLast = false;\n this.vmIsRest = true;\n this.vmIsLocked = false;\n\n const spec = {\n ...defaultStatus,\n actived: false,\n expanded: false,\n checked: false,\n ...data,\n };\n const children = spec[propChildren];\n\n this.set(spec);\n this.label = spec[propLabel] || '';\n this.value = isNil(spec[propValue]) ? uniqueId(prefix) : spec[propValue];\n this.tree.nodeMap.set(this.value, this);\n\n if (parent && parent instanceof TreeNode) {\n this.parent = parent;\n } else {\n this.parent = null;\n }\n\n // 子节点为 true 的状态逻辑需要放到状态计算之前\n // 初始化加载逻辑需要依据这个来进行\n if (children === true) {\n this.children = children;\n }\n\n // 初始化状态计算\n this.level = 0;\n this.visible = true;\n\n this.actived = spec.actived;\n this.initActived();\n\n this.expanded = spec.expanded;\n this.initExpanded();\n\n this.checked = spec.checked;\n this.initChecked();\n\n this.update();\n tree.reflow(this);\n\n // 这里的子节点加载逻辑不能放到状态计算之前\n // 因为子节点状态计算依赖父节点状态\n if (Array.isArray(children)) {\n this.append(children);\n } else if (children === true && !config.lazy) {\n this.loadChildren();\n }\n\n // checked 状态依赖于子节点状态\n // 因此初始化状态放到子节点插入之后\n this.checked = false;\n this.indeterminate = false;\n this.updateChecked();\n }\n\n /* ------ 状态初始化 ------ */\n\n // 初始化选中态\n public initChecked() {\n const { tree, value, parent } = this;\n const { checkStrictly } = tree.config;\n let { checked } = this;\n checked = parent?.isChecked();\n if (checked && !checkStrictly) {\n tree.checkedMap.set(value, true);\n }\n this.checked = checked;\n }\n\n // 初始化节点展开状态\n public initExpanded(): void {\n const { tree } = this;\n let { expanded } = this;\n const { config } = tree;\n if (\n typeof config.expandLevel === 'number'\n && this.getLevel() < config.expandLevel\n ) {\n tree.expandedMap.set(this.value, true);\n expanded = true;\n }\n if (config.expandAll) {\n expanded = true;\n }\n if (this.children === true && config.lazy) {\n expanded = false;\n }\n if (expanded) {\n tree.expandedMap.set(this.value, true);\n } else {\n tree.expandedMap.delete(this.value);\n }\n this.expanded = expanded;\n }\n\n // 初始化高亮状态\n public initActived(): void {\n const { tree, actived } = this;\n if (actived) {\n tree.activedMap.set(this.value, true);\n }\n }\n\n /* ------ 节点操作 ------ */\n\n // 追加数据\n public append(data: TypeTreeNodeData | TypeTreeNodeData[]): void {\n const list = [];\n if (!Array.isArray(data)) {\n list.push(data);\n } else {\n list.push(...data);\n }\n if (list.length <= 0) {\n return;\n }\n if (!Array.isArray(this.children)) {\n this.children = [];\n }\n const { children, tree } = this;\n list.forEach((item) => {\n let node = null;\n if (item instanceof TreeNode) {\n node = item;\n node.appendTo(this.tree, this);\n } else {\n node = new TreeNode(this.tree, item, this);\n children.push(node);\n }\n });\n tree.reflow(this);\n this.updateRelated();\n }\n\n // 将当前节点追加到某个父节点的子节点列表中\n public appendTo(\n tree: TreeStore,\n parent?: TreeNode,\n index?: number,\n ): void {\n const parentNode = parent;\n if (!parentNode) return;\n\n const targetParents = parentNode.getParents();\n const includeCurrent = targetParents.some((node) => node.value === this.value);\n if (includeCurrent) {\n // 不能将父节点插入到子节点\n return;\n }\n\n if (Array.isArray(parentNode.children)) {\n let targetIndex = 0;\n if (typeof index === 'number') {\n targetIndex = index;\n }\n const targetPosNode = parentNode.children[targetIndex];\n if (targetPosNode.value === this.value) {\n // 无需将节点插入到原位置\n return;\n }\n }\n\n this.remove();\n this.parent = parentNode;\n\n let siblings = null;\n if (parentNode instanceof TreeNode) {\n if (!Array.isArray(parentNode.children)) {\n parentNode.children = [];\n }\n siblings = parent.children;\n } else {\n siblings = tree.children;\n }\n if (Array.isArray(siblings)) {\n if (typeof index === 'number') {\n siblings.splice(index, 0, this);\n } else {\n siblings.push(this);\n }\n }\n\n // 插入节点应当继承展开状态\n // 但建议不要继承选中状态和高亮状态\n const nodes = this.walk();\n nodes.forEach((item) => {\n const node = item;\n node.tree = tree;\n tree.nodeMap.set(node.value, node);\n if (node.expanded) {\n tree.expandedMap.set(node.value, true);\n }\n });\n\n const updateNodes = parentNode.walk();\n updateNodes.forEach((node) => {\n node.update();\n node.updateChecked();\n });\n\n tree.reflow();\n }\n\n // 插入一个同级节点数据\n public insert(\n item: TypeTreeItem,\n index?: number,\n ): void {\n const { tree, parent } = this;\n const siblings = this.getSiblings();\n let node = null;\n if (item instanceof TreeNode) {\n node = item;\n node.appendTo(tree, parent, index);\n } else if (item) {\n node = new TreeNode(tree, item, parent);\n if (typeof index === 'number') {\n siblings.splice(index, 0, node);\n }\n siblings.forEach((sibling) => {\n sibling.update();\n });\n }\n tree.reflow();\n }\n\n // 在当前节点之前插入节点\n public insertBefore(newData: TypeTreeItem): void {\n const index = this.getIndex();\n this.insert(newData, index);\n }\n\n // 在当前节点之后插入节点\n public insertAfter(newData: TypeTreeItem): void {\n const index = this.getIndex();\n this.insert(newData, index + 1);\n }\n\n // 从一个树移除本节点\n public remove(): void {\n const { tree } = this;\n\n const nodes = this.walk();\n const siblings = this.getSiblings();\n const index = this.getIndex();\n // 从父节点的子节点列表中移除自己\n // 但不要将自己的父节点移除,避免渲染与判断失败\n if (Array.isArray(siblings)) {\n siblings.splice(index, 1);\n }\n // 清理与树的关系,但不清理自身状态\n nodes.forEach((node) => {\n node.clean();\n });\n // 同级节点的连线状态会受到影响\n siblings.forEach((node) => {\n node.update();\n });\n // 父节点选中态会受到影响\n this.updateParents();\n tree.reflow();\n }\n\n // 清除本节点与一个树的关系\n public clean(): void {\n const { tree, value } = this;\n tree.activedMap.delete(value);\n tree.checkedMap.delete(value);\n tree.expandedMap.delete(value);\n tree.nodeMap.delete(value);\n }\n\n // 异步加载子节点数据\n public async loadChildren(): Promise<void> {\n const config = get(this, 'tree.config') || {};\n if (this.children === true && !this.loading) {\n if (typeof config.load === 'function') {\n this.loading = true;\n this.update();\n let list = [];\n list = await config.load(this);\n this.tree.emit('load', {\n node: this,\n data: list,\n });\n this.loading = false;\n if (Array.isArray(list) && list.length > 0) {\n this.append(list);\n } else {\n this.children = false;\n }\n this.update();\n }\n }\n }\n\n // 设置状态\n public set(item: TreeNodeState): void {\n const { tree } = this;\n const keys = Object.keys(item);\n keys.forEach((key) => {\n if (hasOwnProperty.call(defaultStatus, key) || key === 'label') {\n this[key] = item[key];\n }\n });\n tree.updated(this);\n }\n\n /* ------ 节点获取 ------- */\n\n // 获取单个父节点\n public getParent(): TreeNode {\n return this.parent;\n }\n\n // 获取所有父节点\n public getParents(): TreeNode[] {\n const parents = [];\n let node = this.parent;\n while (node) {\n parents.push(node);\n node = node.parent;\n }\n return parents;\n }\n\n // 获取兄弟节点,包含自己在内\n public getSiblings(): TreeNode[] {\n const { parent, tree } = this;\n let list: TreeNode[] = [];\n if (parent) {\n if (Array.isArray(parent.children)) {\n list = parent.children;\n }\n } else if (tree) {\n list = tree.children;\n }\n return list;\n }\n\n // 获取根节点\n public getRoot(): TreeNode {\n const parents = this.getParents();\n return parents[parents.length - 1] || null;\n }\n\n // 获取节点在父节点的子节点列表中的位置\n // 如果没有父节点,则获取节点在根节点列表的位置\n public getIndex(): number {\n const list = this.getSiblings();\n return list.indexOf(this);\n }\n\n // 返回路径节点\n public getPath(): TreeNode[] {\n const nodes = this.getParents();\n nodes.unshift(this);\n return nodes.reverse();\n }\n\n // 获取节点所在层级\n public getLevel(): number {\n const parents = this.getParents();\n return parents.length;\n }\n\n /* ------ 节点状态判断 ------ */\n\n // 判断节点是否被过滤\n public isRest(): boolean {\n const {\n config,\n filterMap,\n } = this.tree;\n\n let rest = true;\n if (typeof config.filter === 'function') {\n const nodeModel = this.getModel();\n rest = config.filter(nodeModel);\n }\n\n if (rest) {\n filterMap.set(this.value, true);\n } else if (filterMap.get(this.value)) {\n filterMap.delete(this.value);\n }\n\n return rest;\n }\n\n // 判断节点是否可视\n public isVisible(): boolean {\n const {\n nodeMap,\n } = this.tree;\n\n let visible = true;\n\n // 锁定状态,直接呈现\n if (this.vmIsLocked) {\n return true;\n }\n\n // 在当前树上,未被移除\n if (nodeMap.get(this.value)) {\n // 节点未被过滤\n const filterVisible = this.isRest();\n\n // 所有父节点展开\n let expandVisible = true;\n const parents = this.getParents();\n if (parents.length > 0) {\n expandVisible = parents.every((node: TreeNode) => node.isExpanded());\n }\n\n // 节点为未被过滤节点的父节点\n visible = expandVisible && filterVisible;\n } else {\n visible = false;\n }\n return visible;\n }\n\n // 判断节点是否被禁用\n public isDisabled() {\n if (this.vmIsLocked) return true;\n const treeDisabled = get(this, 'tree.config.disabled');\n return !!(treeDisabled || this.disabled);\n }\n\n // 判断节点是否支持互斥展开\n public isExpandMutex() {\n return !!(get(this, 'tree.config.expandMutex') || this.expandMutex);\n }\n\n // 节点可高亮\n public isActivable() {\n return !!(get(this, 'tree.config.activable') || this.activable);\n }\n\n // 是否可选\n public isCheckable() {\n return !!(get(this, 'tree.config.checkable') || this.checkable);\n }\n\n // 检查节点是否被激活\n public isActived(map?: Map<string, boolean>): boolean {\n const { tree, value } = this;\n const activedMap = map || tree.activedMap;\n return !!(tree.nodeMap.get(value) && activedMap.get(value));\n }\n\n // 检查节点是否已展开\n public isExpanded(map?: Map<string, boolean>): boolean {\n const { tree, value, vmIsLocked } = this;\n if (vmIsLocked) return true;\n const expandedMap = map || tree.expandedMap;\n return !!(tree.nodeMap.get(value) && expandedMap.get(value));\n }\n\n // 计算属性,判断节点是否被选中\n // map: 预期选中项map,用于计算节点在预期环境中的选中态\n public isChecked(map?: TypeIdMap): boolean {\n const { children, tree } = this;\n const { checkStrictly } = tree.config;\n let checked = false;\n const checkedMap = map || tree.checkedMap;\n if (tree.nodeMap.get(this.value)) {\n if (checkedMap.get(this.value)) {\n // 如果在 checked 节点列表中,则直接为 true\n checked = true;\n } else if (\n Array.isArray(children)\n && children.length > 0\n && !checkStrictly\n ) {\n // 如果是父节点,需检查所有子节点状态\n checked = children.every((node) => {\n const childIsChecked = node.isChecked(checkedMap);\n return childIsChecked;\n });\n } else if (!checkStrictly) {\n // 从父节点状态推断子节点状态\n // 这里再调用 isChecked 会导致死循环\n const parents = this.getParents();\n checked = parents.some((node) => checkedMap.get(node.value));\n }\n }\n return !!checked;\n }\n\n // 是否为半选状态\n public isIndeterminate(): boolean {\n const { children, tree } = this;\n const { checkStrictly } = tree.config;\n if (checkStrictly) {\n return false;\n }\n let indeterminate = false;\n if (Array.isArray(children)) {\n // 叶节点不存在半选状态\n let childChecked: null | boolean = null;\n indeterminate = children.some((node: TreeNode) => {\n if (node.isIndeterminate()) {\n // 子节点有任意一个半选,则其为半选状态\n return true;\n }\n if (childChecked === null) {\n childChecked = node.isChecked();\n }\n if (childChecked !== node.isChecked()) {\n // 子节点选中状态不一致,则其为半选状态\n return true;\n }\n return false;\n });\n }\n return indeterminate;\n }\n\n public isFirst(): boolean {\n const siblings = this.getSiblings();\n return siblings[0] === this;\n }\n\n public isLast(): boolean {\n const siblings = this.getSiblings();\n return siblings[siblings.length - 1] === this;\n }\n\n // 是叶节点\n public isLeaf(): boolean {\n let isLeaf = false;\n if (Array.isArray(this.children)) {\n isLeaf = this.children.length <= 0;\n } else {\n isLeaf = !this.children;\n }\n return isLeaf;\n }\n\n /* ------ 节点状态切换 ------ */\n\n // 锁定节点\n // 搜索过滤节点时,路径节点需要固定呈现,视其为锁定态\n public lock(lockState: boolean): void {\n this.vmIsLocked = lockState;\n this.expanded = this.isExpanded();\n this.visible = this.isVisible();\n }\n\n // 节点展开关闭后需要调用的状态检查函数\n public afterExpanded(): void {\n this.update();\n // 节点展开时检查延迟加载的数据\n if (this.expanded && this.children === true) {\n this.loadChildren();\n }\n }\n\n // 展开或者关闭节点\n public toggleExpanded(): TreeNodeValue[] {\n return this.setExpanded(!this.isExpanded());\n }\n\n // 设置节点展开状态\n public setExpanded(expanded: boolean, opts?: TypeSettingOptions): TreeNodeValue[] {\n const { tree } = this;\n const options = {\n directly: false,\n ...opts,\n };\n\n let map = tree.expandedMap;\n if (!options.directly) {\n map = new Map(tree.expandedMap);\n }\n\n // 手风琴效果,先折叠同级节点\n if (expanded) {\n const shouldExpandNodes = [];\n shouldExpandNodes.push(this);\n if (get(tree, 'config.expandParent')) {\n this.getParents().forEach((node) => {\n shouldExpandNodes.push(node);\n });\n }\n shouldExpandNodes.forEach((node) => {\n let isExpandMutex = false;\n if (node.parent) {\n isExpandMutex = node.parent.isExpandMutex();\n } else {\n isExpandMutex = tree?.config?.expandMutex;\n }\n if (isExpandMutex) {\n const siblings = node.getSiblings();\n siblings.forEach((snode) => {\n map.delete(snode.value);\n });\n }\n map.set(node.value, true);\n });\n } else {\n map.delete(this.value);\n }\n\n if (options.directly) {\n this.afterExpanded();\n this.update();\n this.updateChildren();\n }\n\n return tree.getExpanded(map);\n }\n\n // 切换节点激活态\n public toggleActived(): TreeNodeValue[] {\n return this.setActived(!this.isActived());\n }\n\n // 设置节点激活态\n public setActived(actived: boolean, opts?: TypeSettingOptions): TreeNodeValue[] {\n const { tree } = this;\n const options = {\n directly: false,\n ...opts,\n };\n const config = tree.config || {};\n let map = tree.activedMap;\n if (!options.directly) {\n map = new Map(tree.activedMap);\n }\n if (this.isActivable()) {\n if (actived) {\n if (!config.activeMultiple) {\n map.clear();\n }\n map.set(this.value, true);\n } else {\n map.delete(this.value);\n }\n }\n if (options.directly) {\n this.update();\n }\n return tree.getActived(map);\n }\n\n // 切换选中态\n public toggleChecked(): TreeNodeValue[] {\n return this.setChecked(!this.isChecked());\n }\n\n // 更新单个节点的选中态\n // 返回树选中列表\n public setChecked(checked: boolean, opts?: TypeSettingOptions): TreeNodeValue[] {\n const { tree } = this;\n const config = tree.config || {};\n const options = {\n directly: false,\n ...opts,\n };\n let map = tree.checkedMap;\n if (!options.directly) {\n map = new Map(tree.checkedMap);\n }\n if (this.isCheckable() && checked !== this.isChecked()) {\n if (config.checkStrictly) {\n if (checked) {\n map.set(this.value, true);\n } else {\n map.delete(this.value);\n }\n } else {\n const children = this.walk();\n // 子节点的预期选中态与当前节点同步\n children.forEach((node) => {\n if (checked) {\n map.set(node.value, true);\n } else {\n map.delete(node.value);\n }\n });\n // 消除全部父节点的预期选中态\n // 父节点的预期选中态将通过计算得出\n const parents = this.getParents();\n parents.forEach((node) => {\n map.delete(node.value);\n });\n }\n }\n if (options.directly) {\n if (config.checkStrictly) {\n this.updateChecked();\n } else {\n const relatedNodes = tree.getRelatedNodes([this.value]);\n relatedNodes.forEach((node) => {\n node.updateChecked();\n });\n }\n }\n return tree.getChecked(map);\n }\n\n /* ------ 节点状态更新 ------ */\n\n // 更新节点状态\n public update(): void {\n this.level = this.getLevel();\n this.actived = this.isActived();\n this.expanded = this.isExpanded();\n this.vmCheckable = this.isCheckable();\n this.visible = this.isVisible();\n this.vmIsRest = this.isRest();\n this.vmIsFirst = this.isFirst();\n this.vmIsLast = this.isLast();\n this.vmIsLeaf = this.isLeaf();\n this.tree.updated(this);\n }\n\n // 更新选中态属性值\n public updateChecked(isFromValueChange?: boolean): void {\n const { tree } = this;\n this.vmCheckable = this.isCheckable();\n if (this.vmCheckable && (!this.disabled || isFromValueChange)) {\n this.checked = this.isChecked();\n if (this.checked) {\n tree.checkedMap.set(this.value, true);\n }\n this.indeterminate = this.isIndeterminate();\n tree.updated(this);\n }\n }\n\n // 更新所有子节点状态\n // 注意:不包含自己\n public updateChildren(): void {\n const { children } = this;\n if (Array.isArray(children)) {\n children.forEach((node) => {\n node.update();\n node.updateChecked();\n node.updateChildren();\n });\n }\n }\n\n // 父节点状态更新\n // 注意:不包含自己\n public updateParents(): void {\n const { parent } = this;\n if (parent) {\n parent.update();\n parent.updateChecked();\n parent.updateParents();\n }\n }\n\n // 更新上下游相关节点\n public updateRelated() {\n const { tree } = this;\n const relatedNodes = tree.getRelatedNodes([this.value]);\n relatedNodes.forEach((node) => {\n node.update();\n node.updateChecked();\n });\n tree.reflow();\n }\n\n /* ------ 节点遍历 ------ */\n\n // 获取包含自己在内所有的子节点\n public walk(): TreeNode[] {\n const { children } = this;\n let list: TreeNode[] = [];\n list.push(this);\n if (Array.isArray(children) && children.length > 0) {\n children.forEach((node) => {\n list = list.concat(node.walk());\n });\n }\n return list;\n }\n\n // TreeNode 对象 => TypeTreeNodeModel 对象\n // 用于 treeNode 对外暴露的 api\n // 经过封装的对象,减少了对外暴露的 api,利于代码重构\n public getModel(): TypeTreeNodeModel {\n let { model } = this;\n if (!model) {\n model = createNodeModel(this);\n this.model = model;\n }\n updateNodeModel(model, this);\n return model;\n }\n}\n\nexport default TreeNode;\n"],"names":["toString","require$$0","idCounter","uniqueId","prefix","id","uniqueId_1","isNil","value","isNil_1","hasOwnProperty","Object","prototype","defaultStatus","expandMutex","activable","checkable","disabled","draggable","loading","TreeNode","tree","data","parent","_classCallCheck","config","keys","get","propChildren","children","propLabel","label","propValue","model","vmCheckable","vmIsLeaf","vmIsFirst","vmIsLast","vmIsRest","vmIsLocked","spec","actived","expanded","checked","set","nodeMap","level","visible","initActived","initExpanded","initChecked","update","reflow","Array","isArray","append","lazy","loadChildren","indeterminate","updateChecked","_createClass","checkStrictly","isChecked","checkedMap","expandLevel","getLevel","expandedMap","expandAll","activedMap","list","push","_toConsumableArray","length","forEach","item","node","appendTo","updateRelated","index","parentNode","targetParents","getParents","includeCurrent","some","targetIndex","targetPosNode","remove","siblings","splice","nodes","walk","updateNodes","getSiblings","sibling","newData","getIndex","insert","clean","updateParents","_asyncToGenerator","_regeneratorRuntime","load","emit","key","call","updated","parents","indexOf","unshift","reverse","filterMap","rest","filter","nodeModel","getModel","filterVisible","isRest","expandVisible","every","isExpanded","treeDisabled","map","childIsChecked","childChecked","isIndeterminate","isLeaf","lockState","isVisible","setExpanded","opts","options","directly","Map","shouldExpandNodes","isExpandMutex","snode","afterExpanded","updateChildren","getExpanded","setActived","isActived","isActivable","activeMultiple","clear","getActived","setChecked","isCheckable","relatedNodes","getRelatedNodes","getChecked","isFirst","isLast","isFromValueChange","concat","createNodeModel","updateNodeModel"],"mappings":"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"}
@@ -60,7 +60,7 @@ export declare class TreeStore {
60
60
  getChecked(map?: TypeIdMap): TreeNodeValue[];
61
61
  getCheckedNodes(item?: TypeTargetNode): TreeNode[];
62
62
  replaceChecked(list: TreeNodeValue[]): void;
63
- setChecked(list: TreeNodeValue[]): void;
63
+ setChecked(list: TreeNodeValue[], isFromValueChange?: boolean): void;
64
64
  resetChecked(): void;
65
65
  updateAll(): void;
66
66
  remove(value?: TypeTargetNode): void;
@@ -10,7 +10,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var defineProperty = require('../../../_chunks/dep-2a529889.js');
12
12
  var createClass = require('../../../_chunks/dep-35b495ce.js');
13
- var difference = require('../../../_chunks/dep-fec505b6.js');
13
+ var difference = require('../../../_chunks/dep-67a31200.js');
14
14
  var camelCase = require('../../../_chunks/dep-8f6deff7.js');
15
15
  var _baseRest = require('../../../_chunks/dep-9e60d7e7.js');
16
16
  var _common_js_tree_treeNode = require('./tree-node.js');
@@ -28,26 +28,25 @@ require('../../../_chunks/dep-a6ea3da6.js');
28
28
  require('../../../_chunks/dep-77908603.js');
29
29
  require('../../../_chunks/dep-08c9a27c.js');
30
30
  require('../../../_chunks/dep-3ad7012d.js');
31
- require('../../../_chunks/dep-d66dd060.js');
31
+ require('../../../_chunks/dep-dbc0d9a3.js');
32
32
  require('../../../_chunks/dep-7bf57fad.js');
33
33
  require('../../../_chunks/dep-2d5bccf7.js');
34
+ require('../../../_chunks/dep-281bb746.js');
34
35
  require('../../../_chunks/dep-d448bc0f.js');
35
36
  require('../../../_chunks/dep-e5597c52.js');
36
37
  require('../../../_chunks/dep-51f7b77a.js');
37
38
  require('../../../_chunks/dep-c5f427bc.js');
38
39
  require('../../../_chunks/dep-af4acfdd.js');
39
- require('../../../_chunks/dep-281bb746.js');
40
40
  require('../../../_chunks/dep-5b2c970f.js');
41
41
  require('../../../_chunks/dep-b5995757.js');
42
42
  require('../../../_chunks/dep-fccd0ffa.js');
43
43
  require('../../../_chunks/dep-5d8aff0d.js');
44
44
  require('../../../_chunks/dep-e76e3ec1.js');
45
45
  require('./tree-node-model.js');
46
- require('../../../_chunks/dep-18b29c2a.js');
46
+ require('../../../_chunks/dep-024a8c51.js');
47
47
  require('../../../_chunks/dep-cd8ea606.js');
48
48
  require('../../../_chunks/dep-c26a437d.js');
49
49
  require('../../../_chunks/dep-8af2db72.js');
50
- require('../../../_chunks/dep-956bf12a.js');
51
50
  require('../log/log.js');
52
51
 
53
52
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -539,11 +538,11 @@ var TreeStore = /*#__PURE__*/function () {
539
538
  key: "replaceChecked",
540
539
  value: function replaceChecked(list) {
541
540
  this.resetChecked();
542
- this.setChecked(list);
541
+ this.setChecked(list, true);
543
542
  }
544
543
  }, {
545
544
  key: "setChecked",
546
- value: function setChecked(list) {
545
+ value: function setChecked(list, isFromValueChange) {
547
546
  var _this6 = this;
548
547
 
549
548
  var _this$config = this.config,
@@ -563,7 +562,7 @@ var TreeStore = /*#__PURE__*/function () {
563
562
  } else {
564
563
  _this6.checkedMap.set(val, true);
565
564
 
566
- node.updateChecked();
565
+ node.updateChecked(isFromValueChange);
567
566
  }
568
567
  }
569
568
  });