@opensumi/ide-components 1.1.4-next-1641353261.0

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 (409) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/fonts/loading-dark.svg +52 -0
  4. package/dist/fonts/loading-hc.svg +52 -0
  5. package/dist/fonts/loading.svg +52 -0
  6. package/dist/index.css +1 -0
  7. package/dist/index.js +27789 -0
  8. package/lib/badge/index.d.ts +4 -0
  9. package/lib/badge/index.d.ts.map +1 -0
  10. package/lib/badge/index.js +13 -0
  11. package/lib/badge/index.js.map +1 -0
  12. package/lib/badge/styles.less +17 -0
  13. package/lib/button/index.d.ts +54 -0
  14. package/lib/button/index.d.ts.map +1 -0
  15. package/lib/button/index.js +67 -0
  16. package/lib/button/index.js.map +1 -0
  17. package/lib/button/style.less +251 -0
  18. package/lib/checkbox/index.d.ts +9 -0
  19. package/lib/checkbox/index.d.ts.map +1 -0
  20. package/lib/checkbox/index.js +27 -0
  21. package/lib/checkbox/index.js.map +1 -0
  22. package/lib/checkbox/style.less +80 -0
  23. package/lib/click-outside/index.d.ts +6 -0
  24. package/lib/click-outside/index.d.ts.map +1 -0
  25. package/lib/click-outside/index.js +27 -0
  26. package/lib/click-outside/index.js.map +1 -0
  27. package/lib/common.d.ts +7 -0
  28. package/lib/common.d.ts.map +1 -0
  29. package/lib/common.js +11 -0
  30. package/lib/common.js.map +1 -0
  31. package/lib/dialog/index.d.ts +26 -0
  32. package/lib/dialog/index.d.ts.map +1 -0
  33. package/lib/dialog/index.js +30 -0
  34. package/lib/dialog/index.js.map +1 -0
  35. package/lib/dialog/styles.less +85 -0
  36. package/lib/dropdown/dropdown.d.ts +48 -0
  37. package/lib/dropdown/dropdown.d.ts.map +1 -0
  38. package/lib/dropdown/dropdown.js +80 -0
  39. package/lib/dropdown/dropdown.js.map +1 -0
  40. package/lib/dropdown/index.d.ts +5 -0
  41. package/lib/dropdown/index.d.ts.map +1 -0
  42. package/lib/dropdown/index.js +8 -0
  43. package/lib/dropdown/index.js.map +1 -0
  44. package/lib/dropdown/style.less +254 -0
  45. package/lib/icon/icon.d.ts +33 -0
  46. package/lib/icon/icon.d.ts.map +1 -0
  47. package/lib/icon/icon.js +70 -0
  48. package/lib/icon/icon.js.map +1 -0
  49. package/lib/icon/iconfont/iconManager.d.ts +189 -0
  50. package/lib/icon/iconfont/iconManager.d.ts.map +1 -0
  51. package/lib/icon/iconfont/iconManager.js +67 -0
  52. package/lib/icon/iconfont/iconManager.js.map +1 -0
  53. package/lib/icon/iconfont/iconMap.d.ts +162 -0
  54. package/lib/icon/iconfont/iconMap.d.ts.map +1 -0
  55. package/lib/icon/iconfont/iconMap.js +167 -0
  56. package/lib/icon/iconfont/iconMap.js.map +1 -0
  57. package/lib/icon/iconfont/iconfont.css +654 -0
  58. package/lib/icon/iconfont/iconfont.eot +0 -0
  59. package/lib/icon/iconfont/iconfont.html +1549 -0
  60. package/lib/icon/iconfont/iconfont.svg +337 -0
  61. package/lib/icon/iconfont/iconfont.ttf +0 -0
  62. package/lib/icon/iconfont/iconfont.woff +0 -0
  63. package/lib/icon/iconfont/iconfont.woff2 +0 -0
  64. package/lib/icon/iconfont-cn.d.ts +15 -0
  65. package/lib/icon/iconfont-cn.d.ts.map +1 -0
  66. package/lib/icon/iconfont-cn.js +76 -0
  67. package/lib/icon/iconfont-cn.js.map +1 -0
  68. package/lib/icon/index.d.ts +4 -0
  69. package/lib/icon/index.d.ts.map +1 -0
  70. package/lib/icon/index.js +9 -0
  71. package/lib/icon/index.js.map +1 -0
  72. package/lib/icon/styles.less +115 -0
  73. package/lib/icon/util.d.ts +29 -0
  74. package/lib/icon/util.d.ts.map +1 -0
  75. package/lib/icon/util.js +53 -0
  76. package/lib/icon/util.js.map +1 -0
  77. package/lib/index.d.ts +22 -0
  78. package/lib/index.d.ts.map +1 -0
  79. package/lib/index.js +25 -0
  80. package/lib/index.js.map +1 -0
  81. package/lib/input/HistoryInputBox.d.ts +38 -0
  82. package/lib/input/HistoryInputBox.d.ts.map +1 -0
  83. package/lib/input/HistoryInputBox.js +108 -0
  84. package/lib/input/HistoryInputBox.js.map +1 -0
  85. package/lib/input/Input.d.ts +43 -0
  86. package/lib/input/Input.d.ts.map +1 -0
  87. package/lib/input/Input.js +122 -0
  88. package/lib/input/Input.js.map +1 -0
  89. package/lib/input/ProxiedInput.d.ts +8 -0
  90. package/lib/input/ProxiedInput.d.ts.map +1 -0
  91. package/lib/input/ProxiedInput.js +67 -0
  92. package/lib/input/ProxiedInput.js.map +1 -0
  93. package/lib/input/TextArea.d.ts +6 -0
  94. package/lib/input/TextArea.d.ts.map +1 -0
  95. package/lib/input/TextArea.js +9 -0
  96. package/lib/input/TextArea.js.map +1 -0
  97. package/lib/input/ValidateInput.d.ts +20 -0
  98. package/lib/input/ValidateInput.d.ts.map +1 -0
  99. package/lib/input/ValidateInput.js +59 -0
  100. package/lib/input/ValidateInput.js.map +1 -0
  101. package/lib/input/index.d.ts +5 -0
  102. package/lib/input/index.d.ts.map +1 -0
  103. package/lib/input/index.js +8 -0
  104. package/lib/input/index.js.map +1 -0
  105. package/lib/input/input.less +83 -0
  106. package/lib/input/validate-input.less +88 -0
  107. package/lib/loading/index.d.ts +2 -0
  108. package/lib/loading/index.d.ts.map +1 -0
  109. package/lib/loading/index.js +5 -0
  110. package/lib/loading/index.js.map +1 -0
  111. package/lib/loading/loading.less +14 -0
  112. package/lib/loading/loading.view.d.ts +4 -0
  113. package/lib/loading/loading.view.d.ts.map +1 -0
  114. package/lib/loading/loading.view.js +9 -0
  115. package/lib/loading/loading.view.js.map +1 -0
  116. package/lib/loading/media/loading-dark.svg +52 -0
  117. package/lib/loading/media/loading-hc.svg +52 -0
  118. package/lib/loading/media/loading.svg +52 -0
  119. package/lib/locale-context-provider.d.ts +16 -0
  120. package/lib/locale-context-provider.d.ts.map +1 -0
  121. package/lib/locale-context-provider.js +26 -0
  122. package/lib/locale-context-provider.js.map +1 -0
  123. package/lib/menu/MenuContext.d.ts +8 -0
  124. package/lib/menu/MenuContext.d.ts.map +1 -0
  125. package/lib/menu/MenuContext.js +8 -0
  126. package/lib/menu/MenuContext.js.map +1 -0
  127. package/lib/menu/MenuItem.d.ts +29 -0
  128. package/lib/menu/MenuItem.d.ts.map +1 -0
  129. package/lib/menu/MenuItem.js +32 -0
  130. package/lib/menu/MenuItem.js.map +1 -0
  131. package/lib/menu/SubMenu.d.ts +30 -0
  132. package/lib/menu/SubMenu.d.ts.map +1 -0
  133. package/lib/menu/SubMenu.js +28 -0
  134. package/lib/menu/SubMenu.js.map +1 -0
  135. package/lib/menu/index.d.ts +64 -0
  136. package/lib/menu/index.d.ts.map +1 -0
  137. package/lib/menu/index.js +201 -0
  138. package/lib/menu/index.js.map +1 -0
  139. package/lib/menu/style.less +502 -0
  140. package/lib/message/index.d.ts +10 -0
  141. package/lib/message/index.d.ts.map +1 -0
  142. package/lib/message/index.js +19 -0
  143. package/lib/message/index.js.map +1 -0
  144. package/lib/message/message.d.ts +42 -0
  145. package/lib/message/message.d.ts.map +1 -0
  146. package/lib/message/message.js +127 -0
  147. package/lib/message/message.js.map +1 -0
  148. package/lib/message/style.less +76 -0
  149. package/lib/modal/Modal.d.ts +127 -0
  150. package/lib/modal/Modal.d.ts.map +1 -0
  151. package/lib/modal/Modal.js +87 -0
  152. package/lib/modal/Modal.js.map +1 -0
  153. package/lib/modal/index.d.ts +5 -0
  154. package/lib/modal/index.d.ts.map +1 -0
  155. package/lib/modal/index.js +8 -0
  156. package/lib/modal/index.js.map +1 -0
  157. package/lib/modal/locale.d.ts +8 -0
  158. package/lib/modal/locale.d.ts.map +1 -0
  159. package/lib/modal/locale.js +23 -0
  160. package/lib/modal/locale.js.map +1 -0
  161. package/lib/modal/style.less +168 -0
  162. package/lib/notification/index.d.ts +8 -0
  163. package/lib/notification/index.d.ts.map +1 -0
  164. package/lib/notification/index.js +80 -0
  165. package/lib/notification/index.js.map +1 -0
  166. package/lib/notification/notification.d.ts +44 -0
  167. package/lib/notification/notification.d.ts.map +1 -0
  168. package/lib/notification/notification.js +156 -0
  169. package/lib/notification/notification.js.map +1 -0
  170. package/lib/notification/notification.less +232 -0
  171. package/lib/overlay/index.d.ts +19 -0
  172. package/lib/overlay/index.d.ts.map +1 -0
  173. package/lib/overlay/index.js +14 -0
  174. package/lib/overlay/index.js.map +1 -0
  175. package/lib/overlay/styles.less +43 -0
  176. package/lib/popover/index.d.ts +28 -0
  177. package/lib/popover/index.d.ts.map +1 -0
  178. package/lib/popover/index.js +127 -0
  179. package/lib/popover/index.js.map +1 -0
  180. package/lib/popover/styles.less +136 -0
  181. package/lib/recycle-list/RecycleList.d.ts +105 -0
  182. package/lib/recycle-list/RecycleList.d.ts.map +1 -0
  183. package/lib/recycle-list/RecycleList.js +253 -0
  184. package/lib/recycle-list/RecycleList.js.map +1 -0
  185. package/lib/recycle-list/index.d.ts +2 -0
  186. package/lib/recycle-list/index.d.ts.map +1 -0
  187. package/lib/recycle-list/index.js +5 -0
  188. package/lib/recycle-list/index.js.map +1 -0
  189. package/lib/recycle-tree/RecycleTree.d.ts +255 -0
  190. package/lib/recycle-tree/RecycleTree.d.ts.map +1 -0
  191. package/lib/recycle-tree/RecycleTree.js +627 -0
  192. package/lib/recycle-tree/RecycleTree.js.map +1 -0
  193. package/lib/recycle-tree/TreeNodeRendererWrap.d.ts +37 -0
  194. package/lib/recycle-tree/TreeNodeRendererWrap.d.ts.map +1 -0
  195. package/lib/recycle-tree/TreeNodeRendererWrap.js +18 -0
  196. package/lib/recycle-tree/TreeNodeRendererWrap.js.map +1 -0
  197. package/lib/recycle-tree/basic/index.d.ts +7 -0
  198. package/lib/recycle-tree/basic/index.d.ts.map +1 -0
  199. package/lib/recycle-tree/basic/index.js +167 -0
  200. package/lib/recycle-tree/basic/index.js.map +1 -0
  201. package/lib/recycle-tree/basic/menubar-item.d.ts +7 -0
  202. package/lib/recycle-tree/basic/menubar-item.d.ts.map +1 -0
  203. package/lib/recycle-tree/basic/menubar-item.js +25 -0
  204. package/lib/recycle-tree/basic/menubar-item.js.map +1 -0
  205. package/lib/recycle-tree/basic/placements.d.ts +12 -0
  206. package/lib/recycle-tree/basic/placements.d.ts.map +1 -0
  207. package/lib/recycle-tree/basic/placements.js +17 -0
  208. package/lib/recycle-tree/basic/placements.js.map +1 -0
  209. package/lib/recycle-tree/basic/styles.less +245 -0
  210. package/lib/recycle-tree/basic/tree-node.d.ts +8 -0
  211. package/lib/recycle-tree/basic/tree-node.d.ts.map +1 -0
  212. package/lib/recycle-tree/basic/tree-node.define.d.ts +31 -0
  213. package/lib/recycle-tree/basic/tree-node.define.d.ts.map +1 -0
  214. package/lib/recycle-tree/basic/tree-node.define.js +75 -0
  215. package/lib/recycle-tree/basic/tree-node.define.js.map +1 -0
  216. package/lib/recycle-tree/basic/tree-node.js +103 -0
  217. package/lib/recycle-tree/basic/tree-node.js.map +1 -0
  218. package/lib/recycle-tree/basic/tree-service.d.ts +38 -0
  219. package/lib/recycle-tree/basic/tree-service.d.ts.map +1 -0
  220. package/lib/recycle-tree/basic/tree-service.js +153 -0
  221. package/lib/recycle-tree/basic/tree-service.js.map +1 -0
  222. package/lib/recycle-tree/basic/types.d.ts +227 -0
  223. package/lib/recycle-tree/basic/types.d.ts.map +1 -0
  224. package/lib/recycle-tree/basic/types.js +15 -0
  225. package/lib/recycle-tree/basic/types.js.map +1 -0
  226. package/lib/recycle-tree/decorators/Adaptive/index.d.ts +10 -0
  227. package/lib/recycle-tree/decorators/Adaptive/index.d.ts.map +1 -0
  228. package/lib/recycle-tree/decorators/Adaptive/index.js +93 -0
  229. package/lib/recycle-tree/decorators/Adaptive/index.js.map +1 -0
  230. package/lib/recycle-tree/decorators/Filter/filter.less +11 -0
  231. package/lib/recycle-tree/decorators/Filter/index.d.ts +26 -0
  232. package/lib/recycle-tree/decorators/Filter/index.d.ts.map +1 -0
  233. package/lib/recycle-tree/decorators/Filter/index.js +54 -0
  234. package/lib/recycle-tree/decorators/Filter/index.js.map +1 -0
  235. package/lib/recycle-tree/decorators/index.d.ts +3 -0
  236. package/lib/recycle-tree/decorators/index.d.ts.map +1 -0
  237. package/lib/recycle-tree/decorators/index.js +6 -0
  238. package/lib/recycle-tree/decorators/index.js.map +1 -0
  239. package/lib/recycle-tree/index.d.ts +8 -0
  240. package/lib/recycle-tree/index.d.ts.map +1 -0
  241. package/lib/recycle-tree/index.js +11 -0
  242. package/lib/recycle-tree/index.js.map +1 -0
  243. package/lib/recycle-tree/prompt/NewPromptHandle.d.ts +12 -0
  244. package/lib/recycle-tree/prompt/NewPromptHandle.d.ts.map +1 -0
  245. package/lib/recycle-tree/prompt/NewPromptHandle.js +21 -0
  246. package/lib/recycle-tree/prompt/NewPromptHandle.js.map +1 -0
  247. package/lib/recycle-tree/prompt/PromptHandle.d.ts +59 -0
  248. package/lib/recycle-tree/prompt/PromptHandle.d.ts.map +1 -0
  249. package/lib/recycle-tree/prompt/PromptHandle.js +200 -0
  250. package/lib/recycle-tree/prompt/PromptHandle.js.map +1 -0
  251. package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts +10 -0
  252. package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts.map +1 -0
  253. package/lib/recycle-tree/prompt/RenamePromptHandle.js +21 -0
  254. package/lib/recycle-tree/prompt/RenamePromptHandle.js.map +1 -0
  255. package/lib/recycle-tree/prompt/index.d.ts +4 -0
  256. package/lib/recycle-tree/prompt/index.d.ts.map +1 -0
  257. package/lib/recycle-tree/prompt/index.js +7 -0
  258. package/lib/recycle-tree/prompt/index.js.map +1 -0
  259. package/lib/recycle-tree/tree/Tree.d.ts +20 -0
  260. package/lib/recycle-tree/tree/Tree.d.ts.map +1 -0
  261. package/lib/recycle-tree/tree/Tree.js +39 -0
  262. package/lib/recycle-tree/tree/Tree.js.map +1 -0
  263. package/lib/recycle-tree/tree/TreeNode.d.ts +222 -0
  264. package/lib/recycle-tree/tree/TreeNode.d.ts.map +1 -0
  265. package/lib/recycle-tree/tree/TreeNode.js +1103 -0
  266. package/lib/recycle-tree/tree/TreeNode.js.map +1 -0
  267. package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts +60 -0
  268. package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts.map +1 -0
  269. package/lib/recycle-tree/tree/decoration/CompositeDecoration.js +339 -0
  270. package/lib/recycle-tree/tree/decoration/CompositeDecoration.js.map +1 -0
  271. package/lib/recycle-tree/tree/decoration/Decoration.d.ts +79 -0
  272. package/lib/recycle-tree/tree/decoration/Decoration.d.ts.map +1 -0
  273. package/lib/recycle-tree/tree/decoration/Decoration.js +183 -0
  274. package/lib/recycle-tree/tree/decoration/Decoration.js.map +1 -0
  275. package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts +34 -0
  276. package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts.map +1 -0
  277. package/lib/recycle-tree/tree/decoration/DecorationManager.js +168 -0
  278. package/lib/recycle-tree/tree/decoration/DecorationManager.js.map +1 -0
  279. package/lib/recycle-tree/tree/decoration/index.d.ts +4 -0
  280. package/lib/recycle-tree/tree/decoration/index.d.ts.map +1 -0
  281. package/lib/recycle-tree/tree/decoration/index.js +7 -0
  282. package/lib/recycle-tree/tree/decoration/index.js.map +1 -0
  283. package/lib/recycle-tree/tree/index.d.ts +5 -0
  284. package/lib/recycle-tree/tree/index.d.ts.map +1 -0
  285. package/lib/recycle-tree/tree/index.js +8 -0
  286. package/lib/recycle-tree/tree/index.js.map +1 -0
  287. package/lib/recycle-tree/tree/model/TreeModel.d.ts +50 -0
  288. package/lib/recycle-tree/tree/model/TreeModel.d.ts.map +1 -0
  289. package/lib/recycle-tree/tree/model/TreeModel.js +81 -0
  290. package/lib/recycle-tree/tree/model/TreeModel.js.map +1 -0
  291. package/lib/recycle-tree/tree/model/index.d.ts +2 -0
  292. package/lib/recycle-tree/tree/model/index.d.ts.map +1 -0
  293. package/lib/recycle-tree/tree/model/index.js +5 -0
  294. package/lib/recycle-tree/tree/model/index.js.map +1 -0
  295. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts +65 -0
  296. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts.map +1 -0
  297. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js +189 -0
  298. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js.map +1 -0
  299. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts +15 -0
  300. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts.map +1 -0
  301. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js +104 -0
  302. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js.map +1 -0
  303. package/lib/recycle-tree/tree/model/treeState/index.d.ts +4 -0
  304. package/lib/recycle-tree/tree/model/treeState/index.d.ts.map +1 -0
  305. package/lib/recycle-tree/tree/model/treeState/index.js +8 -0
  306. package/lib/recycle-tree/tree/model/treeState/index.js.map +1 -0
  307. package/lib/recycle-tree/tree/model/treeState/types.d.ts +21 -0
  308. package/lib/recycle-tree/tree/model/treeState/types.d.ts.map +1 -0
  309. package/lib/recycle-tree/tree/model/treeState/types.js +18 -0
  310. package/lib/recycle-tree/tree/model/treeState/types.js.map +1 -0
  311. package/lib/recycle-tree/types/index.d.ts +4 -0
  312. package/lib/recycle-tree/types/index.d.ts.map +1 -0
  313. package/lib/recycle-tree/types/index.js +7 -0
  314. package/lib/recycle-tree/types/index.js.map +1 -0
  315. package/lib/recycle-tree/types/tree-node.d.ts +70 -0
  316. package/lib/recycle-tree/types/tree-node.d.ts.map +1 -0
  317. package/lib/recycle-tree/types/tree-node.js +11 -0
  318. package/lib/recycle-tree/types/tree-node.js.map +1 -0
  319. package/lib/recycle-tree/types/tree.d.ts +8 -0
  320. package/lib/recycle-tree/types/tree.d.ts.map +1 -0
  321. package/lib/recycle-tree/types/tree.js +3 -0
  322. package/lib/recycle-tree/types/tree.js.map +1 -0
  323. package/lib/recycle-tree/types/watcher.d.ts +114 -0
  324. package/lib/recycle-tree/types/watcher.d.ts.map +1 -0
  325. package/lib/recycle-tree/types/watcher.js +46 -0
  326. package/lib/recycle-tree/types/watcher.js.map +1 -0
  327. package/lib/scrollbars/index.d.ts +14 -0
  328. package/lib/scrollbars/index.d.ts.map +1 -0
  329. package/lib/scrollbars/index.js +54 -0
  330. package/lib/scrollbars/index.js.map +1 -0
  331. package/lib/scrollbars/styles.less +41 -0
  332. package/lib/select/index.d.ts +119 -0
  333. package/lib/select/index.d.ts.map +1 -0
  334. package/lib/select/index.js +325 -0
  335. package/lib/select/index.js.map +1 -0
  336. package/lib/select/style.less +228 -0
  337. package/lib/style/base.less +541 -0
  338. package/lib/style/index.less +14 -0
  339. package/lib/style/mixins.less +135 -0
  340. package/lib/style/motion/fade.less +31 -0
  341. package/lib/style/motion/move.less +120 -0
  342. package/lib/style/motion/other.less +45 -0
  343. package/lib/style/motion/slide.less +120 -0
  344. package/lib/style/motion/swing.less +34 -0
  345. package/lib/style/motion/zoom.less +162 -0
  346. package/lib/style/variable.less +203 -0
  347. package/lib/tabs/index.d.ts +12 -0
  348. package/lib/tabs/index.d.ts.map +1 -0
  349. package/lib/tabs/index.js +24 -0
  350. package/lib/tabs/index.js.map +1 -0
  351. package/lib/tabs/style.less +34 -0
  352. package/lib/tooltip/index.d.ts +7 -0
  353. package/lib/tooltip/index.d.ts.map +1 -0
  354. package/lib/tooltip/index.js +58 -0
  355. package/lib/tooltip/index.js.map +1 -0
  356. package/lib/tooltip/style.less +40 -0
  357. package/lib/utils/deprecated.d.ts +3 -0
  358. package/lib/utils/deprecated.d.ts.map +1 -0
  359. package/lib/utils/deprecated.js +18 -0
  360. package/lib/utils/deprecated.js.map +1 -0
  361. package/lib/utils/disposable.d.ts +37 -0
  362. package/lib/utils/disposable.d.ts.map +1 -0
  363. package/lib/utils/disposable.js +138 -0
  364. package/lib/utils/disposable.js.map +1 -0
  365. package/lib/utils/event.d.ts +189 -0
  366. package/lib/utils/event.d.ts.map +1 -0
  367. package/lib/utils/event.js +560 -0
  368. package/lib/utils/event.js.map +1 -0
  369. package/lib/utils/index.d.ts +10 -0
  370. package/lib/utils/index.d.ts.map +1 -0
  371. package/lib/utils/index.js +13 -0
  372. package/lib/utils/index.js.map +1 -0
  373. package/lib/utils/iterator.d.ts +14 -0
  374. package/lib/utils/iterator.d.ts.map +1 -0
  375. package/lib/utils/iterator.js +9 -0
  376. package/lib/utils/iterator.js.map +1 -0
  377. package/lib/utils/linkedList.d.ts +18 -0
  378. package/lib/utils/linkedList.d.ts.map +1 -0
  379. package/lib/utils/linkedList.js +139 -0
  380. package/lib/utils/linkedList.js.map +1 -0
  381. package/lib/utils/motion.d.ts +24 -0
  382. package/lib/utils/motion.d.ts.map +1 -0
  383. package/lib/utils/motion.js +17 -0
  384. package/lib/utils/motion.js.map +1 -0
  385. package/lib/utils/os.d.ts +4 -0
  386. package/lib/utils/os.d.ts.map +1 -0
  387. package/lib/utils/os.js +22 -0
  388. package/lib/utils/os.js.map +1 -0
  389. package/lib/utils/path.d.ts +92 -0
  390. package/lib/utils/path.d.ts.map +1 -0
  391. package/lib/utils/path.js +1696 -0
  392. package/lib/utils/path.js.map +1 -0
  393. package/lib/utils/process.d.ts +6 -0
  394. package/lib/utils/process.d.ts.map +1 -0
  395. package/lib/utils/process.js +23 -0
  396. package/lib/utils/process.js.map +1 -0
  397. package/lib/utils/raf.d.ts +10 -0
  398. package/lib/utils/raf.d.ts.map +1 -0
  399. package/lib/utils/raf.js +33 -0
  400. package/lib/utils/raf.js.map +1 -0
  401. package/lib/utils/type.d.ts +4 -0
  402. package/lib/utils/type.d.ts.map +1 -0
  403. package/lib/utils/type.js +9 -0
  404. package/lib/utils/type.js.map +1 -0
  405. package/lib/utils/warning.d.ts +8 -0
  406. package/lib/utils/warning.d.ts.map +1 -0
  407. package/lib/utils/warning.js +39 -0
  408. package/lib/utils/warning.js.map +1 -0
  409. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/basic/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DECORATIONS = exports.IBasicInlineMenuPosition = void 0;
4
+ var IBasicInlineMenuPosition;
5
+ (function (IBasicInlineMenuPosition) {
6
+ IBasicInlineMenuPosition[IBasicInlineMenuPosition["TREE_NODE"] = 1] = "TREE_NODE";
7
+ IBasicInlineMenuPosition[IBasicInlineMenuPosition["TREE_CONTAINER"] = 2] = "TREE_CONTAINER";
8
+ })(IBasicInlineMenuPosition = exports.IBasicInlineMenuPosition || (exports.IBasicInlineMenuPosition = {}));
9
+ exports.DECORATIONS = {
10
+ SELECTED: 'mod_selected',
11
+ FOCUSED: 'mod_focused',
12
+ ACTIVED: 'mod_actived',
13
+ LOADING: 'mod_loading',
14
+ };
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/recycle-tree/basic/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,iFAAa,CAAA;IACb,2FAAc,CAAA;AAChB,CAAC,EAHW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAGnC;AA8NY,QAAA,WAAW,GAAG;IACzB,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;CACvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { IRecycleTreeProps } from '../../RecycleTree';
3
+ declare type AdaptiveTreeHoc<Props, ExtraProps = any> = (Component: React.ComponentType<Props>) => React.ComponentType<Props & (ExtraProps extends undefined ? never : ExtraProps)>;
4
+ /**
5
+ * 将 RecycleTree 组件装饰到能够自适应高度
6
+ * @param recycleTreeComp RecycleTree 组件
7
+ */
8
+ export declare const RecycleTreeAdaptiveDecorator: AdaptiveTreeHoc<IRecycleTreeProps>;
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/decorators/Adaptive/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AAI1E,aAAK,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,IAAI,CAC9C,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAClC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,eAAe,CAAC,iBAAiB,CA4FzE,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecycleTreeAdaptiveDecorator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const types_1 = require("../../types");
7
+ /**
8
+ * 将 RecycleTree 组件装饰到能够自适应高度
9
+ * @param recycleTreeComp RecycleTree 组件
10
+ */
11
+ const RecycleTreeAdaptiveDecorator = (recycleTreeComp) => (props) => {
12
+ const { model, itemHeight, onReady } = props;
13
+ const ref = react_1.default.useRef();
14
+ const destroyWhileBlur = react_1.default.useRef(false);
15
+ const [currentHeight, setCurrentHeight] = react_1.default.useState(0);
16
+ const handleExpansionChange = () => {
17
+ setCurrentHeight(model.root.branchSize * itemHeight);
18
+ };
19
+ const handleOnReady = (handle) => {
20
+ if (!onReady) {
21
+ return;
22
+ }
23
+ onReady(Object.assign(Object.assign({}, handle), { promptNewTreeNode: async (at) => {
24
+ var _a;
25
+ const promptHandle = await handle.promptNewTreeNode(at);
26
+ if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.root.branchSize) {
27
+ setCurrentHeight(ref.current.root.branchSize * itemHeight + itemHeight);
28
+ }
29
+ else {
30
+ // 添加节点时,如果不存在 ref.current,即不存在可渲染节点
31
+ // 补全高度便于插入输入框
32
+ setCurrentHeight(itemHeight);
33
+ }
34
+ destroyWhileBlur.current = false;
35
+ promptHandle.onDestroy(() => {
36
+ var _a;
37
+ if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.root.branchSize) {
38
+ setCurrentHeight(ref.current.root.branchSize * itemHeight);
39
+ }
40
+ });
41
+ promptHandle.onCancel(() => {
42
+ if (ref.current) {
43
+ setCurrentHeight(ref.current.root.branchSize * itemHeight);
44
+ }
45
+ });
46
+ promptHandle.onBlur(() => destroyWhileBlur.current);
47
+ return promptHandle;
48
+ }, promptNewCompositeTreeNode: async (at) => {
49
+ var _a;
50
+ const promptHandle = await handle.promptNewCompositeTreeNode(at);
51
+ if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.root.branchSize) {
52
+ setCurrentHeight(ref.current.root.branchSize * itemHeight + itemHeight);
53
+ }
54
+ else {
55
+ // 添加节点时,如果不存在 ref.current,即不存在可渲染节点
56
+ // 补全高度便于插入输入框
57
+ setCurrentHeight(itemHeight);
58
+ }
59
+ promptHandle.onDestroy(() => {
60
+ var _a;
61
+ if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.root.branchSize) {
62
+ setCurrentHeight(ref.current.root.branchSize * itemHeight);
63
+ }
64
+ });
65
+ promptHandle.onCancel(() => {
66
+ var _a;
67
+ if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.root.branchSize) {
68
+ setCurrentHeight(ref.current.root.branchSize * itemHeight);
69
+ }
70
+ });
71
+ promptHandle.onBlur(() => destroyWhileBlur.current);
72
+ return promptHandle;
73
+ } }));
74
+ };
75
+ react_1.default.useEffect(() => {
76
+ ref.current = model;
77
+ if (ref.current.root) {
78
+ setCurrentHeight(ref.current.root.branchSize * itemHeight);
79
+ ref.current.root.watcher.on(types_1.TreeNodeEvent.DidChangeExpansionState, handleExpansionChange);
80
+ }
81
+ }, [model]);
82
+ react_1.default.useEffect(() => {
83
+ // currentHeight 更新时,有概率让整个 Tree 重绘
84
+ // 导致 prompt 的 blur 事件触发
85
+ // 这里等待 100 ms 后再将 prompt 失去焦点后关闭的逻辑打开
86
+ setTimeout(() => {
87
+ destroyWhileBlur.current = true;
88
+ }, 100);
89
+ }, [currentHeight]);
90
+ return (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(recycleTreeComp, Object.assign(Object.assign({}, props), { height: currentHeight, onReady: handleOnReady }))));
91
+ };
92
+ exports.RecycleTreeAdaptiveDecorator = RecycleTreeAdaptiveDecorator;
93
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/recycle-tree/decorators/Adaptive/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ .kt-recycle-tree-filter-wrapper {
2
+ padding: 4px 8px;
3
+ }
4
+
5
+ .kt-recycle-tree-filter-input {
6
+ width: 100%;
7
+ }
8
+
9
+ .kt-recycle-tree-filter-icon {
10
+ color: var(--kt-icon-secondaryForeground);
11
+ }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { IInputBaseProps } from '../../../input';
3
+ import { IRecycleTreeProps, IRecycleTreeHandle } from '../../RecycleTree';
4
+ import './filter.less';
5
+ declare type FilterHoc<Props, ExtraProps = any> = (Component: React.ComponentType<Props>) => React.ComponentType<Props & (ExtraProps extends undefined ? never : ExtraProps)>;
6
+ export interface IRecycleTreeFilterHandle extends IRecycleTreeHandle {
7
+ clearFilter: () => void;
8
+ }
9
+ /**
10
+ * 将 RecycleTree 组件装饰到具备筛选功能
11
+ * @param recycleTreeComp RecycleTree 组件
12
+ * 将原有的 RecycleTree 拓展增加三个新的 props
13
+ * * @param filterEnabled @optional 筛选模式控制开关
14
+ * * @param filterAfterClear @optional 清空筛选 input 输入时的回调
15
+ * * @param filterAutoFocus @optional 是否自动聚焦
16
+ * * @param filterPlaceholder @optional 筛选 input 的 placeholder
17
+ */
18
+ export declare const RecycleTreeFilterDecorator: FilterHoc<IRecycleTreeProps, {
19
+ filterEnabled?: boolean;
20
+ beforeFilterValueChange?: (value: string) => Promise<void>;
21
+ filterAfterClear?: IInputBaseProps['afterClear'];
22
+ filterPlaceholder?: IInputBaseProps['placeholder'];
23
+ filterAutoFocus?: IInputBaseProps['autoFocus'];
24
+ }>;
25
+ export {};
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/decorators/Filter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,eAAe,EAAS,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,eAAe,CAAC;AAKvB,aAAK,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,IAAI,CACxC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAClC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;AAoBtF,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,CAChD,iBAAiB,EACjB;IACE,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,gBAAgB,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CAChD,CA2DF,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecycleTreeFilterDecorator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const throttle_1 = (0, tslib_1.__importDefault)(require("lodash/throttle"));
7
+ const icon_1 = require("../../../icon");
8
+ const input_1 = require("../../../input");
9
+ const locale_context_provider_1 = require("../../../locale-context-provider");
10
+ require("./filter.less");
11
+ const FILTER_AREA_HEIGHT = 30;
12
+ const TREE_FILTER_DELAY = 500;
13
+ const FilterInput = (props) => {
14
+ const { localize } = react_1.default.useContext(locale_context_provider_1.LocalizeContext);
15
+ return (react_1.default.createElement("div", { className: 'kt-recycle-tree-filter-wrapper' },
16
+ react_1.default.createElement(input_1.Input, Object.assign({ hasClear: true, autoFocus: true, className: 'kt-recycle-tree-filter-input', size: 'small' }, props, { placeholder: props.placeholder || localize('tree.filter.placeholder'), addonBefore: react_1.default.createElement(icon_1.Icon, { className: 'kt-recycle-tree-filter-icon', icon: 'retrieval' }) }))));
17
+ };
18
+ /**
19
+ * 将 RecycleTree 组件装饰到具备筛选功能
20
+ * @param recycleTreeComp RecycleTree 组件
21
+ * 将原有的 RecycleTree 拓展增加三个新的 props
22
+ * * @param filterEnabled @optional 筛选模式控制开关
23
+ * * @param filterAfterClear @optional 清空筛选 input 输入时的回调
24
+ * * @param filterAutoFocus @optional 是否自动聚焦
25
+ * * @param filterPlaceholder @optional 筛选 input 的 placeholder
26
+ */
27
+ const RecycleTreeFilterDecorator = (recycleTreeComp) => (props) => {
28
+ const [value, setValue] = react_1.default.useState('');
29
+ // 引入多一个filter状态是为了在实际filter生效前不阻塞输入框值变化的过程
30
+ const [filter, setFilter] = react_1.default.useState('');
31
+ const { beforeFilterValueChange, filterEnabled, height, filterPlaceholder, filterAfterClear, onReady, filterAutoFocus } = props, recycleTreeProps = (0, tslib_1.__rest)(props, ["beforeFilterValueChange", "filterEnabled", "height", "filterPlaceholder", "filterAfterClear", "onReady", "filterAutoFocus"]);
32
+ const handleFilterChange = (0, throttle_1.default)(async (value) => {
33
+ if (beforeFilterValueChange) {
34
+ await beforeFilterValueChange(value);
35
+ }
36
+ setFilter(value);
37
+ }, TREE_FILTER_DELAY);
38
+ const handleFilterInputChange = (value) => {
39
+ setValue(value);
40
+ handleFilterChange(value);
41
+ };
42
+ const filterTreeReadyHandle = (api) => {
43
+ onReady &&
44
+ onReady(Object.assign(Object.assign({}, api), { clearFilter: () => {
45
+ setFilter('');
46
+ setValue('');
47
+ } }));
48
+ };
49
+ return (react_1.default.createElement(react_1.default.Fragment, null,
50
+ filterEnabled && (react_1.default.createElement(FilterInput, { afterClear: filterAfterClear, placeholder: filterPlaceholder, value: value, autoFocus: filterAutoFocus, onValueChange: handleFilterInputChange })),
51
+ react_1.default.createElement(recycleTreeComp, Object.assign(Object.assign({}, recycleTreeProps), { height: height - (filterEnabled ? FILTER_AREA_HEIGHT : 0), onReady: filterTreeReadyHandle, filter }))));
52
+ };
53
+ exports.RecycleTreeFilterDecorator = RecycleTreeFilterDecorator;
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/recycle-tree/decorators/Filter/index.tsx"],"names":[],"mappings":";;;;AAAA,+DAA0B;AAC1B,4EAAuC;AAEvC,wCAAqC;AACrC,0CAAwD;AACxD,8EAAmE;AAGnE,yBAAuB;AAEvB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAM9B,MAAM,WAAW,GAA8B,CAAC,KAAK,EAAE,EAAE;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAK,CAAC,UAAU,CAAC,yCAAe,CAAC,CAAC;IAEvD,OAAO,CACL,uCAAK,SAAS,EAAC,gCAAgC;QAC7C,8BAAC,aAAK,kBACJ,QAAQ,QACR,SAAS,QACT,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAC,OAAO,IACR,KAAK,IACT,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,yBAAyB,CAAC,EACrE,WAAW,EAAE,8BAAC,WAAI,IAAC,SAAS,EAAC,6BAA6B,EAAC,IAAI,EAAC,WAAW,GAAG,IAC9E,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAMF;;;;;;;;GAQG;AACI,MAAM,0BAA0B,GAUnC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IACrD,2CAA2C;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEvD,MAAM,EACJ,uBAAuB,EACvB,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,eAAe,KAEb,KAAK,EADJ,gBAAgB,uBACjB,KAAK,EATH,6HASL,CAAQ,CAAC;IAEV,MAAM,kBAAkB,GAAG,IAAA,kBAAQ,EAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QAC1D,IAAI,uBAAuB,EAAE;YAC3B,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC;SACtC;QACD,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAE,EAAE;QAChD,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,GAAuB,EAAE,EAAE;QACxD,OAAO;YACL,OAAO,CAAC,gCACH,GAAG,KACN,WAAW,EAAE,GAAG,EAAE;oBAChB,SAAS,CAAC,EAAE,CAAC,CAAC;oBACd,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC,GAC0B,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL;QACG,aAAa,IAAI,CAChB,8BAAC,WAAW,IACV,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,iBAAiB,EAC9B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,uBAAuB,GACtC,CACH;QACA,eAAK,CAAC,aAAa,CAAC,eAAe,kCAC/B,gBAAgB,KACnB,MAAM,EAAE,MAAM,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EACzD,OAAO,EAAE,qBAAqB,EAC9B,MAAM,IACN,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AApEW,QAAA,0BAA0B,8BAoErC"}
@@ -0,0 +1,3 @@
1
+ export * from './Filter';
2
+ export * from './Adaptive';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./Filter"), exports);
5
+ (0, tslib_1.__exportStar)(require("./Adaptive"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/recycle-tree/decorators/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB;AACzB,0DAA2B"}
@@ -0,0 +1,8 @@
1
+ export * from './RecycleTree';
2
+ export * from './TreeNodeRendererWrap';
3
+ export * from './prompt';
4
+ export * from './tree';
5
+ export * from './types';
6
+ export * from './decorators';
7
+ export * from './basic';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recycle-tree/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./RecycleTree"), exports);
5
+ (0, tslib_1.__exportStar)(require("./TreeNodeRendererWrap"), exports);
6
+ (0, tslib_1.__exportStar)(require("./prompt"), exports);
7
+ (0, tslib_1.__exportStar)(require("./tree"), exports);
8
+ (0, tslib_1.__exportStar)(require("./types"), exports);
9
+ (0, tslib_1.__exportStar)(require("./decorators"), exports);
10
+ (0, tslib_1.__exportStar)(require("./basic"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recycle-tree/index.ts"],"names":[],"mappings":";;;AAAA,6DAA8B;AAC9B,sEAAuC;AACvC,wDAAyB;AACzB,sDAAuB;AACvB,uDAAwB;AACxB,4DAA6B;AAC7B,uDAAwB"}
@@ -0,0 +1,12 @@
1
+ import { PromptHandle } from './PromptHandle';
2
+ import { CompositeTreeNode } from '../tree';
3
+ import { TreeNodeType } from '../types';
4
+ export declare class NewPromptHandle extends PromptHandle {
5
+ readonly type: TreeNodeType;
6
+ readonly parent: CompositeTreeNode;
7
+ private _id;
8
+ constructor(type: TreeNodeType, parent: CompositeTreeNode);
9
+ get id(): number;
10
+ get depth(): number;
11
+ }
12
+ //# sourceMappingURL=NewPromptHandle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewPromptHandle.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/prompt/NewPromptHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAY,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,eAAgB,SAAQ,YAAY;aAGnB,IAAI,EAAE,YAAY;aAAkB,MAAM,EAAE,iBAAiB;IAFzF,OAAO,CAAC,GAAG,CAA6B;gBAEZ,IAAI,EAAE,YAAY,EAAkB,MAAM,EAAE,iBAAiB;IAIzF,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,KAAK,WAER;CACF"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NewPromptHandle = void 0;
4
+ const PromptHandle_1 = require("./PromptHandle");
5
+ const tree_1 = require("../tree");
6
+ class NewPromptHandle extends PromptHandle_1.PromptHandle {
7
+ constructor(type, parent) {
8
+ super();
9
+ this.type = type;
10
+ this.parent = parent;
11
+ this._id = tree_1.TreeNode.nextId();
12
+ }
13
+ get id() {
14
+ return this._id;
15
+ }
16
+ get depth() {
17
+ return this.parent.depth + 1;
18
+ }
19
+ }
20
+ exports.NewPromptHandle = NewPromptHandle;
21
+ //# sourceMappingURL=NewPromptHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewPromptHandle.js","sourceRoot":"","sources":["../../../src/recycle-tree/prompt/NewPromptHandle.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,kCAAsD;AAGtD,MAAa,eAAgB,SAAQ,2BAAY;IAG/C,YAA4B,IAAkB,EAAkB,MAAyB;QACvF,KAAK,EAAE,CAAC;QADkB,SAAI,GAAJ,IAAI,CAAc;QAAkB,WAAM,GAAN,MAAM,CAAmB;QAFjF,QAAG,GAAW,eAAQ,CAAC,MAAM,EAAE,CAAC;IAIxC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AAdD,0CAcC"}
@@ -0,0 +1,59 @@
1
+ /// <reference types="react" />
2
+ import { ProxiedInputProp } from '../../input';
3
+ import { Event } from '../../utils';
4
+ export declare enum PROMPT_VALIDATE_TYPE {
5
+ INFO = 1,
6
+ ERROR = 2,
7
+ WARNING = 3
8
+ }
9
+ export interface PromptValidateMessage {
10
+ message: string | void;
11
+ type: PROMPT_VALIDATE_TYPE;
12
+ }
13
+ /**
14
+ * 输入输出框需要在外部手动进行管理,由于我们使用的是虚拟的react节点渲染,一旦用户向上或向下滚动超出渲染访问,相关的React组件会被回收
15
+ * 故这里在外部手动维护输入框对象
16
+ */
17
+ export declare abstract class PromptHandle {
18
+ readonly $: HTMLInputElement;
19
+ readonly $validate: HTMLDivElement;
20
+ readonly $addonAfter: HTMLDivElement;
21
+ readonly ProxiedInput: (props: ProxiedInputProp) => JSX.Element;
22
+ private disposables;
23
+ private isInPendingCommitState;
24
+ private _destroyed;
25
+ private _hasValidateElement;
26
+ private _hasAddonAfter;
27
+ private _validateClassName;
28
+ private onChangeEmitter;
29
+ private onCommitEmitter;
30
+ private onCancelEmitter;
31
+ private onFocusEmitter;
32
+ private onBlurEmitter;
33
+ private onDestroyEmitter;
34
+ constructor();
35
+ abstract get id(): number;
36
+ abstract get depth(): number;
37
+ get destroyed(): boolean;
38
+ get onChange(): Event<string>;
39
+ get onCommit(): Event<string>;
40
+ get onCancel(): Event<string>;
41
+ get onFocus(): Event<string>;
42
+ get onBlur(): Event<string>;
43
+ get onDestroy(): Event<string>;
44
+ focus(): void;
45
+ setSelectionRange(start: number, end: number): void;
46
+ addClassName(classname: string): void;
47
+ removeClassName(classname: string): void;
48
+ addAddonAfter(classname: string): void;
49
+ removeAddonAfter(): void;
50
+ addValidateMessage(validateMessage: PromptValidateMessage): void;
51
+ removeValidateMessage(): void;
52
+ destroy(): void;
53
+ private handleClick;
54
+ private handleKeyup;
55
+ private handleKeydown;
56
+ private handleFocus;
57
+ private handleBlur;
58
+ }
59
+ //# sourceMappingURL=PromptHandle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptHandle.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/prompt/PromptHandle.ts"],"names":[],"mappings":";AAAA,OAAO,EAAoB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAiC,KAAK,EAAgB,MAAM,aAAa,CAAC;AAIjF,oBAAY,oBAAoB;IAC9B,IAAI,IAAI;IACR,KAAK,IAAI;IACT,OAAO,IAAI;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED;;;GAGG;AACH,8BAAsB,YAAY;IAChC,SAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,SAAgB,SAAS,EAAE,cAAc,CAAC;IAC1C,SAAgB,WAAW,EAAE,cAAc,CAAC;IAC5C,SAAgB,YAAY,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC,OAAO,CAAC;IACvE,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IAGnC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,gBAAgB,CAAkC;;IAwB1D,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC;IAE1B,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC;IAE7B,IAAI,SAAS,YAEZ;IAED,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAE5B;IAED,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAE5B;IAED,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAE5B;IAED,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAE1B;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,CAE7B;IAEM,KAAK,IAAI,IAAI;IAIb,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,CAAC,SAAS,EAAE,MAAM;IAU/B,gBAAgB;IAQhB,kBAAkB,CAAC,eAAe,EAAE,qBAAqB;IAqBzD,qBAAqB;IAQrB,OAAO,IAAI,IAAI;IAiBtB,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,aAAa,CAyBnB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,UAAU,CAiBhB;CACH"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromptHandle = exports.PROMPT_VALIDATE_TYPE = void 0;
4
+ const input_1 = require("../../input");
5
+ const utils_1 = require("../../utils");
6
+ const delay = (ms) => new Promise((res) => setTimeout(res, ms));
7
+ var PROMPT_VALIDATE_TYPE;
8
+ (function (PROMPT_VALIDATE_TYPE) {
9
+ PROMPT_VALIDATE_TYPE[PROMPT_VALIDATE_TYPE["INFO"] = 1] = "INFO";
10
+ PROMPT_VALIDATE_TYPE[PROMPT_VALIDATE_TYPE["ERROR"] = 2] = "ERROR";
11
+ PROMPT_VALIDATE_TYPE[PROMPT_VALIDATE_TYPE["WARNING"] = 3] = "WARNING";
12
+ })(PROMPT_VALIDATE_TYPE = exports.PROMPT_VALIDATE_TYPE || (exports.PROMPT_VALIDATE_TYPE = {}));
13
+ /**
14
+ * 输入输出框需要在外部手动进行管理,由于我们使用的是虚拟的react节点渲染,一旦用户向上或向下滚动超出渲染访问,相关的React组件会被回收
15
+ * 故这里在外部手动维护输入框对象
16
+ */
17
+ class PromptHandle {
18
+ constructor() {
19
+ this.disposables = new utils_1.DisposableCollection();
20
+ this.isInPendingCommitState = false;
21
+ this._destroyed = false;
22
+ this._hasValidateElement = false;
23
+ this._hasAddonAfter = false;
24
+ // event
25
+ this.onChangeEmitter = new utils_1.Emitter();
26
+ this.onCommitEmitter = new utils_1.Emitter();
27
+ this.onCancelEmitter = new utils_1.Emitter();
28
+ this.onFocusEmitter = new utils_1.Emitter();
29
+ this.onBlurEmitter = new utils_1.Emitter();
30
+ this.onDestroyEmitter = new utils_1.Emitter();
31
+ this.handleClick = (ev) => {
32
+ ev.stopPropagation();
33
+ };
34
+ this.handleKeyup = (ev) => {
35
+ this.onChangeEmitter.fire(this.$.value);
36
+ };
37
+ this.handleKeydown = async (ev) => {
38
+ if (ev.key === 'Escape') {
39
+ const res = await this.onCancelEmitter.fireAndAwait(this.$.value);
40
+ // 当有回调函数报错或返回结果为false时,终止后续操作
41
+ if (res.some((r) => r.result === false || !!r.err)) {
42
+ return;
43
+ }
44
+ this.destroy();
45
+ }
46
+ if (ev.key === 'Enter') {
47
+ this.isInPendingCommitState = true;
48
+ this.$.disabled = true;
49
+ const res = await this.onCommitEmitter.fireAndAwait(this.$.value);
50
+ // 当有回调函数报错或返回结果为false时,终止后续操作
51
+ if (res.some((r) => r.result === false || !!r.err)) {
52
+ this.isInPendingCommitState = false;
53
+ this.$.disabled = false;
54
+ this.$.focus();
55
+ return;
56
+ }
57
+ this.isInPendingCommitState = false;
58
+ this.$.disabled = false;
59
+ this.destroy();
60
+ }
61
+ };
62
+ this.handleFocus = () => {
63
+ this.onFocusEmitter.fire(this.$.value);
64
+ };
65
+ this.handleBlur = async (ev) => {
66
+ // 如果Input由于`react-virtualized`被从视图中卸载,在下一帧前Input的isConnected属性不会被更新
67
+ await delay(0);
68
+ // 如果Input组件不在DOM中,但也没有被手动销毁,则表示由于其不在视窗内被`react-virtualized`卸载
69
+ if (!this.$.isConnected && !this.destroyed) {
70
+ return;
71
+ }
72
+ const res = await this.onBlurEmitter.fireAndAwait(this.$.value);
73
+ // 当有回调函数报错或返回结果为false时,终止后续操作
74
+ if (res.some((r) => r.result === false || !!r.err)) {
75
+ return;
76
+ }
77
+ if (!this.isInPendingCommitState) {
78
+ this.destroy();
79
+ }
80
+ };
81
+ this.$ = document.createElement('input');
82
+ this.$.setAttribute('type', 'text');
83
+ this.$.setAttribute('name', 'no_keybinding');
84
+ // reset props
85
+ this.$.setAttribute('spellcheck', 'false');
86
+ this.$.setAttribute('autoCapitalize', 'off');
87
+ this.$.setAttribute('autoCorrect', 'off');
88
+ this.$.setAttribute('autoComplete', 'off');
89
+ this.ProxiedInput = (0, input_1.bindInputElement)(this.$);
90
+ this.$.addEventListener('click', this.handleClick);
91
+ this.$.addEventListener('keyup', this.handleKeyup);
92
+ this.$.addEventListener('keydown', this.handleKeydown);
93
+ this.$.addEventListener('focus', this.handleFocus);
94
+ this.$.addEventListener('blur', this.handleBlur);
95
+ this.$validate = document.createElement('div');
96
+ this.$validate.setAttribute('style', 'top: calc(100% - 1px);');
97
+ this.$addonAfter = document.createElement('div');
98
+ this.$addonAfter.setAttribute('class', 'kt-input-addon-after');
99
+ // 可能存在PromptHandle创建后没被使用的情况
100
+ }
101
+ get destroyed() {
102
+ return this._destroyed;
103
+ }
104
+ get onChange() {
105
+ return this.onChangeEmitter.event;
106
+ }
107
+ get onCommit() {
108
+ return this.onCommitEmitter.event;
109
+ }
110
+ get onCancel() {
111
+ return this.onCancelEmitter.event;
112
+ }
113
+ get onFocus() {
114
+ return this.onFocusEmitter.event;
115
+ }
116
+ get onBlur() {
117
+ return this.onBlurEmitter.event;
118
+ }
119
+ get onDestroy() {
120
+ return this.onDestroyEmitter.event;
121
+ }
122
+ focus() {
123
+ this.$.focus();
124
+ }
125
+ setSelectionRange(start, end) {
126
+ this.$.setSelectionRange(start, end);
127
+ }
128
+ addClassName(classname) {
129
+ this.$.classList.add(classname);
130
+ }
131
+ removeClassName(classname) {
132
+ this.$.classList.remove(classname);
133
+ }
134
+ addAddonAfter(classname) {
135
+ var _a, _b;
136
+ if (!this._hasAddonAfter && !this._destroyed) {
137
+ (_b = (_a = this.$.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.appendChild(this.$addonAfter);
138
+ this._hasAddonAfter = true;
139
+ }
140
+ const addElement = document.createElement('div');
141
+ addElement.setAttribute('class', classname);
142
+ this.$addonAfter.appendChild(addElement);
143
+ }
144
+ removeAddonAfter() {
145
+ var _a, _b, _c;
146
+ if (this._hasAddonAfter) {
147
+ (_a = this.$addonAfter.firstChild) === null || _a === void 0 ? void 0 : _a.remove();
148
+ (_c = (_b = this.$.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.removeChild(this.$addonAfter);
149
+ this._hasAddonAfter = false;
150
+ }
151
+ }
152
+ addValidateMessage(validateMessage) {
153
+ var _a, _b, _c, _d, _e;
154
+ if (!this._hasValidateElement && !this._destroyed) {
155
+ // 移动到与input-box同级别
156
+ (_c = (_b = (_a = this.$.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.appendChild(this.$validate);
157
+ this._hasValidateElement = true;
158
+ }
159
+ let validateBoxClassName = 'validate-message popup ';
160
+ if (validateMessage && validateMessage.type === PROMPT_VALIDATE_TYPE.ERROR) {
161
+ this._validateClassName = 'validate-error';
162
+ }
163
+ else if (validateMessage && validateMessage.type === PROMPT_VALIDATE_TYPE.WARNING) {
164
+ this._validateClassName = 'validate-warning';
165
+ }
166
+ else {
167
+ this._validateClassName = 'validate-info';
168
+ }
169
+ validateBoxClassName += this._validateClassName;
170
+ this.$validate.classList.value = validateBoxClassName;
171
+ this.$validate.innerText = validateMessage.message || '';
172
+ (_e = (_d = this.$.parentElement) === null || _d === void 0 ? void 0 : _d.parentElement) === null || _e === void 0 ? void 0 : _e.classList.add(this._validateClassName);
173
+ }
174
+ removeValidateMessage() {
175
+ var _a, _b, _c, _d, _e;
176
+ if (this._hasValidateElement) {
177
+ (_c = (_b = (_a = this.$.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.removeChild(this.$validate);
178
+ this._hasValidateElement = false;
179
+ (_e = (_d = this.$.parentElement) === null || _d === void 0 ? void 0 : _d.parentElement) === null || _e === void 0 ? void 0 : _e.classList.remove(this._validateClassName);
180
+ }
181
+ }
182
+ destroy() {
183
+ if (this._destroyed) {
184
+ return;
185
+ }
186
+ this._destroyed = true;
187
+ this.$.removeEventListener('click', this.handleClick);
188
+ this.$.removeEventListener('keyup', this.handleKeyup);
189
+ this.$.removeEventListener('keydown', this.handleKeydown);
190
+ this.$.removeEventListener('focus', this.handleFocus);
191
+ this.$.removeEventListener('blur', this.handleBlur);
192
+ this.removeValidateMessage();
193
+ this.removeAddonAfter();
194
+ this.$.disabled = false;
195
+ this.onDestroyEmitter.fire(this.$.value);
196
+ this.disposables.dispose();
197
+ }
198
+ }
199
+ exports.PromptHandle = PromptHandle;
200
+ //# sourceMappingURL=PromptHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptHandle.js","sourceRoot":"","sources":["../../../src/recycle-tree/prompt/PromptHandle.ts"],"names":[],"mappings":"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"}