@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 @@
1
+ {"version":3,"file":"TreeNode.js","sourceRoot":"","sources":["../../../src/recycle-tree/tree/TreeNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { Decoration } from './Decoration';
2
+ import { DisposableCollection } from '../../../utils';
3
+ import { ITreeNodeOrCompositeTreeNode } from '../../types';
4
+ export declare class ClasslistComposite {
5
+ /**
6
+ * 注册样式变化监听函数
7
+ */
8
+ readonly addChangeListener: (namedCallback: () => void) => void;
9
+ /**
10
+ * 注销样式变化监听函数
11
+ */
12
+ readonly removeChangeListener: (namedCallback: () => void) => void;
13
+ classlist: ReadonlyArray<string>;
14
+ constructor(
15
+ /**
16
+ * 注册样式变化监听函数
17
+ */
18
+ addChangeListener: (namedCallback: () => void) => void,
19
+ /**
20
+ * 注销样式变化监听函数
21
+ */
22
+ removeChangeListener: (namedCallback: () => void) => void);
23
+ }
24
+ export declare enum CompositeDecorationType {
25
+ Applicable = 1,
26
+ Inheritable = 2
27
+ }
28
+ export declare enum ChangeReason {
29
+ UnTargetDecoration = 1,
30
+ TargetDecoration = 2
31
+ }
32
+ export declare class CompositeDecoration {
33
+ renderedDecorations: Map<Decoration, DisposableCollection>;
34
+ targetedDecorations: Set<Decoration>;
35
+ negatedDecorations: Set<Decoration>;
36
+ parent: CompositeDecoration;
37
+ compositeCssClasslist: ClasslistComposite;
38
+ private target;
39
+ private type;
40
+ private selfOwned;
41
+ private linkedComposites;
42
+ private classlistChangeCallbacks;
43
+ constructor(target: ITreeNodeOrCompositeTreeNode, type: CompositeDecorationType, parent?: CompositeDecoration);
44
+ changeParent(newParent?: CompositeDecoration): void;
45
+ add(decoration: Decoration): void;
46
+ remove(decoration: Decoration): void;
47
+ negate(decoration: Decoration): void;
48
+ unNegate(decoration: Decoration): void;
49
+ private selfOwn;
50
+ private parentOwn;
51
+ private processCompositeAlteration;
52
+ private recursiveRefresh;
53
+ private handleDecorationDidAddClassname;
54
+ private handleDecorationDidRemoveClassname;
55
+ private mergeDecorationClasslist;
56
+ private handleDecorationDisable;
57
+ private removeDecorationClasslist;
58
+ private notifyClasslistChange;
59
+ }
60
+ //# sourceMappingURL=CompositeDecoration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositeDecoration.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/CompositeDecoration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyC,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,qBAAa,kBAAkB;IAG3B;;OAEG;aACa,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,IAAI;IACtE;;OAEG;aACa,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,IAAI;IATpE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;;IAEtC;;OAEG;IACa,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,IAAI;IACtE;;OAEG;IACa,oBAAoB,EAAE,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,IAAI;CAE5E;AAED,oBAAY,uBAAuB;IACjC,UAAU,IAAI;IACd,WAAW,IAAA;CACZ;AAED,oBAAY,YAAY;IACtB,kBAAkB,IAAI;IACtB,gBAAgB,IAAA;CACjB;AAED,qBAAa,mBAAmB;IACvB,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC3D,mBAAmB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAEpC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,qBAAqB,EAAE,kBAAkB,CAAC;IAEjD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,wBAAwB,CAAkB;gBAEtC,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAyBtG,YAAY,CAAC,SAAS,CAAC,EAAE,mBAAmB;IAwB5C,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAmBjC,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAYpC,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAqBpC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAgB7C,OAAO,CAAC,OAAO;IA+Bf,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,0BAA0B;IAsDlC,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,+BAA+B,CAQtC;IAED,OAAO,CAAC,kCAAkC,CAUzC;IAED,OAAO,CAAC,wBAAwB,CAO/B;IAED,OAAO,CAAC,uBAAuB,CAG9B;IACD,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,qBAAqB;CAY9B"}
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompositeDecoration = exports.ChangeReason = exports.CompositeDecorationType = exports.ClasslistComposite = void 0;
4
+ const Decoration_1 = require("./Decoration");
5
+ const utils_1 = require("../../../utils");
6
+ class ClasslistComposite {
7
+ constructor(
8
+ /**
9
+ * 注册样式变化监听函数
10
+ */
11
+ addChangeListener,
12
+ /**
13
+ * 注销样式变化监听函数
14
+ */
15
+ removeChangeListener) {
16
+ this.addChangeListener = addChangeListener;
17
+ this.removeChangeListener = removeChangeListener;
18
+ }
19
+ }
20
+ exports.ClasslistComposite = ClasslistComposite;
21
+ var CompositeDecorationType;
22
+ (function (CompositeDecorationType) {
23
+ CompositeDecorationType[CompositeDecorationType["Applicable"] = 1] = "Applicable";
24
+ CompositeDecorationType[CompositeDecorationType["Inheritable"] = 2] = "Inheritable";
25
+ })(CompositeDecorationType = exports.CompositeDecorationType || (exports.CompositeDecorationType = {}));
26
+ var ChangeReason;
27
+ (function (ChangeReason) {
28
+ ChangeReason[ChangeReason["UnTargetDecoration"] = 1] = "UnTargetDecoration";
29
+ ChangeReason[ChangeReason["TargetDecoration"] = 2] = "TargetDecoration";
30
+ })(ChangeReason = exports.ChangeReason || (exports.ChangeReason = {}));
31
+ class CompositeDecoration {
32
+ constructor(target, type, parent) {
33
+ this.handleDecorationDidAddClassname = (event) => {
34
+ const { classname } = event;
35
+ if (!this.selfOwned || !classname) {
36
+ return;
37
+ }
38
+ this.compositeCssClasslist.classlist.push(classname);
39
+ this.notifyClasslistChange();
40
+ };
41
+ this.handleDecorationDidRemoveClassname = (event) => {
42
+ const { classname } = event;
43
+ if (!this.selfOwned || !classname) {
44
+ return;
45
+ }
46
+ const idx = this.compositeCssClasslist.classlist.indexOf(classname);
47
+ if (idx > -1) {
48
+ this.compositeCssClasslist.classlist.splice(idx, 1);
49
+ this.notifyClasslistChange();
50
+ }
51
+ };
52
+ this.mergeDecorationClasslist = (event) => {
53
+ const { decoration } = event;
54
+ if (!this.selfOwned) {
55
+ return;
56
+ }
57
+ this.compositeCssClasslist.classlist.push(...decoration.cssClassList);
58
+ this.notifyClasslistChange();
59
+ };
60
+ this.handleDecorationDisable = (event) => {
61
+ const { decoration } = event;
62
+ this.removeDecorationClasslist(decoration);
63
+ };
64
+ this.target = target;
65
+ this.type = type;
66
+ this.linkedComposites = new Set();
67
+ this.classlistChangeCallbacks = new Set();
68
+ this.compositeCssClasslist = new ClasslistComposite(this.classlistChangeCallbacks.add.bind(this.classlistChangeCallbacks), this.classlistChangeCallbacks.delete.bind(this.classlistChangeCallbacks));
69
+ if (parent) {
70
+ this.selfOwned = false;
71
+ this.parent = parent;
72
+ this.renderedDecorations = parent.renderedDecorations;
73
+ this.compositeCssClasslist.classlist = parent.compositeCssClasslist.classlist;
74
+ parent.linkedComposites.add(this);
75
+ }
76
+ else {
77
+ this.renderedDecorations = new Map();
78
+ this.targetedDecorations = new Set();
79
+ this.negatedDecorations = new Set();
80
+ this.compositeCssClasslist.classlist = [];
81
+ this.selfOwned = true;
82
+ }
83
+ }
84
+ changeParent(newParent) {
85
+ if (!newParent) {
86
+ return;
87
+ }
88
+ if (!this.selfOwned) {
89
+ return this.parentOwn(newParent);
90
+ }
91
+ // 清除所有除了匹配的装饰器属性
92
+ for (const [decoration] of this.renderedDecorations) {
93
+ this.recursiveRefresh(this, false, ChangeReason.UnTargetDecoration, decoration, false);
94
+ }
95
+ if (this.parent !== newParent) {
96
+ this.parent.linkedComposites.delete(this);
97
+ this.parent = newParent;
98
+ newParent.linkedComposites.add(this);
99
+ }
100
+ // 然后添加所有除了不适用的继承装饰器
101
+ for (const [decoration] of newParent.renderedDecorations) {
102
+ this.recursiveRefresh(this, false, ChangeReason.TargetDecoration, decoration, false);
103
+ }
104
+ }
105
+ add(decoration) {
106
+ const applicationMode = decoration.appliedTargets.get(this.target);
107
+ const applicableToSelf = applicationMode && (applicationMode === Decoration_1.TargetMatchMode.Self || applicationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
108
+ const applicableToChildren = applicationMode && (applicationMode === Decoration_1.TargetMatchMode.Children || applicationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
109
+ if (this.type === CompositeDecorationType.Applicable && !applicableToSelf) {
110
+ return;
111
+ }
112
+ if (this.type === CompositeDecorationType.Inheritable && !applicableToChildren) {
113
+ return;
114
+ }
115
+ if (!this.selfOwned) {
116
+ this.selfOwn(ChangeReason.TargetDecoration, decoration);
117
+ this.targetedDecorations.add(decoration);
118
+ return;
119
+ }
120
+ if (this.targetedDecorations.has(decoration)) {
121
+ return;
122
+ }
123
+ this.targetedDecorations.add(decoration);
124
+ this.recursiveRefresh(this, false, ChangeReason.TargetDecoration, decoration);
125
+ }
126
+ remove(decoration) {
127
+ if (!this.selfOwned) {
128
+ return;
129
+ }
130
+ if (this.targetedDecorations.delete(decoration)) {
131
+ if (this.negatedDecorations.size === 0 && this.targetedDecorations.size === 0 && this.parent) {
132
+ return this.parentOwn(undefined, ChangeReason.UnTargetDecoration, decoration);
133
+ }
134
+ this.recursiveRefresh(this, false, ChangeReason.UnTargetDecoration, decoration);
135
+ }
136
+ }
137
+ negate(decoration) {
138
+ const negationMode = decoration.negatedTargets.get(this.target);
139
+ const negatedOnSelf = negationMode && (negationMode === Decoration_1.TargetMatchMode.Self || negationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
140
+ const negatedOnChildren = negationMode && (negationMode === Decoration_1.TargetMatchMode.Children || negationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
141
+ if (this.type === CompositeDecorationType.Applicable && !negatedOnSelf) {
142
+ return;
143
+ }
144
+ if (this.type === CompositeDecorationType.Inheritable && !negatedOnChildren) {
145
+ return;
146
+ }
147
+ if (!this.selfOwned) {
148
+ this.selfOwn(ChangeReason.UnTargetDecoration, decoration);
149
+ this.negatedDecorations.add(decoration);
150
+ return;
151
+ }
152
+ if (this.negatedDecorations.has(decoration)) {
153
+ return;
154
+ }
155
+ this.negatedDecorations.add(decoration);
156
+ if (this.renderedDecorations.has(decoration)) {
157
+ this.removeDecorationClasslist(decoration);
158
+ }
159
+ }
160
+ unNegate(decoration) {
161
+ if (!this.selfOwned) {
162
+ return;
163
+ }
164
+ if (this.negatedDecorations.delete(decoration)) {
165
+ if (this.negatedDecorations.size === 0 && this.targetedDecorations.size === 0 && this.parent) {
166
+ return this.parentOwn();
167
+ }
168
+ // 当前非父节点并且其父节点和其本身均不含有该装饰器
169
+ if (!this.renderedDecorations.has(decoration) &&
170
+ (this.parent.renderedDecorations.has(decoration) || decoration.appliedTargets.has(this.target))) {
171
+ this.recursiveRefresh(this, false, ChangeReason.TargetDecoration, decoration);
172
+ }
173
+ }
174
+ }
175
+ selfOwn(reason, decoration) {
176
+ if (this.selfOwned) {
177
+ throw new Error(`CompositeDecoration is already self owned`);
178
+ }
179
+ const parent = this.parent;
180
+ this.selfOwned = true;
181
+ this.compositeCssClasslist.classlist = [];
182
+ this.renderedDecorations = new Map();
183
+ this.targetedDecorations = new Set();
184
+ this.negatedDecorations = new Set();
185
+ // 首先处理所有继承的装饰器
186
+ for (const [inheritedDecoration] of parent.renderedDecorations) {
187
+ if (inheritedDecoration !== decoration) {
188
+ this.processCompositeAlteration(ChangeReason.TargetDecoration, inheritedDecoration);
189
+ }
190
+ }
191
+ // 当触发的为:not类型装饰器变化
192
+ if (reason === ChangeReason.UnTargetDecoration &&
193
+ // 父节点装饰器拥有此装饰器
194
+ this.parent.renderedDecorations.has(decoration) &&
195
+ // 本身不包含此装饰器
196
+ !this.renderedDecorations.has(decoration)) {
197
+ // 通知ClassList变化
198
+ this.notifyClasslistChange(false);
199
+ }
200
+ this.recursiveRefresh(this, true, reason, decoration);
201
+ }
202
+ parentOwn(newParent, reason, decoration) {
203
+ this.selfOwned = false;
204
+ this.targetedDecorations && this.targetedDecorations.clear();
205
+ this.negatedDecorations && this.negatedDecorations.clear();
206
+ if (newParent && this.parent !== newParent) {
207
+ if (this.parent) {
208
+ this.parent.linkedComposites.delete(this);
209
+ }
210
+ newParent.linkedComposites.add(this);
211
+ this.parent = newParent;
212
+ }
213
+ this.recursiveRefresh(this, true, reason, decoration);
214
+ }
215
+ processCompositeAlteration(reason, decoration) {
216
+ if (!this.selfOwned) {
217
+ throw new Error(`CompositeDecoration is not self owned`);
218
+ }
219
+ if (reason === ChangeReason.UnTargetDecoration) {
220
+ const disposable = this.renderedDecorations.get(decoration);
221
+ if (disposable) {
222
+ const applicationMode = decoration.appliedTargets.get(this.target);
223
+ const applicableToSelf = applicationMode && (applicationMode === Decoration_1.TargetMatchMode.Self || applicationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
224
+ const applicableToChildren = applicationMode && (applicationMode === Decoration_1.TargetMatchMode.Children || applicationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
225
+ if (applicableToSelf && this.type === CompositeDecorationType.Applicable) {
226
+ return false;
227
+ }
228
+ if (applicableToChildren && this.type === CompositeDecorationType.Inheritable) {
229
+ return false;
230
+ }
231
+ this.removeDecorationClasslist(decoration, false);
232
+ if (disposable) {
233
+ disposable.dispose();
234
+ }
235
+ return this.renderedDecorations.delete(decoration);
236
+ }
237
+ return false;
238
+ }
239
+ if (reason === ChangeReason.TargetDecoration) {
240
+ const negationMode = decoration.negatedTargets.get(this.target);
241
+ const negatedOnSelf = negationMode && (negationMode === Decoration_1.TargetMatchMode.Self || negationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
242
+ const negatedOnChildren = negationMode && (negationMode === Decoration_1.TargetMatchMode.Children || negationMode === Decoration_1.TargetMatchMode.SelfAndChildren);
243
+ if (negatedOnSelf && this.type === CompositeDecorationType.Applicable) {
244
+ return false;
245
+ }
246
+ if (negatedOnChildren && this.type === CompositeDecorationType.Inheritable) {
247
+ return false;
248
+ }
249
+ if (!this.renderedDecorations.has(decoration)) {
250
+ const disposables = new utils_1.DisposableCollection();
251
+ disposables.push(decoration.onDidAddCSSClassname(this.handleDecorationDidAddClassname));
252
+ disposables.push(decoration.onDidRemoveCSSClassname(this.handleDecorationDidRemoveClassname));
253
+ disposables.push(decoration.onDidDisableDecoration(this.handleDecorationDisable));
254
+ disposables.push(decoration.onDidEnableDecoration(this.mergeDecorationClasslist));
255
+ this.renderedDecorations.set(decoration, disposables);
256
+ if (!decoration.disabled) {
257
+ this.compositeCssClasslist.classlist.push(...decoration.cssClassList);
258
+ return true;
259
+ }
260
+ return false;
261
+ }
262
+ }
263
+ return false;
264
+ }
265
+ recursiveRefresh(origin, updateReferences, reason, decoration, notifyListeners = true) {
266
+ // 更改当前manager引用的renderedDecorations及compositeCssClasslist.classlist
267
+ if (!this.selfOwned && updateReferences) {
268
+ this.renderedDecorations = this.parent.renderedDecorations;
269
+ this.compositeCssClasslist.classlist = this.parent.compositeCssClasslist.classlist;
270
+ }
271
+ if (this.selfOwned && updateReferences && origin !== this) {
272
+ // 清理所有装饰器逻辑
273
+ for (const [renderedDecoration] of this.renderedDecorations) {
274
+ this.processCompositeAlteration(ChangeReason.UnTargetDecoration, renderedDecoration);
275
+ }
276
+ // 添加继承的装饰器逻辑
277
+ for (const [inheritedDecoration] of this.parent.renderedDecorations) {
278
+ this.processCompositeAlteration(ChangeReason.TargetDecoration, inheritedDecoration);
279
+ }
280
+ if (notifyListeners) {
281
+ this.notifyClasslistChange(false);
282
+ }
283
+ }
284
+ else if (this.selfOwned && reason === ChangeReason.UnTargetDecoration && decoration && this.renderedDecorations.has(decoration)) {
285
+ this.processCompositeAlteration(reason, decoration);
286
+ if (notifyListeners) {
287
+ this.notifyClasslistChange(false);
288
+ }
289
+ }
290
+ else if (this.selfOwned && reason === ChangeReason.TargetDecoration && decoration && this.processCompositeAlteration(reason, decoration) && notifyListeners) {
291
+ this.notifyClasslistChange(false);
292
+ }
293
+ else if (!this.selfOwned && notifyListeners) {
294
+ this.notifyClasslistChange(false);
295
+ }
296
+ for (const linkedComposite of this.linkedComposites) {
297
+ linkedComposite.recursiveRefresh(origin, updateReferences, reason, decoration, notifyListeners);
298
+ }
299
+ }
300
+ removeDecorationClasslist(decoration, notifyAll = true) {
301
+ if (!this.selfOwned) {
302
+ return;
303
+ }
304
+ for (const classname of decoration.cssClassList) {
305
+ const idx = this.compositeCssClasslist.classlist.indexOf(classname);
306
+ if (idx > -1) {
307
+ this.compositeCssClasslist.classlist.splice(idx, 1);
308
+ }
309
+ }
310
+ if (notifyAll) {
311
+ this.notifyClasslistChange();
312
+ }
313
+ }
314
+ notifyClasslistChange(recursive = true) {
315
+ for (const cb of [...this.classlistChangeCallbacks]) {
316
+ cb();
317
+ }
318
+ if (recursive) {
319
+ for (const linkedComposite of this.linkedComposites) {
320
+ if (!linkedComposite.selfOwned) {
321
+ linkedComposite.notifyClasslistChange();
322
+ }
323
+ }
324
+ }
325
+ }
326
+ }
327
+ exports.CompositeDecoration = CompositeDecoration;
328
+ //# sourceMappingURL=CompositeDecoration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositeDecoration.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/CompositeDecoration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { IDisposable } from '../../../utils';
2
+ import { ITreeNode, ICompositeTreeNode } from '../../types';
3
+ export declare enum TargetMatchMode {
4
+ None = 1,
5
+ Self = 2,
6
+ Children = 3,
7
+ SelfAndChildren = 4
8
+ }
9
+ export interface IDecorationEventData {
10
+ decoration: Decoration;
11
+ classname?: string;
12
+ }
13
+ export interface IDecorationTargetChangeEventData {
14
+ decoration: Decoration;
15
+ target: ITreeNode | ICompositeTreeNode;
16
+ }
17
+ export declare class Decoration {
18
+ private _cssClassList;
19
+ private _appliedTargets;
20
+ private _negatedTargets;
21
+ private _disabled;
22
+ private appliedTargetsDisposables;
23
+ private negatedTargetsDisposables;
24
+ private onDidAddCSSClassnameEmitter;
25
+ private onDidRemoveCSSClassnameEmitter;
26
+ private onDidDisableDecorationEmitter;
27
+ private onDidEnableDecorationEmitter;
28
+ private onDidAddTargetEmitter;
29
+ private onDidRemoveTargetEmitter;
30
+ private onDidNegateTargetEmitter;
31
+ private onDidUnNegateTargetEmitter;
32
+ constructor(...cssClassList: string[]);
33
+ get disabled(): boolean;
34
+ set disabled(disabled: boolean);
35
+ get appliedTargets(): Map<ITreeNode | ICompositeTreeNode, TargetMatchMode>;
36
+ get negatedTargets(): Map<ITreeNode | ICompositeTreeNode, TargetMatchMode>;
37
+ get cssClassList(): Set<string>;
38
+ get onDidAddCSSClassname(): import("../../../utils").Event<IDecorationEventData>;
39
+ get onDidRemoveCSSClassname(): import("../../../utils").Event<IDecorationEventData>;
40
+ get onDidDisableDecoration(): import("../../../utils").Event<IDecorationEventData>;
41
+ get onDidEnableDecoration(): import("../../../utils").Event<IDecorationEventData>;
42
+ get onDidAddTarget(): import("../../../utils").Event<IDecorationTargetChangeEventData>;
43
+ get onDidRemoveTarget(): import("../../../utils").Event<IDecorationTargetChangeEventData>;
44
+ get onDidNegateTarget(): import("../../../utils").Event<IDecorationTargetChangeEventData>;
45
+ get onDidUnNegateTarget(): import("../../../utils").Event<IDecorationTargetChangeEventData>;
46
+ addCSSClass(className: string): void;
47
+ removeCSSClass(className: string): void;
48
+ /**
49
+ * 判断当前装饰器是否包含指定的对象绑定
50
+ * @param target
51
+ */
52
+ hasTarget(target: ITreeNode | ICompositeTreeNode): boolean;
53
+ /**
54
+ * 为当前装饰器绑定对象
55
+ * @param target
56
+ * @param flags
57
+ */
58
+ addTarget(target: ITreeNode | ICompositeTreeNode, flags?: TargetMatchMode): IDisposable | undefined;
59
+ /**
60
+ * 为当前装饰器移除对象绑定
61
+ * @param target
62
+ * @param flags
63
+ */
64
+ removeTarget(target: ITreeNode | ICompositeTreeNode): void;
65
+ /**
66
+ * 否定装饰器绑定
67
+ * negate 表示 :not修饰符
68
+ * 定义节点不应用样式
69
+ * @param target
70
+ * @param flags
71
+ */
72
+ negateTarget(target: ITreeNode | ICompositeTreeNode, flags?: TargetMatchMode): IDisposable | undefined;
73
+ /**
74
+ * 取消否定装饰器绑定
75
+ * @param target
76
+ */
77
+ unNegateTarget(target: ITreeNode | ICompositeTreeNode): void;
78
+ }
79
+ //# sourceMappingURL=Decoration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Decoration.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/Decoration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE5D,oBAAY,eAAe;IACzB,IAAI,IAAI;IAER,IAAI,IAAA;IAEJ,QAAQ,IAAA;IAER,eAAe,IAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAAC;CACxC;AAED,qBAAa,UAAU;IAErB,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAmE;IAC1F,OAAO,CAAC,eAAe,CAAmE;IAE1F,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,yBAAyB,CAAuE;IACxG,OAAO,CAAC,yBAAyB,CAAuE;IAExG,OAAO,CAAC,2BAA2B,CAAgD;IACnF,OAAO,CAAC,8BAA8B,CAAgD;IACtF,OAAO,CAAC,6BAA6B,CAAgD;IACrF,OAAO,CAAC,4BAA4B,CAAgD;IACpF,OAAO,CAAC,qBAAqB,CAA4D;IACzF,OAAO,CAAC,wBAAwB,CAA4D;IAC5F,OAAO,CAAC,wBAAwB,CAA4D;IAC5F,OAAO,CAAC,0BAA0B,CAA4D;gBAElF,GAAG,YAAY,EAAE,MAAM,EAAE;IAYrC,IAAI,QAAQ,IAIW,OAAO,CAF7B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAO7B;IAED,IAAI,cAAc,yDAEjB;IAED,IAAI,cAAc,yDAEjB;IAED,IAAI,YAAY,gBAEf;IAED,IAAI,oBAAoB,yDAEvB;IAED,IAAI,uBAAuB,yDAE1B;IAED,IAAI,sBAAsB,yDAEzB;IAED,IAAI,qBAAqB,yDAExB;IAED,IAAI,cAAc,qEAEjB;IAED,IAAI,iBAAiB,qEAEpB;IAED,IAAI,iBAAiB,qEAEpB;IAED,IAAI,mBAAmB,qEAEtB;IAEM,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMpC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM9C;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB;IAKvD;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,EAAE,KAAK,GAAE,eAAsC,GAAG,WAAW,GAAG,SAAS;IAahI;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI;IAUjE;;;;;;OAMG;IACI,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,EAAE,KAAK,GAAE,eAAsC,GAAG,WAAW,GAAG,SAAS;IAanI;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,GAAG,IAAI;CASpE"}