@opensumi/ide-core-browser 2.21.13-rc-1673328992.0 → 2.21.13

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 (562) hide show
  1. package/lib/application/application-state-service.d.ts +1 -1
  2. package/lib/application/application-state-service.d.ts.map +1 -1
  3. package/lib/application/application-state-service.js.map +1 -1
  4. package/lib/application/application.service.js.map +1 -1
  5. package/lib/authentication/authentication.contribution.js.map +1 -1
  6. package/lib/authentication/authentication.service.js.map +1 -1
  7. package/lib/bootstrap/app.d.ts +35 -2
  8. package/lib/bootstrap/app.d.ts.map +1 -1
  9. package/lib/bootstrap/app.js +8 -8
  10. package/lib/bootstrap/app.js.map +1 -1
  11. package/lib/bootstrap/app.view.d.ts +1 -1
  12. package/lib/bootstrap/app.view.d.ts.map +1 -1
  13. package/lib/bootstrap/connection.d.ts +1 -1
  14. package/lib/bootstrap/connection.d.ts.map +1 -1
  15. package/lib/bootstrap/connection.js +4 -4
  16. package/lib/bootstrap/connection.js.map +1 -1
  17. package/lib/bootstrap/index.d.ts +1 -1
  18. package/lib/bootstrap/index.d.ts.map +1 -1
  19. package/lib/bootstrap/index.js +1 -1
  20. package/lib/bootstrap/index.js.map +1 -1
  21. package/lib/bootstrap/inner-providers.js +1 -1
  22. package/lib/bootstrap/inner-providers.js.map +1 -1
  23. package/lib/bootstrap/lifecycle.service.js.map +1 -1
  24. package/lib/browser-module.js.map +1 -1
  25. package/lib/common/common.command.d.ts +1 -24
  26. package/lib/common/common.command.d.ts.map +1 -1
  27. package/lib/common/common.command.js +6 -42
  28. package/lib/common/common.command.js.map +1 -1
  29. package/lib/common/common.contribution.js.map +1 -1
  30. package/lib/common/common.module.js.map +1 -1
  31. package/lib/common/common.storage.js.map +1 -1
  32. package/lib/components/actions/index.d.ts +2 -2
  33. package/lib/components/actions/index.d.ts.map +1 -1
  34. package/lib/components/actions/index.js +22 -2
  35. package/lib/components/actions/index.js.map +1 -1
  36. package/lib/components/index.d.ts +4 -0
  37. package/lib/components/index.d.ts.map +1 -1
  38. package/lib/components/index.js +4 -0
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/layout/box-panel.d.ts +1 -1
  41. package/lib/components/layout/box-panel.d.ts.map +1 -1
  42. package/lib/components/layout/split-panel.d.ts +1 -17
  43. package/lib/components/layout/split-panel.d.ts.map +1 -1
  44. package/lib/components/layout/split-panel.js +16 -16
  45. package/lib/components/layout/split-panel.js.map +1 -1
  46. package/lib/components/layout/split-panel.service.js.map +1 -1
  47. package/lib/components/progressbar/index.d.ts +2 -2
  48. package/lib/components/progressbar/index.d.ts.map +1 -1
  49. package/lib/components/progressbar/index.js +10 -2
  50. package/lib/components/progressbar/index.js.map +1 -1
  51. package/lib/components/progressbar/styles.module.less +31 -0
  52. package/lib/components/recycle-tree/index.d.ts +2 -0
  53. package/lib/components/recycle-tree/index.d.ts.map +1 -0
  54. package/lib/components/recycle-tree/index.js +5 -0
  55. package/lib/components/recycle-tree/index.js.map +1 -0
  56. package/lib/components/recycle-tree/recycle-tree.view.d.ts +82 -0
  57. package/lib/components/recycle-tree/recycle-tree.view.d.ts.map +1 -0
  58. package/lib/components/recycle-tree/recycle-tree.view.js +188 -0
  59. package/lib/components/recycle-tree/recycle-tree.view.js.map +1 -0
  60. package/lib/components/scroll/index.d.ts +68 -0
  61. package/lib/components/scroll/index.d.ts.map +1 -0
  62. package/lib/components/scroll/index.js +279 -0
  63. package/lib/components/scroll/index.js.map +1 -0
  64. package/lib/components/scroll/scroll.module.less +108 -0
  65. package/lib/components/scrollbar/index.d.ts +2 -0
  66. package/lib/components/scrollbar/index.d.ts.map +1 -0
  67. package/lib/components/scrollbar/index.js +5 -0
  68. package/lib/components/scrollbar/index.js.map +1 -0
  69. package/lib/components/scrollbar/scrollbar.less +36 -0
  70. package/lib/components/scrollbar/scrollbar.view.d.ts +7 -0
  71. package/lib/components/scrollbar/scrollbar.view.d.ts.map +1 -0
  72. package/lib/components/scrollbar/scrollbar.view.js +11 -0
  73. package/lib/components/scrollbar/scrollbar.view.js.map +1 -0
  74. package/lib/components/tree/index.d.ts +4 -0
  75. package/lib/components/tree/index.d.ts.map +1 -0
  76. package/lib/components/tree/index.js +7 -0
  77. package/lib/components/tree/index.js.map +1 -0
  78. package/lib/components/tree/tree-node.view.d.ts +26 -0
  79. package/lib/components/tree/tree-node.view.d.ts.map +1 -0
  80. package/lib/components/tree/tree-node.view.js +350 -0
  81. package/lib/components/tree/tree-node.view.js.map +1 -0
  82. package/lib/components/tree/tree.module.less +296 -0
  83. package/lib/components/tree/tree.view.d.ts +132 -0
  84. package/lib/components/tree/tree.view.d.ts.map +1 -0
  85. package/lib/components/tree/tree.view.js +238 -0
  86. package/lib/components/tree/tree.view.js.map +1 -0
  87. package/lib/contextkey/resource.d.ts +1 -1
  88. package/lib/contextkey/resource.d.ts.map +1 -1
  89. package/lib/contextkey/testing.d.ts +0 -1
  90. package/lib/contextkey/testing.d.ts.map +1 -1
  91. package/lib/contextkey/testing.js +1 -2
  92. package/lib/contextkey/testing.js.map +1 -1
  93. package/lib/core-preferences.d.ts +2 -3
  94. package/lib/core-preferences.d.ts.map +1 -1
  95. package/lib/core-preferences.js +1 -1
  96. package/lib/core-preferences.js.map +1 -1
  97. package/lib/dom/index.d.ts +1 -1
  98. package/lib/dom/index.d.ts.map +1 -1
  99. package/lib/encoding-registry.js.map +1 -1
  100. package/lib/extensions/extensions-point.service.js.map +1 -1
  101. package/lib/hash-calculate/hash-calculate.contribution.js.map +1 -1
  102. package/lib/index.d.ts +1 -1
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +1 -1
  105. package/lib/index.js.map +1 -1
  106. package/lib/keybinding/keybinding.js.map +1 -1
  107. package/lib/keyboard/keyboard-layout-provider.d.ts +2 -2
  108. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  109. package/lib/keyboard/keyboard-layout-provider.js +13 -13
  110. package/lib/keyboard/keyboard-layout-provider.js.map +1 -1
  111. package/lib/keyboard/keyboard-layout-service.js.map +1 -1
  112. package/lib/keyboard/keys.d.ts +2 -2
  113. package/lib/keyboard/keys.d.ts.map +1 -1
  114. package/lib/keyboard/layouts/_.contribution.js +3 -3
  115. package/lib/keyboard/layouts/_.contribution.js.map +1 -1
  116. package/lib/layout/accordion/tab-bar-toolbar.js.map +1 -1
  117. package/lib/layout/accordion/view-context-key.registry.js.map +1 -1
  118. package/lib/layout/layout-hooks.d.ts +1 -1
  119. package/lib/layout/layout-hooks.d.ts.map +1 -1
  120. package/lib/layout/layout-hooks.js +3 -1
  121. package/lib/layout/layout-hooks.js.map +1 -1
  122. package/lib/layout/layout-state.js.map +1 -1
  123. package/lib/layout/layout.interface.d.ts +1 -1
  124. package/lib/layout/layout.interface.d.ts.map +1 -1
  125. package/lib/layout/layout.js.map +1 -1
  126. package/lib/logger/browser-logger.js.map +1 -1
  127. package/lib/markdown/index.d.ts +1 -1
  128. package/lib/markdown/index.d.ts.map +1 -1
  129. package/lib/markdown/index.js +31 -4
  130. package/lib/markdown/index.js.map +1 -1
  131. package/lib/menu/next/base.d.ts +4 -4
  132. package/lib/menu/next/base.d.ts.map +1 -1
  133. package/lib/menu/next/base.js.map +1 -1
  134. package/lib/menu/next/ctxmenu-service.js +10 -10
  135. package/lib/menu/next/ctxmenu-service.js.map +1 -1
  136. package/lib/menu/next/menu-service.js +6 -6
  137. package/lib/menu/next/menu-service.js.map +1 -1
  138. package/lib/menu/next/menu.contrib.interface.d.ts +15 -16
  139. package/lib/menu/next/menu.contrib.interface.d.ts.map +1 -1
  140. package/lib/menu/next/menu.contrib.interface.js.map +1 -1
  141. package/lib/menu/next/menu.interface.d.ts +2 -2
  142. package/lib/menu/next/menu.interface.d.ts.map +1 -1
  143. package/lib/menu/next/menu.interface.js.map +1 -1
  144. package/lib/menu/next/menubar-service.js +10 -10
  145. package/lib/menu/next/menubar-service.js.map +1 -1
  146. package/lib/menu/next/renderer/ctxmenu/browser.js.map +1 -1
  147. package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
  148. package/lib/menu/next/toolbar-action.service.d.ts +1 -1
  149. package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
  150. package/lib/menu/next/toolbar-action.service.js.map +1 -1
  151. package/lib/monaco/index.d.ts +3 -7
  152. package/lib/monaco/index.d.ts.map +1 -1
  153. package/lib/monaco/index.js.map +1 -1
  154. package/lib/opener/command-opener.js.map +1 -1
  155. package/lib/opener/default-opener.js.map +1 -1
  156. package/lib/opener/http-opener.js.map +1 -1
  157. package/lib/opener/opener.contribution.js.map +1 -1
  158. package/lib/opener/opener.service.js.map +1 -1
  159. package/lib/preferences/early-preferences.js +4 -4
  160. package/lib/preferences/early-preferences.js.map +1 -1
  161. package/lib/preferences/preference-configurations.js +1 -1
  162. package/lib/preferences/preference-configurations.js.map +1 -1
  163. package/lib/preferences/preference-contribution.d.ts +2 -1
  164. package/lib/preferences/preference-contribution.d.ts.map +1 -1
  165. package/lib/preferences/preference-contribution.js +20 -23
  166. package/lib/preferences/preference-contribution.js.map +1 -1
  167. package/lib/preferences/preference-provider.js.map +1 -1
  168. package/lib/preferences/preference-proxy.d.ts +3 -2
  169. package/lib/preferences/preference-proxy.d.ts.map +1 -1
  170. package/lib/preferences/preference-proxy.js.map +1 -1
  171. package/lib/preferences/preference-service.d.ts +0 -1
  172. package/lib/preferences/preference-service.d.ts.map +1 -1
  173. package/lib/preferences/preference-service.js +3 -50
  174. package/lib/preferences/preference-service.js.map +1 -1
  175. package/lib/preferences/settings.d.ts +5 -44
  176. package/lib/preferences/settings.d.ts.map +1 -1
  177. package/lib/preferences/settings.js.map +1 -1
  178. package/lib/preferences/types.d.ts +1 -8
  179. package/lib/preferences/types.d.ts.map +1 -1
  180. package/lib/preferences/types.js.map +1 -1
  181. package/lib/progress/progress-bar.d.ts +1 -4
  182. package/lib/progress/progress-bar.d.ts.map +1 -1
  183. package/lib/progress/progress-bar.js +4 -11
  184. package/lib/progress/progress-bar.js.map +1 -1
  185. package/lib/progress/progress-indicator.js.map +1 -1
  186. package/lib/progress/progress.service.js +6 -6
  187. package/lib/progress/progress.service.js.map +1 -1
  188. package/lib/quick-open/index.d.ts +1 -1
  189. package/lib/quick-open/index.d.ts.map +1 -1
  190. package/lib/quick-open/index.js.map +1 -1
  191. package/lib/quick-open/recent-files.js.map +1 -1
  192. package/lib/raw-context-key.d.ts +1 -1
  193. package/lib/raw-context-key.d.ts.map +1 -1
  194. package/lib/raw-context-key.js +4 -4
  195. package/lib/raw-context-key.js.map +1 -1
  196. package/lib/react-providers/config-provider.d.ts +0 -5
  197. package/lib/react-providers/config-provider.d.ts.map +1 -1
  198. package/lib/react-providers/config-provider.js.map +1 -1
  199. package/lib/react-providers/slot.d.ts +2 -2
  200. package/lib/react-providers/slot.d.ts.map +1 -1
  201. package/lib/services/clipboard.service.d.ts +0 -1
  202. package/lib/services/clipboard.service.d.ts.map +1 -1
  203. package/lib/services/clipboard.service.js +30 -17
  204. package/lib/services/clipboard.service.js.map +1 -1
  205. package/lib/services/credentials-service.js.map +1 -1
  206. package/lib/services/crypto-service.js.map +1 -1
  207. package/lib/services/external-uri.service.js.map +1 -1
  208. package/lib/services/label-service.js.map +1 -1
  209. package/lib/services/storage-service.d.ts +0 -1
  210. package/lib/services/storage-service.d.ts.map +1 -1
  211. package/lib/services/storage-service.js +2 -13
  212. package/lib/services/storage-service.js.map +1 -1
  213. package/lib/style/icon/icon.d.ts +2 -3
  214. package/lib/style/icon/icon.d.ts.map +1 -1
  215. package/lib/style/icon/icon.js +1 -5
  216. package/lib/style/icon/icon.js.map +1 -1
  217. package/lib/style/icon/ide-iconfont.d.ts +1 -1
  218. package/lib/style/icon/ide-iconfont.d.ts.map +1 -1
  219. package/lib/style/icon/ide-iconfont.js +1 -1
  220. package/lib/style/icon/ide-iconfont.js.map +1 -1
  221. package/lib/style/icon/index.less +0 -13
  222. package/lib/toolbar/components/button.js +12 -12
  223. package/lib/toolbar/components/button.js.map +1 -1
  224. package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
  225. package/lib/toolbar/toolbar.registry.d.ts +1 -1
  226. package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
  227. package/lib/toolbar/toolbar.registry.js.map +1 -1
  228. package/lib/toolbar/types.d.ts +1 -1
  229. package/lib/toolbar/types.d.ts.map +1 -1
  230. package/lib/tree/index.d.ts +4 -0
  231. package/lib/tree/index.d.ts.map +1 -0
  232. package/lib/tree/index.js +7 -0
  233. package/lib/tree/index.js.map +1 -0
  234. package/lib/tree/tree-expansion.d.ts +16 -0
  235. package/lib/tree/tree-expansion.d.ts.map +1 -0
  236. package/lib/tree/tree-expansion.js +20 -0
  237. package/lib/tree/tree-expansion.js.map +1 -0
  238. package/lib/tree/tree-selection.d.ts +48 -0
  239. package/lib/tree/tree-selection.d.ts.map +1 -0
  240. package/lib/tree/tree-selection.js +64 -0
  241. package/lib/tree/tree-selection.js.map +1 -0
  242. package/lib/tree/tree.d.ts +195 -0
  243. package/lib/tree/tree.d.ts.map +1 -0
  244. package/lib/tree/tree.js +108 -0
  245. package/lib/tree/tree.js.map +1 -0
  246. package/lib/utils/json.d.ts +5 -5
  247. package/lib/utils/json.d.ts.map +1 -1
  248. package/lib/utils/label.d.ts.map +1 -1
  249. package/lib/utils/label.js +9 -16
  250. package/lib/utils/label.js.map +1 -1
  251. package/lib/utils/parse.d.ts +1 -2
  252. package/lib/utils/parse.d.ts.map +1 -1
  253. package/lib/utils/parse.js +1 -10
  254. package/lib/utils/parse.js.map +1 -1
  255. package/lib/variable/variable.d.ts +1 -1
  256. package/lib/variable/variable.d.ts.map +1 -1
  257. package/lib/variable/variable.js.map +1 -1
  258. package/lib/window/window.service.js.map +1 -1
  259. package/package.json +11 -9
  260. package/lib/bootstrap/app.interface.d.ts +0 -39
  261. package/lib/bootstrap/app.interface.d.ts.map +0 -1
  262. package/lib/bootstrap/app.interface.js +0 -3
  263. package/lib/bootstrap/app.interface.js.map +0 -1
  264. package/lib/contextkey/search.d.ts +0 -24
  265. package/lib/contextkey/search.d.ts.map +0 -1
  266. package/lib/contextkey/search.js +0 -29
  267. package/lib/contextkey/search.js.map +0 -1
  268. package/lib/file-decoration.d.ts +0 -10
  269. package/lib/file-decoration.d.ts.map +0 -1
  270. package/lib/file-decoration.js +0 -3
  271. package/lib/file-decoration.js.map +0 -1
  272. package/lib/monaco/merge-editor-widget.d.ts +0 -53
  273. package/lib/monaco/merge-editor-widget.d.ts.map +0 -1
  274. package/lib/monaco/merge-editor-widget.js +0 -107
  275. package/lib/monaco/merge-editor-widget.js.map +0 -1
  276. package/lib/react-hooks/useThrottleFn/index.d.ts +0 -13
  277. package/lib/react-hooks/useThrottleFn/index.d.ts.map +0 -1
  278. package/lib/react-hooks/useThrottleFn/index.js +0 -20
  279. package/lib/react-hooks/useThrottleFn/index.js.map +0 -1
  280. package/src/application/application-state-service.ts +0 -54
  281. package/src/application/application.service.ts +0 -51
  282. package/src/application/index.ts +0 -2
  283. package/src/authentication/authentication.contribution.ts +0 -35
  284. package/src/authentication/authentication.service.ts +0 -517
  285. package/src/bootstrap/app.interface.ts +0 -46
  286. package/src/bootstrap/app.ts +0 -710
  287. package/src/bootstrap/app.view.tsx +0 -88
  288. package/src/bootstrap/connection.ts +0 -116
  289. package/src/bootstrap/index.ts +0 -3
  290. package/src/bootstrap/inner-providers.ts +0 -297
  291. package/src/bootstrap/lifecycle.service.ts +0 -19
  292. package/src/browser-module.ts +0 -24
  293. package/src/common/common.command.ts +0 -1018
  294. package/src/common/common.contribution.ts +0 -343
  295. package/src/common/common.define.ts +0 -55
  296. package/src/common/common.module.ts +0 -33
  297. package/src/common/common.storage.ts +0 -22
  298. package/src/common/container-id.ts +0 -12
  299. package/src/common/index.ts +0 -4
  300. package/src/components/actions/index.tsx +0 -486
  301. package/src/components/actions/placements.ts +0 -47
  302. package/src/components/actions/styles.module.less +0 -144
  303. package/src/components/badge/index.tsx +0 -1
  304. package/src/components/index.ts +0 -22
  305. package/src/components/layout/box-panel.tsx +0 -88
  306. package/src/components/layout/default-layout.tsx +0 -61
  307. package/src/components/layout/index.ts +0 -4
  308. package/src/components/layout/layout.ts +0 -80
  309. package/src/components/layout/split-panel.service.ts +0 -56
  310. package/src/components/layout/split-panel.tsx +0 -315
  311. package/src/components/layout/styles.module.less +0 -21
  312. package/src/components/loading/index.ts +0 -1
  313. package/src/components/loading/loading.less +0 -14
  314. package/src/components/loading/loading.view.tsx +0 -7
  315. package/src/components/loading/media/loading-dark.svg +0 -52
  316. package/src/components/loading/media/loading-hc.svg +0 -52
  317. package/src/components/loading/media/loading.svg +0 -52
  318. package/src/components/popover/styles.module.less +0 -81
  319. package/src/components/portal/index.tsx +0 -13
  320. package/src/components/progressbar/index.tsx +0 -3
  321. package/src/components/resize/resize.module.less +0 -78
  322. package/src/components/resize/resize.tsx +0 -663
  323. package/src/components/select/index.tsx +0 -12
  324. package/src/components/select/styles.less +0 -6
  325. package/src/context-key.ts +0 -48
  326. package/src/contextkey/dialog.ts +0 -3
  327. package/src/contextkey/explorer.ts +0 -26
  328. package/src/contextkey/index.ts +0 -6
  329. package/src/contextkey/outline.ts +0 -4
  330. package/src/contextkey/resource.ts +0 -61
  331. package/src/contextkey/search.ts +0 -30
  332. package/src/contextkey/terminal.ts +0 -7
  333. package/src/contextkey/testing.ts +0 -9
  334. package/src/contextkey/workspace.ts +0 -7
  335. package/src/core-preferences.ts +0 -318
  336. package/src/dom/index.ts +0 -176
  337. package/src/encoding-registry.ts +0 -83
  338. package/src/extensions/extensions-point.service.ts +0 -78
  339. package/src/extensions/index.ts +0 -3
  340. package/src/extensions/schema/browserViews.ts +0 -96
  341. package/src/extensions/schema/menu.ts +0 -245
  342. package/src/extensions/schema/opensumiExtensionPackageSchema.ts +0 -12
  343. package/src/extensions/schema/toolbar.ts +0 -338
  344. package/src/extensions/schema/vscodeExtensionPackageSchema.ts +0 -330
  345. package/src/file-decoration.ts +0 -10
  346. package/src/fs/index.ts +0 -12
  347. package/src/hash-calculate/hash-calculate.contribution.ts +0 -19
  348. package/src/index.ts +0 -42
  349. package/src/keybinding/index.ts +0 -1
  350. package/src/keybinding/keybinding.ts +0 -908
  351. package/src/keyboard/index.ts +0 -3
  352. package/src/keyboard/keyboard-layout-provider.ts +0 -412
  353. package/src/keyboard/keyboard-layout-service.ts +0 -449
  354. package/src/keyboard/keys.ts +0 -748
  355. package/src/keyboard/layouts/_.contribution.ts +0 -24
  356. package/src/keyboard/layouts/cz.win.ts +0 -168
  357. package/src/keyboard/layouts/de-swiss.win.ts +0 -168
  358. package/src/keyboard/layouts/de.darwin.ts +0 -131
  359. package/src/keyboard/layouts/de.linux.ts +0 -186
  360. package/src/keyboard/layouts/de.win.ts +0 -168
  361. package/src/keyboard/layouts/dk.win.ts +0 -168
  362. package/src/keyboard/layouts/dvorak.darwin.ts +0 -131
  363. package/src/keyboard/layouts/en-belgian.win.ts +0 -168
  364. package/src/keyboard/layouts/en-ext.darwin.ts +0 -131
  365. package/src/keyboard/layouts/en-in.win.ts +0 -168
  366. package/src/keyboard/layouts/en-intl.darwin.ts +0 -131
  367. package/src/keyboard/layouts/en-intl.win.ts +0 -168
  368. package/src/keyboard/layouts/en-uk.darwin.ts +0 -131
  369. package/src/keyboard/layouts/en-uk.win.ts +0 -168
  370. package/src/keyboard/layouts/en.darwin.ts +0 -139
  371. package/src/keyboard/layouts/en.linux.ts +0 -186
  372. package/src/keyboard/layouts/en.win.ts +0 -173
  373. package/src/keyboard/layouts/es-latin.win.ts +0 -168
  374. package/src/keyboard/layouts/es.darwin.ts +0 -131
  375. package/src/keyboard/layouts/es.linux.ts +0 -186
  376. package/src/keyboard/layouts/es.win.ts +0 -168
  377. package/src/keyboard/layouts/fr.darwin.ts +0 -131
  378. package/src/keyboard/layouts/fr.linux.ts +0 -186
  379. package/src/keyboard/layouts/fr.win.ts +0 -168
  380. package/src/keyboard/layouts/hu.win.ts +0 -168
  381. package/src/keyboard/layouts/it.darwin.ts +0 -131
  382. package/src/keyboard/layouts/it.win.ts +0 -168
  383. package/src/keyboard/layouts/jp-roman.darwin.ts +0 -131
  384. package/src/keyboard/layouts/jp.darwin.ts +0 -131
  385. package/src/keyboard/layouts/ko.darwin.ts +0 -131
  386. package/src/keyboard/layouts/layout.contribution.darwin.ts +0 -23
  387. package/src/keyboard/layouts/layout.contribution.linux.ts +0 -12
  388. package/src/keyboard/layouts/layout.contribution.ts +0 -9
  389. package/src/keyboard/layouts/layout.contribution.win.ts +0 -29
  390. package/src/keyboard/layouts/no.win.ts +0 -168
  391. package/src/keyboard/layouts/pl.darwin.ts +0 -131
  392. package/src/keyboard/layouts/pl.win.ts +0 -168
  393. package/src/keyboard/layouts/pt-br.win.ts +0 -169
  394. package/src/keyboard/layouts/pt.darwin.ts +0 -131
  395. package/src/keyboard/layouts/pt.win.ts +0 -168
  396. package/src/keyboard/layouts/ru.darwin.ts +0 -131
  397. package/src/keyboard/layouts/ru.linux.ts +0 -186
  398. package/src/keyboard/layouts/ru.win.ts +0 -168
  399. package/src/keyboard/layouts/sv.darwin.ts +0 -131
  400. package/src/keyboard/layouts/sv.win.ts +0 -168
  401. package/src/keyboard/layouts/thai.win.ts +0 -168
  402. package/src/keyboard/layouts/tr.win.ts +0 -168
  403. package/src/keyboard/layouts/zh-hans.darwin.ts +0 -131
  404. package/src/layout/accordion/tab-bar-toolbar.tsx +0 -59
  405. package/src/layout/accordion/view-context-key.registry.ts +0 -34
  406. package/src/layout/constants.ts +0 -7
  407. package/src/layout/index.ts +0 -5
  408. package/src/layout/layout-hooks.ts +0 -68
  409. package/src/layout/layout-state.ts +0 -107
  410. package/src/layout/layout.interface.ts +0 -101
  411. package/src/layout/layout.ts +0 -80
  412. package/src/layout/view-id.ts +0 -18
  413. package/src/logger/browser-logger.ts +0 -51
  414. package/src/logger/index.ts +0 -1
  415. package/src/markdown/index.tsx +0 -30
  416. package/src/menu/next/base.ts +0 -513
  417. package/src/menu/next/ctxmenu-service.ts +0 -188
  418. package/src/menu/next/index.ts +0 -10
  419. package/src/menu/next/menu-id.ts +0 -86
  420. package/src/menu/next/menu-service.ts +0 -252
  421. package/src/menu/next/menu-util.ts +0 -77
  422. package/src/menu/next/menu.contrib.interface.ts +0 -79
  423. package/src/menu/next/menu.interface.ts +0 -253
  424. package/src/menu/next/menubar-service.ts +0 -211
  425. package/src/menu/next/renderer/ctxmenu/base.ts +0 -18
  426. package/src/menu/next/renderer/ctxmenu/browser.ts +0 -45
  427. package/src/menu/next/renderer/ctxmenu/electron.ts +0 -207
  428. package/src/menu/next/toolbar-action.service.ts +0 -132
  429. package/src/monaco/index.ts +0 -136
  430. package/src/monaco/merge-editor-widget.ts +0 -159
  431. package/src/opener/command-opener.ts +0 -42
  432. package/src/opener/default-opener.ts +0 -31
  433. package/src/opener/http-opener.ts +0 -25
  434. package/src/opener/index.ts +0 -19
  435. package/src/opener/opener.contribution.ts +0 -57
  436. package/src/opener/opener.service.ts +0 -66
  437. package/src/preferences/early-preferences.ts +0 -117
  438. package/src/preferences/index.ts +0 -9
  439. package/src/preferences/preference-configurations.ts +0 -77
  440. package/src/preferences/preference-contribution.ts +0 -395
  441. package/src/preferences/preference-provider.ts +0 -414
  442. package/src/preferences/preference-proxy.ts +0 -291
  443. package/src/preferences/preference-scope.ts +0 -3
  444. package/src/preferences/preference-service.ts +0 -623
  445. package/src/preferences/settings.ts +0 -90
  446. package/src/preferences/types.ts +0 -119
  447. package/src/progress/index.ts +0 -58
  448. package/src/progress/progress-bar.tsx +0 -34
  449. package/src/progress/progress-indicator.ts +0 -90
  450. package/src/progress/progress.module.less +0 -46
  451. package/src/progress/progress.service.tsx +0 -429
  452. package/src/quick-open/index.ts +0 -655
  453. package/src/quick-open/recent-files.ts +0 -68
  454. package/src/raw-context-key.ts +0 -116
  455. package/src/react-hooks/event.tsx +0 -80
  456. package/src/react-hooks/hot-key.tsx +0 -58
  457. package/src/react-hooks/index.ts +0 -3
  458. package/src/react-hooks/injectable-hooks.tsx +0 -35
  459. package/src/react-hooks/portal-hooks.tsx +0 -38
  460. package/src/react-hooks/useThrottleFn/index.ts +0 -34
  461. package/src/react-providers/config-provider.tsx +0 -264
  462. package/src/react-providers/index.tsx +0 -2
  463. package/src/react-providers/slot.module.less +0 -19
  464. package/src/react-providers/slot.tsx +0 -242
  465. package/src/services/clipboard.service.ts +0 -92
  466. package/src/services/credentials-service.ts +0 -91
  467. package/src/services/crypto-service.ts +0 -23
  468. package/src/services/external-uri.service.ts +0 -68
  469. package/src/services/index.ts +0 -7
  470. package/src/services/label-service.ts +0 -386
  471. package/src/services/status-bar-service.ts +0 -108
  472. package/src/services/storage-service.ts +0 -201
  473. package/src/style/codicons/README.md +0 -22
  474. package/src/style/codicons/codicon-animations.css +0 -15
  475. package/src/style/codicons/generator.js +0 -15
  476. package/src/style/entry.less +0 -25
  477. package/src/style/icon/fileicons/file-default.svg +0 -1
  478. package/src/style/icon/fileicons/folder-default.svg +0 -1
  479. package/src/style/icon/fileicons.less +0 -20
  480. package/src/style/icon/icon.ts +0 -547
  481. package/src/style/icon/ide-iconfont.ts +0 -13
  482. package/src/style/icon/index.less +0 -67
  483. package/src/style/icon/seti.woff +0 -0
  484. package/src/style/icon/symbol-icons/boolean-dark.svg +0 -3
  485. package/src/style/icon/symbol-icons/boolean-light.svg +0 -3
  486. package/src/style/icon/symbol-icons/class-dark.svg +0 -3
  487. package/src/style/icon/symbol-icons/class-light.svg +0 -3
  488. package/src/style/icon/symbol-icons/constant-dark.svg +0 -4
  489. package/src/style/icon/symbol-icons/constant-light.svg +0 -4
  490. package/src/style/icon/symbol-icons/enumerator-dark.svg +0 -3
  491. package/src/style/icon/symbol-icons/enumerator-item-dark.svg +0 -3
  492. package/src/style/icon/symbol-icons/enumerator-item-light.svg +0 -3
  493. package/src/style/icon/symbol-icons/enumerator-light.svg +0 -3
  494. package/src/style/icon/symbol-icons/event-dark.svg +0 -3
  495. package/src/style/icon/symbol-icons/event-light.svg +0 -3
  496. package/src/style/icon/symbol-icons/field-dark.svg +0 -3
  497. package/src/style/icon/symbol-icons/field-light.svg +0 -3
  498. package/src/style/icon/symbol-icons/file-dark.svg +0 -3
  499. package/src/style/icon/symbol-icons/file-light.svg +0 -3
  500. package/src/style/icon/symbol-icons/indexer-dark.svg +0 -3
  501. package/src/style/icon/symbol-icons/indexer-light.svg +0 -3
  502. package/src/style/icon/symbol-icons/interface-dark.svg +0 -3
  503. package/src/style/icon/symbol-icons/interface-light.svg +0 -3
  504. package/src/style/icon/symbol-icons/keyword-dark.svg +0 -3
  505. package/src/style/icon/symbol-icons/keyword-light.svg +0 -3
  506. package/src/style/icon/symbol-icons/method-dark.svg +0 -3
  507. package/src/style/icon/symbol-icons/method-light.svg +0 -3
  508. package/src/style/icon/symbol-icons/namespace-dark.svg +0 -3
  509. package/src/style/icon/symbol-icons/namespace-light.svg +0 -3
  510. package/src/style/icon/symbol-icons/numeric-dark.svg +0 -3
  511. package/src/style/icon/symbol-icons/numeric-light.svg +0 -3
  512. package/src/style/icon/symbol-icons/operator-dark.svg +0 -3
  513. package/src/style/icon/symbol-icons/operator-light.svg +0 -3
  514. package/src/style/icon/symbol-icons/property-dark.svg +0 -3
  515. package/src/style/icon/symbol-icons/property-light.svg +0 -3
  516. package/src/style/icon/symbol-icons/snippet-dark.svg +0 -3
  517. package/src/style/icon/symbol-icons/snippet-light.svg +0 -3
  518. package/src/style/icon/symbol-icons/string-dark.svg +0 -3
  519. package/src/style/icon/symbol-icons/string-light.svg +0 -3
  520. package/src/style/icon/symbol-icons/structure-dark.svg +0 -3
  521. package/src/style/icon/symbol-icons/structure-light.svg +0 -3
  522. package/src/style/icon/symbol-icons/symbol-icons.css +0 -284
  523. package/src/style/icon/symbol-icons/template-dark.svg +0 -3
  524. package/src/style/icon/symbol-icons/template-light.svg +0 -3
  525. package/src/style/icon/symbol-icons/variable-dark.svg +0 -3
  526. package/src/style/icon/symbol-icons/variable-light.svg +0 -3
  527. package/src/style/icon.less +0 -8
  528. package/src/style/index.less +0 -14
  529. package/src/style/monaco-override.less +0 -116
  530. package/src/style/normalize.less +0 -92
  531. package/src/style/octicons/octicons-cdn.css +0 -720
  532. package/src/style/octicons/octicons.css +0 -714
  533. package/src/style/octicons/octicons.html +0 -1882
  534. package/src/style/octicons/octicons.svg +0 -582
  535. package/src/style/octicons/octicons.ttf +0 -0
  536. package/src/style/override.less +0 -97
  537. package/src/style/toolbar.less +0 -199
  538. package/src/style/utilities.less +0 -8
  539. package/src/style/variable.less +0 -8
  540. package/src/terminal/index.ts +0 -7
  541. package/src/toolbar/components/auto-complete.tsx +0 -0
  542. package/src/toolbar/components/button.tsx +0 -440
  543. package/src/toolbar/components/index.ts +0 -2
  544. package/src/toolbar/components/select.tsx +0 -189
  545. package/src/toolbar/index.ts +0 -3
  546. package/src/toolbar/toolbar.popover.registry.ts +0 -32
  547. package/src/toolbar/toolbar.registry.ts +0 -352
  548. package/src/toolbar/toolbar.tsx +0 -710
  549. package/src/toolbar/types.ts +0 -383
  550. package/src/utils/create-overlay.tsx +0 -53
  551. package/src/utils/electron.ts +0 -92
  552. package/src/utils/env.ts +0 -26
  553. package/src/utils/icon.ts +0 -13
  554. package/src/utils/index.ts +0 -7
  555. package/src/utils/json.ts +0 -251
  556. package/src/utils/label.tsx +0 -36
  557. package/src/utils/parse.ts +0 -82
  558. package/src/utils/react-hooks.ts +0 -118
  559. package/src/variable/index.ts +0 -1
  560. package/src/variable/variable.ts +0 -84
  561. package/src/window/index.ts +0 -34
  562. package/src/window/window.service.ts +0 -100
@@ -1,440 +0,0 @@
1
- import classnames from 'classnames';
2
- import React from 'react';
3
- import ReactDOM from 'react-dom';
4
-
5
- import { Injectable, Autowired } from '@opensumi/di';
6
- import { Button } from '@opensumi/ide-components';
7
- import { BasicEvent, Disposable, Emitter, IDisposable } from '@opensumi/ide-core-common';
8
-
9
- import { DomListener } from '../../dom';
10
- import { PreferenceService } from '../../preferences';
11
- import { useInjectable } from '../../react-hooks';
12
- import { AppConfig, ConfigProvider } from '../../react-providers/config-provider';
13
- import {
14
- IToolbarActionReactElement,
15
- IToolbarActionElementProps,
16
- IToolbarActionBtnProps,
17
- IToolbarActionBtnDelegate,
18
- IToolbarActionBtnState,
19
- IToolbarPopoverStyle,
20
- IToolbarPopoverRegistry,
21
- } from '../types';
22
-
23
- enum BUTTON_TITLE_STYLE {
24
- HORIZONTAL = 'horizontal',
25
- VERTICAL = 'vertical',
26
- }
27
-
28
- export const ToolbarActionBtn = (props: IToolbarActionBtnProps & IToolbarActionElementProps) => {
29
- const context = useInjectable<AppConfig>(AppConfig);
30
- const ref = React.useRef<HTMLDivElement>();
31
- const [viewState, setViewState] = React.useState(props.defaultState || 'default');
32
- const [title, setTitle] = React.useState(undefined);
33
- const preferenceService: PreferenceService = useInjectable(PreferenceService);
34
- const [, updateState] = React.useState<any>();
35
- const forceUpdate = React.useCallback(() => updateState({}), []);
36
-
37
- const { defaultButtonStyle = {} } = props.preferences || {};
38
-
39
- const styles: IToolbarActionBtnState = {
40
- title: props.title,
41
- iconClass: props.iconClass,
42
- showTitle: preferenceService.get('toolbar.buttonDisplay') !== 'icon',
43
- btnStyle: 'button',
44
- ...defaultButtonStyle,
45
- ...props.defaultStyle,
46
- ...((props.styles || {})[viewState] || {}),
47
- };
48
- if (title) {
49
- styles.title = title;
50
- }
51
- if (styles.btnStyle !== 'button') {
52
- styles.showTitle = false;
53
- }
54
-
55
- const delegate = React.useRef<ToolbarBtnDelegate | undefined>();
56
- const inDropDownRef = React.useRef<boolean>(props.inDropDown);
57
- React.useEffect(() => {
58
- inDropDownRef.current = props.inDropDown;
59
- }, [props.inDropDown]);
60
-
61
- React.useEffect(() => {
62
- const disposer = new Disposable();
63
- disposer.addDispose(
64
- preferenceService.onSpecificPreferenceChange('toolbar.buttonDisplay', () => {
65
- forceUpdate();
66
- }),
67
- );
68
- if (ref.current && props.delegate) {
69
- // 如果是在 dropdown 中,popover 元素将显示在 more 按钮上
70
- const getPopoverParent = () =>
71
- (inDropDownRef.current
72
- ? document.querySelector(`#toolbar-location-${props.location} .kt-toolbar-more`)
73
- : ref.current) as HTMLElement;
74
- delegate.current = context.injector.get(ToolbarBtnDelegate, [
75
- ref.current,
76
- props.id,
77
- (state, title) => {
78
- setViewState(state);
79
- setTitle(title);
80
- },
81
- () => viewState,
82
- context,
83
- getPopoverParent,
84
- props.popoverComponent,
85
- props.popoverStyle,
86
- props.popoverId,
87
- ]);
88
- props.delegate(delegate.current);
89
- disposer.addDispose(delegate.current);
90
- disposer.addDispose({
91
- dispose: () => {
92
- props.delegate && props.delegate(undefined);
93
- },
94
- });
95
- }
96
- return () => disposer.dispose();
97
- }, []);
98
- const iconContent = !props.inDropDown ? (
99
- <div
100
- className={styles.iconClass + ' kt-toolbar-action-btn-icon'}
101
- title={styles.title}
102
- style={{
103
- color: styles.iconForeground,
104
- backgroundColor: styles.iconBackground,
105
- // 如果指定了按钮宽度,需要将padding清空,防止按钮比预期大16px
106
- ...(styles.width ? { width: styles.width } : null),
107
- ...(styles.height ? { height: styles.height } : null),
108
- ...(styles.iconSize ? { fontSize: styles.iconSize, WebkitMaskSize: styles.iconSize } : null),
109
- }}
110
- ></div>
111
- ) : null;
112
- const titleContent =
113
- styles.showTitle || props.inDropDown ? (
114
- <div
115
- className='kt-toolbar-action-btn-title'
116
- style={{
117
- color: styles.titleForeground,
118
- backgroundColor: styles.titleBackground,
119
- fontSize: styles.titleSize,
120
- }}
121
- >
122
- {styles.title}
123
- </div>
124
- ) : null;
125
-
126
- const bindings = {
127
- onClick: (event) => {
128
- delegate.current && delegate.current._onClick.fire(event);
129
- if (props.inDropDown) {
130
- props.closeDropDown();
131
- }
132
- },
133
- onMouseLeave: (event) => {
134
- delegate.current && delegate.current._onMouseLeave.fire(event);
135
- },
136
- onMouseEnter: (event) => {
137
- delegate.current && delegate.current._onMouseEnter.fire(event);
138
- },
139
- };
140
-
141
- const backgroundBindings = {
142
- style: {
143
- backgroundColor: styles.background,
144
- ...(styles.width ? { padding: 0 } : null),
145
- },
146
- };
147
- let buttonElement;
148
- if (props.inDropDown) {
149
- buttonElement = (
150
- <div
151
- className={classnames({ 'kt-toolbar-action-btn': true, 'action-btn-in-dropdown': true })}
152
- {...bindings}
153
- {...backgroundBindings}
154
- ref={ref as any}
155
- >
156
- {iconContent}
157
- {titleContent}
158
- </div>
159
- );
160
- } else {
161
- const btnTitleStyle = styles.btnTitleStyle || preferenceService.get('toolbar.buttonTitleStyle');
162
- if (styles.btnStyle === 'button' && btnTitleStyle !== BUTTON_TITLE_STYLE.VERTICAL) {
163
- buttonElement = (
164
- <Button type='default' size='small' {...bindings} {...backgroundBindings}>
165
- {iconContent}
166
- {titleContent}
167
- </Button>
168
- );
169
- } else {
170
- // BtnStyle == inline 或 btnTitleStyle === 'vertical' (类似小程序IDE工具栏) 的模式
171
- if (btnTitleStyle === BUTTON_TITLE_STYLE.VERTICAL) {
172
- backgroundBindings.style['minWidth'] = '42px';
173
- }
174
- buttonElement = (
175
- <div
176
- className={classnames({
177
- 'kt-toolbar-action-btn': true,
178
- 'kt-toolbar-action-btn-button': styles.btnStyle === 'button',
179
- 'kt-toolbar-action-btn-inline': styles.btnStyle !== 'button',
180
- 'kt-toolbar-action-btn-vertical': btnTitleStyle === BUTTON_TITLE_STYLE.VERTICAL,
181
- 'kt-toolbar-action-btn-horizontal': btnTitleStyle !== BUTTON_TITLE_STYLE.VERTICAL,
182
- })}
183
- {...bindings}
184
- >
185
- <Button type='default' size='small' {...backgroundBindings}>
186
- {iconContent}
187
- </Button>
188
- {titleContent}
189
- </div>
190
- );
191
- }
192
- }
193
-
194
- return (
195
- <div className={'kt-toolbar-action-btn-wrapper'} ref={ref as any}>
196
- {buttonElement}
197
- {props.popoverComponent && <div className={'kt-toolbar-popover'} data-toolbar-no-context={true}></div>}
198
- </div>
199
- );
200
- };
201
-
202
- export function createToolbarActionBtn(props: IToolbarActionBtnProps): IToolbarActionReactElement {
203
- return (actionProps) => <ToolbarActionBtn {...actionProps} {...props} />;
204
- }
205
-
206
- export class ToolbarActionBtnClickEvent extends BasicEvent<{
207
- id: string;
208
- event: React.MouseEvent<HTMLDivElement, MouseEvent>;
209
- }> {}
210
-
211
- const popOverMap = new Map<string, Promise<HTMLDivElement>>();
212
-
213
- const PopOverComponentWrapper: React.FC<{ delegate: IToolbarActionBtnDelegate }> = (props) => {
214
- const [context, setContext] = React.useState();
215
-
216
- React.useEffect(() => {
217
- const disposable = props.delegate.onChangeContext((newValue) => {
218
- setContext(newValue);
219
- });
220
- return () => {
221
- disposable.dispose();
222
- };
223
- }, []);
224
-
225
- const childrenWithProps = React.Children.map(props.children, (child) =>
226
- React.isValidElement(child)
227
- ? React.cloneElement(child, {
228
- context,
229
- } as any)
230
- : null,
231
- );
232
- return <>{childrenWithProps}</>;
233
- };
234
-
235
- @Injectable({ multiple: true })
236
- class ToolbarBtnDelegate implements IToolbarActionBtnDelegate {
237
- _onClick = new Emitter<React.MouseEvent<HTMLDivElement>>();
238
- onClick = this._onClick.event;
239
-
240
- _onMouseLeave = new Emitter<React.MouseEvent<HTMLDivElement>>();
241
- onMouseLeave = this._onClick.event;
242
-
243
- _onMouseEnter = new Emitter<React.MouseEvent<HTMLDivElement>>();
244
- onMouseEnter = this._onClick.event;
245
-
246
- _onChangeState = new Emitter<{ from: string; to: string }>();
247
- onChangeState = this._onChangeState.event;
248
-
249
- private onChangeContextEvent = new Emitter<any>();
250
- public onChangeContext = this.onChangeContextEvent.event;
251
-
252
- private _onDidChangePopoverVisibility = new Emitter<boolean>();
253
- public onDidChangePopoverVisibility = this._onDidChangePopoverVisibility.event;
254
-
255
- private popOverContainer: HTMLDivElement | undefined;
256
-
257
- private _popOverElement: Promise<HTMLDivElement> | undefined;
258
-
259
- private _popOverClickOutsideDisposer: IDisposable | undefined;
260
-
261
- @Autowired(IToolbarPopoverRegistry)
262
- protected readonly toolbarPopover: IToolbarPopoverRegistry;
263
-
264
- dispose() {
265
- this._onClick.dispose();
266
- this._onMouseEnter.dispose();
267
- this._onMouseLeave.dispose();
268
- if (this.popOverContainer) {
269
- this.popOverContainer.remove();
270
- this.popOverContainer = undefined;
271
- }
272
- if (this._popOverClickOutsideDisposer) {
273
- this._popOverClickOutsideDisposer.dispose();
274
- }
275
- }
276
-
277
- constructor(
278
- private element: HTMLElement,
279
- private actionId: string,
280
- private readonly _setState,
281
- private _getState,
282
- private context: AppConfig,
283
- private getPopoverParent: () => HTMLElement,
284
- private popoverComponent?: React.FC,
285
- private popoverStyle?: IToolbarPopoverStyle,
286
- private popoverId?: string,
287
- ) {
288
- if (this.popoverComponent) {
289
- this._popOverElement = popOverMap.get(actionId);
290
- this.popOverContainer = element.querySelector('.kt-toolbar-popover')! as HTMLDivElement;
291
- }
292
- this.toolbarPopover.onDidRegisterPopoverEvent((e) => {
293
- if (e === this.popoverId) {
294
- this.popoverComponent = this.toolbarPopover.getComponent(this.popoverId);
295
- // 已经激活的状态下重新激活一次,如果没有激活过则不动
296
- if (this._popOverElement) {
297
- this.hidePopOver().then(() => this.showPopOver());
298
- }
299
- }
300
- });
301
- }
302
-
303
- setState(to, title?) {
304
- const from = this._getState();
305
- this._setState(to, title);
306
- this._onChangeState.fire({ from, to });
307
- }
308
-
309
- setContext(context: any) {
310
- this.onChangeContextEvent.fire(context);
311
- }
312
-
313
- getRect() {
314
- return this.element.getBoundingClientRect();
315
- }
316
-
317
- getPopOverContainer() {
318
- return this.popOverContainer;
319
- }
320
-
321
- async showPopOver(style?: IToolbarPopoverStyle) {
322
- if (!this.popOverContainer) {
323
- return;
324
- }
325
- if (!this._popOverElement) {
326
- this._popOverElement = new Promise((resolve) => {
327
- const div = document.createElement('div');
328
- const C = this.popoverComponent!;
329
- ReactDOM.render(
330
- <ConfigProvider value={this.context}>
331
- <PopOverComponentWrapper delegate={this}>
332
- <C />
333
- </PopOverComponentWrapper>
334
- </ConfigProvider>,
335
- div,
336
- () => {
337
- resolve(div);
338
- },
339
- );
340
- });
341
- popOverMap.set(this.actionId, this._popOverElement);
342
- }
343
- const mergedStyle: IToolbarPopoverStyle = {
344
- ...this.popoverStyle,
345
- ...style,
346
- };
347
- if (mergedStyle.position === 'top') {
348
- this.popOverContainer.classList.add('kt-toolbar-popover-top');
349
- this.popOverContainer.classList.remove('kt-toolbar-popover-bottom');
350
- } else {
351
- this.popOverContainer.classList.remove('kt-toolbar-popover-top');
352
- this.popOverContainer.classList.add('kt-toolbar-popover-bottom');
353
- }
354
-
355
- this.popOverContainer.remove();
356
- const popoverParent = this.getPopoverParent() || this.element;
357
- popoverParent.append(this.popOverContainer);
358
- const popoverParentRect = popoverParent.getBoundingClientRect();
359
- this.popOverContainer.style.setProperty('--button-width', popoverParentRect.width + 'px');
360
-
361
- let offset = typeof mergedStyle.horizontalOffset === 'number' ? mergedStyle.horizontalOffset : 30;
362
-
363
- // 如果父容器离右边距很近,防止视图突出去
364
- offset = Math.min(offset, window.innerWidth - popoverParentRect.left - popoverParentRect.width - 2);
365
- this.popOverContainer.style.setProperty('--offset-size', offset + 'px');
366
- this.popOverContainer.classList.add('kt-toolbar-popover-visible');
367
-
368
- if (mergedStyle.noContainerStyle) {
369
- this.popOverContainer.classList.remove('kt-toolbar-popover-default');
370
- } else {
371
- this.popOverContainer.classList.add('kt-toolbar-popover-default');
372
- }
373
-
374
- const animeDisposer = new DomListener(this.popOverContainer, 'animationend', () => {
375
- animeDisposer.dispose();
376
- this.popOverContainer?.classList.add('kt-toolbar-popover-animationend');
377
- });
378
-
379
- return this._popOverElement.then((ele) => {
380
- if (this._popOverClickOutsideDisposer) {
381
- this._popOverClickOutsideDisposer.dispose();
382
- this._popOverClickOutsideDisposer = undefined;
383
- }
384
- if (this.popOverContainer && ele.parentElement !== this.popOverContainer) {
385
- this.popOverContainer.append(ele);
386
- }
387
- this._onDidChangePopoverVisibility.fire(true);
388
- if (mergedStyle.hideOnClickOutside !== false) {
389
- setTimeout(() => {
390
- if (this._popOverClickOutsideDisposer) {
391
- this._popOverClickOutsideDisposer.dispose();
392
- this._popOverClickOutsideDisposer = undefined;
393
- }
394
- const disposer = new Disposable();
395
- disposer.addDispose(
396
- new DomListener(
397
- window,
398
- 'click',
399
- (e: MouseEvent) => {
400
- if (e.target && ele.contains(e.target as Node)) {
401
- return;
402
- }
403
- const rect = ele.getBoundingClientRect();
404
- if (
405
- rect.x <= e.clientX &&
406
- rect.x + rect.width >= e.clientX &&
407
- rect.y <= e.clientY &&
408
- rect.y + rect.height >= e.clientY
409
- ) {
410
- // 点击在区域内,这里防止点击 target 已经被移除导致误判
411
- return;
412
- }
413
- this.hidePopOver();
414
- },
415
- // 在捕获阶段处理,避免其他元素阻止冒泡导致不自动隐藏不生效
416
- true,
417
- ),
418
- );
419
- this._popOverClickOutsideDisposer = disposer;
420
- });
421
- }
422
- });
423
- }
424
-
425
- async hidePopOver() {
426
- if (this._popOverElement) {
427
- const ele = await this._popOverElement;
428
- ReactDOM.unmountComponentAtNode(ele);
429
- ele.remove();
430
- this._popOverElement = undefined;
431
- }
432
- if (this._popOverClickOutsideDisposer) {
433
- this._popOverClickOutsideDisposer.dispose();
434
- this._popOverClickOutsideDisposer = undefined;
435
- }
436
- this.popOverContainer && this.popOverContainer.classList.remove('kt-toolbar-popover-visible');
437
- this.popOverContainer?.classList.remove('kt-toolbar-popover-animationend');
438
- this._onDidChangePopoverVisibility.fire(false);
439
- }
440
- }
@@ -1,2 +0,0 @@
1
- export * from './button';
2
- export * from './select';
@@ -1,189 +0,0 @@
1
- import classnames from 'classnames';
2
- import React from 'react';
3
-
4
- import {
5
- Select,
6
- SelectOptionsList,
7
- ISelectOptionsListProps,
8
- IDataOption,
9
- IDataOptionGroup,
10
- isDataOptionGroups,
11
- } from '@opensumi/ide-components';
12
- import { Emitter } from '@opensumi/ide-core-common';
13
-
14
- import { getIcon } from '../../style/icon/icon';
15
- import { IToolbarActionElementProps, IToolbarActionReactElement, IToolbarActionSelectProps } from '../types';
16
-
17
- export function ToolbarActionSelect<T>(props: IToolbarActionSelectProps<T> & IToolbarActionElementProps) {
18
- const [viewState, setViewState] = React.useState(props.defaultState || 'default');
19
-
20
- const styles = (props.styles || {})[viewState] || {};
21
-
22
- const selectStyle = {
23
- color: styles.labelForegroundColor,
24
- backgroundColor: styles.backgroundColor,
25
- minWidth: styles.minWidth === undefined ? 150 : styles.minWidth,
26
- };
27
-
28
- const optionStyle = {
29
- color: styles.labelForegroundColor,
30
- backgroundColor: styles.backgroundColor,
31
- };
32
-
33
- const [value, setValue] = React.useState(props.defaultValue);
34
- const [customOptions, setCustomOptions] = React.useState<IDataOption<T>[] | IDataOptionGroup<T>[] | undefined>(
35
- undefined,
36
- );
37
- const [showDropdown, setShowDropDown] = React.useState<boolean>(false);
38
- const dropdownRef = React.useRef<HTMLDivElement | null>(null);
39
- const selectInMenuRef = React.useRef<HTMLDivElement | null>(null);
40
- const selectEmitter = React.useRef(new Emitter<T>());
41
-
42
- React.useEffect(() => {
43
- const _onChangeState = new Emitter<{ from: string; to: string }>();
44
- let _value = value;
45
- const delegate = {
46
- setState: (to) => {
47
- const from = viewState;
48
- setViewState(to);
49
- _onChangeState.fire({ from, to });
50
- },
51
- setSelect: setValue,
52
- setOptions: (options) => {
53
- setCustomOptions(options);
54
- },
55
- getValue: () => _value,
56
- onChangeState: _onChangeState.event,
57
- onSelect: selectEmitter.current.event,
58
- };
59
- props.delegate && props.delegate(delegate);
60
- const disposer = selectEmitter.current.event((v) => {
61
- _value = v;
62
- });
63
- return () => {
64
- props.delegate && props.delegate(undefined);
65
- _onChangeState.dispose();
66
- disposer.dispose();
67
- };
68
- }, []);
69
-
70
- function findCurrentValueLabel(value: T | undefined) {
71
- const options = customOptions || props.options || [];
72
- if (isDataOptionGroups(options)) {
73
- for (const group of options) {
74
- for (const option of group.options) {
75
- if (props.equals) {
76
- if (props.equals(option.value, value)) {
77
- return option.label;
78
- }
79
- } else {
80
- if (option.value === value) {
81
- return option.label;
82
- }
83
- }
84
- }
85
- }
86
- } else {
87
- for (const option of options) {
88
- if (props.equals) {
89
- if (props.equals(option.value, value)) {
90
- return option.label;
91
- }
92
- } else {
93
- if (option.value === value) {
94
- return option.label;
95
- }
96
- }
97
- }
98
- }
99
- }
100
-
101
- React.useEffect(() => {
102
- if (dropdownRef.current && selectInMenuRef.current) {
103
- const menuClientRect = selectInMenuRef.current.getBoundingClientRect();
104
- if (window.innerWidth - menuClientRect.x - menuClientRect.width < dropdownRef.current.offsetWidth) {
105
- // 在左边
106
- dropdownRef.current.style.right = 'calc(100% + 5px)';
107
- dropdownRef.current.style.left = '';
108
- dropdownRef.current.style.top = '0';
109
- dropdownRef.current.style.visibility = 'visible';
110
- } else {
111
- // 在右边
112
- dropdownRef.current.style.left = 'calc(100% + 5px)';
113
- dropdownRef.current.style.right = '';
114
- dropdownRef.current.style.top = '0';
115
- dropdownRef.current.style.visibility = 'visible';
116
- }
117
- }
118
- if (showDropdown) {
119
- const listener = () => {
120
- setShowDropDown(false);
121
- };
122
- document.addEventListener('click', listener);
123
- return () => {
124
- document.removeEventListener('click', listener);
125
- };
126
- }
127
- }, [showDropdown]);
128
-
129
- if (props.inDropDown) {
130
- const selectDropDownProps: ISelectOptionsListProps<T> = {
131
- options: props.options,
132
- optionRenderer: props.customOptionRenderer,
133
- currentValue: value,
134
- className: 'kt-toolbar-action-select-dropdown',
135
- onSelect: (v) => {
136
- setValue(v);
137
- props.closeDropDown();
138
- if (props.onSelect) {
139
- props.onSelect(v);
140
- }
141
- selectEmitter.current.fire(v);
142
- },
143
- equals: props.equals,
144
- size: 'small',
145
- renderCheck: true,
146
- };
147
- const selectDropDown = <SelectOptionsList {...selectDropDownProps} ref={dropdownRef} />;
148
- return (
149
- <div
150
- className={classnames({
151
- 'kt-toolbar-action-btn': true,
152
- 'action-btn-in-dropdown': true,
153
- 'kt-toolbar-action-select': true,
154
- })}
155
- ref={selectInMenuRef}
156
- onClick={() => {
157
- setShowDropDown(true);
158
- }}
159
- >
160
- {props.name || findCurrentValueLabel(value)}
161
- <div className={classnames('kt-toolbar-action-btn-icon', getIcon('right'), 'kt-toolbar-action-select-right')} />
162
-
163
- {showDropdown ? selectDropDown : null}
164
- </div>
165
- );
166
- }
167
-
168
- return (
169
- <Select<T>
170
- value={value}
171
- options={customOptions || props.options}
172
- size='small'
173
- optionRenderer={props.customOptionRenderer}
174
- onChange={(v) => {
175
- if (props.onSelect) {
176
- props.onSelect(v!);
177
- }
178
- selectEmitter.current.fire(v);
179
- setValue(v);
180
- }}
181
- optionStyle={optionStyle}
182
- style={selectStyle}
183
- />
184
- );
185
- }
186
-
187
- export function createToolbarActionSelect<T = string>(props: IToolbarActionSelectProps<T>): IToolbarActionReactElement {
188
- return (actionProps) => <ToolbarActionSelect {...props} {...actionProps} />;
189
- }
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export { ToolbarLocation } from './toolbar';
3
- export * from './components';
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Injectable } from '@opensumi/di';
4
- import { Emitter, Event, Disposable } from '@opensumi/ide-core-common';
5
-
6
- import { IToolbarPopoverRegistry } from './types';
7
-
8
- @Injectable()
9
- export class ToolbarPopoverRegistry implements IToolbarPopoverRegistry {
10
- private registerPopoverEvent = new Emitter<string>();
11
- public onDidRegisterPopoverEvent: Event<string> = this.registerPopoverEvent.event;
12
-
13
- private popOverComponents: Map<string, React.FC> = new Map();
14
-
15
- registerComponent(id: string, component: React.FC) {
16
- if (this.popOverComponents.has(id)) {
17
- // eslint-disable-next-line no-console
18
- console.error(`Component ${id} is already registered!`);
19
- return Disposable.NULL;
20
- }
21
- this.popOverComponents.set(id, component);
22
- this.registerPopoverEvent.fire(id);
23
-
24
- return {
25
- dispose: () => {
26
- this.popOverComponents.delete(id);
27
- },
28
- };
29
- }
30
-
31
- getComponent = (id: string): React.FC | undefined => this.popOverComponents.get(id);
32
- }