@codingame/monaco-vscode-user-data-profile-service-override 7.1.0 → 8.0.0

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 (19) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/base/browser/ui/radio/radio.css.js +6 -0
  3. package/vscode/src/vs/base/browser/ui/radio/radio.js +69 -0
  4. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +5 -8
  5. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +28 -11
  6. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/media/userDataProfilesEditor.css.js +1 -1
  7. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.js +96 -60
  8. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.js +13 -15
  9. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.js +744 -349
  10. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.js +114 -70
  11. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +7 -9
  12. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +2 -3
  13. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +2 -3
  14. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +2 -3
  15. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +4 -6
  16. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +2 -3
  17. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +93 -130
  18. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +12 -16
  19. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.js +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-user-data-profile-service-override",
3
- "version": "7.1.0",
3
+ "version": "8.0.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -26,6 +26,6 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "vscode": "npm:@codingame/monaco-vscode-api@7.1.0"
29
+ "vscode": "npm:@codingame/monaco-vscode-api@8.0.0"
30
30
  }
31
31
  }
@@ -0,0 +1,6 @@
1
+ import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".monaco-custom-radio{display:flex}.monaco-custom-radio>.monaco-button{border-radius:0;font-size:.9em;line-height:1em;padding-left:.5em;padding-right:.5em}.monaco-custom-radio>.monaco-button:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.monaco-custom-radio>.monaco-button:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.monaco-custom-radio>.monaco-button:not(.active):not(:last-child){border-right:none}.monaco-custom-radio>.monaco-button.previous-active{border-left:none}.monaco-custom-radio>.monaco-button{background-color:var(--vscode-radio-inactiveBackground);border-color:var(--vscode-radio-inactiveBorder,transparent);color:var(--vscode-radio-inactiveForeground)}.monaco-custom-radio>.monaco-button.active,.monaco-custom-radio>.monaco-button.active:hover{background-color:var(--vscode-radio-activeBackground);border-color:var(--vscode-radio-activeBorder,transparent);color:var(--vscode-radio-activeForeground)}.hc-black .monaco-custom-radio>.monaco-button.active,.hc-light .monaco-custom-radio>.monaco-button.active{border-color:var(--vscode-radio-activeBorder,transparent)}.hc-black .monaco-custom-radio>.monaco-button:not(.active),.hc-light .monaco-custom-radio>.monaco-button:not(.active){border-color:var(--vscode-radio-inactiveBorder,transparent)}.hc-black .monaco-custom-radio>.monaco-button:not(.active):hover,.hc-light .monaco-custom-radio>.monaco-button:not(.active):hover{outline:1px dashed var(--vscode-toolbar-hoverOutline);outline-offset:-1px}.monaco-custom-radio>.monaco-button:hover:not(.active){background-color:var(--vscode-radio-inactiveHoverBackground)}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,69 @@
1
+ import { Widget } from 'vscode/vscode/vs/base/browser/ui/widget';
2
+ import { Emitter } from 'vscode/vscode/vs/base/common/event';
3
+ import './radio.css.js';
4
+ import { $ } from 'vscode/vscode/vs/base/browser/dom';
5
+ import { Button } from 'vscode/vscode/vs/base/browser/ui/button/button';
6
+ import { DisposableMap, DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
7
+ import { getDefaultHoverDelegate } from 'vscode/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
8
+
9
+ class Radio extends Widget {
10
+ constructor(opts) {
11
+ super();
12
+ this._onDidSelect = this._register(( new Emitter()));
13
+ this.onDidSelect = this._onDidSelect.event;
14
+ this.items = [];
15
+ this.buttons = this._register(( new DisposableMap()));
16
+ this.hoverDelegate = opts.hoverDelegate ?? getDefaultHoverDelegate('element');
17
+ this.domNode = $('.monaco-custom-radio');
18
+ this.domNode.setAttribute('role', 'radio');
19
+ this.setItems(opts.items);
20
+ }
21
+ setItems(items) {
22
+ this.buttons.clearAndDisposeAll();
23
+ this.items = items;
24
+ this.activeItem = this.items.find(item => item.isActive) ?? this.items[0];
25
+ for (let index = 0; index < this.items.length; index++) {
26
+ const item = this.items[index];
27
+ const disposables = ( new DisposableStore());
28
+ const button = disposables.add(( new Button(this.domNode, {
29
+ hoverDelegate: this.hoverDelegate,
30
+ title: item.tooltip,
31
+ supportIcons: true,
32
+ })));
33
+ button.enabled = !item.disabled;
34
+ disposables.add(button.onDidClick(() => {
35
+ if (this.activeItem !== item) {
36
+ this.activeItem = item;
37
+ this.updateButtons();
38
+ this._onDidSelect.fire(index);
39
+ }
40
+ }));
41
+ this.buttons.set(button, { item, dispose: () => disposables.dispose() });
42
+ }
43
+ this.updateButtons();
44
+ }
45
+ setActiveItem(index) {
46
+ if (index < 0 || index >= this.items.length) {
47
+ throw ( new Error('Invalid Index'));
48
+ }
49
+ this.activeItem = this.items[index];
50
+ this.updateButtons();
51
+ }
52
+ setEnabled(enabled) {
53
+ for (const [button] of this.buttons) {
54
+ button.enabled = enabled;
55
+ }
56
+ }
57
+ updateButtons() {
58
+ let isActive = false;
59
+ for (const [button, { item }] of this.buttons) {
60
+ const isPreviousActive = isActive;
61
+ isActive = item === this.activeItem;
62
+ button.element.classList.toggle('active', isActive);
63
+ button.element.classList.toggle('previous-active', isPreviousActive);
64
+ button.label = item.text;
65
+ }
66
+ }
67
+ }
68
+
69
+ export { Radio };
@@ -5,7 +5,7 @@ import { Event } from 'vscode/vscode/vs/base/common/event';
5
5
  import { parse } from 'vscode/vscode/vs/base/common/json';
6
6
  import { OS, OperatingSystem } from 'vscode/vscode/vs/base/common/platform';
7
7
  import { isUndefined } from 'vscode/vscode/vs/base/common/types';
8
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
8
+ import { localize } from 'vscode/vscode/vs/nls';
9
9
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
10
10
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
11
11
  import { FileOperationResult } from 'vscode/vscode/vs/platform/files/common/files';
@@ -19,7 +19,6 @@ import { merge } from './keybindingsMerge.js';
19
19
  import { SyncResource, USER_DATA_SYNC_SCHEME, UserDataSyncError, UserDataSyncErrorCode, Change, CONFIG_SYNC_KEYBINDINGS_PER_PLATFORM } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
20
20
  import { IUserDataSyncStoreService, IUserDataSyncLocalStoreService, IUserDataSyncLogService, IUserDataSyncEnablementService, IUserDataSyncUtilService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync.service';
21
21
 
22
- const _moduleId = "vs/platform/userDataSync/common/keybindingsSync";
23
22
  function getKeybindingsContentFromSyncContent(syncContent, platformSpecific, logService) {
24
23
  try {
25
24
  const parsed = JSON.parse(syncContent);
@@ -65,9 +64,8 @@ let KeybindingsSynchroniser = class KeybindingsSynchroniser extends AbstractJson
65
64
  let localContent = fileContent ? ( fileContent.value.toString()) : '[]';
66
65
  localContent = localContent || '[]';
67
66
  if (this.hasErrors(localContent, true)) {
68
- throw ( new UserDataSyncError(localizeWithPath(
69
- _moduleId,
70
- 0,
67
+ throw ( new UserDataSyncError(localize(
68
+ 8405,
71
69
  "Unable to sync keybindings because the content in the file is not valid. Please open the file and correct it."
72
70
  ), UserDataSyncErrorCode.LocalInvalidContent, this.resource));
73
71
  }
@@ -169,9 +167,8 @@ let KeybindingsSynchroniser = class KeybindingsSynchroniser extends AbstractJson
169
167
  content = content.trim();
170
168
  content = content || '[]';
171
169
  if (this.hasErrors(content, true)) {
172
- throw ( new UserDataSyncError(localizeWithPath(
173
- _moduleId,
174
- 0,
170
+ throw ( new UserDataSyncError(localize(
171
+ 8405,
175
172
  "Unable to sync keybindings because the content in the file is not valid. Please open the file and correct it."
176
173
  ), UserDataSyncErrorCode.LocalInvalidContent, this.resource));
177
174
  }
@@ -1,12 +1,14 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
+ import { distinct } from 'vscode/vscode/vs/base/common/arrays';
2
3
  import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
3
4
  import { Event } from 'vscode/vscode/vs/base/common/event';
4
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
5
+ import { localize } from 'vscode/vscode/vs/nls';
5
6
  import { ConfigurationTarget } from 'vscode/vscode/vs/platform/configuration/common/configuration';
6
7
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
7
8
  import { ConfigurationModelParser } from 'vscode/vscode/vs/platform/configuration/common/configurationModels';
8
9
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
9
10
  import { IExtensionManagementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
11
+ import { ExtensionType } from 'vscode/vscode/vs/platform/extensions/common/extensions';
10
12
  import { FileOperationResult } from 'vscode/vscode/vs/platform/files/common/files';
11
13
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
12
14
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
@@ -15,10 +17,9 @@ import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/commo
15
17
  import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
16
18
  import { AbstractJsonFileSynchroniser, AbstractInitializer } from 'vscode/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
17
19
  import { merge, updateIgnoredSettings, isEmpty, getIgnoredSettings } from 'vscode/vscode/vs/platform/userDataSync/common/settingsMerge';
18
- import { SyncResource, USER_DATA_SYNC_SCHEME, USER_DATA_SYNC_CONFIGURATION_SCOPE, Change, UserDataSyncError, UserDataSyncErrorCode } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
20
+ import { SyncResource, USER_DATA_SYNC_SCHEME, USER_DATA_SYNC_CONFIGURATION_SCOPE, Change, getIgnoredSettingsForExtension, UserDataSyncError, UserDataSyncErrorCode } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
19
21
  import { IUserDataSyncStoreService, IUserDataSyncLocalStoreService, IUserDataSyncLogService, IUserDataSyncUtilService, IUserDataSyncEnablementService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync.service';
20
22
 
21
- const _moduleId = "vs/platform/userDataSync/common/settingsSync";
22
23
  function isSettingsSyncContent(thing) {
23
24
  return thing
24
25
  && (thing.settings && typeof thing.settings === 'string')
@@ -31,6 +32,7 @@ function parseSettingsSyncContent(syncContent) {
31
32
  let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSynchroniser {
32
33
  constructor(profile, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, logService, userDataSyncUtilService, configurationService, userDataSyncEnablementService, telemetryService, extensionManagementService, uriIdentityService) {
33
34
  super(profile.settingsResource, { syncResource: SyncResource.Settings, profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, userDataSyncUtilService, configurationService, uriIdentityService);
35
+ this.profile = profile;
34
36
  this.extensionManagementService = extensionManagementService;
35
37
  this.version = 2;
36
38
  this.previewResource = this.extUri.joinPath(this.syncPreviewFolder, 'settings.json');
@@ -38,7 +40,9 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
38
40
  this.localResource = this.previewResource.with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'local' });
39
41
  this.remoteResource = this.previewResource.with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'remote' });
40
42
  this.acceptedResource = this.previewResource.with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'accepted' });
41
- this._defaultIgnoredSettings = undefined;
43
+ this.coreIgnoredSettings = undefined;
44
+ this.systemExtensionsIgnoredSettings = undefined;
45
+ this.userExtensionsIgnoredSettings = undefined;
42
46
  }
43
47
  async getRemoteUserDataSyncConfiguration(manifest) {
44
48
  const lastSyncUserData = await this.getLastSyncUserData();
@@ -241,21 +245,34 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
241
245
  return { settings };
242
246
  }
243
247
  async getIgnoredSettings(content) {
244
- if (!this._defaultIgnoredSettings) {
245
- this._defaultIgnoredSettings = this.userDataSyncUtilService.resolveDefaultIgnoredSettings();
248
+ if (!this.coreIgnoredSettings) {
249
+ this.coreIgnoredSettings = this.userDataSyncUtilService.resolveDefaultCoreIgnoredSettings();
250
+ }
251
+ if (!this.systemExtensionsIgnoredSettings) {
252
+ this.systemExtensionsIgnoredSettings = this.getIgnoredSettingForSystemExtensions();
253
+ }
254
+ if (!this.userExtensionsIgnoredSettings) {
255
+ this.userExtensionsIgnoredSettings = this.getIgnoredSettingForUserExtensions();
246
256
  const disposable = this._register(Event.any(Event.filter(this.extensionManagementService.onDidInstallExtensions, (e => ( e.some(({ local }) => !!local)))), Event.filter(this.extensionManagementService.onDidUninstallExtension, (e => !e.error)))(() => {
247
257
  disposable.dispose();
248
- this._defaultIgnoredSettings = undefined;
258
+ this.userExtensionsIgnoredSettings = undefined;
249
259
  }));
250
260
  }
251
- const defaultIgnoredSettings = await this._defaultIgnoredSettings;
261
+ const defaultIgnoredSettings = (await Promise.all([this.coreIgnoredSettings, this.systemExtensionsIgnoredSettings, this.userExtensionsIgnoredSettings])).flat();
252
262
  return getIgnoredSettings(defaultIgnoredSettings, this.configurationService, content);
253
263
  }
264
+ async getIgnoredSettingForSystemExtensions() {
265
+ const systemExtensions = await this.extensionManagementService.getInstalled(ExtensionType.System);
266
+ return distinct(( systemExtensions.map(e => getIgnoredSettingsForExtension(e.manifest))).flat());
267
+ }
268
+ async getIgnoredSettingForUserExtensions() {
269
+ const userExtensions = await this.extensionManagementService.getInstalled(ExtensionType.User, this.profile.extensionsResource);
270
+ return distinct(( userExtensions.map(e => getIgnoredSettingsForExtension(e.manifest))).flat());
271
+ }
254
272
  validateContent(content) {
255
273
  if (this.hasErrors(content, false)) {
256
- throw ( new UserDataSyncError(localizeWithPath(
257
- _moduleId,
258
- 0,
274
+ throw ( new UserDataSyncError(localize(
275
+ 8406,
259
276
  "Unable to sync settings as there are errors/warning in settings file."
260
277
  ), UserDataSyncErrorCode.LocalInvalidContent, this.resource));
261
278
  }
@@ -1,6 +1,6 @@
1
1
  import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
2
 
3
- var css = ".profiles-editor{height:100%;margin:20px auto 0;max-width:1000px;overflow:hidden}.profiles-editor .contents-view,.profiles-editor .sidebar-view{height:100%}.profiles-editor .monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before,.profiles-editor .monaco-split-view2>.sash-container{top:55px}.profiles-editor .contents-container{height:100%;padding:0 20px}.profiles-editor .sidebar-container{height:100%;padding-left:20px}.profiles-editor .sidebar-container .new-profile-button{align-items:center;display:flex;height:40px;padding:0 20px 0 18px}.profiles-editor .sidebar-container .new-profile-button>.monaco-button-dropdown{flex-grow:1}.profiles-editor .monaco-button-dropdown>.monaco-dropdown-button{align-items:center;display:flex;padding:0 4px}.profiles-editor .monaco-list-row .profile-tree-item-actions-container{display:none}.profiles-editor .monaco-list-row.focused .profile-tree-item-actions-container,.profiles-editor .monaco-list-row.selected .profile-tree-item-actions-container,.profiles-editor .monaco-list-row:hover .profile-tree-item-actions-container{align-items:center;display:flex}.profiles-editor .sidebar-container .profiles-list{margin-top:15px}.profiles-editor .sidebar-container .profiles-list .profile-list-item{align-items:center;display:flex;padding-left:20px}.profiles-editor .sidebar-container .profiles-list .profile-list-item>*{margin-right:5px}.profiles-editor .sidebar-container .profiles-list .profile-list-item>.profile-list-item-label.new-profile{font-style:italic}.profiles-editor .sidebar-container .profiles-list .profile-list-item>.profile-list-item-description{align-items:center;display:flex;font-size:.9em;margin-left:2px;opacity:.7}.profiles-editor .sidebar-container .profiles-list .profile-list-item .profile-tree-item-actions-container{flex:1;justify-content:flex-end;margin-right:10px}.profiles-editor .hide{display:none!important}.profiles-editor .contents-container .profile-header{align-items:center;display:flex;height:40px}.profiles-editor .contents-container .profile-header .profile-title-container{align-items:center;display:flex;flex:1;font-size:medium}.profiles-editor .contents-container .profile-title-container .codicon{border-radius:5px;cursor:pointer;font-size:large;margin-right:8px;padding:4px}.profiles-editor .contents-container .profile-title-container .codicon.disabled{cursor:default}.profiles-editor .contents-container .profile-title-container .codicon:not(.disabled):hover{background-color:var(--vscode-toolbar-hoverBackground);outline:1px dashed var(--vscode-toolbar-hoverOutline)}.profiles-editor .contents-container .profile-title-container .monaco-inputbox{flex:1;margin-right:10px}.profiles-editor .contents-container .profile-header .profile-button-container{align-items:center;display:flex}.profiles-editor .contents-container .profile-header .profile-button-container .monaco-button{margin-left:4px}.profiles-editor .contents-container .profile-header .profile-actions-container{display:flex}.profiles-editor .contents-container .profile-header .profile-actions-container .profile-button-container{margin-right:6px;min-width:120px}.profiles-editor .contents-container .profile-header .profile-actions-container .profile-button-container .monaco-button{padding-left:10px;padding-right:10px}.profiles-editor .contents-container .profile-header .profile-actions-container .actions-container .action-label{padding:6px}.profiles-editor .contents-container .profile-body{margin-top:20px}.profiles-editor .contents-container .profile-select-container{align-items:center;display:flex;justify-content:center;overflow:hidden}.profiles-editor .contents-container .profile-select-container>.monaco-select-box{border-radius:2px;cursor:pointer;line-height:18px;padding:0 23px 0 8px}.profiles-editor .contents-container .profile-copy-from-container{align-items:center;display:flex;margin:0 0 15px 36px}.profiles-editor .contents-container .profile-copy-from-container>.profile-copy-from-label{align-items:center;display:inline-flex;margin-right:25px}.profiles-editor .contents-container .profile-copy-from-container>.profile-select-container{width:250px}.profiles-editor .contents-container .profile-use-as-default-container{align-items:center;cursor:pointer;display:flex;margin:0 20px 15px 6px}.profiles-editor .contents-container .profile-use-as-default-container .profile-use-as-default-label{margin-left:2px}.profiles-editor .contents-container .profile-contents-container{margin:0 0 10px 20px}.profiles-editor .contents-container .profile-content-tree,.profiles-editor .contents-container .profile-content-tree-header{margin-left:6px}.profiles-editor .contents-container .profile-content-tree-header{align-items:center;background-color:var(--vscode-keybindingTable-headerBackground);display:grid;font-weight:700;grid-template-columns:30px repeat(1,1fr) 150px 100px;height:24px;margin-bottom:2px}.profiles-editor .contents-container .profile-tree-item-container{align-items:center;display:grid}.profiles-editor .contents-container .profile-tree-item-container.existing-profile-resource-type-container{grid-template-columns:repeat(1,1fr) 150px 100px}.profiles-editor .contents-container .profile-content-tree-header>.inherit-label,.profiles-editor .contents-container .profile-tree-item-container>.inherit-container{align-items:center;justify-content:center}.profiles-editor .contents-container .profile-tree-item-container>.inherit-container{padding-left:50px}.profiles-editor .contents-container .profile-content-tree-header>.actions-label{align-items:center;display:flex;justify-content:center}.profiles-editor .contents-container .profile-content-tree-header.new-profile{grid-template-columns:30px repeat(2,1fr) 100px}.profiles-editor .contents-container .profile-tree-item-container.new-profile-resource-type-container{grid-template-columns:repeat(2,1fr) 100px}.profiles-editor .contents-container .profile-tree-item-container.new-profile-resource-type-container .profile-select-container{width:170px}.profiles-editor .contents-container .profile-tree-item-container.profile-resource-child-container{grid-template-columns:repeat(1,1fr) 100px}.profiles-editor .contents-container .profile-tree-item-container .profile-resource-type-description{font-size:.9em;margin-left:10px;opacity:.7}.profiles-editor .contents-container .profile-tree-item-container .profile-tree-item-actions-container{justify-content:center}";
3
+ var css = ".profiles-editor{height:100%;margin:20px auto 0;max-width:1000px;overflow:hidden}.profiles-editor .contents-view,.profiles-editor .sidebar-view{height:100%}.profiles-editor .monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before,.profiles-editor .monaco-split-view2>.sash-container{top:55px}.profiles-editor .contents-container{height:100%}.profiles-editor .sidebar-container{height:100%;padding-left:20px}.profiles-editor .sidebar-container .new-profile-button{align-items:center;display:flex;height:40px;padding:0 20px 0 18px}.profiles-editor .sidebar-container .new-profile-button>.monaco-button-dropdown{flex-grow:1}.profiles-editor .monaco-button-dropdown>.monaco-dropdown-button{align-items:center;display:flex;padding:0 4px}.profiles-editor .monaco-list-row .profile-tree-item-actions-container{align-items:center;display:none}.profiles-editor .monaco-list-row.focused .profile-tree-item-actions-container,.profiles-editor .monaco-list-row.selected .profile-tree-item-actions-container,.profiles-editor .monaco-list-row:hover .profile-tree-item-actions-container{display:flex}.profiles-editor .sidebar-container .profiles-list{margin-top:15px}.profiles-editor .sidebar-container .profiles-list .profile-list-item{align-items:center;display:flex;padding-left:20px}.profiles-editor .sidebar-container .profiles-list .profile-list-item>*{margin-right:5px}.profiles-editor .sidebar-container .profiles-list .profile-list-item>.profile-list-item-label{overflow:hidden;text-overflow:ellipsis}.profiles-editor .sidebar-container .profiles-list .profile-list-item>.profile-list-item-label.new-profile{font-style:italic}.profiles-editor .sidebar-container .profiles-list .profile-list-item>.profile-list-item-description{align-items:center;display:flex;font-size:.9em;margin-left:2px;opacity:.7}.profiles-editor .sidebar-container .profiles-list .profile-list-item .profile-tree-item-actions-container{flex:1;justify-content:flex-end;margin-right:10px}.profiles-editor .hide{display:none!important}.profiles-editor .contents-container .profile-header{align-items:center;display:flex;height:40px;margin-left:27px}.profiles-editor .contents-container .profile-header .profile-title-container{font-size:26px;font-weight:600}.profiles-editor .contents-container .profile-title-container .monaco-inputbox{flex:1;margin-right:10px}.profiles-editor .contents-container .profile-header .profile-actions-container .actions-container .action-label{padding:6px}.profiles-editor .contents-container .profile-body{margin:15px 0 0 1px}.profiles-editor .contents-container .profile-body .profile-row-container{padding:12px 0}.profiles-editor .contents-container .profile-body .profile-row-container.no-padding-bottom{padding-bottom:0}.profiles-editor .contents-container .profile-body .profile-row-container .profile-label-element{font-weight:600;padding-bottom:5px}.profiles-editor .contents-container .profile-body .profile-row-container .profile-description-element{color:var(--vscode-foreground);opacity:.9}.profiles-editor .contents-container .profile-body .profile-row-container .profile-description-element p,.profiles-editor .contents-container .profile-body .profile-row-container .profile-description-element ul{margin:0}.profiles-editor .contents-container .profile-body .profile-row-container .profile-description-element ul{padding-inline-start:28px}.profiles-editor .contents-container .profile-body .profile-row-container .profile-description-element ul li{padding-left:2px}.profiles-editor .contents-container .profile-body .profile-row-container .monaco-inputbox{width:400px}.profiles-editor .contents-container .profile-body .profile-row-container .profile-icon-container{align-items:center;display:flex;line-height:22px}.profiles-editor .contents-container .profile-body .profile-row-container .profile-icon-container .codicon{border-radius:5px;cursor:pointer;margin-right:4px;padding:2px}.profiles-editor .contents-container .profile-body .profile-row-container .profile-icon-container .codicon:hover{background-color:var(--vscode-toolbar-hoverBackground);outline:1px dashed var(--vscode-toolbar-hoverOutline)}.profiles-editor .contents-container .profile-body .profile-row-container .profile-icon-container .profile-description-element{margin-top:-1px}.profiles-editor .contents-container .profile-select-container{align-items:center;display:flex;justify-content:center;overflow:hidden}.profiles-editor .contents-container .profile-select-container>.monaco-select-box{border-radius:2px;cursor:pointer;line-height:18px;padding:0 23px 0 8px}.profiles-editor .contents-container .profile-copy-from-container .profile-select-container{margin-top:5px;width:250px}.profiles-editor .contents-container .profile-use-as-default-container{align-items:center;display:flex;line-height:22px}.profiles-editor .contents-container .profile-body .profile-row-container .profile-use-as-default-container .profile-description-element{margin-top:-1px}.profiles-editor .contents-container .profile-use-as-default-container .profile-use-as-default-label{margin-left:2px}.profiles-editor .contents-container .profile-contents-container{margin:0 0 10px 20px}.profiles-editor .contents-container .profile-content-tree-header{align-items:center;background-color:var(--vscode-keybindingTable-headerBackground);display:grid;font-weight:700;grid-template-columns:30px repeat(1,1fr) 200px 80px;line-height:22px;margin:5px 0 2px}.profiles-editor .contents-container .profile-content-tree-header>.actions-header,.profiles-editor .contents-container .profile-content-tree-header>.options-header{align-items:center;display:flex;justify-self:center}.profiles-editor .contents-container .profile-content-tree-header>.options-header .codicon{cursor:pointer;padding-left:2px}.profiles-editor .contents-container .profile-content-tree-header.default-profile{grid-template-columns:30px repeat(1,1fr) 80px}.profiles-editor .contents-container .profile-content-tree-header.default-profile>.options-header{display:none}.profiles-editor .contents-container .profile-tree-item-container{align-items:center;display:grid;grid-template-columns:repeat(1,1fr) 200px 80px}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree-header{margin-right:1px}.profiles-editor .contents-container .profile-tree-item-container.default-profile,.profiles-editor .contents-container .profile-tree-item-container.profile-resource-child-container{grid-template-columns:repeat(1,1fr) 80px}.profiles-editor .contents-container .profile-tree-item-container .profile-resource-type-description{font-size:.9em;margin-left:10px;opacity:.7}.profiles-editor .contents-container .profile-tree-item-container .profile-resource-options-container{height:fit-content;justify-self:center;width:fit-content}.profiles-editor .contents-container .profile-tree-item-container .monaco-custom-radio .monaco-button{outline-offset:-1px!important}.profiles-editor .contents-container .profile-tree-item-container .profile-resource-actions-container{justify-self:center}.profiles-editor .contents-container .profile-body .profile-row-container.profile-button-container{align-items:center;display:flex;margin-left:30px;margin-top:10px}.profiles-editor .contents-container .profile-body .profile-row-container.profile-button-container .monaco-button{margin-right:10px;max-width:80px}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row.focused{background-color:var(--vscode-settings-focusedRowBackground)!important}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row:not(.focused):hover{background-color:var(--vscode-settings-rowHoverBackground)!important}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row.focused{outline:1px solid var(--vscode-settings-focusedRowBorder)!important}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row{cursor:default}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row.focused,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row.selected:focus,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row.selected:not(:focus){background-color:inherit!important;color:inherit!important}.monaco-workbench:not(.hc-black):not(.hc-light) .profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row.selected.focused:hover,.monaco-workbench:not(.hc-black):not(.hc-light) .profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row:hover{background-color:var(--vscode-list-hoverBackground)!important}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row.focused,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row.selected,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row:hover,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list:before{outline:none!important}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row .monaco-tl-twistie{cursor:pointer}.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .codicon,.profiles-editor .contents-container .profile-body .profile-tree .monaco-list-row .profile-content-tree .monaco-list-row .codicon{color:inherit!important}";
4
4
  n(css,{});
5
5
 
6
6
  export { css, css as default };