@opensumi/ide-components 2.12.1-next-079c1930

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 (360) hide show
  1. package/README.md +65 -0
  2. package/dist/index.css +1 -0
  3. package/dist/index.js +26330 -0
  4. package/lib/badge/index.d.ts +4 -0
  5. package/lib/badge/index.d.ts.map +1 -0
  6. package/lib/badge/index.js +13 -0
  7. package/lib/badge/index.js.map +1 -0
  8. package/lib/badge/styles.less +17 -0
  9. package/lib/button/index.d.ts +54 -0
  10. package/lib/button/index.d.ts.map +1 -0
  11. package/lib/button/index.js +68 -0
  12. package/lib/button/index.js.map +1 -0
  13. package/lib/button/style.less +251 -0
  14. package/lib/checkbox/index.d.ts +9 -0
  15. package/lib/checkbox/index.d.ts.map +1 -0
  16. package/lib/checkbox/index.js +27 -0
  17. package/lib/checkbox/index.js.map +1 -0
  18. package/lib/checkbox/style.less +80 -0
  19. package/lib/common.d.ts +7 -0
  20. package/lib/common.d.ts.map +1 -0
  21. package/lib/common.js +11 -0
  22. package/lib/common.js.map +1 -0
  23. package/lib/dialog/index.d.ts +26 -0
  24. package/lib/dialog/index.d.ts.map +1 -0
  25. package/lib/dialog/index.js +28 -0
  26. package/lib/dialog/index.js.map +1 -0
  27. package/lib/dialog/styles.less +85 -0
  28. package/lib/dropdown/dropdown.d.ts +48 -0
  29. package/lib/dropdown/dropdown.d.ts.map +1 -0
  30. package/lib/dropdown/dropdown.js +80 -0
  31. package/lib/dropdown/dropdown.js.map +1 -0
  32. package/lib/dropdown/index.d.ts +5 -0
  33. package/lib/dropdown/index.d.ts.map +1 -0
  34. package/lib/dropdown/index.js +8 -0
  35. package/lib/dropdown/index.js.map +1 -0
  36. package/lib/dropdown/style.less +254 -0
  37. package/lib/icon/icon.d.ts +33 -0
  38. package/lib/icon/icon.d.ts.map +1 -0
  39. package/lib/icon/icon.js +71 -0
  40. package/lib/icon/icon.js.map +1 -0
  41. package/lib/icon/iconfont/iconManager.d.ts +187 -0
  42. package/lib/icon/iconfont/iconManager.d.ts.map +1 -0
  43. package/lib/icon/iconfont/iconManager.js +67 -0
  44. package/lib/icon/iconfont/iconManager.js.map +1 -0
  45. package/lib/icon/iconfont/iconMap.d.ts +160 -0
  46. package/lib/icon/iconfont/iconMap.d.ts.map +1 -0
  47. package/lib/icon/iconfont/iconMap.js +165 -0
  48. package/lib/icon/iconfont/iconMap.js.map +1 -0
  49. package/lib/icon/iconfont/iconfont.css +646 -0
  50. package/lib/icon/iconfont/iconfont.eot +0 -0
  51. package/lib/icon/iconfont/iconfont.html +1522 -0
  52. package/lib/icon/iconfont/iconfont.svg +333 -0
  53. package/lib/icon/iconfont/iconfont.ttf +0 -0
  54. package/lib/icon/iconfont/iconfont.woff +0 -0
  55. package/lib/icon/iconfont/iconfont.woff2 +0 -0
  56. package/lib/icon/iconfont-cn.d.ts +15 -0
  57. package/lib/icon/iconfont-cn.d.ts.map +1 -0
  58. package/lib/icon/iconfont-cn.js +78 -0
  59. package/lib/icon/iconfont-cn.js.map +1 -0
  60. package/lib/icon/index.d.ts +4 -0
  61. package/lib/icon/index.d.ts.map +1 -0
  62. package/lib/icon/index.js +9 -0
  63. package/lib/icon/index.js.map +1 -0
  64. package/lib/icon/styles.less +105 -0
  65. package/lib/icon/util.d.ts +29 -0
  66. package/lib/icon/util.d.ts.map +1 -0
  67. package/lib/icon/util.js +53 -0
  68. package/lib/icon/util.js.map +1 -0
  69. package/lib/index.d.ts +20 -0
  70. package/lib/index.d.ts.map +1 -0
  71. package/lib/index.js +23 -0
  72. package/lib/index.js.map +1 -0
  73. package/lib/input/HistoryInputBox.d.ts +38 -0
  74. package/lib/input/HistoryInputBox.d.ts.map +1 -0
  75. package/lib/input/HistoryInputBox.js +114 -0
  76. package/lib/input/HistoryInputBox.js.map +1 -0
  77. package/lib/input/Input.d.ts +43 -0
  78. package/lib/input/Input.d.ts.map +1 -0
  79. package/lib/input/Input.js +124 -0
  80. package/lib/input/Input.js.map +1 -0
  81. package/lib/input/ProxiedInput.d.ts +8 -0
  82. package/lib/input/ProxiedInput.d.ts.map +1 -0
  83. package/lib/input/ProxiedInput.js +67 -0
  84. package/lib/input/ProxiedInput.js.map +1 -0
  85. package/lib/input/TextArea.d.ts +6 -0
  86. package/lib/input/TextArea.d.ts.map +1 -0
  87. package/lib/input/TextArea.js +11 -0
  88. package/lib/input/TextArea.js.map +1 -0
  89. package/lib/input/ValidateInput.d.ts +20 -0
  90. package/lib/input/ValidateInput.d.ts.map +1 -0
  91. package/lib/input/ValidateInput.js +59 -0
  92. package/lib/input/ValidateInput.js.map +1 -0
  93. package/lib/input/index.d.ts +5 -0
  94. package/lib/input/index.d.ts.map +1 -0
  95. package/lib/input/index.js +8 -0
  96. package/lib/input/index.js.map +1 -0
  97. package/lib/input/input.less +83 -0
  98. package/lib/input/validate-input.less +88 -0
  99. package/lib/locale-context-provider.d.ts +16 -0
  100. package/lib/locale-context-provider.d.ts.map +1 -0
  101. package/lib/locale-context-provider.js +26 -0
  102. package/lib/locale-context-provider.js.map +1 -0
  103. package/lib/menu/MenuContext.d.ts +8 -0
  104. package/lib/menu/MenuContext.d.ts.map +1 -0
  105. package/lib/menu/MenuContext.js +8 -0
  106. package/lib/menu/MenuContext.js.map +1 -0
  107. package/lib/menu/MenuItem.d.ts +29 -0
  108. package/lib/menu/MenuItem.d.ts.map +1 -0
  109. package/lib/menu/MenuItem.js +32 -0
  110. package/lib/menu/MenuItem.js.map +1 -0
  111. package/lib/menu/SubMenu.d.ts +30 -0
  112. package/lib/menu/SubMenu.d.ts.map +1 -0
  113. package/lib/menu/SubMenu.js +28 -0
  114. package/lib/menu/SubMenu.js.map +1 -0
  115. package/lib/menu/index.d.ts +64 -0
  116. package/lib/menu/index.d.ts.map +1 -0
  117. package/lib/menu/index.js +203 -0
  118. package/lib/menu/index.js.map +1 -0
  119. package/lib/menu/style.less +513 -0
  120. package/lib/message/index.d.ts +10 -0
  121. package/lib/message/index.d.ts.map +1 -0
  122. package/lib/message/index.js +21 -0
  123. package/lib/message/index.js.map +1 -0
  124. package/lib/message/message.d.ts +42 -0
  125. package/lib/message/message.d.ts.map +1 -0
  126. package/lib/message/message.js +128 -0
  127. package/lib/message/message.js.map +1 -0
  128. package/lib/message/style.less +76 -0
  129. package/lib/modal/Modal.d.ts +127 -0
  130. package/lib/modal/Modal.d.ts.map +1 -0
  131. package/lib/modal/Modal.js +87 -0
  132. package/lib/modal/Modal.js.map +1 -0
  133. package/lib/modal/index.d.ts +5 -0
  134. package/lib/modal/index.d.ts.map +1 -0
  135. package/lib/modal/index.js +8 -0
  136. package/lib/modal/index.js.map +1 -0
  137. package/lib/modal/locale.d.ts +8 -0
  138. package/lib/modal/locale.d.ts.map +1 -0
  139. package/lib/modal/locale.js +23 -0
  140. package/lib/modal/locale.js.map +1 -0
  141. package/lib/modal/style.less +168 -0
  142. package/lib/notification/index.d.ts +8 -0
  143. package/lib/notification/index.d.ts.map +1 -0
  144. package/lib/notification/index.js +80 -0
  145. package/lib/notification/index.js.map +1 -0
  146. package/lib/notification/notification.d.ts +44 -0
  147. package/lib/notification/notification.d.ts.map +1 -0
  148. package/lib/notification/notification.js +156 -0
  149. package/lib/notification/notification.js.map +1 -0
  150. package/lib/notification/notification.less +231 -0
  151. package/lib/overlay/index.d.ts +19 -0
  152. package/lib/overlay/index.d.ts.map +1 -0
  153. package/lib/overlay/index.js +13 -0
  154. package/lib/overlay/index.js.map +1 -0
  155. package/lib/overlay/styles.less +44 -0
  156. package/lib/popover/index.d.ts +28 -0
  157. package/lib/popover/index.d.ts.map +1 -0
  158. package/lib/popover/index.js +127 -0
  159. package/lib/popover/index.js.map +1 -0
  160. package/lib/popover/styles.less +135 -0
  161. package/lib/recycle-list/RecycleList.d.ts +105 -0
  162. package/lib/recycle-list/RecycleList.d.ts.map +1 -0
  163. package/lib/recycle-list/RecycleList.js +253 -0
  164. package/lib/recycle-list/RecycleList.js.map +1 -0
  165. package/lib/recycle-list/index.d.ts +2 -0
  166. package/lib/recycle-list/index.d.ts.map +1 -0
  167. package/lib/recycle-list/index.js +5 -0
  168. package/lib/recycle-list/index.js.map +1 -0
  169. package/lib/recycle-tree/RecycleTree.d.ts +254 -0
  170. package/lib/recycle-tree/RecycleTree.d.ts.map +1 -0
  171. package/lib/recycle-tree/RecycleTree.js +635 -0
  172. package/lib/recycle-tree/RecycleTree.js.map +1 -0
  173. package/lib/recycle-tree/TreeNodeRendererWrap.d.ts +37 -0
  174. package/lib/recycle-tree/TreeNodeRendererWrap.d.ts.map +1 -0
  175. package/lib/recycle-tree/TreeNodeRendererWrap.js +18 -0
  176. package/lib/recycle-tree/TreeNodeRendererWrap.js.map +1 -0
  177. package/lib/recycle-tree/decorators/Adaptive/index.d.ts +10 -0
  178. package/lib/recycle-tree/decorators/Adaptive/index.d.ts.map +1 -0
  179. package/lib/recycle-tree/decorators/Adaptive/index.js +97 -0
  180. package/lib/recycle-tree/decorators/Adaptive/index.js.map +1 -0
  181. package/lib/recycle-tree/decorators/Filter/filter.less +11 -0
  182. package/lib/recycle-tree/decorators/Filter/index.d.ts +26 -0
  183. package/lib/recycle-tree/decorators/Filter/index.d.ts.map +1 -0
  184. package/lib/recycle-tree/decorators/Filter/index.js +53 -0
  185. package/lib/recycle-tree/decorators/Filter/index.js.map +1 -0
  186. package/lib/recycle-tree/decorators/index.d.ts +3 -0
  187. package/lib/recycle-tree/decorators/index.d.ts.map +1 -0
  188. package/lib/recycle-tree/decorators/index.js +6 -0
  189. package/lib/recycle-tree/decorators/index.js.map +1 -0
  190. package/lib/recycle-tree/index.d.ts +7 -0
  191. package/lib/recycle-tree/index.d.ts.map +1 -0
  192. package/lib/recycle-tree/index.js +10 -0
  193. package/lib/recycle-tree/index.js.map +1 -0
  194. package/lib/recycle-tree/prompt/NewPromptHandle.d.ts +12 -0
  195. package/lib/recycle-tree/prompt/NewPromptHandle.d.ts.map +1 -0
  196. package/lib/recycle-tree/prompt/NewPromptHandle.js +21 -0
  197. package/lib/recycle-tree/prompt/NewPromptHandle.js.map +1 -0
  198. package/lib/recycle-tree/prompt/PromptHandle.d.ts +59 -0
  199. package/lib/recycle-tree/prompt/PromptHandle.d.ts.map +1 -0
  200. package/lib/recycle-tree/prompt/PromptHandle.js +200 -0
  201. package/lib/recycle-tree/prompt/PromptHandle.js.map +1 -0
  202. package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts +10 -0
  203. package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts.map +1 -0
  204. package/lib/recycle-tree/prompt/RenamePromptHandle.js +21 -0
  205. package/lib/recycle-tree/prompt/RenamePromptHandle.js.map +1 -0
  206. package/lib/recycle-tree/prompt/index.d.ts +4 -0
  207. package/lib/recycle-tree/prompt/index.d.ts.map +1 -0
  208. package/lib/recycle-tree/prompt/index.js +7 -0
  209. package/lib/recycle-tree/prompt/index.js.map +1 -0
  210. package/lib/recycle-tree/tree/Tree.d.ts +20 -0
  211. package/lib/recycle-tree/tree/Tree.d.ts.map +1 -0
  212. package/lib/recycle-tree/tree/Tree.js +43 -0
  213. package/lib/recycle-tree/tree/Tree.js.map +1 -0
  214. package/lib/recycle-tree/tree/TreeNode.d.ts +222 -0
  215. package/lib/recycle-tree/tree/TreeNode.d.ts.map +1 -0
  216. package/lib/recycle-tree/tree/TreeNode.js +1099 -0
  217. package/lib/recycle-tree/tree/TreeNode.js.map +1 -0
  218. package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts +60 -0
  219. package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts.map +1 -0
  220. package/lib/recycle-tree/tree/decoration/CompositeDecoration.js +328 -0
  221. package/lib/recycle-tree/tree/decoration/CompositeDecoration.js.map +1 -0
  222. package/lib/recycle-tree/tree/decoration/Decoration.d.ts +79 -0
  223. package/lib/recycle-tree/tree/decoration/Decoration.d.ts.map +1 -0
  224. package/lib/recycle-tree/tree/decoration/Decoration.js +183 -0
  225. package/lib/recycle-tree/tree/decoration/Decoration.js.map +1 -0
  226. package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts +34 -0
  227. package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts.map +1 -0
  228. package/lib/recycle-tree/tree/decoration/DecorationManager.js +166 -0
  229. package/lib/recycle-tree/tree/decoration/DecorationManager.js.map +1 -0
  230. package/lib/recycle-tree/tree/decoration/index.d.ts +4 -0
  231. package/lib/recycle-tree/tree/decoration/index.d.ts.map +1 -0
  232. package/lib/recycle-tree/tree/decoration/index.js +7 -0
  233. package/lib/recycle-tree/tree/decoration/index.js.map +1 -0
  234. package/lib/recycle-tree/tree/index.d.ts +5 -0
  235. package/lib/recycle-tree/tree/index.d.ts.map +1 -0
  236. package/lib/recycle-tree/tree/index.js +8 -0
  237. package/lib/recycle-tree/tree/index.js.map +1 -0
  238. package/lib/recycle-tree/tree/model/TreeModel.d.ts +50 -0
  239. package/lib/recycle-tree/tree/model/TreeModel.d.ts.map +1 -0
  240. package/lib/recycle-tree/tree/model/TreeModel.js +81 -0
  241. package/lib/recycle-tree/tree/model/TreeModel.js.map +1 -0
  242. package/lib/recycle-tree/tree/model/index.d.ts +2 -0
  243. package/lib/recycle-tree/tree/model/index.d.ts.map +1 -0
  244. package/lib/recycle-tree/tree/model/index.js +5 -0
  245. package/lib/recycle-tree/tree/model/index.js.map +1 -0
  246. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts +65 -0
  247. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts.map +1 -0
  248. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js +191 -0
  249. package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js.map +1 -0
  250. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts +15 -0
  251. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts.map +1 -0
  252. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js +104 -0
  253. package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js.map +1 -0
  254. package/lib/recycle-tree/tree/model/treeState/index.d.ts +4 -0
  255. package/lib/recycle-tree/tree/model/treeState/index.d.ts.map +1 -0
  256. package/lib/recycle-tree/tree/model/treeState/index.js +8 -0
  257. package/lib/recycle-tree/tree/model/treeState/index.js.map +1 -0
  258. package/lib/recycle-tree/tree/model/treeState/types.d.ts +21 -0
  259. package/lib/recycle-tree/tree/model/treeState/types.d.ts.map +1 -0
  260. package/lib/recycle-tree/tree/model/treeState/types.js +18 -0
  261. package/lib/recycle-tree/tree/model/treeState/types.js.map +1 -0
  262. package/lib/recycle-tree/types/index.d.ts +4 -0
  263. package/lib/recycle-tree/types/index.d.ts.map +1 -0
  264. package/lib/recycle-tree/types/index.js +7 -0
  265. package/lib/recycle-tree/types/index.js.map +1 -0
  266. package/lib/recycle-tree/types/tree-node.d.ts +70 -0
  267. package/lib/recycle-tree/types/tree-node.d.ts.map +1 -0
  268. package/lib/recycle-tree/types/tree-node.js +11 -0
  269. package/lib/recycle-tree/types/tree-node.js.map +1 -0
  270. package/lib/recycle-tree/types/tree.d.ts +8 -0
  271. package/lib/recycle-tree/types/tree.d.ts.map +1 -0
  272. package/lib/recycle-tree/types/tree.js +3 -0
  273. package/lib/recycle-tree/types/tree.js.map +1 -0
  274. package/lib/recycle-tree/types/watcher.d.ts +114 -0
  275. package/lib/recycle-tree/types/watcher.d.ts.map +1 -0
  276. package/lib/recycle-tree/types/watcher.js +46 -0
  277. package/lib/recycle-tree/types/watcher.js.map +1 -0
  278. package/lib/scrollbars/index.d.ts +14 -0
  279. package/lib/scrollbars/index.d.ts.map +1 -0
  280. package/lib/scrollbars/index.js +52 -0
  281. package/lib/scrollbars/index.js.map +1 -0
  282. package/lib/scrollbars/styles.less +46 -0
  283. package/lib/select/index.d.ts +119 -0
  284. package/lib/select/index.d.ts.map +1 -0
  285. package/lib/select/index.js +327 -0
  286. package/lib/select/index.js.map +1 -0
  287. package/lib/select/style.less +224 -0
  288. package/lib/style/base.less +542 -0
  289. package/lib/style/index.less +14 -0
  290. package/lib/style/mixins.less +135 -0
  291. package/lib/style/motion/fade.less +31 -0
  292. package/lib/style/motion/move.less +120 -0
  293. package/lib/style/motion/other.less +45 -0
  294. package/lib/style/motion/slide.less +120 -0
  295. package/lib/style/motion/swing.less +34 -0
  296. package/lib/style/motion/zoom.less +162 -0
  297. package/lib/style/variable.less +204 -0
  298. package/lib/tabs/index.d.ts +12 -0
  299. package/lib/tabs/index.d.ts.map +1 -0
  300. package/lib/tabs/index.js +24 -0
  301. package/lib/tabs/index.js.map +1 -0
  302. package/lib/tabs/style.less +34 -0
  303. package/lib/tooltip/index.d.ts +7 -0
  304. package/lib/tooltip/index.d.ts.map +1 -0
  305. package/lib/tooltip/index.js +58 -0
  306. package/lib/tooltip/index.js.map +1 -0
  307. package/lib/tooltip/style.less +41 -0
  308. package/lib/utils/deprecated.d.ts +3 -0
  309. package/lib/utils/deprecated.d.ts.map +1 -0
  310. package/lib/utils/deprecated.js +18 -0
  311. package/lib/utils/deprecated.js.map +1 -0
  312. package/lib/utils/disposable.d.ts +37 -0
  313. package/lib/utils/disposable.d.ts.map +1 -0
  314. package/lib/utils/disposable.js +140 -0
  315. package/lib/utils/disposable.js.map +1 -0
  316. package/lib/utils/event.d.ts +189 -0
  317. package/lib/utils/event.d.ts.map +1 -0
  318. package/lib/utils/event.js +569 -0
  319. package/lib/utils/event.js.map +1 -0
  320. package/lib/utils/index.d.ts +10 -0
  321. package/lib/utils/index.d.ts.map +1 -0
  322. package/lib/utils/index.js +13 -0
  323. package/lib/utils/index.js.map +1 -0
  324. package/lib/utils/iterator.d.ts +14 -0
  325. package/lib/utils/iterator.d.ts.map +1 -0
  326. package/lib/utils/iterator.js +9 -0
  327. package/lib/utils/iterator.js.map +1 -0
  328. package/lib/utils/linkedList.d.ts +18 -0
  329. package/lib/utils/linkedList.d.ts.map +1 -0
  330. package/lib/utils/linkedList.js +139 -0
  331. package/lib/utils/linkedList.js.map +1 -0
  332. package/lib/utils/motion.d.ts +24 -0
  333. package/lib/utils/motion.d.ts.map +1 -0
  334. package/lib/utils/motion.js +17 -0
  335. package/lib/utils/motion.js.map +1 -0
  336. package/lib/utils/os.d.ts +4 -0
  337. package/lib/utils/os.d.ts.map +1 -0
  338. package/lib/utils/os.js +22 -0
  339. package/lib/utils/os.js.map +1 -0
  340. package/lib/utils/path.d.ts +92 -0
  341. package/lib/utils/path.d.ts.map +1 -0
  342. package/lib/utils/path.js +1712 -0
  343. package/lib/utils/path.js.map +1 -0
  344. package/lib/utils/process.d.ts +6 -0
  345. package/lib/utils/process.d.ts.map +1 -0
  346. package/lib/utils/process.js +17 -0
  347. package/lib/utils/process.js.map +1 -0
  348. package/lib/utils/raf.d.ts +10 -0
  349. package/lib/utils/raf.d.ts.map +1 -0
  350. package/lib/utils/raf.js +33 -0
  351. package/lib/utils/raf.js.map +1 -0
  352. package/lib/utils/type.d.ts +4 -0
  353. package/lib/utils/type.d.ts.map +1 -0
  354. package/lib/utils/type.js +9 -0
  355. package/lib/utils/type.js.map +1 -0
  356. package/lib/utils/warning.d.ts +8 -0
  357. package/lib/utils/warning.d.ts.map +1 -0
  358. package/lib/utils/warning.js +40 -0
  359. package/lib/utils/warning.js.map +1 -0
  360. package/package.json +36 -0
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tabs = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
7
+ require("./style.less");
8
+ const Tabs = (props) => {
9
+ const { tabs, className, value, onChange, mini, style } = props, restProps = (0, tslib_1.__rest)(props, ["tabs", "className", "value", "onChange", "mini", "style"]);
10
+ const onClick = react_1.default.useCallback((index) => {
11
+ if (typeof onChange === 'function') {
12
+ onChange(index);
13
+ }
14
+ }, []);
15
+ return (react_1.default.createElement("div", Object.assign({}, restProps, { style: style, className: (0, classnames_1.default)('kt-tabs', className, { ['kt-tabs-mini']: mini }) }), tabs.map((tabContent, i) => {
16
+ const selectedClassName = i === value ? 'kt-tab-selected' : '';
17
+ if (typeof tabContent === 'string') {
18
+ return react_1.default.createElement("div", { key: i, className: (0, classnames_1.default)('kt-tab', selectedClassName, { ['kt-mini-tab']: mini }), onClick: onClick.bind(null, i) }, tabContent);
19
+ }
20
+ return react_1.default.createElement("div", { key: i, className: (0, classnames_1.default)('kt-custom-tab', selectedClassName, { ['kt-mini-tab']: mini }), onClick: onClick.bind(null, i) }, tabContent);
21
+ })));
22
+ };
23
+ exports.Tabs = Tabs;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tabs/index.tsx"],"names":[],"mappings":";;;;AAAA,+DAA0B;AAC1B,yEAA6B;AAE7B,wBAAsB;AAWf,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAE,EAAE;IACxC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,KAAmB,KAAK,EAAnB,SAAS,uBAAK,KAAK,EAAvE,2DAA+D,CAAQ,CAAC;IAC9E,MAAM,OAAO,GAAG,eAAK,CAAC,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAClD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YAClC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uDAAS,SAAS,IAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAA,oBAAG,EAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAE,KAE/F,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,uCACL,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,IAAA,oBAAG,EAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EACtE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAC7B,UAAU,CACP,CAAC;SACR;QACD,OAAO,uCACL,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,IAAA,oBAAG,EAAC,eAAe,EAAE,iBAAiB,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAC7E,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAC7B,UAAU,CACP,CAAC;IACT,CAAC,CAAC,CAEA,CACP,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,IAAI,QA+Bf"}
@@ -0,0 +1,34 @@
1
+ .kt-tabs {
2
+ display: flex;
3
+ align-items: center;
4
+ border-bottom: 1px solid var(--kt-tab-borderDown);
5
+
6
+ .kt-tab,
7
+ .kt-custom-tab {
8
+ padding: 8px 0 8px;
9
+ line-height: 20px;
10
+ border-bottom: 2px solid transparent;
11
+ color: var(--kt-tab-inactiveForeground);
12
+ cursor: pointer;
13
+
14
+ &.kt-mini-tab {
15
+ padding: 2px 0 2px;
16
+ }
17
+
18
+ &.kt-tab-selected {
19
+ color: var(--kt-tab-activeForeground);
20
+ border-bottom-color: var(--kt-tab-activeBorder);
21
+ }
22
+ }
23
+
24
+ &.kt-tabs-mini {
25
+ border-bottom: none;
26
+ }
27
+
28
+ .kt-tab + .kt-tab,
29
+ .kt-custom-tab + .kt-custom-tab,
30
+ .kt-tab + .kt-custom-tab,
31
+ .kt-custom-tab + .kt-tab {
32
+ margin-left: 24px;
33
+ }
34
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './style.less';
3
+ export declare const Tooltip: React.FC<{
4
+ title: string;
5
+ delay?: number;
6
+ }>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tooltip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAqDA,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tooltip = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const react_2 = require("react");
7
+ const classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
8
+ require("./style.less");
9
+ const Tooltip = ({ title, children, delay, }) => {
10
+ const [visible, setVisible] = (0, react_2.useState)(false);
11
+ const targetRef = (0, react_2.useRef)(null);
12
+ const tooltipRef = (0, react_2.useRef)(null);
13
+ const arrowRef = (0, react_2.useRef)(null);
14
+ let timer;
15
+ function handleMouseEnter() {
16
+ if (visible) {
17
+ if (timer) {
18
+ clearTimeout(timer);
19
+ }
20
+ return;
21
+ }
22
+ timer = setTimeout(() => {
23
+ setVisible(true);
24
+ if (tooltipRef.current && targetRef.current && arrowRef.current) {
25
+ const { x, y, width, height } = targetRef.current.getBoundingClientRect();
26
+ const tooltipRect = tooltipRef.current.getBoundingClientRect();
27
+ if (y < tooltipRect.height) {
28
+ arrowRef.current.className += ' kt-tooltip-reverse-arrow';
29
+ tooltipRef.current.style.top = `${y + height + (tooltipRect.height / 2)}px`;
30
+ }
31
+ else {
32
+ tooltipRef.current.style.top = `${y - (height / 2) - (tooltipRect.height / 2)}px`;
33
+ }
34
+ if (x + tooltipRect.width >= document.body.offsetWidth) {
35
+ arrowRef.current.style.left = `${x + tooltipRect.width - document.body.offsetWidth + (width / 2)}px`;
36
+ tooltipRef.current.style.left = `${document.body.offsetWidth - tooltipRect.width}px`;
37
+ }
38
+ else {
39
+ tooltipRef.current.style.left = `${x + (width / 2) - (tooltipRect.width / 2)}px`;
40
+ }
41
+ }
42
+ clearTimeout(timer);
43
+ }, delay || 500);
44
+ }
45
+ function handleMouseLeave() {
46
+ if (timer) {
47
+ clearTimeout(timer);
48
+ }
49
+ setVisible(false);
50
+ }
51
+ return (react_1.default.createElement("p", { ref: targetRef, className: 'kt-tooltip-wrapper', onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
52
+ children,
53
+ visible && react_1.default.createElement("span", { ref: tooltipRef, className: (0, classnames_1.default)('kt-tooltip-content') },
54
+ title,
55
+ react_1.default.createElement("span", { ref: arrowRef, className: 'kt-tooltip-arrow-placeholder' }))));
56
+ };
57
+ exports.Tooltip = Tooltip;
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tooltip/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ .kt-tooltip-wrapper {
2
+ position: relative;
3
+ margin: 0px;
4
+ padding: 0px;
5
+
6
+ .kt-tooltip-content {
7
+ display: inline-block;
8
+ position: fixed;
9
+ font-size: 12px;
10
+ font-weight: normal;
11
+ border-radius: 2px;
12
+ line-height: 20px;
13
+ padding: 4px 8px;
14
+ z-index: 2;
15
+ white-space: nowrap;
16
+ color: var(--kt-tooltip-foreground);
17
+ background: var(--kt-tooltip-background);
18
+ box-shadow: 0px 6px 16px -8px rgba(0,0,0,0.24),
19
+ 0px 9px 28px 0px rgba(0,0,0,0.15),
20
+ 0px 12px 48px 16px rgba(0,0,0,0.09);
21
+
22
+ .kt-tooltip-arrow-placeholder {
23
+ position: absolute;
24
+ left: 50%;
25
+ margin-left: -7px;
26
+ top: 100%;
27
+ width: 0;
28
+ height: 0;
29
+ border-style: solid;
30
+ border-width: 7px 7px 0 7px;
31
+ border-color: var(--kt-tooltip-background) transparent transparent transparent;
32
+
33
+ &.kt-tooltip-reverse-arrow {
34
+ top: auto !important;
35
+ bottom: 100% !important;
36
+ border-width: 0px 7px 7px 7px !important;
37
+ border-color: transparent transparent var(--kt-tooltip-background) transparent !important;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function Deprecated<T>(fc: React.FC<T>, msg: string): (props: T) => React.FunctionComponentElement<T>;
3
+ //# sourceMappingURL=deprecated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/utils/deprecated.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,WACzC,CAAC,uCAQjB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Deprecated = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const warning_1 = (0, tslib_1.__importDefault)(require("./warning"));
7
+ // @deprecated wrapper
8
+ function Deprecated(fc, msg) {
9
+ return (props) => {
10
+ react_1.default.useEffect(() => {
11
+ // https://reactjs.org/docs/higher-order-components.html#convention-wrap-the-display-name-for-easy-debugging
12
+ (0, warning_1.default)(false, `${fc.displayName || fc.name} is deprecated: ${msg}`);
13
+ }, []);
14
+ return react_1.default.createElement(fc, props);
15
+ };
16
+ }
17
+ exports.Deprecated = Deprecated;
18
+ //# sourceMappingURL=deprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../src/utils/deprecated.tsx"],"names":[],"mappings":";;;;AAAA,+DAA0B;AAC1B,qEAAgC;AAEhC,sBAAsB;AACtB,SAAgB,UAAU,CAAI,EAAe,EAAE,GAAW;IACxD,OAAO,CAAC,KAAQ,EAAE,EAAE;QAClB,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,4GAA4G;YAC5G,IAAA,iBAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,eAAK,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AATD,gCASC"}
@@ -0,0 +1,37 @@
1
+ import { Event, Emitter } from './event';
2
+ export interface IDisposable {
3
+ /**
4
+ * Dispose this object.
5
+ */
6
+ dispose(): void;
7
+ }
8
+ export declare class Disposable implements IDisposable {
9
+ protected readonly disposables: IDisposable[];
10
+ protected readonly onDisposeEmitter: Emitter<void>;
11
+ constructor(...toDispose: IDisposable[]);
12
+ static create(func: () => void): IDisposable;
13
+ static NULL: IDisposable;
14
+ static None: Readonly<IDisposable>;
15
+ get onDispose(): Event<void>;
16
+ protected checkDisposed(): void;
17
+ get disposed(): boolean;
18
+ private disposingElements;
19
+ dispose(): void;
20
+ addDispose(disposable: IDisposable): IDisposable;
21
+ addDispose(disposable: IDisposable[]): IDisposable[];
22
+ protected registerDispose<T extends IDisposable>(disposable: T): T;
23
+ private add;
24
+ }
25
+ export declare class DisposableCollection implements IDisposable {
26
+ protected readonly disposables: IDisposable[];
27
+ protected readonly onDisposeEmitter: Emitter<void>;
28
+ constructor(...toDispose: IDisposable[]);
29
+ get onDispose(): Event<void>;
30
+ protected checkDisposed(): void;
31
+ get disposed(): boolean;
32
+ private disposingElements;
33
+ dispose(): void;
34
+ push(disposable: IDisposable): IDisposable;
35
+ pushAll(disposables: IDisposable[]): IDisposable[];
36
+ }
37
+ //# sourceMappingURL=disposable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../src/utils/disposable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,qBAAa,UAAW,YAAW,WAAW;IAC5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IACnD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;gBAE9C,GAAG,SAAS,EAAE,WAAW,EAAE;IAIvC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,WAAW;IAM5C,MAAM,CAAC,IAAI,cAAgC;IAE3C,MAAM,CAAC,IAAI,wBAAiD;IAE5D,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAE3B;IAED,SAAS,CAAC,aAAa,IAAI,IAAI;IAM/B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,IAAI,IAAI;IAiBf,UAAU,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW;IAChD,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAUpD,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC;IASlE,OAAO,CAAC,GAAG;CAiBZ;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAEtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IACnD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;gBAE9C,GAAG,SAAS,EAAE,WAAW,EAAE;IAIvC,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAE3B;IAED,SAAS,CAAC,aAAa,IAAI,IAAI;IAM/B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,IAAI,IAAI;IAiBf,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW;IAkB1C,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;CAMnD"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DisposableCollection = exports.Disposable = void 0;
4
+ // Modify from @opensumi/ide-core-common/src/disposable.ts
5
+ const event_1 = require("./event");
6
+ class Disposable {
7
+ constructor(...toDispose) {
8
+ this.disposables = [];
9
+ this.onDisposeEmitter = new event_1.Emitter();
10
+ this.disposingElements = false;
11
+ toDispose.forEach((d) => this.addDispose(d));
12
+ }
13
+ static create(func) {
14
+ return {
15
+ dispose: func,
16
+ };
17
+ }
18
+ get onDispose() {
19
+ return this.onDisposeEmitter.event;
20
+ }
21
+ checkDisposed() {
22
+ if (this.disposed && !this.disposingElements) {
23
+ this.onDisposeEmitter.fire(undefined);
24
+ }
25
+ }
26
+ get disposed() {
27
+ return this.disposables.length === 0;
28
+ }
29
+ dispose() {
30
+ if (this.disposed || this.disposingElements) {
31
+ return;
32
+ }
33
+ this.disposingElements = true;
34
+ while (!this.disposed) {
35
+ try {
36
+ this.disposables.pop().dispose();
37
+ }
38
+ catch (e) {
39
+ // tslint:disable-next-line:no-console
40
+ console.error(e);
41
+ }
42
+ }
43
+ this.disposingElements = false;
44
+ this.checkDisposed();
45
+ }
46
+ addDispose(disposable) {
47
+ if (Array.isArray(disposable)) {
48
+ const disposables = disposable;
49
+ return disposables.map((disposable) => this.addDispose(disposable));
50
+ }
51
+ else {
52
+ return this.add(disposable);
53
+ }
54
+ }
55
+ registerDispose(disposable) {
56
+ if (disposable === this) {
57
+ throw new Error('Cannot register a disposable on itself!');
58
+ }
59
+ this.add(disposable);
60
+ return disposable;
61
+ }
62
+ add(disposable) {
63
+ const disposables = this.disposables;
64
+ disposables.push(disposable);
65
+ const originalDispose = disposable.dispose.bind(disposable);
66
+ const toRemove = Disposable.create(() => {
67
+ const index = disposables.indexOf(disposable);
68
+ if (index !== -1) {
69
+ disposables.splice(index, 1);
70
+ }
71
+ this.checkDisposed();
72
+ });
73
+ disposable.dispose = () => {
74
+ toRemove.dispose();
75
+ originalDispose();
76
+ };
77
+ return toRemove;
78
+ }
79
+ }
80
+ exports.Disposable = Disposable;
81
+ Disposable.NULL = Disposable.create(() => { });
82
+ Disposable.None = Object.freeze({ dispose() { } });
83
+ class DisposableCollection {
84
+ constructor(...toDispose) {
85
+ this.disposables = [];
86
+ this.onDisposeEmitter = new event_1.Emitter();
87
+ this.disposingElements = false;
88
+ toDispose.forEach((d) => this.push(d));
89
+ }
90
+ get onDispose() {
91
+ return this.onDisposeEmitter.event;
92
+ }
93
+ checkDisposed() {
94
+ if (this.disposed && !this.disposingElements) {
95
+ this.onDisposeEmitter.fire(undefined);
96
+ }
97
+ }
98
+ get disposed() {
99
+ return this.disposables.length === 0;
100
+ }
101
+ dispose() {
102
+ if (this.disposed || this.disposingElements) {
103
+ return;
104
+ }
105
+ this.disposingElements = true;
106
+ while (!this.disposed) {
107
+ try {
108
+ this.disposables.pop().dispose();
109
+ }
110
+ catch (e) {
111
+ // tslint:disable-next-line:no-console
112
+ console.error(e);
113
+ }
114
+ }
115
+ this.disposingElements = false;
116
+ this.checkDisposed();
117
+ }
118
+ push(disposable) {
119
+ const disposables = this.disposables;
120
+ disposables.push(disposable);
121
+ const originalDispose = disposable.dispose.bind(disposable);
122
+ const toRemove = Disposable.create(() => {
123
+ const index = disposables.indexOf(disposable);
124
+ if (index !== -1) {
125
+ disposables.splice(index, 1);
126
+ }
127
+ this.checkDisposed();
128
+ });
129
+ disposable.dispose = () => {
130
+ toRemove.dispose();
131
+ originalDispose();
132
+ };
133
+ return toRemove;
134
+ }
135
+ pushAll(disposables) {
136
+ return disposables.map((disposable) => this.push(disposable));
137
+ }
138
+ }
139
+ exports.DisposableCollection = DisposableCollection;
140
+ //# sourceMappingURL=disposable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../src/utils/disposable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import { IDisposable } from './disposable';
2
+ import { LinkedList } from './linkedList';
3
+ /**
4
+ * To an event a function with one or zero parameters
5
+ * can be subscribed. The event is the subscriber function itself.
6
+ */
7
+ export declare type Event<T> = (listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
8
+ export declare namespace Event {
9
+ const None: Event<any>;
10
+ /**
11
+ * Given an event, returns another event which only fires once.
12
+ */
13
+ function once<T>(event: Event<T>): Event<T>;
14
+ /**
15
+ * Given an event and a `map` function, returns another event which maps each element
16
+ * throught the mapping function.
17
+ */
18
+ function map<I, O>(event: Event<I>, map: (i: I) => O): Event<O>;
19
+ /**
20
+ * Given an event and an `each` function, returns another identical event and calls
21
+ * the `each` function per each element.
22
+ */
23
+ function forEach<I>(event: Event<I>, each: (i: I) => void): Event<I>;
24
+ /**
25
+ * Given an event and a `filter` function, returns another event which emits those
26
+ * elements for which the `filter` function returns `true`.
27
+ */
28
+ function filter<T>(event: Event<T>, filter: (e: T) => boolean): Event<T>;
29
+ function filter<T, R>(event: Event<T | R>, filter: (e: T | R) => e is R): Event<R>;
30
+ /**
31
+ * Given an event, returns the same event but typed as `Event<void>`.
32
+ */
33
+ function signal<T>(event: Event<T>): Event<void>;
34
+ /**
35
+ * Given an event and a `merge` function, returns another event which maps each element
36
+ * and the cummulative result throught the `merge` function. Similar to `map`, but with memory.
37
+ */
38
+ function reduce<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, initial?: O): Event<O>;
39
+ /**
40
+ * Given a chain of event processing functions (filter, map, etc), each
41
+ * function will be invoked per event & per listener. Snapshotting an event
42
+ * chain allows each function to be invoked just once per event.
43
+ */
44
+ function snapshot<T>(event: Event<T>): Event<T>;
45
+ /**
46
+ * Debounces the provided event, given a `merge` function.
47
+ *
48
+ * @param event The input event.
49
+ * @param merge The reducing function.
50
+ * @param delay The debouncing delay in millis.
51
+ * @param leading Whether the event should fire in the leading phase of the timeout.
52
+ * @param leakWarningThreshold The leak warning threshold override.
53
+ */
54
+ function debounce<T>(event: Event<T>, merge: (last: T | undefined, event: T) => T, delay?: number, leading?: boolean, leakWarningThreshold?: number): Event<T>;
55
+ function debounce<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, delay?: number, leading?: boolean, leakWarningThreshold?: number): Event<O>;
56
+ /**
57
+ * Given an event, it returns another event which fires only once and as soon as
58
+ * the input event emits. The event data is the number of millis it took for the
59
+ * event to fire.
60
+ */
61
+ function stopwatch<T>(event: Event<T>): Event<number>;
62
+ /**
63
+ * Given an event, it returns another event which fires only when the event
64
+ * element changes.
65
+ */
66
+ function latch<T>(event: Event<T>): Event<T>;
67
+ /**
68
+ * Buffers the provided event until a first listener comes
69
+ * along, at which point fire all the events at once and
70
+ * pipe the event from then on.
71
+ *
72
+ * ```typescript
73
+ * const emitter = new Emitter<number>();
74
+ * const event = emitter.event;
75
+ * const bufferedEvent = buffer(event);
76
+ *
77
+ * emitter.fire(1);
78
+ * emitter.fire(2);
79
+ * emitter.fire(3);
80
+ * // nothing...
81
+ *
82
+ * const listener = bufferedEvent(num => console.log(num));
83
+ * // 1, 2, 3
84
+ *
85
+ * emitter.fire(4);
86
+ * // 4
87
+ * ```
88
+ */
89
+ function buffer<T>(event: Event<T>, nextTick?: boolean, _buffer?: T[]): Event<T>;
90
+ interface IChainableEvent<T> {
91
+ event: Event<T>;
92
+ map<O>(fn: (i: T) => O): IChainableEvent<O>;
93
+ forEach(fn: (i: T) => void): IChainableEvent<T>;
94
+ filter(fn: (e: T) => boolean): IChainableEvent<T>;
95
+ reduce<R>(merge: (last: R | undefined, event: T) => R, initial?: R): IChainableEvent<R>;
96
+ latch(): IChainableEvent<T>;
97
+ on(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]): IDisposable;
98
+ once(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]): IDisposable;
99
+ }
100
+ function chain<T>(event: Event<T>): IChainableEvent<T>;
101
+ interface NodeEventEmitter {
102
+ on(event: string | symbol, listener: () => void): this;
103
+ removeListener(event: string | symbol, listener: () => void): this;
104
+ }
105
+ function fromNodeEventEmitter<T>(emitter: NodeEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
106
+ function fromPromise<T = any>(promise: Promise<T>): Event<undefined>;
107
+ function toPromise<T>(event: Event<T>): Promise<T>;
108
+ }
109
+ declare type Listener<T> = [(e: T) => void, any] | ((e: T) => void);
110
+ export interface EmitterOptions {
111
+ onFirstListenerAdd?: (emitter: Emitter<any>) => void;
112
+ onFirstListenerDidAdd?: (emitter: Emitter<any>) => void;
113
+ onListenerDidAdd?: (emitter: Emitter<any>, listener: (e: any) => any, args: any) => void;
114
+ onLastListenerRemove?: (emitter: Emitter<any>) => void;
115
+ leakWarningThreshold?: number;
116
+ }
117
+ export declare function setGlobalLeakWarningThreshold(n: number): IDisposable;
118
+ /**
119
+ * The Emitter can be used to expose an Event to the public
120
+ * to fire it from the insides.
121
+ * Sample:
122
+ class Document {
123
+
124
+ private _onDidChange = new Emitter<(value:string)=>any>();
125
+
126
+ public onDidChange = this._onDidChange.event;
127
+
128
+ // getter-style
129
+ // get onDidChange(): Event<(value:string)=>any> {
130
+ // return this._onDidChange.event;
131
+ // }
132
+
133
+ private _doIt() {
134
+ //...
135
+ this._onDidChange.fire(value);
136
+ }
137
+ }
138
+ */
139
+ export interface IAsyncResult<T> {
140
+ err?: Error;
141
+ result?: T;
142
+ }
143
+ export declare class Emitter<T> {
144
+ private static readonly _noop;
145
+ private readonly _options?;
146
+ private readonly _leakageMon?;
147
+ private _disposed;
148
+ private _event?;
149
+ private _deliveryQueue?;
150
+ protected _listeners?: LinkedList<Listener<T>>;
151
+ constructor(options?: EmitterOptions);
152
+ /**
153
+ * For the public to allow to subscribe
154
+ * to events from this Emitter
155
+ */
156
+ get event(): Event<T>;
157
+ /**
158
+ * To be kept private to fire an event to
159
+ * subscribers
160
+ */
161
+ fire(event: T): void;
162
+ /**
163
+ * 发送一个异步事件,等待所有监听器返回,并收集返回值
164
+ * @param e
165
+ * @param timeout
166
+ */
167
+ fireAndAwait<R = any>(event: T, timeout?: number): Promise<Array<IAsyncResult<R>>>;
168
+ get listenerSize(): number;
169
+ dispose(): void;
170
+ }
171
+ export declare class PauseableEmitter<T> extends Emitter<T> {
172
+ private _isPaused;
173
+ private _eventQueue;
174
+ private _mergeFn?;
175
+ constructor(options?: EmitterOptions & {
176
+ merge?: (input: T[]) => T;
177
+ });
178
+ pause(): void;
179
+ resume(): void;
180
+ fire(event: T): void;
181
+ }
182
+ export interface WaitUntilEvent {
183
+ waitUntil(thenable: Promise<any>): void;
184
+ }
185
+ export declare namespace WaitUntilEvent {
186
+ function fire<T extends WaitUntilEvent>(emitter: Emitter<T>, event: Pick<T, Exclude<keyof T, 'waitUntil'>>, timeout?: number): Promise<void>;
187
+ }
188
+ export {};
189
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/utils/event.ts"],"names":[],"mappings":"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"}