@theia/preferences 1.45.0 → 1.46.0-next.72

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