@theia/core 1.53.0-next.55 → 1.53.0-next.64

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 (581) hide show
  1. package/README.md +6 -6
  2. package/i18n/nls.cs.json +582 -582
  3. package/i18n/nls.de.json +582 -582
  4. package/i18n/nls.es.json +582 -582
  5. package/i18n/nls.fr.json +582 -582
  6. package/i18n/nls.hu.json +582 -582
  7. package/i18n/nls.it.json +582 -582
  8. package/i18n/nls.ja.json +582 -582
  9. package/i18n/nls.json +582 -582
  10. package/i18n/nls.ko.json +582 -582
  11. package/i18n/nls.pl.json +582 -582
  12. package/i18n/nls.pt-br.json +582 -582
  13. package/i18n/nls.ru.json +582 -582
  14. package/i18n/nls.tr.json +582 -582
  15. package/i18n/nls.zh-cn.json +582 -582
  16. package/i18n/nls.zh-tw.json +582 -582
  17. package/lib/browser/catalog.json +54 -6
  18. package/lib/browser/common-frontend-contribution.js +3 -3
  19. package/lib/browser/common-styling-participants.js +166 -166
  20. package/lib/browser/progress-location-service.spec.js +7 -7
  21. package/lib/browser/storage-service.js +3 -3
  22. package/lib/browser/tree/tree.spec.js +75 -75
  23. package/lib/node/process-utils.spec.js +8 -8
  24. package/package.json +4 -4
  25. package/shared/ajv/index.d.ts +2 -2
  26. package/shared/markdown-it.d.ts +2 -2
  27. package/shared/markdown-it.js +1 -1
  28. package/shared/reflect-metadata/index.d.ts +1 -1
  29. package/shared/reflect-metadata/index.js +1 -1
  30. package/shared/vscode-languageserver-types/index.d.ts +1 -1
  31. package/src/browser/about-dialog.tsx +137 -137
  32. package/src/browser/authentication-service.ts +467 -467
  33. package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
  34. package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
  35. package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
  36. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
  37. package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
  38. package/src/browser/breadcrumbs/index.ts +21 -21
  39. package/src/browser/browser-clipboard-service.ts +122 -122
  40. package/src/browser/browser.ts +239 -239
  41. package/src/browser/clipboard-service.ts +23 -23
  42. package/src/browser/color-application-contribution.ts +110 -110
  43. package/src/browser/color-registry.ts +60 -60
  44. package/src/browser/command-open-handler.ts +54 -54
  45. package/src/browser/common-frontend-contribution.ts +2680 -2680
  46. package/src/browser/common-styling-participants.ts +361 -361
  47. package/src/browser/connection-status-service.spec.ts +200 -200
  48. package/src/browser/connection-status-service.ts +216 -216
  49. package/src/browser/context-key-service.ts +142 -142
  50. package/src/browser/context-menu-renderer.ts +124 -124
  51. package/src/browser/core-preferences.ts +343 -343
  52. package/src/browser/credentials-service.ts +106 -106
  53. package/src/browser/decoration-style.ts +65 -65
  54. package/src/browser/decorations-service.ts +209 -209
  55. package/src/browser/dialogs/react-dialog.tsx +56 -56
  56. package/src/browser/dialogs.ts +534 -534
  57. package/src/browser/diff-uris.ts +117 -117
  58. package/src/browser/encoding-registry.ts +97 -97
  59. package/src/browser/endpoint.spec.ts +148 -148
  60. package/src/browser/endpoint.ts +136 -136
  61. package/src/browser/external-uri-service.ts +79 -79
  62. package/src/browser/file-icons-js.d.ts +20 -20
  63. package/src/browser/frontend-application-bindings.ts +62 -62
  64. package/src/browser/frontend-application-config-provider.spec.ts +45 -45
  65. package/src/browser/frontend-application-config-provider.ts +50 -50
  66. package/src/browser/frontend-application-contribution.ts +110 -110
  67. package/src/browser/frontend-application-module.ts +474 -474
  68. package/src/browser/frontend-application-state.ts +74 -74
  69. package/src/browser/frontend-application.ts +326 -326
  70. package/src/browser/hover-service.ts +218 -218
  71. package/src/browser/http-open-handler.ts +49 -49
  72. package/src/browser/i18n/i18n-frontend-module.ts +27 -27
  73. package/src/browser/i18n/language-quick-pick-service.ts +130 -130
  74. package/src/browser/icon-registry.ts +87 -87
  75. package/src/browser/icon-theme-contribution.ts +64 -64
  76. package/src/browser/icon-theme-service.ts +217 -217
  77. package/src/browser/icons/CollapseAll.svg +7 -7
  78. package/src/browser/icons/CollapseAll_inverse.svg +7 -7
  79. package/src/browser/icons/Refresh.svg +7 -7
  80. package/src/browser/icons/Refresh_inverse.svg +7 -7
  81. package/src/browser/icons/add-inverse.svg +4 -4
  82. package/src/browser/icons/add.svg +4 -4
  83. package/src/browser/icons/arrow-down-bright.svg +6 -6
  84. package/src/browser/icons/arrow-down-dark.svg +6 -6
  85. package/src/browser/icons/arrow-up-bright.svg +6 -6
  86. package/src/browser/icons/arrow-up-dark.svg +6 -6
  87. package/src/browser/icons/case-sensitive-dark.svg +16 -16
  88. package/src/browser/icons/case-sensitive.svg +16 -16
  89. package/src/browser/icons/chevron-right-dark.svg +5 -5
  90. package/src/browser/icons/chevron-right-light.svg +6 -6
  91. package/src/browser/icons/circle-bright.svg +7 -7
  92. package/src/browser/icons/circle-dark.svg +7 -7
  93. package/src/browser/icons/clear-search-results-dark.svg +7 -7
  94. package/src/browser/icons/clear-search-results.svg +7 -7
  95. package/src/browser/icons/close-all-bright.svg +7 -7
  96. package/src/browser/icons/close-all-dark.svg +7 -7
  97. package/src/browser/icons/close-bright.svg +7 -7
  98. package/src/browser/icons/close-dark.svg +7 -7
  99. package/src/browser/icons/collapse.svg +4 -4
  100. package/src/browser/icons/edit-json-dark.svg +6 -6
  101. package/src/browser/icons/edit-json.svg +6 -6
  102. package/src/browser/icons/expand.svg +4 -4
  103. package/src/browser/icons/loading-dark.svg +6 -6
  104. package/src/browser/icons/loading-light.svg +6 -6
  105. package/src/browser/icons/open-change-bright.svg +3 -3
  106. package/src/browser/icons/open-change-dark.svg +4 -4
  107. package/src/browser/icons/open-file-bright.svg +4 -4
  108. package/src/browser/icons/open-file-dark.svg +4 -4
  109. package/src/browser/icons/preview-bright.svg +3 -3
  110. package/src/browser/icons/preview-dark.svg +3 -3
  111. package/src/browser/icons/regex-dark.svg +10 -10
  112. package/src/browser/icons/regex.svg +10 -10
  113. package/src/browser/icons/remove-all-inverse.svg +4 -4
  114. package/src/browser/icons/remove-all.svg +4 -4
  115. package/src/browser/icons/replace-all-inverse.svg +13 -13
  116. package/src/browser/icons/replace-all.svg +13 -13
  117. package/src/browser/icons/replace-inverse.svg +15 -15
  118. package/src/browser/icons/replace.svg +15 -15
  119. package/src/browser/icons/whole-word-dark.svg +19 -19
  120. package/src/browser/icons/whole-word.svg +19 -19
  121. package/src/browser/index.ts +50 -50
  122. package/src/browser/json-schema-store.ts +118 -118
  123. package/src/browser/keybinding.spec.ts +554 -554
  124. package/src/browser/keybinding.ts +759 -759
  125. package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
  126. package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
  127. package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
  128. package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
  129. package/src/browser/keyboard/index.ts +20 -20
  130. package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
  131. package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
  132. package/src/browser/keyboard/keys.spec.ts +258 -258
  133. package/src/browser/keyboard/keys.ts +20 -20
  134. package/src/browser/keys.ts +21 -21
  135. package/src/browser/label-parser.spec.ts +165 -165
  136. package/src/browser/label-parser.ts +108 -108
  137. package/src/browser/label-provider.spec.ts +62 -62
  138. package/src/browser/label-provider.ts +385 -385
  139. package/src/browser/language-icon-provider.ts +55 -55
  140. package/src/browser/language-service.ts +77 -77
  141. package/src/browser/logger-frontend-module.ts +65 -65
  142. package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
  143. package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
  144. package/src/browser/menu/browser-menu-module.ts +28 -28
  145. package/src/browser/menu/browser-menu-plugin.ts +491 -491
  146. package/src/browser/menu/context-menu-context.ts +41 -41
  147. package/src/browser/messaging/connection-source.ts +26 -26
  148. package/src/browser/messaging/frontend-id-provider.ts +37 -37
  149. package/src/browser/messaging/index.ts +18 -18
  150. package/src/browser/messaging/messaging-frontend-module.ts +41 -41
  151. package/src/browser/messaging/service-connection-provider.ts +140 -140
  152. package/src/browser/messaging/ws-connection-provider.ts +49 -49
  153. package/src/browser/messaging/ws-connection-source.ts +230 -230
  154. package/src/browser/mime-service.ts +30 -30
  155. package/src/browser/navigatable-types.ts +81 -81
  156. package/src/browser/navigatable.ts +39 -39
  157. package/src/browser/open-with-service.ts +140 -140
  158. package/src/browser/opener-service.spec.ts +49 -49
  159. package/src/browser/opener-service.ts +169 -169
  160. package/src/browser/performance/frontend-stopwatch.ts +65 -65
  161. package/src/browser/performance/index.ts +18 -18
  162. package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
  163. package/src/browser/preferences/index.ts +23 -23
  164. package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
  165. package/src/browser/preferences/preference-configurations.ts +82 -82
  166. package/src/browser/preferences/preference-contribution.ts +436 -436
  167. package/src/browser/preferences/preference-language-override-service.ts +111 -111
  168. package/src/browser/preferences/preference-provider.spec.ts +36 -36
  169. package/src/browser/preferences/preference-provider.ts +277 -277
  170. package/src/browser/preferences/preference-proxy.spec.ts +367 -367
  171. package/src/browser/preferences/preference-proxy.ts +367 -367
  172. package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
  173. package/src/browser/preferences/preference-scope.ts +18 -18
  174. package/src/browser/preferences/preference-service.spec.ts +613 -613
  175. package/src/browser/preferences/preference-service.ts +594 -594
  176. package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
  177. package/src/browser/preferences/preference-validation-service.ts +358 -358
  178. package/src/browser/preferences/test/index.ts +19 -19
  179. package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
  180. package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
  181. package/src/browser/preferences/test/mock-preference-service.ts +63 -63
  182. package/src/browser/preload/i18n-preload-contribution.ts +50 -50
  183. package/src/browser/preload/os-preload-contribution.ts +37 -37
  184. package/src/browser/preload/preload-module.ts +45 -45
  185. package/src/browser/preload/preloader.ts +37 -37
  186. package/src/browser/preload/theme-preload-contribution.ts +31 -31
  187. package/src/browser/progress-bar-factory.ts +29 -29
  188. package/src/browser/progress-bar.ts +76 -76
  189. package/src/browser/progress-client.ts +53 -53
  190. package/src/browser/progress-location-service.spec.ts +50 -50
  191. package/src/browser/progress-location-service.ts +96 -96
  192. package/src/browser/progress-status-bar-item.ts +83 -83
  193. package/src/browser/quick-input/index.ts +23 -23
  194. package/src/browser/quick-input/quick-access.ts +75 -75
  195. package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
  196. package/src/browser/quick-input/quick-command-service.ts +246 -246
  197. package/src/browser/quick-input/quick-help-service.ts +87 -87
  198. package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
  199. package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
  200. package/src/browser/quick-input/quick-input-service.ts +17 -17
  201. package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
  202. package/src/browser/quick-input/quick-view-service.ts +83 -83
  203. package/src/browser/request/browser-request-module.ts +23 -23
  204. package/src/browser/request/browser-request-service.ts +172 -172
  205. package/src/browser/resource-context-key.ts +77 -77
  206. package/src/browser/saveable-service.ts +332 -332
  207. package/src/browser/saveable.ts +395 -395
  208. package/src/browser/secondary-window-handler.ts +211 -211
  209. package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
  210. package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
  211. package/src/browser/shell/application-shell.ts +2271 -2271
  212. package/src/browser/shell/current-widget-command-adapter.ts +57 -57
  213. package/src/browser/shell/index.ts +23 -23
  214. package/src/browser/shell/shell-layout-restorer.ts +399 -399
  215. package/src/browser/shell/side-panel-handler.ts +794 -794
  216. package/src/browser/shell/side-panel-toolbar.ts +111 -111
  217. package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
  218. package/src/browser/shell/sidebar-menu-widget.tsx +183 -183
  219. package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
  220. package/src/browser/shell/split-panels.ts +191 -191
  221. package/src/browser/shell/tab-bar-decorator.ts +106 -106
  222. package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
  223. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
  224. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +242 -242
  225. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +149 -149
  226. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
  227. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +443 -443
  228. package/src/browser/shell/tab-bars.spec.ts +63 -63
  229. package/src/browser/shell/tab-bars.ts +1468 -1468
  230. package/src/browser/shell/theia-dock-panel.ts +265 -265
  231. package/src/browser/shell/view-column-service.ts +125 -125
  232. package/src/browser/shell/view-contribution.ts +178 -178
  233. package/src/browser/source-tree/index.ts +19 -19
  234. package/src/browser/source-tree/source-tree-widget.tsx +107 -107
  235. package/src/browser/source-tree/source-tree.ts +146 -146
  236. package/src/browser/source-tree/tree-source.ts +73 -73
  237. package/src/browser/status-bar/index.ts +29 -29
  238. package/src/browser/status-bar/status-bar-types.ts +97 -97
  239. package/src/browser/status-bar/status-bar-view-model.ts +209 -209
  240. package/src/browser/status-bar/status-bar.tsx +189 -189
  241. package/src/browser/storage-service.spec.ts +76 -76
  242. package/src/browser/storage-service.ts +129 -129
  243. package/src/browser/style/about.css +36 -36
  244. package/src/browser/style/alert-messages.css +62 -62
  245. package/src/browser/style/ansi.css +88 -88
  246. package/src/browser/style/breadcrumbs.css +130 -130
  247. package/src/browser/style/dialog.css +126 -126
  248. package/src/browser/style/dockpanel.css +76 -76
  249. package/src/browser/style/hover-service.css +101 -101
  250. package/src/browser/style/icons.css +61 -61
  251. package/src/browser/style/index.css +353 -353
  252. package/src/browser/style/materialcolors.css +278 -278
  253. package/src/browser/style/menus.css +230 -230
  254. package/src/browser/style/notification.css +39 -39
  255. package/src/browser/style/os.css +87 -87
  256. package/src/browser/style/progress-bar.css +43 -43
  257. package/src/browser/style/quick-title-bar.css +45 -45
  258. package/src/browser/style/scrollbars.css +172 -172
  259. package/src/browser/style/search-box.css +123 -123
  260. package/src/browser/style/select-component.css +107 -107
  261. package/src/browser/style/sidepanel.css +367 -367
  262. package/src/browser/style/split-widget.css +38 -38
  263. package/src/browser/style/status-bar.css +127 -127
  264. package/src/browser/style/tabs.css +647 -647
  265. package/src/browser/style/tooltip.css +28 -28
  266. package/src/browser/style/tree-decorators.css +81 -81
  267. package/src/browser/style/tree.css +232 -232
  268. package/src/browser/style/view-container.css +187 -187
  269. package/src/browser/style/widget.css +19 -19
  270. package/src/browser/styling-service.ts +96 -96
  271. package/src/browser/supported-encodings.ts +262 -262
  272. package/src/browser/test/jsdom.ts +69 -69
  273. package/src/browser/test/mock-connection-status-service.ts +33 -33
  274. package/src/browser/test/mock-env-variables-server.ts +47 -47
  275. package/src/browser/test/mock-opener-service.ts +34 -34
  276. package/src/browser/test/mock-storage-service.ts +49 -49
  277. package/src/browser/theming.ts +206 -206
  278. package/src/browser/tooltip-service.tsx +96 -96
  279. package/src/browser/tree/fuzzy-search.spec.ts +99 -99
  280. package/src/browser/tree/fuzzy-search.ts +136 -136
  281. package/src/browser/tree/index.ts +29 -29
  282. package/src/browser/tree/search-box-debounce.ts +96 -96
  283. package/src/browser/tree/search-box.ts +355 -355
  284. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
  285. package/src/browser/tree/test/mock-tree-model.ts +136 -136
  286. package/src/browser/tree/test/tree-test-container.ts +50 -50
  287. package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
  288. package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
  289. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
  290. package/src/browser/tree/tree-compression/index.ts +20 -20
  291. package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
  292. package/src/browser/tree/tree-compression/tree-compression.css +28 -28
  293. package/src/browser/tree/tree-consistency.spec.ts +105 -105
  294. package/src/browser/tree/tree-container.spec.ts +45 -45
  295. package/src/browser/tree/tree-container.ts +155 -155
  296. package/src/browser/tree/tree-decorator.spec.ts +162 -162
  297. package/src/browser/tree/tree-decorator.ts +238 -238
  298. package/src/browser/tree/tree-expansion.spec.ts +173 -173
  299. package/src/browser/tree/tree-expansion.ts +165 -165
  300. package/src/browser/tree/tree-focus-service.ts +55 -55
  301. package/src/browser/tree/tree-iterator.spec.ts +170 -170
  302. package/src/browser/tree/tree-iterator.ts +256 -256
  303. package/src/browser/tree/tree-label-provider.ts +40 -40
  304. package/src/browser/tree/tree-model.ts +562 -562
  305. package/src/browser/tree/tree-navigation.ts +58 -58
  306. package/src/browser/tree/tree-preference.ts +50 -50
  307. package/src/browser/tree/tree-search.ts +128 -128
  308. package/src/browser/tree/tree-selectable.spec.ts +152 -152
  309. package/src/browser/tree/tree-selection-impl.ts +176 -176
  310. package/src/browser/tree/tree-selection-state.spec.ts +462 -462
  311. package/src/browser/tree/tree-selection-state.ts +245 -245
  312. package/src/browser/tree/tree-selection.ts +159 -159
  313. package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
  314. package/src/browser/tree/tree-widget-selection.ts +45 -45
  315. package/src/browser/tree/tree-widget.tsx +1591 -1591
  316. package/src/browser/tree/tree.spec.ts +241 -241
  317. package/src/browser/tree/tree.ts +425 -425
  318. package/src/browser/undo-redo-handler.ts +85 -85
  319. package/src/browser/user-working-directory-provider.ts +77 -77
  320. package/src/browser/view-container.ts +1640 -1640
  321. package/src/browser/widget-decoration.ts +358 -358
  322. package/src/browser/widget-manager.spec.ts +102 -102
  323. package/src/browser/widget-manager.ts +318 -318
  324. package/src/browser/widget-open-handler.ts +168 -168
  325. package/src/browser/widgets/alert-message.tsx +56 -56
  326. package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
  327. package/src/browser/widgets/extractable-widget.ts +33 -33
  328. package/src/browser/widgets/index.ts +21 -21
  329. package/src/browser/widgets/previewable-widget.ts +31 -31
  330. package/src/browser/widgets/react-renderer.tsx +53 -53
  331. package/src/browser/widgets/react-widget.tsx +51 -51
  332. package/src/browser/widgets/select-component.tsx +367 -367
  333. package/src/browser/widgets/split-widget.ts +163 -163
  334. package/src/browser/widgets/widget.ts +406 -406
  335. package/src/browser/window/browser-window-module.ts +32 -32
  336. package/src/browser/window/default-secondary-window-service.ts +189 -189
  337. package/src/browser/window/default-window-service.spec.ts +78 -78
  338. package/src/browser/window/default-window-service.ts +171 -171
  339. package/src/browser/window/secondary-window-service.ts +39 -39
  340. package/src/browser/window/test/mock-window-service.ts +29 -29
  341. package/src/browser/window/window-service.ts +78 -78
  342. package/src/browser/window/window-title-service.ts +107 -107
  343. package/src/browser/window/window-title-updater.ts +95 -95
  344. package/src/browser/window-contribution.ts +64 -64
  345. package/src/browser-only/frontend-only-application-module.ts +116 -116
  346. package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
  347. package/src/browser-only/logger-frontend-only-module.ts +63 -63
  348. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
  349. package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
  350. package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
  351. package/src/common/accessibility.ts +33 -33
  352. package/src/common/application-error.spec.ts +27 -27
  353. package/src/common/application-error.ts +76 -76
  354. package/src/common/application-protocol.ts +42 -42
  355. package/src/common/array-utils.ts +129 -129
  356. package/src/common/buffer.ts +228 -228
  357. package/src/common/cancellation.ts +163 -163
  358. package/src/common/char-code.ts +438 -438
  359. package/src/common/collections.ts +125 -125
  360. package/src/common/color.ts +103 -103
  361. package/src/common/command.spec.ts +208 -208
  362. package/src/common/command.ts +489 -489
  363. package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
  364. package/src/common/contribution-filter/contribution-filter.ts +64 -64
  365. package/src/common/contribution-filter/filter.ts +23 -23
  366. package/src/common/contribution-filter/index.ts +19 -19
  367. package/src/common/contribution-provider.ts +96 -96
  368. package/src/common/disposable.spec.ts +94 -94
  369. package/src/common/disposable.ts +188 -188
  370. package/src/common/encoding-service.ts +380 -380
  371. package/src/common/encodings.ts +24 -24
  372. package/src/common/env-variables/env-variables-protocol.ts +38 -38
  373. package/src/common/env-variables/index.ts +17 -17
  374. package/src/common/event.spec.ts +32 -32
  375. package/src/common/event.ts +493 -493
  376. package/src/common/file-uri.ts +61 -61
  377. package/src/common/frontend-application-state.ts +38 -38
  378. package/src/common/glob.ts +741 -741
  379. package/src/common/hash.ts +85 -85
  380. package/src/common/i18n/localization-server.ts +25 -25
  381. package/src/common/i18n/localization.ts +80 -80
  382. package/src/common/i18n/nls.metadata.json +34112 -34112
  383. package/src/common/index.ts +51 -51
  384. package/src/common/json-schema.ts +108 -108
  385. package/src/common/key-store.ts +26 -26
  386. package/src/common/keybinding.ts +152 -152
  387. package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
  388. package/src/common/keys.ts +694 -694
  389. package/src/common/label-protocol.ts +35 -35
  390. package/src/common/logger-protocol.ts +119 -119
  391. package/src/common/logger-watcher.ts +48 -48
  392. package/src/common/logger.spec.ts +46 -46
  393. package/src/common/logger.ts +389 -389
  394. package/src/common/lsp-types.ts +34 -34
  395. package/src/common/markdown-rendering/icon-utilities.ts +30 -30
  396. package/src/common/markdown-rendering/index.ts +18 -18
  397. package/src/common/markdown-rendering/markdown-string.ts +152 -152
  398. package/src/common/menu/action-menu-node.ts +65 -65
  399. package/src/common/menu/composite-menu-node.spec.ts +67 -67
  400. package/src/common/menu/composite-menu-node.ts +114 -114
  401. package/src/common/menu/index.ts +21 -21
  402. package/src/common/menu/menu-adapter.ts +103 -103
  403. package/src/common/menu/menu-model-registry.ts +374 -374
  404. package/src/common/menu/menu-types.ts +220 -220
  405. package/src/common/menu/menu.spec.ts +101 -101
  406. package/src/common/message-rpc/channel.spec.ts +88 -88
  407. package/src/common/message-rpc/channel.ts +300 -300
  408. package/src/common/message-rpc/index.ts +22 -22
  409. package/src/common/message-rpc/message-buffer.ts +105 -105
  410. package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
  411. package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
  412. package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
  413. package/src/common/message-rpc/rpc-protocol.ts +255 -255
  414. package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
  415. package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
  416. package/src/common/message-service-protocol.ts +148 -148
  417. package/src/common/message-service.ts +226 -226
  418. package/src/common/messaging/connection-error-handler.ts +73 -73
  419. package/src/common/messaging/connection-management.ts +43 -43
  420. package/src/common/messaging/handler.ts +26 -26
  421. package/src/common/messaging/index.ts +19 -19
  422. package/src/common/messaging/proxy-factory.spec.ts +108 -108
  423. package/src/common/messaging/proxy-factory.ts +336 -336
  424. package/src/common/messaging/socket-write-buffer.ts +52 -52
  425. package/src/common/messaging/web-socket-channel.ts +76 -76
  426. package/src/common/nls.ts +151 -151
  427. package/src/common/numbers.ts +21 -21
  428. package/src/common/objects.spec.ts +112 -112
  429. package/src/common/objects.ts +123 -123
  430. package/src/common/os.ts +82 -82
  431. package/src/common/path.spec.ts +415 -415
  432. package/src/common/path.ts +334 -334
  433. package/src/common/paths.ts +250 -250
  434. package/src/common/performance/index.ts +19 -19
  435. package/src/common/performance/measurement-protocol.ts +104 -104
  436. package/src/common/performance/measurement.ts +130 -130
  437. package/src/common/performance/stopwatch.ts +183 -183
  438. package/src/common/preferences/preference-schema.ts +101 -101
  439. package/src/common/preferences/preference-scope.spec.ts +48 -48
  440. package/src/common/preferences/preference-scope.ts +68 -68
  441. package/src/common/prioritizeable.ts +58 -58
  442. package/src/common/progress-service-protocol.ts +35 -35
  443. package/src/common/progress-service.ts +82 -82
  444. package/src/common/promise-util.spec.ts +102 -102
  445. package/src/common/promise-util.ts +143 -143
  446. package/src/common/quick-pick-service.ts +353 -353
  447. package/src/common/reference.spec.ts +145 -145
  448. package/src/common/reference.ts +230 -230
  449. package/src/common/resource.ts +430 -430
  450. package/src/common/selection-command-handler.ts +101 -101
  451. package/src/common/selection-service.spec.ts +43 -43
  452. package/src/common/selection-service.ts +49 -49
  453. package/src/common/selection.ts +50 -50
  454. package/src/common/severity.ts +111 -111
  455. package/src/common/stream.ts +718 -718
  456. package/src/common/strings.ts +231 -231
  457. package/src/common/telemetry.ts +45 -45
  458. package/src/common/ternary-search-tree.ts +417 -417
  459. package/src/common/test/expect.ts +34 -34
  460. package/src/common/test/mock-logger.ts +118 -118
  461. package/src/common/test/mock-menu.ts +35 -35
  462. package/src/common/test/mock-resource-provider.ts +33 -33
  463. package/src/common/theme.ts +68 -68
  464. package/src/common/types.spec.ts +86 -86
  465. package/src/common/types.ts +140 -140
  466. package/src/common/uri-command-handler.spec.ts +90 -90
  467. package/src/common/uri-command-handler.ts +148 -148
  468. package/src/common/uri.spec.ts +278 -278
  469. package/src/common/uri.ts +279 -279
  470. package/src/common/uuid.ts +45 -45
  471. package/src/common/version.ts +17 -17
  472. package/src/common/view-column.ts +33 -33
  473. package/src/common/window.ts +34 -34
  474. package/src/electron-browser/electron-clipboard-service.ts +32 -32
  475. package/src/electron-browser/electron-uri-handler.ts +42 -42
  476. package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
  477. package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
  478. package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
  479. package/src/electron-browser/menu/electron-main-menu-factory.ts +339 -339
  480. package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
  481. package/src/electron-browser/menu/electron-menu-module.ts +40 -40
  482. package/src/electron-browser/menu/electron-menu-style.css +110 -110
  483. package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
  484. package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
  485. package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
  486. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
  487. package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
  488. package/src/electron-browser/preload.ts +264 -264
  489. package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
  490. package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
  491. package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
  492. package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
  493. package/src/electron-browser/window/electron-window-module.ts +48 -48
  494. package/src/electron-browser/window/electron-window-preferences.ts +76 -76
  495. package/src/electron-browser/window/electron-window-service.ts +109 -109
  496. package/src/electron-browser/window/external-app-open-handler.ts +42 -42
  497. package/src/electron-common/electron-api.ts +157 -157
  498. package/src/electron-common/electron-main-window-service.ts +24 -24
  499. package/src/electron-common/electron-token.ts +27 -27
  500. package/src/electron-main/electron-api-main.ts +373 -373
  501. package/src/electron-main/electron-main-application-module.ts +65 -65
  502. package/src/electron-main/electron-main-application.ts +860 -860
  503. package/src/electron-main/electron-main-constants.ts +23 -23
  504. package/src/electron-main/electron-main-window-service-impl.ts +44 -44
  505. package/src/electron-main/electron-security-token-service.ts +36 -36
  506. package/src/electron-main/event-utils.ts +36 -36
  507. package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
  508. package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
  509. package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
  510. package/src/electron-main/theia-electron-window.ts +219 -219
  511. package/src/electron-node/cli/electron-backend-cli-module.ts +24 -24
  512. package/src/electron-node/cli/electron-cli-contribution.ts +35 -35
  513. package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
  514. package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
  515. package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
  516. package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
  517. package/src/electron-node/request/electron-backend-request-module.ts +23 -23
  518. package/src/electron-node/request/electron-backend-request-service.ts +78 -78
  519. package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
  520. package/src/electron-node/token/electron-token-backend-module.ts +28 -28
  521. package/src/electron-node/token/electron-token-validator.ts +93 -93
  522. package/src/node/application-server.ts +59 -59
  523. package/src/node/backend-application-config-provider.spec.ts +29 -29
  524. package/src/node/backend-application-config-provider.ts +48 -48
  525. package/src/node/backend-application-module.ts +139 -139
  526. package/src/node/backend-application.ts +374 -374
  527. package/src/node/cli.spec.ts +94 -94
  528. package/src/node/cli.ts +63 -63
  529. package/src/node/console-logger-server.spec.ts +59 -59
  530. package/src/node/console-logger-server.ts +76 -76
  531. package/src/node/debug.ts +30 -30
  532. package/src/node/dynamic-require.ts +56 -56
  533. package/src/node/env-variables/env-variables-server.ts +123 -123
  534. package/src/node/env-variables/index.ts +17 -17
  535. package/src/node/environment-utils.spec.ts +92 -92
  536. package/src/node/environment-utils.ts +66 -66
  537. package/src/node/file-uri.spec.ts +76 -76
  538. package/src/node/filesystem-locking.ts +77 -77
  539. package/src/node/hosting/backend-application-hosts.ts +60 -60
  540. package/src/node/hosting/backend-hosting-module.ts +26 -26
  541. package/src/node/hosting/ws-origin-validator.ts +36 -36
  542. package/src/node/i18n/i18n-backend-module.ts +42 -42
  543. package/src/node/i18n/localization-contribution.ts +112 -112
  544. package/src/node/i18n/localization-provider.ts +125 -125
  545. package/src/node/i18n/localization-server.ts +52 -52
  546. package/src/node/i18n/theia-localization-contribution.ts +40 -40
  547. package/src/node/index.ts +22 -22
  548. package/src/node/key-store-server.ts +162 -162
  549. package/src/node/logger-backend-module.ts +88 -88
  550. package/src/node/logger-cli-contribution.spec.ts +245 -245
  551. package/src/node/logger-cli-contribution.ts +168 -168
  552. package/src/node/main.ts +33 -33
  553. package/src/node/messaging/binary-message-pipe.ts +168 -168
  554. package/src/node/messaging/connection-container-module.ts +96 -96
  555. package/src/node/messaging/default-messaging-service.ts +129 -129
  556. package/src/node/messaging/frontend-connection-service.ts +24 -24
  557. package/src/node/messaging/index.ts +19 -19
  558. package/src/node/messaging/ipc-bootstrap.ts +27 -27
  559. package/src/node/messaging/ipc-channel.ts +77 -77
  560. package/src/node/messaging/ipc-connection-provider.ts +107 -107
  561. package/src/node/messaging/ipc-protocol.ts +76 -76
  562. package/src/node/messaging/messaging-backend-module.ts +52 -52
  563. package/src/node/messaging/messaging-listeners.ts +52 -52
  564. package/src/node/messaging/messaging-service.ts +46 -46
  565. package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
  566. package/src/node/messaging/websocket-endpoint.ts +79 -79
  567. package/src/node/messaging/websocket-frontend-connection-service.ts +186 -186
  568. package/src/node/os-backend-provider.ts +25 -25
  569. package/src/node/performance/index.ts +18 -18
  570. package/src/node/performance/measurement-backend-bindings.ts +35 -35
  571. package/src/node/performance/node-stopwatch.ts +40 -40
  572. package/src/node/process-utils.spec.ts +48 -48
  573. package/src/node/process-utils.ts +102 -102
  574. package/src/node/remote/backend-remote-service.ts +25 -25
  575. package/src/node/remote/remote-cli-contribution.ts +34 -34
  576. package/src/node/remote/remote-copy-contribution.ts +45 -45
  577. package/src/node/request/backend-request-facade.ts +39 -39
  578. package/src/node/request/backend-request-module.ts +25 -25
  579. package/src/node/request/proxy-cli-contribution.ts +65 -65
  580. package/src/node/ws-request-validators.ts +56 -56
  581. package/src/typings/native-keymap.d.ts +108 -108
@@ -1,647 +1,647 @@
1
- /*-----------------------------------------------------------------------------
2
- | Variables
3
- |----------------------------------------------------------------------------*/
4
-
5
- :root {
6
- /* These need to be root because tabs get attached to the body during dragging. */
7
- --theia-private-horizontal-tab-height: 28.5px;
8
- --theia-private-horizontal-tab-scrollbar-rail-height: 7px;
9
- --theia-private-horizontal-tab-scrollbar-height: 5px;
10
- --theia-tabbar-toolbar-z-index: 1001;
11
- --theia-toolbar-active-transform-scale: 1.272019649;
12
- --theia-horizontal-toolbar-height: calc(
13
- var(--theia-private-horizontal-tab-height) +
14
- var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2
15
- );
16
- --theia-dragover-tab-border-width: 2px;
17
- }
18
-
19
- /*-----------------------------------------------------------------------------
20
- | General tab bar style
21
- |----------------------------------------------------------------------------*/
22
-
23
- .p-TabBar {
24
- font-size: var(--theia-ui-font-size1);
25
- }
26
-
27
- .p-TabBar[data-orientation="horizontal"] {
28
- min-height: var(--theia-horizontal-toolbar-height);
29
- }
30
-
31
- .p-TabBar .p-TabBar-content {
32
- cursor: pointer;
33
- }
34
-
35
- .p-TabBar[data-orientation="horizontal"] .p-TabBar-tab {
36
- flex: none;
37
- height: var(--theia-horizontal-toolbar-height);
38
- min-width: 35px;
39
- line-height: var(--theia-private-horizontal-tab-height);
40
- padding: 0px 8px;
41
- align-items: center;
42
- overflow: hidden;
43
- }
44
-
45
- .p-TabBar[data-orientation="vertical"] .p-TabBar-tab {
46
- border-top: var(--theia-dragover-tab-border-width) solid transparent !important;
47
- border-bottom: var(--theia-dragover-tab-border-width) solid transparent !important;
48
- }
49
-
50
- .p-TabBar[data-orientation="vertical"] .p-TabBar-tab.drop-target-top {
51
- border-top-color: var(--theia-activityBar-activeBorder) !important;
52
- }
53
-
54
- .p-TabBar[data-orientation="vertical"] .p-TabBar-tab.drop-target-bottom {
55
- border-bottom-color: var(--theia-activityBar-activeBorder) !important;
56
- }
57
-
58
- .p-TabBar[data-orientation="horizontal"] .p-TabBar-tab .theia-tab-icon-label,
59
- .p-TabBar-tab.p-mod-drag-image .theia-tab-icon-label {
60
- display: flex;
61
- line-height: var(--theia-content-line-height);
62
- align-items: center;
63
- }
64
-
65
- /*-----------------------------------------------------------------------------
66
- | Tabs in the center area (main and bottom)
67
- |----------------------------------------------------------------------------*/
68
-
69
- #theia-main-content-panel,
70
- #theia-main-content-panel .p-Widget.p-DockPanel-widget {
71
- background: var(--theia-editor-background);
72
- }
73
-
74
- #theia-main-content-panel .p-DockPanel-handle[data-orientation="horizontal"] {
75
- border-left: var(--theia-border-width) solid var(--theia-editorGroup-border);
76
- }
77
-
78
- #theia-main-content-panel
79
- .p-DockPanel-handle[data-orientation="vertical"]
80
- + .p-TabBar {
81
- border-top: var(--theia-border-width) solid var(--theia-editorGroup-border);
82
- }
83
-
84
- #theia-main-content-panel .p-TabBar .p-TabBar-tab {
85
- border-right: 1px solid var(--theia-tab-border);
86
- border-top: 1px solid transparent;
87
- border-bottom: 1px solid transparent;
88
- background: var(--theia-tab-inactiveBackground);
89
- color: var(--theia-tab-inactiveForeground);
90
- }
91
-
92
- #theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab {
93
- color: var(--theia-tab-unfocusedInactiveForeground);
94
- }
95
-
96
- .p-TabBar.theia-app-centers {
97
- background: var(--theia-editorGroupHeader-tabsBackground);
98
- }
99
-
100
- .p-TabBar.theia-app-centers::after {
101
- content: "";
102
- position: absolute;
103
- bottom: 0;
104
- left: 0;
105
- pointer-events: none;
106
- background-color: var(--theia-editorGroupHeader-tabsBorder);
107
- width: 100%;
108
- height: 1px;
109
- }
110
-
111
- .p-TabBar.theia-app-centers .p-TabBar-tabIcon,
112
- .p-TabBar.theia-app-centers .p-TabBar-tabLabel,
113
- .p-TabBar.theia-app-centers .p-TabBar-tabLabelDetails,
114
- .p-TabBar.theia-app-centers .p-TabBar-tabCloseIcon {
115
- display: inline-block;
116
- }
117
-
118
- .p-TabBar.theia-app-centers .p-TabBar-tabLabelDetails {
119
- margin-left: 5px;
120
- color: var(--theia-descriptionForeground);
121
- flex: 1 1 auto;
122
- overflow: hidden;
123
- white-space: nowrap;
124
- }
125
-
126
- .p-TabBar-tail {
127
- padding-left: 5px;
128
- text-align: center;
129
- justify-content: center;
130
- }
131
-
132
- .p-TabBar.theia-app-centers .p-TabBar-tabLabelWrapper {
133
- display: flex;
134
- }
135
-
136
- .p-TabBar-tab-secondary-label {
137
- color: var(--theia-settings-headerForeground);
138
- cursor: pointer;
139
- font-size: var(--theia-ui-font-size0);
140
- margin-left: 5px;
141
- text-decoration-line: underline;
142
-
143
- -webkit-appearance: none;
144
- -moz-appearance: none;
145
- background-image: linear-gradient(
146
- 45deg,
147
- transparent 50%,
148
- var(--theia-icon-foreground) 50%
149
- ),
150
- linear-gradient(135deg, var(--theia-icon-foreground) 50%, transparent 50%);
151
- background-position: calc(100% - 6px) 8px, calc(100% - 2px) 8px, 100% 0;
152
- background-size: 4px 5px;
153
- background-repeat: no-repeat;
154
- padding: 2px 14px 0 0;
155
- }
156
-
157
- .p-TabBar .p-TabBar-tabIcon,
158
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon {
159
- width: 15px;
160
- line-height: 1.7;
161
- font-size: 12px;
162
- text-align: center;
163
- background-repeat: no-repeat;
164
- }
165
-
166
- /* common icons */
167
- .p-TabBar.theia-app-centers .p-TabBar-tabIcon,
168
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon {
169
- min-height: 14px;
170
- background-size: 13px;
171
- background-position-y: 3px;
172
- background: var(--theia-icon-foreground);
173
- -webkit-mask-repeat: no-repeat;
174
- -webkit-mask-size: auto 13px;
175
- mask-repeat: no-repeat;
176
- mask-size: auto 13px;
177
- padding-right: 8px;
178
- }
179
-
180
- .p-TabBar.theia-app-centers .p-TabBar-tabIcon[class*="plugin-icon-"],
181
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon[class*="plugin-icon-"] {
182
- background: none;
183
- height: var(--theia-icon-size);
184
- }
185
-
186
- .p-TabBar.theia-app-centers .p-TabBar-tabIcon[class*="plugin-icon-"]::before,
187
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon[class*="plugin-icon-"]::before {
188
- display: inline-block;
189
- }
190
-
191
- /* codicons */
192
- .p-TabBar.theia-app-centers .p-TabBar-tabIcon.codicon,
193
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.codicon {
194
- background: none;
195
- }
196
-
197
- .p-TabBar-tabLock:after {
198
- content: "\ebe7";
199
- opacity: 0.75;
200
- margin-left: 4px;
201
- color: inherit;
202
- font-family: codicon;
203
- font-size: 16px;
204
- font-weight: normal;
205
- display: inline-block;
206
- vertical-align: top;
207
- }
208
-
209
- /* file icons */
210
- .p-TabBar[data-orientation="horizontal"] .p-TabBar-tabIcon.file-icon,
211
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.file-icon {
212
- background: none;
213
- padding-bottom: 0px;
214
- min-height: 20px;
215
- }
216
-
217
- .p-TabBar[data-orientation="horizontal"] .p-TabBar-tabIcon.fa,
218
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.fa {
219
- background: none;
220
- min-height: 0;
221
- height: inherit;
222
- }
223
-
224
- .p-TabBar[data-orientation="vertical"] .p-TabBar-tab.p-mod-invisible {
225
- visibility: hidden;
226
- }
227
-
228
- .p-TabBar.theia-app-centers
229
- .p-TabBar-tab.p-mod-closable
230
- > .p-TabBar-tabCloseIcon,
231
- .p-TabBar.theia-app-centers
232
- .p-TabBar-tab.theia-mod-pinned
233
- > .p-TabBar-tabCloseIcon {
234
- padding: 2px;
235
- margin-top: 2px;
236
- margin-left: 4px;
237
- height: var(--theia-icon-size);
238
- width: var(--theia-icon-size);
239
- font: normal normal normal 16px/1 codicon;
240
- display: inline-block;
241
- text-decoration: none;
242
- text-rendering: auto;
243
- text-align: center;
244
- -webkit-font-smoothing: antialiased;
245
- -moz-osx-font-smoothing: grayscale;
246
- user-select: none;
247
- -webkit-user-select: none;
248
- -ms-user-select: none;
249
- }
250
-
251
- .p-TabBar.theia-app-centers.dynamic-tabs
252
- .p-TabBar-tab.p-mod-closable
253
- > .p-TabBar-tabCloseIcon,
254
- .p-TabBar.theia-app-centers.dynamic-tabs
255
- .p-TabBar-tab.theia-mod-pinned
256
- > .p-TabBar-tabCloseIcon {
257
- /* hide close icon for dynamic tabs strategy*/
258
- display: none;
259
- }
260
-
261
- .p-TabBar.theia-app-centers
262
- .p-TabBar-tab.p-mod-current
263
- > .p-TabBar-tabCloseIcon,
264
- .p-TabBar.theia-app-centers
265
- .p-TabBar-tab:hover.p-mod-closable
266
- > .p-TabBar-tabCloseIcon,
267
- .p-TabBar.theia-app-centers
268
- .p-TabBar-tab:hover.theia-mod-pinned
269
- > .p-TabBar-tabCloseIcon {
270
- display: inline-block;
271
- }
272
-
273
- .p-TabBar.theia-app-centers
274
- .p-TabBar-tab.p-mod-closable
275
- > .p-TabBar-tabCloseIcon:hover {
276
- border-radius: 5px;
277
- background-color: rgba(50%, 50%, 50%, 0.2);
278
- }
279
-
280
- .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable,
281
- .p-TabBar.theia-app-centers .p-TabBar-tab.theia-mod-pinned {
282
- padding-right: 4px;
283
- }
284
-
285
- .p-TabBar.theia-app-centers
286
- .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty):hover
287
- > .p-TabBar-tabCloseIcon:before,
288
- .p-TabBar.theia-app-centers
289
- .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty).p-TabBar-tab.p-mod-current
290
- > .p-TabBar-tabCloseIcon:before,
291
- .p-TabBar.theia-app-centers
292
- .p-TabBar-tab.p-mod-closable.theia-mod-dirty
293
- > .p-TabBar-tabCloseIcon:hover:before {
294
- content: "\ea76";
295
- }
296
-
297
- .p-TabBar.theia-app-centers
298
- .p-TabBar-tab.p-mod-closable.theia-mod-dirty
299
- > .p-TabBar-tabCloseIcon:before {
300
- content: "\ea71";
301
- }
302
-
303
- .p-TabBar.theia-app-centers
304
- .p-TabBar-tab.theia-mod-pinned
305
- > .p-TabBar-tabCloseIcon:before {
306
- content: "\eba0";
307
- }
308
-
309
- .p-TabBar.theia-app-centers
310
- .p-TabBar-tab.theia-mod-pinned.theia-mod-dirty
311
- > .p-TabBar-tabCloseIcon:before {
312
- content: "\ebb2";
313
- }
314
-
315
- .p-TabBar-tabIcon.no-icon {
316
- display: none !important;
317
- }
318
-
319
- .theia-badge-decorator-sidebar {
320
- background-color: var(--theia-activityBarBadge-background);
321
- border-radius: 20px;
322
- color: var(--theia-activityBarBadge-foreground);
323
- font-size: calc(var(--theia-ui-font-size0) * 0.85);
324
- font-weight: 600;
325
- height: var(--theia-notification-count-height);
326
- width: var(--theia-notification-count-width);
327
- padding: calc(var(--theia-ui-padding) / 6);
328
- line-height: calc(var(--theia-content-line-height) * 0.7);
329
- position: absolute;
330
- top: calc(var(--theia-ui-padding) * 4);
331
- right: calc(var(--theia-ui-padding) * 1.33);
332
- text-align: center;
333
- }
334
-
335
- .p-TabBar .theia-badge-decorator-horizontal {
336
- background-color: var(--theia-badge-background);
337
- border-radius: 20px;
338
- box-sizing: border-box;
339
- color: var(--theia-activityBarBadge-foreground);
340
- font-size: calc(var(--theia-ui-font-size0) * 0.8);
341
- font-weight: 400;
342
- height: var(--theia-notification-count-height);
343
- width: var(--theia-notification-count-width);
344
- padding: calc(var(--theia-ui-padding) / 6);
345
- line-height: calc(var(--theia-content-line-height) * 0.61);
346
- margin-left: var(--theia-ui-padding);
347
- text-align: center;
348
- }
349
-
350
- /*-----------------------------------------------------------------------------
351
- | Perfect scrollbar
352
- |----------------------------------------------------------------------------*/
353
-
354
- .p-TabBar[data-orientation="horizontal"]
355
- .p-TabBar-content-container
356
- > .ps__rail-x {
357
- height: var(--theia-private-horizontal-tab-scrollbar-rail-height);
358
- z-index: 1000;
359
- }
360
-
361
- .p-TabBar[data-orientation="horizontal"]
362
- .p-TabBar-content-container
363
- > .ps__rail-x
364
- > .ps__thumb-x {
365
- height: var(--theia-private-horizontal-tab-scrollbar-height) !important;
366
- bottom: calc(
367
- (
368
- var(--theia-private-horizontal-tab-scrollbar-rail-height) -
369
- var(--theia-private-horizontal-tab-scrollbar-height)
370
- ) / 2
371
- );
372
- }
373
-
374
- .p-TabBar[data-orientation="horizontal"]
375
- .p-TabBar-content-container
376
- > .ps__rail-x:hover,
377
- .p-TabBar[data-orientation="horizontal"]
378
- .p-TabBar-content-container
379
- > .ps__rail-x:focus {
380
- height: var(--theia-private-horizontal-tab-scrollbar-rail-height) !important;
381
- }
382
-
383
- .p-TabBar[data-orientation="horizontal"]
384
- .p-TabBar-content-container
385
- > .ps__rail-x:hover
386
- > .ps__thumb-x,
387
- .p-TabBar[data-orientation="horizontal"]
388
- .p-TabBar-content-container
389
- > .ps__rail-x:focus
390
- > .ps__thumb-x {
391
- height: calc(
392
- var(--theia-private-horizontal-tab-scrollbar-height) / 2
393
- ) !important;
394
- bottom: calc(
395
- (
396
- var(--theia-private-horizontal-tab-scrollbar-rail-height) -
397
- var(--theia-private-horizontal-tab-scrollbar-height)
398
- ) / 2
399
- );
400
- }
401
-
402
- .p-TabBar[data-orientation="vertical"]
403
- .p-TabBar-content-container
404
- > .ps__rail-y {
405
- width: var(--theia-private-horizontal-tab-scrollbar-rail-height);
406
- z-index: 1000;
407
- }
408
-
409
- .p-TabBar[data-orientation="vertical"]
410
- .p-TabBar-content-container
411
- > .ps__rail-y
412
- > .ps__thumb-y {
413
- width: var(--theia-private-horizontal-tab-scrollbar-height) !important;
414
- right: calc(
415
- (
416
- var(--theia-private-horizontal-tab-scrollbar-rail-height) -
417
- var(--theia-private-horizontal-tab-scrollbar-height)
418
- ) / 2
419
- );
420
- }
421
-
422
- .p-TabBar[data-orientation="vertical"] .p-TabBar-content-container {
423
- display: block;
424
- }
425
-
426
- /*-----------------------------------------------------------------------------
427
- | Dragged tabs
428
- |----------------------------------------------------------------------------*/
429
-
430
- .p-TabBar-tab.p-mod-drag-image {
431
- transform: translateX(-40%) translateY(-58%);
432
- opacity: 0.8;
433
- line-height: var(--theia-private-horizontal-tab-height);
434
- height: var(--theia-private-horizontal-tab-height);
435
- min-height: var(--theia-private-horizontal-tab-height);
436
- padding: 0px 10px;
437
- font-size: var(--theia-ui-font-size1);
438
- background: var(--theia-editorGroupHeader-tabsBackground);
439
- border: var(--theia-border-width) solid var(--theia-contrastBorder);
440
- box-shadow: 1px 1px 2px var(--theia-widget-shadow);
441
- display: flex;
442
- align-items: center;
443
- }
444
-
445
- /*-----------------------------------------------------------------------------
446
- | Tab-bar toolbar
447
- |----------------------------------------------------------------------------*/
448
-
449
- .p-TabBar-toolbar {
450
- z-index: var(
451
- --theia-tabbar-toolbar-z-index
452
- ); /* Due to the scrollbar (`z-index: 1000;`) it has a greater `z-index`. */
453
- display: flex;
454
- flex-direction: row-reverse;
455
- padding: 4px;
456
- padding-left: 0px;
457
- margin-right: 4px;
458
- }
459
-
460
- .p-TabBar-content-container {
461
- display: flex;
462
- flex: 1;
463
- position: relative; /* This is necessary for perfect-scrollbar */
464
- }
465
-
466
- .p-TabBar-toolbar .item {
467
- opacity: var(--theia-mod-disabled-opacity);
468
- cursor: default;
469
- display: flex;
470
- flex-direction: row;
471
- column-gap: 0px;
472
- align-items: centery;
473
- }
474
-
475
- .p-TabBar-toolbar .item>div {
476
- height: 100%;
477
- }
478
-
479
- .p-TabBar-toolbar .item.enabled {
480
- opacity: 1;
481
- cursor: pointer;
482
- }
483
-
484
- .p-TabBar-toolbar :not(.item.enabled) .action-label {
485
- background: transparent;
486
- cursor: default;
487
- }
488
-
489
- .p-TabBar-toolbar .item.toggled {
490
- border: var(--theia-border-width) var(--theia-inputOption-activeBorder) solid;
491
- background-color: var(--theia-inputOption-activeBackground);
492
- }
493
-
494
- .p-TabBar-toolbar .item > div {
495
- line-height: calc(var(--theia-icon-size)+2px);
496
- height: calc(var(--theia-icon-size)+2px);
497
- background-repeat: no-repeat;
498
- line-height: 18px;
499
- }
500
-
501
- .p-TabBar-toolbar .item > div.no-icon {
502
- /* Make room for a text label instead of an icon. */
503
- width: 100%;
504
- }
505
-
506
- .p-TabBar-toolbar .item .collapse-all {
507
- background: var(--theia-icon-collapse-all) no-repeat;
508
- }
509
-
510
- .p-TabBar-toolbar .item .close {
511
- background: var(--theia-icon-collapse-all) no-repeat;
512
- }
513
-
514
- .p-TabBar-toolbar .item .clear-all {
515
- background: var(--theia-icon-clear) no-repeat;
516
- }
517
-
518
- .p-TabBar-toolbar .item .refresh {
519
- background: var(--theia-icon-refresh) no-repeat;
520
- }
521
-
522
- .p-TabBar-toolbar .item .cancel {
523
- background: var(--theia-icon-close) no-repeat;
524
- }
525
-
526
- /**
527
- * The chevron for the pop-up menu indication is shrunk and
528
- * stuffed in the bottom-right corner.
529
- */
530
- .p-TabBar-toolbar .item.menu .chevron {
531
- font-size: 8px;
532
- vertical-align: bottom;
533
- }
534
-
535
- #theia-main-content-panel
536
- .p-TabBar:not(.theia-tabBar-active)
537
- .p-TabBar-toolbar {
538
- display: none;
539
- }
540
-
541
- .theia-tabBar-breadcrumb-row {
542
- min-width: 100%;
543
- }
544
-
545
- .p-TabBar.theia-tabBar-multirow[data-orientation="horizontal"] {
546
- min-height: calc(
547
- var(--theia-breadcrumbs-height) + var(--theia-horizontal-toolbar-height)
548
- );
549
- flex-direction: column;
550
- }
551
-
552
- .p-TabBar[data-orientation="horizontal"] .theia-tabBar-tab-row {
553
- display: flex;
554
- flex-flow: row nowrap;
555
- min-width: 100%;
556
- }
557
-
558
- .p-TabBar[data-orientation="vertical"] .theia-tabBar-tab-row {
559
- display: flex;
560
- flex-flow: column nowrap;
561
- height: 100%;
562
- }
563
-
564
- .p-TabBar[data-orientation="horizontal"] .p-TabBar-content {
565
- flex-direction: row;
566
- }
567
-
568
- .p-TabBar[data-orientation="vertical"] .p-TabBar-content {
569
- flex-direction: column;
570
- }
571
-
572
- .p-TabBar.theia-app-centers[data-orientation="horizontal"].dynamic-tabs
573
- .p-TabBar-tabLabel {
574
- /* fade out text with dynamic tabs strategy */
575
- mask-image: linear-gradient(
576
- to left,
577
- rgba(0, 0, 0, 0.3),
578
- rgba(0, 0, 0, 1) 15px
579
- );
580
- -webkit-mask-image: linear-gradient(
581
- to left,
582
- rgba(0, 0, 0, 0.3),
583
- rgba(0, 0, 0, 1) 15px
584
- );
585
- flex: 1;
586
- }
587
-
588
- .p-TabBar[data-orientation="horizontal"] .p-TabBar-tab .theia-tab-icon-label {
589
- flex: 1;
590
- overflow: hidden;
591
- }
592
-
593
- .theia-horizontal-tabBar-hover-div {
594
- margin: 0px 4px;
595
- }
596
-
597
- .enhanced-preview-container {
598
- margin: 4px 4px;
599
- pointer-events: none;
600
- background: var(--theia-editor-background);
601
- position: relative;
602
- overflow: hidden;
603
- }
604
-
605
- .enhanced-preview {
606
- transform-origin: top left;
607
- }
608
-
609
- .theia-horizontal-tabBar-hover-title {
610
- font-weight: bolder;
611
- max-width: var(--theia-hover-preview-width);
612
- word-wrap: break-word;
613
- font-size: medium;
614
- margin: 0px 0px;
615
- }
616
-
617
- .theia-horizontal-tabBar-hover-caption {
618
- font-size: small;
619
- max-width: var(--theia-hover-preview-width);
620
- word-wrap: break-word;
621
- margin: 0px 0px;
622
- margin-top: 4px;
623
- }
624
-
625
- /*-----------------------------------------------------------------------------
626
- | Open tabs dropdown
627
- |----------------------------------------------------------------------------*/
628
- .theia-tabBar-open-tabs
629
- > .theia-select-component
630
- .theia-select-component-label {
631
- display: none;
632
- }
633
-
634
- .theia-tabBar-open-tabs > .theia-select-component {
635
- min-width: auto;
636
- height: 100%;
637
- }
638
-
639
- .theia-tabBar-open-tabs {
640
- flex: 0 0 auto;
641
- display: flex;
642
- align-items: center;
643
- }
644
-
645
- .theia-tabBar-open-tabs.p-mod-hidden {
646
- display: none;
647
- }
1
+ /*-----------------------------------------------------------------------------
2
+ | Variables
3
+ |----------------------------------------------------------------------------*/
4
+
5
+ :root {
6
+ /* These need to be root because tabs get attached to the body during dragging. */
7
+ --theia-private-horizontal-tab-height: 28.5px;
8
+ --theia-private-horizontal-tab-scrollbar-rail-height: 7px;
9
+ --theia-private-horizontal-tab-scrollbar-height: 5px;
10
+ --theia-tabbar-toolbar-z-index: 1001;
11
+ --theia-toolbar-active-transform-scale: 1.272019649;
12
+ --theia-horizontal-toolbar-height: calc(
13
+ var(--theia-private-horizontal-tab-height) +
14
+ var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2
15
+ );
16
+ --theia-dragover-tab-border-width: 2px;
17
+ }
18
+
19
+ /*-----------------------------------------------------------------------------
20
+ | General tab bar style
21
+ |----------------------------------------------------------------------------*/
22
+
23
+ .p-TabBar {
24
+ font-size: var(--theia-ui-font-size1);
25
+ }
26
+
27
+ .p-TabBar[data-orientation="horizontal"] {
28
+ min-height: var(--theia-horizontal-toolbar-height);
29
+ }
30
+
31
+ .p-TabBar .p-TabBar-content {
32
+ cursor: pointer;
33
+ }
34
+
35
+ .p-TabBar[data-orientation="horizontal"] .p-TabBar-tab {
36
+ flex: none;
37
+ height: var(--theia-horizontal-toolbar-height);
38
+ min-width: 35px;
39
+ line-height: var(--theia-private-horizontal-tab-height);
40
+ padding: 0px 8px;
41
+ align-items: center;
42
+ overflow: hidden;
43
+ }
44
+
45
+ .p-TabBar[data-orientation="vertical"] .p-TabBar-tab {
46
+ border-top: var(--theia-dragover-tab-border-width) solid transparent !important;
47
+ border-bottom: var(--theia-dragover-tab-border-width) solid transparent !important;
48
+ }
49
+
50
+ .p-TabBar[data-orientation="vertical"] .p-TabBar-tab.drop-target-top {
51
+ border-top-color: var(--theia-activityBar-activeBorder) !important;
52
+ }
53
+
54
+ .p-TabBar[data-orientation="vertical"] .p-TabBar-tab.drop-target-bottom {
55
+ border-bottom-color: var(--theia-activityBar-activeBorder) !important;
56
+ }
57
+
58
+ .p-TabBar[data-orientation="horizontal"] .p-TabBar-tab .theia-tab-icon-label,
59
+ .p-TabBar-tab.p-mod-drag-image .theia-tab-icon-label {
60
+ display: flex;
61
+ line-height: var(--theia-content-line-height);
62
+ align-items: center;
63
+ }
64
+
65
+ /*-----------------------------------------------------------------------------
66
+ | Tabs in the center area (main and bottom)
67
+ |----------------------------------------------------------------------------*/
68
+
69
+ #theia-main-content-panel,
70
+ #theia-main-content-panel .p-Widget.p-DockPanel-widget {
71
+ background: var(--theia-editor-background);
72
+ }
73
+
74
+ #theia-main-content-panel .p-DockPanel-handle[data-orientation="horizontal"] {
75
+ border-left: var(--theia-border-width) solid var(--theia-editorGroup-border);
76
+ }
77
+
78
+ #theia-main-content-panel
79
+ .p-DockPanel-handle[data-orientation="vertical"]
80
+ + .p-TabBar {
81
+ border-top: var(--theia-border-width) solid var(--theia-editorGroup-border);
82
+ }
83
+
84
+ #theia-main-content-panel .p-TabBar .p-TabBar-tab {
85
+ border-right: 1px solid var(--theia-tab-border);
86
+ border-top: 1px solid transparent;
87
+ border-bottom: 1px solid transparent;
88
+ background: var(--theia-tab-inactiveBackground);
89
+ color: var(--theia-tab-inactiveForeground);
90
+ }
91
+
92
+ #theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab {
93
+ color: var(--theia-tab-unfocusedInactiveForeground);
94
+ }
95
+
96
+ .p-TabBar.theia-app-centers {
97
+ background: var(--theia-editorGroupHeader-tabsBackground);
98
+ }
99
+
100
+ .p-TabBar.theia-app-centers::after {
101
+ content: "";
102
+ position: absolute;
103
+ bottom: 0;
104
+ left: 0;
105
+ pointer-events: none;
106
+ background-color: var(--theia-editorGroupHeader-tabsBorder);
107
+ width: 100%;
108
+ height: 1px;
109
+ }
110
+
111
+ .p-TabBar.theia-app-centers .p-TabBar-tabIcon,
112
+ .p-TabBar.theia-app-centers .p-TabBar-tabLabel,
113
+ .p-TabBar.theia-app-centers .p-TabBar-tabLabelDetails,
114
+ .p-TabBar.theia-app-centers .p-TabBar-tabCloseIcon {
115
+ display: inline-block;
116
+ }
117
+
118
+ .p-TabBar.theia-app-centers .p-TabBar-tabLabelDetails {
119
+ margin-left: 5px;
120
+ color: var(--theia-descriptionForeground);
121
+ flex: 1 1 auto;
122
+ overflow: hidden;
123
+ white-space: nowrap;
124
+ }
125
+
126
+ .p-TabBar-tail {
127
+ padding-left: 5px;
128
+ text-align: center;
129
+ justify-content: center;
130
+ }
131
+
132
+ .p-TabBar.theia-app-centers .p-TabBar-tabLabelWrapper {
133
+ display: flex;
134
+ }
135
+
136
+ .p-TabBar-tab-secondary-label {
137
+ color: var(--theia-settings-headerForeground);
138
+ cursor: pointer;
139
+ font-size: var(--theia-ui-font-size0);
140
+ margin-left: 5px;
141
+ text-decoration-line: underline;
142
+
143
+ -webkit-appearance: none;
144
+ -moz-appearance: none;
145
+ background-image: linear-gradient(
146
+ 45deg,
147
+ transparent 50%,
148
+ var(--theia-icon-foreground) 50%
149
+ ),
150
+ linear-gradient(135deg, var(--theia-icon-foreground) 50%, transparent 50%);
151
+ background-position: calc(100% - 6px) 8px, calc(100% - 2px) 8px, 100% 0;
152
+ background-size: 4px 5px;
153
+ background-repeat: no-repeat;
154
+ padding: 2px 14px 0 0;
155
+ }
156
+
157
+ .p-TabBar .p-TabBar-tabIcon,
158
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon {
159
+ width: 15px;
160
+ line-height: 1.7;
161
+ font-size: 12px;
162
+ text-align: center;
163
+ background-repeat: no-repeat;
164
+ }
165
+
166
+ /* common icons */
167
+ .p-TabBar.theia-app-centers .p-TabBar-tabIcon,
168
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon {
169
+ min-height: 14px;
170
+ background-size: 13px;
171
+ background-position-y: 3px;
172
+ background: var(--theia-icon-foreground);
173
+ -webkit-mask-repeat: no-repeat;
174
+ -webkit-mask-size: auto 13px;
175
+ mask-repeat: no-repeat;
176
+ mask-size: auto 13px;
177
+ padding-right: 8px;
178
+ }
179
+
180
+ .p-TabBar.theia-app-centers .p-TabBar-tabIcon[class*="plugin-icon-"],
181
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon[class*="plugin-icon-"] {
182
+ background: none;
183
+ height: var(--theia-icon-size);
184
+ }
185
+
186
+ .p-TabBar.theia-app-centers .p-TabBar-tabIcon[class*="plugin-icon-"]::before,
187
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon[class*="plugin-icon-"]::before {
188
+ display: inline-block;
189
+ }
190
+
191
+ /* codicons */
192
+ .p-TabBar.theia-app-centers .p-TabBar-tabIcon.codicon,
193
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.codicon {
194
+ background: none;
195
+ }
196
+
197
+ .p-TabBar-tabLock:after {
198
+ content: "\ebe7";
199
+ opacity: 0.75;
200
+ margin-left: 4px;
201
+ color: inherit;
202
+ font-family: codicon;
203
+ font-size: 16px;
204
+ font-weight: normal;
205
+ display: inline-block;
206
+ vertical-align: top;
207
+ }
208
+
209
+ /* file icons */
210
+ .p-TabBar[data-orientation="horizontal"] .p-TabBar-tabIcon.file-icon,
211
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.file-icon {
212
+ background: none;
213
+ padding-bottom: 0px;
214
+ min-height: 20px;
215
+ }
216
+
217
+ .p-TabBar[data-orientation="horizontal"] .p-TabBar-tabIcon.fa,
218
+ .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.fa {
219
+ background: none;
220
+ min-height: 0;
221
+ height: inherit;
222
+ }
223
+
224
+ .p-TabBar[data-orientation="vertical"] .p-TabBar-tab.p-mod-invisible {
225
+ visibility: hidden;
226
+ }
227
+
228
+ .p-TabBar.theia-app-centers
229
+ .p-TabBar-tab.p-mod-closable
230
+ > .p-TabBar-tabCloseIcon,
231
+ .p-TabBar.theia-app-centers
232
+ .p-TabBar-tab.theia-mod-pinned
233
+ > .p-TabBar-tabCloseIcon {
234
+ padding: 2px;
235
+ margin-top: 2px;
236
+ margin-left: 4px;
237
+ height: var(--theia-icon-size);
238
+ width: var(--theia-icon-size);
239
+ font: normal normal normal 16px/1 codicon;
240
+ display: inline-block;
241
+ text-decoration: none;
242
+ text-rendering: auto;
243
+ text-align: center;
244
+ -webkit-font-smoothing: antialiased;
245
+ -moz-osx-font-smoothing: grayscale;
246
+ user-select: none;
247
+ -webkit-user-select: none;
248
+ -ms-user-select: none;
249
+ }
250
+
251
+ .p-TabBar.theia-app-centers.dynamic-tabs
252
+ .p-TabBar-tab.p-mod-closable
253
+ > .p-TabBar-tabCloseIcon,
254
+ .p-TabBar.theia-app-centers.dynamic-tabs
255
+ .p-TabBar-tab.theia-mod-pinned
256
+ > .p-TabBar-tabCloseIcon {
257
+ /* hide close icon for dynamic tabs strategy*/
258
+ display: none;
259
+ }
260
+
261
+ .p-TabBar.theia-app-centers
262
+ .p-TabBar-tab.p-mod-current
263
+ > .p-TabBar-tabCloseIcon,
264
+ .p-TabBar.theia-app-centers
265
+ .p-TabBar-tab:hover.p-mod-closable
266
+ > .p-TabBar-tabCloseIcon,
267
+ .p-TabBar.theia-app-centers
268
+ .p-TabBar-tab:hover.theia-mod-pinned
269
+ > .p-TabBar-tabCloseIcon {
270
+ display: inline-block;
271
+ }
272
+
273
+ .p-TabBar.theia-app-centers
274
+ .p-TabBar-tab.p-mod-closable
275
+ > .p-TabBar-tabCloseIcon:hover {
276
+ border-radius: 5px;
277
+ background-color: rgba(50%, 50%, 50%, 0.2);
278
+ }
279
+
280
+ .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable,
281
+ .p-TabBar.theia-app-centers .p-TabBar-tab.theia-mod-pinned {
282
+ padding-right: 4px;
283
+ }
284
+
285
+ .p-TabBar.theia-app-centers
286
+ .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty):hover
287
+ > .p-TabBar-tabCloseIcon:before,
288
+ .p-TabBar.theia-app-centers
289
+ .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty).p-TabBar-tab.p-mod-current
290
+ > .p-TabBar-tabCloseIcon:before,
291
+ .p-TabBar.theia-app-centers
292
+ .p-TabBar-tab.p-mod-closable.theia-mod-dirty
293
+ > .p-TabBar-tabCloseIcon:hover:before {
294
+ content: "\ea76";
295
+ }
296
+
297
+ .p-TabBar.theia-app-centers
298
+ .p-TabBar-tab.p-mod-closable.theia-mod-dirty
299
+ > .p-TabBar-tabCloseIcon:before {
300
+ content: "\ea71";
301
+ }
302
+
303
+ .p-TabBar.theia-app-centers
304
+ .p-TabBar-tab.theia-mod-pinned
305
+ > .p-TabBar-tabCloseIcon:before {
306
+ content: "\eba0";
307
+ }
308
+
309
+ .p-TabBar.theia-app-centers
310
+ .p-TabBar-tab.theia-mod-pinned.theia-mod-dirty
311
+ > .p-TabBar-tabCloseIcon:before {
312
+ content: "\ebb2";
313
+ }
314
+
315
+ .p-TabBar-tabIcon.no-icon {
316
+ display: none !important;
317
+ }
318
+
319
+ .theia-badge-decorator-sidebar {
320
+ background-color: var(--theia-activityBarBadge-background);
321
+ border-radius: 20px;
322
+ color: var(--theia-activityBarBadge-foreground);
323
+ font-size: calc(var(--theia-ui-font-size0) * 0.85);
324
+ font-weight: 600;
325
+ height: var(--theia-notification-count-height);
326
+ width: var(--theia-notification-count-width);
327
+ padding: calc(var(--theia-ui-padding) / 6);
328
+ line-height: calc(var(--theia-content-line-height) * 0.7);
329
+ position: absolute;
330
+ top: calc(var(--theia-ui-padding) * 4);
331
+ right: calc(var(--theia-ui-padding) * 1.33);
332
+ text-align: center;
333
+ }
334
+
335
+ .p-TabBar .theia-badge-decorator-horizontal {
336
+ background-color: var(--theia-badge-background);
337
+ border-radius: 20px;
338
+ box-sizing: border-box;
339
+ color: var(--theia-activityBarBadge-foreground);
340
+ font-size: calc(var(--theia-ui-font-size0) * 0.8);
341
+ font-weight: 400;
342
+ height: var(--theia-notification-count-height);
343
+ width: var(--theia-notification-count-width);
344
+ padding: calc(var(--theia-ui-padding) / 6);
345
+ line-height: calc(var(--theia-content-line-height) * 0.61);
346
+ margin-left: var(--theia-ui-padding);
347
+ text-align: center;
348
+ }
349
+
350
+ /*-----------------------------------------------------------------------------
351
+ | Perfect scrollbar
352
+ |----------------------------------------------------------------------------*/
353
+
354
+ .p-TabBar[data-orientation="horizontal"]
355
+ .p-TabBar-content-container
356
+ > .ps__rail-x {
357
+ height: var(--theia-private-horizontal-tab-scrollbar-rail-height);
358
+ z-index: 1000;
359
+ }
360
+
361
+ .p-TabBar[data-orientation="horizontal"]
362
+ .p-TabBar-content-container
363
+ > .ps__rail-x
364
+ > .ps__thumb-x {
365
+ height: var(--theia-private-horizontal-tab-scrollbar-height) !important;
366
+ bottom: calc(
367
+ (
368
+ var(--theia-private-horizontal-tab-scrollbar-rail-height) -
369
+ var(--theia-private-horizontal-tab-scrollbar-height)
370
+ ) / 2
371
+ );
372
+ }
373
+
374
+ .p-TabBar[data-orientation="horizontal"]
375
+ .p-TabBar-content-container
376
+ > .ps__rail-x:hover,
377
+ .p-TabBar[data-orientation="horizontal"]
378
+ .p-TabBar-content-container
379
+ > .ps__rail-x:focus {
380
+ height: var(--theia-private-horizontal-tab-scrollbar-rail-height) !important;
381
+ }
382
+
383
+ .p-TabBar[data-orientation="horizontal"]
384
+ .p-TabBar-content-container
385
+ > .ps__rail-x:hover
386
+ > .ps__thumb-x,
387
+ .p-TabBar[data-orientation="horizontal"]
388
+ .p-TabBar-content-container
389
+ > .ps__rail-x:focus
390
+ > .ps__thumb-x {
391
+ height: calc(
392
+ var(--theia-private-horizontal-tab-scrollbar-height) / 2
393
+ ) !important;
394
+ bottom: calc(
395
+ (
396
+ var(--theia-private-horizontal-tab-scrollbar-rail-height) -
397
+ var(--theia-private-horizontal-tab-scrollbar-height)
398
+ ) / 2
399
+ );
400
+ }
401
+
402
+ .p-TabBar[data-orientation="vertical"]
403
+ .p-TabBar-content-container
404
+ > .ps__rail-y {
405
+ width: var(--theia-private-horizontal-tab-scrollbar-rail-height);
406
+ z-index: 1000;
407
+ }
408
+
409
+ .p-TabBar[data-orientation="vertical"]
410
+ .p-TabBar-content-container
411
+ > .ps__rail-y
412
+ > .ps__thumb-y {
413
+ width: var(--theia-private-horizontal-tab-scrollbar-height) !important;
414
+ right: calc(
415
+ (
416
+ var(--theia-private-horizontal-tab-scrollbar-rail-height) -
417
+ var(--theia-private-horizontal-tab-scrollbar-height)
418
+ ) / 2
419
+ );
420
+ }
421
+
422
+ .p-TabBar[data-orientation="vertical"] .p-TabBar-content-container {
423
+ display: block;
424
+ }
425
+
426
+ /*-----------------------------------------------------------------------------
427
+ | Dragged tabs
428
+ |----------------------------------------------------------------------------*/
429
+
430
+ .p-TabBar-tab.p-mod-drag-image {
431
+ transform: translateX(-40%) translateY(-58%);
432
+ opacity: 0.8;
433
+ line-height: var(--theia-private-horizontal-tab-height);
434
+ height: var(--theia-private-horizontal-tab-height);
435
+ min-height: var(--theia-private-horizontal-tab-height);
436
+ padding: 0px 10px;
437
+ font-size: var(--theia-ui-font-size1);
438
+ background: var(--theia-editorGroupHeader-tabsBackground);
439
+ border: var(--theia-border-width) solid var(--theia-contrastBorder);
440
+ box-shadow: 1px 1px 2px var(--theia-widget-shadow);
441
+ display: flex;
442
+ align-items: center;
443
+ }
444
+
445
+ /*-----------------------------------------------------------------------------
446
+ | Tab-bar toolbar
447
+ |----------------------------------------------------------------------------*/
448
+
449
+ .p-TabBar-toolbar {
450
+ z-index: var(
451
+ --theia-tabbar-toolbar-z-index
452
+ ); /* Due to the scrollbar (`z-index: 1000;`) it has a greater `z-index`. */
453
+ display: flex;
454
+ flex-direction: row-reverse;
455
+ padding: 4px;
456
+ padding-left: 0px;
457
+ margin-right: 4px;
458
+ }
459
+
460
+ .p-TabBar-content-container {
461
+ display: flex;
462
+ flex: 1;
463
+ position: relative; /* This is necessary for perfect-scrollbar */
464
+ }
465
+
466
+ .p-TabBar-toolbar .item {
467
+ opacity: var(--theia-mod-disabled-opacity);
468
+ cursor: default;
469
+ display: flex;
470
+ flex-direction: row;
471
+ column-gap: 0px;
472
+ align-items: centery;
473
+ }
474
+
475
+ .p-TabBar-toolbar .item>div {
476
+ height: 100%;
477
+ }
478
+
479
+ .p-TabBar-toolbar .item.enabled {
480
+ opacity: 1;
481
+ cursor: pointer;
482
+ }
483
+
484
+ .p-TabBar-toolbar :not(.item.enabled) .action-label {
485
+ background: transparent;
486
+ cursor: default;
487
+ }
488
+
489
+ .p-TabBar-toolbar .item.toggled {
490
+ border: var(--theia-border-width) var(--theia-inputOption-activeBorder) solid;
491
+ background-color: var(--theia-inputOption-activeBackground);
492
+ }
493
+
494
+ .p-TabBar-toolbar .item > div {
495
+ line-height: calc(var(--theia-icon-size)+2px);
496
+ height: calc(var(--theia-icon-size)+2px);
497
+ background-repeat: no-repeat;
498
+ line-height: 18px;
499
+ }
500
+
501
+ .p-TabBar-toolbar .item > div.no-icon {
502
+ /* Make room for a text label instead of an icon. */
503
+ width: 100%;
504
+ }
505
+
506
+ .p-TabBar-toolbar .item .collapse-all {
507
+ background: var(--theia-icon-collapse-all) no-repeat;
508
+ }
509
+
510
+ .p-TabBar-toolbar .item .close {
511
+ background: var(--theia-icon-collapse-all) no-repeat;
512
+ }
513
+
514
+ .p-TabBar-toolbar .item .clear-all {
515
+ background: var(--theia-icon-clear) no-repeat;
516
+ }
517
+
518
+ .p-TabBar-toolbar .item .refresh {
519
+ background: var(--theia-icon-refresh) no-repeat;
520
+ }
521
+
522
+ .p-TabBar-toolbar .item .cancel {
523
+ background: var(--theia-icon-close) no-repeat;
524
+ }
525
+
526
+ /**
527
+ * The chevron for the pop-up menu indication is shrunk and
528
+ * stuffed in the bottom-right corner.
529
+ */
530
+ .p-TabBar-toolbar .item.menu .chevron {
531
+ font-size: 8px;
532
+ vertical-align: bottom;
533
+ }
534
+
535
+ #theia-main-content-panel
536
+ .p-TabBar:not(.theia-tabBar-active)
537
+ .p-TabBar-toolbar {
538
+ display: none;
539
+ }
540
+
541
+ .theia-tabBar-breadcrumb-row {
542
+ min-width: 100%;
543
+ }
544
+
545
+ .p-TabBar.theia-tabBar-multirow[data-orientation="horizontal"] {
546
+ min-height: calc(
547
+ var(--theia-breadcrumbs-height) + var(--theia-horizontal-toolbar-height)
548
+ );
549
+ flex-direction: column;
550
+ }
551
+
552
+ .p-TabBar[data-orientation="horizontal"] .theia-tabBar-tab-row {
553
+ display: flex;
554
+ flex-flow: row nowrap;
555
+ min-width: 100%;
556
+ }
557
+
558
+ .p-TabBar[data-orientation="vertical"] .theia-tabBar-tab-row {
559
+ display: flex;
560
+ flex-flow: column nowrap;
561
+ height: 100%;
562
+ }
563
+
564
+ .p-TabBar[data-orientation="horizontal"] .p-TabBar-content {
565
+ flex-direction: row;
566
+ }
567
+
568
+ .p-TabBar[data-orientation="vertical"] .p-TabBar-content {
569
+ flex-direction: column;
570
+ }
571
+
572
+ .p-TabBar.theia-app-centers[data-orientation="horizontal"].dynamic-tabs
573
+ .p-TabBar-tabLabel {
574
+ /* fade out text with dynamic tabs strategy */
575
+ mask-image: linear-gradient(
576
+ to left,
577
+ rgba(0, 0, 0, 0.3),
578
+ rgba(0, 0, 0, 1) 15px
579
+ );
580
+ -webkit-mask-image: linear-gradient(
581
+ to left,
582
+ rgba(0, 0, 0, 0.3),
583
+ rgba(0, 0, 0, 1) 15px
584
+ );
585
+ flex: 1;
586
+ }
587
+
588
+ .p-TabBar[data-orientation="horizontal"] .p-TabBar-tab .theia-tab-icon-label {
589
+ flex: 1;
590
+ overflow: hidden;
591
+ }
592
+
593
+ .theia-horizontal-tabBar-hover-div {
594
+ margin: 0px 4px;
595
+ }
596
+
597
+ .enhanced-preview-container {
598
+ margin: 4px 4px;
599
+ pointer-events: none;
600
+ background: var(--theia-editor-background);
601
+ position: relative;
602
+ overflow: hidden;
603
+ }
604
+
605
+ .enhanced-preview {
606
+ transform-origin: top left;
607
+ }
608
+
609
+ .theia-horizontal-tabBar-hover-title {
610
+ font-weight: bolder;
611
+ max-width: var(--theia-hover-preview-width);
612
+ word-wrap: break-word;
613
+ font-size: medium;
614
+ margin: 0px 0px;
615
+ }
616
+
617
+ .theia-horizontal-tabBar-hover-caption {
618
+ font-size: small;
619
+ max-width: var(--theia-hover-preview-width);
620
+ word-wrap: break-word;
621
+ margin: 0px 0px;
622
+ margin-top: 4px;
623
+ }
624
+
625
+ /*-----------------------------------------------------------------------------
626
+ | Open tabs dropdown
627
+ |----------------------------------------------------------------------------*/
628
+ .theia-tabBar-open-tabs
629
+ > .theia-select-component
630
+ .theia-select-component-label {
631
+ display: none;
632
+ }
633
+
634
+ .theia-tabBar-open-tabs > .theia-select-component {
635
+ min-width: auto;
636
+ height: 100%;
637
+ }
638
+
639
+ .theia-tabBar-open-tabs {
640
+ flex: 0 0 auto;
641
+ display: flex;
642
+ align-items: center;
643
+ }
644
+
645
+ .theia-tabBar-open-tabs.p-mod-hidden {
646
+ display: none;
647
+ }