@codingame/monaco-vscode-walkthrough-service-override 22.1.9 → 23.0.1

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 (22) hide show
  1. package/package.json +9 -9
  2. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +23 -27
  3. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.d.ts +8 -5
  4. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +63 -47
  5. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +3 -3
  6. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
  7. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
  8. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
  9. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +1 -1
  10. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +3 -3
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css +3 -3
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +152 -152
  15. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/multi-file-edits.svg +465 -466
  16. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
  17. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +5 -5
  18. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker_small.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +3 -3
  20. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +2 -2
  21. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +5 -5
  22. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-walkthrough-service-override",
3
- "version": "22.1.9",
3
+ "version": "23.0.1",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - walkthrough service-override",
6
6
  "keywords": [],
@@ -15,14 +15,14 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common": "22.1.9",
19
- "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "22.1.9",
20
- "@codingame/monaco-vscode-9d0168a3-519b-57f3-9bcc-89efc41f951a-common": "22.1.9",
21
- "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "22.1.9",
22
- "@codingame/monaco-vscode-api": "22.1.9",
23
- "@codingame/monaco-vscode-b6d52a6d-8c8e-51f5-bcd2-1722295e31d9-common": "22.1.9",
24
- "@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "22.1.9",
25
- "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "22.1.9",
18
+ "@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common": "23.0.1",
19
+ "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "23.0.1",
20
+ "@codingame/monaco-vscode-7b19b93e-7a49-5c48-81f5-091a64f468d2-common": "23.0.1",
21
+ "@codingame/monaco-vscode-9d0168a3-519b-57f3-9bcc-89efc41f951a-common": "23.0.1",
22
+ "@codingame/monaco-vscode-api": "23.0.1",
23
+ "@codingame/monaco-vscode-b6d52a6d-8c8e-51f5-bcd2-1722295e31d9-common": "23.0.1",
24
+ "@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "23.0.1",
25
+ "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "23.0.1",
26
26
  "marked": "14.0.0"
27
27
  },
28
28
  "main": "index.js",
@@ -37,7 +37,7 @@ registerAction2(class extends Action2 {
37
37
  constructor() {
38
38
  super({
39
39
  id: 'workbench.action.openWalkthrough',
40
- title: ( localize2(12657, 'Welcome')),
40
+ title: ( localize2(12951, 'Welcome')),
41
41
  category: Categories.Help,
42
42
  f1: true,
43
43
  menu: {
@@ -46,7 +46,7 @@ registerAction2(class extends Action2 {
46
46
  order: 1,
47
47
  },
48
48
  metadata: {
49
- description: ( localize2(12658, 'Opens a Walkthrough to help you get started in VS Code.'))
49
+ description: ( localize2(12952, 'Opens a Walkthrough to help you get started in VS Code.'))
50
50
  }
51
51
  });
52
52
  }
@@ -54,11 +54,7 @@ registerAction2(class extends Action2 {
54
54
  const editorService = accessor.get(IEditorService);
55
55
  const commandService = accessor.get(ICommandService);
56
56
  const toSide = typeof optionsOrToSide === 'object' ? optionsOrToSide.toSide : optionsOrToSide;
57
- let inactive = typeof optionsOrToSide === 'object' ? optionsOrToSide.inactive : false;
58
57
  const activeEditor = editorService.activeEditor;
59
- if (!inactive && !toSide && activeEditor instanceof GettingStartedInput) {
60
- inactive = true;
61
- }
62
58
  if (walkthroughID) {
63
59
  const selectedCategory = typeof walkthroughID === 'string' ? walkthroughID : walkthroughID.category;
64
60
  let selectedStep;
@@ -75,10 +71,10 @@ registerAction2(class extends Action2 {
75
71
  }
76
72
  let options;
77
73
  if (selectedCategory) {
78
- options = { selectedCategory: selectedCategory, selectedStep: selectedStep, showWelcome: false, preserveFocus: toSide ?? false, inactive };
74
+ options = { selectedCategory, selectedStep, showWelcome: false, preserveFocus: toSide ?? false };
79
75
  }
80
76
  else {
81
- options = { selectedCategory: selectedCategory, selectedStep: selectedStep, showWelcome: true, preserveFocus: toSide ?? false, inactive };
77
+ options = { selectedCategory, selectedStep, showWelcome: true, preserveFocus: toSide ?? false };
82
78
  }
83
79
  editorService.openEditor({
84
80
  resource: GettingStartedInput.RESOURCE,
@@ -88,21 +84,21 @@ registerAction2(class extends Action2 {
88
84
  else {
89
85
  editorService.openEditor({
90
86
  resource: GettingStartedInput.RESOURCE,
91
- options: { preserveFocus: toSide ?? false, inactive }
87
+ options: { preserveFocus: toSide ?? false }
92
88
  }, toSide ? SIDE_GROUP : undefined);
93
89
  }
94
90
  }
95
91
  });
96
92
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(GettingStartedInput.ID, GettingStartedInputSerializer);
97
- ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(12659, "Welcome"))), [
93
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(12953, "Welcome"))), [
98
94
  ( new SyncDescriptor(GettingStartedInput))
99
95
  ]);
100
- const category = ( localize2(12659, "Welcome"));
96
+ const category = ( localize2(12953, "Welcome"));
101
97
  registerAction2(class extends Action2 {
102
98
  constructor() {
103
99
  super({
104
100
  id: 'welcome.goBack',
105
- title: ( localize2(12660, 'Go Back')),
101
+ title: ( localize2(12954, 'Go Back')),
106
102
  category,
107
103
  keybinding: {
108
104
  weight: KeybindingWeight.EditorContrib,
@@ -138,7 +134,7 @@ registerAction2(class extends Action2 {
138
134
  constructor() {
139
135
  super({
140
136
  id: 'welcome.markStepComplete',
141
- title: ( localize(12661, "Mark Step Complete")),
137
+ title: ( localize(12955, "Mark Step Complete")),
142
138
  category,
143
139
  });
144
140
  }
@@ -154,7 +150,7 @@ registerAction2(class extends Action2 {
154
150
  constructor() {
155
151
  super({
156
152
  id: 'welcome.markStepIncomplete',
157
- title: ( localize(12662, "Mark Step Incomplete")),
153
+ title: ( localize(12956, "Mark Step Incomplete")),
158
154
  category,
159
155
  });
160
156
  }
@@ -170,7 +166,7 @@ registerAction2(class extends Action2 {
170
166
  constructor() {
171
167
  super({
172
168
  id: 'welcome.showAllWalkthroughs',
173
- title: ( localize2(12663, 'Open Walkthrough...')),
169
+ title: ( localize2(12957, 'Open Walkthrough...')),
174
170
  category,
175
171
  f1: true,
176
172
  menu: {
@@ -202,7 +198,7 @@ registerAction2(class extends Action2 {
202
198
  quickPick.canSelectMany = false;
203
199
  quickPick.matchOnDescription = true;
204
200
  quickPick.matchOnDetail = true;
205
- quickPick.placeholder = ( localize(12664, 'Select a walkthrough to open'));
201
+ quickPick.placeholder = ( localize(12958, 'Select a walkthrough to open'));
206
202
  quickPick.items = await this.getQuickPickItems(contextService, gettingStartedService);
207
203
  quickPick.busy = true;
208
204
  disposables.add(quickPick.onDidAccept(() => {
@@ -229,7 +225,7 @@ CommandsRegistry.registerCommand({
229
225
  }
230
226
  });
231
227
  const WorkspacePlatform = ( new RawContextKey('workspacePlatform', undefined, ( localize(
232
- 12665,
228
+ 12959,
233
229
  "The platform of the current workspace, which in remote or serverless contexts may be different from the platform of the UI"
234
230
  ))));
235
231
  let WorkspacePlatformContribution = class WorkspacePlatformContribution {
@@ -281,7 +277,7 @@ configurationRegistry.registerConfiguration({
281
277
  type: 'boolean',
282
278
  default: true,
283
279
  description: ( localize(
284
- 12666,
280
+ 12960,
285
281
  "When enabled, an extension's walkthrough will open upon install of the extension."
286
282
  ))
287
283
  },
@@ -290,25 +286,25 @@ configurationRegistry.registerConfiguration({
290
286
  'type': 'string',
291
287
  'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'terminal'],
292
288
  'enumDescriptions': [
293
- ( localize(12667, "Start without an editor.")),
289
+ ( localize(12961, "Start without an editor.")),
294
290
  ( localize(
295
- 12668,
291
+ 12962,
296
292
  "Open the Welcome page, with content to aid in getting started with VS Code and extensions."
297
293
  )),
298
294
  ( localize(
299
- 12669,
295
+ 12963,
300
296
  "Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise. Note: This is only observed as a global configuration, it will be ignored if set in a workspace or folder configuration."
301
297
  )),
302
298
  ( localize(
303
- 12670,
299
+ 12964,
304
300
  "Open a new untitled text file (only applies when opening an empty window)."
305
301
  )),
306
- ( localize(12671, "Open the Welcome page when opening an empty workbench.")),
307
- ( localize(12672, "Open a new terminal in the editor area.")),
302
+ ( localize(12965, "Open the Welcome page when opening an empty workbench.")),
303
+ ( localize(12966, "Open a new terminal in the editor area.")),
308
304
  ],
309
305
  'default': 'welcomePage',
310
306
  'description': ( localize(
311
- 12673,
307
+ 12967,
312
308
  "Controls which editor is shown at startup, if none are restored from the previous session."
313
309
  ))
314
310
  },
@@ -316,8 +312,8 @@ configurationRegistry.registerConfiguration({
316
312
  scope: ConfigurationScope.APPLICATION,
317
313
  type: 'boolean',
318
314
  default: false,
319
- deprecationMessage: ( localize(12674, "Deprecated, use the global `workbench.reduceMotion`.")),
320
- description: ( localize(12675, "When enabled, reduce motion in welcome page."))
315
+ deprecationMessage: ( localize(12968, "Deprecated, use the global `workbench.reduceMotion`.")),
316
+ description: ( localize(12969, "When enabled, reduce motion in welcome page."))
321
317
  }
322
318
  }
323
319
  });
@@ -2,12 +2,12 @@ import { Dimension } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/d
2
2
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
3
3
  import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
4
4
  import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
5
+ import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
5
6
  import { IAccessibilityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service";
6
7
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
7
8
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
8
9
  import { ContextKeyExpression, RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
9
10
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
10
- import { IEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
11
11
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
12
12
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
13
13
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
@@ -23,7 +23,7 @@ import { IWorkspacesService } from "@codingame/monaco-vscode-api/vscode/vs/platf
23
23
  import { EditorPane } from "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/browser/parts/editor/editorPane";
24
24
  import { IEditorOpenContext, IEditorSerializer } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
25
25
  import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service";
26
- import { GettingStartedInput } from "./gettingStartedInput.js";
26
+ import { GettingStartedEditorOptions, GettingStartedInput } from "./gettingStartedInput.js";
27
27
  import { IWalkthroughsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.service";
28
28
  import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
29
29
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
@@ -66,8 +66,8 @@ export declare class GettingStartedPage extends EditorPane {
66
66
  private readonly webviewService;
67
67
  private readonly workspaceContextService;
68
68
  private readonly accessibilityService;
69
+ private readonly markdownRendererService;
69
70
  static readonly ID = "gettingStartedPage";
70
- private editorInput;
71
71
  private inProgressScroll;
72
72
  private readonly dispatchListeners;
73
73
  private readonly stepDisposables;
@@ -95,10 +95,13 @@ export declare class GettingStartedPage extends EditorPane {
95
95
  private detailsRenderer;
96
96
  private readonly categoriesSlideDisposables;
97
97
  private showFeaturedWalkthrough;
98
- constructor(group: IEditorGroup, commandService: ICommandService, productService: IProductService, keybindingService: IKeybindingService, gettingStartedService: IWalkthroughsService, configurationService: IConfigurationService, telemetryService: ITelemetryService, languageService: ILanguageService, fileService: IFileService, openerService: IOpenerService, themeService: IWorkbenchThemeService, storageService: IStorageService, extensionService: IExtensionService, instantiationService: IInstantiationService, notificationService: INotificationService, groupsService: IEditorGroupsService, contextService: IContextKeyService, quickInputService: IQuickInputService, workspacesService: IWorkspacesService, labelService: ILabelService, hostService: IHostService, webviewService: IWebviewService, workspaceContextService: IWorkspaceContextService, accessibilityService: IAccessibilityService);
98
+ get editorInput(): GettingStartedInput;
99
+ constructor(group: IEditorGroup, commandService: ICommandService, productService: IProductService, keybindingService: IKeybindingService, gettingStartedService: IWalkthroughsService, configurationService: IConfigurationService, telemetryService: ITelemetryService, languageService: ILanguageService, fileService: IFileService, openerService: IOpenerService, themeService: IWorkbenchThemeService, storageService: IStorageService, extensionService: IExtensionService, instantiationService: IInstantiationService, notificationService: INotificationService, groupsService: IEditorGroupsService, contextService: IContextKeyService, quickInputService: IQuickInputService, workspacesService: IWorkspacesService, labelService: ILabelService, hostService: IHostService, webviewService: IWebviewService, workspaceContextService: IWorkspaceContextService, accessibilityService: IAccessibilityService, markdownRendererService: IMarkdownRendererService);
99
100
  private shouldAnimate;
100
101
  private getWalkthroughCompletionStats;
101
- setInput(newInput: GettingStartedInput, options: IEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise<void>;
102
+ setInput(newInput: GettingStartedInput, options: GettingStartedEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise<void>;
103
+ setOptions(options: GettingStartedEditorOptions | undefined): Promise<void>;
104
+ private applyInput;
102
105
  makeCategoryVisibleWhenAvailable(categoryID: string, stepId?: string): Promise<void>;
103
106
  private registerDispatchListeners;
104
107
  private runDispatchCommand;
@@ -24,7 +24,7 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
24
24
  import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
25
25
  import * as gettingStarted from './media/gettingStarted.css';
26
26
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
27
- import { MarkdownRenderer } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer';
27
+ import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
28
28
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
29
29
  import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility.service';
30
30
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
@@ -95,7 +95,10 @@ const REDUCED_MOTION_KEY = 'workbench.welcomePage.preferReducedMotion';
95
95
  let GettingStartedPage = class GettingStartedPage extends EditorPane {
96
96
  static { GettingStartedPage_1 = this; }
97
97
  static { this.ID = 'gettingStartedPage'; }
98
- constructor(group, commandService, productService, keybindingService, gettingStartedService, configurationService, telemetryService, languageService, fileService, openerService, themeService, storageService, extensionService, instantiationService, notificationService, groupsService, contextService, quickInputService, workspacesService, labelService, hostService, webviewService, workspaceContextService, accessibilityService) {
98
+ get editorInput() {
99
+ return this._input;
100
+ }
101
+ constructor(group, commandService, productService, keybindingService, gettingStartedService, configurationService, telemetryService, languageService, fileService, openerService, themeService, storageService, extensionService, instantiationService, notificationService, groupsService, contextService, quickInputService, workspacesService, labelService, hostService, webviewService, workspaceContextService, accessibilityService, markdownRendererService) {
99
102
  super(GettingStartedPage_1.ID, group, telemetryService, themeService, storageService);
100
103
  this.commandService = commandService;
101
104
  this.productService = productService;
@@ -118,6 +121,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
118
121
  this.webviewService = webviewService;
119
122
  this.workspaceContextService = workspaceContextService;
120
123
  this.accessibilityService = accessibilityService;
124
+ this.markdownRendererService = markdownRendererService;
121
125
  this.inProgressScroll = Promise.resolve();
122
126
  this.dispatchListeners = ( new DisposableStore());
123
127
  this.stepDisposables = ( new DisposableStore());
@@ -130,7 +134,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
130
134
  this.container = $('.gettingStartedContainer', {
131
135
  role: 'document',
132
136
  tabindex: 0,
133
- 'aria-label': ( localize(12676, "Overview of how to get up to speed with your editor."))
137
+ 'aria-label': ( localize(12970, "Overview of how to get up to speed with your editor."))
134
138
  });
135
139
  this.stepMediaComponent = $('.getting-started-media');
136
140
  this.stepMediaComponent.id = generateUuid();
@@ -206,14 +210,14 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
206
210
  badgeelement.parentElement?.setAttribute('aria-checked', 'true');
207
211
  badgeelement.classList.remove(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
208
212
  badgeelement.classList.add('complete', ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
209
- badgeelement.setAttribute('aria-label', ( localize(12677, "Checkbox for Step {0}: Completed", step.title)));
213
+ badgeelement.setAttribute('aria-label', ( localize(12971, "Checkbox for Step {0}: Completed", step.title)));
210
214
  }
211
215
  else {
212
216
  badgeelement.setAttribute('aria-checked', 'false');
213
217
  badgeelement.parentElement?.setAttribute('aria-checked', 'false');
214
218
  badgeelement.classList.remove('complete', ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
215
219
  badgeelement.classList.add(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
216
- badgeelement.setAttribute('aria-label', ( localize(12678, "Checkbox for Step {0}: Not completed", step.title)));
220
+ badgeelement.setAttribute('aria-label', ( localize(12972, "Checkbox for Step {0}: Not completed", step.title)));
217
221
  }
218
222
  });
219
223
  }
@@ -254,10 +258,21 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
254
258
  };
255
259
  }
256
260
  async setInput(newInput, options, context, token) {
257
- this.container.classList.remove('animatable');
258
- this.editorInput = newInput;
259
- this.editorInput.showTelemetryNotice = options?.showTelemetryNotice ?? true;
260
261
  await super.setInput(newInput, options, context, token);
262
+ await this.applyInput(options);
263
+ }
264
+ async setOptions(options) {
265
+ super.setOptions(options);
266
+ if (this.editorInput.selectedCategory !== options?.selectedCategory ||
267
+ this.editorInput.selectedStep !== options?.selectedStep) {
268
+ await this.applyInput(options);
269
+ }
270
+ }
271
+ async applyInput(options) {
272
+ this.editorInput.showTelemetryNotice = options?.showTelemetryNotice ?? true;
273
+ this.editorInput.selectedCategory = options?.selectedCategory;
274
+ this.editorInput.selectedStep = options?.selectedStep;
275
+ this.container.classList.remove('animatable');
261
276
  await this.buildCategoriesSlide();
262
277
  if (this.shouldAnimate()) {
263
278
  setTimeout(() => this.container.classList.add('animatable'), 0);
@@ -415,7 +430,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
415
430
  label: x.title,
416
431
  detail: x.description,
417
432
  description: x.source,
418
- }))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(12679, "Open Walkthrough...")) });
433
+ }))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(12973, "Open Walkthrough...")) });
419
434
  if (selection) {
420
435
  this.runDispatchCommand('selectCategory', selection.id);
421
436
  }
@@ -444,6 +459,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
444
459
  }
445
460
  });
446
461
  if (this.currentMediaType !== stepToExpand.media.type) {
462
+ this.mediaDisposables.clear();
447
463
  this.currentMediaType = stepToExpand.media.type;
448
464
  this.mediaDisposables.add(toDisposable(() => {
449
465
  this.currentMediaType = undefined;
@@ -596,7 +612,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
596
612
  const themeType = this.themeService.getColorTheme().type;
597
613
  const videoPath = media.path[themeType];
598
614
  const videoPoster = media.poster ? media.poster[themeType] : undefined;
599
- const altText = media.altText ? media.altText : ( localize(12680, "Video for {0}", stepToExpand.title));
615
+ const altText = media.altText ? media.altText : ( localize(12974, "Video for {0}", stepToExpand.title));
600
616
  const rawHTML = await this.detailsRenderer.renderVideo(videoPath, videoPoster, altText);
601
617
  this.webview.setHtml(rawHTML);
602
618
  let isDisposed = false;
@@ -624,8 +640,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
624
640
  provideScreenReaderUpdate() {
625
641
  if (this.configurationService.getValue(AccessibilityVerbositySettingId.Walkthrough)) {
626
642
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
627
- return kbLabel ? ( localize(12681, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
628
- 12682,
643
+ return kbLabel ? ( localize(12975, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
644
+ 12976,
629
645
  "Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
630
646
  ));
631
647
  }
@@ -685,7 +701,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
685
701
  this.categoriesPageScrollbar.dispose();
686
702
  }
687
703
  this.categoriesSlide = $('.gettingStartedSlideCategories.gettingStartedSlide');
688
- const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(12683, "Go Back"))));
704
+ const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(12977, "Go Back"))));
689
705
  this.stepsSlide = $('.gettingStartedSlideDetails.gettingStartedSlide', {}, prevButton);
690
706
  this.stepsContent = $('.gettingStartedDetailsContent', {});
691
707
  this.detailsPageScrollbar = this._register(( new DomScrollableElement(
@@ -709,11 +725,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
709
725
  icon: Codicon.check,
710
726
  actionClassName: 'getting-started-checkbox',
711
727
  isChecked: this.configurationService.getValue(configurationKey) === 'welcomePage',
712
- title: ( localize(12684, "When checked, this page will be shown on startup.")),
728
+ title: ( localize(12978, "When checked, this page will be shown on startup.")),
713
729
  ...defaultToggleStyles
714
730
  }));
715
731
  showOnStartupCheckbox.domNode.id = 'showOnStartup';
716
- const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(12685, "Show welcome page on startup")));
732
+ const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(12979, "Show welcome page on startup")));
717
733
  const onShowOnStartupChanged = () => {
718
734
  if (showOnStartupCheckbox.checked) {
719
735
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupChecked', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
@@ -732,7 +748,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
732
748
  showOnStartupCheckbox.checked = !showOnStartupCheckbox.checked;
733
749
  onShowOnStartupChanged();
734
750
  }));
735
- const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(12686, "Editing evolved"))));
751
+ const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(12980, "Editing evolved"))));
736
752
  const leftColumn = $('.categories-column.categories-column-left', {});
737
753
  const rightColumn = $('.categories-column.categories-column-right', {});
738
754
  const startList = this.buildStartList();
@@ -768,7 +784,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
768
784
  this.categoriesPageScrollbar?.scanDomNode();
769
785
  this.updateCategoryProgress();
770
786
  this.registerDispatchListeners();
771
- if (this.editorInput.selectedCategory) {
787
+ if (this.editorInput?.selectedCategory) {
772
788
  this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === this.editorInput.selectedCategory);
773
789
  if (!this.currentWalkthrough) {
774
790
  this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs();
@@ -785,7 +801,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
785
801
  return;
786
802
  }
787
803
  }
788
- if (this.editorInput.showTelemetryNotice && this.productService.openToWelcomeMainPage) {
804
+ if (this.editorInput?.showTelemetryNotice && this.productService.openToWelcomeMainPage) {
789
805
  const telemetryNotice = $('p.telemetry-notice');
790
806
  this.buildTelemetryFooter(telemetryNotice);
791
807
  footer.appendChild(telemetryNotice);
@@ -796,7 +812,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
796
812
  const fistContentBehaviour = daysSinceFirstSession < 1 ? 'openToFirstCategory' : 'index';
797
813
  if (fistContentBehaviour === 'openToFirstCategory') {
798
814
  const first = this.gettingStartedCategories.filter(c => !c.when || this.contextService.contextMatchesRules(c.when))[0];
799
- if (first) {
815
+ if (first && this.editorInput) {
800
816
  this.currentWalkthrough = first;
801
817
  this.editorInput.selectedCategory = this.currentWalkthrough?.id;
802
818
  this.editorInput.walkthroughPageTitle = this.currentWalkthrough.walkthroughPageTitle;
@@ -825,7 +841,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
825
841
  const link = $('button.button-link');
826
842
  link.innerText = name;
827
843
  link.title = fullPath;
828
- link.setAttribute('aria-label', ( localize(12687, "Open folder {0} with path {1}", name, parentPath)));
844
+ link.setAttribute('aria-label', ( localize(12981, "Open folder {0} with path {1}", name, parentPath)));
829
845
  link.addEventListener('click', e => {
830
846
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'openRecent', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
831
847
  this.hostService.openWindow([windowOpenable], {
@@ -848,18 +864,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
848
864
  this.recentlyOpenedList.dispose();
849
865
  }
850
866
  const recentlyOpenedList = this.recentlyOpenedList = ( new GettingStartedIndexList({
851
- title: ( localize(12688, "Recent")),
867
+ title: ( localize(12982, "Recent")),
852
868
  klass: 'recently-opened',
853
869
  limit: 5,
854
- empty: $('.empty-recent', {}, ( localize(12689, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(12690, "open a folder"))), ( localize(12691, "to start."))),
870
+ empty: $('.empty-recent', {}, ( localize(12983, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(12984, "open a folder"))), ( localize(12985, "to start."))),
855
871
  more: $('.more', {}, $('button.button-link', {
856
872
  'x-dispatch': 'showMoreRecents',
857
873
  title: ( localize(
858
- 12692,
874
+ 12986,
859
875
  "Show All Recent Folders {0}",
860
876
  this.getKeybindingLabel(OpenRecentAction.ID)
861
877
  ))
862
- }, ( localize(12693, "More...")))),
878
+ }, ( localize(12987, "More...")))),
863
879
  renderElement: renderRecent,
864
880
  contextService: this.contextService
865
881
  }));
@@ -887,7 +903,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
887
903
  this.startList.dispose();
888
904
  }
889
905
  const startList = this.startList = ( new GettingStartedIndexList({
890
- title: ( localize(12694, "Start")),
906
+ title: ( localize(12988, "Start")),
891
907
  klass: 'start-container',
892
908
  limit: 10,
893
909
  renderElement: renderStartEntry,
@@ -903,10 +919,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
903
919
  const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
904
920
  const newBadge = $('.new-badge', {});
905
921
  if (category.newEntry) {
906
- reset(newBadge, $('.new-category', {}, ( localize(12695, "New"))));
922
+ reset(newBadge, $('.new-category', {}, ( localize(12989, "New"))));
907
923
  }
908
924
  else if (category.newItems) {
909
- reset(newBadge, $('.new-items', {}, ( localize(12696, "Updated"))));
925
+ reset(newBadge, $('.new-items', {}, ( localize(12990, "Updated"))));
910
926
  }
911
927
  const featuredBadge = $('.featured-badge', {});
912
928
  const descriptionContent = $('.description-content', {});
@@ -922,9 +938,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
922
938
  }, featuredBadge, $('.main-content', {}, this.iconWidgetFor(category), titleContent, renderNewBadge ? newBadge : $('.no-badge'), $('a.codicon.codicon-close.hide-category-button', {
923
939
  'tabindex': 0,
924
940
  'x-dispatch': 'hideCategory:' + category.id,
925
- 'title': ( localize(12697, "Hide")),
941
+ 'title': ( localize(12991, "Hide")),
926
942
  'role': 'button',
927
- 'aria-label': ( localize(12698, "Hide")),
943
+ 'aria-label': ( localize(12992, "Hide")),
928
944
  })), descriptionContent, $('.category-progress', { 'x-data-category-id': category.id, }, $('.progress-bar-outer', { 'role': 'progressbar' }, $('.progress-bar-inner'))));
929
945
  };
930
946
  if (this.gettingStartedList) {
@@ -950,10 +966,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
950
966
  return rank;
951
967
  };
952
968
  const gettingStartedList = this.gettingStartedList = ( new GettingStartedIndexList({
953
- title: ( localize(12699, "Walkthroughs")),
969
+ title: ( localize(12993, "Walkthroughs")),
954
970
  klass: 'getting-started',
955
971
  limit: 5,
956
- footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(12693, "More..."))),
972
+ footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(12987, "More..."))),
957
973
  renderElement: renderGetttingStaredWalkthrough,
958
974
  rankElement: rankWalkthrough,
959
975
  contextService: this.contextService,
@@ -1006,10 +1022,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1006
1022
  bar.style.width = `${progress}%`;
1007
1023
  element.parentElement.classList.toggle('no-progress', stats.stepsComplete === 0);
1008
1024
  if (stats.stepsTotal === stats.stepsComplete) {
1009
- bar.title = ( localize(12700, "All {0} steps complete!", stats.stepsComplete));
1025
+ bar.title = ( localize(12994, "All {0} steps complete!", stats.stepsComplete));
1010
1026
  }
1011
1027
  else {
1012
- bar.title = ( localize(12701, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
1028
+ bar.title = ( localize(12995, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
1013
1029
  }
1014
1030
  });
1015
1031
  }
@@ -1130,7 +1146,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1130
1146
  if (isCommand) {
1131
1147
  const keybinding = this.getKeyBinding(command);
1132
1148
  if (keybinding) {
1133
- const shortcutMessage = $('span.shortcut-message', {}, ( localize(12702, 'Tip: Use keyboard shortcut ')));
1149
+ const shortcutMessage = $('span.shortcut-message', {}, ( localize(12996, 'Tip: Use keyboard shortcut ')));
1134
1150
  container.appendChild(shortcutMessage);
1135
1151
  const label = ( new KeybindingLabel(shortcutMessage, OS, { ...defaultKeybindingLabelStyles }));
1136
1152
  label.set(keybinding);
@@ -1218,8 +1234,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1218
1234
  'role': 'checkbox',
1219
1235
  'aria-checked': step.done ? 'true' : 'false',
1220
1236
  'aria-label': step.done
1221
- ? ( localize(12677, "Checkbox for Step {0}: Completed", step.title))
1222
- : ( localize(12678, "Checkbox for Step {0}: Not completed", step.title)),
1237
+ ? ( localize(12971, "Checkbox for Step {0}: Completed", step.title))
1238
+ : ( localize(12972, "Checkbox for Step {0}: Not completed", step.title)),
1223
1239
  });
1224
1240
  const container = $('.step-description-container', { 'x-step-description-for': step.id });
1225
1241
  this.buildMarkdownDescription(container, step.description);
@@ -1227,10 +1243,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1227
1243
  reset(stepTitle, ...renderLabelWithIcons(step.title));
1228
1244
  const stepDescription = $('.step-container', {}, stepTitle, container);
1229
1245
  if (step.media.type === 'image') {
1230
- stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(12703, "Image showing {0}", step.media.altText)) }));
1246
+ stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(12997, "Image showing {0}", step.media.altText)) }));
1231
1247
  }
1232
1248
  else if (step.media.type === 'video') {
1233
- stepDescription.appendChild($('.video-description', { 'aria-label': ( localize(12704, "Video showing {0}", step.media.altText)) }));
1249
+ stepDescription.appendChild($('.video-description', { 'aria-label': ( localize(12998, "Video showing {0}", step.media.altText)) }));
1234
1250
  }
1235
1251
  return $('button.getting-started-step', {
1236
1252
  'x-dispatch': 'selectTask:' + step.id,
@@ -1250,8 +1266,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1250
1266
  }
1251
1267
  }));
1252
1268
  const showNextCategory = this.gettingStartedCategories.find(_category => _category.id === category.next);
1253
- const stepsContainer = $('.getting-started-detail-container', { 'role': 'list' }, stepListContainer, $('.done-next-container', {}, $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), ( localize(12705, "Mark Done"))), ...(showNextCategory
1254
- ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(12706, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1269
+ const stepsContainer = $('.getting-started-detail-container', { 'role': 'list' }, stepListContainer, $('.done-next-container', {}, $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), ( localize(12999, "Mark Done"))), ...(showNextCategory
1270
+ ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(13000, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1255
1271
  : [])));
1256
1272
  this.detailsScrollbar = this._register(( new DomScrollableElement(stepsContainer, { className: 'steps-container' })));
1257
1273
  const stepListComponent = this.detailsScrollbar.getDomNode();
@@ -1267,19 +1283,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1267
1283
  this.registerDispatchListeners();
1268
1284
  }
1269
1285
  buildTelemetryFooter(parent) {
1270
- const mdRenderer = this.instantiationService.createInstance(MarkdownRenderer, {});
1271
- const privacyStatementCopy = ( localize(12707, "privacy statement"));
1286
+ const privacyStatementCopy = ( localize(13001, "privacy statement"));
1272
1287
  const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
1273
- const optOutCopy = ( localize(12708, "opt out"));
1288
+ const optOutCopy = ( localize(13002, "opt out"));
1274
1289
  const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
1275
1290
  const text = ( localize(
1276
- 12709,
1291
+ 13003,
1277
1292
  "{0} collects usage data. Read our {1} and learn how to {2}.",
1278
1293
  this.productService.nameShort,
1279
1294
  privacyStatementButton,
1280
1295
  optOutButton
1281
1296
  ));
1282
- const renderedContents = this.detailsPageDisposables.add(mdRenderer.render({ value: text, isTrusted: true }));
1297
+ const renderedContents = this.detailsPageDisposables.add(this.markdownRendererService.render({ value: text, isTrusted: true }));
1283
1298
  parent.append(renderedContents.element);
1284
1299
  }
1285
1300
  getKeybindingLabel(command) {
@@ -1345,7 +1360,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1345
1360
  const prevButton = this.container.querySelector('.prev-button.button-link');
1346
1361
  prevButton.style.display = this.editorInput.showWelcome || this.prevWalkthrough ? 'block' : 'none';
1347
1362
  const moreTextElement = prevButton.querySelector('.moreText');
1348
- moreTextElement.textContent = firstLaunch ? ( localize(12710, "Welcome")) : ( localize(12683, "Go Back"));
1363
+ moreTextElement.textContent = firstLaunch ? ( localize(13004, "Welcome")) : ( localize(12977, "Go Back"));
1349
1364
  this.container.querySelector('.gettingStartedSlideDetails').querySelectorAll('button').forEach(button => button.disabled = false);
1350
1365
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('button').forEach(button => button.disabled = true);
1351
1366
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('input').forEach(button => button.disabled = true);
@@ -1386,7 +1401,8 @@ GettingStartedPage = GettingStartedPage_1 = ( __decorate([
1386
1401
  ( __param(20, IHostService)),
1387
1402
  ( __param(21, IWebviewService)),
1388
1403
  ( __param(22, IWorkspaceContextService)),
1389
- ( __param(23, IAccessibilityService))
1404
+ ( __param(23, IAccessibilityService)),
1405
+ ( __param(24, IMarkdownRendererService))
1390
1406
  ], GettingStartedPage));
1391
1407
  class GettingStartedInputSerializer {
1392
1408
  canSerialize(editorInput) {
@@ -116,11 +116,11 @@ class GettingStartedAccessibleProvider extends Disposable {
116
116
  }
117
117
  _getContent(waltkrough, step, includeTitle) {
118
118
  const description = ( step.description.map(lt => lt.nodes.filter(node => typeof node === 'string'))).join('\n');
119
- const stepsContent = ( localize(12711, '{0}\n{1}', step.title, description));
119
+ const stepsContent = ( localize(13005, '{0}\n{1}', step.title, description));
120
120
  if (includeTitle) {
121
121
  return [
122
- ( localize(12712, 'Title: {0}', waltkrough.title)),
123
- ( localize(12713, 'Description: {0}', waltkrough.description)),
122
+ ( localize(13006, 'Title: {0}', waltkrough.title)),
123
+ ( localize(13007, 'Description: {0}', waltkrough.description)),
124
124
  stepsContent
125
125
  ].join('\n');
126
126
  }