@theia/preferences 1.34.1 → 1.34.3

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 (128) hide show
  1. package/LICENSE +641 -641
  2. package/README.md +81 -81
  3. package/lib/browser/abstract-resource-preference-provider.d.ts +46 -46
  4. package/lib/browser/abstract-resource-preference-provider.js +237 -237
  5. package/lib/browser/abstract-resource-preference-provider.spec.d.ts +1 -1
  6. package/lib/browser/abstract-resource-preference-provider.spec.js +83 -83
  7. package/lib/browser/folder-preference-provider.d.ts +20 -20
  8. package/lib/browser/folder-preference-provider.js +59 -59
  9. package/lib/browser/folders-preferences-provider.d.ts +25 -25
  10. package/lib/browser/folders-preferences-provider.js +239 -239
  11. package/lib/browser/index.d.ts +7 -7
  12. package/lib/browser/index.js +34 -34
  13. package/lib/browser/monaco-jsonc-editor.d.ts +9 -9
  14. package/lib/browser/monaco-jsonc-editor.js +80 -80
  15. package/lib/browser/package.spec.js +25 -25
  16. package/lib/browser/preference-bindings.d.ts +4 -4
  17. package/lib/browser/preference-bindings.js +63 -63
  18. package/lib/browser/preference-frontend-module.d.ts +6 -6
  19. package/lib/browser/preference-frontend-module.js +52 -52
  20. package/lib/browser/preference-open-handler.d.ts +9 -9
  21. package/lib/browser/preference-open-handler.js +64 -64
  22. package/lib/browser/preference-transaction-manager.d.ts +98 -98
  23. package/lib/browser/preference-transaction-manager.js +295 -295
  24. package/lib/browser/preference-tree-model.d.ts +59 -59
  25. package/lib/browser/preference-tree-model.js +240 -240
  26. package/lib/browser/preferences-contribution.d.ts +37 -37
  27. package/lib/browser/preferences-contribution.js +279 -279
  28. package/lib/browser/preferences-json-schema-contribution.d.ts +17 -17
  29. package/lib/browser/preferences-json-schema-contribution.js +91 -91
  30. package/lib/browser/preferences-monaco-contribution.d.ts +1 -1
  31. package/lib/browser/preferences-monaco-contribution.js +30 -30
  32. package/lib/browser/section-preference-provider.d.ts +21 -21
  33. package/lib/browser/section-preference-provider.js +96 -96
  34. package/lib/browser/user-configs-preference-provider.d.ts +21 -21
  35. package/lib/browser/user-configs-preference-provider.js +134 -134
  36. package/lib/browser/user-preference-provider.d.ts +13 -13
  37. package/lib/browser/user-preference-provider.js +41 -41
  38. package/lib/browser/util/preference-scope-command-manager.d.ts +17 -17
  39. package/lib/browser/util/preference-scope-command-manager.js +87 -87
  40. package/lib/browser/util/preference-tree-generator.d.ts +30 -30
  41. package/lib/browser/util/preference-tree-generator.js +234 -234
  42. package/lib/browser/util/preference-tree-label-provider.d.ts +11 -11
  43. package/lib/browser/util/preference-tree-label-provider.js +77 -77
  44. package/lib/browser/util/preference-tree-label-provider.spec.d.ts +1 -1
  45. package/lib/browser/util/preference-tree-label-provider.spec.js +87 -87
  46. package/lib/browser/util/preference-types.d.ts +62 -62
  47. package/lib/browser/util/preference-types.js +128 -128
  48. package/lib/browser/views/components/preference-array-input.d.ts +28 -28
  49. package/lib/browser/views/components/preference-array-input.js +180 -180
  50. package/lib/browser/views/components/preference-boolean-input.d.ts +17 -17
  51. package/lib/browser/views/components/preference-boolean-input.js +79 -79
  52. package/lib/browser/views/components/preference-file-input.d.ts +29 -29
  53. package/lib/browser/views/components/preference-file-input.js +110 -110
  54. package/lib/browser/views/components/preference-json-input.d.ts +19 -19
  55. package/lib/browser/views/components/preference-json-input.js +93 -93
  56. package/lib/browser/views/components/preference-node-renderer-creator.d.ts +48 -48
  57. package/lib/browser/views/components/preference-node-renderer-creator.js +132 -132
  58. package/lib/browser/views/components/preference-node-renderer.d.ts +111 -111
  59. package/lib/browser/views/components/preference-node-renderer.js +460 -460
  60. package/lib/browser/views/components/preference-number-input.d.ts +34 -34
  61. package/lib/browser/views/components/preference-number-input.js +142 -142
  62. package/lib/browser/views/components/preference-select-input.d.ts +27 -27
  63. package/lib/browser/views/components/preference-select-input.js +135 -135
  64. package/lib/browser/views/components/preference-string-input.d.ts +17 -17
  65. package/lib/browser/views/components/preference-string-input.js +89 -89
  66. package/lib/browser/views/preference-editor-widget.d.ts +67 -67
  67. package/lib/browser/views/preference-editor-widget.js +376 -376
  68. package/lib/browser/views/preference-scope-tabbar-widget.d.ts +54 -54
  69. package/lib/browser/views/preference-scope-tabbar-widget.js +343 -343
  70. package/lib/browser/views/preference-searchbar-widget.d.ts +53 -53
  71. package/lib/browser/views/preference-searchbar-widget.js +173 -173
  72. package/lib/browser/views/preference-tree-widget.d.ts +17 -17
  73. package/lib/browser/views/preference-tree-widget.js +104 -104
  74. package/lib/browser/views/preference-widget-bindings.d.ts +3 -3
  75. package/lib/browser/views/preference-widget-bindings.js +85 -85
  76. package/lib/browser/views/preference-widget.d.ts +35 -35
  77. package/lib/browser/views/preference-widget.js +123 -123
  78. package/lib/browser/workspace-file-preference-provider.d.ts +23 -23
  79. package/lib/browser/workspace-file-preference-provider.js +110 -110
  80. package/lib/browser/workspace-preference-provider.d.ts +28 -28
  81. package/lib/browser/workspace-preference-provider.js +142 -142
  82. package/package.json +9 -9
  83. package/src/browser/abstract-resource-preference-provider.spec.ts +95 -95
  84. package/src/browser/abstract-resource-preference-provider.ts +228 -228
  85. package/src/browser/folder-preference-provider.ts +58 -58
  86. package/src/browser/folders-preferences-provider.ts +236 -236
  87. package/src/browser/index.ts +23 -23
  88. package/src/browser/monaco-jsonc-editor.ts +67 -67
  89. package/src/browser/package.spec.ts +28 -28
  90. package/src/browser/preference-bindings.ts +65 -65
  91. package/src/browser/preference-frontend-module.ts +57 -57
  92. package/src/browser/preference-open-handler.ts +53 -53
  93. package/src/browser/preference-transaction-manager.ts +283 -283
  94. package/src/browser/preference-tree-model.ts +246 -246
  95. package/src/browser/preferences-contribution.ts +263 -263
  96. package/src/browser/preferences-json-schema-contribution.ts +86 -86
  97. package/src/browser/preferences-monaco-contribution.ts +30 -30
  98. package/src/browser/section-preference-provider.ts +83 -83
  99. package/src/browser/style/index.css +456 -456
  100. package/src/browser/style/preference-array.css +90 -90
  101. package/src/browser/style/preference-context-menu.css +74 -74
  102. package/src/browser/style/preference-file.css +32 -32
  103. package/src/browser/style/preference-object.css +49 -49
  104. package/src/browser/style/search-input.css +66 -66
  105. package/src/browser/user-configs-preference-provider.ts +123 -123
  106. package/src/browser/user-preference-provider.ts +35 -35
  107. package/src/browser/util/preference-scope-command-manager.ts +75 -75
  108. package/src/browser/util/preference-tree-generator.ts +222 -222
  109. package/src/browser/util/preference-tree-label-provider.spec.ts +108 -108
  110. package/src/browser/util/preference-tree-label-provider.ts +64 -64
  111. package/src/browser/util/preference-types.ts +169 -169
  112. package/src/browser/views/components/preference-array-input.ts +174 -174
  113. package/src/browser/views/components/preference-boolean-input.ts +69 -69
  114. package/src/browser/views/components/preference-file-input.ts +104 -104
  115. package/src/browser/views/components/preference-json-input.ts +78 -78
  116. package/src/browser/views/components/preference-node-renderer-creator.ts +141 -141
  117. package/src/browser/views/components/preference-node-renderer.ts +499 -499
  118. package/src/browser/views/components/preference-number-input.ts +147 -147
  119. package/src/browser/views/components/preference-select-input.ts +127 -127
  120. package/src/browser/views/components/preference-string-input.ts +76 -76
  121. package/src/browser/views/preference-editor-widget.ts +361 -361
  122. package/src/browser/views/preference-scope-tabbar-widget.tsx +344 -344
  123. package/src/browser/views/preference-searchbar-widget.tsx +183 -183
  124. package/src/browser/views/preference-tree-widget.tsx +93 -93
  125. package/src/browser/views/preference-widget-bindings.ts +99 -99
  126. package/src/browser/views/preference-widget.tsx +113 -113
  127. package/src/browser/workspace-file-preference-provider.ts +100 -100
  128. package/src/browser/workspace-preference-provider.ts +134 -134
@@ -1,456 +1,456 @@
1
- /********************************************************************************
2
- * Copyright (C) 2019 TypeFox and others.
3
- *
4
- * This program and the accompanying materials are made available under the
5
- * terms of the Eclipse Public License v. 2.0 which is available at
6
- * http://www.eclipse.org/legal/epl-2.0.
7
- *
8
- * This Source Code may also be made available under the following Secondary
9
- * Licenses when the conditions for such availability set forth in the Eclipse
10
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- * with the GNU Classpath Exception which is available at
12
- * https://www.gnu.org/software/classpath/license.html.
13
- *
14
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
- ********************************************************************************/
16
-
17
- #preferences_container_widget .p-SplitPanel-handle {
18
- border-right: var(--theia-border-width) solid var(--theia-editorGroup-border);
19
- }
20
-
21
- #preferences_container_widget .p-TabBar-tabIcon {
22
- align-items: center;
23
- display: flex;
24
- line-height: var(--theia-content-line-height) !important;
25
- }
26
-
27
- /* UI View */
28
-
29
- @import url("./preference-context-menu.css");
30
- @import url("./preference-array.css");
31
- @import url("./preference-file.css");
32
- @import url("./preference-object.css");
33
- @import url("./search-input.css");
34
-
35
- .theia-settings-container {
36
- max-width: 1000px;
37
- padding-top: 11px;
38
- display: grid;
39
- grid-template-areas:
40
- "header header"
41
- "tabbar tabbar"
42
- "navbar editor";
43
- grid-template-columns: minmax(150px, 280px) 1fr;
44
- grid-template-rows: 45px 45px 1fr;
45
- }
46
-
47
- .theia-settings-container .settings-main:not(.no-results) .settings-no-results-announcement {
48
- display: none;
49
- }
50
-
51
- .theia-settings-container .settings-main .hidden {
52
- display: none;
53
- }
54
-
55
- .theia-settings-container .settings-no-results-announcement {
56
- font-weight: bold;
57
- font-size: var(--theia-ui-font-size3);
58
- padding-left: var(--theia-ui-padding);
59
- margin: calc(2*var(--theia-ui-padding)) 0px;
60
- }
61
-
62
- .theia-settings-container .preferences-searchbar-widget {
63
- grid-area: header;
64
- margin: 3px 24px 0px 24px;
65
- }
66
-
67
- .theia-settings-container .preferences-tabbar-widget {
68
- grid-area: tabbar;
69
- margin: 3px 24px 0px 24px;
70
- }
71
-
72
- .theia-settings-container .preferences-tabbar-widget.with-shadow {
73
- box-shadow: 0px 6px 5px -5px var(--theia-widget-shadow);
74
- }
75
-
76
- .theia-settings-container .preferences-tabbar-widget .preferences-scope-tab .p-TabBar-tabIcon:not(.preferences-folder-dropdown-icon) {
77
- display: none;
78
- }
79
-
80
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab {
81
- background: var(--theia-editor-background);
82
- border-right: unset;
83
- border-bottom: var(--theia-border-width) solid var(--theia-tab-unfocusedInactiveForeground);
84
- border-top: none;
85
- }
86
-
87
- #theia-main-content-panel .theia-settings-container .tabbar-underline {
88
- width: 100%;
89
- position: absolute;
90
- top: calc(var(--theia-private-horizontal-tab-height) + var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2 - 1px);
91
- border-top: 1px solid var(--theia-tab-unfocusedInactiveForeground);
92
- z-index: -1;
93
- }
94
-
95
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab {
96
- color: var(--theia-panelTitle-inactiveForeground);
97
- }
98
-
99
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab:hover {
100
- color: var(--theia-panelTitle-activeForeground);
101
- }
102
-
103
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.p-mod-current {
104
- color: var(--theia-panelTitle-activeForeground);
105
- border-bottom: var(--theia-border-width) solid var(--theia-panelTitle-activeBorder);
106
- }
107
-
108
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.p-mod-current:not(.theia-mod-active) {
109
- border-top: unset;
110
- }
111
-
112
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.preferences-folder-tab .p-TabBar-tabLabel::after {
113
- content: 'Folder';
114
- padding-left: 4px;
115
- font-size: 0.8em;
116
- color: var(--theia-tab-inactiveForeground);
117
- }
118
-
119
- #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.preferences-folder-dropdown {
120
- position: relative;
121
- padding-right: 23px;
122
- }
123
-
124
- .preferences-folder-dropdown-icon {
125
- width: 15px;
126
- height: 15px;
127
- position: absolute;
128
- right: var(--theia-ui-padding);
129
- }
130
-
131
- .theia-settings-container .preferences-editor-widget {
132
- grid-area: editor;
133
- }
134
-
135
- .theia-settings-container .preferences-editor-widget.full-pane {
136
- grid-column-start: 1;
137
- grid-column-end: 3;
138
- }
139
-
140
- .theia-settings-container .preferences-tree-widget {
141
- grid-area: navbar;
142
- padding-left: 31px;
143
- }
144
-
145
- .theia-settings-container .preferences-tree-widget .theia-mod-selected {
146
- font-weight: bold;
147
- }
148
-
149
- .theia-settings-container .preferences-tree-widget .theia-TreeNodeSegment {
150
- text-overflow: ellipsis;
151
- overflow: hidden;
152
- max-width: 90%;
153
- }
154
-
155
- .theia-settings-container .settings-main {
156
- height: 100%;
157
- width: 100%;
158
- display: flex;
159
- flex-direction: column;
160
- }
161
-
162
- .theia-settings-container .settings-main-scroll-container {
163
- position: relative;
164
- box-sizing: border-box;
165
- width: 100%;
166
- padding: 0 24px;
167
- flex: 1 1 auto;
168
- }
169
-
170
- .theia-settings-container .settings-main-sticky-misc {
171
- display: flex;
172
- align-items: center;
173
- justify-content: space-between;
174
- flex: 0 1 50px;
175
- }
176
-
177
- .theia-settings-container .settings-main-sticky-misc .json-button>i {
178
- display: inline-block;
179
- background: var(--theia-icon-open-json) no-repeat;
180
- background-position-y: 1px;
181
- -webkit-filter: invert(1);
182
- filter: invert(1);
183
- height: var(--theia-icon-size);
184
- width: var(--theia-icon-size);
185
- }
186
-
187
- .theia-settings-container .settings-scope>label {
188
- margin-right: 12px;
189
- }
190
-
191
- .theia-settings-container .settings-section {
192
- padding-left: 0;
193
- padding-top: var(--theia-ui-padding);
194
- margin-top: calc(var(--theia-ui-padding) * -1);
195
- }
196
-
197
- .theia-settings-container .settings-section a {
198
- border: none;
199
- color: var(--theia-foreground);
200
- font-weight: 500;
201
- outline: 0;
202
- text-decoration: none;
203
- }
204
-
205
- .theia-settings-container .settings-section a:hover {
206
- text-decoration: underline;
207
- }
208
-
209
- .theia-settings-container .settings-section-category-title {
210
- font-weight: bold;
211
- font-size: var(--theia-ui-font-size3);
212
- padding-left: calc(2 * var(--theia-ui-padding));
213
- }
214
-
215
- .theia-settings-container .settings-section-subcategory-title {
216
- font-weight: bold;
217
- font-size: var(--theia-ui-font-size2);
218
- padding-left: calc(2 * var(--theia-ui-padding));
219
- }
220
-
221
- .theia-settings-container .settings-section>li {
222
- list-style-type: none;
223
- margin: var(--theia-ui-padding) 0px;
224
- display: -webkit-box;
225
- display: -ms-flexbox;
226
- display: flex;
227
- -webkit-box-pack: justify;
228
- -ms-flex-pack: justify;
229
- justify-content: space-between;
230
- -webkit-box-align: start;
231
- -ms-flex-align: start;
232
- align-items: start;
233
- }
234
-
235
- .theia-settings-container li.single-pref {
236
- list-style-type: none;
237
- padding: 12px 14px 18px;
238
- width: 100%;
239
- display: flex;
240
- flex-direction: column;
241
- box-sizing: border-box;
242
- position: relative;
243
- }
244
-
245
- .theia-settings-container li.single-pref p {
246
- margin: 0;
247
- }
248
-
249
- .theia-settings-container li.single-pref:hover:not(:focus) {
250
- background-color: var(--theia-settings-rowHoverBackground);
251
- }
252
-
253
- .theia-settings-container li.single-pref:focus {
254
- background-color: var(--theia-settings-focusedRowBackground);
255
- outline: 1px solid var(--theia-settings-focusedRowBorder);
256
- }
257
-
258
- .theia-settings-container li.single-pref .pref-context-gutter {
259
- position: absolute;
260
- height: calc(100% - 36px);
261
- left: -22px;
262
- padding-right: 8px;
263
- border-right: 2px hidden;
264
- }
265
-
266
- .theia-settings-container .settings-context-menu-btn {
267
- opacity: 0;
268
- transition: opacity .5s;
269
- }
270
-
271
- .theia-settings-container .single-pref:focus-within .pref-context-gutter .settings-context-menu-btn,
272
- .theia-settings-container .pref-name:hover+.pref-context-gutter .settings-context-menu-btn,
273
- .theia-settings-container .pref-context-gutter:hover .settings-context-menu-btn,
274
- .theia-settings-container .pref-context-gutter.show-cog .settings-context-menu-btn {
275
- opacity: 1;
276
- }
277
-
278
- .theia-settings-container li.single-pref .pref-context-gutter.theia-mod-item-modified {
279
- border-right: 2px solid var(--theia-settings-modifiedItemIndicator);
280
- }
281
-
282
- .theia-settings-container li.single-pref input[type="text"] {
283
- -webkit-box-sizing: border-box;
284
- box-sizing: border-box;
285
- }
286
-
287
- .theia-settings-container .settings-main {
288
- margin: 0;
289
- }
290
-
291
- .theia-settings-container .settings-main-sticky {
292
- top: 0;
293
- padding-top: calc(var(--theia-ui-padding));
294
- margin-top: calc(var(--theia-ui-padding) * -1);
295
- background-color: var(--theia-editor-background);
296
- -webkit-box-sizing: border-box;
297
- box-sizing: border-box;
298
- z-index: 1000;
299
- display: flex;
300
- flex-direction: column;
301
- justify-content: space-around;
302
- }
303
-
304
- .theia-settings-container .pref-name {
305
- padding: 0;
306
- font-weight: bold;
307
- }
308
-
309
- .theia-settings-container .preference-leaf-headline-prefix {
310
- color: var(--theia-descriptionForeground);
311
- }
312
-
313
- .preferences-tree-spacer {
314
- padding-left: calc(var(--theia-ui-padding)/2);
315
- padding-right: calc(var(--theia-ui-padding)/2);
316
- min-width: var(--theia-icon-size);
317
- min-height: var(--theia-icon-size);
318
- }
319
-
320
- .theia-settings-container .pref-description {
321
- padding: var(--theia-ui-padding) 0;
322
- color: var(--theia-descriptionForeground);
323
- line-height: 18px;
324
- }
325
-
326
- .theia-settings-container .pref-description a {
327
- text-decoration-line: none;
328
- cursor: pointer;
329
- }
330
-
331
- .theia-settings-container .theia-select:focus {
332
- outline-width: 1px;
333
- outline-style: solid;
334
- outline-offset: -1px;
335
- opacity: 1 !important;
336
- outline-color: var(--theia-focusBorder);
337
- }
338
-
339
- .theia-settings-container .theia-input[type="text"] {
340
- border: 1px solid var(--theia-dropdown-border);
341
- }
342
-
343
- .theia-settings-container .theia-input[type="checkbox"]:focus,
344
- .theia-settings-container .theia-input[type="number"]:focus {
345
- outline-width: 2px;
346
- }
347
-
348
- .theia-settings-container .theia-input[type="checkbox"] {
349
- margin-left: 0;
350
- }
351
-
352
- /* Remove the spinners from input[type = number] on Firefox. */
353
- .theia-settings-container .theia-input[type="number"] {
354
- -webkit-appearance: textfield;
355
- border: 1px solid var(--theia-dropdown-border);
356
- }
357
-
358
- /* Remove the webkit spinners from input[type = number] on all browsers except Firefox. */
359
- .theia-settings-container input::-webkit-outer-spin-button,
360
- .theia-settings-container input::-webkit-inner-spin-button {
361
- -webkit-appearance: none;
362
- margin: 0;
363
- }
364
-
365
- .theia-settings-container .pref-content-container .pref-input .pref-input-container .pref-error-notification {
366
- border-style: solid;
367
- border-color: var(--theia-inputValidation-errorBorder);
368
- background-color: var(--theia-inputValidation-errorBackground);
369
- width: 100%;
370
- box-sizing: border-box;
371
- padding: var(--theia-ui-padding);
372
- }
373
-
374
- .theia-settings-container .pref-content-container .pref-input .pref-input-container {
375
- display: flex;
376
- flex-direction: column;
377
- }
378
-
379
- .theia-settings-container .pref-content-container a.theia-json-input {
380
- text-decoration: underline;
381
- color: var(--theia-titleBar-activeForeground)
382
- }
383
-
384
- .theia-settings-container .pref-content-container a.theia-json-input:hover {
385
- text-decoration: none;
386
- cursor: pointer;
387
- }
388
-
389
- .theia-settings-container .pref-content-container {
390
- width: 100%;
391
- }
392
-
393
- .theia-settings-container .pref-content-container .pref-input {
394
- padding: var(--theia-ui-padding) 0;
395
- width: 100%;
396
- max-width: 320px;
397
- }
398
-
399
- .theia-settings-container .pref-content-container .pref-input>select,
400
- .theia-settings-container .pref-content-container .pref-input>input:not([type="checkbox"]) {
401
- width: 100%;
402
- }
403
-
404
-
405
- /* These specifications for the boolean class ensure that the
406
- checkbox is rendered to the left of the description.
407
- */
408
- .theia-settings-container .pref-content-container.boolean {
409
- display: grid;
410
- grid-template-columns: 20px 1fr;
411
- }
412
-
413
- .theia-settings-container .pref-content-container.boolean .pref-description {
414
- grid-column-start: 2;
415
- grid-row-start: 1;
416
- }
417
-
418
- .theia-settings-container .pref-content-container.boolean .pref-input {
419
- grid-column-start: 1;
420
- grid-row-start: 1;
421
- margin: 0;
422
- }
423
-
424
- .theia-settings-container .settings-section>li:last-child {
425
- margin-bottom: 20px;
426
- }
427
-
428
- .theia-settings-container .preference-leaf-headline-suffix {
429
- font-weight: normal;
430
- color: var(--theia-descriptionForeground);
431
- }
432
-
433
- .theia-settings-container .preference-leaf-headline-suffix::before {
434
- content: ' (';
435
- }
436
-
437
- .theia-settings-container .preference-leaf-headline-suffix::after {
438
- content: ')';
439
- }
440
-
441
- .theia-settings-container .preference-scope-underlined {
442
- text-decoration: underline;
443
- cursor: pointer;
444
- }
445
-
446
- .theia-settings-container .preference-modified-scope-wrapper:not(:last-child)::after {
447
- content: ', ';
448
- }
449
-
450
- /** Select component */
451
-
452
- .theia-settings-container .theia-select-component {
453
- height: 26px;
454
- width: 100%;
455
- max-width: 320px;
456
- }
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ #preferences_container_widget .p-SplitPanel-handle {
18
+ border-right: var(--theia-border-width) solid var(--theia-editorGroup-border);
19
+ }
20
+
21
+ #preferences_container_widget .p-TabBar-tabIcon {
22
+ align-items: center;
23
+ display: flex;
24
+ line-height: var(--theia-content-line-height) !important;
25
+ }
26
+
27
+ /* UI View */
28
+
29
+ @import url("./preference-context-menu.css");
30
+ @import url("./preference-array.css");
31
+ @import url("./preference-file.css");
32
+ @import url("./preference-object.css");
33
+ @import url("./search-input.css");
34
+
35
+ .theia-settings-container {
36
+ max-width: 1000px;
37
+ padding-top: 11px;
38
+ display: grid;
39
+ grid-template-areas:
40
+ "header header"
41
+ "tabbar tabbar"
42
+ "navbar editor";
43
+ grid-template-columns: minmax(150px, 280px) 1fr;
44
+ grid-template-rows: 45px 45px 1fr;
45
+ }
46
+
47
+ .theia-settings-container .settings-main:not(.no-results) .settings-no-results-announcement {
48
+ display: none;
49
+ }
50
+
51
+ .theia-settings-container .settings-main .hidden {
52
+ display: none;
53
+ }
54
+
55
+ .theia-settings-container .settings-no-results-announcement {
56
+ font-weight: bold;
57
+ font-size: var(--theia-ui-font-size3);
58
+ padding-left: var(--theia-ui-padding);
59
+ margin: calc(2*var(--theia-ui-padding)) 0px;
60
+ }
61
+
62
+ .theia-settings-container .preferences-searchbar-widget {
63
+ grid-area: header;
64
+ margin: 3px 24px 0px 24px;
65
+ }
66
+
67
+ .theia-settings-container .preferences-tabbar-widget {
68
+ grid-area: tabbar;
69
+ margin: 3px 24px 0px 24px;
70
+ }
71
+
72
+ .theia-settings-container .preferences-tabbar-widget.with-shadow {
73
+ box-shadow: 0px 6px 5px -5px var(--theia-widget-shadow);
74
+ }
75
+
76
+ .theia-settings-container .preferences-tabbar-widget .preferences-scope-tab .p-TabBar-tabIcon:not(.preferences-folder-dropdown-icon) {
77
+ display: none;
78
+ }
79
+
80
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab {
81
+ background: var(--theia-editor-background);
82
+ border-right: unset;
83
+ border-bottom: var(--theia-border-width) solid var(--theia-tab-unfocusedInactiveForeground);
84
+ border-top: none;
85
+ }
86
+
87
+ #theia-main-content-panel .theia-settings-container .tabbar-underline {
88
+ width: 100%;
89
+ position: absolute;
90
+ top: calc(var(--theia-private-horizontal-tab-height) + var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2 - 1px);
91
+ border-top: 1px solid var(--theia-tab-unfocusedInactiveForeground);
92
+ z-index: -1;
93
+ }
94
+
95
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab {
96
+ color: var(--theia-panelTitle-inactiveForeground);
97
+ }
98
+
99
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab:hover {
100
+ color: var(--theia-panelTitle-activeForeground);
101
+ }
102
+
103
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.p-mod-current {
104
+ color: var(--theia-panelTitle-activeForeground);
105
+ border-bottom: var(--theia-border-width) solid var(--theia-panelTitle-activeBorder);
106
+ }
107
+
108
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.p-mod-current:not(.theia-mod-active) {
109
+ border-top: unset;
110
+ }
111
+
112
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.preferences-folder-tab .p-TabBar-tabLabel::after {
113
+ content: 'Folder';
114
+ padding-left: 4px;
115
+ font-size: 0.8em;
116
+ color: var(--theia-tab-inactiveForeground);
117
+ }
118
+
119
+ #theia-main-content-panel .theia-settings-container #preferences-scope-tab-bar .preferences-scope-tab.preferences-folder-dropdown {
120
+ position: relative;
121
+ padding-right: 23px;
122
+ }
123
+
124
+ .preferences-folder-dropdown-icon {
125
+ width: 15px;
126
+ height: 15px;
127
+ position: absolute;
128
+ right: var(--theia-ui-padding);
129
+ }
130
+
131
+ .theia-settings-container .preferences-editor-widget {
132
+ grid-area: editor;
133
+ }
134
+
135
+ .theia-settings-container .preferences-editor-widget.full-pane {
136
+ grid-column-start: 1;
137
+ grid-column-end: 3;
138
+ }
139
+
140
+ .theia-settings-container .preferences-tree-widget {
141
+ grid-area: navbar;
142
+ padding-left: 31px;
143
+ }
144
+
145
+ .theia-settings-container .preferences-tree-widget .theia-mod-selected {
146
+ font-weight: bold;
147
+ }
148
+
149
+ .theia-settings-container .preferences-tree-widget .theia-TreeNodeSegment {
150
+ text-overflow: ellipsis;
151
+ overflow: hidden;
152
+ max-width: 90%;
153
+ }
154
+
155
+ .theia-settings-container .settings-main {
156
+ height: 100%;
157
+ width: 100%;
158
+ display: flex;
159
+ flex-direction: column;
160
+ }
161
+
162
+ .theia-settings-container .settings-main-scroll-container {
163
+ position: relative;
164
+ box-sizing: border-box;
165
+ width: 100%;
166
+ padding: 0 24px;
167
+ flex: 1 1 auto;
168
+ }
169
+
170
+ .theia-settings-container .settings-main-sticky-misc {
171
+ display: flex;
172
+ align-items: center;
173
+ justify-content: space-between;
174
+ flex: 0 1 50px;
175
+ }
176
+
177
+ .theia-settings-container .settings-main-sticky-misc .json-button>i {
178
+ display: inline-block;
179
+ background: var(--theia-icon-open-json) no-repeat;
180
+ background-position-y: 1px;
181
+ -webkit-filter: invert(1);
182
+ filter: invert(1);
183
+ height: var(--theia-icon-size);
184
+ width: var(--theia-icon-size);
185
+ }
186
+
187
+ .theia-settings-container .settings-scope>label {
188
+ margin-right: 12px;
189
+ }
190
+
191
+ .theia-settings-container .settings-section {
192
+ padding-left: 0;
193
+ padding-top: var(--theia-ui-padding);
194
+ margin-top: calc(var(--theia-ui-padding) * -1);
195
+ }
196
+
197
+ .theia-settings-container .settings-section a {
198
+ border: none;
199
+ color: var(--theia-foreground);
200
+ font-weight: 500;
201
+ outline: 0;
202
+ text-decoration: none;
203
+ }
204
+
205
+ .theia-settings-container .settings-section a:hover {
206
+ text-decoration: underline;
207
+ }
208
+
209
+ .theia-settings-container .settings-section-category-title {
210
+ font-weight: bold;
211
+ font-size: var(--theia-ui-font-size3);
212
+ padding-left: calc(2 * var(--theia-ui-padding));
213
+ }
214
+
215
+ .theia-settings-container .settings-section-subcategory-title {
216
+ font-weight: bold;
217
+ font-size: var(--theia-ui-font-size2);
218
+ padding-left: calc(2 * var(--theia-ui-padding));
219
+ }
220
+
221
+ .theia-settings-container .settings-section>li {
222
+ list-style-type: none;
223
+ margin: var(--theia-ui-padding) 0px;
224
+ display: -webkit-box;
225
+ display: -ms-flexbox;
226
+ display: flex;
227
+ -webkit-box-pack: justify;
228
+ -ms-flex-pack: justify;
229
+ justify-content: space-between;
230
+ -webkit-box-align: start;
231
+ -ms-flex-align: start;
232
+ align-items: start;
233
+ }
234
+
235
+ .theia-settings-container li.single-pref {
236
+ list-style-type: none;
237
+ padding: 12px 14px 18px;
238
+ width: 100%;
239
+ display: flex;
240
+ flex-direction: column;
241
+ box-sizing: border-box;
242
+ position: relative;
243
+ }
244
+
245
+ .theia-settings-container li.single-pref p {
246
+ margin: 0;
247
+ }
248
+
249
+ .theia-settings-container li.single-pref:hover:not(:focus) {
250
+ background-color: var(--theia-settings-rowHoverBackground);
251
+ }
252
+
253
+ .theia-settings-container li.single-pref:focus {
254
+ background-color: var(--theia-settings-focusedRowBackground);
255
+ outline: 1px solid var(--theia-settings-focusedRowBorder);
256
+ }
257
+
258
+ .theia-settings-container li.single-pref .pref-context-gutter {
259
+ position: absolute;
260
+ height: calc(100% - 36px);
261
+ left: -22px;
262
+ padding-right: 8px;
263
+ border-right: 2px hidden;
264
+ }
265
+
266
+ .theia-settings-container .settings-context-menu-btn {
267
+ opacity: 0;
268
+ transition: opacity .5s;
269
+ }
270
+
271
+ .theia-settings-container .single-pref:focus-within .pref-context-gutter .settings-context-menu-btn,
272
+ .theia-settings-container .pref-name:hover+.pref-context-gutter .settings-context-menu-btn,
273
+ .theia-settings-container .pref-context-gutter:hover .settings-context-menu-btn,
274
+ .theia-settings-container .pref-context-gutter.show-cog .settings-context-menu-btn {
275
+ opacity: 1;
276
+ }
277
+
278
+ .theia-settings-container li.single-pref .pref-context-gutter.theia-mod-item-modified {
279
+ border-right: 2px solid var(--theia-settings-modifiedItemIndicator);
280
+ }
281
+
282
+ .theia-settings-container li.single-pref input[type="text"] {
283
+ -webkit-box-sizing: border-box;
284
+ box-sizing: border-box;
285
+ }
286
+
287
+ .theia-settings-container .settings-main {
288
+ margin: 0;
289
+ }
290
+
291
+ .theia-settings-container .settings-main-sticky {
292
+ top: 0;
293
+ padding-top: calc(var(--theia-ui-padding));
294
+ margin-top: calc(var(--theia-ui-padding) * -1);
295
+ background-color: var(--theia-editor-background);
296
+ -webkit-box-sizing: border-box;
297
+ box-sizing: border-box;
298
+ z-index: 1000;
299
+ display: flex;
300
+ flex-direction: column;
301
+ justify-content: space-around;
302
+ }
303
+
304
+ .theia-settings-container .pref-name {
305
+ padding: 0;
306
+ font-weight: bold;
307
+ }
308
+
309
+ .theia-settings-container .preference-leaf-headline-prefix {
310
+ color: var(--theia-descriptionForeground);
311
+ }
312
+
313
+ .preferences-tree-spacer {
314
+ padding-left: calc(var(--theia-ui-padding)/2);
315
+ padding-right: calc(var(--theia-ui-padding)/2);
316
+ min-width: var(--theia-icon-size);
317
+ min-height: var(--theia-icon-size);
318
+ }
319
+
320
+ .theia-settings-container .pref-description {
321
+ padding: var(--theia-ui-padding) 0;
322
+ color: var(--theia-descriptionForeground);
323
+ line-height: 18px;
324
+ }
325
+
326
+ .theia-settings-container .pref-description a {
327
+ text-decoration-line: none;
328
+ cursor: pointer;
329
+ }
330
+
331
+ .theia-settings-container .theia-select:focus {
332
+ outline-width: 1px;
333
+ outline-style: solid;
334
+ outline-offset: -1px;
335
+ opacity: 1 !important;
336
+ outline-color: var(--theia-focusBorder);
337
+ }
338
+
339
+ .theia-settings-container .theia-input[type="text"] {
340
+ border: 1px solid var(--theia-dropdown-border);
341
+ }
342
+
343
+ .theia-settings-container .theia-input[type="checkbox"]:focus,
344
+ .theia-settings-container .theia-input[type="number"]:focus {
345
+ outline-width: 2px;
346
+ }
347
+
348
+ .theia-settings-container .theia-input[type="checkbox"] {
349
+ margin-left: 0;
350
+ }
351
+
352
+ /* Remove the spinners from input[type = number] on Firefox. */
353
+ .theia-settings-container .theia-input[type="number"] {
354
+ -webkit-appearance: textfield;
355
+ border: 1px solid var(--theia-dropdown-border);
356
+ }
357
+
358
+ /* Remove the webkit spinners from input[type = number] on all browsers except Firefox. */
359
+ .theia-settings-container input::-webkit-outer-spin-button,
360
+ .theia-settings-container input::-webkit-inner-spin-button {
361
+ -webkit-appearance: none;
362
+ margin: 0;
363
+ }
364
+
365
+ .theia-settings-container .pref-content-container .pref-input .pref-input-container .pref-error-notification {
366
+ border-style: solid;
367
+ border-color: var(--theia-inputValidation-errorBorder);
368
+ background-color: var(--theia-inputValidation-errorBackground);
369
+ width: 100%;
370
+ box-sizing: border-box;
371
+ padding: var(--theia-ui-padding);
372
+ }
373
+
374
+ .theia-settings-container .pref-content-container .pref-input .pref-input-container {
375
+ display: flex;
376
+ flex-direction: column;
377
+ }
378
+
379
+ .theia-settings-container .pref-content-container a.theia-json-input {
380
+ text-decoration: underline;
381
+ color: var(--theia-titleBar-activeForeground)
382
+ }
383
+
384
+ .theia-settings-container .pref-content-container a.theia-json-input:hover {
385
+ text-decoration: none;
386
+ cursor: pointer;
387
+ }
388
+
389
+ .theia-settings-container .pref-content-container {
390
+ width: 100%;
391
+ }
392
+
393
+ .theia-settings-container .pref-content-container .pref-input {
394
+ padding: var(--theia-ui-padding) 0;
395
+ width: 100%;
396
+ max-width: 320px;
397
+ }
398
+
399
+ .theia-settings-container .pref-content-container .pref-input>select,
400
+ .theia-settings-container .pref-content-container .pref-input>input:not([type="checkbox"]) {
401
+ width: 100%;
402
+ }
403
+
404
+
405
+ /* These specifications for the boolean class ensure that the
406
+ checkbox is rendered to the left of the description.
407
+ */
408
+ .theia-settings-container .pref-content-container.boolean {
409
+ display: grid;
410
+ grid-template-columns: 20px 1fr;
411
+ }
412
+
413
+ .theia-settings-container .pref-content-container.boolean .pref-description {
414
+ grid-column-start: 2;
415
+ grid-row-start: 1;
416
+ }
417
+
418
+ .theia-settings-container .pref-content-container.boolean .pref-input {
419
+ grid-column-start: 1;
420
+ grid-row-start: 1;
421
+ margin: 0;
422
+ }
423
+
424
+ .theia-settings-container .settings-section>li:last-child {
425
+ margin-bottom: 20px;
426
+ }
427
+
428
+ .theia-settings-container .preference-leaf-headline-suffix {
429
+ font-weight: normal;
430
+ color: var(--theia-descriptionForeground);
431
+ }
432
+
433
+ .theia-settings-container .preference-leaf-headline-suffix::before {
434
+ content: ' (';
435
+ }
436
+
437
+ .theia-settings-container .preference-leaf-headline-suffix::after {
438
+ content: ')';
439
+ }
440
+
441
+ .theia-settings-container .preference-scope-underlined {
442
+ text-decoration: underline;
443
+ cursor: pointer;
444
+ }
445
+
446
+ .theia-settings-container .preference-modified-scope-wrapper:not(:last-child)::after {
447
+ content: ', ';
448
+ }
449
+
450
+ /** Select component */
451
+
452
+ .theia-settings-container .theia-select-component {
453
+ height: 26px;
454
+ width: 100%;
455
+ max-width: 320px;
456
+ }